diff options
-rw-r--r-- | arm9/arm9.lsf | 1800 | ||||
-rw-r--r-- | arm9/modules/83/asm/module_83.s | 48414 | ||||
-rw-r--r-- | arm9/src/unk_02022450.c | 14 |
3 files changed, 25114 insertions, 25114 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 693ab358..d39e75e7 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -4,1264 +4,1264 @@ Static arm9 { - Address 0x02000000 - Object main.o - Object list_menu.o - Object unk_02001B80.o - Object string_util.o - Object render_text.o - Object font.o - Object palette.o - Object sound.o - Object unk_020040F4.o - Object unk_020051F4.o - Object unk_02005CFC.o - Object poke_overlay.o - Object unk_020061E8.o - Object overlay_manager.o - Object filesystem.o - Object gf_gfx_loader.o - Object unk_02006D98.o - Object unk_02008AA4.o - Object unk_02008DEC.o - Object unk_02009EAC.o - Object msgdata.o - Object script_buffers.o - Object unk_0200BA78.o - Object unk_0200BB14.o - Object unk_0200CA44.o - Object unk_0200CABC.o - Object unk_0200E1D0.o - Object unk_0200E850.o - Object unk_0201137C.o - Object unk_02011744.o - Object unk_02012004.o - Object gf_rtc.o - Object list_menu_items.o - Object unk_02012944.o - Object unk_02012CC8.o - Object mail_message.o - Object unk_020139D8.o - Object unk_02013CD4.o - Object unk_020142EC.o - Object unk_020144FC.o - Object unk_02014590.o - Object unk_02014BF4.o - Object unk_02015CC0.o - Object unk_02015D14.o - Object unk_02015E30.o - Object game_init.o - Object heap.o - Object bg_window.o - Object unk_0201B1A8.o - Object unk_0201B4E8.o - Object unk_0201B6D0.o - Object unk_0201B8B8.o - Object math_util.o - Object text.o - Object unk_0201C24C.o - Object unk_0201C360.o - Object unk_0201C620.o - Object unk_0201C6B4.o - Object unk_0201C7A0.o - Object unk_0201CBEC.o - Object unk_0201CC08.o - Object unk_0201D040.o - Object unk_0201E00C.o - Object GX_layers.o - Object unk_0201E7D8.o - Object unk_0201F06C.o - Object unk_020208B8.o - Object timer3.o - Object error_handling.o - Object unk_02020C44.o - Object unk_0202134C.o - Object unk_02021590.o - Object unk_02021934.o - Object unk_02021FF8.o - Object unk_02022244.o - Object unk_02022294.o - Object unk_020222E8.o - Object unk_02022318.o - Object unk_02022450.o - Object unk_02022504.o - Object save.o - Object save_arrays.o - Object sav_system_info.o - Object player_data.o - Object unk_02023AC4.o - Object daycare.o - Object pokedex.o - Object unk_02024E64.o - Object options.o - Object unk_020250A4.o - Object unk_02025484.o - Object unk_020254B8.o - Object mail.o - Object unk_02025954.o - Object unk_02026CD0.o - Object unk_02027E30.o - Object unk_020281E0.o - Object unk_020286F8.o - Object coins.o - Object unk_02028980.o - Object unk_02029A84.o - Object unk_02029AE0.o - Object seal_case.o - Object unk_02029CEC.o - Object igt.o - Object sav_chatot.o - Object unk_02029FB0.o - Object unk_0202A1E0.o - Object unk_0202A8F4.o - Object unk_0202A924.o - Object unk_0202ABBC.o - Object unk_0202AC20.o - Object hall_of_fame.o - Object unk_0202B374.o - Object unk_0202B870.o - Object unk_0202BE98.o - Object unk_0202C0E0.o - Object unk_0202C144.o - Object unk_0202C198.o - Object unk_0202D394.o - Object unk_0202D4C4.o - Object unk_0202D858.o - Object unk_0202D8D0.o - Object unk_0202DB14.o - Object unk_0202E29C.o - Object unk_0202F150.o - Object unk_02031480.o - Object unk_02031734.o - Object unk_020336C0.o - Object unk_02033778.o - Object unk_020337E8.o - Object unk_02033874.o - Object unk_02033B68.o - Object unk_02033F50.o - Object wfc_user_info_warning.o - Object map_matrix.o - Object map_header.o - Object unk_02034A28.o - Object unk_02034D7C.o - Object unk_02034E84.o - Object unk_02034FE4.o - Object unk_02035068.o - Object unk_02036FA4.o - Object unk_02037024.o - Object unk_020372D4.o - Object unk_020377B0.o - Object unk_020377F0.o - Object script.o - Object unk_02038C78.o - Object scrcmd.o - Object scrcmd_asm.o - Object scrcmd_mart.o - Object scrcmd_3.o - Object scrcmd_names.o - Object scrcmd_5.o - Object scrcmd_sound.o - Object scrcmd_7.o - Object scrcmd_8.o - Object scrcmd_9.o - Object scrcmd_10.o - Object scrcmd_berry_trees.o - Object scrcmd_12.o - Object scrcmd_13.o - Object scrcmd_coins.o - Object scrcmd_money.o - Object scrcmd_daycare.o - Object scrcmd_17.o - Object scrcmd_party.o - Object scrcmd_fossils.o - Object scrcmd_prizes.o - Object scrcmd_flags.o - Object scrcmd_items.o - Object scrcmd_underground.o - Object scrcmd_24.o - Object scrcmd_25.o - Object unk_02046030.o - Object event_data.o - Object unk_0204639C.o - Object unk_0204653C.o - Object unk_02047500.o - Object unk_020476CC.o - Object unk_02048120.o - Object unk_020484A8.o - Object unk_02048904.o - Object script_pokemon_util.o - Object unk_0204A368.o - Object unk_0204A498.o - Object unk_0204AB0C.o - Object unk_0204ADE0.o - Object unk_0204AEA8.o - Object unk_0204AF24.o - Object unk_0204B0A0.o - Object unk_0204B34C.o - Object unk_0204B9EC.o - Object poketch.o - Object unk_0204C1B4.o - Object unk_0204CA80.o - Object unk_0204CB20.o - Object unk_0204FBA8.o - Object unk_02050E48.o - Object unk_020520AC.o - Object unk_02052EE8.o - Object unk_0205363C.o - Object unk_02053750.o - Object text_02054590.o - Object unk_0205478C.o - Object unk_02054C14.o - Object unk_02055068.o - Object unk_020557F4.o - Object unk_02057380.o - Object unk_02058EE8.o - Object unk_02059F04.o - Object unk_0205AD98.o - Object unk_0205BEF8.o - Object unk_0205C334.o - Object unk_0205C598.o - Object unk_0205CDB4.o - Object unk_0205CE48.o - Object unk_0205DD18.o - Object unk_0205E4EC.o - Object unk_0205EB38.o - Object unk_0205EC84.o - Object unk_0205F314.o - Object unk_0205F7A0.o - Object unk_0205FA2C.o - Object unk_0206015C.o - Object unk_02060344.o - Object unk_020603B0.o - Object unk_020606B0.o - Object unk_020607D4.o - Object unk_02060CCC.o - Object unk_020625EC.o - Object unk_0206367C.o - Object unk_02063888.o - Object unk_02063948.o - Object unk_0206439C.o - Object unk_020643C0.o - Object unk_020647A4.o - Object unk_02064CA8.o - Object unk_02064E20.o - Object unk_02064E4C.o - Object unk_02064E90.o - Object unk_020653EC.o - Object unk_02066840.o - - ##poketool## - Object pokemon.o - Object waza.o - Object trainer_data.o - Object pokemon_storage_system.o - Object unk_0206B688.o - Object party.o - Object unk_0206BB28.o - Object unk_0206BB5C.o - Object unk_0206BF90.o - Object unk_0206C700.o - Object unk_0206DE24.o - Object unk_0206E0F0.o - Object bag_view.o - - ##itemtool## - Object itemtool.o - Object bag.o - Object unk_0206F1F0.o - Object unk_0206F3FC.o - Object unk_02072548.o - Object unk_02073710.o - Object unk_02073DA8.o - Object unk_0207550C.o - Object unk_020772F0.o - Object unk_020799E8.o - Object unk_02079C70.o - Object unk_0207C328.o - Object unk_0207D5BC.o - Object unk_0207EF6C.o - Object unk_0207F95C.o - Object unk_0207FC5C.o - Object unk_0207FD00.o - Object unk_02080C38.o - Object unk_020828BC.o - Object unk_020834D0.o - Object unk_02083B84.o - Object unk_02083D48.o - Object unk_02084098.o - Object unk_020842D0.o - Object use_item_on_mon.o - Object unk_020851B8.o - Object nutdata.o - Object unk_02085338.o - Object unk_020854E0.o - Object unk_020859C0.o - Object unk_02086084.o - Object unk_02086414.o - Object unk_02086FA8.o - Object unk_02087A1C.o - Object unk_02087A6C.o - Object unk_02087D00.o - Object unk_02088320.o - Object unk_02088814.o - Object unk_02088858.o - Object unk_0208890C.o - Object unk_0208898C.o - Object unk_02088AAC.o - Object unk_02088D1C.o - Object unk_02088DD8.o - Object unk_02088F0C.o - Object unk_020893E0.o - Object unk_02089498.o - Object unk_02089960.o - Object unk_02089D90.o - Object unk_02089F24.o - Object unk_0208A258.o - Object unk_0208A300.o - Object unk_0208A338.o - Object error_message_reset.o - ### Third-party libraries ### - Object unk_0208AC14.o - Object custom_allocator.o - Object unk_020910EC.o - Object DWC_backup.o - Object DWC_bm_init.o - Object DWC_util_wifiidtool.o - Object DWC_init.o - Object DWC_account.o - Object SOC_socl_startup.o - Object SOC_socl_command.o - Object SOC_socl_create.o - Object SOC_socl_bind.o - Object SOC_socl_read.o - Object SOC_socl_shutdown.o - Object SOC_socl_close.o - Object SOC_socl_cleanup.o - Object SOC_socl_poll.o - Object SOC_socl_misc.o - Object SOC_socl_list.o - Object SOC_soc.o - Object SOC_socl_ssl.o - Object CPS_network.o - Object SSL_ssl.o - Object SSL_md5.o - Object SSL_sha1.o - Object SSL_rca4.o - Object SSL_biginteger.o - Object WCM_system.o - Object WCM_aplist.o - Object WCM_cpsif.o - Object WCM_util.o - Object WIFI_stubsmd5_dummy.o - Object libVCT.o - ### Nitro System SDK ### - Object NNS_FND_list.o - Object NNS_FND_heapcommon.o - Object NNS_FND_expheap.o - Object NNS_FND_frameheap.o - Object NNS_FND_allocator.o - Object NNS_GFD_gfd_texvramman.o - Object NNS_GFD_gfd_plttvramman.o - Object NNS_GFD_gfd_frametexvra.o - Object NNS_GFD_gfd_frameplttvr.o - Object NNS_GFD_gfd_vramtransfe.o - Object NNS_GFD_gfdi_linkedlist.o - Object NNS_GFD_gfd_linkedlistt.o - Object NNS_GFD_gfd_linkedlistp.o - Object NNS_G2D_g2d_nan_load.o - Object NNS_G2D_g2d_nob_load.o - Object NNS_G2D_g2d_nmc_load.o - Object NNS_G2D_g2d_ncg_load.o - Object NNS_G2D_g2d_ncl_load.o - Object NNS_G2D_g2d_nsc_load.o - Object NNS_G2D_g2d_load.o - Object NNS_G2D_g2d_softsprite.o - Object NNS_G2D_g2d_animation.o - Object NNS_G2D_g2d_oam.o - Object NNS_G2D_g2d_palettetabl.o - Object NNS_G2D_g2d_image.o - Object NNS_G2D_g2d_srtcontrol.o - Object NNS_G2D_g2d_node.o - Object NNS_G2D_g2d_cellanimati.o - Object NNS_G2D_g2d_multicellan.o - Object NNS_G2D_g2d_renderer.o - Object NNS_G2D_g2di_mtx32.o - Object NNS_G2D_g2d_celltransfe.o - Object NNS_G2D_g2d_oamsoftware.o - Object NNS_G2D_g2d_renderercor.o - Object NNS_G2D_g2d_font.o - Object NNS_G2D_g2d_charcanvas.o - Object NNS_G2D_g2d_textcanvas.o - Object NNS_G2D_g2d_nft_load.o - Object NNS_G2D_g2di_bitreader.o - Object NNS_G2D_g2di_splitchar.o - Object NNS_G3D_kernel.o - Object NNS_G3D_glbstate.o - Object NNS_G3D_anm.o - Object NNS_G3D_cgtool.o - Object NNS_G3D_sbc.o - Object NNS_G3D_1mat1shp.o - Object NNS_G3D_gecom.o - Object NNS_G3D_util.o - Object NNS_G3D_mem.o - Object NNS_G3D_model.o - Object NNS_G3D_res_struct_acce.o - Object NNS_G3D_nsbca.o - Object NNS_G3D_nsbma.o - Object NNS_G3D_nsbta.o - Object NNS_G3D_nsbtp.o - Object NNS_G3D_nsbva.o - Object NNS_G3D_basic.o - Object NNS_G3D_maya.o - Object NNS_G3D_si3d.o - Object NNS_G3D_3dsmax.o - Object NNS_G3D_xsi.o - Object NNS_SND_main.o - Object NNS_SND_resource_mgr.o - Object NNS_SND_waveout.o - Object NNS_SND_player.o - Object NNS_SND_stream.o - Object NNS_SND_capture.o - Object NNS_SND_sndarc.o - Object NNS_SND_heap.o - Object NNS_SND_sndarc_loader.o - Object NNS_SND_sndarc_player.o - Object NNS_SND_sndarc_stream.o - Object NNS_SND_seqdata.o - Object NNS_SND_fader.o - ### Nitro SDK ### - Object FX_mtx22.o - Object FX_mtx33.o - Object FX_mtx43.o - Object FX_mtx44.o - Object FX_cp.o - Object FX_vec.o - Object FX_sincos.o - Object FX_atan.o - Object FX.o - Object GX.o - Object GX_state.o - Object GX_vramcnt.o - Object GX_bgcnt.o - Object GX_g2.o - Object GX_g3b.o - Object GX_g3imm.o - Object GX_g3x.o - Object GX_g3_util.o - Object GX_load2d.o - Object GX_load3d.o - Object GX_g3.o - Object GX_asm.o - Object OS_irqHandler.o (.text) - Object OS_irqTable.o - Object OS_interrupt.o - Object OS_spinLock.o - Object OS_printf.o - Object OS_thread.o - Object OS_context.o - Object OS_emulator.o - Object OS_message.o - Object OS_mutex.o - Object OS_cache.o - Object OS_init.o - Object OS_arena.o - Object OS_alloc.o - Object OS_tcm.o - Object OS_protectionUnit.o - Object OS_protectionRegion.o - Object OS_exception.o - Object OS_timer.o - Object OS_tick.o - Object OS_alarm.o - Object OS_valarm.o - Object OS_system.o - Object OS_reset.o - Object OS_ownerInfo.o - Object OS_vramExclusive.o - Object OS_entropy.o - Object OS_terminate_proc.o - Object MI_wram.o - Object MI_dma.o - Object MI_dma_hblank.o - Object MI_dma_gxcommand.o - Object MI_memory.o - Object MI_swap.o - Object MI_uncompress.o - Object MI_dma_card.o - Object MI_init.o - Object SND_interface.o - Object SND_main.o - Object SND_command.o - Object SND_alarm.o - Object SND_work.o - Object SND_util.o - Object SND_bank.o - Object PXI_init.o - Object PXI_fifo.o - Object FS_command.o - Object FS_command_default.o - Object FS_archive.o - Object FS_file.o - Object FS_rom.o - Object FS_overlay.o - Object DGT_hash1.o - Object DGT_hash2.o - Object DGT_sha1s_arm4cw.o - Object CP_context.o - Object SPI_tp.o - Object SPI_mic.o - Object SPI_pm.o - Object RTC_external.o - Object RTC_internal.o - Object RTC_convert.o - Object CARD_common.o - Object CARD_spi.o - Object CARD_backup.o - Object CARD_rom.o - Object CARD_request.o - Object CARD_pullOut.o - Object WM_system.o - Object WM_sync.o - Object WM_standard.o - Object WM_mp.o - Object WM_dcf.o - Object WM_ds.o - Object WM_ks.o - Object WM_etc.o - Object CTRDG_common.o - Object CTRDG_proc.o - Object CTRDG_backup.o - Object CTRDG_flash_common.o - Object CTRDG_flash_AT29LV512.o - Object CTRDG_flash_LE26FV10N1TS-10.o - Object CTRDG_flash_LE39FW512.o - Object CTRDG_flash_MX29L010.o - Object CTRDG_flash_MX29L512.o - Object CTRDG_task.o - Object MATH_pop.o - Object MATH_dgt.o - Object MATH_crc.o - Object STD_string.o - ### Standard libraries ### - ### Bundled with CodeWarrior, so probably compiled with 2.0sp1 ### - Object MSL_ARM_abort_exit.o - Object MSL_ARM_critical_regions_NITRO.o - Object MSL_ARM_math.o - Object MSL_Common_ansi_files.o - Object MSL_Common_arith.o - Object MSL_Common_assert.o - Object MSL_Common_buffer_io.o - Object MSL_Common_ctype.o - Object MSL_Common_direct_io.o - Object MSL_Common_errno.o - Object MSL_Common_file_io.o - Object MSL_Common_file_pos.o - Object MSL_Common_float.o - Object MSL_Common_mbstring.o - Object MSL_Common_mem.o - Object MSL_Common_mem_funcs.o - Object MSL_Common_printf.o - Object MSL_Common_qsort.o - Object MSL_Common_rand.o - Object MSL_Common_scanf.o - Object MSL_Common_signal.o - Object MSL_Common_string.o - Object MSL_Common_strtold.o - Object MSL_Common_strtoul.o - Object MSL_Common_wchar_io.o - Object MSL_Common_wctype.o - Object MSL_Common_wmem.o - Object MSL_Common_wprintf.o - Object MSL_Common_wstring.o - Object MSL_DPMath_e_pow.o - Object MSL_DPMath_s_copysign.o - Object MSL_DPMath_s_fabs.o - Object MSL_DPMath_s_frexp.o - Object MSL_DPMath_s_ldexp.o - Object MSL_DPMath_w_pow.o - Object MSL_fp_ansi.o - Object MSL_math.o - Object MSL_string_extras.o - Object RUNTIME_d_add.o - Object RUNTIME_d_dtof.o - Object RUNTIME_d_dtoi.o - Object RUNTIME_d_dtoull.o - Object RUNTIME_d_itod.o - Object RUNTIME_d_mul.o - Object RUNTIME_d_sqrt.o - Object RUNTIME_d_sub.o - Object RUNTIME_f_add.o - Object RUNTIME_f_cmp.o - Object RUNTIME_f_div.o - Object RUNTIME_f_ftod.o - Object RUNTIME_f_ftoi.o - Object RUNTIME_f_ftou.o - Object RUNTIME_f_itof.o - Object RUNTIME_f_mul.o - Object RUNTIME_f_sub.o - Object RUNTIME_ll_div.o - Object RUNTIME_ll_mul.o - Object RUNTIME_ll_sll.o - Object RUNTIME_s32_div_f.o - Object RUNTIME_u32_div_f.o - Object RUNTIME_d_div.o - Object RUNTIME_ieee_status.o - Object RUNTIME_ARM_semihosted_console_io.o - Object RUNTIME_CPLUS_StaticInitializers.o - Object RUNTIME_NITRO_eabi_init.o + Address 0x02000000 + Object main.o + Object list_menu.o + Object unk_02001B80.o + Object string_util.o + Object render_text.o + Object font.o + Object palette.o + Object sound.o + Object unk_020040F4.o + Object unk_020051F4.o + Object unk_02005CFC.o + Object poke_overlay.o + Object unk_020061E8.o + Object overlay_manager.o + Object filesystem.o + Object gf_gfx_loader.o + Object unk_02006D98.o + Object unk_02008AA4.o + Object unk_02008DEC.o + Object unk_02009EAC.o + Object msgdata.o + Object script_buffers.o + Object unk_0200BA78.o + Object unk_0200BB14.o + Object unk_0200CA44.o + Object unk_0200CABC.o + Object unk_0200E1D0.o + Object unk_0200E850.o + Object unk_0201137C.o + Object unk_02011744.o + Object unk_02012004.o + Object gf_rtc.o + Object list_menu_items.o + Object unk_02012944.o + Object unk_02012CC8.o + Object mail_message.o + Object unk_020139D8.o + Object unk_02013CD4.o + Object unk_020142EC.o + Object unk_020144FC.o + Object unk_02014590.o + Object unk_02014BF4.o + Object unk_02015CC0.o + Object unk_02015D14.o + Object unk_02015E30.o + Object game_init.o + Object heap.o + Object bg_window.o + Object unk_0201B1A8.o + Object unk_0201B4E8.o + Object unk_0201B6D0.o + Object unk_0201B8B8.o + Object math_util.o + Object text.o + Object unk_0201C24C.o + Object unk_0201C360.o + Object unk_0201C620.o + Object unk_0201C6B4.o + Object unk_0201C7A0.o + Object unk_0201CBEC.o + Object unk_0201CC08.o + Object unk_0201D040.o + Object unk_0201E00C.o + Object GX_layers.o + Object unk_0201E7D8.o + Object unk_0201F06C.o + Object unk_020208B8.o + Object timer3.o + Object error_handling.o + Object unk_02020C44.o + Object unk_0202134C.o + Object unk_02021590.o + Object unk_02021934.o + Object unk_02021FF8.o + Object unk_02022244.o + Object unk_02022294.o + Object unk_020222E8.o + Object unk_02022318.o + Object unk_02022450.o + Object unk_02022504.o + Object save.o + Object save_arrays.o + Object sav_system_info.o + Object player_data.o + Object unk_02023AC4.o + Object daycare.o + Object pokedex.o + Object unk_02024E64.o + Object options.o + Object unk_020250A4.o + Object unk_02025484.o + Object unk_020254B8.o + Object mail.o + Object unk_02025954.o + Object unk_02026CD0.o + Object unk_02027E30.o + Object unk_020281E0.o + Object unk_020286F8.o + Object coins.o + Object unk_02028980.o + Object unk_02029A84.o + Object unk_02029AE0.o + Object seal_case.o + Object unk_02029CEC.o + Object igt.o + Object sav_chatot.o + Object unk_02029FB0.o + Object unk_0202A1E0.o + Object unk_0202A8F4.o + Object unk_0202A924.o + Object unk_0202ABBC.o + Object unk_0202AC20.o + Object hall_of_fame.o + Object unk_0202B374.o + Object unk_0202B870.o + Object unk_0202BE98.o + Object unk_0202C0E0.o + Object unk_0202C144.o + Object unk_0202C198.o + Object unk_0202D394.o + Object unk_0202D4C4.o + Object unk_0202D858.o + Object unk_0202D8D0.o + Object unk_0202DB14.o + Object unk_0202E29C.o + Object unk_0202F150.o + Object unk_02031480.o + Object unk_02031734.o + Object unk_020336C0.o + Object unk_02033778.o + Object unk_020337E8.o + Object unk_02033874.o + Object unk_02033B68.o + Object unk_02033F50.o + Object wfc_user_info_warning.o + Object map_matrix.o + Object map_header.o + Object unk_02034A28.o + Object unk_02034D7C.o + Object unk_02034E84.o + Object unk_02034FE4.o + Object unk_02035068.o + Object unk_02036FA4.o + Object unk_02037024.o + Object unk_020372D4.o + Object unk_020377B0.o + Object unk_020377F0.o + Object script.o + Object unk_02038C78.o + Object scrcmd.o + Object scrcmd_asm.o + Object scrcmd_mart.o + Object scrcmd_3.o + Object scrcmd_names.o + Object scrcmd_5.o + Object scrcmd_sound.o + Object scrcmd_7.o + Object scrcmd_8.o + Object scrcmd_9.o + Object scrcmd_10.o + Object scrcmd_berry_trees.o + Object scrcmd_12.o + Object scrcmd_13.o + Object scrcmd_coins.o + Object scrcmd_money.o + Object scrcmd_daycare.o + Object scrcmd_17.o + Object scrcmd_party.o + Object scrcmd_fossils.o + Object scrcmd_prizes.o + Object scrcmd_flags.o + Object scrcmd_items.o + Object scrcmd_underground.o + Object scrcmd_24.o + Object scrcmd_25.o + Object unk_02046030.o + Object event_data.o + Object unk_0204639C.o + Object unk_0204653C.o + Object unk_02047500.o + Object unk_020476CC.o + Object unk_02048120.o + Object unk_020484A8.o + Object unk_02048904.o + Object script_pokemon_util.o + Object unk_0204A368.o + Object unk_0204A498.o + Object unk_0204AB0C.o + Object unk_0204ADE0.o + Object unk_0204AEA8.o + Object unk_0204AF24.o + Object unk_0204B0A0.o + Object unk_0204B34C.o + Object unk_0204B9EC.o + Object poketch.o + Object unk_0204C1B4.o + Object unk_0204CA80.o + Object unk_0204CB20.o + Object unk_0204FBA8.o + Object unk_02050E48.o + Object unk_020520AC.o + Object unk_02052EE8.o + Object unk_0205363C.o + Object unk_02053750.o + Object text_02054590.o + Object unk_0205478C.o + Object unk_02054C14.o + Object unk_02055068.o + Object unk_020557F4.o + Object unk_02057380.o + Object unk_02058EE8.o + Object unk_02059F04.o + Object unk_0205AD98.o + Object unk_0205BEF8.o + Object unk_0205C334.o + Object unk_0205C598.o + Object unk_0205CDB4.o + Object unk_0205CE48.o + Object unk_0205DD18.o + Object unk_0205E4EC.o + Object unk_0205EB38.o + Object unk_0205EC84.o + Object unk_0205F314.o + Object unk_0205F7A0.o + Object unk_0205FA2C.o + Object unk_0206015C.o + Object unk_02060344.o + Object unk_020603B0.o + Object unk_020606B0.o + Object unk_020607D4.o + Object unk_02060CCC.o + Object unk_020625EC.o + Object unk_0206367C.o + Object unk_02063888.o + Object unk_02063948.o + Object unk_0206439C.o + Object unk_020643C0.o + Object unk_020647A4.o + Object unk_02064CA8.o + Object unk_02064E20.o + Object unk_02064E4C.o + Object unk_02064E90.o + Object unk_020653EC.o + Object unk_02066840.o + + ##poketool## + Object pokemon.o + Object waza.o + Object trainer_data.o + Object pokemon_storage_system.o + Object unk_0206B688.o + Object party.o + Object unk_0206BB28.o + Object unk_0206BB5C.o + Object unk_0206BF90.o + Object unk_0206C700.o + Object unk_0206DE24.o + Object unk_0206E0F0.o + Object bag_view.o + + ##itemtool## + Object itemtool.o + Object bag.o + Object unk_0206F1F0.o + Object unk_0206F3FC.o + Object unk_02072548.o + Object unk_02073710.o + Object unk_02073DA8.o + Object unk_0207550C.o + Object unk_020772F0.o + Object unk_020799E8.o + Object unk_02079C70.o + Object unk_0207C328.o + Object unk_0207D5BC.o + Object unk_0207EF6C.o + Object unk_0207F95C.o + Object unk_0207FC5C.o + Object unk_0207FD00.o + Object unk_02080C38.o + Object unk_020828BC.o + Object unk_020834D0.o + Object unk_02083B84.o + Object unk_02083D48.o + Object unk_02084098.o + Object unk_020842D0.o + Object use_item_on_mon.o + Object unk_020851B8.o + Object nutdata.o + Object unk_02085338.o + Object unk_020854E0.o + Object unk_020859C0.o + Object unk_02086084.o + Object unk_02086414.o + Object unk_02086FA8.o + Object unk_02087A1C.o + Object unk_02087A6C.o + Object unk_02087D00.o + Object unk_02088320.o + Object unk_02088814.o + Object unk_02088858.o + Object unk_0208890C.o + Object unk_0208898C.o + Object unk_02088AAC.o + Object unk_02088D1C.o + Object unk_02088DD8.o + Object unk_02088F0C.o + Object unk_020893E0.o + Object unk_02089498.o + Object unk_02089960.o + Object unk_02089D90.o + Object unk_02089F24.o + Object unk_0208A258.o + Object unk_0208A300.o + Object unk_0208A338.o + Object error_message_reset.o + ### Third-party libraries ### + Object unk_0208AC14.o + Object custom_allocator.o + Object unk_020910EC.o + Object DWC_backup.o + Object DWC_bm_init.o + Object DWC_util_wifiidtool.o + Object DWC_init.o + Object DWC_account.o + Object SOC_socl_startup.o + Object SOC_socl_command.o + Object SOC_socl_create.o + Object SOC_socl_bind.o + Object SOC_socl_read.o + Object SOC_socl_shutdown.o + Object SOC_socl_close.o + Object SOC_socl_cleanup.o + Object SOC_socl_poll.o + Object SOC_socl_misc.o + Object SOC_socl_list.o + Object SOC_soc.o + Object SOC_socl_ssl.o + Object CPS_network.o + Object SSL_ssl.o + Object SSL_md5.o + Object SSL_sha1.o + Object SSL_rca4.o + Object SSL_biginteger.o + Object WCM_system.o + Object WCM_aplist.o + Object WCM_cpsif.o + Object WCM_util.o + Object WIFI_stubsmd5_dummy.o + Object libVCT.o + ### Nitro System SDK ### + Object NNS_FND_list.o + Object NNS_FND_heapcommon.o + Object NNS_FND_expheap.o + Object NNS_FND_frameheap.o + Object NNS_FND_allocator.o + Object NNS_GFD_gfd_texvramman.o + Object NNS_GFD_gfd_plttvramman.o + Object NNS_GFD_gfd_frametexvra.o + Object NNS_GFD_gfd_frameplttvr.o + Object NNS_GFD_gfd_vramtransfe.o + Object NNS_GFD_gfdi_linkedlist.o + Object NNS_GFD_gfd_linkedlistt.o + Object NNS_GFD_gfd_linkedlistp.o + Object NNS_G2D_g2d_nan_load.o + Object NNS_G2D_g2d_nob_load.o + Object NNS_G2D_g2d_nmc_load.o + Object NNS_G2D_g2d_ncg_load.o + Object NNS_G2D_g2d_ncl_load.o + Object NNS_G2D_g2d_nsc_load.o + Object NNS_G2D_g2d_load.o + Object NNS_G2D_g2d_softsprite.o + Object NNS_G2D_g2d_animation.o + Object NNS_G2D_g2d_oam.o + Object NNS_G2D_g2d_palettetabl.o + Object NNS_G2D_g2d_image.o + Object NNS_G2D_g2d_srtcontrol.o + Object NNS_G2D_g2d_node.o + Object NNS_G2D_g2d_cellanimati.o + Object NNS_G2D_g2d_multicellan.o + Object NNS_G2D_g2d_renderer.o + Object NNS_G2D_g2di_mtx32.o + Object NNS_G2D_g2d_celltransfe.o + Object NNS_G2D_g2d_oamsoftware.o + Object NNS_G2D_g2d_renderercor.o + Object NNS_G2D_g2d_font.o + Object NNS_G2D_g2d_charcanvas.o + Object NNS_G2D_g2d_textcanvas.o + Object NNS_G2D_g2d_nft_load.o + Object NNS_G2D_g2di_bitreader.o + Object NNS_G2D_g2di_splitchar.o + Object NNS_G3D_kernel.o + Object NNS_G3D_glbstate.o + Object NNS_G3D_anm.o + Object NNS_G3D_cgtool.o + Object NNS_G3D_sbc.o + Object NNS_G3D_1mat1shp.o + Object NNS_G3D_gecom.o + Object NNS_G3D_util.o + Object NNS_G3D_mem.o + Object NNS_G3D_model.o + Object NNS_G3D_res_struct_acce.o + Object NNS_G3D_nsbca.o + Object NNS_G3D_nsbma.o + Object NNS_G3D_nsbta.o + Object NNS_G3D_nsbtp.o + Object NNS_G3D_nsbva.o + Object NNS_G3D_basic.o + Object NNS_G3D_maya.o + Object NNS_G3D_si3d.o + Object NNS_G3D_3dsmax.o + Object NNS_G3D_xsi.o + Object NNS_SND_main.o + Object NNS_SND_resource_mgr.o + Object NNS_SND_waveout.o + Object NNS_SND_player.o + Object NNS_SND_stream.o + Object NNS_SND_capture.o + Object NNS_SND_sndarc.o + Object NNS_SND_heap.o + Object NNS_SND_sndarc_loader.o + Object NNS_SND_sndarc_player.o + Object NNS_SND_sndarc_stream.o + Object NNS_SND_seqdata.o + Object NNS_SND_fader.o + ### Nitro SDK ### + Object FX_mtx22.o + Object FX_mtx33.o + Object FX_mtx43.o + Object FX_mtx44.o + Object FX_cp.o + Object FX_vec.o + Object FX_sincos.o + Object FX_atan.o + Object FX.o + Object GX.o + Object GX_state.o + Object GX_vramcnt.o + Object GX_bgcnt.o + Object GX_g2.o + Object GX_g3b.o + Object GX_g3imm.o + Object GX_g3x.o + Object GX_g3_util.o + Object GX_load2d.o + Object GX_load3d.o + Object GX_g3.o + Object GX_asm.o + Object OS_irqHandler.o (.text) + Object OS_irqTable.o + Object OS_interrupt.o + Object OS_spinLock.o + Object OS_printf.o + Object OS_thread.o + Object OS_context.o + Object OS_emulator.o + Object OS_message.o + Object OS_mutex.o + Object OS_cache.o + Object OS_init.o + Object OS_arena.o + Object OS_alloc.o + Object OS_tcm.o + Object OS_protectionUnit.o + Object OS_protectionRegion.o + Object OS_exception.o + Object OS_timer.o + Object OS_tick.o + Object OS_alarm.o + Object OS_valarm.o + Object OS_system.o + Object OS_reset.o + Object OS_ownerInfo.o + Object OS_vramExclusive.o + Object OS_entropy.o + Object OS_terminate_proc.o + Object MI_wram.o + Object MI_dma.o + Object MI_dma_hblank.o + Object MI_dma_gxcommand.o + Object MI_memory.o + Object MI_swap.o + Object MI_uncompress.o + Object MI_dma_card.o + Object MI_init.o + Object SND_interface.o + Object SND_main.o + Object SND_command.o + Object SND_alarm.o + Object SND_work.o + Object SND_util.o + Object SND_bank.o + Object PXI_init.o + Object PXI_fifo.o + Object FS_command.o + Object FS_command_default.o + Object FS_archive.o + Object FS_file.o + Object FS_rom.o + Object FS_overlay.o + Object DGT_hash1.o + Object DGT_hash2.o + Object DGT_sha1s_arm4cw.o + Object CP_context.o + Object SPI_tp.o + Object SPI_mic.o + Object SPI_pm.o + Object RTC_external.o + Object RTC_internal.o + Object RTC_convert.o + Object CARD_common.o + Object CARD_spi.o + Object CARD_backup.o + Object CARD_rom.o + Object CARD_request.o + Object CARD_pullOut.o + Object WM_system.o + Object WM_sync.o + Object WM_standard.o + Object WM_mp.o + Object WM_dcf.o + Object WM_ds.o + Object WM_ks.o + Object WM_etc.o + Object CTRDG_common.o + Object CTRDG_proc.o + Object CTRDG_backup.o + Object CTRDG_flash_common.o + Object CTRDG_flash_AT29LV512.o + Object CTRDG_flash_LE26FV10N1TS-10.o + Object CTRDG_flash_LE39FW512.o + Object CTRDG_flash_MX29L010.o + Object CTRDG_flash_MX29L512.o + Object CTRDG_task.o + Object MATH_pop.o + Object MATH_dgt.o + Object MATH_crc.o + Object STD_string.o + ### Standard libraries ### + ### Bundled with CodeWarrior, so probably compiled with 2.0sp1 ### + Object MSL_ARM_abort_exit.o + Object MSL_ARM_critical_regions_NITRO.o + Object MSL_ARM_math.o + Object MSL_Common_ansi_files.o + Object MSL_Common_arith.o + Object MSL_Common_assert.o + Object MSL_Common_buffer_io.o + Object MSL_Common_ctype.o + Object MSL_Common_direct_io.o + Object MSL_Common_errno.o + Object MSL_Common_file_io.o + Object MSL_Common_file_pos.o + Object MSL_Common_float.o + Object MSL_Common_mbstring.o + Object MSL_Common_mem.o + Object MSL_Common_mem_funcs.o + Object MSL_Common_printf.o + Object MSL_Common_qsort.o + Object MSL_Common_rand.o + Object MSL_Common_scanf.o + Object MSL_Common_signal.o + Object MSL_Common_string.o + Object MSL_Common_strtold.o + Object MSL_Common_strtoul.o + Object MSL_Common_wchar_io.o + Object MSL_Common_wctype.o + Object MSL_Common_wmem.o + Object MSL_Common_wprintf.o + Object MSL_Common_wstring.o + Object MSL_DPMath_e_pow.o + Object MSL_DPMath_s_copysign.o + Object MSL_DPMath_s_fabs.o + Object MSL_DPMath_s_frexp.o + Object MSL_DPMath_s_ldexp.o + Object MSL_DPMath_w_pow.o + Object MSL_fp_ansi.o + Object MSL_math.o + Object MSL_string_extras.o + Object RUNTIME_d_add.o + Object RUNTIME_d_dtof.o + Object RUNTIME_d_dtoi.o + Object RUNTIME_d_dtoull.o + Object RUNTIME_d_itod.o + Object RUNTIME_d_mul.o + Object RUNTIME_d_sqrt.o + Object RUNTIME_d_sub.o + Object RUNTIME_f_add.o + Object RUNTIME_f_cmp.o + Object RUNTIME_f_div.o + Object RUNTIME_f_ftod.o + Object RUNTIME_f_ftoi.o + Object RUNTIME_f_ftou.o + Object RUNTIME_f_itof.o + Object RUNTIME_f_mul.o + Object RUNTIME_f_sub.o + Object RUNTIME_ll_div.o + Object RUNTIME_ll_mul.o + Object RUNTIME_ll_sll.o + Object RUNTIME_s32_div_f.o + Object RUNTIME_u32_div_f.o + Object RUNTIME_d_div.o + Object RUNTIME_ieee_status.o + Object RUNTIME_ARM_semihosted_console_io.o + Object RUNTIME_CPLUS_StaticInitializers.o + Object RUNTIME_NITRO_eabi_init.o } Autoload ITCM { - Address 0x01FF8000 - Object OS_irqHandler.o (.itcm) - Object OS_reset.o (.itcm) - Object MI_dma.o (.itcm) - Object MI_dma_gxcommand.o (.itcm) + Address 0x01FF8000 + Object OS_irqHandler.o (.itcm) + Object OS_reset.o (.itcm) + Object MI_dma.o (.itcm) + Object MI_dma_gxcommand.o (.itcm) } Autoload DTCM { - Address 0x027E0000 - Object OS_irqHandler.o (.bss) - Object OS_irqTable.o (.dtcm) + Address 0x027E0000 + Object OS_irqHandler.o (.bss) + Object OS_irqTable.o (.dtcm) } Autoload EXT { - Address 0x02400000 + Address 0x02400000 } Overlay MODULE_00 { - After arm9 + After arm9 } Overlay MODULE_01 { - After arm9 - Object module_01.o + After arm9 + Object module_01.o } Overlay MODULE_02 { - After MODULE_01 + After MODULE_01 } Overlay MODULE_03 { - After ITCM + After ITCM } Overlay MODULE_04 { - After arm9 - Object thumb_04.o - Object arm_04.o + After arm9 + Object thumb_04.o + Object arm_04.o } Overlay MODULE_05 { - ##Overworld## - After arm9 - Object mod05_021D74E0.o - Object mod05_021D7F4C.o - Object mod05_021D80E8.o - Object mod05_021D9320.o - Object mod05_021D9A48.o - Object mod05_021DA5B8.o - Object mod05_021DB44C.o - Object mod05_021DB900.o - Object mod05_021DBA00.o - Object mod05_021DBABC.o - Object mod05_021DBD84.o - Object mod05_021DBE04.o - Object mod05_021DBEF4.o - Object mod05_021DC0B8.o - Object mod05_021E1374.o - Object mod05_021E1AD8.o - Object mod05_021E2B80.o - Object mod05_021E2E88.o - Object mod05_021E3340.o - Object mod05_021E3444.o - Object mod05_021E4AE4.o - Object mod05_021E52A8.o - Object mod05_021E5300.o - Object mod05_021E5564.o - Object mod05_021E55BC.o - Object mod05_021E577C.o - Object mod05_021E5918.o - Object mod05_021E5AB4.o - Object mod05_021E5C8C.o - Object mod05_021E5E10.o - Object mod05_021E5FD8.o - Object mod05_021E72FC.o - Object mod05_021E7504.o - Object mod05_021E779C.o - Object mod05_021E7C00.o - Object mod05_021E80F8.o - Object mod05_021E8310.o - Object module_05.o + ##Overworld## + After arm9 + Object mod05_021D74E0.o + Object mod05_021D7F4C.o + Object mod05_021D80E8.o + Object mod05_021D9320.o + Object mod05_021D9A48.o + Object mod05_021DA5B8.o + Object mod05_021DB44C.o + Object mod05_021DB900.o + Object mod05_021DBA00.o + Object mod05_021DBABC.o + Object mod05_021DBD84.o + Object mod05_021DBE04.o + Object mod05_021DBEF4.o + Object mod05_021DC0B8.o + Object mod05_021E1374.o + Object mod05_021E1AD8.o + Object mod05_021E2B80.o + Object mod05_021E2E88.o + Object mod05_021E3340.o + Object mod05_021E3444.o + Object mod05_021E4AE4.o + Object mod05_021E52A8.o + Object mod05_021E5300.o + Object mod05_021E5564.o + Object mod05_021E55BC.o + Object mod05_021E577C.o + Object mod05_021E5918.o + Object mod05_021E5AB4.o + Object mod05_021E5C8C.o + Object mod05_021E5E10.o + Object mod05_021E5FD8.o + Object mod05_021E72FC.o + Object mod05_021E7504.o + Object mod05_021E779C.o + Object mod05_021E7C00.o + Object mod05_021E80F8.o + Object mod05_021E8310.o + Object module_05.o } Overlay MODULE_06 { - ##Overworld## - After MODULE_05 - Object module_06.o + ##Overworld## + After MODULE_05 + Object module_06.o } Overlay MODULE_07 { - After MODULE_04 - Object module_07.o + After MODULE_04 + Object module_07.o } Overlay MODULE_08 { - After MODULE_04 - Object module_08.o + After MODULE_04 + Object module_08.o } Overlay MODULE_09 { - After MODULE_04 - Object module_09.o + After MODULE_04 + Object module_09.o } Overlay MODULE_10 { - After arm9 + After arm9 } Overlay MODULE_11 { - ##Battles## - After MODULE_08 - Object module_11_thumb1.o - Object module_11_sinit.o - Object module_11_thumb2.o + ##Battles## + After MODULE_08 + Object module_11_thumb1.o + Object module_11_sinit.o + Object module_11_thumb2.o } Overlay MODULE_12 { - After MODULE_08 - Object module_12.o + After MODULE_08 + Object module_12.o } Overlay MODULE_13 { - After MODULE_04 - Object module_13_init.o - Object module_13_arm1.o - Object module_13_thumb.o - Object module_13_arm2.o + After MODULE_04 + Object module_13_init.o + Object module_13_arm1.o + Object module_13_thumb.o + Object module_13_arm2.o } Overlay MODULE_14 { - ##PC## - After arm9 - Object module_14.o + ##PC## + After arm9 + Object module_14.o } Overlay MODULE_15 { - After arm9 - Object module_15.o + After arm9 + Object module_15.o } Overlay MODULE_16 { - ##Pokedex/Battle Sprites## - After arm9 - Object module_16.o + ##Pokedex/Battle Sprites## + After arm9 + Object module_16.o } Overlay MODULE_17 { - After arm9 - Object module_17.o + After arm9 + Object module_17.o } Overlay MODULE_18 { - After MODULE_05 - Object module_18.o + After MODULE_05 + Object module_18.o } Overlay MODULE_19 { - ##Bottom screen before Pokétch## - After MODULE_06 - Object module_19.o + ##Bottom screen before Pokétch## + After MODULE_06 + Object module_19.o } Overlay MODULE_20 { - ##Pokétch## - After MODULE_06 - Object module_20.o + ##Pokétch## + After MODULE_06 + Object module_20.o } Overlay MODULE_21 { - ##Pokétch Clock## - After MODULE_20 - Object mod21_02254854.o - Object mod21_02254A6C.o + ##Pokétch Clock## + After MODULE_20 + Object mod21_02254854.o + Object mod21_02254A6C.o } Overlay MODULE_22 { - After MODULE_20 - Object module_22_sinit.o - Object module_22.o + After MODULE_20 + Object module_22_sinit.o + Object module_22.o } Overlay MODULE_23 { - ##Pokétch Calculator## - After MODULE_20 - Object module_23_sinit.o - Object module_23.o + ##Pokétch Calculator## + After MODULE_20 + Object module_23_sinit.o + Object module_23.o } Overlay MODULE_24 { - ##Memo Pad## - After MODULE_20 - Object module_24_sinit.o - Object module_24.o + ##Memo Pad## + After MODULE_20 + Object module_24_sinit.o + Object module_24.o } Overlay MODULE_25 { - ##Analogue Watch## - After MODULE_20 - Object module_25_sinit.o - Object module_25.o + ##Analogue Watch## + After MODULE_20 + Object module_25_sinit.o + Object module_25.o } Overlay MODULE_26 { - ##Dot Artist## - After MODULE_20 - Object module_26_sinit.o - Object module_26.o + ##Dot Artist## + After MODULE_20 + Object module_26_sinit.o + Object module_26.o } Overlay MODULE_27 { - ##Pokétch Party## - After MODULE_20 - Object module_27_sinit.o - Object module_27.o + ##Pokétch Party## + After MODULE_20 + Object module_27_sinit.o + Object module_27.o } Overlay MODULE_28 { - ##Friendship Checker## - After MODULE_20 - Object module_28_sinit.o - Object module_28.o + ##Friendship Checker## + After MODULE_20 + Object module_28_sinit.o + Object module_28.o } Overlay MODULE_29 { - ##Dowsing Machine## - After MODULE_20 - Object module_29_sinit.o - Object module_29.o + ##Dowsing Machine## + After MODULE_20 + Object module_29_sinit.o + Object module_29.o } Overlay MODULE_30 { - After MODULE_20 - Object module_30_sinit.o - Object module_30.o + After MODULE_20 + Object module_30_sinit.o + Object module_30.o } Overlay MODULE_31 { - ##Pokétch Counter## - After MODULE_20 - Object module_31_sinit.o - Object module_31.o + ##Pokétch Counter## + After MODULE_20 + Object module_31_sinit.o + Object module_31.o } Overlay MODULE_32 { - After MODULE_20 - Object module_32_sinit.o - Object module_32.o + After MODULE_20 + Object module_32_sinit.o + Object module_32.o } Overlay MODULE_33 { - After MODULE_20 - Object module_33_sinit.o - Object module_33.o + After MODULE_20 + Object module_33_sinit.o + Object module_33.o } Overlay MODULE_34 { - After MODULE_20 - Object module_34_sinit.o - Object module_34.o + After MODULE_20 + Object module_34_sinit.o + Object module_34.o } Overlay MODULE_35 { - ##Daycare Checker## - After MODULE_20 - Object module_35_sinit.o - Object module_35.o + ##Daycare Checker## + After MODULE_20 + Object module_35_sinit.o + Object module_35.o } Overlay MODULE_36 { - After MODULE_20 - Object module_36_sinit.o - Object module_36.o + After MODULE_20 + Object module_36_sinit.o + Object module_36.o } Overlay MODULE_37 { - ##Coin Toss## - After MODULE_20 - Object module_37_sinit.o - Object module_37.o + ##Coin Toss## + After MODULE_20 + Object module_37_sinit.o + Object module_37.o } Overlay MODULE_38 { - ##Move Checker## - After MODULE_20 - Object module_38_sinit.o - Object module_38.o + ##Move Checker## + After MODULE_20 + Object module_38_sinit.o + Object module_38.o } Overlay MODULE_39 { - After MODULE_20 - Object module_39_sinit.o - Object module_39.o + After MODULE_20 + Object module_39_sinit.o + Object module_39.o } Overlay MODULE_40 { - After MODULE_20 - Object module_40_sinit.o - Object module_40.o + After MODULE_20 + Object module_40_sinit.o + Object module_40.o } Overlay MODULE_41 { - After MODULE_20 - Object module_41_sinit.o - Object module_41.o + After MODULE_20 + Object module_41_sinit.o + Object module_41.o } Overlay MODULE_42 { - ##Marking Map## - After MODULE_20 - Object module_42_sinit.o - Object module_42.o + ##Marking Map## + After MODULE_20 + Object module_42_sinit.o + Object module_42.o } Overlay MODULE_43 { - ##Berry Searcher## - After MODULE_20 - Object module_43_sinit.o - Object module_43.o + ##Berry Searcher## + After MODULE_20 + Object module_43_sinit.o + Object module_43.o } Overlay MODULE_44 { - After MODULE_20 - Object module_44_sinit.o - Object module_44.o + After MODULE_20 + Object module_44_sinit.o + Object module_44.o } Overlay MODULE_45 { - After MODULE_20 - Object module_45_sinit.o - Object module_45.o + After MODULE_20 + Object module_45_sinit.o + Object module_45.o } Overlay MODULE_46 { - After MODULE_20 - Object module_46_sinit.o - Object module_46.o + After MODULE_20 + Object module_46_sinit.o + Object module_46.o } Overlay MODULE_47 { - ##Link Searcher## - After MODULE_20 - Object module_47_sinit.o - Object module_47.o + ##Link Searcher## + After MODULE_20 + Object module_47_sinit.o + Object module_47.o } Overlay MODULE_48 { - After MODULE_20 - Object module_48_sinit.o - Object module_48.o + After MODULE_20 + Object module_48_sinit.o + Object module_48.o } Overlay MODULE_49 { - ##Pokemon History## - After MODULE_20 - Object module_49_sinit.o - Object module_49.o + ##Pokemon History## + After MODULE_20 + Object module_49_sinit.o + Object module_49.o } Overlay MODULE_50 { - After MODULE_20 - Object module_50_sinit.o - Object module_50.o + After MODULE_20 + Object module_50_sinit.o + Object module_50.o } Overlay MODULE_51 { - After MODULE_20 - Object module_51.o + After MODULE_20 + Object module_51.o } Overlay MODULE_52 { - ##Some kind of transition overlay for intro## - After arm9 - Object module_52.o + ##Some kind of transition overlay for intro## + After arm9 + Object module_52.o } Overlay MODULE_53 { - After arm9 - Object module_53.o + After arm9 + Object module_53.o } Overlay MODULE_54 { - After arm9 - Object module_54.o + After arm9 + Object module_54.o } Overlay MODULE_55 { - After arm9 - Object module_55.o + After arm9 + Object module_55.o } Overlay MODULE_56 { - After MODULE_04 - Object module_56.o + After MODULE_04 + Object module_56.o } Overlay MODULE_57 { - ##Trainer card## - After arm9 - Object module_57.o + ##Trainer card## + After arm9 + Object module_57.o } Overlay MODULE_58 { - After MODULE_57 - Object module_58.o + After MODULE_57 + Object module_58.o } Overlay MODULE_59 { - ##Rowan's intro## - After arm9 - Object mod59_021D74E0_src.o - Object mod59_021D74E0_asm.o - Object mod59_021D9868.o + ##Rowan's intro## + After arm9 + Object mod59_021D74E0_src.o + Object mod59_021D74E0_asm.o + Object mod59_021D9868.o } Overlay MODULE_60 { - ##Options## - After arm9 - Object module_60.o + ##Options## + After arm9 + Object module_60.o } Overlay MODULE_61 { - After arm9 - Object module_61.o + After arm9 + Object module_61.o } Overlay MODULE_62 { - After MODULE_08 - Object module_62_sinit.o - Object module_62.o + After MODULE_08 + Object module_62_sinit.o + Object module_62.o } Overlay MODULE_63 { - ### Title Demo ### - After arm9 - Object mod63_021D74E0.o - Object mod63_021D8890.o - Object mod63_021DA640.o - Object mod63_021DAE5C.o - Object mod63_021DB450.o + ### Title Demo ### + After arm9 + Object mod63_021D74E0.o + Object mod63_021D8890.o + Object mod63_021DA640.o + Object mod63_021DAE5C.o + Object mod63_021DB450.o } Overlay MODULE_64 { - ##Pokemon Selection## - After arm9 - Object module_64.o + ##Pokemon Selection## + After arm9 + Object module_64.o } Overlay MODULE_65 { - After arm9 - Object module_65.o + After arm9 + Object module_65.o } Overlay MODULE_66 { - ##Fly Map## - After arm9 - Object module_66.o + ##Fly Map## + After arm9 + Object module_66.o } Overlay MODULE_67 { - After arm9 - Object module_67.o + After arm9 + Object module_67.o } Overlay MODULE_68 { - After arm9 - Object module_68.o + After arm9 + Object module_68.o } Overlay MODULE_69 { - ##Hall of Fame## - After MODULE_08 - Object module_69.o + ##Hall of Fame## + After MODULE_08 + Object module_69.o } Overlay MODULE_70 { - After arm9 - Object module_70.o + After arm9 + Object module_70.o } Overlay MODULE_71 { - After MODULE_08 - Object module_71.o + After MODULE_08 + Object module_71.o } Overlay MODULE_72 { - After arm9 + After arm9 } Overlay MODULE_73 { - After arm9 - Object module_73.o + After arm9 + Object module_73.o } Overlay MODULE_74 { - After arm9 - Object module_74.o + After arm9 + Object module_74.o } Overlay MODULE_75 { - ### Player's bag ### - After MODULE_14 - Object module_75.o + ### Player's bag ### + After MODULE_14 + Object module_75.o } Overlay MODULE_76 { - After arm9 - Object module_76.o + After arm9 + Object module_76.o } Overlay MODULE_77 { - After arm9 - Object module_77.o + After arm9 + Object module_77.o } Overlay MODULE_78 { - After arm9 - Object module_78.o + After arm9 + Object module_78.o } Overlay MODULE_79 { - After MODULE_04 - Object module_79_thumb.o - Object module_79_arm.o + After MODULE_04 + Object module_79_thumb.o + Object module_79_arm.o } Overlay MODULE_80 { - After MODULE_08 - Object module_80.o + After MODULE_08 + Object module_80.o } Overlay MODULE_81 { - After MODULE_80 - Object module_81.o + After MODULE_80 + Object module_81.o } Overlay MODULE_82 { - After MODULE_08 - Object module_82.o + After MODULE_08 + Object module_82.o } Overlay MODULE_83 { - ##Load Screen## - After MODULE_08 - Object module_83.o + ##Load Screen## + After MODULE_08 + Object module_83.o } Overlay MODULE_84 { - ##Credits## - After arm9 - Object module_84_thumb1.o - Object module_84_arm.o - Object module_84_thumb2.o + ##Credits## + After arm9 + Object module_84_thumb1.o + Object module_84_arm.o + Object module_84_thumb2.o } Overlay MODULE_85 { - After arm9 - Object module_85.o + After arm9 + Object module_85.o } Overlay MODULE_86 { - After arm9 - Object module_86.o + After arm9 + Object module_86.o } diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s index afe833c1..06fa49b6 100644 --- a/arm9/modules/83/asm/module_83.s +++ b/arm9/modules/83/asm/module_83.s @@ -1,521 +1,521 @@ - .include "asm/macros.inc" - .include "global.inc" - .include "constants/species.h" - .section .text - .balign 4, 0 + .include "asm/macros.inc" + .include "global.inc" + .include "constants/species.h" + .section .text + .balign 4, 0 - thumb_func_start MOD83_0222D5C0 + thumb_func_start MOD83_0222D5C0 MOD83_0222D5C0: ; 0x0222D5C0 - mov r0, #0 - bx lr - thumb_func_end MOD83_0222D5C0 + mov r0, #0 + bx lr + thumb_func_end MOD83_0222D5C0 - thumb_func_start MOD83_0222D5C4 + thumb_func_start MOD83_0222D5C4 MOD83_0222D5C4: ; 0x0222D5C4 - push {r4, r5, r6, r7, lr} - sub sp, #0x5c - add r5, r0, #0 - mov r0, #5 - lsl r0, r0, #6 - add r0, r5, r0 - bl WindowIsInUse - cmp r0, #0 - bne _0222D63C - mov r1, #0x4f - mov r0, #0 - add r3, r5, #0 - lsl r1, r1, #2 + push {r4, r5, r6, r7, lr} + sub sp, #0x5c + add r5, r0, #0 + mov r0, #5 + lsl r0, r0, #6 + add r0, r5, r0 + bl WindowIsInUse + cmp r0, #0 + bne _0222D63C + mov r1, #0x4f + mov r0, #0 + add r3, r5, #0 + lsl r1, r1, #2 _0222D5E0: - ldr r2, [r3, r1] - cmp r2, #1 - bne _0222D632 - lsl r1, r0, #2 - add r3, r5, r1 - mov r1, #0x4f - add r6, r0, #0 - mov r2, #0 - lsl r1, r1, #2 - str r2, [r3, r1] - mov r3, #0x1c - mov r0, #1 - str r0, [sp] - mov r0, #2 - str r0, [sp, #4] - add r1, r1, #4 - ldr r7, _0222D670 ; =MOD83_0223A794 - mul r6, r3 - add r4, r7, r6 - ldr r3, [r4, #0x10] - add r0, sp, #8 - add r1, r5, r1 - bl MOD83_022388E4 - ldr r1, [r4, #8] - ldr r2, [r4, #0xc] - add r0, sp, #8 - mov r3, #0x13 - bl MOD83_02238934 - ldr r0, [r4, #0x14] - add r1, sp, #8 - str r0, [sp] - ldr r0, [r5] - ldr r2, [r7, r6] - ldr r3, [r4, #4] - bl MOD83_02238A38 - add sp, #0x5c - mov r0, #1 - pop {r4, r5, r6, r7, pc} + ldr r2, [r3, r1] + cmp r2, #1 + bne _0222D632 + lsl r1, r0, #2 + add r3, r5, r1 + mov r1, #0x4f + add r6, r0, #0 + mov r2, #0 + lsl r1, r1, #2 + str r2, [r3, r1] + mov r3, #0x1c + mov r0, #1 + str r0, [sp] + mov r0, #2 + str r0, [sp, #4] + add r1, r1, #4 + ldr r7, _0222D670 ; =MOD83_0223A794 + mul r6, r3 + add r4, r7, r6 + ldr r3, [r4, #0x10] + add r0, sp, #8 + add r1, r5, r1 + bl MOD83_022388E4 + ldr r1, [r4, #8] + ldr r2, [r4, #0xc] + add r0, sp, #8 + mov r3, #0x13 + bl MOD83_02238934 + ldr r0, [r4, #0x14] + add r1, sp, #8 + str r0, [sp] + ldr r0, [r5] + ldr r2, [r7, r6] + ldr r3, [r4, #4] + bl MOD83_02238A38 + add sp, #0x5c + mov r0, #1 + pop {r4, r5, r6, r7, pc} _0222D632: - add r0, r0, #1 - add r3, r3, #4 - cmp r0, #1 - blt _0222D5E0 - b _0222D668 + add r0, r0, #1 + add r3, r3, #4 + cmp r0, #1 + blt _0222D5E0 + b _0222D668 _0222D63C: - ldr r0, _0222D674 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #3 - tst r0, r1 - beq _0222D662 - ldr r0, _0222D678 ; =0x000005DC - bl PlaySE - mov r0, #5 - lsl r0, r0, #6 - add r0, r5, r0 - mov r1, #0 - bl FUN_0200CCF8 - mov r0, #5 - lsl r0, r0, #6 - add r0, r5, r0 - bl RemoveWindow + ldr r0, _0222D674 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #3 + tst r0, r1 + beq _0222D662 + ldr r0, _0222D678 ; =0x000005DC + bl PlaySE + mov r0, #5 + lsl r0, r0, #6 + add r0, r5, r0 + mov r1, #0 + bl FUN_0200CCF8 + mov r0, #5 + lsl r0, r0, #6 + add r0, r5, r0 + bl RemoveWindow _0222D662: - add sp, #0x5c - mov r0, #1 - pop {r4, r5, r6, r7, pc} + add sp, #0x5c + mov r0, #1 + pop {r4, r5, r6, r7, pc} _0222D668: - mov r0, #0 - add sp, #0x5c - pop {r4, r5, r6, r7, pc} - nop + mov r0, #0 + add sp, #0x5c + pop {r4, r5, r6, r7, pc} + nop _0222D670: .word MOD83_0223A794 _0222D674: .word gMain _0222D678: .word 0x000005DC - thumb_func_end MOD83_0222D5C4 + thumb_func_end MOD83_0222D5C4 - thumb_func_start MOD83_0222D67C + thumb_func_start MOD83_0222D67C MOD83_0222D67C: ; 0x0222D67C - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0 - bl MOD83_02236E18 - mov r4, #0 - str r4, [r5, #0x24] - cmp r0, #0 - bne _0222D6E6 - bl MOD83_02236E9C - cmp r0, #4 - bhi _0222D6BE - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0 + bl MOD83_02236E18 + mov r4, #0 + str r4, [r5, #0x24] + cmp r0, #0 + bne _0222D6E6 + bl MOD83_02236E9C + cmp r0, #4 + bhi _0222D6BE + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0222D6A2: ; jump table - .short _0222D6AC - _0222D6A2 - 2 ; case 0 - .short _0222D6B0 - _0222D6A2 - 2 ; case 1 - .short _0222D6B4 - _0222D6A2 - 2 ; case 2 - .short _0222D6B8 - _0222D6A2 - 2 ; case 3 - .short _0222D6BC - _0222D6A2 - 2 ; case 4 + .short _0222D6AC - _0222D6A2 - 2 ; case 0 + .short _0222D6B0 - _0222D6A2 - 2 ; case 1 + .short _0222D6B4 - _0222D6A2 - 2 ; case 2 + .short _0222D6B8 - _0222D6A2 - 2 ; case 3 + .short _0222D6BC - _0222D6A2 - 2 ; case 4 _0222D6AC: - mov r4, #2 - b _0222D6BE + mov r4, #2 + b _0222D6BE _0222D6B0: - mov r4, #1 - b _0222D6BE + mov r4, #1 + b _0222D6BE _0222D6B4: - mov r4, #5 - b _0222D6BE + mov r4, #5 + b _0222D6BE _0222D6B8: - mov r4, #4 - b _0222D6BE + mov r4, #4 + b _0222D6BE _0222D6BC: - mov r4, #3 + mov r4, #3 _0222D6BE: - add r0, r4, #0 - bl FUN_02016438 - ldr r0, [r5, #8] - bl Pokedex_GetNatDexFlag - cmp r0, #0 - beq _0222D6E6 - bl MOD83_02236EA8 - ldr r1, _0222D6E8 ; =gGameLanguage - ldrb r1, [r1] - cmp r1, r0 - bne _0222D6E6 - bl MOD83_02236E9C - add r0, r0, #1 - str r0, [r5, #0x24] - bl MOD83_02239490 + add r0, r4, #0 + bl FUN_02016438 + ldr r0, [r5, #8] + bl Pokedex_GetNatDexFlag + cmp r0, #0 + beq _0222D6E6 + bl MOD83_02236EA8 + ldr r1, _0222D6E8 ; =gGameLanguage + ldrb r1, [r1] + cmp r1, r0 + bne _0222D6E6 + bl MOD83_02236E9C + add r0, r0, #1 + str r0, [r5, #0x24] + bl MOD83_02239490 _0222D6E6: - pop {r3, r4, r5, pc} - .align 2, 0 + pop {r3, r4, r5, pc} + .align 2, 0 _0222D6E8: .word gGameLanguage - thumb_func_end MOD83_0222D67C + thumb_func_end MOD83_0222D67C - thumb_func_start MOD83_0222D6EC + thumb_func_start MOD83_0222D6EC MOD83_0222D6EC: ; 0x0222D6EC - push {r4, lr} - mov r1, #0x43 - add r4, r0, #0 - lsl r1, r1, #2 - ldr r0, [r4, r1] - sub r0, #0xa - cmp r0, #4 - bhi _0222D7DC - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r4, lr} + mov r1, #0x43 + add r4, r0, #0 + lsl r1, r1, #2 + ldr r0, [r4, r1] + sub r0, #0xa + cmp r0, #4 + bhi _0222D7DC + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0222D708: ; jump table - .short _0222D712 - _0222D708 - 2 ; case 0 - .short _0222D718 - _0222D708 - 2 ; case 1 - .short _0222D7DC - _0222D708 - 2 ; case 2 - .short _0222D74C - _0222D708 - 2 ; case 3 - .short _0222D7D0 - _0222D708 - 2 ; case 4 + .short _0222D712 - _0222D708 - 2 ; case 0 + .short _0222D718 - _0222D708 - 2 ; case 1 + .short _0222D7DC - _0222D708 - 2 ; case 2 + .short _0222D74C - _0222D708 - 2 ; case 3 + .short _0222D7D0 - _0222D708 - 2 ; case 4 _0222D712: - mov r0, #0xb - str r0, [r4, r1] - pop {r4, pc} + mov r0, #0xb + str r0, [r4, r1] + pop {r4, pc} _0222D718: - ldr r0, [r4, #4] - bl FUN_02032D44 - mov r1, #0x78 - add r0, r1, #0 - add r0, #0x98 - str r1, [r4, r0] - mov r1, #0xd - add r0, r1, #0 - add r0, #0xff - str r1, [r4, r0] - mov r0, #0 - str r0, [r4, #0x40] - ldr r0, [r4, #0x14] - bl FUN_0202AF50 - cmp r0, #1 - bne _0222D7DC - ldr r1, [r4, #0x40] - mov r0, #1 - orr r1, r0 - str r1, [r4, #0x40] - ldr r1, [r4, #0x44] - orr r0, r1 - str r0, [r4, #0x44] - pop {r4, pc} + ldr r0, [r4, #4] + bl FUN_02032D44 + mov r1, #0x78 + add r0, r1, #0 + add r0, #0x98 + str r1, [r4, r0] + mov r1, #0xd + add r0, r1, #0 + add r0, #0xff + str r1, [r4, r0] + mov r0, #0 + str r0, [r4, #0x40] + ldr r0, [r4, #0x14] + bl FUN_0202AF50 + cmp r0, #1 + bne _0222D7DC + ldr r1, [r4, #0x40] + mov r0, #1 + orr r1, r0 + str r1, [r4, #0x40] + ldr r1, [r4, #0x44] + orr r0, r1 + str r0, [r4, #0x44] + pop {r4, pc} _0222D74C: - add r1, #0xc - ldr r0, [r4, r1] - cmp r0, #0 - bne _0222D7DC - bl FUN_02032D9C - ldr r1, [r4, #0x40] - bic r0, r1 - beq _0222D7B2 - mov r2, #0x45 - lsl r2, r2, #2 - ldr r3, [r4, r2] - cmp r3, #0xf - bne _0222D7B2 - add r2, r2, #4 - ldr r2, [r4, r2] - cmp r2, #0 - bne _0222D7B2 - cmp r1, r0 - beq _0222D7B2 - mov r2, #1 - add r1, r0, #0 - str r2, [r4, #0x48] - tst r1, r2 - beq _0222D782 - str r2, [r4, #0x34] - add r0, r2, #0 + add r1, #0xc + ldr r0, [r4, r1] + cmp r0, #0 + bne _0222D7DC + bl FUN_02032D9C + ldr r1, [r4, #0x40] + bic r0, r1 + beq _0222D7B2 + mov r2, #0x45 + lsl r2, r2, #2 + ldr r3, [r4, r2] + cmp r3, #0xf + bne _0222D7B2 + add r2, r2, #4 + ldr r2, [r4, r2] + cmp r2, #0 + bne _0222D7B2 + cmp r1, r0 + beq _0222D7B2 + mov r2, #1 + add r1, r0, #0 + str r2, [r4, #0x48] + tst r1, r2 + beq _0222D782 + str r2, [r4, #0x34] + add r0, r2, #0 _0222D782: - mov r1, #2 - add r2, r0, #0 - tst r2, r1 - beq _0222D790 - mov r0, #1 - str r0, [r4, #0x2c] - add r0, r1, #0 + mov r1, #2 + add r2, r0, #0 + tst r2, r1 + beq _0222D790 + mov r0, #1 + str r0, [r4, #0x2c] + add r0, r1, #0 _0222D790: - mov r1, #4 - add r2, r0, #0 - tst r2, r1 - beq _0222D79E - mov r0, #1 - str r0, [r4, #0x30] - add r0, r1, #0 + mov r1, #4 + add r2, r0, #0 + tst r2, r1 + beq _0222D79E + mov r0, #1 + str r0, [r4, #0x30] + add r0, r1, #0 _0222D79E: - mov r1, #3 - tst r1, r0 - beq _0222D7AC - mov r1, #0x4e - mov r2, #1 - lsl r1, r1, #2 - str r2, [r4, r1] + mov r1, #3 + tst r1, r0 + beq _0222D7AC + mov r1, #0x4e + mov r2, #1 + lsl r1, r1, #2 + str r2, [r4, r1] _0222D7AC: - ldr r1, [r4, #0x40] - orr r0, r1 - str r0, [r4, #0x40] + ldr r1, [r4, #0x40] + orr r0, r1 + str r0, [r4, #0x40] _0222D7B2: - mov r0, #0x11 - lsl r0, r0, #4 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _0222D7DC - bl FUN_02032D80 - mov r0, #0x43 - mov r1, #0xc - lsl r0, r0, #2 - str r1, [r4, r0] - pop {r4, pc} + mov r0, #0x11 + lsl r0, r0, #4 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _0222D7DC + bl FUN_02032D80 + mov r0, #0x43 + mov r1, #0xc + lsl r0, r0, #2 + str r1, [r4, r0] + pop {r4, pc} _0222D7D0: - bl FUN_02032D80 - mov r0, #0x43 - mov r1, #0xc - lsl r0, r0, #2 - str r1, [r4, r0] + bl FUN_02032D80 + mov r0, #0x43 + mov r1, #0xc + lsl r0, r0, #2 + str r1, [r4, r0] _0222D7DC: - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_0222D6EC + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_0222D6EC - thumb_func_start MOD83_0222D7E0 + thumb_func_start MOD83_0222D7E0 MOD83_0222D7E0: ; 0x0222D7E0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x60 - mov r1, #0x45 - add r4, r0, #0 - lsl r1, r1, #2 - ldr r0, [r4, r1] - sub r0, #0xf - cmp r0, #4 - bls _0222D7F4 - b _0222D994 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x60 + mov r1, #0x45 + add r4, r0, #0 + lsl r1, r1, #2 + ldr r0, [r4, r1] + sub r0, #0xf + cmp r0, #4 + bls _0222D7F4 + b _0222D994 _0222D7F4: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0222D800: ; jump table - .short _0222D80A - _0222D800 - 2 ; case 0 - .short _0222D832 - _0222D800 - 2 ; case 1 - .short _0222D85E - _0222D800 - 2 ; case 2 - .short _0222D932 - _0222D800 - 2 ; case 3 - .short _0222D974 - _0222D800 - 2 ; case 4 + .short _0222D80A - _0222D800 - 2 ; case 0 + .short _0222D832 - _0222D800 - 2 ; case 1 + .short _0222D85E - _0222D800 - 2 ; case 2 + .short _0222D932 - _0222D800 - 2 ; case 3 + .short _0222D974 - _0222D800 - 2 ; case 4 _0222D80A: - add r0, r1, #4 - ldr r0, [r4, r0] - cmp r0, #0 - bne _0222D818 - add sp, #0x60 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} + add r0, r1, #4 + ldr r0, [r4, r0] + cmp r0, #0 + bne _0222D818 + add sp, #0x60 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} _0222D818: - add r0, r1, #4 - ldr r0, [r4, r0] - sub r2, r0, #1 - add r0, r1, #4 - str r2, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _0222D82C - mov r0, #0x10 - str r0, [r4, r1] + add r0, r1, #4 + ldr r0, [r4, r0] + sub r2, r0, #1 + add r0, r1, #4 + str r2, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _0222D82C + mov r0, #0x10 + str r0, [r4, r1] _0222D82C: - add sp, #0x60 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + add sp, #0x60 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _0222D832: - mov r0, #0 - str r0, [sp] - mov r0, #0x51 - str r0, [sp, #4] - mov r1, #1 - ldr r0, [r4] - add r2, r1, #0 - mov r3, #2 - bl FUN_0200CB00 - ldr r0, [r4] - mov r1, #1 - bl BgClearTilemapBufferAndCommit - ldr r1, _0222D99C ; =0x00006B5A - ldr r0, _0222D9A0 ; =0x05000042 - strh r1, [r0] - mov r0, #0x45 - mov r1, #0x11 - lsl r0, r0, #2 - str r1, [r4, r0] - b _0222D994 + mov r0, #0 + str r0, [sp] + mov r0, #0x51 + str r0, [sp, #4] + mov r1, #1 + ldr r0, [r4] + add r2, r1, #0 + mov r3, #2 + bl FUN_0200CB00 + ldr r0, [r4] + mov r1, #1 + bl BgClearTilemapBufferAndCommit + ldr r1, _0222D99C ; =0x00006B5A + ldr r0, _0222D9A0 ; =0x05000042 + strh r1, [r0] + mov r0, #0x45 + mov r1, #0x11 + lsl r0, r0, #2 + str r1, [r4, r0] + b _0222D994 _0222D85E: - mov r0, #1 - str r0, [sp] - mov r0, #2 - add r1, #0x10 - str r0, [sp, #4] - add r0, sp, #0xc - add r1, r4, r1 - mov r2, #0 - mov r3, #0xc - bl MOD83_022388E4 - ldr r0, [r4, #0x44] - ldr r1, [r4, #0x40] - mvn r0, r0 - and r0, r1 - mov r1, #1 - add r2, r0, #0 - tst r2, r1 - beq _0222D892 - ldr r2, [r4, #0x38] - tst r1, r2 - beq _0222D88E - ldr r5, _0222D9A4 ; =MOD83_0223A7F0 - b _0222D8B2 + mov r0, #1 + str r0, [sp] + mov r0, #2 + add r1, #0x10 + str r0, [sp, #4] + add r0, sp, #0xc + add r1, r4, r1 + mov r2, #0 + mov r3, #0xc + bl MOD83_022388E4 + ldr r0, [r4, #0x44] + ldr r1, [r4, #0x40] + mvn r0, r0 + and r0, r1 + mov r1, #1 + add r2, r0, #0 + tst r2, r1 + beq _0222D892 + ldr r2, [r4, #0x38] + tst r1, r2 + beq _0222D88E + ldr r5, _0222D9A4 ; =MOD83_0223A7F0 + b _0222D8B2 _0222D88E: - ldr r5, _0222D9A8 ; =MOD83_0223A804 - b _0222D8B2 + ldr r5, _0222D9A8 ; =MOD83_0223A804 + b _0222D8B2 _0222D892: - mov r1, #2 - add r2, r0, #0 - tst r2, r1 - beq _0222D8A8 - ldr r2, [r4, #0x38] - tst r1, r2 - beq _0222D8A4 - ldr r5, _0222D9AC ; =MOD83_0223A818 - b _0222D8B2 + mov r1, #2 + add r2, r0, #0 + tst r2, r1 + beq _0222D8A8 + ldr r2, [r4, #0x38] + tst r1, r2 + beq _0222D8A4 + ldr r5, _0222D9AC ; =MOD83_0223A818 + b _0222D8B2 _0222D8A4: - ldr r5, _0222D9B0 ; =MOD83_0223A82C - b _0222D8B2 + ldr r5, _0222D9B0 ; =MOD83_0223A82C + b _0222D8B2 _0222D8A8: - mov r1, #0x80 - tst r1, r0 - beq _0222D8B2 - ldr r5, _0222D9B4 ; =MOD83_0223A840 - mov r0, #0 + mov r1, #0x80 + tst r1, r0 + beq _0222D8B2 + ldr r5, _0222D9B4 ; =MOD83_0223A840 + mov r0, #0 _0222D8B2: - ldr r1, [r4, #0x44] - mov r3, #0x13 - orr r0, r1 - str r0, [r4, #0x44] - ldr r1, [r5, #8] - ldr r2, [r5, #0xc] - add r0, sp, #0xc - bl MOD83_02238934 - mov r0, #1 - str r0, [sp, #0x38] - ldr r0, [r5, #0x10] - add r1, sp, #0xc - str r0, [sp] - ldr r0, [r4] - ldr r2, [r5] - ldr r3, [r5, #4] - bl MOD83_02238A38 - ldr r0, [sp, #0x1c] - bl GetWindowX - add r6, r0, #0 - ldr r0, [sp, #0x1c] - bl GetWindowY - add r7, r0, #0 - ldr r0, [sp, #0x1c] - bl GetWindowWidth - add r5, r0, #0 - ldr r0, [sp, #0x1c] - bl GetWindowHeight - str r5, [sp] - str r0, [sp, #4] - mov r0, #0 - str r0, [sp, #8] - ldr r0, [r4] - mov r1, #1 - add r2, r6, #0 - add r3, r7, #0 - bl BgTilemapRectChangePalette - mov r0, #1 - mov r1, #0 - bl GX_EngineAToggleLayers - mov r0, #4 - mov r1, #0 - bl GX_EngineAToggleLayers - mov r0, #2 - mov r1, #1 - bl GX_EngineAToggleLayers - mov r1, #0x1e - add r0, r1, #0 - add r0, #0xfe - str r1, [r4, r0] - mov r0, #0x12 - add r1, #0xf6 - str r0, [r4, r1] - b _0222D994 + ldr r1, [r4, #0x44] + mov r3, #0x13 + orr r0, r1 + str r0, [r4, #0x44] + ldr r1, [r5, #8] + ldr r2, [r5, #0xc] + add r0, sp, #0xc + bl MOD83_02238934 + mov r0, #1 + str r0, [sp, #0x38] + ldr r0, [r5, #0x10] + add r1, sp, #0xc + str r0, [sp] + ldr r0, [r4] + ldr r2, [r5] + ldr r3, [r5, #4] + bl MOD83_02238A38 + ldr r0, [sp, #0x1c] + bl GetWindowX + add r6, r0, #0 + ldr r0, [sp, #0x1c] + bl GetWindowY + add r7, r0, #0 + ldr r0, [sp, #0x1c] + bl GetWindowWidth + add r5, r0, #0 + ldr r0, [sp, #0x1c] + bl GetWindowHeight + str r5, [sp] + str r0, [sp, #4] + mov r0, #0 + str r0, [sp, #8] + ldr r0, [r4] + mov r1, #1 + add r2, r6, #0 + add r3, r7, #0 + bl BgTilemapRectChangePalette + mov r0, #1 + mov r1, #0 + bl GX_EngineAToggleLayers + mov r0, #4 + mov r1, #0 + bl GX_EngineAToggleLayers + mov r0, #2 + mov r1, #1 + bl GX_EngineAToggleLayers + mov r1, #0x1e + add r0, r1, #0 + add r0, #0xfe + str r1, [r4, r0] + mov r0, #0x12 + add r1, #0xf6 + str r0, [r4, r1] + b _0222D994 _0222D932: - add r0, r1, #0 - add r0, #8 - ldr r0, [r4, r0] - cmp r0, #0 - beq _0222D94A - add r0, r1, #0 - add r0, #8 - ldr r0, [r4, r0] - add r1, #8 - sub r0, r0, #1 - str r0, [r4, r1] - b _0222D994 + add r0, r1, #0 + add r0, #8 + ldr r0, [r4, r0] + cmp r0, #0 + beq _0222D94A + add r0, r1, #0 + add r0, #8 + ldr r0, [r4, r0] + add r1, #8 + sub r0, r0, #1 + str r0, [r4, r1] + b _0222D994 _0222D94A: - ldr r0, _0222D9B8 ; =gMain - ldr r2, [r0, #0x48] - mov r0, #3 - tst r0, r2 - beq _0222D994 - add r1, #0x10 - add r0, r4, r1 - bl RemoveWindow - mov r0, #0x45 - mov r1, #0x13 - lsl r0, r0, #2 - str r1, [r4, r0] - ldr r1, _0222D9B8 ; =gMain - add r0, #0xc - ldr r1, [r1, #0x48] - str r1, [r4, r0] - ldr r0, _0222D9BC ; =0x000005DC - bl PlaySE - b _0222D994 + ldr r0, _0222D9B8 ; =gMain + ldr r2, [r0, #0x48] + mov r0, #3 + tst r0, r2 + beq _0222D994 + add r1, #0x10 + add r0, r4, r1 + bl RemoveWindow + mov r0, #0x45 + mov r1, #0x13 + lsl r0, r0, #2 + str r1, [r4, r0] + ldr r1, _0222D9B8 ; =gMain + add r0, #0xc + ldr r1, [r1, #0x48] + str r1, [r4, r0] + ldr r0, _0222D9BC ; =0x000005DC + bl PlaySE + b _0222D994 _0222D974: - mov r0, #1 - add r1, r0, #0 - bl GX_EngineAToggleLayers - mov r0, #4 - mov r1, #1 - bl GX_EngineAToggleLayers - mov r0, #2 - mov r1, #0 - bl GX_EngineAToggleLayers - mov r0, #0x45 - mov r1, #0xf - lsl r0, r0, #2 - str r1, [r4, r0] + mov r0, #1 + add r1, r0, #0 + bl GX_EngineAToggleLayers + mov r0, #4 + mov r1, #1 + bl GX_EngineAToggleLayers + mov r0, #2 + mov r1, #0 + bl GX_EngineAToggleLayers + mov r0, #0x45 + mov r1, #0xf + lsl r0, r0, #2 + str r1, [r4, r0] _0222D994: - mov r0, #1 - add sp, #0x60 - pop {r3, r4, r5, r6, r7, pc} - nop + mov r0, #1 + add sp, #0x60 + pop {r3, r4, r5, r6, r7, pc} + nop _0222D99C: .word 0x00006B5A _0222D9A0: .word 0x05000042 _0222D9A4: .word MOD83_0223A7F0 @@ -525,202 +525,202 @@ _0222D9B0: .word MOD83_0223A82C _0222D9B4: .word MOD83_0223A840 _0222D9B8: .word gMain _0222D9BC: .word 0x000005DC - thumb_func_end MOD83_0222D7E0 + thumb_func_end MOD83_0222D7E0 - thumb_func_start MOD83_0222D9C0 + thumb_func_start MOD83_0222D9C0 MOD83_0222D9C0: ; 0x0222D9C0 - push {r3, r4, r5, lr} - add r4, r0, #0 - mov r0, #0x42 - lsl r0, r0, #2 - ldr r1, [r4, r0] - sub r0, r0, #4 - ldr r0, [r4, r0] - cmp r0, r1 - beq _0222DA48 - sub r1, r1, r0 - asr r0, r1, #1 - lsr r0, r0, #0x1e - add r0, r1, r0 - asr r0, r0, #2 - asr r2, r0, #0x1f - add r1, r0, #0 - eor r1, r2 - sub r2, r1, r2 - mov r1, #3 - lsl r1, r1, #0xe - cmp r2, r1 - ble _0222D9F6 - cmp r0, #0 - ble _0222D9F4 - add r0, r1, #0 - b _0222D9F6 + push {r3, r4, r5, lr} + add r4, r0, #0 + mov r0, #0x42 + lsl r0, r0, #2 + ldr r1, [r4, r0] + sub r0, r0, #4 + ldr r0, [r4, r0] + cmp r0, r1 + beq _0222DA48 + sub r1, r1, r0 + asr r0, r1, #1 + lsr r0, r0, #0x1e + add r0, r1, r0 + asr r0, r0, #2 + asr r2, r0, #0x1f + add r1, r0, #0 + eor r1, r2 + sub r2, r1, r2 + mov r1, #3 + lsl r1, r1, #0xe + cmp r2, r1 + ble _0222D9F6 + cmp r0, #0 + ble _0222D9F4 + add r0, r1, #0 + b _0222D9F6 _0222D9F4: - ldr r0, _0222DA4C ; =0xFFFF4000 + ldr r0, _0222DA4C ; =0xFFFF4000 _0222D9F6: - mov r1, #0x41 - lsl r1, r1, #2 - ldr r2, [r4, r1] - add r0, r2, r0 - str r0, [r4, r1] - add r0, r1, #4 - ldr r0, [r4, r0] - ldr r2, [r4, r1] - sub r2, r0, r2 - asr r3, r2, #0x1f - eor r2, r3 - sub r3, r2, r3 - add r2, r1, #0 - add r2, #0xfc - cmp r3, r2 - bge _0222DA18 - str r0, [r4, r1] + mov r1, #0x41 + lsl r1, r1, #2 + ldr r2, [r4, r1] + add r0, r2, r0 + str r0, [r4, r1] + add r0, r1, #4 + ldr r0, [r4, r0] + ldr r2, [r4, r1] + sub r2, r0, r2 + asr r3, r2, #0x1f + eor r2, r3 + sub r3, r2, r3 + add r2, r1, #0 + add r2, #0xfc + cmp r3, r2 + bge _0222DA18 + str r0, [r4, r1] _0222DA18: - mov r3, #0x41 - lsl r3, r3, #2 - ldr r5, [r4, r3] - ldr r0, [r4] - asr r3, r5, #0xb - lsr r3, r3, #0x14 - add r3, r5, r3 - mov r1, #0 - mov r2, #3 - asr r3, r3, #0xc - bl ScheduleSetBgPosText - mov r3, #0x41 - lsl r3, r3, #2 - ldr r0, [r4] - ldr r4, [r4, r3] - mov r1, #2 - asr r3, r4, #0xb - lsr r3, r3, #0x14 - add r3, r4, r3 - mov r2, #3 - asr r3, r3, #0xc - bl ScheduleSetBgPosText + mov r3, #0x41 + lsl r3, r3, #2 + ldr r5, [r4, r3] + ldr r0, [r4] + asr r3, r5, #0xb + lsr r3, r3, #0x14 + add r3, r5, r3 + mov r1, #0 + mov r2, #3 + asr r3, r3, #0xc + bl ScheduleSetBgPosText + mov r3, #0x41 + lsl r3, r3, #2 + ldr r0, [r4] + ldr r4, [r4, r3] + mov r1, #2 + asr r3, r4, #0xb + lsr r3, r3, #0x14 + add r3, r4, r3 + mov r2, #3 + asr r3, r3, #0xc + bl ScheduleSetBgPosText _0222DA48: - pop {r3, r4, r5, pc} - nop + pop {r3, r4, r5, pc} + nop _0222DA4C: .word 0xFFFF4000 - thumb_func_end MOD83_0222D9C0 + thumb_func_end MOD83_0222D9C0 - thumb_func_start MOD83_0222DA50 + thumb_func_start MOD83_0222DA50 MOD83_0222DA50: ; 0x0222DA50 - push {r3, r4, r5, lr} - sub sp, #0x40 - ldr r5, _0222DB4C ; =MOD83_0223A380 - add r4, r0, #0 - add r3, sp, #0x18 - mov r2, #5 + push {r3, r4, r5, lr} + sub sp, #0x40 + ldr r5, _0222DB4C ; =MOD83_0223A380 + add r4, r0, #0 + add r3, sp, #0x18 + mov r2, #5 _0222DA5C: - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0222DA5C - ldr r3, _0222DB50 ; =MOD83_0223A370 - add r2, sp, #8 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - add r0, sp, #0x18 - bl GX_SetBanks - add r0, sp, #8 - bl SetBothScreensModesAndDisable - mov r1, #0 - str r1, [sp] - mov r3, #0xf - ldr r0, [r4] - mov r2, #2 - lsl r3, r3, #0xc - bl MOD83_022387D8 - ldr r1, _0222DB54 ; =0x04000008 - mov r0, #3 - ldrh r2, [r1] - mov r3, #0x51 - bic r2, r0 - mov r0, #2 - orr r0, r2 - strh r0, [r1] - mov r0, #0 - mov r1, #0x20 - add r2, r0, #0 - bl BG_ClearCharDataRange - mov r0, #2 - lsl r0, r0, #0xe - str r0, [sp] - mov r1, #1 - mov r3, #0x36 - ldr r0, [r4] - add r2, r1, #0 - lsl r3, r3, #0xa - bl MOD83_022387D8 - ldr r1, _0222DB58 ; =0x0400000A - mov r0, #3 - ldrh r2, [r1] - mov r3, #0x51 - bic r2, r0 - mov r0, #1 - orr r2, r0 - strh r2, [r1] - mov r1, #0x20 - mov r2, #0 - bl BG_ClearCharDataRange - mov r0, #0 - str r0, [sp] - mov r1, #2 - mov r3, #0xe - ldr r0, [r4] - add r2, r1, #0 - lsl r3, r3, #0xc - bl MOD83_022387D8 - ldr r1, _0222DB5C ; =0x0400000C - mov r0, #3 - ldrh r2, [r1] - mov r3, #0x51 - bic r2, r0 - strh r2, [r1] - mov r0, #2 - mov r1, #0x20 - mov r2, #0 - bl BG_ClearCharDataRange - bl FUN_0201BD5C - mov r0, #0 - mov r1, #0x20 - mov r2, #0x51 - bl FUN_02002ED0 - mov r0, #0 - add r1, r0, #0 - mov r2, #0x51 - bl FUN_02002ED0 - mov r2, #5 - mov r1, #0 - lsl r2, r2, #0x18 - ldr r0, _0222DB60 ; =0x00006B5A - strh r1, [r2] - strh r0, [r2, #0x3e] - str r1, [sp] - mov r0, #0x51 - str r0, [sp, #4] - ldr r0, [r4] - mov r2, #1 - mov r3, #2 - bl FUN_0200CB00 - mov r0, #1 - str r0, [sp] - mov r0, #0x51 - str r0, [sp, #4] - ldr r0, [r4] - mov r1, #0 - mov r2, #0xa - mov r3, #3 - bl FUN_0200CB00 - ldr r1, _0222DB60 ; =0x00006B5A - ldr r0, _0222DB64 ; =0x05000042 - strh r1, [r0] - add sp, #0x40 - pop {r3, r4, r5, pc} - .align 2, 0 + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0222DA5C + ldr r3, _0222DB50 ; =MOD83_0223A370 + add r2, sp, #8 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + add r0, sp, #0x18 + bl GX_SetBanks + add r0, sp, #8 + bl SetBothScreensModesAndDisable + mov r1, #0 + str r1, [sp] + mov r3, #0xf + ldr r0, [r4] + mov r2, #2 + lsl r3, r3, #0xc + bl MOD83_022387D8 + ldr r1, _0222DB54 ; =0x04000008 + mov r0, #3 + ldrh r2, [r1] + mov r3, #0x51 + bic r2, r0 + mov r0, #2 + orr r0, r2 + strh r0, [r1] + mov r0, #0 + mov r1, #0x20 + add r2, r0, #0 + bl BG_ClearCharDataRange + mov r0, #2 + lsl r0, r0, #0xe + str r0, [sp] + mov r1, #1 + mov r3, #0x36 + ldr r0, [r4] + add r2, r1, #0 + lsl r3, r3, #0xa + bl MOD83_022387D8 + ldr r1, _0222DB58 ; =0x0400000A + mov r0, #3 + ldrh r2, [r1] + mov r3, #0x51 + bic r2, r0 + mov r0, #1 + orr r2, r0 + strh r2, [r1] + mov r1, #0x20 + mov r2, #0 + bl BG_ClearCharDataRange + mov r0, #0 + str r0, [sp] + mov r1, #2 + mov r3, #0xe + ldr r0, [r4] + add r2, r1, #0 + lsl r3, r3, #0xc + bl MOD83_022387D8 + ldr r1, _0222DB5C ; =0x0400000C + mov r0, #3 + ldrh r2, [r1] + mov r3, #0x51 + bic r2, r0 + strh r2, [r1] + mov r0, #2 + mov r1, #0x20 + mov r2, #0 + bl BG_ClearCharDataRange + bl FUN_0201BD5C + mov r0, #0 + mov r1, #0x20 + mov r2, #0x51 + bl FUN_02002ED0 + mov r0, #0 + add r1, r0, #0 + mov r2, #0x51 + bl FUN_02002ED0 + mov r2, #5 + mov r1, #0 + lsl r2, r2, #0x18 + ldr r0, _0222DB60 ; =0x00006B5A + strh r1, [r2] + strh r0, [r2, #0x3e] + str r1, [sp] + mov r0, #0x51 + str r0, [sp, #4] + ldr r0, [r4] + mov r2, #1 + mov r3, #2 + bl FUN_0200CB00 + mov r0, #1 + str r0, [sp] + mov r0, #0x51 + str r0, [sp, #4] + ldr r0, [r4] + mov r1, #0 + mov r2, #0xa + mov r3, #3 + bl FUN_0200CB00 + ldr r1, _0222DB60 ; =0x00006B5A + ldr r0, _0222DB64 ; =0x05000042 + strh r1, [r0] + add sp, #0x40 + pop {r3, r4, r5, pc} + .align 2, 0 _0222DB4C: .word MOD83_0223A380 _0222DB50: .word MOD83_0223A370 _0222DB54: .word 0x04000008 @@ -728,1628 +728,1628 @@ _0222DB58: .word 0x0400000A _0222DB5C: .word 0x0400000C _0222DB60: .word 0x00006B5A _0222DB64: .word 0x05000042 - thumb_func_end MOD83_0222DA50 + thumb_func_end MOD83_0222DA50 - thumb_func_start MOD83_0222DB68 + thumb_func_start MOD83_0222DB68 MOD83_0222DB68: ; 0x0222DB68 - push {r4, lr} - sub sp, #8 - add r4, r0, #0 - bl MOD83_02238AFC - bl MOD83_02238B4C - mov r0, #0x25 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0x27 - mov r2, #0x24 - mov r3, #0x26 - bl MOD83_02238BC4 - mov r0, #0 - mov r1, #0x15 - str r0, [sp] - lsl r1, r1, #4 - ldr r1, [r4, r1] - mov r2, #0x80 - mov r3, #8 - bl MOD83_02238DBC - mov r1, #0x15 - lsl r1, r1, #4 - str r0, [r4, r1] - ldr r0, [r4, r1] - mov r1, #0 - bl FUN_020200A0 - mov r0, #1 - mov r1, #0x55 - str r0, [sp] - lsl r1, r1, #2 - ldr r1, [r4, r1] - mov r0, #0 - mov r2, #0x80 - mov r3, #0xb8 - bl MOD83_02238DBC - mov r1, #0x55 - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r0, [r4, r1] - mov r1, #0 - bl FUN_020200A0 - add sp, #8 - pop {r4, pc} - thumb_func_end MOD83_0222DB68 - - thumb_func_start MOD83_0222DBD0 + push {r4, lr} + sub sp, #8 + add r4, r0, #0 + bl MOD83_02238AFC + bl MOD83_02238B4C + mov r0, #0x25 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0x27 + mov r2, #0x24 + mov r3, #0x26 + bl MOD83_02238BC4 + mov r0, #0 + mov r1, #0x15 + str r0, [sp] + lsl r1, r1, #4 + ldr r1, [r4, r1] + mov r2, #0x80 + mov r3, #8 + bl MOD83_02238DBC + mov r1, #0x15 + lsl r1, r1, #4 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #0 + bl FUN_020200A0 + mov r0, #1 + mov r1, #0x55 + str r0, [sp] + lsl r1, r1, #2 + ldr r1, [r4, r1] + mov r0, #0 + mov r2, #0x80 + mov r3, #0xb8 + bl MOD83_02238DBC + mov r1, #0x55 + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #0 + bl FUN_020200A0 + add sp, #8 + pop {r4, pc} + thumb_func_end MOD83_0222DB68 + + thumb_func_start MOD83_0222DBD0 MOD83_0222DBD0: ; 0x0222DBD0 - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - mov r0, #0x20 - str r0, [sp] - mov r0, #0x51 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0x29 - mov r2, #0 - mov r3, #0x80 - bl GfGfxLoader_GXLoadPal - mov r0, #0xe - lsl r0, r0, #6 - str r0, [sp] - mov r0, #2 - lsl r0, r0, #0xa - str r0, [sp, #4] - mov r0, #0 - str r0, [sp, #8] - mov r0, #0x51 - str r0, [sp, #0xc] - ldr r2, [r4] - mov r0, #0x74 - mov r1, #0x28 - mov r3, #2 - bl GfGfxLoader_LoadCharData - add sp, #0x10 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_0222DBD0 - - thumb_func_start MOD83_0222DC10 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + mov r0, #0x20 + str r0, [sp] + mov r0, #0x51 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0x29 + mov r2, #0 + mov r3, #0x80 + bl GfGfxLoader_GXLoadPal + mov r0, #0xe + lsl r0, r0, #6 + str r0, [sp] + mov r0, #2 + lsl r0, r0, #0xa + str r0, [sp, #4] + mov r0, #0 + str r0, [sp, #8] + mov r0, #0x51 + str r0, [sp, #0xc] + ldr r2, [r4] + mov r0, #0x74 + mov r1, #0x28 + mov r3, #2 + bl GfGfxLoader_LoadCharData + add sp, #0x10 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_0222DBD0 + + thumb_func_start MOD83_0222DC10 MOD83_0222DC10: ; 0x0222DC10 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - mov r1, #2 - add r6, r2, #0 - add r7, r3, #0 - bl GetBgTilemapBuffer - ldr r1, _0222DC5C ; =0x00004380 - cmp r7, #2 - bne _0222DC2A - add r1, r1, #2 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + mov r1, #2 + add r6, r2, #0 + add r7, r3, #0 + bl GetBgTilemapBuffer + ldr r1, _0222DC5C ; =0x00004380 + cmp r7, #2 + bne _0222DC2A + add r1, r1, #2 _0222DC2A: - lsl r2, r6, #5 - add r3, r4, r2 - lsl r2, r3, #1 - add r3, r3, #1 - strh r1, [r0, r2] - add r2, r1, #1 - lsl r3, r3, #1 - strh r2, [r0, r3] - add r3, r1, #0 - add r2, r6, #1 - lsl r2, r2, #5 - add r4, r4, r2 - add r3, #8 - lsl r2, r4, #1 - strh r3, [r0, r2] - add r2, r4, #1 - add r1, #9 - lsl r2, r2, #1 - strh r1, [r0, r2] - ldr r0, [r5] - mov r1, #2 - bl BgCommitTilemapBufferToVram - pop {r3, r4, r5, r6, r7, pc} - nop + lsl r2, r6, #5 + add r3, r4, r2 + lsl r2, r3, #1 + add r3, r3, #1 + strh r1, [r0, r2] + add r2, r1, #1 + lsl r3, r3, #1 + strh r2, [r0, r3] + add r3, r1, #0 + add r2, r6, #1 + lsl r2, r2, #5 + add r4, r4, r2 + add r3, #8 + lsl r2, r4, #1 + strh r3, [r0, r2] + add r2, r4, #1 + add r1, #9 + lsl r2, r2, #1 + strh r1, [r0, r2] + ldr r0, [r5] + mov r1, #2 + bl BgCommitTilemapBufferToVram + pop {r3, r4, r5, r6, r7, pc} + nop _0222DC5C: .word 0x00004380 - thumb_func_end MOD83_0222DC10 + thumb_func_end MOD83_0222DC10 - thumb_func_start MOD83_0222DC60 + thumb_func_start MOD83_0222DC60 MOD83_0222DC60: ; 0x0222DC60 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - add r6, r2, #0 - mov r1, #2 - bl GetBgTilemapBuffer - lsl r1, r6, #5 - add r3, r4, r1 - ldr r1, _0222DC9C ; =0x00004384 - lsl r2, r3, #1 - strh r1, [r0, r2] - add r2, r3, #1 - lsl r2, r2, #1 - strh r1, [r0, r2] - add r2, r6, #1 - lsl r2, r2, #5 - add r3, r4, r2 - lsl r2, r3, #1 - strh r1, [r0, r2] - add r2, r3, #1 - lsl r2, r2, #1 - strh r1, [r0, r2] - ldr r0, [r5] - mov r1, #2 - bl BgCommitTilemapBufferToVram - pop {r4, r5, r6, pc} - nop + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + add r6, r2, #0 + mov r1, #2 + bl GetBgTilemapBuffer + lsl r1, r6, #5 + add r3, r4, r1 + ldr r1, _0222DC9C ; =0x00004384 + lsl r2, r3, #1 + strh r1, [r0, r2] + add r2, r3, #1 + lsl r2, r2, #1 + strh r1, [r0, r2] + add r2, r6, #1 + lsl r2, r2, #5 + add r3, r4, r2 + lsl r2, r3, #1 + strh r1, [r0, r2] + add r2, r3, #1 + lsl r2, r2, #1 + strh r1, [r0, r2] + ldr r0, [r5] + mov r1, #2 + bl BgCommitTilemapBufferToVram + pop {r4, r5, r6, pc} + nop _0222DC9C: .word 0x00004384 - thumb_func_end MOD83_0222DC60 + thumb_func_end MOD83_0222DC60 - thumb_func_start MOD83_0222DCA0 + thumb_func_start MOD83_0222DCA0 MOD83_0222DCA0: ; 0x0222DCA0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r6, r0, #0 - add r0, r2, #0 - add r7, r3, #0 - ldr r2, [sp, #0x28] - mov r3, #0x51 - bl ReadMsgData_ExpandPlaceholders - add r5, r0, #0 - mov r0, #0 - mov r1, #2 - bl GetFontAttribute - add r2, r0, #0 - mov r0, #0 - add r1, r5, #0 - bl FUN_02002E14 - add r4, r0, #0 - add r0, r6, #0 - bl GetWindowWidth - lsl r0, r0, #3 - add r4, #0x20 - sub r3, r0, r4 - ldr r0, [sp, #0x2c] - mov r1, #0 - str r0, [sp] - mov r0, #0xff - str r0, [sp, #4] - str r7, [sp, #8] - add r0, r6, #0 - add r2, r5, #0 - str r1, [sp, #0xc] - bl AddTextPrinterParameterized2 - add r0, r5, #0 - bl String_dtor - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_0222DCA0 - - thumb_func_start MOD83_0222DCF4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r6, r0, #0 + add r0, r2, #0 + add r7, r3, #0 + ldr r2, [sp, #0x28] + mov r3, #0x51 + bl ReadMsgData_ExpandPlaceholders + add r5, r0, #0 + mov r0, #0 + mov r1, #2 + bl GetFontAttribute + add r2, r0, #0 + mov r0, #0 + add r1, r5, #0 + bl FUN_02002E14 + add r4, r0, #0 + add r0, r6, #0 + bl GetWindowWidth + lsl r0, r0, #3 + add r4, #0x20 + sub r3, r0, r4 + ldr r0, [sp, #0x2c] + mov r1, #0 + str r0, [sp] + mov r0, #0xff + str r0, [sp, #4] + str r7, [sp, #8] + add r0, r6, #0 + add r2, r5, #0 + str r1, [sp, #0xc] + bl AddTextPrinterParameterized2 + add r0, r5, #0 + bl String_dtor + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_0222DCA0 + + thumb_func_start MOD83_0222DCF4 MOD83_0222DCF4: ; 0x0222DCF4 - push {r3, lr} - sub sp, #8 - add r2, r1, #0 - cmp r2, #0x64 - blt _0222DD04 - mov r3, #3 - mov r1, #0 - b _0222DD12 + push {r3, lr} + sub sp, #8 + add r2, r1, #0 + cmp r2, #0x64 + blt _0222DD04 + mov r3, #3 + mov r1, #0 + b _0222DD12 _0222DD04: - cmp r2, #0xa - blt _0222DD0E - mov r3, #3 - mov r1, #1 - b _0222DD12 + cmp r2, #0xa + blt _0222DD0E + mov r3, #3 + mov r1, #1 + b _0222DD12 _0222DD0E: - mov r3, #2 - mov r1, #1 + mov r3, #2 + mov r1, #1 _0222DD12: - str r1, [sp] - mov r1, #1 - str r1, [sp, #4] - mov r1, #0 - bl BufferIntegerAsString - add sp, #8 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_0222DCF4 - - thumb_func_start MOD83_0222DD24 + str r1, [sp] + mov r1, #1 + str r1, [sp, #4] + mov r1, #0 + bl BufferIntegerAsString + add sp, #8 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_0222DCF4 + + thumb_func_start MOD83_0222DD24 MOD83_0222DD24: ; 0x0222DD24 - push {r4, r5, r6, r7, lr} - sub sp, #0x2c - str r2, [sp, #0x18] - str r0, [sp, #0x10] - str r1, [sp, #0x14] - add r4, r3, #0 - ldr r2, _0222DEB4 ; =0x000001EE - mov r0, #1 - mov r1, #0x1a - mov r3, #0x51 - bl NewMsgDataFromNarc - str r0, [sp, #0x24] - mov r0, #0x51 - bl ScrStrBufs_new - str r0, [sp, #0x28] - ldr r0, [sp, #0x10] - ldr r0, [r0, #0xc] - bl PlayerProfile_GetTrainerGender - cmp r0, #1 - bne _0222DD58 - ldr r0, _0222DEB8 ; =0x0003040F - str r0, [sp, #0x1c] - b _0222DD5C + push {r4, r5, r6, r7, lr} + sub sp, #0x2c + str r2, [sp, #0x18] + str r0, [sp, #0x10] + str r1, [sp, #0x14] + add r4, r3, #0 + ldr r2, _0222DEB4 ; =0x000001EE + mov r0, #1 + mov r1, #0x1a + mov r3, #0x51 + bl NewMsgDataFromNarc + str r0, [sp, #0x24] + mov r0, #0x51 + bl ScrStrBufs_new + str r0, [sp, #0x28] + ldr r0, [sp, #0x10] + ldr r0, [r0, #0xc] + bl PlayerProfile_GetTrainerGender + cmp r0, #1 + bne _0222DD58 + ldr r0, _0222DEB8 ; =0x0003040F + str r0, [sp, #0x1c] + b _0222DD5C _0222DD58: - ldr r0, _0222DEBC ; =0x0007080F - str r0, [sp, #0x1c] + ldr r0, _0222DEBC ; =0x0007080F + str r0, [sp, #0x1c] _0222DD5C: - ldr r0, [sp, #0x14] - ldr r1, _0222DEC0 ; =MOD83_0223A85C - lsl r0, r0, #4 - str r0, [sp, #0x20] - ldr r0, [r1, r0] - ldr r1, [sp, #0x18] - str r0, [sp] - ldr r0, [sp, #0x10] - mov r2, #3 - ldr r0, [r0] - add r3, r4, #0 - bl MOD83_02238A38 - ldr r4, _0222DEC4 ; =MOD83_0223A784 - mov r6, #1 - mov r5, #0x10 + ldr r0, [sp, #0x14] + ldr r1, _0222DEC0 ; =MOD83_0223A85C + lsl r0, r0, #4 + str r0, [sp, #0x20] + ldr r0, [r1, r0] + ldr r1, [sp, #0x18] + str r0, [sp] + ldr r0, [sp, #0x10] + mov r2, #3 + ldr r0, [r0] + add r3, r4, #0 + bl MOD83_02238A38 + ldr r4, _0222DEC4 ; =MOD83_0223A784 + mov r6, #1 + mov r5, #0x10 _0222DD7C: - cmp r6, #4 - bne _0222DD88 - ldr r0, [sp, #0x10] - ldr r0, [r0, #0x4c] - cmp r0, #0 - beq _0222DDB8 + cmp r6, #4 + bne _0222DD88 + ldr r0, [sp, #0x10] + ldr r0, [r0, #0x4c] + cmp r0, #0 + beq _0222DDB8 _0222DD88: - ldr r0, [sp, #0x28] - ldr r1, [sp, #0x24] - ldr r2, [r4] - mov r3, #0x51 - bl ReadMsgData_ExpandPlaceholders - add r7, r0, #0 - str r5, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, [sp, #0x1c] - mov r1, #0 - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [sp, #0x18] - add r2, r7, #0 - ldr r0, [r0, #0x10] - mov r3, #0x20 - bl AddTextPrinterParameterized2 - add r0, r7, #0 - bl String_dtor + ldr r0, [sp, #0x28] + ldr r1, [sp, #0x24] + ldr r2, [r4] + mov r3, #0x51 + bl ReadMsgData_ExpandPlaceholders + add r7, r0, #0 + str r5, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, [sp, #0x1c] + mov r1, #0 + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x18] + add r2, r7, #0 + ldr r0, [r0, #0x10] + mov r3, #0x20 + bl AddTextPrinterParameterized2 + add r0, r7, #0 + bl String_dtor _0222DDB8: - add r6, r6, #1 - add r4, r4, #4 - add r5, #0x10 - cmp r6, #5 - blo _0222DD7C - ldr r2, [sp, #0x10] - ldr r0, [sp, #0x28] - ldr r2, [r2, #0xc] - mov r1, #0 - bl BufferPlayersName - mov r0, #0x10 - str r0, [sp] - str r0, [sp, #4] - ldr r0, [sp, #0x18] - ldr r1, [sp, #0x24] - ldr r0, [r0, #0x10] - ldr r2, [sp, #0x28] - ldr r3, [sp, #0x1c] - bl MOD83_0222DCA0 - ldr r0, [sp, #0x10] - ldr r0, [r0, #0x10] - bl GetIGTHours - add r1, r0, #0 - ldr r0, [sp, #0x28] - bl MOD83_0222DCF4 - ldr r0, [sp, #0x10] - ldr r0, [r0, #0x10] - bl GetIGTMinutes - add r2, r0, #0 - mov r3, #2 - ldr r0, [sp, #0x28] - str r3, [sp] - mov r1, #1 - str r1, [sp, #4] - bl BufferIntegerAsString - mov r0, #0x11 - str r0, [sp] - mov r0, #0x20 - str r0, [sp, #4] - ldr r0, [sp, #0x18] - ldr r1, [sp, #0x24] - ldr r0, [r0, #0x10] - ldr r2, [sp, #0x28] - ldr r3, [sp, #0x1c] - bl MOD83_0222DCA0 - mov r1, #0 - str r1, [sp] - mov r3, #1 - ldr r2, [sp, #0x10] - str r3, [sp, #4] - ldr r0, [sp, #0x28] - ldr r2, [r2, #0x50] - bl BufferIntegerAsString - mov r0, #0x13 - str r0, [sp] - mov r0, #0x30 - str r0, [sp, #4] - ldr r0, [sp, #0x18] - ldr r1, [sp, #0x24] - ldr r0, [r0, #0x10] - ldr r2, [sp, #0x28] - ldr r3, [sp, #0x1c] - bl MOD83_0222DCA0 - ldr r0, [sp, #0x10] - ldr r0, [r0, #0x4c] - cmp r0, #0 - beq _0222DE76 - ldr r0, [sp, #0x10] - ldr r0, [r0, #8] - bl Pokedex_CountSeenMons - add r1, r0, #0 - ldr r0, [sp, #0x28] - bl MOD83_0222DCF4 - mov r0, #0x12 - str r0, [sp] - mov r0, #0x40 - str r0, [sp, #4] - ldr r0, [sp, #0x18] - ldr r1, [sp, #0x24] - ldr r0, [r0, #0x10] - ldr r2, [sp, #0x28] - ldr r3, [sp, #0x1c] - bl MOD83_0222DCA0 + add r6, r6, #1 + add r4, r4, #4 + add r5, #0x10 + cmp r6, #5 + blo _0222DD7C + ldr r2, [sp, #0x10] + ldr r0, [sp, #0x28] + ldr r2, [r2, #0xc] + mov r1, #0 + bl BufferPlayersName + mov r0, #0x10 + str r0, [sp] + str r0, [sp, #4] + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x24] + ldr r0, [r0, #0x10] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x1c] + bl MOD83_0222DCA0 + ldr r0, [sp, #0x10] + ldr r0, [r0, #0x10] + bl GetIGTHours + add r1, r0, #0 + ldr r0, [sp, #0x28] + bl MOD83_0222DCF4 + ldr r0, [sp, #0x10] + ldr r0, [r0, #0x10] + bl GetIGTMinutes + add r2, r0, #0 + mov r3, #2 + ldr r0, [sp, #0x28] + str r3, [sp] + mov r1, #1 + str r1, [sp, #4] + bl BufferIntegerAsString + mov r0, #0x11 + str r0, [sp] + mov r0, #0x20 + str r0, [sp, #4] + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x24] + ldr r0, [r0, #0x10] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x1c] + bl MOD83_0222DCA0 + mov r1, #0 + str r1, [sp] + mov r3, #1 + ldr r2, [sp, #0x10] + str r3, [sp, #4] + ldr r0, [sp, #0x28] + ldr r2, [r2, #0x50] + bl BufferIntegerAsString + mov r0, #0x13 + str r0, [sp] + mov r0, #0x30 + str r0, [sp, #4] + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x24] + ldr r0, [r0, #0x10] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x1c] + bl MOD83_0222DCA0 + ldr r0, [sp, #0x10] + ldr r0, [r0, #0x4c] + cmp r0, #0 + beq _0222DE76 + ldr r0, [sp, #0x10] + ldr r0, [r0, #8] + bl Pokedex_CountSeenMons + add r1, r0, #0 + ldr r0, [sp, #0x28] + bl MOD83_0222DCF4 + mov r0, #0x12 + str r0, [sp] + mov r0, #0x40 + str r0, [sp, #4] + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x24] + ldr r0, [r0, #0x10] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x1c] + bl MOD83_0222DCA0 _0222DE76: - ldr r2, [sp, #0x18] - ldr r3, [sp, #0x18] - ldr r0, [sp, #0x18] - ldr r2, [r2, #0x38] - ldr r3, [r3, #0x3c] - lsl r2, r2, #0x10 - lsl r3, r3, #0x18 - ldr r0, [r0, #0x10] - mov r1, #0 - lsr r2, r2, #0x10 - lsr r3, r3, #0x18 - bl FUN_0200CCA4 - ldr r1, _0222DEC8 ; =MOD83_0223A854 - ldr r0, [sp, #0x20] - ldr r2, [r1, r0] - ldr r0, [sp, #0x14] - lsl r1, r0, #2 - ldr r0, [sp, #0x10] - add r0, r0, r1 - add r0, #0xcc - str r2, [r0] - ldr r0, [sp, #0x28] - bl ScrStrBufs_delete - ldr r0, [sp, #0x24] - bl DestroyMsgData - mov r0, #1 - add sp, #0x2c - pop {r4, r5, r6, r7, pc} - .align 2, 0 + ldr r2, [sp, #0x18] + ldr r3, [sp, #0x18] + ldr r0, [sp, #0x18] + ldr r2, [r2, #0x38] + ldr r3, [r3, #0x3c] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [r0, #0x10] + mov r1, #0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl FUN_0200CCA4 + ldr r1, _0222DEC8 ; =MOD83_0223A854 + ldr r0, [sp, #0x20] + ldr r2, [r1, r0] + ldr r0, [sp, #0x14] + lsl r1, r0, #2 + ldr r0, [sp, #0x10] + add r0, r0, r1 + add r0, #0xcc + str r2, [r0] + ldr r0, [sp, #0x28] + bl ScrStrBufs_delete + ldr r0, [sp, #0x24] + bl DestroyMsgData + mov r0, #1 + add sp, #0x2c + pop {r4, r5, r6, r7, pc} + .align 2, 0 _0222DEB4: .word 0x000001EE _0222DEB8: .word 0x0003040F _0222DEBC: .word 0x0007080F _0222DEC0: .word MOD83_0223A85C _0222DEC4: .word MOD83_0223A784 _0222DEC8: .word MOD83_0223A854 - thumb_func_end MOD83_0222DD24 + thumb_func_end MOD83_0222DD24 - thumb_func_start MOD83_0222DECC + thumb_func_start MOD83_0222DECC MOD83_0222DECC: ; 0x0222DECC - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r4, r0, #0 - add r5, r1, #0 - add r1, r2, #0 - ldr r2, [r4, #0x24] - add r6, r3, #0 - cmp r2, #0 - bne _0222DEE4 - add sp, #4 - mov r0, #0 - pop {r3, r4, r5, r6, pc} + push {r3, r4, r5, r6, lr} + sub sp, #4 + add r4, r0, #0 + add r5, r1, #0 + add r1, r2, #0 + ldr r2, [r4, #0x24] + add r6, r3, #0 + cmp r2, #0 + bne _0222DEE4 + add sp, #4 + mov r0, #0 + pop {r3, r4, r5, r6, pc} _0222DEE4: - sub r2, r2, #1 - cmp r2, #4 - bhi _0222DF12 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 + sub r2, r2, #1 + cmp r2, #4 + bhi _0222DF12 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 _0222DEF6: ; jump table - .short _0222DF00 - _0222DEF6 - 2 ; case 0 - .short _0222DF04 - _0222DEF6 - 2 ; case 1 - .short _0222DF08 - _0222DEF6 - 2 ; case 2 - .short _0222DF0C - _0222DEF6 - 2 ; case 3 - .short _0222DF10 - _0222DEF6 - 2 ; case 4 + .short _0222DF00 - _0222DEF6 - 2 ; case 0 + .short _0222DF04 - _0222DEF6 - 2 ; case 1 + .short _0222DF08 - _0222DEF6 - 2 ; case 2 + .short _0222DF0C - _0222DEF6 - 2 ; case 3 + .short _0222DF10 - _0222DEF6 - 2 ; case 4 _0222DF00: - mov r0, #4 - b _0222DF12 + mov r0, #4 + b _0222DF12 _0222DF04: - mov r0, #5 - b _0222DF12 + mov r0, #5 + b _0222DF12 _0222DF08: - mov r0, #6 - b _0222DF12 + mov r0, #6 + b _0222DF12 _0222DF0C: - mov r0, #7 - b _0222DF12 + mov r0, #7 + b _0222DF12 _0222DF10: - mov r0, #8 + mov r0, #8 _0222DF12: - str r0, [sp] - ldr r0, [r4] - mov r2, #3 - add r3, r6, #0 - bl MOD83_02238A38 - add r0, r4, #0 - mov r1, #0x1a - add r2, r6, #0 - bl MOD83_0222DC60 - ldr r0, _0222DF3C ; =MOD83_0223A854 - lsl r1, r5, #4 - ldr r1, [r0, r1] - lsl r0, r5, #2 - add r0, r4, r0 - add r0, #0xcc - str r1, [r0] - mov r0, #1 - add sp, #4 - pop {r3, r4, r5, r6, pc} - .align 2, 0 + str r0, [sp] + ldr r0, [r4] + mov r2, #3 + add r3, r6, #0 + bl MOD83_02238A38 + add r0, r4, #0 + mov r1, #0x1a + add r2, r6, #0 + bl MOD83_0222DC60 + ldr r0, _0222DF3C ; =MOD83_0223A854 + lsl r1, r5, #4 + ldr r1, [r0, r1] + lsl r0, r5, #2 + add r0, r4, r0 + add r0, #0xcc + str r1, [r0] + mov r0, #1 + add sp, #4 + pop {r3, r4, r5, r6, pc} + .align 2, 0 _0222DF3C: .word MOD83_0223A854 - thumb_func_end MOD83_0222DECC + thumb_func_end MOD83_0222DECC - thumb_func_start MOD83_0222DF40 + thumb_func_start MOD83_0222DF40 MOD83_0222DF40: ; 0x0222DF40 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - ldr r0, [r5, #0x34] - add r4, r1, #0 - add r7, r3, #0 - str r2, [sp, #4] - cmp r0, #0 - bne _0222DF88 - ldr r0, [r5, #0x14] - bl FUN_0202AF50 - cmp r0, #1 - bne _0222DF60 - mov r0, #1 - str r0, [r5, #0x34] + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + ldr r0, [r5, #0x34] + add r4, r1, #0 + add r7, r3, #0 + str r2, [sp, #4] + cmp r0, #0 + bne _0222DF88 + ldr r0, [r5, #0x14] + bl FUN_0202AF50 + cmp r0, #1 + bne _0222DF60 + mov r0, #1 + str r0, [r5, #0x34] _0222DF60: - ldr r0, [r5, #4] - bl Sav2_SysInfo_get - bl FUN_02023820 - cmp r0, #1 - bne _0222DF72 - mov r0, #1 - str r0, [r5, #0x34] + ldr r0, [r5, #4] + bl Sav2_SysInfo_get + bl FUN_02023820 + cmp r0, #1 + bne _0222DF72 + mov r0, #1 + str r0, [r5, #0x34] _0222DF72: - mov r0, #0x51 - bl MOD83_SetHeapId - bl MOD83_02238700 - cmp r0, #0 - beq _0222DF88 - mov r0, #1 - str r0, [r5, #0x34] - bl MOD83_02239450 + mov r0, #0x51 + bl MOD83_SetHeapId + bl MOD83_02238700 + cmp r0, #0 + beq _0222DF88 + mov r0, #1 + str r0, [r5, #0x34] + bl MOD83_02239450 _0222DF88: - ldr r0, [r5, #0x34] - cmp r0, #1 - bne _0222DF98 - ldr r0, [r5, #0x4c] - cmp r0, #0 - bne _0222DF98 - mov r0, #0 - str r0, [r5, #0x34] + ldr r0, [r5, #0x34] + cmp r0, #1 + bne _0222DF98 + ldr r0, [r5, #0x4c] + cmp r0, #0 + bne _0222DF98 + mov r0, #0 + str r0, [r5, #0x34] _0222DF98: - ldr r0, [r5, #0x34] - cmp r0, #1 - bne _0222DFDC - ldr r0, _0222DFE4 ; =MOD83_0223A85C - lsl r6, r4, #4 - ldr r0, [r0, r6] - ldr r1, [sp, #4] - str r0, [sp] - ldr r0, [r5] - mov r2, #3 - add r3, r7, #0 - bl MOD83_02238A38 - add r0, r5, #0 - mov r1, #0x1a - add r2, r7, #0 - bl MOD83_0222DC60 - ldr r0, _0222DFE8 ; =MOD83_0223A854 - ldr r1, [r0, r6] - lsl r0, r4, #2 - add r0, r5, r0 - add r0, #0xcc - str r1, [r0] - ldr r1, [r5, #0x38] - mov r0, #1 - orr r0, r1 - str r0, [r5, #0x38] - ldr r0, [r5, #0x14] - bl FUN_0202AF60 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + ldr r0, [r5, #0x34] + cmp r0, #1 + bne _0222DFDC + ldr r0, _0222DFE4 ; =MOD83_0223A85C + lsl r6, r4, #4 + ldr r0, [r0, r6] + ldr r1, [sp, #4] + str r0, [sp] + ldr r0, [r5] + mov r2, #3 + add r3, r7, #0 + bl MOD83_02238A38 + add r0, r5, #0 + mov r1, #0x1a + add r2, r7, #0 + bl MOD83_0222DC60 + ldr r0, _0222DFE8 ; =MOD83_0223A854 + ldr r1, [r0, r6] + lsl r0, r4, #2 + add r0, r5, r0 + add r0, #0xcc + str r1, [r0] + ldr r1, [r5, #0x38] + mov r0, #1 + orr r0, r1 + str r0, [r5, #0x38] + ldr r0, [r5, #0x14] + bl FUN_0202AF60 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _0222DFDC: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop + mov r0, #0 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop _0222DFE4: .word MOD83_0223A85C _0222DFE8: .word MOD83_0223A854 - thumb_func_end MOD83_0222DF40 + thumb_func_end MOD83_0222DF40 - thumb_func_start MOD83_0222DFEC + thumb_func_start MOD83_0222DFEC MOD83_0222DFEC: ; 0x0222DFEC - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, [r5, #0x2c] - add r4, r1, #0 - add r7, r3, #0 - cmp r0, #1 - bne _0222E03C - ldr r0, [r5, #0x4c] - cmp r0, #1 - bne _0222E03C - ldr r0, _0222E040 ; =MOD83_0223A85C - lsl r6, r4, #4 - ldr r0, [r0, r6] - add r1, r2, #0 - str r0, [sp] - ldr r0, [r5] - mov r2, #3 - bl MOD83_02238A38 - add r0, r5, #0 - mov r1, #0x1a - add r2, r7, #0 - mov r3, #1 - bl MOD83_0222DC10 - lsl r3, r4, #2 - add r1, r5, r3 - mov r0, #1 - add r1, #0xe8 - str r0, [r1] - ldr r1, _0222E044 ; =MOD83_0223A854 - ldr r2, [r1, r6] - add r1, r5, r3 - add r1, #0xcc - str r2, [r1] - ldr r2, [r5, #0x38] - mov r1, #2 - orr r1, r2 - str r1, [r5, #0x38] - pop {r3, r4, r5, r6, r7, pc} + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, [r5, #0x2c] + add r4, r1, #0 + add r7, r3, #0 + cmp r0, #1 + bne _0222E03C + ldr r0, [r5, #0x4c] + cmp r0, #1 + bne _0222E03C + ldr r0, _0222E040 ; =MOD83_0223A85C + lsl r6, r4, #4 + ldr r0, [r0, r6] + add r1, r2, #0 + str r0, [sp] + ldr r0, [r5] + mov r2, #3 + bl MOD83_02238A38 + add r0, r5, #0 + mov r1, #0x1a + add r2, r7, #0 + mov r3, #1 + bl MOD83_0222DC10 + lsl r3, r4, #2 + add r1, r5, r3 + mov r0, #1 + add r1, #0xe8 + str r0, [r1] + ldr r1, _0222E044 ; =MOD83_0223A854 + ldr r2, [r1, r6] + add r1, r5, r3 + add r1, #0xcc + str r2, [r1] + ldr r2, [r5, #0x38] + mov r1, #2 + orr r1, r2 + str r1, [r5, #0x38] + pop {r3, r4, r5, r6, r7, pc} _0222E03C: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _0222E040: .word MOD83_0223A85C _0222E044: .word MOD83_0223A854 - thumb_func_end MOD83_0222DFEC + thumb_func_end MOD83_0222DFEC - thumb_func_start MOD83_0222E048 + thumb_func_start MOD83_0222E048 MOD83_0222E048: ; 0x0222E048 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - ldr r0, [r4, #0x30] - add r5, r1, #0 - add r7, r3, #0 - cmp r0, #1 - bne _0222E08A - ldr r0, _0222E090 ; =MOD83_0223A85C - lsl r6, r5, #4 - ldr r0, [r0, r6] - add r1, r2, #0 - str r0, [sp] - ldr r0, [r4] - mov r2, #3 - bl MOD83_02238A38 - lsl r5, r5, #2 - add r0, r4, r5 - mov r3, #1 - add r0, #0xe8 - str r3, [r0] - add r0, r4, #0 - mov r1, #0x1a - add r2, r7, #0 - bl MOD83_0222DC10 - ldr r0, _0222E094 ; =MOD83_0223A854 - ldr r1, [r0, r6] - add r0, r4, r5 - add r0, #0xcc - str r1, [r0] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + push {r3, r4, r5, r6, r7, lr} + add r4, r0, #0 + ldr r0, [r4, #0x30] + add r5, r1, #0 + add r7, r3, #0 + cmp r0, #1 + bne _0222E08A + ldr r0, _0222E090 ; =MOD83_0223A85C + lsl r6, r5, #4 + ldr r0, [r0, r6] + add r1, r2, #0 + str r0, [sp] + ldr r0, [r4] + mov r2, #3 + bl MOD83_02238A38 + lsl r5, r5, #2 + add r0, r4, r5 + mov r3, #1 + add r0, #0xe8 + str r3, [r0] + add r0, r4, #0 + mov r1, #0x1a + add r2, r7, #0 + bl MOD83_0222DC10 + ldr r0, _0222E094 ; =MOD83_0223A854 + ldr r1, [r0, r6] + add r0, r4, r5 + add r0, #0xcc + str r1, [r0] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _0222E08A: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - nop + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + nop _0222E090: .word MOD83_0223A85C _0222E094: .word MOD83_0223A854 - thumb_func_end MOD83_0222E048 + thumb_func_end MOD83_0222E048 - thumb_func_start MOD83_0222E098 + thumb_func_start MOD83_0222E098 MOD83_0222E098: ; 0x0222E098 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r0, _0222E0D4 ; =MOD83_0223A85C - lsl r6, r4, #4 - ldr r0, [r0, r6] - add r1, r2, #0 - str r0, [sp] - ldr r0, [r5] - mov r2, #3 - add r7, r3, #0 - bl MOD83_02238A38 - lsl r4, r4, #2 - add r0, r5, r4 - mov r3, #2 - add r0, #0xe8 - str r3, [r0] - add r0, r5, #0 - mov r1, #0x1a - add r2, r7, #0 - bl MOD83_0222DC10 - ldr r0, _0222E0D8 ; =MOD83_0223A854 - ldr r1, [r0, r6] - add r0, r5, r4 - add r0, #0xcc - str r1, [r0] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + ldr r0, _0222E0D4 ; =MOD83_0223A85C + lsl r6, r4, #4 + ldr r0, [r0, r6] + add r1, r2, #0 + str r0, [sp] + ldr r0, [r5] + mov r2, #3 + add r7, r3, #0 + bl MOD83_02238A38 + lsl r4, r4, #2 + add r0, r5, r4 + mov r3, #2 + add r0, #0xe8 + str r3, [r0] + add r0, r5, #0 + mov r1, #0x1a + add r2, r7, #0 + bl MOD83_0222DC10 + ldr r0, _0222E0D8 ; =MOD83_0223A854 + ldr r1, [r0, r6] + add r0, r5, r4 + add r0, #0xcc + str r1, [r0] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _0222E0D4: .word MOD83_0223A85C _0222E0D8: .word MOD83_0223A854 - thumb_func_end MOD83_0222E098 + thumb_func_end MOD83_0222E098 - thumb_func_start MOD83_0222E0DC + thumb_func_start MOD83_0222E0DC MOD83_0222E0DC: ; 0x0222E0DC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x70 - add r7, r0, #0 - mov r0, #0 - str r0, [sp, #0xc] - mov r0, #0x13 - str r0, [r7, #0x20] - ldr r0, [sp, #0xc] - ldr r4, _0222E1F0 ; =MOD83_0223A854 - str r0, [sp, #0x10] - add r0, r7, #0 - str r0, [sp, #8] - add r0, #0x5c - str r0, [sp, #8] - add r0, r7, #0 - str r0, [sp, #0x14] - add r0, #0x20 - mov r5, #1 - str r7, [sp, #0x18] - str r0, [sp, #0x14] + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x70 + add r7, r0, #0 + mov r0, #0 + str r0, [sp, #0xc] + mov r0, #0x13 + str r0, [r7, #0x20] + ldr r0, [sp, #0xc] + ldr r4, _0222E1F0 ; =MOD83_0223A854 + str r0, [sp, #0x10] + add r0, r7, #0 + str r0, [sp, #8] + add r0, #0x5c + str r0, [sp, #8] + add r0, r7, #0 + str r0, [sp, #0x14] + add r0, #0x20 + mov r5, #1 + str r7, [sp, #0x18] + str r0, [sp, #0x14] _0222E104: - mov r0, #1 - str r0, [sp] - mov r0, #2 - str r0, [sp, #4] - ldr r1, [sp, #8] - ldr r3, _0222E1F4 ; =0x000001EE - add r0, sp, #0x1c - mov r2, #1 - bl MOD83_022388E4 - ldr r2, [r4, #4] - ldr r3, [r7, #0x20] - add r0, sp, #0x1c - mov r1, #0x1a - bl MOD83_02238934 - ldr r0, [r4, #0xc] - mov ip, r0 - cmp r0, #0 - beq _0222E1A4 - ldr r0, [sp, #0x18] - add r0, #0xcc - ldr r0, [r0] - cmp r0, #0 - beq _0222E188 - ldr r0, [sp, #0x2c] - mov r1, #3 - bl MoveWindowX - lsl r1, r5, #0x18 - ldr r0, [sp, #0x2c] - lsr r1, r1, #0x18 - bl MoveWindowY - ldr r2, [sp, #0x54] - ldr r3, [sp, #0x58] - lsl r2, r2, #0x10 - lsl r3, r3, #0x18 - ldr r0, [sp, #0x2c] - mov r1, #0 - lsr r2, r2, #0x10 - lsr r3, r3, #0x18 - bl FUN_0200CCA4 - ldr r0, [sp, #0x18] - add r0, #0xe8 - ldr r3, [r0] - cmp r3, #0 - beq _0222E172 - add r0, r7, #0 - mov r1, #0x1a - add r2, r5, #0 - bl MOD83_0222DC10 - b _0222E17C + mov r0, #1 + str r0, [sp] + mov r0, #2 + str r0, [sp, #4] + ldr r1, [sp, #8] + ldr r3, _0222E1F4 ; =0x000001EE + add r0, sp, #0x1c + mov r2, #1 + bl MOD83_022388E4 + ldr r2, [r4, #4] + ldr r3, [r7, #0x20] + add r0, sp, #0x1c + mov r1, #0x1a + bl MOD83_02238934 + ldr r0, [r4, #0xc] + mov ip, r0 + cmp r0, #0 + beq _0222E1A4 + ldr r0, [sp, #0x18] + add r0, #0xcc + ldr r0, [r0] + cmp r0, #0 + beq _0222E188 + ldr r0, [sp, #0x2c] + mov r1, #3 + bl MoveWindowX + lsl r1, r5, #0x18 + ldr r0, [sp, #0x2c] + lsr r1, r1, #0x18 + bl MoveWindowY + ldr r2, [sp, #0x54] + ldr r3, [sp, #0x58] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x2c] + mov r1, #0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl FUN_0200CCA4 + ldr r0, [sp, #0x18] + add r0, #0xe8 + ldr r3, [r0] + cmp r3, #0 + beq _0222E172 + add r0, r7, #0 + mov r1, #0x1a + add r2, r5, #0 + bl MOD83_0222DC10 + b _0222E17C _0222E172: - add r0, r7, #0 - mov r1, #0x1a - add r2, r5, #0 - bl MOD83_0222DC60 + add r0, r7, #0 + mov r1, #0x1a + add r2, r5, #0 + bl MOD83_0222DC60 _0222E17C: - ldr r0, [r4, #4] - add r0, r0, #2 - add r5, r5, r0 - mov r0, #1 - str r0, [sp, #0xc] - b _0222E1C2 + ldr r0, [r4, #4] + add r0, r0, #2 + add r5, r5, r0 + mov r0, #1 + str r0, [sp, #0xc] + b _0222E1C2 _0222E188: - ldr r1, [sp, #0x10] - add r0, r7, #0 - add r2, sp, #0x1c - add r3, r5, #0 - mov r6, ip - blx r6 - cmp r0, #1 - bne _0222E1C2 - ldr r0, [r4, #4] - add r0, r0, #2 - add r5, r5, r0 - mov r0, #1 - str r0, [sp, #0xc] - b _0222E1C2 + ldr r1, [sp, #0x10] + add r0, r7, #0 + add r2, sp, #0x1c + add r3, r5, #0 + mov r6, ip + blx r6 + cmp r0, #1 + bne _0222E1C2 + ldr r0, [r4, #4] + add r0, r0, #2 + add r5, r5, r0 + mov r0, #1 + str r0, [sp, #0xc] + b _0222E1C2 _0222E1A4: - ldr r0, [r4, #8] - add r1, sp, #0x1c - str r0, [sp] - ldr r0, [r7] - mov r2, #3 - add r3, r5, #0 - bl MOD83_02238A38 - ldr r0, [sp, #0x18] - ldr r1, [r4] - add r0, #0xcc - str r1, [r0] - ldr r0, [r4, #4] - add r0, r0, #2 - add r5, r5, r0 + ldr r0, [r4, #8] + add r1, sp, #0x1c + str r0, [sp] + ldr r0, [r7] + mov r2, #3 + add r3, r5, #0 + bl MOD83_02238A38 + ldr r0, [sp, #0x18] + ldr r1, [r4] + add r0, #0xcc + str r1, [r0] + ldr r0, [r4, #4] + add r0, r0, #2 + add r5, r5, r0 _0222E1C2: - ldr r0, [sp, #0x14] - ldr r1, [r4, #4] - ldr r2, [r0] - mov r0, #0x1a - mul r0, r1 - add r1, r2, r0 - ldr r0, [sp, #0x14] - add r4, #0x10 - str r1, [r0] - ldr r0, [sp, #8] - add r0, #0x10 - str r0, [sp, #8] - ldr r0, [sp, #0x18] - add r0, r0, #4 - str r0, [sp, #0x18] - ldr r0, [sp, #0x10] - add r0, r0, #1 - str r0, [sp, #0x10] - cmp r0, #7 - blo _0222E104 - ldr r0, [sp, #0xc] - add sp, #0x70 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + ldr r0, [sp, #0x14] + ldr r1, [r4, #4] + ldr r2, [r0] + mov r0, #0x1a + mul r0, r1 + add r1, r2, r0 + ldr r0, [sp, #0x14] + add r4, #0x10 + str r1, [r0] + ldr r0, [sp, #8] + add r0, #0x10 + str r0, [sp, #8] + ldr r0, [sp, #0x18] + add r0, r0, #4 + str r0, [sp, #0x18] + ldr r0, [sp, #0x10] + add r0, r0, #1 + str r0, [sp, #0x10] + cmp r0, #7 + blo _0222E104 + ldr r0, [sp, #0xc] + add sp, #0x70 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _0222E1F0: .word MOD83_0223A854 _0222E1F4: .word 0x000001EE - thumb_func_end MOD83_0222E0DC + thumb_func_end MOD83_0222E0DC - thumb_func_start MOD83_0222E1F8 + thumb_func_start MOD83_0222E1F8 MOD83_0222E1F8: ; 0x0222E1F8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x20 - add r6, r0, #0 - add r5, r6, #0 - str r1, [sp, #0xc] - mov r4, #0 - add r5, #0x5c + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x20 + add r6, r0, #0 + add r5, r6, #0 + str r1, [sp, #0xc] + mov r4, #0 + add r5, #0x5c _0222E206: - add r0, r5, #0 - bl WindowIsInUse - cmp r0, #0 - beq _0222E294 - ldr r0, [sp, #0xc] - cmp r4, r0 - bne _0222E256 - add r0, r5, #0 - mov r1, #1 - mov r2, #0xa - mov r3, #3 - bl FUN_0200CCA4 - add r0, r5, #0 - bl GetWindowX - str r0, [sp, #0x10] - add r0, r5, #0 - bl GetWindowY - str r0, [sp, #0x14] - add r0, r5, #0 - bl GetWindowWidth - add r7, r0, #0 - add r0, r5, #0 - bl GetWindowHeight - str r7, [sp] - str r0, [sp, #4] - mov r0, #0 - str r0, [sp, #8] - ldr r0, [r6] - ldr r2, [sp, #0x10] - ldr r3, [sp, #0x14] - mov r1, #0 - bl BgTilemapRectChangePalette - b _0222E294 + add r0, r5, #0 + bl WindowIsInUse + cmp r0, #0 + beq _0222E294 + ldr r0, [sp, #0xc] + cmp r4, r0 + bne _0222E256 + add r0, r5, #0 + mov r1, #1 + mov r2, #0xa + mov r3, #3 + bl FUN_0200CCA4 + add r0, r5, #0 + bl GetWindowX + str r0, [sp, #0x10] + add r0, r5, #0 + bl GetWindowY + str r0, [sp, #0x14] + add r0, r5, #0 + bl GetWindowWidth + add r7, r0, #0 + add r0, r5, #0 + bl GetWindowHeight + str r7, [sp] + str r0, [sp, #4] + mov r0, #0 + str r0, [sp, #8] + ldr r0, [r6] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x14] + mov r1, #0 + bl BgTilemapRectChangePalette + b _0222E294 _0222E256: - mov r1, #1 - add r0, r5, #0 - add r2, r1, #0 - mov r3, #2 - bl FUN_0200CCA4 - add r0, r5, #0 - bl GetWindowX - str r0, [sp, #0x18] - add r0, r5, #0 - bl GetWindowY - str r0, [sp, #0x1c] - add r0, r5, #0 - bl GetWindowWidth - add r7, r0, #0 - add r0, r5, #0 - bl GetWindowHeight - str r7, [sp] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, [r6] - ldr r2, [sp, #0x18] - ldr r3, [sp, #0x1c] - mov r1, #0 - bl BgTilemapRectChangePalette + mov r1, #1 + add r0, r5, #0 + add r2, r1, #0 + mov r3, #2 + bl FUN_0200CCA4 + add r0, r5, #0 + bl GetWindowX + str r0, [sp, #0x18] + add r0, r5, #0 + bl GetWindowY + str r0, [sp, #0x1c] + add r0, r5, #0 + bl GetWindowWidth + add r7, r0, #0 + add r0, r5, #0 + bl GetWindowHeight + str r7, [sp] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + ldr r0, [r6] + ldr r2, [sp, #0x18] + ldr r3, [sp, #0x1c] + mov r1, #0 + bl BgTilemapRectChangePalette _0222E294: - add r4, r4, #1 - add r5, #0x10 - cmp r4, #7 - blo _0222E206 - ldr r0, [r6] - mov r1, #0 - bl BgCommitTilemapBufferToVram - add sp, #0x20 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_0222E1F8 - - thumb_func_start MOD83_0222E2A8 + add r4, r4, #1 + add r5, #0x10 + cmp r4, #7 + blo _0222E206 + ldr r0, [r6] + mov r1, #0 + bl BgCommitTilemapBufferToVram + add sp, #0x20 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_0222E1F8 + + thumb_func_start MOD83_0222E2A8 MOD83_0222E2A8: ; 0x0222E2A8 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r2, r1, #0 - ldr r1, [r5, #0x54] - mov r7, #6 - add r4, r1, #0 - mov r0, #0 - sub r6, r7, #7 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r2, r1, #0 + ldr r1, [r5, #0x54] + mov r7, #6 + add r4, r1, #0 + mov r0, #0 + sub r6, r7, #7 _0222E2B8: - add r4, r4, r2 - cmp r4, r6 - bne _0222E2C0 - add r4, r0, #0 + add r4, r4, r2 + cmp r4, r6 + bne _0222E2C0 + add r4, r0, #0 _0222E2C0: - cmp r4, #7 - bne _0222E2C6 - add r4, r7, #0 + cmp r4, #7 + bne _0222E2C6 + add r4, r7, #0 _0222E2C6: - cmp r4, r1 - beq _0222E2DC - lsl r3, r4, #2 - add r3, r5, r3 - add r3, #0xcc - ldr r3, [r3] - cmp r3, #0 - beq _0222E2B8 - ldr r0, _0222E2E0 ; =0x000005DC - bl PlaySE + cmp r4, r1 + beq _0222E2DC + lsl r3, r4, #2 + add r3, r5, r3 + add r3, #0xcc + ldr r3, [r3] + cmp r3, #0 + beq _0222E2B8 + ldr r0, _0222E2E0 ; =0x000005DC + bl PlaySE _0222E2DC: - str r4, [r5, #0x54] - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + str r4, [r5, #0x54] + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _0222E2E0: .word 0x000005DC - thumb_func_end MOD83_0222E2A8 + thumb_func_end MOD83_0222E2A8 - thumb_func_start MOD83_0222E2E4 + thumb_func_start MOD83_0222E2E4 MOD83_0222E2E4: ; 0x0222E2E4 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x54] - add r1, r5, #0 - add r1, #0x5c - lsl r0, r0, #4 - add r0, r1, r0 - bl GetWindowY - sub r0, r0, #1 - lsl r4, r0, #3 - ldr r0, [r5, #0x54] - add r1, r5, #0 - add r1, #0x5c - lsl r0, r0, #4 - add r0, r1, r0 - bl GetWindowHeight - add r0, r0, #2 - lsl r3, r0, #3 - mov r0, #0x42 - lsl r0, r0, #2 - ldr r2, [r5, r0] - asr r1, r2, #0xb - lsr r1, r1, #0x14 - add r1, r2, r1 - asr r2, r1, #0xc - cmp r2, r4 - ble _0222E322 - lsl r1, r4, #0xc - str r1, [r5, r0] + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0x54] + add r1, r5, #0 + add r1, #0x5c + lsl r0, r0, #4 + add r0, r1, r0 + bl GetWindowY + sub r0, r0, #1 + lsl r4, r0, #3 + ldr r0, [r5, #0x54] + add r1, r5, #0 + add r1, #0x5c + lsl r0, r0, #4 + add r0, r1, r0 + bl GetWindowHeight + add r0, r0, #2 + lsl r3, r0, #3 + mov r0, #0x42 + lsl r0, r0, #2 + ldr r2, [r5, r0] + asr r1, r2, #0xb + lsr r1, r1, #0x14 + add r1, r2, r1 + asr r2, r1, #0xc + cmp r2, r4 + ble _0222E322 + lsl r1, r4, #0xc + str r1, [r5, r0] _0222E322: - add r2, #0xc0 - cmp r2, r4 - bgt _0222E334 - add r0, r4, r3 - sub r0, #0xc0 - lsl r1, r0, #0xc - mov r0, #0x42 - lsl r0, r0, #2 - str r1, [r5, r0] + add r2, #0xc0 + cmp r2, r4 + bgt _0222E334 + add r0, r4, r3 + sub r0, #0xc0 + lsl r1, r0, #0xc + mov r0, #0x42 + lsl r0, r0, #2 + str r1, [r5, r0] _0222E334: - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end MOD83_0222E2E4 + pop {r3, r4, r5, pc} + .align 2, 0 + thumb_func_end MOD83_0222E2E4 - thumb_func_start MOD83_0222E338 + thumb_func_start MOD83_0222E338 MOD83_0222E338: ; 0x0222E338 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - str r0, [sp, #8] - mov r1, #0x42 - ldr r0, [sp] - lsl r1, r1, #2 - ldr r1, [r0, r1] - ldr r5, [sp] - asr r0, r1, #0xb - lsr r0, r0, #0x14 - add r0, r1, r0 - asr r7, r0, #0xc - add r0, r7, #0 - str r0, [sp, #0xc] - add r0, #0xc0 - ldr r6, [sp, #4] - add r5, #0x5c - str r0, [sp, #0xc] + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + str r0, [sp, #8] + mov r1, #0x42 + ldr r0, [sp] + lsl r1, r1, #2 + ldr r1, [r0, r1] + ldr r5, [sp] + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r7, r0, #0xc + add r0, r7, #0 + str r0, [sp, #0xc] + add r0, #0xc0 + ldr r6, [sp, #4] + add r5, #0x5c + str r0, [sp, #0xc] _0222E362: - add r0, r5, #0 - bl WindowIsInUse - cmp r0, #0 - beq _0222E38E - add r0, r5, #0 - bl GetWindowY - sub r0, r0, #1 - lsl r4, r0, #3 - add r0, r5, #0 - bl GetWindowHeight - cmp r7, r4 - ble _0222E384 - mov r0, #1 - str r0, [sp, #8] + add r0, r5, #0 + bl WindowIsInUse + cmp r0, #0 + beq _0222E38E + add r0, r5, #0 + bl GetWindowY + sub r0, r0, #1 + lsl r4, r0, #3 + add r0, r5, #0 + bl GetWindowHeight + cmp r7, r4 + ble _0222E384 + mov r0, #1 + str r0, [sp, #8] _0222E384: - ldr r0, [sp, #0xc] - cmp r0, r4 - bgt _0222E38E - mov r0, #1 - str r0, [sp, #4] + ldr r0, [sp, #0xc] + cmp r0, r4 + bgt _0222E38E + mov r0, #1 + str r0, [sp, #4] _0222E38E: - add r6, r6, #1 - add r5, #0x10 - cmp r6, #7 - blo _0222E362 - mov r1, #0x15 - ldr r0, [sp] - lsl r1, r1, #4 - ldr r0, [r0, r1] - ldr r1, [sp, #8] - bl FUN_020200A0 - mov r1, #0x55 - ldr r0, [sp] - lsl r1, r1, #2 - ldr r0, [r0, r1] - ldr r1, [sp, #4] - bl FUN_020200A0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end MOD83_0222E338 - - thumb_func_start MOD83_0222E3B8 + add r6, r6, #1 + add r5, #0x10 + cmp r6, #7 + blo _0222E362 + mov r1, #0x15 + ldr r0, [sp] + lsl r1, r1, #4 + ldr r0, [r0, r1] + ldr r1, [sp, #8] + bl FUN_020200A0 + mov r1, #0x55 + ldr r0, [sp] + lsl r1, r1, #2 + ldr r0, [r0, r1] + ldr r1, [sp, #4] + bl FUN_020200A0 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end MOD83_0222E338 + + thumb_func_start MOD83_0222E3B8 MOD83_0222E3B8: ; 0x0222E3B8 - push {r3, r4, r5, r6, r7, lr} - bl OverlayManager_GetData - mov r1, #0x15 - add r7, r0, #0 - lsl r1, r1, #4 - ldr r0, [r7, r1] - cmp r0, #0 - bne _0222E3D2 - add r1, r1, #4 - ldr r1, [r7, r1] - cmp r1, #0 - beq _0222E3E4 + push {r3, r4, r5, r6, r7, lr} + bl OverlayManager_GetData + mov r1, #0x15 + add r7, r0, #0 + lsl r1, r1, #4 + ldr r0, [r7, r1] + cmp r0, #0 + bne _0222E3D2 + add r1, r1, #4 + ldr r1, [r7, r1] + cmp r1, #0 + beq _0222E3E4 _0222E3D2: - bl FUN_0201FFC8 - mov r0, #0x55 - lsl r0, r0, #2 - ldr r0, [r7, r0] - bl FUN_0201FFC8 - bl MOD83_02238E48 + bl FUN_0201FFC8 + mov r0, #0x55 + lsl r0, r0, #2 + ldr r0, [r7, r0] + bl FUN_0201FFC8 + bl MOD83_02238E48 _0222E3E4: - add r5, r7, #0 - mov r6, #0 - add r4, r7, #0 - add r5, #0x5c + add r5, r7, #0 + mov r6, #0 + add r4, r7, #0 + add r5, #0x5c _0222E3EC: - ldr r0, [r4, #0x5c] - cmp r0, #0 - beq _0222E3FE - add r0, r5, #0 - bl ClearWindowTilemapAndCopyToVram - add r0, r5, #0 - bl RemoveWindow + ldr r0, [r4, #0x5c] + cmp r0, #0 + beq _0222E3FE + add r0, r5, #0 + bl ClearWindowTilemapAndCopyToVram + add r0, r5, #0 + bl RemoveWindow _0222E3FE: - add r6, r6, #1 - add r4, #0x10 - add r5, #0x10 - cmp r6, #7 - blo _0222E3EC - ldr r0, [r7] - mov r1, #0 - bl FreeBgTilemapBuffer - ldr r0, [r7] - mov r1, #1 - bl FreeBgTilemapBuffer - ldr r0, [r7] - mov r1, #2 - bl FreeBgTilemapBuffer - ldr r0, [r7] - bl FreeToHeap - mov r0, #0 - add r1, r0, #0 - bl Main_SetVBlankIntrCB - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_0222E3B8 - - thumb_func_start MOD83_0222E430 + add r6, r6, #1 + add r4, #0x10 + add r5, #0x10 + cmp r6, #7 + blo _0222E3EC + ldr r0, [r7] + mov r1, #0 + bl FreeBgTilemapBuffer + ldr r0, [r7] + mov r1, #1 + bl FreeBgTilemapBuffer + ldr r0, [r7] + mov r1, #2 + bl FreeBgTilemapBuffer + ldr r0, [r7] + bl FreeToHeap + mov r0, #0 + add r1, r0, #0 + bl Main_SetVBlankIntrCB + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_0222E3B8 + + thumb_func_start MOD83_0222E430 MOD83_0222E430: ; 0x0222E430 - mov r1, #0x56 - lsl r1, r1, #2 - ldr r2, [r0, r1] - lsl r3, r2, #1 - ldr r2, _0222E45C ; =MOD83_0223A7B0 - ldrh r2, [r2, r3] - cmp r2, #0 - bne _0222E444 - mov r2, #0 - str r2, [r0, r1] + mov r1, #0x56 + lsl r1, r1, #2 + ldr r2, [r0, r1] + lsl r3, r2, #1 + ldr r2, _0222E45C ; =MOD83_0223A7B0 + ldrh r2, [r2, r3] + cmp r2, #0 + bne _0222E444 + mov r2, #0 + str r2, [r0, r1] _0222E444: - mov r1, #0x56 - lsl r1, r1, #2 - ldr r3, [r0, r1] - add r2, r3, #1 - str r2, [r0, r1] - ldr r0, _0222E45C ; =MOD83_0223A7B0 - lsl r1, r3, #1 - ldrh r1, [r0, r1] - ldr r0, _0222E460 ; =0x0500006C - strh r1, [r0] - bx lr - nop + mov r1, #0x56 + lsl r1, r1, #2 + ldr r3, [r0, r1] + add r2, r3, #1 + str r2, [r0, r1] + ldr r0, _0222E45C ; =MOD83_0223A7B0 + lsl r1, r3, #1 + ldrh r1, [r0, r1] + ldr r0, _0222E460 ; =0x0500006C + strh r1, [r0] + bx lr + nop _0222E45C: .word MOD83_0223A7B0 _0222E460: .word 0x0500006C - thumb_func_end MOD83_0222E430 + thumb_func_end MOD83_0222E430 - thumb_func_start MOD83_0222E464 + thumb_func_start MOD83_0222E464 MOD83_0222E464: ; 0x0222E464 - push {r4, lr} - add r4, r0, #0 - bl FUN_0201C30C - bl FUN_02009F80 - add r0, r4, #0 - bl DoScheduledBgGpuUpdates - ldr r3, _0222E484 ; =MOD83_027E0000 - ldr r1, _0222E488 ; =0x00003FF8 - mov r0, #1 - ldr r2, [r3, r1] - orr r0, r2 - str r0, [r3, r1] - pop {r4, pc} - .align 2, 0 + push {r4, lr} + add r4, r0, #0 + bl FUN_0201C30C + bl FUN_02009F80 + add r0, r4, #0 + bl DoScheduledBgGpuUpdates + ldr r3, _0222E484 ; =MOD83_027E0000 + ldr r1, _0222E488 ; =0x00003FF8 + mov r0, #1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r4, pc} + .align 2, 0 _0222E484: .word 0x027E0000 _0222E488: .word 0x00003FF8 - thumb_func_end MOD83_0222E464 + thumb_func_end MOD83_0222E464 - thumb_func_start MOD83_0222E48C + thumb_func_start MOD83_0222E48C MOD83_0222E48C: ; 0x0222E48C - push {r3, r4, r5, lr} - mov r2, #1 - add r5, r0, #0 - mov r0, #3 - mov r1, #0x51 - lsl r2, r2, #0x12 - bl CreateHeap - mov r1, #0x57 - add r0, r5, #0 - lsl r1, r1, #2 - mov r2, #0x51 - bl OverlayManager_CreateAndGetData - mov r2, #0x57 - mov r1, #0 - lsl r2, r2, #2 - add r4, r0, #0 - bl memset - mov r0, #0x51 - bl BgConfig_Alloc - str r0, [r4] - mov r0, #0 - add r1, r0, #0 - bl FUN_0200E3A0 - mov r0, #1 - mov r1, #0 - bl FUN_0200E3A0 - add r0, r5, #0 - bl OverlayManager_GetField18 - ldr r0, [r0, #8] - str r0, [r4, #4] - bl FUN_0202251C - str r0, [r4, #0x14] - mov r0, #0x41 - mov r1, #0 - lsl r0, r0, #2 - str r1, [r4, r0] - add r0, r0, #4 - str r1, [r4, r0] - ldr r0, [r4, #4] - bl Sav2_PlayerData_GetProfileAddr - str r0, [r4, #0xc] - ldr r0, [r4, #4] - bl Sav2_Pokedex_get - str r0, [r4, #8] - ldr r0, [r4, #4] - bl Sav2_PlayerData_GetIGTAddr - str r0, [r4, #0x10] - ldr r0, [r4, #8] - bl Pokedex_GetSinnohDexFlag - str r0, [r4, #0x4c] - ldr r0, [r4, #0xc] - bl PlayerProfile_CountBadges - str r0, [r4, #0x50] - mov r0, #0x45 - mov r1, #0xf - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #0x51 - bl MOD83_02238770 - ldr r0, [r4, #4] - bl FUN_02022804 - cmp r0, #0 - bne _0222E530 - mov r0, #0x4d - mov r1, #1 - lsl r0, r0, #2 - str r1, [r4, r0] + push {r3, r4, r5, lr} + mov r2, #1 + add r5, r0, #0 + mov r0, #3 + mov r1, #0x51 + lsl r2, r2, #0x12 + bl CreateHeap + mov r1, #0x57 + add r0, r5, #0 + lsl r1, r1, #2 + mov r2, #0x51 + bl OverlayManager_CreateAndGetData + mov r2, #0x57 + mov r1, #0 + lsl r2, r2, #2 + add r4, r0, #0 + bl memset + mov r0, #0x51 + bl BgConfig_Alloc + str r0, [r4] + mov r0, #0 + add r1, r0, #0 + bl FUN_0200E3A0 + mov r0, #1 + mov r1, #0 + bl FUN_0200E3A0 + add r0, r5, #0 + bl OverlayManager_GetField18 + ldr r0, [r0, #8] + str r0, [r4, #4] + bl FUN_0202251C + str r0, [r4, #0x14] + mov r0, #0x41 + mov r1, #0 + lsl r0, r0, #2 + str r1, [r4, r0] + add r0, r0, #4 + str r1, [r4, r0] + ldr r0, [r4, #4] + bl Sav2_PlayerData_GetProfileAddr + str r0, [r4, #0xc] + ldr r0, [r4, #4] + bl Sav2_Pokedex_get + str r0, [r4, #8] + ldr r0, [r4, #4] + bl Sav2_PlayerData_GetIGTAddr + str r0, [r4, #0x10] + ldr r0, [r4, #8] + bl Pokedex_GetSinnohDexFlag + str r0, [r4, #0x4c] + ldr r0, [r4, #0xc] + bl PlayerProfile_CountBadges + str r0, [r4, #0x50] + mov r0, #0x45 + mov r1, #0xf + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #0x51 + bl MOD83_02238770 + ldr r0, [r4, #4] + bl FUN_02022804 + cmp r0, #0 + bne _0222E530 + mov r0, #0x4d + mov r1, #1 + lsl r0, r0, #2 + str r1, [r4, r0] _0222E530: - mov r0, #0 - bl FUN_0200516C - mov r0, #0 - bl FUN_0200415C - mov r0, #1 - pop {r3, r4, r5, pc} - thumb_func_end MOD83_0222E48C - - thumb_func_start MOD83_0222E540 + mov r0, #0 + bl FUN_0200516C + mov r0, #0 + bl FUN_0200415C + mov r0, #1 + pop {r3, r4, r5, pc} + thumb_func_end MOD83_0222E48C + + thumb_func_start MOD83_0222E540 MOD83_0222E540: ; 0x0222E540 - push {r4, r5, r6, lr} - add r6, r0, #0 - add r5, r1, #0 - bl OverlayManager_GetData - add r4, r0, #0 - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - bl CTRDG_IsExisting - add r0, r4, #0 - bl MOD83_0222D7E0 - cmp r0, #1 - bne _0222E570 - add r0, r4, #0 - bl MOD83_0222D6EC - add r0, r4, #0 - bl MOD83_0222D9C0 - mov r0, #0 - pop {r4, r5, r6, pc} + push {r4, r5, r6, lr} + add r6, r0, #0 + add r5, r1, #0 + bl OverlayManager_GetData + add r4, r0, #0 + ldr r0, [r4, #0x18] + add r0, r0, #1 + str r0, [r4, #0x18] + bl CTRDG_IsExisting + add r0, r4, #0 + bl MOD83_0222D7E0 + cmp r0, #1 + bne _0222E570 + add r0, r4, #0 + bl MOD83_0222D6EC + add r0, r4, #0 + bl MOD83_0222D9C0 + mov r0, #0 + pop {r4, r5, r6, pc} _0222E570: - add r0, r4, #0 - bl MOD83_0222E430 - ldr r0, [r5] - cmp r0, #9 - bhi _0222E5D8 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r4, #0 + bl MOD83_0222E430 + ldr r0, [r5] + cmp r0, #9 + bhi _0222E5D8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0222E588: ; jump table - .short _0222E59C - _0222E588 - 2 ; case 0 - .short _0222E5A8 - _0222E588 - 2 ; case 1 - .short _0222E5CE - _0222E588 - 2 ; case 2 - .short _0222E5E8 - _0222E588 - 2 ; case 3 - .short _0222E616 - _0222E588 - 2 ; case 4 - .short _0222E656 - _0222E588 - 2 ; case 5 - .short _0222E74A - _0222E588 - 2 ; case 6 - .short _0222E772 - _0222E588 - 2 ; case 7 - .short _0222E77C - _0222E588 - 2 ; case 8 - .short _0222E784 - _0222E588 - 2 ; case 9 + .short _0222E59C - _0222E588 - 2 ; case 0 + .short _0222E5A8 - _0222E588 - 2 ; case 1 + .short _0222E5CE - _0222E588 - 2 ; case 2 + .short _0222E5E8 - _0222E588 - 2 ; case 3 + .short _0222E616 - _0222E588 - 2 ; case 4 + .short _0222E656 - _0222E588 - 2 ; case 5 + .short _0222E74A - _0222E588 - 2 ; case 6 + .short _0222E772 - _0222E588 - 2 ; case 7 + .short _0222E77C - _0222E588 - 2 ; case 8 + .short _0222E784 - _0222E588 - 2 ; case 9 _0222E59C: - add r0, r4, #0 - bl MOD83_0222DA50 - mov r0, #1 - str r0, [r5] - b _0222E788 + add r0, r4, #0 + bl MOD83_0222DA50 + mov r0, #1 + str r0, [r5] + b _0222E788 _0222E5A8: - add r0, r4, #0 - bl MOD83_0222D5C0 - cmp r0, #0 - bne _0222E5B8 - mov r0, #3 - str r0, [r5] - b _0222E788 + add r0, r4, #0 + bl MOD83_0222D5C0 + cmp r0, #0 + bne _0222E5B8 + mov r0, #3 + str r0, [r5] + b _0222E788 _0222E5B8: - mov r0, #1 - mov r1, #2 - add r2, r5, #0 - mov r3, #8 - bl MOD83_0223886C - mov r0, #5 - ldr r1, _0222E79C ; =0x00007D8C - lsl r0, r0, #0x18 - strh r1, [r0] - b _0222E788 + mov r0, #1 + mov r1, #2 + add r2, r5, #0 + mov r3, #8 + bl MOD83_0223886C + mov r0, #5 + ldr r1, _0222E79C ; =0x00007D8C + lsl r0, r0, #0x18 + strh r1, [r0] + b _0222E788 _0222E5CE: - add r0, r4, #0 - bl MOD83_0222D5C4 - cmp r0, #0 - beq _0222E5DA + add r0, r4, #0 + bl MOD83_0222D5C4 + cmp r0, #0 + beq _0222E5DA _0222E5D8: - b _0222E788 + b _0222E788 _0222E5DA: - mov r0, #0 - mov r1, #3 - add r2, r5, #0 - mov r3, #8 - bl MOD83_0223886C - b _0222E788 + mov r0, #0 + mov r1, #3 + add r2, r5, #0 + mov r3, #8 + bl MOD83_0223886C + b _0222E788 _0222E5E8: - mov r0, #0x43 - mov r1, #0xc - lsl r0, r0, #2 - str r1, [r4, r0] - add r0, #0x28 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222E60A - mov r0, #2 - str r0, [r4, #0x58] - mov r0, #0 - mov r1, #7 - add r2, r5, #0 - mov r3, #8 - bl MOD83_0223886C - b _0222E788 + mov r0, #0x43 + mov r1, #0xc + lsl r0, r0, #2 + str r1, [r4, r0] + add r0, #0x28 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222E60A + mov r0, #2 + str r0, [r4, #0x58] + mov r0, #0 + mov r1, #7 + add r2, r5, #0 + mov r3, #8 + bl MOD83_0223886C + b _0222E788 _0222E60A: - add r0, r4, #0 - bl MOD83_0222D67C - mov r0, #4 - str r0, [r5] - b _0222E788 + add r0, r4, #0 + bl MOD83_0222D67C + mov r0, #4 + str r0, [r5] + b _0222E788 _0222E616: - add r0, r4, #0 - bl MOD83_0222DB68 - add r0, r4, #0 - bl MOD83_0222DBD0 - ldr r0, _0222E7A0 ; =MOD83_0222E464 - ldr r1, [r4] - bl Main_SetVBlankIntrCB - add r0, r4, #0 - bl MOD83_0222E0DC - ldr r1, [r4, #0x54] - add r0, r4, #0 - bl MOD83_0222E1F8 - mov r0, #1 - mov r1, #5 - add r2, r5, #0 - mov r3, #8 - bl MOD83_0223886C - mov r0, #5 - ldr r1, _0222E79C ; =0x00007D8C - lsl r0, r0, #0x18 - strh r1, [r0] - mov r0, #0x43 - mov r1, #0xa - lsl r0, r0, #2 - str r1, [r4, r0] - b _0222E788 + add r0, r4, #0 + bl MOD83_0222DB68 + add r0, r4, #0 + bl MOD83_0222DBD0 + ldr r0, _0222E7A0 ; =MOD83_0222E464 + ldr r1, [r4] + bl Main_SetVBlankIntrCB + add r0, r4, #0 + bl MOD83_0222E0DC + ldr r1, [r4, #0x54] + add r0, r4, #0 + bl MOD83_0222E1F8 + mov r0, #1 + mov r1, #5 + add r2, r5, #0 + mov r3, #8 + bl MOD83_0223886C + mov r0, #5 + ldr r1, _0222E79C ; =0x00007D8C + lsl r0, r0, #0x18 + strh r1, [r0] + mov r0, #0x43 + mov r1, #0xa + lsl r0, r0, #2 + str r1, [r4, r0] + b _0222E788 _0222E656: - ldr r0, _0222E7A4 ; =gMain - mov r1, #3 - ldr r0, [r0, #0x48] - tst r1, r0 - beq _0222E6E8 - mov r1, #1 - tst r0, r1 - ldr r0, _0222E7A8 ; =0x000005DC - beq _0222E69A - bl PlaySE - ldr r0, [r4, #0x54] - lsl r0, r0, #2 - add r0, r4, r0 - add r0, #0xcc - ldr r0, [r0] - str r0, [r4, #0x58] - cmp r0, #5 - bne _0222E6A8 - bl CTRDG_IsPulledOut - cmp r0, #1 - bne _0222E6A8 - mov r0, #0x43 - lsl r0, r0, #2 - ldr r0, [r4, r0] - cmp r0, #0xc - beq _0222E692 - bl FUN_02032D80 + ldr r0, _0222E7A4 ; =gMain + mov r1, #3 + ldr r0, [r0, #0x48] + tst r1, r0 + beq _0222E6E8 + mov r1, #1 + tst r0, r1 + ldr r0, _0222E7A8 ; =0x000005DC + beq _0222E69A + bl PlaySE + ldr r0, [r4, #0x54] + lsl r0, r0, #2 + add r0, r4, r0 + add r0, #0xcc + ldr r0, [r0] + str r0, [r4, #0x58] + cmp r0, #5 + bne _0222E6A8 + bl CTRDG_IsPulledOut + cmp r0, #1 + bne _0222E6A8 + mov r0, #0x43 + lsl r0, r0, #2 + ldr r0, [r4, r0] + cmp r0, #0xc + beq _0222E692 + bl FUN_02032D80 _0222E692: - mov r0, #0x51 - bl FUN_02089F24 - b _0222E6A8 + mov r0, #0x51 + bl FUN_02089F24 + b _0222E6A8 _0222E69A: - bl PlaySE - mov r0, #0 - str r0, [r4, #0x58] - mov r0, #1 - bl MOD83_02238860 + bl PlaySE + mov r0, #0 + str r0, [r4, #0x58] + mov r0, #1 + bl MOD83_02238860 _0222E6A8: - ldr r0, [r4, #0x58] - cmp r0, #2 - bne _0222E6C2 - ldr r1, [r4, #0x40] - mov r0, #0x80 - orr r1, r0 - str r1, [r4, #0x40] - mov r1, #1 - add r0, #0x98 - str r1, [r4, r0] - mov r0, #6 - str r0, [r5] - b _0222E6D8 + ldr r0, [r4, #0x58] + cmp r0, #2 + bne _0222E6C2 + ldr r1, [r4, #0x40] + mov r0, #0x80 + orr r1, r0 + str r1, [r4, #0x40] + mov r1, #1 + add r0, #0x98 + str r1, [r4, r0] + mov r0, #6 + str r0, [r5] + b _0222E6D8 _0222E6C2: - cmp r0, #6 - bne _0222E6CC - mov r0, #1 - bl MOD83_02238860 + cmp r0, #6 + bne _0222E6CC + mov r0, #1 + bl MOD83_02238860 _0222E6CC: - mov r0, #0 - mov r1, #7 - add r2, r5, #0 - mov r3, #8 - bl MOD83_0223886C + mov r0, #0 + mov r1, #7 + add r2, r5, #0 + mov r3, #8 + bl MOD83_0223886C _0222E6D8: - mov r0, #0x43 - lsl r0, r0, #2 - ldr r1, [r4, r0] - cmp r1, #0xd - bne _0222E788 - mov r1, #0xe - str r1, [r4, r0] - b _0222E788 + mov r0, #0x43 + lsl r0, r0, #2 + ldr r1, [r4, r0] + cmp r1, #0xd + bne _0222E788 + mov r1, #0xe + str r1, [r4, r0] + b _0222E788 _0222E6E8: - ldr r1, [r4, #0x48] - cmp r1, #1 - bne _0222E6FA - add r0, r4, #0 - bl MOD83_0222E0DC - mov r0, #0 - str r0, [r4, #0x48] - b _0222E788 + ldr r1, [r4, #0x48] + cmp r1, #1 + bne _0222E6FA + add r0, r4, #0 + bl MOD83_0222E0DC + mov r0, #0 + str r0, [r4, #0x48] + b _0222E788 _0222E6FA: - mov r1, #0x40 - tst r0, r1 - beq _0222E708 - add r0, r4, #0 - sub r1, #0x41 - bl MOD83_0222E2A8 + mov r1, #0x40 + tst r0, r1 + beq _0222E708 + add r0, r4, #0 + sub r1, #0x41 + bl MOD83_0222E2A8 _0222E708: - ldr r0, _0222E7A4 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #0x80 - tst r0, r1 - beq _0222E71A - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222E2A8 + ldr r0, _0222E7A4 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #0x80 + tst r0, r1 + beq _0222E71A + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222E2A8 _0222E71A: - ldr r1, [r4, #0x54] - add r0, r4, #0 - bl MOD83_0222E1F8 - add r0, r4, #0 - bl MOD83_0222E2E4 - add r0, r4, #0 - bl MOD83_0222E338 - ldr r0, [r5] - cmp r0, #5 - bne _0222E788 - mov r0, #0x4e - lsl r0, r0, #2 - ldr r1, [r4, r0] - cmp r1, #1 - bne _0222E788 - mov r1, #0 - str r1, [r4, r0] - mov r1, #1 - sub r0, #0x20 - str r1, [r4, r0] - b _0222E788 + ldr r1, [r4, #0x54] + add r0, r4, #0 + bl MOD83_0222E1F8 + add r0, r4, #0 + bl MOD83_0222E2E4 + add r0, r4, #0 + bl MOD83_0222E338 + ldr r0, [r5] + cmp r0, #5 + bne _0222E788 + mov r0, #0x4e + lsl r0, r0, #2 + ldr r1, [r4, r0] + cmp r1, #1 + bne _0222E788 + mov r1, #0 + str r1, [r4, r0] + mov r1, #1 + sub r0, #0x20 + str r1, [r4, r0] + b _0222E788 _0222E74A: - mov r0, #0x45 - lsl r0, r0, #2 - ldr r1, [r4, r0] - cmp r1, #0xf - bne _0222E788 - add r0, #0xc - ldr r1, [r4, r0] - mov r0, #2 - tst r0, r1 - beq _0222E764 - mov r0, #5 - str r0, [r5] - b _0222E788 + mov r0, #0x45 + lsl r0, r0, #2 + ldr r1, [r4, r0] + cmp r1, #0xf + bne _0222E788 + add r0, #0xc + ldr r1, [r4, r0] + mov r0, #2 + tst r0, r1 + beq _0222E764 + mov r0, #5 + str r0, [r5] + b _0222E788 _0222E764: - mov r0, #0 - mov r1, #7 - add r2, r5, #0 - mov r3, #8 - bl MOD83_0223886C - b _0222E788 + mov r0, #0 + mov r1, #7 + add r2, r5, #0 + mov r3, #8 + bl MOD83_0223886C + b _0222E788 _0222E772: - add r0, r6, #0 - bl MOD83_0222E3B8 - mov r0, #1 - pop {r4, r5, r6, pc} + add r0, r6, #0 + bl MOD83_0222E3B8 + mov r0, #1 + pop {r4, r5, r6, pc} _0222E77C: - add r0, r5, #0 - bl MOD83_022388CC - b _0222E788 + add r0, r5, #0 + bl MOD83_022388CC + b _0222E788 _0222E784: - mov r0, #1 - pop {r4, r5, r6, pc} + mov r0, #1 + pop {r4, r5, r6, pc} _0222E788: - add r0, r4, #0 - bl MOD83_0222D6EC - add r0, r4, #0 - bl MOD83_0222D9C0 - bl MOD83_02238D58 - mov r0, #0 - pop {r4, r5, r6, pc} - .align 2, 0 + add r0, r4, #0 + bl MOD83_0222D6EC + add r0, r4, #0 + bl MOD83_0222D9C0 + bl MOD83_02238D58 + mov r0, #0 + pop {r4, r5, r6, pc} + .align 2, 0 _0222E79C: .word 0x00007D8C _0222E7A0: .word MOD83_0222E464 _0222E7A4: .word gMain _0222E7A8: .word 0x000005DC - thumb_func_end MOD83_0222E540 + thumb_func_end MOD83_0222E540 - thumb_func_start MOD83_0222E7AC + thumb_func_start MOD83_0222E7AC MOD83_0222E7AC: ; 0x0222E7AC - push {r3, lr} - ldr r0, [r0, #0x58] - cmp r0, #7 - bhi _0222E822 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r3, lr} + ldr r0, [r0, #0x58] + cmp r0, #7 + bhi _0222E822 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0222E7C0: ; jump table - .short _0222E81A - _0222E7C0 - 2 ; case 0 - .short _0222E7D0 - _0222E7C0 - 2 ; case 1 - .short _0222E7DA - _0222E7C0 - 2 ; case 2 - .short _0222E7E4 - _0222E7C0 - 2 ; case 3 - .short _0222E7F8 - _0222E7C0 - 2 ; case 4 - .short _0222E7EE - _0222E7C0 - 2 ; case 5 - .short _0222E802 - _0222E7C0 - 2 ; case 6 - .short _0222E80A - _0222E7C0 - 2 ; case 7 + .short _0222E81A - _0222E7C0 - 2 ; case 0 + .short _0222E7D0 - _0222E7C0 - 2 ; case 1 + .short _0222E7DA - _0222E7C0 - 2 ; case 2 + .short _0222E7E4 - _0222E7C0 - 2 ; case 3 + .short _0222E7F8 - _0222E7C0 - 2 ; case 4 + .short _0222E7EE - _0222E7C0 - 2 ; case 5 + .short _0222E802 - _0222E7C0 - 2 ; case 6 + .short _0222E80A - _0222E7C0 - 2 ; case 7 _0222E7D0: - ldr r0, _0222E824 ; =SDK_OVERLAY_MODULE_52_ID - ldr r1, _0222E828 ; =MOD52_021D76C8 - bl RegisterMainOverlay - pop {r3, pc} + ldr r0, _0222E824 ; =SDK_OVERLAY_MODULE_52_ID + ldr r1, _0222E828 ; =MOD52_021D76C8 + bl RegisterMainOverlay + pop {r3, pc} _0222E7DA: - ldr r0, _0222E824 ; =SDK_OVERLAY_MODULE_52_ID - ldr r1, _0222E82C ; =MOD52_021D76E8 - bl RegisterMainOverlay - pop {r3, pc} + ldr r0, _0222E824 ; =SDK_OVERLAY_MODULE_52_ID + ldr r1, _0222E82C ; =MOD52_021D76E8 + bl RegisterMainOverlay + pop {r3, pc} _0222E7E4: - ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID - ldr r1, _0222E834 ; =MOD83_0223A434 - bl RegisterMainOverlay - pop {r3, pc} + ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID + ldr r1, _0222E834 ; =MOD83_0223A434 + bl RegisterMainOverlay + pop {r3, pc} _0222E7EE: - ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID - ldr r1, _0222E838 ; =MOD83_0223A4FC - bl RegisterMainOverlay - pop {r3, pc} + ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID + ldr r1, _0222E838 ; =MOD83_0223A4FC + bl RegisterMainOverlay + pop {r3, pc} _0222E7F8: - ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID - ldr r1, _0222E83C ; =MOD83_0223A3A8 - bl RegisterMainOverlay - pop {r3, pc} + ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID + ldr r1, _0222E83C ; =MOD83_0223A3A8 + bl RegisterMainOverlay + pop {r3, pc} _0222E802: - ldr r0, _0222E840 ; =MOD83_0223A8C4 - bl Reset_To_File - pop {r3, pc} + ldr r0, _0222E840 ; =MOD83_0223A8C4 + bl Reset_To_File + pop {r3, pc} _0222E80A: - bl FUN_0200541C - mov r0, #0 - ldr r1, _0222E844 ; =UNK_020FD6D4 - mvn r0, r0 - bl RegisterMainOverlay - pop {r3, pc} + bl FUN_0200541C + mov r0, #0 + ldr r1, _0222E844 ; =UNK_020FD6D4 + mvn r0, r0 + bl RegisterMainOverlay + pop {r3, pc} _0222E81A: - ldr r0, _0222E848 ; =SDK_OVERLAY_MODULE_63_ID - ldr r1, _0222E84C ; =MOD63_021DBAB8 - bl RegisterMainOverlay + ldr r0, _0222E848 ; =SDK_OVERLAY_MODULE_63_ID + ldr r1, _0222E84C ; =MOD63_021DBAB8 + bl RegisterMainOverlay _0222E822: - pop {r3, pc} - .align 2, 0 + pop {r3, pc} + .align 2, 0 _0222E824: .word SDK_OVERLAY_MODULE_52_ID _0222E828: .word MOD52_021D76C8 _0222E82C: .word MOD52_021D76E8 @@ -2361,1632 +2361,1632 @@ _0222E840: .word MOD83_0223A8C4 _0222E844: .word UNK_020FD6D4 _0222E848: .word SDK_OVERLAY_MODULE_63_ID _0222E84C: .word MOD63_021DBAB8 - thumb_func_end MOD83_0222E7AC + thumb_func_end MOD83_0222E7AC - thumb_func_start MOD83_0222E850 + thumb_func_start MOD83_0222E850 MOD83_0222E850: ; 0x0222E850 - push {r4, lr} - add r4, r0, #0 - bl OverlayManager_GetData - bl MOD83_0222E7AC - add r0, r4, #0 - bl OverlayManager_FreeData - mov r0, #0x51 - bl DestroyHeap - mov r0, #0 - bl MOD83_02239450 - mov r0, #1 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_0222E850 - - thumb_func_start MOD83_0222E874 + push {r4, lr} + add r4, r0, #0 + bl OverlayManager_GetData + bl MOD83_0222E7AC + add r0, r4, #0 + bl OverlayManager_FreeData + mov r0, #0x51 + bl DestroyHeap + mov r0, #0 + bl MOD83_02239450 + mov r0, #1 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_0222E850 + + thumb_func_start MOD83_0222E874 MOD83_0222E874: ; 0x0222E874 - push {r3, r4} - ldr r4, _0222E89C ; =MOD83_0223A8E0 - ldr r1, _0222E8A0 ; =0x00000123 - mov r3, #0 + push {r3, r4} + ldr r4, _0222E89C ; =MOD83_0223A8E0 + ldr r1, _0222E8A0 ; =0x00000123 + mov r3, #0 _0222E87C: - ldrh r2, [r4, #2] - cmp r0, r2 - bne _0222E88C - ldr r0, _0222E89C ; =MOD83_0223A8E0 - lsl r1, r3, #2 - ldrh r0, [r0, r1] - pop {r3, r4} - bx lr + ldrh r2, [r4, #2] + cmp r0, r2 + bne _0222E88C + ldr r0, _0222E89C ; =MOD83_0223A8E0 + lsl r1, r3, #2 + ldrh r0, [r0, r1] + pop {r3, r4} + bx lr _0222E88C: - add r3, r3, #1 - add r4, r4, #4 - cmp r3, r1 - blo _0222E87C - mov r0, #0x3f - pop {r3, r4} - bx lr - nop + add r3, r3, #1 + add r4, r4, #4 + cmp r3, r1 + blo _0222E87C + mov r0, #0x3f + pop {r3, r4} + bx lr + nop _0222E89C: .word MOD83_0223A8E0 _0222E8A0: .word 0x00000123 - thumb_func_end MOD83_0222E874 + thumb_func_end MOD83_0222E874 - thumb_func_start MOD83_0222E8A4 + thumb_func_start MOD83_0222E8A4 MOD83_0222E8A4: ; 0x0222E8A4 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r1, _0222E90C ; =0x00002710 - add r0, r4, #0 - bl _s32_div_f - add r0, #0x30 - strh r0, [r5] - ldr r1, _0222E90C ; =0x00002710 - add r0, r4, #0 - bl _s32_div_f - add r4, r1, #0 - mov r1, #0xfa - add r0, r4, #0 - lsl r1, r1, #2 - bl _s32_div_f - add r0, #0x30 - mov r1, #0xfa - strh r0, [r5, #2] - add r0, r4, #0 - lsl r1, r1, #2 - bl _s32_div_f - add r4, r1, #0 - add r0, r4, #0 - mov r1, #0x64 - bl _s32_div_f - add r0, #0x30 - strh r0, [r5, #4] - add r0, r4, #0 - mov r1, #0x64 - bl _s32_div_f - add r4, r1, #0 - add r0, r4, #0 - mov r1, #0xa - bl _s32_div_f - add r0, #0x30 - strh r0, [r5, #6] - add r0, r4, #0 - mov r1, #0xa - bl _s32_div_f - add r4, r1, #0 - add r4, #0x30 - strh r4, [r5, #8] - pop {r3, r4, r5, pc} - .align 2, 0 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + ldr r1, _0222E90C ; =0x00002710 + add r0, r4, #0 + bl _s32_div_f + add r0, #0x30 + strh r0, [r5] + ldr r1, _0222E90C ; =0x00002710 + add r0, r4, #0 + bl _s32_div_f + add r4, r1, #0 + mov r1, #0xfa + add r0, r4, #0 + lsl r1, r1, #2 + bl _s32_div_f + add r0, #0x30 + mov r1, #0xfa + strh r0, [r5, #2] + add r0, r4, #0 + lsl r1, r1, #2 + bl _s32_div_f + add r4, r1, #0 + add r0, r4, #0 + mov r1, #0x64 + bl _s32_div_f + add r0, #0x30 + strh r0, [r5, #4] + add r0, r4, #0 + mov r1, #0x64 + bl _s32_div_f + add r4, r1, #0 + add r0, r4, #0 + mov r1, #0xa + bl _s32_div_f + add r0, #0x30 + strh r0, [r5, #6] + add r0, r4, #0 + mov r1, #0xa + bl _s32_div_f + add r4, r1, #0 + add r4, #0x30 + strh r4, [r5, #8] + pop {r3, r4, r5, pc} + .align 2, 0 _0222E90C: .word 0x00002710 - thumb_func_end MOD83_0222E8A4 + thumb_func_end MOD83_0222E8A4 - thumb_func_start MOD83_0222E910 + thumb_func_start MOD83_0222E910 MOD83_0222E910: ; 0x0222E910 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - ldr r0, [r7, #0x10] - bl PlayerProfile_GetNamePtr - ldr r5, _0222E948 ; =MOD83_0223B860 - add r4, r0, #0 - mov r6, #0 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + ldr r0, [r7, #0x10] + bl PlayerProfile_GetNamePtr + ldr r5, _0222E948 ; =MOD83_0223B860 + add r4, r0, #0 + mov r6, #0 _0222E920: - ldrh r0, [r4] - bl MOD83_0222E874 - strh r0, [r5] - add r6, r6, #1 - add r4, r4, #2 - add r5, r5, #2 - cmp r6, #8 - blt _0222E920 - ldr r0, [r7, #0x10] - bl PlayerProfile_GetTrainerID_VisibleHalf - add r1, r0, #0 - ldr r0, _0222E94C ; =MOD83_0223B870 - bl MOD83_0222E8A4 - ldr r0, _0222E950 ; =MOD83_0223B860 - mov r1, #0 - strh r1, [r0, #0x1a] - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + ldrh r0, [r4] + bl MOD83_0222E874 + strh r0, [r5] + add r6, r6, #1 + add r4, r4, #2 + add r5, r5, #2 + cmp r6, #8 + blt _0222E920 + ldr r0, [r7, #0x10] + bl PlayerProfile_GetTrainerID_VisibleHalf + add r1, r0, #0 + ldr r0, _0222E94C ; =MOD83_0223B870 + bl MOD83_0222E8A4 + ldr r0, _0222E950 ; =MOD83_0223B860 + mov r1, #0 + strh r1, [r0, #0x1a] + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _0222E948: .word MOD83_0223B860 _0222E94C: .word MOD83_0223B870 _0222E950: .word MOD83_0223B860 - thumb_func_end MOD83_0222E910 + thumb_func_end MOD83_0222E910 - thumb_func_start MOD83_0222E954 + thumb_func_start MOD83_0222E954 MOD83_0222E954: ; 0x0222E954 - push {r3, r4, r5, lr} - sub sp, #0x48 - ldr r5, _0222EA80 ; =MOD83_0223A3C8 - add r4, r0, #0 - add r3, sp, #0x20 - mov r2, #5 + push {r3, r4, r5, lr} + sub sp, #0x48 + ldr r5, _0222EA80 ; =MOD83_0223A3C8 + add r4, r0, #0 + add r3, sp, #0x20 + mov r2, #5 _0222E960: - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0222E960 - ldr r3, _0222EA84 ; =MOD83_0223A3B8 - add r2, sp, #0x10 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - add r0, sp, #0x20 - bl GX_SetBanks - add r0, sp, #0x10 - bl SetBothScreensModesAndDisable - mov r1, #0 - str r1, [sp] - mov r3, #0xf - ldr r0, [r4, #4] - mov r2, #1 - lsl r3, r3, #0xc - bl MOD83_022387D8 - mov r0, #1 - lsl r0, r0, #0xe - str r0, [sp] - mov r1, #1 - mov r3, #0x3e - ldr r0, [r4, #4] - add r2, r1, #0 - lsl r3, r3, #0xa - bl MOD83_022387D8 - mov r0, #0 - str r0, [sp] - mov r3, #0x1e - ldr r0, [r4, #4] - mov r1, #4 - mov r2, #1 - lsl r3, r3, #0xa - bl MOD83_022387D8 - mov r0, #1 - lsl r0, r0, #0xe - str r0, [sp] - mov r3, #7 - ldr r0, [r4, #4] - mov r1, #5 - mov r2, #1 - lsl r3, r3, #0xc - bl MOD83_022387D8 - bl FUN_0201BD5C - mov r0, #0 - ldr r2, [r4] - add r1, r0, #0 - bl FUN_02002ED0 - mov r1, #0 - str r1, [sp] - ldr r0, [r4] - mov r2, #1 - str r0, [sp, #4] - ldr r0, [r4, #4] - add r3, r2, #0 - bl FUN_0200CB00 - ldr r0, [r4, #0x14] - bl Options_GetFrame - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - ldr r0, [r4] - mov r1, #0 - str r0, [sp, #4] - ldr r0, [r4, #4] - mov r2, #0xa - mov r3, #2 - bl FUN_0200CD68 - mov r0, #0x20 - str r0, [sp] - ldr r0, [r4] - mov r1, #0 - str r0, [sp, #4] - mov r0, #0x74 - add r3, r0, #0 - add r2, r1, #0 - add r3, #0x8c - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - mov r0, #5 - lsl r0, r0, #0xa - mov r1, #1 - str r0, [sp, #4] - str r1, [sp, #8] - ldr r0, [r4] - add r3, r1, #0 - str r0, [sp, #0xc] - ldr r2, [r4, #4] - mov r0, #0x74 - bl GfGfxLoader_LoadCharData - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r3, #1 - str r3, [sp, #8] - ldr r0, [r4] - mov r1, #2 - str r0, [sp, #0xc] - ldr r2, [r4, #4] - mov r0, #0x74 - bl GfGfxLoader_LoadScrnData - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - str r0, [sp, #4] - mov r0, #8 - str r0, [sp, #8] - mov r2, #0 - ldr r0, [r4, #4] - mov r1, #1 - add r3, r2, #0 - bl BgTilemapRectChangePalette - ldr r0, [r4, #4] - mov r1, #1 - bl BgCommitTilemapBufferToVram - add r0, r4, #0 - bl MOD83_0222EA88 - add sp, #0x48 - pop {r3, r4, r5, pc} - nop + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0222E960 + ldr r3, _0222EA84 ; =MOD83_0223A3B8 + add r2, sp, #0x10 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + add r0, sp, #0x20 + bl GX_SetBanks + add r0, sp, #0x10 + bl SetBothScreensModesAndDisable + mov r1, #0 + str r1, [sp] + mov r3, #0xf + ldr r0, [r4, #4] + mov r2, #1 + lsl r3, r3, #0xc + bl MOD83_022387D8 + mov r0, #1 + lsl r0, r0, #0xe + str r0, [sp] + mov r1, #1 + mov r3, #0x3e + ldr r0, [r4, #4] + add r2, r1, #0 + lsl r3, r3, #0xa + bl MOD83_022387D8 + mov r0, #0 + str r0, [sp] + mov r3, #0x1e + ldr r0, [r4, #4] + mov r1, #4 + mov r2, #1 + lsl r3, r3, #0xa + bl MOD83_022387D8 + mov r0, #1 + lsl r0, r0, #0xe + str r0, [sp] + mov r3, #7 + ldr r0, [r4, #4] + mov r1, #5 + mov r2, #1 + lsl r3, r3, #0xc + bl MOD83_022387D8 + bl FUN_0201BD5C + mov r0, #0 + ldr r2, [r4] + add r1, r0, #0 + bl FUN_02002ED0 + mov r1, #0 + str r1, [sp] + ldr r0, [r4] + mov r2, #1 + str r0, [sp, #4] + ldr r0, [r4, #4] + add r3, r2, #0 + bl FUN_0200CB00 + ldr r0, [r4, #0x14] + bl Options_GetFrame + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + ldr r0, [r4] + mov r1, #0 + str r0, [sp, #4] + ldr r0, [r4, #4] + mov r2, #0xa + mov r3, #2 + bl FUN_0200CD68 + mov r0, #0x20 + str r0, [sp] + ldr r0, [r4] + mov r1, #0 + str r0, [sp, #4] + mov r0, #0x74 + add r3, r0, #0 + add r2, r1, #0 + add r3, #0x8c + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + mov r0, #5 + lsl r0, r0, #0xa + mov r1, #1 + str r0, [sp, #4] + str r1, [sp, #8] + ldr r0, [r4] + add r3, r1, #0 + str r0, [sp, #0xc] + ldr r2, [r4, #4] + mov r0, #0x74 + bl GfGfxLoader_LoadCharData + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r3, #1 + str r3, [sp, #8] + ldr r0, [r4] + mov r1, #2 + str r0, [sp, #0xc] + ldr r2, [r4, #4] + mov r0, #0x74 + bl GfGfxLoader_LoadScrnData + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + str r0, [sp, #4] + mov r0, #8 + str r0, [sp, #8] + mov r2, #0 + ldr r0, [r4, #4] + mov r1, #1 + add r3, r2, #0 + bl BgTilemapRectChangePalette + ldr r0, [r4, #4] + mov r1, #1 + bl BgCommitTilemapBufferToVram + add r0, r4, #0 + bl MOD83_0222EA88 + add sp, #0x48 + pop {r3, r4, r5, pc} + nop _0222EA80: .word MOD83_0223A3C8 _0222EA84: .word MOD83_0223A3B8 - thumb_func_end MOD83_0222E954 + thumb_func_end MOD83_0222E954 - thumb_func_start MOD83_0222EA88 + thumb_func_start MOD83_0222EA88 MOD83_0222EA88: ; 0x0222EA88 - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - mov r0, #0x20 - str r0, [sp] - ldr r0, [r4] - mov r2, #4 - add r3, r2, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0 - add r3, #0xfc - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - mov r0, #5 - lsl r0, r0, #0xa - str r0, [sp, #4] - mov r1, #1 - str r1, [sp, #8] - ldr r0, [r4] - mov r3, #4 - str r0, [sp, #0xc] - ldr r2, [r4, #4] - mov r0, #0x74 - bl GfGfxLoader_LoadCharData - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, [r4] - mov r1, #2 - str r0, [sp, #0xc] - ldr r2, [r4, #4] - mov r0, #0x74 - mov r3, #4 - bl GfGfxLoader_LoadScrnData - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - str r0, [sp, #4] - mov r0, #8 - str r0, [sp, #8] - mov r2, #0 - ldr r0, [r4, #4] - mov r1, #4 - add r3, r2, #0 - bl BgTilemapRectChangePalette - ldr r0, [r4, #4] - mov r1, #4 - bl BgCommitTilemapBufferToVram - add sp, #0x10 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_0222EA88 - - thumb_func_start MOD83_0222EB04 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + mov r0, #0x20 + str r0, [sp] + ldr r0, [r4] + mov r2, #4 + add r3, r2, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0 + add r3, #0xfc + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + mov r0, #5 + lsl r0, r0, #0xa + str r0, [sp, #4] + mov r1, #1 + str r1, [sp, #8] + ldr r0, [r4] + mov r3, #4 + str r0, [sp, #0xc] + ldr r2, [r4, #4] + mov r0, #0x74 + bl GfGfxLoader_LoadCharData + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + ldr r0, [r4] + mov r1, #2 + str r0, [sp, #0xc] + ldr r2, [r4, #4] + mov r0, #0x74 + mov r3, #4 + bl GfGfxLoader_LoadScrnData + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + str r0, [sp, #4] + mov r0, #8 + str r0, [sp, #8] + mov r2, #0 + ldr r0, [r4, #4] + mov r1, #4 + add r3, r2, #0 + bl BgTilemapRectChangePalette + ldr r0, [r4, #4] + mov r1, #4 + bl BgCommitTilemapBufferToVram + add sp, #0x10 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_0222EA88 + + thumb_func_start MOD83_0222EB04 MOD83_0222EB04: ; 0x0222EB04 - push {r3, r4, lr} - sub sp, #0x5c - add r4, r0, #0 - add r0, #0x18 - bl WindowIsInUse - cmp r0, #0 - bne _0222EB4E - mov r0, #1 - str r0, [sp] - add r1, r4, #0 - str r0, [sp, #4] - add r0, sp, #8 - add r1, #0x18 - mov r2, #0 - mov r3, #0xc - bl MOD83_022388E4 - mov r3, #0x51 - lsl r3, r3, #2 - ldr r3, [r4, r3] - add r0, sp, #8 - mov r1, #0x16 - mov r2, #0x10 - bl MOD83_02238934 - mov r0, #2 - str r0, [sp] - ldr r0, [r4, #4] - add r1, sp, #8 - mov r2, #5 - mov r3, #4 - bl MOD83_02238A38 - add sp, #0x5c - mov r0, #1 - pop {r3, r4, pc} + push {r3, r4, lr} + sub sp, #0x5c + add r4, r0, #0 + add r0, #0x18 + bl WindowIsInUse + cmp r0, #0 + bne _0222EB4E + mov r0, #1 + str r0, [sp] + add r1, r4, #0 + str r0, [sp, #4] + add r0, sp, #8 + add r1, #0x18 + mov r2, #0 + mov r3, #0xc + bl MOD83_022388E4 + mov r3, #0x51 + lsl r3, r3, #2 + ldr r3, [r4, r3] + add r0, sp, #8 + mov r1, #0x16 + mov r2, #0x10 + bl MOD83_02238934 + mov r0, #2 + str r0, [sp] + ldr r0, [r4, #4] + add r1, sp, #8 + mov r2, #5 + mov r3, #4 + bl MOD83_02238A38 + add sp, #0x5c + mov r0, #1 + pop {r3, r4, pc} _0222EB4E: - ldr r0, _0222EB78 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #3 - tst r0, r1 - beq _0222EB70 - add r0, r4, #0 - add r0, #0x18 - mov r1, #0 - bl FUN_0200CCF8 - add r4, #0x18 - add r0, r4, #0 - bl RemoveWindow - add sp, #0x5c - mov r0, #0 - pop {r3, r4, pc} + ldr r0, _0222EB78 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #3 + tst r0, r1 + beq _0222EB70 + add r0, r4, #0 + add r0, #0x18 + mov r1, #0 + bl FUN_0200CCF8 + add r4, #0x18 + add r0, r4, #0 + bl RemoveWindow + add sp, #0x5c + mov r0, #0 + pop {r3, r4, pc} _0222EB70: - mov r0, #1 - add sp, #0x5c - pop {r3, r4, pc} - nop + mov r0, #1 + add sp, #0x5c + pop {r3, r4, pc} + nop _0222EB78: .word gMain - thumb_func_end MOD83_0222EB04 + thumb_func_end MOD83_0222EB04 - thumb_func_start MOD83_0222EB7C + thumb_func_start MOD83_0222EB7C MOD83_0222EB7C: ; 0x0222EB7C - push {r4, lr} - sub sp, #8 - add r4, r0, #0 - mov r0, #0xa - str r0, [sp] - mov r0, #2 - str r0, [sp, #4] - add r0, r4, #0 - add r1, r4, #0 - ldr r3, _0222EC70 ; =0x00000172 - add r0, #0x48 - add r1, #0x28 - mov r2, #0 - bl MOD83_022388E4 - mov r3, #0x51 - lsl r3, r3, #2 - add r0, r4, #0 - ldr r3, [r4, r3] - add r0, #0x48 - mov r1, #0x1b - mov r2, #4 - bl MOD83_02238934 - add r0, r4, #0 - mov r1, #1 - add r0, #0x48 - add r2, r1, #0 - bl MOD83_0223893C - mov r0, #0x46 - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 - add r0, r4, #0 - add r0, #0x48 - bl MOD83_02238AF4 - mov r3, #0x51 - lsl r3, r3, #2 - ldr r1, [r4, r3] - mov r2, #0 - add r0, r1, r0 - str r0, [r4, r3] - mov r0, #1 - str r0, [sp] - str r0, [sp, #4] - add r0, r4, #0 - add r1, r4, #0 - add r0, #0x9c - add r1, #0x18 - add r3, #0x2e - bl MOD83_022388E4 - mov r3, #0x51 - lsl r3, r3, #2 - add r0, r4, #0 - ldr r3, [r4, r3] - add r0, #0x9c - mov r1, #0x1e - mov r2, #4 - bl MOD83_02238934 - add r0, r4, #0 - add r0, #0x9c - mov r1, #0 - mov r2, #1 - bl MOD83_0223893C - mov r0, #0xb - str r0, [sp] - add r1, r4, #0 - mov r2, #1 - ldr r0, [r4, #4] - add r1, #0x9c - add r3, r2, #0 - bl MOD83_02238A38 - add r0, r4, #0 - add r0, #0x9c - bl MOD83_02238AF4 - mov r1, #0x51 - lsl r1, r1, #2 - ldr r2, [r4, r1] - add r0, r2, r0 - str r0, [r4, r1] - bl MOD83_02238AFC - bl MOD83_02238B4C - mov r0, #8 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0xa - mov r2, #7 - mov r3, #9 - bl MOD83_02238BC4 - mov r0, #1 - str r0, [sp] - ldr r1, _0222EC74 ; =0x00003170 - mov r0, #0 - ldr r1, [r4, r1] - mov r2, #0x80 - mov r3, #0x4c - bl MOD83_02238DBC - ldr r1, _0222EC74 ; =0x00003170 - str r0, [r4, r1] - add r0, r4, #0 - bl MOD83_0222EC78 - add sp, #8 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + sub sp, #8 + add r4, r0, #0 + mov r0, #0xa + str r0, [sp] + mov r0, #2 + str r0, [sp, #4] + add r0, r4, #0 + add r1, r4, #0 + ldr r3, _0222EC70 ; =0x00000172 + add r0, #0x48 + add r1, #0x28 + mov r2, #0 + bl MOD83_022388E4 + mov r3, #0x51 + lsl r3, r3, #2 + add r0, r4, #0 + ldr r3, [r4, r3] + add r0, #0x48 + mov r1, #0x1b + mov r2, #4 + bl MOD83_02238934 + add r0, r4, #0 + mov r1, #1 + add r0, #0x48 + add r2, r1, #0 + bl MOD83_0223893C + mov r0, #0x46 + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 + add r0, r4, #0 + add r0, #0x48 + bl MOD83_02238AF4 + mov r3, #0x51 + lsl r3, r3, #2 + ldr r1, [r4, r3] + mov r2, #0 + add r0, r1, r0 + str r0, [r4, r3] + mov r0, #1 + str r0, [sp] + str r0, [sp, #4] + add r0, r4, #0 + add r1, r4, #0 + add r0, #0x9c + add r1, #0x18 + add r3, #0x2e + bl MOD83_022388E4 + mov r3, #0x51 + lsl r3, r3, #2 + add r0, r4, #0 + ldr r3, [r4, r3] + add r0, #0x9c + mov r1, #0x1e + mov r2, #4 + bl MOD83_02238934 + add r0, r4, #0 + add r0, #0x9c + mov r1, #0 + mov r2, #1 + bl MOD83_0223893C + mov r0, #0xb + str r0, [sp] + add r1, r4, #0 + mov r2, #1 + ldr r0, [r4, #4] + add r1, #0x9c + add r3, r2, #0 + bl MOD83_02238A38 + add r0, r4, #0 + add r0, #0x9c + bl MOD83_02238AF4 + mov r1, #0x51 + lsl r1, r1, #2 + ldr r2, [r4, r1] + add r0, r2, r0 + str r0, [r4, r1] + bl MOD83_02238AFC + bl MOD83_02238B4C + mov r0, #8 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0xa + mov r2, #7 + mov r3, #9 + bl MOD83_02238BC4 + mov r0, #1 + str r0, [sp] + ldr r1, _0222EC74 ; =0x00003170 + mov r0, #0 + ldr r1, [r4, r1] + mov r2, #0x80 + mov r3, #0x4c + bl MOD83_02238DBC + ldr r1, _0222EC74 ; =0x00003170 + str r0, [r4, r1] + add r0, r4, #0 + bl MOD83_0222EC78 + add sp, #8 + pop {r4, pc} + .align 2, 0 _0222EC70: .word 0x00000172 _0222EC74: .word 0x00003170 - thumb_func_end MOD83_0222EB7C + thumb_func_end MOD83_0222EB7C - thumb_func_start MOD83_0222EC78 + thumb_func_start MOD83_0222EC78 MOD83_0222EC78: ; 0x0222EC78 - push {r3, r4, r5, lr} - sub sp, #0x20 - add r5, r0, #0 - ldr r0, [r5] - bl ScrStrBufs_new - add r4, r0, #0 - mov r0, #1 - str r0, [sp] - str r0, [sp, #4] - add r0, r5, #0 - add r1, r5, #0 - ldr r3, _0222ED84 ; =0x00000172 - add r0, #0xf0 - add r1, #0x38 - mov r2, #0 - bl MOD83_022388E4 - mov r3, #0x51 - lsl r3, r3, #2 - add r0, r5, #0 - ldr r3, [r5, r3] - add r0, #0xf0 - mov r1, #0x1a - mov r2, #4 - bl MOD83_02238934 - add r0, r5, #0 - add r0, #0xf0 - mov r1, #0 - mov r2, #1 - bl MOD83_0223893C - mov r0, #0x41 - lsl r0, r0, #2 - str r4, [r5, r0] - ldr r2, [r5, #0x10] - add r0, r4, #0 - mov r1, #0 - bl BufferPlayersName - ldr r0, [r5, #0x10] - bl PlayerProfile_GetTrainerID_VisibleHalf - add r2, r0, #0 - mov r0, #2 - str r0, [sp] - mov r1, #1 - add r0, r4, #0 - mov r3, #5 - str r1, [sp, #4] - bl BufferIntegerAsString - mov r0, #0x42 - str r0, [sp] - add r1, r5, #0 - ldr r0, [r5, #4] - add r1, #0xf0 - mov r2, #3 - mov r3, #0xd - bl MOD83_02238A38 - add r1, r5, #0 - mov r0, #0 - add r1, #0xf8 - str r0, [r1] - mov r1, #1 - bl GetFontAttribute - add r2, r0, #0 - add r0, r5, #0 - add r0, #0xf0 - mov r1, #0 - bl MOD83_02238944 - mov r2, #0x44 - str r2, [sp] - add r1, r5, #0 - sub r2, #0x45 - ldr r0, [r5, #4] - add r1, #0xf0 - add r3, r2, #0 - bl MOD83_02238A38 - add r0, sp, #0x10 - bl OS_GetMacAddress - add r0, sp, #0x10 - bl MOD83_02234704 - add r1, sp, #0x1c - add r2, sp, #0x18 - str r0, [sp, #8] - str r0, [sp, #0xc] - bl MOD83_02234748 - mov r0, #2 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r2, [sp, #0x1c] - add r0, r4, #0 - mov r1, #0 - mov r3, #4 - bl BufferIntegerAsString - mov r0, #2 - str r0, [sp] - mov r1, #1 - str r1, [sp, #4] - ldr r2, [sp, #0x18] - add r0, r4, #0 - mov r3, #4 - bl BufferIntegerAsString - add r0, r5, #0 - mov r1, #1 - add r0, #0xfc - str r1, [r0] - mov r2, #0x45 - str r2, [sp] - ldr r0, [r5, #4] - add r5, #0xf0 - sub r2, #0x46 - add r1, r5, #0 - add r3, r2, #0 - bl MOD83_02238A38 - add r0, r4, #0 - bl ScrStrBufs_delete - add sp, #0x20 - pop {r3, r4, r5, pc} - nop + push {r3, r4, r5, lr} + sub sp, #0x20 + add r5, r0, #0 + ldr r0, [r5] + bl ScrStrBufs_new + add r4, r0, #0 + mov r0, #1 + str r0, [sp] + str r0, [sp, #4] + add r0, r5, #0 + add r1, r5, #0 + ldr r3, _0222ED84 ; =0x00000172 + add r0, #0xf0 + add r1, #0x38 + mov r2, #0 + bl MOD83_022388E4 + mov r3, #0x51 + lsl r3, r3, #2 + add r0, r5, #0 + ldr r3, [r5, r3] + add r0, #0xf0 + mov r1, #0x1a + mov r2, #4 + bl MOD83_02238934 + add r0, r5, #0 + add r0, #0xf0 + mov r1, #0 + mov r2, #1 + bl MOD83_0223893C + mov r0, #0x41 + lsl r0, r0, #2 + str r4, [r5, r0] + ldr r2, [r5, #0x10] + add r0, r4, #0 + mov r1, #0 + bl BufferPlayersName + ldr r0, [r5, #0x10] + bl PlayerProfile_GetTrainerID_VisibleHalf + add r2, r0, #0 + mov r0, #2 + str r0, [sp] + mov r1, #1 + add r0, r4, #0 + mov r3, #5 + str r1, [sp, #4] + bl BufferIntegerAsString + mov r0, #0x42 + str r0, [sp] + add r1, r5, #0 + ldr r0, [r5, #4] + add r1, #0xf0 + mov r2, #3 + mov r3, #0xd + bl MOD83_02238A38 + add r1, r5, #0 + mov r0, #0 + add r1, #0xf8 + str r0, [r1] + mov r1, #1 + bl GetFontAttribute + add r2, r0, #0 + add r0, r5, #0 + add r0, #0xf0 + mov r1, #0 + bl MOD83_02238944 + mov r2, #0x44 + str r2, [sp] + add r1, r5, #0 + sub r2, #0x45 + ldr r0, [r5, #4] + add r1, #0xf0 + add r3, r2, #0 + bl MOD83_02238A38 + add r0, sp, #0x10 + bl OS_GetMacAddress + add r0, sp, #0x10 + bl MOD83_02234704 + add r1, sp, #0x1c + add r2, sp, #0x18 + str r0, [sp, #8] + str r0, [sp, #0xc] + bl MOD83_02234748 + mov r0, #2 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r2, [sp, #0x1c] + add r0, r4, #0 + mov r1, #0 + mov r3, #4 + bl BufferIntegerAsString + mov r0, #2 + str r0, [sp] + mov r1, #1 + str r1, [sp, #4] + ldr r2, [sp, #0x18] + add r0, r4, #0 + mov r3, #4 + bl BufferIntegerAsString + add r0, r5, #0 + mov r1, #1 + add r0, #0xfc + str r1, [r0] + mov r2, #0x45 + str r2, [sp] + ldr r0, [r5, #4] + add r5, #0xf0 + sub r2, #0x46 + add r1, r5, #0 + add r3, r2, #0 + bl MOD83_02238A38 + add r0, r4, #0 + bl ScrStrBufs_delete + add sp, #0x20 + pop {r3, r4, r5, pc} + nop _0222ED84: .word 0x00000172 - thumb_func_end MOD83_0222EC78 + thumb_func_end MOD83_0222EC78 - thumb_func_start MOD83_0222ED88 + thumb_func_start MOD83_0222ED88 MOD83_0222ED88: ; 0x0222ED88 - push {r4, lr} - bl OverlayManager_GetData - add r4, r0, #0 - bl MOD83_02238E48 - add r0, r4, #0 - add r0, #0x18 - bl WindowIsInUse - cmp r0, #1 - bne _0222EDD0 - add r0, r4, #0 - add r0, #0x18 - bl ClearWindowTilemapAndCopyToVram - add r0, r4, #0 - add r0, #0x18 - bl RemoveWindow - add r0, r4, #0 - add r0, #0x28 - bl ClearWindowTilemapAndCopyToVram - add r0, r4, #0 - add r0, #0x28 - bl RemoveWindow - add r0, r4, #0 - add r0, #0x38 - bl ClearWindowTilemapAndCopyToVram - add r0, r4, #0 - add r0, #0x38 - bl RemoveWindow + push {r4, lr} + bl OverlayManager_GetData + add r4, r0, #0 + bl MOD83_02238E48 + add r0, r4, #0 + add r0, #0x18 + bl WindowIsInUse + cmp r0, #1 + bne _0222EDD0 + add r0, r4, #0 + add r0, #0x18 + bl ClearWindowTilemapAndCopyToVram + add r0, r4, #0 + add r0, #0x18 + bl RemoveWindow + add r0, r4, #0 + add r0, #0x28 + bl ClearWindowTilemapAndCopyToVram + add r0, r4, #0 + add r0, #0x28 + bl RemoveWindow + add r0, r4, #0 + add r0, #0x38 + bl ClearWindowTilemapAndCopyToVram + add r0, r4, #0 + add r0, #0x38 + bl RemoveWindow _0222EDD0: - ldr r0, [r4, #4] - mov r1, #0 - bl FreeBgTilemapBuffer - ldr r0, [r4, #4] - mov r1, #1 - bl FreeBgTilemapBuffer - ldr r0, [r4, #4] - mov r1, #4 - bl FreeBgTilemapBuffer - ldr r0, [r4, #4] - mov r1, #5 - bl FreeBgTilemapBuffer - ldr r0, [r4, #4] - bl FreeToHeap - pop {r4, pc} - thumb_func_end MOD83_0222ED88 - - thumb_func_start MOD83_0222EDF8 + ldr r0, [r4, #4] + mov r1, #0 + bl FreeBgTilemapBuffer + ldr r0, [r4, #4] + mov r1, #1 + bl FreeBgTilemapBuffer + ldr r0, [r4, #4] + mov r1, #4 + bl FreeBgTilemapBuffer + ldr r0, [r4, #4] + mov r1, #5 + bl FreeBgTilemapBuffer + ldr r0, [r4, #4] + bl FreeToHeap + pop {r4, pc} + thumb_func_end MOD83_0222ED88 + + thumb_func_start MOD83_0222EDF8 MOD83_0222EDF8: ; 0x0222EDF8 - push {r3, r4, r5, lr} - mov r3, #2 - ldr r2, _0222EE80 ; =0x000034DC - mov r1, #0x55 - lsl r3, r3, #0x10 - add r5, r0, #0 - bl MOD83_022387A0 - add r4, r0, #0 - mov r0, #0x55 - str r0, [r4] - bl BgConfig_Alloc - str r0, [r4, #4] - add r0, r5, #0 - bl OverlayManager_GetField18 - ldr r0, [r0, #8] - str r0, [r4, #8] - bl Sav2_PlayerData_GetProfileAddr - str r0, [r4, #0x10] - ldr r0, [r4, #8] - bl Sav2_Pokedex_get - str r0, [r4, #0xc] - ldr r0, [r4, #8] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #0x14] - ldr r0, [r4] - bl MOD83_02238770 - ldr r0, [r4, #8] - bl FUN_0202251C - ldr r1, _0222EE84 ; =0x00003174 - mov r2, #0x53 - str r0, [r4, r1] - mov r0, #9 - lsl r2, r2, #2 - str r0, [r4, r2] - add r0, r2, #0 - mov r1, #0x28 - sub r0, #8 - str r1, [r4, r0] - add r1, r2, #0 - mov r0, #0 - add r1, #8 - str r0, [r4, r1] - add r1, r2, #0 - add r1, #0x10 - str r0, [r4, r1] - add r2, #0xc - str r0, [r4, r2] - mov r2, #3 - mov r1, #0x5b - lsl r2, r2, #8 - bl CreateHeap - ldr r1, _0222EE88 ; =0x00000496 - mov r0, #9 - mov r2, #1 - bl FUN_0200433C - mov r0, #1 - pop {r3, r4, r5, pc} - nop + push {r3, r4, r5, lr} + mov r3, #2 + ldr r2, _0222EE80 ; =0x000034DC + mov r1, #0x55 + lsl r3, r3, #0x10 + add r5, r0, #0 + bl MOD83_022387A0 + add r4, r0, #0 + mov r0, #0x55 + str r0, [r4] + bl BgConfig_Alloc + str r0, [r4, #4] + add r0, r5, #0 + bl OverlayManager_GetField18 + ldr r0, [r0, #8] + str r0, [r4, #8] + bl Sav2_PlayerData_GetProfileAddr + str r0, [r4, #0x10] + ldr r0, [r4, #8] + bl Sav2_Pokedex_get + str r0, [r4, #0xc] + ldr r0, [r4, #8] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #0x14] + ldr r0, [r4] + bl MOD83_02238770 + ldr r0, [r4, #8] + bl FUN_0202251C + ldr r1, _0222EE84 ; =0x00003174 + mov r2, #0x53 + str r0, [r4, r1] + mov r0, #9 + lsl r2, r2, #2 + str r0, [r4, r2] + add r0, r2, #0 + mov r1, #0x28 + sub r0, #8 + str r1, [r4, r0] + add r1, r2, #0 + mov r0, #0 + add r1, #8 + str r0, [r4, r1] + add r1, r2, #0 + add r1, #0x10 + str r0, [r4, r1] + add r2, #0xc + str r0, [r4, r2] + mov r2, #3 + mov r1, #0x5b + lsl r2, r2, #8 + bl CreateHeap + ldr r1, _0222EE88 ; =0x00000496 + mov r0, #9 + mov r2, #1 + bl FUN_0200433C + mov r0, #1 + pop {r3, r4, r5, pc} + nop _0222EE80: .word 0x000034DC _0222EE84: .word 0x00003174 _0222EE88: .word 0x00000496 - thumb_func_end MOD83_0222EDF8 + thumb_func_end MOD83_0222EDF8 - thumb_func_start MOD83_0222EE8C + thumb_func_start MOD83_0222EE8C MOD83_0222EE8C: ; 0x0222EE8C - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r5, r1, #0 - add r6, r0, #0 - bl OverlayManager_GetData - ldr r1, [r5] - add r4, r0, #0 - cmp r1, #0xd - bhi _0222EEF2 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 + push {r3, r4, r5, r6, lr} + sub sp, #4 + add r5, r1, #0 + add r6, r0, #0 + bl OverlayManager_GetData + ldr r1, [r5] + add r4, r0, #0 + cmp r1, #0xd + bhi _0222EEF2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 _0222EEAC: ; jump table - .short _0222EEC8 - _0222EEAC - 2 ; case 0 - .short _0222EEEA - _0222EEAC - 2 ; case 1 - .short _0222EF08 - _0222EEAC - 2 ; case 2 - .short _0222EF5A - _0222EEAC - 2 ; case 3 - .short _0222EF86 - _0222EEAC - 2 ; case 4 - .short _0222EFC2 - _0222EEAC - 2 ; case 5 - .short _0222EFFC - _0222EEAC - 2 ; case 6 - .short _0222F02C - _0222EEAC - 2 ; case 7 - .short _0222F02C - _0222EEAC - 2 ; case 8 - .short _0222F02C - _0222EEAC - 2 ; case 9 - .short _0222F02C - _0222EEAC - 2 ; case 10 - .short _0222F012 - _0222EEAC - 2 ; case 11 - .short _0222F01A - _0222EEAC - 2 ; case 12 - .short _0222F026 - _0222EEAC - 2 ; case 13 + .short _0222EEC8 - _0222EEAC - 2 ; case 0 + .short _0222EEEA - _0222EEAC - 2 ; case 1 + .short _0222EF08 - _0222EEAC - 2 ; case 2 + .short _0222EF5A - _0222EEAC - 2 ; case 3 + .short _0222EF86 - _0222EEAC - 2 ; case 4 + .short _0222EFC2 - _0222EEAC - 2 ; case 5 + .short _0222EFFC - _0222EEAC - 2 ; case 6 + .short _0222F02C - _0222EEAC - 2 ; case 7 + .short _0222F02C - _0222EEAC - 2 ; case 8 + .short _0222F02C - _0222EEAC - 2 ; case 9 + .short _0222F02C - _0222EEAC - 2 ; case 10 + .short _0222F012 - _0222EEAC - 2 ; case 11 + .short _0222F01A - _0222EEAC - 2 ; case 12 + .short _0222F026 - _0222EEAC - 2 ; case 13 _0222EEC8: - bl MOD83_0222E954 - ldr r0, [r4, #0xc] - bl Pokedex_GetSinnohDexFlag - cmp r0, #0 - bne _0222EEE4 - mov r0, #1 - add r1, r0, #0 - add r2, r5, #0 - mov r3, #0xd - bl MOD83_0223886C - b _0222F02C + bl MOD83_0222E954 + ldr r0, [r4, #0xc] + bl Pokedex_GetSinnohDexFlag + cmp r0, #0 + bne _0222EEE4 + mov r0, #1 + add r1, r0, #0 + add r2, r5, #0 + mov r3, #0xd + bl MOD83_0223886C + b _0222F02C _0222EEE4: - mov r0, #2 - str r0, [r5] - b _0222F02C + mov r0, #2 + str r0, [r5] + b _0222F02C _0222EEEA: - bl MOD83_0222EB04 - cmp r0, #0 - beq _0222EEF4 + bl MOD83_0222EB04 + cmp r0, #0 + beq _0222EEF4 _0222EEF2: - b _0222F02C + b _0222F02C _0222EEF4: - mov r0, #1 - bl MOD83_02238860 - mov r0, #0 - mov r1, #0xc - add r2, r5, #0 - mov r3, #0xd - bl MOD83_0223886C - b _0222F02C + mov r0, #1 + bl MOD83_02238860 + mov r0, #0 + mov r1, #0xc + add r2, r5, #0 + mov r3, #0xd + bl MOD83_0223886C + b _0222F02C _0222EF08: - bl MOD83_0222EB7C - ldr r0, _0222F038 ; =0x00003174 - ldr r0, [r4, r0] - bl FUN_0202ADF0 - cmp r0, #0 - bne _0222EF44 - add r0, r4, #0 - mov r1, #1 - add r0, #0x98 - str r1, [r0] - mov r0, #0x15 - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 - ldr r1, _0222F03C ; =0x0000317C - add r2, r5, #0 - str r0, [r4, r1] - mov r0, #1 - mov r1, #3 - mov r3, #0xd - bl MOD83_0223886C - b _0222F02C + bl MOD83_0222EB7C + ldr r0, _0222F038 ; =0x00003174 + ldr r0, [r4, r0] + bl FUN_0202ADF0 + cmp r0, #0 + bne _0222EF44 + add r0, r4, #0 + mov r1, #1 + add r0, #0x98 + str r1, [r0] + mov r0, #0x15 + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 + ldr r1, _0222F03C ; =0x0000317C + add r2, r5, #0 + str r0, [r4, r1] + mov r0, #1 + mov r1, #3 + mov r3, #0xd + bl MOD83_0223886C + b _0222F02C _0222EF44: - mov r0, #0x53 - mov r1, #7 - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #1 - mov r1, #4 - add r2, r5, #0 - mov r3, #0xd - bl MOD83_0223886C - b _0222F02C + mov r0, #0x53 + mov r1, #7 + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #1 + mov r1, #4 + add r2, r5, #0 + mov r3, #0xd + bl MOD83_0223886C + b _0222F02C _0222EF5A: - ldr r0, _0222F03C ; =0x0000317C - ldr r0, [r4, r0] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl FUN_0201BD70 - cmp r0, #0 - bne _0222F02C - ldr r0, _0222F040 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #1 - tst r1, r0 - beq _0222F02C - bl MOD83_02238860 - mov r0, #0 - mov r1, #0xc - add r2, r5, #0 - mov r3, #0xd - bl MOD83_0223886C - b _0222F02C + ldr r0, _0222F03C ; =0x0000317C + ldr r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0 + bne _0222F02C + ldr r0, _0222F040 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #1 + tst r1, r0 + beq _0222F02C + bl MOD83_02238860 + mov r0, #0 + mov r1, #0xc + add r2, r5, #0 + mov r3, #0xd + bl MOD83_0223886C + b _0222F02C _0222EF86: - bl MOD83_0222F210 - mov r1, #0x15 - lsl r1, r1, #4 - str r0, [r4, r1] - ldr r0, [r4, r1] - cmp r0, #5 - bne _0222EFAA - mov r0, #1 - bl MOD83_02238860 - mov r0, #0 - mov r1, #0xc - add r2, r5, #0 - mov r3, #0xd - bl MOD83_0223886C - b _0222F02C + bl MOD83_0222F210 + mov r1, #0x15 + lsl r1, r1, #4 + str r0, [r4, r1] + ldr r0, [r4, r1] + cmp r0, #5 + bne _0222EFAA + mov r0, #1 + bl MOD83_02238860 + mov r0, #0 + mov r1, #0xc + add r2, r5, #0 + mov r3, #0xd + bl MOD83_0223886C + b _0222F02C _0222EFAA: - cmp r0, #4 - bne _0222F02C - mov r0, #1 - bl MOD83_02238860 - mov r0, #0 - mov r1, #0xc - add r2, r5, #0 - mov r3, #0xd - bl MOD83_0223886C - b _0222F02C + cmp r0, #4 + bne _0222F02C + mov r0, #1 + bl MOD83_02238860 + mov r0, #0 + mov r1, #0xc + add r2, r5, #0 + mov r3, #0xd + bl MOD83_0223886C + b _0222F02C _0222EFC2: - bl MOD83_0222EA88 - mov r0, #1 - add r1, r0, #0 - bl GX_EngineBToggleLayers - mov r0, #2 - mov r1, #0 - bl GX_EngineBToggleLayers - mov r1, #0xc6 - lsl r1, r1, #6 - ldr r0, [r4, #4] - add r1, r4, r1 - mov r2, #0x55 - bl MOD83_02233168 - mov r0, #1 - mov r1, #6 - add r2, r5, #0 - mov r3, #0xd - bl MOD83_0223886C - ldr r1, _0222F044 ; =0x000032D2 - mov r0, #4 - ldrb r2, [r4, r1] - bic r2, r0 - strb r2, [r4, r1] - b _0222F02C + bl MOD83_0222EA88 + mov r0, #1 + add r1, r0, #0 + bl GX_EngineBToggleLayers + mov r0, #2 + mov r1, #0 + bl GX_EngineBToggleLayers + mov r1, #0xc6 + lsl r1, r1, #6 + ldr r0, [r4, #4] + add r1, r4, r1 + mov r2, #0x55 + bl MOD83_02233168 + mov r0, #1 + mov r1, #6 + add r2, r5, #0 + mov r3, #0xd + bl MOD83_0223886C + ldr r1, _0222F044 ; =0x000032D2 + mov r0, #4 + ldrb r2, [r4, r1] + bic r2, r0 + strb r2, [r4, r1] + b _0222F02C _0222EFFC: - ldr r0, _0222F040 ; =gMain - ldr r0, [r0, #0x48] - cmp r0, #0 - beq _0222F02C - mov r0, #0 - mov r1, #0xb - add r2, r5, #0 - mov r3, #0xd - bl MOD83_0223886C - b _0222F02C + ldr r0, _0222F040 ; =gMain + ldr r0, [r0, #0x48] + cmp r0, #0 + beq _0222F02C + mov r0, #0 + mov r1, #0xb + add r2, r5, #0 + mov r3, #0xd + bl MOD83_0223886C + b _0222F02C _0222F012: - mov r0, #0 - bl OS_ResetSystem - b _0222F02C + mov r0, #0 + bl OS_ResetSystem + b _0222F02C _0222F01A: - add r0, r6, #0 - bl MOD83_0222ED88 - add sp, #4 - mov r0, #1 - pop {r3, r4, r5, r6, pc} + add r0, r6, #0 + bl MOD83_0222ED88 + add sp, #4 + mov r0, #1 + pop {r3, r4, r5, r6, pc} _0222F026: - add r0, r5, #0 - bl MOD83_022388CC + add r0, r5, #0 + bl MOD83_022388CC _0222F02C: - bl MOD83_02238D58 - mov r0, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - nop + bl MOD83_02238D58 + mov r0, #0 + add sp, #4 + pop {r3, r4, r5, r6, pc} + nop _0222F038: .word 0x00003174 _0222F03C: .word 0x0000317C _0222F040: .word gMain _0222F044: .word 0x000032D2 - thumb_func_end MOD83_0222EE8C + thumb_func_end MOD83_0222EE8C - thumb_func_start MOD83_0222F048 + thumb_func_start MOD83_0222F048 MOD83_0222F048: ; 0x0222F048 - push {r4, lr} - add r4, r0, #0 - mov r0, #0x5b - bl DestroyHeap - ldr r0, _0222F06C ; =SDK_OVERLAY_MODULE_63_ID - ldr r1, _0222F070 ; =MOD63_021DBAB8 - bl RegisterMainOverlay - add r0, r4, #0 - bl OverlayManager_FreeData - mov r0, #0x55 - bl DestroyHeap - mov r0, #1 - pop {r4, pc} - nop + push {r4, lr} + add r4, r0, #0 + mov r0, #0x5b + bl DestroyHeap + ldr r0, _0222F06C ; =SDK_OVERLAY_MODULE_63_ID + ldr r1, _0222F070 ; =MOD63_021DBAB8 + bl RegisterMainOverlay + add r0, r4, #0 + bl OverlayManager_FreeData + mov r0, #0x55 + bl DestroyHeap + mov r0, #1 + pop {r4, pc} + nop _0222F06C: .word SDK_OVERLAY_MODULE_63_ID _0222F070: .word MOD63_021DBAB8 - thumb_func_end MOD83_0222F048 + thumb_func_end MOD83_0222F048 - thumb_func_start MOD83_0222F074 + thumb_func_start MOD83_0222F074 MOD83_0222F074: ; 0x0222F074 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r5, r0, #0 - mov r0, #0xc6 - lsl r0, r0, #6 - add r4, r5, r0 - mov r2, #0xd6 - add r0, r4, #0 - mov r1, #0 - lsl r2, r2, #2 - bl MI_CpuFill8 - ldr r2, _0222F1A0 ; =0x00000172 - ldr r3, [r5] - mov r0, #1 - mov r1, #0x1a - bl NewMsgDataFromNarc - add r6, r0, #0 - ldr r0, [r5] - bl ScrStrBufs_new - mov r1, #0xc6 - mov r2, #7 - lsl r1, r1, #6 - strh r2, [r5, r1] - ldr r3, [r5] - add r1, r6, #0 - mov r2, #0x4c - str r0, [sp] - bl ReadMsgData_ExpandPlaceholders - mov r1, #0x41 - lsl r1, r1, #2 - add r7, r0, #0 - add r1, r4, r1 - mov r2, #0x24 - bl CopyStringToU16Array - add r0, r7, #0 - bl String_dtor - mov r0, #0xc - bl MOD83_02238EF4 - add r7, r0, #0 - mov r0, #0xa - bl MOD83_02238EF4 - str r0, [sp, #4] - mov r0, #0xb - bl MOD83_02238EF4 - ldr r1, [sp, #4] - mov r2, #1 - orr r0, r1 - add r1, r7, #0 - orr r1, r0 - mov r0, #0x53 - lsl r0, r0, #2 - str r1, [r4, r0] - add r1, r0, #4 - strh r2, [r4, r1] - add r1, r0, #6 - ldrb r2, [r4, r1] - mov r1, #1 - bic r2, r1 - add r1, r0, #6 - strb r2, [r4, r1] - ldrb r2, [r4, r1] - mov r1, #2 - bic r2, r1 - add r1, r0, #6 - strb r2, [r4, r1] - ldrb r2, [r4, r1] - mov r1, #4 - orr r2, r1 - add r1, r0, #6 - strb r2, [r4, r1] - ldrb r2, [r4, r1] - mov r1, #8 - orr r2, r1 - add r1, r0, #6 - strb r2, [r4, r1] - ldrb r2, [r4, r1] - mov r1, #0x20 - add r0, r0, #6 - bic r2, r1 - strb r2, [r4, r0] - ldr r0, [sp] - ldr r3, [r5] - add r1, r6, #0 - mov r2, #0x4b - bl ReadMsgData_ExpandPlaceholders - add r7, r0, #0 - mov r1, #0x55 - lsl r1, r1, #2 - add r1, r4, r1 - mov r2, #0xfa - bl CopyStringToU16Array - add r0, r7, #0 - bl String_dtor - mov r0, #0xd2 - lsl r0, r0, #2 - mov r1, #0 - ldr r3, _0222F1A4 ; =0x000001EA - strb r1, [r4, r0] - add r2, r0, #2 - strh r3, [r4, r2] - add r2, r0, #4 - strh r1, [r4, r2] - add r2, r0, #6 - strh r1, [r4, r2] - add r0, #8 - strb r1, [r4, r0] - add r0, sp, #8 - bl GF_RTC_CopyDate - add r0, sp, #8 - bl RTC_ConvertDateToDay - mov r1, #0xd5 - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r0, [sp] - bl ScrStrBufs_delete - add r0, r6, #0 - bl DestroyMsgData - ldr r0, _0222F1A8 ; =0x00003174 - add r1, r4, #0 - ldr r0, [r5, r0] - mov r2, #0 - bl FUN_0202AC98 - mov r0, #1 - mov r1, #0 - bl GX_EngineBToggleLayers - ldr r0, [r5, #4] - add r1, r4, #0 - bl MOD83_022391EC - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - nop + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + add r5, r0, #0 + mov r0, #0xc6 + lsl r0, r0, #6 + add r4, r5, r0 + mov r2, #0xd6 + add r0, r4, #0 + mov r1, #0 + lsl r2, r2, #2 + bl MI_CpuFill8 + ldr r2, _0222F1A0 ; =0x00000172 + ldr r3, [r5] + mov r0, #1 + mov r1, #0x1a + bl NewMsgDataFromNarc + add r6, r0, #0 + ldr r0, [r5] + bl ScrStrBufs_new + mov r1, #0xc6 + mov r2, #7 + lsl r1, r1, #6 + strh r2, [r5, r1] + ldr r3, [r5] + add r1, r6, #0 + mov r2, #0x4c + str r0, [sp] + bl ReadMsgData_ExpandPlaceholders + mov r1, #0x41 + lsl r1, r1, #2 + add r7, r0, #0 + add r1, r4, r1 + mov r2, #0x24 + bl CopyStringToU16Array + add r0, r7, #0 + bl String_dtor + mov r0, #0xc + bl MOD83_02238EF4 + add r7, r0, #0 + mov r0, #0xa + bl MOD83_02238EF4 + str r0, [sp, #4] + mov r0, #0xb + bl MOD83_02238EF4 + ldr r1, [sp, #4] + mov r2, #1 + orr r0, r1 + add r1, r7, #0 + orr r1, r0 + mov r0, #0x53 + lsl r0, r0, #2 + str r1, [r4, r0] + add r1, r0, #4 + strh r2, [r4, r1] + add r1, r0, #6 + ldrb r2, [r4, r1] + mov r1, #1 + bic r2, r1 + add r1, r0, #6 + strb r2, [r4, r1] + ldrb r2, [r4, r1] + mov r1, #2 + bic r2, r1 + add r1, r0, #6 + strb r2, [r4, r1] + ldrb r2, [r4, r1] + mov r1, #4 + orr r2, r1 + add r1, r0, #6 + strb r2, [r4, r1] + ldrb r2, [r4, r1] + mov r1, #8 + orr r2, r1 + add r1, r0, #6 + strb r2, [r4, r1] + ldrb r2, [r4, r1] + mov r1, #0x20 + add r0, r0, #6 + bic r2, r1 + strb r2, [r4, r0] + ldr r0, [sp] + ldr r3, [r5] + add r1, r6, #0 + mov r2, #0x4b + bl ReadMsgData_ExpandPlaceholders + add r7, r0, #0 + mov r1, #0x55 + lsl r1, r1, #2 + add r1, r4, r1 + mov r2, #0xfa + bl CopyStringToU16Array + add r0, r7, #0 + bl String_dtor + mov r0, #0xd2 + lsl r0, r0, #2 + mov r1, #0 + ldr r3, _0222F1A4 ; =0x000001EA + strb r1, [r4, r0] + add r2, r0, #2 + strh r3, [r4, r2] + add r2, r0, #4 + strh r1, [r4, r2] + add r2, r0, #6 + strh r1, [r4, r2] + add r0, #8 + strb r1, [r4, r0] + add r0, sp, #8 + bl GF_RTC_CopyDate + add r0, sp, #8 + bl RTC_ConvertDateToDay + mov r1, #0xd5 + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r0, [sp] + bl ScrStrBufs_delete + add r0, r6, #0 + bl DestroyMsgData + ldr r0, _0222F1A8 ; =0x00003174 + add r1, r4, #0 + ldr r0, [r5, r0] + mov r2, #0 + bl FUN_0202AC98 + mov r0, #1 + mov r1, #0 + bl GX_EngineBToggleLayers + ldr r0, [r5, #4] + add r1, r4, #0 + bl MOD83_022391EC + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + nop _0222F1A0: .word 0x00000172 _0222F1A4: .word 0x000001EA _0222F1A8: .word 0x00003174 - thumb_func_end MOD83_0222F074 + thumb_func_end MOD83_0222F074 - thumb_func_start MOD83_0222F1AC + thumb_func_start MOD83_0222F1AC MOD83_0222F1AC: ; 0x0222F1AC - mov r2, #0x16 - lsl r2, r2, #4 - str r1, [r0, r2] - bx lr - thumb_func_end MOD83_0222F1AC + mov r2, #0x16 + lsl r2, r2, #4 + str r1, [r0, r2] + bx lr + thumb_func_end MOD83_0222F1AC - thumb_func_start MOD83_0222F1B4 + thumb_func_start MOD83_0222F1B4 MOD83_0222F1B4: ; 0x0222F1B4 - push {r3, r4, r5, lr} - add r5, r1, #0 - mov r1, #0x16 - lsl r1, r1, #4 - add r4, r3, #0 - ldr r3, [r0, r1] - sub r3, r3, #1 - str r3, [r0, r1] - ldr r0, [r0, r1] - cmp r0, #0 - bne _0222F1D6 - bl MOD83_02234518 - mov r0, #0x17 - str r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} + push {r3, r4, r5, lr} + add r5, r1, #0 + mov r1, #0x16 + lsl r1, r1, #4 + add r4, r3, #0 + ldr r3, [r0, r1] + sub r3, r3, #1 + str r3, [r0, r1] + ldr r0, [r0, r1] + cmp r0, #0 + bne _0222F1D6 + bl MOD83_02234518 + mov r0, #0x17 + str r0, [r5] + mov r0, #0 + pop {r3, r4, r5, pc} _0222F1D6: - cmp r2, #0 - beq _0222F1EE - bl MOD83_022344E4 - cmp r0, #0 - bne _0222F1EE - bl MOD83_02234518 - mov r0, #0x16 - str r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} + cmp r2, #0 + beq _0222F1EE + bl MOD83_022344E4 + cmp r0, #0 + bne _0222F1EE + bl MOD83_02234518 + mov r0, #0x16 + str r0, [r5] + mov r0, #0 + pop {r3, r4, r5, pc} _0222F1EE: - cmp r4, #0 - beq _0222F206 - ldr r0, _0222F20C ; =gMain - ldr r0, [r0, #0x48] - tst r0, r4 - beq _0222F206 - bl MOD83_02234518 - mov r0, #0x1a - str r0, [r5] - mov r0, #1 - pop {r3, r4, r5, pc} + cmp r4, #0 + beq _0222F206 + ldr r0, _0222F20C ; =gMain + ldr r0, [r0, #0x48] + tst r0, r4 + beq _0222F206 + bl MOD83_02234518 + mov r0, #0x1a + str r0, [r5] + mov r0, #1 + pop {r3, r4, r5, pc} _0222F206: - mov r0, #0 - pop {r3, r4, r5, pc} - nop + mov r0, #0 + pop {r3, r4, r5, pc} + nop _0222F20C: .word gMain - thumb_func_end MOD83_0222F1B4 + thumb_func_end MOD83_0222F1B4 - thumb_func_start MOD83_0222F210 + thumb_func_start MOD83_0222F210 MOD83_0222F210: ; 0x0222F210 - push {r3, r4, r5, lr} - mov r5, #0x57 - lsl r5, r5, #2 - add r4, r0, #0 - sub r0, r5, #4 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222F236 - bl MOD83_0223438C - mov r1, #3 - sub r0, r1, r0 - bl FUN_02033EEC - bl MOD83_02234238 - mov r0, #1 - bl MOD83_022345C8 + push {r3, r4, r5, lr} + mov r5, #0x57 + lsl r5, r5, #2 + add r4, r0, #0 + sub r0, r5, #4 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222F236 + bl MOD83_0223438C + mov r1, #3 + sub r0, r1, r0 + bl FUN_02033EEC + bl MOD83_02234238 + mov r0, #1 + bl MOD83_022345C8 _0222F236: - ldr r0, [r4, r5] - cmp r0, #0x1e - bls _0222F23E - b _0222F736 + ldr r0, [r4, r5] + cmp r0, #0x1e + bls _0222F23E + b _0222F736 _0222F23E: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0222F24A: ; jump table - .short _0222F288 - _0222F24A - 2 ; case 0 - .short _0222F29E - _0222F24A - 2 ; case 1 - .short _0222F2C4 - _0222F24A - 2 ; case 2 - .short _0222F2E6 - _0222F24A - 2 ; case 3 - .short _0222F310 - _0222F24A - 2 ; case 4 - .short _0222F736 - _0222F24A - 2 ; case 5 - .short _0222F736 - _0222F24A - 2 ; case 6 - .short _0222F342 - _0222F24A - 2 ; case 7 - .short _0222F3B8 - _0222F24A - 2 ; case 8 - .short _0222F3D6 - _0222F24A - 2 ; case 9 - .short _0222F420 - _0222F24A - 2 ; case 10 - .short _0222F45C - _0222F24A - 2 ; case 11 - .short _0222F476 - _0222F24A - 2 ; case 12 - .short _0222F4AA - _0222F24A - 2 ; case 13 - .short _0222F4EC - _0222F24A - 2 ; case 14 - .short _0222F50C - _0222F24A - 2 ; case 15 - .short _0222F524 - _0222F24A - 2 ; case 16 - .short _0222F53E - _0222F24A - 2 ; case 17 - .short _0222F594 - _0222F24A - 2 ; case 18 - .short _0222F61C - _0222F24A - 2 ; case 19 - .short _0222F664 - _0222F24A - 2 ; case 20 - .short _0222F736 - _0222F24A - 2 ; case 21 - .short _0222F698 - _0222F24A - 2 ; case 22 - .short _0222F69C - _0222F24A - 2 ; case 23 - .short _0222F736 - _0222F24A - 2 ; case 24 - .short _0222F736 - _0222F24A - 2 ; case 25 - .short _0222F704 - _0222F24A - 2 ; case 26 - .short _0222F736 - _0222F24A - 2 ; case 27 - .short _0222F6D0 - _0222F24A - 2 ; case 28 - .short _0222F35E - _0222F24A - 2 ; case 29 - .short _0222F39C - _0222F24A - 2 ; case 30 + .short _0222F288 - _0222F24A - 2 ; case 0 + .short _0222F29E - _0222F24A - 2 ; case 1 + .short _0222F2C4 - _0222F24A - 2 ; case 2 + .short _0222F2E6 - _0222F24A - 2 ; case 3 + .short _0222F310 - _0222F24A - 2 ; case 4 + .short _0222F736 - _0222F24A - 2 ; case 5 + .short _0222F736 - _0222F24A - 2 ; case 6 + .short _0222F342 - _0222F24A - 2 ; case 7 + .short _0222F3B8 - _0222F24A - 2 ; case 8 + .short _0222F3D6 - _0222F24A - 2 ; case 9 + .short _0222F420 - _0222F24A - 2 ; case 10 + .short _0222F45C - _0222F24A - 2 ; case 11 + .short _0222F476 - _0222F24A - 2 ; case 12 + .short _0222F4AA - _0222F24A - 2 ; case 13 + .short _0222F4EC - _0222F24A - 2 ; case 14 + .short _0222F50C - _0222F24A - 2 ; case 15 + .short _0222F524 - _0222F24A - 2 ; case 16 + .short _0222F53E - _0222F24A - 2 ; case 17 + .short _0222F594 - _0222F24A - 2 ; case 18 + .short _0222F61C - _0222F24A - 2 ; case 19 + .short _0222F664 - _0222F24A - 2 ; case 20 + .short _0222F736 - _0222F24A - 2 ; case 21 + .short _0222F698 - _0222F24A - 2 ; case 22 + .short _0222F69C - _0222F24A - 2 ; case 23 + .short _0222F736 - _0222F24A - 2 ; case 24 + .short _0222F736 - _0222F24A - 2 ; case 25 + .short _0222F704 - _0222F24A - 2 ; case 26 + .short _0222F736 - _0222F24A - 2 ; case 27 + .short _0222F6D0 - _0222F24A - 2 ; case 28 + .short _0222F35E - _0222F24A - 2 ; case 29 + .short _0222F39C - _0222F24A - 2 ; case 30 _0222F288: - add r0, r4, #0 - bl MOD83_0222E910 - bl FUN_0202E49C - mov r0, #0x52 - mov r1, #1 - lsl r0, r0, #2 - str r1, [r4, r0] - str r1, [r4, r5] - b _0222F736 + add r0, r4, #0 + bl MOD83_0222E910 + bl FUN_0202E49C + mov r0, #0x52 + mov r1, #1 + lsl r0, r0, #2 + str r1, [r4, r0] + str r1, [r4, r5] + b _0222F736 _0222F29E: - bl FUN_0202E4C8 - cmp r0, #0 - beq _0222F356 - mov r1, #0x5b - lsl r1, r1, #2 - ldr r0, _0222F5E0 ; =MOD83_0223A8D4 - add r1, r4, r1 - bl MOD83_02233F94 - mov r0, #0x56 - mov r1, #1 - lsl r0, r0, #2 - str r1, [r4, r0] - bl FUN_02033E74 - mov r0, #2 - str r0, [r4, r5] - b _0222F736 + bl FUN_0202E4C8 + cmp r0, #0 + beq _0222F356 + mov r1, #0x5b + lsl r1, r1, #2 + ldr r0, _0222F5E0 ; =MOD83_0223A8D4 + add r1, r4, r1 + bl MOD83_02233F94 + mov r0, #0x56 + mov r1, #1 + lsl r0, r0, #2 + str r1, [r4, r0] + bl FUN_02033E74 + mov r0, #2 + str r0, [r4, r5] + b _0222F736 _0222F2C4: - bl MOD83_0223427C - mov r1, #0x19 - add r0, r4, #0 - lsl r1, r1, #6 - bl MOD83_0222F1AC - add r0, r4, #0 - add r0, #0x28 - mov r1, #0xa - bl FUN_0200D858 - ldr r1, _0222F5E4 ; =0x000034D8 - str r0, [r4, r1] - mov r0, #3 - str r0, [r4, r5] - b _0222F736 + bl MOD83_0223427C + mov r1, #0x19 + add r0, r4, #0 + lsl r1, r1, #6 + bl MOD83_0222F1AC + add r0, r4, #0 + add r0, #0x28 + mov r1, #0xa + bl FUN_0200D858 + ldr r1, _0222F5E4 ; =0x000034D8 + str r0, [r4, r1] + mov r0, #3 + str r0, [r4, r5] + b _0222F736 _0222F2E6: - bl MOD83_022343A4 - cmp r0, #0 - beq _0222F302 - sub r1, r0, #1 - mov r0, #0x59 - lsl r0, r0, #2 - str r1, [r4, r0] - ldr r1, _0222F5E8 ; =0x00000708 - add r0, r4, #0 - bl MOD83_0222F1AC - mov r0, #4 - str r0, [r4, r5] + bl MOD83_022343A4 + cmp r0, #0 + beq _0222F302 + sub r1, r0, #1 + mov r0, #0x59 + lsl r0, r0, #2 + str r1, [r4, r0] + ldr r1, _0222F5E8 ; =0x00000708 + add r0, r4, #0 + bl MOD83_0222F1AC + mov r0, #4 + str r0, [r4, r5] _0222F302: - add r0, r4, #0 - add r1, r4, r5 - mov r2, #0 - mov r3, #2 - bl MOD83_0222F1B4 - b _0222F736 + add r0, r4, #0 + add r1, r4, r5 + mov r2, #0 + mov r3, #2 + bl MOD83_0222F1B4 + b _0222F736 _0222F310: - mov r0, #0x59 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl MOD83_022342C8 - cmp r0, #0 - beq _0222F334 - mov r0, #0x59 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl MOD83_02234304 - mov r0, #7 - str r0, [r4, r5] - mov r0, #0x16 - ldr r1, _0222F5E8 ; =0x00000708 - lsl r0, r0, #4 - str r1, [r4, r0] + mov r0, #0x59 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl MOD83_022342C8 + cmp r0, #0 + beq _0222F334 + mov r0, #0x59 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl MOD83_02234304 + mov r0, #7 + str r0, [r4, r5] + mov r0, #0x16 + ldr r1, _0222F5E8 ; =0x00000708 + lsl r0, r0, #4 + str r1, [r4, r0] _0222F334: - add r0, r4, #0 - add r1, r4, r5 - mov r2, #0 - mov r3, #2 - bl MOD83_0222F1B4 - b _0222F736 + add r0, r4, #0 + add r1, r4, r5 + mov r2, #0 + mov r3, #2 + bl MOD83_0222F1B4 + b _0222F736 _0222F342: - add r0, r4, #0 - add r1, r4, r5 - mov r2, #0 - mov r3, #2 - bl MOD83_0222F1B4 - bl MOD83_022344E4 - cmp r0, #0 - bne _0222F358 + add r0, r4, #0 + add r1, r4, r5 + mov r2, #0 + mov r3, #2 + bl MOD83_0222F1B4 + bl MOD83_022344E4 + cmp r0, #0 + bne _0222F358 _0222F356: - b _0222F736 + b _0222F736 _0222F358: - mov r0, #0x1d - str r0, [r4, r5] - b _0222F736 + mov r0, #0x1d + str r0, [r4, r5] + b _0222F736 _0222F35E: - mov r0, #0x1e - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 - ldr r0, _0222F5EC ; =0x00003170 - mov r1, #0 - ldr r0, [r4, r0] - bl FUN_020200A0 - ldr r0, _0222F5E4 ; =0x000034D8 - ldr r0, [r4, r0] - bl FUN_0200DBFC - ldr r0, _0222F5E4 ; =0x000034D8 - mov r1, #0 - str r1, [r4, r0] - ldr r0, _0222F5F0 ; =0x000005DC - bl PlaySE - mov r0, #0x16 - ldr r1, _0222F5E8 ; =0x00000708 - lsl r0, r0, #4 - str r1, [r4, r0] - mov r0, #0x1e - str r0, [r4, r5] - b _0222F736 + mov r0, #0x1e + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 + ldr r0, _0222F5EC ; =0x00003170 + mov r1, #0 + ldr r0, [r4, r0] + bl FUN_020200A0 + ldr r0, _0222F5E4 ; =0x000034D8 + ldr r0, [r4, r0] + bl FUN_0200DBFC + ldr r0, _0222F5E4 ; =0x000034D8 + mov r1, #0 + str r1, [r4, r0] + ldr r0, _0222F5F0 ; =0x000005DC + bl PlaySE + mov r0, #0x16 + ldr r1, _0222F5E8 ; =0x00000708 + lsl r0, r0, #4 + str r1, [r4, r0] + mov r0, #0x1e + str r0, [r4, r5] + b _0222F736 _0222F39C: - ldr r0, _0222F5F4 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #1 - tst r0, r1 - beq _0222F3AA - mov r0, #8 - str r0, [r4, r5] + ldr r0, _0222F5F4 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #1 + tst r0, r1 + beq _0222F3AA + mov r0, #8 + str r0, [r4, r5] _0222F3AA: - add r0, r4, #0 - add r1, r4, r5 - mov r2, #1 - mov r3, #2 - bl MOD83_0222F1B4 - b _0222F736 + add r0, r4, #0 + add r1, r4, r5 + mov r2, #1 + mov r3, #2 + bl MOD83_0222F1B4 + b _0222F736 _0222F3B8: - bl MOD83_022343C4 - mov r0, #9 - str r0, [r4, r5] - mov r0, #0x16 - ldr r1, _0222F5E8 ; =0x00000708 - lsl r0, r0, #4 - str r1, [r4, r0] - add r0, r4, #0 - add r1, r4, r5 - mov r2, #1 - mov r3, #2 - bl MOD83_0222F1B4 - b _0222F736 + bl MOD83_022343C4 + mov r0, #9 + str r0, [r4, r5] + mov r0, #0x16 + ldr r1, _0222F5E8 ; =0x00000708 + lsl r0, r0, #4 + str r1, [r4, r0] + add r0, r4, #0 + add r1, r4, r5 + mov r2, #1 + mov r3, #2 + bl MOD83_0222F1B4 + b _0222F736 _0222F3D6: - bl MOD83_02234450 - cmp r0, #0 - beq _0222F412 - bl MOD83_022343F8 - mov r0, #0xa - str r0, [r4, r5] - mov r1, #0x32 - mov r0, #0x16 - lsl r1, r1, #6 - lsl r0, r0, #4 - str r1, [r4, r0] - mov r0, #0x22 - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 - ldr r0, _0222F5F0 ; =0x000005DC - bl PlaySE - ldr r0, _0222F5E4 ; =0x000034D8 - mov r1, #0 - str r1, [r4, r0] - mov r0, #1 - pop {r3, r4, r5, pc} + bl MOD83_02234450 + cmp r0, #0 + beq _0222F412 + bl MOD83_022343F8 + mov r0, #0xa + str r0, [r4, r5] + mov r1, #0x32 + mov r0, #0x16 + lsl r1, r1, #6 + lsl r0, r0, #4 + str r1, [r4, r0] + mov r0, #0x22 + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 + ldr r0, _0222F5F0 ; =0x000005DC + bl PlaySE + ldr r0, _0222F5E4 ; =0x000034D8 + mov r1, #0 + str r1, [r4, r0] + mov r0, #1 + pop {r3, r4, r5, pc} _0222F412: - add r0, r4, #0 - add r1, r4, r5 - mov r2, #1 - mov r3, #2 - bl MOD83_0222F1B4 - b _0222F736 + add r0, r4, #0 + add r1, r4, r5 + mov r2, #1 + mov r3, #2 + bl MOD83_0222F1B4 + b _0222F736 _0222F420: - bl MOD83_02234450 - cmp r0, #0 - beq _0222F44E - mov r0, #0x47 - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 - ldr r0, _0222F5EC ; =0x00003170 - mov r1, #1 - ldr r0, [r4, r0] - bl FUN_020200A0 - add r0, r4, #0 - bl MOD83_0222EC78 - mov r0, #0xb - str r0, [r4, r5] + bl MOD83_02234450 + cmp r0, #0 + beq _0222F44E + mov r0, #0x47 + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 + ldr r0, _0222F5EC ; =0x00003170 + mov r1, #1 + ldr r0, [r4, r0] + bl FUN_020200A0 + add r0, r4, #0 + bl MOD83_0222EC78 + mov r0, #0xb + str r0, [r4, r5] _0222F44E: - add r0, r4, #0 - add r1, r4, r5 - mov r2, #1 - mov r3, #2 - bl MOD83_0222F1B4 - b _0222F736 + add r0, r4, #0 + add r1, r4, r5 + mov r2, #1 + mov r3, #2 + bl MOD83_0222F1B4 + b _0222F736 _0222F45C: - ldr r0, _0222F5F8 ; =MOD83_0223AD6C - mov r1, #0x2a - mov r2, #1 - bl MOD83_02234424 - mov r0, #0xc - str r0, [r4, r5] - mov r1, #0x32 - mov r0, #0x16 - lsl r1, r1, #6 - lsl r0, r0, #4 - str r1, [r4, r0] - b _0222F736 + ldr r0, _0222F5F8 ; =MOD83_0223AD6C + mov r1, #0x2a + mov r2, #1 + bl MOD83_02234424 + mov r0, #0xc + str r0, [r4, r5] + mov r1, #0x32 + mov r0, #0x16 + lsl r1, r1, #6 + lsl r0, r0, #4 + str r1, [r4, r0] + b _0222F736 _0222F476: - bl MOD83_0223447C - cmp r0, #0 - beq _0222F49C - mov r0, #0xd - str r0, [r4, r5] - mov r0, #0x16 - mov r1, #0x3c - lsl r0, r0, #4 - str r1, [r4, r0] - mov r0, #0x47 - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 + bl MOD83_0223447C + cmp r0, #0 + beq _0222F49C + mov r0, #0xd + str r0, [r4, r5] + mov r0, #0x16 + mov r1, #0x3c + lsl r0, r0, #4 + str r1, [r4, r0] + mov r0, #0x47 + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 _0222F49C: - add r0, r4, #0 - add r1, r4, r5 - mov r2, #1 - mov r3, #2 - bl MOD83_0222F1B4 - b _0222F736 + add r0, r4, #0 + add r1, r4, r5 + mov r2, #1 + mov r3, #2 + bl MOD83_0222F1B4 + b _0222F736 _0222F4AA: - mov r0, #0x16 - lsl r0, r0, #4 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _0222F51C - mov r0, #0x48 - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 - add r0, r4, #0 - add r0, #0x28 - mov r1, #0xa - bl FUN_0200D858 - ldr r1, _0222F5E4 ; =0x000034D8 - str r0, [r4, r1] - add r0, r4, #0 - bl MOD83_0222F074 - ldr r0, [r4, #8] - bl MOD83_022394BC - mov r0, #0xe - str r0, [r4, r5] - b _0222F736 + mov r0, #0x16 + lsl r0, r0, #4 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _0222F51C + mov r0, #0x48 + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 + add r0, r4, #0 + add r0, #0x28 + mov r1, #0xa + bl FUN_0200D858 + ldr r1, _0222F5E4 ; =0x000034D8 + str r0, [r4, r1] + add r0, r4, #0 + bl MOD83_0222F074 + ldr r0, [r4, #8] + bl MOD83_022394BC + mov r0, #0xe + str r0, [r4, r5] + b _0222F736 _0222F4EC: - bl MOD83_022394CC - cmp r0, #1 - bne _0222F51C - mov r0, #0xf - str r0, [r4, r5] - bl OS_GetTickLo - mov r1, #0x36 - bl _s32_div_f - mov r0, #0x16 - add r1, r1, #6 - lsl r0, r0, #4 - str r1, [r4, r0] - b _0222F736 + bl MOD83_022394CC + cmp r0, #1 + bne _0222F51C + mov r0, #0xf + str r0, [r4, r5] + bl OS_GetTickLo + mov r1, #0x36 + bl _s32_div_f + mov r0, #0x16 + add r1, r1, #6 + lsl r0, r0, #4 + str r1, [r4, r0] + b _0222F736 _0222F50C: - mov r0, #0x16 - lsl r0, r0, #4 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - beq _0222F51E + mov r0, #0x16 + lsl r0, r0, #4 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + beq _0222F51E _0222F51C: - b _0222F736 + b _0222F736 _0222F51E: - mov r0, #0x10 - str r0, [r4, r5] - b _0222F736 + mov r0, #0x10 + str r0, [r4, r5] + b _0222F736 _0222F524: - ldr r0, _0222F5F8 ; =MOD83_0223AD6C - mov r1, #0x2a - mov r2, #2 - bl MOD83_02234424 - mov r0, #0x11 - str r0, [r4, r5] - mov r1, #0x4b - mov r0, #0x16 - lsl r1, r1, #4 - lsl r0, r0, #4 - str r1, [r4, r0] - b _0222F736 + ldr r0, _0222F5F8 ; =MOD83_0223AD6C + mov r1, #0x2a + mov r2, #2 + bl MOD83_02234424 + mov r0, #0x11 + str r0, [r4, r5] + mov r1, #0x4b + mov r0, #0x16 + lsl r1, r1, #4 + lsl r0, r0, #4 + str r1, [r4, r0] + b _0222F736 _0222F53E: - bl MOD83_022344A8 - cmp r0, #0 - beq _0222F55A - bl MOD83_02239544 - mov r0, #0x12 - str r0, [r4, r5] - mov r1, #0x32 - mov r0, #0x16 - lsl r1, r1, #4 - lsl r0, r0, #4 - str r1, [r4, r0] - b _0222F736 + bl MOD83_022344A8 + cmp r0, #0 + beq _0222F55A + bl MOD83_02239544 + mov r0, #0x12 + str r0, [r4, r5] + mov r1, #0x32 + mov r0, #0x16 + lsl r1, r1, #4 + lsl r0, r0, #4 + str r1, [r4, r0] + b _0222F736 _0222F55A: - mov r0, #0x16 - lsl r0, r0, #4 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _0222F57A - bl MOD83_02234518 - mov r0, #0x17 - mov r1, #0x78 - str r0, [r4, r5] - add r0, r1, #0 - add r0, #0xe8 - str r1, [r4, r0] + mov r0, #0x16 + lsl r0, r0, #4 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _0222F57A + bl MOD83_02234518 + mov r0, #0x17 + mov r1, #0x78 + str r0, [r4, r5] + add r0, r1, #0 + add r0, #0xe8 + str r1, [r4, r0] _0222F57A: - bl MOD83_022344E4 - cmp r0, #0 - bne _0222F62C - bl MOD83_02234518 - mov r0, #0x16 - mov r1, #0x78 - str r0, [r4, r5] - add r0, r1, #0 - add r0, #0xe8 - str r1, [r4, r0] - b _0222F736 + bl MOD83_022344E4 + cmp r0, #0 + bne _0222F62C + bl MOD83_02234518 + mov r0, #0x16 + mov r1, #0x78 + str r0, [r4, r5] + add r0, r1, #0 + add r0, #0xe8 + str r1, [r4, r0] + b _0222F736 _0222F594: - bl MOD83_02239574 - cmp r0, #3 - bne _0222F5AE - bl MOD83_02234518 - mov r0, #0x16 - mov r1, #0x78 - str r0, [r4, r5] - add r0, r1, #0 - add r0, #0xe8 - str r1, [r4, r0] - b _0222F5FC + bl MOD83_02239574 + cmp r0, #3 + bne _0222F5AE + bl MOD83_02234518 + mov r0, #0x16 + mov r1, #0x78 + str r0, [r4, r5] + add r0, r1, #0 + add r0, #0xe8 + str r1, [r4, r0] + b _0222F5FC _0222F5AE: - bl MOD83_02239574 - cmp r0, #2 - beq _0222F5BC - bl MOD83_022394CC - b _0222F5FC + bl MOD83_02239574 + cmp r0, #2 + beq _0222F5BC + bl MOD83_022394CC + b _0222F5FC _0222F5BC: - bl MOD83_0223447C - cmp r0, #0 - bne _0222F5CC - bl MOD83_022344E4 - cmp r0, #0 - bne _0222F5FC + bl MOD83_0223447C + cmp r0, #0 + bne _0222F5CC + bl MOD83_022344E4 + cmp r0, #0 + bne _0222F5FC _0222F5CC: - mov r0, #0x13 - str r0, [r4, r5] - mov r0, #0x16 - mov r1, #1 - lsl r0, r0, #4 - str r1, [r4, r0] - bl MOD83_02234518 - b _0222F736 - nop + mov r0, #0x13 + str r0, [r4, r5] + mov r0, #0x16 + mov r1, #1 + lsl r0, r0, #4 + str r1, [r4, r0] + bl MOD83_02234518 + b _0222F736 + nop _0222F5E0: .word MOD83_0223A8D4 _0222F5E4: .word 0x000034D8 _0222F5E8: .word 0x00000708 @@ -3995,2973 +3995,2973 @@ _0222F5F0: .word 0x000005DC _0222F5F4: .word gMain _0222F5F8: .word MOD83_0223AD6C _0222F5FC: - mov r0, #0x16 - lsl r0, r0, #4 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _0222F61C - bl MOD83_02234518 - mov r0, #0x17 - str r0, [r4, r5] - mov r0, #0x16 - mov r1, #0xa - lsl r0, r0, #4 - str r1, [r4, r0] + mov r0, #0x16 + lsl r0, r0, #4 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _0222F61C + bl MOD83_02234518 + mov r0, #0x17 + str r0, [r4, r5] + mov r0, #0x16 + mov r1, #0xa + lsl r0, r0, #4 + str r1, [r4, r0] _0222F61C: - mov r0, #0x16 - lsl r0, r0, #4 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - beq _0222F62E + mov r0, #0x16 + lsl r0, r0, #4 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + beq _0222F62E _0222F62C: - b _0222F736 + b _0222F736 _0222F62E: - mov r0, #0x14 - str r0, [r4, r5] - mov r0, #0x49 - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 - ldr r0, _0222F73C ; =0x00003170 - mov r1, #0 - ldr r0, [r4, r0] - bl FUN_020200A0 - ldr r0, _0222F740 ; =0x000034D8 - ldr r0, [r4, r0] - bl FUN_0200DBFC - ldr r0, _0222F744 ; =0x000005DC - bl PlaySE - ldr r0, _0222F740 ; =0x000034D8 - mov r1, #0 - str r1, [r4, r0] - b _0222F736 + mov r0, #0x14 + str r0, [r4, r5] + mov r0, #0x49 + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 + ldr r0, _0222F73C ; =0x00003170 + mov r1, #0 + ldr r0, [r4, r0] + bl FUN_020200A0 + ldr r0, _0222F740 ; =0x000034D8 + ldr r0, [r4, r0] + bl FUN_0200DBFC + ldr r0, _0222F744 ; =0x000005DC + bl PlaySE + ldr r0, _0222F740 ; =0x000034D8 + mov r1, #0 + str r1, [r4, r0] + b _0222F736 _0222F664: - bl MOD83_02234558 - cmp r0, #0 - beq _0222F736 - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222F686 - bl FUN_0202E4F0 - bl FUN_02033ED0 - mov r0, #0x52 - mov r1, #0 - lsl r0, r0, #2 - str r1, [r4, r0] + bl MOD83_02234558 + cmp r0, #0 + beq _0222F736 + mov r0, #0x52 + lsl r0, r0, #2 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222F686 + bl FUN_0202E4F0 + bl FUN_02033ED0 + mov r0, #0x52 + mov r1, #0 + lsl r0, r0, #2 + str r1, [r4, r0] _0222F686: - ldr r0, _0222F748 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #1 - tst r0, r1 - beq _0222F736 - mov r0, #0x1b - str r0, [r4, r5] - mov r0, #4 - pop {r3, r4, r5, pc} + ldr r0, _0222F748 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #1 + tst r0, r1 + beq _0222F736 + mov r0, #0x1b + str r0, [r4, r5] + mov r0, #4 + pop {r3, r4, r5, pc} _0222F698: - mov r0, #0x17 - str r0, [r4, r5] + mov r0, #0x17 + str r0, [r4, r5] _0222F69C: - mov r0, #0x4a - str r0, [sp] - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x48 - mov r2, #2 - mov r3, #0x13 - bl MOD83_02238A38 - ldr r0, _0222F73C ; =0x00003170 - mov r1, #0 - ldr r0, [r4, r0] - bl FUN_020200A0 - ldr r0, _0222F740 ; =0x000034D8 - ldr r0, [r4, r0] - cmp r0, #0 - beq _0222F6C4 - bl FUN_0200DBFC + mov r0, #0x4a + str r0, [sp] + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x48 + mov r2, #2 + mov r3, #0x13 + bl MOD83_02238A38 + ldr r0, _0222F73C ; =0x00003170 + mov r1, #0 + ldr r0, [r4, r0] + bl FUN_020200A0 + ldr r0, _0222F740 ; =0x000034D8 + ldr r0, [r4, r0] + cmp r0, #0 + beq _0222F6C4 + bl FUN_0200DBFC _0222F6C4: - ldr r0, _0222F740 ; =0x000034D8 - mov r1, #0 - str r1, [r4, r0] - mov r0, #0x1c - str r0, [r4, r5] - b _0222F736 + ldr r0, _0222F740 ; =0x000034D8 + mov r1, #0 + str r1, [r4, r0] + mov r0, #0x1c + str r0, [r4, r5] + b _0222F736 _0222F6D0: - bl MOD83_02234558 - cmp r0, #0 - beq _0222F736 - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222F6F2 - bl FUN_0202E4F0 - bl FUN_02033ED0 - mov r0, #0x52 - mov r1, #0 - lsl r0, r0, #2 - str r1, [r4, r0] + bl MOD83_02234558 + cmp r0, #0 + beq _0222F736 + mov r0, #0x52 + lsl r0, r0, #2 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222F6F2 + bl FUN_0202E4F0 + bl FUN_02033ED0 + mov r0, #0x52 + mov r1, #0 + lsl r0, r0, #2 + str r1, [r4, r0] _0222F6F2: - ldr r0, _0222F748 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #1 - tst r0, r1 - beq _0222F736 - mov r0, #0 - bl OS_ResetSystem - b _0222F736 + ldr r0, _0222F748 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #1 + tst r0, r1 + beq _0222F736 + mov r0, #0 + bl OS_ResetSystem + b _0222F736 _0222F704: - bl MOD83_02234558 - cmp r0, #0 - beq _0222F736 - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222F736 - bl FUN_0202E4F0 - bl FUN_02033ED0 - mov r0, #0x52 - mov r1, #0 - lsl r0, r0, #2 - str r1, [r4, r0] - ldr r0, _0222F740 ; =0x000034D8 - ldr r0, [r4, r0] - cmp r0, #0 - beq _0222F732 - bl FUN_0200DBFC + bl MOD83_02234558 + cmp r0, #0 + beq _0222F736 + mov r0, #0x52 + lsl r0, r0, #2 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222F736 + bl FUN_0202E4F0 + bl FUN_02033ED0 + mov r0, #0x52 + mov r1, #0 + lsl r0, r0, #2 + str r1, [r4, r0] + ldr r0, _0222F740 ; =0x000034D8 + ldr r0, [r4, r0] + cmp r0, #0 + beq _0222F732 + bl FUN_0200DBFC _0222F732: - mov r0, #5 - pop {r3, r4, r5, pc} + mov r0, #5 + pop {r3, r4, r5, pc} _0222F736: - mov r0, #0 - pop {r3, r4, r5, pc} - nop + mov r0, #0 + pop {r3, r4, r5, pc} + nop _0222F73C: .word 0x00003170 _0222F740: .word 0x000034D8 _0222F744: .word 0x000005DC _0222F748: .word gMain - thumb_func_end MOD83_0222F210 + thumb_func_end MOD83_0222F210 - thumb_func_start MOD83_0222F74C + thumb_func_start MOD83_0222F74C MOD83_0222F74C: ; 0x0222F74C - push {r4, lr} - ldr r1, _0222F79C ; =MOD83_0223B884 - add r4, r0, #0 - ldr r1, [r1] - cmp r1, #0 - bne _0222F798 - bl MOD83_0222F9F8 - mov r1, #0xf5 - mov r0, #0xf - lsl r1, r1, #2 - bl AllocFromHeap - ldr r1, _0222F79C ; =MOD83_0223B884 - mov r2, #0xf5 - str r0, [r1] - mov r1, #0 - lsl r2, r2, #2 - bl MI_CpuFill8 - ldr r0, _0222F79C ; =MOD83_0223B884 - mov r1, #0x32 - ldr r0, [r0] - mov r2, #0xa - strh r1, [r0, #0x24] - ldr r0, _0222F7A0 ; =MOD83_0222F89C - mov r1, #0 - bl FUN_0200CA44 - ldr r1, _0222F79C ; =MOD83_0223B884 - ldr r2, [r1] - str r0, [r2, #0x1c] - ldr r0, [r1] - str r4, [r0] - ldr r0, [r1] - add r0, r0, #4 - bl FUN_020312BC + push {r4, lr} + ldr r1, _0222F79C ; =MOD83_0223B884 + add r4, r0, #0 + ldr r1, [r1] + cmp r1, #0 + bne _0222F798 + bl MOD83_0222F9F8 + mov r1, #0xf5 + mov r0, #0xf + lsl r1, r1, #2 + bl AllocFromHeap + ldr r1, _0222F79C ; =MOD83_0223B884 + mov r2, #0xf5 + str r0, [r1] + mov r1, #0 + lsl r2, r2, #2 + bl MI_CpuFill8 + ldr r0, _0222F79C ; =MOD83_0223B884 + mov r1, #0x32 + ldr r0, [r0] + mov r2, #0xa + strh r1, [r0, #0x24] + ldr r0, _0222F7A0 ; =MOD83_0222F89C + mov r1, #0 + bl FUN_0200CA44 + ldr r1, _0222F79C ; =MOD83_0223B884 + ldr r2, [r1] + str r0, [r2, #0x1c] + ldr r0, [r1] + str r4, [r0] + ldr r0, [r1] + add r0, r0, #4 + bl FUN_020312BC _0222F798: - pop {r4, pc} - nop + pop {r4, pc} + nop _0222F79C: .word MOD83_0223B884 _0222F7A0: .word MOD83_0222F89C - thumb_func_end MOD83_0222F74C + thumb_func_end MOD83_0222F74C - thumb_func_start MOD83_0222F7A4 + thumb_func_start MOD83_0222F7A4 MOD83_0222F7A4: ; 0x0222F7A4 - ldr r2, _0222F7B0 ; =MOD83_0223B884 - ldr r3, [r2] - str r0, [r3, #0x20] - ldr r0, [r2] - strh r1, [r0, #0x24] - bx lr - .align 2, 0 + ldr r2, _0222F7B0 ; =MOD83_0223B884 + ldr r3, [r2] + str r0, [r3, #0x20] + ldr r0, [r2] + strh r1, [r0, #0x24] + bx lr + .align 2, 0 _0222F7B0: .word MOD83_0223B884 - thumb_func_end MOD83_0222F7A4 + thumb_func_end MOD83_0222F7A4 - thumb_func_start MOD83_0222F7B4 + thumb_func_start MOD83_0222F7B4 MOD83_0222F7B4: ; 0x0222F7B4 - push {r4, lr} - bl FUN_02031190 - bl FUN_02030E7C - cmp r0, #0 - beq _0222F7E2 - mov r4, #0 - ldr r1, _0222F7E4 ; =MOD83_0223B884 - ldr r0, _0222F7E8 ; =0x000003C1 - add r3, r4, #0 + push {r4, lr} + bl FUN_02031190 + bl FUN_02030E7C + cmp r0, #0 + beq _0222F7E2 + mov r4, #0 + ldr r1, _0222F7E4 ; =MOD83_0223B884 + ldr r0, _0222F7E8 ; =0x000003C1 + add r3, r4, #0 _0222F7CA: - ldr r2, [r1] - add r2, r2, r4 - add r4, r4, #1 - strb r3, [r2, r0] - cmp r4, #0x10 - blt _0222F7CA - bl FUN_0202DBE0 - ldr r0, _0222F7EC ; =MOD83_0222F7F0 - mov r1, #0 - bl MOD83_0222F7A4 + ldr r2, [r1] + add r2, r2, r4 + add r4, r4, #1 + strb r3, [r2, r0] + cmp r4, #0x10 + blt _0222F7CA + bl FUN_0202DBE0 + ldr r0, _0222F7EC ; =MOD83_0222F7F0 + mov r1, #0 + bl MOD83_0222F7A4 _0222F7E2: - pop {r4, pc} - .align 2, 0 + pop {r4, pc} + .align 2, 0 _0222F7E4: .word MOD83_0223B884 _0222F7E8: .word 0x000003C1 _0222F7EC: .word MOD83_0222F7F0 - thumb_func_end MOD83_0222F7B4 + thumb_func_end MOD83_0222F7B4 - thumb_func_start MOD83_0222F7F0 + thumb_func_start MOD83_0222F7F0 MOD83_0222F7F0: ; 0x0222F7F0 - push {r4, r5, r6, lr} - mov r4, #0 - ldr r6, _0222F824 ; =MOD83_0223B884 - add r5, r4, #0 + push {r4, r5, r6, lr} + mov r4, #0 + ldr r6, _0222F824 ; =MOD83_0223B884 + add r5, r4, #0 _0222F7F8: - ldr r0, [r6] - add r0, r0, r5 - ldr r0, [r0, #0x28] - cmp r0, #0 - bne _0222F81A - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl FUN_02030E7C - cmp r0, #1 - bne _0222F81A - add r0, r4, #0 - bl FUN_0202DFA4 - ldr r1, [r6] - add r1, r1, r5 - str r0, [r1, #0x28] + ldr r0, [r6] + add r0, r0, r5 + ldr r0, [r0, #0x28] + cmp r0, #0 + bne _0222F81A + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl FUN_02030E7C + cmp r0, #1 + bne _0222F81A + add r0, r4, #0 + bl FUN_0202DFA4 + ldr r1, [r6] + add r1, r1, r5 + str r0, [r1, #0x28] _0222F81A: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #0x10 - blt _0222F7F8 - pop {r4, r5, r6, pc} - .align 2, 0 + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #0x10 + blt _0222F7F8 + pop {r4, r5, r6, pc} + .align 2, 0 _0222F824: .word MOD83_0223B884 - thumb_func_end MOD83_0222F7F0 + thumb_func_end MOD83_0222F7F0 - thumb_func_start MOD83_0222F828 + thumb_func_start MOD83_0222F828 MOD83_0222F828: ; 0x0222F828 - push {r3, lr} - bl FUN_0202E4C8 - cmp r0, #0 - beq _0222F83A - ldr r0, _0222F83C ; =MOD83_0222F840 - mov r1, #0 - bl MOD83_0222F7A4 + push {r3, lr} + bl FUN_0202E4C8 + cmp r0, #0 + beq _0222F83A + ldr r0, _0222F83C ; =MOD83_0222F840 + mov r1, #0 + bl MOD83_0222F7A4 _0222F83A: - pop {r3, pc} - .align 2, 0 + pop {r3, pc} + .align 2, 0 _0222F83C: .word MOD83_0222F840 - thumb_func_end MOD83_0222F828 + thumb_func_end MOD83_0222F828 - thumb_func_start MOD83_0222F840 + thumb_func_start MOD83_0222F840 MOD83_0222F840: ; 0x0222F840 - bx lr - .align 2, 0 - thumb_func_end MOD83_0222F840 + bx lr + .align 2, 0 + thumb_func_end MOD83_0222F840 - thumb_func_start MOD83_0222F844 + thumb_func_start MOD83_0222F844 MOD83_0222F844: ; 0x0222F844 - push {r3, lr} - ldr r0, _0222F85C ; =MOD83_0223B884 - ldr r0, [r0] - add r0, #0x27 - ldrb r0, [r0] - bl FUN_020319D8 - ldr r0, _0222F860 ; =MOD83_0222F864 - mov r1, #0 - bl MOD83_0222F7A4 - pop {r3, pc} - .align 2, 0 + push {r3, lr} + ldr r0, _0222F85C ; =MOD83_0223B884 + ldr r0, [r0] + add r0, #0x27 + ldrb r0, [r0] + bl FUN_020319D8 + ldr r0, _0222F860 ; =MOD83_0222F864 + mov r1, #0 + bl MOD83_0222F7A4 + pop {r3, pc} + .align 2, 0 _0222F85C: .word MOD83_0223B884 _0222F860: .word MOD83_0222F864 - thumb_func_end MOD83_0222F844 + thumb_func_end MOD83_0222F844 - thumb_func_start MOD83_0222F864 + thumb_func_start MOD83_0222F864 MOD83_0222F864: ; 0x0222F864 - push {r3, lr} - bl FUN_02031A2C - cmp r0, #0 - beq _0222F88C - ldr r0, _0222F890 ; =MOD83_0223B884 - mov r2, #0 - ldr r1, [r0] - mov r0, #0xf - lsl r0, r0, #6 - strb r2, [r1, r0] - bl FUN_0202DBE0 - mov r0, #0xab - bl FUN_02031588 - ldr r0, _0222F894 ; =MOD83_0222F898 - mov r1, #0 - bl MOD83_0222F7A4 + push {r3, lr} + bl FUN_02031A2C + cmp r0, #0 + beq _0222F88C + ldr r0, _0222F890 ; =MOD83_0223B884 + mov r2, #0 + ldr r1, [r0] + mov r0, #0xf + lsl r0, r0, #6 + strb r2, [r1, r0] + bl FUN_0202DBE0 + mov r0, #0xab + bl FUN_02031588 + ldr r0, _0222F894 ; =MOD83_0222F898 + mov r1, #0 + bl MOD83_0222F7A4 _0222F88C: - pop {r3, pc} - nop + pop {r3, pc} + nop _0222F890: .word MOD83_0223B884 _0222F894: .word MOD83_0222F898 - thumb_func_end MOD83_0222F864 + thumb_func_end MOD83_0222F864 - thumb_func_start MOD83_0222F898 + thumb_func_start MOD83_0222F898 MOD83_0222F898: ; 0x0222F898 - bx lr - .align 2, 0 - thumb_func_end MOD83_0222F898 + bx lr + .align 2, 0 + thumb_func_end MOD83_0222F898 - thumb_func_start MOD83_0222F89C + thumb_func_start MOD83_0222F89C MOD83_0222F89C: ; 0x0222F89C - push {r3, lr} - ldr r1, _0222F8C0 ; =MOD83_0223B884 - ldr r2, [r1] - cmp r2, #0 - bne _0222F8AC - bl FUN_0200CAB4 - pop {r3, pc} + push {r3, lr} + ldr r1, _0222F8C0 ; =MOD83_0223B884 + ldr r2, [r1] + cmp r2, #0 + bne _0222F8AC + bl FUN_0200CAB4 + pop {r3, pc} _0222F8AC: - ldr r1, [r2, #0x20] - cmp r1, #0 - beq _0222F8BC - add r2, #0x26 - ldrb r0, [r2] - cmp r0, #0 - bne _0222F8BC - blx r1 + ldr r1, [r2, #0x20] + cmp r1, #0 + beq _0222F8BC + add r2, #0x26 + ldrb r0, [r2] + cmp r0, #0 + bne _0222F8BC + blx r1 _0222F8BC: - pop {r3, pc} - nop + pop {r3, pc} + nop _0222F8C0: .word MOD83_0223B884 - thumb_func_end MOD83_0222F89C + thumb_func_end MOD83_0222F89C - thumb_func_start MOD83_0222F8C4 + thumb_func_start MOD83_0222F8C4 MOD83_0222F8C4: ; 0x0222F8C4 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl FUN_02030F40 - cmp r0, #0 - bne _0222F8EA - add r0, r4, #0 - add r1, r6, #0 - bl FUN_02031C74 - add r0, r5, #0 - bl MOD83_0222F74C - ldr r0, _0222F8EC ; =MOD83_0222F7B4 - mov r1, #0 - bl MOD83_0222F7A4 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl FUN_02030F40 + cmp r0, #0 + bne _0222F8EA + add r0, r4, #0 + add r1, r6, #0 + bl FUN_02031C74 + add r0, r5, #0 + bl MOD83_0222F74C + ldr r0, _0222F8EC ; =MOD83_0222F7B4 + mov r1, #0 + bl MOD83_0222F7A4 _0222F8EA: - pop {r4, r5, r6, pc} - .align 2, 0 + pop {r4, r5, r6, pc} + .align 2, 0 _0222F8EC: .word MOD83_0222F7B4 - thumb_func_end MOD83_0222F8C4 + thumb_func_end MOD83_0222F8C4 - thumb_func_start MOD83_0222F8F0 + thumb_func_start MOD83_0222F8F0 MOD83_0222F8F0: ; 0x0222F8F0 - add r3, r0, #0 - add r2, r1, #0 - add r1, r3, #0 - ldr r3, _0222F8FC ; =FUN_02030B3C - mov r0, #0x16 - bx r3 - .align 2, 0 + add r3, r0, #0 + add r2, r1, #0 + add r1, r3, #0 + ldr r3, _0222F8FC ; =FUN_02030B3C + mov r0, #0x16 + bx r3 + .align 2, 0 _0222F8FC: .word FUN_02030B3C - thumb_func_end MOD83_0222F8F0 + thumb_func_end MOD83_0222F8F0 - thumb_func_start MOD83_0222F900 + thumb_func_start MOD83_0222F900 MOD83_0222F900: ; 0x0222F900 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl FUN_02030F40 - cmp r0, #0 - bne _0222F92C - bl MOD83_02231364 - bl OverlayManager_GetField18 - ldr r0, [r0, #8] - add r1, r4, #0 - bl FUN_02031CA8 - add r0, r5, #0 - bl MOD83_0222F74C - ldr r0, _0222F930 ; =MOD83_0222F828 - mov r1, #0 - bl MOD83_0222F7A4 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl FUN_02030F40 + cmp r0, #0 + bne _0222F92C + bl MOD83_02231364 + bl OverlayManager_GetField18 + ldr r0, [r0, #8] + add r1, r4, #0 + bl FUN_02031CA8 + add r0, r5, #0 + bl MOD83_0222F74C + ldr r0, _0222F930 ; =MOD83_0222F828 + mov r1, #0 + bl MOD83_0222F7A4 _0222F92C: - pop {r3, r4, r5, pc} - nop + pop {r3, r4, r5, pc} + nop _0222F930: .word MOD83_0222F828 - thumb_func_end MOD83_0222F900 + thumb_func_end MOD83_0222F900 - thumb_func_start MOD83_0222F934 + thumb_func_start MOD83_0222F934 MOD83_0222F934: ; 0x0222F934 - ldr r1, _0222F944 ; =MOD83_0223B884 - ldr r3, _0222F948 ; =MOD83_0222F7A4 - ldr r1, [r1] - add r1, #0x27 - strb r0, [r1] - ldr r0, _0222F94C ; =MOD83_0222F844 - mov r1, #0 - bx r3 - .align 2, 0 + ldr r1, _0222F944 ; =MOD83_0223B884 + ldr r3, _0222F948 ; =MOD83_0222F7A4 + ldr r1, [r1] + add r1, #0x27 + strb r0, [r1] + ldr r0, _0222F94C ; =MOD83_0222F844 + mov r1, #0 + bx r3 + .align 2, 0 _0222F944: .word MOD83_0223B884 _0222F948: .word MOD83_0222F7A4 _0222F94C: .word MOD83_0222F844 - thumb_func_end MOD83_0222F934 + thumb_func_end MOD83_0222F934 - thumb_func_start MOD83_0222F950 + thumb_func_start MOD83_0222F950 MOD83_0222F950: ; 0x0222F950 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 _0222F956: - add r0, r4, #0 - bl FUN_0202F124 - add r1, r0, #0 - beq _0222F976 - add r0, #0x4c - ldrh r0, [r0] - cmp r0, #0 - beq _0222F976 - add r5, #0x8c - add r0, r5, #0 - mov r2, #0x50 - bl memcpy - add r0, r4, #0 - pop {r3, r4, r5, pc} + add r0, r4, #0 + bl FUN_0202F124 + add r1, r0, #0 + beq _0222F976 + add r0, #0x4c + ldrh r0, [r0] + cmp r0, #0 + beq _0222F976 + add r5, #0x8c + add r0, r5, #0 + mov r2, #0x50 + bl memcpy + add r0, r4, #0 + pop {r3, r4, r5, pc} _0222F976: - add r4, r4, #1 - cmp r4, #0x10 - blt _0222F956 - mov r0, #0 - mvn r0, r0 - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end MOD83_0222F950 - - thumb_func_start MOD83_0222F984 + add r4, r4, #1 + cmp r4, #0x10 + blt _0222F956 + mov r0, #0 + mvn r0, r0 + pop {r3, r4, r5, pc} + .align 2, 0 + thumb_func_end MOD83_0222F950 + + thumb_func_start MOD83_0222F984 MOD83_0222F984: ; 0x0222F984 - ldr r1, _0222F99C ; =MOD83_0223B884 - ldr r2, [r1] - add r1, r2, #0 - add r1, #0x27 - ldrb r1, [r1] - cmp r1, r0 - bne _0222F99A - mov r0, #0xf - mov r1, #1 - lsl r0, r0, #6 - strb r1, [r2, r0] + ldr r1, _0222F99C ; =MOD83_0223B884 + ldr r2, [r1] + add r1, r2, #0 + add r1, #0x27 + ldrb r1, [r1] + cmp r1, r0 + bne _0222F99A + mov r0, #0xf + mov r1, #1 + lsl r0, r0, #6 + strb r1, [r2, r0] _0222F99A: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _0222F99C: .word MOD83_0223B884 - thumb_func_end MOD83_0222F984 + thumb_func_end MOD83_0222F984 - thumb_func_start MOD83_0222F9A0 + thumb_func_start MOD83_0222F9A0 MOD83_0222F9A0: ; 0x0222F9A0 - ldr r0, _0222F9AC ; =MOD83_0223B884 - ldr r1, [r0] - mov r0, #0xf - lsl r0, r0, #6 - ldrb r0, [r1, r0] - bx lr - .align 2, 0 + ldr r0, _0222F9AC ; =MOD83_0223B884 + ldr r1, [r0] + mov r0, #0xf + lsl r0, r0, #6 + ldrb r0, [r1, r0] + bx lr + .align 2, 0 _0222F9AC: .word MOD83_0223B884 - thumb_func_end MOD83_0222F9A0 + thumb_func_end MOD83_0222F9A0 - thumb_func_start MOD83_0222F9B0 + thumb_func_start MOD83_0222F9B0 MOD83_0222F9B0: ; 0x0222F9B0 - mov r0, #0xd6 - lsl r0, r0, #2 - bx lr - .align 2, 0 - thumb_func_end MOD83_0222F9B0 + mov r0, #0xd6 + lsl r0, r0, #2 + bx lr + .align 2, 0 + thumb_func_end MOD83_0222F9B0 - thumb_func_start MOD83_0222F9B8 + thumb_func_start MOD83_0222F9B8 MOD83_0222F9B8: ; 0x0222F9B8 - ldr r0, _0222F9C0 ; =MOD83_0223B884 - ldr r0, [r0] - add r0, #0x68 - bx lr - .align 2, 0 + ldr r0, _0222F9C0 ; =MOD83_0223B884 + ldr r0, [r0] + add r0, #0x68 + bx lr + .align 2, 0 _0222F9C0: .word MOD83_0223B884 - thumb_func_end MOD83_0222F9B8 + thumb_func_end MOD83_0222F9B8 - thumb_func_start MOD83_0222F9C4 + thumb_func_start MOD83_0222F9C4 MOD83_0222F9C4: ; 0x0222F9C4 - ldr r1, _0222F9D4 ; =MOD83_0223B884 - mov r2, #1 - ldr r1, [r1] - add r1, r1, r0 - ldr r0, _0222F9D8 ; =0x000003C1 - strb r2, [r1, r0] - bx lr - nop + ldr r1, _0222F9D4 ; =MOD83_0223B884 + mov r2, #1 + ldr r1, [r1] + add r1, r1, r0 + ldr r0, _0222F9D8 ; =0x000003C1 + strb r2, [r1, r0] + bx lr + nop _0222F9D4: .word MOD83_0223B884 _0222F9D8: .word 0x000003C1 - thumb_func_end MOD83_0222F9C4 + thumb_func_end MOD83_0222F9C4 - thumb_func_start MOD83_0222F9DC + thumb_func_start MOD83_0222F9DC MOD83_0222F9DC: ; 0x0222F9DC - push {r3, lr} - ldr r1, _0222F9F4 ; =MOD83_0223B884 - mov r0, #0xf - ldr r1, [r1] - bl FreeToHeapExplicit - ldr r0, _0222F9F4 ; =MOD83_0223B884 - mov r1, #0 - str r1, [r0] - bl FUN_02031A08 - pop {r3, pc} - .align 2, 0 + push {r3, lr} + ldr r1, _0222F9F4 ; =MOD83_0223B884 + mov r0, #0xf + ldr r1, [r1] + bl FreeToHeapExplicit + ldr r0, _0222F9F4 ; =MOD83_0223B884 + mov r1, #0 + str r1, [r0] + bl FUN_02031A08 + pop {r3, pc} + .align 2, 0 _0222F9F4: .word MOD83_0223B884 - thumb_func_end MOD83_0222F9DC + thumb_func_end MOD83_0222F9DC - thumb_func_start MOD83_0222F9F8 + thumb_func_start MOD83_0222F9F8 MOD83_0222F9F8: ; 0x0222F9F8 - ldr r3, _0222FA04 ; =FUN_0202D8D0 - add r2, r0, #0 - ldr r0, _0222FA08 ; =MOD83_0223A3F0 - mov r1, #2 - bx r3 - nop + ldr r3, _0222FA04 ; =FUN_0202D8D0 + add r2, r0, #0 + ldr r0, _0222FA08 ; =MOD83_0223A3F0 + mov r1, #2 + bx r3 + nop _0222FA04: .word FUN_0202D8D0 _0222FA08: .word MOD83_0223A3F0 - thumb_func_end MOD83_0222F9F8 + thumb_func_end MOD83_0222F9F8 - thumb_func_start MOD83_0222FA0C + thumb_func_start MOD83_0222FA0C MOD83_0222FA0C: ; 0x0222FA0C - push {r4, lr} - add r4, r0, #0 - cmp r1, #1 - ldr r0, _0222FA40 ; =0x00002994 - bne _0222FA2C - ldr r0, [r4, r0] - cmp r0, #0 - bne _0222FA3C - add r0, r4, #0 - add r0, #0x18 - mov r1, #1 - bl FUN_0200D858 - ldr r1, _0222FA40 ; =0x00002994 - str r0, [r4, r1] - pop {r4, pc} + push {r4, lr} + add r4, r0, #0 + cmp r1, #1 + ldr r0, _0222FA40 ; =0x00002994 + bne _0222FA2C + ldr r0, [r4, r0] + cmp r0, #0 + bne _0222FA3C + add r0, r4, #0 + add r0, #0x18 + mov r1, #1 + bl FUN_0200D858 + ldr r1, _0222FA40 ; =0x00002994 + str r0, [r4, r1] + pop {r4, pc} _0222FA2C: - ldr r0, [r4, r0] - cmp r0, #0 - beq _0222FA36 - bl FUN_0200DBFC + ldr r0, [r4, r0] + cmp r0, #0 + beq _0222FA36 + bl FUN_0200DBFC _0222FA36: - ldr r0, _0222FA40 ; =0x00002994 - mov r1, #0 - str r1, [r4, r0] + ldr r0, _0222FA40 ; =0x00002994 + mov r1, #0 + str r1, [r4, r0] _0222FA3C: - pop {r4, pc} - nop + pop {r4, pc} + nop _0222FA40: .word 0x00002994 - thumb_func_end MOD83_0222FA0C + thumb_func_end MOD83_0222FA0C - thumb_func_start MOD83_0222FA44 + thumb_func_start MOD83_0222FA44 MOD83_0222FA44: ; 0x0222FA44 - ldr r3, _0222FA48 ; =MOD83_0222FA0C - bx r3 - .align 2, 0 + ldr r3, _0222FA48 ; =MOD83_0222FA0C + bx r3 + .align 2, 0 _0222FA48: .word MOD83_0222FA0C - thumb_func_end MOD83_0222FA44 + thumb_func_end MOD83_0222FA44 - thumb_func_start MOD83_0222FA4C + thumb_func_start MOD83_0222FA4C MOD83_0222FA4C: ; 0x0222FA4C - push {r3, r4, r5, r6, r7, lr} - bl OverlayManager_GetData - add r7, r0, #0 - bl MOD83_02238E48 - ldr r0, [r7, #0x7c] - cmp r0, #0 - beq _0222FA62 - bl ListMenuItems_dtor + push {r3, r4, r5, r6, r7, lr} + bl OverlayManager_GetData + add r7, r0, #0 + bl MOD83_02238E48 + ldr r0, [r7, #0x7c] + cmp r0, #0 + beq _0222FA62 + bl ListMenuItems_dtor _0222FA62: - ldr r0, [r7, #0x78] - cmp r0, #0 - beq _0222FA70 - mov r1, #0 - add r2, r1, #0 - bl DestroyListMenu + ldr r0, [r7, #0x78] + cmp r0, #0 + beq _0222FA70 + mov r1, #0 + add r2, r1, #0 + bl DestroyListMenu _0222FA70: - add r0, r7, #0 - add r0, #0x18 - bl ClearWindowTilemapAndCopyToVram - add r0, r7, #0 - add r0, #0x18 - bl RemoveWindow - add r0, r7, #0 - add r0, #0x58 - bl WindowIsInUse - cmp r0, #0 - beq _0222FA9C - add r0, r7, #0 - add r0, #0x58 - bl ClearWindowTilemapAndCopyToVram - add r0, r7, #0 - add r0, #0x58 - bl RemoveWindow + add r0, r7, #0 + add r0, #0x18 + bl ClearWindowTilemapAndCopyToVram + add r0, r7, #0 + add r0, #0x18 + bl RemoveWindow + add r0, r7, #0 + add r0, #0x58 + bl WindowIsInUse + cmp r0, #0 + beq _0222FA9C + add r0, r7, #0 + add r0, #0x58 + bl ClearWindowTilemapAndCopyToVram + add r0, r7, #0 + add r0, #0x58 + bl RemoveWindow _0222FA9C: - add r5, r7, #0 - mov r6, #0 - add r4, r7, #0 - add r5, #0x28 + add r5, r7, #0 + mov r6, #0 + add r4, r7, #0 + add r5, #0x28 _0222FAA4: - ldr r0, [r4, #0x28] - cmp r0, #0 - beq _0222FAB6 - add r0, r5, #0 - bl ClearWindowTilemapAndCopyToVram - add r0, r5, #0 - bl RemoveWindow + ldr r0, [r4, #0x28] + cmp r0, #0 + beq _0222FAB6 + add r0, r5, #0 + bl ClearWindowTilemapAndCopyToVram + add r0, r5, #0 + bl RemoveWindow _0222FAB6: - add r6, r6, #1 - add r4, #0x10 - add r5, #0x10 - cmp r6, #3 - blt _0222FAA4 - ldr r0, [r7] - mov r1, #0 - bl FreeBgTilemapBuffer - ldr r0, [r7] - mov r1, #1 - bl FreeBgTilemapBuffer - ldr r0, [r7] - mov r1, #4 - bl FreeBgTilemapBuffer - ldr r0, [r7] - mov r1, #5 - bl FreeBgTilemapBuffer - ldr r0, [r7] - bl FreeToHeap - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_0222FA4C - - thumb_func_start MOD83_0222FAE8 + add r6, r6, #1 + add r4, #0x10 + add r5, #0x10 + cmp r6, #3 + blt _0222FAA4 + ldr r0, [r7] + mov r1, #0 + bl FreeBgTilemapBuffer + ldr r0, [r7] + mov r1, #1 + bl FreeBgTilemapBuffer + ldr r0, [r7] + mov r1, #4 + bl FreeBgTilemapBuffer + ldr r0, [r7] + mov r1, #5 + bl FreeBgTilemapBuffer + ldr r0, [r7] + bl FreeToHeap + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_0222FA4C + + thumb_func_start MOD83_0222FAE8 MOD83_0222FAE8: ; 0x0222FAE8 - push {r3, lr} - sub sp, #8 - bl MOD83_02238AFC - bl MOD83_02238B4C - mov r0, #8 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0xa - mov r2, #7 - mov r3, #9 - bl MOD83_02238BC4 - add sp, #8 - pop {r3, pc} - thumb_func_end MOD83_0222FAE8 - - thumb_func_start MOD83_0222FB0C + push {r3, lr} + sub sp, #8 + bl MOD83_02238AFC + bl MOD83_02238B4C + mov r0, #8 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0xa + mov r2, #7 + mov r3, #9 + bl MOD83_02238BC4 + add sp, #8 + pop {r3, pc} + thumb_func_end MOD83_0222FAE8 + + thumb_func_start MOD83_0222FB0C MOD83_0222FB0C: ; 0x0222FB0C - push {r3, r4, lr} - sub sp, #4 - add r4, r0, #0 - mov r0, #0 - mvn r0, r0 - cmp r1, r0 - beq _0222FB32 - str r1, [sp] - ldr r1, _0222FB40 ; =0x000005C4 - mov r0, #0 - ldr r1, [r4, r1] - mov r2, #0x80 - mov r3, #0x64 - bl MOD83_02238DBC - ldr r1, _0222FB40 ; =0x000005C4 - add sp, #4 - str r0, [r4, r1] - pop {r3, r4, pc} + push {r3, r4, lr} + sub sp, #4 + add r4, r0, #0 + mov r0, #0 + mvn r0, r0 + cmp r1, r0 + beq _0222FB32 + str r1, [sp] + ldr r1, _0222FB40 ; =0x000005C4 + mov r0, #0 + ldr r1, [r4, r1] + mov r2, #0x80 + mov r3, #0x64 + bl MOD83_02238DBC + ldr r1, _0222FB40 ; =0x000005C4 + add sp, #4 + str r0, [r4, r1] + pop {r3, r4, pc} _0222FB32: - ldr r0, _0222FB40 ; =0x000005C4 - mov r1, #0 - ldr r0, [r4, r0] - bl FUN_020200A0 - add sp, #4 - pop {r3, r4, pc} - .align 2, 0 + ldr r0, _0222FB40 ; =0x000005C4 + mov r1, #0 + ldr r0, [r4, r0] + bl FUN_020200A0 + add sp, #4 + pop {r3, r4, pc} + .align 2, 0 _0222FB40: .word 0x000005C4 - thumb_func_end MOD83_0222FB0C + thumb_func_end MOD83_0222FB0C - thumb_func_start MOD83_0222FB44 + thumb_func_start MOD83_0222FB44 MOD83_0222FB44: ; 0x0222FB44 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl WindowIsInUse - cmp r0, #1 - bne _0222FB5A - add r0, r5, #0 - add r1, r4, #0 - bl FUN_0200CCF8 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl WindowIsInUse + cmp r0, #1 + bne _0222FB5A + add r0, r5, #0 + add r1, r4, #0 + bl FUN_0200CCF8 _0222FB5A: - pop {r3, r4, r5, pc} - thumb_func_end MOD83_0222FB44 + pop {r3, r4, r5, pc} + thumb_func_end MOD83_0222FB44 - thumb_func_start MOD83_0222FB5C + thumb_func_start MOD83_0222FB5C MOD83_0222FB5C: ; 0x0222FB5C - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - ldr r0, _0222FBB0 ; =0x000015D4 - ldr r0, [r4, r0] - cmp r0, #2 - beq _0222FB7A - add r1, r4, #0 - add r0, r5, #0 - add r1, #0x18 - mov r2, #3 - bl MOD83_0223050C + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + ldr r0, _0222FBB0 ; =0x000015D4 + ldr r0, [r4, r0] + cmp r0, #2 + beq _0222FB7A + add r1, r4, #0 + add r0, r5, #0 + add r1, #0x18 + mov r2, #3 + bl MOD83_0223050C _0222FB7A: - add r0, r4, #0 - add r0, #0x48 - mov r1, #0 - bl MOD83_0222FB44 - ldr r0, _0222FBB0 ; =0x000015D4 - ldr r0, [r4, r0] - cmp r0, #2 - beq _0222FBAA - add r0, r4, #0 - mov r1, #0xf - bl MOD83_0222F900 - ldr r1, _0222FBB4 ; =0x00001C20 - ldr r0, _0222FBB8 ; =0x00000434 - str r1, [r4, r0] - bl FUN_02033E74 - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FA0C - mov r0, #7 - pop {r3, r4, r5, pc} + add r0, r4, #0 + add r0, #0x48 + mov r1, #0 + bl MOD83_0222FB44 + ldr r0, _0222FBB0 ; =0x000015D4 + ldr r0, [r4, r0] + cmp r0, #2 + beq _0222FBAA + add r0, r4, #0 + mov r1, #0xf + bl MOD83_0222F900 + ldr r1, _0222FBB4 ; =0x00001C20 + ldr r0, _0222FBB8 ; =0x00000434 + str r1, [r4, r0] + bl FUN_02033E74 + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FA0C + mov r0, #7 + pop {r3, r4, r5, pc} _0222FBAA: - mov r0, #0x13 - pop {r3, r4, r5, pc} - nop + mov r0, #0x13 + pop {r3, r4, r5, pc} + nop _0222FBB0: .word 0x000015D4 _0222FBB4: .word 0x00001C20 _0222FBB8: .word 0x00000434 - thumb_func_end MOD83_0222FB5C + thumb_func_end MOD83_0222FB5C - thumb_func_start MOD83_0222FBBC + thumb_func_start MOD83_0222FBBC MOD83_0222FBBC: ; 0x0222FBBC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - add r0, #0x80 - ldr r1, [r0] - cmp r1, #1 - bne _0222FBD2 - mov r0, #0x30 - pop {r3, r4, r5, pc} + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + add r0, #0x80 + ldr r1, [r0] + cmp r1, #1 + bne _0222FBD2 + mov r0, #0x30 + pop {r3, r4, r5, pc} _0222FBD2: - sub r0, r1, #2 - cmp r0, #2 - bhi _0222FBDC - mov r0, #0x30 - pop {r3, r4, r5, pc} + sub r0, r1, #2 + cmp r0, #2 + bhi _0222FBDC + mov r0, #0x30 + pop {r3, r4, r5, pc} _0222FBDC: - cmp r1, #5 - bne _0222FBE4 - mov r0, #0x30 - pop {r3, r4, r5, pc} + cmp r1, #5 + bne _0222FBE4 + mov r0, #0x30 + pop {r3, r4, r5, pc} _0222FBE4: - ldr r0, _0222FC38 ; =0x000015D4 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222FBF4 - ldr r0, _0222FC3C ; =0x00000438 - ldr r0, [r4, r0] - bl MOD83_0222F934 + ldr r0, _0222FC38 ; =0x000015D4 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222FBF4 + ldr r0, _0222FC3C ; =0x00000438 + ldr r0, [r4, r0] + bl MOD83_0222F934 _0222FBF4: - add r1, r4, #0 - add r0, r5, #0 - add r1, #0x18 - mov r2, #6 - bl MOD83_0223050C - add r0, r4, #0 - add r0, #0x48 - mov r1, #0 - bl MOD83_0222FB44 - ldr r0, _0222FC38 ; =0x000015D4 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222FC22 - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FB0C - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FA0C + add r1, r4, #0 + add r0, r5, #0 + add r1, #0x18 + mov r2, #6 + bl MOD83_0223050C + add r0, r4, #0 + add r0, #0x48 + mov r1, #0 + bl MOD83_0222FB44 + ldr r0, _0222FC38 ; =0x000015D4 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222FC22 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FB0C + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FA0C _0222FC22: - ldr r0, _0222FC38 ; =0x000015D4 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222FC34 - mov r0, #0xab - bl FUN_02031588 - mov r0, #9 - pop {r3, r4, r5, pc} + ldr r0, _0222FC38 ; =0x000015D4 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222FC34 + mov r0, #0xab + bl FUN_02031588 + mov r0, #9 + pop {r3, r4, r5, pc} _0222FC34: - mov r0, #0x15 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0x15 + pop {r3, r4, r5, pc} + .align 2, 0 _0222FC38: .word 0x000015D4 _0222FC3C: .word 0x00000438 - thumb_func_end MOD83_0222FBBC + thumb_func_end MOD83_0222FBBC - thumb_func_start MOD83_0222FC40 + thumb_func_start MOD83_0222FC40 MOD83_0222FC40: ; 0x0222FC40 - push {r3, r4, r5, r6, r7, lr} - bl OverlayManager_GetData - add r4, r0, #0 - ldr r0, _0222FCA4 ; =0x000015D4 - add r5, r4, #0 - add r6, r4, #0 - ldr r0, [r4, r0] - add r5, #0xdc - add r6, #0x8c - cmp r0, #1 - beq _0222FC5E - cmp r0, #3 - beq _0222FC84 - b _0222FC9E + push {r3, r4, r5, r6, r7, lr} + bl OverlayManager_GetData + add r4, r0, #0 + ldr r0, _0222FCA4 ; =0x000015D4 + add r5, r4, #0 + add r6, r4, #0 + ldr r0, [r4, r0] + add r5, #0xdc + add r6, #0x8c + cmp r0, #1 + beq _0222FC5E + cmp r0, #3 + beq _0222FC84 + b _0222FC9E _0222FC5E: - mov r0, #0 - add r1, r0, #0 - add r2, r0, #0 - bl MOD83_0222F9B8 - mov r2, #0xd6 - add r1, r0, #0 - add r0, r5, #0 - lsl r2, r2, #2 - bl memcpy - add r0, r4, #0 - add r4, #0xdc - add r0, #0x8c - add r1, r4, #0 - mov r2, #0x56 - bl MOD83_02239374 - b _0222FC9E + mov r0, #0 + add r1, r0, #0 + add r2, r0, #0 + bl MOD83_0222F9B8 + mov r2, #0xd6 + add r1, r0, #0 + add r0, r5, #0 + lsl r2, r2, #2 + bl memcpy + add r0, r4, #0 + add r4, #0xdc + add r0, #0x8c + add r1, r4, #0 + mov r2, #0x56 + bl MOD83_02239374 + b _0222FC9E _0222FC84: - ldr r7, _0222FCA8 ; =0x000005D4 - mov r2, #0xd6 - add r1, r4, r7 - add r0, r5, #0 - add r1, #0x50 - lsl r2, r2, #2 - bl memcpy - add r0, r6, #0 - add r1, r4, r7 - mov r2, #0x50 - bl memcpy + ldr r7, _0222FCA8 ; =0x000005D4 + mov r2, #0xd6 + add r1, r4, r7 + add r0, r5, #0 + add r1, #0x50 + lsl r2, r2, #2 + bl memcpy + add r0, r6, #0 + add r1, r4, r7 + mov r2, #0x50 + bl memcpy _0222FC9E: - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - nop + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + nop _0222FCA4: .word 0x000015D4 _0222FCA8: .word 0x000005D4 - thumb_func_end MOD83_0222FC40 + thumb_func_end MOD83_0222FC40 - thumb_func_start MOD83_0222FCAC + thumb_func_start MOD83_0222FCAC MOD83_0222FCAC: ; 0x0222FCAC - push {r4, lr} - add r4, r0, #0 - ldr r0, _0222FCD8 ; =0x00002990 - ldr r1, [r4, r0] - cmp r1, #1 - bne _0222FCBE - mov r1, #0 - sub r0, r0, #4 - str r1, [r4, r0] + push {r4, lr} + add r4, r0, #0 + ldr r0, _0222FCD8 ; =0x00002990 + ldr r1, [r4, r0] + cmp r1, #1 + bne _0222FCBE + mov r1, #0 + sub r0, r0, #4 + str r1, [r4, r0] _0222FCBE: - bl MOD83_022394CC - sub r0, r0, #2 - cmp r0, #1 - bhi _0222FCD4 - ldr r0, _0222FCDC ; =0x0000061B - bl PlaySE - ldr r0, _0222FCE0 ; =0x0000298C - mov r1, #0 - str r1, [r4, r0] + bl MOD83_022394CC + sub r0, r0, #2 + cmp r0, #1 + bhi _0222FCD4 + ldr r0, _0222FCDC ; =0x0000061B + bl PlaySE + ldr r0, _0222FCE0 ; =0x0000298C + mov r1, #0 + str r1, [r4, r0] _0222FCD4: - pop {r4, pc} - nop + pop {r4, pc} + nop _0222FCD8: .word 0x00002990 _0222FCDC: .word 0x0000061B _0222FCE0: .word 0x0000298C - thumb_func_end MOD83_0222FCAC + thumb_func_end MOD83_0222FCAC - thumb_func_start MOD83_0222FCE4 + thumb_func_start MOD83_0222FCE4 MOD83_0222FCE4: ; 0x0222FCE4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r7, r0, #0 - bl OverlayManager_GetData - add r6, r0, #0 - add r4, r6, #0 - add r5, r6, #0 - add r0, r7, #0 - add r4, #0x8c - add r5, #0xdc - bl OverlayManager_GetField18 - ldr r0, [r0, #8] - str r0, [sp] - add r0, r4, #0 - add r0, #0x4e - ldrb r0, [r0] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - bne _0222FD12 - mov r7, #0 - b _0222FD3E + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + add r7, r0, #0 + bl OverlayManager_GetData + add r6, r0, #0 + add r4, r6, #0 + add r5, r6, #0 + add r0, r7, #0 + add r4, #0x8c + add r5, #0xdc + bl OverlayManager_GetField18 + ldr r0, [r0, #8] + str r0, [sp] + add r0, r4, #0 + add r0, #0x4e + ldrb r0, [r0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bne _0222FD12 + mov r7, #0 + b _0222FD3E _0222FD12: - mov r1, #0x35 - add r2, r4, #0 - mov r0, #0 - lsl r1, r1, #4 - strb r0, [r5, r1] - add r2, #0x4e - ldrb r2, [r2] - mov r7, #1 - lsl r2, r2, #0x1b - lsr r2, r2, #0x1f - bne _0222FD2C - sub r1, #8 - strb r0, [r5, r1] + mov r1, #0x35 + add r2, r4, #0 + mov r0, #0 + lsl r1, r1, #4 + strb r0, [r5, r1] + add r2, #0x4e + ldrb r2, [r2] + mov r7, #1 + lsl r2, r2, #0x1b + lsr r2, r2, #0x1f + bne _0222FD2C + sub r1, #8 + strb r0, [r5, r1] _0222FD2C: - add r0, sp, #8 - bl GF_RTC_CopyDate - add r0, sp, #8 - bl RTC_ConvertDateToDay - mov r1, #0xd5 - lsl r1, r1, #2 - str r0, [r5, r1] + add r0, sp, #8 + bl GF_RTC_CopyDate + add r0, sp, #8 + bl RTC_ConvertDateToDay + mov r1, #0xd5 + lsl r1, r1, #2 + str r0, [r5, r1] _0222FD3E: - ldr r0, [sp] - bl FUN_0202251C - add r4, #0x4c - ldrh r1, [r4] - str r0, [sp, #4] - bl FUN_0202AF24 - cmp r7, #0 - bne _0222FD5E - ldr r0, [sp, #4] - add r1, r5, #0 - mov r2, #0 - bl FUN_0202AC98 - b _0222FD66 + ldr r0, [sp] + bl FUN_0202251C + add r4, #0x4c + ldrh r1, [r4] + str r0, [sp, #4] + bl FUN_0202AF24 + cmp r7, #0 + bne _0222FD5E + ldr r0, [sp, #4] + add r1, r5, #0 + mov r2, #0 + bl FUN_0202AC98 + b _0222FD66 _0222FD5E: - ldr r0, [sp, #4] - add r1, r5, #0 - bl FUN_0202AD08 + ldr r0, [sp, #4] + add r1, r5, #0 + bl FUN_0202AD08 _0222FD66: - ldr r0, [sp] - bl MOD83_022394BC - ldr r0, _0222FD7C ; =0x00002990 - mov r1, #0 - str r1, [r6, r0] - ldr r1, _0222FD80 ; =MOD83_0222FCAC - sub r0, r0, #4 - str r1, [r6, r0] - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + ldr r0, [sp] + bl MOD83_022394BC + ldr r0, _0222FD7C ; =0x00002990 + mov r1, #0 + str r1, [r6, r0] + ldr r1, _0222FD80 ; =MOD83_0222FCAC + sub r0, r0, #4 + str r1, [r6, r0] + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _0222FD7C: .word 0x00002990 _0222FD80: .word MOD83_0222FCAC - thumb_func_end MOD83_0222FCE4 + thumb_func_end MOD83_0222FCE4 - thumb_func_start MOD83_0222FD84 + thumb_func_start MOD83_0222FD84 MOD83_0222FD84: ; 0x0222FD84 - push {r3, r4, r5, r6, lr} - sub sp, #0x14 - add r6, r0, #0 - add r4, r1, #0 - bl OverlayManager_GetData - cmp r4, #0 - bne _0222FD98 - mov r5, #4 - b _0222FD9C + push {r3, r4, r5, r6, lr} + sub sp, #0x14 + add r6, r0, #0 + add r4, r1, #0 + bl OverlayManager_GetData + cmp r4, #0 + bne _0222FD98 + mov r5, #4 + b _0222FD9C _0222FD98: - mov r5, #0 - mvn r5, r5 + mov r5, #0 + mvn r5, r5 _0222FD9C: - ldr r1, [r0, #0x48] - add r4, r0, #0 - add r4, #0x48 - cmp r1, #0 - bne _0222FDC6 - mov r1, #0xa - str r1, [sp] - mov r1, #6 - str r1, [sp, #4] - mov r1, #4 - str r1, [sp, #8] - mov r2, #0 - mov r1, #0x6b - str r2, [sp, #0xc] - lsl r1, r1, #2 - str r1, [sp, #0x10] - ldr r0, [r0] - add r1, r4, #0 - mov r3, #0x17 - bl AddWindowParameterized + ldr r1, [r0, #0x48] + add r4, r0, #0 + add r4, #0x48 + cmp r1, #0 + bne _0222FDC6 + mov r1, #0xa + str r1, [sp] + mov r1, #6 + str r1, [sp, #4] + mov r1, #4 + str r1, [sp, #8] + mov r2, #0 + mov r1, #0x6b + str r2, [sp, #0xc] + lsl r1, r1, #2 + str r1, [sp, #0x10] + ldr r0, [r0] + add r1, r4, #0 + mov r3, #0x17 + bl AddWindowParameterized _0222FDC6: - add r0, r4, #0 - mov r1, #1 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CCA4 - ldr r1, _0222FDE4 ; =MOD83_0223ADD8 - add r0, r6, #0 - mov r2, #2 - add r3, r4, #0 - str r5, [sp] - bl MOD83_022303B0 - add sp, #0x14 - pop {r3, r4, r5, r6, pc} - .align 2, 0 + add r0, r4, #0 + mov r1, #1 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CCA4 + ldr r1, _0222FDE4 ; =MOD83_0223ADD8 + add r0, r6, #0 + mov r2, #2 + add r3, r4, #0 + str r5, [sp] + bl MOD83_022303B0 + add sp, #0x14 + pop {r3, r4, r5, r6, pc} + .align 2, 0 _0222FDE4: .word MOD83_0223ADD8 - thumb_func_end MOD83_0222FD84 + thumb_func_end MOD83_0222FD84 - thumb_func_start MOD83_0222FDE8 + thumb_func_start MOD83_0222FDE8 MOD83_0222FDE8: ; 0x0222FDE8 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - add r0, #0x48 - mov r1, #0 - bl MOD83_0222FB44 - add r0, r4, #0 - add r0, #0x58 - mov r1, #0 - bl MOD83_0222FB44 - ldr r0, _0222FE20 ; =0x000015D4 - ldr r0, [r4, r0] - cmp r0, #1 - bne _0222FE14 - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + add r0, #0x48 + mov r1, #0 + bl MOD83_0222FB44 + add r0, r4, #0 + add r0, #0x58 + mov r1, #0 + bl MOD83_0222FB44 + ldr r0, _0222FE20 ; =0x000015D4 + ldr r0, [r4, r0] + cmp r0, #1 + bne _0222FE14 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C _0222FE14: - bl FUN_02033ED0 - add r0, r5, #0 - bl MOD83_02230118 - pop {r3, r4, r5, pc} - .align 2, 0 + bl FUN_02033ED0 + add r0, r5, #0 + bl MOD83_02230118 + pop {r3, r4, r5, pc} + .align 2, 0 _0222FE20: .word 0x000015D4 - thumb_func_end MOD83_0222FDE8 + thumb_func_end MOD83_0222FDE8 - thumb_func_start MOD83_0222FE24 + thumb_func_start MOD83_0222FE24 MOD83_0222FE24: ; 0x0222FE24 - push {r3, r4, r5, r6, lr} - sub sp, #0x14 - add r6, r0, #0 - bl OverlayManager_GetData - add r5, r0, #0 - bl MOD83_02238700 - cmp r0, #0 - beq _0222FE3C - mov r1, #2 - b _0222FE3E + push {r3, r4, r5, r6, lr} + sub sp, #0x14 + add r6, r0, #0 + bl OverlayManager_GetData + add r5, r0, #0 + bl MOD83_02238700 + cmp r0, #0 + beq _0222FE3C + mov r1, #2 + b _0222FE3E _0222FE3C: - mov r1, #1 + mov r1, #1 _0222FE3E: - ldr r0, _0222FE98 ; =0x000015D4 - str r1, [r5, r0] - add r0, r5, #0 - add r0, #0x38 - mov r1, #0 - bl MOD83_0222FB44 - add r4, r5, #0 - ldr r0, [r5, #0x48] - add r4, #0x48 - cmp r0, #0 - bne _0222FE76 - mov r0, #0xa - str r0, [sp] - mov r0, #6 - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r2, #0 - mov r0, #0x6b - str r2, [sp, #0xc] - lsl r0, r0, #2 - str r0, [sp, #0x10] - ldr r0, [r5] - add r1, r4, #0 - mov r3, #0x17 - bl AddWindowParameterized + ldr r0, _0222FE98 ; =0x000015D4 + str r1, [r5, r0] + add r0, r5, #0 + add r0, #0x38 + mov r1, #0 + bl MOD83_0222FB44 + add r4, r5, #0 + ldr r0, [r5, #0x48] + add r4, #0x48 + cmp r0, #0 + bne _0222FE76 + mov r0, #0xa + str r0, [sp] + mov r0, #6 + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r2, #0 + mov r0, #0x6b + str r2, [sp, #0xc] + lsl r0, r0, #2 + str r0, [sp, #0x10] + ldr r0, [r5] + add r1, r4, #0 + mov r3, #0x17 + bl AddWindowParameterized _0222FE76: - add r0, r4, #0 - mov r1, #1 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CCA4 - mov r2, #2 - ldr r1, _0222FE9C ; =MOD83_0223ADC8 - add r0, r6, #0 - add r3, r4, #0 - str r2, [sp] - bl MOD83_022303B0 - mov r0, #5 - add sp, #0x14 - pop {r3, r4, r5, r6, pc} - nop + add r0, r4, #0 + mov r1, #1 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CCA4 + mov r2, #2 + ldr r1, _0222FE9C ; =MOD83_0223ADC8 + add r0, r6, #0 + add r3, r4, #0 + str r2, [sp] + bl MOD83_022303B0 + mov r0, #5 + add sp, #0x14 + pop {r3, r4, r5, r6, pc} + nop _0222FE98: .word 0x000015D4 _0222FE9C: .word MOD83_0223ADC8 - thumb_func_end MOD83_0222FE24 + thumb_func_end MOD83_0222FE24 - thumb_func_start MOD83_0222FEA0 + thumb_func_start MOD83_0222FEA0 MOD83_0222FEA0: ; 0x0222FEA0 - push {r3, r4, r5, r6, lr} - sub sp, #0x14 - add r6, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - ldr r0, _0222FF08 ; =0x000015D4 - mov r1, #4 - str r1, [r4, r0] - add r0, r4, #0 - add r0, #0x38 - mov r1, #0 - bl MOD83_0222FB44 - add r5, r4, #0 - ldr r0, [r4, #0x48] - add r5, #0x48 - cmp r0, #0 - bne _0222FEE6 - mov r0, #0xa - str r0, [sp] - mov r0, #6 - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r2, #0 - mov r0, #0x6b - str r2, [sp, #0xc] - lsl r0, r0, #2 - str r0, [sp, #0x10] - ldr r0, [r4] - add r1, r5, #0 - mov r3, #0x17 - bl AddWindowParameterized + push {r3, r4, r5, r6, lr} + sub sp, #0x14 + add r6, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + ldr r0, _0222FF08 ; =0x000015D4 + mov r1, #4 + str r1, [r4, r0] + add r0, r4, #0 + add r0, #0x38 + mov r1, #0 + bl MOD83_0222FB44 + add r5, r4, #0 + ldr r0, [r4, #0x48] + add r5, #0x48 + cmp r0, #0 + bne _0222FEE6 + mov r0, #0xa + str r0, [sp] + mov r0, #6 + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r2, #0 + mov r0, #0x6b + str r2, [sp, #0xc] + lsl r0, r0, #2 + str r0, [sp, #0x10] + ldr r0, [r4] + add r1, r5, #0 + mov r3, #0x17 + bl AddWindowParameterized _0222FEE6: - add r0, r5, #0 - mov r1, #1 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CCA4 - mov r0, #0x4e - str r0, [sp] - ldr r1, _0222FF0C ; =MOD83_0223AD98 - add r0, r6, #0 - mov r2, #2 - add r3, r5, #0 - bl MOD83_022303B0 - mov r0, #5 - add sp, #0x14 - pop {r3, r4, r5, r6, pc} - .align 2, 0 + add r0, r5, #0 + mov r1, #1 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CCA4 + mov r0, #0x4e + str r0, [sp] + ldr r1, _0222FF0C ; =MOD83_0223AD98 + add r0, r6, #0 + mov r2, #2 + add r3, r5, #0 + bl MOD83_022303B0 + mov r0, #5 + add sp, #0x14 + pop {r3, r4, r5, r6, pc} + .align 2, 0 _0222FF08: .word 0x000015D4 _0222FF0C: .word MOD83_0223AD98 - thumb_func_end MOD83_0222FEA0 + thumb_func_end MOD83_0222FEA0 - thumb_func_start MOD83_0222FF10 + thumb_func_start MOD83_0222FF10 MOD83_0222FF10: ; 0x0222FF10 - push {r3, r4, r5, r6, lr} - sub sp, #0x14 - add r6, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - ldr r0, _0222FF78 ; =0x000015D4 - mov r1, #3 - str r1, [r4, r0] - add r0, r4, #0 - add r0, #0x38 - mov r1, #0 - bl MOD83_0222FB44 - add r5, r4, #0 - ldr r0, [r4, #0x48] - add r5, #0x48 - cmp r0, #0 - bne _0222FF56 - mov r0, #0xa - str r0, [sp] - mov r0, #6 - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r2, #0 - mov r0, #0x6b - str r2, [sp, #0xc] - lsl r0, r0, #2 - str r0, [sp, #0x10] - ldr r0, [r4] - add r1, r5, #0 - mov r3, #0x17 - bl AddWindowParameterized + push {r3, r4, r5, r6, lr} + sub sp, #0x14 + add r6, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + ldr r0, _0222FF78 ; =0x000015D4 + mov r1, #3 + str r1, [r4, r0] + add r0, r4, #0 + add r0, #0x38 + mov r1, #0 + bl MOD83_0222FB44 + add r5, r4, #0 + ldr r0, [r4, #0x48] + add r5, #0x48 + cmp r0, #0 + bne _0222FF56 + mov r0, #0xa + str r0, [sp] + mov r0, #6 + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r2, #0 + mov r0, #0x6b + str r2, [sp, #0xc] + lsl r0, r0, #2 + str r0, [sp, #0x10] + ldr r0, [r4] + add r1, r5, #0 + mov r3, #0x17 + bl AddWindowParameterized _0222FF56: - add r0, r5, #0 - mov r1, #1 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CCA4 - mov r0, #0x4d - str r0, [sp] - ldr r1, _0222FF7C ; =MOD83_0223ADA8 - add r0, r6, #0 - mov r2, #2 - add r3, r5, #0 - bl MOD83_022303B0 - mov r0, #5 - add sp, #0x14 - pop {r3, r4, r5, r6, pc} - .align 2, 0 + add r0, r5, #0 + mov r1, #1 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CCA4 + mov r0, #0x4d + str r0, [sp] + ldr r1, _0222FF7C ; =MOD83_0223ADA8 + add r0, r6, #0 + mov r2, #2 + add r3, r5, #0 + bl MOD83_022303B0 + mov r0, #5 + add sp, #0x14 + pop {r3, r4, r5, r6, pc} + .align 2, 0 _0222FF78: .word 0x000015D4 _0222FF7C: .word MOD83_0223ADA8 - thumb_func_end MOD83_0222FF10 + thumb_func_end MOD83_0222FF10 - thumb_func_start MOD83_0222FF80 + thumb_func_start MOD83_0222FF80 MOD83_0222FF80: ; 0x0222FF80 - push {r4, r5, lr} - sub sp, #0x14 - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - ldr r1, [r0, #0x48] - add r4, #0x48 - cmp r1, #0 - bne _0222FFB4 - mov r1, #0xa - str r1, [sp] - mov r1, #6 - str r1, [sp, #4] - mov r1, #4 - str r1, [sp, #8] - mov r2, #0 - mov r1, #0x6b - str r2, [sp, #0xc] - lsl r1, r1, #2 - str r1, [sp, #0x10] - ldr r0, [r0] - add r1, r4, #0 - mov r3, #0x17 - bl AddWindowParameterized + push {r4, r5, lr} + sub sp, #0x14 + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + ldr r1, [r0, #0x48] + add r4, #0x48 + cmp r1, #0 + bne _0222FFB4 + mov r1, #0xa + str r1, [sp] + mov r1, #6 + str r1, [sp, #4] + mov r1, #4 + str r1, [sp, #8] + mov r2, #0 + mov r1, #0x6b + str r2, [sp, #0xc] + lsl r1, r1, #2 + str r1, [sp, #0x10] + ldr r0, [r0] + add r1, r4, #0 + mov r3, #0x17 + bl AddWindowParameterized _0222FFB4: - add r0, r4, #0 - mov r1, #1 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CCA4 - mov r0, #4 - str r0, [sp] - ldr r1, _0222FFD4 ; =MOD83_0223ADB8 - add r0, r5, #0 - mov r2, #2 - add r3, r4, #0 - bl MOD83_022303B0 - add sp, #0x14 - pop {r4, r5, pc} - .align 2, 0 + add r0, r4, #0 + mov r1, #1 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CCA4 + mov r0, #4 + str r0, [sp] + ldr r1, _0222FFD4 ; =MOD83_0223ADB8 + add r0, r5, #0 + mov r2, #2 + add r3, r4, #0 + bl MOD83_022303B0 + add sp, #0x14 + pop {r4, r5, pc} + .align 2, 0 _0222FFD4: .word MOD83_0223ADB8 - thumb_func_end MOD83_0222FF80 + thumb_func_end MOD83_0222FF80 - thumb_func_start MOD83_0222FFD8 + thumb_func_start MOD83_0222FFD8 MOD83_0222FFD8: ; 0x0222FFD8 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - add r0, #0x48 - mov r1, #0 - bl MOD83_0222FB44 - add r0, r4, #0 - add r0, #0x58 - mov r1, #0 - bl MOD83_0222FB44 - bl FUN_02033ED0 - ldr r0, _0223000C ; =0x000015D4 - ldr r0, [r4, r0] - cmp r0, #1 - bne _02230004 - bl MOD83_0222F9DC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + add r0, #0x48 + mov r1, #0 + bl MOD83_0222FB44 + add r0, r4, #0 + add r0, #0x58 + mov r1, #0 + bl MOD83_0222FB44 + bl FUN_02033ED0 + ldr r0, _0223000C ; =0x000015D4 + ldr r0, [r4, r0] + cmp r0, #1 + bne _02230004 + bl MOD83_0222F9DC _02230004: - add r0, r5, #0 - bl MOD83_02230118 - pop {r3, r4, r5, pc} - .align 2, 0 + add r0, r5, #0 + bl MOD83_02230118 + pop {r3, r4, r5, pc} + .align 2, 0 _0223000C: .word 0x000015D4 - thumb_func_end MOD83_0222FFD8 + thumb_func_end MOD83_0222FFD8 - thumb_func_start MOD83_02230010 + thumb_func_start MOD83_02230010 MOD83_02230010: ; 0x02230010 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - add r1, r4, #0 - add r0, r5, #0 - add r1, #0x18 - mov r2, #3 - bl MOD83_0223050C - add r0, r4, #0 - add r0, #0x48 - mov r1, #0 - bl MOD83_0222FB44 - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FA0C - ldr r0, _02230044 ; =MOD83_0223B888 - mov r1, #0x24 - str r1, [r0, #0x10] - mov r0, #0x20 - pop {r3, r4, r5, pc} - nop + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + add r1, r4, #0 + add r0, r5, #0 + add r1, #0x18 + mov r2, #3 + bl MOD83_0223050C + add r0, r4, #0 + add r0, #0x48 + mov r1, #0 + bl MOD83_0222FB44 + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FA0C + ldr r0, _02230044 ; =MOD83_0223B888 + mov r1, #0x24 + str r1, [r0, #0x10] + mov r0, #0x20 + pop {r3, r4, r5, pc} + nop _02230044: .word MOD83_0223B888 - thumb_func_end MOD83_02230010 + thumb_func_end MOD83_02230010 - thumb_func_start MOD83_02230048 + thumb_func_start MOD83_02230048 MOD83_02230048: ; 0x02230048 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0] - sub r0, r0, #2 - cmp r0, #2 - bhi _02230060 - mov r0, #0x30 - pop {r3, r4, r5, pc} + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + add r0, #0x80 + ldr r0, [r0] + sub r0, r0, #2 + cmp r0, #2 + bhi _02230060 + mov r0, #0x30 + pop {r3, r4, r5, pc} _02230060: - add r0, r4, #0 - add r0, #0x48 - mov r1, #0 - bl MOD83_0222FB44 - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FB0C - add r4, #0x18 - add r0, r5, #0 - add r1, r4, #0 - mov r2, #7 - bl MOD83_0223050C - mov r0, #0x21 - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end MOD83_02230048 - - thumb_func_start MOD83_02230084 + add r0, r4, #0 + add r0, #0x48 + mov r1, #0 + bl MOD83_0222FB44 + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FB0C + add r4, #0x18 + add r0, r5, #0 + add r1, r4, #0 + mov r2, #7 + bl MOD83_0223050C + mov r0, #0x21 + pop {r3, r4, r5, pc} + .align 2, 0 + thumb_func_end MOD83_02230048 + + thumb_func_start MOD83_02230084 MOD83_02230084: ; 0x02230084 - push {r3, lr} - ldr r0, _022300A8 ; =MOD83_0223B888 - ldr r0, [r0, #0x10] - cmp r0, #0x27 - beq _02230096 - cmp r0, #0x28 - beq _02230096 - cmp r0, #0x2f - bne _022300A4 + push {r3, lr} + ldr r0, _022300A8 ; =MOD83_0223B888 + ldr r0, [r0, #0x10] + cmp r0, #0x27 + beq _02230096 + cmp r0, #0x28 + beq _02230096 + cmp r0, #0x2f + bne _022300A4 _02230096: - bl MOD83_02239A14 - cmp r0, #0 - beq _022300A4 - ldr r0, _022300A8 ; =MOD83_0223B888 - mov r1, #0x2a - str r1, [r0, #0x10] + bl MOD83_02239A14 + cmp r0, #0 + beq _022300A4 + ldr r0, _022300A8 ; =MOD83_0223B888 + mov r1, #0x2a + str r1, [r0, #0x10] _022300A4: - mov r0, #0x23 - pop {r3, pc} - .align 2, 0 + mov r0, #0x23 + pop {r3, pc} + .align 2, 0 _022300A8: .word MOD83_0223B888 - thumb_func_end MOD83_02230084 + thumb_func_end MOD83_02230084 - thumb_func_start MOD83_022300AC + thumb_func_start MOD83_022300AC MOD83_022300AC: ; 0x022300AC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - add r1, r4, #0 - add r0, r5, #0 - add r1, #0x18 - mov r2, #3 - bl MOD83_0223050C - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FA0C - add r0, r4, #0 - add r0, #0x48 - mov r1, #0 - bl MOD83_0222FB44 - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FA0C - mov r1, #1 - ldr r0, _022300F0 ; =0x000015DC - lsl r1, r1, #0xc - str r1, [r4, r0] - ldr r0, _022300F4 ; =0x00002620 - mov r1, #0 - str r1, [r4, r0] - mov r0, #0x1b - pop {r3, r4, r5, pc} - nop + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + add r1, r4, #0 + add r0, r5, #0 + add r1, #0x18 + mov r2, #3 + bl MOD83_0223050C + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FA0C + add r0, r4, #0 + add r0, #0x48 + mov r1, #0 + bl MOD83_0222FB44 + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FA0C + mov r1, #1 + ldr r0, _022300F0 ; =0x000015DC + lsl r1, r1, #0xc + str r1, [r4, r0] + ldr r0, _022300F4 ; =0x00002620 + mov r1, #0 + str r1, [r4, r0] + mov r0, #0x1b + pop {r3, r4, r5, pc} + nop _022300F0: .word 0x000015DC _022300F4: .word 0x00002620 - thumb_func_end MOD83_022300AC + thumb_func_end MOD83_022300AC - thumb_func_start MOD83_022300F8 + thumb_func_start MOD83_022300F8 MOD83_022300F8: ; 0x022300F8 - push {r4, lr} - add r4, r0, #0 - bl OverlayManager_GetData - add r0, #0x38 - mov r1, #0 - bl MOD83_0222FB44 - add r0, r4, #0 - mov r1, #0xc4 - mov r2, #0 - bl MOD83_02230464 - mov r0, #3 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_022300F8 - - thumb_func_start MOD83_02230118 + push {r4, lr} + add r4, r0, #0 + bl OverlayManager_GetData + add r0, #0x38 + mov r1, #0 + bl MOD83_0222FB44 + add r0, r4, #0 + mov r1, #0xc4 + mov r2, #0 + bl MOD83_02230464 + mov r0, #3 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_022300F8 + + thumb_func_start MOD83_02230118 MOD83_02230118: ; 0x02230118 - push {r3, r4, r5, r6, lr} - sub sp, #0x14 - add r6, r0, #0 - bl OverlayManager_GetData - add r5, r0, #0 - ldr r0, [r5, #4] - bl FUN_0202251C - ldr r0, _02230194 ; =0x000005C8 - ldr r1, [r5, r0] - cmp r1, #0x1e - bne _0223013E - mov r1, #1 - add r0, r0, #4 - str r1, [r5, r0] - add r0, r5, #0 - bl MOD83_022313E4 + push {r3, r4, r5, r6, lr} + sub sp, #0x14 + add r6, r0, #0 + bl OverlayManager_GetData + add r5, r0, #0 + ldr r0, [r5, #4] + bl FUN_0202251C + ldr r0, _02230194 ; =0x000005C8 + ldr r1, [r5, r0] + cmp r1, #0x1e + bne _0223013E + mov r1, #1 + add r0, r0, #4 + str r1, [r5, r0] + add r0, r5, #0 + bl MOD83_022313E4 _0223013E: - add r0, r5, #0 - add r0, #0x28 - mov r1, #0 - bl MOD83_0222FB44 - add r4, r5, #0 - ldr r0, [r5, #0x38] - add r4, #0x38 - cmp r0, #0 - bne _02230172 - mov r0, #9 - str r0, [sp] - mov r0, #0x10 - str r0, [sp, #4] - mov r0, #8 - str r0, [sp, #8] - mov r2, #0 - mov r0, #0x49 - str r2, [sp, #0xc] - lsl r0, r0, #2 - str r0, [sp, #0x10] - ldr r0, [r5] - add r1, r4, #0 - mov r3, #0xf - bl AddWindowParameterized + add r0, r5, #0 + add r0, #0x28 + mov r1, #0 + bl MOD83_0222FB44 + add r4, r5, #0 + ldr r0, [r5, #0x38] + add r4, #0x38 + cmp r0, #0 + bne _02230172 + mov r0, #9 + str r0, [sp] + mov r0, #0x10 + str r0, [sp, #4] + mov r0, #8 + str r0, [sp, #8] + mov r2, #0 + mov r0, #0x49 + str r2, [sp, #0xc] + lsl r0, r0, #2 + str r0, [sp, #0x10] + ldr r0, [r5] + add r1, r4, #0 + mov r3, #0xf + bl AddWindowParameterized _02230172: - add r0, r4, #0 - mov r1, #1 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CCA4 - mov r0, #1 - str r0, [sp] - ldr r1, _02230198 ; =MOD83_0223AE20 - add r0, r6, #0 - mov r2, #4 - add r3, r4, #0 - bl MOD83_022303B0 - mov r0, #4 - add sp, #0x14 - pop {r3, r4, r5, r6, pc} - .align 2, 0 + add r0, r4, #0 + mov r1, #1 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CCA4 + mov r0, #1 + str r0, [sp] + ldr r1, _02230198 ; =MOD83_0223AE20 + add r0, r6, #0 + mov r2, #4 + add r3, r4, #0 + bl MOD83_022303B0 + mov r0, #4 + add sp, #0x14 + pop {r3, r4, r5, r6, pc} + .align 2, 0 _02230194: .word 0x000005C8 _02230198: .word MOD83_0223AE20 - thumb_func_end MOD83_02230118 + thumb_func_end MOD83_02230118 - thumb_func_start MOD83_0223019C + thumb_func_start MOD83_0223019C MOD83_0223019C: ; 0x0223019C - push {r4, lr} - bl OverlayManager_GetData - ldr r1, _022301CC ; =0x000005C8 - add r4, r0, #0 - ldr r2, [r4, r1] - cmp r2, #0x1e - bne _022301B6 - mov r2, #1 - add r1, r1, #4 - str r2, [r4, r1] - bl MOD83_022313E4 + push {r4, lr} + bl OverlayManager_GetData + ldr r1, _022301CC ; =0x000005C8 + add r4, r0, #0 + ldr r2, [r4, r1] + cmp r2, #0x1e + bne _022301B6 + mov r2, #1 + add r1, r1, #4 + str r2, [r4, r1] + bl MOD83_022313E4 _022301B6: - ldr r2, _022301D0 ; =0x000015D8 - mov r0, #0 - ldr r2, [r4, r2] - mov r1, #0x35 - mov r3, #2 - bl MOD83_0223886C - mov r0, #0 - mvn r0, r0 - pop {r4, pc} - nop + ldr r2, _022301D0 ; =0x000015D8 + mov r0, #0 + ldr r2, [r4, r2] + mov r1, #0x35 + mov r3, #2 + bl MOD83_0223886C + mov r0, #0 + mvn r0, r0 + pop {r4, pc} + nop _022301CC: .word 0x000005C8 _022301D0: .word 0x000015D8 - thumb_func_end MOD83_0223019C + thumb_func_end MOD83_0223019C - thumb_func_start MOD83_022301D4 + thumb_func_start MOD83_022301D4 MOD83_022301D4: ; 0x022301D4 - push {r4, lr} - bl OverlayManager_GetData - add r4, r0, #0 - ldr r0, _02230204 ; =0x000005C8 - ldr r1, [r4, r0] - cmp r1, #0x1e - bne _022301EA - mov r1, #1 - add r0, r0, #4 - str r1, [r4, r0] + push {r4, lr} + bl OverlayManager_GetData + add r4, r0, #0 + ldr r0, _02230204 ; =0x000005C8 + ldr r1, [r4, r0] + cmp r1, #0x1e + bne _022301EA + mov r1, #1 + add r0, r0, #4 + str r1, [r4, r0] _022301EA: - mov r0, #1 - bl MOD83_02238860 - ldr r2, _02230208 ; =0x000015D8 - mov r0, #0 - ldr r2, [r4, r2] - mov r1, #0x34 - mov r3, #2 - bl MOD83_0223886C - mov r0, #0 - mvn r0, r0 - pop {r4, pc} - .align 2, 0 + mov r0, #1 + bl MOD83_02238860 + ldr r2, _02230208 ; =0x000015D8 + mov r0, #0 + ldr r2, [r4, r2] + mov r1, #0x34 + mov r3, #2 + bl MOD83_0223886C + mov r0, #0 + mvn r0, r0 + pop {r4, pc} + .align 2, 0 _02230204: .word 0x000005C8 _02230208: .word 0x000015D8 - thumb_func_end MOD83_022301D4 + thumb_func_end MOD83_022301D4 - thumb_func_start MOD83_0223020C + thumb_func_start MOD83_0223020C MOD83_0223020C: ; 0x0223020C - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - add r5, r3, #0 - ldr r3, _02230254 ; =MOD83_0223A418 - add r7, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - add r2, sp, #0 - ldmia r3!, {r0, r1} - mov ip, r2 - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldr r0, [r3] - lsr r1, r6, #0xb - str r0, [r2] - add r0, sp, #0 - strb r1, [r0, #0x12] - lsr r1, r5, #0xe - strb r1, [r0, #0x13] - lsl r1, r4, #0x18 - add r0, r7, #0 - lsr r1, r1, #0x18 - mov r2, ip - mov r3, #0 - bl InitBgFromTemplate - lsl r1, r4, #0x18 - add r0, r7, #0 - lsr r1, r1, #0x18 - bl BgClearTilemapBufferAndCommit - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - .align 2, 0 + push {r4, r5, r6, r7, lr} + sub sp, #0x1c + add r5, r3, #0 + ldr r3, _02230254 ; =MOD83_0223A418 + add r7, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + add r2, sp, #0 + ldmia r3!, {r0, r1} + mov ip, r2 + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldr r0, [r3] + lsr r1, r6, #0xb + str r0, [r2] + add r0, sp, #0 + strb r1, [r0, #0x12] + lsr r1, r5, #0xe + strb r1, [r0, #0x13] + lsl r1, r4, #0x18 + add r0, r7, #0 + lsr r1, r1, #0x18 + mov r2, ip + mov r3, #0 + bl InitBgFromTemplate + lsl r1, r4, #0x18 + add r0, r7, #0 + lsr r1, r1, #0x18 + bl BgClearTilemapBufferAndCommit + add sp, #0x1c + pop {r4, r5, r6, r7, pc} + .align 2, 0 _02230254: .word MOD83_0223A418 - thumb_func_end MOD83_0223020C + thumb_func_end MOD83_0223020C - thumb_func_start MOD83_02230258 + thumb_func_start MOD83_02230258 MOD83_02230258: ; 0x02230258 - push {r3, r4, r5, lr} - sub sp, #0x10 - ldr r5, _022302B0 ; =MOD83_0223A408 - add r3, sp, #0 - add r4, r0, #0 - add r2, r3, #0 - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - add r0, r2, #0 - bl SetBothScreensModesAndDisable - mov r1, #0 - mov r2, #0xf - add r0, r4, #0 - lsl r2, r2, #0xc - add r3, r1, #0 - bl MOD83_0223020C - mov r1, #1 - mov r2, #0x3e - add r0, r4, #0 - lsl r2, r2, #0xa - lsl r3, r1, #0xf - bl MOD83_0223020C - mov r2, #0xe - add r0, r4, #0 - mov r1, #4 - lsl r2, r2, #0xa - mov r3, #0 - bl MOD83_0223020C - mov r2, #0x1e - mov r3, #1 - add r0, r4, #0 - mov r1, #5 - lsl r2, r2, #0xa - lsl r3, r3, #0xe - bl MOD83_0223020C - add sp, #0x10 - pop {r3, r4, r5, pc} - .align 2, 0 + push {r3, r4, r5, lr} + sub sp, #0x10 + ldr r5, _022302B0 ; =MOD83_0223A408 + add r3, sp, #0 + add r4, r0, #0 + add r2, r3, #0 + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + add r0, r2, #0 + bl SetBothScreensModesAndDisable + mov r1, #0 + mov r2, #0xf + add r0, r4, #0 + lsl r2, r2, #0xc + add r3, r1, #0 + bl MOD83_0223020C + mov r1, #1 + mov r2, #0x3e + add r0, r4, #0 + lsl r2, r2, #0xa + lsl r3, r1, #0xf + bl MOD83_0223020C + mov r2, #0xe + add r0, r4, #0 + mov r1, #4 + lsl r2, r2, #0xa + mov r3, #0 + bl MOD83_0223020C + mov r2, #0x1e + mov r3, #1 + add r0, r4, #0 + mov r1, #5 + lsl r2, r2, #0xa + lsl r3, r3, #0xe + bl MOD83_0223020C + add sp, #0x10 + pop {r3, r4, r5, pc} + .align 2, 0 _022302B0: .word MOD83_0223A408 - thumb_func_end MOD83_02230258 + thumb_func_end MOD83_02230258 - thumb_func_start MOD83_022302B4 + thumb_func_start MOD83_022302B4 MOD83_022302B4: ; 0x022302B4 - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - mov r0, #0x20 - mov r2, #4 - str r0, [sp] - mov r0, #0x56 - add r3, r2, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0 - add r3, #0xfc - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - mov r0, #5 - lsl r0, r0, #0xa - str r0, [sp, #4] - mov r1, #1 - str r1, [sp, #8] - mov r0, #0x56 - str r0, [sp, #0xc] - mov r0, #0x74 - add r2, r4, #0 - mov r3, #5 - bl GfGfxLoader_LoadCharData - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #0x56 - str r0, [sp, #0xc] - mov r0, #0x74 - mov r1, #2 - add r2, r4, #0 - mov r3, #5 - bl GfGfxLoader_LoadScrnData - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - str r0, [sp, #4] - mov r0, #8 - mov r2, #0 - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #5 - add r3, r2, #0 - bl BgTilemapRectChangePalette - add r0, r4, #0 - mov r1, #5 - bl BgCommitTilemapBufferToVram - add sp, #0x10 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_022302B4 - - thumb_func_start MOD83_02230330 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + mov r0, #0x20 + mov r2, #4 + str r0, [sp] + mov r0, #0x56 + add r3, r2, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0 + add r3, #0xfc + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + mov r0, #5 + lsl r0, r0, #0xa + str r0, [sp, #4] + mov r1, #1 + str r1, [sp, #8] + mov r0, #0x56 + str r0, [sp, #0xc] + mov r0, #0x74 + add r2, r4, #0 + mov r3, #5 + bl GfGfxLoader_LoadCharData + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #0x56 + str r0, [sp, #0xc] + mov r0, #0x74 + mov r1, #2 + add r2, r4, #0 + mov r3, #5 + bl GfGfxLoader_LoadScrnData + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + str r0, [sp, #4] + mov r0, #8 + mov r2, #0 + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #5 + add r3, r2, #0 + bl BgTilemapRectChangePalette + add r0, r4, #0 + mov r1, #5 + bl BgCommitTilemapBufferToVram + add sp, #0x10 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_022302B4 + + thumb_func_start MOD83_02230330 MOD83_02230330: ; 0x02230330 - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - mov r0, #0x20 - str r0, [sp] - mov r0, #0x56 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0 - add r3, r0, #0 - add r2, r1, #0 - add r3, #0x8c - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - mov r0, #5 - lsl r0, r0, #0xa - str r0, [sp, #4] - mov r1, #1 - str r1, [sp, #8] - mov r0, #0x56 - str r0, [sp, #0xc] - mov r0, #0x74 - add r2, r4, #0 - add r3, r1, #0 - bl GfGfxLoader_LoadCharData - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r3, #1 - str r3, [sp, #8] - mov r0, #0x56 - str r0, [sp, #0xc] - mov r0, #0x74 - mov r1, #2 - add r2, r4, #0 - bl GfGfxLoader_LoadScrnData - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - str r0, [sp, #4] - mov r0, #8 - mov r2, #0 - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #1 - add r3, r2, #0 - bl BgTilemapRectChangePalette - add r0, r4, #0 - mov r1, #1 - bl BgCommitTilemapBufferToVram - add r0, r4, #0 - bl MOD83_022302B4 - add sp, #0x10 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02230330 - - thumb_func_start MOD83_022303B0 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + mov r0, #0x20 + str r0, [sp] + mov r0, #0x56 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0 + add r3, r0, #0 + add r2, r1, #0 + add r3, #0x8c + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + mov r0, #5 + lsl r0, r0, #0xa + str r0, [sp, #4] + mov r1, #1 + str r1, [sp, #8] + mov r0, #0x56 + str r0, [sp, #0xc] + mov r0, #0x74 + add r2, r4, #0 + add r3, r1, #0 + bl GfGfxLoader_LoadCharData + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r3, #1 + str r3, [sp, #8] + mov r0, #0x56 + str r0, [sp, #0xc] + mov r0, #0x74 + mov r1, #2 + add r2, r4, #0 + bl GfGfxLoader_LoadScrnData + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + str r0, [sp, #4] + mov r0, #8 + mov r2, #0 + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #1 + add r3, r2, #0 + bl BgTilemapRectChangePalette + add r0, r4, #0 + mov r1, #1 + bl BgCommitTilemapBufferToVram + add r0, r4, #0 + bl MOD83_022302B4 + add sp, #0x10 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02230330 + + thumb_func_start MOD83_022303B0 MOD83_022303B0: ; 0x022303B0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x28 - str r0, [sp] - add r5, r1, #0 - add r7, r2, #0 - str r3, [sp, #4] - bl OverlayManager_GetData - add r4, r0, #0 - ldr r0, [r4, #0x7c] - cmp r0, #0 - beq _022303CC - bl ListMenuItems_dtor + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x28 + str r0, [sp] + add r5, r1, #0 + add r7, r2, #0 + str r3, [sp, #4] + bl OverlayManager_GetData + add r4, r0, #0 + ldr r0, [r4, #0x7c] + cmp r0, #0 + beq _022303CC + bl ListMenuItems_dtor _022303CC: - add r0, r7, #0 - mov r1, #0x56 - bl ListMenuItems_ctor - str r0, [r4, #0x7c] - ldr r2, _0223045C ; =0x00000172 - mov r0, #0 - mov r1, #0x1a - mov r3, #0x56 - bl NewMsgDataFromNarc - mov r6, #0 - str r0, [r4, #0x10] - cmp r7, #0 - ble _022303FE + add r0, r7, #0 + mov r1, #0x56 + bl ListMenuItems_ctor + str r0, [r4, #0x7c] + ldr r2, _0223045C ; =0x00000172 + mov r0, #0 + mov r1, #0x1a + mov r3, #0x56 + bl NewMsgDataFromNarc + mov r6, #0 + str r0, [r4, #0x10] + cmp r7, #0 + ble _022303FE _022303EA: - ldr r0, [r4, #0x7c] - ldr r1, [r4, #0x10] - ldr r2, [r5] - ldr r3, [r5, #4] - bl ListMenuItems_AppendFromMsgData - add r6, r6, #1 - add r5, #8 - cmp r6, r7 - blt _022303EA + ldr r0, [r4, #0x7c] + ldr r1, [r4, #0x10] + ldr r2, [r5] + ldr r3, [r5, #4] + bl ListMenuItems_AppendFromMsgData + add r6, r6, #1 + add r5, #8 + cmp r6, r7 + blt _022303EA _022303FE: - ldr r0, [r4, #0x10] - bl DestroyMsgData - ldr r3, _02230460 ; =MOD83_0223AE00 - add r2, sp, #8 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldr r0, [r4, #0x7c] - str r0, [sp, #8] - add r0, sp, #8 - strh r7, [r0, #0x12] - ldrh r1, [r0, #0x12] - strh r1, [r0, #0x10] - ldr r0, [sp, #4] - str r0, [sp, #0x14] - ldr r0, [r4, #0x78] - cmp r0, #0 - beq _02230436 - mov r1, #0 - add r2, r1, #0 - bl DestroyListMenu + ldr r0, [r4, #0x10] + bl DestroyMsgData + ldr r3, _02230460 ; =MOD83_0223AE00 + add r2, sp, #8 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldr r0, [r4, #0x7c] + str r0, [sp, #8] + add r0, sp, #8 + strh r7, [r0, #0x12] + ldrh r1, [r0, #0x12] + strh r1, [r0, #0x10] + ldr r0, [sp, #4] + str r0, [sp, #0x14] + ldr r0, [r4, #0x78] + cmp r0, #0 + beq _02230436 + mov r1, #0 + add r2, r1, #0 + bl DestroyListMenu _02230436: - mov r1, #0 - add r0, sp, #8 - add r2, r1, #0 - mov r3, #0x56 - bl ListMenuInit - str r0, [r4, #0x78] - mov r0, #0 - ldr r2, [sp, #0x40] - mvn r0, r0 - cmp r2, r0 - beq _02230458 - add r4, #0x18 - ldr r0, [sp] - add r1, r4, #0 - bl MOD83_0223050C + mov r1, #0 + add r0, sp, #8 + add r2, r1, #0 + mov r3, #0x56 + bl ListMenuInit + str r0, [r4, #0x78] + mov r0, #0 + ldr r2, [sp, #0x40] + mvn r0, r0 + cmp r2, r0 + beq _02230458 + add r4, #0x18 + ldr r0, [sp] + add r1, r4, #0 + bl MOD83_0223050C _02230458: - add sp, #0x28 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + add sp, #0x28 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _0223045C: .word 0x00000172 _02230460: .word MOD83_0223AE00 - thumb_func_end MOD83_022303B0 + thumb_func_end MOD83_022303B0 - thumb_func_start MOD83_02230464 + thumb_func_start MOD83_02230464 MOD83_02230464: ; 0x02230464 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x40 - str r0, [sp, #0x14] - str r1, [sp, #0x1c] - str r2, [sp, #0x18] - bl OverlayManager_GetData - add r7, r0, #0 - ldr r0, [r7, #4] - mov r5, #0 - bl FUN_0202251C - ldr r1, _02230508 ; =MOD83_0223AD98 - add r4, r7, #0 - ldr r2, [r1, #0x50] - ldr r1, [r1, #0x54] - add r4, #0x28 - add r5, r5, #1 - str r2, [sp, #0x20] - str r1, [sp, #0x24] - bl FUN_0202AE70 - cmp r0, #0 - beq _022304A8 - lsl r6, r5, #3 - add r0, sp, #0x20 - add r1, r0, r6 - ldr r0, _02230508 ; =MOD83_0223AD98 - add r5, r5, #1 - ldr r3, [r0, #0x58] - ldr r2, [r0, #0x5c] - add r0, sp, #0x20 - str r3, [r0, r6] - str r2, [r1, #4] + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x40 + str r0, [sp, #0x14] + str r1, [sp, #0x1c] + str r2, [sp, #0x18] + bl OverlayManager_GetData + add r7, r0, #0 + ldr r0, [r7, #4] + mov r5, #0 + bl FUN_0202251C + ldr r1, _02230508 ; =MOD83_0223AD98 + add r4, r7, #0 + ldr r2, [r1, #0x50] + ldr r1, [r1, #0x54] + add r4, #0x28 + add r5, r5, #1 + str r2, [sp, #0x20] + str r1, [sp, #0x24] + bl FUN_0202AE70 + cmp r0, #0 + beq _022304A8 + lsl r6, r5, #3 + add r0, sp, #0x20 + add r1, r0, r6 + ldr r0, _02230508 ; =MOD83_0223AD98 + add r5, r5, #1 + ldr r3, [r0, #0x58] + ldr r2, [r0, #0x5c] + add r0, sp, #0x20 + str r3, [r0, r6] + str r2, [r1, #4] _022304A8: - lsl r6, r5, #3 - add r0, sp, #0x20 - add r1, r0, r6 - ldr r0, _02230508 ; =MOD83_0223AD98 - ldr r3, [r0, #0x60] - ldr r2, [r0, #0x64] - add r0, sp, #0x20 - str r3, [r0, r6] - str r2, [r1, #4] - ldr r0, [r4] - cmp r0, #0 - bne _022304E6 - mov r0, #7 - str r0, [sp] - mov r0, #0x10 - str r0, [sp, #4] - add r0, r5, #1 - lsl r0, r0, #0x19 - lsr r0, r0, #0x18 - str r0, [sp, #8] - ldr r0, [sp, #0x1c] - mov r2, #0 - lsl r0, r0, #0x10 - str r2, [sp, #0xc] - lsr r0, r0, #0x10 - str r0, [sp, #0x10] - ldr r0, [r7] - add r1, r4, #0 - mov r3, #8 - bl AddWindowParameterized + lsl r6, r5, #3 + add r0, sp, #0x20 + add r1, r0, r6 + ldr r0, _02230508 ; =MOD83_0223AD98 + ldr r3, [r0, #0x60] + ldr r2, [r0, #0x64] + add r0, sp, #0x20 + str r3, [r0, r6] + str r2, [r1, #4] + ldr r0, [r4] + cmp r0, #0 + bne _022304E6 + mov r0, #7 + str r0, [sp] + mov r0, #0x10 + str r0, [sp, #4] + add r0, r5, #1 + lsl r0, r0, #0x19 + lsr r0, r0, #0x18 + str r0, [sp, #8] + ldr r0, [sp, #0x1c] + mov r2, #0 + lsl r0, r0, #0x10 + str r2, [sp, #0xc] + lsr r0, r0, #0x10 + str r0, [sp, #0x10] + ldr r0, [r7] + add r1, r4, #0 + mov r3, #8 + bl AddWindowParameterized _022304E6: - add r0, r4, #0 - mov r1, #1 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CCA4 - ldr r0, [sp, #0x18] - add r1, sp, #0x20 - str r0, [sp] - ldr r0, [sp, #0x14] - add r2, r5, #1 - add r3, r4, #0 - bl MOD83_022303B0 - add sp, #0x40 - pop {r3, r4, r5, r6, r7, pc} - nop + add r0, r4, #0 + mov r1, #1 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CCA4 + ldr r0, [sp, #0x18] + add r1, sp, #0x20 + str r0, [sp] + ldr r0, [sp, #0x14] + add r2, r5, #1 + add r3, r4, #0 + bl MOD83_022303B0 + add sp, #0x40 + pop {r3, r4, r5, r6, r7, pc} + nop _02230508: .word MOD83_0223AD98 - thumb_func_end MOD83_02230464 + thumb_func_end MOD83_02230464 - thumb_func_start MOD83_0223050C + thumb_func_start MOD83_0223050C MOD83_0223050C: ; 0x0223050C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r5, r1, #0 - add r7, r2, #0 - bl OverlayManager_GetData - add r4, r0, #0 - ldr r2, _0223059C ; =0x00000172 - mov r0, #1 - mov r1, #0x1a - mov r3, #0x56 - bl NewMsgDataFromNarc - str r0, [r4, #0x10] - mov r0, #0x56 - bl ScrStrBufs_new - str r0, [r4, #0xc] - mov r0, #1 - mov r1, #6 - bl GetFontAttribute - add r1, r0, #0 - add r0, r5, #0 - bl FillWindowPixelBuffer - ldr r6, [r4, #0x14] - cmp r6, #0 - bne _02230554 - ldr r0, [r4, #0xc] - ldr r1, [r4, #0x10] - add r2, r7, #0 - mov r3, #0x56 - bl ReadMsgData_ExpandPlaceholders - add r6, r0, #0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r5, r1, #0 + add r7, r2, #0 + bl OverlayManager_GetData + add r4, r0, #0 + ldr r2, _0223059C ; =0x00000172 + mov r0, #1 + mov r1, #0x1a + mov r3, #0x56 + bl NewMsgDataFromNarc + str r0, [r4, #0x10] + mov r0, #0x56 + bl ScrStrBufs_new + str r0, [r4, #0xc] + mov r0, #1 + mov r1, #6 + bl GetFontAttribute + add r1, r0, #0 + add r0, r5, #0 + bl FillWindowPixelBuffer + ldr r6, [r4, #0x14] + cmp r6, #0 + bne _02230554 + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x10] + add r2, r7, #0 + mov r3, #0x56 + bl ReadMsgData_ExpandPlaceholders + add r6, r0, #0 _02230554: - mov r3, #0 - str r3, [sp] - ldr r0, [r4, #0x68] - mov r1, #1 - str r0, [sp, #4] - ldr r0, _022305A0 ; =0x0001020F - add r2, r6, #0 - str r0, [sp, #8] - str r3, [sp, #0xc] - add r0, r5, #0 - bl AddTextPrinterParameterized2 - str r0, [r4, #0x6c] - ldr r0, [r4, #0x14] - cmp r0, #0 - bne _0223057A - add r0, r6, #0 - bl String_dtor + mov r3, #0 + str r3, [sp] + ldr r0, [r4, #0x68] + mov r1, #1 + str r0, [sp, #4] + ldr r0, _022305A0 ; =0x0001020F + add r2, r6, #0 + str r0, [sp, #8] + str r3, [sp, #0xc] + add r0, r5, #0 + bl AddTextPrinterParameterized2 + str r0, [r4, #0x6c] + ldr r0, [r4, #0x14] + cmp r0, #0 + bne _0223057A + add r0, r6, #0 + bl String_dtor _0223057A: - add r0, r5, #0 - mov r1, #0 - mov r2, #1 - mov r3, #2 - bl FUN_0200D0BC - ldr r0, [r4, #0x10] - bl DestroyMsgData - ldr r0, [r4, #0xc] - bl ScrStrBufs_delete - mov r0, #0xff - str r0, [r4, #0x68] - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - nop + add r0, r5, #0 + mov r1, #0 + mov r2, #1 + mov r3, #2 + bl FUN_0200D0BC + ldr r0, [r4, #0x10] + bl DestroyMsgData + ldr r0, [r4, #0xc] + bl ScrStrBufs_delete + mov r0, #0xff + str r0, [r4, #0x68] + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + nop _0223059C: .word 0x00000172 _022305A0: .word 0x0001020F - thumb_func_end MOD83_0223050C + thumb_func_end MOD83_0223050C - thumb_func_start MOD83_022305A4 + thumb_func_start MOD83_022305A4 MOD83_022305A4: ; 0x022305A4 - push {r4, r5, r6, lr} - sub sp, #0x10 - add r5, r1, #0 - add r6, r2, #0 - bl OverlayManager_GetData - mov r0, #0x25 - mov r1, #0x56 - bl String_ctor - add r1, r6, #0 - mov r2, #0x24 - add r4, r0, #0 - bl CopyU16ArrayToStringN - mov r0, #0 - mov r1, #6 - bl GetFontAttribute - add r1, r0, #0 - add r0, r5, #0 - bl FillWindowPixelBuffer - mov r1, #0 - str r1, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, _02230600 ; =0x0001020F - add r2, r4, #0 - str r0, [sp, #8] - add r0, r5, #0 - add r3, r1, #0 - str r1, [sp, #0xc] - bl AddTextPrinterParameterized2 - add r0, r5, #0 - mov r1, #0 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CCA4 - add r0, r4, #0 - bl String_dtor - add sp, #0x10 - pop {r4, r5, r6, pc} - .align 2, 0 + push {r4, r5, r6, lr} + sub sp, #0x10 + add r5, r1, #0 + add r6, r2, #0 + bl OverlayManager_GetData + mov r0, #0x25 + mov r1, #0x56 + bl String_ctor + add r1, r6, #0 + mov r2, #0x24 + add r4, r0, #0 + bl CopyU16ArrayToStringN + mov r0, #0 + mov r1, #6 + bl GetFontAttribute + add r1, r0, #0 + add r0, r5, #0 + bl FillWindowPixelBuffer + mov r1, #0 + str r1, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, _02230600 ; =0x0001020F + add r2, r4, #0 + str r0, [sp, #8] + add r0, r5, #0 + add r3, r1, #0 + str r1, [sp, #0xc] + bl AddTextPrinterParameterized2 + add r0, r5, #0 + mov r1, #0 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CCA4 + add r0, r4, #0 + bl String_dtor + add sp, #0x10 + pop {r4, r5, r6, pc} + .align 2, 0 _02230600: .word 0x0001020F - thumb_func_end MOD83_022305A4 + thumb_func_end MOD83_022305A4 - thumb_func_start MOD83_02230604 + thumb_func_start MOD83_02230604 MOD83_02230604: ; 0x02230604 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - add r5, r1, #0 - add r6, r2, #0 - bl OverlayManager_GetData - ldr r0, [r0, #0x78] - bl ListMenu_ProcessInput - add r4, r0, #0 - mov r0, #1 - mvn r0, r0 - cmp r4, r0 - beq _02230628 - add r0, r0, #1 - cmp r4, r0 - beq _0223065E - b _02230642 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + add r5, r1, #0 + add r6, r2, #0 + bl OverlayManager_GetData + ldr r0, [r0, #0x78] + bl ListMenu_ProcessInput + add r4, r0, #0 + mov r0, #1 + mvn r0, r0 + cmp r4, r0 + beq _02230628 + add r0, r0, #1 + cmp r4, r0 + beq _0223065E + b _02230642 _02230628: - ldr r0, _02230660 ; =0x000005DC - bl PlaySE - cmp r6, #0 - beq _0223065E - add r0, r7, #0 - blx r6 - mov r1, #0 - mvn r1, r1 - cmp r0, r1 - beq _0223065E - str r0, [r5] - pop {r3, r4, r5, r6, r7, pc} + ldr r0, _02230660 ; =0x000005DC + bl PlaySE + cmp r6, #0 + beq _0223065E + add r0, r7, #0 + blx r6 + mov r1, #0 + mvn r1, r1 + cmp r0, r1 + beq _0223065E + str r0, [r5] + pop {r3, r4, r5, r6, r7, pc} _02230642: - ldr r0, _02230660 ; =0x000005DC - bl PlaySE - cmp r4, #0 - beq _0223065E - ldr r0, _02230664 ; =MOD83_0223B888 - str r4, [r0, #0xc] - add r0, r7, #0 - blx r4 - mov r1, #0 - mvn r1, r1 - cmp r0, r1 - beq _0223065E - str r0, [r5] + ldr r0, _02230660 ; =0x000005DC + bl PlaySE + cmp r4, #0 + beq _0223065E + ldr r0, _02230664 ; =MOD83_0223B888 + str r4, [r0, #0xc] + add r0, r7, #0 + blx r4 + mov r1, #0 + mvn r1, r1 + cmp r0, r1 + beq _0223065E + str r0, [r5] _0223065E: - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _02230660: .word 0x000005DC _02230664: .word MOD83_0223B888 - thumb_func_end MOD83_02230604 + thumb_func_end MOD83_02230604 - thumb_func_start MOD83_02230668 + thumb_func_start MOD83_02230668 MOD83_02230668: ; 0x02230668 - push {r4, r5, lr} - sub sp, #0x14 - add r5, r0, #0 - add r4, r1, #0 - bl FUN_0201BD5C - mov r0, #0 - add r1, r0, #0 - mov r2, #0x56 - bl FUN_02002ED0 - mov r0, #0 - mov r1, #0x20 - mov r2, #0x56 - bl FUN_02002ED0 - ldr r0, [r4, #8] - bl Options_GetFrame - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r0, #0x56 - str r0, [sp, #4] - ldr r0, [r4] - mov r1, #0 - mov r2, #1 - mov r3, #2 - bl FUN_0200CD68 - mov r0, #1 - str r0, [sp] - mov r0, #0x56 - str r0, [sp, #4] - ldr r0, [r4] - mov r1, #0 - mov r2, #0x1f - mov r3, #3 - bl FUN_0200CB00 - mov r0, #5 - ldr r1, _02230710 ; =0x00007D8C - lsl r0, r0, #0x18 - strh r1, [r0] - add r0, r4, #0 - add r0, #0x18 - bl WindowIsInUse - cmp r0, #0 - bne _022306EC - mov r0, #0x13 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r2, #0 - add r1, r4, #0 - str r2, [sp, #0xc] - mov r0, #0x28 - str r0, [sp, #0x10] - ldr r0, [r4] - add r1, #0x18 - mov r3, #2 - bl AddWindowParameterized + push {r4, r5, lr} + sub sp, #0x14 + add r5, r0, #0 + add r4, r1, #0 + bl FUN_0201BD5C + mov r0, #0 + add r1, r0, #0 + mov r2, #0x56 + bl FUN_02002ED0 + mov r0, #0 + mov r1, #0x20 + mov r2, #0x56 + bl FUN_02002ED0 + ldr r0, [r4, #8] + bl Options_GetFrame + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #0x56 + str r0, [sp, #4] + ldr r0, [r4] + mov r1, #0 + mov r2, #1 + mov r3, #2 + bl FUN_0200CD68 + mov r0, #1 + str r0, [sp] + mov r0, #0x56 + str r0, [sp, #4] + ldr r0, [r4] + mov r1, #0 + mov r2, #0x1f + mov r3, #3 + bl FUN_0200CB00 + mov r0, #5 + ldr r1, _02230710 ; =0x00007D8C + lsl r0, r0, #0x18 + strh r1, [r0] + add r0, r4, #0 + add r0, #0x18 + bl WindowIsInUse + cmp r0, #0 + bne _022306EC + mov r0, #0x13 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r2, #0 + add r1, r4, #0 + str r2, [sp, #0xc] + mov r0, #0x28 + str r0, [sp, #0x10] + ldr r0, [r4] + add r1, #0x18 + mov r3, #2 + bl AddWindowParameterized _022306EC: - add r1, r4, #0 - add r0, r5, #0 - add r1, #0x18 - mov r2, #0 - bl MOD83_0223050C - add r0, r5, #0 - mov r1, #0xc4 - mov r2, #0 - bl MOD83_02230464 - ldr r0, [r4] - bl MOD83_02230330 - mov r0, #1 - add sp, #0x14 - pop {r4, r5, pc} - nop + add r1, r4, #0 + add r0, r5, #0 + add r1, #0x18 + mov r2, #0 + bl MOD83_0223050C + add r0, r5, #0 + mov r1, #0xc4 + mov r2, #0 + bl MOD83_02230464 + ldr r0, [r4] + bl MOD83_02230330 + mov r0, #1 + add sp, #0x14 + pop {r4, r5, pc} + nop _02230710: .word 0x00007D8C - thumb_func_end MOD83_02230668 + thumb_func_end MOD83_02230668 - thumb_func_start MOD83_02230714 + thumb_func_start MOD83_02230714 MOD83_02230714: ; 0x02230714 - push {r4, r5, r6, lr} - add r6, r0, #0 - add r5, r1, #0 - bl OverlayManager_GetData - add r4, r0, #0 - ldr r1, _022307A4 ; =0x000015DC - add r0, r6, #0 - add r1, r4, r1 - bl MOD83_02239F34 - cmp r0, #4 - bhi _022307A2 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r4, r5, r6, lr} + add r6, r0, #0 + add r5, r1, #0 + bl OverlayManager_GetData + add r4, r0, #0 + ldr r1, _022307A4 ; =0x000015DC + add r0, r6, #0 + add r1, r4, r1 + bl MOD83_02239F34 + cmp r0, #4 + bhi _022307A2 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0223073A: ; jump table - .short _022307A2 - _0223073A - 2 ; case 0 - .short _02230744 - _0223073A - 2 ; case 1 - .short _02230768 - _0223073A - 2 ; case 2 - .short _02230768 - _0223073A - 2 ; case 3 - .short _02230776 - _0223073A - 2 ; case 4 + .short _022307A2 - _0223073A - 2 ; case 0 + .short _02230744 - _0223073A - 2 ; case 1 + .short _02230768 - _0223073A - 2 ; case 2 + .short _02230768 - _0223073A - 2 ; case 3 + .short _02230776 - _0223073A - 2 ; case 4 _02230744: - ldr r1, _022307A8 ; =0x000015FC - add r0, r4, #0 - mov r2, #0xea - add r0, #0x8c - add r1, r4, r1 - lsl r2, r2, #2 - bl memcpy - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r0, #0x1b - add r4, #0x84 - str r0, [r4] - mov r0, #0x13 - str r0, [r5] - pop {r4, r5, r6, pc} + ldr r1, _022307A8 ; =0x000015FC + add r0, r4, #0 + mov r2, #0xea + add r0, #0x8c + add r1, r4, r1 + lsl r2, r2, #2 + bl memcpy + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r0, #0x1b + add r4, #0x84 + str r0, [r4] + mov r0, #0x13 + str r0, [r5] + pop {r4, r5, r6, pc} _02230768: - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r0, #0x11 - str r0, [r5] - pop {r4, r5, r6, pc} + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r0, #0x11 + str r0, [r5] + pop {r4, r5, r6, pc} _02230776: - ldr r0, _022307AC ; =0x00002624 - add r0, r4, r0 - bl ClearWindowTilemapAndCopyToVram - ldr r0, _022307AC ; =0x00002624 - add r0, r4, r0 - bl RemoveWindow - ldr r0, [r4] - mov r1, #0 - bl BgClearTilemapBufferAndCommit - ldr r0, _022307B0 ; =0x000005DC - bl PlaySE - add r0, r6, #0 - mov r1, #0xc4 - mov r2, #0 - bl MOD83_02230464 - mov r0, #3 - str r0, [r5] + ldr r0, _022307AC ; =0x00002624 + add r0, r4, r0 + bl ClearWindowTilemapAndCopyToVram + ldr r0, _022307AC ; =0x00002624 + add r0, r4, r0 + bl RemoveWindow + ldr r0, [r4] + mov r1, #0 + bl BgClearTilemapBufferAndCommit + ldr r0, _022307B0 ; =0x000005DC + bl PlaySE + add r0, r6, #0 + mov r1, #0xc4 + mov r2, #0 + bl MOD83_02230464 + mov r0, #3 + str r0, [r5] _022307A2: - pop {r4, r5, r6, pc} - .align 2, 0 + pop {r4, r5, r6, pc} + .align 2, 0 _022307A4: .word 0x000015DC _022307A8: .word 0x000015FC _022307AC: .word 0x00002624 _022307B0: .word 0x000005DC - thumb_func_end MOD83_02230714 + thumb_func_end MOD83_02230714 - thumb_func_start MOD83_022307B4 + thumb_func_start MOD83_022307B4 MOD83_022307B4: ; 0x022307B4 - push {r3, r4, r5, r6, lr} - sub sp, #0x5c - add r5, r0, #0 - ldr r0, _0223083C ; =0x00002610 - ldr r4, [r5, r0] - mov r0, #0 - mvn r0, r0 - cmp r4, r0 - bne _022307C8 - mov r4, #0xb + push {r3, r4, r5, r6, lr} + sub sp, #0x5c + add r5, r0, #0 + ldr r0, _0223083C ; =0x00002610 + ldr r4, [r5, r0] + mov r0, #0 + mvn r0, r0 + cmp r4, r0 + bne _022307C8 + mov r4, #0xb _022307C8: - mov r0, #0x10 - mov r1, #0 - bl GX_EngineAToggleLayers - ldr r0, [r5] - mov r1, #0 - bl BgClearTilemapBufferAndCommit - mov r0, #0x56 - bl ScrStrBufs_new - mov r1, #2 - str r1, [sp] - mov r1, #1 - str r1, [sp, #4] - ldr r2, _02230840 ; =0x00002614 - mov r1, #0 - ldr r2, [r5, r2] - mov r3, #5 - add r6, r0, #0 - bl BufferIntegerAsString - mov r0, #0x1f - ldr r1, _02230844 ; =0x00002624 - str r0, [sp] - mov r0, #3 - str r0, [sp, #4] - ldr r3, _02230848 ; =0x00000265 - add r0, sp, #8 - add r1, r5, r1 - mov r2, #1 - bl MOD83_022388E4 - add r0, sp, #8 - mov r1, #0x18 - mov r2, #0x10 - mov r3, #0x64 - bl MOD83_02238934 - add r0, sp, #8 - mov r1, #0 - mov r2, #1 - bl MOD83_0223893C - str r6, [sp, #0x1c] - str r4, [sp] - mov r2, #4 - ldr r0, [r5] - add r1, sp, #8 - add r3, r2, #0 - bl MOD83_02238A38 - add r0, r6, #0 - bl ScrStrBufs_delete - add sp, #0x5c - pop {r3, r4, r5, r6, pc} - nop + mov r0, #0x10 + mov r1, #0 + bl GX_EngineAToggleLayers + ldr r0, [r5] + mov r1, #0 + bl BgClearTilemapBufferAndCommit + mov r0, #0x56 + bl ScrStrBufs_new + mov r1, #2 + str r1, [sp] + mov r1, #1 + str r1, [sp, #4] + ldr r2, _02230840 ; =0x00002614 + mov r1, #0 + ldr r2, [r5, r2] + mov r3, #5 + add r6, r0, #0 + bl BufferIntegerAsString + mov r0, #0x1f + ldr r1, _02230844 ; =0x00002624 + str r0, [sp] + mov r0, #3 + str r0, [sp, #4] + ldr r3, _02230848 ; =0x00000265 + add r0, sp, #8 + add r1, r5, r1 + mov r2, #1 + bl MOD83_022388E4 + add r0, sp, #8 + mov r1, #0x18 + mov r2, #0x10 + mov r3, #0x64 + bl MOD83_02238934 + add r0, sp, #8 + mov r1, #0 + mov r2, #1 + bl MOD83_0223893C + str r6, [sp, #0x1c] + str r4, [sp] + mov r2, #4 + ldr r0, [r5] + add r1, sp, #8 + add r3, r2, #0 + bl MOD83_02238A38 + add r0, r6, #0 + bl ScrStrBufs_delete + add sp, #0x5c + pop {r3, r4, r5, r6, pc} + nop _0223083C: .word 0x00002610 _02230840: .word 0x00002614 _02230844: .word 0x00002624 _02230848: .word 0x00000265 - thumb_func_end MOD83_022307B4 + thumb_func_end MOD83_022307B4 - thumb_func_start MOD83_0223084C + thumb_func_start MOD83_0223084C MOD83_0223084C: ; 0x0223084C - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r1, r0, #0 - add r0, #0x80 - ldr r0, [r0] - cmp r0, #3 - bne _02230862 - mov r4, #0x15 - b _0223088C + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r1, r0, #0 + add r0, #0x80 + ldr r0, [r0] + cmp r0, #3 + bne _02230862 + mov r4, #0x15 + b _0223088C _02230862: - cmp r0, #4 - bne _0223086A - mov r4, #0x19 - b _0223088C + cmp r0, #4 + bne _0223086A + mov r4, #0x19 + b _0223088C _0223086A: - cmp r0, #2 - bne _02230872 - mov r4, #0x16 - b _0223088C + cmp r0, #2 + bne _02230872 + mov r4, #0x16 + b _0223088C _02230872: - cmp r0, #1 - bne _0223087A - mov r4, #0x1b - b _0223088C + cmp r0, #1 + bne _0223087A + mov r4, #0x1b + b _0223088C _0223087A: - cmp r0, #5 - bne _0223088C - add r0, r5, #0 - add r1, #0x18 - mov r2, #9 - mov r3, #0x33 - bl MOD83_0223089C - pop {r3, r4, r5, pc} + cmp r0, #5 + bne _0223088C + add r0, r5, #0 + add r1, #0x18 + mov r2, #9 + mov r3, #0x33 + bl MOD83_0223089C + pop {r3, r4, r5, pc} _0223088C: - add r0, r5, #0 - add r1, #0x18 - add r2, r4, #0 - mov r3, #0x32 - bl MOD83_0223089C - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end MOD83_0223084C - - thumb_func_start MOD83_0223089C + add r0, r5, #0 + add r1, #0x18 + add r2, r4, #0 + mov r3, #0x32 + bl MOD83_0223089C + pop {r3, r4, r5, pc} + .align 2, 0 + thumb_func_end MOD83_0223084C + + thumb_func_start MOD83_0223089C MOD83_0223089C: ; 0x0223089C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp] - add r6, r1, #0 - add r5, r2, #0 - str r3, [sp, #4] - bl OverlayManager_GetData - add r4, r0, #0 - cmp r6, #0 - beq _022308F8 - cmp r5, #0 - beq _022308F8 - ldr r2, _02230920 ; =0x00000172 - mov r0, #1 - mov r1, #0x1a - mov r3, #0x56 - bl NewMsgDataFromNarc - add r7, r0, #0 - mov r0, #0x56 - bl ScrStrBufs_new - add r1, r7, #0 - add r2, r5, #0 - mov r3, #0x56 - str r0, [sp, #8] - bl ReadMsgData_ExpandPlaceholders - str r0, [r4, #0x14] - mov r0, #1 - str r0, [r4, #0x68] - ldr r0, [sp] - add r1, r6, #0 - add r2, r5, #0 - bl MOD83_0223050C - ldr r0, [sp, #4] - str r0, [r4, #0x74] - ldr r0, [sp, #8] - bl ScrStrBufs_delete - add r0, r7, #0 - bl DestroyMsgData - b _02230918 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r0, [sp] + add r6, r1, #0 + add r5, r2, #0 + str r3, [sp, #4] + bl OverlayManager_GetData + add r4, r0, #0 + cmp r6, #0 + beq _022308F8 + cmp r5, #0 + beq _022308F8 + ldr r2, _02230920 ; =0x00000172 + mov r0, #1 + mov r1, #0x1a + mov r3, #0x56 + bl NewMsgDataFromNarc + add r7, r0, #0 + mov r0, #0x56 + bl ScrStrBufs_new + add r1, r7, #0 + add r2, r5, #0 + mov r3, #0x56 + str r0, [sp, #8] + bl ReadMsgData_ExpandPlaceholders + str r0, [r4, #0x14] + mov r0, #1 + str r0, [r4, #0x68] + ldr r0, [sp] + add r1, r6, #0 + add r2, r5, #0 + bl MOD83_0223050C + ldr r0, [sp, #4] + str r0, [r4, #0x74] + ldr r0, [sp, #8] + bl ScrStrBufs_delete + add r0, r7, #0 + bl DestroyMsgData + b _02230918 _022308F8: - ldr r0, [r4, #0x6c] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl FUN_0201BD70 - cmp r0, #0 - bne _02230918 - ldr r0, [r4, #0x14] - bl String_dtor - mov r0, #0 - str r0, [r4, #0x14] - str r0, [r4, #0x68] - add sp, #0xc - ldr r0, [r4, #0x74] - pop {r4, r5, r6, r7, pc} + ldr r0, [r4, #0x6c] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0 + bne _02230918 + ldr r0, [r4, #0x14] + bl String_dtor + mov r0, #0 + str r0, [r4, #0x14] + str r0, [r4, #0x68] + add sp, #0xc + ldr r0, [r4, #0x74] + pop {r4, r5, r6, r7, pc} _02230918: - mov r0, #0x31 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop + mov r0, #0x31 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + nop _02230920: .word 0x00000172 - thumb_func_end MOD83_0223089C + thumb_func_end MOD83_0223089C - thumb_func_start MOD83_02230924 + thumb_func_start MOD83_02230924 MOD83_02230924: ; 0x02230924 - push {r3, lr} - ldr r1, _02230950 ; =0x000015D4 - ldr r0, [r0, r1] - cmp r0, #4 - bhi _0223094C - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r3, lr} + ldr r1, _02230950 ; =0x000015D4 + ldr r0, [r0, r1] + cmp r0, #4 + bhi _0223094C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0223093A: ; jump table - .short _0223094C - _0223093A - 2 ; case 0 - .short _02230944 - _0223093A - 2 ; case 1 - .short _0223094C - _0223093A - 2 ; case 2 - .short _0223094C - _0223093A - 2 ; case 3 - .short _0223094C - _0223093A - 2 ; case 4 + .short _0223094C - _0223093A - 2 ; case 0 + .short _02230944 - _0223093A - 2 ; case 1 + .short _0223094C - _0223093A - 2 ; case 2 + .short _0223094C - _0223093A - 2 ; case 3 + .short _0223094C - _0223093A - 2 ; case 4 _02230944: - bl MOD83_0222F9DC - bl FUN_02033ED0 + bl MOD83_0222F9DC + bl FUN_02033ED0 _0223094C: - pop {r3, pc} - nop + pop {r3, pc} + nop _02230950: .word 0x000015D4 - thumb_func_end MOD83_02230924 + thumb_func_end MOD83_02230924 - thumb_func_start MOD83_02230954 + thumb_func_start MOD83_02230954 MOD83_02230954: ; 0x02230954 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl MOD83_02231370 - mov r0, #3 - mov r1, #0x56 - lsl r2, r0, #0x10 - bl CreateHeap - ldr r1, _022309FC ; =0x00002998 - add r0, r5, #0 - mov r2, #0x56 - bl OverlayManager_CreateAndGetData - ldr r2, _022309FC ; =0x00002998 - mov r1, #0 - add r4, r0, #0 - bl memset - mov r0, #0x56 - bl BgConfig_Alloc - str r0, [r4] - bl GX_DisableEngineALayers - bl GX_DisableEngineBLayers - bl MOD83_022331C0 - ldr r0, [r4] - bl MOD83_02230258 - mov r0, #0 - add r1, r0, #0 - bl FUN_0200E3A0 - mov r0, #1 - mov r1, #0 - bl FUN_0200E3A0 - ldr r1, _02230A00 ; =0x00000496 - mov r0, #0xa - mov r2, #1 - bl FUN_0200433C - mov r0, #0x56 - bl MOD83_SetHeapId - bl MOD83_02238700 - cmp r0, #0 - beq _022309D0 - ldr r0, _02230A04 ; =0x000015D4 - mov r1, #2 - str r1, [r4, r0] - ldr r0, _02230A08 ; =gGameVersion - ldrb r0, [r0] - bl FUN_02016438 - mov r0, #1 - bl MOD83_02239450 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl MOD83_02231370 + mov r0, #3 + mov r1, #0x56 + lsl r2, r0, #0x10 + bl CreateHeap + ldr r1, _022309FC ; =0x00002998 + add r0, r5, #0 + mov r2, #0x56 + bl OverlayManager_CreateAndGetData + ldr r2, _022309FC ; =0x00002998 + mov r1, #0 + add r4, r0, #0 + bl memset + mov r0, #0x56 + bl BgConfig_Alloc + str r0, [r4] + bl GX_DisableEngineALayers + bl GX_DisableEngineBLayers + bl MOD83_022331C0 + ldr r0, [r4] + bl MOD83_02230258 + mov r0, #0 + add r1, r0, #0 + bl FUN_0200E3A0 + mov r0, #1 + mov r1, #0 + bl FUN_0200E3A0 + ldr r1, _02230A00 ; =0x00000496 + mov r0, #0xa + mov r2, #1 + bl FUN_0200433C + mov r0, #0x56 + bl MOD83_SetHeapId + bl MOD83_02238700 + cmp r0, #0 + beq _022309D0 + ldr r0, _02230A04 ; =0x000015D4 + mov r1, #2 + str r1, [r4, r0] + ldr r0, _02230A08 ; =gGameVersion + ldrb r0, [r0] + bl FUN_02016438 + mov r0, #1 + bl MOD83_02239450 _022309D0: - ldr r0, _02230A0C ; =0x000005C8 - mov r1, #0x1d - str r1, [r4, r0] - add r0, r5, #0 - bl OverlayManager_GetField18 - ldr r0, [r0, #8] - str r0, [r4, #4] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #8] - mov r0, #0xff - mov r2, #3 - str r0, [r4, #0x68] - mov r0, #0 - mov r1, #0x5b - lsl r2, r2, #8 - bl CreateHeap - mov r0, #1 - pop {r3, r4, r5, pc} - nop + ldr r0, _02230A0C ; =0x000005C8 + mov r1, #0x1d + str r1, [r4, r0] + add r0, r5, #0 + bl OverlayManager_GetField18 + ldr r0, [r0, #8] + str r0, [r4, #4] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #8] + mov r0, #0xff + mov r2, #3 + str r0, [r4, #0x68] + mov r0, #0 + mov r1, #0x5b + lsl r2, r2, #8 + bl CreateHeap + mov r0, #1 + pop {r3, r4, r5, pc} + nop _022309FC: .word 0x00002998 _02230A00: .word 0x00000496 _02230A04: .word 0x000015D4 _02230A08: .word gGameVersion _02230A0C: .word 0x000005C8 - thumb_func_end MOD83_02230954 + thumb_func_end MOD83_02230954 - thumb_func_start MOD83_02230A10 + thumb_func_start MOD83_02230A10 MOD83_02230A10: ; 0x02230A10 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r6, r0, #0 - add r5, r1, #0 - bl OverlayManager_GetData - add r4, r0, #0 - bl CTRDG_IsExisting - ldr r0, _02230D5C ; =0x000005C8 - ldr r0, [r4, r0] - cmp r0, #0x1d - beq _02230A30 - add r0, r4, #0 - bl MOD83_022313E4 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r6, r0, #0 + add r5, r1, #0 + bl OverlayManager_GetData + add r4, r0, #0 + bl CTRDG_IsExisting + ldr r0, _02230D5C ; =0x000005C8 + ldr r0, [r4, r0] + cmp r0, #0x1d + beq _02230A30 + add r0, r4, #0 + bl MOD83_022313E4 _02230A30: - ldr r3, [r5] - cmp r3, #0x38 - bls _02230A3A - bl _02231334 + ldr r3, [r5] + cmp r3, #0x38 + bls _02230A3A + bl _02231334 _02230A3A: - add r0, r3, r3 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r3, r3 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02230A46: ; jump table - .short _02230AB8 - _02230A46 - 2 ; case 0 - .short _02230ACA - _02230A46 - 2 ; case 1 - .short _02230AE8 - _02230A46 - 2 ; case 2 - .short _02230AF2 - _02230A46 - 2 ; case 3 - .short _02230B00 - _02230A46 - 2 ; case 4 - .short _02230B0E - _02230A46 - 2 ; case 5 - .short _02231334 - _02230A46 - 2 ; case 6 - .short _02230CA0 - _02230A46 - 2 ; case 7 - .short _02230D50 - _02230A46 - 2 ; case 8 - .short _02230D8C - _02230A46 - 2 ; case 9 - .short _02230E4C - _02230A46 - 2 ; case 10 - .short _02230E9A - _02230A46 - 2 ; case 11 - .short _02230EBC - _02230A46 - 2 ; case 12 - .short _02230F4C - _02230A46 - 2 ; case 13 - .short _02230FA2 - _02230A46 - 2 ; case 14 - .short _02230FCE - _02230A46 - 2 ; case 15 - .short _0223100E - _02230A46 - 2 ; case 16 - .short _02231030 - _02230A46 - 2 ; case 17 - .short _0223105A - _02230A46 - 2 ; case 18 - .short _0223107A - _02230A46 - 2 ; case 19 - .short _0223110E - _02230A46 - 2 ; case 20 - .short _0223111A - _02230A46 - 2 ; case 21 - .short _0223113C - _02230A46 - 2 ; case 22 - .short _02231172 - _02230A46 - 2 ; case 23 - .short _0223118C - _02230A46 - 2 ; case 24 - .short _02231204 - _02230A46 - 2 ; case 25 - .short _02231334 - _02230A46 - 2 ; case 26 - .short _02230B1C - _02230A46 - 2 ; case 27 - .short _02231334 - _02230A46 - 2 ; case 28 - .short _02231334 - _02230A46 - 2 ; case 29 - .short _02231334 - _02230A46 - 2 ; case 30 - .short _02230BD6 - _02230A46 - 2 ; case 31 - .short _02230B28 - _02230A46 - 2 ; case 32 - .short _02230BE8 - _02230A46 - 2 ; case 33 - .short _02230C0A - _02230A46 - 2 ; case 34 - .short _02230C7C - _02230A46 - 2 ; case 35 - .short _02231334 - _02230A46 - 2 ; case 36 - .short _02231334 - _02230A46 - 2 ; case 37 - .short _02231334 - _02230A46 - 2 ; case 38 - .short _02231334 - _02230A46 - 2 ; case 39 - .short _02231334 - _02230A46 - 2 ; case 40 - .short _02231334 - _02230A46 - 2 ; case 41 - .short _02231334 - _02230A46 - 2 ; case 42 - .short _02231334 - _02230A46 - 2 ; case 43 - .short _02231334 - _02230A46 - 2 ; case 44 - .short _02231334 - _02230A46 - 2 ; case 45 - .short _02231334 - _02230A46 - 2 ; case 46 - .short _02231334 - _02230A46 - 2 ; case 47 - .short _02231220 - _02230A46 - 2 ; case 48 - .short _02231244 - _02230A46 - 2 ; case 49 - .short _02231252 - _02230A46 - 2 ; case 50 - .short _0223126E - _02230A46 - 2 ; case 51 - .short _02231284 - _02230A46 - 2 ; case 52 - .short _02231298 - _02230A46 - 2 ; case 53 - .short _022312AA - _02230A46 - 2 ; case 54 - .short _022312EC - _02230A46 - 2 ; case 55 - .short _0223132E - _02230A46 - 2 ; case 56 + .short _02230AB8 - _02230A46 - 2 ; case 0 + .short _02230ACA - _02230A46 - 2 ; case 1 + .short _02230AE8 - _02230A46 - 2 ; case 2 + .short _02230AF2 - _02230A46 - 2 ; case 3 + .short _02230B00 - _02230A46 - 2 ; case 4 + .short _02230B0E - _02230A46 - 2 ; case 5 + .short _02231334 - _02230A46 - 2 ; case 6 + .short _02230CA0 - _02230A46 - 2 ; case 7 + .short _02230D50 - _02230A46 - 2 ; case 8 + .short _02230D8C - _02230A46 - 2 ; case 9 + .short _02230E4C - _02230A46 - 2 ; case 10 + .short _02230E9A - _02230A46 - 2 ; case 11 + .short _02230EBC - _02230A46 - 2 ; case 12 + .short _02230F4C - _02230A46 - 2 ; case 13 + .short _02230FA2 - _02230A46 - 2 ; case 14 + .short _02230FCE - _02230A46 - 2 ; case 15 + .short _0223100E - _02230A46 - 2 ; case 16 + .short _02231030 - _02230A46 - 2 ; case 17 + .short _0223105A - _02230A46 - 2 ; case 18 + .short _0223107A - _02230A46 - 2 ; case 19 + .short _0223110E - _02230A46 - 2 ; case 20 + .short _0223111A - _02230A46 - 2 ; case 21 + .short _0223113C - _02230A46 - 2 ; case 22 + .short _02231172 - _02230A46 - 2 ; case 23 + .short _0223118C - _02230A46 - 2 ; case 24 + .short _02231204 - _02230A46 - 2 ; case 25 + .short _02231334 - _02230A46 - 2 ; case 26 + .short _02230B1C - _02230A46 - 2 ; case 27 + .short _02231334 - _02230A46 - 2 ; case 28 + .short _02231334 - _02230A46 - 2 ; case 29 + .short _02231334 - _02230A46 - 2 ; case 30 + .short _02230BD6 - _02230A46 - 2 ; case 31 + .short _02230B28 - _02230A46 - 2 ; case 32 + .short _02230BE8 - _02230A46 - 2 ; case 33 + .short _02230C0A - _02230A46 - 2 ; case 34 + .short _02230C7C - _02230A46 - 2 ; case 35 + .short _02231334 - _02230A46 - 2 ; case 36 + .short _02231334 - _02230A46 - 2 ; case 37 + .short _02231334 - _02230A46 - 2 ; case 38 + .short _02231334 - _02230A46 - 2 ; case 39 + .short _02231334 - _02230A46 - 2 ; case 40 + .short _02231334 - _02230A46 - 2 ; case 41 + .short _02231334 - _02230A46 - 2 ; case 42 + .short _02231334 - _02230A46 - 2 ; case 43 + .short _02231334 - _02230A46 - 2 ; case 44 + .short _02231334 - _02230A46 - 2 ; case 45 + .short _02231334 - _02230A46 - 2 ; case 46 + .short _02231334 - _02230A46 - 2 ; case 47 + .short _02231220 - _02230A46 - 2 ; case 48 + .short _02231244 - _02230A46 - 2 ; case 49 + .short _02231252 - _02230A46 - 2 ; case 50 + .short _0223126E - _02230A46 - 2 ; case 51 + .short _02231284 - _02230A46 - 2 ; case 52 + .short _02231298 - _02230A46 - 2 ; case 53 + .short _022312AA - _02230A46 - 2 ; case 54 + .short _022312EC - _02230A46 - 2 ; case 55 + .short _0223132E - _02230A46 - 2 ; case 56 _02230AB8: - mov r0, #0x56 - bl MOD83_02238770 - ldr r0, _02230D60 ; =0x000015D8 - str r5, [r4, r0] - mov r0, #1 - str r0, [r5] - bl _02231334 + mov r0, #0x56 + bl MOD83_02238770 + ldr r0, _02230D60 ; =0x000015D8 + str r5, [r4, r0] + mov r0, #1 + str r0, [r5] + bl _02231334 _02230ACA: - add r0, r6, #0 - add r1, r4, #0 - bl MOD83_02230668 - add r0, r4, #0 - bl MOD83_0222FAE8 - mov r0, #1 - mov r1, #3 - add r2, r5, #0 - mov r3, #2 - bl MOD83_0223886C - bl _02231334 + add r0, r6, #0 + add r1, r4, #0 + bl MOD83_02230668 + add r0, r4, #0 + bl MOD83_0222FAE8 + mov r0, #1 + mov r1, #3 + add r2, r5, #0 + mov r3, #2 + bl MOD83_0223886C + bl _02231334 _02230AE8: - add r0, r5, #0 - bl MOD83_022388CC - bl _02231334 + add r0, r5, #0 + bl MOD83_022388CC + bl _02231334 _02230AF2: - ldr r2, _02230D64 ; =MOD83_022301D4 - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02230604 - bl _02231334 + ldr r2, _02230D64 ; =MOD83_022301D4 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02230604 + bl _02231334 _02230B00: - ldr r2, _02230D68 ; =MOD83_022300F8 - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02230604 - bl _02231334 + ldr r2, _02230D68 ; =MOD83_022300F8 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02230604 + bl _02231334 _02230B0E: - ldr r2, _02230D6C ; =MOD83_0222FDE8 - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02230604 - bl _02231334 + ldr r2, _02230D6C ; =MOD83_0222FDE8 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02230604 + bl _02231334 _02230B1C: - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02230714 - bl _02231334 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02230714 + bl _02231334 _02230B28: - add r0, r4, #0 - bl MOD83_022314B4 - ldr r0, _02230D70 ; =MOD83_0223B888 - ldr r0, [r0, #0x10] - cmp r0, #0x2c - bne _02230BC0 - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - add r0, r6, #0 - bl MOD83_0222FC40 - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x8c - bl MOD83_022332B4 - add r1, r4, #0 - add r1, #0x80 - str r0, [r1] - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0] - cmp r0, #1 - bne _02230B6C - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r0, #0x30 - str r0, [r5] - b _02230BC0 + add r0, r4, #0 + bl MOD83_022314B4 + ldr r0, _02230D70 ; =MOD83_0223B888 + ldr r0, [r0, #0x10] + cmp r0, #0x2c + bne _02230BC0 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + add r0, r6, #0 + bl MOD83_0222FC40 + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x8c + bl MOD83_022332B4 + add r1, r4, #0 + add r1, #0x80 + str r0, [r1] + add r0, r4, #0 + add r0, #0x80 + ldr r0, [r0] + cmp r0, #1 + bne _02230B6C + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r0, #0x30 + str r0, [r5] + b _02230BC0 _02230B6C: - add r0, r4, #0 - add r0, #0x58 - bl WindowIsInUse - cmp r0, #0 - bne _02230B9A - mov r0, #2 - str r0, [sp] - mov r0, #0x1a - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r2, #0 - mov r0, #0x71 - add r1, r4, #0 - str r2, [sp, #0xc] - lsl r0, r0, #2 - str r0, [sp, #0x10] - ldr r0, [r4] - add r1, #0x58 - mov r3, #3 - bl AddWindowParameterized + add r0, r4, #0 + add r0, #0x58 + bl WindowIsInUse + cmp r0, #0 + bne _02230B9A + mov r0, #2 + str r0, [sp] + mov r0, #0x1a + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r2, #0 + mov r0, #0x71 + add r1, r4, #0 + str r2, [sp, #0xc] + lsl r0, r0, #2 + str r0, [sp, #0x10] + ldr r0, [r4] + add r1, #0x58 + mov r3, #3 + bl AddWindowParameterized _02230B9A: - bl MOD83_02239DA0 - add r1, r4, #0 - add r2, r0, #0 - add r0, r6, #0 - add r1, #0x58 - bl MOD83_022305A4 - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #4 - bl MOD83_0223050C - add r0, r6, #0 - bl MOD83_0222FF80 - mov r0, #0x1f - str r0, [r5] + bl MOD83_02239DA0 + add r1, r4, #0 + add r2, r0, #0 + add r0, r6, #0 + add r1, #0x58 + bl MOD83_022305A4 + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #4 + bl MOD83_0223050C + add r0, r6, #0 + bl MOD83_0222FF80 + mov r0, #0x1f + str r0, [r5] _02230BC0: - ldr r0, _02230D70 ; =MOD83_0223B888 - ldr r0, [r0, #0x10] - sub r0, #0x2d - cmp r0, #1 - bls _02230BCC - b _02231334 + ldr r0, _02230D70 ; =MOD83_0223B888 + ldr r0, [r0, #0x10] + sub r0, #0x2d + cmp r0, #1 + bls _02230BCC + b _02231334 _02230BCC: - bl MOD83_02231494 - mov r0, #0x11 - str r0, [r5] - b _02231334 + bl MOD83_02231494 + mov r0, #0x11 + str r0, [r5] + b _02231334 _02230BD6: - ldr r2, _02230D74 ; =MOD83_02230084 - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02230604 - add r0, r4, #0 - bl MOD83_022314B4 - b _02231334 + ldr r2, _02230D74 ; =MOD83_02230084 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02230604 + add r0, r4, #0 + bl MOD83_022314B4 + b _02231334 _02230BE8: - add r0, r6, #0 - bl MOD83_0222FC40 - add r1, r0, #0 - ldr r0, [r4] - bl MOD83_022391EC - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FA0C - add r0, r6, #0 - bl MOD83_0222FCE4 - mov r0, #0x22 - str r0, [r5] - b _02231334 + add r0, r6, #0 + bl MOD83_0222FC40 + add r1, r0, #0 + ldr r0, [r4] + bl MOD83_022391EC + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FA0C + add r0, r6, #0 + bl MOD83_0222FCE4 + mov r0, #0x22 + str r0, [r5] + b _02231334 _02230C0A: - bl MOD83_02239574 - cmp r0, #4 - bne _02230C16 - bl MOD83_02239544 + bl MOD83_02239574 + cmp r0, #4 + bne _02230C16 + bl MOD83_02239544 _02230C16: - bl MOD83_02239574 - cmp r0, #2 - bne _02230C48 - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl MOD83_0222FB0C - ldr r0, _02230D78 ; =0x00000624 - bl PlaySE - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #8 - mov r3, #0x36 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + bl MOD83_02239574 + cmp r0, #2 + bne _02230C48 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl MOD83_0222FB0C + ldr r0, _02230D78 ; =0x00000624 + bl PlaySE + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #8 + mov r3, #0x36 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _02230C48: - bl MOD83_02239574 - cmp r0, #3 - bne _02230D38 - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl MOD83_0222FB0C - add r0, r4, #0 - add r0, #0xda - ldrb r1, [r0] - mov r0, #4 - mov r2, #0x1a - bic r1, r0 - add r0, r4, #0 - add r0, #0xda - strb r1, [r0] - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r3, #0x36 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + bl MOD83_02239574 + cmp r0, #3 + bne _02230D38 + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl MOD83_0222FB0C + add r0, r4, #0 + add r0, #0xda + ldrb r1, [r0] + mov r0, #4 + mov r2, #0x1a + bic r1, r0 + add r0, r4, #0 + add r0, #0xda + strb r1, [r0] + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r3, #0x36 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _02230C7C: - add r0, r4, #0 - bl MOD83_022314B4 - ldr r0, _02230D70 ; =MOD83_0223B888 - ldr r1, [r0, #0x10] - add r0, r1, #0 - sub r0, #0x2c - cmp r0, #2 - bhi _02230D38 - cmp r1, #0x2e - bne _02230C96 - bl MOD83_02231494 + add r0, r4, #0 + bl MOD83_022314B4 + ldr r0, _02230D70 ; =MOD83_0223B888 + ldr r1, [r0, #0x10] + add r0, r1, #0 + sub r0, #0x2c + cmp r0, #2 + bhi _02230D38 + cmp r1, #0x2e + bne _02230C96 + bl MOD83_02231494 _02230C96: - add r0, r6, #0 - bl MOD83_0222FFD8 - str r0, [r5] - b _02231334 + add r0, r6, #0 + bl MOD83_0222FFD8 + str r0, [r5] + b _02231334 _02230CA0: - add r0, r4, #0 - bl MOD83_0222F950 - ldr r1, _02230D7C ; =0x00000438 - str r0, [r4, r1] - mov r0, #0 - ldr r1, [r4, r1] - mvn r0, r0 - cmp r1, r0 - beq _02230D20 - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x8c - bl MOD83_022332B4 - add r1, r4, #0 - add r1, #0x80 - str r0, [r1] - add r0, r4, #0 - add r0, #0x58 - bl WindowIsInUse - cmp r0, #0 - bne _02230CFA - mov r0, #2 - str r0, [sp] - mov r0, #0x1a - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r2, #0 - mov r0, #0x71 - add r1, r4, #0 - str r2, [sp, #0xc] - lsl r0, r0, #2 - str r0, [sp, #0x10] - ldr r0, [r4] - add r1, #0x58 - mov r3, #3 - bl AddWindowParameterized + add r0, r4, #0 + bl MOD83_0222F950 + ldr r1, _02230D7C ; =0x00000438 + str r0, [r4, r1] + mov r0, #0 + ldr r1, [r4, r1] + mvn r0, r0 + cmp r1, r0 + beq _02230D20 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x8c + bl MOD83_022332B4 + add r1, r4, #0 + add r1, #0x80 + str r0, [r1] + add r0, r4, #0 + add r0, #0x58 + bl WindowIsInUse + cmp r0, #0 + bne _02230CFA + mov r0, #2 + str r0, [sp] + mov r0, #0x1a + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r2, #0 + mov r0, #0x71 + add r1, r4, #0 + str r2, [sp, #0xc] + lsl r0, r0, #2 + str r0, [sp, #0x10] + ldr r0, [r4] + add r1, #0x58 + mov r3, #3 + bl AddWindowParameterized _02230CFA: - add r1, r4, #0 - add r2, r4, #0 - add r0, r6, #0 - add r1, #0x58 - add r2, #0x8c - bl MOD83_022305A4 - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #4 - bl MOD83_0223050C - add r0, r6, #0 - mov r1, #0 - bl MOD83_0222FD84 - mov r0, #8 - str r0, [r5] + add r1, r4, #0 + add r2, r4, #0 + add r0, r6, #0 + add r1, #0x58 + add r2, #0x8c + bl MOD83_022305A4 + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #4 + bl MOD83_0223050C + add r0, r6, #0 + mov r1, #0 + bl MOD83_0222FD84 + mov r0, #8 + str r0, [r5] _02230D20: - ldr r0, _02230D80 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - bne _02230D3A - ldr r0, _02230D84 ; =0x00000434 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - beq _02230D3A + ldr r0, _02230D80 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + bne _02230D3A + ldr r0, _02230D84 ; =0x00000434 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + beq _02230D3A _02230D38: - b _02231334 + b _02231334 _02230D3A: - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - bl MOD83_0222F9DC - bl FUN_02033ED0 - mov r0, #0x11 - str r0, [r5] - b _02231334 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + bl MOD83_0222F9DC + bl FUN_02033ED0 + mov r0, #0x11 + str r0, [r5] + b _02231334 _02230D50: - ldr r2, _02230D88 ; =MOD83_0222FFD8 - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02230604 - b _02231334 - .align 2, 0 + ldr r2, _02230D88 ; =MOD83_0222FFD8 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02230604 + b _02231334 + .align 2, 0 _02230D5C: .word 0x000005C8 _02230D60: .word 0x000015D8 _02230D64: .word MOD83_022301D4 @@ -6975,421 +6975,421 @@ _02230D80: .word gMain _02230D84: .word 0x00000434 _02230D88: .word MOD83_0222FFD8 _02230D8C: - bl FUN_02031190 - add r7, r0, #0 - beq _02230DE4 - lsl r0, r7, #0x10 - lsr r0, r0, #0x10 - bl FUN_02030E7C - cmp r0, #0 - beq _02230DE4 - mov r0, #0xab - bl FUN_020315D8 - cmp r0, #1 - bne _02230E14 - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r0, #1 - add r1, r0, #0 - bl FUN_020334E8 - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #7 - bl MOD83_0223050C - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FB0C - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FA0C - mov r1, #0x96 - ldr r0, _02231120 ; =0x00000434 - lsl r1, r1, #2 - str r1, [r4, r0] - mov r0, #0xa - str r0, [r5] - b _02230E14 + bl FUN_02031190 + add r7, r0, #0 + beq _02230DE4 + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + bl FUN_02030E7C + cmp r0, #0 + beq _02230DE4 + mov r0, #0xab + bl FUN_020315D8 + cmp r0, #1 + bne _02230E14 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r0, #1 + add r1, r0, #0 + bl FUN_020334E8 + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #7 + bl MOD83_0223050C + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FB0C + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FA0C + mov r1, #0x96 + ldr r0, _02231120 ; =0x00000434 + lsl r1, r1, #2 + str r1, [r4, r0] + mov r0, #0xa + str r0, [r5] + b _02230E14 _02230DE4: - cmp r7, #0 - beq _02230E14 - lsl r0, r7, #0x10 - lsr r0, r0, #0x10 - bl FUN_02030E7C - cmp r0, #0 - bne _02230E14 - bl MOD83_0222F9DC - bl FUN_02033ED0 - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl MOD83_0222FB0C - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r0, #0x10 - str r0, [r5] - b _02231334 + cmp r7, #0 + beq _02230E14 + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + bl FUN_02030E7C + cmp r0, #0 + bne _02230E14 + bl MOD83_0222F9DC + bl FUN_02033ED0 + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl MOD83_0222FB0C + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r0, #0x10 + str r0, [r5] + b _02231334 _02230E14: - ldr r0, _02231124 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - bne _02230E2C - ldr r0, _02231120 ; =0x00000434 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _02230F1C + ldr r0, _02231124 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + bne _02230E2C + ldr r0, _02231120 ; =0x00000434 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _02230F1C _02230E2C: - bl MOD83_0222F9DC - bl FUN_02033ED0 - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl MOD83_0222FB0C - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r0, #0x11 - str r0, [r5] - b _02231334 + bl MOD83_0222F9DC + bl FUN_02033ED0 + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl MOD83_0222FB0C + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r0, #0x11 + str r0, [r5] + b _02231334 _02230E4C: - bl MOD83_0222F9A0 - cmp r0, #0 - beq _02230E58 - mov r0, #0xb - str r0, [r5] + bl MOD83_0222F9A0 + cmp r0, #0 + beq _02230E58 + mov r0, #0xb + str r0, [r5] _02230E58: - bl FUN_02031190 - ldr r1, _02231124 ; =gMain - ldr r2, [r1, #0x48] - mov r1, #2 - tst r1, r2 - bne _02230E84 - ldr r1, _02231120 ; =0x00000434 - ldr r2, [r4, r1] - sub r2, r2, #1 - str r2, [r4, r1] - ldr r1, [r4, r1] - cmp r1, #0 - beq _02230E84 - cmp r0, #0 - beq _02230F1C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FUN_02030E7C - cmp r0, #0 - bne _02230F1C + bl FUN_02031190 + ldr r1, _02231124 ; =gMain + ldr r2, [r1, #0x48] + mov r1, #2 + tst r1, r2 + bne _02230E84 + ldr r1, _02231120 ; =0x00000434 + ldr r2, [r4, r1] + sub r2, r2, #1 + str r2, [r4, r1] + ldr r1, [r4, r1] + cmp r1, #0 + beq _02230E84 + cmp r0, #0 + beq _02230F1C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02030E7C + cmp r0, #0 + bne _02230F1C _02230E84: - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - bl MOD83_0222F9DC - bl FUN_02033ED0 - mov r0, #0x11 - str r0, [r5] - b _02231334 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + bl MOD83_0222F9DC + bl FUN_02033ED0 + mov r0, #0x11 + str r0, [r5] + b _02231334 _02230E9A: - add r0, r6, #0 - bl MOD83_0222FC40 - add r1, r0, #0 - ldr r0, [r4] - bl MOD83_022391EC - mov r0, #0 - add r1, r0, #0 - bl FUN_020334E8 - add r0, r6, #0 - bl MOD83_0222FCE4 - mov r0, #0xc - str r0, [r5] - b _02231334 + add r0, r6, #0 + bl MOD83_0222FC40 + add r1, r0, #0 + ldr r0, [r4] + bl MOD83_022391EC + mov r0, #0 + add r1, r0, #0 + bl FUN_020334E8 + add r0, r6, #0 + bl MOD83_0222FCE4 + mov r0, #0xc + str r0, [r5] + b _02231334 _02230EBC: - bl FUN_02031190 - cmp r0, #0 - beq _02230EFA - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FUN_02030E7C - cmp r0, #0 - bne _02230EFA - bl MOD83_0222F9DC - ldr r0, _02231128 ; =0x00002990 - mov r1, #1 - str r1, [r4, r0] - bl MOD83_0223955C - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - bl FUN_02033ED0 - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl MOD83_0222FB0C - mov r0, #0xe - str r0, [r5] - b _02231334 + bl FUN_02031190 + cmp r0, #0 + beq _02230EFA + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02030E7C + cmp r0, #0 + bne _02230EFA + bl MOD83_0222F9DC + ldr r0, _02231128 ; =0x00002990 + mov r1, #1 + str r1, [r4, r0] + bl MOD83_0223955C + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + bl FUN_02033ED0 + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl MOD83_0222FB0C + mov r0, #0xe + str r0, [r5] + b _02231334 _02230EFA: - bl MOD83_02239574 - cmp r0, #4 - bne _02230F14 - mov r0, #0x93 - bl FUN_02031588 - mov r0, #0xd - str r0, [r5] - ldr r0, _0223112C ; =0x0000043C - mov r1, #0x78 - str r1, [r4, r0] - b _02231334 + bl MOD83_02239574 + cmp r0, #4 + bne _02230F14 + mov r0, #0x93 + bl FUN_02031588 + mov r0, #0xd + str r0, [r5] + ldr r0, _0223112C ; =0x0000043C + mov r1, #0x78 + str r1, [r4, r0] + b _02231334 _02230F14: - bl MOD83_02239574 - cmp r0, #3 - beq _02230F1E + bl MOD83_02239574 + cmp r0, #3 + beq _02230F1E _02230F1C: - b _02231334 + b _02231334 _02230F1E: - bl MOD83_0223955C - add r0, r4, #0 - add r0, #0xda - ldrb r1, [r0] - mov r0, #4 - bic r1, r0 - add r0, r4, #0 - add r0, #0xda - strb r1, [r0] - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #0x1a - mov r3, #0x36 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + bl MOD83_0223955C + add r0, r4, #0 + add r0, #0xda + ldrb r1, [r0] + mov r0, #4 + bic r1, r0 + add r0, r4, #0 + add r0, #0xda + strb r1, [r0] + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #0x1a + mov r3, #0x36 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _02230F4C: - mov r0, #0x93 - bl FUN_020315D8 - cmp r0, #1 - bne _02230F66 - bl MOD83_02239544 - ldr r0, _0223112C ; =0x0000043C - mov r1, #0xa - str r1, [r4, r0] - mov r0, #0xf - str r0, [r5] - b _02231334 + mov r0, #0x93 + bl FUN_020315D8 + cmp r0, #1 + bne _02230F66 + bl MOD83_02239544 + ldr r0, _0223112C ; =0x0000043C + mov r1, #0xa + str r1, [r4, r0] + mov r0, #0xf + str r0, [r5] + b _02231334 _02230F66: - ldr r0, _0223112C ; =0x0000043C - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _02231062 - bl MOD83_0223955C - add r0, r4, #0 - add r0, #0xda - ldrb r1, [r0] - mov r0, #4 - bic r1, r0 - add r0, r4, #0 - add r0, #0xda - strb r1, [r0] - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #0x1a - mov r3, #0x36 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + ldr r0, _0223112C ; =0x0000043C + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _02231062 + bl MOD83_0223955C + add r0, r4, #0 + add r0, #0xda + ldrb r1, [r0] + mov r0, #4 + bic r1, r0 + add r0, r4, #0 + add r0, #0xda + strb r1, [r0] + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #0x1a + mov r3, #0x36 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _02230FA2: - add r0, r4, #0 - add r0, #0x58 - mov r1, #0 - bl MOD83_0222FB44 - add r0, r4, #0 - add r0, #0xda - ldrb r1, [r0] - mov r0, #4 - mov r2, #0x1c - bic r1, r0 - add r0, r4, #0 - add r0, #0xda - strb r1, [r0] - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r3, #0x36 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + add r0, r4, #0 + add r0, #0x58 + mov r1, #0 + bl MOD83_0222FB44 + add r0, r4, #0 + add r0, #0xda + ldrb r1, [r0] + mov r0, #4 + mov r2, #0x1c + bic r1, r0 + add r0, r4, #0 + add r0, #0xda + strb r1, [r0] + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r3, #0x36 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _02230FCE: - ldr r0, _0223112C ; =0x0000043C - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _02231062 - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - bl MOD83_0222F9DC - bl FUN_02033ED0 - ldr r0, _02231130 ; =0x00000624 - bl PlaySE - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl MOD83_0222FB0C - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #8 - mov r3, #0x36 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + ldr r0, _0223112C ; =0x0000043C + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _02231062 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + bl MOD83_0222F9DC + bl FUN_02033ED0 + ldr r0, _02231130 ; =0x00000624 + bl PlaySE + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl MOD83_0222FB0C + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #8 + mov r3, #0x36 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _0223100E: - ldr r0, _02231134 ; =0x000005DC - bl PlaySE - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #0x18 - bl MOD83_0223050C - add r0, r4, #0 - add r0, #0x58 - mov r1, #0 - bl MOD83_0222FB44 - mov r0, #0x12 - str r0, [r5] - b _02231334 + ldr r0, _02231134 ; =0x000005DC + bl PlaySE + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #0x18 + bl MOD83_0223050C + add r0, r4, #0 + add r0, #0x58 + mov r1, #0 + bl MOD83_0222FB44 + mov r0, #0x12 + str r0, [r5] + b _02231334 _02231030: - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - ldr r0, _02231134 ; =0x000005DC - bl PlaySE - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #0x17 - bl MOD83_0223050C - add r0, r4, #0 - add r0, #0x58 - mov r1, #0 - bl MOD83_0222FB44 - mov r0, #0x12 - str r0, [r5] - b _02231334 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + ldr r0, _02231134 ; =0x000005DC + bl PlaySE + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #0x17 + bl MOD83_0223050C + add r0, r4, #0 + add r0, #0x58 + mov r1, #0 + bl MOD83_0222FB44 + mov r0, #0x12 + str r0, [r5] + b _02231334 _0223105A: - ldr r0, _02231124 ; =gMain - ldr r0, [r0, #0x48] - cmp r0, #0 - bne _02231064 + ldr r0, _02231124 ; =gMain + ldr r0, [r0, #0x48] + cmp r0, #0 + bne _02231064 _02231062: - b _02231334 + b _02231334 _02231064: - ldr r0, _02231134 ; =0x000005DC - bl PlaySE - add r0, r6, #0 - mov r1, #0xc4 - mov r2, #0 - bl MOD83_02230464 - mov r0, #3 - str r0, [r5] - b _02231334 + ldr r0, _02231134 ; =0x000005DC + bl PlaySE + add r0, r6, #0 + mov r1, #0xc4 + mov r2, #0 + bl MOD83_02230464 + mov r0, #3 + str r0, [r5] + b _02231334 _0223107A: - add r0, r4, #0 - add r0, #0x84 - ldr r0, [r0] - cmp r0, #0x1b - beq _02231090 - add r0, r4, #0 - mov r1, #0xea - add r0, #0x8c - lsl r1, r1, #2 - bl MOD83_02238728 + add r0, r4, #0 + add r0, #0x84 + ldr r0, [r0] + cmp r0, #0x1b + beq _02231090 + add r0, r4, #0 + mov r1, #0xea + add r0, #0x8c + lsl r1, r1, #2 + bl MOD83_02238728 _02231090: - add r1, r4, #0 - ldr r0, [r4, #4] - add r1, #0x8c - bl MOD83_022332B4 - add r1, r4, #0 - add r1, #0x80 - str r0, [r1] - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0] - cmp r0, #1 - bne _022310B8 - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r0, #0x30 - str r0, [r5] - b _02231334 + add r1, r4, #0 + ldr r0, [r4, #4] + add r1, #0x8c + bl MOD83_022332B4 + add r1, r4, #0 + add r1, #0x80 + str r0, [r1] + add r0, r4, #0 + add r0, #0x80 + ldr r0, [r0] + cmp r0, #1 + bne _022310B8 + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r0, #0x30 + str r0, [r5] + b _02231334 _022310B8: - add r0, r4, #0 - add r0, #0x58 - bl WindowIsInUse - cmp r0, #0 - bne _022310E6 - mov r0, #2 - str r0, [sp] - mov r0, #0x1a - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r2, #0 - mov r0, #0x71 - add r1, r4, #0 - str r2, [sp, #0xc] - lsl r0, r0, #2 - str r0, [sp, #0x10] - ldr r0, [r4] - add r1, #0x58 - mov r3, #3 - bl AddWindowParameterized + add r0, r4, #0 + add r0, #0x58 + bl WindowIsInUse + cmp r0, #0 + bne _022310E6 + mov r0, #2 + str r0, [sp] + mov r0, #0x1a + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r2, #0 + mov r0, #0x71 + add r1, r4, #0 + str r2, [sp, #0xc] + lsl r0, r0, #2 + str r0, [sp, #0x10] + ldr r0, [r4] + add r1, #0x58 + mov r3, #3 + bl AddWindowParameterized _022310E6: - add r1, r4, #0 - add r2, r4, #0 - add r0, r6, #0 - add r1, #0x58 - add r2, #0x8c - bl MOD83_022305A4 - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #4 - bl MOD83_0223050C - add r0, r6, #0 - mov r1, #0 - bl MOD83_0222FD84 - mov r0, #0x14 - str r0, [r5] - b _02231334 + add r1, r4, #0 + add r2, r4, #0 + add r0, r6, #0 + add r1, #0x58 + add r2, #0x8c + bl MOD83_022305A4 + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #4 + bl MOD83_0223050C + add r0, r6, #0 + mov r1, #0 + bl MOD83_0222FD84 + mov r0, #0x14 + str r0, [r5] + b _02231334 _0223110E: - ldr r2, _02231138 ; =MOD83_0222FFD8 - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02230604 - b _02231334 + ldr r2, _02231138 ; =MOD83_0222FFD8 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02230604 + b _02231334 _0223111A: - mov r0, #0x16 - str r0, [r5] - b _02231334 - .align 2, 0 + mov r0, #0x16 + str r0, [r5] + b _02231334 + .align 2, 0 _02231120: .word 0x00000434 _02231124: .word gMain _02231128: .word 0x00002990 @@ -7398,1804 +7398,1804 @@ _02231130: .word 0x00000624 _02231134: .word 0x000005DC _02231138: .word MOD83_0222FFD8 _0223113C: - add r0, r6, #0 - bl MOD83_0222FC40 - add r1, r0, #0 - ldr r0, [r4] - bl MOD83_022391EC - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #7 - bl MOD83_0223050C - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FB0C - add r0, r4, #0 - mov r1, #1 - bl MOD83_0222FA0C - ldr r0, _0223134C ; =0x0000043C - mov r1, #0x3c - str r1, [r4, r0] - mov r0, #0x17 - str r0, [r5] - b _02231334 + add r0, r6, #0 + bl MOD83_0222FC40 + add r1, r0, #0 + ldr r0, [r4] + bl MOD83_022391EC + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #7 + bl MOD83_0223050C + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FB0C + add r0, r4, #0 + mov r1, #1 + bl MOD83_0222FA0C + ldr r0, _0223134C ; =0x0000043C + mov r1, #0x3c + str r1, [r4, r0] + mov r0, #0x17 + str r0, [r5] + b _02231334 _02231172: - ldr r0, _0223134C ; =0x0000043C - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _02231212 - add r0, r6, #0 - bl MOD83_0222FCE4 - mov r0, #0x18 - str r0, [r5] - b _02231334 + ldr r0, _0223134C ; =0x0000043C + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _02231212 + add r0, r6, #0 + bl MOD83_0222FCE4 + mov r0, #0x18 + str r0, [r5] + b _02231334 _0223118C: - bl MOD83_02239574 - cmp r0, #4 - bne _02231198 - bl MOD83_02239544 + bl MOD83_02239574 + cmp r0, #4 + bne _02231198 + bl MOD83_02239544 _02231198: - bl MOD83_02239574 - cmp r0, #2 - bne _022311D0 - ldr r0, _0223134C ; =0x0000043C - mov r1, #1 - str r1, [r4, r0] - add r0, r4, #0 - mov r1, #0 - bl MOD83_0222FA0C - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl MOD83_0222FB0C - ldr r0, _02231350 ; =0x00000624 - bl PlaySE - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r2, #8 - mov r3, #0x19 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + bl MOD83_02239574 + cmp r0, #2 + bne _022311D0 + ldr r0, _0223134C ; =0x0000043C + mov r1, #1 + str r1, [r4, r0] + add r0, r4, #0 + mov r1, #0 + bl MOD83_0222FA0C + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl MOD83_0222FB0C + ldr r0, _02231350 ; =0x00000624 + bl PlaySE + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r2, #8 + mov r3, #0x19 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _022311D0: - bl MOD83_02239574 - cmp r0, #3 - bne _02231212 - mov r1, #0 - add r0, r4, #0 - mvn r1, r1 - bl MOD83_0222FB0C - add r0, r4, #0 - add r0, #0xda - ldrb r1, [r0] - mov r0, #4 - mov r2, #0x1a - bic r1, r0 - add r0, r4, #0 - add r0, #0xda - strb r1, [r0] - add r1, r4, #0 - add r0, r6, #0 - add r1, #0x18 - mov r3, #0x36 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + bl MOD83_02239574 + cmp r0, #3 + bne _02231212 + mov r1, #0 + add r0, r4, #0 + mvn r1, r1 + bl MOD83_0222FB0C + add r0, r4, #0 + add r0, #0xda + ldrb r1, [r0] + mov r0, #4 + mov r2, #0x1a + bic r1, r0 + add r0, r4, #0 + add r0, #0xda + strb r1, [r0] + add r1, r4, #0 + add r0, r6, #0 + add r1, #0x18 + mov r3, #0x36 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _02231204: - ldr r0, _0223134C ; =0x0000043C - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r1, [r4, r0] - cmp r1, #0 - beq _02231214 + ldr r0, _0223134C ; =0x0000043C + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r1, [r4, r0] + cmp r1, #0 + beq _02231214 _02231212: - b _02231334 + b _02231334 _02231214: - mov r1, #1 - lsl r1, r1, #0x10 - str r1, [r4, r0] - mov r0, #0x36 - str r0, [r5] - b _02231334 + mov r1, #1 + lsl r1, r1, #0x10 + str r1, [r4, r0] + mov r0, #0x36 + str r0, [r5] + b _02231334 _02231220: - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0] - cmp r0, #5 - beq _02231230 - add r0, r4, #0 - bl MOD83_02230924 + add r0, r4, #0 + add r0, #0x80 + ldr r0, [r0] + cmp r0, #5 + beq _02231230 + add r0, r4, #0 + bl MOD83_02230924 _02231230: - add r0, r6, #0 - bl MOD83_0223084C - str r0, [r5] - add r0, r4, #0 - add r0, #0x48 - mov r1, #0 - bl MOD83_0222FB44 - b _02231334 + add r0, r6, #0 + bl MOD83_0223084C + str r0, [r5] + add r0, r4, #0 + add r0, #0x48 + mov r1, #0 + bl MOD83_0222FB44 + b _02231334 _02231244: - mov r1, #0 - add r0, r6, #0 - add r2, r1, #0 - bl MOD83_0223089C - str r0, [r5] - b _02231334 + mov r1, #0 + add r0, r6, #0 + add r2, r1, #0 + bl MOD83_0223089C + str r0, [r5] + b _02231334 _02231252: - ldr r0, _02231354 ; =gMain - ldr r0, [r0, #0x48] - cmp r0, #0 - beq _02231334 - add r0, r4, #0 - add r0, #0x58 - mov r1, #0 - bl MOD83_0222FB44 - add r0, r6, #0 - bl MOD83_022300F8 - str r0, [r5] - b _02231334 + ldr r0, _02231354 ; =gMain + ldr r0, [r0, #0x48] + cmp r0, #0 + beq _02231334 + add r0, r4, #0 + add r0, #0x58 + mov r1, #0 + bl MOD83_0222FB44 + add r0, r6, #0 + bl MOD83_022300F8 + str r0, [r5] + b _02231334 _0223126E: - add r0, r6, #0 - mov r1, #1 - bl MOD83_0222FD84 - mov r0, #8 - str r0, [r5] - add r0, r4, #0 - mov r1, #0 - add r0, #0x80 - str r1, [r0] - b _02231334 + add r0, r6, #0 + mov r1, #1 + bl MOD83_0222FD84 + mov r0, #8 + str r0, [r5] + add r0, r4, #0 + mov r1, #0 + add r0, #0x80 + str r1, [r0] + b _02231334 _02231284: - add r0, r6, #0 - bl MOD83_0222FA4C - mov r0, #0x11 - mov r1, #0 - lsl r0, r0, #6 - str r1, [r4, r0] - add sp, #0x14 - mov r0, #1 - pop {r4, r5, r6, r7, pc} + add r0, r6, #0 + bl MOD83_0222FA4C + mov r0, #0x11 + mov r1, #0 + lsl r0, r0, #6 + str r1, [r4, r0] + add sp, #0x14 + mov r0, #1 + pop {r4, r5, r6, r7, pc} _02231298: - add r0, r6, #0 - bl MOD83_0222FA4C - mov r1, #0x11 - mov r0, #1 - lsl r1, r1, #6 - add sp, #0x14 - str r0, [r4, r1] - pop {r4, r5, r6, r7, pc} + add r0, r6, #0 + bl MOD83_0222FA4C + mov r1, #0x11 + mov r0, #1 + lsl r1, r1, #6 + add sp, #0x14 + str r0, [r4, r1] + pop {r4, r5, r6, r7, pc} _022312AA: - ldr r0, _02231354 ; =gMain - ldr r0, [r0, #0x48] - cmp r0, #0 - beq _02231334 - ldr r0, _02231358 ; =0x000005DC - bl PlaySE - add r0, r4, #0 - add r0, #0xda - ldrb r0, [r0] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - cmp r0, #1 - bne _022312D6 - ldr r2, _0223135C ; =0x000015D8 - mov r0, #0 - ldr r2, [r4, r2] - mov r1, #0x37 - mov r3, #2 - bl MOD83_0223886C - b _02231334 + ldr r0, _02231354 ; =gMain + ldr r0, [r0, #0x48] + cmp r0, #0 + beq _02231334 + ldr r0, _02231358 ; =0x000005DC + bl PlaySE + add r0, r4, #0 + add r0, #0xda + ldrb r0, [r0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + cmp r0, #1 + bne _022312D6 + ldr r2, _0223135C ; =0x000015D8 + mov r0, #0 + ldr r2, [r4, r2] + mov r1, #0x37 + mov r3, #2 + bl MOD83_0223886C + b _02231334 _022312D6: - mov r0, #1 - bl MOD83_02238860 - ldr r2, _0223135C ; =0x000015D8 - mov r0, #0 - ldr r2, [r4, r2] - mov r1, #0x38 - mov r3, #2 - bl MOD83_0223886C - b _02231334 + mov r0, #1 + bl MOD83_02238860 + ldr r2, _0223135C ; =0x000015D8 + mov r0, #0 + ldr r2, [r4, r2] + mov r1, #0x38 + mov r3, #2 + bl MOD83_0223886C + b _02231334 _022312EC: - ldr r0, [r4] - bl MOD83_022302B4 - mov r0, #1 - mov r1, #0 - bl GX_EngineBToggleLayers - mov r0, #2 - mov r1, #1 - bl GX_EngineBToggleLayers - add r1, r4, #0 - ldr r0, [r4] - add r1, #0xdc - mov r2, #0x56 - bl MOD83_02233168 - ldr r2, _0223135C ; =0x000015D8 - mov r0, #1 - ldr r2, [r4, r2] - mov r1, #0x36 - mov r3, #2 - bl MOD83_0223886C - add r0, r4, #0 - add r0, #0xda - ldrb r1, [r0] - mov r0, #4 - bic r1, r0 - add r0, r4, #0 - add r0, #0xda - strb r1, [r0] - b _02231334 + ldr r0, [r4] + bl MOD83_022302B4 + mov r0, #1 + mov r1, #0 + bl GX_EngineBToggleLayers + mov r0, #2 + mov r1, #1 + bl GX_EngineBToggleLayers + add r1, r4, #0 + ldr r0, [r4] + add r1, #0xdc + mov r2, #0x56 + bl MOD83_02233168 + ldr r2, _0223135C ; =0x000015D8 + mov r0, #1 + ldr r2, [r4, r2] + mov r1, #0x36 + mov r3, #2 + bl MOD83_0223886C + add r0, r4, #0 + add r0, #0xda + ldrb r1, [r0] + mov r0, #4 + bic r1, r0 + add r0, r4, #0 + add r0, #0xda + strb r1, [r0] + b _02231334 _0223132E: - mov r0, #0 - bl OS_ResetSystem + mov r0, #0 + bl OS_ResetSystem _02231334: - ldr r0, _02231360 ; =0x0000298C - ldr r1, [r4, r0] - cmp r1, #0 - beq _02231340 - add r0, r4, #0 - blx r1 + ldr r0, _02231360 ; =0x0000298C + ldr r1, [r4, r0] + cmp r1, #0 + beq _02231340 + add r0, r4, #0 + blx r1 _02231340: - bl MOD83_02238D58 - mov r0, #0 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - nop + bl MOD83_02238D58 + mov r0, #0 + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + nop _0223134C: .word 0x0000043C _02231350: .word 0x00000624 _02231354: .word gMain _02231358: .word 0x000005DC _0223135C: .word 0x000015D8 _02231360: .word 0x0000298C - thumb_func_end MOD83_02230A10 + thumb_func_end MOD83_02230A10 - thumb_func_start MOD83_02231364 + thumb_func_start MOD83_02231364 MOD83_02231364: ; 0x02231364 - ldr r0, _0223136C ; =MOD83_0223B888 - ldr r0, [r0, #4] - bx lr - nop + ldr r0, _0223136C ; =MOD83_0223B888 + ldr r0, [r0, #4] + bx lr + nop _0223136C: .word MOD83_0223B888 - thumb_func_end MOD83_02231364 + thumb_func_end MOD83_02231364 - thumb_func_start MOD83_02231370 + thumb_func_start MOD83_02231370 MOD83_02231370: ; 0x02231370 - ldr r1, _02231378 ; =MOD83_0223B888 - str r0, [r1, #4] - bx lr - nop + ldr r1, _02231378 ; =MOD83_0223B888 + str r0, [r1, #4] + bx lr + nop _02231378: .word MOD83_0223B888 - thumb_func_end MOD83_02231370 + thumb_func_end MOD83_02231370 - thumb_func_start MOD83_0223137C + thumb_func_start MOD83_0223137C MOD83_0223137C: ; 0x0223137C - push {r3, r4, r5, lr} - add r5, r0, #0 - bl OverlayManager_GetData - add r4, r0, #0 - mov r0, #0x11 - lsl r0, r0, #6 - ldr r0, [r4, r0] - cmp r0, #0 - bne _0223139A - ldr r0, _022313D0 ; =SDK_OVERLAY_MODULE_63_ID - ldr r1, _022313D4 ; =MOD63_021DBAB8 - bl RegisterMainOverlay - b _022313A6 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl OverlayManager_GetData + add r4, r0, #0 + mov r0, #0x11 + lsl r0, r0, #6 + ldr r0, [r4, r0] + cmp r0, #0 + bne _0223139A + ldr r0, _022313D0 ; =SDK_OVERLAY_MODULE_63_ID + ldr r1, _022313D4 ; =MOD63_021DBAB8 + bl RegisterMainOverlay + b _022313A6 _0223139A: - cmp r0, #1 - bne _022313A6 - ldr r0, _022313D8 ; =SDK_OVERLAY_MODULE_83_ID - ldr r1, _022313DC ; =MOD83_0223A444 - bl RegisterMainOverlay + cmp r0, #1 + bne _022313A6 + ldr r0, _022313D8 ; =SDK_OVERLAY_MODULE_83_ID + ldr r1, _022313DC ; =MOD83_0223A444 + bl RegisterMainOverlay _022313A6: - mov r0, #0x5b - bl DestroyHeap - add r0, r5, #0 - bl OverlayManager_FreeData - mov r0, #0x56 - bl DestroyHeap - ldr r0, _022313E0 ; =0x000015D4 - ldr r0, [r4, r0] - cmp r0, #2 - bne _022313C6 - mov r0, #0 - bl FUN_02016438 + mov r0, #0x5b + bl DestroyHeap + add r0, r5, #0 + bl OverlayManager_FreeData + mov r0, #0x56 + bl DestroyHeap + ldr r0, _022313E0 ; =0x000015D4 + ldr r0, [r4, r0] + cmp r0, #2 + bne _022313C6 + mov r0, #0 + bl FUN_02016438 _022313C6: - mov r0, #0 - bl MOD83_02239450 - mov r0, #1 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0 + bl MOD83_02239450 + mov r0, #1 + pop {r3, r4, r5, pc} + .align 2, 0 _022313D0: .word SDK_OVERLAY_MODULE_63_ID _022313D4: .word MOD63_021DBAB8 _022313D8: .word SDK_OVERLAY_MODULE_83_ID _022313DC: .word MOD83_0223A444 _022313E0: .word 0x000015D4 - thumb_func_end MOD83_0223137C + thumb_func_end MOD83_0223137C - thumb_func_start MOD83_022313E4 + thumb_func_start MOD83_022313E4 MOD83_022313E4: ; 0x022313E4 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02231438 ; =0x000005C8 - ldr r0, [r4, r0] - cmp r0, #0x1c - beq _022313FA - cmp r0, #0x1d - beq _02231436 - cmp r0, #0x1e - beq _0223140E - pop {r4, pc} + push {r4, lr} + add r4, r0, #0 + ldr r0, _02231438 ; =0x000005C8 + ldr r0, [r4, r0] + cmp r0, #0x1c + beq _022313FA + cmp r0, #0x1d + beq _02231436 + cmp r0, #0x1e + beq _0223140E + pop {r4, pc} _022313FA: - ldr r0, [r4, #4] - bl FUN_02032D44 - ldr r0, _0223143C ; =0x000005CC - mov r1, #0x78 - str r1, [r4, r0] - mov r1, #0x1e - sub r0, r0, #4 - str r1, [r4, r0] - pop {r4, pc} + ldr r0, [r4, #4] + bl FUN_02032D44 + ldr r0, _0223143C ; =0x000005CC + mov r1, #0x78 + str r1, [r4, r0] + mov r1, #0x1e + sub r0, r0, #4 + str r1, [r4, r0] + pop {r4, pc} _0223140E: - bl FUN_02032D9C - mov r1, #1 - tst r0, r1 - beq _0223141E - mov r0, #0x5d - lsl r0, r0, #4 - str r1, [r4, r0] + bl FUN_02032D9C + mov r1, #1 + tst r0, r1 + beq _0223141E + mov r0, #0x5d + lsl r0, r0, #4 + str r1, [r4, r0] _0223141E: - ldr r0, _0223143C ; =0x000005CC - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _02231436 - bl FUN_02032D80 - ldr r0, _02231438 ; =0x000005C8 - mov r1, #0x1d - str r1, [r4, r0] + ldr r0, _0223143C ; =0x000005CC + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _02231436 + bl FUN_02032D80 + ldr r0, _02231438 ; =0x000005C8 + mov r1, #0x1d + str r1, [r4, r0] _02231436: - pop {r4, pc} - .align 2, 0 + pop {r4, pc} + .align 2, 0 _02231438: .word 0x000005C8 _0223143C: .word 0x000005CC - thumb_func_end MOD83_022313E4 + thumb_func_end MOD83_022313E4 - thumb_func_start MOD83_02231440 + thumb_func_start MOD83_02231440 MOD83_02231440: ; 0x02231440 - cmp r0, #4 - bhi _0223148C - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + cmp r0, #4 + bhi _0223148C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02231450: ; jump table - .short _0223145A - _02231450 - 2 ; case 0 - .short _02231462 - _02231450 - 2 ; case 1 - .short _0223146A - _02231450 - 2 ; case 2 - .short _02231472 - _02231450 - 2 ; case 3 - .short _02231486 - _02231450 - 2 ; case 4 + .short _0223145A - _02231450 - 2 ; case 0 + .short _02231462 - _02231450 - 2 ; case 1 + .short _0223146A - _02231450 - 2 ; case 2 + .short _02231472 - _02231450 - 2 ; case 3 + .short _02231486 - _02231450 - 2 ; case 4 _0223145A: - ldr r0, _02231490 ; =MOD83_0223B888 - mov r1, #0x27 - str r1, [r0, #0x10] - bx lr + ldr r0, _02231490 ; =MOD83_0223B888 + mov r1, #0x27 + str r1, [r0, #0x10] + bx lr _02231462: - ldr r0, _02231490 ; =MOD83_0223B888 - mov r1, #0x28 - str r1, [r0, #0x10] - bx lr + ldr r0, _02231490 ; =MOD83_0223B888 + mov r1, #0x28 + str r1, [r0, #0x10] + bx lr _0223146A: - ldr r0, _02231490 ; =MOD83_0223B888 - mov r1, #0x29 - str r1, [r0, #0x10] - bx lr + ldr r0, _02231490 ; =MOD83_0223B888 + mov r1, #0x29 + str r1, [r0, #0x10] + bx lr _02231472: - ldr r0, _02231490 ; =MOD83_0223B888 - ldr r1, [r0, #0x10] - cmp r1, #0x29 - bne _02231480 - mov r1, #0x2b - str r1, [r0, #0x10] - bx lr + ldr r0, _02231490 ; =MOD83_0223B888 + ldr r1, [r0, #0x10] + cmp r1, #0x29 + bne _02231480 + mov r1, #0x2b + str r1, [r0, #0x10] + bx lr _02231480: - mov r1, #0x2e - str r1, [r0, #0x10] - bx lr + mov r1, #0x2e + str r1, [r0, #0x10] + bx lr _02231486: - ldr r0, _02231490 ; =MOD83_0223B888 - mov r1, #0x2f - str r1, [r0, #0x10] + ldr r0, _02231490 ; =MOD83_0223B888 + mov r1, #0x2f + str r1, [r0, #0x10] _0223148C: - bx lr - nop + bx lr + nop _02231490: .word MOD83_0223B888 - thumb_func_end MOD83_02231440 + thumb_func_end MOD83_02231440 - thumb_func_start MOD83_02231494 + thumb_func_start MOD83_02231494 MOD83_02231494: ; 0x02231494 - push {r3, lr} - bl FUN_0202E4F0 - ldr r0, _022314B0 ; =MOD83_0223B888 - ldr r0, [r0, #8] - bl FreeToHeap - bl FUN_02033ED0 - ldr r0, _022314B0 ; =MOD83_0223B888 - mov r1, #0 - str r1, [r0, #8] - pop {r3, pc} - nop + push {r3, lr} + bl FUN_0202E4F0 + ldr r0, _022314B0 ; =MOD83_0223B888 + ldr r0, [r0, #8] + bl FreeToHeap + bl FUN_02033ED0 + ldr r0, _022314B0 ; =MOD83_0223B888 + mov r1, #0 + str r1, [r0, #8] + pop {r3, pc} + nop _022314B0: .word MOD83_0223B888 - thumb_func_end MOD83_02231494 + thumb_func_end MOD83_02231494 - thumb_func_start MOD83_022314B4 + thumb_func_start MOD83_022314B4 MOD83_022314B4: ; 0x022314B4 - push {r4, lr} - add r4, r0, #0 - ldr r0, _022315C0 ; =MOD83_0223B888 - ldr r0, [r0, #0x10] - cmp r0, #0x2b - bne _022314DA - bl MOD83_02231494 - bl MOD83_02239CEC - cmp r0, #0 - beq _022314D4 - ldr r0, _022315C0 ; =MOD83_0223B888 - mov r1, #0x2c - str r1, [r0, #0x10] - b _022314DA + push {r4, lr} + add r4, r0, #0 + ldr r0, _022315C0 ; =MOD83_0223B888 + ldr r0, [r0, #0x10] + cmp r0, #0x2b + bne _022314DA + bl MOD83_02231494 + bl MOD83_02239CEC + cmp r0, #0 + beq _022314D4 + ldr r0, _022315C0 ; =MOD83_0223B888 + mov r1, #0x2c + str r1, [r0, #0x10] + b _022314DA _022314D4: - ldr r0, _022315C0 ; =MOD83_0223B888 - mov r1, #0x2d - str r1, [r0, #0x10] + ldr r0, _022315C0 ; =MOD83_0223B888 + mov r1, #0x2d + str r1, [r0, #0x10] _022314DA: - ldr r0, _022315C0 ; =MOD83_0223B888 - ldr r0, [r0, #0x10] - cmp r0, #0x24 - beq _022314F6 - cmp r0, #0x25 - beq _022314F6 - cmp r0, #0x26 - beq _022314F6 - cmp r0, #0x27 - beq _022314F6 - cmp r0, #0x28 - beq _022314F6 - cmp r0, #0x2a - bne _02231502 + ldr r0, _022315C0 ; =MOD83_0223B888 + ldr r0, [r0, #0x10] + cmp r0, #0x24 + beq _022314F6 + cmp r0, #0x25 + beq _022314F6 + cmp r0, #0x26 + beq _022314F6 + cmp r0, #0x27 + beq _022314F6 + cmp r0, #0x28 + beq _022314F6 + cmp r0, #0x2a + bne _02231502 _022314F6: - bl WM_GetLinkLevel - mov r1, #3 - sub r0, r1, r0 - bl FUN_02033EEC + bl WM_GetLinkLevel + mov r1, #3 + sub r0, r1, r0 + bl FUN_02033EEC _02231502: - ldr r1, _022315C0 ; =MOD83_0223B888 - ldr r0, [r1, #0x10] - sub r0, #0x24 - cmp r0, #0xb - bhi _0223157C - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + ldr r1, _022315C0 ; =MOD83_0223B888 + ldr r0, [r1, #0x10] + sub r0, #0x24 + cmp r0, #0xb + bhi _0223157C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02231518: ; jump table - .short _02231530 - _02231518 - 2 ; case 0 - .short _0223153C - _02231518 - 2 ; case 1 - .short _0223157C - _02231518 - 2 ; case 2 - .short _0223157C - _02231518 - 2 ; case 3 - .short _02231572 - _02231518 - 2 ; case 4 - .short _0223157C - _02231518 - 2 ; case 5 - .short _0223157C - _02231518 - 2 ; case 6 - .short _0223157C - _02231518 - 2 ; case 7 - .short _0223157C - _02231518 - 2 ; case 8 - .short _0223157C - _02231518 - 2 ; case 9 - .short _0223157A - _02231518 - 2 ; case 10 - .short _0223157C - _02231518 - 2 ; case 11 + .short _02231530 - _02231518 - 2 ; case 0 + .short _0223153C - _02231518 - 2 ; case 1 + .short _0223157C - _02231518 - 2 ; case 2 + .short _0223157C - _02231518 - 2 ; case 3 + .short _02231572 - _02231518 - 2 ; case 4 + .short _0223157C - _02231518 - 2 ; case 5 + .short _0223157C - _02231518 - 2 ; case 6 + .short _0223157C - _02231518 - 2 ; case 7 + .short _0223157C - _02231518 - 2 ; case 8 + .short _0223157C - _02231518 - 2 ; case 9 + .short _0223157A - _02231518 - 2 ; case 10 + .short _0223157C - _02231518 - 2 ; case 11 _02231530: - bl FUN_0202E49C - ldr r0, _022315C0 ; =MOD83_0223B888 - mov r1, #0x25 - str r1, [r0, #0x10] - b _0223157C + bl FUN_0202E49C + ldr r0, _022315C0 ; =MOD83_0223B888 + mov r1, #0x25 + str r1, [r0, #0x10] + b _0223157C _0223153C: - bl FUN_0202E4C8 - cmp r0, #1 - bne _0223157C - ldr r0, _022315C0 ; =MOD83_0223B888 - mov r1, #0 - str r1, [r0] - bl MOD83_02239D98 - add r1, r0, #0 - mov r0, #0x56 - bl AllocFromHeap - add r2, r0, #0 - ldr r0, _022315C0 ; =MOD83_0223B888 - ldr r1, _022315C4 ; =MOD83_02231440 - str r2, [r0, #8] - ldr r0, _022315C8 ; =0x000005D4 - add r0, r4, r0 - bl MOD83_02239A98 - ldr r0, _022315C0 ; =MOD83_0223B888 - mov r1, #0x26 - str r1, [r0, #0x10] - bl FUN_02033E74 - b _0223157C + bl FUN_0202E4C8 + cmp r0, #1 + bne _0223157C + ldr r0, _022315C0 ; =MOD83_0223B888 + mov r1, #0 + str r1, [r0] + bl MOD83_02239D98 + add r1, r0, #0 + mov r0, #0x56 + bl AllocFromHeap + add r2, r0, #0 + ldr r0, _022315C0 ; =MOD83_0223B888 + ldr r1, _022315C4 ; =MOD83_02231440 + str r2, [r0, #8] + ldr r0, _022315C8 ; =0x000005D4 + add r0, r4, r0 + bl MOD83_02239A98 + ldr r0, _022315C0 ; =MOD83_0223B888 + mov r1, #0x26 + str r1, [r0, #0x10] + bl FUN_02033E74 + b _0223157C _02231572: - ldr r0, [r1] - add r0, r0, #1 - str r0, [r1] - b _0223157C + ldr r0, [r1] + add r0, r0, #1 + str r0, [r1] + b _0223157C _0223157A: - pop {r4, pc} + pop {r4, pc} _0223157C: - ldr r0, _022315CC ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - beq _022315BC - ldr r0, _022315C0 ; =MOD83_0223B888 - ldr r0, [r0, #0x10] - sub r0, #0x27 - cmp r0, #8 - bhi _022315BC - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + ldr r0, _022315CC ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + beq _022315BC + ldr r0, _022315C0 ; =MOD83_0223B888 + ldr r0, [r0, #0x10] + sub r0, #0x27 + cmp r0, #8 + bhi _022315BC + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0223159C: ; jump table - .short _022315AE - _0223159C - 2 ; case 0 - .short _022315AE - _0223159C - 2 ; case 1 - .short _022315BC - _0223159C - 2 ; case 2 - .short _022315BC - _0223159C - 2 ; case 3 - .short _022315BC - _0223159C - 2 ; case 4 - .short _022315BC - _0223159C - 2 ; case 5 - .short _022315BC - _0223159C - 2 ; case 6 - .short _022315BC - _0223159C - 2 ; case 7 - .short _022315AE - _0223159C - 2 ; case 8 + .short _022315AE - _0223159C - 2 ; case 0 + .short _022315AE - _0223159C - 2 ; case 1 + .short _022315BC - _0223159C - 2 ; case 2 + .short _022315BC - _0223159C - 2 ; case 3 + .short _022315BC - _0223159C - 2 ; case 4 + .short _022315BC - _0223159C - 2 ; case 5 + .short _022315BC - _0223159C - 2 ; case 6 + .short _022315BC - _0223159C - 2 ; case 7 + .short _022315AE - _0223159C - 2 ; case 8 _022315AE: - bl MOD83_02239A14 - cmp r0, #0 - beq _022315BC - ldr r0, _022315C0 ; =MOD83_0223B888 - mov r1, #0x2a - str r1, [r0, #0x10] + bl MOD83_02239A14 + cmp r0, #0 + beq _022315BC + ldr r0, _022315C0 ; =MOD83_0223B888 + mov r1, #0x2a + str r1, [r0, #0x10] _022315BC: - pop {r4, pc} - nop + pop {r4, pc} + nop _022315C0: .word MOD83_0223B888 _022315C4: .word MOD83_02231440 _022315C8: .word 0x000005D4 _022315CC: .word gMain - thumb_func_end MOD83_022314B4 + thumb_func_end MOD83_022314B4 - thumb_func_start MOD83_022315D0 + thumb_func_start MOD83_022315D0 MOD83_022315D0: ; 0x022315D0 - push {r3, lr} - sub sp, #8 - bl MOD83_022315F8 - bl MOD83_02238AFC - bl MOD83_02238B4C - mov r0, #0xd - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0xf - mov r2, #0xc - mov r3, #0xe - bl MOD83_02238BC4 - add sp, #8 - pop {r3, pc} - thumb_func_end MOD83_022315D0 - - thumb_func_start MOD83_022315F8 + push {r3, lr} + sub sp, #8 + bl MOD83_022315F8 + bl MOD83_02238AFC + bl MOD83_02238B4C + mov r0, #0xd + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0xf + mov r2, #0xc + mov r3, #0xe + bl MOD83_02238BC4 + add sp, #8 + pop {r3, pc} + thumb_func_end MOD83_022315D0 + + thumb_func_start MOD83_022315F8 MOD83_022315F8: ; 0x022315F8 - push {r4, lr} - add r4, r0, #0 - ldr r0, _0223165C ; =0x00002D64 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02231608 - bl FUN_0201FFC8 + push {r4, lr} + add r4, r0, #0 + ldr r0, _0223165C ; =0x00002D64 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02231608 + bl FUN_0201FFC8 _02231608: - ldr r0, _02231660 ; =0x00002D68 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02231614 - bl FUN_0201FFC8 + ldr r0, _02231660 ; =0x00002D68 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02231614 + bl FUN_0201FFC8 _02231614: - ldr r0, _02231660 ; =0x00002D68 - mov r1, #0 - str r1, [r4, r0] - ldr r2, [r4, r0] - sub r1, r0, #4 - str r2, [r4, r1] - add r0, r0, #4 - ldr r0, [r4, r0] - cmp r0, #0 - beq _0223162C - bl FUN_0201FFC8 + ldr r0, _02231660 ; =0x00002D68 + mov r1, #0 + str r1, [r4, r0] + ldr r2, [r4, r0] + sub r1, r0, #4 + str r2, [r4, r1] + add r0, r0, #4 + ldr r0, [r4, r0] + cmp r0, #0 + beq _0223162C + bl FUN_0201FFC8 _0223162C: - ldr r0, _02231664 ; =0x00002D70 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02231638 - bl FUN_0201FFC8 + ldr r0, _02231664 ; =0x00002D70 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02231638 + bl FUN_0201FFC8 _02231638: - ldr r0, _02231668 ; =0x00002D74 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02231644 - bl FUN_0201FFC8 + ldr r0, _02231668 ; =0x00002D74 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02231644 + bl FUN_0201FFC8 _02231644: - ldr r1, _02231668 ; =0x00002D74 - mov r0, #0 - str r0, [r4, r1] - ldr r2, [r4, r1] - sub r0, r1, #4 - str r2, [r4, r0] - ldr r0, [r4, r0] - sub r1, #8 - str r0, [r4, r1] - bl MOD83_02238E48 - pop {r4, pc} - .align 2, 0 + ldr r1, _02231668 ; =0x00002D74 + mov r0, #0 + str r0, [r4, r1] + ldr r2, [r4, r1] + sub r0, r1, #4 + str r2, [r4, r0] + ldr r0, [r4, r0] + sub r1, #8 + str r0, [r4, r1] + bl MOD83_02238E48 + pop {r4, pc} + .align 2, 0 _0223165C: .word 0x00002D64 _02231660: .word 0x00002D68 _02231664: .word 0x00002D70 _02231668: .word 0x00002D74 - thumb_func_end MOD83_022315F8 + thumb_func_end MOD83_022315F8 - thumb_func_start MOD83_0223166C + thumb_func_start MOD83_0223166C MOD83_0223166C: ; 0x0223166C - push {r3, r4, lr} - sub sp, #4 - ldr r1, _022316B4 ; =0x00003CEC - add r4, r0, #0 - mov r0, #0 - str r0, [r4, r1] - mov r1, #1 - str r1, [sp] - ldr r1, _022316B8 ; =0x00002D64 - mov r2, #0x48 - ldr r1, [r4, r1] - mov r3, #0xa8 - bl MOD83_02238DBC - ldr r1, _022316B8 ; =0x00002D64 - str r0, [r4, r1] - ldr r0, [r4, r1] - mov r1, #2 - bl FUN_02020238 - mov r0, #0 - ldr r1, _022316BC ; =0x00002D68 - str r0, [sp] - ldr r1, [r4, r1] - mov r2, #0xb8 - mov r3, #0xa8 - bl MOD83_02238DBC - ldr r1, _022316BC ; =0x00002D68 - str r0, [r4, r1] - ldr r0, [r4, r1] - mov r1, #2 - bl FUN_02020238 - add sp, #4 - pop {r3, r4, pc} - .align 2, 0 + push {r3, r4, lr} + sub sp, #4 + ldr r1, _022316B4 ; =0x00003CEC + add r4, r0, #0 + mov r0, #0 + str r0, [r4, r1] + mov r1, #1 + str r1, [sp] + ldr r1, _022316B8 ; =0x00002D64 + mov r2, #0x48 + ldr r1, [r4, r1] + mov r3, #0xa8 + bl MOD83_02238DBC + ldr r1, _022316B8 ; =0x00002D64 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #2 + bl FUN_02020238 + mov r0, #0 + ldr r1, _022316BC ; =0x00002D68 + str r0, [sp] + ldr r1, [r4, r1] + mov r2, #0xb8 + mov r3, #0xa8 + bl MOD83_02238DBC + ldr r1, _022316BC ; =0x00002D68 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #2 + bl FUN_02020238 + add sp, #4 + pop {r3, r4, pc} + .align 2, 0 _022316B4: .word 0x00003CEC _022316B8: .word 0x00002D64 _022316BC: .word 0x00002D68 - thumb_func_end MOD83_0223166C + thumb_func_end MOD83_0223166C - thumb_func_start MOD83_022316C0 + thumb_func_start MOD83_022316C0 MOD83_022316C0: ; 0x022316C0 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl WindowIsInUse - cmp r0, #1 - bne _022316D6 - add r0, r5, #0 - add r1, r4, #0 - bl FUN_0200CCF8 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl WindowIsInUse + cmp r0, #1 + bne _022316D6 + add r0, r5, #0 + add r1, r4, #0 + bl FUN_0200CCF8 _022316D6: - pop {r3, r4, r5, pc} - thumb_func_end MOD83_022316C0 + pop {r3, r4, r5, pc} + thumb_func_end MOD83_022316C0 - thumb_func_start MOD83_022316D8 + thumb_func_start MOD83_022316D8 MOD83_022316D8: ; 0x022316D8 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl WindowIsInUse - cmp r0, #1 - bne _022316EE - add r0, r5, #0 - add r1, r4, #0 - bl FUN_0200D0E0 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl WindowIsInUse + cmp r0, #1 + bne _022316EE + add r0, r5, #0 + add r1, r4, #0 + bl FUN_0200D0E0 _022316EE: - pop {r3, r4, r5, pc} - thumb_func_end MOD83_022316D8 + pop {r3, r4, r5, pc} + thumb_func_end MOD83_022316D8 - thumb_func_start MOD83_022316F0 + thumb_func_start MOD83_022316F0 MOD83_022316F0: ; 0x022316F0 - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - add r5, r0, #0 - ldr r0, _02231794 ; =0x00002B6C - add r4, r1, #0 - ldr r0, [r5, r0] - add r7, r2, #0 - str r3, [sp] - cmp r0, #0 - beq _02231708 - bl ListMenuItems_dtor + push {r4, r5, r6, r7, lr} + sub sp, #0x24 + add r5, r0, #0 + ldr r0, _02231794 ; =0x00002B6C + add r4, r1, #0 + ldr r0, [r5, r0] + add r7, r2, #0 + str r3, [sp] + cmp r0, #0 + beq _02231708 + bl ListMenuItems_dtor _02231708: - ldr r0, _02231798 ; =0x00002B68 - ldr r0, [r5, r0] - cmp r0, #0 - beq _02231718 - mov r1, #0 - add r2, r1, #0 - bl DestroyListMenu + ldr r0, _02231798 ; =0x00002B68 + ldr r0, [r5, r0] + cmp r0, #0 + beq _02231718 + mov r1, #0 + add r2, r1, #0 + bl DestroyListMenu _02231718: - add r0, r7, #0 - mov r1, #0x57 - bl ListMenuItems_ctor - ldr r1, _02231794 ; =0x00002B6C - ldr r2, _0223179C ; =0x00000172 - str r0, [r5, r1] - mov r0, #0 - mov r1, #0x1a - mov r3, #0x57 - bl NewMsgDataFromNarc - ldr r1, _022317A0 ; =0x000029A4 - mov r6, #0 - str r0, [r5, r1] - cmp r7, #0 - ble _02231752 + add r0, r7, #0 + mov r1, #0x57 + bl ListMenuItems_ctor + ldr r1, _02231794 ; =0x00002B6C + ldr r2, _0223179C ; =0x00000172 + str r0, [r5, r1] + mov r0, #0 + mov r1, #0x1a + mov r3, #0x57 + bl NewMsgDataFromNarc + ldr r1, _022317A0 ; =0x000029A4 + mov r6, #0 + str r0, [r5, r1] + cmp r7, #0 + ble _02231752 _0223173A: - ldr r0, _02231794 ; =0x00002B6C - ldr r1, _022317A0 ; =0x000029A4 - ldr r0, [r5, r0] - ldr r1, [r5, r1] - ldr r2, [r4] - ldr r3, [r4, #4] - bl ListMenuItems_AppendFromMsgData - add r6, r6, #1 - add r4, #8 - cmp r6, r7 - blt _0223173A + ldr r0, _02231794 ; =0x00002B6C + ldr r1, _022317A0 ; =0x000029A4 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + ldr r2, [r4] + ldr r3, [r4, #4] + bl ListMenuItems_AppendFromMsgData + add r6, r6, #1 + add r4, #8 + cmp r6, r7 + blt _0223173A _02231752: - ldr r0, _022317A0 ; =0x000029A4 - ldr r0, [r5, r0] - bl DestroyMsgData - ldr r4, _022317A4 ; =MOD83_0223AE90 - add r3, sp, #4 - add r2, r3, #0 - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, _02231794 ; =0x00002B6C - mov r1, #0 - ldr r0, [r5, r0] - mov r3, #0x57 - str r0, [sp, #4] - add r0, sp, #4 - strh r7, [r0, #0x10] - ldr r0, [sp] - str r0, [sp, #0x10] - add r0, r2, #0 - add r2, r1, #0 - bl ListMenuInit - ldr r1, _02231798 ; =0x00002B68 - str r0, [r5, r1] - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - nop + ldr r0, _022317A0 ; =0x000029A4 + ldr r0, [r5, r0] + bl DestroyMsgData + ldr r4, _022317A4 ; =MOD83_0223AE90 + add r3, sp, #4 + add r2, r3, #0 + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, _02231794 ; =0x00002B6C + mov r1, #0 + ldr r0, [r5, r0] + mov r3, #0x57 + str r0, [sp, #4] + add r0, sp, #4 + strh r7, [r0, #0x10] + ldr r0, [sp] + str r0, [sp, #0x10] + add r0, r2, #0 + add r2, r1, #0 + bl ListMenuInit + ldr r1, _02231798 ; =0x00002B68 + str r0, [r5, r1] + add sp, #0x24 + pop {r4, r5, r6, r7, pc} + nop _02231794: .word 0x00002B6C _02231798: .word 0x00002B68 _0223179C: .word 0x00000172 _022317A0: .word 0x000029A4 _022317A4: .word MOD83_0223AE90 - thumb_func_end MOD83_022316F0 + thumb_func_end MOD83_022316F0 - thumb_func_start MOD83_022317A8 + thumb_func_start MOD83_022317A8 MOD83_022317A8: ; 0x022317A8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - ldr r2, _02231818 ; =0x00000172 - add r5, r0, #0 - add r7, r1, #0 - mov r0, #1 - mov r1, #0x1a - mov r3, #0x57 - bl NewMsgDataFromNarc - add r4, r0, #0 - mov r0, #0x57 - bl ScrStrBufs_new - add r6, r0, #0 - mov r0, #1 - mov r1, #6 - bl GetFontAttribute - add r1, r0, #0 - add r0, r5, #0 - bl FillWindowPixelBuffer - add r0, r6, #0 - add r1, r4, #0 - add r2, r7, #0 - mov r3, #0x57 - bl ReadMsgData_ExpandPlaceholders - add r7, r0, #0 - mov r3, #0 - str r3, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, _0223181C ; =0x00010200 - mov r1, #1 - str r0, [sp, #8] - add r0, r5, #0 - add r2, r7, #0 - str r3, [sp, #0xc] - bl AddTextPrinterParameterized2 - add r0, r5, #0 - bl CopyWindowToVram - add r0, r7, #0 - bl String_dtor - add r0, r4, #0 - bl DestroyMsgData - add r0, r6, #0 - bl ScrStrBufs_delete - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + ldr r2, _02231818 ; =0x00000172 + add r5, r0, #0 + add r7, r1, #0 + mov r0, #1 + mov r1, #0x1a + mov r3, #0x57 + bl NewMsgDataFromNarc + add r4, r0, #0 + mov r0, #0x57 + bl ScrStrBufs_new + add r6, r0, #0 + mov r0, #1 + mov r1, #6 + bl GetFontAttribute + add r1, r0, #0 + add r0, r5, #0 + bl FillWindowPixelBuffer + add r0, r6, #0 + add r1, r4, #0 + add r2, r7, #0 + mov r3, #0x57 + bl ReadMsgData_ExpandPlaceholders + add r7, r0, #0 + mov r3, #0 + str r3, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, _0223181C ; =0x00010200 + mov r1, #1 + str r0, [sp, #8] + add r0, r5, #0 + add r2, r7, #0 + str r3, [sp, #0xc] + bl AddTextPrinterParameterized2 + add r0, r5, #0 + bl CopyWindowToVram + add r0, r7, #0 + bl String_dtor + add r0, r4, #0 + bl DestroyMsgData + add r0, r6, #0 + bl ScrStrBufs_delete + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _02231818: .word 0x00000172 _0223181C: .word 0x00010200 - thumb_func_end MOD83_022317A8 + thumb_func_end MOD83_022317A8 - thumb_func_start MOD83_02231820 + thumb_func_start MOD83_02231820 MOD83_02231820: ; 0x02231820 - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - mov r0, #0x20 - str r0, [sp] - mov r0, #0x57 - mov r3, #0x1e - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0xb - mov r2, #0 - lsl r3, r3, #4 - bl GfGfxLoader_GXLoadPal - mov r0, #0x20 - str r0, [sp] - mov r0, #0x57 - mov r3, #6 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0x10 - mov r2, #0 - lsl r3, r3, #6 - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - mov r0, #3 - lsl r0, r0, #0xa - str r0, [sp, #4] - mov r3, #1 - str r3, [sp, #8] - mov r0, #0x57 - str r0, [sp, #0xc] - mov r0, #0x74 - mov r1, #0x11 - add r2, r4, #0 - bl GfGfxLoader_LoadCharData - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r3, #1 - str r3, [sp, #8] - mov r0, #0x57 - str r0, [sp, #0xc] - mov r0, #0x74 - mov r1, #0x12 - add r2, r4, #0 - bl GfGfxLoader_LoadScrnData - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - str r0, [sp, #4] - mov r0, #0xc - mov r2, #0 - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #1 - add r3, r2, #0 - bl BgTilemapRectChangePalette - add r0, r4, #0 - mov r1, #1 - bl BgCommitTilemapBufferToVram - add sp, #0x10 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02231820 - - thumb_func_start MOD83_022318B0 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + mov r0, #0x20 + str r0, [sp] + mov r0, #0x57 + mov r3, #0x1e + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0xb + mov r2, #0 + lsl r3, r3, #4 + bl GfGfxLoader_GXLoadPal + mov r0, #0x20 + str r0, [sp] + mov r0, #0x57 + mov r3, #6 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0x10 + mov r2, #0 + lsl r3, r3, #6 + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + mov r0, #3 + lsl r0, r0, #0xa + str r0, [sp, #4] + mov r3, #1 + str r3, [sp, #8] + mov r0, #0x57 + str r0, [sp, #0xc] + mov r0, #0x74 + mov r1, #0x11 + add r2, r4, #0 + bl GfGfxLoader_LoadCharData + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r3, #1 + str r3, [sp, #8] + mov r0, #0x57 + str r0, [sp, #0xc] + mov r0, #0x74 + mov r1, #0x12 + add r2, r4, #0 + bl GfGfxLoader_LoadScrnData + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + str r0, [sp, #4] + mov r0, #0xc + mov r2, #0 + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #1 + add r3, r2, #0 + bl BgTilemapRectChangePalette + add r0, r4, #0 + mov r1, #1 + bl BgCommitTilemapBufferToVram + add sp, #0x10 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02231820 + + thumb_func_start MOD83_022318B0 MOD83_022318B0: ; 0x022318B0 - push {r4, lr} - bl OverlayManager_GetData - add r4, r0, #0 - bl MOD83_02231A00 - ldr r0, _022318DC ; =0x00002B70 - mov r1, #0x2e - add r0, r4, r0 - bl MOD83_022317A8 - mov r3, #0xae - lsl r3, r3, #6 - add r1, r4, r3 - add r3, #0x10 - ldr r3, [r4, r3] - add r0, r4, #0 - mov r2, #0xa - bl MOD83_02231F88 - mov r0, #0xd - pop {r4, pc} - .align 2, 0 + push {r4, lr} + bl OverlayManager_GetData + add r4, r0, #0 + bl MOD83_02231A00 + ldr r0, _022318DC ; =0x00002B70 + mov r1, #0x2e + add r0, r4, r0 + bl MOD83_022317A8 + mov r3, #0xae + lsl r3, r3, #6 + add r1, r4, r3 + add r3, #0x10 + ldr r3, [r4, r3] + add r0, r4, #0 + mov r2, #0xa + bl MOD83_02231F88 + mov r0, #0xd + pop {r4, pc} + .align 2, 0 _022318DC: .word 0x00002B70 - thumb_func_end MOD83_022318B0 + thumb_func_end MOD83_022318B0 - thumb_func_start MOD83_022318E0 + thumb_func_start MOD83_022318E0 MOD83_022318E0: ; 0x022318E0 - push {r4, lr} - bl OverlayManager_GetData - add r4, r0, #0 - bl MOD83_02231A00 - mov r1, #0xad - lsl r1, r1, #6 - ldr r0, [r4, r1] - add r1, #0x20 - ldr r1, [r4, r1] - add r1, r1, #1 - bl FUN_0202AE90 - cmp r0, #1 - ldr r0, _0223192C ; =0x00002B70 - bne _0223190C - add r0, r4, r0 - mov r1, #0x3e - bl MOD83_022317A8 - b _02231914 + push {r4, lr} + bl OverlayManager_GetData + add r4, r0, #0 + bl MOD83_02231A00 + mov r1, #0xad + lsl r1, r1, #6 + ldr r0, [r4, r1] + add r1, #0x20 + ldr r1, [r4, r1] + add r1, r1, #1 + bl FUN_0202AE90 + cmp r0, #1 + ldr r0, _0223192C ; =0x00002B70 + bne _0223190C + add r0, r4, r0 + mov r1, #0x3e + bl MOD83_022317A8 + b _02231914 _0223190C: - add r0, r4, r0 - mov r1, #0x3d - bl MOD83_022317A8 + add r0, r4, r0 + mov r1, #0x3d + bl MOD83_022317A8 _02231914: - mov r3, #0xae - lsl r3, r3, #6 - add r1, r4, r3 - add r3, #0x10 - ldr r3, [r4, r3] - add r0, r4, #0 - mov r2, #9 - bl MOD83_02231F88 - mov r0, #0xc - pop {r4, pc} - nop + mov r3, #0xae + lsl r3, r3, #6 + add r1, r4, r3 + add r3, #0x10 + ldr r3, [r4, r3] + add r0, r4, #0 + mov r2, #9 + bl MOD83_02231F88 + mov r0, #0xc + pop {r4, pc} + nop _0223192C: .word 0x00002B70 - thumb_func_end MOD83_022318E0 + thumb_func_end MOD83_022318E0 - thumb_func_start MOD83_02231930 + thumb_func_start MOD83_02231930 MOD83_02231930: ; 0x02231930 - push {r4, lr} - bl OverlayManager_GetData - add r4, r0, #0 - bl MOD83_02231A00 - ldr r0, _022319C0 ; =0x00002B70 - mov r1, #0x3f - add r0, r4, r0 - bl MOD83_022317A8 - ldr r0, _022319C0 ; =0x00002B70 - mov r1, #0x13 - add r0, r4, r0 - bl FUN_0200D858 - ldr r1, _022319C4 ; =0x00003CF0 - str r0, [r4, r1] - mov r1, #0xad - lsl r1, r1, #6 - ldr r0, [r4, r1] - add r1, #0x20 - ldr r1, [r4, r1] - bl FUN_0202ADC8 - ldr r0, _022319C8 ; =0x00002B44 - ldr r0, [r4, r0] - bl FUN_02022720 - ldr r0, _022319C4 ; =0x00003CF0 - ldr r0, [r4, r0] - bl FUN_0200DBFC - mov r0, #0xad - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl FUN_0202AE70 - cmp r0, #0 - bne _02231984 - mov r0, #0x1a - pop {r4, pc} + push {r4, lr} + bl OverlayManager_GetData + add r4, r0, #0 + bl MOD83_02231A00 + ldr r0, _022319C0 ; =0x00002B70 + mov r1, #0x3f + add r0, r4, r0 + bl MOD83_022317A8 + ldr r0, _022319C0 ; =0x00002B70 + mov r1, #0x13 + add r0, r4, r0 + bl FUN_0200D858 + ldr r1, _022319C4 ; =0x00003CF0 + str r0, [r4, r1] + mov r1, #0xad + lsl r1, r1, #6 + ldr r0, [r4, r1] + add r1, #0x20 + ldr r1, [r4, r1] + bl FUN_0202ADC8 + ldr r0, _022319C8 ; =0x00002B44 + ldr r0, [r4, r0] + bl FUN_02022720 + ldr r0, _022319C4 ; =0x00003CF0 + ldr r0, [r4, r0] + bl FUN_0200DBFC + mov r0, #0xad + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl FUN_0202AE70 + cmp r0, #0 + bne _02231984 + mov r0, #0x1a + pop {r4, pc} _02231984: - ldr r1, _022319CC ; =0x00002B60 - add r0, r4, #0 - ldr r1, [r4, r1] - mov r2, #1 - bl MOD83_022320A4 - ldr r1, _022319CC ; =0x00002B60 - str r0, [r4, r1] - add r1, #0x10 - add r0, r4, r1 - mov r1, #0x24 - bl MOD83_022317A8 - mov r3, #0xae - lsl r3, r3, #6 - add r1, r4, r3 - add r3, #0x10 - ldr r3, [r4, r3] - add r0, r4, #0 - mov r2, #8 - bl MOD83_02231F88 - add r0, r4, #0 - mov r1, #1 - mov r2, #0 - bl MOD83_02231DF0 - mov r0, #5 - pop {r4, pc} - nop + ldr r1, _022319CC ; =0x00002B60 + add r0, r4, #0 + ldr r1, [r4, r1] + mov r2, #1 + bl MOD83_022320A4 + ldr r1, _022319CC ; =0x00002B60 + str r0, [r4, r1] + add r1, #0x10 + add r0, r4, r1 + mov r1, #0x24 + bl MOD83_022317A8 + mov r3, #0xae + lsl r3, r3, #6 + add r1, r4, r3 + add r3, #0x10 + ldr r3, [r4, r3] + add r0, r4, #0 + mov r2, #8 + bl MOD83_02231F88 + add r0, r4, #0 + mov r1, #1 + mov r2, #0 + bl MOD83_02231DF0 + mov r0, #5 + pop {r4, pc} + nop _022319C0: .word 0x00002B70 _022319C4: .word 0x00003CF0 _022319C8: .word 0x00002B44 _022319CC: .word 0x00002B60 - thumb_func_end MOD83_02231930 + thumb_func_end MOD83_02231930 - thumb_func_start MOD83_022319D0 + thumb_func_start MOD83_022319D0 MOD83_022319D0: ; 0x022319D0 - push {r4, lr} - bl OverlayManager_GetData - add r4, r0, #0 - bl MOD83_02231A00 - ldr r0, _022319FC ; =0x00002B70 - mov r1, #0x24 - add r0, r4, r0 - bl MOD83_022317A8 - mov r3, #0xae - lsl r3, r3, #6 - add r1, r4, r3 - add r3, #0x10 - ldr r3, [r4, r3] - add r0, r4, #0 - mov r2, #8 - bl MOD83_02231F88 - mov r0, #5 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + bl OverlayManager_GetData + add r4, r0, #0 + bl MOD83_02231A00 + ldr r0, _022319FC ; =0x00002B70 + mov r1, #0x24 + add r0, r4, r0 + bl MOD83_022317A8 + mov r3, #0xae + lsl r3, r3, #6 + add r1, r4, r3 + add r3, #0x10 + ldr r3, [r4, r3] + add r0, r4, #0 + mov r2, #8 + bl MOD83_02231F88 + mov r0, #5 + pop {r4, pc} + .align 2, 0 _022319FC: .word 0x00002B70 - thumb_func_end MOD83_022319D0 + thumb_func_end MOD83_022319D0 - thumb_func_start MOD83_02231A00 + thumb_func_start MOD83_02231A00 MOD83_02231A00: ; 0x02231A00 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02231A40 ; =0x00002B6C - ldr r0, [r4, r0] - bl ListMenuItems_dtor - mov r1, #0 - ldr r0, _02231A40 ; =0x00002B6C - add r2, r1, #0 - str r1, [r4, r0] - sub r0, r0, #4 - ldr r0, [r4, r0] - bl DestroyListMenu - ldr r0, _02231A44 ; =0x00002B68 - mov r1, #0 - str r1, [r4, r0] - add r0, #0x18 - add r0, r4, r0 - bl MOD83_022316C0 - mov r0, #0xae - lsl r0, r0, #6 - add r0, r4, r0 - bl ClearWindowTilemapAndCopyToVram - mov r0, #0xae - lsl r0, r0, #6 - add r0, r4, r0 - bl RemoveWindow - pop {r4, pc} - .align 2, 0 + push {r4, lr} + add r4, r0, #0 + ldr r0, _02231A40 ; =0x00002B6C + ldr r0, [r4, r0] + bl ListMenuItems_dtor + mov r1, #0 + ldr r0, _02231A40 ; =0x00002B6C + add r2, r1, #0 + str r1, [r4, r0] + sub r0, r0, #4 + ldr r0, [r4, r0] + bl DestroyListMenu + ldr r0, _02231A44 ; =0x00002B68 + mov r1, #0 + str r1, [r4, r0] + add r0, #0x18 + add r0, r4, r0 + bl MOD83_022316C0 + mov r0, #0xae + lsl r0, r0, #6 + add r0, r4, r0 + bl ClearWindowTilemapAndCopyToVram + mov r0, #0xae + lsl r0, r0, #6 + add r0, r4, r0 + bl RemoveWindow + pop {r4, pc} + .align 2, 0 _02231A40: .word 0x00002B6C _02231A44: .word 0x00002B68 - thumb_func_end MOD83_02231A00 + thumb_func_end MOD83_02231A00 - thumb_func_start MOD83_02231A48 + thumb_func_start MOD83_02231A48 MOD83_02231A48: ; 0x02231A48 - mov r0, #1 - bx lr - thumb_func_end MOD83_02231A48 + mov r0, #1 + bx lr + thumb_func_end MOD83_02231A48 - thumb_func_start MOD83_02231A4C + thumb_func_start MOD83_02231A4C MOD83_02231A4C: ; 0x02231A4C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r5, r0, #0 - add r7, r1, #0 - ldr r1, [r5] - mov r0, #0x25 - add r4, r2, #0 - bl String_ctor - ldr r1, _02231A9C ; =0x00002B60 - add r6, r0, #0 - ldr r2, [r5, r1] - sub r1, #0xc - lsl r2, r2, #2 - add r2, r5, r2 - ldr r2, [r2, r1] - mov r1, #0x41 - lsl r1, r1, #2 - add r1, r2, r1 - mov r2, #0x24 - bl CopyU16ArrayToStringN - mov r3, #0 - str r3, [sp] - mov r0, #0xff - str r0, [sp, #4] - str r4, [sp, #8] - add r0, r7, #0 - mov r1, #1 - add r2, r6, #0 - str r3, [sp, #0xc] - bl AddTextPrinterParameterized2 - add r0, r6, #0 - bl String_dtor - mov r0, #1 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - nop + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r5, r0, #0 + add r7, r1, #0 + ldr r1, [r5] + mov r0, #0x25 + add r4, r2, #0 + bl String_ctor + ldr r1, _02231A9C ; =0x00002B60 + add r6, r0, #0 + ldr r2, [r5, r1] + sub r1, #0xc + lsl r2, r2, #2 + add r2, r5, r2 + ldr r2, [r2, r1] + mov r1, #0x41 + lsl r1, r1, #2 + add r1, r2, r1 + mov r2, #0x24 + bl CopyU16ArrayToStringN + mov r3, #0 + str r3, [sp] + mov r0, #0xff + str r0, [sp, #4] + str r4, [sp, #8] + add r0, r7, #0 + mov r1, #1 + add r2, r6, #0 + str r3, [sp, #0xc] + bl AddTextPrinterParameterized2 + add r0, r6, #0 + bl String_dtor + mov r0, #1 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + nop _02231A9C: .word 0x00002B60 - thumb_func_end MOD83_02231A4C + thumb_func_end MOD83_02231A4C - thumb_func_start MOD83_02231AA0 + thumb_func_start MOD83_02231AA0 MOD83_02231AA0: ; 0x02231AA0 - push {r4, r5, r6, lr} - sub sp, #0x10 - add r4, r0, #0 - ldr r0, _02231B10 ; =0x00002B60 - add r6, r1, #0 - ldr r1, [r4, r0] - add r5, r2, #0 - lsl r2, r1, #2 - add r3, r4, r2 - add r2, r0, #0 - sub r2, #0xc - ldr r3, [r3, r2] - ldr r2, _02231B14 ; =0x00000152 - ldrb r2, [r3, r2] - lsl r2, r2, #0x1c - lsr r2, r2, #0x1f - bne _02231AC6 - mov r2, #0x27 - b _02231ADE + push {r4, r5, r6, lr} + sub sp, #0x10 + add r4, r0, #0 + ldr r0, _02231B10 ; =0x00002B60 + add r6, r1, #0 + ldr r1, [r4, r0] + add r5, r2, #0 + lsl r2, r1, #2 + add r3, r4, r2 + add r2, r0, #0 + sub r2, #0xc + ldr r3, [r3, r2] + ldr r2, _02231B14 ; =0x00000152 + ldrb r2, [r3, r2] + lsl r2, r2, #0x1c + lsr r2, r2, #0x1f + bne _02231AC6 + mov r2, #0x27 + b _02231ADE _02231AC6: - sub r0, #0x20 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02231AD8 - add r1, r1, #1 - bl FUN_0202AE90 - cmp r0, #1 - bne _02231ADC + sub r0, #0x20 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02231AD8 + add r1, r1, #1 + bl FUN_0202AE90 + cmp r0, #1 + bne _02231ADC _02231AD8: - mov r2, #0x25 - b _02231ADE + mov r2, #0x25 + b _02231ADE _02231ADC: - mov r2, #0x26 + mov r2, #0x26 _02231ADE: - ldr r1, _02231B18 ; =0x000029A0 - ldr r3, [r4] - ldr r0, [r4, r1] - add r1, r1, #4 - ldr r1, [r4, r1] - bl ReadMsgData_ExpandPlaceholders - add r4, r0, #0 - mov r3, #0 - str r3, [sp] - mov r0, #0xff - str r0, [sp, #4] - str r5, [sp, #8] - add r0, r6, #0 - mov r1, #1 - add r2, r4, #0 - str r3, [sp, #0xc] - bl AddTextPrinterParameterized2 - add r0, r4, #0 - bl String_dtor - mov r0, #1 - add sp, #0x10 - pop {r4, r5, r6, pc} - .align 2, 0 + ldr r1, _02231B18 ; =0x000029A0 + ldr r3, [r4] + ldr r0, [r4, r1] + add r1, r1, #4 + ldr r1, [r4, r1] + bl ReadMsgData_ExpandPlaceholders + add r4, r0, #0 + mov r3, #0 + str r3, [sp] + mov r0, #0xff + str r0, [sp, #4] + str r5, [sp, #8] + add r0, r6, #0 + mov r1, #1 + add r2, r4, #0 + str r3, [sp, #0xc] + bl AddTextPrinterParameterized2 + add r0, r4, #0 + bl String_dtor + mov r0, #1 + add sp, #0x10 + pop {r4, r5, r6, pc} + .align 2, 0 _02231B10: .word 0x00002B60 _02231B14: .word 0x00000152 _02231B18: .word 0x000029A0 - thumb_func_end MOD83_02231AA0 + thumb_func_end MOD83_02231AA0 - thumb_func_start MOD83_02231B1C + thumb_func_start MOD83_02231B1C MOD83_02231B1C: ; 0x02231B1C - push {r4, lr} - sub sp, #0x18 - ldr r1, _02231B7C ; =0x00002B60 - add r4, r0, #0 - ldr r2, [r4, r1] - sub r1, #0xc - lsl r2, r2, #2 - add r2, r4, r2 - ldr r2, [r2, r1] - mov r1, #0xd5 - lsl r1, r1, #2 - ldr r1, [r2, r1] - add r0, sp, #8 - bl RTC_ConvertDayToDate - mov r0, #2 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r0, _02231B80 ; =0x000029A0 - mov r2, #0x7d - ldr r3, [sp, #8] - lsl r2, r2, #4 - add r2, r3, r2 - ldr r0, [r4, r0] - mov r1, #0 - mov r3, #4 - bl BufferIntegerAsString - ldr r0, _02231B80 ; =0x000029A0 - ldr r2, [sp, #0xc] - ldr r0, [r4, r0] - mov r1, #1 - bl BufferMonthNameAbbr - mov r1, #2 - str r1, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r0, _02231B80 ; =0x000029A0 - ldr r2, [sp, #0x10] - ldr r0, [r4, r0] - add r3, r1, #0 - bl BufferIntegerAsString - mov r0, #1 - add sp, #0x18 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + sub sp, #0x18 + ldr r1, _02231B7C ; =0x00002B60 + add r4, r0, #0 + ldr r2, [r4, r1] + sub r1, #0xc + lsl r2, r2, #2 + add r2, r4, r2 + ldr r2, [r2, r1] + mov r1, #0xd5 + lsl r1, r1, #2 + ldr r1, [r2, r1] + add r0, sp, #8 + bl RTC_ConvertDayToDate + mov r0, #2 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r0, _02231B80 ; =0x000029A0 + mov r2, #0x7d + ldr r3, [sp, #8] + lsl r2, r2, #4 + add r2, r3, r2 + ldr r0, [r4, r0] + mov r1, #0 + mov r3, #4 + bl BufferIntegerAsString + ldr r0, _02231B80 ; =0x000029A0 + ldr r2, [sp, #0xc] + ldr r0, [r4, r0] + mov r1, #1 + bl BufferMonthNameAbbr + mov r1, #2 + str r1, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r0, _02231B80 ; =0x000029A0 + ldr r2, [sp, #0x10] + ldr r0, [r4, r0] + add r3, r1, #0 + bl BufferIntegerAsString + mov r0, #1 + add sp, #0x18 + pop {r4, pc} + .align 2, 0 _02231B7C: .word 0x00002B60 _02231B80: .word 0x000029A0 - thumb_func_end MOD83_02231B1C + thumb_func_end MOD83_02231B1C - thumb_func_start MOD83_02231B84 + thumb_func_start MOD83_02231B84 MOD83_02231B84: ; 0x02231B84 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r5, r0, #0 - add r7, r1, #0 - mov r0, #0xfb - mov r1, #0x57 - add r4, r2, #0 - bl String_ctor - ldr r1, _02231BD4 ; =0x00002B60 - add r6, r0, #0 - ldr r2, [r5, r1] - sub r1, #0xc - lsl r2, r2, #2 - add r2, r5, r2 - ldr r2, [r2, r1] - mov r1, #0x55 - lsl r1, r1, #2 - add r1, r2, r1 - mov r2, #0xfa - bl CopyU16ArrayToStringN - mov r3, #0 - str r3, [sp] - mov r0, #0xff - str r0, [sp, #4] - str r4, [sp, #8] - add r0, r7, #0 - mov r1, #1 - add r2, r6, #0 - str r3, [sp, #0xc] - bl AddTextPrinterParameterized2 - add r0, r6, #0 - bl String_dtor - mov r0, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - nop + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r5, r0, #0 + add r7, r1, #0 + mov r0, #0xfb + mov r1, #0x57 + add r4, r2, #0 + bl String_ctor + ldr r1, _02231BD4 ; =0x00002B60 + add r6, r0, #0 + ldr r2, [r5, r1] + sub r1, #0xc + lsl r2, r2, #2 + add r2, r5, r2 + ldr r2, [r2, r1] + mov r1, #0x55 + lsl r1, r1, #2 + add r1, r2, r1 + mov r2, #0xfa + bl CopyU16ArrayToStringN + mov r3, #0 + str r3, [sp] + mov r0, #0xff + str r0, [sp, #4] + str r4, [sp, #8] + add r0, r7, #0 + mov r1, #1 + add r2, r6, #0 + str r3, [sp, #0xc] + bl AddTextPrinterParameterized2 + add r0, r6, #0 + bl String_dtor + mov r0, #0 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + nop _02231BD4: .word 0x00002B60 - thumb_func_end MOD83_02231B84 + thumb_func_end MOD83_02231B84 - thumb_func_start MOD83_02231BD8 + thumb_func_start MOD83_02231BD8 MOD83_02231BD8: ; 0x02231BD8 - push {r4, r5, r6, lr} - sub sp, #0x10 - add r3, r0, #0 - ldr r0, _02231C50 ; =0x00002B60 - add r6, r1, #0 - ldr r1, [r3, r0] - sub r0, #0xc - lsl r1, r1, #2 - add r1, r3, r1 - ldr r1, [r1, r0] - mov r0, #0xd2 - lsl r0, r0, #2 - add r5, r2, #0 - ldrb r2, [r1, r0] - cmp r2, #0xff - bne _02231C2C - ldr r1, _02231C54 ; =0x000029A0 - mov r2, #0x33 - ldr r0, [r3, r1] - add r1, r1, #4 - ldr r1, [r3, r1] - mov r3, #0x57 - bl ReadMsgData_ExpandPlaceholders - add r4, r0, #0 - mov r3, #0 - str r3, [sp] - mov r0, #0xff - str r0, [sp, #4] - str r5, [sp, #8] - add r0, r6, #0 - mov r1, #1 - add r2, r4, #0 - str r3, [sp, #0xc] - bl AddTextPrinterParameterized2 - add r0, r4, #0 - bl String_dtor - add sp, #0x10 - mov r0, #0 - pop {r4, r5, r6, pc} + push {r4, r5, r6, lr} + sub sp, #0x10 + add r3, r0, #0 + ldr r0, _02231C50 ; =0x00002B60 + add r6, r1, #0 + ldr r1, [r3, r0] + sub r0, #0xc + lsl r1, r1, #2 + add r1, r3, r1 + ldr r1, [r1, r0] + mov r0, #0xd2 + lsl r0, r0, #2 + add r5, r2, #0 + ldrb r2, [r1, r0] + cmp r2, #0xff + bne _02231C2C + ldr r1, _02231C54 ; =0x000029A0 + mov r2, #0x33 + ldr r0, [r3, r1] + add r1, r1, #4 + ldr r1, [r3, r1] + mov r3, #0x57 + bl ReadMsgData_ExpandPlaceholders + add r4, r0, #0 + mov r3, #0 + str r3, [sp] + mov r0, #0xff + str r0, [sp, #4] + str r5, [sp, #8] + add r0, r6, #0 + mov r1, #1 + add r2, r4, #0 + str r3, [sp, #0xc] + bl AddTextPrinterParameterized2 + add r0, r4, #0 + bl String_dtor + add sp, #0x10 + mov r0, #0 + pop {r4, r5, r6, pc} _02231C2C: - cmp r2, #0 - beq _02231C48 - mov r1, #0 - str r1, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r0, _02231C54 ; =0x000029A0 - ldr r0, [r3, r0] - mov r3, #3 - bl BufferIntegerAsString - add sp, #0x10 - mov r0, #1 - pop {r4, r5, r6, pc} + cmp r2, #0 + beq _02231C48 + mov r1, #0 + str r1, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r0, _02231C54 ; =0x000029A0 + ldr r0, [r3, r0] + mov r3, #3 + bl BufferIntegerAsString + add sp, #0x10 + mov r0, #1 + pop {r4, r5, r6, pc} _02231C48: - mov r0, #0 - add sp, #0x10 - pop {r4, r5, r6, pc} - nop + mov r0, #0 + add sp, #0x10 + pop {r4, r5, r6, pc} + nop _02231C50: .word 0x00002B60 _02231C54: .word 0x000029A0 - thumb_func_end MOD83_02231BD8 + thumb_func_end MOD83_02231BD8 - thumb_func_start MOD83_02231C58 + thumb_func_start MOD83_02231C58 MOD83_02231C58: ; 0x02231C58 - push {r4, r5, r6, r7, lr} - sub sp, #0x34 - add r5, r0, #0 - mov r0, #0 - add r7, r1, #0 - add r1, r0, #1 - ldr r0, _02231D38 ; =MOD83_0223AE40 - ldr r2, _02231D38 ; =MOD83_0223AE40 - ldr r0, [r0, #0x30] - ldr r2, [r2, #0x34] - str r0, [sp, #0x14] - ldr r0, _02231D3C ; =0x00002B60 - str r2, [sp, #0x18] - ldr r2, [r5, r0] - sub r0, #0xc - lsl r2, r2, #2 - add r2, r5, r2 - ldr r2, [r2, r0] - mov r0, #0xd2 - lsl r0, r0, #2 - ldrb r0, [r2, r0] - add r4, r1, #0 - add r6, sp, #0x14 - cmp r0, #0 - beq _02231C9C - ldr r0, _02231D38 ; =MOD83_0223AE40 - ldr r2, _02231D38 ; =MOD83_0223AE40 - ldr r0, [r0, #0x38] - add r4, r1, #1 - lsl r1, r1, #3 - ldr r2, [r2, #0x3c] - add r3, r6, r1 - str r0, [r6, r1] - str r2, [r3, #4] + push {r4, r5, r6, r7, lr} + sub sp, #0x34 + add r5, r0, #0 + mov r0, #0 + add r7, r1, #0 + add r1, r0, #1 + ldr r0, _02231D38 ; =MOD83_0223AE40 + ldr r2, _02231D38 ; =MOD83_0223AE40 + ldr r0, [r0, #0x30] + ldr r2, [r2, #0x34] + str r0, [sp, #0x14] + ldr r0, _02231D3C ; =0x00002B60 + str r2, [sp, #0x18] + ldr r2, [r5, r0] + sub r0, #0xc + lsl r2, r2, #2 + add r2, r5, r2 + ldr r2, [r2, r0] + mov r0, #0xd2 + lsl r0, r0, #2 + ldrb r0, [r2, r0] + add r4, r1, #0 + add r6, sp, #0x14 + cmp r0, #0 + beq _02231C9C + ldr r0, _02231D38 ; =MOD83_0223AE40 + ldr r2, _02231D38 ; =MOD83_0223AE40 + ldr r0, [r0, #0x38] + add r4, r1, #1 + lsl r1, r1, #3 + ldr r2, [r2, #0x3c] + add r3, r6, r1 + str r0, [r6, r1] + str r2, [r3, #4] _02231C9C: - mov r1, #0xad - lsl r1, r1, #6 - ldr r0, [r5, r1] - add r1, #0x20 - ldr r1, [r5, r1] - add r1, r1, #1 - bl FUN_0202AE90 - cmp r0, #0 - bne _02231CC2 - ldr r2, _02231D38 ; =MOD83_0223AE40 - lsl r1, r4, #3 - ldr r0, [r2, #0x40] - add r6, sp, #0x14 - ldr r2, [r2, #0x44] - add r3, r6, r1 - str r0, [r6, r1] - add r4, r4, #1 - str r2, [r3, #4] + mov r1, #0xad + lsl r1, r1, #6 + ldr r0, [r5, r1] + add r1, #0x20 + ldr r1, [r5, r1] + add r1, r1, #1 + bl FUN_0202AE90 + cmp r0, #0 + bne _02231CC2 + ldr r2, _02231D38 ; =MOD83_0223AE40 + lsl r1, r4, #3 + ldr r0, [r2, #0x40] + add r6, sp, #0x14 + ldr r2, [r2, #0x44] + add r3, r6, r1 + str r0, [r6, r1] + add r4, r4, #1 + str r2, [r3, #4] _02231CC2: - ldr r2, _02231D38 ; =MOD83_0223AE40 - lsl r1, r4, #3 - ldr r0, [r2, #0x48] - add r6, sp, #0x14 - str r0, [r6, r1] - ldr r2, [r2, #0x4c] - add r3, r6, r1 - ldr r0, _02231D40 ; =0x00002B3C - str r2, [r3, #4] - ldr r6, [r5, r0] - add r0, r7, #0 - bl ClearWindowTilemapAndCopyToVram - add r0, r7, #0 - bl RemoveWindow - add r1, r4, #1 - mov r0, #4 - sub r0, r0, r1 - ldr r1, [r6, #8] - lsl r0, r0, #1 - add r1, r1, r0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - str r1, [sp] - ldr r1, [r6, #0xc] - mov r2, #2 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - str r1, [sp, #4] - ldr r1, [r6, #0x10] - sub r0, r1, r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #8] - mov r0, #0xf - str r0, [sp, #0xc] - ldr r0, _02231D44 ; =0x00002B38 - add r1, r7, #0 - ldr r0, [r5, r0] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x10] - ldr r0, _02231D48 ; =0x0000299C - ldr r3, [r6, #4] - ldr r0, [r5, r0] - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - bl AddWindowParameterized - add r0, r5, #0 - add r1, sp, #0x14 - add r2, r4, #1 - add r3, r7, #0 - bl MOD83_022316F0 - mov r0, #1 - add sp, #0x34 - pop {r4, r5, r6, r7, pc} - .align 2, 0 + ldr r2, _02231D38 ; =MOD83_0223AE40 + lsl r1, r4, #3 + ldr r0, [r2, #0x48] + add r6, sp, #0x14 + str r0, [r6, r1] + ldr r2, [r2, #0x4c] + add r3, r6, r1 + ldr r0, _02231D40 ; =0x00002B3C + str r2, [r3, #4] + ldr r6, [r5, r0] + add r0, r7, #0 + bl ClearWindowTilemapAndCopyToVram + add r0, r7, #0 + bl RemoveWindow + add r1, r4, #1 + mov r0, #4 + sub r0, r0, r1 + ldr r1, [r6, #8] + lsl r0, r0, #1 + add r1, r1, r0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp] + ldr r1, [r6, #0xc] + mov r2, #2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #4] + ldr r1, [r6, #0x10] + sub r0, r1, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #8] + mov r0, #0xf + str r0, [sp, #0xc] + ldr r0, _02231D44 ; =0x00002B38 + add r1, r7, #0 + ldr r0, [r5, r0] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x10] + ldr r0, _02231D48 ; =0x0000299C + ldr r3, [r6, #4] + ldr r0, [r5, r0] + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + bl AddWindowParameterized + add r0, r5, #0 + add r1, sp, #0x14 + add r2, r4, #1 + add r3, r7, #0 + bl MOD83_022316F0 + mov r0, #1 + add sp, #0x34 + pop {r4, r5, r6, r7, pc} + .align 2, 0 _02231D38: .word MOD83_0223AE40 _02231D3C: .word 0x00002B60 _02231D40: .word 0x00002B3C _02231D44: .word 0x00002B38 _02231D48: .word 0x0000299C - thumb_func_end MOD83_02231C58 + thumb_func_end MOD83_02231C58 - thumb_func_start MOD83_02231D4C + thumb_func_start MOD83_02231D4C MOD83_02231D4C: ; 0x02231D4C - push {r3, lr} - add r3, r1, #0 - ldr r1, _02231D5C ; =MOD83_0223AE40 - mov r2, #2 - bl MOD83_022316F0 - mov r0, #1 - pop {r3, pc} - .align 2, 0 + push {r3, lr} + add r3, r1, #0 + ldr r1, _02231D5C ; =MOD83_0223AE40 + mov r2, #2 + bl MOD83_022316F0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02231D5C: .word MOD83_0223AE40 - thumb_func_end MOD83_02231D4C + thumb_func_end MOD83_02231D4C - thumb_func_start MOD83_02231D60 + thumb_func_start MOD83_02231D60 MOD83_02231D60: ; 0x02231D60 - push {r3, lr} - add r3, r1, #0 - ldr r1, _02231D70 ; =MOD83_0223AE60 - mov r2, #2 - bl MOD83_022316F0 - mov r0, #1 - pop {r3, pc} - .align 2, 0 + push {r3, lr} + add r3, r1, #0 + ldr r1, _02231D70 ; =MOD83_0223AE60 + mov r2, #2 + bl MOD83_022316F0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02231D70: .word MOD83_0223AE60 - thumb_func_end MOD83_02231D60 + thumb_func_end MOD83_02231D60 - thumb_func_start MOD83_02231D74 + thumb_func_start MOD83_02231D74 MOD83_02231D74: ; 0x02231D74 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _02231D94 ; =0x00002B70 - add r4, r1, #0 - add r0, r5, r0 - mov r1, #2 - bl MOD83_022317A8 - ldr r1, _02231D98 ; =MOD83_0223AE50 - add r0, r5, #0 - mov r2, #2 - add r3, r4, #0 - bl MOD83_022316F0 - mov r0, #1 - pop {r3, r4, r5, pc} - .align 2, 0 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _02231D94 ; =0x00002B70 + add r4, r1, #0 + add r0, r5, r0 + mov r1, #2 + bl MOD83_022317A8 + ldr r1, _02231D98 ; =MOD83_0223AE50 + add r0, r5, #0 + mov r2, #2 + add r3, r4, #0 + bl MOD83_022316F0 + mov r0, #1 + pop {r3, r4, r5, pc} + .align 2, 0 _02231D94: .word 0x00002B70 _02231D98: .word MOD83_0223AE50 - thumb_func_end MOD83_02231D74 + thumb_func_end MOD83_02231D74 - thumb_func_start MOD83_02231D9C + thumb_func_start MOD83_02231D9C MOD83_02231D9C: ; 0x02231D9C - push {r3, lr} - sub sp, #8 - mov r3, #1 - str r3, [sp] - ldr r1, _02231DB8 ; =0x000029A0 - str r3, [sp, #4] - ldr r0, [r0, r1] - mov r1, #0 - add r2, r1, #0 - bl BufferIntegerAsString - mov r0, #1 - add sp, #8 - pop {r3, pc} - .align 2, 0 + push {r3, lr} + sub sp, #8 + mov r3, #1 + str r3, [sp] + ldr r1, _02231DB8 ; =0x000029A0 + str r3, [sp, #4] + ldr r0, [r0, r1] + mov r1, #0 + add r2, r1, #0 + bl BufferIntegerAsString + mov r0, #1 + add sp, #8 + pop {r3, pc} + .align 2, 0 _02231DB8: .word 0x000029A0 - thumb_func_end MOD83_02231D9C + thumb_func_end MOD83_02231D9C - thumb_func_start MOD83_02231DBC + thumb_func_start MOD83_02231DBC MOD83_02231DBC: ; 0x02231DBC - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r5, r0, #0 - mov r0, #6 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - mov r0, #0x57 - str r0, [sp, #8] - add r6, r2, #0 - mov r0, #0 - add r4, r3, #0 - add r2, r1, #0 - add r3, r0, #0 - bl FUN_0200E1D0 - cmp r4, #0 - beq _02231DE4 - mov r0, #0x1b - str r0, [r4] + push {r3, r4, r5, r6, lr} + sub sp, #0xc + add r5, r0, #0 + mov r0, #6 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + mov r0, #0x57 + str r0, [sp, #8] + add r6, r2, #0 + mov r0, #0 + add r4, r3, #0 + add r2, r1, #0 + add r3, r0, #0 + bl FUN_0200E1D0 + cmp r4, #0 + beq _02231DE4 + mov r0, #0x1b + str r0, [r4] _02231DE4: - ldr r0, _02231DEC ; =0x00002BE0 - str r6, [r5, r0] - add sp, #0xc - pop {r3, r4, r5, r6, pc} - .align 2, 0 + ldr r0, _02231DEC ; =0x00002BE0 + str r6, [r5, r0] + add sp, #0xc + pop {r3, r4, r5, r6, pc} + .align 2, 0 _02231DEC: .word 0x00002BE0 - thumb_func_end MOD83_02231DBC + thumb_func_end MOD83_02231DBC - thumb_func_start MOD83_02231DF0 + thumb_func_start MOD83_02231DF0 MOD83_02231DF0: ; 0x02231DF0 - push {r4, r5, r6, r7, lr} - sub sp, #0x34 - add r5, r0, #0 - str r2, [sp, #0x14] - ldr r2, _02231F68 ; =0x00000172 - ldr r3, [r5] - mov r0, #1 - mov r1, #0x1a - ldr r4, _02231F6C ; =MOD83_0223AEB0 - bl NewMsgDataFromNarc - ldr r1, _02231F70 ; =0x000029A4 - str r0, [r5, r1] - ldr r0, [r5] - bl ScrStrBufs_new - ldr r1, _02231F74 ; =0x000029A0 - str r0, [r5, r1] - ldr r1, _02231F78 ; =0x00002B64 - ldr r0, [sp, #0x14] - str r0, [r5, r1] - ldr r1, [sp, #0x14] - add r0, r5, #0 - bl MOD83_02232118 - mov r0, #0 - str r0, [sp, #0x2c] - ldr r0, _02231F7C ; =0x000029A8 - add r7, r4, #0 - str r5, [sp, #0x1c] - add r6, r5, r0 + push {r4, r5, r6, r7, lr} + sub sp, #0x34 + add r5, r0, #0 + str r2, [sp, #0x14] + ldr r2, _02231F68 ; =0x00000172 + ldr r3, [r5] + mov r0, #1 + mov r1, #0x1a + ldr r4, _02231F6C ; =MOD83_0223AEB0 + bl NewMsgDataFromNarc + ldr r1, _02231F70 ; =0x000029A4 + str r0, [r5, r1] + ldr r0, [r5] + bl ScrStrBufs_new + ldr r1, _02231F74 ; =0x000029A0 + str r0, [r5, r1] + ldr r1, _02231F78 ; =0x00002B64 + ldr r0, [sp, #0x14] + str r0, [r5, r1] + ldr r1, [sp, #0x14] + add r0, r5, #0 + bl MOD83_02232118 + mov r0, #0 + str r0, [sp, #0x2c] + ldr r0, _02231F7C ; =0x000029A8 + add r7, r4, #0 + str r5, [sp, #0x1c] + add r6, r5, r0 _02231E2E: - ldr r1, [r7] - ldr r0, [sp, #0x14] - cmp r0, r1 - beq _02231E50 - cmp r1, #2 - beq _02231E50 - ldr r1, [sp, #0x1c] - ldr r0, _02231F7C ; =0x000029A8 - ldr r0, [r1, r0] - cmp r0, #0 - beq _02231E50 - add r0, r6, #0 - bl ClearWindowTilemapAndCopyToVram - add r0, r6, #0 - bl RemoveWindow + ldr r1, [r7] + ldr r0, [sp, #0x14] + cmp r0, r1 + beq _02231E50 + cmp r1, #2 + beq _02231E50 + ldr r1, [sp, #0x1c] + ldr r0, _02231F7C ; =0x000029A8 + ldr r0, [r1, r0] + cmp r0, #0 + beq _02231E50 + add r0, r6, #0 + bl ClearWindowTilemapAndCopyToVram + add r0, r6, #0 + bl RemoveWindow _02231E50: - ldr r0, [sp, #0x1c] - add r7, #0x30 - add r0, #0x10 - str r0, [sp, #0x1c] - ldr r0, [sp, #0x2c] - add r6, #0x10 - add r0, r0, #1 - str r0, [sp, #0x2c] - cmp r0, #0x13 - blo _02231E2E - mov r0, #0 - str r0, [sp, #0x18] - ldr r0, _02231F7C ; =0x000029A8 - mov r7, #0x31 - str r5, [sp, #0x24] - str r5, [sp, #0x20] - add r6, r5, r0 + ldr r0, [sp, #0x1c] + add r7, #0x30 + add r0, #0x10 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x2c] + add r6, #0x10 + add r0, r0, #1 + str r0, [sp, #0x2c] + cmp r0, #0x13 + blo _02231E2E + mov r0, #0 + str r0, [sp, #0x18] + ldr r0, _02231F7C ; =0x000029A8 + mov r7, #0x31 + str r5, [sp, #0x24] + str r5, [sp, #0x20] + add r6, r5, r0 _02231E72: - ldr r1, [r4] - ldr r0, [sp, #0x14] - cmp r0, r1 - bne _02231F2E - ldr r1, [sp, #0x24] - ldr r0, _02231F7C ; =0x000029A8 - ldr r0, [r1, r0] - cmp r0, #0 - bne _02231EBE - ldr r1, [sp, #0x20] - ldr r0, _02231F80 ; =0x00002AE8 - mov r2, #0 - str r7, [r1, r0] - ldr r0, [r4, #8] - add r1, r6, #0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - ldr r0, [r4, #0xc] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #4] - ldr r0, [r4, #0x10] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #8] - mov r0, #0xf - str r0, [sp, #0xc] - lsl r0, r7, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x10] - ldr r0, _02231F84 ; =0x0000299C - ldr r3, [r4, #4] - ldr r0, [r5, r0] - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - bl AddWindowParameterized + ldr r1, [r4] + ldr r0, [sp, #0x14] + cmp r0, r1 + bne _02231F2E + ldr r1, [sp, #0x24] + ldr r0, _02231F7C ; =0x000029A8 + ldr r0, [r1, r0] + cmp r0, #0 + bne _02231EBE + ldr r1, [sp, #0x20] + ldr r0, _02231F80 ; =0x00002AE8 + mov r2, #0 + str r7, [r1, r0] + ldr r0, [r4, #8] + add r1, r6, #0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + ldr r0, [r4, #0xc] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #4] + ldr r0, [r4, #0x10] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #8] + mov r0, #0xf + str r0, [sp, #0xc] + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x10] + ldr r0, _02231F84 ; =0x0000299C + ldr r3, [r4, #4] + ldr r0, [r5, r0] + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + bl AddWindowParameterized _02231EBE: - ldr r0, [r4, #0x14] - ldr r1, [r4, #0x1c] - lsl r0, r0, #0x18 - lsl r1, r1, #0x18 - lsr r0, r0, #0x18 - lsr r1, r1, #0x18 - bl GetFontAttribute - add r1, r0, #0 - add r0, r6, #0 - bl FillWindowPixelBuffer - ldr r0, [r4, #0x18] - ldr r3, [r4, #0x24] - str r0, [sp, #0x28] - ldr r2, [sp, #0x28] - add r0, r5, #0 - add r1, r6, #0 - blx r3 - cmp r0, #1 - bne _02231F20 - ldr r2, [r4, #0x20] - cmp r2, #0 - beq _02231F20 - ldr r0, _02231F74 ; =0x000029A0 - ldr r1, _02231F70 ; =0x000029A4 - ldr r0, [r5, r0] - ldr r1, [r5, r1] - ldr r3, [r5] - bl ReadMsgData_ExpandPlaceholders - str r0, [sp, #0x30] - ldr r0, [r4, #0x2c] - ldr r2, [sp, #0x30] - str r0, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, [sp, #0x28] - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r1, [r4, #0x14] - ldr r3, [r4, #0x28] - add r0, r6, #0 - bl AddTextPrinterParameterized2 - ldr r0, [sp, #0x30] - bl String_dtor + ldr r0, [r4, #0x14] + ldr r1, [r4, #0x1c] + lsl r0, r0, #0x18 + lsl r1, r1, #0x18 + lsr r0, r0, #0x18 + lsr r1, r1, #0x18 + bl GetFontAttribute + add r1, r0, #0 + add r0, r6, #0 + bl FillWindowPixelBuffer + ldr r0, [r4, #0x18] + ldr r3, [r4, #0x24] + str r0, [sp, #0x28] + ldr r2, [sp, #0x28] + add r0, r5, #0 + add r1, r6, #0 + blx r3 + cmp r0, #1 + bne _02231F20 + ldr r2, [r4, #0x20] + cmp r2, #0 + beq _02231F20 + ldr r0, _02231F74 ; =0x000029A0 + ldr r1, _02231F70 ; =0x000029A4 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + ldr r3, [r5] + bl ReadMsgData_ExpandPlaceholders + str r0, [sp, #0x30] + ldr r0, [r4, #0x2c] + ldr r2, [sp, #0x30] + str r0, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, [sp, #0x28] + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r1, [r4, #0x14] + ldr r3, [r4, #0x28] + add r0, r6, #0 + bl AddTextPrinterParameterized2 + ldr r0, [sp, #0x30] + bl String_dtor _02231F20: - add r0, r6, #0 - bl CopyWindowToVram - ldr r1, [r4, #0xc] - ldr r0, [r4, #0x10] - mul r0, r1 - add r7, r7, r0 + add r0, r6, #0 + bl CopyWindowToVram + ldr r1, [r4, #0xc] + ldr r0, [r4, #0x10] + mul r0, r1 + add r7, r7, r0 _02231F2E: - ldr r0, [sp, #0x24] - add r4, #0x30 - add r0, #0x10 - str r0, [sp, #0x24] - ldr r0, [sp, #0x20] - add r6, #0x10 - add r0, r0, #4 - str r0, [sp, #0x20] - ldr r0, [sp, #0x18] - add r0, r0, #1 - str r0, [sp, #0x18] - cmp r0, #0x13 - blo _02231E72 - ldr r0, _02231F70 ; =0x000029A4 - ldr r0, [r5, r0] - bl DestroyMsgData - ldr r0, _02231F74 ; =0x000029A0 - ldr r0, [r5, r0] - bl ScrStrBufs_delete - ldr r0, [sp, #0x14] - cmp r0, #0 - bne _02231F64 - add r0, r5, #0 - bl MOD83_0223227C + ldr r0, [sp, #0x24] + add r4, #0x30 + add r0, #0x10 + str r0, [sp, #0x24] + ldr r0, [sp, #0x20] + add r6, #0x10 + add r0, r0, #4 + str r0, [sp, #0x20] + ldr r0, [sp, #0x18] + add r0, r0, #1 + str r0, [sp, #0x18] + cmp r0, #0x13 + blo _02231E72 + ldr r0, _02231F70 ; =0x000029A4 + ldr r0, [r5, r0] + bl DestroyMsgData + ldr r0, _02231F74 ; =0x000029A0 + ldr r0, [r5, r0] + bl ScrStrBufs_delete + ldr r0, [sp, #0x14] + cmp r0, #0 + bne _02231F64 + add r0, r5, #0 + bl MOD83_0223227C _02231F64: - add sp, #0x34 - pop {r4, r5, r6, r7, pc} - .align 2, 0 + add sp, #0x34 + pop {r4, r5, r6, r7, pc} + .align 2, 0 _02231F68: .word 0x00000172 _02231F6C: .word MOD83_0223AEB0 _02231F70: .word 0x000029A4 @@ -9204,130 +9204,130 @@ _02231F78: .word 0x00002B64 _02231F7C: .word 0x000029A8 _02231F80: .word 0x00002AE8 _02231F84: .word 0x0000299C - thumb_func_end MOD83_02231DF0 + thumb_func_end MOD83_02231DF0 - thumb_func_start MOD83_02231F88 + thumb_func_start MOD83_02231F88 MOD83_02231F88: ; 0x02231F88 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r5, r0, #0 - add r7, r3, #0 - mov r3, #0x30 - ldr r0, _02232084 ; =MOD83_0223AEB0 - mul r3, r2 - add r6, r1, #0 - add r4, r0, r3 - ldr r0, [r6] - cmp r0, #0 - bne _02231FD2 - ldr r0, [r4, #8] - mov r2, #2 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - ldr r0, [r4, #0xc] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #4] - ldr r0, [r4, #0x10] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #8] - mov r0, #0xf - str r0, [sp, #0xc] - lsl r0, r7, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x10] - ldr r0, _02232088 ; =0x0000299C - ldr r3, [r4, #4] - ldr r0, [r5, r0] - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - bl AddWindowParameterized + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + add r5, r0, #0 + add r7, r3, #0 + mov r3, #0x30 + ldr r0, _02232084 ; =MOD83_0223AEB0 + mul r3, r2 + add r6, r1, #0 + add r4, r0, r3 + ldr r0, [r6] + cmp r0, #0 + bne _02231FD2 + ldr r0, [r4, #8] + mov r2, #2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + ldr r0, [r4, #0xc] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #4] + ldr r0, [r4, #0x10] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #8] + mov r0, #0xf + str r0, [sp, #0xc] + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x10] + ldr r0, _02232088 ; =0x0000299C + ldr r3, [r4, #4] + ldr r0, [r5, r0] + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + bl AddWindowParameterized _02231FD2: - ldr r1, [r4, #0x1c] - add r0, r6, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl FillWindowPixelBuffer - ldr r0, [r4, #0x20] - cmp r0, #0 - beq _02231FFE - ldr r2, _0223208C ; =0x00000172 - mov r0, #1 - mov r1, #0x1a - mov r3, #0x57 - bl NewMsgDataFromNarc - ldr r1, _02232090 ; =0x000029A4 - str r0, [r5, r1] - mov r0, #0x57 - bl ScrStrBufs_new - ldr r1, _02232094 ; =0x000029A0 - str r0, [r5, r1] + ldr r1, [r4, #0x1c] + add r0, r6, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl FillWindowPixelBuffer + ldr r0, [r4, #0x20] + cmp r0, #0 + beq _02231FFE + ldr r2, _0223208C ; =0x00000172 + mov r0, #1 + mov r1, #0x1a + mov r3, #0x57 + bl NewMsgDataFromNarc + ldr r1, _02232090 ; =0x000029A4 + str r0, [r5, r1] + mov r0, #0x57 + bl ScrStrBufs_new + ldr r1, _02232094 ; =0x000029A0 + str r0, [r5, r1] _02231FFE: - ldr r0, _02232098 ; =0x00002B38 - ldr r2, _0223209C ; =0x00010200 - str r7, [r5, r0] - add r0, r0, #4 - str r4, [r5, r0] - ldr r3, [r4, #0x24] - add r0, r5, #0 - add r1, r6, #0 - blx r3 - ldr r2, [r4, #0x20] - cmp r2, #0 - beq _02232054 - ldr r1, _02232094 ; =0x000029A0 - mov r3, #0x57 - ldr r0, [r5, r1] - add r1, r1, #4 - ldr r1, [r5, r1] - bl ReadMsgData_ExpandPlaceholders - str r0, [sp, #0x14] - mov r3, #0 - str r3, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, [r4, #0x18] - ldr r2, [sp, #0x14] - str r0, [sp, #8] - str r3, [sp, #0xc] - ldr r1, [r4, #0x14] - add r0, r6, #0 - bl AddTextPrinterParameterized2 - ldr r0, [sp, #0x14] - bl String_dtor - ldr r0, _02232090 ; =0x000029A4 - ldr r0, [r5, r0] - bl DestroyMsgData - ldr r0, _02232094 ; =0x000029A0 - ldr r0, [r5, r0] - bl ScrStrBufs_delete + ldr r0, _02232098 ; =0x00002B38 + ldr r2, _0223209C ; =0x00010200 + str r7, [r5, r0] + add r0, r0, #4 + str r4, [r5, r0] + ldr r3, [r4, #0x24] + add r0, r5, #0 + add r1, r6, #0 + blx r3 + ldr r2, [r4, #0x20] + cmp r2, #0 + beq _02232054 + ldr r1, _02232094 ; =0x000029A0 + mov r3, #0x57 + ldr r0, [r5, r1] + add r1, r1, #4 + ldr r1, [r5, r1] + bl ReadMsgData_ExpandPlaceholders + str r0, [sp, #0x14] + mov r3, #0 + str r3, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, [r4, #0x18] + ldr r2, [sp, #0x14] + str r0, [sp, #8] + str r3, [sp, #0xc] + ldr r1, [r4, #0x14] + add r0, r6, #0 + bl AddTextPrinterParameterized2 + ldr r0, [sp, #0x14] + bl String_dtor + ldr r0, _02232090 ; =0x000029A4 + ldr r0, [r5, r0] + bl DestroyMsgData + ldr r0, _02232094 ; =0x000029A0 + ldr r0, [r5, r0] + bl ScrStrBufs_delete _02232054: - ldr r0, _022320A0 ; =0x00002B70 - add r0, r5, r0 - cmp r6, r0 - bne _0223206A - add r0, r6, #0 - mov r1, #0 - mov r2, #0x13 - mov r3, #0xa - bl FUN_0200D0BC - b _02232076 + ldr r0, _022320A0 ; =0x00002B70 + add r0, r5, r0 + cmp r6, r0 + bne _0223206A + add r0, r6, #0 + mov r1, #0 + mov r2, #0x13 + mov r3, #0xa + bl FUN_0200D0BC + b _02232076 _0223206A: - add r0, r6, #0 - mov r1, #0 - mov r2, #0xa - mov r3, #0xe - bl FUN_0200CCA4 + add r0, r6, #0 + mov r1, #0 + mov r2, #0xa + mov r3, #0xe + bl FUN_0200CCA4 _02232076: - ldr r1, [r4, #0xc] - ldr r0, [r4, #0x10] - mul r0, r1 - add r0, r7, r0 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - nop + ldr r1, [r4, #0xc] + ldr r0, [r4, #0x10] + mul r0, r1 + add r0, r7, r0 + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + nop _02232084: .word MOD83_0223AEB0 _02232088: .word 0x0000299C _0223208C: .word 0x00000172 @@ -9336,880 +9336,880 @@ _02232094: .word 0x000029A0 _02232098: .word 0x00002B38 _0223209C: .word 0x00010200 _022320A0: .word 0x00002B70 - thumb_func_end MOD83_02231F88 + thumb_func_end MOD83_02231F88 - thumb_func_start MOD83_022320A4 + thumb_func_start MOD83_022320A4 MOD83_022320A4: ; 0x022320A4 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - add r7, r4, #0 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + add r7, r4, #0 _022320AE: - add r4, r4, r6 - cmp r4, #3 - bne _022320B6 - mov r4, #0 + add r4, r4, r6 + cmp r4, #3 + bne _022320B6 + mov r4, #0 _022320B6: - mov r0, #0 - mvn r0, r0 - cmp r4, r0 - bne _022320C0 - mov r4, #2 + mov r0, #0 + mvn r0, r0 + cmp r4, r0 + bne _022320C0 + mov r4, #2 _022320C0: - cmp r7, r4 - beq _022320D4 - mov r0, #0xad - lsl r0, r0, #6 - ldr r0, [r5, r0] - add r1, r4, #0 - bl FUN_0202AE4C - cmp r0, #0 - beq _022320AE + cmp r7, r4 + beq _022320D4 + mov r0, #0xad + lsl r0, r0, #6 + ldr r0, [r5, r0] + add r1, r4, #0 + bl FUN_0202AE4C + cmp r0, #0 + beq _022320AE _022320D4: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_022320A4 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_022320A4 - thumb_func_start MOD83_022320D8 + thumb_func_start MOD83_022320D8 MOD83_022320D8: ; 0x022320D8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r2, #0 - mov r2, #1 - add r5, r0, #0 - str r2, [sp] - add r6, r3, #0 - ldr r3, [r5] - mov r0, #0x74 - bl GfGfxLoader_LoadFromNarc - add r1, sp, #4 - add r7, r0, #0 - bl NNS_G2dGetUnpackedScreenData - ldr r0, _02232114 ; =0x0000299C - ldr r2, [sp, #4] - lsl r1, r4, #0x18 - ldr r0, [r5, r0] - lsr r1, r1, #0x18 - add r2, #0xc - add r3, r6, #0 - bl BG_LoadScreenTilemapData - add r0, r7, #0 - bl FreeToHeap - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r4, r2, #0 + mov r2, #1 + add r5, r0, #0 + str r2, [sp] + add r6, r3, #0 + ldr r3, [r5] + mov r0, #0x74 + bl GfGfxLoader_LoadFromNarc + add r1, sp, #4 + add r7, r0, #0 + bl NNS_G2dGetUnpackedScreenData + ldr r0, _02232114 ; =0x0000299C + ldr r2, [sp, #4] + lsl r1, r4, #0x18 + ldr r0, [r5, r0] + lsr r1, r1, #0x18 + add r2, #0xc + add r3, r6, #0 + bl BG_LoadScreenTilemapData + add r0, r7, #0 + bl FreeToHeap + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop _02232114: .word 0x0000299C - thumb_func_end MOD83_022320D8 + thumb_func_end MOD83_022320D8 - thumb_func_start MOD83_02232118 + thumb_func_start MOD83_02232118 MOD83_02232118: ; 0x02232118 - push {r3, r4, r5, lr} - sub sp, #0x10 - add r5, r0, #0 - mov r0, #1 - lsl r0, r0, #8 - str r0, [sp] - ldr r0, [r5] - mov r2, #0 - add r4, r1, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #3 - add r3, r2, #0 - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - mov r0, #3 - lsl r0, r0, #0xc - str r0, [sp, #4] - mov r3, #1 - str r3, [sp, #8] - ldr r0, [r5] - ldr r2, _02232204 ; =0x0000299C - str r0, [sp, #0xc] - ldr r2, [r5, r2] - mov r0, #0x74 - mov r1, #6 - bl GfGfxLoader_LoadCharData - cmp r4, #0 - beq _0223215E - cmp r4, #1 - beq _0223217E - b _0223219C + push {r3, r4, r5, lr} + sub sp, #0x10 + add r5, r0, #0 + mov r0, #1 + lsl r0, r0, #8 + str r0, [sp] + ldr r0, [r5] + mov r2, #0 + add r4, r1, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #3 + add r3, r2, #0 + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + mov r0, #3 + lsl r0, r0, #0xc + str r0, [sp, #4] + mov r3, #1 + str r3, [sp, #8] + ldr r0, [r5] + ldr r2, _02232204 ; =0x0000299C + str r0, [sp, #0xc] + ldr r2, [r5, r2] + mov r0, #0x74 + mov r1, #6 + bl GfGfxLoader_LoadCharData + cmp r4, #0 + beq _0223215E + cmp r4, #1 + beq _0223217E + b _0223219C _0223215E: - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r3, #1 - str r3, [sp, #8] - ldr r0, [r5] - ldr r2, _02232204 ; =0x0000299C - str r0, [sp, #0xc] - ldr r2, [r5, r2] - mov r0, #0x74 - mov r1, #4 - bl GfGfxLoader_LoadScrnData - b _0223219C + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r3, #1 + str r3, [sp, #8] + ldr r0, [r5] + ldr r2, _02232204 ; =0x0000299C + str r0, [sp, #0xc] + ldr r2, [r5, r2] + mov r0, #0x74 + mov r1, #4 + bl GfGfxLoader_LoadScrnData + b _0223219C _0223217E: - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r3, #1 - str r3, [sp, #8] - ldr r0, [r5] - ldr r2, _02232204 ; =0x0000299C - str r0, [sp, #0xc] - ldr r2, [r5, r2] - mov r0, #0x74 - mov r1, #5 - bl GfGfxLoader_LoadScrnData + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r3, #1 + str r3, [sp, #8] + ldr r0, [r5] + ldr r2, _02232204 ; =0x0000299C + str r0, [sp, #0xc] + ldr r2, [r5, r2] + mov r0, #0x74 + mov r1, #5 + bl GfGfxLoader_LoadScrnData _0223219C: - mov r0, #0x20 - str r0, [sp] - ldr r0, [r5] - mov r1, #0 - str r0, [sp, #4] - mov r0, #0x74 - add r3, r0, #0 - add r2, r1, #0 - add r3, #0xec - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - mov r0, #2 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r1, #1 - str r1, [sp, #8] - ldr r0, [r5] - ldr r2, _02232204 ; =0x0000299C - str r0, [sp, #0xc] - ldr r2, [r5, r2] - mov r0, #0x74 - mov r3, #3 - bl GfGfxLoader_LoadCharData - mov r2, #3 - add r0, r5, #0 - mov r1, #2 - lsl r3, r2, #9 - bl MOD83_022320D8 - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - str r0, [sp, #4] - mov r0, #0xb - str r0, [sp, #8] - ldr r0, _02232204 ; =0x0000299C - mov r2, #0 - ldr r0, [r5, r0] - mov r1, #3 - add r3, r2, #0 - bl BgTilemapRectChangePalette - ldr r0, _02232204 ; =0x0000299C - mov r1, #3 - ldr r0, [r5, r0] - bl BgCommitTilemapBufferToVram - add sp, #0x10 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0x20 + str r0, [sp] + ldr r0, [r5] + mov r1, #0 + str r0, [sp, #4] + mov r0, #0x74 + add r3, r0, #0 + add r2, r1, #0 + add r3, #0xec + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + mov r0, #2 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r1, #1 + str r1, [sp, #8] + ldr r0, [r5] + ldr r2, _02232204 ; =0x0000299C + str r0, [sp, #0xc] + ldr r2, [r5, r2] + mov r0, #0x74 + mov r3, #3 + bl GfGfxLoader_LoadCharData + mov r2, #3 + add r0, r5, #0 + mov r1, #2 + lsl r3, r2, #9 + bl MOD83_022320D8 + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + str r0, [sp, #4] + mov r0, #0xb + str r0, [sp, #8] + ldr r0, _02232204 ; =0x0000299C + mov r2, #0 + ldr r0, [r5, r0] + mov r1, #3 + add r3, r2, #0 + bl BgTilemapRectChangePalette + ldr r0, _02232204 ; =0x0000299C + mov r1, #3 + ldr r0, [r5, r0] + bl BgCommitTilemapBufferToVram + add sp, #0x10 + pop {r3, r4, r5, pc} + .align 2, 0 _02232204: .word 0x0000299C - thumb_func_end MOD83_02232118 + thumb_func_end MOD83_02232118 - thumb_func_start MOD83_02232208 + thumb_func_start MOD83_02232208 MOD83_02232208: ; 0x02232208 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - add r5, r1, #0 - add r6, r2, #0 - bl OverlayManager_GetData - ldr r1, _02232270 ; =0x00002B68 - ldr r0, [r0, r1] - bl ListMenu_ProcessInput - add r4, r0, #0 - mov r0, #1 - mvn r0, r0 - cmp r4, r0 - beq _0223222E - add r0, r0, #1 - cmp r4, r0 - beq _0223226C - b _02232248 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + add r5, r1, #0 + add r6, r2, #0 + bl OverlayManager_GetData + ldr r1, _02232270 ; =0x00002B68 + ldr r0, [r0, r1] + bl ListMenu_ProcessInput + add r4, r0, #0 + mov r0, #1 + mvn r0, r0 + cmp r4, r0 + beq _0223222E + add r0, r0, #1 + cmp r4, r0 + beq _0223226C + b _02232248 _0223222E: - ldr r0, _02232274 ; =0x000005DC - bl PlaySE - cmp r6, #0 - beq _0223226C - add r0, r7, #0 - blx r6 - mov r1, #0 - mvn r1, r1 - cmp r0, r1 - beq _0223226C - str r0, [r5] - pop {r3, r4, r5, r6, r7, pc} + ldr r0, _02232274 ; =0x000005DC + bl PlaySE + cmp r6, #0 + beq _0223226C + add r0, r7, #0 + blx r6 + mov r1, #0 + mvn r1, r1 + cmp r0, r1 + beq _0223226C + str r0, [r5] + pop {r3, r4, r5, r6, r7, pc} _02232248: - ldr r0, _02232274 ; =0x000005DC - bl PlaySE - cmp r4, #0 - beq _0223226C - cmp r4, #0x1e - bhs _0223225A - str r4, [r5] - pop {r3, r4, r5, r6, r7, pc} + ldr r0, _02232274 ; =0x000005DC + bl PlaySE + cmp r4, #0 + beq _0223226C + cmp r4, #0x1e + bhs _0223225A + str r4, [r5] + pop {r3, r4, r5, r6, r7, pc} _0223225A: - ldr r0, _02232278 ; =MOD83_0223B89C - str r4, [r0] - add r0, r7, #0 - blx r4 - mov r1, #0 - mvn r1, r1 - cmp r0, r1 - beq _0223226C - str r0, [r5] + ldr r0, _02232278 ; =MOD83_0223B89C + str r4, [r0] + add r0, r7, #0 + blx r4 + mov r1, #0 + mvn r1, r1 + cmp r0, r1 + beq _0223226C + str r0, [r5] _0223226C: - pop {r3, r4, r5, r6, r7, pc} - nop + pop {r3, r4, r5, r6, r7, pc} + nop _02232270: .word 0x00002B68 _02232274: .word 0x000005DC _02232278: .word MOD83_0223B89C - thumb_func_end MOD83_02232208 + thumb_func_end MOD83_02232208 - thumb_func_start MOD83_0223227C + thumb_func_start MOD83_0223227C MOD83_0223227C: ; 0x0223227C - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - ldr r1, _02232398 ; =0x00002D6C - add r5, r0, #0 - ldr r0, [r5, r1] - cmp r0, #0 - bne _022322DC - add r0, r1, #4 - ldr r0, [r5, r0] - cmp r0, #0 - bne _022322DC - add r1, #8 - ldr r0, [r5, r1] - cmp r0, #0 - bne _022322DC - bl MOD83_02238B38 - cmp r0, #1 - bne _022322A8 - add r0, r5, #0 - bl MOD83_022315F8 + push {r4, r5, r6, r7, lr} + sub sp, #0x1c + ldr r1, _02232398 ; =0x00002D6C + add r5, r0, #0 + ldr r0, [r5, r1] + cmp r0, #0 + bne _022322DC + add r0, r1, #4 + ldr r0, [r5, r0] + cmp r0, #0 + bne _022322DC + add r1, #8 + ldr r0, [r5, r1] + cmp r0, #0 + bne _022322DC + bl MOD83_02238B38 + cmp r0, #1 + bne _022322A8 + add r0, r5, #0 + bl MOD83_022315F8 _022322A8: - bl MOD83_02238AFC - bl MOD83_02238B4C - mov r0, #0x18 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0x1a - mov r2, #0x17 - mov r3, #0x19 - bl MOD83_02238BC4 - bl FUN_0206B888 - add r1, r0, #0 - mov r0, #0 - str r0, [sp] - ldr r0, [r5] - mov r2, #1 - str r0, [sp, #4] - mov r0, #0x13 - mov r3, #0x60 - bl GfGfxLoader_GXLoadPal + bl MOD83_02238AFC + bl MOD83_02238B4C + mov r0, #0x18 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0x1a + mov r2, #0x17 + mov r3, #0x19 + bl MOD83_02238BC4 + bl FUN_0206B888 + add r1, r0, #0 + mov r0, #0 + str r0, [sp] + ldr r0, [r5] + mov r2, #1 + str r0, [sp, #4] + mov r0, #0x13 + mov r3, #0x60 + bl GfGfxLoader_GXLoadPal _022322DC: - mov r0, #0xb2 - mov r6, #0 - str r0, [sp, #0x10] - str r6, [sp, #8] - add r4, r5, #0 - mov r7, #0x64 + mov r0, #0xb2 + mov r6, #0 + str r0, [sp, #0x10] + str r6, [sp, #8] + add r4, r5, #0 + mov r7, #0x64 _022322E8: - ldr r0, _0223239C ; =0x00002B60 - ldr r0, [r5, r0] - lsl r0, r0, #2 - add r1, r5, r0 - ldr r0, _022323A0 ; =0x00002B54 - ldr r1, [r1, r0] - ldr r0, [sp, #8] - add r1, r1, r0 - ldr r0, _022323A4 ; =0x0000034A - ldrh r0, [r1, r0] - str r0, [sp, #0xc] - cmp r0, #0 - bne _02232312 - ldr r0, _02232398 ; =0x00002D6C - ldr r0, [r4, r0] - cmp r0, #0 - beq _0223237C - mov r1, #0 - bl FUN_020200A0 - b _0223237C + ldr r0, _0223239C ; =0x00002B60 + ldr r0, [r5, r0] + lsl r0, r0, #2 + add r1, r5, r0 + ldr r0, _022323A0 ; =0x00002B54 + ldr r1, [r1, r0] + ldr r0, [sp, #8] + add r1, r1, r0 + ldr r0, _022323A4 ; =0x0000034A + ldrh r0, [r1, r0] + str r0, [sp, #0xc] + cmp r0, #0 + bne _02232312 + ldr r0, _02232398 ; =0x00002D6C + ldr r0, [r4, r0] + cmp r0, #0 + beq _0223237C + mov r1, #0 + bl FUN_020200A0 + b _0223237C _02232312: - add r0, r6, #0 - add r0, #0xa - str r0, [sp] - ldr r1, _02232398 ; =0x00002D6C - ldr r2, [sp, #0x10] - ldr r1, [r4, r1] - mov r0, #0 - mov r3, #0x10 - bl MOD83_02238DBC - ldr r1, _02232398 ; =0x00002D6C - str r0, [r4, r1] - mov r1, #0 - ldr r0, [sp, #0xc] - add r2, r1, #0 - bl FUN_0206B6D4 - add r1, r0, #0 - ldr r0, [r5] - mov r2, #0 - str r0, [sp] - mov r0, #0x13 - add r3, sp, #0x18 - bl GfGfxLoader_GetCharData - str r0, [sp, #0x14] - ldr r0, [sp, #0x18] - mov r1, #2 - ldr r0, [r0, #0x14] - lsl r1, r1, #8 - bl DC_FlushRange - ldr r0, [sp, #0x18] - mov r2, #2 - ldr r0, [r0, #0x14] - lsl r1, r7, #5 - lsl r2, r2, #8 - bl GX_LoadOBJ - mov r1, #0 - ldr r0, [sp, #0xc] - add r2, r1, #0 - bl FUN_0206B7BC - add r1, r0, #0 - ldr r0, _02232398 ; =0x00002D6C - add r1, r1, #3 - ldr r0, [r4, r0] - bl FUN_02020248 - ldr r0, [sp, #0x14] - bl FreeToHeap + add r0, r6, #0 + add r0, #0xa + str r0, [sp] + ldr r1, _02232398 ; =0x00002D6C + ldr r2, [sp, #0x10] + ldr r1, [r4, r1] + mov r0, #0 + mov r3, #0x10 + bl MOD83_02238DBC + ldr r1, _02232398 ; =0x00002D6C + str r0, [r4, r1] + mov r1, #0 + ldr r0, [sp, #0xc] + add r2, r1, #0 + bl FUN_0206B6D4 + add r1, r0, #0 + ldr r0, [r5] + mov r2, #0 + str r0, [sp] + mov r0, #0x13 + add r3, sp, #0x18 + bl GfGfxLoader_GetCharData + str r0, [sp, #0x14] + ldr r0, [sp, #0x18] + mov r1, #2 + ldr r0, [r0, #0x14] + lsl r1, r1, #8 + bl DC_FlushRange + ldr r0, [sp, #0x18] + mov r2, #2 + ldr r0, [r0, #0x14] + lsl r1, r7, #5 + lsl r2, r2, #8 + bl GX_LoadOBJ + mov r1, #0 + ldr r0, [sp, #0xc] + add r2, r1, #0 + bl FUN_0206B7BC + add r1, r0, #0 + ldr r0, _02232398 ; =0x00002D6C + add r1, r1, #3 + ldr r0, [r4, r0] + bl FUN_02020248 + ldr r0, [sp, #0x14] + bl FreeToHeap _0223237C: - ldr r0, [sp, #8] - add r6, r6, #1 - add r0, r0, #2 - str r0, [sp, #8] - ldr r0, [sp, #0x10] - add r4, r4, #4 - add r0, #0x19 - add r7, #0x10 - str r0, [sp, #0x10] - cmp r6, #3 - blt _022322E8 - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - nop + ldr r0, [sp, #8] + add r6, r6, #1 + add r0, r0, #2 + str r0, [sp, #8] + ldr r0, [sp, #0x10] + add r4, r4, #4 + add r0, #0x19 + add r7, #0x10 + str r0, [sp, #0x10] + cmp r6, #3 + blt _022322E8 + add sp, #0x1c + pop {r4, r5, r6, r7, pc} + nop _02232398: .word 0x00002D6C _0223239C: .word 0x00002B60 _022323A0: .word 0x00002B54 _022323A4: .word 0x0000034A - thumb_func_end MOD83_0223227C + thumb_func_end MOD83_0223227C - thumb_func_start MOD83_022323A8 + thumb_func_start MOD83_022323A8 MOD83_022323A8: ; 0x022323A8 - push {r4, lr} - mov r2, #2 - add r4, r0, #0 - mov r0, #3 - mov r1, #0x57 - lsl r2, r2, #0x10 - bl CreateHeap - ldr r1, _0223240C ; =0x00003CF4 - add r0, r4, #0 - mov r2, #0x57 - bl OverlayManager_CreateAndGetData - ldr r2, _0223240C ; =0x00003CF4 - mov r1, #0 - add r4, r0, #0 - bl memset - mov r0, #0x57 - bl BgConfig_Alloc - ldr r1, _02232410 ; =0x0000299C - str r0, [r4, r1] - mov r0, #0x57 - str r0, [r4] - mov r0, #0 - add r1, r0, #0 - bl FUN_0200E3A0 - mov r0, #1 - mov r1, #0 - bl FUN_0200E3A0 - ldr r0, _02232414 ; =0x00002B60 - mov r1, #2 - str r1, [r4, r0] - mov r1, #1 - add r0, #0x7c - str r1, [r4, r0] - mov r0, #0x57 - bl MOD83_02238770 - mov r2, #3 - mov r0, #0 - mov r1, #0x5b - lsl r2, r2, #8 - bl CreateHeap - mov r0, #1 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + mov r2, #2 + add r4, r0, #0 + mov r0, #3 + mov r1, #0x57 + lsl r2, r2, #0x10 + bl CreateHeap + ldr r1, _0223240C ; =0x00003CF4 + add r0, r4, #0 + mov r2, #0x57 + bl OverlayManager_CreateAndGetData + ldr r2, _0223240C ; =0x00003CF4 + mov r1, #0 + add r4, r0, #0 + bl memset + mov r0, #0x57 + bl BgConfig_Alloc + ldr r1, _02232410 ; =0x0000299C + str r0, [r4, r1] + mov r0, #0x57 + str r0, [r4] + mov r0, #0 + add r1, r0, #0 + bl FUN_0200E3A0 + mov r0, #1 + mov r1, #0 + bl FUN_0200E3A0 + ldr r0, _02232414 ; =0x00002B60 + mov r1, #2 + str r1, [r4, r0] + mov r1, #1 + add r0, #0x7c + str r1, [r4, r0] + mov r0, #0x57 + bl MOD83_02238770 + mov r2, #3 + mov r0, #0 + mov r1, #0x5b + lsl r2, r2, #8 + bl CreateHeap + mov r0, #1 + pop {r4, pc} + .align 2, 0 _0223240C: .word 0x00003CF4 _02232410: .word 0x0000299C _02232414: .word 0x00002B60 - thumb_func_end MOD83_022323A8 + thumb_func_end MOD83_022323A8 - thumb_func_start MOD83_02232418 + thumb_func_start MOD83_02232418 MOD83_02232418: ; 0x02232418 - push {r4, lr} - add r4, r1, #0 - bl FUN_020129C8 - mov r0, #3 - lsl r0, r0, #0xa - ldr r0, [r4, r0] - bl FUN_0201299C - ldr r1, _02232438 ; =0x04000010 - mov r2, #8 - mov r3, #1 - bl FUN_020129D8 - pop {r4, pc} - nop + push {r4, lr} + add r4, r1, #0 + bl FUN_020129C8 + mov r0, #3 + lsl r0, r0, #0xa + ldr r0, [r4, r0] + bl FUN_0201299C + ldr r1, _02232438 ; =0x04000010 + mov r2, #8 + mov r3, #1 + bl FUN_020129D8 + pop {r4, pc} + nop _02232438: .word 0x04000010 - thumb_func_end MOD83_02232418 + thumb_func_end MOD83_02232418 - thumb_func_start MOD83_0223243C + thumb_func_start MOD83_0223243C MOD83_0223243C: ; 0x0223243C - push {r3, r4, r5, lr} - ldr r4, _02232490 ; =0x000030D0 - ldr r5, _02232494 ; =0x00000C14 - add r4, r0, r4 - add r0, r5, #0 - str r1, [r4, r5] - sub r0, #0xc - str r2, [r4, r0] - add r0, r5, #0 - sub r0, #8 - sub r5, #0x14 - str r3, [r4, r0] - ldr r0, [r4, r5] - cmp r0, #0 - bne _0223246E - mov r2, #6 - lsl r2, r2, #8 - mov r0, #0x57 - add r1, r4, #0 - add r2, r4, r2 - bl FUN_02012944 - mov r1, #3 - lsl r1, r1, #0xa - str r0, [r4, r1] + push {r3, r4, r5, lr} + ldr r4, _02232490 ; =0x000030D0 + ldr r5, _02232494 ; =0x00000C14 + add r4, r0, r4 + add r0, r5, #0 + str r1, [r4, r5] + sub r0, #0xc + str r2, [r4, r0] + add r0, r5, #0 + sub r0, #8 + sub r5, #0x14 + str r3, [r4, r0] + ldr r0, [r4, r5] + cmp r0, #0 + bne _0223246E + mov r2, #6 + lsl r2, r2, #8 + mov r0, #0x57 + add r1, r4, #0 + add r2, r4, r2 + bl FUN_02012944 + mov r1, #3 + lsl r1, r1, #0xa + str r0, [r4, r1] _0223246E: - ldr r0, _02232498 ; =0x00000C04 - ldr r0, [r4, r0] - cmp r0, #0 - bne _02232486 - mov r2, #1 - ldr r0, _0223249C ; =MOD83_02232418 - add r1, r4, #0 - lsl r2, r2, #0xa - bl FUN_0200CA60 - ldr r1, _02232498 ; =0x00000C04 - str r0, [r4, r1] + ldr r0, _02232498 ; =0x00000C04 + ldr r0, [r4, r0] + cmp r0, #0 + bne _02232486 + mov r2, #1 + ldr r0, _0223249C ; =MOD83_02232418 + add r1, r4, #0 + lsl r2, r2, #0xa + bl FUN_0200CA60 + ldr r1, _02232498 ; =0x00000C04 + str r0, [r4, r1] _02232486: - mov r0, #0xc1 - mov r1, #1 - lsl r0, r0, #4 - str r1, [r4, r0] - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0xc1 + mov r1, #1 + lsl r0, r0, #4 + str r1, [r4, r0] + pop {r3, r4, r5, pc} + .align 2, 0 _02232490: .word 0x000030D0 _02232494: .word 0x00000C14 _02232498: .word 0x00000C04 _0223249C: .word MOD83_02232418 - thumb_func_end MOD83_0223243C + thumb_func_end MOD83_0223243C - thumb_func_start MOD83_022324A0 + thumb_func_start MOD83_022324A0 MOD83_022324A0: ; 0x022324A0 - push {r4, lr} - ldr r1, _022324D4 ; =0x000030D0 - add r4, r0, r1 - mov r0, #3 - lsl r0, r0, #0xa - ldr r0, [r4, r0] - cmp r0, #0 - beq _022324B4 - bl FUN_02012974 + push {r4, lr} + ldr r1, _022324D4 ; =0x000030D0 + add r4, r0, r1 + mov r0, #3 + lsl r0, r0, #0xa + ldr r0, [r4, r0] + cmp r0, #0 + beq _022324B4 + bl FUN_02012974 _022324B4: - ldr r0, _022324D8 ; =0x00000C04 - ldr r0, [r4, r0] - cmp r0, #0 - beq _022324C0 - bl FUN_0200CAB4 + ldr r0, _022324D8 ; =0x00000C04 + ldr r0, [r4, r0] + cmp r0, #0 + beq _022324C0 + bl FUN_0200CAB4 _022324C0: - mov r0, #3 - mov r1, #0 - lsl r0, r0, #0xa - str r1, [r4, r0] - add r0, r0, #4 - str r1, [r4, r0] - bl FUN_020129C8 - pop {r4, pc} - nop + mov r0, #3 + mov r1, #0 + lsl r0, r0, #0xa + str r1, [r4, r0] + add r0, r0, #4 + str r1, [r4, r0] + bl FUN_020129C8 + pop {r4, pc} + nop _022324D4: .word 0x000030D0 _022324D8: .word 0x00000C04 - thumb_func_end MOD83_022324A0 + thumb_func_end MOD83_022324A0 - thumb_func_start MOD83_022324DC + thumb_func_start MOD83_022324DC MOD83_022324DC: ; 0x022324DC - push {r3, r4, r5, r6, r7, lr} - ldr r1, _022325E4 ; =0x000030D0 - mov r5, #0x15 - add r4, r0, r1 - mov r0, #0xc1 - lsl r0, r0, #4 - ldr r1, [r4, r0] - lsl r5, r5, #0xe - cmp r1, #0 - bne _022324F4 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + push {r3, r4, r5, r6, r7, lr} + ldr r1, _022325E4 ; =0x000030D0 + mov r5, #0x15 + add r4, r0, r1 + mov r0, #0xc1 + lsl r0, r0, #4 + ldr r1, [r4, r0] + lsl r5, r5, #0xe + cmp r1, #0 + bne _022324F4 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _022324F4: - add r1, r0, #4 - ldr r1, [r4, r1] - cmp r1, #1 - bne _02232542 - add r1, r0, #0 - sub r1, #8 - ldr r2, [r4, r1] - sub r1, r0, #4 - ldr r1, [r4, r1] - add r2, r2, r1 - add r1, r0, #0 - sub r1, #8 - str r2, [r4, r1] - sub r1, r0, #4 - ldr r2, [r4, r1] - add r1, r2, #0 - add r2, r2, r1 - sub r1, r0, #4 - str r2, [r4, r1] - add r1, r0, #0 - sub r1, #8 - ldr r2, [r4, r1] - asr r1, r2, #0xb - lsr r1, r1, #0x14 - add r1, r2, r1 - asr r2, r1, #0xc - mov r1, #0xfa - lsl r1, r1, #2 - cmp r2, r1 - ble _0223257C - mov r2, #0 - add r1, r0, #0 - str r2, [r4, r0] - sub r1, #8 - str r2, [r4, r1] - sub r0, r0, #4 - mov r5, #0xa8 - str r2, [r4, r0] - b _0223257C + add r1, r0, #4 + ldr r1, [r4, r1] + cmp r1, #1 + bne _02232542 + add r1, r0, #0 + sub r1, #8 + ldr r2, [r4, r1] + sub r1, r0, #4 + ldr r1, [r4, r1] + add r2, r2, r1 + add r1, r0, #0 + sub r1, #8 + str r2, [r4, r1] + sub r1, r0, #4 + ldr r2, [r4, r1] + add r1, r2, #0 + add r2, r2, r1 + sub r1, r0, #4 + str r2, [r4, r1] + add r1, r0, #0 + sub r1, #8 + ldr r2, [r4, r1] + asr r1, r2, #0xb + lsr r1, r1, #0x14 + add r1, r2, r1 + asr r2, r1, #0xc + mov r1, #0xfa + lsl r1, r1, #2 + cmp r2, r1 + ble _0223257C + mov r2, #0 + add r1, r0, #0 + str r2, [r4, r0] + sub r1, #8 + str r2, [r4, r1] + sub r0, r0, #4 + mov r5, #0xa8 + str r2, [r4, r0] + b _0223257C _02232542: - add r1, r0, #0 - sub r1, #8 - ldr r2, [r4, r1] - sub r1, r0, #4 - ldr r1, [r4, r1] - sub r2, r2, r1 - add r1, r0, #0 - sub r1, #8 - str r2, [r4, r1] - sub r1, r0, #4 - ldr r2, [r4, r1] - lsr r1, r2, #0x1f - add r1, r2, r1 - asr r2, r1, #1 - sub r1, r0, #4 - str r2, [r4, r1] - mov r2, #1 - ldr r1, [r4, r1] - lsl r2, r2, #0xa - cmp r1, r2 - bge _0223257C - mov r1, #0 - lsl r3, r2, #2 - add r2, r0, #0 - str r1, [r4, r0] - sub r2, #8 - str r3, [r4, r2] - sub r0, r0, #4 - str r1, [r4, r0] + add r1, r0, #0 + sub r1, #8 + ldr r2, [r4, r1] + sub r1, r0, #4 + ldr r1, [r4, r1] + sub r2, r2, r1 + add r1, r0, #0 + sub r1, #8 + str r2, [r4, r1] + sub r1, r0, #4 + ldr r2, [r4, r1] + lsr r1, r2, #0x1f + add r1, r2, r1 + asr r2, r1, #1 + sub r1, r0, #4 + str r2, [r4, r1] + mov r2, #1 + ldr r1, [r4, r1] + lsl r2, r2, #0xa + cmp r1, r2 + bge _0223257C + mov r1, #0 + lsl r3, r2, #2 + add r2, r0, #0 + str r1, [r4, r0] + sub r2, #8 + str r3, [r4, r2] + sub r0, r0, #4 + str r1, [r4, r0] _0223257C: - mov r0, #3 - lsl r0, r0, #0xa - ldr r0, [r4, r0] - bl FUN_02012988 - add r2, r0, #0 - mov r0, #0x54 - add r3, r0, #0 - add r3, #0xfc + mov r0, #3 + lsl r0, r0, #0xa + ldr r0, [r4, r0] + bl FUN_02012988 + add r2, r0, #0 + mov r0, #0x54 + add r3, r0, #0 + add r3, #0xfc _0223258E: - asr r1, r5, #0xb - lsr r1, r1, #0x14 - add r1, r5, r1 - asr r1, r1, #0xc - bpl _0223259A - mov r1, #0 + asr r1, r5, #0xb + lsr r1, r1, #0x14 + add r1, r5, r1 + asr r1, r1, #0xc + bpl _0223259A + mov r1, #0 _0223259A: - cmp r1, #0xa8 - ble _022325A0 - mov r1, #0xa8 + cmp r1, #0xa8 + ble _022325A0 + mov r1, #0xa8 _022325A0: - lsl r6, r3, #1 - add r7, r2, r6 - sub r6, r1, r0 - strh r6, [r7, #6] - ldrh r6, [r7, #6] - sub r1, r0, r1 - add r3, r3, #4 - strh r6, [r7, #2] - mov r6, #0xa8 - sub r6, r6, r0 - lsl r6, r6, #3 - add r6, r2, r6 - strh r1, [r6, #6] - ldrh r1, [r6, #6] - add r0, r0, #1 - strh r1, [r6, #2] - ldr r1, _022325E8 ; =0x00000C08 - ldr r1, [r4, r1] - add r5, r5, r1 - cmp r0, #0xa8 - blt _0223258E - mov r1, #6 - add r0, r2, #0 - lsl r1, r1, #8 - bl DC_FlushRange - mov r0, #3 - lsl r0, r0, #0xa - ldr r0, [r4, r0] - bl FUN_020129B4 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - nop + lsl r6, r3, #1 + add r7, r2, r6 + sub r6, r1, r0 + strh r6, [r7, #6] + ldrh r6, [r7, #6] + sub r1, r0, r1 + add r3, r3, #4 + strh r6, [r7, #2] + mov r6, #0xa8 + sub r6, r6, r0 + lsl r6, r6, #3 + add r6, r2, r6 + strh r1, [r6, #6] + ldrh r1, [r6, #6] + add r0, r0, #1 + strh r1, [r6, #2] + ldr r1, _022325E8 ; =0x00000C08 + ldr r1, [r4, r1] + add r5, r5, r1 + cmp r0, #0xa8 + blt _0223258E + mov r1, #6 + add r0, r2, #0 + lsl r1, r1, #8 + bl DC_FlushRange + mov r0, #3 + lsl r0, r0, #0xa + ldr r0, [r4, r0] + bl FUN_020129B4 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + nop _022325E4: .word 0x000030D0 _022325E8: .word 0x00000C08 - thumb_func_end MOD83_022324DC + thumb_func_end MOD83_022324DC - thumb_func_start MOD83_022325EC + thumb_func_start MOD83_022325EC MOD83_022325EC: ; 0x022325EC - push {r4, lr} - add r4, r0, #0 - bl MOD83_022394CC - sub r0, r0, #2 - cmp r0, #1 - bhi _02232606 - ldr r0, _02232608 ; =0x0000061B - bl PlaySE - ldr r0, _0223260C ; =0x00003CE8 - mov r1, #0 - str r1, [r4, r0] + push {r4, lr} + add r4, r0, #0 + bl MOD83_022394CC + sub r0, r0, #2 + cmp r0, #1 + bhi _02232606 + ldr r0, _02232608 ; =0x0000061B + bl PlaySE + ldr r0, _0223260C ; =0x00003CE8 + mov r1, #0 + str r1, [r4, r0] _02232606: - pop {r4, pc} - .align 2, 0 + pop {r4, pc} + .align 2, 0 _02232608: .word 0x0000061B _0223260C: .word 0x00003CE8 - thumb_func_end MOD83_022325EC + thumb_func_end MOD83_022325EC - thumb_func_start MOD83_02232610 + thumb_func_start MOD83_02232610 MOD83_02232610: ; 0x02232610 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02232658 ; =0x00002B60 - ldr r1, [r4, r0] - sub r0, #0xc - lsl r1, r1, #2 - add r1, r4, r1 - ldr r2, [r1, r0] - mov r0, #0x35 - lsl r0, r0, #4 - ldrb r1, [r2, r0] - cmp r1, #0xff - beq _0223262E - add r1, r1, #1 - strb r1, [r2, r0] + push {r4, lr} + add r4, r0, #0 + ldr r0, _02232658 ; =0x00002B60 + ldr r1, [r4, r0] + sub r0, #0xc + lsl r1, r1, #2 + add r1, r4, r1 + ldr r2, [r1, r0] + mov r0, #0x35 + lsl r0, r0, #4 + ldrb r1, [r2, r0] + cmp r1, #0xff + beq _0223262E + add r1, r1, #1 + strb r1, [r2, r0] _0223262E: - ldr r0, _02232658 ; =0x00002B60 - ldr r1, [r4, r0] - sub r0, #0xc - lsl r1, r1, #2 - add r1, r4, r1 - ldr r2, [r1, r0] - mov r0, #0xd2 - lsl r0, r0, #2 - ldrb r1, [r2, r0] - cmp r1, #0xff - beq _02232648 - sub r1, r1, #1 - strb r1, [r2, r0] + ldr r0, _02232658 ; =0x00002B60 + ldr r1, [r4, r0] + sub r0, #0xc + lsl r1, r1, #2 + add r1, r4, r1 + ldr r2, [r1, r0] + mov r0, #0xd2 + lsl r0, r0, #2 + ldrb r1, [r2, r0] + cmp r1, #0xff + beq _02232648 + sub r1, r1, #1 + strb r1, [r2, r0] _02232648: - ldr r0, _0223265C ; =0x00002B44 - ldr r0, [r4, r0] - bl MOD83_022394BC - ldr r1, _02232660 ; =MOD83_022325EC - ldr r0, _02232664 ; =0x00003CE8 - str r1, [r4, r0] - pop {r4, pc} - .align 2, 0 + ldr r0, _0223265C ; =0x00002B44 + ldr r0, [r4, r0] + bl MOD83_022394BC + ldr r1, _02232660 ; =MOD83_022325EC + ldr r0, _02232664 ; =0x00003CE8 + str r1, [r4, r0] + pop {r4, pc} + .align 2, 0 _02232658: .word 0x00002B60 _0223265C: .word 0x00002B44 _02232660: .word MOD83_022325EC _02232664: .word 0x00003CE8 - thumb_func_end MOD83_02232610 + thumb_func_end MOD83_02232610 - thumb_func_start MOD83_02232668 + thumb_func_start MOD83_02232668 MOD83_02232668: ; 0x02232668 - push {r3, r4, r5, r6, r7, lr} - add r7, r2, #0 - ldr r2, _02232768 ; =gMain - add r6, r1, #0 - ldr r3, [r2, #0x48] - ldr r1, _0223276C ; =0x00003CEC - add r5, r0, #0 - mov r2, #0x10 - ldr r0, [r5, r1] - tst r2, r3 - beq _02232686 - cmp r0, #1 - beq _02232686 - mov r2, #1 - str r2, [r5, r1] + push {r3, r4, r5, r6, r7, lr} + add r7, r2, #0 + ldr r2, _02232768 ; =gMain + add r6, r1, #0 + ldr r3, [r2, #0x48] + ldr r1, _0223276C ; =0x00003CEC + add r5, r0, #0 + mov r2, #0x10 + ldr r0, [r5, r1] + tst r2, r3 + beq _02232686 + cmp r0, #1 + beq _02232686 + mov r2, #1 + str r2, [r5, r1] _02232686: - ldr r1, _02232768 ; =gMain - ldr r2, [r1, #0x48] - mov r1, #0x20 - tst r1, r2 - beq _0223269C - ldr r1, _0223276C ; =0x00003CEC - ldr r2, [r5, r1] - cmp r2, #0 - beq _0223269C - mov r2, #0 - str r2, [r5, r1] + ldr r1, _02232768 ; =gMain + ldr r2, [r1, #0x48] + mov r1, #0x20 + tst r1, r2 + beq _0223269C + ldr r1, _0223276C ; =0x00003CEC + ldr r2, [r5, r1] + cmp r2, #0 + beq _0223269C + mov r2, #0 + str r2, [r5, r1] _0223269C: - ldr r1, _0223276C ; =0x00003CEC - ldr r1, [r5, r1] - cmp r0, r1 - beq _022326CC - cmp r1, #0 - bne _022326AC - mov r1, #1 - b _022326AE + ldr r1, _0223276C ; =0x00003CEC + ldr r1, [r5, r1] + cmp r0, r1 + beq _022326CC + cmp r1, #0 + bne _022326AC + mov r1, #1 + b _022326AE _022326AC: - mov r1, #0 + mov r1, #0 _022326AE: - ldr r0, _02232770 ; =0x00002D64 - ldr r0, [r5, r0] - bl FUN_02020130 - ldr r0, _0223276C ; =0x00003CEC - ldr r0, [r5, r0] - cmp r0, #0 - beq _022326C2 - mov r1, #1 - b _022326C4 + ldr r0, _02232770 ; =0x00002D64 + ldr r0, [r5, r0] + bl FUN_02020130 + ldr r0, _0223276C ; =0x00003CEC + ldr r0, [r5, r0] + cmp r0, #0 + beq _022326C2 + mov r1, #1 + b _022326C4 _022326C2: - mov r1, #0 + mov r1, #0 _022326C4: - ldr r0, _02232774 ; =0x00002D68 - ldr r0, [r5, r0] - bl FUN_02020130 + ldr r0, _02232774 ; =0x00002D68 + ldr r0, [r5, r0] + bl FUN_02020130 _022326CC: - ldr r0, _02232768 ; =gMain - mov r4, #0 - ldr r1, [r0, #0x48] - mov r0, #2 - add r2, r1, #0 - tst r2, r0 - beq _022326DE - add r4, r0, #0 - b _0223270E + ldr r0, _02232768 ; =gMain + mov r4, #0 + ldr r1, [r0, #0x48] + mov r0, #2 + add r2, r1, #0 + tst r2, r0 + beq _022326DE + add r4, r0, #0 + b _0223270E _022326DE: - mov r0, #1 - and r1, r0 - beq _022326F4 - cmp r6, #0 - beq _022326F4 - ldr r2, _0223276C ; =0x00003CEC - ldr r2, [r5, r2] - cmp r2, #0 - bne _022326F4 - add r4, r0, #0 - b _0223270E + mov r0, #1 + and r1, r0 + beq _022326F4 + cmp r6, #0 + beq _022326F4 + ldr r2, _0223276C ; =0x00003CEC + ldr r2, [r5, r2] + cmp r2, #0 + bne _022326F4 + add r4, r0, #0 + b _0223270E _022326F4: - cmp r1, #0 - beq _02232704 - ldr r0, _0223276C ; =0x00003CEC - ldr r0, [r5, r0] - cmp r0, #1 - bne _02232704 - mov r4, #2 - b _0223270E + cmp r1, #0 + beq _02232704 + ldr r0, _0223276C ; =0x00003CEC + ldr r0, [r5, r0] + cmp r0, #1 + bne _02232704 + mov r4, #2 + b _0223270E _02232704: - cmp r1, #0 - beq _0223270E - cmp r6, #0 - bne _0223270E - mov r4, #3 + cmp r1, #0 + beq _0223270E + cmp r6, #0 + bne _0223270E + mov r4, #3 _0223270E: - cmp r4, #1 - bne _02232746 - ldr r0, _02232778 ; =0x000005DC - bl PlaySE - mov r0, #0xab - bl FUN_02031588 - mov r3, #0xa - ldr r1, _0223277C ; =0x00002BD4 - mov r0, #1 - str r0, [r5, r1] - mov r0, #0x15 - sub r1, #0x64 - str r0, [r7] - add r0, r5, #0 - add r1, r5, r1 - mov r2, #0x11 - lsl r3, r3, #6 - bl MOD83_02231F88 - ldr r0, _02232780 ; =0x00002B70 - mov r1, #0x13 - add r0, r5, r0 - bl FUN_0200D858 - ldr r1, _02232784 ; =0x00003CF0 - str r0, [r5, r1] + cmp r4, #1 + bne _02232746 + ldr r0, _02232778 ; =0x000005DC + bl PlaySE + mov r0, #0xab + bl FUN_02031588 + mov r3, #0xa + ldr r1, _0223277C ; =0x00002BD4 + mov r0, #1 + str r0, [r5, r1] + mov r0, #0x15 + sub r1, #0x64 + str r0, [r7] + add r0, r5, #0 + add r1, r5, r1 + mov r2, #0x11 + lsl r3, r3, #6 + bl MOD83_02231F88 + ldr r0, _02232780 ; =0x00002B70 + mov r1, #0x13 + add r0, r5, r0 + bl FUN_0200D858 + ldr r1, _02232784 ; =0x00003CF0 + str r0, [r5, r1] _02232746: - cmp r4, #2 - bne _0223275A - ldr r0, _02232778 ; =0x000005DC - bl PlaySE - add r0, r5, #0 - add r1, r7, #0 - mov r2, #0x13 - bl MOD83_02233084 + cmp r4, #2 + bne _0223275A + ldr r0, _02232778 ; =0x000005DC + bl PlaySE + add r0, r5, #0 + add r1, r7, #0 + mov r2, #0x13 + bl MOD83_02233084 _0223275A: - cmp r4, #3 - bne _02232764 - ldr r0, _02232778 ; =0x000005DC - bl PlaySE + cmp r4, #3 + bne _02232764 + ldr r0, _02232778 ; =0x000005DC + bl PlaySE _02232764: - pop {r3, r4, r5, r6, r7, pc} - nop + pop {r3, r4, r5, r6, r7, pc} + nop _02232768: .word gMain _0223276C: .word 0x00003CEC _02232770: .word 0x00002D64 @@ -10218,453 +10218,453 @@ _02232778: .word 0x000005DC _0223277C: .word 0x00002BD4 _02232780: .word 0x00002B70 _02232784: .word 0x00003CF0 - thumb_func_end MOD83_02232668 + thumb_func_end MOD83_02232668 - thumb_func_start MOD83_02232788 + thumb_func_start MOD83_02232788 MOD83_02232788: ; 0x02232788 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r1, #0 - add r6, r0, #0 - bl OverlayManager_GetData - ldr r1, [r5] - add r4, r0, #0 - cmp r1, #0x1d - bls _0223279E - b _02232CF4 + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r1, #0 + add r6, r0, #0 + bl OverlayManager_GetData + ldr r1, [r5] + add r4, r0, #0 + cmp r1, #0x1d + bls _0223279E + b _02232CF4 _0223279E: - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 _022327AA: ; jump table - .short _022327E6 - _022327AA - 2 ; case 0 - .short _02232854 - _022327AA - 2 ; case 1 - .short _02232866 - _022327AA - 2 ; case 2 - .short _022328DC - _022327AA - 2 ; case 3 - .short _02232956 - _022327AA - 2 ; case 4 - .short _0223297E - _022327AA - 2 ; case 5 - .short _0223299E - _022327AA - 2 ; case 6 - .short _022329D6 - _022327AA - 2 ; case 7 - .short _022329FA - _022327AA - 2 ; case 8 - .short _02232A20 - _022327AA - 2 ; case 9 - .short _02232A4C - _022327AA - 2 ; case 10 - .short _02232A88 - _022327AA - 2 ; case 11 - .short _02232AAC - _022327AA - 2 ; case 12 - .short _02232AB8 - _022327AA - 2 ; case 13 - .short _02232AC4 - _022327AA - 2 ; case 14 - .short _02232AD6 - _022327AA - 2 ; case 15 - .short _02232AE2 - _022327AA - 2 ; case 16 - .short _02232B24 - _022327AA - 2 ; case 17 - .short _02232B3A - _022327AA - 2 ; case 18 - .short _02232BDC - _022327AA - 2 ; case 19 - .short _02232BE8 - _022327AA - 2 ; case 20 - .short _02232C36 - _022327AA - 2 ; case 21 - .short _02232C26 - _022327AA - 2 ; case 22 - .short _02232C6A - _022327AA - 2 ; case 23 - .short _02232C7E - _022327AA - 2 ; case 24 - .short _02232CB8 - _022327AA - 2 ; case 25 - .short _02232CC8 - _022327AA - 2 ; case 26 - .short _02232CD4 - _022327AA - 2 ; case 27 - .short _02232CE4 - _022327AA - 2 ; case 28 - .short _02232CF4 - _022327AA - 2 ; case 29 + .short _022327E6 - _022327AA - 2 ; case 0 + .short _02232854 - _022327AA - 2 ; case 1 + .short _02232866 - _022327AA - 2 ; case 2 + .short _022328DC - _022327AA - 2 ; case 3 + .short _02232956 - _022327AA - 2 ; case 4 + .short _0223297E - _022327AA - 2 ; case 5 + .short _0223299E - _022327AA - 2 ; case 6 + .short _022329D6 - _022327AA - 2 ; case 7 + .short _022329FA - _022327AA - 2 ; case 8 + .short _02232A20 - _022327AA - 2 ; case 9 + .short _02232A4C - _022327AA - 2 ; case 10 + .short _02232A88 - _022327AA - 2 ; case 11 + .short _02232AAC - _022327AA - 2 ; case 12 + .short _02232AB8 - _022327AA - 2 ; case 13 + .short _02232AC4 - _022327AA - 2 ; case 14 + .short _02232AD6 - _022327AA - 2 ; case 15 + .short _02232AE2 - _022327AA - 2 ; case 16 + .short _02232B24 - _022327AA - 2 ; case 17 + .short _02232B3A - _022327AA - 2 ; case 18 + .short _02232BDC - _022327AA - 2 ; case 19 + .short _02232BE8 - _022327AA - 2 ; case 20 + .short _02232C36 - _022327AA - 2 ; case 21 + .short _02232C26 - _022327AA - 2 ; case 22 + .short _02232C6A - _022327AA - 2 ; case 23 + .short _02232C7E - _022327AA - 2 ; case 24 + .short _02232CB8 - _022327AA - 2 ; case 25 + .short _02232CC8 - _022327AA - 2 ; case 26 + .short _02232CD4 - _022327AA - 2 ; case 27 + .short _02232CE4 - _022327AA - 2 ; case 28 + .short _02232CF4 - _022327AA - 2 ; case 29 _022327E6: - add r0, r6, #0 - bl OverlayManager_GetField18 - ldr r1, [r0, #8] - ldr r0, _02232B54 ; =0x00002B44 - str r1, [r4, r0] - ldr r0, [r4, r0] - bl FUN_0202251C - mov r1, #0xad - lsl r1, r1, #6 - str r0, [r4, r1] - add r0, r1, #4 - ldr r0, [r4, r0] - bl Sav2_PlayerData_GetOptionsAddr - ldr r1, _02232B58 ; =0x00002B48 - str r0, [r4, r1] - ldr r0, [r4, r1] - bl Options_GetFrame - ldr r1, _02232B5C ; =0x00002B4C - str r0, [r4, r1] - sub r1, #0xc - ldr r0, [r4, r1] - mov r1, #0 - bl FUN_0202AC64 - ldr r1, _02232B60 ; =0x00002B54 - str r0, [r4, r1] - sub r1, #0x14 - ldr r0, [r4, r1] - mov r1, #1 - bl FUN_0202AC64 - ldr r1, _02232B64 ; =0x00002B58 - str r0, [r4, r1] - sub r1, #0x18 - ldr r0, [r4, r1] - mov r1, #2 - bl FUN_0202AC64 - ldr r1, _02232B68 ; =0x00002B5C - mov r2, #1 - str r0, [r4, r1] - add r1, r1, #4 - ldr r1, [r4, r1] - add r0, r4, #0 - bl MOD83_022320A4 - ldr r1, _02232B6C ; =0x00002B60 - str r0, [r4, r1] - mov r0, #1 - str r0, [r5] - b _02232CF4 + add r0, r6, #0 + bl OverlayManager_GetField18 + ldr r1, [r0, #8] + ldr r0, _02232B54 ; =0x00002B44 + str r1, [r4, r0] + ldr r0, [r4, r0] + bl FUN_0202251C + mov r1, #0xad + lsl r1, r1, #6 + str r0, [r4, r1] + add r0, r1, #4 + ldr r0, [r4, r0] + bl Sav2_PlayerData_GetOptionsAddr + ldr r1, _02232B58 ; =0x00002B48 + str r0, [r4, r1] + ldr r0, [r4, r1] + bl Options_GetFrame + ldr r1, _02232B5C ; =0x00002B4C + str r0, [r4, r1] + sub r1, #0xc + ldr r0, [r4, r1] + mov r1, #0 + bl FUN_0202AC64 + ldr r1, _02232B60 ; =0x00002B54 + str r0, [r4, r1] + sub r1, #0x14 + ldr r0, [r4, r1] + mov r1, #1 + bl FUN_0202AC64 + ldr r1, _02232B64 ; =0x00002B58 + str r0, [r4, r1] + sub r1, #0x18 + ldr r0, [r4, r1] + mov r1, #2 + bl FUN_0202AC64 + ldr r1, _02232B68 ; =0x00002B5C + mov r2, #1 + str r0, [r4, r1] + add r1, r1, #4 + ldr r1, [r4, r1] + add r0, r4, #0 + bl MOD83_022320A4 + ldr r1, _02232B6C ; =0x00002B60 + str r0, [r4, r1] + mov r0, #1 + str r0, [r5] + b _02232CF4 _02232854: - bl MOD83_022331C0 - ldr r0, _02232B70 ; =0x0000299C - ldr r0, [r4, r0] - bl MOD83_022331E0 - mov r0, #2 - str r0, [r5] - b _02232CF4 + bl MOD83_022331C0 + ldr r0, _02232B70 ; =0x0000299C + ldr r0, [r4, r0] + bl MOD83_022331E0 + mov r0, #2 + str r0, [r5] + b _02232CF4 _02232866: - bl FUN_0201BD5C - add r0, r4, #0 - mov r1, #0 - bl MOD83_02232118 - mov r1, #0x1e - mov r0, #0 - lsl r1, r1, #4 - mov r2, #0x57 - bl FUN_02002ED0 - mov r1, #0 - str r1, [sp] - mov r0, #0x57 - str r0, [sp, #4] - ldr r0, _02232B70 ; =0x0000299C - mov r2, #1 - ldr r0, [r4, r0] - mov r3, #0xd - bl FUN_0200CB00 - mov r0, #1 - str r0, [sp] - mov r0, #0x57 - str r0, [sp, #4] - ldr r0, _02232B70 ; =0x0000299C - mov r1, #0 - ldr r0, [r4, r0] - mov r2, #0xa - mov r3, #0xe - bl FUN_0200CB00 - ldr r0, _02232B5C ; =0x00002B4C - mov r1, #0 - ldr r0, [r4, r0] - mov r2, #0x13 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r0, #0x57 - str r0, [sp, #4] - ldr r0, _02232B70 ; =0x0000299C - mov r3, #0xa - ldr r0, [r4, r0] - bl FUN_0200CD68 - add r0, r4, #0 - mov r1, #1 - mov r2, #0 - bl MOD83_02231DF0 - add r0, r4, #0 - mov r1, #1 - mov r2, #3 - add r3, r5, #0 - bl MOD83_02231DBC - b _02232CF4 + bl FUN_0201BD5C + add r0, r4, #0 + mov r1, #0 + bl MOD83_02232118 + mov r1, #0x1e + mov r0, #0 + lsl r1, r1, #4 + mov r2, #0x57 + bl FUN_02002ED0 + mov r1, #0 + str r1, [sp] + mov r0, #0x57 + str r0, [sp, #4] + ldr r0, _02232B70 ; =0x0000299C + mov r2, #1 + ldr r0, [r4, r0] + mov r3, #0xd + bl FUN_0200CB00 + mov r0, #1 + str r0, [sp] + mov r0, #0x57 + str r0, [sp, #4] + ldr r0, _02232B70 ; =0x0000299C + mov r1, #0 + ldr r0, [r4, r0] + mov r2, #0xa + mov r3, #0xe + bl FUN_0200CB00 + ldr r0, _02232B5C ; =0x00002B4C + mov r1, #0 + ldr r0, [r4, r0] + mov r2, #0x13 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #0x57 + str r0, [sp, #4] + ldr r0, _02232B70 ; =0x0000299C + mov r3, #0xa + ldr r0, [r4, r0] + bl FUN_0200CD68 + add r0, r4, #0 + mov r1, #1 + mov r2, #0 + bl MOD83_02231DF0 + add r0, r4, #0 + mov r1, #1 + mov r2, #3 + add r3, r5, #0 + bl MOD83_02231DBC + b _02232CF4 _022328DC: - ldr r1, _02232B6C ; =0x00002B60 - mov r2, #0x40 - ldr r6, [r4, r1] - ldr r1, _02232B74 ; =gMain - ldr r1, [r1, #0x48] - add r3, r1, #0 - tst r3, r2 - beq _022328F8 - add r1, r6, #0 - sub r2, #0x41 - bl MOD83_022320A4 - add r6, r0, #0 - b _02232934 + ldr r1, _02232B6C ; =0x00002B60 + mov r2, #0x40 + ldr r6, [r4, r1] + ldr r1, _02232B74 ; =gMain + ldr r1, [r1, #0x48] + add r3, r1, #0 + tst r3, r2 + beq _022328F8 + add r1, r6, #0 + sub r2, #0x41 + bl MOD83_022320A4 + add r6, r0, #0 + b _02232934 _022328F8: - mov r2, #0x80 - tst r2, r1 - beq _0223290A - add r1, r6, #0 - mov r2, #1 - bl MOD83_022320A4 - add r6, r0, #0 - b _02232934 + mov r2, #0x80 + tst r2, r1 + beq _0223290A + add r1, r6, #0 + mov r2, #1 + bl MOD83_022320A4 + add r6, r0, #0 + b _02232934 _0223290A: - mov r0, #2 - tst r0, r1 - beq _02232924 - ldr r0, _02232B78 ; =0x000005DC - bl PlaySE - add r0, r4, #0 - mov r1, #0 - mov r2, #0x1c - add r3, r5, #0 - bl MOD83_02231DBC - b _02232934 + mov r0, #2 + tst r0, r1 + beq _02232924 + ldr r0, _02232B78 ; =0x000005DC + bl PlaySE + add r0, r4, #0 + mov r1, #0 + mov r2, #0x1c + add r3, r5, #0 + bl MOD83_02231DBC + b _02232934 _02232924: - mov r0, #1 - tst r0, r1 - beq _02232934 - ldr r0, _02232B78 ; =0x000005DC - bl PlaySE - mov r0, #4 - str r0, [r5] + mov r0, #1 + tst r0, r1 + beq _02232934 + ldr r0, _02232B78 ; =0x000005DC + bl PlaySE + mov r0, #4 + str r0, [r5] _02232934: - ldr r0, _02232B6C ; =0x00002B60 - ldr r0, [r4, r0] - cmp r0, r6 - bne _0223293E - b _02232CF4 + ldr r0, _02232B6C ; =0x00002B60 + ldr r0, [r4, r0] + cmp r0, r6 + bne _0223293E + b _02232CF4 _0223293E: - mov r0, #6 - lsl r0, r0, #8 - bl PlaySE - ldr r0, _02232B6C ; =0x00002B60 - mov r1, #1 - str r6, [r4, r0] - add r0, r4, #0 - mov r2, #0 - bl MOD83_02231DF0 - b _02232CF4 + mov r0, #6 + lsl r0, r0, #8 + bl PlaySE + ldr r0, _02232B6C ; =0x00002B60 + mov r1, #1 + str r6, [r4, r0] + add r0, r4, #0 + mov r2, #0 + bl MOD83_02231DF0 + b _02232CF4 _02232956: - ldr r1, _02232B7C ; =0x00002B70 - mov r3, #0xa - add r1, r4, r1 - mov r2, #7 - lsl r3, r3, #6 - bl MOD83_02231F88 - ldr r3, _02232B80 ; =0x00002B90 - mov r2, #8 - add r1, r3, #0 - str r0, [r4, r3] - sub r1, #0x10 - ldr r3, [r4, r3] - add r0, r4, #0 - add r1, r4, r1 - bl MOD83_02231F88 - mov r0, #5 - str r0, [r5] - b _02232CF4 + ldr r1, _02232B7C ; =0x00002B70 + mov r3, #0xa + add r1, r4, r1 + mov r2, #7 + lsl r3, r3, #6 + bl MOD83_02231F88 + ldr r3, _02232B80 ; =0x00002B90 + mov r2, #8 + add r1, r3, #0 + str r0, [r4, r3] + sub r1, #0x10 + ldr r3, [r4, r3] + add r0, r4, #0 + add r1, r4, r1 + bl MOD83_02231F88 + mov r0, #5 + str r0, [r5] + b _02232CF4 _0223297E: - add r0, r6, #0 - add r1, r5, #0 - mov r2, #0 - bl MOD83_02232208 - ldr r0, _02232B74 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - beq _02232A54 - ldr r0, _02232B78 ; =0x000005DC - bl PlaySE - mov r0, #0xb - str r0, [r5] - b _02232CF4 + add r0, r6, #0 + add r1, r5, #0 + mov r2, #0 + bl MOD83_02232208 + ldr r0, _02232B74 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + beq _02232A54 + ldr r0, _02232B78 ; =0x000005DC + bl PlaySE + mov r0, #0xb + str r0, [r5] + b _02232CF4 _0223299E: - mov r0, #6 - lsl r0, r0, #8 - bl PlaySE - mov r0, #0x10 - mov r1, #0 - bl GX_EngineAToggleLayers - ldr r0, _02232B7C ; =0x00002B70 - mov r1, #0 - add r0, r4, r0 - bl MOD83_022316D8 - mov r0, #0xae - lsl r0, r0, #6 - add r0, r4, r0 - mov r1, #0 - bl MOD83_022316C0 - mov r1, #1 - add r0, r4, #0 - lsl r2, r1, #0xc - mov r3, #0x66 - bl MOD83_0223243C - mov r0, #7 - str r0, [r5] - b _02232CF4 + mov r0, #6 + lsl r0, r0, #8 + bl PlaySE + mov r0, #0x10 + mov r1, #0 + bl GX_EngineAToggleLayers + ldr r0, _02232B7C ; =0x00002B70 + mov r1, #0 + add r0, r4, r0 + bl MOD83_022316D8 + mov r0, #0xae + lsl r0, r0, #6 + add r0, r4, r0 + mov r1, #0 + bl MOD83_022316C0 + mov r1, #1 + add r0, r4, #0 + lsl r2, r1, #0xc + mov r3, #0x66 + bl MOD83_0223243C + mov r0, #7 + str r0, [r5] + b _02232CF4 _022329D6: - bl MOD83_022324DC - cmp r0, #0 - beq _02232A54 - mov r1, #1 - add r0, r4, #0 - add r2, r1, #0 - bl MOD83_02231DF0 - ldr r2, _02232B84 ; =0x00708000 - add r0, r4, #0 - mov r1, #0 - lsr r3, r2, #1 - bl MOD83_0223243C - mov r0, #8 - str r0, [r5] - b _02232CF4 + bl MOD83_022324DC + cmp r0, #0 + beq _02232A54 + mov r1, #1 + add r0, r4, #0 + add r2, r1, #0 + bl MOD83_02231DF0 + ldr r2, _02232B84 ; =0x00708000 + add r0, r4, #0 + mov r1, #0 + lsr r3, r2, #1 + bl MOD83_0223243C + mov r0, #8 + str r0, [r5] + b _02232CF4 _022329FA: - bl MOD83_022324DC - ldr r0, _02232B74 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #3 - tst r1, r0 - beq _02232A54 - lsl r0, r0, #9 - bl PlaySE - mov r1, #1 - add r0, r4, #0 - lsl r2, r1, #0xc - mov r3, #0x66 - bl MOD83_0223243C - mov r0, #9 - str r0, [r5] - b _02232CF4 + bl MOD83_022324DC + ldr r0, _02232B74 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #3 + tst r1, r0 + beq _02232A54 + lsl r0, r0, #9 + bl PlaySE + mov r1, #1 + add r0, r4, #0 + lsl r2, r1, #0xc + mov r3, #0x66 + bl MOD83_0223243C + mov r0, #9 + str r0, [r5] + b _02232CF4 _02232A20: - bl MOD83_022324DC - cmp r0, #0 - beq _02232A54 - add r0, r4, #0 - mov r1, #1 - mov r2, #0 - bl MOD83_02231DF0 - ldr r2, _02232B84 ; =0x00708000 - add r0, r4, #0 - mov r1, #0 - lsr r3, r2, #1 - bl MOD83_0223243C - mov r0, #0x10 - mov r1, #0 - bl GX_EngineAToggleLayers - mov r0, #0xa - str r0, [r5] - b _02232CF4 + bl MOD83_022324DC + cmp r0, #0 + beq _02232A54 + add r0, r4, #0 + mov r1, #1 + mov r2, #0 + bl MOD83_02231DF0 + ldr r2, _02232B84 ; =0x00708000 + add r0, r4, #0 + mov r1, #0 + lsr r3, r2, #1 + bl MOD83_0223243C + mov r0, #0x10 + mov r1, #0 + bl GX_EngineAToggleLayers + mov r0, #0xa + str r0, [r5] + b _02232CF4 _02232A4C: - bl MOD83_022324DC - cmp r0, #0 - bne _02232A56 + bl MOD83_022324DC + cmp r0, #0 + bne _02232A56 _02232A54: - b _02232CF4 + b _02232CF4 _02232A56: - ldr r0, _02232B7C ; =0x00002B70 - mov r1, #0 - add r0, r4, r0 - mov r2, #0x13 - mov r3, #0xa - bl FUN_0200D0BC - mov r0, #0xae - lsl r0, r0, #6 - add r0, r4, r0 - mov r1, #0 - mov r2, #0xa - mov r3, #0xe - bl FUN_0200CCA4 - mov r0, #0x10 - mov r1, #1 - bl GX_EngineAToggleLayers - add r0, r4, #0 - bl MOD83_022324A0 - mov r0, #5 - str r0, [r5] - b _02232CF4 + ldr r0, _02232B7C ; =0x00002B70 + mov r1, #0 + add r0, r4, r0 + mov r2, #0x13 + mov r3, #0xa + bl FUN_0200D0BC + mov r0, #0xae + lsl r0, r0, #6 + add r0, r4, r0 + mov r1, #0 + mov r2, #0xa + mov r3, #0xe + bl FUN_0200CCA4 + mov r0, #0x10 + mov r1, #1 + bl GX_EngineAToggleLayers + add r0, r4, #0 + bl MOD83_022324A0 + mov r0, #5 + str r0, [r5] + b _02232CF4 _02232A88: - bl MOD83_02231A00 - ldr r0, _02232B7C ; =0x00002B70 - mov r1, #0 - add r0, r4, r0 - bl MOD83_022316D8 - ldr r0, _02232B7C ; =0x00002B70 - add r0, r4, r0 - bl ClearWindowTilemapAndCopyToVram - ldr r0, _02232B7C ; =0x00002B70 - add r0, r4, r0 - bl RemoveWindow - mov r0, #3 - str r0, [r5] - b _02232CF4 + bl MOD83_02231A00 + ldr r0, _02232B7C ; =0x00002B70 + mov r1, #0 + add r0, r4, r0 + bl MOD83_022316D8 + ldr r0, _02232B7C ; =0x00002B70 + add r0, r4, r0 + bl ClearWindowTilemapAndCopyToVram + ldr r0, _02232B7C ; =0x00002B70 + add r0, r4, r0 + bl RemoveWindow + mov r0, #3 + str r0, [r5] + b _02232CF4 _02232AAC: - ldr r2, _02232B88 ; =MOD83_022319D0 - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02232208 - b _02232CF4 + ldr r2, _02232B88 ; =MOD83_022319D0 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02232208 + b _02232CF4 _02232AB8: - ldr r2, _02232B88 ; =MOD83_022319D0 - add r0, r6, #0 - add r1, r5, #0 - bl MOD83_02232208 - b _02232CF4 + ldr r2, _02232B88 ; =MOD83_022319D0 + add r0, r6, #0 + add r1, r5, #0 + bl MOD83_02232208 + b _02232CF4 _02232AC4: - mov r1, #0xae - lsl r1, r1, #6 - ldr r2, _02232B8C ; =0x00010200 - add r1, r4, r1 - bl MOD83_02231D74 - mov r0, #0xd - str r0, [r5] - b _02232CF4 + mov r1, #0xae + lsl r1, r1, #6 + ldr r2, _02232B8C ; =0x00010200 + add r1, r4, r1 + bl MOD83_02231D74 + mov r0, #0xd + str r0, [r5] + b _02232CF4 _02232AD6: - mov r1, #0 - mov r2, #0x10 - add r3, r5, #0 - bl MOD83_02231DBC - b _02232CF4 + mov r1, #0 + mov r2, #0x10 + add r3, r5, #0 + bl MOD83_02231DBC + b _02232CF4 _02232AE2: - bl MOD83_02231A00 - ldr r0, _02232B7C ; =0x00002B70 - mov r1, #0 - add r0, r4, r0 - bl MOD83_022316D8 - ldr r0, _02232B7C ; =0x00002B70 - add r0, r4, r0 - bl ClearWindowTilemapAndCopyToVram - ldr r0, _02232B7C ; =0x00002B70 - add r0, r4, r0 - bl RemoveWindow - add r0, r4, #0 - mov r1, #0 - mov r2, #3 - bl MOD83_02231DF0 - ldr r0, _02232B70 ; =0x0000299C - ldr r0, [r4, r0] - bl MOD83_02231820 - add r0, r4, #0 - bl MOD83_022315D0 - add r0, r4, #0 - bl MOD83_0223166C - mov r0, #0x11 - str r0, [r5] - b _02232CF4 + bl MOD83_02231A00 + ldr r0, _02232B7C ; =0x00002B70 + mov r1, #0 + add r0, r4, r0 + bl MOD83_022316D8 + ldr r0, _02232B7C ; =0x00002B70 + add r0, r4, r0 + bl ClearWindowTilemapAndCopyToVram + ldr r0, _02232B7C ; =0x00002B70 + add r0, r4, r0 + bl RemoveWindow + add r0, r4, #0 + mov r1, #0 + mov r2, #3 + bl MOD83_02231DF0 + ldr r0, _02232B70 ; =0x0000299C + ldr r0, [r4, r0] + bl MOD83_02231820 + add r0, r4, #0 + bl MOD83_022315D0 + add r0, r4, #0 + bl MOD83_0223166C + mov r0, #0x11 + str r0, [r5] + b _02232CF4 _02232B24: - bl MOD83_02232D44 - bl FUN_02033E74 - add r0, r4, #0 - mov r1, #1 - mov r2, #0x12 - add r3, r5, #0 - bl MOD83_02231DBC - b _02232CF4 + bl MOD83_02232D44 + bl FUN_02033E74 + add r0, r4, #0 + mov r1, #1 + mov r2, #0x12 + add r3, r5, #0 + bl MOD83_02231DBC + b _02232CF4 _02232B3A: - mov r6, #0 - add r0, r6, #0 - bl FUN_02030E7C - cmp r0, #0 - beq _02232BD0 - add r0, r4, #0 - add r0, #0x90 - bl FUN_0202F10C - ldr r1, _02232B90 ; =0x00002AA8 - b _02232B94 - nop + mov r6, #0 + add r0, r6, #0 + bl FUN_02030E7C + cmp r0, #0 + beq _02232BD0 + add r0, r4, #0 + add r0, #0x90 + bl FUN_0202F10C + ldr r1, _02232B90 ; =0x00002AA8 + b _02232B94 + nop _02232B54: .word 0x00002B44 _02232B58: .word 0x00002B48 _02232B5C: .word 0x00002B4C @@ -10682,186 +10682,186 @@ _02232B88: .word MOD83_022319D0 _02232B8C: .word 0x00010200 _02232B90: .word 0x00002AA8 _02232B94: - add r0, r4, #0 - add r1, r4, r1 - bl MOD83_02232E0C - add r6, r0, #0 - bne _02232BC0 - ldr r0, _02232D18 ; =0x00002BD0 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02232BC0 - ldr r0, _02232D1C ; =0x00002AA8 - mov r1, #0 - add r0, r4, r0 - bl FillWindowPixelBuffer - ldr r0, _02232D1C ; =0x00002AA8 - add r0, r4, r0 - bl CopyWindowToVram - ldr r0, _02232D18 ; =0x00002BD0 - mov r1, #0 - str r1, [r4, r0] + add r0, r4, #0 + add r1, r4, r1 + bl MOD83_02232E0C + add r6, r0, #0 + bne _02232BC0 + ldr r0, _02232D18 ; =0x00002BD0 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02232BC0 + ldr r0, _02232D1C ; =0x00002AA8 + mov r1, #0 + add r0, r4, r0 + bl FillWindowPixelBuffer + ldr r0, _02232D1C ; =0x00002AA8 + add r0, r4, r0 + bl CopyWindowToVram + ldr r0, _02232D18 ; =0x00002BD0 + mov r1, #0 + str r1, [r4, r0] _02232BC0: - ldr r1, _02232D20 ; =0x00002A98 - add r0, r4, #0 - add r1, r4, r1 - add r2, r6, #0 - bl MOD83_02232FE4 - ldr r0, _02232D18 ; =0x00002BD0 - str r6, [r4, r0] + ldr r1, _02232D20 ; =0x00002A98 + add r0, r4, #0 + add r1, r4, r1 + add r2, r6, #0 + bl MOD83_02232FE4 + ldr r0, _02232D18 ; =0x00002BD0 + str r6, [r4, r0] _02232BD0: - add r0, r4, #0 - add r1, r6, #0 - add r2, r5, #0 - bl MOD83_02232668 - b _02232CF4 + add r0, r4, #0 + add r1, r6, #0 + add r2, r5, #0 + bl MOD83_02232668 + b _02232CF4 _02232BDC: - mov r1, #0 - mov r2, #0x14 - add r3, r5, #0 - bl MOD83_02231DBC - b _02232CF4 + mov r1, #0 + mov r2, #0x14 + add r3, r5, #0 + bl MOD83_02231DBC + b _02232CF4 _02232BE8: - bl MOD83_022315F8 - ldr r0, _02232D24 ; =0x00002B70 - mov r1, #0 - add r0, r4, r0 - bl MOD83_022316D8 - mov r0, #0xae - lsl r0, r0, #6 - add r0, r4, r0 - mov r1, #0 - bl MOD83_022316C0 - add r0, r4, #0 - mov r1, #1 - mov r2, #0 - bl MOD83_02231DF0 - mov r1, #0x1e - mov r0, #0 - lsl r1, r1, #4 - mov r2, #0x57 - bl FUN_02002ED0 - add r0, r4, #0 - mov r1, #1 - mov r2, #4 - add r3, r5, #0 - bl MOD83_02231DBC - b _02232CF4 + bl MOD83_022315F8 + ldr r0, _02232D24 ; =0x00002B70 + mov r1, #0 + add r0, r4, r0 + bl MOD83_022316D8 + mov r0, #0xae + lsl r0, r0, #6 + add r0, r4, r0 + mov r1, #0 + bl MOD83_022316C0 + add r0, r4, #0 + mov r1, #1 + mov r2, #0 + bl MOD83_02231DF0 + mov r1, #0x1e + mov r0, #0 + lsl r1, r1, #4 + mov r2, #0x57 + bl FUN_02002ED0 + add r0, r4, #0 + mov r1, #1 + mov r2, #4 + add r3, r5, #0 + bl MOD83_02231DBC + b _02232CF4 _02232C26: - bl FUN_02031810 - cmp r0, #0 - bne _02232CF4 - ldr r0, _02232D28 ; =0x00002BE0 - ldr r0, [r4, r0] - str r0, [r5] - b _02232CF4 + bl FUN_02031810 + cmp r0, #0 + bne _02232CF4 + ldr r0, _02232D28 ; =0x00002BE0 + ldr r0, [r4, r0] + str r0, [r5] + b _02232CF4 _02232C36: - ldr r0, _02232D2C ; =0x00002BD4 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _02232CF4 - ldr r1, _02232D30 ; =0x00002D78 - add r0, r4, #0 - ldr r2, [r4] - add r0, #0x90 - add r1, r4, r1 - bl MOD83_022392EC - ldr r0, _02232D30 ; =0x00002D78 - mov r1, #0xd6 - add r0, r4, r0 - lsl r1, r1, #2 - bl MOD83_0222F8F0 - add r0, r4, #0 - bl MOD83_02232610 - mov r0, #0x17 - str r0, [r5] - b _02232CF4 + ldr r0, _02232D2C ; =0x00002BD4 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _02232CF4 + ldr r1, _02232D30 ; =0x00002D78 + add r0, r4, #0 + ldr r2, [r4] + add r0, #0x90 + add r1, r4, r1 + bl MOD83_022392EC + ldr r0, _02232D30 ; =0x00002D78 + mov r1, #0xd6 + add r0, r4, r0 + lsl r1, r1, #2 + bl MOD83_0222F8F0 + add r0, r4, #0 + bl MOD83_02232610 + mov r0, #0x17 + str r0, [r5] + b _02232CF4 _02232C6A: - bl MOD83_02239574 - cmp r0, #4 - bne _02232CF4 - mov r0, #0x93 - bl FUN_02031588 - mov r0, #0x18 - str r0, [r5] - b _02232CF4 + bl MOD83_02239574 + cmp r0, #4 + bne _02232CF4 + mov r0, #0x93 + bl FUN_02031588 + mov r0, #0x18 + str r0, [r5] + b _02232CF4 _02232C7E: - bl MOD83_02232DF0 - cmp r0, #0 - beq _02232C90 - mov r0, #0x93 - bl FUN_020315D8 - cmp r0, #1 - bne _02232CF4 + bl MOD83_02232DF0 + cmp r0, #0 + beq _02232C90 + mov r0, #0x93 + bl FUN_020315D8 + cmp r0, #1 + bne _02232CF4 _02232C90: - bl MOD83_02239544 - ldr r1, _02232D24 ; =0x00002B70 - mov r3, #0xa - add r0, r4, #0 - add r1, r4, r1 - mov r2, #0x12 - lsl r3, r3, #6 - bl MOD83_02231F88 - ldr r0, _02232D34 ; =0x00003CF0 - ldr r0, [r4, r0] - bl FUN_0200DBFC - add r0, r4, #0 - add r1, r5, #0 - mov r2, #0x19 - bl MOD83_02233084 - b _02232CF4 + bl MOD83_02239544 + ldr r1, _02232D24 ; =0x00002B70 + mov r3, #0xa + add r0, r4, #0 + add r1, r4, r1 + mov r2, #0x12 + lsl r3, r3, #6 + bl MOD83_02231F88 + ldr r0, _02232D34 ; =0x00003CF0 + ldr r0, [r4, r0] + bl FUN_0200DBFC + add r0, r4, #0 + add r1, r5, #0 + mov r2, #0x19 + bl MOD83_02233084 + b _02232CF4 _02232CB8: - ldr r0, _02232D38 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #3 - tst r0, r1 - beq _02232CF4 - mov r0, #0x13 - str r0, [r5] - b _02232CF4 + ldr r0, _02232D38 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #3 + tst r0, r1 + beq _02232CF4 + mov r0, #0x13 + str r0, [r5] + b _02232CF4 _02232CC8: - mov r1, #0 - mov r2, #0x1c - add r3, r5, #0 - bl MOD83_02231DBC - b _02232CF4 + mov r1, #0 + mov r2, #0x1c + add r3, r5, #0 + bl MOD83_02231DBC + b _02232CF4 _02232CD4: - bl FUN_0200E308 - cmp r0, #0 - beq _02232CF4 - ldr r0, _02232D28 ; =0x00002BE0 - ldr r0, [r4, r0] - str r0, [r5] - b _02232CF4 + bl FUN_0200E308 + cmp r0, #0 + beq _02232CF4 + ldr r0, _02232D28 ; =0x00002BE0 + ldr r0, [r4, r0] + str r0, [r5] + b _02232CF4 _02232CE4: - bl MOD83_022315F8 - add r0, r4, #0 - bl MOD83_022324A0 - add sp, #8 - mov r0, #1 - pop {r4, r5, r6, pc} + bl MOD83_022315F8 + add r0, r4, #0 + bl MOD83_022324A0 + add sp, #8 + mov r0, #1 + pop {r4, r5, r6, pc} _02232CF4: - ldr r0, _02232D3C ; =0x00002BE4 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02232D00 - bl FUN_0201FDEC + ldr r0, _02232D3C ; =0x00002BE4 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02232D00 + bl FUN_0201FDEC _02232D00: - bl MOD83_02238D58 - ldr r0, _02232D40 ; =0x00003CE8 - ldr r1, [r4, r0] - cmp r1, #0 - beq _02232D10 - add r0, r4, #0 - blx r1 + bl MOD83_02238D58 + ldr r0, _02232D40 ; =0x00003CE8 + ldr r1, [r4, r0] + cmp r1, #0 + beq _02232D10 + add r0, r4, #0 + blx r1 _02232D10: - mov r0, #0 - add sp, #8 - pop {r4, r5, r6, pc} - nop + mov r0, #0 + add sp, #8 + pop {r4, r5, r6, pc} + nop _02232D18: .word 0x00002BD0 _02232D1C: .word 0x00002AA8 _02232D20: .word 0x00002A98 @@ -10873,8099 +10873,8099 @@ _02232D34: .word 0x00003CF0 _02232D38: .word gMain _02232D3C: .word 0x00002BE4 _02232D40: .word 0x00003CE8 - thumb_func_end MOD83_02232788 + thumb_func_end MOD83_02232788 - thumb_func_start MOD83_02232D44 + thumb_func_start MOD83_02232D44 MOD83_02232D44: ; 0x02232D44 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _02232DA8 ; =0x00002B60 - mov r2, #0xd6 - ldr r1, [r5, r0] - sub r0, #0xc - lsl r1, r1, #2 - add r1, r5, r1 - ldr r4, [r1, r0] - add r0, r5, #0 - add r0, #0xe0 - add r1, r4, #0 - lsl r2, r2, #2 - bl memcpy - mov r1, #0x41 - add r0, r5, #0 - lsl r1, r1, #2 - add r0, #0x90 - add r1, r4, r1 - mov r2, #0x50 - bl memcpy - ldr r0, _02232DAC ; =0x00000428 - mov r1, #0 - strb r1, [r5, r0] - add r0, r5, #0 - add r0, #0xde - ldrb r1, [r0] - mov r0, #0x10 - mov r2, #0xf - bic r1, r0 - add r0, r5, #0 - add r0, #0xde - strb r1, [r0] - add r0, r5, #0 - add r0, #0xde - ldrb r1, [r0] - mov r0, #0x20 - orr r1, r0 - add r0, r5, #0 - add r0, #0xde - strb r1, [r0] - ldr r1, _02232DB0 ; =0x00002B44 - add r0, r5, #4 - ldr r1, [r5, r1] - bl MOD83_0222F8C4 - mov r0, #0 - pop {r3, r4, r5, pc} - .align 2, 0 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _02232DA8 ; =0x00002B60 + mov r2, #0xd6 + ldr r1, [r5, r0] + sub r0, #0xc + lsl r1, r1, #2 + add r1, r5, r1 + ldr r4, [r1, r0] + add r0, r5, #0 + add r0, #0xe0 + add r1, r4, #0 + lsl r2, r2, #2 + bl memcpy + mov r1, #0x41 + add r0, r5, #0 + lsl r1, r1, #2 + add r0, #0x90 + add r1, r4, r1 + mov r2, #0x50 + bl memcpy + ldr r0, _02232DAC ; =0x00000428 + mov r1, #0 + strb r1, [r5, r0] + add r0, r5, #0 + add r0, #0xde + ldrb r1, [r0] + mov r0, #0x10 + mov r2, #0xf + bic r1, r0 + add r0, r5, #0 + add r0, #0xde + strb r1, [r0] + add r0, r5, #0 + add r0, #0xde + ldrb r1, [r0] + mov r0, #0x20 + orr r1, r0 + add r0, r5, #0 + add r0, #0xde + strb r1, [r0] + ldr r1, _02232DB0 ; =0x00002B44 + add r0, r5, #4 + ldr r1, [r5, r1] + bl MOD83_0222F8C4 + mov r0, #0 + pop {r3, r4, r5, pc} + .align 2, 0 _02232DA8: .word 0x00002B60 _02232DAC: .word 0x00000428 _02232DB0: .word 0x00002B44 - thumb_func_end MOD83_02232D44 + thumb_func_end MOD83_02232D44 - thumb_func_start MOD83_02232DB4 + thumb_func_start MOD83_02232DB4 MOD83_02232DB4: ; 0x02232DB4 - push {r3, r4} - ldr r3, [r0] - ldr r1, [r0, #4] - add r2, r0, #0 - mov r4, #0 - cmp r1, r3 - bge _02232DC8 - add r3, r1, #0 - mov r4, #1 - add r2, r0, #4 + push {r3, r4} + ldr r3, [r0] + ldr r1, [r0, #4] + add r2, r0, #0 + mov r4, #0 + cmp r1, r3 + bge _02232DC8 + add r3, r1, #0 + mov r4, #1 + add r2, r0, #4 _02232DC8: - ldr r1, [r0, #8] - cmp r1, r3 - bge _02232DD6 - add r2, r0, #0 - add r3, r1, #0 - mov r4, #2 - add r2, #8 + ldr r1, [r0, #8] + cmp r1, r3 + bge _02232DD6 + add r2, r0, #0 + add r3, r1, #0 + mov r4, #2 + add r2, #8 _02232DD6: - ldr r1, [r0, #0xc] - cmp r1, r3 - bge _02232DE2 - add r2, r0, #0 - mov r4, #3 - add r2, #0xc + ldr r1, [r0, #0xc] + cmp r1, r3 + bge _02232DE2 + add r2, r0, #0 + mov r4, #3 + add r2, #0xc _02232DE2: - ldr r0, _02232DEC ; =0x3FFF0001 - str r0, [r2] - add r0, r4, #1 - pop {r3, r4} - bx lr - .align 2, 0 + ldr r0, _02232DEC ; =0x3FFF0001 + str r0, [r2] + add r0, r4, #1 + pop {r3, r4} + bx lr + .align 2, 0 _02232DEC: .word 0x3FFF0001 - thumb_func_end MOD83_02232DB4 + thumb_func_end MOD83_02232DB4 - thumb_func_start MOD83_02232DF0 + thumb_func_start MOD83_02232DF0 MOD83_02232DF0: ; 0x02232DF0 - push {r3, r4, r5, lr} - mov r5, #0 - mov r4, #1 + push {r3, r4, r5, lr} + mov r5, #0 + mov r4, #1 _02232DF6: - add r0, r4, #0 - bl FUN_0202DFA4 - cmp r0, #0 - beq _02232E02 - add r5, r5, #1 + add r0, r4, #0 + bl FUN_0202DFA4 + cmp r0, #0 + beq _02232E02 + add r5, r5, #1 _02232E02: - add r4, r4, #1 - cmp r4, #5 - blt _02232DF6 - add r0, r5, #0 - pop {r3, r4, r5, pc} - thumb_func_end MOD83_02232DF0 - - thumb_func_start MOD83_02232E0C + add r4, r4, #1 + cmp r4, #5 + blt _02232DF6 + add r0, r5, #0 + pop {r3, r4, r5, pc} + thumb_func_end MOD83_02232DF0 + + thumb_func_start MOD83_02232E0C MOD83_02232E0C: ; 0x02232E0C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x48 - add r5, r0, #0 - mov r6, #0 - mov r0, #1 - str r1, [sp, #0x10] - add r7, r6, #0 - str r0, [sp, #0x24] - add r4, r5, #4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x48 + add r5, r0, #0 + mov r6, #0 + mov r0, #1 + str r1, [sp, #0x10] + add r7, r6, #0 + str r0, [sp, #0x24] + add r4, r5, #4 _02232E1E: - ldr r0, [sp, #0x24] - bl FUN_0202DFA4 - cmp r0, #0 - bne _02232E40 - ldr r0, _02232FCC ; =0x00002BA8 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02232E32 - add r7, r7, #1 + ldr r0, [sp, #0x24] + bl FUN_0202DFA4 + cmp r0, #0 + bne _02232E40 + ldr r0, _02232FCC ; =0x00002BA8 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02232E32 + add r7, r7, #1 _02232E32: - ldr r0, _02232FCC ; =0x00002BA8 - mov r1, #0 - str r1, [r4, r0] - ldr r1, _02232FD0 ; =0x3FFF0001 - add r0, #0x14 - str r1, [r4, r0] - b _02232E68 + ldr r0, _02232FCC ; =0x00002BA8 + mov r1, #0 + str r1, [r4, r0] + ldr r1, _02232FD0 ; =0x3FFF0001 + add r0, #0x14 + str r1, [r4, r0] + b _02232E68 _02232E40: - ldr r1, _02232FCC ; =0x00002BA8 - ldr r1, [r4, r1] - cmp r1, r0 - beq _02232E66 - ldr r1, _02232FCC ; =0x00002BA8 - add r7, r7, #1 - str r0, [r4, r1] - add r0, r1, #0 - add r1, #0x34 - ldr r1, [r5, r1] - add r0, #0x34 - add r2, r1, #1 - ldr r0, [r5, r0] - ldr r1, _02232FD4 ; =0x00002BDC - add r6, r6, #1 - str r2, [r5, r1] - sub r1, #0x20 - str r0, [r4, r1] - b _02232E68 + ldr r1, _02232FCC ; =0x00002BA8 + ldr r1, [r4, r1] + cmp r1, r0 + beq _02232E66 + ldr r1, _02232FCC ; =0x00002BA8 + add r7, r7, #1 + str r0, [r4, r1] + add r0, r1, #0 + add r1, #0x34 + ldr r1, [r5, r1] + add r0, #0x34 + add r2, r1, #1 + ldr r0, [r5, r0] + ldr r1, _02232FD4 ; =0x00002BDC + add r6, r6, #1 + str r2, [r5, r1] + sub r1, #0x20 + str r0, [r4, r1] + b _02232E68 _02232E66: - add r6, r6, #1 + add r6, r6, #1 _02232E68: - ldr r0, [sp, #0x24] - add r4, r4, #4 - add r0, r0, #1 - str r0, [sp, #0x24] - cmp r0, #5 - blt _02232E1E - cmp r7, #0 - bne _02232E7E - add sp, #0x48 - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} + ldr r0, [sp, #0x24] + add r4, r4, #4 + add r0, r0, #1 + str r0, [sp, #0x24] + cmp r0, #5 + blt _02232E1E + cmp r7, #0 + bne _02232E7E + add sp, #0x48 + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} _02232E7E: - mov r1, #0xaf - lsl r1, r1, #6 - ldr r0, [r5, r1] - str r0, [sp, #0x38] - add r0, r1, #4 - ldr r0, [r5, r0] - str r0, [sp, #0x3c] - add r0, r1, #0 - add r0, #8 - ldr r0, [r5, r0] - add r1, #0xc - str r0, [sp, #0x40] - ldr r0, [r5, r1] - str r0, [sp, #0x44] - add r0, sp, #0x38 - bl MOD83_02232DB4 - str r0, [sp, #0x28] - add r0, sp, #0x38 - bl MOD83_02232DB4 - str r0, [sp, #0x2c] - add r0, sp, #0x38 - bl MOD83_02232DB4 - str r0, [sp, #0x30] - add r0, sp, #0x38 - bl MOD83_02232DB4 - str r0, [sp, #0x34] - mov r0, #0x57 - bl ScrStrBufs_new - add r4, r0, #0 - ldr r2, _02232FD8 ; =0x00000172 - mov r0, #1 - mov r1, #0x1a - mov r3, #0x57 - bl NewMsgDataFromNarc - str r0, [sp, #0x1c] - mov r5, #0 - ldr r0, [sp, #0x10] - add r1, r5, #0 - bl FillWindowPixelBuffer - add r0, r5, #0 - str r0, [sp, #0x14] - cmp r6, #0 - ble _02232FAE - add r0, sp, #0x28 - str r0, [sp, #0x18] + mov r1, #0xaf + lsl r1, r1, #6 + ldr r0, [r5, r1] + str r0, [sp, #0x38] + add r0, r1, #4 + ldr r0, [r5, r0] + str r0, [sp, #0x3c] + add r0, r1, #0 + add r0, #8 + ldr r0, [r5, r0] + add r1, #0xc + str r0, [sp, #0x40] + ldr r0, [r5, r1] + str r0, [sp, #0x44] + add r0, sp, #0x38 + bl MOD83_02232DB4 + str r0, [sp, #0x28] + add r0, sp, #0x38 + bl MOD83_02232DB4 + str r0, [sp, #0x2c] + add r0, sp, #0x38 + bl MOD83_02232DB4 + str r0, [sp, #0x30] + add r0, sp, #0x38 + bl MOD83_02232DB4 + str r0, [sp, #0x34] + mov r0, #0x57 + bl ScrStrBufs_new + add r4, r0, #0 + ldr r2, _02232FD8 ; =0x00000172 + mov r0, #1 + mov r1, #0x1a + mov r3, #0x57 + bl NewMsgDataFromNarc + str r0, [sp, #0x1c] + mov r5, #0 + ldr r0, [sp, #0x10] + add r1, r5, #0 + bl FillWindowPixelBuffer + add r0, r5, #0 + str r0, [sp, #0x14] + cmp r6, #0 + ble _02232FAE + add r0, sp, #0x28 + str r0, [sp, #0x18] _02232EE6: - ldr r0, [sp, #0x18] - ldr r0, [r0] - bl FUN_0202DFA4 - add r7, r0, #0 - beq _02232F9E - add r0, r4, #0 - mov r1, #0 - add r2, r7, #0 - bl BufferPlayersName - ldr r1, [sp, #0x1c] - add r0, r4, #0 - mov r2, #0x35 - mov r3, #0x57 - bl ReadMsgData_ExpandPlaceholders - str r0, [sp, #0x20] - add r0, r7, #0 - bl PlayerProfile_GetTrainerGender - cmp r0, #0 - str r5, [sp] - bne _02232F30 - mov r0, #0xff - str r0, [sp, #4] - ldr r0, _02232FDC ; =0x00050600 - mov r1, #0 - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [sp, #0x10] - ldr r2, [sp, #0x20] - add r3, r1, #0 - bl AddTextPrinterParameterized2 - b _02232F4A + ldr r0, [sp, #0x18] + ldr r0, [r0] + bl FUN_0202DFA4 + add r7, r0, #0 + beq _02232F9E + add r0, r4, #0 + mov r1, #0 + add r2, r7, #0 + bl BufferPlayersName + ldr r1, [sp, #0x1c] + add r0, r4, #0 + mov r2, #0x35 + mov r3, #0x57 + bl ReadMsgData_ExpandPlaceholders + str r0, [sp, #0x20] + add r0, r7, #0 + bl PlayerProfile_GetTrainerGender + cmp r0, #0 + str r5, [sp] + bne _02232F30 + mov r0, #0xff + str r0, [sp, #4] + ldr r0, _02232FDC ; =0x00050600 + mov r1, #0 + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + ldr r2, [sp, #0x20] + add r3, r1, #0 + bl AddTextPrinterParameterized2 + b _02232F4A _02232F30: - mov r0, #0xff - str r0, [sp, #4] - mov r0, #0xc1 - lsl r0, r0, #0xa - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - mov r1, #0 - ldr r0, [sp, #0x10] - ldr r2, [sp, #0x20] - add r3, r1, #0 - bl AddTextPrinterParameterized2 + mov r0, #0xff + str r0, [sp, #4] + mov r0, #0xc1 + lsl r0, r0, #0xa + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + mov r1, #0 + ldr r0, [sp, #0x10] + ldr r2, [sp, #0x20] + add r3, r1, #0 + bl AddTextPrinterParameterized2 _02232F4A: - ldr r0, [sp, #0x20] - bl String_dtor - add r0, r7, #0 - bl PlayerProfile_GetTrainerID - add r2, r0, #0 - mov r0, #2 - str r0, [sp] - mov r0, #1 - lsl r2, r2, #0x10 - str r0, [sp, #4] - add r0, r4, #0 - mov r1, #0 - lsr r2, r2, #0x10 - mov r3, #5 - bl BufferIntegerAsString - ldr r1, [sp, #0x1c] - add r0, r4, #0 - mov r2, #0x36 - mov r3, #0x57 - bl ReadMsgData_ExpandPlaceholders - add r7, r0, #0 - str r5, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, _02232FE0 ; =0x000E0F00 - mov r1, #0 - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [sp, #0x10] - add r2, r7, #0 - mov r3, #0x50 - bl AddTextPrinterParameterized2 - add r0, r7, #0 - bl String_dtor - add r5, #0x18 + ldr r0, [sp, #0x20] + bl String_dtor + add r0, r7, #0 + bl PlayerProfile_GetTrainerID + add r2, r0, #0 + mov r0, #2 + str r0, [sp] + mov r0, #1 + lsl r2, r2, #0x10 + str r0, [sp, #4] + add r0, r4, #0 + mov r1, #0 + lsr r2, r2, #0x10 + mov r3, #5 + bl BufferIntegerAsString + ldr r1, [sp, #0x1c] + add r0, r4, #0 + mov r2, #0x36 + mov r3, #0x57 + bl ReadMsgData_ExpandPlaceholders + add r7, r0, #0 + str r5, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, _02232FE0 ; =0x000E0F00 + mov r1, #0 + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + add r2, r7, #0 + mov r3, #0x50 + bl AddTextPrinterParameterized2 + add r0, r7, #0 + bl String_dtor + add r5, #0x18 _02232F9E: - ldr r0, [sp, #0x18] - add r0, r0, #4 - str r0, [sp, #0x18] - ldr r0, [sp, #0x14] - add r0, r0, #1 - str r0, [sp, #0x14] - cmp r0, r6 - blt _02232EE6 + ldr r0, [sp, #0x18] + add r0, r0, #4 + str r0, [sp, #0x18] + ldr r0, [sp, #0x14] + add r0, r0, #1 + str r0, [sp, #0x14] + cmp r0, r6 + blt _02232EE6 _02232FAE: - cmp r6, #0 - beq _02232FB8 - ldr r0, [sp, #0x10] - bl CopyWindowToVram + cmp r6, #0 + beq _02232FB8 + ldr r0, [sp, #0x10] + bl CopyWindowToVram _02232FB8: - ldr r0, [sp, #0x1c] - bl DestroyMsgData - add r0, r4, #0 - bl ScrStrBufs_delete - add r0, r6, #0 - add sp, #0x48 - pop {r3, r4, r5, r6, r7, pc} - nop + ldr r0, [sp, #0x1c] + bl DestroyMsgData + add r0, r4, #0 + bl ScrStrBufs_delete + add r0, r6, #0 + add sp, #0x48 + pop {r3, r4, r5, r6, r7, pc} + nop _02232FCC: .word 0x00002BA8 _02232FD0: .word 0x3FFF0001 _02232FD4: .word 0x00002BDC _02232FD8: .word 0x00000172 _02232FDC: .word 0x00050600 _02232FE0: .word 0x000E0F00 - thumb_func_end MOD83_02232E0C + thumb_func_end MOD83_02232E0C - thumb_func_start MOD83_02232FE4 + thumb_func_start MOD83_02232FE4 MOD83_02232FE4: ; 0x02232FE4 - push {r4, r5, r6, lr} - sub sp, #0x10 - add r5, r0, #0 - ldr r0, _02233070 ; =0x00002B94 - add r4, r1, #0 - str r2, [r5, r0] - ldr r2, _02233074 ; =0x00000172 - mov r0, #1 - mov r1, #0x1a - mov r3, #0x57 - bl NewMsgDataFromNarc - ldr r1, _02233078 ; =0x000029A4 - str r0, [r5, r1] - mov r0, #0x57 - bl ScrStrBufs_new - ldr r1, _0223307C ; =0x000029A0 - str r0, [r5, r1] - add r0, r4, #0 - mov r1, #0 - bl FillWindowPixelBuffer - mov r3, #1 - str r3, [sp] - ldr r0, _0223307C ; =0x000029A0 - str r3, [sp, #4] - ldr r2, _02233070 ; =0x00002B94 - ldr r0, [r5, r0] - ldr r2, [r5, r2] - mov r1, #0 - bl BufferIntegerAsString - ldr r1, _0223307C ; =0x000029A0 - mov r2, #0x38 - ldr r0, [r5, r1] - add r1, r1, #4 - ldr r1, [r5, r1] - mov r3, #0x57 - bl ReadMsgData_ExpandPlaceholders - add r6, r0, #0 - mov r3, #0 - str r3, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, _02233080 ; =0x00010200 - mov r1, #1 - str r0, [sp, #8] - add r0, r4, #0 - add r2, r6, #0 - str r3, [sp, #0xc] - bl AddTextPrinterParameterized2 - add r0, r4, #0 - bl CopyWindowToVram - add r0, r6, #0 - bl String_dtor - ldr r0, _02233078 ; =0x000029A4 - ldr r0, [r5, r0] - bl DestroyMsgData - ldr r0, _0223307C ; =0x000029A0 - ldr r0, [r5, r0] - bl ScrStrBufs_delete - add sp, #0x10 - pop {r4, r5, r6, pc} - .align 2, 0 + push {r4, r5, r6, lr} + sub sp, #0x10 + add r5, r0, #0 + ldr r0, _02233070 ; =0x00002B94 + add r4, r1, #0 + str r2, [r5, r0] + ldr r2, _02233074 ; =0x00000172 + mov r0, #1 + mov r1, #0x1a + mov r3, #0x57 + bl NewMsgDataFromNarc + ldr r1, _02233078 ; =0x000029A4 + str r0, [r5, r1] + mov r0, #0x57 + bl ScrStrBufs_new + ldr r1, _0223307C ; =0x000029A0 + str r0, [r5, r1] + add r0, r4, #0 + mov r1, #0 + bl FillWindowPixelBuffer + mov r3, #1 + str r3, [sp] + ldr r0, _0223307C ; =0x000029A0 + str r3, [sp, #4] + ldr r2, _02233070 ; =0x00002B94 + ldr r0, [r5, r0] + ldr r2, [r5, r2] + mov r1, #0 + bl BufferIntegerAsString + ldr r1, _0223307C ; =0x000029A0 + mov r2, #0x38 + ldr r0, [r5, r1] + add r1, r1, #4 + ldr r1, [r5, r1] + mov r3, #0x57 + bl ReadMsgData_ExpandPlaceholders + add r6, r0, #0 + mov r3, #0 + str r3, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, _02233080 ; =0x00010200 + mov r1, #1 + str r0, [sp, #8] + add r0, r4, #0 + add r2, r6, #0 + str r3, [sp, #0xc] + bl AddTextPrinterParameterized2 + add r0, r4, #0 + bl CopyWindowToVram + add r0, r6, #0 + bl String_dtor + ldr r0, _02233078 ; =0x000029A4 + ldr r0, [r5, r0] + bl DestroyMsgData + ldr r0, _0223307C ; =0x000029A0 + ldr r0, [r5, r0] + bl ScrStrBufs_delete + add sp, #0x10 + pop {r4, r5, r6, pc} + .align 2, 0 _02233070: .word 0x00002B94 _02233074: .word 0x00000172 _02233078: .word 0x000029A4 _0223307C: .word 0x000029A0 _02233080: .word 0x00010200 - thumb_func_end MOD83_02232FE4 + thumb_func_end MOD83_02232FE4 - thumb_func_start MOD83_02233084 + thumb_func_start MOD83_02233084 MOD83_02233084: ; 0x02233084 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl MOD83_0222F9DC - bl FUN_02033ED0 - ldr r0, _022330A0 ; =0x00002BE0 - str r6, [r5, r0] - mov r0, #0x16 - str r0, [r4] - pop {r4, r5, r6, pc} - nop + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl MOD83_0222F9DC + bl FUN_02033ED0 + ldr r0, _022330A0 ; =0x00002BE0 + str r6, [r5, r0] + mov r0, #0x16 + str r0, [r4] + pop {r4, r5, r6, pc} + nop _022330A0: .word 0x00002BE0 - thumb_func_end MOD83_02233084 + thumb_func_end MOD83_02233084 - thumb_func_start MOD83_022330A4 + thumb_func_start MOD83_022330A4 MOD83_022330A4: ; 0x022330A4 - push {r3, r4, r5, r6, r7, lr} - str r0, [sp] - bl OverlayManager_GetData - add r7, r0, #0 - ldr r0, _02233154 ; =0x000029A8 - mov r6, #0 - add r4, r7, #0 - add r5, r7, r0 + push {r3, r4, r5, r6, r7, lr} + str r0, [sp] + bl OverlayManager_GetData + add r7, r0, #0 + ldr r0, _02233154 ; =0x000029A8 + mov r6, #0 + add r4, r7, #0 + add r5, r7, r0 _022330B6: - ldr r0, _02233154 ; =0x000029A8 - ldr r0, [r4, r0] - cmp r0, #0 - beq _022330CA - add r0, r5, #0 - bl ClearWindowTilemapAndCopyToVram - add r0, r5, #0 - bl RemoveWindow + ldr r0, _02233154 ; =0x000029A8 + ldr r0, [r4, r0] + cmp r0, #0 + beq _022330CA + add r0, r5, #0 + bl ClearWindowTilemapAndCopyToVram + add r0, r5, #0 + bl RemoveWindow _022330CA: - add r6, r6, #1 - add r4, #0x10 - add r5, #0x10 - cmp r6, #0x13 - blo _022330B6 - ldr r0, _02233158 ; =0x00002B70 - ldr r1, [r7, r0] - cmp r1, #0 - beq _022330EA - add r0, r7, r0 - bl ClearWindowTilemapAndCopyToVram - ldr r0, _02233158 ; =0x00002B70 - add r0, r7, r0 - bl RemoveWindow + add r6, r6, #1 + add r4, #0x10 + add r5, #0x10 + cmp r6, #0x13 + blo _022330B6 + ldr r0, _02233158 ; =0x00002B70 + ldr r1, [r7, r0] + cmp r1, #0 + beq _022330EA + add r0, r7, r0 + bl ClearWindowTilemapAndCopyToVram + ldr r0, _02233158 ; =0x00002B70 + add r0, r7, r0 + bl RemoveWindow _022330EA: - mov r0, #0xae - lsl r0, r0, #6 - ldr r1, [r7, r0] - cmp r1, #0 - beq _02233104 - add r0, r7, r0 - bl ClearWindowTilemapAndCopyToVram - mov r0, #0xae - lsl r0, r0, #6 - add r0, r7, r0 - bl RemoveWindow + mov r0, #0xae + lsl r0, r0, #6 + ldr r1, [r7, r0] + cmp r1, #0 + beq _02233104 + add r0, r7, r0 + bl ClearWindowTilemapAndCopyToVram + mov r0, #0xae + lsl r0, r0, #6 + add r0, r7, r0 + bl RemoveWindow _02233104: - ldr r0, _0223315C ; =0x0000299C - mov r1, #0 - ldr r0, [r7, r0] - bl FreeBgTilemapBuffer - ldr r0, _0223315C ; =0x0000299C - mov r1, #1 - ldr r0, [r7, r0] - bl FreeBgTilemapBuffer - ldr r0, _0223315C ; =0x0000299C - mov r1, #2 - ldr r0, [r7, r0] - bl FreeBgTilemapBuffer - ldr r0, _0223315C ; =0x0000299C - mov r1, #3 - ldr r0, [r7, r0] - bl FreeBgTilemapBuffer - ldr r0, _0223315C ; =0x0000299C - ldr r0, [r7, r0] - bl FreeToHeap - ldr r0, _02233160 ; =SDK_OVERLAY_MODULE_83_ID - ldr r1, _02233164 ; =MOD83_0223A434 - bl RegisterMainOverlay - mov r0, #0x5b - bl DestroyHeap - ldr r0, [sp] - bl OverlayManager_FreeData - mov r0, #0x57 - bl DestroyHeap - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - nop + ldr r0, _0223315C ; =0x0000299C + mov r1, #0 + ldr r0, [r7, r0] + bl FreeBgTilemapBuffer + ldr r0, _0223315C ; =0x0000299C + mov r1, #1 + ldr r0, [r7, r0] + bl FreeBgTilemapBuffer + ldr r0, _0223315C ; =0x0000299C + mov r1, #2 + ldr r0, [r7, r0] + bl FreeBgTilemapBuffer + ldr r0, _0223315C ; =0x0000299C + mov r1, #3 + ldr r0, [r7, r0] + bl FreeBgTilemapBuffer + ldr r0, _0223315C ; =0x0000299C + ldr r0, [r7, r0] + bl FreeToHeap + ldr r0, _02233160 ; =SDK_OVERLAY_MODULE_83_ID + ldr r1, _02233164 ; =MOD83_0223A434 + bl RegisterMainOverlay + mov r0, #0x5b + bl DestroyHeap + ldr r0, [sp] + bl OverlayManager_FreeData + mov r0, #0x57 + bl DestroyHeap + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + nop _02233154: .word 0x000029A8 _02233158: .word 0x00002B70 _0223315C: .word 0x0000299C _02233160: .word SDK_OVERLAY_MODULE_83_ID _02233164: .word MOD83_0223A434 - thumb_func_end MOD83_022330A4 + thumb_func_end MOD83_022330A4 - thumb_func_start MOD83_02233168 + thumb_func_start MOD83_02233168 MOD83_02233168: ; 0x02233168 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - add r7, r1, #0 - add r5, r2, #0 - bl MOD83_022331E0 - ldr r1, _022331B4 ; =0x00003CF4 - add r0, r5, #0 - bl AllocFromHeapAtEnd - ldr r2, _022331B4 ; =0x00003CF4 - mov r1, #0 - add r4, r0, #0 - bl memset - ldr r0, _022331B8 ; =0x0000299C - mov r1, #0x1e - str r6, [r4, r0] - mov r0, #0 - lsl r1, r1, #4 - add r2, r5, #0 - str r5, [r4] - bl FUN_02002ED0 - ldr r0, _022331BC ; =0x00002B54 - mov r2, #0 - str r7, [r4, r0] - add r0, #0xc - str r2, [r4, r0] - add r0, r4, #0 - mov r1, #1 - bl MOD83_02231DF0 - add r0, r4, #0 - bl FreeToHeap - pop {r3, r4, r5, r6, r7, pc} - nop + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + add r7, r1, #0 + add r5, r2, #0 + bl MOD83_022331E0 + ldr r1, _022331B4 ; =0x00003CF4 + add r0, r5, #0 + bl AllocFromHeapAtEnd + ldr r2, _022331B4 ; =0x00003CF4 + mov r1, #0 + add r4, r0, #0 + bl memset + ldr r0, _022331B8 ; =0x0000299C + mov r1, #0x1e + str r6, [r4, r0] + mov r0, #0 + lsl r1, r1, #4 + add r2, r5, #0 + str r5, [r4] + bl FUN_02002ED0 + ldr r0, _022331BC ; =0x00002B54 + mov r2, #0 + str r7, [r4, r0] + add r0, #0xc + str r2, [r4, r0] + add r0, r4, #0 + mov r1, #1 + bl MOD83_02231DF0 + add r0, r4, #0 + bl FreeToHeap + pop {r3, r4, r5, r6, r7, pc} + nop _022331B4: .word 0x00003CF4 _022331B8: .word 0x0000299C _022331BC: .word 0x00002B54 - thumb_func_end MOD83_02233168 + thumb_func_end MOD83_02233168 - thumb_func_start MOD83_022331C0 + thumb_func_start MOD83_022331C0 MOD83_022331C0: ; 0x022331C0 - push {r4, lr} - sub sp, #0x28 - ldr r4, _022331DC ; =MOD83_0223A4D4 - add r3, sp, #0 - mov r2, #5 + push {r4, lr} + sub sp, #0x28 + ldr r4, _022331DC ; =MOD83_0223A4D4 + add r3, sp, #0 + mov r2, #5 _022331CA: - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _022331CA - add r0, sp, #0 - bl GX_SetBanks - add sp, #0x28 - pop {r4, pc} - .align 2, 0 + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _022331CA + add r0, sp, #0 + bl GX_SetBanks + add sp, #0x28 + pop {r4, pc} + .align 2, 0 _022331DC: .word MOD83_0223A4D4 - thumb_func_end MOD83_022331C0 + thumb_func_end MOD83_022331C0 - thumb_func_start MOD83_022331E0 + thumb_func_start MOD83_022331E0 MOD83_022331E0: ; 0x022331E0 - push {r3, r4, r5, lr} - sub sp, #0x80 - ldr r5, _022332A0 ; =MOD83_0223A454 - add r3, sp, #0x70 - add r4, r0, #0 - add r2, r3, #0 - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - add r0, r2, #0 - bl SetBothScreensModesAndDisable - ldr r5, _022332A4 ; =MOD83_0223A480 - add r3, sp, #0x54 - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #0 - str r0, [r3] - add r0, r4, #0 - add r3, r1, #0 - bl InitBgFromTemplate - add r0, r4, #0 - mov r1, #0 - bl BgClearTilemapBufferAndCommit - ldr r5, _022332A8 ; =MOD83_0223A4B8 - add r3, sp, #0x38 - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #1 - str r0, [r3] - add r0, r4, #0 - mov r3, #0 - bl InitBgFromTemplate - add r0, r4, #0 - mov r1, #1 - bl BgClearTilemapBufferAndCommit - ldr r5, _022332AC ; =MOD83_0223A49C - add r3, sp, #0x1c - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #2 - str r0, [r3] - add r0, r4, #0 - mov r3, #0 - bl InitBgFromTemplate - add r0, r4, #0 - mov r1, #2 - bl BgClearTilemapBufferAndCommit - ldr r5, _022332B0 ; =MOD83_0223A464 - add r3, sp, #0 - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #3 - str r0, [r3] - add r0, r4, #0 - mov r3, #0 - bl InitBgFromTemplate - add r0, r4, #0 - mov r1, #3 - bl BgClearTilemapBufferAndCommit - add sp, #0x80 - pop {r3, r4, r5, pc} - nop + push {r3, r4, r5, lr} + sub sp, #0x80 + ldr r5, _022332A0 ; =MOD83_0223A454 + add r3, sp, #0x70 + add r4, r0, #0 + add r2, r3, #0 + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + add r0, r2, #0 + bl SetBothScreensModesAndDisable + ldr r5, _022332A4 ; =MOD83_0223A480 + add r3, sp, #0x54 + ldmia r5!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + mov r1, #0 + str r0, [r3] + add r0, r4, #0 + add r3, r1, #0 + bl InitBgFromTemplate + add r0, r4, #0 + mov r1, #0 + bl BgClearTilemapBufferAndCommit + ldr r5, _022332A8 ; =MOD83_0223A4B8 + add r3, sp, #0x38 + ldmia r5!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + mov r1, #1 + str r0, [r3] + add r0, r4, #0 + mov r3, #0 + bl InitBgFromTemplate + add r0, r4, #0 + mov r1, #1 + bl BgClearTilemapBufferAndCommit + ldr r5, _022332AC ; =MOD83_0223A49C + add r3, sp, #0x1c + ldmia r5!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + mov r1, #2 + str r0, [r3] + add r0, r4, #0 + mov r3, #0 + bl InitBgFromTemplate + add r0, r4, #0 + mov r1, #2 + bl BgClearTilemapBufferAndCommit + ldr r5, _022332B0 ; =MOD83_0223A464 + add r3, sp, #0 + ldmia r5!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + mov r1, #3 + str r0, [r3] + add r0, r4, #0 + mov r3, #0 + bl InitBgFromTemplate + add r0, r4, #0 + mov r1, #3 + bl BgClearTilemapBufferAndCommit + add sp, #0x80 + pop {r3, r4, r5, pc} + nop _022332A0: .word MOD83_0223A454 _022332A4: .word MOD83_0223A480 _022332A8: .word MOD83_0223A4B8 _022332AC: .word MOD83_0223A49C _022332B0: .word MOD83_0223A464 - thumb_func_end MOD83_022331E0 + thumb_func_end MOD83_022331E0 - thumb_func_start MOD83_022332B4 + thumb_func_start MOD83_022332B4 MOD83_022332B4: ; 0x022332B4 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r7, r0, #0 - bl FUN_0202251C - mov r1, #0 - ldr r4, [r5, #0x48] - mvn r1, r1 - add r6, r0, #0 - cmp r4, r1 - bne _022332E8 - add r2, r5, #0 - add r2, #0x4c - ldrh r2, [r2] - lsr r1, r1, #0x10 - cmp r2, r1 - bne _022332E8 - bl FUN_0202AC28 - add r0, r7, #0 - mov r1, #0 - bl FUN_020227A0 - mov r0, #0 - bl OS_ResetSystem + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r7, r0, #0 + bl FUN_0202251C + mov r1, #0 + ldr r4, [r5, #0x48] + mvn r1, r1 + add r6, r0, #0 + cmp r4, r1 + bne _022332E8 + add r2, r5, #0 + add r2, #0x4c + ldrh r2, [r2] + lsr r1, r1, #0x10 + cmp r2, r1 + bne _022332E8 + bl FUN_0202AC28 + add r0, r7, #0 + mov r1, #0 + bl FUN_020227A0 + mov r0, #0 + bl OS_ResetSystem _022332E8: - cmp r4, #0 - bne _022332F0 - mov r4, #0 - mvn r4, r4 + cmp r4, #0 + bne _022332F0 + mov r4, #0 + mvn r4, r4 _022332F0: - .ifdef DIAMOND - mov r0, #1 - .else - mov r0, #2 - .endif - lsl r0, r0, #0xa - tst r0, r4 - bne _022332FC - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + .ifdef DIAMOND + mov r0, #1 + .else + mov r0, #2 + .endif + lsl r0, r0, #0xa + tst r0, r4 + bne _022332FC + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _022332FC: - add r0, r5, #0 - add r0, #0x4e - ldrb r0, [r0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - cmp r0, #1 - bne _0223331E - add r1, r5, #0 - add r1, #0x4c - ldrh r1, [r1] - add r0, r6, #0 - bl FUN_0202AEF4 - cmp r0, #1 - bne _0223331E - mov r0, #2 - pop {r3, r4, r5, r6, r7, pc} + add r0, r5, #0 + add r0, #0x4e + ldrb r0, [r0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + cmp r0, #1 + bne _0223331E + add r1, r5, #0 + add r1, #0x4c + ldrh r1, [r1] + add r0, r6, #0 + bl FUN_0202AEF4 + cmp r0, #1 + bne _0223331E + mov r0, #2 + pop {r3, r4, r5, r6, r7, pc} _0223331E: - add r0, r5, #0 - add r0, #0x4e - ldrb r0, [r0] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - cmp r0, #1 - bne _0223333A - add r0, r6, #0 - bl FUN_0202AE0C - cmp r0, #0 - bne _0223333A - mov r0, #4 - pop {r3, r4, r5, r6, r7, pc} + add r0, r5, #0 + add r0, #0x4e + ldrb r0, [r0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + cmp r0, #1 + bne _0223333A + add r0, r6, #0 + bl FUN_0202AE0C + cmp r0, #0 + bne _0223333A + mov r0, #4 + pop {r3, r4, r5, r6, r7, pc} _0223333A: - add r0, r6, #0 - bl FUN_0202ADF0 - cmp r0, #0 - bne _02233348 - mov r0, #3 - pop {r3, r4, r5, r6, r7, pc} + add r0, r6, #0 + bl FUN_0202ADF0 + cmp r0, #0 + bne _02233348 + mov r0, #3 + pop {r3, r4, r5, r6, r7, pc} _02233348: - add r5, #0x4e - ldrb r0, [r5] - lsl r0, r0, #0x1a - lsr r0, r0, #0x1f - cmp r0, #1 - bne _02233358 - mov r0, #5 - pop {r3, r4, r5, r6, r7, pc} + add r5, #0x4e + ldrb r0, [r5] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + cmp r0, #1 + bne _02233358 + mov r0, #5 + pop {r3, r4, r5, r6, r7, pc} _02233358: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_022332B4 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_022332B4 - thumb_func_start MOD83_0223335C + thumb_func_start MOD83_0223335C MOD83_0223335C: ; 0x0223335C - push {r3, lr} - mov r0, #4 - bl MOD83_02234580 - bl MOD83_02234C34 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_0223335C - - thumb_func_start MOD83_0223336C + push {r3, lr} + mov r0, #4 + bl MOD83_02234580 + bl MOD83_02234C34 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_0223335C + + thumb_func_start MOD83_0223336C MOD83_0223336C: ; 0x0223336C - push {r3, lr} - bl MOD83_02234704 - str r0, [sp] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_0223336C - - thumb_func_start MOD83_02233378 + push {r3, lr} + bl MOD83_02234704 + str r0, [sp] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_0223336C + + thumb_func_start MOD83_02233378 MOD83_02233378: ; 0x02233378 - push {r3, lr} - bl MOD83_02234724 - add r1, sp, #0 - strh r0, [r1] - mov r0, #0 - ldrsh r0, [r1, r0] - pop {r3, pc} - thumb_func_end MOD83_02233378 - - thumb_func_start MOD83_02233388 + push {r3, lr} + bl MOD83_02234724 + add r1, sp, #0 + strh r0, [r1] + mov r0, #0 + ldrsh r0, [r1, r0] + pop {r3, pc} + thumb_func_end MOD83_02233378 + + thumb_func_start MOD83_02233388 MOD83_02233388: ; 0x02233388 - push {r4, lr} - bl MOD83_0223458C - cmp r0, #0xc - bne _022333AA - bl MOD83_0223456C - add r4, r0, #0 - ldr r0, [r4, #0x1c] - cmp r0, #0 - bne _022333A6 - bl MOD83_02234C34 - mov r0, #1 - str r0, [r4, #0x1c] + push {r4, lr} + bl MOD83_0223458C + cmp r0, #0xc + bne _022333AA + bl MOD83_0223456C + add r4, r0, #0 + ldr r0, [r4, #0x1c] + cmp r0, #0 + bne _022333A6 + bl MOD83_02234C34 + mov r0, #1 + str r0, [r4, #0x1c] _022333A6: - mov r0, #1 - pop {r4, pc} + mov r0, #1 + pop {r4, pc} _022333AA: - mov r0, #0 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02233388 + mov r0, #0 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02233388 - thumb_func_start MOD83_022333B0 + thumb_func_start MOD83_022333B0 MOD83_022333B0: ; 0x022333B0 - push {r4, lr} - add r4, r0, #0 - bl MOD83_0223466C - mov r3, #0 - add r1, r3, #0 + push {r4, lr} + add r4, r0, #0 + bl MOD83_0223466C + mov r3, #0 + add r1, r3, #0 _022333BC: - ldr r2, [r0] - cmp r2, #0 - beq _022333CC - ldrh r2, [r0, #6] - cmp r4, r2 - bne _022333CC - strb r1, [r0, #8] - strb r1, [r0, #0xa] + ldr r2, [r0] + cmp r2, #0 + beq _022333CC + ldrh r2, [r0, #6] + cmp r4, r2 + bne _022333CC + strb r1, [r0, #8] + strb r1, [r0, #0xa] _022333CC: - add r3, r3, #1 - add r0, #0xc - cmp r3, #8 - blt _022333BC - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_022333B0 - - thumb_func_start MOD83_022333D8 + add r3, r3, #1 + add r0, #0xc + cmp r3, #8 + blt _022333BC + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_022333B0 + + thumb_func_start MOD83_022333D8 MOD83_022333D8: ; 0x022333D8 - push {r3, lr} - bl MOD83_0223466C - add r1, r0, #0 - add r1, #0x62 - ldrh r3, [r1] - mov r2, #1 - add r1, r3, #0 - tst r1, r2 - beq _022333FE - add r1, r0, #0 - add r1, #0x62 - ldrh r3, [r1] - mov r1, #1 - add r0, #0x62 - bic r3, r1 - strh r3, [r0] - add r0, r2, #0 - pop {r3, pc} + push {r3, lr} + bl MOD83_0223466C + add r1, r0, #0 + add r1, #0x62 + ldrh r3, [r1] + mov r2, #1 + add r1, r3, #0 + tst r1, r2 + beq _022333FE + add r1, r0, #0 + add r1, #0x62 + ldrh r3, [r1] + mov r1, #1 + add r0, #0x62 + bic r3, r1 + strh r3, [r0] + add r0, r2, #0 + pop {r3, pc} _022333FE: - mov r1, #0x40 - add r2, r3, #0 - tst r2, r1 - beq _02233418 - add r1, r0, #0 - add r1, #0x62 - ldrh r2, [r1] - mov r1, #0x40 - add r0, #0x62 - bic r2, r1 - strh r2, [r0] - mov r0, #7 - pop {r3, pc} + mov r1, #0x40 + add r2, r3, #0 + tst r2, r1 + beq _02233418 + add r1, r0, #0 + add r1, #0x62 + ldrh r2, [r1] + mov r1, #0x40 + add r0, #0x62 + bic r2, r1 + strh r2, [r0] + mov r0, #7 + pop {r3, pc} _02233418: - lsl r1, r1, #6 - tst r1, r3 - beq _02233430 - add r1, r0, #0 - add r1, #0x62 - ldrh r2, [r1] - ldr r1, _02233434 ; =0xFFFFEFFF - add r0, #0x62 - and r1, r2 - strh r1, [r0] - mov r0, #0xd - pop {r3, pc} + lsl r1, r1, #6 + tst r1, r3 + beq _02233430 + add r1, r0, #0 + add r1, #0x62 + ldrh r2, [r1] + ldr r1, _02233434 ; =0xFFFFEFFF + add r0, #0x62 + and r1, r2 + strh r1, [r0] + mov r0, #0xd + pop {r3, pc} _02233430: - mov r0, #0 - pop {r3, pc} - .align 2, 0 + mov r0, #0 + pop {r3, pc} + .align 2, 0 _02233434: .word 0xFFFFEFFF - thumb_func_end MOD83_022333D8 + thumb_func_end MOD83_022333D8 - thumb_func_start MOD83_02233438 + thumb_func_start MOD83_02233438 MOD83_02233438: ; 0x02233438 - push {r4, lr} - bl MOD83_0223466C - add r4, r0, #0 - mov r1, #1 - add r0, #0x60 - strb r1, [r0] - bl WM_GetAllowedChannel - add r1, r4, #0 - add r1, #0x62 - strh r0, [r1] - add r0, r4, #0 - add r0, #0x62 - ldrh r1, [r0] - cmp r1, #0 - beq _02233462 - mov r0, #2 - lsl r0, r0, #0xe - cmp r1, r0 - bne _02233466 + push {r4, lr} + bl MOD83_0223466C + add r4, r0, #0 + mov r1, #1 + add r0, #0x60 + strb r1, [r0] + bl WM_GetAllowedChannel + add r1, r4, #0 + add r1, #0x62 + strh r0, [r1] + add r0, r4, #0 + add r0, #0x62 + ldrh r1, [r0] + cmp r1, #0 + beq _02233462 + mov r0, #2 + lsl r0, r0, #0xe + cmp r1, r0 + bne _02233466 _02233462: - mov r0, #0 - pop {r4, pc} + mov r0, #0 + pop {r4, pc} _02233466: - add r0, r4, #0 - mov r1, #0x66 - add r0, #0x61 - strb r1, [r0] - mov r0, #0 - add r4, #0x64 - strb r0, [r4] - mov r0, #1 - pop {r4, pc} - thumb_func_end MOD83_02233438 - - thumb_func_start MOD83_02233478 + add r0, r4, #0 + mov r1, #0x66 + add r0, #0x61 + strb r1, [r0] + mov r0, #0 + add r4, #0x64 + strb r0, [r4] + mov r0, #1 + pop {r4, pc} + thumb_func_end MOD83_02233438 + + thumb_func_start MOD83_02233478 MOD83_02233478: ; 0x02233478 - push {r4, lr} - bl MOD83_02234564 - add r4, r0, #0 - bl WM_GetDispersionBeaconPeriod - strh r0, [r4, #0x18] - bl WM_GetNextTgid - strh r0, [r4, #0xc] - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02233478 - - thumb_func_start MOD83_02233490 + push {r4, lr} + bl MOD83_02234564 + add r4, r0, #0 + bl WM_GetDispersionBeaconPeriod + strh r0, [r4, #0x18] + bl WM_GetNextTgid + strh r0, [r4, #0xc] + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02233478 + + thumb_func_start MOD83_02233490 MOD83_02233490: ; 0x02233490 - push {r4, lr} - bl MOD83_022345D4 - add r4, r0, #0 - bl MOD83_02234610 - str r0, [r4] - bl MOD83_02234564 - ldrh r0, [r0, #0x32] - strh r0, [r4, #4] - bl WM_GetDispersionScanPeriod - strh r0, [r4, #6] - mov r0, #0xff - strb r0, [r4, #8] - strb r0, [r4, #9] - strb r0, [r4, #0xa] - strb r0, [r4, #0xb] - strb r0, [r4, #0xc] - strb r0, [r4, #0xd] - pop {r4, pc} - thumb_func_end MOD83_02233490 - - thumb_func_start MOD83_022334BC + push {r4, lr} + bl MOD83_022345D4 + add r4, r0, #0 + bl MOD83_02234610 + str r0, [r4] + bl MOD83_02234564 + ldrh r0, [r0, #0x32] + strh r0, [r4, #4] + bl WM_GetDispersionScanPeriod + strh r0, [r4, #6] + mov r0, #0xff + strb r0, [r4, #8] + strb r0, [r4, #9] + strb r0, [r4, #0xa] + strb r0, [r4, #0xb] + strb r0, [r4, #0xc] + strb r0, [r4, #0xd] + pop {r4, pc} + thumb_func_end MOD83_02233490 + + thumb_func_start MOD83_022334BC MOD83_022334BC: ; 0x022334BC - push {r3, r4, r5, r6, r7, lr} - bl MOD83_022345D4 - add r7, r0, #0 - bl WM_GetAllowedChannel - add r3, r0, #0 - beq _02233508 - ldrh r2, [r7, #4] - mov r1, #0 - mov r0, #1 - mov ip, r2 - mov r4, #0x1c + push {r3, r4, r5, r6, r7, lr} + bl MOD83_022345D4 + add r7, r0, #0 + bl WM_GetAllowedChannel + add r3, r0, #0 + beq _02233508 + ldrh r2, [r7, #4] + mov r1, #0 + mov r0, #1 + mov ip, r2 + mov r4, #0x1c _022334D6: - lsr r6, r2, #0x1f - lsl r5, r2, #0x1c - sub r5, r5, r6 - ror r5, r4 - add r5, r6, r5 - add r6, r0, #0 - lsl r6, r5 - add r5, r3, #0 - tst r5, r6 - beq _02233500 - mov r0, ip - add r0, r0, r1 - lsr r2, r0, #0x1f - lsl r1, r0, #0x1c - sub r1, r1, r2 - mov r0, #0x1c - ror r1, r0 - add r0, r2, r1 - add r0, r0, #1 - strh r0, [r7, #4] - pop {r3, r4, r5, r6, r7, pc} + lsr r6, r2, #0x1f + lsl r5, r2, #0x1c + sub r5, r5, r6 + ror r5, r4 + add r5, r6, r5 + add r6, r0, #0 + lsl r6, r5 + add r5, r3, #0 + tst r5, r6 + beq _02233500 + mov r0, ip + add r0, r0, r1 + lsr r2, r0, #0x1f + lsl r1, r0, #0x1c + sub r1, r1, r2 + mov r0, #0x1c + ror r1, r0 + add r0, r2, r1 + add r0, r0, #1 + strh r0, [r7, #4] + pop {r3, r4, r5, r6, r7, pc} _02233500: - add r1, r1, #1 - add r2, r2, #1 - cmp r1, #0x10 - blt _022334D6 + add r1, r1, #1 + add r2, r2, #1 + cmp r1, #0x10 + blt _022334D6 _02233508: - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end MOD83_022334BC + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end MOD83_022334BC - thumb_func_start MOD83_0223350C + thumb_func_start MOD83_0223350C MOD83_0223350C: ; 0x0223350C - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #4] - bl MOD83_0223495C - ldrh r0, [r4, #2] - cmp r0, #8 - bne _02233524 - bl MOD83_02234958 - bl MOD83_0223335C + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #4] + bl MOD83_0223495C + ldrh r0, [r4, #2] + cmp r0, #8 + bne _02233524 + bl MOD83_02234958 + bl MOD83_0223335C _02233524: - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_0223350C + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_0223350C - thumb_func_start MOD83_02233528 + thumb_func_start MOD83_02233528 MOD83_02233528: ; 0x02233528 - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #8] - bl MOD83_0223495C - ldrh r0, [r4, #2] - cmp r0, #0 - beq _0223353C - bl MOD83_02234958 + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #8] + bl MOD83_0223495C + ldrh r0, [r4, #2] + cmp r0, #0 + beq _0223353C + bl MOD83_02234958 _0223353C: - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02233528 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02233528 - thumb_func_start MOD83_02233540 + thumb_func_start MOD83_02233540 MOD83_02233540: ; 0x02233540 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - bne _02233576 - mov r0, #2 - bl MOD83_02234580 - bl MOD83_0223458C - cmp r0, #0xc - bne _02233562 - bl MOD83_022349CC - mov r0, #2 - bl MOD83_02234580 - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + bne _02233576 + mov r0, #2 + bl MOD83_02234580 + bl MOD83_0223458C + cmp r0, #0xc + bne _02233562 + bl MOD83_022349CC + mov r0, #2 + bl MOD83_02234580 + pop {r3, pc} _02233562: - bl MOD83_02234BF8 - cmp r0, #0 - bne _0223357E - bl MOD83_022349CC - mov r0, #2 - bl MOD83_02234580 - pop {r3, pc} + bl MOD83_02234BF8 + cmp r0, #0 + bne _0223357E + bl MOD83_022349CC + mov r0, #2 + bl MOD83_02234580 + pop {r3, pc} _02233576: - bl MOD83_02234958 - bl MOD83_022349CC + bl MOD83_02234958 + bl MOD83_022349CC _0223357E: - pop {r3, pc} - thumb_func_end MOD83_02233540 + pop {r3, pc} + thumb_func_end MOD83_02233540 - thumb_func_start MOD83_02233580 + thumb_func_start MOD83_02233580 MOD83_02233580: ; 0x02233580 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - bne _022335AA - bl MOD83_0223458C - cmp r0, #0xc - bne _022335A2 - bl WM_Finish - mov r0, #0xc - bl MOD83_02234580 - mov r0, #1 - bl MOD83_0223464C - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + bne _022335AA + bl MOD83_0223458C + cmp r0, #0xc + bne _022335A2 + bl WM_Finish + mov r0, #0xc + bl MOD83_02234580 + mov r0, #1 + bl MOD83_0223464C + pop {r3, pc} _022335A2: - mov r0, #1 - bl MOD83_02234580 - pop {r3, pc} + mov r0, #1 + bl MOD83_02234580 + pop {r3, pc} _022335AA: - bl MOD83_02234958 - mov r0, #4 - bl MOD83_02234580 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02233580 - - thumb_func_start MOD83_022335B8 + bl MOD83_02234958 + mov r0, #4 + bl MOD83_02234580 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02233580 + + thumb_func_start MOD83_022335B8 MOD83_022335B8: ; 0x022335B8 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldrh r0, [r5, #2] - cmp r0, #0 - bne _02233616 - bl MOD83_0223466C - add r4, r0, #0 - add r0, #0x61 - ldrh r1, [r5, #0xa] - ldrb r0, [r0] - cmp r0, r1 - ble _022335E0 - add r0, r4, #0 - add r0, #0x61 - strb r1, [r0] - add r0, r4, #0 - ldrh r1, [r5, #8] - add r0, #0x64 - strb r1, [r0] + push {r3, r4, r5, lr} + add r5, r0, #0 + ldrh r0, [r5, #2] + cmp r0, #0 + bne _02233616 + bl MOD83_0223466C + add r4, r0, #0 + add r0, #0x61 + ldrh r1, [r5, #0xa] + ldrb r0, [r0] + cmp r0, r1 + ble _022335E0 + add r0, r4, #0 + add r0, #0x61 + strb r1, [r0] + add r0, r4, #0 + ldrh r1, [r5, #8] + add r0, #0x64 + strb r1, [r0] _022335E0: - bl MOD83_022333D8 - cmp r0, #0 - beq _022335F6 - bl MOD83_022349EC - cmp r0, #0 - bne _0223361E - bl MOD83_0223335C - pop {r3, r4, r5, pc} + bl MOD83_022333D8 + cmp r0, #0 + beq _022335F6 + bl MOD83_022349EC + cmp r0, #0 + bne _0223361E + bl MOD83_0223335C + pop {r3, r4, r5, pc} _022335F6: - add r4, #0x61 - ldrb r0, [r4] - cmp r0, #0x66 - bhs _02233610 - bl MOD83_02233478 - bl MOD83_02234A18 - cmp r0, #0 - bne _0223361E - bl MOD83_0223335C - pop {r3, r4, r5, pc} + add r4, #0x61 + ldrb r0, [r4] + cmp r0, #0x66 + bhs _02233610 + bl MOD83_02233478 + bl MOD83_02234A18 + cmp r0, #0 + bne _0223361E + bl MOD83_0223335C + pop {r3, r4, r5, pc} _02233610: - bl MOD83_0223335C - pop {r3, r4, r5, pc} + bl MOD83_0223335C + pop {r3, r4, r5, pc} _02233616: - bl MOD83_02234958 - bl MOD83_0223335C + bl MOD83_02234958 + bl MOD83_0223335C _0223361E: - pop {r3, r4, r5, pc} - thumb_func_end MOD83_022335B8 + pop {r3, r4, r5, pc} + thumb_func_end MOD83_022335B8 - thumb_func_start MOD83_02233620 + thumb_func_start MOD83_02233620 MOD83_02233620: ; 0x02233620 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - bne _0223363E - bl MOD83_02233388 - cmp r0, #0 - bne _02233646 - bl MOD83_02234A54 - cmp r0, #0 - bne _02233646 - bl MOD83_0223335C - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + bne _0223363E + bl MOD83_02233388 + cmp r0, #0 + bne _02233646 + bl MOD83_02234A54 + cmp r0, #0 + bne _02233646 + bl MOD83_0223335C + pop {r3, pc} _0223363E: - bl MOD83_02234958 - bl MOD83_0223335C + bl MOD83_02234958 + bl MOD83_0223335C _02233646: - pop {r3, pc} - thumb_func_end MOD83_02233620 + pop {r3, pc} + thumb_func_end MOD83_02233620 - thumb_func_start MOD83_02233648 + thumb_func_start MOD83_02233648 MOD83_02233648: ; 0x02233648 - push {r4, r5, lr} - sub sp, #0xc - add r5, r0, #0 - ldrh r0, [r5, #8] - bl MOD83_0223495C - ldrh r0, [r5, #2] - cmp r0, #0 - beq _0223365C - b _0223376E + push {r4, r5, lr} + sub sp, #0xc + add r5, r0, #0 + ldrh r0, [r5, #8] + bl MOD83_0223495C + ldrh r0, [r5, #2] + cmp r0, #0 + beq _0223365C + b _0223376E _0223365C: - bl MOD83_0223466C - add r4, r0, #0 - mov r0, #8 - bl MOD83_02234580 - bl MOD83_02233388 - cmp r0, #0 - beq _02233672 - b _02233776 + bl MOD83_0223466C + add r4, r0, #0 + mov r0, #8 + bl MOD83_02234580 + bl MOD83_02233388 + cmp r0, #0 + beq _02233672 + b _02233776 _02233672: - add r0, r4, #0 - add r0, #0x60 - ldrb r0, [r0] - cmp r0, #1 - bne _02233684 - add r0, r4, #0 - mov r1, #2 - add r0, #0x60 - strb r1, [r0] + add r0, r4, #0 + add r0, #0x60 + ldrb r0, [r0] + cmp r0, #1 + bne _02233684 + add r0, r4, #0 + mov r1, #2 + add r0, #0x60 + strb r1, [r0] _02233684: - ldrh r0, [r5, #8] - cmp r0, #7 - bgt _0223369C - bge _022336BE - cmp r0, #2 - bgt _02233776 - cmp r0, #0 - blt _02233776 - beq _022336A4 - add sp, #0xc - cmp r0, #2 - pop {r4, r5, pc} + ldrh r0, [r5, #8] + cmp r0, #7 + bgt _0223369C + bge _022336BE + cmp r0, #2 + bgt _02233776 + cmp r0, #0 + blt _02233776 + beq _022336A4 + add sp, #0xc + cmp r0, #2 + pop {r4, r5, pc} _0223369C: - cmp r0, #9 - beq _02233764 - add sp, #0xc - pop {r4, r5, pc} + cmp r0, #9 + beq _02233764 + add sp, #0xc + pop {r4, r5, pc} _022336A4: - bl MOD83_02234B80 - cmp r0, #0 - bne _022336B4 - bl MOD83_0223335C - add sp, #0xc - pop {r4, r5, pc} + bl MOD83_02234B80 + cmp r0, #0 + bne _022336B4 + bl MOD83_0223335C + add sp, #0xc + pop {r4, r5, pc} _022336B4: - mov r0, #0 - bl MOD83_0223461C - add sp, #0xc - pop {r4, r5, pc} + mov r0, #0 + bl MOD83_0223461C + add sp, #0xc + pop {r4, r5, pc} _022336BE: - bl MOD83_0223466C - bl MOD83_02234968 - add r4, #0x60 - ldrb r0, [r4] - cmp r0, #2 - bne _02233776 - add r4, r5, #0 - add r4, #0x14 - bl MOD83_022346BC - ldr r1, [r5, #0x14] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, r0 - bne _02233776 - bl MOD83_022346CC - ldr r1, [r4] - lsl r1, r1, #0x14 - lsr r1, r1, #0x1c - cmp r1, r0 - bhi _02233776 - bl MOD83_022346DC - ldr r1, [r4, #4] - lsr r1, r1, #0x10 - cmp r1, r0 - bne _02233776 - bl MOD83_0223466C - add r4, r0, #0 - add r0, r5, #0 - add r0, #0xa - bl MOD83_0223336C - str r0, [sp, #4] - str r0, [sp, #8] - add r0, r5, #0 - add r0, #0xa - bl MOD83_02233378 - add r1, sp, #0 - strh r0, [r1] - ldrh r0, [r1] - ldr r2, [sp, #8] - add r3, r4, #0 - strh r0, [r1, #2] - mov r0, #0 + bl MOD83_0223466C + bl MOD83_02234968 + add r4, #0x60 + ldrb r0, [r4] + cmp r0, #2 + bne _02233776 + add r4, r5, #0 + add r4, #0x14 + bl MOD83_022346BC + ldr r1, [r5, #0x14] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r0 + bne _02233776 + bl MOD83_022346CC + ldr r1, [r4] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + cmp r1, r0 + bhi _02233776 + bl MOD83_022346DC + ldr r1, [r4, #4] + lsr r1, r1, #0x10 + cmp r1, r0 + bne _02233776 + bl MOD83_0223466C + add r4, r0, #0 + add r0, r5, #0 + add r0, #0xa + bl MOD83_0223336C + str r0, [sp, #4] + str r0, [sp, #8] + add r0, r5, #0 + add r0, #0xa + bl MOD83_02233378 + add r1, sp, #0 + strh r0, [r1] + ldrh r0, [r1] + ldr r2, [sp, #8] + add r3, r4, #0 + strh r0, [r1, #2] + mov r0, #0 _02233722: - ldr r1, [r3] - cmp r1, r2 - bne _0223373A - mov r1, #0xc - mul r1, r0 - ldrh r0, [r5, #0x10] - add r1, r4, r1 - add sp, #0xc - strh r0, [r1, #6] - mov r0, #1 - strb r0, [r1, #0xa] - pop {r4, r5, pc} + ldr r1, [r3] + cmp r1, r2 + bne _0223373A + mov r1, #0xc + mul r1, r0 + ldrh r0, [r5, #0x10] + add r1, r4, r1 + add sp, #0xc + strh r0, [r1, #6] + mov r0, #1 + strb r0, [r1, #0xa] + pop {r4, r5, pc} _0223373A: - cmp r1, #0 - bne _02233758 - mov r1, #0xc - mul r1, r0 - str r2, [r4, r1] - add r0, sp, #0 - ldrh r0, [r0, #2] - add r1, r4, r1 - add sp, #0xc - strh r0, [r1, #4] - ldrh r0, [r5, #0x10] - strh r0, [r1, #6] - mov r0, #1 - strb r0, [r1, #0xa] - pop {r4, r5, pc} + cmp r1, #0 + bne _02233758 + mov r1, #0xc + mul r1, r0 + str r2, [r4, r1] + add r0, sp, #0 + ldrh r0, [r0, #2] + add r1, r4, r1 + add sp, #0xc + strh r0, [r1, #4] + ldrh r0, [r5, #0x10] + strh r0, [r1, #6] + mov r0, #1 + strb r0, [r1, #0xa] + pop {r4, r5, pc} _02233758: - add r0, r0, #1 - add r3, #0xc - cmp r0, #8 - blt _02233722 - add sp, #0xc - pop {r4, r5, pc} + add r0, r0, #1 + add r3, #0xc + cmp r0, #8 + blt _02233722 + add sp, #0xc + pop {r4, r5, pc} _02233764: - ldrh r0, [r5, #0x10] - bl MOD83_022333B0 - add sp, #0xc - pop {r4, r5, pc} + ldrh r0, [r5, #0x10] + bl MOD83_022333B0 + add sp, #0xc + pop {r4, r5, pc} _0223376E: - bl MOD83_02234958 - bl MOD83_0223335C + bl MOD83_02234958 + bl MOD83_0223335C _02233776: - add sp, #0xc - pop {r4, r5, pc} - .align 2, 0 - thumb_func_end MOD83_02233648 + add sp, #0xc + pop {r4, r5, pc} + .align 2, 0 + thumb_func_end MOD83_02233648 - thumb_func_start MOD83_0223377C + thumb_func_start MOD83_0223377C MOD83_0223377C: ; 0x0223377C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r4, r1, #0 - str r0, [sp] - bl MOD83_02234664 - add r7, r0, #0 - add r0, r4, #4 - bl MOD83_0223336C - str r0, [sp, #8] - str r0, [sp, #0xc] - add r0, r4, #4 - bl MOD83_02233378 - add r2, sp, #4 - strh r0, [r2] - ldrh r0, [r2] - ldr r6, [sp, #0xc] - add r1, r7, #0 - strh r0, [r2, #2] - ldrh r3, [r2, #2] - mov r0, #0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r4, r1, #0 + str r0, [sp] + bl MOD83_02234664 + add r7, r0, #0 + add r0, r4, #4 + bl MOD83_0223336C + str r0, [sp, #8] + str r0, [sp, #0xc] + add r0, r4, #4 + bl MOD83_02233378 + add r2, sp, #4 + strh r0, [r2] + ldrh r0, [r2] + ldr r6, [sp, #0xc] + add r1, r7, #0 + strh r0, [r2, #2] + ldrh r3, [r2, #2] + mov r0, #0 _022337AA: - ldr r2, [r1] - add r5, r1, #0 - add r5, #0x34 - cmp r2, r6 - bne _022337C0 - ldrh r5, [r5] - cmp r5, r3 - bne _022337C0 - add sp, #0x10 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + ldr r2, [r1] + add r5, r1, #0 + add r5, #0x34 + cmp r2, r6 + bne _022337C0 + ldrh r5, [r5] + cmp r5, r3 + bne _022337C0 + add sp, #0x10 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _022337C0: - cmp r2, #0 - bne _0223380C - mov r1, #0x38 - mul r1, r0 - ldr r0, [sp, #0xc] - add r5, r4, #0 - str r0, [r7, r1] - add r0, r7, r1 - add r5, #0x58 - add r3, r0, #4 - mov r2, #0xc + cmp r2, #0 + bne _0223380C + mov r1, #0x38 + mul r1, r0 + ldr r0, [sp, #0xc] + add r5, r4, #0 + str r0, [r7, r1] + add r0, r7, r1 + add r5, #0x58 + add r3, r0, #4 + mov r2, #0xc _022337D6: - ldrh r0, [r5] - add r5, r5, #2 - strh r0, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _022337D6 - add r3, r7, r1 - add r4, #0x70 - add r3, #0x1c - mov r2, #0xc + ldrh r0, [r5] + add r5, r5, #2 + strh r0, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _022337D6 + add r3, r7, r1 + add r4, #0x70 + add r3, #0x1c + mov r2, #0xc _022337EA: - ldrh r0, [r4] - add r4, r4, #2 - strh r0, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _022337EA - add r0, sp, #4 - ldrh r0, [r0, #2] - add r1, r7, r1 - strh r0, [r1, #0x34] - ldr r0, [sp] - add r1, #0x36 - ldrh r0, [r0, #0x12] - add sp, #0x10 - strb r0, [r1] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + ldrh r0, [r4] + add r4, r4, #2 + strh r0, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _022337EA + add r0, sp, #4 + ldrh r0, [r0, #2] + add r1, r7, r1 + strh r0, [r1, #0x34] + ldr r0, [sp] + add r1, #0x36 + ldrh r0, [r0, #0x12] + add sp, #0x10 + strb r0, [r1] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _0223380C: - add r0, r0, #1 - add r1, #0x38 - cmp r0, #8 - blt _022337AA - mov r0, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end MOD83_0223377C - - thumb_func_start MOD83_0223381C + add r0, r0, #1 + add r1, #0x38 + cmp r0, #8 + blt _022337AA + mov r0, #0 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end MOD83_0223377C + + thumb_func_start MOD83_0223381C MOD83_0223381C: ; 0x0223381C - push {r3, lr} - bl MOD83_022334BC - bl MOD83_02234A70 - cmp r0, #0 - bne _0223382E - bl MOD83_0223335C + push {r3, lr} + bl MOD83_022334BC + bl MOD83_02234A70 + cmp r0, #0 + bne _0223382E + bl MOD83_0223335C _0223382E: - pop {r3, pc} - thumb_func_end MOD83_0223381C + pop {r3, pc} + thumb_func_end MOD83_0223381C - thumb_func_start MOD83_02233830 + thumb_func_start MOD83_02233830 MOD83_02233830: ; 0x02233830 - push {r4, r5, r6, lr} - add r6, r0, #0 - bl MOD83_02234610 - add r4, r0, #0 - bl MOD83_02234664 - add r5, r0, #0 - bl MOD83_02233388 - cmp r0, #0 - beq _0223384C - mov r0, #1 - pop {r4, r5, r6, pc} + push {r4, r5, r6, lr} + add r6, r0, #0 + bl MOD83_02234610 + add r4, r0, #0 + bl MOD83_02234664 + add r5, r0, #0 + bl MOD83_02233388 + cmp r0, #0 + beq _0223384C + mov r0, #1 + pop {r4, r5, r6, pc} _0223384C: - mov r1, #0 - add r2, r1, #0 - add r3, r5, #0 + mov r1, #0 + add r2, r1, #0 + add r3, r5, #0 _02233852: - ldr r0, [r3] - cmp r0, #0 - beq _0223385C - mov r1, #1 - b _02233864 + ldr r0, [r3] + cmp r0, #0 + beq _0223385C + mov r1, #1 + b _02233864 _0223385C: - add r2, r2, #1 - add r3, #0x38 - cmp r2, #8 - blt _02233852 + add r2, r2, #1 + add r3, #0x38 + cmp r2, #8 + blt _02233852 _02233864: - cmp r1, #0 - beq _02233882 - mov r0, #7 - lsl r0, r0, #6 - ldrh r0, [r5, r0] - cmp r0, #0 - bne _02233882 - bl MOD83_02234B2C - cmp r0, #0 - bne _0223387E - bl MOD83_0223335C + cmp r1, #0 + beq _02233882 + mov r0, #7 + lsl r0, r0, #6 + ldrh r0, [r5, r0] + cmp r0, #0 + bne _02233882 + bl MOD83_02234B2C + cmp r0, #0 + bne _0223387E + bl MOD83_0223335C _0223387E: - mov r0, #1 - pop {r4, r5, r6, pc} + mov r0, #1 + pop {r4, r5, r6, pc} _02233882: - add r0, r4, #0 - mov r1, #0xc0 - bl DC_InvalidateRange - bl MOD83_02234664 - bl MOD83_02234964 - ldrh r0, [r6, #0x36] - cmp r0, #8 - blo _0223390C - bl MOD83_022346B0 - ldr r1, [r4, #0x44] - cmp r1, r0 - bne _0223390C - add r5, r4, #0 - add r5, #0x50 - bl MOD83_022346BC - ldr r1, [r4, #0x50] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, r0 - bne _0223390C - bl MOD83_022346CC - ldr r1, [r5] - lsl r1, r1, #0x14 - lsr r1, r1, #0x1c - cmp r1, r0 - bhi _0223390C - bl MOD83_022346DC - ldr r1, [r5, #4] - lsr r1, r1, #0x10 - cmp r1, r0 - bne _0223390C - add r0, r6, #0 - add r1, r4, #0 - bl MOD83_0223377C - cmp r0, #0 - beq _022338FC - bl MOD83_02234664 - ldr r1, _02233910 ; =0x000001C2 - ldrb r2, [r0, r1] - add r2, r2, #1 - strb r2, [r0, r1] - ldrb r0, [r0, r1] - cmp r0, #0x1c - bls _0223390C - bl MOD83_02234B2C - cmp r0, #0 - bne _0223390C - bl MOD83_0223335C - mov r0, #1 - pop {r4, r5, r6, pc} + add r0, r4, #0 + mov r1, #0xc0 + bl DC_InvalidateRange + bl MOD83_02234664 + bl MOD83_02234964 + ldrh r0, [r6, #0x36] + cmp r0, #8 + blo _0223390C + bl MOD83_022346B0 + ldr r1, [r4, #0x44] + cmp r1, r0 + bne _0223390C + add r5, r4, #0 + add r5, #0x50 + bl MOD83_022346BC + ldr r1, [r4, #0x50] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r0 + bne _0223390C + bl MOD83_022346CC + ldr r1, [r5] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + cmp r1, r0 + bhi _0223390C + bl MOD83_022346DC + ldr r1, [r5, #4] + lsr r1, r1, #0x10 + cmp r1, r0 + bne _0223390C + add r0, r6, #0 + add r1, r4, #0 + bl MOD83_0223377C + cmp r0, #0 + beq _022338FC + bl MOD83_02234664 + ldr r1, _02233910 ; =0x000001C2 + ldrb r2, [r0, r1] + add r2, r2, #1 + strb r2, [r0, r1] + ldrb r0, [r0, r1] + cmp r0, #0x1c + bls _0223390C + bl MOD83_02234B2C + cmp r0, #0 + bne _0223390C + bl MOD83_0223335C + mov r0, #1 + pop {r4, r5, r6, pc} _022338FC: - bl MOD83_02234B2C - cmp r0, #0 - bne _02233908 - bl MOD83_0223335C + bl MOD83_02234B2C + cmp r0, #0 + bne _02233908 + bl MOD83_0223335C _02233908: - mov r0, #1 - pop {r4, r5, r6, pc} + mov r0, #1 + pop {r4, r5, r6, pc} _0223390C: - mov r0, #0 - pop {r4, r5, r6, pc} - .align 2, 0 + mov r0, #0 + pop {r4, r5, r6, pc} + .align 2, 0 _02233910: .word 0x000001C2 - thumb_func_end MOD83_02233830 + thumb_func_end MOD83_02233830 - thumb_func_start MOD83_02233914 + thumb_func_start MOD83_02233914 MOD83_02233914: ; 0x02233914 - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #8] - bl MOD83_0223495C - ldrh r0, [r4, #2] - cmp r0, #0 - bne _0223397A - bl MOD83_02234610 - bl MOD83_02234960 - mov r0, #6 - bl MOD83_02234580 - bl MOD83_02233388 - cmp r0, #0 - bne _02233982 - bl MOD83_022345A4 - cmp r0, #1 - bne _02233954 - bl MOD83_02234664 - ldr r2, _02233984 ; =0x000001C3 - mov r1, #0xf0 - ldrb r3, [r0, r2] - bic r3, r1 - mov r1, #0x10 - orr r1, r3 - strb r1, [r0, r2] + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #8] + bl MOD83_0223495C + ldrh r0, [r4, #2] + cmp r0, #0 + bne _0223397A + bl MOD83_02234610 + bl MOD83_02234960 + mov r0, #6 + bl MOD83_02234580 + bl MOD83_02233388 + cmp r0, #0 + bne _02233982 + bl MOD83_022345A4 + cmp r0, #1 + bne _02233954 + bl MOD83_02234664 + ldr r2, _02233984 ; =0x000001C3 + mov r1, #0xf0 + ldrb r3, [r0, r2] + bic r3, r1 + mov r1, #0x10 + orr r1, r3 + strb r1, [r0, r2] _02233954: - ldrh r0, [r4, #8] - cmp r0, #4 - beq _02233968 - cmp r0, #5 - bne _0223396E - add r0, r4, #0 - bl MOD83_02233830 - cmp r0, #0 - bne _02233982 + ldrh r0, [r4, #8] + cmp r0, #4 + beq _02233968 + cmp r0, #5 + bne _0223396E + add r0, r4, #0 + bl MOD83_02233830 + cmp r0, #0 + bne _02233982 _02233968: - bl MOD83_0223381C - pop {r4, pc} + bl MOD83_0223381C + pop {r4, pc} _0223396E: - ldrh r0, [r4, #2] - bl MOD83_02234958 - bl MOD83_0223335C - pop {r4, pc} + ldrh r0, [r4, #2] + bl MOD83_02234958 + bl MOD83_0223335C + pop {r4, pc} _0223397A: - bl MOD83_02234958 - bl MOD83_0223335C + bl MOD83_02234958 + bl MOD83_0223335C _02233982: - pop {r4, pc} - .align 2, 0 + pop {r4, pc} + .align 2, 0 _02233984: .word 0x000001C3 - thumb_func_end MOD83_02233914 + thumb_func_end MOD83_02233914 - thumb_func_start MOD83_02233988 + thumb_func_start MOD83_02233988 MOD83_02233988: ; 0x02233988 - push {r4, r5, r6, lr} - sub sp, #8 - bl MOD83_02234610 - add r4, r0, #0 - bl MOD83_02234664 - add r6, r0, #0 - bl MOD83_02234564 - bl MOD83_02233388 - cmp r0, #0 - beq _022339AA - add sp, #8 - mov r0, #1 - pop {r4, r5, r6, pc} + push {r4, r5, r6, lr} + sub sp, #8 + bl MOD83_02234610 + add r4, r0, #0 + bl MOD83_02234664 + add r6, r0, #0 + bl MOD83_02234564 + bl MOD83_02233388 + cmp r0, #0 + beq _022339AA + add sp, #8 + mov r0, #1 + pop {r4, r5, r6, pc} _022339AA: - add r0, r4, #0 - mov r1, #0xc0 - bl DC_InvalidateRange - bl MOD83_02234664 - bl MOD83_02234964 - ldrh r0, [r4, #0x3c] - cmp r0, #8 - blo _02233A24 - bl MOD83_022346B0 - ldr r1, [r4, #0x44] - cmp r1, r0 - bne _02233A24 - add r5, r4, #0 - add r5, #0x50 - bl MOD83_022346BC - ldr r1, [r4, #0x50] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, r0 - bne _02233A24 - bl MOD83_022346CC - ldr r1, [r5] - lsl r1, r1, #0x14 - lsr r1, r1, #0x1c - cmp r1, r0 - bhi _02233A24 - bl MOD83_022346DC - ldr r1, [r5, #4] - lsr r1, r1, #0x10 - cmp r1, r0 - bne _02233A24 - add r0, r4, #4 - bl MOD83_0223336C - ldr r1, _02233A2C ; =0x000001C3 - str r0, [sp] - ldrb r1, [r6, r1] - str r0, [sp, #4] - lsl r1, r1, #0x1c - lsr r2, r1, #0x1c - mov r1, #0x38 - mul r1, r2 - ldr r1, [r6, r1] - cmp r1, r0 - bne _02233A24 - bl MOD83_02234B2C - cmp r0, #0 - bne _02233A1E - bl MOD83_0223335C + add r0, r4, #0 + mov r1, #0xc0 + bl DC_InvalidateRange + bl MOD83_02234664 + bl MOD83_02234964 + ldrh r0, [r4, #0x3c] + cmp r0, #8 + blo _02233A24 + bl MOD83_022346B0 + ldr r1, [r4, #0x44] + cmp r1, r0 + bne _02233A24 + add r5, r4, #0 + add r5, #0x50 + bl MOD83_022346BC + ldr r1, [r4, #0x50] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r0 + bne _02233A24 + bl MOD83_022346CC + ldr r1, [r5] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + cmp r1, r0 + bhi _02233A24 + bl MOD83_022346DC + ldr r1, [r5, #4] + lsr r1, r1, #0x10 + cmp r1, r0 + bne _02233A24 + add r0, r4, #4 + bl MOD83_0223336C + ldr r1, _02233A2C ; =0x000001C3 + str r0, [sp] + ldrb r1, [r6, r1] + str r0, [sp, #4] + lsl r1, r1, #0x1c + lsr r2, r1, #0x1c + mov r1, #0x38 + mul r1, r2 + ldr r1, [r6, r1] + cmp r1, r0 + bne _02233A24 + bl MOD83_02234B2C + cmp r0, #0 + bne _02233A1E + bl MOD83_0223335C _02233A1E: - add sp, #8 - mov r0, #1 - pop {r4, r5, r6, pc} + add sp, #8 + mov r0, #1 + pop {r4, r5, r6, pc} _02233A24: - mov r0, #0 - add sp, #8 - pop {r4, r5, r6, pc} - nop + mov r0, #0 + add sp, #8 + pop {r4, r5, r6, pc} + nop _02233A2C: .word 0x000001C3 - thumb_func_end MOD83_02233988 + thumb_func_end MOD83_02233988 - thumb_func_start MOD83_02233A30 + thumb_func_start MOD83_02233A30 MOD83_02233A30: ; 0x02233A30 - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #8] - bl MOD83_0223495C - ldrh r0, [r4, #2] - cmp r0, #0 - bne _02233A90 - bl MOD83_02234664 - ldr r2, _02233A9C ; =0x000001C3 - mov r1, #0xf0 - ldrb r3, [r0, r2] - bic r3, r1 - mov r1, #0x20 - orr r1, r3 - strb r1, [r0, r2] - mov r0, #6 - bl MOD83_02234580 - bl MOD83_02233388 - cmp r0, #0 - bne _02233A98 - ldrh r0, [r4, #8] - cmp r0, #4 - beq _02233A72 - cmp r0, #5 - bne _02233A84 - bl MOD83_02233988 - cmp r0, #0 - bne _02233A98 + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #8] + bl MOD83_0223495C + ldrh r0, [r4, #2] + cmp r0, #0 + bne _02233A90 + bl MOD83_02234664 + ldr r2, _02233A9C ; =0x000001C3 + mov r1, #0xf0 + ldrb r3, [r0, r2] + bic r3, r1 + mov r1, #0x20 + orr r1, r3 + strb r1, [r0, r2] + mov r0, #6 + bl MOD83_02234580 + bl MOD83_02233388 + cmp r0, #0 + bne _02233A98 + ldrh r0, [r4, #8] + cmp r0, #4 + beq _02233A72 + cmp r0, #5 + bne _02233A84 + bl MOD83_02233988 + cmp r0, #0 + bne _02233A98 _02233A72: - bl MOD83_022334BC - bl MOD83_02234A94 - cmp r0, #0 - bne _02233A98 - bl MOD83_0223335C - pop {r4, pc} + bl MOD83_022334BC + bl MOD83_02234A94 + cmp r0, #0 + bne _02233A98 + bl MOD83_0223335C + pop {r4, pc} _02233A84: - ldrh r0, [r4, #2] - bl MOD83_02234958 - bl MOD83_0223335C - pop {r4, pc} + ldrh r0, [r4, #2] + bl MOD83_02234958 + bl MOD83_0223335C + pop {r4, pc} _02233A90: - bl MOD83_02234958 - bl MOD83_0223335C + bl MOD83_02234958 + bl MOD83_0223335C _02233A98: - pop {r4, pc} - nop + pop {r4, pc} + nop _02233A9C: .word 0x000001C3 - thumb_func_end MOD83_02233A30 + thumb_func_end MOD83_02233A30 - thumb_func_start MOD83_02233AA0 + thumb_func_start MOD83_02233AA0 MOD83_02233AA0: ; 0x02233AA0 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - bne _02233AE4 - mov r0, #7 - bl MOD83_02234580 - bl MOD83_02233388 - cmp r0, #0 - bne _02233AEC - bl MOD83_022345A4 - cmp r0, #1 - bne _02233AEC - bl MOD83_02234664 - ldr r1, _02233AF0 ; =0x000001C3 - ldrb r0, [r0, r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x1c - cmp r0, #2 - bne _02233AEC - bl MOD83_02234B48 - cmp r0, #0 - bne _02233ADC - bl MOD83_0223335C - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + bne _02233AE4 + mov r0, #7 + bl MOD83_02234580 + bl MOD83_02233388 + cmp r0, #0 + bne _02233AEC + bl MOD83_022345A4 + cmp r0, #1 + bne _02233AEC + bl MOD83_02234664 + ldr r1, _02233AF0 ; =0x000001C3 + ldrb r0, [r0, r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + cmp r0, #2 + bne _02233AEC + bl MOD83_02234B48 + cmp r0, #0 + bne _02233ADC + bl MOD83_0223335C + pop {r3, pc} _02233ADC: - mov r0, #3 - bl MOD83_02234580 - pop {r3, pc} + mov r0, #3 + bl MOD83_02234580 + pop {r3, pc} _02233AE4: - bl MOD83_02234958 - bl MOD83_0223335C + bl MOD83_02234958 + bl MOD83_0223335C _02233AEC: - pop {r3, pc} - nop + pop {r3, pc} + nop _02233AF0: .word 0x000001C3 - thumb_func_end MOD83_02233AA0 + thumb_func_end MOD83_02233AA0 - thumb_func_start MOD83_02233AF4 + thumb_func_start MOD83_02233AF4 MOD83_02233AF4: ; 0x02233AF4 - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #8] - bl MOD83_0223495C - ldrh r0, [r4, #2] - cmp r0, #0 - bne _02233B7A - mov r0, #9 - bl MOD83_02234580 - bl MOD83_02233388 - cmp r0, #0 - bne _02233B82 - ldrh r0, [r4, #8] - cmp r0, #9 - bhi _02233B6E - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #8] + bl MOD83_0223495C + ldrh r0, [r4, #2] + cmp r0, #0 + bne _02233B7A + mov r0, #9 + bl MOD83_02234580 + bl MOD83_02233388 + cmp r0, #0 + bne _02233B82 + ldrh r0, [r4, #8] + cmp r0, #9 + bhi _02233B6E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02233B24: ; jump table - .short _02233B6E - _02233B24 - 2 ; case 0 - .short _02233B6E - _02233B24 - 2 ; case 1 - .short _02233B6E - _02233B24 - 2 ; case 2 - .short _02233B6E - _02233B24 - 2 ; case 3 - .short _02233B6E - _02233B24 - 2 ; case 4 - .short _02233B6E - _02233B24 - 2 ; case 5 - .short _02233B82 - _02233B24 - 2 ; case 6 - .short _02233B38 - _02233B24 - 2 ; case 7 - .short _02233B82 - _02233B24 - 2 ; case 8 - .short _02233B58 - _02233B24 - 2 ; case 9 + .short _02233B6E - _02233B24 - 2 ; case 0 + .short _02233B6E - _02233B24 - 2 ; case 1 + .short _02233B6E - _02233B24 - 2 ; case 2 + .short _02233B6E - _02233B24 - 2 ; case 3 + .short _02233B6E - _02233B24 - 2 ; case 4 + .short _02233B6E - _02233B24 - 2 ; case 5 + .short _02233B82 - _02233B24 - 2 ; case 6 + .short _02233B38 - _02233B24 - 2 ; case 7 + .short _02233B82 - _02233B24 - 2 ; case 8 + .short _02233B58 - _02233B24 - 2 ; case 9 _02233B38: - ldrh r0, [r4, #0xa] - bl MOD83_0223461C - mov r0, #1 - bl MOD83_02234634 - mov r0, #0 - bl MOD83_02234640 - bl MOD83_02234B80 - cmp r0, #0 - bne _02233B82 - bl MOD83_0223335C - pop {r4, pc} + ldrh r0, [r4, #0xa] + bl MOD83_0223461C + mov r0, #1 + bl MOD83_02234634 + mov r0, #0 + bl MOD83_02234640 + bl MOD83_02234B80 + cmp r0, #0 + bne _02233B82 + bl MOD83_0223335C + pop {r4, pc} _02233B58: - bl MOD83_02234628 - cmp r0, #0 - beq _02233B66 - mov r0, #1 - bl MOD83_02234640 + bl MOD83_02234628 + cmp r0, #0 + beq _02233B66 + mov r0, #1 + bl MOD83_02234640 _02233B66: - mov r0, #0 - bl MOD83_02234634 - pop {r4, pc} + mov r0, #0 + bl MOD83_02234634 + pop {r4, pc} _02233B6E: - ldrh r0, [r4, #2] - bl MOD83_02234958 - bl MOD83_0223335C - pop {r4, pc} + ldrh r0, [r4, #2] + bl MOD83_02234958 + bl MOD83_0223335C + pop {r4, pc} _02233B7A: - bl MOD83_02234958 - bl MOD83_0223335C + bl MOD83_02234958 + bl MOD83_0223335C _02233B82: - pop {r4, pc} - thumb_func_end MOD83_02233AF4 + pop {r4, pc} + thumb_func_end MOD83_02233AF4 - thumb_func_start MOD83_02233B84 + thumb_func_start MOD83_02233B84 MOD83_02233B84: ; 0x02233B84 - push {r3, lr} - bl MOD83_022345A4 - cmp r0, #1 - beq _02233BBE - cmp r0, #2 - bne _02233BD6 - bl MOD83_02233438 - cmp r0, #0 - beq _02233BB8 - bl MOD83_022333D8 - bl MOD83_022349EC - cmp r0, #0 - beq _02233BB8 - bl MOD83_0223466C - mov r1, #1 - add r0, #0x60 - strb r1, [r0] - mov r0, #3 - bl MOD83_02234580 - pop {r3, pc} + push {r3, lr} + bl MOD83_022345A4 + cmp r0, #1 + beq _02233BBE + cmp r0, #2 + bne _02233BD6 + bl MOD83_02233438 + cmp r0, #0 + beq _02233BB8 + bl MOD83_022333D8 + bl MOD83_022349EC + cmp r0, #0 + beq _02233BB8 + bl MOD83_0223466C + mov r1, #1 + add r0, #0x60 + strb r1, [r0] + mov r0, #3 + bl MOD83_02234580 + pop {r3, pc} _02233BB8: - bl MOD83_0223335C - pop {r3, pc} + bl MOD83_0223335C + pop {r3, pc} _02233BBE: - bl MOD83_02233490 - bl MOD83_02234A70 - cmp r0, #0 - bne _02233BD0 - bl MOD83_0223335C - pop {r3, pc} + bl MOD83_02233490 + bl MOD83_02234A70 + cmp r0, #0 + bne _02233BD0 + bl MOD83_0223335C + pop {r3, pc} _02233BD0: - mov r0, #3 - bl MOD83_02234580 + mov r0, #3 + bl MOD83_02234580 _02233BD6: - pop {r3, pc} - thumb_func_end MOD83_02233B84 + pop {r3, pc} + thumb_func_end MOD83_02233B84 - thumb_func_start MOD83_02233BD8 + thumb_func_start MOD83_02233BD8 MOD83_02233BD8: ; 0x02233BD8 - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #4] - bl MOD83_0223495C - ldrh r0, [r4, #2] - cmp r0, #0 - bne _02233C12 - ldrh r0, [r4] - cmp r0, #0xe - bne _02233BF6 - bl MOD83_02233388 - cmp r0, #0 - bne _02233C22 + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #4] + bl MOD83_0223495C + ldrh r0, [r4, #2] + cmp r0, #0 + bne _02233C12 + ldrh r0, [r4] + cmp r0, #0xe + bne _02233BF6 + bl MOD83_02233388 + cmp r0, #0 + bne _02233C22 _02233BF6: - bl MOD83_022345A4 - cmp r0, #1 - beq _02233C0A - cmp r0, #2 - bne _02233C22 - mov r0, #0xa - bl MOD83_02234580 - pop {r4, pc} + bl MOD83_022345A4 + cmp r0, #1 + beq _02233C0A + cmp r0, #2 + bne _02233C22 + mov r0, #0xa + bl MOD83_02234580 + pop {r4, pc} _02233C0A: - mov r0, #0xb - bl MOD83_02234580 - pop {r4, pc} + mov r0, #0xb + bl MOD83_02234580 + pop {r4, pc} _02233C12: - cmp r0, #9 - beq _02233C22 - cmp r0, #0xd - beq _02233C22 - cmp r0, #0xf - beq _02233C22 - bl MOD83_0223335C + cmp r0, #9 + beq _02233C22 + cmp r0, #0xd + beq _02233C22 + cmp r0, #0xf + beq _02233C22 + bl MOD83_0223335C _02233C22: - pop {r4, pc} - thumb_func_end MOD83_02233BD8 + pop {r4, pc} + thumb_func_end MOD83_02233BD8 - thumb_func_start MOD83_02233C24 + thumb_func_start MOD83_02233C24 MOD83_02233C24: ; 0x02233C24 - push {r4, r5, r6, lr} - add r6, r0, #0 - bl MOD83_02234694 - add r4, r0, #0 - ldrb r0, [r4, #0x19] - cmp r0, #1 - bne _02233C9A - ldrh r1, [r6, #0x10] - ldr r0, [r6, #0xc] - ldr r5, [r4, #0xc] - bl DC_FlushRange - ldrh r2, [r6, #0x10] - ldr r0, [r6, #0xc] - ldr r1, [r4, #0xc] - bl MI_CpuCopy8 - bl MOD83_022346BC - ldr r1, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, r0 - bne _02233C9A - bl MOD83_022346CC - ldr r1, [r5] - lsl r1, r1, #0x14 - lsr r1, r1, #0x1c - cmp r1, r0 - bhi _02233C9A - ldr r0, [r4, #0xc] - bl MOD83_02234900 - ldr r0, [r5, #8] - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - ldrb r0, [r4, #0x1c] - cmp r1, r0 - bne _02233C9A - ldr r0, [r4, #0xc] - bl MOD83_0223496C - ldr r0, [r4, #0xc] - bl MOD83_02234934 - cmp r0, #0 - beq _02233C96 - ldr r0, [r5, #8] - lsl r0, r0, #0x10 - lsr r0, r0, #0x18 - cmp r0, #1 - beq _02233C96 - mov r0, #2 - strb r0, [r4, #0x19] - pop {r4, r5, r6, pc} + push {r4, r5, r6, lr} + add r6, r0, #0 + bl MOD83_02234694 + add r4, r0, #0 + ldrb r0, [r4, #0x19] + cmp r0, #1 + bne _02233C9A + ldrh r1, [r6, #0x10] + ldr r0, [r6, #0xc] + ldr r5, [r4, #0xc] + bl DC_FlushRange + ldrh r2, [r6, #0x10] + ldr r0, [r6, #0xc] + ldr r1, [r4, #0xc] + bl MI_CpuCopy8 + bl MOD83_022346BC + ldr r1, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r0 + bne _02233C9A + bl MOD83_022346CC + ldr r1, [r5] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + cmp r1, r0 + bhi _02233C9A + ldr r0, [r4, #0xc] + bl MOD83_02234900 + ldr r0, [r5, #8] + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldrb r0, [r4, #0x1c] + cmp r1, r0 + bne _02233C9A + ldr r0, [r4, #0xc] + bl MOD83_0223496C + ldr r0, [r4, #0xc] + bl MOD83_02234934 + cmp r0, #0 + beq _02233C96 + ldr r0, [r5, #8] + lsl r0, r0, #0x10 + lsr r0, r0, #0x18 + cmp r0, #1 + beq _02233C96 + mov r0, #2 + strb r0, [r4, #0x19] + pop {r4, r5, r6, pc} _02233C96: - mov r0, #0 - strb r0, [r4, #0x19] + mov r0, #0 + strb r0, [r4, #0x19] _02233C9A: - pop {r4, r5, r6, pc} - thumb_func_end MOD83_02233C24 + pop {r4, r5, r6, pc} + thumb_func_end MOD83_02233C24 - thumb_func_start MOD83_02233C9C + thumb_func_start MOD83_02233C9C MOD83_02233C9C: ; 0x02233C9C - push {r4, r5, r6, lr} - add r6, r0, #0 - bl MOD83_02234694 - add r4, r0, #0 - bl MOD83_022345A4 - cmp r0, #2 - bne _02233D24 - ldrb r0, [r4, #0x19] - cmp r0, #2 - beq _02233D24 - ldrh r1, [r6, #0x10] - ldr r0, [r6, #0xc] - ldr r5, [r4, #0xc] - bl DC_FlushRange - ldrh r2, [r6, #0x10] - ldr r0, [r6, #0xc] - ldr r1, [r4, #0xc] - bl MI_CpuCopy8 - bl MOD83_022346BC - ldr r1, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, r0 - bne _02233D24 - bl MOD83_022346CC - ldr r1, [r5] - lsl r1, r1, #0x14 - lsr r1, r1, #0x1c - cmp r1, r0 - bhi _02233D24 - ldr r0, [r4, #0xc] - bl MOD83_02234900 - ldr r0, [r5, #8] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0xfd - bne _02233D24 - bl MOD83_0223466C - ldrh r5, [r6, #0x12] - mov r2, #0 - add r3, r0, #0 + push {r4, r5, r6, lr} + add r6, r0, #0 + bl MOD83_02234694 + add r4, r0, #0 + bl MOD83_022345A4 + cmp r0, #2 + bne _02233D24 + ldrb r0, [r4, #0x19] + cmp r0, #2 + beq _02233D24 + ldrh r1, [r6, #0x10] + ldr r0, [r6, #0xc] + ldr r5, [r4, #0xc] + bl DC_FlushRange + ldrh r2, [r6, #0x10] + ldr r0, [r6, #0xc] + ldr r1, [r4, #0xc] + bl MI_CpuCopy8 + bl MOD83_022346BC + ldr r1, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r0 + bne _02233D24 + bl MOD83_022346CC + ldr r1, [r5] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + cmp r1, r0 + bhi _02233D24 + ldr r0, [r4, #0xc] + bl MOD83_02234900 + ldr r0, [r5, #8] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0xfd + bne _02233D24 + bl MOD83_0223466C + ldrh r5, [r6, #0x12] + mov r2, #0 + add r3, r0, #0 _02233CFE: - ldrh r1, [r3, #6] - cmp r5, r1 - bne _02233D1C - mov r1, #0xc - mul r1, r2 - add r1, r0, r1 - mov r2, #1 - strb r2, [r1, #8] - mov r0, #3 - strb r0, [r1, #9] - mov r0, #0xb4 - strb r0, [r4, #0x1a] - mov r0, #0 - strb r0, [r4, #0x19] - pop {r4, r5, r6, pc} + ldrh r1, [r3, #6] + cmp r5, r1 + bne _02233D1C + mov r1, #0xc + mul r1, r2 + add r1, r0, r1 + mov r2, #1 + strb r2, [r1, #8] + mov r0, #3 + strb r0, [r1, #9] + mov r0, #0xb4 + strb r0, [r4, #0x1a] + mov r0, #0 + strb r0, [r4, #0x19] + pop {r4, r5, r6, pc} _02233D1C: - add r2, r2, #1 - add r3, #0xc - cmp r2, #8 - blt _02233CFE + add r2, r2, #1 + add r3, #0xc + cmp r2, #8 + blt _02233CFE _02233D24: - pop {r4, r5, r6, pc} - .align 2, 0 - thumb_func_end MOD83_02233C9C + pop {r4, r5, r6, pc} + .align 2, 0 + thumb_func_end MOD83_02233C9C - thumb_func_start MOD83_02233D28 + thumb_func_start MOD83_02233D28 MOD83_02233D28: ; 0x02233D28 - push {r4, r5, r6, lr} - add r6, r0, #0 - bl MOD83_02234694 - add r4, r0, #0 - ldrb r0, [r4, #0x1c] - cmp r0, #0xfd - bne _02233D40 - add r0, r6, #0 - bl MOD83_02233C9C - pop {r4, r5, r6, pc} + push {r4, r5, r6, lr} + add r6, r0, #0 + bl MOD83_02234694 + add r4, r0, #0 + ldrb r0, [r4, #0x1c] + cmp r0, #0xfd + bne _02233D40 + add r0, r6, #0 + bl MOD83_02233C9C + pop {r4, r5, r6, pc} _02233D40: - ldrb r0, [r4, #0x19] - cmp r0, #1 - beq _02233D4C - ldrb r0, [r4, #0x19] - cmp r0, #3 - bne _02233DE8 + ldrb r0, [r4, #0x19] + cmp r0, #1 + beq _02233D4C + ldrb r0, [r4, #0x19] + cmp r0, #3 + bne _02233DE8 _02233D4C: - ldrb r0, [r4, #0x1b] - cmp r0, #0 - bne _02233DE8 - ldrh r1, [r6, #0x10] - ldr r0, [r6, #0xc] - ldr r5, [r4, #0xc] - bl DC_FlushRange - ldrh r2, [r6, #0x10] - ldr r0, [r6, #0xc] - ldr r1, [r4, #0xc] - bl MI_CpuCopy8 - bl MOD83_022346BC - ldr r1, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, r0 - bne _02233DE8 - bl MOD83_022346CC - ldr r1, [r5] - lsl r1, r1, #0x14 - lsr r1, r1, #0x1c - cmp r1, r0 - bhi _02233DE8 - ldr r0, [r4, #0xc] - bl MOD83_02234900 - ldr r0, [r5, #8] - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - ldrb r0, [r4, #0x1c] - cmp r1, r0 - bne _02233DE8 - ldr r0, [r4, #0xc] - bl MOD83_0223496C - mov r0, #0 - strb r0, [r4, #0x19] - ldr r0, [r4, #0xc] - bl MOD83_02234934 - cmp r0, #0 - beq _02233DDA - ldr r0, [r5, #8] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0xfd - bne _02233DBA - add r0, r6, #0 - bl MOD83_02233C9C - b _02233DCC + ldrb r0, [r4, #0x1b] + cmp r0, #0 + bne _02233DE8 + ldrh r1, [r6, #0x10] + ldr r0, [r6, #0xc] + ldr r5, [r4, #0xc] + bl DC_FlushRange + ldrh r2, [r6, #0x10] + ldr r0, [r6, #0xc] + ldr r1, [r4, #0xc] + bl MI_CpuCopy8 + bl MOD83_022346BC + ldr r1, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r0 + bne _02233DE8 + bl MOD83_022346CC + ldr r1, [r5] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + cmp r1, r0 + bhi _02233DE8 + ldr r0, [r4, #0xc] + bl MOD83_02234900 + ldr r0, [r5, #8] + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldrb r0, [r4, #0x1c] + cmp r1, r0 + bne _02233DE8 + ldr r0, [r4, #0xc] + bl MOD83_0223496C + mov r0, #0 + strb r0, [r4, #0x19] + ldr r0, [r4, #0xc] + bl MOD83_02234934 + cmp r0, #0 + beq _02233DDA + ldr r0, [r5, #8] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0xfd + bne _02233DBA + add r0, r6, #0 + bl MOD83_02233C9C + b _02233DCC _02233DBA: - ldr r2, [r5, #0xc] - ldr r1, [r4, #0xc] - lsl r0, r2, #0x18 - lsr r0, r0, #0x18 - add r0, r1, r0 - ldr r1, [r4, #4] - lsr r2, r2, #8 - bl MI_CpuCopy8 + ldr r2, [r5, #0xc] + ldr r1, [r4, #0xc] + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + add r0, r1, r0 + ldr r1, [r4, #4] + lsr r2, r2, #8 + bl MI_CpuCopy8 _02233DCC: - ldr r1, [r5, #8] - ldr r0, _02233DEC ; =0xFFFF00FF - and r0, r1 - str r0, [r5, #8] - mov r0, #4 - strb r0, [r4, #0x1b] - pop {r4, r5, r6, pc} + ldr r1, [r5, #8] + ldr r0, _02233DEC ; =0xFFFF00FF + and r0, r1 + str r0, [r5, #8] + mov r0, #4 + strb r0, [r4, #0x1b] + pop {r4, r5, r6, pc} _02233DDA: - ldr r1, [r5, #8] - ldr r0, _02233DEC ; =0xFFFF00FF - and r1, r0 - mov r0, #1 - lsl r0, r0, #8 - orr r0, r1 - str r0, [r5, #8] + ldr r1, [r5, #8] + ldr r0, _02233DEC ; =0xFFFF00FF + and r1, r0 + mov r0, #1 + lsl r0, r0, #8 + orr r0, r1 + str r0, [r5, #8] _02233DE8: - pop {r4, r5, r6, pc} - nop + pop {r4, r5, r6, pc} + nop _02233DEC: .word 0xFFFF00FF - thumb_func_end MOD83_02233D28 + thumb_func_end MOD83_02233D28 - thumb_func_start MOD83_02233DF0 + thumb_func_start MOD83_02233DF0 MOD83_02233DF0: ; 0x02233DF0 - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #4] - bl MOD83_0223495C - ldrh r0, [r4, #2] - cmp r0, #0 - bne _02233E72 - ldrh r0, [r4, #4] - cmp r0, #7 - beq _02233E3A - cmp r0, #9 - beq _02233E48 - cmp r0, #0x15 - bne _02233E72 - bl MOD83_02234574 - cmp r0, #0xa - beq _02233E1A - cmp r0, #0xb - bne _02233E72 + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #4] + bl MOD83_0223495C + ldrh r0, [r4, #2] + cmp r0, #0 + bne _02233E72 + ldrh r0, [r4, #4] + cmp r0, #7 + beq _02233E3A + cmp r0, #9 + beq _02233E48 + cmp r0, #0x15 + bne _02233E72 + bl MOD83_02234574 + cmp r0, #0xa + beq _02233E1A + cmp r0, #0xb + bne _02233E72 _02233E1A: - bl MOD83_02234694 - ldrb r0, [r0, #0x18] - cmp r0, #1 - beq _02233E2A - cmp r0, #2 - beq _02233E32 - pop {r4, pc} + bl MOD83_02234694 + ldrb r0, [r0, #0x18] + cmp r0, #1 + beq _02233E2A + cmp r0, #2 + beq _02233E32 + pop {r4, pc} _02233E2A: - add r0, r4, #0 - bl MOD83_02233C24 - pop {r4, pc} + add r0, r4, #0 + bl MOD83_02233C24 + pop {r4, pc} _02233E32: - add r0, r4, #0 - bl MOD83_02233D28 - pop {r4, pc} + add r0, r4, #0 + bl MOD83_02233D28 + pop {r4, pc} _02233E3A: - mov r0, #1 - bl MOD83_02234634 - mov r0, #0 - bl MOD83_02234640 - pop {r4, pc} + mov r0, #1 + bl MOD83_02234634 + mov r0, #0 + bl MOD83_02234640 + pop {r4, pc} _02233E48: - bl MOD83_02234628 - cmp r0, #0 - beq _02233E56 - mov r0, #1 - bl MOD83_02234640 + bl MOD83_02234628 + cmp r0, #0 + beq _02233E56 + mov r0, #1 + bl MOD83_02234640 _02233E56: - bl MOD83_02234574 - cmp r0, #0xa - beq _02233E64 - cmp r0, #0xb - beq _02233E6C - pop {r4, pc} + bl MOD83_02234574 + cmp r0, #0xa + beq _02233E64 + cmp r0, #0xb + beq _02233E6C + pop {r4, pc} _02233E64: - ldrh r0, [r4, #0x12] - bl MOD83_022333B0 - pop {r4, pc} + ldrh r0, [r4, #0x12] + bl MOD83_022333B0 + pop {r4, pc} _02233E6C: - mov r0, #0 - bl MOD83_02234634 + mov r0, #0 + bl MOD83_02234634 _02233E72: - pop {r4, pc} - thumb_func_end MOD83_02233DF0 + pop {r4, pc} + thumb_func_end MOD83_02233DF0 - thumb_func_start MOD83_02233E74 + thumb_func_start MOD83_02233E74 MOD83_02233E74: ; 0x02233E74 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - bne _02233E8A - bl MOD83_02233388 - cmp r0, #0 - bne _02233E94 - bl MOD83_02233B84 - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + bne _02233E8A + bl MOD83_02233388 + cmp r0, #0 + bne _02233E94 + bl MOD83_02233B84 + pop {r3, pc} _02233E8A: - bl MOD83_02234958 - mov r0, #4 - bl MOD83_02234580 + bl MOD83_02234958 + mov r0, #4 + bl MOD83_02234580 _02233E94: - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02233E74 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02233E74 - thumb_func_start MOD83_02233E98 + thumb_func_start MOD83_02233E98 MOD83_02233E98: ; 0x02233E98 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - bne _02233EB0 - bl MOD83_022349CC - cmp r0, #0 - beq _02233EB8 - mov r0, #2 - bl MOD83_02234580 - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + bne _02233EB0 + bl MOD83_022349CC + cmp r0, #0 + beq _02233EB8 + mov r0, #2 + bl MOD83_02234580 + pop {r3, pc} _02233EB0: - bl MOD83_02234958 - bl MOD83_0223335C + bl MOD83_02234958 + bl MOD83_0223335C _02233EB8: - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02233E98 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02233E98 - thumb_func_start MOD83_02233EBC + thumb_func_start MOD83_02233EBC MOD83_02233EBC: ; 0x02233EBC - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - bne _02233EF2 - mov r0, #0 - bl MOD83_0223461C - bl MOD83_0223458C - cmp r0, #0xc - bne _02233EE2 - bl MOD83_02234C54 - cmp r0, #0 - beq _02233EFC - mov r0, #3 - bl MOD83_02234580 - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + bne _02233EF2 + mov r0, #0 + bl MOD83_0223461C + bl MOD83_0223458C + cmp r0, #0xc + bne _02233EE2 + bl MOD83_02234C54 + cmp r0, #0 + beq _02233EFC + mov r0, #3 + bl MOD83_02234580 + pop {r3, pc} _02233EE2: - bl MOD83_02234C14 - cmp r0, #0 - beq _02233EFC - mov r0, #3 - bl MOD83_02234580 - pop {r3, pc} + bl MOD83_02234C14 + cmp r0, #0 + beq _02233EFC + mov r0, #3 + bl MOD83_02234580 + pop {r3, pc} _02233EF2: - bl MOD83_02234958 - mov r0, #4 - bl MOD83_02234580 + bl MOD83_02234958 + mov r0, #4 + bl MOD83_02234580 _02233EFC: - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02233EBC + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02233EBC - thumb_func_start MOD83_02233F00 + thumb_func_start MOD83_02233F00 MOD83_02233F00: ; 0x02233F00 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - bne _02233F16 - mov r0, #0xc - bl MOD83_02234580 - mov r0, #1 - bl MOD83_0223464C - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + bne _02233F16 + mov r0, #0xc + bl MOD83_02234580 + mov r0, #1 + bl MOD83_0223464C + pop {r3, pc} _02233F16: - bl MOD83_02234958 - mov r0, #4 - bl MOD83_02234580 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02233F00 - - thumb_func_start MOD83_02233F24 + bl MOD83_02234958 + mov r0, #4 + bl MOD83_02234580 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02233F00 + + thumb_func_start MOD83_02233F24 MOD83_02233F24: ; 0x02233F24 - push {r3, lr} - ldr r0, _02233F40 ; =MOD83_0223350C - bl WM_SetIndCallback - cmp r0, #0 - beq _02233F3A - mov r0, #4 - bl MOD83_02234580 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _02233F40 ; =MOD83_0223350C + bl WM_SetIndCallback + cmp r0, #0 + beq _02233F3A + mov r0, #4 + bl MOD83_02234580 + mov r0, #0 + pop {r3, pc} _02233F3A: - mov r0, #1 - pop {r3, pc} - nop + mov r0, #1 + pop {r3, pc} + nop _02233F40: .word MOD83_0223350C - thumb_func_end MOD83_02233F24 + thumb_func_end MOD83_02233F24 - thumb_func_start MOD83_02233F44 + thumb_func_start MOD83_02233F44 MOD83_02233F44: ; 0x02233F44 - push {r3, lr} - bl MOD83_02234574 - cmp r0, #0 - beq _02233F56 - cmp r0, #1 - beq _02233F56 - cmp r0, #2 - bne _02233F5A + push {r3, lr} + bl MOD83_02234574 + cmp r0, #0 + beq _02233F56 + cmp r0, #1 + beq _02233F56 + cmp r0, #2 + bne _02233F5A _02233F56: - bl MOD83_022349B0 + bl MOD83_022349B0 _02233F5A: - pop {r3, pc} - thumb_func_end MOD83_02233F44 + pop {r3, pc} + thumb_func_end MOD83_02233F44 - thumb_func_start MOD83_02233F5C + thumb_func_start MOD83_02233F5C MOD83_02233F5C: ; 0x02233F5C - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl MOD83_02234564 - ldrh r0, [r0, #0x34] - cmp r4, r0 - bhi _02233F80 - add r0, r5, #0 - add r1, r4, #0 - bl DC_FlushRange - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl MOD83_02234970 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl MOD83_02234564 + ldrh r0, [r0, #0x34] + cmp r4, r0 + bhi _02233F80 + add r0, r5, #0 + add r1, r4, #0 + bl DC_FlushRange + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl MOD83_02234970 _02233F80: - pop {r4, r5, r6, pc} - .align 2, 0 - thumb_func_end MOD83_02233F5C + pop {r4, r5, r6, pc} + .align 2, 0 + thumb_func_end MOD83_02233F5C - thumb_func_start MOD83_02233F84 + thumb_func_start MOD83_02233F84 MOD83_02233F84: ; 0x02233F84 - mov r0, #0x17 - lsl r0, r0, #6 - bx lr - .align 2, 0 - thumb_func_end MOD83_02233F84 + mov r0, #0x17 + lsl r0, r0, #6 + bx lr + .align 2, 0 + thumb_func_end MOD83_02233F84 - thumb_func_start MOD83_02233F8C + thumb_func_start MOD83_02233F8C MOD83_02233F8C: ; 0x02233F8C - mov r0, #0x17 - lsl r0, r0, #6 - bx lr - .align 2, 0 - thumb_func_end MOD83_02233F8C + mov r0, #0x17 + lsl r0, r0, #6 + bx lr + .align 2, 0 + thumb_func_end MOD83_02233F8C - thumb_func_start MOD83_02233F94 + thumb_func_start MOD83_02233F94 MOD83_02233F94: ; 0x02233F94 - push {r3, r4, r5, r6, r7, lr} - add r7, r1, #0 - add r5, r0, #0 - bl MOD83_02234564 - bl MOD83_0223456C - add r4, r0, #0 - mov r0, #0x1f - add r1, r7, #0 - and r1, r0 - beq _02233FB2 - mov r0, #0x20 - sub r0, r0, r1 - add r7, r7, r0 + push {r3, r4, r5, r6, r7, lr} + add r7, r1, #0 + add r5, r0, #0 + bl MOD83_02234564 + bl MOD83_0223456C + add r4, r0, #0 + mov r0, #0x1f + add r1, r7, #0 + and r1, r0 + beq _02233FB2 + mov r0, #0x20 + sub r0, r0, r1 + add r7, r7, r0 _02233FB2: - mov r1, #0 - strb r1, [r4] - strb r1, [r4, #1] - strb r1, [r4, #2] - mov r0, #4 - strb r0, [r4, #3] - ldr r0, _022340B8 ; =0x00400131 - str r0, [r4, #4] - mov r0, #0xf - strh r1, [r4, #0xc] - lsl r0, r0, #8 - str r7, [r4, #0x34] - add r7, r7, r0 - str r7, [r4, #0x38] - bl MOD83_02233F84 - str r0, [r4, #0x2c] - add r7, r7, r0 - str r7, [r4, #0x3c] - bl MOD83_02233F8C - add r7, r7, r0 - str r0, [r4, #0x30] - add r0, r7, #0 - str r7, [r4, #0x28] - add r0, #0xc0 - str r0, [r4, #0x24] - ldr r0, [r4, #0x34] - mov r1, #2 - add r7, #0xe0 - bl WM_Init - bl MOD83_02233F24 - str r0, [r4, #0x10] - mov r2, #0 - str r2, [r4, #0x14] - str r2, [r4, #0x18] - str r2, [r4, #0x1c] - str r2, [r4, #0x20] - ldr r0, [r4, #0x40] - mov r6, #0xff - bic r0, r6 - add r3, r0, #0 - mov r1, #0xf - orr r3, r1 - ldr r0, _022340BC ; =0xFFFFF0FF - add r1, #0xf1 - and r0, r3 - orr r1, r0 - ldr r0, _022340C0 ; =0xFFFF0FFF - and r1, r0 - mov r0, #1 - lsl r0, r0, #0xc - orr r0, r1 - str r0, [r4, #0x40] - ldr r3, [r5] - ldr r1, [r4, #0x44] - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - lsl r3, r3, #0x18 - add r0, r4, #0 - bic r1, r6 - lsr r3, r3, #0x18 - orr r3, r1 - ldr r1, _022340BC ; =0xFFFFF0FF - str r3, [r4, #0x44] - and r1, r3 - ldr r3, [r5] - add r0, #0x44 - lsl r3, r3, #0x14 - lsr r3, r3, #0x1c - lsl r3, r3, #0x1c - lsr r3, r3, #0x14 - orr r3, r1 - ldr r1, _022340C0 ; =0xFFFF0FFF - str r3, [r4, #0x44] - and r1, r3 - ldr r3, [r5] - lsl r3, r3, #0x10 - lsr r3, r3, #0x1c - lsl r3, r3, #0x1c - lsr r3, r3, #0x10 - orr r1, r3 - str r1, [r4, #0x44] - ldr r1, [r0] - ldr r3, [r5] - lsl r1, r1, #0x10 - lsr r3, r3, #0x10 - lsr r1, r1, #0x10 - lsl r3, r3, #0x10 - orr r1, r3 - str r1, [r0] - ldr r0, [r5, #8] - ldr r1, [r5, #4] - add r3, r4, #0 - b _0223408C + mov r1, #0 + strb r1, [r4] + strb r1, [r4, #1] + strb r1, [r4, #2] + mov r0, #4 + strb r0, [r4, #3] + ldr r0, _022340B8 ; =0x00400131 + str r0, [r4, #4] + mov r0, #0xf + strh r1, [r4, #0xc] + lsl r0, r0, #8 + str r7, [r4, #0x34] + add r7, r7, r0 + str r7, [r4, #0x38] + bl MOD83_02233F84 + str r0, [r4, #0x2c] + add r7, r7, r0 + str r7, [r4, #0x3c] + bl MOD83_02233F8C + add r7, r7, r0 + str r0, [r4, #0x30] + add r0, r7, #0 + str r7, [r4, #0x28] + add r0, #0xc0 + str r0, [r4, #0x24] + ldr r0, [r4, #0x34] + mov r1, #2 + add r7, #0xe0 + bl WM_Init + bl MOD83_02233F24 + str r0, [r4, #0x10] + mov r2, #0 + str r2, [r4, #0x14] + str r2, [r4, #0x18] + str r2, [r4, #0x1c] + str r2, [r4, #0x20] + ldr r0, [r4, #0x40] + mov r6, #0xff + bic r0, r6 + add r3, r0, #0 + mov r1, #0xf + orr r3, r1 + ldr r0, _022340BC ; =0xFFFFF0FF + add r1, #0xf1 + and r0, r3 + orr r1, r0 + ldr r0, _022340C0 ; =0xFFFF0FFF + and r1, r0 + mov r0, #1 + lsl r0, r0, #0xc + orr r0, r1 + str r0, [r4, #0x40] + ldr r3, [r5] + ldr r1, [r4, #0x44] + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + lsl r3, r3, #0x18 + add r0, r4, #0 + bic r1, r6 + lsr r3, r3, #0x18 + orr r3, r1 + ldr r1, _022340BC ; =0xFFFFF0FF + str r3, [r4, #0x44] + and r1, r3 + ldr r3, [r5] + add r0, #0x44 + lsl r3, r3, #0x14 + lsr r3, r3, #0x1c + lsl r3, r3, #0x1c + lsr r3, r3, #0x14 + orr r3, r1 + ldr r1, _022340C0 ; =0xFFFF0FFF + str r3, [r4, #0x44] + and r1, r3 + ldr r3, [r5] + lsl r3, r3, #0x10 + lsr r3, r3, #0x1c + lsl r3, r3, #0x1c + lsr r3, r3, #0x10 + orr r1, r3 + str r1, [r4, #0x44] + ldr r1, [r0] + ldr r3, [r5] + lsl r1, r1, #0x10 + lsr r3, r3, #0x10 + lsr r1, r1, #0x10 + lsl r3, r3, #0x10 + orr r1, r3 + str r1, [r0] + ldr r0, [r5, #8] + ldr r1, [r5, #4] + add r3, r4, #0 + b _0223408C _02234074: - ldrh r6, [r0] - add r5, r3, #0 - add r5, #0x48 - strh r6, [r5] - add r5, r3, #0 - ldrh r6, [r1] - add r5, #0x60 - add r3, r3, #2 - strh r6, [r5] - add r2, r2, #1 - add r0, r0, #2 - add r1, r1, #2 + ldrh r6, [r0] + add r5, r3, #0 + add r5, #0x48 + strh r6, [r5] + add r5, r3, #0 + ldrh r6, [r1] + add r5, #0x60 + add r3, r3, #2 + strh r6, [r5] + add r2, r2, #1 + add r0, r0, #2 + add r1, r1, #2 _0223408C: - cmp r0, #0 - beq _02234094 - cmp r2, #0xc - blo _02234074 + cmp r0, #0 + beq _02234094 + cmp r2, #0xc + blo _02234074 _02234094: - ldr r1, [r4, #0x40] - ldr r0, [r4, #0x44] - str r1, [r4, #0x78] - str r0, [r4, #0x7c] - bl MOD83_022346A4 - bl MOD83_02234694 - str r7, [r0, #8] - ldr r0, [r4, #0x2c] - add r7, r7, r0 - bl MOD83_02234694 - str r7, [r0, #0xc] - bl WM_GetNextTgid - pop {r3, r4, r5, r6, r7, pc} - nop + ldr r1, [r4, #0x40] + ldr r0, [r4, #0x44] + str r1, [r4, #0x78] + str r0, [r4, #0x7c] + bl MOD83_022346A4 + bl MOD83_02234694 + str r7, [r0, #8] + ldr r0, [r4, #0x2c] + add r7, r7, r0 + bl MOD83_02234694 + str r7, [r0, #0xc] + bl WM_GetNextTgid + pop {r3, r4, r5, r6, r7, pc} + nop _022340B8: .word 0x00400131 _022340BC: .word 0xFFFFF0FF _022340C0: .word 0xFFFF0FFF - thumb_func_end MOD83_02233F94 + thumb_func_end MOD83_02233F94 - thumb_func_start MOD83_022340C4 + thumb_func_start MOD83_022340C4 MOD83_022340C4: ; 0x022340C4 - push {r3, r4, r5, lr} - bl MOD83_02234694 - add r4, r0, #0 - ldrb r0, [r4, #0x19] - cmp r0, #1 - bne _022340E2 - ldrb r0, [r4, #0x1a] - sub r0, r0, #1 - strb r0, [r4, #0x1a] - ldrb r0, [r4, #0x1a] - cmp r0, #0 - bne _02234118 - mov r0, #0 - strb r0, [r4, #0x19] + push {r3, r4, r5, lr} + bl MOD83_02234694 + add r4, r0, #0 + ldrb r0, [r4, #0x19] + cmp r0, #1 + bne _022340E2 + ldrb r0, [r4, #0x1a] + sub r0, r0, #1 + strb r0, [r4, #0x1a] + ldrb r0, [r4, #0x1a] + cmp r0, #0 + bne _02234118 + mov r0, #0 + strb r0, [r4, #0x19] _022340E2: - ldrb r0, [r4, #0x19] - cmp r0, #0 - bne _02234118 - bl MOD83_02234770 - mov r1, #0x40 - sub r5, r1, r0 - ldrb r0, [r4, #0x1c] - add r2, r5, #0 - mov r3, #3 - str r0, [sp] - ldr r0, [r4, #8] - ldr r1, [r4, #4] - bl MOD83_022347D0 - bl MOD83_02234770 - add r1, r0, #0 - ldr r0, [r4, #8] - ldr r2, _0223411C ; =0x0000FFFF - add r1, r5, r1 - bl MOD83_02233F5C - mov r0, #1 - strb r0, [r4, #0x19] - mov r0, #0x3c - strb r0, [r4, #0x1a] + ldrb r0, [r4, #0x19] + cmp r0, #0 + bne _02234118 + bl MOD83_02234770 + mov r1, #0x40 + sub r5, r1, r0 + ldrb r0, [r4, #0x1c] + add r2, r5, #0 + mov r3, #3 + str r0, [sp] + ldr r0, [r4, #8] + ldr r1, [r4, #4] + bl MOD83_022347D0 + bl MOD83_02234770 + add r1, r0, #0 + ldr r0, [r4, #8] + ldr r2, _0223411C ; =0x0000FFFF + add r1, r5, r1 + bl MOD83_02233F5C + mov r0, #1 + strb r0, [r4, #0x19] + mov r0, #0x3c + strb r0, [r4, #0x1a] _02234118: - pop {r3, r4, r5, pc} - nop + pop {r3, r4, r5, pc} + nop _0223411C: .word 0x0000FFFF - thumb_func_end MOD83_022340C4 + thumb_func_end MOD83_022340C4 - thumb_func_start MOD83_02234120 + thumb_func_start MOD83_02234120 MOD83_02234120: ; 0x02234120 - push {r3, r4, r5, r6, r7, lr} - bl MOD83_02234694 - add r4, r0, #0 - ldrb r0, [r4, #0x19] - cmp r0, #0 - bne _022341D6 - ldrb r0, [r4, #0x1c] - cmp r0, #0xfd - bne _02234198 - bl MOD83_0223466C - add r5, r0, #0 - mov r1, #0 - add r2, r5, #0 + push {r3, r4, r5, r6, r7, lr} + bl MOD83_02234694 + add r4, r0, #0 + ldrb r0, [r4, #0x19] + cmp r0, #0 + bne _022341D6 + ldrb r0, [r4, #0x1c] + cmp r0, #0xfd + bne _02234198 + bl MOD83_0223466C + add r5, r0, #0 + mov r1, #0 + add r2, r5, #0 _0223413E: - ldrb r0, [r2, #9] - cmp r0, #0 - beq _0223417E - add r6, r1, #0 - mov r0, #0xc - mul r6, r0 - add r0, r5, r6 - ldrh r0, [r0, #6] - mov r1, #1 - mov r2, #0 - lsl r1, r0 - lsl r0, r1, #0x10 - lsr r7, r0, #0x10 - mov r0, #0xfd - str r0, [sp] - ldr r0, [r4, #8] - ldr r1, [r4, #4] - add r3, r2, #0 - bl MOD83_022347D0 - bl MOD83_02234770 - add r1, r0, #0 - ldr r0, [r4, #8] - add r2, r7, #0 - bl MOD83_02233F5C - add r5, #9 - ldrb r0, [r5, r6] - sub r0, r0, #1 - strb r0, [r5, r6] - pop {r3, r4, r5, r6, r7, pc} + ldrb r0, [r2, #9] + cmp r0, #0 + beq _0223417E + add r6, r1, #0 + mov r0, #0xc + mul r6, r0 + add r0, r5, r6 + ldrh r0, [r0, #6] + mov r1, #1 + mov r2, #0 + lsl r1, r0 + lsl r0, r1, #0x10 + lsr r7, r0, #0x10 + mov r0, #0xfd + str r0, [sp] + ldr r0, [r4, #8] + ldr r1, [r4, #4] + add r3, r2, #0 + bl MOD83_022347D0 + bl MOD83_02234770 + add r1, r0, #0 + ldr r0, [r4, #8] + add r2, r7, #0 + bl MOD83_02233F5C + add r5, #9 + ldrb r0, [r5, r6] + sub r0, r0, #1 + strb r0, [r5, r6] + pop {r3, r4, r5, r6, r7, pc} _0223417E: - add r1, r1, #1 - add r2, #0xc - cmp r1, #8 - blt _0223413E - ldrb r0, [r4, #0x1a] - sub r0, r0, #1 - strb r0, [r4, #0x1a] - ldrb r0, [r4, #0x1a] - cmp r0, #0 - bne _022341D6 - mov r0, #2 - strb r0, [r4, #0x19] - pop {r3, r4, r5, r6, r7, pc} + add r1, r1, #1 + add r2, #0xc + cmp r1, #8 + blt _0223413E + ldrb r0, [r4, #0x1a] + sub r0, r0, #1 + strb r0, [r4, #0x1a] + ldrb r0, [r4, #0x1a] + cmp r0, #0 + bne _022341D6 + mov r0, #2 + strb r0, [r4, #0x19] + pop {r3, r4, r5, r6, r7, pc} _02234198: - bl MOD83_02234770 - bl MOD83_02233F84 - ldr r0, [r4, #0xc] - ldr r0, [r0, #8] - lsl r0, r0, #0x10 - lsr r3, r0, #0x18 - bne _022341BA - ldrb r0, [r4, #0x1b] - cmp r0, #0 - bne _022341B6 - mov r0, #2 - strb r0, [r4, #0x19] - pop {r3, r4, r5, r6, r7, pc} + bl MOD83_02234770 + bl MOD83_02233F84 + ldr r0, [r4, #0xc] + ldr r0, [r0, #8] + lsl r0, r0, #0x10 + lsr r3, r0, #0x18 + bne _022341BA + ldrb r0, [r4, #0x1b] + cmp r0, #0 + bne _022341B6 + mov r0, #2 + strb r0, [r4, #0x19] + pop {r3, r4, r5, r6, r7, pc} _022341B6: - sub r0, r0, #1 - strb r0, [r4, #0x1b] + sub r0, r0, #1 + strb r0, [r4, #0x1b] _022341BA: - ldrb r0, [r4, #0x1c] - mov r2, #0 - str r0, [sp] - ldr r0, [r4, #8] - ldr r1, [r4, #4] - bl MOD83_022347D0 - bl MOD83_02234770 - add r1, r0, #0 - ldr r0, [r4, #8] - ldr r2, _022341D8 ; =0x0000FFFF - bl MOD83_02233F5C + ldrb r0, [r4, #0x1c] + mov r2, #0 + str r0, [sp] + ldr r0, [r4, #8] + ldr r1, [r4, #4] + bl MOD83_022347D0 + bl MOD83_02234770 + add r1, r0, #0 + ldr r0, [r4, #8] + ldr r2, _022341D8 ; =0x0000FFFF + bl MOD83_02233F5C _022341D6: - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _022341D8: .word 0x0000FFFF - thumb_func_end MOD83_02234120 + thumb_func_end MOD83_02234120 - thumb_func_start MOD83_022341DC + thumb_func_start MOD83_022341DC MOD83_022341DC: ; 0x022341DC - push {r3, lr} - bl MOD83_02234694 - ldrb r0, [r0, #0x18] - cmp r0, #1 - beq _022341EE - cmp r0, #2 - beq _022341F4 - pop {r3, pc} + push {r3, lr} + bl MOD83_02234694 + ldrb r0, [r0, #0x18] + cmp r0, #1 + beq _022341EE + cmp r0, #2 + beq _022341F4 + pop {r3, pc} _022341EE: - bl MOD83_022340C4 - pop {r3, pc} + bl MOD83_022340C4 + pop {r3, pc} _022341F4: - bl MOD83_02234120 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022341DC + bl MOD83_02234120 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022341DC - thumb_func_start MOD83_022341FC + thumb_func_start MOD83_022341FC MOD83_022341FC: ; 0x022341FC - push {r4, lr} - bl MOD83_02234664 - add r4, r0, #0 - bl MOD83_02234574 - cmp r0, #6 - beq _02234212 - cmp r0, #0xb - beq _02234222 - pop {r4, pc} + push {r4, lr} + bl MOD83_02234664 + add r4, r0, #0 + bl MOD83_02234574 + cmp r0, #6 + beq _02234212 + cmp r0, #0xb + beq _02234222 + pop {r4, pc} _02234212: - mov r0, #7 - lsl r0, r0, #6 - ldrh r1, [r4, r0] - cmp r1, #0 - beq _02234226 - sub r1, r1, #1 - strh r1, [r4, r0] - pop {r4, pc} + mov r0, #7 + lsl r0, r0, #6 + ldrh r1, [r4, r0] + cmp r1, #0 + beq _02234226 + sub r1, r1, #1 + strh r1, [r4, r0] + pop {r4, pc} _02234222: - bl MOD83_022341DC + bl MOD83_022341DC _02234226: - pop {r4, pc} - thumb_func_end MOD83_022341FC + pop {r4, pc} + thumb_func_end MOD83_022341FC - thumb_func_start MOD83_02234228 + thumb_func_start MOD83_02234228 MOD83_02234228: ; 0x02234228 - push {r3, lr} - bl MOD83_02234574 - cmp r0, #0xa - bne _02234236 - bl MOD83_022341DC + push {r3, lr} + bl MOD83_02234574 + cmp r0, #0xa + bne _02234236 + bl MOD83_022341DC _02234236: - pop {r3, pc} - thumb_func_end MOD83_02234228 + pop {r3, pc} + thumb_func_end MOD83_02234228 - thumb_func_start MOD83_02234238 + thumb_func_start MOD83_02234238 MOD83_02234238: ; 0x02234238 - push {r3, lr} - bl MOD83_02234574 - cmp r0, #0xc - beq _0223427A - bl MOD83_0223458C - cmp r0, #0xc - bne _02234258 - bl MOD83_02234574 - cmp r0, #7 - bne _0223427A - bl MOD83_02234C34 - pop {r3, pc} + push {r3, lr} + bl MOD83_02234574 + cmp r0, #0xc + beq _0223427A + bl MOD83_0223458C + cmp r0, #0xc + bne _02234258 + bl MOD83_02234574 + cmp r0, #7 + bne _0223427A + bl MOD83_02234C34 + pop {r3, pc} _02234258: - bl MOD83_022345A4 - cmp r0, #1 - beq _02234266 - cmp r0, #2 - beq _0223426C - b _02234272 + bl MOD83_022345A4 + cmp r0, #1 + beq _02234266 + cmp r0, #2 + beq _0223426C + b _02234272 _02234266: - bl MOD83_022341FC - pop {r3, pc} + bl MOD83_022341FC + pop {r3, pc} _0223426C: - bl MOD83_02234228 - pop {r3, pc} + bl MOD83_02234228 + pop {r3, pc} _02234272: - bl MOD83_0223456C - bl MOD83_02234574 + bl MOD83_0223456C + bl MOD83_02234574 _0223427A: - pop {r3, pc} - thumb_func_end MOD83_02234238 + pop {r3, pc} + thumb_func_end MOD83_02234238 - thumb_func_start MOD83_0223427C + thumb_func_start MOD83_0223427C MOD83_0223427C: ; 0x0223427C - push {r3, lr} - bl MOD83_02234674 - mov r0, #1 - bl MOD83_022345B0 - bl MOD83_02233F44 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_0223427C - - thumb_func_start MOD83_02234290 + push {r3, lr} + bl MOD83_02234674 + mov r0, #1 + bl MOD83_022345B0 + bl MOD83_02233F44 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_0223427C + + thumb_func_start MOD83_02234290 MOD83_02234290: ; 0x02234290 - push {r4, lr} - bl MOD83_022345A4 - mov r4, #0 - cmp r0, #1 - bne _022342BE - bl MOD83_02234664 - ldr r1, _022342C4 ; =0x000001C3 - ldrb r1, [r0, r1] - lsl r1, r1, #0x18 - lsr r1, r1, #0x1c - cmp r1, #1 - bne _022342BE - add r2, r4, #0 + push {r4, lr} + bl MOD83_022345A4 + mov r4, #0 + cmp r0, #1 + bne _022342BE + bl MOD83_02234664 + ldr r1, _022342C4 ; =0x000001C3 + ldrb r1, [r0, r1] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + cmp r1, #1 + bne _022342BE + add r2, r4, #0 _022342AE: - ldr r1, [r0] - cmp r1, #0 - beq _022342B6 - add r4, r4, #1 + ldr r1, [r0] + cmp r1, #0 + beq _022342B6 + add r4, r4, #1 _022342B6: - add r2, r2, #1 - add r0, #0x38 - cmp r2, #8 - blo _022342AE + add r2, r2, #1 + add r0, #0x38 + cmp r2, #8 + blo _022342AE _022342BE: - add r0, r4, #0 - pop {r4, pc} - nop + add r0, r4, #0 + pop {r4, pc} + nop _022342C4: .word 0x000001C3 - thumb_func_end MOD83_02234290 + thumb_func_end MOD83_02234290 - thumb_func_start MOD83_022342C8 + thumb_func_start MOD83_022342C8 MOD83_022342C8: ; 0x022342C8 - push {r4, lr} - add r4, r0, #0 - bl MOD83_022345A4 - cmp r0, #1 - bne _022342FA - bl MOD83_02234574 - cmp r0, #7 - bne _022342FA - bl MOD83_02234664 - ldr r1, _02234300 ; =0x000001C3 - ldrb r1, [r0, r1] - lsl r1, r1, #0x18 - lsr r1, r1, #0x1c - cmp r1, #1 - bne _022342FA - mov r1, #0x38 - mul r1, r4 - ldr r0, [r0, r1] - cmp r0, #0 - beq _022342FA - mov r0, #1 - pop {r4, pc} + push {r4, lr} + add r4, r0, #0 + bl MOD83_022345A4 + cmp r0, #1 + bne _022342FA + bl MOD83_02234574 + cmp r0, #7 + bne _022342FA + bl MOD83_02234664 + ldr r1, _02234300 ; =0x000001C3 + ldrb r1, [r0, r1] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + cmp r1, #1 + bne _022342FA + mov r1, #0x38 + mul r1, r4 + ldr r0, [r0, r1] + cmp r0, #0 + beq _022342FA + mov r0, #1 + pop {r4, pc} _022342FA: - mov r0, #0 - pop {r4, pc} - nop + mov r0, #0 + pop {r4, pc} + nop _02234300: .word 0x000001C3 - thumb_func_end MOD83_022342C8 + thumb_func_end MOD83_022342C8 - thumb_func_start MOD83_02234304 + thumb_func_start MOD83_02234304 MOD83_02234304: ; 0x02234304 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl MOD83_022345A4 - cmp r0, #1 - bne _0223434E - bl MOD83_02234574 - cmp r0, #7 - bne _0223434E - bl MOD83_02234664 - ldr r2, _02234350 ; =0x000001C3 - ldrb r3, [r0, r2] - lsl r1, r3, #0x18 - lsr r1, r1, #0x1c - cmp r1, #1 - bne _0223434E - mov r1, #0x38 - add r5, r4, #0 - mul r5, r1 - ldr r5, [r0, r5] - cmp r5, #0 - beq _0223434E - mov r5, #0xf - lsl r4, r4, #0x18 - bic r3, r5 - lsr r5, r4, #0x18 - mov r4, #0xf - and r4, r5 - orr r3, r4 - strb r3, [r0, r2] - mov r2, #0x78 - lsl r1, r1, #3 - strh r2, [r0, r1] - bl MOD83_02234A94 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl MOD83_022345A4 + cmp r0, #1 + bne _0223434E + bl MOD83_02234574 + cmp r0, #7 + bne _0223434E + bl MOD83_02234664 + ldr r2, _02234350 ; =0x000001C3 + ldrb r3, [r0, r2] + lsl r1, r3, #0x18 + lsr r1, r1, #0x1c + cmp r1, #1 + bne _0223434E + mov r1, #0x38 + add r5, r4, #0 + mul r5, r1 + ldr r5, [r0, r5] + cmp r5, #0 + beq _0223434E + mov r5, #0xf + lsl r4, r4, #0x18 + bic r3, r5 + lsr r5, r4, #0x18 + mov r4, #0xf + and r4, r5 + orr r3, r4 + strb r3, [r0, r2] + mov r2, #0x78 + lsl r1, r1, #3 + strh r2, [r0, r1] + bl MOD83_02234A94 _0223434E: - pop {r3, r4, r5, pc} - .align 2, 0 + pop {r3, r4, r5, pc} + .align 2, 0 _02234350: .word 0x000001C3 - thumb_func_end MOD83_02234304 + thumb_func_end MOD83_02234304 - thumb_func_start MOD83_02234354 + thumb_func_start MOD83_02234354 MOD83_02234354: ; 0x02234354 - push {r4, lr} - bl MOD83_022345A4 - mov r4, #0 - cmp r0, #2 - bne _02234386 - bl MOD83_0223466C - add r1, r0, #0 - add r1, #0x60 - ldrb r1, [r1] - cmp r1, #2 - bne _02234386 - add r2, r4, #0 + push {r4, lr} + bl MOD83_022345A4 + mov r4, #0 + cmp r0, #2 + bne _02234386 + bl MOD83_0223466C + add r1, r0, #0 + add r1, #0x60 + ldrb r1, [r1] + cmp r1, #2 + bne _02234386 + add r2, r4, #0 _02234370: - ldr r1, [r0] - cmp r1, #0 - beq _0223437E - ldrb r1, [r0, #0xa] - cmp r1, #0 - beq _0223437E - add r4, r4, #1 + ldr r1, [r0] + cmp r1, #0 + beq _0223437E + ldrb r1, [r0, #0xa] + cmp r1, #0 + beq _0223437E + add r4, r4, #1 _0223437E: - add r2, r2, #1 - add r0, #0xc - cmp r2, #8 - blo _02234370 + add r2, r2, #1 + add r0, #0xc + cmp r2, #8 + blo _02234370 _02234386: - add r0, r4, #0 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02234354 + add r0, r4, #0 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02234354 - thumb_func_start MOD83_0223438C + thumb_func_start MOD83_0223438C MOD83_0223438C: ; 0x0223438C - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x20] - cmp r0, #0 - beq _0223439C - mov r0, #0 - pop {r3, pc} + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x20] + cmp r0, #0 + beq _0223439C + mov r0, #0 + pop {r3, pc} _0223439C: - bl WM_GetLinkLevel - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_0223438C + bl WM_GetLinkLevel + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_0223438C - thumb_func_start MOD83_022343A4 + thumb_func_start MOD83_022343A4 MOD83_022343A4: ; 0x022343A4 - push {r3, lr} - bl MOD83_022345A4 - cmp r0, #1 - beq _022343B4 - cmp r0, #2 - beq _022343BA - b _022343C0 + push {r3, lr} + bl MOD83_022345A4 + cmp r0, #1 + beq _022343B4 + cmp r0, #2 + beq _022343BA + b _022343C0 _022343B4: - bl MOD83_02234290 - pop {r3, pc} + bl MOD83_02234290 + pop {r3, pc} _022343BA: - bl MOD83_02234354 - pop {r3, pc} + bl MOD83_02234354 + pop {r3, pc} _022343C0: - mov r0, #0 - pop {r3, pc} - thumb_func_end MOD83_022343A4 + mov r0, #0 + pop {r3, pc} + thumb_func_end MOD83_022343A4 - thumb_func_start MOD83_022343C4 + thumb_func_start MOD83_022343C4 MOD83_022343C4: ; 0x022343C4 - push {r3, r4, r5, lr} - bl MOD83_02234694 - add r5, r0, #0 - bl MOD83_022346EC - add r4, r0, #0 - bl MOD83_022345A4 - cmp r0, #1 - bne _022343F6 - mov r0, #1 - strb r0, [r5, #0x18] - mov r1, #0 - strb r1, [r5, #0x19] - add r4, #8 - str r4, [r5] - str r4, [r5, #4] - str r1, [r5, #0x10] - str r1, [r5, #0x14] - mov r0, #0x78 - strb r0, [r5, #0x1a] - strb r1, [r5, #0x1b] - mov r0, #0xfd - strb r0, [r5, #0x1c] + push {r3, r4, r5, lr} + bl MOD83_02234694 + add r5, r0, #0 + bl MOD83_022346EC + add r4, r0, #0 + bl MOD83_022345A4 + cmp r0, #1 + bne _022343F6 + mov r0, #1 + strb r0, [r5, #0x18] + mov r1, #0 + strb r1, [r5, #0x19] + add r4, #8 + str r4, [r5] + str r4, [r5, #4] + str r1, [r5, #0x10] + str r1, [r5, #0x14] + mov r0, #0x78 + strb r0, [r5, #0x1a] + strb r1, [r5, #0x1b] + mov r0, #0xfd + strb r0, [r5, #0x1c] _022343F6: - pop {r3, r4, r5, pc} - thumb_func_end MOD83_022343C4 + pop {r3, r4, r5, pc} + thumb_func_end MOD83_022343C4 - thumb_func_start MOD83_022343F8 + thumb_func_start MOD83_022343F8 MOD83_022343F8: ; 0x022343F8 - push {r4, lr} - bl MOD83_02234694 - add r4, r0, #0 - bl MOD83_022346EC - mov r1, #1 - strb r1, [r4, #0x18] - mov r1, #0 - strb r1, [r4, #0x19] - add r0, #8 - str r0, [r4] - str r0, [r4, #4] - mov r0, #0x30 - str r0, [r4, #0x10] - str r0, [r4, #0x14] - mov r0, #0x78 - strb r0, [r4, #0x1a] - strb r1, [r4, #0x1b] - mov r0, #0xfe - strb r0, [r4, #0x1c] - pop {r4, pc} - thumb_func_end MOD83_022343F8 - - thumb_func_start MOD83_02234424 + push {r4, lr} + bl MOD83_02234694 + add r4, r0, #0 + bl MOD83_022346EC + mov r1, #1 + strb r1, [r4, #0x18] + mov r1, #0 + strb r1, [r4, #0x19] + add r0, #8 + str r0, [r4] + str r0, [r4, #4] + mov r0, #0x30 + str r0, [r4, #0x10] + str r0, [r4, #0x14] + mov r0, #0x78 + strb r0, [r4, #0x1a] + strb r1, [r4, #0x1b] + mov r0, #0xfe + strb r0, [r4, #0x1c] + pop {r4, pc} + thumb_func_end MOD83_022343F8 + + thumb_func_start MOD83_02234424 MOD83_02234424: ; 0x02234424 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - add r4, r2, #0 - bl MOD83_02234694 - cmp r4, #0xf0 - bgt _0223444E - mov r1, #2 - strb r1, [r0, #0x18] - mov r1, #3 - strb r1, [r0, #0x19] - str r5, [r0] - str r5, [r0, #4] - str r6, [r0, #0x10] - mov r2, #0 - str r2, [r0, #0x14] - mov r1, #0x78 - strb r1, [r0, #0x1a] - strb r2, [r0, #0x1b] - strb r4, [r0, #0x1c] + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + add r4, r2, #0 + bl MOD83_02234694 + cmp r4, #0xf0 + bgt _0223444E + mov r1, #2 + strb r1, [r0, #0x18] + mov r1, #3 + strb r1, [r0, #0x19] + str r5, [r0] + str r5, [r0, #4] + str r6, [r0, #0x10] + mov r2, #0 + str r2, [r0, #0x14] + mov r1, #0x78 + strb r1, [r0, #0x1a] + strb r2, [r0, #0x1b] + strb r4, [r0, #0x1c] _0223444E: - pop {r4, r5, r6, pc} - thumb_func_end MOD83_02234424 + pop {r4, r5, r6, pc} + thumb_func_end MOD83_02234424 - thumb_func_start MOD83_02234450 + thumb_func_start MOD83_02234450 MOD83_02234450: ; 0x02234450 - push {r3, lr} - bl MOD83_022345A4 - cmp r0, #1 - beq _0223445E - cmp r0, #2 - bne _02234478 + push {r3, lr} + bl MOD83_022345A4 + cmp r0, #1 + beq _0223445E + cmp r0, #2 + bne _02234478 _0223445E: - bl MOD83_02234574 - cmp r0, #0xa - beq _0223446A - cmp r0, #0xb - bne _02234478 + bl MOD83_02234574 + cmp r0, #0xa + beq _0223446A + cmp r0, #0xb + bne _02234478 _0223446A: - bl MOD83_02234694 - ldrb r0, [r0, #0x19] - cmp r0, #2 - bne _02234478 - mov r0, #1 - pop {r3, pc} + bl MOD83_02234694 + ldrb r0, [r0, #0x19] + cmp r0, #2 + bne _02234478 + mov r0, #1 + pop {r3, pc} _02234478: - mov r0, #0 - pop {r3, pc} - thumb_func_end MOD83_02234450 + mov r0, #0 + pop {r3, pc} + thumb_func_end MOD83_02234450 - thumb_func_start MOD83_0223447C + thumb_func_start MOD83_0223447C MOD83_0223447C: ; 0x0223447C - push {r3, lr} - bl MOD83_022345A4 - cmp r0, #1 - beq _0223448A - cmp r0, #2 - bne _022344A4 + push {r3, lr} + bl MOD83_022345A4 + cmp r0, #1 + beq _0223448A + cmp r0, #2 + bne _022344A4 _0223448A: - bl MOD83_02234574 - cmp r0, #0xa - beq _02234496 - cmp r0, #0xb - bne _022344A4 + bl MOD83_02234574 + cmp r0, #0xa + beq _02234496 + cmp r0, #0xb + bne _022344A4 _02234496: - bl MOD83_02234694 - ldrb r0, [r0, #0x19] - cmp r0, #2 - bne _022344A4 - mov r0, #1 - pop {r3, pc} + bl MOD83_02234694 + ldrb r0, [r0, #0x19] + cmp r0, #2 + bne _022344A4 + mov r0, #1 + pop {r3, pc} _022344A4: - mov r0, #0 - pop {r3, pc} - thumb_func_end MOD83_0223447C + mov r0, #0 + pop {r3, pc} + thumb_func_end MOD83_0223447C - thumb_func_start MOD83_022344A8 + thumb_func_start MOD83_022344A8 MOD83_022344A8: ; 0x022344A8 - push {r3, lr} - bl MOD83_022345A4 - cmp r0, #1 - beq _022344B6 - cmp r0, #2 - bne _022344E0 + push {r3, lr} + bl MOD83_022345A4 + cmp r0, #1 + beq _022344B6 + cmp r0, #2 + bne _022344E0 _022344B6: - bl MOD83_02234574 - cmp r0, #0xa - beq _022344C2 - cmp r0, #0xb - bne _022344E0 + bl MOD83_02234574 + cmp r0, #0xa + beq _022344C2 + cmp r0, #0xb + bne _022344E0 _022344C2: - bl MOD83_02234694 - ldrb r1, [r0, #0x19] - cmp r1, #0 - bne _022344E0 - ldr r1, [r0, #0xc] - ldr r1, [r1, #8] - lsl r1, r1, #0x10 - lsr r1, r1, #0x18 - bne _022344E0 - ldrb r0, [r0, #0x1b] - cmp r0, #4 - bhs _022344E0 - mov r0, #1 - pop {r3, pc} + bl MOD83_02234694 + ldrb r1, [r0, #0x19] + cmp r1, #0 + bne _022344E0 + ldr r1, [r0, #0xc] + ldr r1, [r1, #8] + lsl r1, r1, #0x10 + lsr r1, r1, #0x18 + bne _022344E0 + ldrb r0, [r0, #0x1b] + cmp r0, #4 + bhs _022344E0 + mov r0, #1 + pop {r3, pc} _022344E0: - mov r0, #0 - pop {r3, pc} - thumb_func_end MOD83_022344A8 + mov r0, #0 + pop {r3, pc} + thumb_func_end MOD83_022344A8 - thumb_func_start MOD83_022344E4 + thumb_func_start MOD83_022344E4 MOD83_022344E4: ; 0x022344E4 - push {r3, lr} - bl MOD83_022345A4 - cmp r0, #2 - bne _02234510 - bl MOD83_0223466C - mov r2, #0 + push {r3, lr} + bl MOD83_022345A4 + cmp r0, #2 + bne _02234510 + bl MOD83_0223466C + mov r2, #0 _022344F4: - ldr r1, [r0] - cmp r1, #0 - beq _02234504 - ldrb r1, [r0, #0xa] - cmp r1, #0 - beq _02234504 - mov r0, #1 - pop {r3, pc} + ldr r1, [r0] + cmp r1, #0 + beq _02234504 + ldrb r1, [r0, #0xa] + cmp r1, #0 + beq _02234504 + mov r0, #1 + pop {r3, pc} _02234504: - add r2, r2, #1 - add r0, #0xc - cmp r2, #8 - blt _022344F4 - mov r0, #0 - pop {r3, pc} + add r2, r2, #1 + add r0, #0xc + cmp r2, #8 + blt _022344F4 + mov r0, #0 + pop {r3, pc} _02234510: - bl MOD83_02234628 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022344E4 + bl MOD83_02234628 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022344E4 - thumb_func_start MOD83_02234518 + thumb_func_start MOD83_02234518 MOD83_02234518: ; 0x02234518 - push {r4, lr} - mov r0, #0xc - bl MOD83_02234598 - bl MOD83_02234574 - cmp r0, #0 - beq _02234532 - cmp r0, #1 - beq _02234532 - cmp r0, #9 - beq _0223453E - pop {r4, pc} + push {r4, lr} + mov r0, #0xc + bl MOD83_02234598 + bl MOD83_02234574 + cmp r0, #0 + beq _02234532 + cmp r0, #1 + beq _02234532 + cmp r0, #9 + beq _0223453E + pop {r4, pc} _02234532: - bl WM_Finish - mov r0, #1 - bl MOD83_0223464C - pop {r4, pc} + bl WM_Finish + mov r0, #1 + bl MOD83_0223464C + pop {r4, pc} _0223453E: - bl MOD83_02234628 - cmp r0, #0 - bne _02234554 - bl MOD83_0223456C - add r4, r0, #0 - bl MOD83_02234C34 - mov r0, #1 - str r0, [r4, #0x1c] + bl MOD83_02234628 + cmp r0, #0 + bne _02234554 + bl MOD83_0223456C + add r4, r0, #0 + bl MOD83_02234C34 + mov r0, #1 + str r0, [r4, #0x1c] _02234554: - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02234518 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02234518 - thumb_func_start MOD83_02234558 + thumb_func_start MOD83_02234558 MOD83_02234558: ; 0x02234558 - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x20] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02234558 - - thumb_func_start MOD83_02234564 + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x20] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02234558 + + thumb_func_start MOD83_02234564 MOD83_02234564: ; 0x02234564 - ldr r0, _02234568 ; =MOD83_0223B240 - bx lr - .align 2, 0 + ldr r0, _02234568 ; =MOD83_0223B240 + bx lr + .align 2, 0 _02234568: .word MOD83_0223B240 - thumb_func_end MOD83_02234564 + thumb_func_end MOD83_02234564 - thumb_func_start MOD83_0223456C + thumb_func_start MOD83_0223456C MOD83_0223456C: ; 0x0223456C - ldr r0, _02234570 ; =MOD83_0223B8A0 - bx lr - .align 2, 0 + ldr r0, _02234570 ; =MOD83_0223B8A0 + bx lr + .align 2, 0 _02234570: .word MOD83_0223B8A0 - thumb_func_end MOD83_0223456C + thumb_func_end MOD83_0223456C - thumb_func_start MOD83_02234574 + thumb_func_start MOD83_02234574 MOD83_02234574: ; 0x02234574 - push {r3, lr} - bl MOD83_0223456C - ldrb r0, [r0] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02234574 - - thumb_func_start MOD83_02234580 + push {r3, lr} + bl MOD83_0223456C + ldrb r0, [r0] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02234574 + + thumb_func_start MOD83_02234580 MOD83_02234580: ; 0x02234580 - push {r4, lr} - add r4, r0, #0 - bl MOD83_0223456C - strb r4, [r0] - pop {r4, pc} - thumb_func_end MOD83_02234580 - - thumb_func_start MOD83_0223458C + push {r4, lr} + add r4, r0, #0 + bl MOD83_0223456C + strb r4, [r0] + pop {r4, pc} + thumb_func_end MOD83_02234580 + + thumb_func_start MOD83_0223458C MOD83_0223458C: ; 0x0223458C - push {r3, lr} - bl MOD83_0223456C - ldrb r0, [r0, #1] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_0223458C - - thumb_func_start MOD83_02234598 + push {r3, lr} + bl MOD83_0223456C + ldrb r0, [r0, #1] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_0223458C + + thumb_func_start MOD83_02234598 MOD83_02234598: ; 0x02234598 - push {r4, lr} - add r4, r0, #0 - bl MOD83_0223456C - strb r4, [r0, #1] - pop {r4, pc} - thumb_func_end MOD83_02234598 - - thumb_func_start MOD83_022345A4 + push {r4, lr} + add r4, r0, #0 + bl MOD83_0223456C + strb r4, [r0, #1] + pop {r4, pc} + thumb_func_end MOD83_02234598 + + thumb_func_start MOD83_022345A4 MOD83_022345A4: ; 0x022345A4 - push {r3, lr} - bl MOD83_0223456C - ldrb r0, [r0, #2] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022345A4 - - thumb_func_start MOD83_022345B0 + push {r3, lr} + bl MOD83_0223456C + ldrb r0, [r0, #2] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022345A4 + + thumb_func_start MOD83_022345B0 MOD83_022345B0: ; 0x022345B0 - push {r4, lr} - add r4, r0, #0 - bl MOD83_0223456C - strb r4, [r0, #2] - pop {r4, pc} - thumb_func_end MOD83_022345B0 - - thumb_func_start MOD83_022345BC + push {r4, lr} + add r4, r0, #0 + bl MOD83_0223456C + strb r4, [r0, #2] + pop {r4, pc} + thumb_func_end MOD83_022345B0 + + thumb_func_start MOD83_022345BC MOD83_022345BC: ; 0x022345BC - push {r3, lr} - bl MOD83_0223456C - ldrb r0, [r0, #3] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022345BC - - thumb_func_start MOD83_022345C8 + push {r3, lr} + bl MOD83_0223456C + ldrb r0, [r0, #3] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022345BC + + thumb_func_start MOD83_022345C8 MOD83_022345C8: ; 0x022345C8 - push {r4, lr} - add r4, r0, #0 - bl MOD83_02234564 - strh r4, [r0, #0x32] - pop {r4, pc} - thumb_func_end MOD83_022345C8 - - thumb_func_start MOD83_022345D4 + push {r4, lr} + add r4, r0, #0 + bl MOD83_02234564 + strh r4, [r0, #0x32] + pop {r4, pc} + thumb_func_end MOD83_022345C8 + + thumb_func_start MOD83_022345D4 MOD83_022345D4: ; 0x022345D4 - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x24] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022345D4 - - thumb_func_start MOD83_022345E0 + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x24] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022345D4 + + thumb_func_start MOD83_022345E0 MOD83_022345E0: ; 0x022345E0 - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x2c] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022345E0 - - thumb_func_start MOD83_022345EC + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x2c] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022345E0 + + thumb_func_start MOD83_022345EC MOD83_022345EC: ; 0x022345EC - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x30] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022345EC - - thumb_func_start MOD83_022345F8 + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x30] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022345EC + + thumb_func_start MOD83_022345F8 MOD83_022345F8: ; 0x022345F8 - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x38] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022345F8 - - thumb_func_start MOD83_02234604 + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x38] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022345F8 + + thumb_func_start MOD83_02234604 MOD83_02234604: ; 0x02234604 - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x3c] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02234604 - - thumb_func_start MOD83_02234610 + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x3c] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02234604 + + thumb_func_start MOD83_02234610 MOD83_02234610: ; 0x02234610 - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x28] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02234610 - - thumb_func_start MOD83_0223461C + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x28] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02234610 + + thumb_func_start MOD83_0223461C MOD83_0223461C: ; 0x0223461C - push {r4, lr} - add r4, r0, #0 - bl MOD83_0223456C - strh r4, [r0, #0xc] - pop {r4, pc} - thumb_func_end MOD83_0223461C - - thumb_func_start MOD83_02234628 + push {r4, lr} + add r4, r0, #0 + bl MOD83_0223456C + strh r4, [r0, #0xc] + pop {r4, pc} + thumb_func_end MOD83_0223461C + + thumb_func_start MOD83_02234628 MOD83_02234628: ; 0x02234628 - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x14] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02234628 - - thumb_func_start MOD83_02234634 + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x14] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02234628 + + thumb_func_start MOD83_02234634 MOD83_02234634: ; 0x02234634 - push {r4, lr} - add r4, r0, #0 - bl MOD83_0223456C - str r4, [r0, #0x14] - pop {r4, pc} - thumb_func_end MOD83_02234634 - - thumb_func_start MOD83_02234640 + push {r4, lr} + add r4, r0, #0 + bl MOD83_0223456C + str r4, [r0, #0x14] + pop {r4, pc} + thumb_func_end MOD83_02234634 + + thumb_func_start MOD83_02234640 MOD83_02234640: ; 0x02234640 - push {r4, lr} - add r4, r0, #0 - bl MOD83_0223456C - str r4, [r0, #0x18] - pop {r4, pc} - thumb_func_end MOD83_02234640 - - thumb_func_start MOD83_0223464C + push {r4, lr} + add r4, r0, #0 + bl MOD83_0223456C + str r4, [r0, #0x18] + pop {r4, pc} + thumb_func_end MOD83_02234640 + + thumb_func_start MOD83_0223464C MOD83_0223464C: ; 0x0223464C - push {r4, lr} - add r4, r0, #0 - bl MOD83_0223456C - str r4, [r0, #0x20] - pop {r4, pc} - thumb_func_end MOD83_0223464C - - thumb_func_start MOD83_02234658 + push {r4, lr} + add r4, r0, #0 + bl MOD83_0223456C + str r4, [r0, #0x20] + pop {r4, pc} + thumb_func_end MOD83_0223464C + + thumb_func_start MOD83_02234658 MOD83_02234658: ; 0x02234658 - push {r3, lr} - bl MOD83_0223456C - add r0, #0x90 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02234658 - - thumb_func_start MOD83_02234664 + push {r3, lr} + bl MOD83_0223456C + add r0, #0x90 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02234658 + + thumb_func_start MOD83_02234664 MOD83_02234664: ; 0x02234664 - ldr r3, _02234668 ; =MOD83_02234658 - bx r3 - .align 2, 0 + ldr r3, _02234668 ; =MOD83_02234658 + bx r3 + .align 2, 0 _02234668: .word MOD83_02234658 - thumb_func_end MOD83_02234664 + thumb_func_end MOD83_02234664 - thumb_func_start MOD83_0223466C + thumb_func_start MOD83_0223466C MOD83_0223466C: ; 0x0223466C - ldr r3, _02234670 ; =MOD83_02234658 - bx r3 - .align 2, 0 + ldr r3, _02234670 ; =MOD83_02234658 + bx r3 + .align 2, 0 _02234670: .word MOD83_02234658 - thumb_func_end MOD83_0223466C + thumb_func_end MOD83_0223466C - thumb_func_start MOD83_02234674 + thumb_func_start MOD83_02234674 MOD83_02234674: ; 0x02234674 - push {r4, lr} - bl MOD83_02234664 - mov r2, #0x71 - mov r1, #0 - lsl r2, r2, #2 - add r4, r0, #0 - bl MI_CpuFill8 - mov r1, #0x46 - lsl r1, r1, #2 - add r0, r1, #0 - add r0, #0xa8 - strh r1, [r4, r0] - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02234674 - - thumb_func_start MOD83_02234694 + push {r4, lr} + bl MOD83_02234664 + mov r2, #0x71 + mov r1, #0 + lsl r2, r2, #2 + add r4, r0, #0 + bl MI_CpuFill8 + mov r1, #0x46 + lsl r1, r1, #2 + add r0, r1, #0 + add r0, #0xa8 + strh r1, [r4, r0] + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02234674 + + thumb_func_start MOD83_02234694 MOD83_02234694: ; 0x02234694 - push {r3, lr} - bl MOD83_0223456C - mov r1, #0x95 - lsl r1, r1, #2 - add r0, r0, r1 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_02234694 - - thumb_func_start MOD83_022346A4 + push {r3, lr} + bl MOD83_0223456C + mov r1, #0x95 + lsl r1, r1, #2 + add r0, r0, r1 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_02234694 + + thumb_func_start MOD83_022346A4 MOD83_022346A4: ; 0x022346A4 - push {r3, lr} - bl MOD83_02234694 - mov r1, #0 - strb r1, [r0, #0x18] - pop {r3, pc} - thumb_func_end MOD83_022346A4 - - thumb_func_start MOD83_022346B0 + push {r3, lr} + bl MOD83_02234694 + mov r1, #0 + strb r1, [r0, #0x18] + pop {r3, pc} + thumb_func_end MOD83_022346A4 + + thumb_func_start MOD83_022346B0 MOD83_022346B0: ; 0x022346B0 - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #4] - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022346B0 - - thumb_func_start MOD83_022346BC + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #4] + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022346B0 + + thumb_func_start MOD83_022346BC MOD83_022346BC: ; 0x022346BC - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x40] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022346BC - - thumb_func_start MOD83_022346CC + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x40] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022346BC + + thumb_func_start MOD83_022346CC MOD83_022346CC: ; 0x022346CC - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x40] - lsl r0, r0, #0x14 - lsr r0, r0, #0x1c - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022346CC - - thumb_func_start MOD83_022346DC + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x40] + lsl r0, r0, #0x14 + lsr r0, r0, #0x1c + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022346CC + + thumb_func_start MOD83_022346DC MOD83_022346DC: ; 0x022346DC - push {r3, lr} - bl MOD83_0223456C - ldr r0, [r0, #0x44] - lsr r0, r0, #0x10 - pop {r3, pc} - thumb_func_end MOD83_022346DC - - thumb_func_start MOD83_022346E8 + push {r3, lr} + bl MOD83_0223456C + ldr r0, [r0, #0x44] + lsr r0, r0, #0x10 + pop {r3, pc} + thumb_func_end MOD83_022346DC + + thumb_func_start MOD83_022346E8 MOD83_022346E8: ; 0x022346E8 - mov r0, #0x38 - bx lr - thumb_func_end MOD83_022346E8 + mov r0, #0x38 + bx lr + thumb_func_end MOD83_022346E8 - thumb_func_start MOD83_022346EC + thumb_func_start MOD83_022346EC MOD83_022346EC: ; 0x022346EC - push {r3, lr} - bl MOD83_0223456C - add r0, #0x40 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022346EC - - thumb_func_start MOD83_022346F8 + push {r3, lr} + bl MOD83_0223456C + add r0, #0x40 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022346EC + + thumb_func_start MOD83_022346F8 MOD83_022346F8: ; 0x022346F8 - push {r3, lr} - bl MOD83_0223456C - add r0, #0x78 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022346F8 - - thumb_func_start MOD83_02234704 + push {r3, lr} + bl MOD83_0223456C + add r0, #0x78 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022346F8 + + thumb_func_start MOD83_02234704 MOD83_02234704: ; 0x02234704 - push {r3} - sub sp, #4 - mov r2, #0 - str r2, [sp] - add r3, sp, #0 + push {r3} + sub sp, #4 + mov r2, #0 + str r2, [sp] + add r3, sp, #0 _0223470E: - add r1, r0, r2 - ldrb r1, [r1, #2] - add r2, r2, #1 - strb r1, [r3] - add r3, r3, #1 - cmp r2, #4 - blo _0223470E - ldr r0, [sp] - add sp, #4 - pop {r3} - bx lr - thumb_func_end MOD83_02234704 - - thumb_func_start MOD83_02234724 + add r1, r0, r2 + ldrb r1, [r1, #2] + add r2, r2, #1 + strb r1, [r3] + add r3, r3, #1 + cmp r2, #4 + blo _0223470E + ldr r0, [sp] + add sp, #4 + pop {r3} + bx lr + thumb_func_end MOD83_02234704 + + thumb_func_start MOD83_02234724 MOD83_02234724: ; 0x02234724 - push {r3} - sub sp, #4 - mov r2, #0 - add r1, sp, #0 - strh r2, [r1] - add r3, sp, #0 + push {r3} + sub sp, #4 + mov r2, #0 + add r1, sp, #0 + strh r2, [r1] + add r3, sp, #0 _02234730: - ldrb r1, [r0, r2] - add r2, r2, #1 - strb r1, [r3] - add r3, r3, #1 - cmp r2, #2 - blo _02234730 - add r1, sp, #0 - mov r0, #0 - ldrsh r0, [r1, r0] - add sp, #4 - pop {r3} - bx lr - thumb_func_end MOD83_02234724 - - thumb_func_start MOD83_02234748 + ldrb r1, [r0, r2] + add r2, r2, #1 + strb r1, [r3] + add r3, r3, #1 + cmp r2, #2 + blo _02234730 + add r1, sp, #0 + mov r0, #0 + ldrsh r0, [r1, r0] + add sp, #4 + pop {r3} + bx lr + thumb_func_end MOD83_02234724 + + thumb_func_start MOD83_02234748 MOD83_02234748: ; 0x02234748 - push {r4, r5, r6, lr} - add r5, r1, #0 - ldr r1, _0223476C ; =0x00002710 - add r6, r0, #0 - add r4, r2, #0 - bl _u32_div_f - str r1, [r5] - ldr r1, _0223476C ; =0x00002710 - add r0, r6, #0 - bl _u32_div_f - ldr r1, _0223476C ; =0x00002710 - bl _u32_div_f - str r1, [r4] - pop {r4, r5, r6, pc} - nop + push {r4, r5, r6, lr} + add r5, r1, #0 + ldr r1, _0223476C ; =0x00002710 + add r6, r0, #0 + add r4, r2, #0 + bl _u32_div_f + str r1, [r5] + ldr r1, _0223476C ; =0x00002710 + add r0, r6, #0 + bl _u32_div_f + ldr r1, _0223476C ; =0x00002710 + bl _u32_div_f + str r1, [r4] + pop {r4, r5, r6, pc} + nop _0223476C: .word 0x00002710 - thumb_func_end MOD83_02234748 + thumb_func_end MOD83_02234748 - thumb_func_start MOD83_02234770 + thumb_func_start MOD83_02234770 MOD83_02234770: ; 0x02234770 - mov r0, #0x10 - bx lr - thumb_func_end MOD83_02234770 + mov r0, #0x10 + bx lr + thumb_func_end MOD83_02234770 - thumb_func_start MOD83_02234774 + thumb_func_start MOD83_02234774 MOD83_02234774: ; 0x02234774 - push {r4, lr} - ldr r0, _02234788 ; =0x04000006 - ldrh r4, [r0] - bl OS_GetTick - add r1, r0, r4 - mov r0, #1 - bic r1, r0 - add r0, r1, #1 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + ldr r0, _02234788 ; =0x04000006 + ldrh r4, [r0] + bl OS_GetTick + add r1, r0, r4 + mov r0, #1 + bic r1, r0 + add r0, r1, #1 + pop {r4, pc} + .align 2, 0 _02234788: .word 0x04000006 - thumb_func_end MOD83_02234774 + thumb_func_end MOD83_02234774 - thumb_func_start MOD83_0223478C + thumb_func_start MOD83_0223478C MOD83_0223478C: ; 0x0223478C - push {r4, r5, r6, r7} - add r3, r0, #0 - mov r0, #0 - lsr r1, r1, #2 - beq _022347C2 - ldr r4, _022347C8 ; =0x00269EC3 + push {r4, r5, r6, r7} + add r3, r0, #0 + mov r0, #0 + lsr r1, r1, #2 + beq _022347C2 + ldr r4, _022347C8 ; =0x00269EC3 _02234798: - ldr r5, _022347CC ; =0x5D588B65 - ldr r6, _022347CC ; =0x5D588B65 - mul r5, r3 - ldr r3, _022347C8 ; =0x00269EC3 - add r0, r0, #1 - add r3, r5, r3 - lsr r5, r3, #0x10 - mul r6, r3 - add r3, r6, r4 - lsl r5, r5, #0x10 - lsr r7, r3, #0x10 - lsr r5, r5, #0x10 - lsl r7, r7, #0x10 - ldr r6, [r2] - lsl r5, r5, #0x10 - lsr r7, r7, #0x10 - orr r5, r7 - eor r5, r6 - stmia r2!, {r5} - cmp r0, r1 - blo _02234798 + ldr r5, _022347CC ; =0x5D588B65 + ldr r6, _022347CC ; =0x5D588B65 + mul r5, r3 + ldr r3, _022347C8 ; =0x00269EC3 + add r0, r0, #1 + add r3, r5, r3 + lsr r5, r3, #0x10 + mul r6, r3 + add r3, r6, r4 + lsl r5, r5, #0x10 + lsr r7, r3, #0x10 + lsr r5, r5, #0x10 + lsl r7, r7, #0x10 + ldr r6, [r2] + lsl r5, r5, #0x10 + lsr r7, r7, #0x10 + orr r5, r7 + eor r5, r6 + stmia r2!, {r5} + cmp r0, r1 + blo _02234798 _022347C2: - add r0, r3, #0 - pop {r4, r5, r6, r7} - bx lr - .align 2, 0 + add r0, r3, #0 + pop {r4, r5, r6, r7} + bx lr + .align 2, 0 _022347C8: .word 0x00269EC3 _022347CC: .word 0x5D588B65 - thumb_func_end MOD83_0223478C + thumb_func_end MOD83_0223478C - thumb_func_start MOD83_022347D0 + thumb_func_start MOD83_022347D0 MOD83_022347D0: ; 0x022347D0 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r7, r1, #0 - add r6, r2, #0 - str r3, [sp] - bl MOD83_022346EC - add r4, r0, #0 - ldr r0, [r5] - mov r1, #0xff - bic r0, r1 - ldr r1, [r4] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - orr r1, r0 - ldr r0, _022348F4 ; =0xFFFFF0FF - str r1, [r5] - and r0, r1 - ldr r1, [r4] - lsl r1, r1, #0x14 - lsr r1, r1, #0x1c - lsl r1, r1, #0x1c - lsr r1, r1, #0x14 - orr r1, r0 - ldr r0, _022348F8 ; =0xFFFF0FFF - str r1, [r5] - and r0, r1 - ldr r1, [r4] - lsl r1, r1, #0x10 - lsr r1, r1, #0x1c - lsl r1, r1, #0x1c - lsr r1, r1, #0x10 - orr r0, r1 - str r0, [r5] - bl MOD83_02234774 - ldr r1, [r5] - lsl r0, r0, #0x10 - lsl r1, r1, #0x10 - lsr r0, r0, #0x10 - lsr r1, r1, #0x10 - lsl r0, r0, #0x10 - orr r0, r1 - str r0, [r5] - ldr r2, [r4, #4] - ldr r1, [r5, #4] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r0, #0xff - lsl r2, r2, #0x18 - bic r1, r0 - lsr r2, r2, #0x18 - orr r2, r1 - ldr r1, _022348F4 ; =0xFFFFF0FF - str r2, [r5, #4] - and r1, r2 - ldr r2, [r4, #4] - lsl r2, r2, #0x14 - lsr r2, r2, #0x1c - lsl r2, r2, #0x1c - lsr r2, r2, #0x14 - orr r2, r1 - ldr r1, _022348F8 ; =0xFFFF0FFF - str r2, [r5, #4] - and r1, r2 - ldr r2, [r4, #4] - lsl r2, r2, #0x10 - lsr r2, r2, #0x1c - lsl r2, r2, #0x1c - lsr r2, r2, #0x10 - orr r1, r2 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - str r1, [r5, #4] - ldr r1, [r5, #8] - bic r1, r0 - ldr r0, [sp, #0x18] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - orr r1, r0 - ldr r0, _022348FC ; =0xFFFF00FF - and r0, r1 - ldr r1, [sp] - lsl r1, r1, #0x18 - lsr r1, r1, #0x10 - orr r0, r1 - str r0, [r5, #8] - mov r0, #0 - add r1, r7, #0 - add r2, r6, #0 - bl SVC_GetCRC16 - ldr r1, [r5, #8] - lsl r0, r0, #0x10 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - orr r0, r1 - str r0, [r5, #8] - bl MOD83_02234770 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - lsl r0, r0, #0x18 - ldr r1, [r5, #0xc] - mov r2, #0xff - bic r1, r2 - lsr r0, r0, #0x18 - orr r0, r1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - lsl r0, r6, #8 - orr r0, r1 - str r0, [r5, #0xc] - cmp r6, #0 - beq _022348CE - ldr r1, [r5, #0xc] - add r0, r7, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r1, r5, r1 - add r2, r6, #0 - bl MI_CpuCopy8 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r7, r1, #0 + add r6, r2, #0 + str r3, [sp] + bl MOD83_022346EC + add r4, r0, #0 + ldr r0, [r5] + mov r1, #0xff + bic r0, r1 + ldr r1, [r4] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + orr r1, r0 + ldr r0, _022348F4 ; =0xFFFFF0FF + str r1, [r5] + and r0, r1 + ldr r1, [r4] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + lsl r1, r1, #0x1c + lsr r1, r1, #0x14 + orr r1, r0 + ldr r0, _022348F8 ; =0xFFFF0FFF + str r1, [r5] + and r0, r1 + ldr r1, [r4] + lsl r1, r1, #0x10 + lsr r1, r1, #0x1c + lsl r1, r1, #0x1c + lsr r1, r1, #0x10 + orr r0, r1 + str r0, [r5] + bl MOD83_02234774 + ldr r1, [r5] + lsl r0, r0, #0x10 + lsl r1, r1, #0x10 + lsr r0, r0, #0x10 + lsr r1, r1, #0x10 + lsl r0, r0, #0x10 + orr r0, r1 + str r0, [r5] + ldr r2, [r4, #4] + ldr r1, [r5, #4] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r0, #0xff + lsl r2, r2, #0x18 + bic r1, r0 + lsr r2, r2, #0x18 + orr r2, r1 + ldr r1, _022348F4 ; =0xFFFFF0FF + str r2, [r5, #4] + and r1, r2 + ldr r2, [r4, #4] + lsl r2, r2, #0x14 + lsr r2, r2, #0x1c + lsl r2, r2, #0x1c + lsr r2, r2, #0x14 + orr r2, r1 + ldr r1, _022348F8 ; =0xFFFF0FFF + str r2, [r5, #4] + and r1, r2 + ldr r2, [r4, #4] + lsl r2, r2, #0x10 + lsr r2, r2, #0x1c + lsl r2, r2, #0x1c + lsr r2, r2, #0x10 + orr r1, r2 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + str r1, [r5, #4] + ldr r1, [r5, #8] + bic r1, r0 + ldr r0, [sp, #0x18] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + orr r1, r0 + ldr r0, _022348FC ; =0xFFFF00FF + and r0, r1 + ldr r1, [sp] + lsl r1, r1, #0x18 + lsr r1, r1, #0x10 + orr r0, r1 + str r0, [r5, #8] + mov r0, #0 + add r1, r7, #0 + add r2, r6, #0 + bl SVC_GetCRC16 + ldr r1, [r5, #8] + lsl r0, r0, #0x10 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + orr r0, r1 + str r0, [r5, #8] + bl MOD83_02234770 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x18 + ldr r1, [r5, #0xc] + mov r2, #0xff + bic r1, r2 + lsr r0, r0, #0x18 + orr r0, r1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + lsl r0, r6, #8 + orr r0, r1 + str r0, [r5, #0xc] + cmp r6, #0 + beq _022348CE + ldr r1, [r5, #0xc] + add r0, r7, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r1, r5, r1 + add r2, r6, #0 + bl MI_CpuCopy8 _022348CE: - add r0, r5, #0 - bl MOD83_0223496C - ldr r0, [r4] - lsl r0, r0, #0x10 - lsr r0, r0, #0x1c - cmp r0, #1 - bne _022348F2 - ldr r1, [r5, #0xc] - ldr r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r1, r6, r1 - lsr r0, r0, #0x10 - sub r1, r1, #4 - add r2, r5, #4 - bl MOD83_0223478C + add r0, r5, #0 + bl MOD83_0223496C + ldr r0, [r4] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1c + cmp r0, #1 + bne _022348F2 + ldr r1, [r5, #0xc] + ldr r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r1, r6, r1 + lsr r0, r0, #0x10 + sub r1, r1, #4 + add r2, r5, #4 + bl MOD83_0223478C _022348F2: - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _022348F4: .word 0xFFFFF0FF _022348F8: .word 0xFFFF0FFF _022348FC: .word 0xFFFF00FF - thumb_func_end MOD83_022347D0 + thumb_func_end MOD83_022347D0 - thumb_func_start MOD83_02234900 + thumb_func_start MOD83_02234900 MOD83_02234900: ; 0x02234900 - push {r4, lr} - add r4, r0, #0 - bl MOD83_022346EC - ldr r0, [r4] - lsl r1, r0, #0x10 - lsr r1, r1, #0x1c - cmp r1, #1 - bne _02234930 - lsr r0, r0, #0x10 - mov r1, #0xc - add r2, r4, #4 - bl MOD83_0223478C - ldr r1, [r4, #0xc] - add r4, #0x10 - lsl r2, r1, #0x18 - lsr r2, r2, #0x18 - lsr r1, r1, #8 - add r1, r2, r1 - sub r1, #0x10 - add r2, r4, #0 - bl MOD83_0223478C + push {r4, lr} + add r4, r0, #0 + bl MOD83_022346EC + ldr r0, [r4] + lsl r1, r0, #0x10 + lsr r1, r1, #0x1c + cmp r1, #1 + bne _02234930 + lsr r0, r0, #0x10 + mov r1, #0xc + add r2, r4, #4 + bl MOD83_0223478C + ldr r1, [r4, #0xc] + add r4, #0x10 + lsl r2, r1, #0x18 + lsr r2, r2, #0x18 + lsr r1, r1, #8 + add r1, r2, r1 + sub r1, #0x10 + add r2, r4, #0 + bl MOD83_0223478C _02234930: - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02234900 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02234900 - thumb_func_start MOD83_02234934 + thumb_func_start MOD83_02234934 MOD83_02234934: ; 0x02234934 - push {r4, lr} - add r4, r0, #0 - ldr r2, [r4, #0xc] - mov r0, #0 - lsl r1, r2, #0x18 - lsr r1, r1, #0x18 - add r1, r4, r1 - lsr r2, r2, #8 - bl SVC_GetCRC16 - ldr r1, [r4, #8] - lsr r1, r1, #0x10 - cmp r1, r0 - bne _02234954 - mov r0, #1 - pop {r4, pc} + push {r4, lr} + add r4, r0, #0 + ldr r2, [r4, #0xc] + mov r0, #0 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + add r1, r4, r1 + lsr r2, r2, #8 + bl SVC_GetCRC16 + ldr r1, [r4, #8] + lsr r1, r1, #0x10 + cmp r1, r0 + bne _02234954 + mov r0, #1 + pop {r4, pc} _02234954: - mov r0, #0 - pop {r4, pc} - thumb_func_end MOD83_02234934 + mov r0, #0 + pop {r4, pc} + thumb_func_end MOD83_02234934 - thumb_func_start MOD83_02234958 + thumb_func_start MOD83_02234958 MOD83_02234958: ; 0x02234958 - bx lr - .align 2, 0 - thumb_func_end MOD83_02234958 + bx lr + .align 2, 0 + thumb_func_end MOD83_02234958 - thumb_func_start MOD83_0223495C + thumb_func_start MOD83_0223495C MOD83_0223495C: ; 0x0223495C - bx lr - .align 2, 0 - thumb_func_end MOD83_0223495C + bx lr + .align 2, 0 + thumb_func_end MOD83_0223495C - thumb_func_start MOD83_02234960 + thumb_func_start MOD83_02234960 MOD83_02234960: ; 0x02234960 - bx lr - .align 2, 0 - thumb_func_end MOD83_02234960 + bx lr + .align 2, 0 + thumb_func_end MOD83_02234960 - thumb_func_start MOD83_02234964 + thumb_func_start MOD83_02234964 MOD83_02234964: ; 0x02234964 - bx lr - .align 2, 0 - thumb_func_end MOD83_02234964 + bx lr + .align 2, 0 + thumb_func_end MOD83_02234964 - thumb_func_start MOD83_02234968 + thumb_func_start MOD83_02234968 MOD83_02234968: ; 0x02234968 - bx lr - .align 2, 0 - thumb_func_end MOD83_02234968 + bx lr + .align 2, 0 + thumb_func_end MOD83_02234968 - thumb_func_start MOD83_0223496C + thumb_func_start MOD83_0223496C MOD83_0223496C: ; 0x0223496C - bx lr - .align 2, 0 - thumb_func_end MOD83_0223496C + bx lr + .align 2, 0 + thumb_func_end MOD83_0223496C - thumb_func_start MOD83_02234970 + thumb_func_start MOD83_02234970 MOD83_02234970: ; 0x02234970 - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r6, r0, #0 - add r5, r1, #0 - add r4, r2, #0 - bl MOD83_022345BC - lsl r0, r0, #0x10 - lsl r3, r5, #0x10 - lsr r0, r0, #0x10 - str r4, [sp] - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - ldr r0, _022349AC ; =MOD83_02233528 - mov r1, #0 - add r2, r6, #0 - lsr r3, r3, #0x10 - bl WM_SetMPDataToPortEx - cmp r0, #2 - beq _022349A6 - bl MOD83_02234958 - add sp, #0xc - mov r0, #0 - pop {r3, r4, r5, r6, pc} + push {r3, r4, r5, r6, lr} + sub sp, #0xc + add r6, r0, #0 + add r5, r1, #0 + add r4, r2, #0 + bl MOD83_022345BC + lsl r0, r0, #0x10 + lsl r3, r5, #0x10 + lsr r0, r0, #0x10 + str r4, [sp] + str r0, [sp, #4] + mov r0, #2 + str r0, [sp, #8] + ldr r0, _022349AC ; =MOD83_02233528 + mov r1, #0 + add r2, r6, #0 + lsr r3, r3, #0x10 + bl WM_SetMPDataToPortEx + cmp r0, #2 + beq _022349A6 + bl MOD83_02234958 + add sp, #0xc + mov r0, #0 + pop {r3, r4, r5, r6, pc} _022349A6: - mov r0, #1 - add sp, #0xc - pop {r3, r4, r5, r6, pc} - .align 2, 0 + mov r0, #1 + add sp, #0xc + pop {r3, r4, r5, r6, pc} + .align 2, 0 _022349AC: .word MOD83_02233528 - thumb_func_end MOD83_02234970 + thumb_func_end MOD83_02234970 - thumb_func_start MOD83_022349B0 + thumb_func_start MOD83_022349B0 MOD83_022349B0: ; 0x022349B0 - push {r3, lr} - ldr r0, _022349C8 ; =MOD83_02233540 - bl WM_Enable - cmp r0, #2 - beq _022349C4 - bl MOD83_02234958 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _022349C8 ; =MOD83_02233540 + bl WM_Enable + cmp r0, #2 + beq _022349C4 + bl MOD83_02234958 + mov r0, #0 + pop {r3, pc} _022349C4: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _022349C8: .word MOD83_02233540 - thumb_func_end MOD83_022349B0 + thumb_func_end MOD83_022349B0 - thumb_func_start MOD83_022349CC + thumb_func_start MOD83_022349CC MOD83_022349CC: ; 0x022349CC - push {r3, lr} - ldr r0, _022349E8 ; =MOD83_02233580 - bl WM_Disable - cmp r0, #2 - beq _022349E4 - bl MOD83_02234958 - bl OS_Terminate - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _022349E8 ; =MOD83_02233580 + bl WM_Disable + cmp r0, #2 + beq _022349E4 + bl MOD83_02234958 + bl OS_Terminate + mov r0, #0 + pop {r3, pc} _022349E4: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _022349E8: .word MOD83_02233580 - thumb_func_end MOD83_022349CC + thumb_func_end MOD83_022349CC - thumb_func_start MOD83_022349EC + thumb_func_start MOD83_022349EC MOD83_022349EC: ; 0x022349EC - push {r3, lr} - add r3, r0, #0 - mov r0, #0x1e - str r0, [sp] - lsl r3, r3, #0x10 - ldr r0, _02234A14 ; =MOD83_022335B8 - mov r1, #3 - mov r2, #0x11 - lsr r3, r3, #0x10 - bl WM_MeasureChannel - cmp r0, #2 - beq _02234A0E - bl MOD83_02234958 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + add r3, r0, #0 + mov r0, #0x1e + str r0, [sp] + lsl r3, r3, #0x10 + ldr r0, _02234A14 ; =MOD83_022335B8 + mov r1, #3 + mov r2, #0x11 + lsr r3, r3, #0x10 + bl WM_MeasureChannel + cmp r0, #2 + beq _02234A0E + bl MOD83_02234958 + mov r0, #0 + pop {r3, pc} _02234A0E: - mov r0, #1 - pop {r3, pc} - nop + mov r0, #1 + pop {r3, pc} + nop _02234A14: .word MOD83_022335B8 - thumb_func_end MOD83_022349EC + thumb_func_end MOD83_022349EC - thumb_func_start MOD83_02234A18 + thumb_func_start MOD83_02234A18 MOD83_02234A18: ; 0x02234A18 - push {r3, r4, r5, lr} - bl MOD83_02234564 - add r5, r0, #0 - bl MOD83_022346EC - add r4, r0, #0 - bl MOD83_0223466C - add r0, #0x64 - ldrb r0, [r0] - strh r0, [r5, #0x32] - str r4, [r5] - bl MOD83_022346E8 - strh r0, [r5, #4] - ldr r0, _02234A50 ; =MOD83_02233620 - add r1, r5, #0 - bl WM_SetParentParameter - cmp r0, #2 - beq _02234A4C - bl MOD83_02234958 - mov r0, #0 - pop {r3, r4, r5, pc} + push {r3, r4, r5, lr} + bl MOD83_02234564 + add r5, r0, #0 + bl MOD83_022346EC + add r4, r0, #0 + bl MOD83_0223466C + add r0, #0x64 + ldrb r0, [r0] + strh r0, [r5, #0x32] + str r4, [r5] + bl MOD83_022346E8 + strh r0, [r5, #4] + ldr r0, _02234A50 ; =MOD83_02233620 + add r1, r5, #0 + bl WM_SetParentParameter + cmp r0, #2 + beq _02234A4C + bl MOD83_02234958 + mov r0, #0 + pop {r3, r4, r5, pc} _02234A4C: - mov r0, #1 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #1 + pop {r3, r4, r5, pc} + .align 2, 0 _02234A50: .word MOD83_02233620 - thumb_func_end MOD83_02234A18 + thumb_func_end MOD83_02234A18 - thumb_func_start MOD83_02234A54 + thumb_func_start MOD83_02234A54 MOD83_02234A54: ; 0x02234A54 - push {r3, lr} - ldr r0, _02234A6C ; =MOD83_02233648 - bl WM_StartParent - cmp r0, #2 - beq _02234A68 - bl MOD83_02234958 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _02234A6C ; =MOD83_02233648 + bl WM_StartParent + cmp r0, #2 + beq _02234A68 + bl MOD83_02234958 + mov r0, #0 + pop {r3, pc} _02234A68: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02234A6C: .word MOD83_02233648 - thumb_func_end MOD83_02234A54 + thumb_func_end MOD83_02234A54 - thumb_func_start MOD83_02234A70 + thumb_func_start MOD83_02234A70 MOD83_02234A70: ; 0x02234A70 - push {r3, lr} - bl MOD83_022345D4 - add r1, r0, #0 - ldr r0, _02234A90 ; =MOD83_02233914 - bl WM_StartScan - cmp r0, #2 - beq _02234A8A - bl MOD83_02234958 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + bl MOD83_022345D4 + add r1, r0, #0 + ldr r0, _02234A90 ; =MOD83_02233914 + bl WM_StartScan + cmp r0, #2 + beq _02234A8A + bl MOD83_02234958 + mov r0, #0 + pop {r3, pc} _02234A8A: - mov r0, #1 - pop {r3, pc} - nop + mov r0, #1 + pop {r3, pc} + nop _02234A90: .word MOD83_02233914 - thumb_func_end MOD83_02234A70 + thumb_func_end MOD83_02234A70 - thumb_func_start MOD83_02234A94 + thumb_func_start MOD83_02234A94 MOD83_02234A94: ; 0x02234A94 - push {r3, r4, r5, lr} - bl MOD83_022345D4 - add r4, r0, #0 - bl MOD83_02234664 - ldr r2, _02234B24 ; =0x000001C3 - mov r3, #0x38 - ldrb r1, [r0, r2] - lsl r1, r1, #0x1c - lsr r1, r1, #0x1c - add r5, r1, #0 - mul r5, r3 - add r1, r0, r5 - add r1, #0x34 - ldrb r1, [r1] - strb r1, [r4, #8] - ldrb r1, [r0, r2] - lsl r1, r1, #0x1c - lsr r1, r1, #0x1c - add r5, r1, #0 - mul r5, r3 - add r1, r0, r5 - add r1, #0x35 - ldrb r1, [r1] - strb r1, [r4, #9] - ldrb r1, [r0, r2] - lsl r1, r1, #0x1c - lsr r1, r1, #0x1c - add r5, r1, #0 - mul r5, r3 - ldrb r1, [r0, r5] - strb r1, [r4, #0xa] - ldrb r1, [r0, r2] - lsl r1, r1, #0x1c - lsr r1, r1, #0x1c - add r5, r1, #0 - mul r5, r3 - add r1, r0, r5 - ldrb r1, [r1, #1] - strb r1, [r4, #0xb] - ldrb r1, [r0, r2] - lsl r1, r1, #0x1c - lsr r1, r1, #0x1c - add r5, r1, #0 - mul r5, r3 - add r1, r0, r5 - ldrb r1, [r1, #2] - strb r1, [r4, #0xc] - ldrb r1, [r0, r2] - lsl r1, r1, #0x1c - lsr r1, r1, #0x1c - add r2, r1, #0 - mul r2, r3 - add r0, r0, r2 - ldrb r0, [r0, #3] - strb r0, [r4, #0xd] - bl MOD83_022345D4 - add r1, r0, #0 - ldr r0, _02234B28 ; =MOD83_02233A30 - bl WM_StartScan - cmp r0, #2 - beq _02234B1E - bl MOD83_02234958 - mov r0, #0 - pop {r3, r4, r5, pc} + push {r3, r4, r5, lr} + bl MOD83_022345D4 + add r4, r0, #0 + bl MOD83_02234664 + ldr r2, _02234B24 ; =0x000001C3 + mov r3, #0x38 + ldrb r1, [r0, r2] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + add r5, r1, #0 + mul r5, r3 + add r1, r0, r5 + add r1, #0x34 + ldrb r1, [r1] + strb r1, [r4, #8] + ldrb r1, [r0, r2] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + add r5, r1, #0 + mul r5, r3 + add r1, r0, r5 + add r1, #0x35 + ldrb r1, [r1] + strb r1, [r4, #9] + ldrb r1, [r0, r2] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + add r5, r1, #0 + mul r5, r3 + ldrb r1, [r0, r5] + strb r1, [r4, #0xa] + ldrb r1, [r0, r2] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + add r5, r1, #0 + mul r5, r3 + add r1, r0, r5 + ldrb r1, [r1, #1] + strb r1, [r4, #0xb] + ldrb r1, [r0, r2] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + add r5, r1, #0 + mul r5, r3 + add r1, r0, r5 + ldrb r1, [r1, #2] + strb r1, [r4, #0xc] + ldrb r1, [r0, r2] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + add r2, r1, #0 + mul r2, r3 + add r0, r0, r2 + ldrb r0, [r0, #3] + strb r0, [r4, #0xd] + bl MOD83_022345D4 + add r1, r0, #0 + ldr r0, _02234B28 ; =MOD83_02233A30 + bl WM_StartScan + cmp r0, #2 + beq _02234B1E + bl MOD83_02234958 + mov r0, #0 + pop {r3, r4, r5, pc} _02234B1E: - mov r0, #1 - pop {r3, r4, r5, pc} - nop + mov r0, #1 + pop {r3, r4, r5, pc} + nop _02234B24: .word 0x000001C3 _02234B28: .word MOD83_02233A30 - thumb_func_end MOD83_02234A94 + thumb_func_end MOD83_02234A94 - thumb_func_start MOD83_02234B2C + thumb_func_start MOD83_02234B2C MOD83_02234B2C: ; 0x02234B2C - push {r3, lr} - ldr r0, _02234B44 ; =MOD83_02233AA0 - bl WM_EndScan - cmp r0, #2 - beq _02234B40 - bl MOD83_02234958 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _02234B44 ; =MOD83_02233AA0 + bl WM_EndScan + cmp r0, #2 + beq _02234B40 + bl MOD83_02234958 + mov r0, #0 + pop {r3, pc} _02234B40: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02234B44: .word MOD83_02233AA0 - thumb_func_end MOD83_02234B2C + thumb_func_end MOD83_02234B2C - thumb_func_start MOD83_02234B48 + thumb_func_start MOD83_02234B48 MOD83_02234B48: ; 0x02234B48 - push {r3, r4, lr} - sub sp, #4 - bl MOD83_022346F8 - add r4, r0, #0 - bl MOD83_02234610 - add r1, r0, #0 - mov r0, #0 - str r0, [sp] - ldr r0, _02234B7C ; =MOD83_02233AF4 - add r2, r4, #0 - mov r3, #1 - bl WM_StartConnectEx - cmp r0, #2 - beq _02234B74 - bl MOD83_02234958 - add sp, #4 - mov r0, #0 - pop {r3, r4, pc} + push {r3, r4, lr} + sub sp, #4 + bl MOD83_022346F8 + add r4, r0, #0 + bl MOD83_02234610 + add r1, r0, #0 + mov r0, #0 + str r0, [sp] + ldr r0, _02234B7C ; =MOD83_02233AF4 + add r2, r4, #0 + mov r3, #1 + bl WM_StartConnectEx + cmp r0, #2 + beq _02234B74 + bl MOD83_02234958 + add sp, #4 + mov r0, #0 + pop {r3, r4, pc} _02234B74: - mov r0, #1 - add sp, #4 - pop {r3, r4, pc} - nop + mov r0, #1 + add sp, #4 + pop {r3, r4, pc} + nop _02234B7C: .word MOD83_02233AF4 - thumb_func_end MOD83_02234B48 + thumb_func_end MOD83_02234B48 - thumb_func_start MOD83_02234B80 + thumb_func_start MOD83_02234B80 MOD83_02234B80: ; 0x02234B80 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - ldr r1, _02234BF0 ; =MOD83_02233DF0 - mov r0, #4 - mov r2, #0 - bl WM_SetPortCallback - cmp r0, #0 - beq _02234B9C - bl MOD83_02234958 - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + ldr r1, _02234BF0 ; =MOD83_02233DF0 + mov r0, #4 + mov r2, #0 + bl WM_SetPortCallback + cmp r0, #0 + beq _02234B9C + bl MOD83_02234958 + add sp, #8 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} _02234B9C: - bl MOD83_02234564 - ldrh r0, [r0, #0x16] - cmp r0, #0 - bne _02234BAA - mov r5, #1 - b _02234BAC + bl MOD83_02234564 + ldrh r0, [r0, #0x16] + cmp r0, #0 + bne _02234BAA + mov r5, #1 + b _02234BAC _02234BAA: - mov r5, #0 + mov r5, #0 _02234BAC: - bl MOD83_02234604 - add r6, r0, #0 - bl MOD83_022345EC - add r4, r0, #0 - bl MOD83_022345F8 - add r7, r0, #0 - bl MOD83_022345E0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp] - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #4] - lsl r2, r4, #0x10 - ldr r0, _02234BF4 ; =MOD83_02233BD8 - add r1, r6, #0 - lsr r2, r2, #0x10 - add r3, r7, #0 - bl WM_StartMP - cmp r0, #2 - beq _02234BEA - bl MOD83_02234958 - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} + bl MOD83_02234604 + add r6, r0, #0 + bl MOD83_022345EC + add r4, r0, #0 + bl MOD83_022345F8 + add r7, r0, #0 + bl MOD83_022345E0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp] + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #4] + lsl r2, r4, #0x10 + ldr r0, _02234BF4 ; =MOD83_02233BD8 + add r1, r6, #0 + lsr r2, r2, #0x10 + add r3, r7, #0 + bl WM_StartMP + cmp r0, #2 + beq _02234BEA + bl MOD83_02234958 + add sp, #8 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} _02234BEA: - mov r0, #1 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + mov r0, #1 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _02234BF0: .word MOD83_02233DF0 _02234BF4: .word MOD83_02233BD8 - thumb_func_end MOD83_02234B80 + thumb_func_end MOD83_02234B80 - thumb_func_start MOD83_02234BF8 + thumb_func_start MOD83_02234BF8 MOD83_02234BF8: ; 0x02234BF8 - push {r3, lr} - ldr r0, _02234C10 ; =MOD83_02233E74 - bl WM_PowerOn - cmp r0, #2 - beq _02234C0C - bl MOD83_02234958 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _02234C10 ; =MOD83_02233E74 + bl WM_PowerOn + cmp r0, #2 + beq _02234C0C + bl MOD83_02234958 + mov r0, #0 + pop {r3, pc} _02234C0C: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02234C10: .word MOD83_02233E74 - thumb_func_end MOD83_02234BF8 + thumb_func_end MOD83_02234BF8 - thumb_func_start MOD83_02234C14 + thumb_func_start MOD83_02234C14 MOD83_02234C14: ; 0x02234C14 - push {r3, lr} - ldr r0, _02234C30 ; =MOD83_02233E98 - bl WM_PowerOff - cmp r0, #2 - beq _02234C2C - bl MOD83_02234958 - bl OS_Terminate - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _02234C30 ; =MOD83_02233E98 + bl WM_PowerOff + cmp r0, #2 + beq _02234C2C + bl MOD83_02234958 + bl OS_Terminate + mov r0, #0 + pop {r3, pc} _02234C2C: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02234C30: .word MOD83_02233E98 - thumb_func_end MOD83_02234C14 + thumb_func_end MOD83_02234C14 - thumb_func_start MOD83_02234C34 + thumb_func_start MOD83_02234C34 MOD83_02234C34: ; 0x02234C34 - push {r3, lr} - ldr r0, _02234C50 ; =MOD83_02233EBC - bl WM_Reset - cmp r0, #2 - beq _02234C4C - bl MOD83_02234958 - bl OS_Terminate - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _02234C50 ; =MOD83_02233EBC + bl WM_Reset + cmp r0, #2 + beq _02234C4C + bl MOD83_02234958 + bl OS_Terminate + mov r0, #0 + pop {r3, pc} _02234C4C: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02234C50: .word MOD83_02233EBC - thumb_func_end MOD83_02234C34 + thumb_func_end MOD83_02234C34 - thumb_func_start MOD83_02234C54 + thumb_func_start MOD83_02234C54 MOD83_02234C54: ; 0x02234C54 - push {r3, lr} - ldr r0, _02234C70 ; =MOD83_02233F00 - bl WM_End - cmp r0, #2 - beq _02234C6C - bl MOD83_02234958 - bl OS_Terminate - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _02234C70 ; =MOD83_02233F00 + bl WM_End + cmp r0, #2 + beq _02234C6C + bl MOD83_02234958 + bl OS_Terminate + mov r0, #0 + pop {r3, pc} _02234C6C: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02234C70: .word MOD83_02233F00 - thumb_func_end MOD83_02234C54 + thumb_func_end MOD83_02234C54 - thumb_func_start MOD83_RS_SpeciesIsInvalid + thumb_func_start MOD83_RS_SpeciesIsInvalid MOD83_RS_SpeciesIsInvalid: ; 0x02234C74 - cmp r0, #0 ; RS_SPECIES_NONE - bgt _02234C7C - mov r0, #1 - bx lr + cmp r0, #0 ; RS_SPECIES_NONE + bgt _02234C7C + mov r0, #1 + bx lr _02234C7C: - cmp r0, #0xfb ; RS_SPECIES_CELEBI - bgt _02234C84 - mov r0, #0 - bx lr + cmp r0, #0xfb ; RS_SPECIES_CELEBI + bgt _02234C84 + mov r0, #0 + bx lr _02234C84: - ldr r1, _02234C9C ; =0x00000115 RS_SPECIES_TREECKO - cmp r0, r1 - bge _02234C8E - mov r0, #1 - bx lr + ldr r1, _02234C9C ; =0x00000115 RS_SPECIES_TREECKO + cmp r0, r1 + bge _02234C8E + mov r0, #1 + bx lr _02234C8E: - add r1, #0x86 ; RS_SPECIES_CHIMECHO - cmp r0, r1 - ble _02234C98 - mov r0, #1 - bx lr + add r1, #0x86 ; RS_SPECIES_CHIMECHO + cmp r0, r1 + ble _02234C98 + mov r0, #1 + bx lr _02234C98: - mov r0, #0 - bx lr - .align 2, 0 + mov r0, #0 + bx lr + .align 2, 0 _02234C9C: .word 0x00000115 - thumb_func_end MOD83_RS_SpeciesIsInvalid + thumb_func_end MOD83_RS_SpeciesIsInvalid - thumb_func_start MOD83_02234CA0 + thumb_func_start MOD83_02234CA0 MOD83_02234CA0: ; 0x02234CA0 - push {r4, lr} - add r4, r0, #0 - bl MOD83_02236E9C - cmp r0, #4 - bhi _02234CE0 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r4, lr} + add r4, r0, #0 + bl MOD83_02236E9C + cmp r0, #4 + bhi _02234CE0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02234CB8: ; jump table - .short _02234CC2 - _02234CB8 - 2 ; case 0 - .short _02234CC8 - _02234CB8 - 2 ; case 1 - .short _02234CCE - _02234CB8 - 2 ; case 2 - .short _02234CD4 - _02234CB8 - 2 ; case 3 - .short _02234CDA - _02234CB8 - 2 ; case 4 + .short _02234CC2 - _02234CB8 - 2 ; case 0 + .short _02234CC8 - _02234CB8 - 2 ; case 1 + .short _02234CCE - _02234CB8 - 2 ; case 2 + .short _02234CD4 - _02234CB8 - 2 ; case 3 + .short _02234CDA - _02234CB8 - 2 ; case 4 _02234CC2: - mov r0, #2 - str r0, [r4] - pop {r4, pc} + mov r0, #2 + str r0, [r4] + pop {r4, pc} _02234CC8: - mov r0, #1 - str r0, [r4] - pop {r4, pc} + mov r0, #1 + str r0, [r4] + pop {r4, pc} _02234CCE: - mov r0, #5 - str r0, [r4] - pop {r4, pc} + mov r0, #5 + str r0, [r4] + pop {r4, pc} _02234CD4: - mov r0, #4 - str r0, [r4] - pop {r4, pc} + mov r0, #4 + str r0, [r4] + pop {r4, pc} _02234CDA: - mov r0, #3 - str r0, [r4] - pop {r4, pc} + mov r0, #3 + str r0, [r4] + pop {r4, pc} _02234CE0: - mov r0, #0 - mvn r0, r0 - str r0, [r4] - pop {r4, pc} - thumb_func_end MOD83_02234CA0 + mov r0, #0 + mvn r0, r0 + str r0, [r4] + pop {r4, pc} + thumb_func_end MOD83_02234CA0 - thumb_func_start MOD83_02234CE8 + thumb_func_start MOD83_02234CE8 MOD83_02234CE8: ; 0x02234CE8 - push {r3, r4, r5, lr} - sub sp, #0x10 - ldr r1, _02234E3C ; =0x0000E890 - add r5, r0, #0 - add r4, r5, r1 - ldr r1, [r4] - cmp r1, #9 - bls _02234CFA - b _02234E34 + push {r3, r4, r5, lr} + sub sp, #0x10 + ldr r1, _02234E3C ; =0x0000E890 + add r5, r0, #0 + add r4, r5, r1 + ldr r1, [r4] + cmp r1, #9 + bls _02234CFA + b _02234E34 _02234CFA: - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 _02234D06: ; jump table - .short _02234D1A - _02234D06 - 2 ; case 0 - .short _02234D3A - _02234D06 - 2 ; case 1 - .short _02234D52 - _02234D06 - 2 ; case 2 - .short _02234D62 - _02234D06 - 2 ; case 3 - .short _02234D72 - _02234D06 - 2 ; case 4 - .short _02234D8E - _02234D06 - 2 ; case 5 - .short _02234DA2 - _02234D06 - 2 ; case 6 - .short _02234DBE - _02234D06 - 2 ; case 7 - .short _02234DEA - _02234D06 - 2 ; case 8 - .short _02234E10 - _02234D06 - 2 ; case 9 + .short _02234D1A - _02234D06 - 2 ; case 0 + .short _02234D3A - _02234D06 - 2 ; case 1 + .short _02234D52 - _02234D06 - 2 ; case 2 + .short _02234D62 - _02234D06 - 2 ; case 3 + .short _02234D72 - _02234D06 - 2 ; case 4 + .short _02234D8E - _02234D06 - 2 ; case 5 + .short _02234DA2 - _02234D06 - 2 ; case 6 + .short _02234DBE - _02234D06 - 2 ; case 7 + .short _02234DEA - _02234D06 - 2 ; case 8 + .short _02234E10 - _02234D06 - 2 ; case 9 _02234D1A: - bl MOD83_02234E6C - ldr r0, [r5, #0x10] - bl FUN_02022528 - add r5, r0, #0 - bl MOD83_02237448 - add r1, r0, #0 - add r0, r5, #0 - bl FUN_0202BF90 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + bl MOD83_02234E6C + ldr r0, [r5, #0x10] + bl FUN_02022528 + add r5, r0, #0 + bl MOD83_02237448 + add r1, r0, #0 + add r0, r5, #0 + bl FUN_0202BF90 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234D3A: - bl OS_GetTick - mov r2, #0x78 - mov r3, #0 - bl _ull_mod - add r0, r0, #1 - str r0, [r4, #4] - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + bl OS_GetTick + mov r2, #0x78 + mov r3, #0 + bl _ull_mod + add r0, r0, #1 + str r0, [r4, #4] + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234D52: - ldr r0, [r4, #4] - sub r0, r0, #1 - str r0, [r4, #4] - bne _02234E34 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + ldr r0, [r4, #4] + sub r0, r0, #1 + str r0, [r4, #4] + bne _02234E34 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234D62: - ldr r0, [r5, #0x10] - mov r1, #2 - bl FUN_02022840 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + ldr r0, [r5, #0x10] + mov r1, #2 + bl FUN_02022840 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234D72: - ldr r0, [r5, #0x10] - bl FUN_02022854 - cmp r0, #3 - bne _02234D82 - add sp, #0x10 - mov r0, #0xc - pop {r3, r4, r5, pc} + ldr r0, [r5, #0x10] + bl FUN_02022854 + cmp r0, #3 + bne _02234D82 + add sp, #0x10 + mov r0, #0xc + pop {r3, r4, r5, pc} _02234D82: - cmp r0, #1 - bne _02234E34 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + cmp r0, #1 + bne _02234E34 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234D8E: - mov r0, #0 - add r1, r0, #0 - add r2, sp, #0 - mov r3, #0x10 - bl CTRDG_ReadAgbFlash - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + mov r0, #0 + add r1, r0, #0 + add r2, sp, #0 + mov r3, #0x10 + bl CTRDG_ReadAgbFlash + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234DA2: - bl MOD83_0223736C - cmp r0, #0 - bne _02234DB6 - mov r0, #1 - bl FUN_02016454 - add sp, #0x10 - mov r0, #0xc - pop {r3, r4, r5, pc} + bl MOD83_0223736C + cmp r0, #0 + bne _02234DB6 + mov r0, #1 + bl FUN_02016454 + add sp, #0x10 + mov r0, #0xc + pop {r3, r4, r5, pc} _02234DB6: - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234DBE: - bl MOD83_022373F4 - cmp r0, #9 - beq _02234E34 - bl MOD83_022373F4 - cmp r0, #0xb - bne _02234DD6 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + bl MOD83_022373F4 + cmp r0, #9 + beq _02234E34 + bl MOD83_022373F4 + cmp r0, #0xb + bne _02234DD6 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234DD6: - bl MOD83_022373B4 - cmp r0, #8 - bne _02234E34 - mov r0, #1 - bl FUN_02016454 - add sp, #0x10 - mov r0, #0xc - pop {r3, r4, r5, pc} + bl MOD83_022373B4 + cmp r0, #8 + bne _02234E34 + mov r0, #1 + bl FUN_02016454 + add sp, #0x10 + mov r0, #0xc + pop {r3, r4, r5, pc} _02234DEA: - ldr r0, [r5, #0x10] - bl FUN_02022854 - cmp r0, #3 - bne _02234DFA - add sp, #0x10 - mov r0, #0xc - pop {r3, r4, r5, pc} + ldr r0, [r5, #0x10] + bl FUN_02022854 + cmp r0, #3 + bne _02234DFA + add sp, #0x10 + mov r0, #0xc + pop {r3, r4, r5, pc} _02234DFA: - cmp r0, #2 - bne _02234DEA - bl MOD83_022373B4 - mov r0, #1 - bl FUN_02016444 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _02234E34 + cmp r0, #2 + bne _02234DEA + bl MOD83_022373B4 + mov r0, #1 + bl FUN_02016444 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _02234E34 _02234E10: - bl MOD83_022373B4 - cmp r0, #8 - bne _02234E24 - mov r0, #1 - bl FUN_02016454 - add sp, #0x10 - mov r0, #0xc - pop {r3, r4, r5, pc} + bl MOD83_022373B4 + cmp r0, #8 + bne _02234E24 + mov r0, #1 + bl FUN_02016454 + add sp, #0x10 + mov r0, #0xc + pop {r3, r4, r5, pc} _02234E24: - cmp r0, #0 - bne _02234E34 - mov r0, #1 - bl FUN_02016454 - add sp, #0x10 - mov r0, #0xb - pop {r3, r4, r5, pc} + cmp r0, #0 + bne _02234E34 + mov r0, #1 + bl FUN_02016454 + add sp, #0x10 + mov r0, #0xb + pop {r3, r4, r5, pc} _02234E34: - mov r0, #0xa - add sp, #0x10 - pop {r3, r4, r5, pc} - nop + mov r0, #0xa + add sp, #0x10 + pop {r3, r4, r5, pc} + nop _02234E3C: .word 0x0000E890 - thumb_func_end MOD83_02234CE8 + thumb_func_end MOD83_02234CE8 - thumb_func_start MOD83_02234E40 + thumb_func_start MOD83_02234E40 MOD83_02234E40: ; 0x02234E40 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x10] - bl FUN_02022528 - add r4, r0, #0 - bl MOD83_02237448 - add r1, r0, #0 - add r0, r4, #0 - bl FUN_0202BF90 - mov r0, #4 - bl SetSoftResetDisableMask - ldr r0, [r5, #0x10] - bl FUN_02022720 - mov r0, #4 - bl ClearSoftResetDisableMask - pop {r3, r4, r5, pc} - thumb_func_end MOD83_02234E40 - - thumb_func_start MOD83_02234E6C + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0x10] + bl FUN_02022528 + add r4, r0, #0 + bl MOD83_02237448 + add r1, r0, #0 + add r0, r4, #0 + bl FUN_0202BF90 + mov r0, #4 + bl SetSoftResetDisableMask + ldr r0, [r5, #0x10] + bl FUN_02022720 + mov r0, #4 + bl ClearSoftResetDisableMask + pop {r3, r4, r5, pc} + thumb_func_end MOD83_02234E40 + + thumb_func_start MOD83_02234E6C MOD83_02234E6C: ; 0x02234E6C - push {r4, r5, r6, r7, lr} - sub sp, #0xf4 - add r7, r0, #0 - ldr r0, [r7, #0x10] - bl FUN_02022528 - str r0, [sp] - add r0, sp, #8 - bl FUN_020690E4 - add r6, r0, #0 - mov r4, #0 - add r5, r7, #0 + push {r4, r5, r6, r7, lr} + sub sp, #0xf4 + add r7, r0, #0 + ldr r0, [r7, #0x10] + bl FUN_02022528 + str r0, [sp] + add r0, sp, #8 + bl FUN_020690E4 + add r6, r0, #0 + mov r4, #0 + add r5, r7, #0 _02234E86: - ldr r0, _02234F04 ; =0x0000E880 - mov r1, #0x3d - lsl r1, r1, #4 - ldr r0, [r7, r0] - ldr r2, [r5, r1] - mov r1, #0x96 - lsl r1, r1, #4 - add r0, r0, #4 - mul r1, r2 - add r0, r0, r1 - mov r1, #0xf3 - lsl r1, r1, #2 - ldr r2, [r5, r1] - mov r1, #0x50 - mul r1, r2 - add r0, r0, r1 - add r1, r6, #0 - bl MigrateBoxMon - ldr r0, [sp] - add r1, r6, #0 - add r2, r4, #0 - bl FUN_0202BF7C - add r4, r4, #1 - add r5, #0xc - cmp r4, #6 - blt _02234E86 - mov r5, #0 - add r0, sp, #4 - strh r5, [r0] - add r4, r7, #0 - sub r6, r5, #1 + ldr r0, _02234F04 ; =0x0000E880 + mov r1, #0x3d + lsl r1, r1, #4 + ldr r0, [r7, r0] + ldr r2, [r5, r1] + mov r1, #0x96 + lsl r1, r1, #4 + add r0, r0, #4 + mul r1, r2 + add r0, r0, r1 + mov r1, #0xf3 + lsl r1, r1, #2 + ldr r2, [r5, r1] + mov r1, #0x50 + mul r1, r2 + add r0, r0, r1 + add r1, r6, #0 + bl MigrateBoxMon + ldr r0, [sp] + add r1, r6, #0 + add r2, r4, #0 + bl FUN_0202BF7C + add r4, r4, #1 + add r5, #0xc + cmp r4, #6 + blt _02234E86 + mov r5, #0 + add r0, sp, #4 + strh r5, [r0] + add r4, r7, #0 + sub r6, r5, #1 _02234EC8: - mov r0, #0xf3 - lsl r0, r0, #2 - ldr r2, [r4, r0] - add r0, r0, #4 - ldr r1, [r4, r0] - cmp r2, r6 - beq _02234EF6 - cmp r1, #0xe - beq _02234EF6 - ldr r0, _02234F04 ; =0x0000E880 - mov r3, #0x96 - ldr r0, [r7, r0] - lsl r3, r3, #4 - mul r3, r1 - add r0, r0, #4 - mov r1, #0x50 - mul r1, r2 - add r0, r0, r3 - add r0, r0, r1 - mov r1, #0xb - add r2, sp, #4 - bl MOD83_02237D90 + mov r0, #0xf3 + lsl r0, r0, #2 + ldr r2, [r4, r0] + add r0, r0, #4 + ldr r1, [r4, r0] + cmp r2, r6 + beq _02234EF6 + cmp r1, #0xe + beq _02234EF6 + ldr r0, _02234F04 ; =0x0000E880 + mov r3, #0x96 + ldr r0, [r7, r0] + lsl r3, r3, #4 + mul r3, r1 + add r0, r0, #4 + mov r1, #0x50 + mul r1, r2 + add r0, r0, r3 + add r0, r0, r1 + mov r1, #0xb + add r2, sp, #4 + bl MOD83_02237D90 _02234EF6: - add r5, r5, #1 - add r4, #0xc - cmp r5, #6 - blt _02234EC8 - add sp, #0xf4 - pop {r4, r5, r6, r7, pc} - nop + add r5, r5, #1 + add r4, #0xc + cmp r5, #6 + blt _02234EC8 + add sp, #0xf4 + pop {r4, r5, r6, r7, pc} + nop _02234F04: .word 0x0000E880 - thumb_func_end MOD83_02234E6C + thumb_func_end MOD83_02234E6C - thumb_func_start MOD83_02234F08 + thumb_func_start MOD83_02234F08 MOD83_02234F08: ; 0x02234F08 - push {r4, lr} - add r4, r0, #0 - mov r0, #1 - tst r2, r0 - beq _02234F26 - mov r2, #0 - bl FUN_02002E14 - ldr r1, [r4, #0x10] - lsl r1, r1, #3 - sub r1, r1, r0 - lsr r0, r1, #0x1f - add r0, r1, r0 - asr r0, r0, #1 - pop {r4, pc} + push {r4, lr} + add r4, r0, #0 + mov r0, #1 + tst r2, r0 + beq _02234F26 + mov r2, #0 + bl FUN_02002E14 + ldr r1, [r4, #0x10] + lsl r1, r1, #3 + sub r1, r1, r0 + lsr r0, r1, #0x1f + add r0, r1, r0 + asr r0, r0, #1 + pop {r4, pc} _02234F26: - ldr r0, [r4, #0x18] - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02234F08 + ldr r0, [r4, #0x18] + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02234F08 - thumb_func_start MOD83_02234F2C + thumb_func_start MOD83_02234F2C MOD83_02234F2C: ; 0x02234F2C - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - add r5, r1, #0 - ldr r6, [r5, #0x44] - add r4, r2, #0 - cmp r6, #0 - bne _02234F3C - mov r6, #0xff + push {r4, r5, r6, r7, lr} + sub sp, #0x1c + add r5, r1, #0 + ldr r6, [r5, #0x44] + add r4, r2, #0 + cmp r6, #0 + bne _02234F3C + mov r6, #0xff _02234F3C: - ldr r1, [r5] - ldr r2, [r1] - cmp r2, #0 - bne _02234F7A - ldr r2, [r5, #0xc] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - str r2, [sp] - ldr r2, [r5, #0x10] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - str r2, [sp, #4] - ldr r2, [r5, #0x14] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - str r2, [sp, #8] - mov r2, #0xf - str r2, [sp, #0xc] - ldr r2, [r5, #0x20] - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - str r2, [sp, #0x10] - ldr r2, [r5, #0x24] - ldr r3, [r5, #8] - lsl r2, r2, #0x18 - lsl r3, r3, #0x18 - ldr r0, [r0, #0x20] - lsr r2, r2, #0x18 - lsr r3, r3, #0x18 - bl AddWindowParameterized + ldr r1, [r5] + ldr r2, [r1] + cmp r2, #0 + bne _02234F7A + ldr r2, [r5, #0xc] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + str r2, [sp] + ldr r2, [r5, #0x10] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #4] + ldr r2, [r5, #0x14] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #8] + mov r2, #0xf + str r2, [sp, #0xc] + ldr r2, [r5, #0x20] + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + str r2, [sp, #0x10] + ldr r2, [r5, #0x24] + ldr r3, [r5, #8] + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + ldr r0, [r0, #0x20] + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl AddWindowParameterized _02234F7A: - mov r0, #2 - tst r0, r4 - bne _02234F8C - ldr r1, [r5, #0x30] - ldr r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl FillWindowPixelBuffer + mov r0, #2 + tst r0, r4 + bne _02234F8C + ldr r1, [r5, #0x30] + ldr r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl FillWindowPixelBuffer _02234F8C: - mov r0, #0 - ldr r1, [r5, #0x34] - mvn r0, r0 - cmp r1, r0 - beq _02235004 - ldr r2, _022350B4 ; =0x00000193 - mov r0, #1 - mov r1, #0x1a - mov r3, #0x4e - bl NewMsgDataFromNarc - ldr r7, [r5, #0x40] - str r0, [sp, #0x14] - cmp r7, #0 - bne _02234FB2 - mov r0, #0x4e - bl ScrStrBufs_new - add r7, r0, #0 + mov r0, #0 + ldr r1, [r5, #0x34] + mvn r0, r0 + cmp r1, r0 + beq _02235004 + ldr r2, _022350B4 ; =0x00000193 + mov r0, #1 + mov r1, #0x1a + mov r3, #0x4e + bl NewMsgDataFromNarc + ldr r7, [r5, #0x40] + str r0, [sp, #0x14] + cmp r7, #0 + bne _02234FB2 + mov r0, #0x4e + bl ScrStrBufs_new + add r7, r0, #0 _02234FB2: - ldr r1, [sp, #0x14] - ldr r2, [r5, #0x34] - add r0, r7, #0 - mov r3, #0x4e - bl ReadMsgData_ExpandPlaceholders - str r0, [sp, #0x18] - ldr r1, [sp, #0x18] - add r0, r5, #0 - add r2, r4, #0 - bl MOD83_02234F08 - add r3, r0, #0 - ldr r0, [r5, #0x1c] - ldr r2, [sp, #0x18] - str r0, [sp] - str r6, [sp, #4] - ldr r0, [r5, #0x2c] - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [r5] - ldr r1, [r5, #0x28] - bl AddTextPrinterParameterized2 - str r0, [r5, #0x48] - ldr r0, [sp, #0x18] - bl String_dtor - ldr r0, [r5, #0x40] - cmp r0, #0 - bne _02234FF8 - add r0, r7, #0 - bl ScrStrBufs_delete + ldr r1, [sp, #0x14] + ldr r2, [r5, #0x34] + add r0, r7, #0 + mov r3, #0x4e + bl ReadMsgData_ExpandPlaceholders + str r0, [sp, #0x18] + ldr r1, [sp, #0x18] + add r0, r5, #0 + add r2, r4, #0 + bl MOD83_02234F08 + add r3, r0, #0 + ldr r0, [r5, #0x1c] + ldr r2, [sp, #0x18] + str r0, [sp] + str r6, [sp, #4] + ldr r0, [r5, #0x2c] + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [r5] + ldr r1, [r5, #0x28] + bl AddTextPrinterParameterized2 + str r0, [r5, #0x48] + ldr r0, [sp, #0x18] + bl String_dtor + ldr r0, [r5, #0x40] + cmp r0, #0 + bne _02234FF8 + add r0, r7, #0 + bl ScrStrBufs_delete _02234FF8: - ldr r0, [sp, #0x14] - bl DestroyMsgData - mov r0, #0 - mvn r0, r0 - str r0, [r5, #0x34] + ldr r0, [sp, #0x14] + bl DestroyMsgData + mov r0, #0 + mvn r0, r0 + str r0, [r5, #0x34] _02235004: - ldr r0, [r5, #0x38] - cmp r0, #0 - beq _0223504C - mov r0, #0x40 - mov r1, #0x4e - bl String_ctor - ldr r1, [r5, #0x38] - add r7, r0, #0 - mov r2, #0x40 - bl CopyU16ArrayToStringN - add r0, r5, #0 - add r1, r7, #0 - add r2, r4, #0 - bl MOD83_02234F08 - add r3, r0, #0 - ldr r0, [r5, #0x1c] - add r2, r7, #0 - str r0, [sp] - str r6, [sp, #4] - ldr r0, [r5, #0x2c] - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [r5] - ldr r1, [r5, #0x28] - bl AddTextPrinterParameterized2 - str r0, [r5, #0x48] - add r0, r7, #0 - bl String_dtor - mov r0, #0 - str r0, [r5, #0x38] + ldr r0, [r5, #0x38] + cmp r0, #0 + beq _0223504C + mov r0, #0x40 + mov r1, #0x4e + bl String_ctor + ldr r1, [r5, #0x38] + add r7, r0, #0 + mov r2, #0x40 + bl CopyU16ArrayToStringN + add r0, r5, #0 + add r1, r7, #0 + add r2, r4, #0 + bl MOD83_02234F08 + add r3, r0, #0 + ldr r0, [r5, #0x1c] + add r2, r7, #0 + str r0, [sp] + str r6, [sp, #4] + ldr r0, [r5, #0x2c] + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [r5] + ldr r1, [r5, #0x28] + bl AddTextPrinterParameterized2 + str r0, [r5, #0x48] + add r0, r7, #0 + bl String_dtor + mov r0, #0 + str r0, [r5, #0x38] _0223504C: - ldr r1, [r5, #0x3c] - cmp r1, #0 - beq _0223507A - add r0, r5, #0 - add r2, r4, #0 - bl MOD83_02234F08 - add r3, r0, #0 - ldr r0, [r5, #0x1c] - str r0, [sp] - str r6, [sp, #4] - ldr r0, [r5, #0x2c] - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [r5] - ldr r1, [r5, #0x28] - ldr r2, [r5, #0x3c] - bl AddTextPrinterParameterized2 - str r0, [r5, #0x48] - mov r0, #0 - str r0, [r5, #0x3c] + ldr r1, [r5, #0x3c] + cmp r1, #0 + beq _0223507A + add r0, r5, #0 + add r2, r4, #0 + bl MOD83_02234F08 + add r3, r0, #0 + ldr r0, [r5, #0x1c] + str r0, [sp] + str r6, [sp, #4] + ldr r0, [r5, #0x2c] + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [r5] + ldr r1, [r5, #0x28] + ldr r2, [r5, #0x3c] + bl AddTextPrinterParameterized2 + str r0, [r5, #0x48] + mov r0, #0 + str r0, [r5, #0x3c] _0223507A: - mov r0, #4 - tst r0, r4 - bne _02235086 - ldr r0, [r5] - bl CopyWindowToVram + mov r0, #4 + tst r0, r4 + bne _02235086 + ldr r0, [r5] + bl CopyWindowToVram _02235086: - mov r0, #8 - tst r0, r4 - beq _022350AE - mov r0, #0x10 - tst r0, r4 - ldr r0, [r5] - beq _022350A2 - ldr r2, _022350B8 ; =0x000003D2 - mov r1, #0 - mov r3, #0xd - bl FUN_0200D0BC - add sp, #0x1c - pop {r4, r5, r6, r7, pc} + mov r0, #8 + tst r0, r4 + beq _022350AE + mov r0, #0x10 + tst r0, r4 + ldr r0, [r5] + beq _022350A2 + ldr r2, _022350B8 ; =0x000003D2 + mov r1, #0 + mov r3, #0xd + bl FUN_0200D0BC + add sp, #0x1c + pop {r4, r5, r6, r7, pc} _022350A2: - mov r2, #0x3f - mov r1, #0 - lsl r2, r2, #4 - mov r3, #0xe - bl FUN_0200CCA4 + mov r2, #0x3f + mov r1, #0 + lsl r2, r2, #4 + mov r3, #0xe + bl FUN_0200CCA4 _022350AE: - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - nop + add sp, #0x1c + pop {r4, r5, r6, r7, pc} + nop _022350B4: .word 0x00000193 _022350B8: .word 0x000003D2 - thumb_func_end MOD83_02234F2C + thumb_func_end MOD83_02234F2C - thumb_func_start MOD83_022350BC + thumb_func_start MOD83_022350BC MOD83_022350BC: ; 0x022350BC - push {r4, lr} - sub sp, #0x10 - ldr r4, _022350E8 ; =MOD83_0223A50C - add r3, sp, #0 - add r2, r3, #0 - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - add r0, r2, #0 - bl FUN_0201D040 - mov r0, #0x14 - mov r1, #0x4e - bl FUN_0201E00C - bl FUN_0201D168 - bl FUN_0201E0BC - add sp, #0x10 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + sub sp, #0x10 + ldr r4, _022350E8 ; =MOD83_0223A50C + add r3, sp, #0 + add r2, r3, #0 + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + add r0, r2, #0 + bl FUN_0201D040 + mov r0, #0x14 + mov r1, #0x4e + bl FUN_0201E00C + bl FUN_0201D168 + bl FUN_0201E0BC + add sp, #0x10 + pop {r4, pc} + .align 2, 0 _022350E8: .word MOD83_0223A50C - thumb_func_end MOD83_022350BC + thumb_func_end MOD83_022350BC - thumb_func_start MOD83_022350EC + thumb_func_start MOD83_022350EC MOD83_022350EC: ; 0x022350EC - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r6, r0, #0 - bl NNS_G2dInitOamManagerModule - mov r0, #0 - str r0, [sp] - mov r1, #0x7e - str r1, [sp, #4] - str r0, [sp, #8] - mov r3, #0x20 - str r3, [sp, #0xc] - mov r2, #0x4e - str r2, [sp, #0x10] - add r2, r0, #0 - bl FUN_02009EAC - add r1, r6, #0 - mov r0, #0x50 - add r1, #0x2c - mov r2, #0x4e - bl FUN_02008C9C - str r0, [r6, #0x28] - add r0, r6, #0 - mov r2, #1 - add r0, #0x2c - mov r1, #0 - lsl r2, r2, #0x14 - bl FUN_02008D24 - mov r7, #0x55 - mov r4, #0 - add r5, r6, #0 - lsl r7, r7, #2 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r6, r0, #0 + bl NNS_G2dInitOamManagerModule + mov r0, #0 + str r0, [sp] + mov r1, #0x7e + str r1, [sp, #4] + str r0, [sp, #8] + mov r3, #0x20 + str r3, [sp, #0xc] + mov r2, #0x4e + str r2, [sp, #0x10] + add r2, r0, #0 + bl FUN_02009EAC + add r1, r6, #0 + mov r0, #0x50 + add r1, #0x2c + mov r2, #0x4e + bl FUN_02008C9C + str r0, [r6, #0x28] + add r0, r6, #0 + mov r2, #1 + add r0, #0x2c + mov r1, #0 + lsl r2, r2, #0x14 + bl FUN_02008D24 + mov r7, #0x55 + mov r4, #0 + add r5, r6, #0 + lsl r7, r7, #2 _02235132: - mov r0, #3 - add r1, r4, #0 - mov r2, #0x4e - bl FUN_02008DEC - str r0, [r5, r7] - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #6 - blt _02235132 - mov r0, #0 - str r0, [sp] - mov r3, #1 - str r3, [sp, #4] - mov r0, #0x4e - str r0, [sp, #8] - mov r0, #0x55 - lsl r0, r0, #2 - ldr r0, [r6, r0] - mov r1, #0x74 - mov r2, #0x1a - bl FUN_02008F34 - mov r1, #0x5b - lsl r1, r1, #2 - str r0, [r6, r1] - mov r3, #0 - str r3, [sp] - mov r0, #1 - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r0, #0x4e - sub r1, #0x14 - str r0, [sp, #0xc] - ldr r0, [r6, r1] - mov r1, #0x74 - mov r2, #0x17 - bl FUN_02008FEC - mov r1, #0x17 - lsl r1, r1, #4 - str r0, [r6, r1] - mov r0, #0 - str r0, [sp] - mov r0, #2 - str r0, [sp, #4] - mov r0, #0x4e - sub r1, #0x14 - str r0, [sp, #8] - ldr r0, [r6, r1] - mov r1, #0x74 - mov r2, #0x19 - mov r3, #1 - bl FUN_020090AC - mov r1, #0x5d - lsl r1, r1, #2 - str r0, [r6, r1] - mov r0, #0 - str r0, [sp] - mov r0, #3 - str r0, [sp, #4] - mov r0, #0x4e - sub r1, #0x14 - str r0, [sp, #8] - ldr r0, [r6, r1] - mov r1, #0x74 - mov r2, #0x18 - mov r3, #1 - bl FUN_020090AC - mov r1, #0x5e - lsl r1, r1, #2 - str r0, [r6, r1] - sub r1, #0xc - ldr r0, [r6, r1] - bl FUN_02009A50 - mov r0, #0x17 - lsl r0, r0, #4 - ldr r0, [r6, r0] - bl FUN_02009CF0 - bl FUN_0206B888 - add r1, r0, #0 - mov r0, #0 - mov r2, #1 - str r0, [sp] - mov r0, #0x4e - add r3, r2, #0 - str r0, [sp, #4] - mov r0, #0x13 - add r3, #0xff - bl GfGfxLoader_GXLoadPal - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - thumb_func_end MOD83_022350EC - - thumb_func_start MOD83_022351F8 + mov r0, #3 + add r1, r4, #0 + mov r2, #0x4e + bl FUN_02008DEC + str r0, [r5, r7] + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #6 + blt _02235132 + mov r0, #0 + str r0, [sp] + mov r3, #1 + str r3, [sp, #4] + mov r0, #0x4e + str r0, [sp, #8] + mov r0, #0x55 + lsl r0, r0, #2 + ldr r0, [r6, r0] + mov r1, #0x74 + mov r2, #0x1a + bl FUN_02008F34 + mov r1, #0x5b + lsl r1, r1, #2 + str r0, [r6, r1] + mov r3, #0 + str r3, [sp] + mov r0, #1 + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r0, #0x4e + sub r1, #0x14 + str r0, [sp, #0xc] + ldr r0, [r6, r1] + mov r1, #0x74 + mov r2, #0x17 + bl FUN_02008FEC + mov r1, #0x17 + lsl r1, r1, #4 + str r0, [r6, r1] + mov r0, #0 + str r0, [sp] + mov r0, #2 + str r0, [sp, #4] + mov r0, #0x4e + sub r1, #0x14 + str r0, [sp, #8] + ldr r0, [r6, r1] + mov r1, #0x74 + mov r2, #0x19 + mov r3, #1 + bl FUN_020090AC + mov r1, #0x5d + lsl r1, r1, #2 + str r0, [r6, r1] + mov r0, #0 + str r0, [sp] + mov r0, #3 + str r0, [sp, #4] + mov r0, #0x4e + sub r1, #0x14 + str r0, [sp, #8] + ldr r0, [r6, r1] + mov r1, #0x74 + mov r2, #0x18 + mov r3, #1 + bl FUN_020090AC + mov r1, #0x5e + lsl r1, r1, #2 + str r0, [r6, r1] + sub r1, #0xc + ldr r0, [r6, r1] + bl FUN_02009A50 + mov r0, #0x17 + lsl r0, r0, #4 + ldr r0, [r6, r0] + bl FUN_02009CF0 + bl FUN_0206B888 + add r1, r0, #0 + mov r0, #0 + mov r2, #1 + str r0, [sp] + mov r0, #0x4e + add r3, r2, #0 + str r0, [sp, #4] + mov r0, #0x13 + add r3, #0xff + bl GfGfxLoader_GXLoadPal + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + thumb_func_end MOD83_022350EC + + thumb_func_start MOD83_022351F8 MOD83_022351F8: ; 0x022351F8 - push {lr} - sub sp, #0x2c - mov r1, #0 - str r1, [sp] - sub r2, r1, #1 - str r2, [sp, #4] - str r2, [sp, #8] - str r1, [sp, #0xc] - mov r3, #0x55 - str r1, [sp, #0x10] - lsl r3, r3, #2 - ldr r2, [r0, r3] - str r2, [sp, #0x14] - add r2, r3, #4 - ldr r2, [r0, r2] - str r2, [sp, #0x18] - add r2, r3, #0 - add r2, #8 - ldr r2, [r0, r2] - str r2, [sp, #0x1c] - add r2, r3, #0 - add r2, #0xc - ldr r2, [r0, r2] - add r3, #0x30 - str r2, [sp, #0x20] - str r1, [sp, #0x24] - add r0, r0, r3 - add r2, r1, #0 - add r3, r1, #0 - str r1, [sp, #0x28] - bl FUN_02008AA4 - mov r0, #0x10 - mov r1, #1 - bl GX_EngineAToggleLayers - add sp, #0x2c - pop {pc} - thumb_func_end MOD83_022351F8 - - thumb_func_start MOD83_02235244 + push {lr} + sub sp, #0x2c + mov r1, #0 + str r1, [sp] + sub r2, r1, #1 + str r2, [sp, #4] + str r2, [sp, #8] + str r1, [sp, #0xc] + mov r3, #0x55 + str r1, [sp, #0x10] + lsl r3, r3, #2 + ldr r2, [r0, r3] + str r2, [sp, #0x14] + add r2, r3, #4 + ldr r2, [r0, r2] + str r2, [sp, #0x18] + add r2, r3, #0 + add r2, #8 + ldr r2, [r0, r2] + str r2, [sp, #0x1c] + add r2, r3, #0 + add r2, #0xc + ldr r2, [r0, r2] + add r3, #0x30 + str r2, [sp, #0x20] + str r1, [sp, #0x24] + add r0, r0, r3 + add r2, r1, #0 + add r3, r1, #0 + str r1, [sp, #0x28] + bl FUN_02008AA4 + mov r0, #0x10 + mov r1, #1 + bl GX_EngineAToggleLayers + add sp, #0x2c + pop {pc} + thumb_func_end MOD83_022351F8 + + thumb_func_start MOD83_02235244 MOD83_02235244: ; 0x02235244 - ldr r2, [r1, #0x28] - str r2, [r0] - mov r2, #0x61 - lsl r2, r2, #2 - add r1, r1, r2 - str r1, [r0, #4] - mov r2, #0 - mov r1, #1 - str r2, [r0, #0x10] - lsl r1, r1, #0xc - str r1, [r0, #0x14] - str r1, [r0, #0x18] - str r1, [r0, #0x1c] - strh r2, [r0, #0x20] - mov r1, #0x14 - str r1, [r0, #0x24] - str r3, [r0, #0x28] - mov r1, #0x4e - str r1, [r0, #0x2c] - bx lr - thumb_func_end MOD83_02235244 - - thumb_func_start MOD83_0223526C + ldr r2, [r1, #0x28] + str r2, [r0] + mov r2, #0x61 + lsl r2, r2, #2 + add r1, r1, r2 + str r1, [r0, #4] + mov r2, #0 + mov r1, #1 + str r2, [r0, #0x10] + lsl r1, r1, #0xc + str r1, [r0, #0x14] + str r1, [r0, #0x18] + str r1, [r0, #0x1c] + strh r2, [r0, #0x20] + mov r1, #0x14 + str r1, [r0, #0x24] + str r3, [r0, #0x28] + mov r1, #0x4e + str r1, [r0, #0x2c] + bx lr + thumb_func_end MOD83_02235244 + + thumb_func_start MOD83_0223526C MOD83_0223526C: ; 0x0223526C - ldr r3, _02235288 ; =0x0000E880 - ldr r0, [r0, r3] - add r3, r0, #4 - mov r0, #0x96 - lsl r0, r0, #4 - mul r0, r1 - add r1, r3, r0 - mov r0, #0x50 - mul r0, r2 - add r0, r1, r0 - ldr r3, _0223528C ; =AGB_GetBoxMonData - mov r1, #0xb - mov r2, #0 - bx r3 - .align 2, 0 + ldr r3, _02235288 ; =0x0000E880 + ldr r0, [r0, r3] + add r3, r0, #4 + mov r0, #0x96 + lsl r0, r0, #4 + mul r0, r1 + add r1, r3, r0 + mov r0, #0x50 + mul r0, r2 + add r0, r1, r0 + ldr r3, _0223528C ; =AGB_GetBoxMonData + mov r1, #0xb + mov r2, #0 + bx r3 + .align 2, 0 _02235288: .word 0x0000E880 _0223528C: .word AGB_GetBoxMonData - thumb_func_end MOD83_0223526C + thumb_func_end MOD83_0223526C - thumb_func_start MOD83_02235290 + thumb_func_start MOD83_02235290 MOD83_02235290: ; 0x02235290 - ldr r3, _022352AC ; =0x0000E880 - ldr r0, [r0, r3] - add r3, r0, #4 - mov r0, #0x96 - lsl r0, r0, #4 - mul r0, r1 - add r1, r3, r0 - mov r0, #0x50 - mul r0, r2 - add r0, r1, r0 - ldr r3, _022352B0 ; =AGB_GetBoxMonData - mov r1, #0x2d - mov r2, #0 - bx r3 - .align 2, 0 + ldr r3, _022352AC ; =0x0000E880 + ldr r0, [r0, r3] + add r3, r0, #4 + mov r0, #0x96 + lsl r0, r0, #4 + mul r0, r1 + add r1, r3, r0 + mov r0, #0x50 + mul r0, r2 + add r0, r1, r0 + ldr r3, _022352B0 ; =AGB_GetBoxMonData + mov r1, #0x2d + mov r2, #0 + bx r3 + .align 2, 0 _022352AC: .word 0x0000E880 _022352B0: .word AGB_GetBoxMonData - thumb_func_end MOD83_02235290 + thumb_func_end MOD83_02235290 - thumb_func_start MOD83_022352B4 + thumb_func_start MOD83_022352B4 MOD83_022352B4: ; 0x022352B4 - ldr r3, _022352D0 ; =0x0000E880 - ldr r0, [r0, r3] - add r3, r0, #4 - mov r0, #0x96 - lsl r0, r0, #4 - mul r0, r1 - add r1, r3, r0 - mov r0, #0x50 - mul r0, r2 - add r0, r1, r0 - mov r1, #0 - ldr r3, _022352D4 ; =AGB_GetBoxMonData - add r2, r1, #0 - bx r3 - .align 2, 0 + ldr r3, _022352D0 ; =0x0000E880 + ldr r0, [r0, r3] + add r3, r0, #4 + mov r0, #0x96 + lsl r0, r0, #4 + mul r0, r1 + add r1, r3, r0 + mov r0, #0x50 + mul r0, r2 + add r0, r1, r0 + mov r1, #0 + ldr r3, _022352D4 ; =AGB_GetBoxMonData + add r2, r1, #0 + bx r3 + .align 2, 0 _022352D0: .word 0x0000E880 _022352D4: .word AGB_GetBoxMonData - thumb_func_end MOD83_022352B4 + thumb_func_end MOD83_022352B4 - thumb_func_start MOD83_022352D8 + thumb_func_start MOD83_022352D8 MOD83_022352D8: ; 0x022352D8 - push {r4, r5} - ldr r5, [sp, #8] - lsr r4, r5, #0x1f - add r4, r5, r4 - asr r4, r4, #1 - sub r5, r2, r4 - strb r5, [r0] - lsr r5, r3, #0x1f - add r5, r3, r5 - asr r5, r5, #1 - sub r3, r1, r5 - strb r3, [r0, #2] - add r2, r2, r4 - strb r2, [r0, #1] - add r1, r1, r5 - strb r1, [r0, #3] - pop {r4, r5} - bx lr - thumb_func_end MOD83_022352D8 - - thumb_func_start MOD83_022352FC + push {r4, r5} + ldr r5, [sp, #8] + lsr r4, r5, #0x1f + add r4, r5, r4 + asr r4, r4, #1 + sub r5, r2, r4 + strb r5, [r0] + lsr r5, r3, #0x1f + add r5, r3, r5 + asr r5, r5, #1 + sub r3, r1, r5 + strb r3, [r0, #2] + add r2, r2, r4 + strb r2, [r0, #1] + add r1, r1, r5 + strb r1, [r0, #3] + pop {r4, r5} + bx lr + thumb_func_end MOD83_022352D8 + + thumb_func_start MOD83_022352FC MOD83_022352FC: ; 0x022352FC - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - mov r1, #1 - add r5, r0, #0 - add r0, r3, #0 - lsl r1, r1, #0xc - add r7, r2, #0 - bl AllocFromHeapAtEnd - add r4, r0, #0 - beq _02235330 - add r1, r5, #0 - add r2, r6, #0 - bl ReadWholeNarcMemberByIdPair - add r0, r4, #0 - add r1, r7, #0 - bl NNS_G2dGetUnpackedBGCharacterData - cmp r0, #0 - bne _02235330 - add r0, r4, #0 - bl FreeToHeap - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + mov r1, #1 + add r5, r0, #0 + add r0, r3, #0 + lsl r1, r1, #0xc + add r7, r2, #0 + bl AllocFromHeapAtEnd + add r4, r0, #0 + beq _02235330 + add r1, r5, #0 + add r2, r6, #0 + bl ReadWholeNarcMemberByIdPair + add r0, r4, #0 + add r1, r7, #0 + bl NNS_G2dGetUnpackedBGCharacterData + cmp r0, #0 + bne _02235330 + add r0, r4, #0 + bl FreeToHeap + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} _02235330: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_022352FC + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_022352FC - thumb_func_start MOD83_02235334 + thumb_func_start MOD83_02235334 MOD83_02235334: ; 0x02235334 - push {r4, r5, r6, lr} - add r6, r0, #0 - add r5, r1, #0 - add r4, r2, #0 - add r0, r3, #0 - add r1, r6, #0 - bl NARC_ReadWholeMember - add r0, r4, #0 - add r1, r5, #0 - bl NNS_G2dGetUnpackedBGCharacterData - pop {r4, r5, r6, pc} - .align 2, 0 - thumb_func_end MOD83_02235334 - - thumb_func_start MOD83_02235350 + push {r4, r5, r6, lr} + add r6, r0, #0 + add r5, r1, #0 + add r4, r2, #0 + add r0, r3, #0 + add r1, r6, #0 + bl NARC_ReadWholeMember + add r0, r4, #0 + add r1, r5, #0 + bl NNS_G2dGetUnpackedBGCharacterData + pop {r4, r5, r6, pc} + .align 2, 0 + thumb_func_end MOD83_02235334 + + thumb_func_start MOD83_02235350 MOD83_02235350: ; 0x02235350 - push {r4, lr} - add r3, r1, #0 - mov r4, #0 - cmp r0, #0xc9 - beq _02235362 - ldr r1, _022353BC ; =0x00000182 - cmp r0, r1 - beq _0223538C - b _022353B6 + push {r4, lr} + add r3, r1, #0 + mov r4, #0 + cmp r0, #0xc9 + beq _02235362 + ldr r1, _022353BC ; =0x00000182 + cmp r0, r1 + beq _0223538C + b _022353B6 _02235362: - mov r4, #3 - lsl r0, r4, #8 - add r2, r3, #0 - and r0, r3 - lsr r1, r0, #6 - lsl r0, r4, #0x18 - and r2, r4 - and r0, r3 - lsl r4, r4, #0x10 - and r3, r4 - lsr r0, r0, #0x12 - lsr r3, r3, #0xc - orr r0, r3 - orr r0, r1 - orr r0, r2 - mov r1, #0x1c - bl _u32_div_f - lsl r0, r1, #0x18 - lsr r4, r0, #0x18 - b _022353B6 + mov r4, #3 + lsl r0, r4, #8 + add r2, r3, #0 + and r0, r3 + lsr r1, r0, #6 + lsl r0, r4, #0x18 + and r2, r4 + and r0, r3 + lsl r4, r4, #0x10 + and r3, r4 + lsr r0, r0, #0x12 + lsr r3, r3, #0xc + orr r0, r3 + orr r0, r1 + orr r0, r2 + mov r1, #0x1c + bl _u32_div_f + lsl r0, r1, #0x18 + lsr r4, r0, #0x18 + b _022353B6 _0223538C: - cmp r2, #5 - bhi _022353A8 - add r0, r2, r2 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + cmp r2, #5 + bhi _022353A8 + add r0, r2, r2 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0223539C: ; jump table - .short _022353A8 - _0223539C - 2 ; case 0 - .short _022353A8 - _0223539C - 2 ; case 1 - .short _022353A8 - _0223539C - 2 ; case 2 - .short _022353B4 - _0223539C - 2 ; case 3 - .short _022353AC - _0223539C - 2 ; case 4 - .short _022353B0 - _0223539C - 2 ; case 5 + .short _022353A8 - _0223539C - 2 ; case 0 + .short _022353A8 - _0223539C - 2 ; case 1 + .short _022353A8 - _0223539C - 2 ; case 2 + .short _022353B4 - _0223539C - 2 ; case 3 + .short _022353AC - _0223539C - 2 ; case 4 + .short _022353B0 - _0223539C - 2 ; case 5 _022353A8: - mov r4, #0 - b _022353B6 + mov r4, #0 + b _022353B6 _022353AC: - mov r4, #1 - b _022353B6 + mov r4, #1 + b _022353B6 _022353B0: - mov r4, #2 - b _022353B6 + mov r4, #2 + b _022353B6 _022353B4: - mov r4, #3 + mov r4, #3 _022353B6: - add r0, r4, #0 - pop {r4, pc} - nop + add r0, r4, #0 + pop {r4, pc} + nop _022353BC: .word 0x00000182 - thumb_func_end MOD83_02235350 + thumb_func_end MOD83_02235350 - thumb_func_start MOD83_022353C0 + thumb_func_start MOD83_022353C0 MOD83_022353C0: ; 0x022353C0 - push {r3, r4, r5, r6, r7, lr} - add r6, r2, #0 - add r7, r3, #0 - add r5, r1, #0 - bl MOD83_TranslateAgbSpecies - add r1, r6, #0 - add r2, r7, #0 - add r4, r0, #0 - bl MOD83_02235350 - add r7, r0, #0 - add r0, r4, #0 - add r1, r5, #0 - add r2, r7, #0 - bl FUN_0206B6D4 - add r1, r0, #0 - mov r0, #0x13 - add r2, sp, #0 - mov r3, #0x4e - bl MOD83_022352FC - add r6, r0, #0 - ldr r0, [sp] - mov r1, #2 - ldr r0, [r0, #0x14] - lsl r1, r1, #8 - bl DC_FlushRange - ldr r1, [sp, #0x18] - ldr r0, [sp] - lsl r1, r1, #4 - add r1, #0x64 - mov r2, #2 - ldr r0, [r0, #0x14] - lsl r1, r1, #5 - lsl r2, r2, #8 - bl GX_LoadOBJ - add r0, r4, #0 - add r1, r7, #0 - add r2, r5, #0 - bl FUN_0206B7BC - add r1, r0, #0 - ldr r0, [sp, #0x1c] - add r1, #8 - bl FUN_02020248 - add r0, r6, #0 - bl FreeToHeap - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_022353C0 - - thumb_func_start MOD83_0223542C + push {r3, r4, r5, r6, r7, lr} + add r6, r2, #0 + add r7, r3, #0 + add r5, r1, #0 + bl MOD83_TranslateAgbSpecies + add r1, r6, #0 + add r2, r7, #0 + add r4, r0, #0 + bl MOD83_02235350 + add r7, r0, #0 + add r0, r4, #0 + add r1, r5, #0 + add r2, r7, #0 + bl FUN_0206B6D4 + add r1, r0, #0 + mov r0, #0x13 + add r2, sp, #0 + mov r3, #0x4e + bl MOD83_022352FC + add r6, r0, #0 + ldr r0, [sp] + mov r1, #2 + ldr r0, [r0, #0x14] + lsl r1, r1, #8 + bl DC_FlushRange + ldr r1, [sp, #0x18] + ldr r0, [sp] + lsl r1, r1, #4 + add r1, #0x64 + mov r2, #2 + ldr r0, [r0, #0x14] + lsl r1, r1, #5 + lsl r2, r2, #8 + bl GX_LoadOBJ + add r0, r4, #0 + add r1, r7, #0 + add r2, r5, #0 + bl FUN_0206B7BC + add r1, r0, #0 + ldr r0, [sp, #0x1c] + add r1, #8 + bl FUN_02020248 + add r0, r6, #0 + bl FreeToHeap + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_022353C0 + + thumb_func_start MOD83_0223542C MOD83_0223542C: ; 0x0223542C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r7, r1, #0 - ldr r1, _022354A8 ; =MOD83_0223BB14 - str r2, [sp] - ldr r2, [r1] - mov r1, #0x83 - add r5, r3, #0 - lsl r1, r1, #2 - mul r1, r5 - add r4, r2, r1 - ldr r1, [sp, #0x20] - add r6, r0, #0 - cmp r1, #0 - beq _022354A0 - bl MOD83_RS_SpeciesIsInvalid - cmp r0, #0 - bne _0223545C - add r0, r6, #0 - bl MOD83_TranslateAgbSpecies - add r6, r0, #0 - b _0223545E + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r7, r1, #0 + ldr r1, _022354A8 ; =MOD83_0223BB14 + str r2, [sp] + ldr r2, [r1] + mov r1, #0x83 + add r5, r3, #0 + lsl r1, r1, #2 + mul r1, r5 + add r4, r2, r1 + ldr r1, [sp, #0x20] + add r6, r0, #0 + cmp r1, #0 + beq _022354A0 + bl MOD83_RS_SpeciesIsInvalid + cmp r0, #0 + bne _0223545C + add r0, r6, #0 + bl MOD83_TranslateAgbSpecies + add r6, r0, #0 + b _0223545E _0223545C: - mov r6, #0 + mov r6, #0 _0223545E: - ldr r2, [sp] - add r0, r6, #0 - add r1, r7, #0 - bl FUN_0206B6D4 - ldr r2, [sp, #0x24] - ldr r3, [sp, #0x28] - add r1, sp, #4 - bl MOD83_02235334 - ldr r0, [sp, #4] - add r1, r4, #0 - mov r2, #2 - ldr r0, [r0, #0x14] - add r1, #0xc - lsl r2, r2, #8 - bl MIi_CpuCopyFast - lsl r0, r5, #4 - add r0, #0x64 - lsl r0, r0, #5 - str r0, [r4] - ldr r0, [sp, #0x20] - ldr r1, [sp] - str r0, [r4, #8] - add r0, r6, #0 - add r2, r7, #0 - bl FUN_0206B7BC - add r0, #8 - add sp, #8 - str r0, [r4, #4] - pop {r3, r4, r5, r6, r7, pc} + ldr r2, [sp] + add r0, r6, #0 + add r1, r7, #0 + bl FUN_0206B6D4 + ldr r2, [sp, #0x24] + ldr r3, [sp, #0x28] + add r1, sp, #4 + bl MOD83_02235334 + ldr r0, [sp, #4] + add r1, r4, #0 + mov r2, #2 + ldr r0, [r0, #0x14] + add r1, #0xc + lsl r2, r2, #8 + bl MIi_CpuCopyFast + lsl r0, r5, #4 + add r0, #0x64 + lsl r0, r0, #5 + str r0, [r4] + ldr r0, [sp, #0x20] + ldr r1, [sp] + str r0, [r4, #8] + add r0, r6, #0 + add r2, r7, #0 + bl FUN_0206B7BC + add r0, #8 + add sp, #8 + str r0, [r4, #4] + pop {r3, r4, r5, r6, r7, pc} _022354A0: - mov r0, #0 - str r0, [r4, #8] - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + mov r0, #0 + str r0, [r4, #8] + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _022354A8: .word MOD83_0223BB14 - thumb_func_end MOD83_0223542C + thumb_func_end MOD83_0223542C - thumb_func_start MOD83_022354AC + thumb_func_start MOD83_022354AC MOD83_022354AC: ; 0x022354AC - push {r3, r4, r5, r6, r7, lr} - ldr r0, _022354EC ; =MOD83_0223BB14 - mov r6, #2 - lsl r6, r6, #8 - add r7, r6, #0 - ldr r5, [r0] - mov r4, #0 - add r7, #0xc + push {r3, r4, r5, r6, r7, lr} + ldr r0, _022354EC ; =MOD83_0223BB14 + mov r6, #2 + lsl r6, r6, #8 + add r7, r6, #0 + ldr r5, [r0] + mov r4, #0 + add r7, #0xc _022354BC: - ldr r0, [r5, #8] - cmp r0, #0 - beq _022354E0 - add r0, r5, #0 - add r0, #0xc - add r1, r6, #0 - bl DC_FlushRange - add r0, r5, #0 - ldr r1, [r5] - add r0, #0xc - add r2, r6, #0 - bl GX_LoadOBJ - ldr r0, [r5, #8] - ldr r1, [r5, #4] - bl FUN_02020248 + ldr r0, [r5, #8] + cmp r0, #0 + beq _022354E0 + add r0, r5, #0 + add r0, #0xc + add r1, r6, #0 + bl DC_FlushRange + add r0, r5, #0 + ldr r1, [r5] + add r0, #0xc + add r2, r6, #0 + bl GX_LoadOBJ + ldr r0, [r5, #8] + ldr r1, [r5, #4] + bl FUN_02020248 _022354E0: - add r4, r4, #1 - add r5, r5, r7 - cmp r4, #0x1e - blt _022354BC - pop {r3, r4, r5, r6, r7, pc} - nop + add r4, r4, #1 + add r5, r5, r7 + cmp r4, #0x1e + blt _022354BC + pop {r3, r4, r5, r6, r7, pc} + nop _022354EC: .word MOD83_0223BB14 - thumb_func_end MOD83_022354AC + thumb_func_end MOD83_022354AC - thumb_func_start MOD83_022354F0 + thumb_func_start MOD83_022354F0 MOD83_022354F0: ; 0x022354F0 - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - add r5, r0, #0 - mov r0, #0x13 - mov r1, #0x4e - bl NARC_ctor - mov r1, #1 - str r0, [sp, #0xc] - mov r0, #0x4e - lsl r1, r1, #0xc - bl AllocFromHeapAtEnd - mov r6, #0 - str r0, [sp, #0x10] - add r7, r6, #0 - add r4, r5, #0 + push {r4, r5, r6, r7, lr} + sub sp, #0x24 + add r5, r0, #0 + mov r0, #0x13 + mov r1, #0x4e + bl NARC_ctor + mov r1, #1 + str r0, [sp, #0xc] + mov r0, #0x4e + lsl r1, r1, #0xc + bl AllocFromHeapAtEnd + mov r6, #0 + str r0, [sp, #0x10] + add r7, r6, #0 + add r4, r5, #0 _02235512: - ldr r0, _02235634 ; =0x0000E880 - ldr r1, _02235638 ; =0x0000E884 - ldr r0, [r5, r0] - ldr r2, [r5, r1] - mov r1, #0x96 - lsl r1, r1, #4 - mul r1, r2 - add r0, r0, #4 - add r0, r0, r1 - add r0, r0, r7 - mov r1, #5 - mov r2, #0 - bl AGB_GetBoxMonData - cmp r0, #0 - beq _022355D2 - ldr r1, _02235638 ; =0x0000E884 - add r0, r5, #0 - ldr r1, [r5, r1] - add r2, r6, #0 - bl MOD83_0223526C - ldr r1, _02235638 ; =0x0000E884 - str r0, [sp, #0x1c] - ldr r1, [r5, r1] - add r0, r5, #0 - add r2, r6, #0 - bl MOD83_02235290 - ldr r1, _02235638 ; =0x0000E884 - str r0, [sp, #0x18] - ldr r1, [r5, r1] - add r0, r5, #0 - add r2, r6, #0 - bl MOD83_022352B4 - str r0, [sp, #0x20] - ldr r0, [sp, #0x1c] - bl MOD83_TranslateAgbSpecies - ldr r2, _0223563C ; =gMain + 0x60 - ldr r1, [sp, #0x20] - ldrb r2, [r2, #6] - bl MOD83_02235350 - str r0, [sp, #0x14] - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r4, r0] - ldr r1, [sp, #0x18] - str r0, [sp] - ldr r0, [sp, #0x10] - ldr r2, [sp, #0x14] - str r0, [sp, #4] - ldr r0, [sp, #0xc] - add r3, r6, #0 - str r0, [sp, #8] - ldr r0, [sp, #0x1c] - bl MOD83_0223542C - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #1 - bl FUN_020200A0 - ldr r0, _02235634 ; =0x0000E880 - ldr r1, _02235638 ; =0x0000E884 - ldr r0, [r5, r0] - ldr r2, [r5, r1] - mov r1, #0x96 - lsl r1, r1, #4 - mul r1, r2 - add r0, r0, #4 - add r0, r0, r1 - add r0, r0, r7 - mov r1, #0xc - mov r2, #0 - bl AGB_GetBoxMonData - cmp r0, #0 - beq _022355C4 - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #1 - bl FUN_020200A0 - b _02235602 + ldr r0, _02235634 ; =0x0000E880 + ldr r1, _02235638 ; =0x0000E884 + ldr r0, [r5, r0] + ldr r2, [r5, r1] + mov r1, #0x96 + lsl r1, r1, #4 + mul r1, r2 + add r0, r0, #4 + add r0, r0, r1 + add r0, r0, r7 + mov r1, #5 + mov r2, #0 + bl AGB_GetBoxMonData + cmp r0, #0 + beq _022355D2 + ldr r1, _02235638 ; =0x0000E884 + add r0, r5, #0 + ldr r1, [r5, r1] + add r2, r6, #0 + bl MOD83_0223526C + ldr r1, _02235638 ; =0x0000E884 + str r0, [sp, #0x1c] + ldr r1, [r5, r1] + add r0, r5, #0 + add r2, r6, #0 + bl MOD83_02235290 + ldr r1, _02235638 ; =0x0000E884 + str r0, [sp, #0x18] + ldr r1, [r5, r1] + add r0, r5, #0 + add r2, r6, #0 + bl MOD83_022352B4 + str r0, [sp, #0x20] + ldr r0, [sp, #0x1c] + bl MOD83_TranslateAgbSpecies + ldr r2, _0223563C ; =gMain + 0x60 + ldr r1, [sp, #0x20] + ldrb r2, [r2, #6] + bl MOD83_02235350 + str r0, [sp, #0x14] + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r4, r0] + ldr r1, [sp, #0x18] + str r0, [sp] + ldr r0, [sp, #0x10] + ldr r2, [sp, #0x14] + str r0, [sp, #4] + ldr r0, [sp, #0xc] + add r3, r6, #0 + str r0, [sp, #8] + ldr r0, [sp, #0x1c] + bl MOD83_0223542C + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r4, r0] + mov r1, #1 + bl FUN_020200A0 + ldr r0, _02235634 ; =0x0000E880 + ldr r1, _02235638 ; =0x0000E884 + ldr r0, [r5, r0] + ldr r2, [r5, r1] + mov r1, #0x96 + lsl r1, r1, #4 + mul r1, r2 + add r0, r0, #4 + add r0, r0, r1 + add r0, r0, r7 + mov r1, #0xc + mov r2, #0 + bl AGB_GetBoxMonData + cmp r0, #0 + beq _022355C4 + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r4, r0] + mov r1, #1 + bl FUN_020200A0 + b _02235602 _022355C4: - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #0 - bl FUN_020200A0 - b _02235602 + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r4, r0] + mov r1, #0 + bl FUN_020200A0 + b _02235602 _022355D2: - mov r0, #0 - str r0, [sp] - ldr r0, [sp, #0x10] - ldr r1, [sp, #0x18] - str r0, [sp, #4] - ldr r0, [sp, #0xc] - ldr r2, [sp, #0x14] - str r0, [sp, #8] - ldr r0, [sp, #0x1c] - add r3, r6, #0 - bl MOD83_0223542C - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #0 - bl FUN_020200A0 - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #0 - bl FUN_020200A0 + mov r0, #0 + str r0, [sp] + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x18] + str r0, [sp, #4] + ldr r0, [sp, #0xc] + ldr r2, [sp, #0x14] + str r0, [sp, #8] + ldr r0, [sp, #0x1c] + add r3, r6, #0 + bl MOD83_0223542C + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r4, r0] + mov r1, #0 + bl FUN_020200A0 + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r4, r0] + mov r1, #0 + bl FUN_020200A0 _02235602: - add r6, r6, #1 - add r7, #0x50 - add r4, #0xc - cmp r6, #0x1e - blt _02235512 - ldr r0, [sp, #0x10] - bl FreeToHeap - ldr r0, [sp, #0xc] - bl NARC_dtor - ldr r1, _02235640 ; =MOD83_022354AC - ldr r0, _02235644 ; =0x00012604 - str r1, [r5, r0] - ldr r1, _02235638 ; =0x0000E884 - add r0, r5, #0 - ldr r1, [r5, r1] - bl MOD83_02235B6C - add r0, r5, #0 - bl MOD83_02235B20 - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - nop + add r6, r6, #1 + add r7, #0x50 + add r4, #0xc + cmp r6, #0x1e + blt _02235512 + ldr r0, [sp, #0x10] + bl FreeToHeap + ldr r0, [sp, #0xc] + bl NARC_dtor + ldr r1, _02235640 ; =MOD83_022354AC + ldr r0, _02235644 ; =0x00012604 + str r1, [r5, r0] + ldr r1, _02235638 ; =0x0000E884 + add r0, r5, #0 + ldr r1, [r5, r1] + bl MOD83_02235B6C + add r0, r5, #0 + bl MOD83_02235B20 + add sp, #0x24 + pop {r4, r5, r6, r7, pc} + nop _02235634: .word 0x0000E880 _02235638: .word 0x0000E884 _0223563C: .word gMain + 0x60 _02235640: .word MOD83_022354AC _02235644: .word 0x00012604 - thumb_func_end MOD83_022354F0 + thumb_func_end MOD83_022354F0 - thumb_func_start MOD83_02235648 + thumb_func_start MOD83_02235648 MOD83_02235648: ; 0x02235648 - push {r4, r5, r6, r7, lr} - sub sp, #0x44 - mov r2, #0x61 - add r5, r0, #0 - lsl r2, r2, #2 - add r0, sp, #0x14 - add r1, r5, #0 - add r2, r5, r2 - mov r3, #1 - bl MOD83_02235244 - mov r0, #0x28 - str r0, [sp, #8] - mov r0, #0x31 - mov r4, #0 - lsl r0, r0, #4 - str r4, [sp, #0xc] - add r7, r5, r0 + push {r4, r5, r6, r7, lr} + sub sp, #0x44 + mov r2, #0x61 + add r5, r0, #0 + lsl r2, r2, #2 + add r0, sp, #0x14 + add r1, r5, #0 + add r2, r5, r2 + mov r3, #1 + bl MOD83_02235244 + mov r0, #0x28 + str r0, [sp, #8] + mov r0, #0x31 + mov r4, #0 + lsl r0, r0, #4 + str r4, [sp, #0xc] + add r7, r5, r0 _0223566C: - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, [sp, #8] - mov r6, #0x1c - lsl r0, r0, #0xc - str r0, [sp, #4] + mov r0, #0 + str r0, [sp, #0x10] + ldr r0, [sp, #8] + mov r6, #0x1c + lsl r0, r0, #0xc + str r0, [sp, #4] _02235678: - mov r0, #0x1c - str r0, [sp] - ldr r2, [sp, #8] - add r0, r7, #0 - add r1, r6, #0 - mov r3, #0x1c - bl MOD83_022352D8 - lsl r0, r6, #0xc - str r0, [sp, #0x1c] - ldr r0, [sp, #4] - str r0, [sp, #0x20] - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r5, r0] - cmp r0, #0 - bne _022356A6 - add r0, sp, #0x14 - bl FUN_0201FE94 - mov r1, #0x6a - lsl r1, r1, #2 - str r0, [r5, r1] + mov r0, #0x1c + str r0, [sp] + ldr r2, [sp, #8] + add r0, r7, #0 + add r1, r6, #0 + mov r3, #0x1c + bl MOD83_022352D8 + lsl r0, r6, #0xc + str r0, [sp, #0x1c] + ldr r0, [sp, #4] + str r0, [sp, #0x20] + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r5, r0] + cmp r0, #0 + bne _022356A6 + add r0, sp, #0x14 + bl FUN_0201FE94 + mov r1, #0x6a + lsl r1, r1, #2 + str r0, [r5, r1] _022356A6: - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #1 - bl FUN_020200BC - mov r0, #0x6a - lsl r0, r0, #2 - add r1, r4, #0 - ldr r0, [r5, r0] - add r1, #0xa - bl FUN_02020130 - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #1 - bl FUN_02020238 - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #1 - bl FUN_020200A0 - mov r0, #0x6a - lsl r0, r0, #2 - add r1, r4, #0 - ldr r0, [r5, r0] - add r1, #0x64 - bl FUN_02020310 - mov r0, #6 - ldr r1, [sp, #0x1c] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0x1c] - mov r0, #3 - ldr r1, [sp, #0x20] - lsl r0, r0, #0xe - add r0, r1, r0 - str r0, [sp, #0x20] - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r5, r0] - cmp r0, #0 - bne _02235710 - add r0, sp, #0x14 - bl FUN_0201FE94 - mov r1, #0x6b - lsl r1, r1, #2 - str r0, [r5, r1] + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #1 + bl FUN_020200BC + mov r0, #0x6a + lsl r0, r0, #2 + add r1, r4, #0 + ldr r0, [r5, r0] + add r1, #0xa + bl FUN_02020130 + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #1 + bl FUN_02020238 + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #1 + bl FUN_020200A0 + mov r0, #0x6a + lsl r0, r0, #2 + add r1, r4, #0 + ldr r0, [r5, r0] + add r1, #0x64 + bl FUN_02020310 + mov r0, #6 + ldr r1, [sp, #0x1c] + lsl r0, r0, #0xc + add r0, r1, r0 + str r0, [sp, #0x1c] + mov r0, #3 + ldr r1, [sp, #0x20] + lsl r0, r0, #0xe + add r0, r1, r0 + str r0, [sp, #0x20] + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r5, r0] + cmp r0, #0 + bne _02235710 + add r0, sp, #0x14 + bl FUN_0201FE94 + mov r1, #0x6b + lsl r1, r1, #2 + str r0, [r5, r1] _02235710: - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #1 - bl FUN_020200BC - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #0x28 - bl FUN_02020130 - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #1 - bl FUN_02020238 - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #0 - bl FUN_020200A0 - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r1, r4, #0 - bl FUN_02020310 - add r4, r4, #1 - add r7, r7, #4 - add r5, #0xc - cmp r4, #0x1e - beq _02235774 - ldr r0, [sp, #0x10] - add r6, #0x28 - add r0, r0, #1 - str r0, [sp, #0x10] - cmp r0, #6 - blt _02235678 - ldr r0, [sp, #8] - add r0, #0x18 - str r0, [sp, #8] - ldr r0, [sp, #0xc] - add r0, r0, #1 - str r0, [sp, #0xc] - cmp r0, #5 - bge _02235774 - b _0223566C + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #1 + bl FUN_020200BC + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #0x28 + bl FUN_02020130 + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #1 + bl FUN_02020238 + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #0 + bl FUN_020200A0 + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r5, r0] + add r1, r4, #0 + bl FUN_02020310 + add r4, r4, #1 + add r7, r7, #4 + add r5, #0xc + cmp r4, #0x1e + beq _02235774 + ldr r0, [sp, #0x10] + add r6, #0x28 + add r0, r0, #1 + str r0, [sp, #0x10] + cmp r0, #6 + blt _02235678 + ldr r0, [sp, #8] + add r0, #0x18 + str r0, [sp, #8] + ldr r0, [sp, #0xc] + add r0, r0, #1 + str r0, [sp, #0xc] + cmp r0, #5 + bge _02235774 + b _0223566C _02235774: - add sp, #0x44 - pop {r4, r5, r6, r7, pc} - thumb_func_end MOD83_02235648 + add sp, #0x44 + pop {r4, r5, r6, r7, pc} + thumb_func_end MOD83_02235648 - thumb_func_start MOD83_02235778 + thumb_func_start MOD83_02235778 MOD83_02235778: ; 0x02235778 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x30 - add r4, r2, #0 - mov r2, #0x61 - add r6, r0, #0 - lsl r2, r2, #2 - add r5, r1, #0 - add r7, r3, #0 - add r0, sp, #0 - add r1, r6, #0 - add r2, r6, r2 - mov r3, #1 - bl MOD83_02235244 - lsl r0, r5, #0xc - str r0, [sp, #8] - lsl r0, r4, #0xc - str r0, [sp, #0xc] - mov r0, #0xa - str r0, [sp, #0x24] - add r0, sp, #0 - bl FUN_0201FE94 - add r4, r0, #0 - mov r1, #1 - bl FUN_020200BC - add r0, r4, #0 - add r1, r7, #0 - bl FUN_02020130 - add r0, r4, #0 - mov r1, #1 - bl FUN_02020238 - ldr r1, [sp, #0x48] - add r0, r4, #0 - bl FUN_020200A0 - add r0, r4, #0 - add sp, #0x30 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_02235778 - - thumb_func_start MOD83_022357CC + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x30 + add r4, r2, #0 + mov r2, #0x61 + add r6, r0, #0 + lsl r2, r2, #2 + add r5, r1, #0 + add r7, r3, #0 + add r0, sp, #0 + add r1, r6, #0 + add r2, r6, r2 + mov r3, #1 + bl MOD83_02235244 + lsl r0, r5, #0xc + str r0, [sp, #8] + lsl r0, r4, #0xc + str r0, [sp, #0xc] + mov r0, #0xa + str r0, [sp, #0x24] + add r0, sp, #0 + bl FUN_0201FE94 + add r4, r0, #0 + mov r1, #1 + bl FUN_020200BC + add r0, r4, #0 + add r1, r7, #0 + bl FUN_02020130 + add r0, r4, #0 + mov r1, #1 + bl FUN_02020238 + ldr r1, [sp, #0x48] + add r0, r4, #0 + bl FUN_020200A0 + add r0, r4, #0 + add sp, #0x30 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_02235778 + + thumb_func_start MOD83_022357CC MOD83_022357CC: ; 0x022357CC - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - mov r0, #0x20 - str r0, [sp] - mov r0, #0xe2 - lsl r0, r0, #2 - add r0, r6, r0 - mov r1, #0xe4 - mov r2, #0xb0 - mov r3, #0x32 - bl MOD83_022352D8 - mov r0, #1 - str r0, [sp] - add r0, r6, #0 - mov r1, #0xe4 - mov r2, #0xb0 - mov r3, #6 - bl MOD83_02235778 - mov r1, #0xe6 - lsl r1, r1, #2 - str r0, [r6, r1] - sub r1, #8 - add r0, r6, r1 - mov r1, #0xb0 - mov r3, #0x20 - add r2, r1, #0 - str r3, [sp] - bl MOD83_022352D8 - mov r0, #1 - mov r1, #0xb0 - str r0, [sp] - add r0, r6, #0 - add r2, r1, #0 - mov r3, #3 - bl MOD83_02235778 - mov r1, #0xea - lsl r1, r1, #2 - str r0, [r6, r1] - sub r1, #0x1c - mov r3, #0x20 - add r0, r6, r1 - mov r1, #0x18 - mov r2, #0xb0 - str r3, [sp] - bl MOD83_022352D8 - mov r0, #1 - str r0, [sp] - add r0, r6, #0 - mov r1, #0x18 - mov r2, #0xb0 - mov r3, #0 - bl MOD83_02235778 - mov r1, #0xee - lsl r1, r1, #2 - str r0, [r6, r1] - mov r7, #0 - mov r0, #0xff - sub r1, #0x24 - strb r0, [r6, r1] - add r4, r7, #0 - add r5, r6, #0 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r0, #0x20 + str r0, [sp] + mov r0, #0xe2 + lsl r0, r0, #2 + add r0, r6, r0 + mov r1, #0xe4 + mov r2, #0xb0 + mov r3, #0x32 + bl MOD83_022352D8 + mov r0, #1 + str r0, [sp] + add r0, r6, #0 + mov r1, #0xe4 + mov r2, #0xb0 + mov r3, #6 + bl MOD83_02235778 + mov r1, #0xe6 + lsl r1, r1, #2 + str r0, [r6, r1] + sub r1, #8 + add r0, r6, r1 + mov r1, #0xb0 + mov r3, #0x20 + add r2, r1, #0 + str r3, [sp] + bl MOD83_022352D8 + mov r0, #1 + mov r1, #0xb0 + str r0, [sp] + add r0, r6, #0 + add r2, r1, #0 + mov r3, #3 + bl MOD83_02235778 + mov r1, #0xea + lsl r1, r1, #2 + str r0, [r6, r1] + sub r1, #0x1c + mov r3, #0x20 + add r0, r6, r1 + mov r1, #0x18 + mov r2, #0xb0 + str r3, [sp] + bl MOD83_022352D8 + mov r0, #1 + str r0, [sp] + add r0, r6, #0 + mov r1, #0x18 + mov r2, #0xb0 + mov r3, #0 + bl MOD83_02235778 + mov r1, #0xee + lsl r1, r1, #2 + str r0, [r6, r1] + mov r7, #0 + mov r0, #0xff + sub r1, #0x24 + strb r0, [r6, r1] + add r4, r7, #0 + add r5, r6, #0 _02235852: - mov r0, #0 - str r0, [sp] - add r0, r6, #0 - add r1, r4, #0 - mov r2, #0x40 - mov r3, #9 - bl MOD83_02235778 - mov r1, #0xf2 - lsl r1, r1, #2 - str r0, [r5, r1] - mov r1, #0 - mov r0, #0xf3 - mvn r1, r1 - lsl r0, r0, #2 - str r1, [r5, r0] - mov r1, #0xe - add r0, r0, #4 - str r1, [r5, r0] - add r7, r7, #1 - add r4, #0x24 - add r5, #0xc - cmp r7, #6 - blt _02235852 - mov r0, #0x41 - mov r1, #0 - lsl r0, r0, #4 - str r1, [r6, r0] - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_022357CC - - thumb_func_start MOD83_0223588C + mov r0, #0 + str r0, [sp] + add r0, r6, #0 + add r1, r4, #0 + mov r2, #0x40 + mov r3, #9 + bl MOD83_02235778 + mov r1, #0xf2 + lsl r1, r1, #2 + str r0, [r5, r1] + mov r1, #0 + mov r0, #0xf3 + mvn r1, r1 + lsl r0, r0, #2 + str r1, [r5, r0] + mov r1, #0xe + add r0, r0, #4 + str r1, [r5, r0] + add r7, r7, #1 + add r4, #0x24 + add r5, #0xc + cmp r7, #6 + blt _02235852 + mov r0, #0x41 + mov r1, #0 + lsl r0, r0, #4 + str r1, [r6, r0] + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_022357CC + + thumb_func_start MOD83_0223588C MOD83_0223588C: ; 0x0223588C - push {r3, lr} - ldr r3, _022358C0 ; =0x0000E880 - ldr r2, [r0, r3] - add r3, r3, #4 - ldr r3, [r0, r3] - mov r0, #0x96 - lsl r0, r0, #4 - add r2, r2, #4 - mul r0, r3 - add r2, r2, r0 - mov r0, #0x50 - mul r0, r1 - add r0, r2, r0 - mov r1, #0x41 - mov r2, #0 - bl AGB_GetBoxMonData - mov r1, #0x67 - lsl r1, r1, #2 - cmp r0, r1 - bne _022358BA - mov r0, #1 - pop {r3, pc} + push {r3, lr} + ldr r3, _022358C0 ; =0x0000E880 + ldr r2, [r0, r3] + add r3, r3, #4 + ldr r3, [r0, r3] + mov r0, #0x96 + lsl r0, r0, #4 + add r2, r2, #4 + mul r0, r3 + add r2, r2, r0 + mov r0, #0x50 + mul r0, r1 + add r0, r2, r0 + mov r1, #0x41 + mov r2, #0 + bl AGB_GetBoxMonData + mov r1, #0x67 + lsl r1, r1, #2 + cmp r0, r1 + bne _022358BA + mov r0, #1 + pop {r3, pc} _022358BA: - mov r0, #0 - pop {r3, pc} - nop + mov r0, #0 + pop {r3, pc} + nop _022358C0: .word 0x0000E880 - thumb_func_end MOD83_0223588C + thumb_func_end MOD83_0223588C - thumb_func_start MOD83_022358C4 + thumb_func_start MOD83_022358C4 MOD83_022358C4: ; 0x022358C4 - push {r3, r4, r5, r6, r7, lr} - ldr r3, _02235910 ; =0x0000E880 - mov r5, #0 - ldr r2, [r0, r3] - add r3, r3, #4 - ldr r3, [r0, r3] - mov r0, #0x96 - lsl r0, r0, #4 - add r2, r2, #4 - mul r0, r3 - add r4, r2, r0 - mov r0, #0x50 - add r6, r1, #0 - mul r6, r0 - add r7, r5, #0 + push {r3, r4, r5, r6, r7, lr} + ldr r3, _02235910 ; =0x0000E880 + mov r5, #0 + ldr r2, [r0, r3] + add r3, r3, #4 + ldr r3, [r0, r3] + mov r0, #0x96 + lsl r0, r0, #4 + add r2, r2, #4 + mul r0, r3 + add r4, r2, r0 + mov r0, #0x50 + add r6, r1, #0 + mul r6, r0 + add r7, r5, #0 _022358E2: - add r1, r5, #0 - add r0, r4, r6 - add r1, #0xd - add r2, r7, #0 - bl AGB_GetBoxMonData - ldr r3, _02235914 ; =MOD83_0223B2B8 - add r2, r0, #0 - mov r1, #0 + add r1, r5, #0 + add r0, r4, r6 + add r1, #0xd + add r2, r7, #0 + bl AGB_GetBoxMonData + ldr r3, _02235914 ; =MOD83_0223B2B8 + add r2, r0, #0 + mov r1, #0 _022358F4: - ldr r0, [r3] - cmp r2, r0 - bne _022358FE - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + ldr r0, [r3] + cmp r2, r0 + bne _022358FE + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _022358FE: - add r1, r1, #1 - add r3, r3, #4 - cmp r1, #8 - blo _022358F4 - add r5, r5, #1 - cmp r5, #4 - blt _022358E2 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + add r1, r1, #1 + add r3, r3, #4 + cmp r1, #8 + blo _022358F4 + add r5, r5, #1 + cmp r5, #4 + blt _022358E2 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _02235910: .word 0x0000E880 _02235914: .word MOD83_0223B2B8 - thumb_func_end MOD83_022358C4 + thumb_func_end MOD83_022358C4 - thumb_func_start MOD83_02235918 + thumb_func_start MOD83_02235918 MOD83_02235918: ; 0x02235918 - push {r3, lr} - ldr r3, _0223595C ; =0x0000E880 - ldr r2, [r0, r3] - add r3, r3, #4 - ldr r3, [r0, r3] - mov r0, #0x96 - lsl r0, r0, #4 - add r2, r2, #4 - mul r0, r3 - add r2, r2, r0 - mov r0, #0x50 - mul r0, r1 - add r0, r2, r0 - mov r1, #0xc - mov r2, #0 - bl AGB_GetBoxMonData - ldr r1, _02235960 ; =MOD83_InvalidItemIds - 0x30 - ldrh r1, [r1, #0x30] - cmp r1, #0 - beq _02235956 - ldr r2, _02235964 ; =MOD83_InvalidItemIds + push {r3, lr} + ldr r3, _0223595C ; =0x0000E880 + ldr r2, [r0, r3] + add r3, r3, #4 + ldr r3, [r0, r3] + mov r0, #0x96 + lsl r0, r0, #4 + add r2, r2, #4 + mul r0, r3 + add r2, r2, r0 + mov r0, #0x50 + mul r0, r1 + add r0, r2, r0 + mov r1, #0xc + mov r2, #0 + bl AGB_GetBoxMonData + ldr r1, _02235960 ; =MOD83_InvalidItemIds - 0x30 + ldrh r1, [r1, #0x30] + cmp r1, #0 + beq _02235956 + ldr r2, _02235964 ; =MOD83_InvalidItemIds _02235944: - ldrh r1, [r2] - cmp r0, r1 - bne _0223594E - mov r0, #1 - pop {r3, pc} + ldrh r1, [r2] + cmp r0, r1 + bne _0223594E + mov r0, #1 + pop {r3, pc} _0223594E: - add r2, r2, #2 - ldrh r1, [r2] - cmp r1, #0 - bne _02235944 + add r2, r2, #2 + ldrh r1, [r2] + cmp r1, #0 + bne _02235944 _02235956: - mov r0, #0 - pop {r3, pc} - nop + mov r0, #0 + pop {r3, pc} + nop _0223595C: .word 0x0000E880 _02235960: .word MOD83_InvalidItemIds - 0x30 _02235964: .word MOD83_InvalidItemIds - thumb_func_end MOD83_02235918 + thumb_func_end MOD83_02235918 - thumb_func_start MOD83_02235968 + thumb_func_start MOD83_02235968 MOD83_02235968: ; 0x02235968 - push {r3, lr} - ldr r3, _02235990 ; =0x0000E880 - ldr r2, [r0, r3] - add r3, r3, #4 - ldr r3, [r0, r3] - mov r0, #0x96 - lsl r0, r0, #4 - add r2, r2, #4 - mul r0, r3 - add r2, r2, r0 - mov r0, #0x50 - mul r0, r1 - add r0, r2, r0 - mov r1, #0xb - mov r2, #0 - bl AGB_GetBoxMonData - bl MOD83_RS_SpeciesIsInvalid - pop {r3, pc} - .align 2, 0 + push {r3, lr} + ldr r3, _02235990 ; =0x0000E880 + ldr r2, [r0, r3] + add r3, r3, #4 + ldr r3, [r0, r3] + mov r0, #0x96 + lsl r0, r0, #4 + add r2, r2, #4 + mul r0, r3 + add r2, r2, r0 + mov r0, #0x50 + mul r0, r1 + add r0, r2, r0 + mov r1, #0xb + mov r2, #0 + bl AGB_GetBoxMonData + bl MOD83_RS_SpeciesIsInvalid + pop {r3, pc} + .align 2, 0 _02235990: .word 0x0000E880 - thumb_func_end MOD83_02235968 + thumb_func_end MOD83_02235968 - thumb_func_start MOD83_02235994 + thumb_func_start MOD83_02235994 MOD83_02235994: ; 0x02235994 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r4, r0, #0 - mov r0, #0x6a - lsl r0, r0, #2 - add r0, r4, r0 - str r0, [sp] - add r6, r1, #0 - mov r0, #0xc - mul r0, r6 - ldr r1, [sp] - str r0, [sp, #4] - ldr r0, [r1, r0] - cmp r0, #0 - beq _022359C0 - bl FUN_02020128 - cmp r0, #0 - bne _022359C0 - add sp, #0x14 - mov r0, #3 - pop {r4, r5, r6, r7, pc} + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r4, r0, #0 + mov r0, #0x6a + lsl r0, r0, #2 + add r0, r4, r0 + str r0, [sp] + add r6, r1, #0 + mov r0, #0xc + mul r0, r6 + ldr r1, [sp] + str r0, [sp, #4] + ldr r0, [r1, r0] + cmp r0, #0 + beq _022359C0 + bl FUN_02020128 + cmp r0, #0 + bne _022359C0 + add sp, #0x14 + mov r0, #3 + pop {r4, r5, r6, r7, pc} _022359C0: - mov r5, #0 - mov r7, #0x3d - mvn r5, r5 - mov r2, #0 - add r3, r4, #0 - lsl r7, r7, #4 - b _022359E8 + mov r5, #0 + mov r7, #0x3d + mvn r5, r5 + mov r2, #0 + add r3, r4, #0 + lsl r7, r7, #4 + b _022359E8 _022359CE: - ldr r0, _02235B1C ; =0x0000E884 - ldr r1, [r4, r0] - ldr r0, [r3, r7] - cmp r1, r0 - bne _022359E4 - mov r0, #0xf3 - lsl r0, r0, #2 - ldr r0, [r3, r0] - cmp r6, r0 - bne _022359E4 - add r5, r2, #0 + ldr r0, _02235B1C ; =0x0000E884 + ldr r1, [r4, r0] + ldr r0, [r3, r7] + cmp r1, r0 + bne _022359E4 + mov r0, #0xf3 + lsl r0, r0, #2 + ldr r0, [r3, r0] + cmp r6, r0 + bne _022359E4 + add r5, r2, #0 _022359E4: - add r3, #0xc - add r2, r2, #1 + add r3, #0xc + add r2, r2, #1 _022359E8: - mov r0, #0 - mvn r0, r0 - cmp r5, r0 - bne _022359F4 - cmp r2, #6 - blt _022359CE + mov r0, #0 + mvn r0, r0 + cmp r5, r0 + bne _022359F4 + cmp r2, #6 + blt _022359CE _022359F4: - add r0, r4, #0 - add r1, r6, #0 - bl MOD83_0223588C - cmp r0, #1 - bne _02235A06 - add sp, #0x14 - mov r0, #4 - pop {r4, r5, r6, r7, pc} + add r0, r4, #0 + add r1, r6, #0 + bl MOD83_0223588C + cmp r0, #1 + bne _02235A06 + add sp, #0x14 + mov r0, #4 + pop {r4, r5, r6, r7, pc} _02235A06: - add r0, r4, #0 - add r1, r6, #0 - bl MOD83_022358C4 - cmp r0, #1 - bne _02235A18 - add sp, #0x14 - mov r0, #5 - pop {r4, r5, r6, r7, pc} + add r0, r4, #0 + add r1, r6, #0 + bl MOD83_022358C4 + cmp r0, #1 + bne _02235A18 + add sp, #0x14 + mov r0, #5 + pop {r4, r5, r6, r7, pc} _02235A18: - add r0, r4, #0 - add r1, r6, #0 - bl MOD83_02235918 - cmp r0, #1 - bne _02235A2A - add sp, #0x14 - mov r0, #6 - pop {r4, r5, r6, r7, pc} + add r0, r4, #0 + add r1, r6, #0 + bl MOD83_02235918 + cmp r0, #1 + bne _02235A2A + add sp, #0x14 + mov r0, #6 + pop {r4, r5, r6, r7, pc} _02235A2A: - add r0, r4, #0 - add r1, r6, #0 - bl MOD83_02235968 - cmp r0, #1 - bne _02235A3C - add sp, #0x14 - mov r0, #7 - pop {r4, r5, r6, r7, pc} + add r0, r4, #0 + add r1, r6, #0 + bl MOD83_02235968 + cmp r0, #1 + bne _02235A3C + add sp, #0x14 + mov r0, #7 + pop {r4, r5, r6, r7, pc} _02235A3C: - mov r0, #0 - mvn r0, r0 - cmp r5, r0 - bne _02235AE4 - mov r0, #0x41 - lsl r0, r0, #4 - ldr r0, [r4, r0] - cmp r0, #6 - bne _02235A54 - add sp, #0x14 - mov r0, #0 - pop {r4, r5, r6, r7, pc} + mov r0, #0 + mvn r0, r0 + cmp r5, r0 + bne _02235AE4 + mov r0, #0x41 + lsl r0, r0, #4 + ldr r0, [r4, r0] + cmp r0, #6 + bne _02235A54 + add sp, #0x14 + mov r0, #0 + pop {r4, r5, r6, r7, pc} _02235A54: - mov r5, #0 - mov r0, #0xf3 - add r3, r4, #0 - lsl r0, r0, #2 - sub r1, r5, #1 + mov r5, #0 + mov r0, #0xf3 + add r3, r4, #0 + lsl r0, r0, #2 + sub r1, r5, #1 _02235A5E: - ldr r2, [r3, r0] - cmp r2, r1 - bne _02235ADA - ldr r1, [sp] - ldr r0, [sp, #4] - ldr r0, [r1, r0] - bl FUN_0202011C - add r1, r0, #0 - mov r0, #0xc - add r7, r5, #0 - mul r7, r0 - mov r0, #0xf2 - lsl r0, r0, #2 - add r5, r4, r0 - ldr r0, [r5, r7] - bl FUN_02020044 - ldr r0, [r5, r7] - bl FUN_0202011C - add r3, r0, #0 - add r2, sp, #8 - ldmia r3!, {r0, r1} - mov ip, r2 - stmia r2!, {r0, r1} - ldr r0, [r3] - mov r1, #2 - str r0, [r2] - ldr r0, [sp, #8] - lsl r1, r1, #0xe - sub r0, r0, r1 - str r0, [sp, #8] - ldr r0, [sp, #0xc] - lsr r1, r1, #1 - sub r0, r0, r1 - str r0, [sp, #0xc] - ldr r0, [r5, r7] - mov r1, ip - bl FUN_02020044 - ldr r0, [r5, r7] - mov r1, #1 - bl FUN_020200A0 - mov r1, #0xf3 - add r3, r4, r7 - lsl r1, r1, #2 - ldr r0, _02235B1C ; =0x0000E884 - str r6, [r3, r1] - ldr r2, [r4, r0] - add r0, r1, #4 - str r2, [r3, r0] - add r0, r1, #0 - add r0, #0x44 - ldr r0, [r4, r0] - add r1, #0x44 - add r0, r0, #1 - str r0, [r4, r1] - add sp, #0x14 - mov r0, #1 - pop {r4, r5, r6, r7, pc} + ldr r2, [r3, r0] + cmp r2, r1 + bne _02235ADA + ldr r1, [sp] + ldr r0, [sp, #4] + ldr r0, [r1, r0] + bl FUN_0202011C + add r1, r0, #0 + mov r0, #0xc + add r7, r5, #0 + mul r7, r0 + mov r0, #0xf2 + lsl r0, r0, #2 + add r5, r4, r0 + ldr r0, [r5, r7] + bl FUN_02020044 + ldr r0, [r5, r7] + bl FUN_0202011C + add r3, r0, #0 + add r2, sp, #8 + ldmia r3!, {r0, r1} + mov ip, r2 + stmia r2!, {r0, r1} + ldr r0, [r3] + mov r1, #2 + str r0, [r2] + ldr r0, [sp, #8] + lsl r1, r1, #0xe + sub r0, r0, r1 + str r0, [sp, #8] + ldr r0, [sp, #0xc] + lsr r1, r1, #1 + sub r0, r0, r1 + str r0, [sp, #0xc] + ldr r0, [r5, r7] + mov r1, ip + bl FUN_02020044 + ldr r0, [r5, r7] + mov r1, #1 + bl FUN_020200A0 + mov r1, #0xf3 + add r3, r4, r7 + lsl r1, r1, #2 + ldr r0, _02235B1C ; =0x0000E884 + str r6, [r3, r1] + ldr r2, [r4, r0] + add r0, r1, #4 + str r2, [r3, r0] + add r0, r1, #0 + add r0, #0x44 + ldr r0, [r4, r0] + add r1, #0x44 + add r0, r0, #1 + str r0, [r4, r1] + add sp, #0x14 + mov r0, #1 + pop {r4, r5, r6, r7, pc} _02235ADA: - add r5, r5, #1 - add r3, #0xc - cmp r5, #6 - blt _02235A5E - b _02235B16 + add r5, r5, #1 + add r3, #0xc + cmp r5, #6 + blt _02235A5E + b _02235B16 _02235AE4: - mov r0, #0xc - add r6, r5, #0 - mul r6, r0 - mov r0, #0xf2 - add r1, r4, r6 - lsl r0, r0, #2 - ldr r0, [r1, r0] - mov r1, #0 - bl FUN_020200A0 - mov r2, #0 - mov r1, #0xf3 - mvn r2, r2 - add r0, r4, r6 - lsl r1, r1, #2 - str r2, [r0, r1] - add r0, r1, #0 - add r0, #0x44 - ldr r0, [r4, r0] - add r1, #0x44 - sub r0, r0, #1 - str r0, [r4, r1] - add sp, #0x14 - mov r0, #2 - pop {r4, r5, r6, r7, pc} + mov r0, #0xc + add r6, r5, #0 + mul r6, r0 + mov r0, #0xf2 + add r1, r4, r6 + lsl r0, r0, #2 + ldr r0, [r1, r0] + mov r1, #0 + bl FUN_020200A0 + mov r2, #0 + mov r1, #0xf3 + mvn r2, r2 + add r0, r4, r6 + lsl r1, r1, #2 + str r2, [r0, r1] + add r0, r1, #0 + add r0, #0x44 + ldr r0, [r4, r0] + add r1, #0x44 + sub r0, r0, #1 + str r0, [r4, r1] + add sp, #0x14 + mov r0, #2 + pop {r4, r5, r6, r7, pc} _02235B16: - mov r0, #0 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .align 2, 0 + mov r0, #0 + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + .align 2, 0 _02235B1C: .word 0x0000E884 - thumb_func_end MOD83_02235994 + thumb_func_end MOD83_02235994 - thumb_func_start MOD83_02235B20 + thumb_func_start MOD83_02235B20 MOD83_02235B20: ; 0x02235B20 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - mov r4, #0 - add r5, r6, #0 - sub r7, r4, #1 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r4, #0 + add r5, r6, #0 + sub r7, r4, #1 _02235B2A: - mov r0, #0xf3 - lsl r0, r0, #2 - ldr r0, [r5, r0] - cmp r0, r7 - beq _02235B50 - ldr r0, _02235B68 ; =0x0000E884 - ldr r1, [r6, r0] - mov r0, #0x3d - lsl r0, r0, #4 - ldr r0, [r5, r0] - cmp r1, r0 - bne _02235B50 - mov r0, #0xf2 - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #1 - bl FUN_020200A0 - b _02235B5C + mov r0, #0xf3 + lsl r0, r0, #2 + ldr r0, [r5, r0] + cmp r0, r7 + beq _02235B50 + ldr r0, _02235B68 ; =0x0000E884 + ldr r1, [r6, r0] + mov r0, #0x3d + lsl r0, r0, #4 + ldr r0, [r5, r0] + cmp r1, r0 + bne _02235B50 + mov r0, #0xf2 + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #1 + bl FUN_020200A0 + b _02235B5C _02235B50: - mov r0, #0xf2 - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #0 - bl FUN_020200A0 + mov r0, #0xf2 + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #0 + bl FUN_020200A0 _02235B5C: - add r4, r4, #1 - add r5, #0xc - cmp r4, #6 - blt _02235B2A - pop {r3, r4, r5, r6, r7, pc} - nop + add r4, r4, #1 + add r5, #0xc + cmp r4, #6 + blt _02235B2A + pop {r3, r4, r5, r6, r7, pc} + nop _02235B68: .word 0x0000E884 - thumb_func_end MOD83_02235B20 + thumb_func_end MOD83_02235B20 - thumb_func_start MOD83_02235B6C + thumb_func_start MOD83_02235B6C MOD83_02235B6C: ; 0x02235B6C - push {r3, r4, r5, lr} - sub sp, #0x60 - add r5, r0, #0 - mov r0, #0 - add r4, r1, #0 - add r3, sp, #0x14 - add r1, r0, #0 - mov r2, #4 + push {r3, r4, r5, lr} + sub sp, #0x60 + add r5, r0, #0 + mov r0, #0 + add r4, r1, #0 + add r3, sp, #0x14 + add r1, r0, #0 + mov r2, #4 _02235B7C: - stmia r3!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _02235B7C - stmia r3!, {r0, r1} - str r0, [r3] - ldr r0, _02235BE4 ; =0x00000478 - add r0, r5, r0 - str r0, [sp, #0x14] - mov r0, #6 - str r0, [sp, #0x1c] - mov r0, #0x15 - str r0, [sp, #0x20] - mov r0, #0xd - str r0, [sp, #0x24] - mov r0, #2 - str r0, [sp, #0x28] - sub r0, r0, #3 - str r0, [sp, #0x48] - mov r0, #0 - str r0, [sp, #0x2c] - str r0, [sp, #0x30] - mov r0, #1 - str r0, [sp, #0x38] - str r0, [sp, #0x3c] - ldr r0, _02235BE8 ; =0x00010200 - str r0, [sp, #0x40] - mov r0, #0xa0 - str r0, [sp, #0x34] - bl MOD83_02236EA8 - add r3, r0, #0 - ldr r0, _02235BEC ; =0x0000E880 - mov r2, #9 - ldr r1, [r5, r0] - ldr r0, _02235BF0 ; =0x00008344 - add r1, r1, r0 - lsl r0, r4, #3 - add r0, r4, r0 - add r0, r1, r0 - add r1, sp, #0 - bl FUN_02015D88 - add r0, sp, #0 - str r0, [sp, #0x4c] - add r0, r5, #0 - add r1, sp, #0x14 - mov r2, #1 - bl MOD83_02234F2C - add sp, #0x60 - pop {r3, r4, r5, pc} - .align 2, 0 + stmia r3!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _02235B7C + stmia r3!, {r0, r1} + str r0, [r3] + ldr r0, _02235BE4 ; =0x00000478 + add r0, r5, r0 + str r0, [sp, #0x14] + mov r0, #6 + str r0, [sp, #0x1c] + mov r0, #0x15 + str r0, [sp, #0x20] + mov r0, #0xd + str r0, [sp, #0x24] + mov r0, #2 + str r0, [sp, #0x28] + sub r0, r0, #3 + str r0, [sp, #0x48] + mov r0, #0 + str r0, [sp, #0x2c] + str r0, [sp, #0x30] + mov r0, #1 + str r0, [sp, #0x38] + str r0, [sp, #0x3c] + ldr r0, _02235BE8 ; =0x00010200 + str r0, [sp, #0x40] + mov r0, #0xa0 + str r0, [sp, #0x34] + bl MOD83_02236EA8 + add r3, r0, #0 + ldr r0, _02235BEC ; =0x0000E880 + mov r2, #9 + ldr r1, [r5, r0] + ldr r0, _02235BF0 ; =0x00008344 + add r1, r1, r0 + lsl r0, r4, #3 + add r0, r4, r0 + add r0, r1, r0 + add r1, sp, #0 + bl FUN_02015D88 + add r0, sp, #0 + str r0, [sp, #0x4c] + add r0, r5, #0 + add r1, sp, #0x14 + mov r2, #1 + bl MOD83_02234F2C + add sp, #0x60 + pop {r3, r4, r5, pc} + .align 2, 0 _02235BE4: .word 0x00000478 _02235BE8: .word 0x00010200 _02235BEC: .word 0x0000E880 _02235BF0: .word 0x00008344 - thumb_func_end MOD83_02235B6C + thumb_func_end MOD83_02235B6C - thumb_func_start MOD83_02235BF4 + thumb_func_start MOD83_02235BF4 MOD83_02235BF4: ; 0x02235BF4 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5, #0x20] - add r6, r1, #0 - mov r1, #2 - bl GetBgTilemapBuffer - add r4, r0, #0 - cmp r6, #0 - beq _02235C18 - add r0, r6, #0 - mov r1, #8 - mov r2, #0 - bl AGB_GetBoxMonData - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - b _02235C1A + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5, #0x20] + add r6, r1, #0 + mov r1, #2 + bl GetBgTilemapBuffer + add r4, r0, #0 + cmp r6, #0 + beq _02235C18 + add r0, r6, #0 + mov r1, #8 + mov r2, #0 + bl AGB_GetBoxMonData + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + b _02235C1A _02235C18: - mov r1, #0 + mov r1, #0 _02235C1A: - mov r2, #0 - mov r0, #1 + mov r2, #0 + mov r0, #1 _02235C1E: - add r3, r1, #0 - tst r3, r0 - beq _02235C2A - add r6, r2, #0 - add r6, #0x80 - b _02235C2E + add r3, r1, #0 + tst r3, r0 + beq _02235C2A + add r6, r2, #0 + add r6, #0x80 + b _02235C2E _02235C2A: - add r6, r2, #0 - add r6, #0x60 + add r6, r2, #0 + add r6, #0x60 _02235C2E: - add r3, r4, #0 - add r3, #0xd6 - lsl r1, r1, #0x17 - add r2, r2, #1 - strh r6, [r3] - lsr r1, r1, #0x18 - add r4, r4, #2 - cmp r2, #4 - blt _02235C1E - ldr r0, [r5, #0x20] - mov r1, #2 - bl BgCommitTilemapBufferToVram - pop {r4, r5, r6, pc} - .align 2, 0 - thumb_func_end MOD83_02235BF4 - - thumb_func_start MOD83_02235C4C + add r3, r4, #0 + add r3, #0xd6 + lsl r1, r1, #0x17 + add r2, r2, #1 + strh r6, [r3] + lsr r1, r1, #0x18 + add r4, r4, #2 + cmp r2, #4 + blt _02235C1E + ldr r0, [r5, #0x20] + mov r1, #2 + bl BgCommitTilemapBufferToVram + pop {r4, r5, r6, pc} + .align 2, 0 + thumb_func_end MOD83_02235BF4 + + thumb_func_start MOD83_02235C4C MOD83_02235C4C: ; 0x02235C4C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x78 - add r5, r0, #0 - mov r0, #0 - add r4, r1, #0 - add r3, sp, #0x2c - add r1, r0, #0 - mov r2, #4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x78 + add r5, r0, #0 + mov r0, #0 + add r4, r1, #0 + add r3, sp, #0x2c + add r1, r0, #0 + mov r2, #4 _02235C5C: - stmia r3!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _02235C5C - stmia r3!, {r0, r1} - str r0, [r3] - mov r1, #0x20 - str r1, [sp, #0x3c] - mov r1, #1 - ldr r0, _02235DF8 ; =0x00000488 - str r1, [sp, #0x50] - str r1, [sp, #0x54] - mov r1, #0xbc - str r1, [sp, #0x4c] - ldr r1, _02235DFC ; =0x000F0200 - add r0, r5, r0 - str r1, [sp, #0x58] - mov r1, #0x2c - str r0, [sp, #0x2c] - mov r0, #0 - str r1, [sp, #0x60] - mov r1, #0x90 - mov r2, #4 - str r1, [sp, #0x44] - str r0, [sp, #0x34] - str r0, [sp, #0x38] - str r0, [sp, #0x64] - str r0, [sp, #0x48] - add r0, r5, #0 - add r1, sp, #0x2c - str r2, [sp, #0x40] - bl MOD83_02234F2C - mov r0, #0x2b - str r0, [sp, #0x60] - mov r0, #0x50 - str r0, [sp, #0x44] - mov r0, #8 - str r0, [sp, #0x48] - add r0, r5, #0 - add r1, sp, #0x2c - mov r2, #6 - bl MOD83_02234F2C - add r0, r5, #0 - add r1, r4, #0 - bl MOD83_02235BF4 - cmp r4, #0 - bne _02235CCA - ldr r0, [sp, #0x2c] - bl CopyWindowToVram - add sp, #0x78 - pop {r3, r4, r5, r6, r7, pc} + stmia r3!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _02235C5C + stmia r3!, {r0, r1} + str r0, [r3] + mov r1, #0x20 + str r1, [sp, #0x3c] + mov r1, #1 + ldr r0, _02235DF8 ; =0x00000488 + str r1, [sp, #0x50] + str r1, [sp, #0x54] + mov r1, #0xbc + str r1, [sp, #0x4c] + ldr r1, _02235DFC ; =0x000F0200 + add r0, r5, r0 + str r1, [sp, #0x58] + mov r1, #0x2c + str r0, [sp, #0x2c] + mov r0, #0 + str r1, [sp, #0x60] + mov r1, #0x90 + mov r2, #4 + str r1, [sp, #0x44] + str r0, [sp, #0x34] + str r0, [sp, #0x38] + str r0, [sp, #0x64] + str r0, [sp, #0x48] + add r0, r5, #0 + add r1, sp, #0x2c + str r2, [sp, #0x40] + bl MOD83_02234F2C + mov r0, #0x2b + str r0, [sp, #0x60] + mov r0, #0x50 + str r0, [sp, #0x44] + mov r0, #8 + str r0, [sp, #0x48] + add r0, r5, #0 + add r1, sp, #0x2c + mov r2, #6 + bl MOD83_02234F2C + add r0, r5, #0 + add r1, r4, #0 + bl MOD83_02235BF4 + cmp r4, #0 + bne _02235CCA + ldr r0, [sp, #0x2c] + bl CopyWindowToVram + add sp, #0x78 + pop {r3, r4, r5, r6, r7, pc} _02235CCA: - add r2, sp, #0x1c - add r0, r4, #0 - mov r1, #2 - add r2, #2 - bl AGB_GetBoxMonData - add r0, r4, #0 - mov r1, #3 - mov r2, #0 - bl AGB_GetBoxMonData - add r3, r0, #0 - add r0, sp, #0x1c - add r0, #2 - add r1, sp, #8 - mov r2, #0xb - bl FUN_02015D88 - add r0, sp, #8 - str r0, [sp, #0x64] - mov r0, #0 - mvn r0, r0 - str r0, [sp, #0x60] - mov r0, #8 - str r0, [sp, #0x44] - mov r0, #0 - str r0, [sp, #0x48] - add r0, r5, #0 - add r1, sp, #0x2c - mov r2, #6 - bl MOD83_02234F2C - mov r0, #0x40 - mov r1, #0x4e - bl String_ctor - add r6, r0, #0 - ldr r2, _02235E00 ; =0x0000016A - mov r0, #1 - mov r1, #0x1a - mov r3, #0x4e - bl NewMsgDataFromNarc - add r7, r0, #0 - add r0, r4, #0 - mov r1, #0xb - mov r2, #0 - bl AGB_GetBoxMonData - bl MOD83_TranslateAgbSpecies - str r0, [sp, #4] - ldr r1, [sp, #4] - add r0, r7, #0 - add r2, r6, #0 - bl ReadMsgDataIntoString - mov r0, #0 - mvn r0, r0 - str r0, [sp, #0x60] - mov r0, #0x10 - str r0, [sp, #0x44] - str r0, [sp, #0x48] - add r0, r5, #0 - add r1, sp, #0x2c - mov r2, #6 - str r6, [sp, #0x68] - bl MOD83_02234F2C - add r0, r7, #0 - bl DestroyMsgData - add r0, r6, #0 - bl String_dtor - add r0, r4, #0 - mov r1, #0xc - mov r2, #0 - bl AGB_GetBoxMonData - cmp r0, #0 - beq _02235DAC - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl UpConvertItemId_Gen3to4 - add r7, r0, #0 - mov r0, #0x40 - mov r1, #0x4e - bl String_ctor - lsl r1, r7, #0x10 - lsr r1, r1, #0x10 - mov r2, #0x4e - add r6, r0, #0 - bl GetItemNameIntoString - mov r0, #0 - mvn r0, r0 - str r0, [sp, #0x60] - mov r0, #0x98 - str r0, [sp, #0x44] - mov r0, #0x10 - str r0, [sp, #0x48] - add r0, r5, #0 - add r1, sp, #0x2c - mov r2, #6 - str r6, [sp, #0x68] - bl MOD83_02234F2C - add r0, r6, #0 - bl String_dtor + add r2, sp, #0x1c + add r0, r4, #0 + mov r1, #2 + add r2, #2 + bl AGB_GetBoxMonData + add r0, r4, #0 + mov r1, #3 + mov r2, #0 + bl AGB_GetBoxMonData + add r3, r0, #0 + add r0, sp, #0x1c + add r0, #2 + add r1, sp, #8 + mov r2, #0xb + bl FUN_02015D88 + add r0, sp, #8 + str r0, [sp, #0x64] + mov r0, #0 + mvn r0, r0 + str r0, [sp, #0x60] + mov r0, #8 + str r0, [sp, #0x44] + mov r0, #0 + str r0, [sp, #0x48] + add r0, r5, #0 + add r1, sp, #0x2c + mov r2, #6 + bl MOD83_02234F2C + mov r0, #0x40 + mov r1, #0x4e + bl String_ctor + add r6, r0, #0 + ldr r2, _02235E00 ; =0x0000016A + mov r0, #1 + mov r1, #0x1a + mov r3, #0x4e + bl NewMsgDataFromNarc + add r7, r0, #0 + add r0, r4, #0 + mov r1, #0xb + mov r2, #0 + bl AGB_GetBoxMonData + bl MOD83_TranslateAgbSpecies + str r0, [sp, #4] + ldr r1, [sp, #4] + add r0, r7, #0 + add r2, r6, #0 + bl ReadMsgDataIntoString + mov r0, #0 + mvn r0, r0 + str r0, [sp, #0x60] + mov r0, #0x10 + str r0, [sp, #0x44] + str r0, [sp, #0x48] + add r0, r5, #0 + add r1, sp, #0x2c + mov r2, #6 + str r6, [sp, #0x68] + bl MOD83_02234F2C + add r0, r7, #0 + bl DestroyMsgData + add r0, r6, #0 + bl String_dtor + add r0, r4, #0 + mov r1, #0xc + mov r2, #0 + bl AGB_GetBoxMonData + cmp r0, #0 + beq _02235DAC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl UpConvertItemId_Gen3to4 + add r7, r0, #0 + mov r0, #0x40 + mov r1, #0x4e + bl String_ctor + lsl r1, r7, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x4e + add r6, r0, #0 + bl GetItemNameIntoString + mov r0, #0 + mvn r0, r0 + str r0, [sp, #0x60] + mov r0, #0x98 + str r0, [sp, #0x44] + mov r0, #0x10 + str r0, [sp, #0x48] + add r0, r5, #0 + add r1, sp, #0x2c + mov r2, #6 + str r6, [sp, #0x68] + bl MOD83_02234F2C + add r0, r6, #0 + bl String_dtor _02235DAC: - add r0, r4, #0 - bl MOD83_02237EDC - add r6, r0, #0 - mov r0, #0xa - mov r1, #0x4e - bl String_ctor - mov r3, #1 - add r1, r6, #0 - mov r2, #3 - add r4, r0, #0 - str r3, [sp] - bl String16_FormatInteger - mov r0, #0 - mvn r0, r0 - str r0, [sp, #0x60] - mov r0, #0x64 - str r0, [sp, #0x44] - mov r0, #8 - str r0, [sp, #0x48] - add r0, r5, #0 - add r1, sp, #0x2c - mov r2, #2 - str r4, [sp, #0x68] - bl MOD83_02234F2C - add r0, r4, #0 - bl String_dtor - ldr r0, [sp, #4] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FUN_02005578 - add sp, #0x78 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + add r0, r4, #0 + bl MOD83_02237EDC + add r6, r0, #0 + mov r0, #0xa + mov r1, #0x4e + bl String_ctor + mov r3, #1 + add r1, r6, #0 + mov r2, #3 + add r4, r0, #0 + str r3, [sp] + bl String16_FormatInteger + mov r0, #0 + mvn r0, r0 + str r0, [sp, #0x60] + mov r0, #0x64 + str r0, [sp, #0x44] + mov r0, #8 + str r0, [sp, #0x48] + add r0, r5, #0 + add r1, sp, #0x2c + mov r2, #2 + str r4, [sp, #0x68] + bl MOD83_02234F2C + add r0, r4, #0 + bl String_dtor + ldr r0, [sp, #4] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02005578 + add sp, #0x78 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _02235DF8: .word 0x00000488 _02235DFC: .word 0x000F0200 _02235E00: .word 0x0000016A - thumb_func_end MOD83_02235C4C + thumb_func_end MOD83_02235C4C - thumb_func_start MOD83_02235E04 + thumb_func_start MOD83_02235E04 MOD83_02235E04: ; 0x02235E04 - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r5, r0, #0 - mov r0, #6 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - mov r0, #0x4e - str r0, [sp, #8] - add r6, r2, #0 - mov r0, #0 - add r4, r3, #0 - add r2, r1, #0 - add r3, r0, #0 - bl FUN_0200E1D0 - cmp r4, #0 - beq _02235E2C - mov r0, #0x17 - str r0, [r4] + push {r3, r4, r5, r6, lr} + sub sp, #0xc + add r5, r0, #0 + mov r0, #6 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + mov r0, #0x4e + str r0, [sp, #8] + add r6, r2, #0 + mov r0, #0 + add r4, r3, #0 + add r2, r1, #0 + add r3, r0, #0 + bl FUN_0200E1D0 + cmp r4, #0 + beq _02235E2C + mov r0, #0x17 + str r0, [r4] _02235E2C: - str r6, [r5, #0x24] - add sp, #0xc - pop {r3, r4, r5, r6, pc} - .align 2, 0 - thumb_func_end MOD83_02235E04 + str r6, [r5, #0x24] + add sp, #0xc + pop {r3, r4, r5, r6, pc} + .align 2, 0 + thumb_func_end MOD83_02235E04 - thumb_func_start MOD83_02235E34 + thumb_func_start MOD83_02235E34 MOD83_02235E34: ; 0x02235E34 - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r5, r0, #0 - mov r0, #6 - str r0, [sp] - mov r0, #1 - add r4, r3, #0 - str r0, [sp, #4] - mov r0, #0x4e - add r6, r2, #0 - str r0, [sp, #8] - ldr r3, _02235E64 ; =0x00007FFF - mov r0, #0 - add r2, r1, #0 - bl FUN_0200E1D0 - cmp r4, #0 - beq _02235E5C - mov r0, #0x17 - str r0, [r4] + push {r3, r4, r5, r6, lr} + sub sp, #0xc + add r5, r0, #0 + mov r0, #6 + str r0, [sp] + mov r0, #1 + add r4, r3, #0 + str r0, [sp, #4] + mov r0, #0x4e + add r6, r2, #0 + str r0, [sp, #8] + ldr r3, _02235E64 ; =0x00007FFF + mov r0, #0 + add r2, r1, #0 + bl FUN_0200E1D0 + cmp r4, #0 + beq _02235E5C + mov r0, #0x17 + str r0, [r4] _02235E5C: - str r6, [r5, #0x24] - add sp, #0xc - pop {r3, r4, r5, r6, pc} - nop + str r6, [r5, #0x24] + add sp, #0xc + pop {r3, r4, r5, r6, pc} + nop _02235E64: .word 0x00007FFF - thumb_func_end MOD83_02235E34 + thumb_func_end MOD83_02235E34 - thumb_func_start MOD83_02235E68 + thumb_func_start MOD83_02235E68 MOD83_02235E68: ; 0x02235E68 - push {r3, r4, r5, lr} - sub sp, #0x80 - ldr r5, _02235F28 ; =MOD83_0223A51C - add r3, sp, #0x70 - add r4, r0, #0 - add r2, r3, #0 - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - add r0, r2, #0 - bl SetBothScreensModesAndDisable - ldr r5, _02235F2C ; =MOD83_0223A52C - add r3, sp, #0x54 - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #0 - str r0, [r3] - add r0, r4, #0 - add r3, r1, #0 - bl InitBgFromTemplate - add r0, r4, #0 - mov r1, #0 - bl BgClearTilemapBufferAndCommit - ldr r5, _02235F30 ; =MOD83_0223A548 - add r3, sp, #0x38 - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #1 - str r0, [r3] - add r0, r4, #0 - mov r3, #0 - bl InitBgFromTemplate - add r0, r4, #0 - mov r1, #1 - bl BgClearTilemapBufferAndCommit - ldr r5, _02235F34 ; =MOD83_0223A564 - add r3, sp, #0x1c - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #2 - str r0, [r3] - add r0, r4, #0 - mov r3, #0 - bl InitBgFromTemplate - add r0, r4, #0 - mov r1, #2 - bl BgClearTilemapBufferAndCommit - ldr r5, _02235F38 ; =MOD83_0223A580 - add r3, sp, #0 - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #3 - str r0, [r3] - add r0, r4, #0 - mov r3, #0 - bl InitBgFromTemplate - add r0, r4, #0 - mov r1, #3 - bl BgClearTilemapBufferAndCommit - add sp, #0x80 - pop {r3, r4, r5, pc} - nop + push {r3, r4, r5, lr} + sub sp, #0x80 + ldr r5, _02235F28 ; =MOD83_0223A51C + add r3, sp, #0x70 + add r4, r0, #0 + add r2, r3, #0 + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + add r0, r2, #0 + bl SetBothScreensModesAndDisable + ldr r5, _02235F2C ; =MOD83_0223A52C + add r3, sp, #0x54 + ldmia r5!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + mov r1, #0 + str r0, [r3] + add r0, r4, #0 + add r3, r1, #0 + bl InitBgFromTemplate + add r0, r4, #0 + mov r1, #0 + bl BgClearTilemapBufferAndCommit + ldr r5, _02235F30 ; =MOD83_0223A548 + add r3, sp, #0x38 + ldmia r5!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + mov r1, #1 + str r0, [r3] + add r0, r4, #0 + mov r3, #0 + bl InitBgFromTemplate + add r0, r4, #0 + mov r1, #1 + bl BgClearTilemapBufferAndCommit + ldr r5, _02235F34 ; =MOD83_0223A564 + add r3, sp, #0x1c + ldmia r5!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + mov r1, #2 + str r0, [r3] + add r0, r4, #0 + mov r3, #0 + bl InitBgFromTemplate + add r0, r4, #0 + mov r1, #2 + bl BgClearTilemapBufferAndCommit + ldr r5, _02235F38 ; =MOD83_0223A580 + add r3, sp, #0 + ldmia r5!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + mov r1, #3 + str r0, [r3] + add r0, r4, #0 + mov r3, #0 + bl InitBgFromTemplate + add r0, r4, #0 + mov r1, #3 + bl BgClearTilemapBufferAndCommit + add sp, #0x80 + pop {r3, r4, r5, pc} + nop _02235F28: .word MOD83_0223A51C _02235F2C: .word MOD83_0223A52C _02235F30: .word MOD83_0223A548 _02235F34: .word MOD83_0223A564 _02235F38: .word MOD83_0223A580 - thumb_func_end MOD83_02235E68 + thumb_func_end MOD83_02235E68 - thumb_func_start MOD83_02235F3C + thumb_func_start MOD83_02235F3C MOD83_02235F3C: ; 0x02235F3C - push {r3, r4, r5, lr} - sub sp, #0x38 - ldr r5, _02235FB4 ; =MOD83_0223A59C - add r4, r0, #0 - add r3, sp, #0x10 - mov r2, #5 + push {r3, r4, r5, lr} + sub sp, #0x38 + ldr r5, _02235FB4 ; =MOD83_0223A59C + add r4, r0, #0 + add r3, sp, #0x10 + mov r2, #5 _02235F48: - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _02235F48 - add r0, sp, #0x10 - bl GX_SetBanks - ldr r0, [r4, #0x20] - bl MOD83_02235E68 - ldr r0, _02235FB8 ; =gMain + 0x60 - mov r1, #1 - strb r1, [r0, #5] - bl GX_SwapDisplay - bl FUN_0201BD5C - mov r1, #0x1e - mov r0, #0 - lsl r1, r1, #4 - mov r2, #0x4e - bl FUN_02002ED0 - mov r0, #0xc0 - str r0, [sp] - mov r0, #0x4e - mov r2, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0x13 - add r3, r2, #0 - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - mov r0, #5 - lsl r0, r0, #0xa - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #0x4e - str r0, [sp, #0xc] - ldr r2, [r4, #0x20] - mov r0, #0x74 - mov r1, #0x16 - mov r3, #2 - bl GfGfxLoader_LoadCharData - mov r0, #2 - mov r1, #0x4e - bl FUN_02002C50 - add sp, #0x38 - pop {r3, r4, r5, pc} - .align 2, 0 + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _02235F48 + add r0, sp, #0x10 + bl GX_SetBanks + ldr r0, [r4, #0x20] + bl MOD83_02235E68 + ldr r0, _02235FB8 ; =gMain + 0x60 + mov r1, #1 + strb r1, [r0, #5] + bl GX_SwapDisplay + bl FUN_0201BD5C + mov r1, #0x1e + mov r0, #0 + lsl r1, r1, #4 + mov r2, #0x4e + bl FUN_02002ED0 + mov r0, #0xc0 + str r0, [sp] + mov r0, #0x4e + mov r2, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0x13 + add r3, r2, #0 + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + mov r0, #5 + lsl r0, r0, #0xa + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #0x4e + str r0, [sp, #0xc] + ldr r2, [r4, #0x20] + mov r0, #0x74 + mov r1, #0x16 + mov r3, #2 + bl GfGfxLoader_LoadCharData + mov r0, #2 + mov r1, #0x4e + bl FUN_02002C50 + add sp, #0x38 + pop {r3, r4, r5, pc} + .align 2, 0 _02235FB4: .word MOD83_0223A59C _02235FB8: .word gMain + 0x60 - thumb_func_end MOD83_02235F3C + thumb_func_end MOD83_02235F3C - thumb_func_start MOD83_02235FBC + thumb_func_start MOD83_02235FBC MOD83_02235FBC: ; 0x02235FBC - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0 - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #0x4e - str r0, [sp, #0xc] - ldr r2, [r4, #0x20] - mov r0, #0x74 - mov r1, #0x14 - mov r3, #2 - bl GfGfxLoader_LoadScrnData - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - str r0, [sp, #4] - mov r2, #0 - ldr r1, [r4] - ldr r0, _02236008 ; =MOD83_0223B280 - add r3, r2, #0 - ldrb r0, [r0, r1] - mov r1, #2 - str r0, [sp, #8] - ldr r0, [r4, #0x20] - bl BgTilemapRectChangePalette - ldr r0, [r4, #0x20] - mov r1, #2 - bl BgCommitTilemapBufferToVram - add sp, #0x10 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #0x4e + str r0, [sp, #0xc] + ldr r2, [r4, #0x20] + mov r0, #0x74 + mov r1, #0x14 + mov r3, #2 + bl GfGfxLoader_LoadScrnData + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + str r0, [sp, #4] + mov r2, #0 + ldr r1, [r4] + ldr r0, _02236008 ; =MOD83_0223B280 + add r3, r2, #0 + ldrb r0, [r0, r1] + mov r1, #2 + str r0, [sp, #8] + ldr r0, [r4, #0x20] + bl BgTilemapRectChangePalette + ldr r0, [r4, #0x20] + mov r1, #2 + bl BgCommitTilemapBufferToVram + add sp, #0x10 + pop {r4, pc} + .align 2, 0 _02236008: .word MOD83_0223B280 - thumb_func_end MOD83_02235FBC + thumb_func_end MOD83_02235FBC - thumb_func_start MOD83_0223600C + thumb_func_start MOD83_0223600C MOD83_0223600C: ; 0x0223600C - push {r4, lr} - sub sp, #8 - mov r1, #7 - add r4, r0, #0 - mov r0, #0 - lsl r1, r1, #6 - mov r2, #0x4e - bl FUN_02002ED0 - mov r1, #0 - mov r2, #0x3f - str r1, [sp] - mov r0, #0x4e - str r0, [sp, #4] - ldr r0, [r4, #0x20] - lsl r2, r2, #4 - mov r3, #0xe - bl FUN_0200CB00 - ldr r0, [r4, #0x1c] - ldr r2, _022360B4 ; =0x000003D2 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r0, #0x4e - str r0, [sp, #4] - ldr r0, [r4, #0x20] - mov r1, #0 - mov r3, #0xd - bl FUN_0200CD68 - ldr r0, _022360B8 ; =0x0000042C - mov r1, #0 - add r0, r4, r0 - mov r2, #0x4c - bl memset - ldr r0, _022360BC ; =0x00000498 - mov r3, #0x1b - add r1, r0, #0 - add r2, r4, r0 - sub r1, #0x6c - str r2, [r4, r1] - add r1, r0, #0 - mov r2, #2 - sub r1, #0x64 - str r2, [r4, r1] - add r1, r0, #0 - mov r2, #1 - sub r1, #0x60 - str r2, [r4, r1] - add r1, r0, #0 - sub r1, #0x5c - str r3, [r4, r1] - add r1, r0, #0 - mov r3, #4 - sub r1, #0x58 - str r3, [r4, r1] - add r3, r0, #0 - mov r1, #0 - sub r3, #0x48 - str r1, [r4, r3] - add r3, r0, #0 - sub r3, #0x44 - str r2, [r4, r3] - add r3, r0, #0 - sub r3, #0x4c - str r2, [r4, r3] - add r2, r0, #0 - ldr r3, _022360C0 ; =0x0001020F - sub r2, #0x40 - str r3, [r4, r2] - add r2, r0, #0 - ldr r3, _022360C4 ; =0x000F020F - sub r2, #0x3c - str r3, [r4, r2] - add r2, r0, #0 - sub r2, #0x34 - str r1, [r4, r2] - sub r0, #0x30 - str r1, [r4, r0] - add sp, #8 - pop {r4, pc} - nop + push {r4, lr} + sub sp, #8 + mov r1, #7 + add r4, r0, #0 + mov r0, #0 + lsl r1, r1, #6 + mov r2, #0x4e + bl FUN_02002ED0 + mov r1, #0 + mov r2, #0x3f + str r1, [sp] + mov r0, #0x4e + str r0, [sp, #4] + ldr r0, [r4, #0x20] + lsl r2, r2, #4 + mov r3, #0xe + bl FUN_0200CB00 + ldr r0, [r4, #0x1c] + ldr r2, _022360B4 ; =0x000003D2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #0x4e + str r0, [sp, #4] + ldr r0, [r4, #0x20] + mov r1, #0 + mov r3, #0xd + bl FUN_0200CD68 + ldr r0, _022360B8 ; =0x0000042C + mov r1, #0 + add r0, r4, r0 + mov r2, #0x4c + bl memset + ldr r0, _022360BC ; =0x00000498 + mov r3, #0x1b + add r1, r0, #0 + add r2, r4, r0 + sub r1, #0x6c + str r2, [r4, r1] + add r1, r0, #0 + mov r2, #2 + sub r1, #0x64 + str r2, [r4, r1] + add r1, r0, #0 + mov r2, #1 + sub r1, #0x60 + str r2, [r4, r1] + add r1, r0, #0 + sub r1, #0x5c + str r3, [r4, r1] + add r1, r0, #0 + mov r3, #4 + sub r1, #0x58 + str r3, [r4, r1] + add r3, r0, #0 + mov r1, #0 + sub r3, #0x48 + str r1, [r4, r3] + add r3, r0, #0 + sub r3, #0x44 + str r2, [r4, r3] + add r3, r0, #0 + sub r3, #0x4c + str r2, [r4, r3] + add r2, r0, #0 + ldr r3, _022360C0 ; =0x0001020F + sub r2, #0x40 + str r3, [r4, r2] + add r2, r0, #0 + ldr r3, _022360C4 ; =0x000F020F + sub r2, #0x3c + str r3, [r4, r2] + add r2, r0, #0 + sub r2, #0x34 + str r1, [r4, r2] + sub r0, #0x30 + str r1, [r4, r0] + add sp, #8 + pop {r4, pc} + nop _022360B4: .word 0x000003D2 _022360B8: .word 0x0000042C _022360BC: .word 0x00000498 _022360C0: .word 0x0001020F _022360C4: .word 0x000F020F - thumb_func_end MOD83_0223600C + thumb_func_end MOD83_0223600C - thumb_func_start MOD83_022360C8 + thumb_func_start MOD83_022360C8 MOD83_022360C8: ; 0x022360C8 - push {r4, r5, r6, r7, lr} - sub sp, #0x4c - add r6, r0, #0 - mov r7, #0x6b - mov r5, #0 - add r4, r6, #0 - lsl r7, r7, #2 + push {r4, r5, r6, r7, lr} + sub sp, #0x4c + add r6, r0, #0 + mov r7, #0x6b + mov r5, #0 + add r4, r6, #0 + lsl r7, r7, #2 _022360D6: - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #0 - bl FUN_020200A0 - ldr r0, [r4, r7] - mov r1, #0 - bl FUN_020200A0 - add r5, r5, #1 - add r4, #0xc - cmp r5, #0x1e - blt _022360D6 - mov r7, #0xf2 - mov r5, #0 - add r4, r6, #0 - lsl r7, r7, #2 + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r4, r0] + mov r1, #0 + bl FUN_020200A0 + ldr r0, [r4, r7] + mov r1, #0 + bl FUN_020200A0 + add r5, r5, #1 + add r4, #0xc + cmp r5, #0x1e + blt _022360D6 + mov r7, #0xf2 + mov r5, #0 + add r4, r6, #0 + lsl r7, r7, #2 _022360FA: - ldr r0, [r4, r7] - mov r1, #0 - bl FUN_020200A0 - add r5, r5, #1 - add r4, #0xc - cmp r5, #6 - blt _022360FA - mov r0, #0xe6 - lsl r0, r0, #2 - ldr r0, [r6, r0] - mov r1, #0 - bl FUN_020200A0 - mov r0, #0xee - lsl r0, r0, #2 - ldr r0, [r6, r0] - mov r1, #0 - bl FUN_020200A0 - mov r0, #0xea - lsl r0, r0, #2 - ldr r0, [r6, r0] - mov r1, #0 - bl FUN_020200A0 - mov r2, #0x61 - lsl r2, r2, #2 - add r0, sp, #0x1c - add r1, r6, #0 - add r2, r6, r2 - mov r3, #1 - bl MOD83_02235244 - mov r0, #0x1c - mov r7, #0 - str r0, [sp, #0x10] - add r4, r6, #0 - add r5, r6, #0 + ldr r0, [r4, r7] + mov r1, #0 + bl FUN_020200A0 + add r5, r5, #1 + add r4, #0xc + cmp r5, #6 + blt _022360FA + mov r0, #0xe6 + lsl r0, r0, #2 + ldr r0, [r6, r0] + mov r1, #0 + bl FUN_020200A0 + mov r0, #0xee + lsl r0, r0, #2 + ldr r0, [r6, r0] + mov r1, #0 + bl FUN_020200A0 + mov r0, #0xea + lsl r0, r0, #2 + ldr r0, [r6, r0] + mov r1, #0 + bl FUN_020200A0 + mov r2, #0x61 + lsl r2, r2, #2 + add r0, sp, #0x1c + add r1, r6, #0 + add r2, r6, r2 + mov r3, #1 + bl MOD83_02235244 + mov r0, #0x1c + mov r7, #0 + str r0, [sp, #0x10] + add r4, r6, #0 + add r5, r6, #0 _02236148: - ldr r0, [sp, #0x10] - lsl r0, r0, #0xc - str r0, [sp, #0x24] - mov r0, #0x8e - lsl r0, r0, #0xc - str r0, [sp, #0x28] - add r0, sp, #0x1c - bl FUN_0201FE94 - ldr r1, _02236288 ; =0x00000414 - str r0, [r4, r1] - add r0, r1, #0 - ldr r0, [r4, r0] - mov r1, #1 - bl FUN_020200BC - ldr r0, _02236288 ; =0x00000414 - add r1, r7, #0 - ldr r0, [r4, r0] - add r1, #0xa - bl FUN_02020130 - ldr r0, _02236288 ; =0x00000414 - mov r1, #1 - ldr r0, [r4, r0] - bl FUN_02020238 - ldr r0, _02236288 ; =0x00000414 - mov r1, #1 - ldr r0, [r4, r0] - bl FUN_020200A0 - mov r1, #0x3d - mov r2, #0xf3 - lsl r1, r1, #4 - lsl r2, r2, #2 - ldr r1, [r5, r1] - ldr r2, [r5, r2] - add r0, r6, #0 - bl MOD83_0223526C - mov r1, #0x3d - mov r2, #0xf3 - lsl r1, r1, #4 - lsl r2, r2, #2 - str r0, [sp, #0x14] - ldr r1, [r5, r1] - ldr r2, [r5, r2] - add r0, r6, #0 - bl MOD83_02235290 - mov r1, #0x3d - mov r2, #0xf3 - lsl r1, r1, #4 - lsl r2, r2, #2 - str r0, [sp, #0x18] - ldr r1, [r5, r1] - ldr r2, [r5, r2] - add r0, r6, #0 - bl MOD83_022352B4 - add r2, r0, #0 - ldr r0, _02236288 ; =0x00000414 - str r7, [sp] - ldr r0, [r4, r0] - ldr r3, _0223628C ; =gMain + 0x60 - str r0, [sp, #4] - ldrb r3, [r3, #6] - ldr r0, [sp, #0x14] - ldr r1, [sp, #0x18] - bl MOD83_022353C0 - ldr r0, [sp, #0x10] - add r7, r7, #1 - add r0, #0x28 - str r0, [sp, #0x10] - add r4, r4, #4 - add r5, #0xc - cmp r7, #6 - blt _02236148 - mov r0, #0 - str r0, [sp] - mov r0, #6 - lsl r0, r0, #8 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #0x4e - str r0, [sp, #0xc] - ldr r2, [r6, #0x20] - mov r0, #0x74 - mov r1, #0x15 - mov r3, #2 - bl GfGfxLoader_LoadScrnData - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - str r0, [sp, #4] - mov r2, #0 - ldr r1, [r6] - ldr r0, _02236290 ; =MOD83_0223B280 - add r3, r2, #0 - ldrb r0, [r0, r1] - mov r1, #2 - str r0, [sp, #8] - ldr r0, [r6, #0x20] - bl BgTilemapRectChangePalette - ldr r0, [r6, #0x20] - mov r1, #2 - bl BgCommitTilemapBufferToVram - mov r0, #2 - mov r1, #0 - bl GX_EngineAToggleLayers - mov r1, #7 - mov r0, #0 - lsl r1, r1, #6 - mov r2, #0x4e - bl FUN_02002ED0 - mov r1, #0 - mov r2, #0x3f - str r1, [sp] - mov r0, #0x4e - str r0, [sp, #4] - ldr r0, [r6, #0x20] - lsl r2, r2, #4 - mov r3, #0xe - bl FUN_0200CB00 - ldr r0, [r6, #0x1c] - ldr r2, _02236294 ; =0x000003D2 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r0, #0x4e - str r0, [sp, #4] - ldr r0, [r6, #0x20] - mov r1, #0 - mov r3, #0xd - bl FUN_0200CD68 - add r0, r6, #0 - bl MOD83_0223600C - mov r1, #0x46 - mov r0, #0xa - lsl r1, r1, #4 - str r0, [r6, r1] - sub r1, #0x34 - add r0, r6, #0 - add r1, r6, r1 - mov r2, #0x18 - bl MOD83_02234F2C - add sp, #0x4c - pop {r4, r5, r6, r7, pc} - .align 2, 0 + ldr r0, [sp, #0x10] + lsl r0, r0, #0xc + str r0, [sp, #0x24] + mov r0, #0x8e + lsl r0, r0, #0xc + str r0, [sp, #0x28] + add r0, sp, #0x1c + bl FUN_0201FE94 + ldr r1, _02236288 ; =0x00000414 + str r0, [r4, r1] + add r0, r1, #0 + ldr r0, [r4, r0] + mov r1, #1 + bl FUN_020200BC + ldr r0, _02236288 ; =0x00000414 + add r1, r7, #0 + ldr r0, [r4, r0] + add r1, #0xa + bl FUN_02020130 + ldr r0, _02236288 ; =0x00000414 + mov r1, #1 + ldr r0, [r4, r0] + bl FUN_02020238 + ldr r0, _02236288 ; =0x00000414 + mov r1, #1 + ldr r0, [r4, r0] + bl FUN_020200A0 + mov r1, #0x3d + mov r2, #0xf3 + lsl r1, r1, #4 + lsl r2, r2, #2 + ldr r1, [r5, r1] + ldr r2, [r5, r2] + add r0, r6, #0 + bl MOD83_0223526C + mov r1, #0x3d + mov r2, #0xf3 + lsl r1, r1, #4 + lsl r2, r2, #2 + str r0, [sp, #0x14] + ldr r1, [r5, r1] + ldr r2, [r5, r2] + add r0, r6, #0 + bl MOD83_02235290 + mov r1, #0x3d + mov r2, #0xf3 + lsl r1, r1, #4 + lsl r2, r2, #2 + str r0, [sp, #0x18] + ldr r1, [r5, r1] + ldr r2, [r5, r2] + add r0, r6, #0 + bl MOD83_022352B4 + add r2, r0, #0 + ldr r0, _02236288 ; =0x00000414 + str r7, [sp] + ldr r0, [r4, r0] + ldr r3, _0223628C ; =gMain + 0x60 + str r0, [sp, #4] + ldrb r3, [r3, #6] + ldr r0, [sp, #0x14] + ldr r1, [sp, #0x18] + bl MOD83_022353C0 + ldr r0, [sp, #0x10] + add r7, r7, #1 + add r0, #0x28 + str r0, [sp, #0x10] + add r4, r4, #4 + add r5, #0xc + cmp r7, #6 + blt _02236148 + mov r0, #0 + str r0, [sp] + mov r0, #6 + lsl r0, r0, #8 + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #0x4e + str r0, [sp, #0xc] + ldr r2, [r6, #0x20] + mov r0, #0x74 + mov r1, #0x15 + mov r3, #2 + bl GfGfxLoader_LoadScrnData + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + str r0, [sp, #4] + mov r2, #0 + ldr r1, [r6] + ldr r0, _02236290 ; =MOD83_0223B280 + add r3, r2, #0 + ldrb r0, [r0, r1] + mov r1, #2 + str r0, [sp, #8] + ldr r0, [r6, #0x20] + bl BgTilemapRectChangePalette + ldr r0, [r6, #0x20] + mov r1, #2 + bl BgCommitTilemapBufferToVram + mov r0, #2 + mov r1, #0 + bl GX_EngineAToggleLayers + mov r1, #7 + mov r0, #0 + lsl r1, r1, #6 + mov r2, #0x4e + bl FUN_02002ED0 + mov r1, #0 + mov r2, #0x3f + str r1, [sp] + mov r0, #0x4e + str r0, [sp, #4] + ldr r0, [r6, #0x20] + lsl r2, r2, #4 + mov r3, #0xe + bl FUN_0200CB00 + ldr r0, [r6, #0x1c] + ldr r2, _02236294 ; =0x000003D2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #0x4e + str r0, [sp, #4] + ldr r0, [r6, #0x20] + mov r1, #0 + mov r3, #0xd + bl FUN_0200CD68 + add r0, r6, #0 + bl MOD83_0223600C + mov r1, #0x46 + mov r0, #0xa + lsl r1, r1, #4 + str r0, [r6, r1] + sub r1, #0x34 + add r0, r6, #0 + add r1, r6, r1 + mov r2, #0x18 + bl MOD83_02234F2C + add sp, #0x4c + pop {r4, r5, r6, r7, pc} + .align 2, 0 _02236288: .word 0x00000414 _0223628C: .word gMain + 0x60 _02236290: .word MOD83_0223B280 _02236294: .word 0x000003D2 - thumb_func_end MOD83_022360C8 + thumb_func_end MOD83_022360C8 - thumb_func_start MOD83_02236298 + thumb_func_start MOD83_02236298 MOD83_02236298: ; 0x02236298 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - cmp r1, #0 - beq _022362B4 - mov r1, #0 - bl FUN_0200D0E0 - add r0, r4, #0 - bl ClearWindowTilemapAndCopyToVram - add r0, r4, #0 - bl RemoveWindow + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + cmp r1, #0 + beq _022362B4 + mov r1, #0 + bl FUN_0200D0E0 + add r0, r4, #0 + bl ClearWindowTilemapAndCopyToVram + add r0, r4, #0 + bl RemoveWindow _022362B4: - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD83_02236298 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD83_02236298 - thumb_func_start MOD83_022362B8 + thumb_func_start MOD83_022362B8 MOD83_022362B8: ; 0x022362B8 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - ldr r7, _02236328 ; =0x00000414 - mov r4, #0 - add r5, r6, #0 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + ldr r7, _02236328 ; =0x00000414 + mov r4, #0 + add r5, r6, #0 _022362C2: - ldr r0, [r5, r7] - bl FUN_0201FFC8 - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #6 - blt _022362C2 - mov r0, #2 - mov r1, #1 - bl GX_EngineAToggleLayers - ldr r0, _0223632C ; =0x00000498 - add r0, r6, r0 - bl MOD83_02236298 - mov r0, #0xe6 - lsl r0, r0, #2 - ldr r0, [r6, r0] - mov r1, #1 - bl FUN_020200A0 - mov r0, #0xee - lsl r0, r0, #2 - ldr r0, [r6, r0] - mov r1, #1 - bl FUN_020200A0 - mov r0, #0xea - lsl r0, r0, #2 - ldr r0, [r6, r0] - mov r1, #1 - bl FUN_020200A0 - mov r0, #0xf3 - mov r5, #0 - lsl r0, r0, #2 - add r4, r6, #0 - sub r3, r5, #1 - mov r2, #0xe - add r1, r0, #4 + ldr r0, [r5, r7] + bl FUN_0201FFC8 + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #6 + blt _022362C2 + mov r0, #2 + mov r1, #1 + bl GX_EngineAToggleLayers + ldr r0, _0223632C ; =0x00000498 + add r0, r6, r0 + bl MOD83_02236298 + mov r0, #0xe6 + lsl r0, r0, #2 + ldr r0, [r6, r0] + mov r1, #1 + bl FUN_020200A0 + mov r0, #0xee + lsl r0, r0, #2 + ldr r0, [r6, r0] + mov r1, #1 + bl FUN_020200A0 + mov r0, #0xea + lsl r0, r0, #2 + ldr r0, [r6, r0] + mov r1, #1 + bl FUN_020200A0 + mov r0, #0xf3 + mov r5, #0 + lsl r0, r0, #2 + add r4, r6, #0 + sub r3, r5, #1 + mov r2, #0xe + add r1, r0, #4 _02236312: - str r3, [r4, r0] - str r2, [r4, r1] - add r5, r5, #1 - add r4, #0xc - cmp r5, #6 - blt _02236312 - mov r0, #0x41 - mov r1, #0 - lsl r0, r0, #4 - str r1, [r6, r0] - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + str r3, [r4, r0] + str r2, [r4, r1] + add r5, r5, #1 + add r4, #0xc + cmp r5, #6 + blt _02236312 + mov r0, #0x41 + mov r1, #0 + lsl r0, r0, #4 + str r1, [r6, r0] + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _02236328: .word 0x00000414 _0223632C: .word 0x00000498 - thumb_func_end MOD83_022362B8 + thumb_func_end MOD83_022362B8 - thumb_func_start MOD83_02236330 + thumb_func_start MOD83_02236330 MOD83_02236330: ; 0x02236330 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - mov r0, #0 - add r1, r0, #0 - bl Main_SetVBlankIntrCB - mov r7, #0x6a - mov r4, #0 - add r5, r6, #0 - lsl r7, r7, #2 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r0, #0 + add r1, r0, #0 + bl Main_SetVBlankIntrCB + mov r7, #0x6a + mov r4, #0 + add r5, r6, #0 + lsl r7, r7, #2 _02236344: - ldr r0, [r5, r7] - cmp r0, #0 - beq _0223634E - bl FUN_0201FFC8 + ldr r0, [r5, r7] + cmp r0, #0 + beq _0223634E + bl FUN_0201FFC8 _0223634E: - mov r0, #0x6b - lsl r0, r0, #2 - ldr r0, [r5, r0] - cmp r0, #0 - beq _0223635C - bl FUN_0201FFC8 + mov r0, #0x6b + lsl r0, r0, #2 + ldr r0, [r5, r0] + cmp r0, #0 + beq _0223635C + bl FUN_0201FFC8 _0223635C: - add r4, r4, #1 - add r5, #0xc - cmp r4, #0x1e - blt _02236344 - mov r7, #0xf2 - mov r5, #0 - add r4, r6, #0 - lsl r7, r7, #2 + add r4, r4, #1 + add r5, #0xc + cmp r4, #0x1e + blt _02236344 + mov r7, #0xf2 + mov r5, #0 + add r4, r6, #0 + lsl r7, r7, #2 _0223636C: - ldr r0, [r4, r7] - cmp r0, #0 - beq _02236376 - bl FUN_0201FFC8 + ldr r0, [r4, r7] + cmp r0, #0 + beq _02236376 + bl FUN_0201FFC8 _02236376: - add r5, r5, #1 - add r4, #0xc - cmp r5, #6 - blt _0223636C - mov r0, #0xe6 - lsl r0, r0, #2 - ldr r0, [r6, r0] - cmp r0, #0 - beq _0223638C - bl FUN_0201FFC8 + add r5, r5, #1 + add r4, #0xc + cmp r5, #6 + blt _0223636C + mov r0, #0xe6 + lsl r0, r0, #2 + ldr r0, [r6, r0] + cmp r0, #0 + beq _0223638C + bl FUN_0201FFC8 _0223638C: - mov r0, #0xee - lsl r0, r0, #2 - ldr r0, [r6, r0] - cmp r0, #0 - beq _0223639A - bl FUN_0201FFC8 + mov r0, #0xee + lsl r0, r0, #2 + ldr r0, [r6, r0] + cmp r0, #0 + beq _0223639A + bl FUN_0201FFC8 _0223639A: - mov r0, #0xea - lsl r0, r0, #2 - ldr r0, [r6, r0] - cmp r0, #0 - beq _022363A8 - bl FUN_0201FFC8 + mov r0, #0xea + lsl r0, r0, #2 + ldr r0, [r6, r0] + cmp r0, #0 + beq _022363A8 + bl FUN_0201FFC8 _022363A8: - ldr r0, _0223643C ; =0x00000478 - add r0, r6, r0 - bl MOD83_02236298 - ldr r0, _02236440 ; =0x00000488 - add r0, r6, r0 - bl MOD83_02236298 - ldr r0, _02236444 ; =0x00000498 - add r0, r6, r0 - bl MOD83_02236298 - mov r0, #2 - bl FUN_02002CF8 - mov r0, #0x5b - lsl r0, r0, #2 - ldr r0, [r6, r0] - bl FUN_02009C0C - mov r0, #0x17 - lsl r0, r0, #4 - ldr r0, [r6, r0] - bl FUN_02009E04 - mov r7, #0x55 - mov r5, #0 - add r4, r6, #0 - lsl r7, r7, #2 + ldr r0, _0223643C ; =0x00000478 + add r0, r6, r0 + bl MOD83_02236298 + ldr r0, _02236440 ; =0x00000488 + add r0, r6, r0 + bl MOD83_02236298 + ldr r0, _02236444 ; =0x00000498 + add r0, r6, r0 + bl MOD83_02236298 + mov r0, #2 + bl FUN_02002CF8 + mov r0, #0x5b + lsl r0, r0, #2 + ldr r0, [r6, r0] + bl FUN_02009C0C + mov r0, #0x17 + lsl r0, r0, #4 + ldr r0, [r6, r0] + bl FUN_02009E04 + mov r7, #0x55 + mov r5, #0 + add r4, r6, #0 + lsl r7, r7, #2 _022363E2: - ldr r0, [r4, r7] - bl FUN_02008E2C - add r5, r5, #1 - add r4, r4, #4 - cmp r5, #6 - blt _022363E2 - ldr r0, [r6, #0x28] - bl FUN_0201FD58 - mov r0, #0 - str r0, [r6, #0x28] - bl FUN_02009FA0 - bl FUN_0201D12C - bl FUN_0201E08C - ldr r0, _02236448 ; =0x0000E88C - ldr r0, [r6, r0] - bl FUN_020145A8 - ldr r0, _0223644C ; =gMain + 0x60 - mov r1, #0 - strb r1, [r0, #5] - bl GX_SwapDisplay - ldr r0, [r6, #0x20] - mov r1, #0 - bl FreeBgTilemapBuffer - ldr r0, [r6, #0x20] - mov r1, #1 - bl FreeBgTilemapBuffer - ldr r0, [r6, #0x20] - mov r1, #2 - bl FreeBgTilemapBuffer - ldr r0, [r6, #0x20] - mov r1, #3 - bl FreeBgTilemapBuffer - pop {r3, r4, r5, r6, r7, pc} - nop + ldr r0, [r4, r7] + bl FUN_02008E2C + add r5, r5, #1 + add r4, r4, #4 + cmp r5, #6 + blt _022363E2 + ldr r0, [r6, #0x28] + bl FUN_0201FD58 + mov r0, #0 + str r0, [r6, #0x28] + bl FUN_02009FA0 + bl FUN_0201D12C + bl FUN_0201E08C + ldr r0, _02236448 ; =0x0000E88C + ldr r0, [r6, r0] + bl FUN_020145A8 + ldr r0, _0223644C ; =gMain + 0x60 + mov r1, #0 + strb r1, [r0, #5] + bl GX_SwapDisplay + ldr r0, [r6, #0x20] + mov r1, #0 + bl FreeBgTilemapBuffer + ldr r0, [r6, #0x20] + mov r1, #1 + bl FreeBgTilemapBuffer + ldr r0, [r6, #0x20] + mov r1, #2 + bl FreeBgTilemapBuffer + ldr r0, [r6, #0x20] + mov r1, #3 + bl FreeBgTilemapBuffer + pop {r3, r4, r5, r6, r7, pc} + nop _0223643C: .word 0x00000478 _02236440: .word 0x00000488 _02236444: .word 0x00000498 _02236448: .word 0x0000E88C _0223644C: .word gMain + 0x60 - thumb_func_end MOD83_02236330 + thumb_func_end MOD83_02236330 - thumb_func_start MOD83_02236450 + thumb_func_start MOD83_02236450 MOD83_02236450: ; 0x02236450 - push {lr} - sub sp, #0x14 - ldr r1, [r0, #0x20] - mov r2, #0x19 - str r1, [sp] - mov r1, #0 - str r1, [sp, #4] - mov r1, #2 - lsl r1, r1, #8 - str r1, [sp, #8] - mov r1, #8 - str r1, [sp, #0xc] - add r1, sp, #0 - strb r2, [r1, #0x10] - mov r2, #7 - strb r2, [r1, #0x11] - ldr r1, _02236480 ; =0x0000E88C - ldr r0, [r0, r1] - add r1, sp, #0 - bl FUN_020145C8 - add sp, #0x14 - pop {pc} - nop + push {lr} + sub sp, #0x14 + ldr r1, [r0, #0x20] + mov r2, #0x19 + str r1, [sp] + mov r1, #0 + str r1, [sp, #4] + mov r1, #2 + lsl r1, r1, #8 + str r1, [sp, #8] + mov r1, #8 + str r1, [sp, #0xc] + add r1, sp, #0 + strb r2, [r1, #0x10] + mov r2, #7 + strb r2, [r1, #0x11] + ldr r1, _02236480 ; =0x0000E88C + ldr r0, [r0, r1] + add r1, sp, #0 + bl FUN_020145C8 + add sp, #0x14 + pop {pc} + nop _02236480: .word 0x0000E88C - thumb_func_end MOD83_02236450 + thumb_func_end MOD83_02236450 - thumb_func_start MOD83_02236484 + thumb_func_start MOD83_02236484 MOD83_02236484: ; 0x02236484 - push {r4, r5, r6, lr} - sub sp, #0x18 - add r5, r0, #0 - bl MOD83_02237464 - add r4, r0, #0 - bl MOD83_02236EA8 - add r3, r0, #0 - add r0, r4, #0 - add r1, sp, #8 - mov r2, #8 - bl FUN_02015D88 - mov r0, #0x4e - bl ScrStrBufs_new - add r4, r0, #0 - mov r0, #8 - mov r1, #0x4e - bl String_ctor - add r1, sp, #8 - add r6, r0, #0 - bl CopyU16ArrayToString - mov r1, #1 - str r1, [sp] - mov r0, #2 - str r0, [sp, #4] - add r0, r4, #0 - add r2, r6, #0 - mov r3, #0 - bl BufferString - add r0, r5, #0 - bl MOD83_0223600C - ldr r0, [r5] - mov r2, #0x18 - lsl r1, r0, #2 - ldr r0, _02236508 ; =MOD83_0223B2A0 - ldr r0, [r0, r1] - mov r1, #0x46 - lsl r1, r1, #4 - str r0, [r5, r1] - add r0, r1, #0 - add r0, #0xc - sub r1, #0x34 - str r4, [r5, r0] - add r0, r5, #0 - add r1, r5, r1 - bl MOD83_02234F2C - add r0, r6, #0 - bl String_dtor - add r0, r4, #0 - bl ScrStrBufs_delete - add r0, r5, #0 - bl MOD83_02236450 - add sp, #0x18 - pop {r4, r5, r6, pc} - nop + push {r4, r5, r6, lr} + sub sp, #0x18 + add r5, r0, #0 + bl MOD83_02237464 + add r4, r0, #0 + bl MOD83_02236EA8 + add r3, r0, #0 + add r0, r4, #0 + add r1, sp, #8 + mov r2, #8 + bl FUN_02015D88 + mov r0, #0x4e + bl ScrStrBufs_new + add r4, r0, #0 + mov r0, #8 + mov r1, #0x4e + bl String_ctor + add r1, sp, #8 + add r6, r0, #0 + bl CopyU16ArrayToString + mov r1, #1 + str r1, [sp] + mov r0, #2 + str r0, [sp, #4] + add r0, r4, #0 + add r2, r6, #0 + mov r3, #0 + bl BufferString + add r0, r5, #0 + bl MOD83_0223600C + ldr r0, [r5] + mov r2, #0x18 + lsl r1, r0, #2 + ldr r0, _02236508 ; =MOD83_0223B2A0 + ldr r0, [r0, r1] + mov r1, #0x46 + lsl r1, r1, #4 + str r0, [r5, r1] + add r0, r1, #0 + add r0, #0xc + sub r1, #0x34 + str r4, [r5, r0] + add r0, r5, #0 + add r1, r5, r1 + bl MOD83_02234F2C + add r0, r6, #0 + bl String_dtor + add r0, r4, #0 + bl ScrStrBufs_delete + add r0, r5, #0 + bl MOD83_02236450 + add sp, #0x18 + pop {r4, r5, r6, pc} + nop _02236508: .word MOD83_0223B2A0 - thumb_func_end MOD83_02236484 + thumb_func_end MOD83_02236484 - thumb_func_start MOD83_0223650C + thumb_func_start MOD83_0223650C MOD83_0223650C: ; 0x0223650C - push {r4, lr} - add r4, r0, #0 - ldr r0, _0223653C ; =0x00012604 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02236520 - blx r0 - ldr r0, _0223653C ; =0x00012604 - mov r1, #0 - str r1, [r4, r0] + push {r4, lr} + add r4, r0, #0 + ldr r0, _0223653C ; =0x00012604 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02236520 + blx r0 + ldr r0, _0223653C ; =0x00012604 + mov r1, #0 + str r1, [r4, r0] _02236520: - bl FUN_0201C30C - bl FUN_02009F80 - ldr r0, [r4, #0x20] - bl DoScheduledBgGpuUpdates - ldr r3, _02236540 ; =MOD83_027E0000 - ldr r1, _02236544 ; =0x00003FF8 - mov r0, #1 - ldr r2, [r3, r1] - orr r0, r2 - str r0, [r3, r1] - pop {r4, pc} - .align 2, 0 + bl FUN_0201C30C + bl FUN_02009F80 + ldr r0, [r4, #0x20] + bl DoScheduledBgGpuUpdates + ldr r3, _02236540 ; =MOD83_027E0000 + ldr r1, _02236544 ; =0x00003FF8 + mov r0, #1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r4, pc} + .align 2, 0 _0223653C: .word 0x00012604 _02236540: .word 0x027E0000 _02236544: .word 0x00003FF8 - thumb_func_end MOD83_0223650C + thumb_func_end MOD83_0223650C - thumb_func_start MOD83_02236548 + thumb_func_start MOD83_02236548 MOD83_02236548: ; 0x02236548 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp] - ldr r0, [r0, #0x10] - bl FUN_02022528 - str r0, [sp, #8] - bl FUN_0202C0B8 - cmp r0, #0 - bne _0223659C - ldr r0, [sp, #8] - bl FUN_0202C060 - cmp r0, #0 - bne _0223656E - add sp, #0xc - mov r0, #3 - pop {r4, r5, r6, r7, pc} + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r0, [sp] + ldr r0, [r0, #0x10] + bl FUN_02022528 + str r0, [sp, #8] + bl FUN_0202C0B8 + cmp r0, #0 + bne _0223659C + ldr r0, [sp, #8] + bl FUN_0202C060 + cmp r0, #0 + bne _0223656E + add sp, #0xc + mov r0, #3 + pop {r4, r5, r6, r7, pc} _0223656E: - ldr r0, [sp, #8] - bl FUN_0202C094 - cmp r0, #0 - bne _0223657E - add sp, #0xc - mov r0, #4 - pop {r4, r5, r6, r7, pc} + ldr r0, [sp, #8] + bl FUN_0202C094 + cmp r0, #0 + bne _0223657E + add sp, #0xc + mov r0, #4 + pop {r4, r5, r6, r7, pc} _0223657E: - bl MOD83_02237448 - add r1, r0, #0 - ldr r0, [sp, #8] - bl FUN_0202C028 - cmp r0, #0 - bne _02236590 - ldr r0, _022365F8 ; =0x0002A300 + bl MOD83_02237448 + add r1, r0, #0 + ldr r0, [sp, #8] + bl FUN_0202C028 + cmp r0, #0 + bne _02236590 + ldr r0, _022365F8 ; =0x0002A300 _02236590: - ldr r1, _022365FC ; =0x00015180 - cmp r0, r1 - bge _0223659C - add sp, #0xc - mov r0, #2 - pop {r4, r5, r6, r7, pc} + ldr r1, _022365FC ; =0x00015180 + cmp r0, r1 + bge _0223659C + add sp, #0xc + mov r0, #2 + pop {r4, r5, r6, r7, pc} _0223659C: - mov r6, #0 - str r6, [sp, #4] - add r7, r6, #0 + mov r6, #0 + str r6, [sp, #4] + add r7, r6, #0 _022365A2: - mov r4, #0 - add r5, r4, #0 + mov r4, #0 + add r5, r4, #0 _022365A6: - ldr r1, [sp] - ldr r0, _02236600 ; =0x0000E880 - mov r2, #0 - ldr r0, [r1, r0] - mov r1, #5 - add r0, r0, #4 - add r0, r0, r7 - add r0, r0, r5 - bl AGB_GetBoxMonData - cmp r0, #0 - beq _022365C0 - add r6, r6, #1 + ldr r1, [sp] + ldr r0, _02236600 ; =0x0000E880 + mov r2, #0 + ldr r0, [r1, r0] + mov r1, #5 + add r0, r0, #4 + add r0, r0, r7 + add r0, r0, r5 + bl AGB_GetBoxMonData + cmp r0, #0 + beq _022365C0 + add r6, r6, #1 _022365C0: - add r4, r4, #1 - add r5, #0x50 - cmp r4, #0x1e - blt _022365A6 - mov r0, #0x96 - lsl r0, r0, #4 - add r7, r7, r0 - ldr r0, [sp, #4] - add r0, r0, #1 - str r0, [sp, #4] - cmp r0, #0xe - blt _022365A2 - cmp r6, #6 - bge _022365E2 - add sp, #0xc - mov r0, #5 - pop {r4, r5, r6, r7, pc} + add r4, r4, #1 + add r5, #0x50 + cmp r4, #0x1e + blt _022365A6 + mov r0, #0x96 + lsl r0, r0, #4 + add r7, r7, r0 + ldr r0, [sp, #4] + add r0, r0, #1 + str r0, [sp, #4] + cmp r0, #0xe + blt _022365A2 + cmp r6, #6 + bge _022365E2 + add sp, #0xc + mov r0, #5 + pop {r4, r5, r6, r7, pc} _022365E2: - ldr r0, [sp, #8] - bl FUN_0202C000 - cmp r0, #0 - beq _022365F2 - add sp, #0xc - mov r0, #6 - pop {r4, r5, r6, r7, pc} + ldr r0, [sp, #8] + bl FUN_0202C000 + cmp r0, #0 + beq _022365F2 + add sp, #0xc + mov r0, #6 + pop {r4, r5, r6, r7, pc} _022365F2: - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .align 2, 0 + mov r0, #0 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .align 2, 0 _022365F8: .word 0x0002A300 _022365FC: .word 0x00015180 _02236600: .word 0x0000E880 - thumb_func_end MOD83_02236548 + thumb_func_end MOD83_02236548 - thumb_func_start MOD83_02236604 + thumb_func_start MOD83_02236604 MOD83_02236604: ; 0x02236604 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5, #4] - cmp r1, #0 - beq _02236640 - bl MOD83_0223600C - mov r0, #1 - bl FUN_02002BB8 - ldr r0, _02236660 ; =MOD83_0223B2D8 - lsl r1, r4, #2 - ldr r0, [r0, r1] - mov r1, #0x46 - lsl r1, r1, #4 - str r0, [r5, r1] - add r0, r1, #0 - sub r1, #0x34 - mov r2, #1 - add r0, #0x10 - str r2, [r5, r0] - add r0, r5, #0 - add r1, r5, r1 - mov r2, #0x18 - bl MOD83_02234F2C - mov r0, #0 - str r0, [r5, #4] - b _0223665A + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5, #4] + cmp r1, #0 + beq _02236640 + bl MOD83_0223600C + mov r0, #1 + bl FUN_02002BB8 + ldr r0, _02236660 ; =MOD83_0223B2D8 + lsl r1, r4, #2 + ldr r0, [r0, r1] + mov r1, #0x46 + lsl r1, r1, #4 + str r0, [r5, r1] + add r0, r1, #0 + sub r1, #0x34 + mov r2, #1 + add r0, #0x10 + str r2, [r5, r0] + add r0, r5, #0 + add r1, r5, r1 + mov r2, #0x18 + bl MOD83_02234F2C + mov r0, #0 + str r0, [r5, #4] + b _0223665A _02236640: - ldr r0, _02236664 ; =0x00000474 - ldr r0, [r5, r0] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl FUN_0201BD70 - cmp r0, #0 - bne _0223665A - mov r0, #0 - bl FUN_02002BB8 - mov r0, #1 - pop {r3, r4, r5, pc} + ldr r0, _02236664 ; =0x00000474 + ldr r0, [r5, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0 + bne _0223665A + mov r0, #0 + bl FUN_02002BB8 + mov r0, #1 + pop {r3, r4, r5, pc} _0223665A: - mov r0, #0 - pop {r3, r4, r5, pc} - nop + mov r0, #0 + pop {r3, r4, r5, pc} + nop _02236660: .word MOD83_0223B2D8 _02236664: .word 0x00000474 - thumb_func_end MOD83_02236604 + thumb_func_end MOD83_02236604 - thumb_func_start MOD83_02236668 + thumb_func_start MOD83_02236668 MOD83_02236668: ; 0x02236668 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5, #4] - cmp r1, #0 - beq _022366A4 - bl MOD83_0223600C - mov r0, #1 - bl FUN_02002BB8 - ldr r0, _022366C8 ; =MOD83_0223B2D8 - lsl r1, r4, #2 - ldr r0, [r0, r1] - mov r1, #0x46 - lsl r1, r1, #4 - str r0, [r5, r1] - add r0, r1, #0 - sub r1, #0x34 - mov r2, #1 - add r0, #0x10 - str r2, [r5, r0] - add r0, r5, #0 - add r1, r5, r1 - mov r2, #0x18 - bl MOD83_02234F2C - mov r0, #0 - str r0, [r5, #4] - b _022366C4 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5, #4] + cmp r1, #0 + beq _022366A4 + bl MOD83_0223600C + mov r0, #1 + bl FUN_02002BB8 + ldr r0, _022366C8 ; =MOD83_0223B2D8 + lsl r1, r4, #2 + ldr r0, [r0, r1] + mov r1, #0x46 + lsl r1, r1, #4 + str r0, [r5, r1] + add r0, r1, #0 + sub r1, #0x34 + mov r2, #1 + add r0, #0x10 + str r2, [r5, r0] + add r0, r5, #0 + add r1, r5, r1 + mov r2, #0x18 + bl MOD83_02234F2C + mov r0, #0 + str r0, [r5, #4] + b _022366C4 _022366A4: - ldr r0, _022366CC ; =0x00000474 - ldr r0, [r5, r0] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl FUN_0201BD70 - cmp r0, #0 - bne _022366C4 - add r0, r5, #0 - bl MOD83_02236450 - mov r0, #0 - bl FUN_02002BB8 - mov r0, #1 - pop {r3, r4, r5, pc} + ldr r0, _022366CC ; =0x00000474 + ldr r0, [r5, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0 + bne _022366C4 + add r0, r5, #0 + bl MOD83_02236450 + mov r0, #0 + bl FUN_02002BB8 + mov r0, #1 + pop {r3, r4, r5, pc} _022366C4: - mov r0, #0 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0 + pop {r3, r4, r5, pc} + .align 2, 0 _022366C8: .word MOD83_0223B2D8 _022366CC: .word 0x00000474 - thumb_func_end MOD83_02236668 + thumb_func_end MOD83_02236668 - thumb_func_start MOD83_022366D0 + thumb_func_start MOD83_022366D0 MOD83_022366D0: ; 0x022366D0 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - mov r1, #0 - ldr r2, [r5, #8] - mvn r1, r1 - cmp r2, r1 - beq _02236712 - bl MOD83_0223600C - mov r0, #1 - bl FUN_02002BB8 - mov r1, #0x46 - ldr r0, [r5, #8] - lsl r1, r1, #4 - str r0, [r5, r1] - add r0, r1, #0 - add r0, #0x10 - sub r1, #0x34 - str r4, [r5, r0] - add r0, r5, #0 - add r1, r5, r1 - mov r2, #0x18 - bl MOD83_02234F2C - mov r0, #0 - mvn r0, r0 - str r0, [r5, #8] - ldr r0, _02236754 ; =0x000005DC - bl PlaySE - b _02236750 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + mov r1, #0 + ldr r2, [r5, #8] + mvn r1, r1 + cmp r2, r1 + beq _02236712 + bl MOD83_0223600C + mov r0, #1 + bl FUN_02002BB8 + mov r1, #0x46 + ldr r0, [r5, #8] + lsl r1, r1, #4 + str r0, [r5, r1] + add r0, r1, #0 + add r0, #0x10 + sub r1, #0x34 + str r4, [r5, r0] + add r0, r5, #0 + add r1, r5, r1 + mov r2, #0x18 + bl MOD83_02234F2C + mov r0, #0 + mvn r0, r0 + str r0, [r5, #8] + ldr r0, _02236754 ; =0x000005DC + bl PlaySE + b _02236750 _02236712: - cmp r4, #0 - beq _02236730 - ldr r0, _02236758 ; =0x00000474 - ldr r0, [r5, r0] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl FUN_0201BD70 - cmp r0, #0 - bne _02236750 - mov r0, #0 - bl FUN_02002BB8 - mov r0, #1 - pop {r3, r4, r5, pc} + cmp r4, #0 + beq _02236730 + ldr r0, _02236758 ; =0x00000474 + ldr r0, [r5, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0 + bne _02236750 + mov r0, #0 + bl FUN_02002BB8 + mov r0, #1 + pop {r3, r4, r5, pc} _02236730: - ldr r0, _0223675C ; =gMain + 0x40 - ldrh r0, [r0, #0x20] - cmp r0, #0 - bne _02236740 - ldr r0, _02236760 ; =gMain - ldr r0, [r0, #0x48] - cmp r0, #0 - beq _02236750 + ldr r0, _0223675C ; =gMain + 0x40 + ldrh r0, [r0, #0x20] + cmp r0, #0 + bne _02236740 + ldr r0, _02236760 ; =gMain + ldr r0, [r0, #0x48] + cmp r0, #0 + beq _02236750 _02236740: - mov r0, #0 - bl FUN_02002BB8 - ldr r0, _02236754 ; =0x000005DC - bl PlaySE - mov r0, #1 - pop {r3, r4, r5, pc} + mov r0, #0 + bl FUN_02002BB8 + ldr r0, _02236754 ; =0x000005DC + bl PlaySE + mov r0, #1 + pop {r3, r4, r5, pc} _02236750: - mov r0, #0 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0 + pop {r3, r4, r5, pc} + .align 2, 0 _02236754: .word 0x000005DC _02236758: .word 0x00000474 _0223675C: .word gMain + 0x40 _02236760: .word gMain - thumb_func_end MOD83_022366D0 + thumb_func_end MOD83_022366D0 - thumb_func_start MOD83_02236764 + thumb_func_start MOD83_02236764 MOD83_02236764: ; 0x02236764 - push {r3, r4, r5, lr} - mov r2, #0xa - add r5, r0, #0 - mov r0, #3 - mov r1, #0x4e - lsl r2, r2, #0xe - bl CreateHeap - ldr r1, _022367F0 ; =0x00012608 - add r0, r5, #0 - mov r2, #0x4e - bl OverlayManager_CreateAndGetData - ldr r2, _022367F0 ; =0x00012608 - mov r1, #0 - add r4, r0, #0 - bl memset - mov r0, #0x4e - bl BgConfig_Alloc - str r0, [r4, #0x20] - mov r0, #0x4e - bl FUN_02014590 - ldr r1, _022367F4 ; =0x0000E88C - str r0, [r4, r1] - mov r0, #0 - add r1, r0, #0 - bl FUN_0200E3A0 - mov r0, #1 - mov r1, #0 - bl FUN_0200E3A0 - add r0, r5, #0 - bl OverlayManager_GetField18 - ldr r0, [r0, #8] - str r0, [r4, #0x10] - bl Sav2_PlayerData_GetProfileAddr - str r0, [r4, #0x14] - ldr r0, [r4, #0x10] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #0x18] - bl Options_GetFrame - str r0, [r4, #0x1c] - ldr r1, _022367F8 ; =0x00000496 - mov r0, #9 - mov r2, #1 - bl FUN_0200433C - bl OS_IsTickAvailable - cmp r0, #0 - bne _022367DE - bl OS_InitTick + push {r3, r4, r5, lr} + mov r2, #0xa + add r5, r0, #0 + mov r0, #3 + mov r1, #0x4e + lsl r2, r2, #0xe + bl CreateHeap + ldr r1, _022367F0 ; =0x00012608 + add r0, r5, #0 + mov r2, #0x4e + bl OverlayManager_CreateAndGetData + ldr r2, _022367F0 ; =0x00012608 + mov r1, #0 + add r4, r0, #0 + bl memset + mov r0, #0x4e + bl BgConfig_Alloc + str r0, [r4, #0x20] + mov r0, #0x4e + bl FUN_02014590 + ldr r1, _022367F4 ; =0x0000E88C + str r0, [r4, r1] + mov r0, #0 + add r1, r0, #0 + bl FUN_0200E3A0 + mov r0, #1 + mov r1, #0 + bl FUN_0200E3A0 + add r0, r5, #0 + bl OverlayManager_GetField18 + ldr r0, [r0, #8] + str r0, [r4, #0x10] + bl Sav2_PlayerData_GetProfileAddr + str r0, [r4, #0x14] + ldr r0, [r4, #0x10] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #0x18] + bl Options_GetFrame + str r0, [r4, #0x1c] + ldr r1, _022367F8 ; =0x00000496 + mov r0, #9 + mov r2, #1 + bl FUN_0200433C + bl OS_IsTickAvailable + cmp r0, #0 + bne _022367DE + bl OS_InitTick _022367DE: - bl MOD83_02239490 - ldr r0, _022367FC ; =0x0000E89C - add r1, r4, r0 - ldr r0, _02236800 ; =MOD83_0223BB14 - str r1, [r0] - mov r0, #1 - pop {r3, r4, r5, pc} - nop + bl MOD83_02239490 + ldr r0, _022367FC ; =0x0000E89C + add r1, r4, r0 + ldr r0, _02236800 ; =MOD83_0223BB14 + str r1, [r0] + mov r0, #1 + pop {r3, r4, r5, pc} + nop _022367F0: .word 0x00012608 _022367F4: .word 0x0000E88C _022367F8: .word 0x00000496 _022367FC: .word 0x0000E89C _02236800: .word MOD83_0223BB14 - thumb_func_end MOD83_02236764 + thumb_func_end MOD83_02236764 - thumb_func_start MOD83_02236804 + thumb_func_start MOD83_02236804 MOD83_02236804: ; 0x02236804 - push {r4, r5, r6, lr} - add r5, r1, #0 - bl OverlayManager_GetData - add r4, r0, #0 - bl CTRDG_IsExisting - bl CTRDG_IsPulledOut - cmp r0, #1 - beq _02236822 - ldr r0, _02236B3C ; =UNK_02016FA4 - ldr r0, [r0] - cmp r0, #0 - beq _02236828 + push {r4, r5, r6, lr} + add r5, r1, #0 + bl OverlayManager_GetData + add r4, r0, #0 + bl CTRDG_IsExisting + bl CTRDG_IsPulledOut + cmp r0, #1 + beq _02236822 + ldr r0, _02236B3C ; =UNK_02016FA4 + ldr r0, [r0] + cmp r0, #0 + beq _02236828 _02236822: - mov r0, #0x4e - bl FUN_02089F24 + mov r0, #0x4e + bl FUN_02089F24 _02236828: - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - ldr r0, [r5] - cmp r0, #0x18 - bhi _02236924 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + ldr r0, [r4, #0xc] + add r0, r0, #1 + str r0, [r4, #0xc] + ldr r0, [r5] + cmp r0, #0x18 + bhi _02236924 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02236840: ; jump table - .short _02236872 - _02236840 - 2 ; case 0 - .short _022368BA - _02236840 - 2 ; case 1 - .short _02236900 - _02236840 - 2 ; case 2 - .short _02236914 - _02236840 - 2 ; case 3 - .short _0223694E - _02236840 - 2 ; case 4 - .short _02236966 - _02236840 - 2 ; case 5 - .short _022369BC - _02236840 - 2 ; case 6 - .short _022369CE - _02236840 - 2 ; case 7 - .short _022369EC - _02236840 - 2 ; case 8 - .short _022369FE - _02236840 - 2 ; case 9 - .short _02236A5C - _02236840 - 2 ; case 10 - .short _02236A74 - _02236840 - 2 ; case 11 - .short _02236A88 - _02236840 - 2 ; case 12 - .short _02236AC8 - _02236840 - 2 ; case 13 - .short _02236BF0 - _02236840 - 2 ; case 14 - .short _02236C0A - _02236840 - 2 ; case 15 - .short _02236C26 - _02236840 - 2 ; case 16 - .short _02236C40 - _02236840 - 2 ; case 17 - .short _02236C76 - _02236840 - 2 ; case 18 - .short _02236C9C - _02236840 - 2 ; case 19 - .short _02236D06 - _02236840 - 2 ; case 20 - .short _02236D12 - _02236840 - 2 ; case 21 - .short _02236D54 - _02236840 - 2 ; case 22 - .short _02236D78 - _02236840 - 2 ; case 23 - .short _02236D86 - _02236840 - 2 ; case 24 + .short _02236872 - _02236840 - 2 ; case 0 + .short _022368BA - _02236840 - 2 ; case 1 + .short _02236900 - _02236840 - 2 ; case 2 + .short _02236914 - _02236840 - 2 ; case 3 + .short _0223694E - _02236840 - 2 ; case 4 + .short _02236966 - _02236840 - 2 ; case 5 + .short _022369BC - _02236840 - 2 ; case 6 + .short _022369CE - _02236840 - 2 ; case 7 + .short _022369EC - _02236840 - 2 ; case 8 + .short _022369FE - _02236840 - 2 ; case 9 + .short _02236A5C - _02236840 - 2 ; case 10 + .short _02236A74 - _02236840 - 2 ; case 11 + .short _02236A88 - _02236840 - 2 ; case 12 + .short _02236AC8 - _02236840 - 2 ; case 13 + .short _02236BF0 - _02236840 - 2 ; case 14 + .short _02236C0A - _02236840 - 2 ; case 15 + .short _02236C26 - _02236840 - 2 ; case 16 + .short _02236C40 - _02236840 - 2 ; case 17 + .short _02236C76 - _02236840 - 2 ; case 18 + .short _02236C9C - _02236840 - 2 ; case 19 + .short _02236D06 - _02236840 - 2 ; case 20 + .short _02236D12 - _02236840 - 2 ; case 21 + .short _02236D54 - _02236840 - 2 ; case 22 + .short _02236D78 - _02236840 - 2 ; case 23 + .short _02236D86 - _02236840 - 2 ; case 24 _02236872: - bl MOD83_02236E90 - mov r0, #0x4b - lsl r0, r0, #4 - add r0, r4, r0 - bl MOD83_02236E18 - ldr r1, _02236B40 ; =0x000004A8 - str r0, [r4, r1] - ldr r0, [r4, r1] - cmp r0, #0 - bne _022368AE - bl MOD83_022371C4 - ldr r1, _02236B44 ; =0x000004AC - str r0, [r4, r1] - ldr r0, [r4, r1] - cmp r0, #0 - bne _022368AA - bl MOD83_0223742C - ldr r1, _02236B48 ; =0x0000E880 - str r0, [r4, r1] - ldr r0, [r4, r1] - ldrb r2, [r0] - add r0, r1, #4 - str r2, [r4, r0] - b _022368AE + bl MOD83_02236E90 + mov r0, #0x4b + lsl r0, r0, #4 + add r0, r4, r0 + bl MOD83_02236E18 + ldr r1, _02236B40 ; =0x000004A8 + str r0, [r4, r1] + ldr r0, [r4, r1] + cmp r0, #0 + bne _022368AE + bl MOD83_022371C4 + ldr r1, _02236B44 ; =0x000004AC + str r0, [r4, r1] + ldr r0, [r4, r1] + cmp r0, #0 + bne _022368AA + bl MOD83_0223742C + ldr r1, _02236B48 ; =0x0000E880 + str r0, [r4, r1] + ldr r0, [r4, r1] + ldrb r2, [r0] + add r0, r1, #4 + str r2, [r4, r0] + b _022368AE _022368AA: - mov r0, #1 - str r0, [r4, #4] + mov r0, #1 + str r0, [r4, #4] _022368AE: - add r0, r4, #0 - bl MOD83_02234CA0 - mov r0, #1 - str r0, [r5] - b _02236D90 + add r0, r4, #0 + bl MOD83_02234CA0 + mov r0, #1 + str r0, [r5] + b _02236D90 _022368BA: - add r0, r4, #0 - bl MOD83_02235F3C - bl MOD83_022350BC - add r0, r4, #0 - bl MOD83_022350EC - add r0, r4, #0 - bl MOD83_022351F8 - add r0, r4, #0 - bl MOD83_022357CC - ldr r0, _02236B4C ; =MOD83_0223650C - add r1, r4, #0 - bl Main_SetVBlankIntrCB - mov r0, #0x10 - mov r1, #0 - bl GX_EngineAToggleLayers - ldr r0, [r4, #4] - cmp r0, #1 - bne _022368FA - add r0, r4, #0 - mov r1, #1 - mov r2, #0xb - add r3, r5, #0 - bl MOD83_02235E04 - b _02236D90 + add r0, r4, #0 + bl MOD83_02235F3C + bl MOD83_022350BC + add r0, r4, #0 + bl MOD83_022350EC + add r0, r4, #0 + bl MOD83_022351F8 + add r0, r4, #0 + bl MOD83_022357CC + ldr r0, _02236B4C ; =MOD83_0223650C + add r1, r4, #0 + bl Main_SetVBlankIntrCB + mov r0, #0x10 + mov r1, #0 + bl GX_EngineAToggleLayers + ldr r0, [r4, #4] + cmp r0, #1 + bne _022368FA + add r0, r4, #0 + mov r1, #1 + mov r2, #0xb + add r3, r5, #0 + bl MOD83_02235E04 + b _02236D90 _022368FA: - mov r0, #2 - str r0, [r5] - b _02236D90 + mov r0, #2 + str r0, [r5] + b _02236D90 _02236900: - add r0, r4, #0 - bl MOD83_02236484 - add r0, r4, #0 - mov r1, #1 - mov r2, #3 - add r3, r5, #0 - bl MOD83_02235E04 - b _02236D90 + add r0, r4, #0 + bl MOD83_02236484 + add r0, r4, #0 + mov r1, #1 + mov r2, #3 + add r3, r5, #0 + bl MOD83_02235E04 + b _02236D90 _02236914: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_0201466C - cmp r0, #1 - beq _02236926 - cmp r0, #2 - beq _02236938 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_0201466C + cmp r0, #1 + beq _02236926 + cmp r0, #2 + beq _02236938 _02236924: - b _02236D90 + b _02236D90 _02236926: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - .ifdef DIAMOND - mov r0, #0x22 - .else - mov r0, #0x23 - .endif - str r0, [r4, #8] - mov r0, #4 - str r0, [r5] - b _02236D90 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + .ifdef DIAMOND + mov r0, #0x22 + .else + mov r0, #0x23 + .endif + str r0, [r4, #8] + mov r0, #4 + str r0, [r5] + b _02236D90 _02236938: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x18 - add r3, r5, #0 - bl MOD83_02235E34 - b _02236D90 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x18 + add r3, r5, #0 + bl MOD83_02235E34 + b _02236D90 _0223694E: - add r0, r4, #0 - mov r1, #1 - bl MOD83_022366D0 - cmp r0, #0 - beq _02236976 - add r0, r4, #0 - bl MOD83_02236450 - mov r0, #5 - str r0, [r5] - b _02236D90 + add r0, r4, #0 + mov r1, #1 + bl MOD83_022366D0 + cmp r0, #0 + beq _02236976 + add r0, r4, #0 + bl MOD83_02236450 + mov r0, #5 + str r0, [r5] + b _02236D90 _02236966: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_0201466C - cmp r0, #1 - beq _02236978 - cmp r0, #2 - beq _022369A6 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_0201466C + cmp r0, #1 + beq _02236978 + cmp r0, #2 + beq _022369A6 _02236976: - b _02236D90 + b _02236D90 _02236978: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - add r0, r4, #0 - bl MOD83_02236548 - str r0, [r4, #4] - cmp r0, #0 - beq _0223699E - sub r0, r0, #3 - cmp r0, #1 - bhi _02236998 - mov r0, #8 - str r0, [r5] - b _02236D90 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + add r0, r4, #0 + bl MOD83_02236548 + str r0, [r4, #4] + cmp r0, #0 + beq _0223699E + sub r0, r0, #3 + cmp r0, #1 + bhi _02236998 + mov r0, #8 + str r0, [r5] + b _02236D90 _02236998: - mov r0, #0xb - str r0, [r5] - b _02236D90 + mov r0, #0xb + str r0, [r5] + b _02236D90 _0223699E: - mov r0, #6 - str r0, [r4, #8] - str r0, [r5] - b _02236D90 + mov r0, #6 + str r0, [r4, #8] + str r0, [r5] + b _02236D90 _022369A6: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x18 - add r3, r5, #0 - bl MOD83_02235E34 - b _02236D90 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x18 + add r3, r5, #0 + bl MOD83_02235E34 + b _02236D90 _022369BC: - add r0, r4, #0 - mov r1, #1 - bl MOD83_022366D0 - cmp r0, #0 - beq _02236A0E - mov r0, #7 - str r0, [r5] - b _02236D90 + add r0, r4, #0 + mov r1, #1 + bl MOD83_022366D0 + cmp r0, #0 + beq _02236A0E + mov r0, #7 + str r0, [r5] + b _02236D90 _022369CE: - ldr r0, _02236B54 ; =gMain + 0x40 - ldrh r0, [r0, #0x20] - cmp r0, #0 - bne _022369DE - ldr r0, _02236B58 ; =gMain - ldr r0, [r0, #0x48] - cmp r0, #0 - beq _02236A0E + ldr r0, _02236B54 ; =gMain + 0x40 + ldrh r0, [r0, #0x20] + cmp r0, #0 + bne _022369DE + ldr r0, _02236B58 ; =gMain + ldr r0, [r0, #0x48] + cmp r0, #0 + beq _02236A0E _022369DE: - add r0, r4, #0 - mov r1, #0 - mov r2, #0xc - add r3, r5, #0 - bl MOD83_02235E04 - b _02236D90 + add r0, r4, #0 + mov r1, #0 + mov r2, #0xc + add r3, r5, #0 + bl MOD83_02235E04 + b _02236D90 _022369EC: - ldr r1, [r4, #4] - add r0, r4, #0 - bl MOD83_02236668 - cmp r0, #0 - beq _02236A0E - mov r0, #9 - str r0, [r5] - b _02236D90 + ldr r1, [r4, #4] + add r0, r4, #0 + bl MOD83_02236668 + cmp r0, #0 + beq _02236A0E + mov r0, #9 + str r0, [r5] + b _02236D90 _022369FE: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_0201466C - cmp r0, #1 - beq _02236A10 - cmp r0, #2 - beq _02236A46 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_0201466C + cmp r0, #1 + beq _02236A10 + cmp r0, #2 + beq _02236A46 _02236A0E: - b _02236D90 + b _02236D90 _02236A10: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - mov r1, #0x47 - lsl r1, r1, #4 - mov r2, #0 - add r0, r1, #0 - str r2, [r4, r1] - sub r1, #0x44 - mov r3, #0x28 - sub r0, #0x10 - str r3, [r4, r0] - add r0, r4, #0 - add r1, r4, r1 - bl MOD83_02234F2C - ldr r1, _02236B5C ; =0x00000498 - add r0, r4, r1 - sub r1, #0xc6 - bl FUN_0200D858 - ldr r1, _02236B60 ; =0x0000E898 - str r0, [r4, r1] - mov r0, #0xa - str r0, [r5] - b _02236D90 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + mov r1, #0x47 + lsl r1, r1, #4 + mov r2, #0 + add r0, r1, #0 + str r2, [r4, r1] + sub r1, #0x44 + mov r3, #0x28 + sub r0, #0x10 + str r3, [r4, r0] + add r0, r4, #0 + add r1, r4, r1 + bl MOD83_02234F2C + ldr r1, _02236B5C ; =0x00000498 + add r0, r4, r1 + sub r1, #0xc6 + bl FUN_0200D858 + ldr r1, _02236B60 ; =0x0000E898 + str r0, [r4, r1] + mov r0, #0xa + str r0, [r5] + b _02236D90 _02236A46: - ldr r0, _02236B50 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x18 - add r3, r5, #0 - bl MOD83_02235E34 - b _02236D90 + ldr r0, _02236B50 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x18 + add r3, r5, #0 + bl MOD83_02235E34 + b _02236D90 _02236A5C: - add r0, r4, #0 - bl MOD83_02234E40 - ldr r0, _02236B60 ; =0x0000E898 - ldr r0, [r4, r0] - bl FUN_0200DBFC - mov r0, #7 - str r0, [r4, #4] - mov r0, #0xb - str r0, [r5] - b _02236D90 + add r0, r4, #0 + bl MOD83_02234E40 + ldr r0, _02236B60 ; =0x0000E898 + ldr r0, [r4, r0] + bl FUN_0200DBFC + mov r0, #7 + str r0, [r4, #4] + mov r0, #0xb + str r0, [r5] + b _02236D90 _02236A74: - ldr r1, [r4, #4] - add r0, r4, #0 - bl MOD83_02236604 - cmp r0, #0 - bne _02236A82 - b _02236D90 + ldr r1, [r4, #4] + add r0, r4, #0 + bl MOD83_02236604 + cmp r0, #0 + bne _02236A82 + b _02236D90 _02236A82: - mov r0, #0x16 - str r0, [r5] - b _02236D90 + mov r0, #0x16 + str r0, [r5] + b _02236D90 _02236A88: - ldr r0, _02236B5C ; =0x00000498 - add r0, r4, r0 - bl MOD83_02236298 - add r0, r4, #0 - bl MOD83_02235FBC - add r0, r4, #0 - bl MOD83_02235648 - add r0, r4, #0 - bl MOD83_022354F0 - ldr r0, _02236B4C ; =MOD83_0223650C - add r1, r4, #0 - bl Main_SetVBlankIntrCB - mov r0, #0x10 - mov r1, #1 - bl GX_EngineAToggleLayers - add r0, r4, #0 - mov r1, #0 - bl MOD83_02235C4C - add r0, r4, #0 - mov r1, #1 - mov r2, #0xd - add r3, r5, #0 - bl MOD83_02235E04 - b _02236D90 + ldr r0, _02236B5C ; =0x00000498 + add r0, r4, r0 + bl MOD83_02236298 + add r0, r4, #0 + bl MOD83_02235FBC + add r0, r4, #0 + bl MOD83_02235648 + add r0, r4, #0 + bl MOD83_022354F0 + ldr r0, _02236B4C ; =MOD83_0223650C + add r1, r4, #0 + bl Main_SetVBlankIntrCB + mov r0, #0x10 + mov r1, #1 + bl GX_EngineAToggleLayers + add r0, r4, #0 + mov r1, #0 + bl MOD83_02235C4C + add r0, r4, #0 + mov r1, #1 + mov r2, #0xd + add r3, r5, #0 + bl MOD83_02235E04 + b _02236D90 _02236AC8: - mov r0, #0x31 - lsl r0, r0, #4 - add r0, r4, r0 - bl FUN_02020988 - add r6, r0, #0 - mov r0, #0 - mvn r0, r0 - cmp r6, r0 - beq _02236B9C - cmp r6, #0x1e - bge _02236B92 - add r0, r4, #0 - add r1, r6, #0 - bl MOD83_02235994 - cmp r0, #1 - bne _02236B20 - ldr r2, _02236B48 ; =0x0000E880 - add r0, r4, #0 - ldr r1, [r4, r2] - add r2, r2, #4 - ldr r3, [r4, r2] - mov r2, #0x96 - lsl r2, r2, #4 - add r1, r1, #4 - mul r2, r3 - add r2, r1, r2 - mov r1, #0x50 - mul r1, r6 - add r1, r2, r1 - bl MOD83_02235C4C - mov r0, #0x41 - lsl r0, r0, #4 - ldr r0, [r4, r0] - cmp r0, #6 - bne _02236B9C - ldr r0, _02236B64 ; =0x0000E888 - mov r1, #0x2d - str r1, [r4, r0] - mov r0, #0xf - str r0, [r5] - b _02236D90 + mov r0, #0x31 + lsl r0, r0, #4 + add r0, r4, r0 + bl FUN_02020988 + add r6, r0, #0 + mov r0, #0 + mvn r0, r0 + cmp r6, r0 + beq _02236B9C + cmp r6, #0x1e + bge _02236B92 + add r0, r4, #0 + add r1, r6, #0 + bl MOD83_02235994 + cmp r0, #1 + bne _02236B20 + ldr r2, _02236B48 ; =0x0000E880 + add r0, r4, #0 + ldr r1, [r4, r2] + add r2, r2, #4 + ldr r3, [r4, r2] + mov r2, #0x96 + lsl r2, r2, #4 + add r1, r1, #4 + mul r2, r3 + add r2, r1, r2 + mov r1, #0x50 + mul r1, r6 + add r1, r2, r1 + bl MOD83_02235C4C + mov r0, #0x41 + lsl r0, r0, #4 + ldr r0, [r4, r0] + cmp r0, #6 + bne _02236B9C + ldr r0, _02236B64 ; =0x0000E888 + mov r1, #0x2d + str r1, [r4, r0] + mov r0, #0xf + str r0, [r5] + b _02236D90 _02236B20: - cmp r0, #2 - bne _02236B2E - add r0, r4, #0 - mov r1, #0 - bl MOD83_02235C4C - b _02236D90 + cmp r0, #2 + bne _02236B2E + add r0, r4, #0 + mov r1, #0 + bl MOD83_02235C4C + b _02236D90 _02236B2E: - cmp r0, #4 - bne _02236B68 - mov r0, #8 - str r0, [r4, #8] - mov r0, #0xe - str r0, [r5] - b _02236D90 - .align 2, 0 + cmp r0, #4 + bne _02236B68 + mov r0, #8 + str r0, [r4, #8] + mov r0, #0xe + str r0, [r5] + b _02236D90 + .align 2, 0 _02236B3C: .word UNK_02016FA4 _02236B40: .word 0x000004A8 _02236B44: .word 0x000004AC @@ -18978,288 +18978,288 @@ _02236B5C: .word 0x00000498 _02236B60: .word 0x0000E898 _02236B64: .word 0x0000E888 _02236B68: - cmp r0, #5 - bne _02236B76 - mov r0, #9 - str r0, [r4, #8] - mov r0, #0xe - str r0, [r5] - b _02236D90 + cmp r0, #5 + bne _02236B76 + mov r0, #9 + str r0, [r4, #8] + mov r0, #0xe + str r0, [r5] + b _02236D90 _02236B76: - cmp r0, #6 - bne _02236B84 - mov r0, #0x26 - str r0, [r4, #8] - mov r0, #0xe - str r0, [r5] - b _02236D90 + cmp r0, #6 + bne _02236B84 + mov r0, #0x26 + str r0, [r4, #8] + mov r0, #0xe + str r0, [r5] + b _02236D90 _02236B84: - cmp r0, #7 - bne _02236B9C - mov r0, #0x26 - str r0, [r4, #8] - mov r0, #0xe - str r0, [r5] - b _02236D90 + cmp r0, #7 + bne _02236B9C + mov r0, #0x26 + str r0, [r4, #8] + mov r0, #0xe + str r0, [r5] + b _02236D90 _02236B92: - beq _02236BDC - cmp r6, #0x1f - beq _02236B9E - cmp r6, #0x20 - beq _02236BBC + beq _02236BDC + cmp r6, #0x1f + beq _02236B9E + cmp r6, #0x20 + beq _02236BBC _02236B9C: - b _02236D90 + b _02236D90 _02236B9E: - ldr r0, _02236DA0 ; =0x0000E884 - ldr r1, [r4, r0] - cmp r1, #0 - bne _02236BAA - mov r1, #0xd - b _02236BAC + ldr r0, _02236DA0 ; =0x0000E884 + ldr r1, [r4, r0] + cmp r1, #0 + bne _02236BAA + mov r1, #0xd + b _02236BAC _02236BAA: - sub r1, r1, #1 + sub r1, r1, #1 _02236BAC: - str r1, [r4, r0] - add r0, r4, #0 - bl MOD83_022354F0 - ldr r0, _02236DA4 ; =0x000005DC - bl PlaySE - b _02236D90 + str r1, [r4, r0] + add r0, r4, #0 + bl MOD83_022354F0 + ldr r0, _02236DA4 ; =0x000005DC + bl PlaySE + b _02236D90 _02236BBC: - ldr r0, _02236DA0 ; =0x0000E884 - ldr r1, [r4, r0] - add r1, r1, #1 - str r1, [r4, r0] - ldr r1, [r4, r0] - cmp r1, #0xe - bne _02236BCE - mov r1, #0 - str r1, [r4, r0] + ldr r0, _02236DA0 ; =0x0000E884 + ldr r1, [r4, r0] + add r1, r1, #1 + str r1, [r4, r0] + ldr r1, [r4, r0] + cmp r1, #0xe + bne _02236BCE + mov r1, #0 + str r1, [r4, r0] _02236BCE: - add r0, r4, #0 - bl MOD83_022354F0 - ldr r0, _02236DA4 ; =0x000005DC - bl PlaySE - b _02236D90 + add r0, r4, #0 + bl MOD83_022354F0 + ldr r0, _02236DA4 ; =0x000005DC + bl PlaySE + b _02236D90 _02236BDC: - add r0, r4, #0 - mov r1, #0 - mov r2, #0x18 - add r3, r5, #0 - bl MOD83_02235E34 - ldr r0, _02236DA4 ; =0x000005DC - bl PlaySE - b _02236D90 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x18 + add r3, r5, #0 + bl MOD83_02235E34 + ldr r0, _02236DA4 ; =0x000005DC + bl PlaySE + b _02236D90 _02236BF0: - add r0, r4, #0 - mov r1, #0 - bl MOD83_022366D0 - cmp r0, #0 - beq _02236C50 - ldr r0, _02236DA8 ; =0x00000498 - add r0, r4, r0 - bl MOD83_02236298 - mov r0, #0xd - str r0, [r5] - b _02236D90 + add r0, r4, #0 + mov r1, #0 + bl MOD83_022366D0 + cmp r0, #0 + beq _02236C50 + ldr r0, _02236DA8 ; =0x00000498 + add r0, r4, r0 + bl MOD83_02236298 + mov r0, #0xd + str r0, [r5] + b _02236D90 _02236C0A: - ldr r0, _02236DAC ; =0x0000E888 - ldr r1, [r4, r0] - sub r1, r1, #1 - str r1, [r4, r0] - ldr r0, [r4, r0] - cmp r0, #0 - bne _02236C50 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x10 - add r3, r5, #0 - bl MOD83_02235E04 - b _02236D90 + ldr r0, _02236DAC ; =0x0000E888 + ldr r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0 + bne _02236C50 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x10 + add r3, r5, #0 + bl MOD83_02235E04 + b _02236D90 _02236C26: - add r0, r4, #0 - bl MOD83_022360C8 - add r0, r4, #0 - mov r1, #1 - mov r2, #0x11 - add r3, r5, #0 - bl MOD83_02235E04 - add r0, r4, #0 - bl MOD83_02236450 - b _02236D90 + add r0, r4, #0 + bl MOD83_022360C8 + add r0, r4, #0 + mov r1, #1 + mov r2, #0x11 + add r3, r5, #0 + bl MOD83_02235E04 + add r0, r4, #0 + bl MOD83_02236450 + b _02236D90 _02236C40: - ldr r0, _02236DB0 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_0201466C - cmp r0, #1 - beq _02236C52 - cmp r0, #2 - beq _02236C60 + ldr r0, _02236DB0 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_0201466C + cmp r0, #1 + beq _02236C52 + cmp r0, #2 + beq _02236C60 _02236C50: - b _02236D90 + b _02236D90 _02236C52: - ldr r0, _02236DB0 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - mov r0, #0x12 - str r0, [r5] - b _02236D90 + ldr r0, _02236DB0 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + mov r0, #0x12 + str r0, [r5] + b _02236D90 _02236C60: - ldr r0, _02236DB0 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x14 - add r3, r5, #0 - bl MOD83_02235E04 - b _02236D90 + ldr r0, _02236DB0 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x14 + add r3, r5, #0 + bl MOD83_02235E04 + b _02236D90 _02236C76: - mov r1, #0x46 - mov r0, #0xb - lsl r1, r1, #4 - str r0, [r4, r1] - sub r1, #0x34 - add r0, r4, #0 - add r1, r4, r1 - mov r2, #0 - bl MOD83_02234F2C - add r0, r4, #0 - bl MOD83_02236450 - ldr r0, _02236DA4 ; =0x000005DC - bl PlaySE - mov r0, #0x13 - str r0, [r5] - b _02236D90 + mov r1, #0x46 + mov r0, #0xb + lsl r1, r1, #4 + str r0, [r4, r1] + sub r1, #0x34 + add r0, r4, #0 + add r1, r4, r1 + mov r2, #0 + bl MOD83_02234F2C + add r0, r4, #0 + bl MOD83_02236450 + ldr r0, _02236DA4 ; =0x000005DC + bl PlaySE + mov r0, #0x13 + str r0, [r5] + b _02236D90 _02236C9C: - ldr r0, _02236DB0 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_0201466C - cmp r0, #1 - beq _02236CAE - cmp r0, #2 - beq _02236CF0 - b _02236D90 + ldr r0, _02236DB0 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_0201466C + cmp r0, #1 + beq _02236CAE + cmp r0, #2 + beq _02236CF0 + b _02236D90 _02236CAE: - ldr r0, [r4] - mov r2, #0 - lsl r1, r0, #2 - ldr r0, _02236DB4 ; =MOD83_0223B288 - ldr r0, [r0, r1] - mov r1, #0x46 - lsl r1, r1, #4 - str r0, [r4, r1] - sub r1, #0x34 - add r0, r4, #0 - add r1, r4, r1 - bl MOD83_02234F2C - ldr r0, _02236DB0 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - ldr r0, _02236DB8 ; =0x0000E890 - mov r1, #0 - str r1, [r4, r0] - ldr r1, _02236DA8 ; =0x00000498 - add r0, r4, r1 - sub r1, #0xc6 - bl FUN_0200D858 - ldr r1, _02236DBC ; =0x0000E898 - str r0, [r4, r1] - mov r0, #0x15 - str r0, [r5] - mov r0, #4 - bl SetSoftResetDisableMask - b _02236D90 + ldr r0, [r4] + mov r2, #0 + lsl r1, r0, #2 + ldr r0, _02236DB4 ; =MOD83_0223B288 + ldr r0, [r0, r1] + mov r1, #0x46 + lsl r1, r1, #4 + str r0, [r4, r1] + sub r1, #0x34 + add r0, r4, #0 + add r1, r4, r1 + bl MOD83_02234F2C + ldr r0, _02236DB0 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + ldr r0, _02236DB8 ; =0x0000E890 + mov r1, #0 + str r1, [r4, r0] + ldr r1, _02236DA8 ; =0x00000498 + add r0, r4, r1 + sub r1, #0xc6 + bl FUN_0200D858 + ldr r1, _02236DBC ; =0x0000E898 + str r0, [r4, r1] + mov r0, #0x15 + str r0, [r5] + mov r0, #4 + bl SetSoftResetDisableMask + b _02236D90 _02236CF0: - ldr r0, _02236DB0 ; =0x0000E88C - ldr r0, [r4, r0] - bl FUN_020146C4 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x14 - add r3, r5, #0 - bl MOD83_02235E04 - b _02236D90 + ldr r0, _02236DB0 ; =0x0000E88C + ldr r0, [r4, r0] + bl FUN_020146C4 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x14 + add r3, r5, #0 + bl MOD83_02235E04 + b _02236D90 _02236D06: - add r0, r4, #0 - bl MOD83_022362B8 - mov r0, #0xc - str r0, [r5] - b _02236D90 + add r0, r4, #0 + bl MOD83_022362B8 + mov r0, #0xc + str r0, [r5] + b _02236D90 _02236D12: - add r0, r4, #0 - bl MOD83_02234CE8 - add r6, r0, #0 - cmp r6, #0xa - beq _02236D90 - ldr r0, _02236DBC ; =0x0000E898 - ldr r0, [r4, r0] - bl FUN_0200DBFC - ldr r0, _02236DC0 ; =0x0000061B - bl PlaySE - cmp r6, #0xb - bne _02236D34 - .ifdef DIAMOND - mov r1, #0x1d - .else - mov r1, #0x1e - .endif - b _02236D36 + add r0, r4, #0 + bl MOD83_02234CE8 + add r6, r0, #0 + cmp r6, #0xa + beq _02236D90 + ldr r0, _02236DBC ; =0x0000E898 + ldr r0, [r4, r0] + bl FUN_0200DBFC + ldr r0, _02236DC0 ; =0x0000061B + bl PlaySE + cmp r6, #0xb + bne _02236D34 + .ifdef DIAMOND + mov r1, #0x1d + .else + mov r1, #0x1e + .endif + b _02236D36 _02236D34: - mov r1, #0x24 + mov r1, #0x24 _02236D36: - mov r0, #0x46 - lsl r0, r0, #4 - str r1, [r4, r0] - ldr r1, _02236DC4 ; =0x0000042C - add r0, r4, #0 - add r1, r4, r1 - mov r2, #0 - bl MOD83_02234F2C - mov r0, #0x16 - str r0, [r5] - mov r0, #4 - bl ClearSoftResetDisableMask - b _02236D90 + mov r0, #0x46 + lsl r0, r0, #4 + str r1, [r4, r0] + ldr r1, _02236DC4 ; =0x0000042C + add r0, r4, #0 + add r1, r4, r1 + mov r2, #0 + bl MOD83_02234F2C + mov r0, #0x16 + str r0, [r5] + mov r0, #4 + bl ClearSoftResetDisableMask + b _02236D90 _02236D54: - ldr r0, _02236DC8 ; =gMain + 0x40 - ldrh r0, [r0, #0x20] - cmp r0, #0 - bne _02236D64 - ldr r0, _02236DCC ; =gMain - ldr r0, [r0, #0x48] - cmp r0, #0 - beq _02236D90 + ldr r0, _02236DC8 ; =gMain + 0x40 + ldrh r0, [r0, #0x20] + cmp r0, #0 + bne _02236D64 + ldr r0, _02236DCC ; =gMain + ldr r0, [r0, #0x48] + cmp r0, #0 + beq _02236D90 _02236D64: - add r0, r4, #0 - mov r1, #0 - mov r2, #0x18 - add r3, r5, #0 - bl MOD83_02235E34 - ldr r0, _02236DA4 ; =0x000005DC - bl PlaySE - b _02236D90 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x18 + add r3, r5, #0 + bl MOD83_02235E34 + ldr r0, _02236DA4 ; =0x000005DC + bl PlaySE + b _02236D90 _02236D78: - bl FUN_0200E308 - cmp r0, #0 - beq _02236D90 - ldr r0, [r4, #0x24] - str r0, [r5] - b _02236D90 + bl FUN_0200E308 + cmp r0, #0 + beq _02236D90 + ldr r0, [r4, #0x24] + str r0, [r5] + b _02236D90 _02236D86: - add r0, r4, #0 - bl MOD83_02236330 - mov r0, #1 - pop {r4, r5, r6, pc} + add r0, r4, #0 + bl MOD83_02236330 + mov r0, #1 + pop {r4, r5, r6, pc} _02236D90: - ldr r0, [r4, #0x28] - cmp r0, #0 - beq _02236D9A - bl FUN_0201FDEC + ldr r0, [r4, #0x28] + cmp r0, #0 + beq _02236D9A + bl FUN_0201FDEC _02236D9A: - mov r0, #0 - pop {r4, r5, r6, pc} - nop + mov r0, #0 + pop {r4, r5, r6, pc} + nop _02236DA0: .word 0x0000E884 _02236DA4: .word 0x000005DC _02236DA8: .word 0x00000498 @@ -19272,96 +19272,96 @@ _02236DC0: .word 0x0000061B _02236DC4: .word 0x0000042C _02236DC8: .word gMain + 0x40 _02236DCC: .word gMain - thumb_func_end MOD83_02236804 + thumb_func_end MOD83_02236804 - thumb_func_start MOD83_02236DD0 + thumb_func_start MOD83_02236DD0 MOD83_02236DD0: ; 0x02236DD0 - push {r4, lr} - add r4, r0, #0 - bl OverlayManager_GetData - ldr r0, [r0, #0x20] - bl FreeToHeap - ldr r0, _02236DFC ; =SDK_OVERLAY_MODULE_63_ID - ldr r1, _02236E00 ; =MOD63_021DBAB8 - bl RegisterMainOverlay - add r0, r4, #0 - bl OverlayManager_FreeData - mov r0, #0x4e - bl DestroyHeap - mov r0, #0 - bl MOD83_02239450 - mov r0, #1 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + add r4, r0, #0 + bl OverlayManager_GetData + ldr r0, [r0, #0x20] + bl FreeToHeap + ldr r0, _02236DFC ; =SDK_OVERLAY_MODULE_63_ID + ldr r1, _02236E00 ; =MOD63_021DBAB8 + bl RegisterMainOverlay + add r0, r4, #0 + bl OverlayManager_FreeData + mov r0, #0x4e + bl DestroyHeap + mov r0, #0 + bl MOD83_02239450 + mov r0, #1 + pop {r4, pc} + .align 2, 0 _02236DFC: .word SDK_OVERLAY_MODULE_63_ID _02236E00: .word MOD63_021DBAB8 - thumb_func_end MOD83_02236DD0 + thumb_func_end MOD83_02236DD0 - thumb_func_start MOD83_02236E04 + thumb_func_start MOD83_02236E04 MOD83_02236E04: ; 0x02236E04 - push {r3, lr} - mov r0, #1 - bl CTRDG_IdentifyAgbBackup - cmp r0, #0 - bne _02236E14 - mov r0, #1 - pop {r3, pc} + push {r3, lr} + mov r0, #1 + bl CTRDG_IdentifyAgbBackup + cmp r0, #0 + bne _02236E14 + mov r0, #1 + pop {r3, pc} _02236E14: - mov r0, #0 - pop {r3, pc} - thumb_func_end MOD83_02236E04 + mov r0, #0 + pop {r3, pc} + thumb_func_end MOD83_02236E04 - thumb_func_start MOD83_02236E18 + thumb_func_start MOD83_02236E18 MOD83_02236E18: ; 0x02236E18 - push {r3, lr} - ldr r1, _02236E74 ; =MOD83_0223BB18 - str r0, [r1, #8] - ldr r0, _02236E78 ; =MOD83_0223B41C - ldr r0, [r0] - cmp r0, #0 - beq _02236E2A - mov r0, #0xc - pop {r3, pc} + push {r3, lr} + ldr r1, _02236E74 ; =MOD83_0223BB18 + str r0, [r1, #8] + ldr r0, _02236E78 ; =MOD83_0223B41C + ldr r0, [r0] + cmp r0, #0 + beq _02236E2A + mov r0, #0xc + pop {r3, pc} _02236E2A: - ldr r0, _02236E7C ; =MOD83_0223A5C4 - mov r1, #0x1e - bl MOD83_02236EB4 - cmp r0, #0 - bne _02236E72 - ldr r0, _02236E78 ; =MOD83_0223B41C - ldr r0, [r0] - ldrb r0, [r0, #4] - cmp r0, #0 - bne _02236E5A - mov r0, #0x89 - ldr r1, _02236E80 ; =MOD83_0223BB98 - lsl r0, r0, #4 - str r0, [r1, #0x20] - mov r0, #0xeb - lsl r0, r0, #6 - str r0, [r1, #0x24] - ldr r2, _02236E84 ; =0x00001220 - ldr r0, _02236E74 ; =MOD83_0223BB18 - str r2, [r0, #0x68] - mov r0, #9 - str r0, [r1, #0x30] - b _02236E64 + ldr r0, _02236E7C ; =MOD83_0223A5C4 + mov r1, #0x1e + bl MOD83_02236EB4 + cmp r0, #0 + bne _02236E72 + ldr r0, _02236E78 ; =MOD83_0223B41C + ldr r0, [r0] + ldrb r0, [r0, #4] + cmp r0, #0 + bne _02236E5A + mov r0, #0x89 + ldr r1, _02236E80 ; =MOD83_0223BB98 + lsl r0, r0, #4 + str r0, [r1, #0x20] + mov r0, #0xeb + lsl r0, r0, #6 + str r0, [r1, #0x24] + ldr r2, _02236E84 ; =0x00001220 + ldr r0, _02236E74 ; =MOD83_0223BB18 + str r2, [r0, #0x68] + mov r0, #9 + str r0, [r1, #0x30] + b _02236E64 _02236E5A: - ldr r0, _02236E88 ; =0x08000100 - ldr r1, _02236E8C ; =MOD83_0223BB30 - mov r2, #0xfc - bl CTRDG_CpuCopy32 + ldr r0, _02236E88 ; =0x08000100 + ldr r1, _02236E8C ; =MOD83_0223BB30 + mov r2, #0xfc + bl CTRDG_CpuCopy32 _02236E64: - bl MOD83_02236E04 - cmp r0, #0 - bne _02236E70 - mov r0, #3 - pop {r3, pc} + bl MOD83_02236E04 + cmp r0, #0 + bne _02236E70 + mov r0, #3 + pop {r3, pc} _02236E70: - mov r0, #0 + mov r0, #0 _02236E72: - pop {r3, pc} - .align 2, 0 + pop {r3, pc} + .align 2, 0 _02236E74: .word MOD83_0223BB18 _02236E78: .word MOD83_0223B41C _02236E7C: .word MOD83_0223A5C4 @@ -19369,337 +19369,337 @@ _02236E80: .word MOD83_0223BB98 _02236E84: .word 0x00001220 _02236E88: .word 0x08000100 _02236E8C: .word MOD83_0223BB30 - thumb_func_end MOD83_02236E18 + thumb_func_end MOD83_02236E18 - thumb_func_start MOD83_02236E90 + thumb_func_start MOD83_02236E90 MOD83_02236E90: ; 0x02236E90 - ldr r0, _02236E98 ; =MOD83_0223B41C - mov r1, #0 - str r1, [r0] - bx lr - .align 2, 0 + ldr r0, _02236E98 ; =MOD83_0223B41C + mov r1, #0 + str r1, [r0] + bx lr + .align 2, 0 _02236E98: .word MOD83_0223B41C - thumb_func_end MOD83_02236E90 + thumb_func_end MOD83_02236E90 - thumb_func_start MOD83_02236E9C + thumb_func_start MOD83_02236E9C MOD83_02236E9C: ; 0x02236E9C - ldr r0, _02236EA4 ; =MOD83_0223B41C - ldr r0, [r0] - ldrb r0, [r0, #5] - bx lr - .align 2, 0 + ldr r0, _02236EA4 ; =MOD83_0223B41C + ldr r0, [r0] + ldrb r0, [r0, #5] + bx lr + .align 2, 0 _02236EA4: .word MOD83_0223B41C - thumb_func_end MOD83_02236E9C + thumb_func_end MOD83_02236E9C - thumb_func_start MOD83_02236EA8 + thumb_func_start MOD83_02236EA8 MOD83_02236EA8: ; 0x02236EA8 - ldr r0, _02236EB0 ; =MOD83_0223B41C - ldr r0, [r0] - ldrh r0, [r0, #6] - bx lr - .align 2, 0 + ldr r0, _02236EB0 ; =MOD83_0223B41C + ldr r0, [r0] + ldrh r0, [r0, #6] + bx lr + .align 2, 0 _02236EB0: .word MOD83_0223B41C - thumb_func_end MOD83_02236EA8 + thumb_func_end MOD83_02236EA8 - thumb_func_start MOD83_02236EB4 + thumb_func_start MOD83_02236EB4 MOD83_02236EB4: ; 0x02236EB4 - push {r3, r4, r5, lr} - sub sp, #0xc0 - add r5, r0, #0 - add r4, r1, #0 - ldr r0, _02236F60 ; =MOD83_0223B41C - mov r1, #0 - str r1, [r0] - bl CTRDG_IsAgbCartridge - cmp r0, #0 - bne _02236ED0 - add sp, #0xc0 - mov r0, #1 - pop {r3, r4, r5, pc} + push {r3, r4, r5, lr} + sub sp, #0xc0 + add r5, r0, #0 + add r4, r1, #0 + ldr r0, _02236F60 ; =MOD83_0223B41C + mov r1, #0 + str r1, [r0] + bl CTRDG_IsAgbCartridge + cmp r0, #0 + bne _02236ED0 + add sp, #0xc0 + mov r0, #1 + pop {r3, r4, r5, pc} _02236ED0: - bl CTRDG_GetAgbGameCode - mov r2, #0 - cmp r4, #0 - ble _02236EF4 - add r3, r5, #0 + bl CTRDG_GetAgbGameCode + mov r2, #0 + cmp r4, #0 + ble _02236EF4 + add r3, r5, #0 _02236EDC: - ldr r1, [r3] - cmp r0, r1 - bne _02236EEC - lsl r0, r2, #3 - add r1, r5, r0 - ldr r0, _02236F60 ; =MOD83_0223B41C - str r1, [r0] - b _02236EF4 + ldr r1, [r3] + cmp r0, r1 + bne _02236EEC + lsl r0, r2, #3 + add r1, r5, r0 + ldr r0, _02236F60 ; =MOD83_0223B41C + str r1, [r0] + b _02236EF4 _02236EEC: - add r2, r2, #1 - add r3, #8 - cmp r2, r4 - blt _02236EDC + add r2, r2, #1 + add r3, #8 + cmp r2, r4 + blt _02236EDC _02236EF4: - ldr r0, _02236F60 ; =MOD83_0223B41C - ldr r0, [r0] - cmp r0, #0 - bne _02236F02 - add sp, #0xc0 - mov r0, #2 - pop {r3, r4, r5, pc} + ldr r0, _02236F60 ; =MOD83_0223B41C + ldr r0, [r0] + cmp r0, #0 + bne _02236F02 + add sp, #0xc0 + mov r0, #2 + pop {r3, r4, r5, pc} _02236F02: - mov r0, #1 - bl CTRDG_Enable - add r4, sp, #0 - mov r0, #2 - lsl r0, r0, #0x1a - add r1, r4, #0 - mov r2, #0xc0 - bl CTRDG_CpuCopy32 - ldr r3, _02236F64 ; =MOD83_0223B424 - mov r2, #0 + mov r0, #1 + bl CTRDG_Enable + add r4, sp, #0 + mov r0, #2 + lsl r0, r0, #0x1a + add r1, r4, #0 + mov r2, #0xc0 + bl CTRDG_CpuCopy32 + ldr r3, _02236F64 ; =MOD83_0223B424 + mov r2, #0 _02236F1A: - add r0, r4, r2 - ldrb r1, [r3] - ldrb r0, [r0, #4] - cmp r1, r0 - beq _02236F2A - add sp, #0xc0 - mov r0, #4 - pop {r3, r4, r5, pc} + add r0, r4, r2 + ldrb r1, [r3] + ldrb r0, [r0, #4] + cmp r1, r0 + beq _02236F2A + add sp, #0xc0 + mov r0, #4 + pop {r3, r4, r5, pc} _02236F2A: - add r2, r2, #1 - add r3, r3, #1 - cmp r2, #0x9c - blo _02236F1A - mov r2, #0 - mov r1, #0xa0 + add r2, r2, #1 + add r3, r3, #1 + cmp r2, #0x9c + blo _02236F1A + mov r2, #0 + mov r1, #0xa0 _02236F36: - ldrb r0, [r4, r1] - add r1, r1, #1 - add r0, r2, r0 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r1, #0xbc - ble _02236F36 - add r2, #0x19 - neg r0, r2 - lsl r0, r0, #0x18 - add r4, #0xbd - lsr r1, r0, #0x18 - ldrb r0, [r4] - cmp r0, r1 - beq _02236F5A - add sp, #0xc0 - mov r0, #4 - pop {r3, r4, r5, pc} + ldrb r0, [r4, r1] + add r1, r1, #1 + add r0, r2, r0 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r1, #0xbc + ble _02236F36 + add r2, #0x19 + neg r0, r2 + lsl r0, r0, #0x18 + add r4, #0xbd + lsr r1, r0, #0x18 + ldrb r0, [r4] + cmp r0, r1 + beq _02236F5A + add sp, #0xc0 + mov r0, #4 + pop {r3, r4, r5, pc} _02236F5A: - mov r0, #0 - add sp, #0xc0 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0 + add sp, #0xc0 + pop {r3, r4, r5, pc} + .align 2, 0 _02236F60: .word MOD83_0223B41C _02236F64: .word MOD83_0223B424 - thumb_func_end MOD83_02236EB4 + thumb_func_end MOD83_02236EB4 - thumb_func_start MOD83_02236F68 + thumb_func_start MOD83_02236F68 MOD83_02236F68: ; 0x02236F68 - push {r3, r4} - mov r2, #0 - lsr r4, r1, #2 - add r3, r2, #0 - cmp r4, #0 - ble _02236F84 + push {r3, r4} + mov r2, #0 + lsr r4, r1, #2 + add r3, r2, #0 + cmp r4, #0 + ble _02236F84 _02236F74: - ldr r1, [r0] - add r0, r0, #4 - add r2, r2, r1 - add r1, r3, #1 - lsl r1, r1, #0x10 - lsr r3, r1, #0x10 - cmp r3, r4 - blt _02236F74 + ldr r1, [r0] + add r0, r0, #4 + add r2, r2, r1 + add r1, r3, #1 + lsl r1, r1, #0x10 + lsr r3, r1, #0x10 + cmp r3, r4 + blt _02236F74 _02236F84: - lsr r0, r2, #0x10 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - lsl r0, r2, #0x10 - lsr r0, r0, #0x10 - add r0, r1, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - pop {r3, r4} - bx lr - thumb_func_end MOD83_02236F68 - - thumb_func_start MOD83_02236F98 + lsr r0, r2, #0x10 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r0, r2, #0x10 + lsr r0, r0, #0x10 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r3, r4} + bx lr + thumb_func_end MOD83_02236F68 + + thumb_func_start MOD83_02236F98 MOD83_02236F98: ; 0x02236F98 - push {r3, lr} - lsl r0, r0, #0x10 - mov r3, #1 - add r2, r1, #0 - lsr r0, r0, #0x10 - mov r1, #0 - lsl r3, r3, #0xc - bl CTRDG_ReadAgbFlash - pop {r3, pc} - thumb_func_end MOD83_02236F98 - - thumb_func_start MOD83_02236FAC + push {r3, lr} + lsl r0, r0, #0x10 + mov r3, #1 + add r2, r1, #0 + lsr r0, r0, #0x10 + mov r1, #0 + lsl r3, r3, #0xc + bl CTRDG_ReadAgbFlash + pop {r3, pc} + thumb_func_end MOD83_02236F98 + + thumb_func_start MOD83_02236FAC MOD83_02236FAC: ; 0x02236FAC - cmp r0, #0 - bne _02236FBA - ldr r0, _02236FE0 ; =MOD83_0223BB98 - ldr r0, [r0, #0x20] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr + cmp r0, #0 + bne _02236FBA + ldr r0, _02236FE0 ; =MOD83_0223BB98 + ldr r0, [r0, #0x20] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr _02236FBA: - cmp r0, #4 - bne _02236FCE - ldr r0, _02236FE0 ; =MOD83_0223BB98 - ldr r1, [r0, #0x24] - mov r0, #0xba - lsl r0, r0, #6 - sub r0, r1, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr + cmp r0, #4 + bne _02236FCE + ldr r0, _02236FE0 ; =MOD83_0223BB98 + ldr r1, [r0, #0x24] + mov r0, #0xba + lsl r0, r0, #6 + sub r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr _02236FCE: - cmp r0, #0xd - bne _02236FD8 - mov r0, #0x7d - lsl r0, r0, #4 - bx lr + cmp r0, #0xd + bne _02236FD8 + mov r0, #0x7d + lsl r0, r0, #4 + bx lr _02236FD8: - mov r0, #0x3e - lsl r0, r0, #6 - bx lr - nop + mov r0, #0x3e + lsl r0, r0, #6 + bx lr + nop _02236FE0: .word MOD83_0223BB98 - thumb_func_end MOD83_02236FAC + thumb_func_end MOD83_02236FAC - thumb_func_start MOD83_02236FE4 + thumb_func_start MOD83_02236FE4 MOD83_02236FE4: ; 0x02236FE4 - cmp r0, #0 - bne _02236FF4 - ldr r0, _02237034 ; =MOD83_0223BB18 - ldr r1, [r0, #8] - mov r0, #1 - lsl r0, r0, #0xc - add r0, r1, r0 - bx lr + cmp r0, #0 + bne _02236FF4 + ldr r0, _02237034 ; =MOD83_0223BB18 + ldr r1, [r0, #8] + mov r0, #1 + lsl r0, r0, #0xc + add r0, r1, r0 + bx lr _02236FF4: - cmp r0, #1 - blt _02237012 - cmp r0, #4 - bgt _02237012 - ldr r1, _02237034 ; =MOD83_0223BB18 - ldr r2, [r1, #8] - mov r1, #2 - lsl r1, r1, #0xc - add r2, r2, r1 - sub r1, r0, #1 - mov r0, #0x3e - lsl r0, r0, #6 - mul r0, r1 - add r0, r2, r0 - bx lr + cmp r0, #1 + blt _02237012 + cmp r0, #4 + bgt _02237012 + ldr r1, _02237034 ; =MOD83_0223BB18 + ldr r2, [r1, #8] + mov r1, #2 + lsl r1, r1, #0xc + add r2, r2, r1 + sub r1, r0, #1 + mov r0, #0x3e + lsl r0, r0, #6 + mul r0, r1 + add r0, r2, r0 + bx lr _02237012: - cmp r0, #5 - blt _02237030 - cmp r0, #0xe - bge _02237030 - ldr r1, _02237034 ; =MOD83_0223BB18 - ldr r2, [r1, #8] - mov r1, #6 - lsl r1, r1, #0xc - add r2, r2, r1 - sub r1, r0, #5 - mov r0, #0x3e - lsl r0, r0, #6 - mul r0, r1 - add r0, r2, r0 - bx lr + cmp r0, #5 + blt _02237030 + cmp r0, #0xe + bge _02237030 + ldr r1, _02237034 ; =MOD83_0223BB18 + ldr r2, [r1, #8] + mov r1, #6 + lsl r1, r1, #0xc + add r2, r2, r1 + sub r1, r0, #5 + mov r0, #0x3e + lsl r0, r0, #6 + mul r0, r1 + add r0, r2, r0 + bx lr _02237030: - mov r0, #0 - bx lr - .align 2, 0 + mov r0, #0 + bx lr + .align 2, 0 _02237034: .word MOD83_0223BB18 - thumb_func_end MOD83_02236FE4 + thumb_func_end MOD83_02236FE4 - thumb_func_start MOD83_02237038 + thumb_func_start MOD83_02237038 MOD83_02237038: ; 0x02237038 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - mov r6, #0 - add r5, r1, #0 - str r6, [sp, #4] - add r1, r2, #0 - str r6, [r1] - ldr r1, _022370CC ; =MOD83_0223BB18 - add r7, r0, #0 - str r6, [r1, #4] - mov r1, #0xe - str r2, [sp] - add r4, r6, #0 - mul r7, r1 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + mov r6, #0 + add r5, r1, #0 + str r6, [sp, #4] + add r1, r2, #0 + str r6, [r1] + ldr r1, _022370CC ; =MOD83_0223BB18 + add r7, r0, #0 + str r6, [r1, #4] + mov r1, #0xe + str r2, [sp] + add r4, r6, #0 + mul r7, r1 _02237054: - add r0, r4, #0 - mov r1, #0xe - bl _s32_div_f - add r0, r1, r7 - add r1, r5, #0 - bl MOD83_02236F98 - mov r1, #1 - add r0, r5, #0 - lsl r1, r1, #0xc - bl DC_FlushRange - ldr r0, _022370D0 ; =0x00000FF8 - ldr r1, [r5, r0] - ldr r0, _022370D4 ; =0x08012025 - cmp r1, r0 - bne _022370A6 - mov r0, #1 - str r0, [sp, #4] - ldr r0, _022370D8 ; =0x00000FF4 - ldrh r0, [r5, r0] - bl MOD83_02236FAC - add r1, r0, #0 - add r0, r5, #0 - bl MOD83_02236F68 - ldr r1, _022370DC ; =0x00000FF6 - ldrh r1, [r5, r1] - cmp r1, r0 - bne _022370A6 - ldr r0, _022370E0 ; =0x00000FFC - ldr r1, [r5, r0] - ldr r0, [sp] - str r1, [r0] - ldr r0, _022370D8 ; =0x00000FF4 - ldrh r1, [r5, r0] - mov r0, #1 - lsl r0, r1 - orr r6, r0 + add r0, r4, #0 + mov r1, #0xe + bl _s32_div_f + add r0, r1, r7 + add r1, r5, #0 + bl MOD83_02236F98 + mov r1, #1 + add r0, r5, #0 + lsl r1, r1, #0xc + bl DC_FlushRange + ldr r0, _022370D0 ; =0x00000FF8 + ldr r1, [r5, r0] + ldr r0, _022370D4 ; =0x08012025 + cmp r1, r0 + bne _022370A6 + mov r0, #1 + str r0, [sp, #4] + ldr r0, _022370D8 ; =0x00000FF4 + ldrh r0, [r5, r0] + bl MOD83_02236FAC + add r1, r0, #0 + add r0, r5, #0 + bl MOD83_02236F68 + ldr r1, _022370DC ; =0x00000FF6 + ldrh r1, [r5, r1] + cmp r1, r0 + bne _022370A6 + ldr r0, _022370E0 ; =0x00000FFC + ldr r1, [r5, r0] + ldr r0, [sp] + str r1, [r0] + ldr r0, _022370D8 ; =0x00000FF4 + ldrh r1, [r5, r0] + mov r0, #1 + lsl r0, r1 + orr r6, r0 _022370A6: - add r4, r4, #1 - cmp r4, #0xe - blt _02237054 - ldr r0, [sp, #4] - cmp r0, #0 - beq _022370C4 - ldr r0, _022370E4 ; =0x00003FFF - cmp r6, r0 - bne _022370BE - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + add r4, r4, #1 + cmp r4, #0xe + blt _02237054 + ldr r0, [sp, #4] + cmp r0, #0 + beq _022370C4 + ldr r0, _022370E4 ; =0x00003FFF + cmp r6, r0 + bne _022370BE + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _022370BE: - add sp, #8 - mov r0, #0xff - pop {r3, r4, r5, r6, r7, pc} + add sp, #8 + mov r0, #0xff + pop {r3, r4, r5, r6, r7, pc} _022370C4: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop + mov r0, #0 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop _022370CC: .word MOD83_0223BB18 _022370D0: .word 0x00000FF8 _022370D4: .word 0x08012025 @@ -19707,224 +19707,224 @@ _022370D8: .word 0x00000FF4 _022370DC: .word 0x00000FF6 _022370E0: .word 0x00000FFC _022370E4: .word 0x00003FFF - thumb_func_end MOD83_02237038 + thumb_func_end MOD83_02237038 - thumb_func_start MOD83_022370E8 + thumb_func_start MOD83_022370E8 MOD83_022370E8: ; 0x022370E8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r7, r0, #0 - add r5, r1, #0 - add r4, r2, #0 - mov r0, #0 - add r1, r7, #0 - add r2, sp, #4 - bl MOD83_02237038 - add r6, r0, #0 - mov r0, #1 - add r1, r7, #0 - add r2, sp, #0 - bl MOD83_02237038 - cmp r6, #1 - bne _02237160 - cmp r0, #1 - bne _02237160 - mov r1, #0 - ldr r0, [sp, #4] - mvn r1, r1 - cmp r0, r1 - bne _02237120 - ldr r3, [sp] - cmp r3, #0 - beq _0223712E + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r7, r0, #0 + add r5, r1, #0 + add r4, r2, #0 + mov r0, #0 + add r1, r7, #0 + add r2, sp, #4 + bl MOD83_02237038 + add r6, r0, #0 + mov r0, #1 + add r1, r7, #0 + add r2, sp, #0 + bl MOD83_02237038 + cmp r6, #1 + bne _02237160 + cmp r0, #1 + bne _02237160 + mov r1, #0 + ldr r0, [sp, #4] + mvn r1, r1 + cmp r0, r1 + bne _02237120 + ldr r3, [sp] + cmp r3, #0 + beq _0223712E _02237120: - cmp r0, #0 - bne _02237146 - mov r1, #0 - ldr r3, [sp] - mvn r1, r1 - cmp r3, r1 - bne _02237146 + cmp r0, #0 + bne _02237146 + mov r1, #0 + ldr r3, [sp] + mvn r1, r1 + cmp r3, r1 + bne _02237146 _0223712E: - add r2, r0, #1 - add r1, r3, #1 - cmp r2, r1 - bhs _0223713E - str r3, [r4] - mov r0, #1 - str r0, [r5] - b _0223715A + add r2, r0, #1 + add r1, r3, #1 + cmp r2, r1 + bhs _0223713E + str r3, [r4] + mov r0, #1 + str r0, [r5] + b _0223715A _0223713E: - str r0, [r4] - mov r0, #0 - str r0, [r5] - b _0223715A + str r0, [r4] + mov r0, #0 + str r0, [r5] + b _0223715A _02237146: - ldr r1, [sp] - cmp r0, r1 - bhs _02237154 - str r1, [r4] - mov r0, #1 - str r0, [r5] - b _0223715A + ldr r1, [sp] + cmp r0, r1 + bhs _02237154 + str r1, [r4] + mov r0, #1 + str r0, [r5] + b _0223715A _02237154: - str r0, [r4] - mov r0, #0 - str r0, [r5] + str r0, [r4] + mov r0, #0 + str r0, [r5] _0223715A: - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _02237160: - cmp r6, #1 - bne _02237184 - cmp r0, #1 - beq _02237184 - ldr r1, [sp, #4] - cmp r0, #0xff - str r1, [r4] - bne _0223717A - mov r0, #0 - str r0, [r5] - add sp, #8 - mov r0, #0xff - pop {r3, r4, r5, r6, r7, pc} + cmp r6, #1 + bne _02237184 + cmp r0, #1 + beq _02237184 + ldr r1, [sp, #4] + cmp r0, #0xff + str r1, [r4] + bne _0223717A + mov r0, #0 + str r0, [r5] + add sp, #8 + mov r0, #0xff + pop {r3, r4, r5, r6, r7, pc} _0223717A: - mov r0, #0 - str r0, [r5] - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + mov r0, #0 + str r0, [r5] + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _02237184: - cmp r0, #1 - bne _022371A6 - cmp r6, #1 - beq _022371A6 - ldr r0, [sp] - cmp r6, #0xff - str r0, [r4] - bne _0223719E - mov r0, #1 - str r0, [r5] - add sp, #8 - mov r0, #0xff - pop {r3, r4, r5, r6, r7, pc} + cmp r0, #1 + bne _022371A6 + cmp r6, #1 + beq _022371A6 + ldr r0, [sp] + cmp r6, #0xff + str r0, [r4] + bne _0223719E + mov r0, #1 + str r0, [r5] + add sp, #8 + mov r0, #0xff + pop {r3, r4, r5, r6, r7, pc} _0223719E: - mov r0, #1 - add sp, #8 - str r0, [r5] - pop {r3, r4, r5, r6, r7, pc} + mov r0, #1 + add sp, #8 + str r0, [r5] + pop {r3, r4, r5, r6, r7, pc} _022371A6: - cmp r6, #0 - bne _022371B8 - cmp r0, #0 - bne _022371B8 - mov r0, #0 - str r0, [r4] - add sp, #8 - str r0, [r5] - pop {r3, r4, r5, r6, r7, pc} + cmp r6, #0 + bne _022371B8 + cmp r0, #0 + bne _022371B8 + mov r0, #0 + str r0, [r4] + add sp, #8 + str r0, [r5] + pop {r3, r4, r5, r6, r7, pc} _022371B8: - mov r0, #0 - str r0, [r4] - str r0, [r5] - mov r0, #2 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_022370E8 - - thumb_func_start MOD83_022371C4 + mov r0, #0 + str r0, [r4] + str r0, [r5] + mov r0, #2 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_022370E8 + + thumb_func_start MOD83_022371C4 MOD83_022371C4: ; 0x022371C4 - push {r3, r4, r5, r6, r7, lr} - ldr r0, _02237278 ; =MOD83_0223BB18 - ldr r1, _0223727C ; =MOD83_0223BB18 - ldr r0, [r0, #8] - ldr r2, _02237280 ; =MOD83_0223BB28 - bl MOD83_022370E8 - cmp r0, #1 - beq _022371EE - cmp r0, #0 - beq _022371E6 - cmp r0, #2 - beq _022371EA - cmp r0, #0xff - bne _022371EE - mov r0, #5 - pop {r3, r4, r5, r6, r7, pc} + push {r3, r4, r5, r6, r7, lr} + ldr r0, _02237278 ; =MOD83_0223BB18 + ldr r1, _0223727C ; =MOD83_0223BB18 + ldr r0, [r0, #8] + ldr r2, _02237280 ; =MOD83_0223BB28 + bl MOD83_022370E8 + cmp r0, #1 + beq _022371EE + cmp r0, #0 + beq _022371E6 + cmp r0, #2 + beq _022371EA + cmp r0, #0xff + bne _022371EE + mov r0, #5 + pop {r3, r4, r5, r6, r7, pc} _022371E6: - mov r0, #7 - pop {r3, r4, r5, r6, r7, pc} + mov r0, #7 + pop {r3, r4, r5, r6, r7, pc} _022371EA: - mov r0, #6 - pop {r3, r4, r5, r6, r7, pc} + mov r0, #6 + pop {r3, r4, r5, r6, r7, pc} _022371EE: - ldr r7, _02237278 ; =MOD83_0223BB18 - ldr r0, [r7] - cmp r0, #1 - bhi _02237272 - mov r6, #0 - ldr r5, [r7, #8] - add r4, r6, #0 + ldr r7, _02237278 ; =MOD83_0223BB18 + ldr r0, [r7] + cmp r0, #1 + bhi _02237272 + mov r6, #0 + ldr r5, [r7, #8] + add r4, r6, #0 _022371FC: - ldr r1, [r7] - mov r0, #0xe - mul r0, r1 - add r0, r4, r0 - add r1, r5, #0 - bl MOD83_02236F98 - ldr r0, _02237284 ; =0x00000FF8 - ldr r1, [r5, r0] - ldr r0, _02237288 ; =0x08012025 - cmp r1, r0 - bne _0223725E - ldr r0, _0223728C ; =0x00000FF4 - ldrh r0, [r5, r0] - bl MOD83_02236FAC - add r1, r0, #0 - add r0, r5, #0 - bl MOD83_02236F68 - ldr r1, _02237290 ; =0x00000FF6 - ldrh r1, [r5, r1] - cmp r1, r0 - bne _0223725E - ldr r0, _02237294 ; =0x00000FFC - mov r1, #1 - ldr r0, [r5, r0] - str r0, [r7, #0x10] - ldr r0, _0223728C ; =0x00000FF4 - ldrh r0, [r5, r0] - lsl r1, r0 - orr r6, r1 - bl MOD83_02236FAC - str r0, [sp] - ldr r0, _0223728C ; =0x00000FF4 - ldrh r0, [r5, r0] - bl MOD83_02236FE4 - add r1, r0, #0 - ldr r2, [sp] - add r0, r5, #0 - bl MIi_CpuCopy32 - ldr r0, _0223728C ; =0x00000FF4 - ldrh r0, [r5, r0] - cmp r0, #0 - bne _0223725E - str r4, [r7, #0xc] + ldr r1, [r7] + mov r0, #0xe + mul r0, r1 + add r0, r4, r0 + add r1, r5, #0 + bl MOD83_02236F98 + ldr r0, _02237284 ; =0x00000FF8 + ldr r1, [r5, r0] + ldr r0, _02237288 ; =0x08012025 + cmp r1, r0 + bne _0223725E + ldr r0, _0223728C ; =0x00000FF4 + ldrh r0, [r5, r0] + bl MOD83_02236FAC + add r1, r0, #0 + add r0, r5, #0 + bl MOD83_02236F68 + ldr r1, _02237290 ; =0x00000FF6 + ldrh r1, [r5, r1] + cmp r1, r0 + bne _0223725E + ldr r0, _02237294 ; =0x00000FFC + mov r1, #1 + ldr r0, [r5, r0] + str r0, [r7, #0x10] + ldr r0, _0223728C ; =0x00000FF4 + ldrh r0, [r5, r0] + lsl r1, r0 + orr r6, r1 + bl MOD83_02236FAC + str r0, [sp] + ldr r0, _0223728C ; =0x00000FF4 + ldrh r0, [r5, r0] + bl MOD83_02236FE4 + add r1, r0, #0 + ldr r2, [sp] + add r0, r5, #0 + bl MIi_CpuCopy32 + ldr r0, _0223728C ; =0x00000FF4 + ldrh r0, [r5, r0] + cmp r0, #0 + bne _0223725E + str r4, [r7, #0xc] _0223725E: - add r4, r4, #1 - cmp r4, #0xe - blt _022371FC - ldr r0, _02237298 ; =0x00003FFF - cmp r6, r0 - bne _0223726E - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} + add r4, r4, #1 + cmp r4, #0xe + blt _022371FC + ldr r0, _02237298 ; =0x00003FFF + cmp r6, r0 + bne _0223726E + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} _0223726E: - mov r0, #4 - pop {r3, r4, r5, r6, r7, pc} + mov r0, #4 + pop {r3, r4, r5, r6, r7, pc} _02237272: - mov r0, #6 - pop {r3, r4, r5, r6, r7, pc} - nop + mov r0, #6 + pop {r3, r4, r5, r6, r7, pc} + nop _02237278: .word MOD83_0223BB18 _0223727C: .word MOD83_0223BB18 _02237280: .word MOD83_0223BB28 @@ -19934,2768 +19934,2768 @@ _0223728C: .word 0x00000FF4 _02237290: .word 0x00000FF6 _02237294: .word 0x00000FFC _02237298: .word 0x00003FFF - thumb_func_end MOD83_022371C4 + thumb_func_end MOD83_022371C4 - thumb_func_start MOD83_0223729C + thumb_func_start MOD83_0223729C MOD83_0223729C: ; 0x0223729C - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, _02237318 ; =MOD83_0223BB18 - mov r2, #1 - ldr r4, [r0, #8] - str r2, [r0, #0x14] - mov r0, #0 - add r1, r4, #0 - lsl r2, r2, #0xc - bl MIi_CpuClear32 - add r0, r5, #0 - bl MOD83_02236FAC - add r6, r0, #0 - add r0, r5, #0 - bl MOD83_02236FE4 - add r1, r4, #0 - add r2, r6, #0 - bl MIi_CpuCopy32 - ldr r0, _02237318 ; =MOD83_0223BB18 - ldr r1, [r0, #0x10] - ldr r0, _0223731C ; =0x00000FFC - str r1, [r4, r0] - add r1, r0, #0 - sub r1, #8 - strh r5, [r4, r1] - ldr r1, _02237320 ; =0x08012025 - sub r0, r0, #4 - str r1, [r4, r0] - add r0, r5, #0 - bl MOD83_02236FAC - add r1, r0, #0 - add r0, r4, #0 - bl MOD83_02236F68 - ldr r1, _02237324 ; =0x00000FF6 - strh r0, [r4, r1] - ldr r0, _02237318 ; =MOD83_0223BB18 - mov r1, #0xe - ldr r0, [r0, #0xc] - add r0, r5, r0 - add r0, r0, #1 - bl _s32_div_f - ldr r0, _02237328 ; =MOD83_0223B41C - ldr r3, _0223732C ; =MOD83_02237330 - ldr r2, [r0, #4] - mov r0, #0xe - mul r0, r2 - add r0, r1, r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r1, r4, #0 - mov r2, #4 - bl CTRDG_WriteAndVerifyAgbFlashAsync - pop {r4, r5, r6, pc} - nop + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, _02237318 ; =MOD83_0223BB18 + mov r2, #1 + ldr r4, [r0, #8] + str r2, [r0, #0x14] + mov r0, #0 + add r1, r4, #0 + lsl r2, r2, #0xc + bl MIi_CpuClear32 + add r0, r5, #0 + bl MOD83_02236FAC + add r6, r0, #0 + add r0, r5, #0 + bl MOD83_02236FE4 + add r1, r4, #0 + add r2, r6, #0 + bl MIi_CpuCopy32 + ldr r0, _02237318 ; =MOD83_0223BB18 + ldr r1, [r0, #0x10] + ldr r0, _0223731C ; =0x00000FFC + str r1, [r4, r0] + add r1, r0, #0 + sub r1, #8 + strh r5, [r4, r1] + ldr r1, _02237320 ; =0x08012025 + sub r0, r0, #4 + str r1, [r4, r0] + add r0, r5, #0 + bl MOD83_02236FAC + add r1, r0, #0 + add r0, r4, #0 + bl MOD83_02236F68 + ldr r1, _02237324 ; =0x00000FF6 + strh r0, [r4, r1] + ldr r0, _02237318 ; =MOD83_0223BB18 + mov r1, #0xe + ldr r0, [r0, #0xc] + add r0, r5, r0 + add r0, r0, #1 + bl _s32_div_f + ldr r0, _02237328 ; =MOD83_0223B41C + ldr r3, _0223732C ; =MOD83_02237330 + ldr r2, [r0, #4] + mov r0, #0xe + mul r0, r2 + add r0, r1, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r1, r4, #0 + mov r2, #4 + bl CTRDG_WriteAndVerifyAgbFlashAsync + pop {r4, r5, r6, pc} + nop _02237318: .word MOD83_0223BB18 _0223731C: .word 0x00000FFC _02237320: .word 0x08012025 _02237324: .word 0x00000FF6 _02237328: .word MOD83_0223B41C _0223732C: .word MOD83_02237330 - thumb_func_end MOD83_0223729C + thumb_func_end MOD83_0223729C - thumb_func_start MOD83_02237330 + thumb_func_start MOD83_02237330 MOD83_02237330: ; 0x02237330 - ldr r0, [r0, #8] - cmp r0, #0 - bne _0223735C - ldr r1, _02237368 ; =MOD83_0223BB18 - ldr r0, [r1, #4] - add r0, r0, #1 - str r0, [r1, #4] - cmp r0, #0xe - blt _0223734A - mov r0, #0 - str r0, [r1, #4] - str r0, [r1, #0x14] - bx lr + ldr r0, [r0, #8] + cmp r0, #0 + bne _0223735C + ldr r1, _02237368 ; =MOD83_0223BB18 + ldr r0, [r1, #4] + add r0, r0, #1 + str r0, [r1, #4] + cmp r0, #0xe + blt _0223734A + mov r0, #0 + str r0, [r1, #4] + str r0, [r1, #0x14] + bx lr _0223734A: - cmp r0, #0xd - bne _02237356 - mov r0, #2 - str r0, [r1, #0x14] - mov r0, #0 - bx lr + cmp r0, #0xd + bne _02237356 + mov r0, #2 + str r0, [r1, #0x14] + mov r0, #0 + bx lr _02237356: - mov r0, #3 - str r0, [r1, #0x14] - b _02237362 + mov r0, #3 + str r0, [r1, #0x14] + b _02237362 _0223735C: - ldr r0, _02237368 ; =MOD83_0223BB18 - mov r1, #4 - str r1, [r0, #0x14] + ldr r0, _02237368 ; =MOD83_0223BB18 + mov r1, #4 + str r1, [r0, #0x14] _02237362: - mov r0, #0 - bx lr - nop + mov r0, #0 + bx lr + nop _02237368: .word MOD83_0223BB18 - thumb_func_end MOD83_02237330 + thumb_func_end MOD83_02237330 - thumb_func_start MOD83_0223736C + thumb_func_start MOD83_0223736C MOD83_0223736C: ; 0x0223736C - push {r3, lr} - ldr r1, _022373AC ; =MOD83_0223BB18 - ldr r0, [r1, #4] - cmp r0, #0 - bne _02237392 - ldr r1, [r1] - cmp r1, #1 - bne _02237382 - mov r2, #0 - ldr r1, _022373B0 ; =MOD83_0223B41C - b _02237386 + push {r3, lr} + ldr r1, _022373AC ; =MOD83_0223BB18 + ldr r0, [r1, #4] + cmp r0, #0 + bne _02237392 + ldr r1, [r1] + cmp r1, #1 + bne _02237382 + mov r2, #0 + ldr r1, _022373B0 ; =MOD83_0223B41C + b _02237386 _02237382: - ldr r1, _022373B0 ; =MOD83_0223B41C - mov r2, #1 + ldr r1, _022373B0 ; =MOD83_0223B41C + mov r2, #1 _02237386: - str r2, [r1, #4] - ldr r1, _022373AC ; =MOD83_0223BB18 - ldr r2, [r1, #0x10] - add r2, r2, #1 - str r2, [r1, #0x10] - b _02237396 + str r2, [r1, #4] + ldr r1, _022373AC ; =MOD83_0223BB18 + ldr r2, [r1, #0x10] + add r2, r2, #1 + str r2, [r1, #0x10] + b _02237396 _02237392: - mov r0, #0 - pop {r3, pc} + mov r0, #0 + pop {r3, pc} _02237396: - ldr r1, _022373B0 ; =MOD83_0223B41C - ldr r1, [r1, #4] - cmp r1, #0 - bge _022373A2 - mov r0, #0 - pop {r3, pc} + ldr r1, _022373B0 ; =MOD83_0223B41C + ldr r1, [r1, #4] + cmp r1, #0 + bge _022373A2 + mov r0, #0 + pop {r3, pc} _022373A2: - bl MOD83_0223729C - mov r0, #1 - pop {r3, pc} - nop + bl MOD83_0223729C + mov r0, #1 + pop {r3, pc} + nop _022373AC: .word MOD83_0223BB18 _022373B0: .word MOD83_0223B41C - thumb_func_end MOD83_0223736C + thumb_func_end MOD83_0223736C - thumb_func_start MOD83_022373B4 + thumb_func_start MOD83_022373B4 MOD83_022373B4: ; 0x022373B4 - push {r3, lr} - ldr r1, _022373F0 ; =MOD83_0223BB18 - ldr r0, [r1, #0x14] - cmp r0, #4 - bhi _022373EC - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r3, lr} + ldr r1, _022373F0 ; =MOD83_0223BB18 + ldr r0, [r1, #0x14] + cmp r0, #4 + bhi _022373EC + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022373CA: ; jump table - .short _022373EC - _022373CA - 2 ; case 0 - .short _022373E4 - _022373CA - 2 ; case 1 - .short _022373D4 - _022373CA - 2 ; case 2 - .short _022373DE - _022373CA - 2 ; case 3 - .short _022373E8 - _022373CA - 2 ; case 4 + .short _022373EC - _022373CA - 2 ; case 0 + .short _022373E4 - _022373CA - 2 ; case 1 + .short _022373D4 - _022373CA - 2 ; case 2 + .short _022373DE - _022373CA - 2 ; case 3 + .short _022373E8 - _022373CA - 2 ; case 4 _022373D4: - ldr r0, [r1, #4] - bl MOD83_0223729C - mov r0, #0 - pop {r3, pc} + ldr r0, [r1, #4] + bl MOD83_0223729C + mov r0, #0 + pop {r3, pc} _022373DE: - ldr r0, [r1, #4] - bl MOD83_0223729C + ldr r0, [r1, #4] + bl MOD83_0223729C _022373E4: - mov r0, #0xa - pop {r3, pc} + mov r0, #0xa + pop {r3, pc} _022373E8: - mov r0, #8 - pop {r3, pc} + mov r0, #8 + pop {r3, pc} _022373EC: - mov r0, #0 - pop {r3, pc} - .align 2, 0 + mov r0, #0 + pop {r3, pc} + .align 2, 0 _022373F0: .word MOD83_0223BB18 - thumb_func_end MOD83_022373B4 + thumb_func_end MOD83_022373B4 - thumb_func_start MOD83_022373F4 + thumb_func_start MOD83_022373F4 MOD83_022373F4: ; 0x022373F4 - ldr r0, _02237428 ; =MOD83_0223BB18 - ldr r0, [r0, #0x14] - cmp r0, #4 - bhi _02237422 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + ldr r0, _02237428 ; =MOD83_0223BB18 + ldr r0, [r0, #0x14] + cmp r0, #4 + bhi _02237422 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237408: ; jump table - .short _02237422 - _02237408 - 2 ; case 0 - .short _0223741A - _02237408 - 2 ; case 1 - .short _02237412 - _02237408 - 2 ; case 2 - .short _02237416 - _02237408 - 2 ; case 3 - .short _0223741E - _02237408 - 2 ; case 4 + .short _02237422 - _02237408 - 2 ; case 0 + .short _0223741A - _02237408 - 2 ; case 1 + .short _02237412 - _02237408 - 2 ; case 2 + .short _02237416 - _02237408 - 2 ; case 3 + .short _0223741E - _02237408 - 2 ; case 4 _02237412: - mov r0, #0xb - bx lr + mov r0, #0xb + bx lr _02237416: - mov r0, #0xa - bx lr + mov r0, #0xa + bx lr _0223741A: - mov r0, #9 - bx lr + mov r0, #9 + bx lr _0223741E: - mov r0, #8 - bx lr + mov r0, #8 + bx lr _02237422: - mov r0, #0 - bx lr - nop + mov r0, #0 + bx lr + nop _02237428: .word MOD83_0223BB18 - thumb_func_end MOD83_022373F4 + thumb_func_end MOD83_022373F4 - thumb_func_start MOD83_0223742C + thumb_func_start MOD83_0223742C MOD83_0223742C: ; 0x0223742C - ldr r0, _02237438 ; =MOD83_0223BB18 - ldr r1, [r0, #8] - mov r0, #6 - lsl r0, r0, #0xc - add r0, r1, r0 - bx lr - .align 2, 0 + ldr r0, _02237438 ; =MOD83_0223BB18 + ldr r1, [r0, #8] + mov r0, #6 + lsl r0, r0, #0xc + add r0, r1, r0 + bx lr + .align 2, 0 _02237438: .word MOD83_0223BB18 - thumb_func_end MOD83_0223742C + thumb_func_end MOD83_0223742C - thumb_func_start MOD83_0223743C + thumb_func_start MOD83_0223743C MOD83_0223743C: ; 0x0223743C - ldr r3, _02237444 ; =MOD83_02236FE4 - mov r0, #0 - bx r3 - nop + ldr r3, _02237444 ; =MOD83_02236FE4 + mov r0, #0 + bx r3 + nop _02237444: .word MOD83_02236FE4 - thumb_func_end MOD83_0223743C + thumb_func_end MOD83_0223743C - thumb_func_start MOD83_02237448 + thumb_func_start MOD83_02237448 MOD83_02237448: ; 0x02237448 - push {r3, lr} - bl MOD83_0223743C - ldrb r2, [r0, #0xb] - ldrb r1, [r0, #0xa] - lsl r3, r2, #8 - ldrb r2, [r0, #0xd] - ldrb r0, [r0, #0xc] - lsl r2, r2, #0x18 - lsl r0, r0, #0x10 - orr r0, r2 - orr r0, r3 - orr r0, r1 - pop {r3, pc} - thumb_func_end MOD83_02237448 - - thumb_func_start MOD83_02237464 + push {r3, lr} + bl MOD83_0223743C + ldrb r2, [r0, #0xb] + ldrb r1, [r0, #0xa] + lsl r3, r2, #8 + ldrb r2, [r0, #0xd] + ldrb r0, [r0, #0xc] + lsl r2, r2, #0x18 + lsl r0, r0, #0x10 + orr r0, r2 + orr r0, r3 + orr r0, r1 + pop {r3, pc} + thumb_func_end MOD83_02237448 + + thumb_func_start MOD83_02237464 MOD83_02237464: ; 0x02237464 - ldr r3, _02237468 ; =MOD83_0223743C - bx r3 - .align 2, 0 + ldr r3, _02237468 ; =MOD83_0223743C + bx r3 + .align 2, 0 _02237468: .word MOD83_0223743C - thumb_func_end MOD83_02237464 + thumb_func_end MOD83_02237464 - thumb_func_start MOD83_0223746C + thumb_func_start MOD83_0223746C MOD83_0223746C: ; 0x0223746C - push {r4, r5, r6, lr} - add r4, r0, #0 - add r0, r1, #0 - mov r1, #0x18 - add r5, r2, #0 - mov r6, #0 - bl _u32_div_f - cmp r1, #0x17 - bhi _022374C2 - add r0, r1, r1 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r4, r5, r6, lr} + add r4, r0, #0 + add r0, r1, #0 + mov r1, #0x18 + add r5, r2, #0 + mov r6, #0 + bl _u32_div_f + cmp r1, #0x17 + bhi _022374C2 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0223748C: ; jump table - .short _022374BC - _0223748C - 2 ; case 0 - .short _022374EE - _0223748C - 2 ; case 1 - .short _0223751E - _0223748C - 2 ; case 2 - .short _0223754E - _0223748C - 2 ; case 3 - .short _0223757E - _0223748C - 2 ; case 4 - .short _022375AE - _0223748C - 2 ; case 5 - .short _022375DE - _0223748C - 2 ; case 6 - .short _02237610 - _0223748C - 2 ; case 7 - .short _02237640 - _0223748C - 2 ; case 8 - .short _02237670 - _0223748C - 2 ; case 9 - .short _022376A0 - _0223748C - 2 ; case 10 - .short _022376D0 - _0223748C - 2 ; case 11 - .short _02237700 - _0223748C - 2 ; case 12 - .short _02237732 - _0223748C - 2 ; case 13 - .short _02237762 - _0223748C - 2 ; case 14 - .short _02237792 - _0223748C - 2 ; case 15 - .short _022377C2 - _0223748C - 2 ; case 16 - .short _022377F2 - _0223748C - 2 ; case 17 - .short _02237822 - _0223748C - 2 ; case 18 - .short _02237854 - _0223748C - 2 ; case 19 - .short _02237884 - _0223748C - 2 ; case 20 - .short _022378B4 - _0223748C - 2 ; case 21 - .short _022378E4 - _0223748C - 2 ; case 22 - .short _02237914 - _0223748C - 2 ; case 23 + .short _022374BC - _0223748C - 2 ; case 0 + .short _022374EE - _0223748C - 2 ; case 1 + .short _0223751E - _0223748C - 2 ; case 2 + .short _0223754E - _0223748C - 2 ; case 3 + .short _0223757E - _0223748C - 2 ; case 4 + .short _022375AE - _0223748C - 2 ; case 5 + .short _022375DE - _0223748C - 2 ; case 6 + .short _02237610 - _0223748C - 2 ; case 7 + .short _02237640 - _0223748C - 2 ; case 8 + .short _02237670 - _0223748C - 2 ; case 9 + .short _022376A0 - _0223748C - 2 ; case 10 + .short _022376D0 - _0223748C - 2 ; case 11 + .short _02237700 - _0223748C - 2 ; case 12 + .short _02237732 - _0223748C - 2 ; case 13 + .short _02237762 - _0223748C - 2 ; case 14 + .short _02237792 - _0223748C - 2 ; case 15 + .short _022377C2 - _0223748C - 2 ; case 16 + .short _022377F2 - _0223748C - 2 ; case 17 + .short _02237822 - _0223748C - 2 ; case 18 + .short _02237854 - _0223748C - 2 ; case 19 + .short _02237884 - _0223748C - 2 ; case 20 + .short _022378B4 - _0223748C - 2 ; case 21 + .short _022378E4 - _0223748C - 2 ; case 22 + .short _02237914 - _0223748C - 2 ; case 23 _022374BC: - add r4, #0x20 - cmp r5, #3 - bls _022374C4 + add r4, #0x20 + cmp r5, #3 + bls _022374C4 _022374C2: - b _02237942 + b _02237942 _022374C4: - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022374D0: ; jump table - .short _022374D8 - _022374D0 - 2 ; case 0 - .short _022374DC - _022374D0 - 2 ; case 1 - .short _022374E2 - _022374D0 - 2 ; case 2 - .short _022374E8 - _022374D0 - 2 ; case 3 + .short _022374D8 - _022374D0 - 2 ; case 0 + .short _022374DC - _022374D0 - 2 ; case 1 + .short _022374E2 - _022374D0 - 2 ; case 2 + .short _022374E8 - _022374D0 - 2 ; case 3 _022374D8: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _022374DC: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _022374E2: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022374E8: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022374EE: - add r4, #0x20 - cmp r5, #3 - bhi _022375E4 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _022375E4 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237500: ; jump table - .short _02237508 - _02237500 - 2 ; case 0 - .short _0223750C - _02237500 - 2 ; case 1 - .short _02237512 - _02237500 - 2 ; case 2 - .short _02237518 - _02237500 - 2 ; case 3 + .short _02237508 - _02237500 - 2 ; case 0 + .short _0223750C - _02237500 - 2 ; case 1 + .short _02237512 - _02237500 - 2 ; case 2 + .short _02237518 - _02237500 - 2 ; case 3 _02237508: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _0223750C: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237512: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237518: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _0223751E: - add r4, #0x20 - cmp r5, #3 - bhi _022375E4 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _022375E4 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237530: ; jump table - .short _02237538 - _02237530 - 2 ; case 0 - .short _0223753C - _02237530 - 2 ; case 1 - .short _02237542 - _02237530 - 2 ; case 2 - .short _02237548 - _02237530 - 2 ; case 3 + .short _02237538 - _02237530 - 2 ; case 0 + .short _0223753C - _02237530 - 2 ; case 1 + .short _02237542 - _02237530 - 2 ; case 2 + .short _02237548 - _02237530 - 2 ; case 3 _02237538: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _0223753C: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237542: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237548: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _0223754E: - add r4, #0x20 - cmp r5, #3 - bhi _022375E4 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _022375E4 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237560: ; jump table - .short _02237568 - _02237560 - 2 ; case 0 - .short _0223756C - _02237560 - 2 ; case 1 - .short _02237572 - _02237560 - 2 ; case 2 - .short _02237578 - _02237560 - 2 ; case 3 + .short _02237568 - _02237560 - 2 ; case 0 + .short _0223756C - _02237560 - 2 ; case 1 + .short _02237572 - _02237560 - 2 ; case 2 + .short _02237578 - _02237560 - 2 ; case 3 _02237568: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _0223756C: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237572: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237578: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _0223757E: - add r4, #0x20 - cmp r5, #3 - bhi _022375E4 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _022375E4 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237590: ; jump table - .short _02237598 - _02237590 - 2 ; case 0 - .short _0223759C - _02237590 - 2 ; case 1 - .short _022375A2 - _02237590 - 2 ; case 2 - .short _022375A8 - _02237590 - 2 ; case 3 + .short _02237598 - _02237590 - 2 ; case 0 + .short _0223759C - _02237590 - 2 ; case 1 + .short _022375A2 - _02237590 - 2 ; case 2 + .short _022375A8 - _02237590 - 2 ; case 3 _02237598: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _0223759C: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022375A2: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022375A8: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _022375AE: - add r4, #0x20 - cmp r5, #3 - bhi _022375E4 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _022375E4 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022375C0: ; jump table - .short _022375C8 - _022375C0 - 2 ; case 0 - .short _022375CC - _022375C0 - 2 ; case 1 - .short _022375D2 - _022375C0 - 2 ; case 2 - .short _022375D8 - _022375C0 - 2 ; case 3 + .short _022375C8 - _022375C0 - 2 ; case 0 + .short _022375CC - _022375C0 - 2 ; case 1 + .short _022375D2 - _022375C0 - 2 ; case 2 + .short _022375D8 - _022375C0 - 2 ; case 3 _022375C8: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _022375CC: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022375D2: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022375D8: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _022375DE: - add r4, #0x20 - cmp r5, #3 - bls _022375E6 + add r4, #0x20 + cmp r5, #3 + bls _022375E6 _022375E4: - b _02237942 + b _02237942 _022375E6: - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022375F2: ; jump table - .short _022375FA - _022375F2 - 2 ; case 0 - .short _02237600 - _022375F2 - 2 ; case 1 - .short _02237604 - _022375F2 - 2 ; case 2 - .short _0223760A - _022375F2 - 2 ; case 3 + .short _022375FA - _022375F2 - 2 ; case 0 + .short _02237600 - _022375F2 - 2 ; case 1 + .short _02237604 - _022375F2 - 2 ; case 2 + .short _0223760A - _022375F2 - 2 ; case 3 _022375FA: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237600: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _02237604: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _0223760A: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237610: - add r4, #0x20 - cmp r5, #3 - bhi _02237706 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237706 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237622: ; jump table - .short _0223762A - _02237622 - 2 ; case 0 - .short _02237630 - _02237622 - 2 ; case 1 - .short _02237634 - _02237622 - 2 ; case 2 - .short _0223763A - _02237622 - 2 ; case 3 + .short _0223762A - _02237622 - 2 ; case 0 + .short _02237630 - _02237622 - 2 ; case 1 + .short _02237634 - _02237622 - 2 ; case 2 + .short _0223763A - _02237622 - 2 ; case 3 _0223762A: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237630: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _02237634: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _0223763A: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237640: - add r4, #0x20 - cmp r5, #3 - bhi _02237706 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237706 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237652: ; jump table - .short _0223765A - _02237652 - 2 ; case 0 - .short _02237660 - _02237652 - 2 ; case 1 - .short _02237664 - _02237652 - 2 ; case 2 - .short _0223766A - _02237652 - 2 ; case 3 + .short _0223765A - _02237652 - 2 ; case 0 + .short _02237660 - _02237652 - 2 ; case 1 + .short _02237664 - _02237652 - 2 ; case 2 + .short _0223766A - _02237652 - 2 ; case 3 _0223765A: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237660: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _02237664: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _0223766A: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237670: - add r4, #0x20 - cmp r5, #3 - bhi _02237706 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237706 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237682: ; jump table - .short _0223768A - _02237682 - 2 ; case 0 - .short _02237690 - _02237682 - 2 ; case 1 - .short _02237694 - _02237682 - 2 ; case 2 - .short _0223769A - _02237682 - 2 ; case 3 + .short _0223768A - _02237682 - 2 ; case 0 + .short _02237690 - _02237682 - 2 ; case 1 + .short _02237694 - _02237682 - 2 ; case 2 + .short _0223769A - _02237682 - 2 ; case 3 _0223768A: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237690: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _02237694: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _0223769A: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022376A0: - add r4, #0x20 - cmp r5, #3 - bhi _02237706 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237706 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022376B2: ; jump table - .short _022376BA - _022376B2 - 2 ; case 0 - .short _022376C0 - _022376B2 - 2 ; case 1 - .short _022376C4 - _022376B2 - 2 ; case 2 - .short _022376CA - _022376B2 - 2 ; case 3 + .short _022376BA - _022376B2 - 2 ; case 0 + .short _022376C0 - _022376B2 - 2 ; case 1 + .short _022376C4 - _022376B2 - 2 ; case 2 + .short _022376CA - _022376B2 - 2 ; case 3 _022376BA: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022376C0: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _022376C4: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022376CA: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _022376D0: - add r4, #0x20 - cmp r5, #3 - bhi _02237706 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237706 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022376E2: ; jump table - .short _022376EA - _022376E2 - 2 ; case 0 - .short _022376F0 - _022376E2 - 2 ; case 1 - .short _022376F4 - _022376E2 - 2 ; case 2 - .short _022376FA - _022376E2 - 2 ; case 3 + .short _022376EA - _022376E2 - 2 ; case 0 + .short _022376F0 - _022376E2 - 2 ; case 1 + .short _022376F4 - _022376E2 - 2 ; case 2 + .short _022376FA - _022376E2 - 2 ; case 3 _022376EA: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022376F0: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _022376F4: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022376FA: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237700: - add r4, #0x20 - cmp r5, #3 - bls _02237708 + add r4, #0x20 + cmp r5, #3 + bls _02237708 _02237706: - b _02237942 + b _02237942 _02237708: - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237714: ; jump table - .short _0223771C - _02237714 - 2 ; case 0 - .short _02237722 - _02237714 - 2 ; case 1 - .short _02237728 - _02237714 - 2 ; case 2 - .short _0223772C - _02237714 - 2 ; case 3 + .short _0223771C - _02237714 - 2 ; case 0 + .short _02237722 - _02237714 - 2 ; case 1 + .short _02237728 - _02237714 - 2 ; case 2 + .short _0223772C - _02237714 - 2 ; case 3 _0223771C: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237722: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237728: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _0223772C: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237732: - add r4, #0x20 - cmp r5, #3 - bhi _02237828 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237828 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237744: ; jump table - .short _0223774C - _02237744 - 2 ; case 0 - .short _02237752 - _02237744 - 2 ; case 1 - .short _02237758 - _02237744 - 2 ; case 2 - .short _0223775C - _02237744 - 2 ; case 3 + .short _0223774C - _02237744 - 2 ; case 0 + .short _02237752 - _02237744 - 2 ; case 1 + .short _02237758 - _02237744 - 2 ; case 2 + .short _0223775C - _02237744 - 2 ; case 3 _0223774C: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237752: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237758: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _0223775C: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237762: - add r4, #0x20 - cmp r5, #3 - bhi _02237828 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237828 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237774: ; jump table - .short _0223777C - _02237774 - 2 ; case 0 - .short _02237782 - _02237774 - 2 ; case 1 - .short _02237788 - _02237774 - 2 ; case 2 - .short _0223778C - _02237774 - 2 ; case 3 + .short _0223777C - _02237774 - 2 ; case 0 + .short _02237782 - _02237774 - 2 ; case 1 + .short _02237788 - _02237774 - 2 ; case 2 + .short _0223778C - _02237774 - 2 ; case 3 _0223777C: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237782: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237788: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _0223778C: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237792: - add r4, #0x20 - cmp r5, #3 - bhi _02237828 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237828 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022377A4: ; jump table - .short _022377AC - _022377A4 - 2 ; case 0 - .short _022377B2 - _022377A4 - 2 ; case 1 - .short _022377B8 - _022377A4 - 2 ; case 2 - .short _022377BC - _022377A4 - 2 ; case 3 + .short _022377AC - _022377A4 - 2 ; case 0 + .short _022377B2 - _022377A4 - 2 ; case 1 + .short _022377B8 - _022377A4 - 2 ; case 2 + .short _022377BC - _022377A4 - 2 ; case 3 _022377AC: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022377B2: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _022377B8: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _022377BC: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022377C2: - add r4, #0x20 - cmp r5, #3 - bhi _02237828 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237828 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022377D4: ; jump table - .short _022377DC - _022377D4 - 2 ; case 0 - .short _022377E2 - _022377D4 - 2 ; case 1 - .short _022377E8 - _022377D4 - 2 ; case 2 - .short _022377EC - _022377D4 - 2 ; case 3 + .short _022377DC - _022377D4 - 2 ; case 0 + .short _022377E2 - _022377D4 - 2 ; case 1 + .short _022377E8 - _022377D4 - 2 ; case 2 + .short _022377EC - _022377D4 - 2 ; case 3 _022377DC: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022377E2: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022377E8: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _022377EC: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _022377F2: - add r4, #0x20 - cmp r5, #3 - bhi _02237828 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237828 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237804: ; jump table - .short _0223780C - _02237804 - 2 ; case 0 - .short _02237812 - _02237804 - 2 ; case 1 - .short _02237818 - _02237804 - 2 ; case 2 - .short _0223781C - _02237804 - 2 ; case 3 + .short _0223780C - _02237804 - 2 ; case 0 + .short _02237812 - _02237804 - 2 ; case 1 + .short _02237818 - _02237804 - 2 ; case 2 + .short _0223781C - _02237804 - 2 ; case 3 _0223780C: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237812: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237818: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _0223781C: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237822: - add r4, #0x20 - cmp r5, #3 - bls _0223782A + add r4, #0x20 + cmp r5, #3 + bls _0223782A _02237828: - b _02237942 + b _02237942 _0223782A: - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237836: ; jump table - .short _0223783E - _02237836 - 2 ; case 0 - .short _02237844 - _02237836 - 2 ; case 1 - .short _0223784A - _02237836 - 2 ; case 2 - .short _02237850 - _02237836 - 2 ; case 3 + .short _0223783E - _02237836 - 2 ; case 0 + .short _02237844 - _02237836 - 2 ; case 1 + .short _0223784A - _02237836 - 2 ; case 2 + .short _02237850 - _02237836 - 2 ; case 3 _0223783E: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237844: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _0223784A: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237850: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _02237854: - add r4, #0x20 - cmp r5, #3 - bhi _02237942 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237942 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237866: ; jump table - .short _0223786E - _02237866 - 2 ; case 0 - .short _02237874 - _02237866 - 2 ; case 1 - .short _0223787A - _02237866 - 2 ; case 2 - .short _02237880 - _02237866 - 2 ; case 3 + .short _0223786E - _02237866 - 2 ; case 0 + .short _02237874 - _02237866 - 2 ; case 1 + .short _0223787A - _02237866 - 2 ; case 2 + .short _02237880 - _02237866 - 2 ; case 3 _0223786E: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237874: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _0223787A: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237880: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _02237884: - add r4, #0x20 - cmp r5, #3 - bhi _02237942 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237942 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237896: ; jump table - .short _0223789E - _02237896 - 2 ; case 0 - .short _022378A4 - _02237896 - 2 ; case 1 - .short _022378AA - _02237896 - 2 ; case 2 - .short _022378B0 - _02237896 - 2 ; case 3 + .short _0223789E - _02237896 - 2 ; case 0 + .short _022378A4 - _02237896 - 2 ; case 1 + .short _022378AA - _02237896 - 2 ; case 2 + .short _022378B0 - _02237896 - 2 ; case 3 _0223789E: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022378A4: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _022378AA: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022378B0: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _022378B4: - add r4, #0x20 - cmp r5, #3 - bhi _02237942 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237942 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022378C6: ; jump table - .short _022378CE - _022378C6 - 2 ; case 0 - .short _022378D4 - _022378C6 - 2 ; case 1 - .short _022378DA - _022378C6 - 2 ; case 2 - .short _022378E0 - _022378C6 - 2 ; case 3 + .short _022378CE - _022378C6 - 2 ; case 0 + .short _022378D4 - _022378C6 - 2 ; case 1 + .short _022378DA - _022378C6 - 2 ; case 2 + .short _022378E0 - _022378C6 - 2 ; case 3 _022378CE: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _022378D4: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _022378DA: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _022378E0: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _022378E4: - add r4, #0x20 - cmp r5, #3 - bhi _02237942 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237942 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022378F6: ; jump table - .short _022378FE - _022378F6 - 2 ; case 0 - .short _02237904 - _022378F6 - 2 ; case 1 - .short _0223790A - _022378F6 - 2 ; case 2 - .short _02237910 - _022378F6 - 2 ; case 3 + .short _022378FE - _022378F6 - 2 ; case 0 + .short _02237904 - _022378F6 - 2 ; case 1 + .short _0223790A - _022378F6 - 2 ; case 2 + .short _02237910 - _022378F6 - 2 ; case 3 _022378FE: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _02237904: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _0223790A: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237910: - add r6, r4, #0 - b _02237942 + add r6, r4, #0 + b _02237942 _02237914: - add r4, #0x20 - cmp r5, #3 - bhi _02237942 - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r4, #0x20 + cmp r5, #3 + bhi _02237942 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237926: ; jump table - .short _0223792E - _02237926 - 2 ; case 0 - .short _02237934 - _02237926 - 2 ; case 1 - .short _0223793A - _02237926 - 2 ; case 2 - .short _02237940 - _02237926 - 2 ; case 3 + .short _0223792E - _02237926 - 2 ; case 0 + .short _02237934 - _02237926 - 2 ; case 1 + .short _0223793A - _02237926 - 2 ; case 2 + .short _02237940 - _02237926 - 2 ; case 3 _0223792E: - add r6, r4, #0 - add r6, #0x24 - b _02237942 + add r6, r4, #0 + add r6, #0x24 + b _02237942 _02237934: - add r6, r4, #0 - add r6, #0x18 - b _02237942 + add r6, r4, #0 + add r6, #0x18 + b _02237942 _0223793A: - add r6, r4, #0 - add r6, #0xc - b _02237942 + add r6, r4, #0 + add r6, #0xc + b _02237942 _02237940: - add r6, r4, #0 + add r6, r4, #0 _02237942: - add r0, r6, #0 - pop {r4, r5, r6, pc} - .align 2, 0 - thumb_func_end MOD83_0223746C + add r0, r6, #0 + pop {r4, r5, r6, pc} + .align 2, 0 + thumb_func_end MOD83_0223746C - thumb_func_start MOD83_02237948 + thumb_func_start MOD83_02237948 MOD83_02237948: ; 0x02237948 - push {r3, r4} - add r4, r0, #0 - mov r3, #0 - add r4, #0x20 + push {r3, r4} + add r4, r0, #0 + mov r3, #0 + add r4, #0x20 _02237950: - ldr r2, [r4] - ldr r1, [r0, #4] - add r3, r3, #1 - eor r2, r1 - str r2, [r4] - ldr r1, [r0] - eor r1, r2 - stmia r4!, {r1} - cmp r3, #0xc - blo _02237950 - pop {r3, r4} - bx lr - thumb_func_end MOD83_02237948 - - thumb_func_start MOD83_02237968 + ldr r2, [r4] + ldr r1, [r0, #4] + add r3, r3, #1 + eor r2, r1 + str r2, [r4] + ldr r1, [r0] + eor r1, r2 + stmia r4!, {r1} + cmp r3, #0xc + blo _02237950 + pop {r3, r4} + bx lr + thumb_func_end MOD83_02237948 + + thumb_func_start MOD83_02237968 MOD83_02237968: ; 0x02237968 - push {r3, r4} - add r4, r0, #0 - mov r3, #0 - add r4, #0x20 + push {r3, r4} + add r4, r0, #0 + mov r3, #0 + add r4, #0x20 _02237970: - ldr r2, [r4] - ldr r1, [r0] - add r3, r3, #1 - eor r2, r1 - str r2, [r4] - ldr r1, [r0, #4] - eor r1, r2 - stmia r4!, {r1} - cmp r3, #0xc - blo _02237970 - pop {r3, r4} - bx lr - thumb_func_end MOD83_02237968 - - thumb_func_start MOD83_02237988 + ldr r2, [r4] + ldr r1, [r0] + add r3, r3, #1 + eor r2, r1 + str r2, [r4] + ldr r1, [r0, #4] + eor r1, r2 + stmia r4!, {r1} + cmp r3, #0xc + blo _02237970 + pop {r3, r4} + bx lr + thumb_func_end MOD83_02237968 + + thumb_func_start MOD83_02237988 MOD83_02237988: ; 0x02237988 - push {r3, r4, r5, r6, r7, lr} - add r1, r0, #0 - mov r4, #0 - ldr r1, [r1] - str r0, [sp] - add r2, r4, #0 - bl MOD83_0223746C - add r5, r0, #0 - ldr r0, [sp] - mov r2, #1 - add r1, r0, #0 - ldr r1, [r1] - bl MOD83_0223746C - add r6, r0, #0 - ldr r0, [sp] - mov r2, #2 - add r1, r0, #0 - ldr r1, [r1] - bl MOD83_0223746C - add r7, r0, #0 - ldr r0, [sp] - mov r2, #3 - add r1, r0, #0 - ldr r1, [r1] - bl MOD83_0223746C - add r1, r4, #0 + push {r3, r4, r5, r6, r7, lr} + add r1, r0, #0 + mov r4, #0 + ldr r1, [r1] + str r0, [sp] + add r2, r4, #0 + bl MOD83_0223746C + add r5, r0, #0 + ldr r0, [sp] + mov r2, #1 + add r1, r0, #0 + ldr r1, [r1] + bl MOD83_0223746C + add r6, r0, #0 + ldr r0, [sp] + mov r2, #2 + add r1, r0, #0 + ldr r1, [r1] + bl MOD83_0223746C + add r7, r0, #0 + ldr r0, [sp] + mov r2, #3 + add r1, r0, #0 + ldr r1, [r1] + bl MOD83_0223746C + add r1, r4, #0 _022379C4: - ldrh r2, [r5] - add r1, r1, #1 - add r5, r5, #2 - add r2, r4, r2 - lsl r2, r2, #0x10 - lsr r4, r2, #0x10 - cmp r1, #6 - blt _022379C4 - mov r2, #0 + ldrh r2, [r5] + add r1, r1, #1 + add r5, r5, #2 + add r2, r4, r2 + lsl r2, r2, #0x10 + lsr r4, r2, #0x10 + cmp r1, #6 + blt _022379C4 + mov r2, #0 _022379D6: - ldrh r1, [r6] - add r2, r2, #1 - add r6, r6, #2 - add r1, r4, r1 - lsl r1, r1, #0x10 - lsr r4, r1, #0x10 - cmp r2, #6 - blt _022379D6 - mov r2, #0 + ldrh r1, [r6] + add r2, r2, #1 + add r6, r6, #2 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r2, #6 + blt _022379D6 + mov r2, #0 _022379E8: - ldrh r1, [r7] - add r2, r2, #1 - add r7, r7, #2 - add r1, r4, r1 - lsl r1, r1, #0x10 - lsr r4, r1, #0x10 - cmp r2, #6 - blt _022379E8 - mov r2, #0 + ldrh r1, [r7] + add r2, r2, #1 + add r7, r7, #2 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r2, #6 + blt _022379E8 + mov r2, #0 _022379FA: - ldrh r1, [r0] - add r2, r2, #1 - add r0, r0, #2 - add r1, r4, r1 - lsl r1, r1, #0x10 - lsr r4, r1, #0x10 - cmp r2, #6 - blt _022379FA - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end MOD83_02237988 - - thumb_func_start AGB_GetBoxMonData + ldrh r1, [r0] + add r2, r2, #1 + add r0, r0, #2 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r2, #6 + blt _022379FA + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end MOD83_02237988 + + thumb_func_start AGB_GetBoxMonData AGB_GetBoxMonData: ; 0x02237A10 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - mov r4, #0 - add r5, r0, #0 - str r1, [sp] - add r7, r2, #0 - add r6, r4, #0 - str r4, [sp, #0xc] - str r4, [sp, #8] - str r4, [sp, #4] - cmp r1, #0xa - ble _02237A86 - ldr r1, [r5] - add r2, r4, #0 - bl MOD83_0223746C - str r0, [sp, #0xc] - ldr r1, [r5] - add r0, r5, #0 - mov r2, #1 - bl MOD83_0223746C - str r0, [sp, #8] - ldr r1, [r5] - add r0, r5, #0 - mov r2, #2 - bl MOD83_0223746C - str r0, [sp, #4] - ldr r1, [r5] - add r0, r5, #0 - mov r2, #3 - bl MOD83_0223746C - add r6, r0, #0 - add r0, r5, #0 - bl MOD83_02237948 - add r0, r5, #0 - bl MOD83_02237988 - ldrh r1, [r5, #0x1c] - cmp r0, r1 - beq _02237A86 - ldrb r0, [r5, #0x13] - mov r1, #1 - bic r0, r1 - mov r1, #1 - orr r0, r1 - strb r0, [r5, #0x13] - ldrb r1, [r5, #0x13] - mov r0, #4 - orr r0, r1 - strb r0, [r5, #0x13] - mov r0, #1 - ldr r1, [r6, #4] - lsl r0, r0, #0x1e - orr r0, r1 - str r0, [r6, #4] + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + mov r4, #0 + add r5, r0, #0 + str r1, [sp] + add r7, r2, #0 + add r6, r4, #0 + str r4, [sp, #0xc] + str r4, [sp, #8] + str r4, [sp, #4] + cmp r1, #0xa + ble _02237A86 + ldr r1, [r5] + add r2, r4, #0 + bl MOD83_0223746C + str r0, [sp, #0xc] + ldr r1, [r5] + add r0, r5, #0 + mov r2, #1 + bl MOD83_0223746C + str r0, [sp, #8] + ldr r1, [r5] + add r0, r5, #0 + mov r2, #2 + bl MOD83_0223746C + str r0, [sp, #4] + ldr r1, [r5] + add r0, r5, #0 + mov r2, #3 + bl MOD83_0223746C + add r6, r0, #0 + add r0, r5, #0 + bl MOD83_02237948 + add r0, r5, #0 + bl MOD83_02237988 + ldrh r1, [r5, #0x1c] + cmp r0, r1 + beq _02237A86 + ldrb r0, [r5, #0x13] + mov r1, #1 + bic r0, r1 + mov r1, #1 + orr r0, r1 + strb r0, [r5, #0x13] + ldrb r1, [r5, #0x13] + mov r0, #4 + orr r0, r1 + strb r0, [r5, #0x13] + mov r0, #1 + ldr r1, [r6, #4] + lsl r0, r0, #0x1e + orr r0, r1 + str r0, [r6, #4] _02237A86: - ldr r0, [sp] - cmp r0, #0x50 - bls _02237A8E - b _02237D7C + ldr r0, [sp] + cmp r0, #0x50 + bls _02237A8E + b _02237D7C _02237A8E: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237A9A: ; jump table - .short _02237B3C - _02237A9A - 2 ; case 0 - .short _02237B40 - _02237A9A - 2 ; case 1 - .short _02237B44 - _02237A9A - 2 ; case 2 - .short _02237B64 - _02237A9A - 2 ; case 3 - .short _02237B68 - _02237A9A - 2 ; case 4 - .short _02237B70 - _02237A9A - 2 ; case 5 - .short _02237B78 - _02237A9A - 2 ; case 6 - .short _02237B80 - _02237A9A - 2 ; case 7 - .short _02237B94 - _02237A9A - 2 ; case 8 - .short _02237B98 - _02237A9A - 2 ; case 9 - .short _02237B9C - _02237A9A - 2 ; case 10 - .short _02237BA0 - _02237A9A - 2 ; case 11 - .short _02237BB4 - _02237A9A - 2 ; case 12 - .short _02237BCC - _02237A9A - 2 ; case 13 - .short _02237BCC - _02237A9A - 2 ; case 14 - .short _02237BCC - _02237A9A - 2 ; case 15 - .short _02237BCC - _02237A9A - 2 ; case 16 - .short _02237BD8 - _02237A9A - 2 ; case 17 - .short _02237BD8 - _02237A9A - 2 ; case 18 - .short _02237BD8 - _02237A9A - 2 ; case 19 - .short _02237BD8 - _02237A9A - 2 ; case 20 - .short _02237BC0 - _02237A9A - 2 ; case 21 - .short _02237C08 - _02237A9A - 2 ; case 22 - .short _02237C0E - _02237A9A - 2 ; case 23 - .short _02237C14 - _02237A9A - 2 ; case 24 - .short _02237BBA - _02237A9A - 2 ; case 25 - .short _02237BE4 - _02237A9A - 2 ; case 26 - .short _02237BEA - _02237A9A - 2 ; case 27 - .short _02237BF0 - _02237A9A - 2 ; case 28 - .short _02237BF6 - _02237A9A - 2 ; case 29 - .short _02237BFC - _02237A9A - 2 ; case 30 - .short _02237C02 - _02237A9A - 2 ; case 31 - .short _02237BC6 - _02237A9A - 2 ; case 32 - .short _02237C1A - _02237A9A - 2 ; case 33 - .short _02237C2C - _02237A9A - 2 ; case 34 - .short _02237C34 - _02237A9A - 2 ; case 35 - .short _02237C3C - _02237A9A - 2 ; case 36 - .short _02237C44 - _02237A9A - 2 ; case 37 - .short _02237C4C - _02237A9A - 2 ; case 38 - .short _02237C5A - _02237A9A - 2 ; case 39 - .short _02237C62 - _02237A9A - 2 ; case 40 - .short _02237C6A - _02237A9A - 2 ; case 41 - .short _02237C72 - _02237A9A - 2 ; case 42 - .short _02237C7A - _02237A9A - 2 ; case 43 - .short _02237C82 - _02237A9A - 2 ; case 44 - .short _02237C8A - _02237A9A - 2 ; case 45 - .short _02237C92 - _02237A9A - 2 ; case 46 - .short _02237C20 - _02237A9A - 2 ; case 47 - .short _02237C26 - _02237A9A - 2 ; case 48 - .short _02237C54 - _02237A9A - 2 ; case 49 - .short _02237C98 - _02237A9A - 2 ; case 50 - .short _02237CA0 - _02237A9A - 2 ; case 51 - .short _02237CA8 - _02237A9A - 2 ; case 52 - .short _02237CB0 - _02237A9A - 2 ; case 53 - .short _02237CB8 - _02237A9A - 2 ; case 54 - .short _02237D7C - _02237A9A - 2 ; case 55 - .short _02237D7C - _02237A9A - 2 ; case 56 - .short _02237D7C - _02237A9A - 2 ; case 57 - .short _02237D7C - _02237A9A - 2 ; case 58 - .short _02237D7C - _02237A9A - 2 ; case 59 - .short _02237D7C - _02237A9A - 2 ; case 60 - .short _02237D7C - _02237A9A - 2 ; case 61 - .short _02237D7C - _02237A9A - 2 ; case 62 - .short _02237D7C - _02237A9A - 2 ; case 63 - .short _02237D7C - _02237A9A - 2 ; case 64 - .short _02237D2E - _02237A9A - 2 ; case 65 - .short _02237D4C - _02237A9A - 2 ; case 66 - .short _02237CC0 - _02237A9A - 2 ; case 67 - .short _02237CC8 - _02237A9A - 2 ; case 68 - .short _02237CD0 - _02237A9A - 2 ; case 69 - .short _02237CD8 - _02237A9A - 2 ; case 70 - .short _02237CE0 - _02237A9A - 2 ; case 71 - .short _02237CE8 - _02237A9A - 2 ; case 72 - .short _02237CF0 - _02237A9A - 2 ; case 73 - .short _02237CF8 - _02237A9A - 2 ; case 74 - .short _02237D00 - _02237A9A - 2 ; case 75 - .short _02237D08 - _02237A9A - 2 ; case 76 - .short _02237D10 - _02237A9A - 2 ; case 77 - .short _02237D18 - _02237A9A - 2 ; case 78 - .short _02237D20 - _02237A9A - 2 ; case 79 - .short _02237D28 - _02237A9A - 2 ; case 80 + .short _02237B3C - _02237A9A - 2 ; case 0 + .short _02237B40 - _02237A9A - 2 ; case 1 + .short _02237B44 - _02237A9A - 2 ; case 2 + .short _02237B64 - _02237A9A - 2 ; case 3 + .short _02237B68 - _02237A9A - 2 ; case 4 + .short _02237B70 - _02237A9A - 2 ; case 5 + .short _02237B78 - _02237A9A - 2 ; case 6 + .short _02237B80 - _02237A9A - 2 ; case 7 + .short _02237B94 - _02237A9A - 2 ; case 8 + .short _02237B98 - _02237A9A - 2 ; case 9 + .short _02237B9C - _02237A9A - 2 ; case 10 + .short _02237BA0 - _02237A9A - 2 ; case 11 + .short _02237BB4 - _02237A9A - 2 ; case 12 + .short _02237BCC - _02237A9A - 2 ; case 13 + .short _02237BCC - _02237A9A - 2 ; case 14 + .short _02237BCC - _02237A9A - 2 ; case 15 + .short _02237BCC - _02237A9A - 2 ; case 16 + .short _02237BD8 - _02237A9A - 2 ; case 17 + .short _02237BD8 - _02237A9A - 2 ; case 18 + .short _02237BD8 - _02237A9A - 2 ; case 19 + .short _02237BD8 - _02237A9A - 2 ; case 20 + .short _02237BC0 - _02237A9A - 2 ; case 21 + .short _02237C08 - _02237A9A - 2 ; case 22 + .short _02237C0E - _02237A9A - 2 ; case 23 + .short _02237C14 - _02237A9A - 2 ; case 24 + .short _02237BBA - _02237A9A - 2 ; case 25 + .short _02237BE4 - _02237A9A - 2 ; case 26 + .short _02237BEA - _02237A9A - 2 ; case 27 + .short _02237BF0 - _02237A9A - 2 ; case 28 + .short _02237BF6 - _02237A9A - 2 ; case 29 + .short _02237BFC - _02237A9A - 2 ; case 30 + .short _02237C02 - _02237A9A - 2 ; case 31 + .short _02237BC6 - _02237A9A - 2 ; case 32 + .short _02237C1A - _02237A9A - 2 ; case 33 + .short _02237C2C - _02237A9A - 2 ; case 34 + .short _02237C34 - _02237A9A - 2 ; case 35 + .short _02237C3C - _02237A9A - 2 ; case 36 + .short _02237C44 - _02237A9A - 2 ; case 37 + .short _02237C4C - _02237A9A - 2 ; case 38 + .short _02237C5A - _02237A9A - 2 ; case 39 + .short _02237C62 - _02237A9A - 2 ; case 40 + .short _02237C6A - _02237A9A - 2 ; case 41 + .short _02237C72 - _02237A9A - 2 ; case 42 + .short _02237C7A - _02237A9A - 2 ; case 43 + .short _02237C82 - _02237A9A - 2 ; case 44 + .short _02237C8A - _02237A9A - 2 ; case 45 + .short _02237C92 - _02237A9A - 2 ; case 46 + .short _02237C20 - _02237A9A - 2 ; case 47 + .short _02237C26 - _02237A9A - 2 ; case 48 + .short _02237C54 - _02237A9A - 2 ; case 49 + .short _02237C98 - _02237A9A - 2 ; case 50 + .short _02237CA0 - _02237A9A - 2 ; case 51 + .short _02237CA8 - _02237A9A - 2 ; case 52 + .short _02237CB0 - _02237A9A - 2 ; case 53 + .short _02237CB8 - _02237A9A - 2 ; case 54 + .short _02237D7C - _02237A9A - 2 ; case 55 + .short _02237D7C - _02237A9A - 2 ; case 56 + .short _02237D7C - _02237A9A - 2 ; case 57 + .short _02237D7C - _02237A9A - 2 ; case 58 + .short _02237D7C - _02237A9A - 2 ; case 59 + .short _02237D7C - _02237A9A - 2 ; case 60 + .short _02237D7C - _02237A9A - 2 ; case 61 + .short _02237D7C - _02237A9A - 2 ; case 62 + .short _02237D7C - _02237A9A - 2 ; case 63 + .short _02237D7C - _02237A9A - 2 ; case 64 + .short _02237D2E - _02237A9A - 2 ; case 65 + .short _02237D4C - _02237A9A - 2 ; case 66 + .short _02237CC0 - _02237A9A - 2 ; case 67 + .short _02237CC8 - _02237A9A - 2 ; case 68 + .short _02237CD0 - _02237A9A - 2 ; case 69 + .short _02237CD8 - _02237A9A - 2 ; case 70 + .short _02237CE0 - _02237A9A - 2 ; case 71 + .short _02237CE8 - _02237A9A - 2 ; case 72 + .short _02237CF0 - _02237A9A - 2 ; case 73 + .short _02237CF8 - _02237A9A - 2 ; case 74 + .short _02237D00 - _02237A9A - 2 ; case 75 + .short _02237D08 - _02237A9A - 2 ; case 76 + .short _02237D10 - _02237A9A - 2 ; case 77 + .short _02237D18 - _02237A9A - 2 ; case 78 + .short _02237D20 - _02237A9A - 2 ; case 79 + .short _02237D28 - _02237A9A - 2 ; case 80 _02237B3C: - ldr r4, [r5] - b _02237D7C + ldr r4, [r5] + b _02237D7C _02237B40: - ldr r4, [r5, #4] - b _02237D7C + ldr r4, [r5, #4] + b _02237D7C _02237B44: - ldrb r0, [r5, #0x13] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _02237B50 - mov r4, #0 - b _02237B5E + ldrb r0, [r5, #0x13] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _02237B50 + mov r4, #0 + b _02237B5E _02237B50: - mov r4, #0 + mov r4, #0 _02237B52: - add r0, r5, r4 - ldrb r0, [r0, #8] - strb r0, [r7, r4] - add r4, r4, #1 - cmp r4, #0xa - blo _02237B52 + add r0, r5, r4 + ldrb r0, [r0, #8] + strb r0, [r7, r4] + add r4, r4, #1 + cmp r4, #0xa + blo _02237B52 _02237B5E: - mov r0, #0xff - strb r0, [r7, r4] - b _02237D7C + mov r0, #0xff + strb r0, [r7, r4] + b _02237D7C _02237B64: - ldrb r4, [r5, #0x12] - b _02237D7C + ldrb r4, [r5, #0x12] + b _02237D7C _02237B68: - ldrb r0, [r5, #0x13] - lsl r0, r0, #0x1f - lsr r4, r0, #0x1f - b _02237D7C + ldrb r0, [r5, #0x13] + lsl r0, r0, #0x1f + lsr r4, r0, #0x1f + b _02237D7C _02237B70: - ldrb r0, [r5, #0x13] - lsl r0, r0, #0x1e - lsr r4, r0, #0x1f - b _02237D7C + ldrb r0, [r5, #0x13] + lsl r0, r0, #0x1e + lsr r4, r0, #0x1f + b _02237D7C _02237B78: - ldrb r0, [r5, #0x13] - lsl r0, r0, #0x1d - lsr r4, r0, #0x1f - b _02237D7C + ldrb r0, [r5, #0x13] + lsl r0, r0, #0x1d + lsr r4, r0, #0x1f + b _02237D7C _02237B80: - mov r4, #0 + mov r4, #0 _02237B82: - add r0, r5, r4 - ldrb r0, [r0, #0x14] - strb r0, [r7, r4] - add r4, r4, #1 - cmp r4, #7 - blo _02237B82 - mov r0, #0xff - strb r0, [r7, r4] - b _02237D7C + add r0, r5, r4 + ldrb r0, [r0, #0x14] + strb r0, [r7, r4] + add r4, r4, #1 + cmp r4, #7 + blo _02237B82 + mov r0, #0xff + strb r0, [r7, r4] + b _02237D7C _02237B94: - ldrb r4, [r5, #0x1b] - b _02237D7C + ldrb r4, [r5, #0x1b] + b _02237D7C _02237B98: - ldrh r4, [r5, #0x1c] - b _02237D7C + ldrh r4, [r5, #0x1c] + b _02237D7C _02237B9C: - ldrh r4, [r5, #0x1e] - b _02237D7C + ldrh r4, [r5, #0x1e] + b _02237D7C _02237BA0: - ldrb r0, [r5, #0x13] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _02237BAE - mov r4, #0x67 - lsl r4, r4, #2 - b _02237D7C + ldrb r0, [r5, #0x13] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _02237BAE + mov r4, #0x67 + lsl r4, r4, #2 + b _02237D7C _02237BAE: - ldr r0, [sp, #0xc] - ldrh r4, [r0] - b _02237D7C + ldr r0, [sp, #0xc] + ldrh r4, [r0] + b _02237D7C _02237BB4: - ldr r0, [sp, #0xc] - ldrh r4, [r0, #2] - b _02237D7C + ldr r0, [sp, #0xc] + ldrh r4, [r0, #2] + b _02237D7C _02237BBA: - ldr r0, [sp, #0xc] - ldr r4, [r0, #4] - b _02237D7C + ldr r0, [sp, #0xc] + ldr r4, [r0, #4] + b _02237D7C _02237BC0: - ldr r0, [sp, #0xc] - ldrb r4, [r0, #8] - b _02237D7C + ldr r0, [sp, #0xc] + ldrb r4, [r0, #8] + b _02237D7C _02237BC6: - ldr r0, [sp, #0xc] - ldrb r4, [r0, #9] - b _02237D7C + ldr r0, [sp, #0xc] + ldrb r4, [r0, #9] + b _02237D7C _02237BCC: - ldr r0, [sp] - sub r0, #0xd - lsl r1, r0, #1 - ldr r0, [sp, #8] - ldrh r4, [r0, r1] - b _02237D7C + ldr r0, [sp] + sub r0, #0xd + lsl r1, r0, #1 + ldr r0, [sp, #8] + ldrh r4, [r0, r1] + b _02237D7C _02237BD8: - ldr r1, [sp] - ldr r0, [sp, #8] - sub r1, #0x11 - add r0, r0, r1 - ldrb r4, [r0, #8] - b _02237D7C + ldr r1, [sp] + ldr r0, [sp, #8] + sub r1, #0x11 + add r0, r0, r1 + ldrb r4, [r0, #8] + b _02237D7C _02237BE4: - ldr r0, [sp, #4] - ldrb r4, [r0] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0] + b _02237D7C _02237BEA: - ldr r0, [sp, #4] - ldrb r4, [r0, #1] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #1] + b _02237D7C _02237BF0: - ldr r0, [sp, #4] - ldrb r4, [r0, #2] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #2] + b _02237D7C _02237BF6: - ldr r0, [sp, #4] - ldrb r4, [r0, #3] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #3] + b _02237D7C _02237BFC: - ldr r0, [sp, #4] - ldrb r4, [r0, #4] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #4] + b _02237D7C _02237C02: - ldr r0, [sp, #4] - ldrb r4, [r0, #5] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #5] + b _02237D7C _02237C08: - ldr r0, [sp, #4] - ldrb r4, [r0, #6] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #6] + b _02237D7C _02237C0E: - ldr r0, [sp, #4] - ldrb r4, [r0, #7] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #7] + b _02237D7C _02237C14: - ldr r0, [sp, #4] - ldrb r4, [r0, #8] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #8] + b _02237D7C _02237C1A: - ldr r0, [sp, #4] - ldrb r4, [r0, #9] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #9] + b _02237D7C _02237C20: - ldr r0, [sp, #4] - ldrb r4, [r0, #0xa] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #0xa] + b _02237D7C _02237C26: - ldr r0, [sp, #4] - ldrb r4, [r0, #0xb] - b _02237D7C + ldr r0, [sp, #4] + ldrb r4, [r0, #0xb] + b _02237D7C _02237C2C: - ldr r0, [r6] - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - b _02237D7C + ldr r0, [r6] + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + b _02237D7C _02237C34: - ldr r0, [r6] - lsl r0, r0, #0x10 - lsr r4, r0, #0x18 - b _02237D7C + ldr r0, [r6] + lsl r0, r0, #0x10 + lsr r4, r0, #0x18 + b _02237D7C _02237C3C: - ldr r0, [r6] - lsl r0, r0, #9 - lsr r4, r0, #0x19 - b _02237D7C + ldr r0, [r6] + lsl r0, r0, #9 + lsr r4, r0, #0x19 + b _02237D7C _02237C44: - ldr r0, [r6] - lsl r0, r0, #5 - lsr r4, r0, #0x1c - b _02237D7C + ldr r0, [r6] + lsl r0, r0, #5 + lsr r4, r0, #0x1c + b _02237D7C _02237C4C: - ldr r0, [r6] - lsl r0, r0, #1 - lsr r4, r0, #0x1c - b _02237D7C + ldr r0, [r6] + lsl r0, r0, #1 + lsr r4, r0, #0x1c + b _02237D7C _02237C54: - ldr r0, [r6] - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6] + lsr r4, r0, #0x1f + b _02237D7C _02237C5A: - ldr r0, [r6, #4] - lsl r0, r0, #0x1b - lsr r4, r0, #0x1b - b _02237D7C + ldr r0, [r6, #4] + lsl r0, r0, #0x1b + lsr r4, r0, #0x1b + b _02237D7C _02237C62: - ldr r0, [r6, #4] - lsl r0, r0, #0x16 - lsr r4, r0, #0x1b - b _02237D7C + ldr r0, [r6, #4] + lsl r0, r0, #0x16 + lsr r4, r0, #0x1b + b _02237D7C _02237C6A: - ldr r0, [r6, #4] - lsl r0, r0, #0x11 - lsr r4, r0, #0x1b - b _02237D7C + ldr r0, [r6, #4] + lsl r0, r0, #0x11 + lsr r4, r0, #0x1b + b _02237D7C _02237C72: - ldr r0, [r6, #4] - lsl r0, r0, #0xc - lsr r4, r0, #0x1b - b _02237D7C + ldr r0, [r6, #4] + lsl r0, r0, #0xc + lsr r4, r0, #0x1b + b _02237D7C _02237C7A: - ldr r0, [r6, #4] - lsl r0, r0, #7 - lsr r4, r0, #0x1b - b _02237D7C + ldr r0, [r6, #4] + lsl r0, r0, #7 + lsr r4, r0, #0x1b + b _02237D7C _02237C82: - ldr r0, [r6, #4] - lsl r0, r0, #2 - lsr r4, r0, #0x1b - b _02237D7C + ldr r0, [r6, #4] + lsl r0, r0, #2 + lsr r4, r0, #0x1b + b _02237D7C _02237C8A: - ldr r0, [r6, #4] - lsl r0, r0, #1 - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #4] + lsl r0, r0, #1 + lsr r4, r0, #0x1f + b _02237D7C _02237C92: - ldr r0, [r6, #4] - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #4] + lsr r4, r0, #0x1f + b _02237D7C _02237C98: - ldr r0, [r6, #8] - lsl r0, r0, #0x1d - lsr r4, r0, #0x1d - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0x1d + lsr r4, r0, #0x1d + b _02237D7C _02237CA0: - ldr r0, [r6, #8] - lsl r0, r0, #0x1a - lsr r4, r0, #0x1d - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0x1a + lsr r4, r0, #0x1d + b _02237D7C _02237CA8: - ldr r0, [r6, #8] - lsl r0, r0, #0x17 - lsr r4, r0, #0x1d - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0x17 + lsr r4, r0, #0x1d + b _02237D7C _02237CB0: - ldr r0, [r6, #8] - lsl r0, r0, #0x14 - lsr r4, r0, #0x1d - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0x14 + lsr r4, r0, #0x1d + b _02237D7C _02237CB8: - ldr r0, [r6, #8] - lsl r0, r0, #0x11 - lsr r4, r0, #0x1d - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0x11 + lsr r4, r0, #0x1d + b _02237D7C _02237CC0: - ldr r0, [r6, #8] - lsl r0, r0, #0x10 - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0x10 + lsr r4, r0, #0x1f + b _02237D7C _02237CC8: - ldr r0, [r6, #8] - lsl r0, r0, #0xf - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0xf + lsr r4, r0, #0x1f + b _02237D7C _02237CD0: - ldr r0, [r6, #8] - lsl r0, r0, #0xe - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0xe + lsr r4, r0, #0x1f + b _02237D7C _02237CD8: - ldr r0, [r6, #8] - lsl r0, r0, #0xd - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0xd + lsr r4, r0, #0x1f + b _02237D7C _02237CE0: - ldr r0, [r6, #8] - lsl r0, r0, #0xc - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0xc + lsr r4, r0, #0x1f + b _02237D7C _02237CE8: - ldr r0, [r6, #8] - lsl r0, r0, #0xb - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0xb + lsr r4, r0, #0x1f + b _02237D7C _02237CF0: - ldr r0, [r6, #8] - lsl r0, r0, #0xa - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #0xa + lsr r4, r0, #0x1f + b _02237D7C _02237CF8: - ldr r0, [r6, #8] - lsl r0, r0, #9 - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #9 + lsr r4, r0, #0x1f + b _02237D7C _02237D00: - ldr r0, [r6, #8] - lsl r0, r0, #8 - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #8 + lsr r4, r0, #0x1f + b _02237D7C _02237D08: - ldr r0, [r6, #8] - lsl r0, r0, #7 - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #7 + lsr r4, r0, #0x1f + b _02237D7C _02237D10: - ldr r0, [r6, #8] - lsl r0, r0, #6 - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #6 + lsr r4, r0, #0x1f + b _02237D7C _02237D18: - ldr r0, [r6, #8] - lsl r0, r0, #5 - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #5 + lsr r4, r0, #0x1f + b _02237D7C _02237D20: - ldr r0, [r6, #8] - lsl r0, r0, #1 - lsr r4, r0, #0x1c - b _02237D7C + ldr r0, [r6, #8] + lsl r0, r0, #1 + lsr r4, r0, #0x1c + b _02237D7C _02237D28: - ldr r0, [r6, #8] - lsr r4, r0, #0x1f - b _02237D7C + ldr r0, [r6, #8] + lsr r4, r0, #0x1f + b _02237D7C _02237D2E: - ldr r0, [sp, #0xc] - ldrh r4, [r0] - cmp r4, #0 - beq _02237D7C - ldr r0, [r6, #4] - lsl r0, r0, #1 - lsr r0, r0, #0x1f - bne _02237D46 - ldrb r0, [r5, #0x13] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _02237D7C + ldr r0, [sp, #0xc] + ldrh r4, [r0] + cmp r4, #0 + beq _02237D7C + ldr r0, [r6, #4] + lsl r0, r0, #1 + lsr r0, r0, #0x1f + bne _02237D46 + ldrb r0, [r5, #0x13] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _02237D7C _02237D46: - mov r4, #0x67 - lsl r4, r4, #2 - b _02237D7C + mov r4, #0x67 + lsl r4, r4, #2 + b _02237D7C _02237D4C: - ldr r4, [r6, #4] - lsl r0, r4, #2 - lsr r0, r0, #0x1b - lsl r6, r0, #0x19 - lsl r0, r4, #7 - lsr r0, r0, #0x1b - lsl r3, r0, #0x14 - lsl r0, r4, #0xc - lsr r0, r0, #0x1b - lsl r2, r0, #0xf - lsl r0, r4, #0x11 - lsr r0, r0, #0x1b - lsl r1, r0, #0xa - lsl r0, r4, #0x1b - lsl r4, r4, #0x16 - lsr r4, r4, #0x1b - lsr r0, r0, #0x1b - lsl r4, r4, #5 - orr r0, r4 - orr r0, r1 - orr r0, r2 - orr r0, r3 - add r4, r6, #0 - orr r4, r0 + ldr r4, [r6, #4] + lsl r0, r4, #2 + lsr r0, r0, #0x1b + lsl r6, r0, #0x19 + lsl r0, r4, #7 + lsr r0, r0, #0x1b + lsl r3, r0, #0x14 + lsl r0, r4, #0xc + lsr r0, r0, #0x1b + lsl r2, r0, #0xf + lsl r0, r4, #0x11 + lsr r0, r0, #0x1b + lsl r1, r0, #0xa + lsl r0, r4, #0x1b + lsl r4, r4, #0x16 + lsr r4, r4, #0x1b + lsr r0, r0, #0x1b + lsl r4, r4, #5 + orr r0, r4 + orr r0, r1 + orr r0, r2 + orr r0, r3 + add r4, r6, #0 + orr r4, r0 _02237D7C: - ldr r0, [sp] - cmp r0, #0xa - ble _02237D88 - add r0, r5, #0 - bl MOD83_02237968 + ldr r0, [sp] + cmp r0, #0xa + ble _02237D88 + add r0, r5, #0 + bl MOD83_02237968 _02237D88: - add r0, r4, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 - thumb_func_end AGB_GetBoxMonData + add r0, r4, #0 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 + thumb_func_end AGB_GetBoxMonData - thumb_func_start MOD83_02237D90 + thumb_func_start MOD83_02237D90 MOD83_02237D90: ; 0x02237D90 - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - add r4, r0, #0 - add r5, r2, #0 - mov r7, #0 - cmp r6, #0xa - ble _02237E04 - ldr r1, [r4] - add r2, r7, #0 - bl MOD83_0223746C - add r7, r0, #0 - ldr r1, [r4] - add r0, r4, #0 - mov r2, #1 - bl MOD83_0223746C - ldr r1, [r4] - add r0, r4, #0 - mov r2, #2 - bl MOD83_0223746C - ldr r1, [r4] - add r0, r4, #0 - mov r2, #3 - bl MOD83_0223746C - str r0, [sp] - add r0, r4, #0 - bl MOD83_02237948 - add r0, r4, #0 - bl MOD83_02237988 - ldrh r1, [r4, #0x1c] - cmp r0, r1 - beq _02237E04 - ldrb r1, [r4, #0x13] - mov r0, #1 - bic r1, r0 - mov r0, #1 - orr r0, r1 - strb r0, [r4, #0x13] - ldrb r1, [r4, #0x13] - mov r0, #4 - orr r0, r1 - strb r0, [r4, #0x13] - ldr r0, [sp] - ldr r1, [r0, #4] - mov r0, #1 - lsl r0, r0, #0x1e - orr r1, r0 - ldr r0, [sp] - str r1, [r0, #4] - add r0, r4, #0 - bl MOD83_02237968 - pop {r3, r4, r5, r6, r7, pc} + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + add r4, r0, #0 + add r5, r2, #0 + mov r7, #0 + cmp r6, #0xa + ble _02237E04 + ldr r1, [r4] + add r2, r7, #0 + bl MOD83_0223746C + add r7, r0, #0 + ldr r1, [r4] + add r0, r4, #0 + mov r2, #1 + bl MOD83_0223746C + ldr r1, [r4] + add r0, r4, #0 + mov r2, #2 + bl MOD83_0223746C + ldr r1, [r4] + add r0, r4, #0 + mov r2, #3 + bl MOD83_0223746C + str r0, [sp] + add r0, r4, #0 + bl MOD83_02237948 + add r0, r4, #0 + bl MOD83_02237988 + ldrh r1, [r4, #0x1c] + cmp r0, r1 + beq _02237E04 + ldrb r1, [r4, #0x13] + mov r0, #1 + bic r1, r0 + mov r0, #1 + orr r0, r1 + strb r0, [r4, #0x13] + ldrb r1, [r4, #0x13] + mov r0, #4 + orr r0, r1 + strb r0, [r4, #0x13] + ldr r0, [sp] + ldr r1, [r0, #4] + mov r0, #1 + lsl r0, r0, #0x1e + orr r1, r0 + ldr r0, [sp] + str r1, [r0, #4] + add r0, r4, #0 + bl MOD83_02237968 + pop {r3, r4, r5, r6, r7, pc} _02237E04: - cmp r6, #0xb - bhi _02237EA8 - add r0, r6, r6 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + cmp r6, #0xb + bhi _02237EA8 + add r0, r6, r6 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02237E14: ; jump table - .short _02237EA8 - _02237E14 - 2 ; case 0 - .short _02237EA8 - _02237E14 - 2 ; case 1 - .short _02237E2C - _02237E14 - 2 ; case 2 - .short _02237E3C - _02237E14 - 2 ; case 3 - .short _02237E42 - _02237E14 - 2 ; case 4 - .short _02237E54 - _02237E14 - 2 ; case 5 - .short _02237E66 - _02237E14 - 2 ; case 6 - .short _02237E78 - _02237E14 - 2 ; case 7 - .short _02237EA8 - _02237E14 - 2 ; case 8 - .short _02237EA8 - _02237E14 - 2 ; case 9 - .short _02237EA8 - _02237E14 - 2 ; case 10 - .short _02237E88 - _02237E14 - 2 ; case 11 + .short _02237EA8 - _02237E14 - 2 ; case 0 + .short _02237EA8 - _02237E14 - 2 ; case 1 + .short _02237E2C - _02237E14 - 2 ; case 2 + .short _02237E3C - _02237E14 - 2 ; case 3 + .short _02237E42 - _02237E14 - 2 ; case 4 + .short _02237E54 - _02237E14 - 2 ; case 5 + .short _02237E66 - _02237E14 - 2 ; case 6 + .short _02237E78 - _02237E14 - 2 ; case 7 + .short _02237EA8 - _02237E14 - 2 ; case 8 + .short _02237EA8 - _02237E14 - 2 ; case 9 + .short _02237EA8 - _02237E14 - 2 ; case 10 + .short _02237E88 - _02237E14 - 2 ; case 11 _02237E2C: - mov r2, #0 + mov r2, #0 _02237E2E: - ldrb r1, [r5, r2] - add r0, r4, r2 - add r2, r2, #1 - strb r1, [r0, #8] - cmp r2, #0xa - blt _02237E2E - b _02237EA8 + ldrb r1, [r5, r2] + add r0, r4, r2 + add r2, r2, #1 + strb r1, [r0, #8] + cmp r2, #0xa + blt _02237E2E + b _02237EA8 _02237E3C: - ldrb r0, [r5] - strb r0, [r4, #0x12] - b _02237EA8 + ldrb r0, [r5] + strb r0, [r4, #0x12] + b _02237EA8 _02237E42: - ldrb r0, [r4, #0x13] - ldrb r2, [r5] - mov r1, #1 - bic r0, r1 - mov r1, #1 - and r1, r2 - orr r0, r1 - strb r0, [r4, #0x13] - b _02237EA8 + ldrb r0, [r4, #0x13] + ldrb r2, [r5] + mov r1, #1 + bic r0, r1 + mov r1, #1 + and r1, r2 + orr r0, r1 + strb r0, [r4, #0x13] + b _02237EA8 _02237E54: - ldrb r0, [r4, #0x13] - mov r1, #2 - bic r0, r1 - ldrb r1, [r5] - lsl r1, r1, #0x1f - lsr r1, r1, #0x1e - orr r0, r1 - strb r0, [r4, #0x13] - b _02237EA8 + ldrb r0, [r4, #0x13] + mov r1, #2 + bic r0, r1 + ldrb r1, [r5] + lsl r1, r1, #0x1f + lsr r1, r1, #0x1e + orr r0, r1 + strb r0, [r4, #0x13] + b _02237EA8 _02237E66: - ldrb r0, [r4, #0x13] - mov r1, #4 - bic r0, r1 - ldrb r1, [r5] - lsl r1, r1, #0x1f - lsr r1, r1, #0x1d - orr r0, r1 - strb r0, [r4, #0x13] - b _02237EA8 + ldrb r0, [r4, #0x13] + mov r1, #4 + bic r0, r1 + ldrb r1, [r5] + lsl r1, r1, #0x1f + lsr r1, r1, #0x1d + orr r0, r1 + strb r0, [r4, #0x13] + b _02237EA8 _02237E78: - mov r2, #0 + mov r2, #0 _02237E7A: - ldrb r1, [r5, r2] - add r0, r4, r2 - add r2, r2, #1 - strb r1, [r0, #0x14] - cmp r2, #7 - blt _02237E7A - b _02237EA8 + ldrb r1, [r5, r2] + add r0, r4, r2 + add r2, r2, #1 + strb r1, [r0, #0x14] + cmp r2, #7 + blt _02237E7A + b _02237EA8 _02237E88: - ldrb r0, [r5, #1] - ldrb r1, [r5] - lsl r0, r0, #8 - add r0, r1, r0 - strh r0, [r7] - ldrh r0, [r7] - ldrb r1, [r4, #0x13] - cmp r0, #0 - beq _02237EA2 - mov r0, #2 - orr r0, r1 - strb r0, [r4, #0x13] - b _02237EA8 + ldrb r0, [r5, #1] + ldrb r1, [r5] + lsl r0, r0, #8 + add r0, r1, r0 + strh r0, [r7] + ldrh r0, [r7] + ldrb r1, [r4, #0x13] + cmp r0, #0 + beq _02237EA2 + mov r0, #2 + orr r0, r1 + strb r0, [r4, #0x13] + b _02237EA8 _02237EA2: - mov r0, #2 - bic r1, r0 - strb r1, [r4, #0x13] + mov r0, #2 + bic r1, r0 + strb r1, [r4, #0x13] _02237EA8: - cmp r6, #0xa - ble _02237EBA - add r0, r4, #0 - bl MOD83_02237988 - strh r0, [r4, #0x1c] - add r0, r4, #0 - bl MOD83_02237968 + cmp r6, #0xa + ble _02237EBA + add r0, r4, #0 + bl MOD83_02237988 + strh r0, [r4, #0x1c] + add r0, r4, #0 + bl MOD83_02237968 _02237EBA: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end MOD83_02237D90 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end MOD83_02237D90 - thumb_func_start MOD83_TranslateAgbSpecies + thumb_func_start MOD83_TranslateAgbSpecies MOD83_TranslateAgbSpecies: ; 0x02237EBC - ldr r2, _02237ED4 ; =0x00000115 - cmp r0, r2 - blt _02237ED2 - add r1, r2, #0 - add r1, #0x86 - cmp r0, r1 - bgt _02237ED2 - sub r0, r0, r2 - lsl r1, r0, #1 - ldr r0, _02237ED8 ; =MOD83_UpConvertSpeciesLUT - ldrh r0, [r0, r1] + ldr r2, _02237ED4 ; =0x00000115 + cmp r0, r2 + blt _02237ED2 + add r1, r2, #0 + add r1, #0x86 + cmp r0, r1 + bgt _02237ED2 + sub r0, r0, r2 + lsl r1, r0, #1 + ldr r0, _02237ED8 ; =MOD83_UpConvertSpeciesLUT + ldrh r0, [r0, r1] _02237ED2: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _02237ED4: .word 0x00000115 _02237ED8: .word MOD83_UpConvertSpeciesLUT - thumb_func_end MOD83_TranslateAgbSpecies + thumb_func_end MOD83_TranslateAgbSpecies - thumb_func_start MOD83_02237EDC + thumb_func_start MOD83_02237EDC MOD83_02237EDC: ; 0x02237EDC - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r1, #0xb - mov r2, #0 - bl AGB_GetBoxMonData - bl MOD83_TranslateAgbSpecies - add r4, r0, #0 - add r0, r5, #0 - mov r1, #0x19 - mov r2, #0 - bl AGB_GetBoxMonData - add r1, r0, #0 - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl CalcLevelBySpeciesAndExp - pop {r3, r4, r5, pc} - thumb_func_end MOD83_02237EDC - - thumb_func_start MOD83_02237F04 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r1, #0xb + mov r2, #0 + bl AGB_GetBoxMonData + bl MOD83_TranslateAgbSpecies + add r4, r0, #0 + add r0, r5, #0 + mov r1, #0x19 + mov r2, #0 + bl AGB_GetBoxMonData + add r1, r0, #0 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl CalcLevelBySpeciesAndExp + pop {r3, r4, r5, pc} + thumb_func_end MOD83_02237EDC + + thumb_func_start MOD83_02237F04 MOD83_02237F04: ; 0x02237F04 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r0, r1, #0 - mov r1, #5 - mov r2, #0 - bl GetBoxMonData - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - add r0, r4, #0 - mov r1, #0x2e - mov r2, #0 - bl AGB_GetBoxMonData - add r6, r0, #0 - add r0, r5, #0 - mov r1, #0x19 ; BASE_ABILITY_2 - bl GetMonBaseStat - cmp r0, #0 - beq _02237F5E - ldr r2, _02237F68 ; =MOD83_SpeciesWithAbilityOverridesList - mov r4, #0 + push {r4, r5, r6, lr} + add r4, r0, #0 + add r0, r1, #0 + mov r1, #5 + mov r2, #0 + bl GetBoxMonData + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0 + mov r1, #0x2e + mov r2, #0 + bl AGB_GetBoxMonData + add r6, r0, #0 + add r0, r5, #0 + mov r1, #0x19 ; BASE_ABILITY_2 + bl GetMonBaseStat + cmp r0, #0 + beq _02237F5E + ldr r2, _02237F68 ; =MOD83_SpeciesWithAbilityOverridesList + mov r4, #0 _02237F32: - ldrh r1, [r2] - cmp r5, r1 - bne _02237F42 - add r0, r5, #0 - mov r1, #0x18 ; BASE_ABILITY_1 - bl GetMonBaseStat - b _02237F4A + ldrh r1, [r2] + cmp r5, r1 + bne _02237F42 + add r0, r5, #0 + mov r1, #0x18 ; BASE_ABILITY_1 + bl GetMonBaseStat + b _02237F4A _02237F42: - add r4, r4, #1 - add r2, r2, #2 - cmp r4, #0x5e - blo _02237F32 + add r4, r4, #1 + add r2, r2, #2 + cmp r4, #0x5e + blo _02237F32 _02237F4A: - cmp r4, #0x5e - bne _02237F66 - mov r1, #1 - tst r1, r6 - bne _02237F66 - add r0, r5, #0 - mov r1, #0x18 ; BASE_ABILITY_1 - bl GetMonBaseStat - pop {r4, r5, r6, pc} + cmp r4, #0x5e + bne _02237F66 + mov r1, #1 + tst r1, r6 + bne _02237F66 + add r0, r5, #0 + mov r1, #0x18 ; BASE_ABILITY_1 + bl GetMonBaseStat + pop {r4, r5, r6, pc} _02237F5E: - add r0, r5, #0 - mov r1, #0x18 ; BASE_ABILITY_1 - bl GetMonBaseStat + add r0, r5, #0 + mov r1, #0x18 ; BASE_ABILITY_1 + bl GetMonBaseStat _02237F66: - pop {r4, r5, r6, pc} - .align 2, 0 + pop {r4, r5, r6, pc} + .align 2, 0 _02237F68: .word MOD83_SpeciesWithAbilityOverridesList - thumb_func_end MOD83_02237F04 + thumb_func_end MOD83_02237F04 - thumb_func_start MigrateBoxMon + thumb_func_start MigrateBoxMon MigrateBoxMon: ; 0x02237F6C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x30 - add r4, r1, #0 - add r6, r0, #0 - add r0, r4, #0 - bl ZeroBoxMonData - add r0, r4, #0 - bl AcquireBoxMonLock - mov r1, #0 - str r0, [sp] - add r0, r6, #0 - add r2, r1, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0xb - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - bl MOD83_TranslateAgbSpecies - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #5 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0xc - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - cmp r0, #0 - beq _02237FCE - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl UpConvertItemId_Gen3to4 - str r0, [sp, #8] + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x30 + add r4, r1, #0 + add r6, r0, #0 + add r0, r4, #0 + bl ZeroBoxMonData + add r0, r4, #0 + bl AcquireBoxMonLock + mov r1, #0 + str r0, [sp] + add r0, r6, #0 + add r2, r1, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0xb + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + bl MOD83_TranslateAgbSpecies + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #5 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0xc + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + cmp r0, #0 + beq _02237FCE + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl UpConvertItemId_Gen3to4 + str r0, [sp, #8] _02237FCE: - add r0, r4, #0 - mov r1, #6 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #1 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #7 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x19 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #8 - add r2, sp, #8 - bl SetBoxMonData - mov r0, #0x46 - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #9 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - add r1, r4, #0 - bl MOD83_02237F04 - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0xa - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #8 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0xb - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #3 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #4] - add r0, r4, #0 - mov r1, #0xc - add r2, sp, #4 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x1a - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0xd - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x1b - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0xe - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x1c - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0xf - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x1d - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x10 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x1e - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x11 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x1f - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x12 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x16 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x13 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x17 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x14 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x18 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x15 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x21 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x16 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x2f - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x17 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x30 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x18 - add r2, sp, #8 - bl SetBoxMonData - mov r5, #0 - add r7, r5, #0 + add r0, r4, #0 + mov r1, #6 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #1 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #7 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x19 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #8 + add r2, sp, #8 + bl SetBoxMonData + mov r0, #0x46 + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #9 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + add r1, r4, #0 + bl MOD83_02237F04 + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0xa + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #8 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0xb + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #3 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #4] + add r0, r4, #0 + mov r1, #0xc + add r2, sp, #4 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x1a + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0xd + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x1b + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0xe + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x1c + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0xf + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x1d + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x10 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x1e + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x11 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x1f + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x12 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x16 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x13 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x17 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x14 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x18 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x15 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x21 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x16 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x2f + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x17 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x30 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x18 + add r2, sp, #8 + bl SetBoxMonData + mov r5, #0 + add r7, r5, #0 _0223815E: - add r1, r5, #0 - add r0, r6, #0 - add r1, #0xd - mov r2, #0 - bl AGB_GetBoxMonData - add r1, r5, #0 - str r0, [sp, #8] - add r0, r4, #0 - add r1, #0x36 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x15 - mov r2, #0 - bl AGB_GetBoxMonData - mov r1, #3 - lsl r1, r7 - str r0, [sp, #8] - and r0, r1 - lsr r0, r7 - add r1, r5, #0 - str r0, [sp, #8] - add r0, r4, #0 - add r1, #0x3e - add r2, sp, #8 - bl SetBoxMonData - add r1, r5, #0 - add r0, r4, #0 - add r1, #0x42 - mov r2, #0 - bl GetBoxMonData - add r1, r5, #0 - str r0, [sp, #8] - add r0, r4, #0 - add r1, #0x3a - add r2, sp, #8 - bl SetBoxMonData - add r5, r5, #1 - add r7, r7, #2 - cmp r5, #4 - blt _0223815E - add r0, r6, #0 - mov r1, #0x27 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x46 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x28 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x47 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x29 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x48 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x2a - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x49 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x2b - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x4a - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x2c - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x4b - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x2d - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x4c - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x32 - mov r2, #0 - bl AGB_GetBoxMonData - add r7, r0, #0 - cmp r7, #4 - bgt _02238282 - mov r5, #0 - cmp r7, #0 - ble _02238282 + add r1, r5, #0 + add r0, r6, #0 + add r1, #0xd + mov r2, #0 + bl AGB_GetBoxMonData + add r1, r5, #0 + str r0, [sp, #8] + add r0, r4, #0 + add r1, #0x36 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x15 + mov r2, #0 + bl AGB_GetBoxMonData + mov r1, #3 + lsl r1, r7 + str r0, [sp, #8] + and r0, r1 + lsr r0, r7 + add r1, r5, #0 + str r0, [sp, #8] + add r0, r4, #0 + add r1, #0x3e + add r2, sp, #8 + bl SetBoxMonData + add r1, r5, #0 + add r0, r4, #0 + add r1, #0x42 + mov r2, #0 + bl GetBoxMonData + add r1, r5, #0 + str r0, [sp, #8] + add r0, r4, #0 + add r1, #0x3a + add r2, sp, #8 + bl SetBoxMonData + add r5, r5, #1 + add r7, r7, #2 + cmp r5, #4 + blt _0223815E + add r0, r6, #0 + mov r1, #0x27 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x46 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x28 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x47 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x29 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x48 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x2a + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x49 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x2b + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x4a + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x2c + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x4b + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x2d + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x4c + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x32 + mov r2, #0 + bl AGB_GetBoxMonData + add r7, r0, #0 + cmp r7, #4 + bgt _02238282 + mov r5, #0 + cmp r7, #0 + ble _02238282 _0223826C: - mov r0, #1 - add r1, r5, #0 - str r0, [sp, #8] - add r0, r4, #0 - add r1, #0x4e - add r2, sp, #8 - bl SetBoxMonData - add r5, r5, #1 - cmp r5, r7 - blt _0223826C + mov r0, #1 + add r1, r5, #0 + str r0, [sp, #8] + add r0, r4, #0 + add r1, #0x4e + add r2, sp, #8 + bl SetBoxMonData + add r5, r5, #1 + cmp r5, r7 + blt _0223826C _02238282: - add r0, r6, #0 - mov r1, #0x33 - mov r2, #0 - bl AGB_GetBoxMonData - add r7, r0, #0 - cmp r7, #4 - bgt _022382AE - mov r5, #0 - cmp r7, #0 - ble _022382AE + add r0, r6, #0 + mov r1, #0x33 + mov r2, #0 + bl AGB_GetBoxMonData + add r7, r0, #0 + cmp r7, #4 + bgt _022382AE + mov r5, #0 + cmp r7, #0 + ble _022382AE _02238298: - mov r0, #1 - add r1, r5, #0 - str r0, [sp, #8] - add r0, r4, #0 - add r1, #0x52 - add r2, sp, #8 - bl SetBoxMonData - add r5, r5, #1 - cmp r5, r7 - blt _02238298 + mov r0, #1 + add r1, r5, #0 + str r0, [sp, #8] + add r0, r4, #0 + add r1, #0x52 + add r2, sp, #8 + bl SetBoxMonData + add r5, r5, #1 + cmp r5, r7 + blt _02238298 _022382AE: - add r0, r6, #0 - mov r1, #0x34 - mov r2, #0 - bl AGB_GetBoxMonData - add r7, r0, #0 - cmp r7, #4 - bgt _022382DA - mov r5, #0 - cmp r7, #0 - ble _022382DA + add r0, r6, #0 + mov r1, #0x34 + mov r2, #0 + bl AGB_GetBoxMonData + add r7, r0, #0 + cmp r7, #4 + bgt _022382DA + mov r5, #0 + cmp r7, #0 + ble _022382DA _022382C4: - mov r0, #1 - add r1, r5, #0 - str r0, [sp, #8] - add r0, r4, #0 - add r1, #0x56 - add r2, sp, #8 - bl SetBoxMonData - add r5, r5, #1 - cmp r5, r7 - blt _022382C4 + mov r0, #1 + add r1, r5, #0 + str r0, [sp, #8] + add r0, r4, #0 + add r1, #0x56 + add r2, sp, #8 + bl SetBoxMonData + add r5, r5, #1 + cmp r5, r7 + blt _022382C4 _022382DA: - add r0, r6, #0 - mov r1, #0x35 - mov r2, #0 - bl AGB_GetBoxMonData - add r7, r0, #0 - cmp r7, #4 - bgt _02238306 - mov r5, #0 - cmp r7, #0 - ble _02238306 + add r0, r6, #0 + mov r1, #0x35 + mov r2, #0 + bl AGB_GetBoxMonData + add r7, r0, #0 + cmp r7, #4 + bgt _02238306 + mov r5, #0 + cmp r7, #0 + ble _02238306 _022382F0: - mov r0, #1 - add r1, r5, #0 - str r0, [sp, #8] - add r0, r4, #0 - add r1, #0x5a - add r2, sp, #8 - bl SetBoxMonData - add r5, r5, #1 - cmp r5, r7 - blt _022382F0 + mov r0, #1 + add r1, r5, #0 + str r0, [sp, #8] + add r0, r4, #0 + add r1, #0x5a + add r2, sp, #8 + bl SetBoxMonData + add r5, r5, #1 + cmp r5, r7 + blt _022382F0 _02238306: - add r0, r6, #0 - mov r1, #0x36 - mov r2, #0 - bl AGB_GetBoxMonData - add r7, r0, #0 - cmp r7, #4 - bgt _02238332 - mov r5, #0 - cmp r7, #0 - ble _02238332 + add r0, r6, #0 + mov r1, #0x36 + mov r2, #0 + bl AGB_GetBoxMonData + add r7, r0, #0 + cmp r7, #4 + bgt _02238332 + mov r5, #0 + cmp r7, #0 + ble _02238332 _0223831C: - mov r0, #1 - add r1, r5, #0 - str r0, [sp, #8] - add r0, r4, #0 - add r1, #0x5e - add r2, sp, #8 - bl SetBoxMonData - add r5, r5, #1 - cmp r5, r7 - blt _0223831C + mov r0, #1 + add r1, r5, #0 + str r0, [sp, #8] + add r0, r4, #0 + add r1, #0x5e + add r2, sp, #8 + bl SetBoxMonData + add r5, r5, #1 + cmp r5, r7 + blt _0223831C _02238332: - add r0, r6, #0 - mov r1, #0x43 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x62 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x44 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x63 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x45 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x64 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x46 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x65 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x47 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x66 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x48 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x67 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x49 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x68 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x4a - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x69 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x4b - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x6a - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x6b - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x4d - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x6c - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x4e - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x6d - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x50 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x6e - add r2, sp, #8 - bl SetBoxMonData - add r0, r4, #0 - bl GetBoxMonGender - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x6f - add r2, sp, #8 - bl SetBoxMonData - add r0, r4, #0 - mov r1, #5 - mov r2, #0 - bl GetBoxMonData - cmp r0, #0xc9 - bne _022384AE - mov r1, #0 - add r0, r6, #0 - add r2, r1, #0 - bl AGB_GetBoxMonData - add r3, r0, #0 - mov r7, #3 - lsl r0, r7, #8 - and r0, r3 - lsr r1, r0, #6 - lsl r0, r7, #0x18 - and r0, r3 - lsr r5, r0, #0x12 - lsl r0, r7, #0x10 - and r0, r3 - lsr r0, r0, #0xc - add r2, r3, #0 - orr r0, r5 - orr r0, r1 - and r2, r7 - str r3, [sp, #8] - orr r0, r2 - mov r1, #0x1c - bl _u32_div_f - str r1, [sp, #8] - add r0, r4, #0 - mov r1, #0x70 - add r2, sp, #8 - bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x43 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x62 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x44 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x63 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x45 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x64 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x46 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x65 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x47 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x66 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x48 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x67 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x49 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x68 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x4a + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x69 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x4b + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x6a + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x6b + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x4d + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x6c + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x4e + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x6d + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x50 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x6e + add r2, sp, #8 + bl SetBoxMonData + add r0, r4, #0 + bl GetBoxMonGender + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x6f + add r2, sp, #8 + bl SetBoxMonData + add r0, r4, #0 + mov r1, #5 + mov r2, #0 + bl GetBoxMonData + cmp r0, #0xc9 + bne _022384AE + mov r1, #0 + add r0, r6, #0 + add r2, r1, #0 + bl AGB_GetBoxMonData + add r3, r0, #0 + mov r7, #3 + lsl r0, r7, #8 + and r0, r3 + lsr r1, r0, #6 + lsl r0, r7, #0x18 + and r0, r3 + lsr r5, r0, #0x12 + lsl r0, r7, #0x10 + and r0, r3 + lsr r0, r0, #0xc + add r2, r3, #0 + orr r0, r5 + orr r0, r1 + and r2, r7 + str r3, [sp, #8] + orr r0, r2 + mov r1, #0x1c + bl _u32_div_f + str r1, [sp, #8] + add r0, r4, #0 + mov r1, #0x70 + add r2, sp, #8 + bl SetBoxMonData _022384AE: - add r0, r4, #0 - mov r1, #5 - mov r2, #0 - bl GetBoxMonData - ldr r1, _022385F0 ; =0x00000182 - cmp r0, r1 - bne _022384FE - ldr r0, _022385F4 ; =gMain + 0x60 - ldrb r0, [r0, #6] - cmp r0, #5 - bhi _022384DE - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r4, #0 + mov r1, #5 + mov r2, #0 + bl GetBoxMonData + ldr r1, _022385F0 ; =0x00000182 + cmp r0, r1 + bne _022384FE + ldr r0, _022385F4 ; =gMain + 0x60 + ldrb r0, [r0, #6] + cmp r0, #5 + bhi _022384DE + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022384D2: ; jump table - .short _022384DE - _022384D2 - 2 ; case 0 - .short _022384DE - _022384D2 - 2 ; case 1 - .short _022384DE - _022384D2 - 2 ; case 2 - .short _022384F0 - _022384D2 - 2 ; case 3 - .short _022384E4 - _022384D2 - 2 ; case 4 - .short _022384EA - _022384D2 - 2 ; case 5 + .short _022384DE - _022384D2 - 2 ; case 0 + .short _022384DE - _022384D2 - 2 ; case 1 + .short _022384DE - _022384D2 - 2 ; case 2 + .short _022384F0 - _022384D2 - 2 ; case 3 + .short _022384E4 - _022384D2 - 2 ; case 4 + .short _022384EA - _022384D2 - 2 ; case 5 _022384DE: - mov r0, #0 - str r0, [sp, #8] - b _022384F4 + mov r0, #0 + str r0, [sp, #8] + b _022384F4 _022384E4: - mov r0, #1 - str r0, [sp, #8] - b _022384F4 + mov r0, #1 + str r0, [sp, #8] + b _022384F4 _022384EA: - mov r0, #2 - str r0, [sp, #8] - b _022384F4 + mov r0, #2 + str r0, [sp, #8] + b _022384F4 _022384F0: - mov r0, #3 - str r0, [sp, #8] + mov r0, #3 + str r0, [sp, #8] _022384F4: - add r0, r4, #0 - mov r1, #0x70 - add r2, sp, #8 - bl SetBoxMonData + add r0, r4, #0 + mov r1, #0x70 + add r2, sp, #8 + bl SetBoxMonData _022384FE: - add r0, r6, #0 - mov r1, #2 - add r2, sp, #0x24 - bl AGB_GetBoxMonData - ldr r3, [sp, #4] - add r0, sp, #0x24 - add r1, sp, #0xc - mov r2, #0xc - bl FUN_02015D88 - add r0, r4, #0 - mov r1, #0x75 - add r2, sp, #0xc - bl SetBoxMonData - add r0, r6, #0 - mov r1, #3 - mov r2, #0 - bl AGB_GetBoxMonData - ldr r1, _022385F8 ; =gGameLanguage - ldrb r1, [r1] - cmp r1, r0 - beq _0223853E - mov r0, #1 - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x4d - add r2, sp, #8 - bl SetBoxMonData + add r0, r6, #0 + mov r1, #2 + add r2, sp, #0x24 + bl AGB_GetBoxMonData + ldr r3, [sp, #4] + add r0, sp, #0x24 + add r1, sp, #0xc + mov r2, #0xc + bl FUN_02015D88 + add r0, r4, #0 + mov r1, #0x75 + add r2, sp, #0xc + bl SetBoxMonData + add r0, r6, #0 + mov r1, #3 + mov r2, #0 + bl AGB_GetBoxMonData + ldr r1, _022385F8 ; =gGameLanguage + ldrb r1, [r1] + cmp r1, r0 + beq _0223853E + mov r0, #1 + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x4d + add r2, sp, #8 + bl SetBoxMonData _0223853E: - add r0, r6, #0 - mov r1, #0x25 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x79 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #7 - add r2, sp, #0x24 - bl AGB_GetBoxMonData - ldr r3, [sp, #4] - add r0, sp, #0x24 - add r1, sp, #0xc - mov r2, #8 - bl FUN_02015D88 - add r0, r4, #0 - mov r1, #0x8f - add r2, sp, #0xc - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x23 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x98 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x22 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x99 - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x26 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x9a - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x24 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x9b - add r2, sp, #8 - bl SetBoxMonData - add r0, r6, #0 - mov r1, #0x31 - mov r2, #0 - bl AGB_GetBoxMonData - str r0, [sp, #8] - add r0, r4, #0 - mov r1, #0x9c - add r2, sp, #8 - bl SetBoxMonData - ldr r1, [sp] - add r0, r4, #0 - bl ReleaseBoxMonLock - add sp, #0x30 - pop {r3, r4, r5, r6, r7, pc} - nop + add r0, r6, #0 + mov r1, #0x25 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x79 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #7 + add r2, sp, #0x24 + bl AGB_GetBoxMonData + ldr r3, [sp, #4] + add r0, sp, #0x24 + add r1, sp, #0xc + mov r2, #8 + bl FUN_02015D88 + add r0, r4, #0 + mov r1, #0x8f + add r2, sp, #0xc + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x23 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x98 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x22 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x99 + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x26 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x9a + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x24 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x9b + add r2, sp, #8 + bl SetBoxMonData + add r0, r6, #0 + mov r1, #0x31 + mov r2, #0 + bl AGB_GetBoxMonData + str r0, [sp, #8] + add r0, r4, #0 + mov r1, #0x9c + add r2, sp, #8 + bl SetBoxMonData + ldr r1, [sp] + add r0, r4, #0 + bl ReleaseBoxMonLock + add sp, #0x30 + pop {r3, r4, r5, r6, r7, pc} + nop _022385F0: .word 0x00000182 _022385F4: .word gMain + 0x60 _022385F8: .word gGameLanguage - thumb_func_end MigrateBoxMon + thumb_func_end MigrateBoxMon - thumb_func_start MOD83_SetHeapId + thumb_func_start MOD83_SetHeapId MOD83_SetHeapId: ; 0x022385FC - ldr r1, _02238604 ; =heap_id - str r0, [r1] - bx lr - nop + ldr r1, _02238604 ; =heap_id + str r0, [r1] + bx lr + nop _02238604: .word heap_id - thumb_func_end MOD83_SetHeapId + thumb_func_end MOD83_SetHeapId - thumb_func_start MOD83_Alloc + thumb_func_start MOD83_Alloc MOD83_Alloc: ; 0x02238608 - add r1, r0, #0 - ldr r0, _02238614 ; =heap_id - ldr r3, _02238618 ; =AllocFromHeap - ldr r0, [r0] - bx r3 - nop + add r1, r0, #0 + ldr r0, _02238614 ; =heap_id + ldr r3, _02238618 ; =AllocFromHeap + ldr r0, [r0] + bx r3 + nop _02238614: .word heap_id _02238618: .word AllocFromHeap - thumb_func_end MOD83_Alloc + thumb_func_end MOD83_Alloc - thumb_func_start MOD83_0223861C + thumb_func_start MOD83_0223861C MOD83_0223861C: ; 0x0223861C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x1fc - sub sp, #0x1fc - sub sp, #0x130 - bl CTRDG_GetAgbGameCode - lsr r1, r0, #0x18 - lsl r1, r1, #0x18 - lsr r2, r1, #0x18 - lsr r1, r0, #0x10 - lsl r3, r0, #0x18 - lsr r0, r0, #8 - lsl r0, r0, #0x18 - lsl r1, r1, #0x18 - lsr r0, r0, #8 - lsr r1, r1, #0x10 - orr r0, r3 - orr r0, r1 - add r6, r2, #0 - orr r6, r0 - ldr r0, _022386B0 ; =MOD83_0223B69C - mov r4, #0 - ldr r0, [r0] - cmp r0, #0 - bls _022386A6 - ldr r5, _022386B4 ; =MOD83_0223B69C - add r7, sp, #0x80 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0x130 + bl CTRDG_GetAgbGameCode + lsr r1, r0, #0x18 + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + lsr r1, r0, #0x10 + lsl r3, r0, #0x18 + lsr r0, r0, #8 + lsl r0, r0, #0x18 + lsl r1, r1, #0x18 + lsr r0, r0, #8 + lsr r1, r1, #0x10 + orr r0, r3 + orr r0, r1 + add r6, r2, #0 + orr r6, r0 + ldr r0, _022386B0 ; =MOD83_0223B69C + mov r4, #0 + ldr r0, [r0] + cmp r0, #0 + bls _022386A6 + ldr r5, _022386B4 ; =MOD83_0223B69C + add r7, sp, #0x80 _02238652: - ldr r0, [r5] - cmp r6, r0 - bne _0223869C - mov r0, #1 - bl CTRDG_Enable - mov r0, #0x81 - ldr r2, _022386B8 ; =0x000004A8 - lsl r0, r0, #0x14 - add r1, r7, #0 - bl CTRDG_CpuCopy8 - ldr r0, _022386BC ; =0x08020000 - add r1, sp, #0 - mov r2, #0x80 - bl CTRDG_CpuCopy8 - mov r0, #0 - bl CTRDG_Enable - ldr r0, _022386C0 ; =MOD83_Alloc - ldr r1, _022386C4 ; =FreeToHeap - bl SetCustomAllocatorAndDestructor - ldr r1, _022386B8 ; =0x000004A8 - ldr r3, _022386C8 ; =MOD83_0223A6B4 - add r0, r7, #0 - add r2, sp, #0 - bl FUN_020910EC - cmp r0, #0 - beq _0223869C - add sp, #0x1fc - add sp, #0x1fc - add sp, #0x130 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} + ldr r0, [r5] + cmp r6, r0 + bne _0223869C + mov r0, #1 + bl CTRDG_Enable + mov r0, #0x81 + ldr r2, _022386B8 ; =0x000004A8 + lsl r0, r0, #0x14 + add r1, r7, #0 + bl CTRDG_CpuCopy8 + ldr r0, _022386BC ; =0x08020000 + add r1, sp, #0 + mov r2, #0x80 + bl CTRDG_CpuCopy8 + mov r0, #0 + bl CTRDG_Enable + ldr r0, _022386C0 ; =MOD83_Alloc + ldr r1, _022386C4 ; =FreeToHeap + bl SetCustomAllocatorAndDestructor + ldr r1, _022386B8 ; =0x000004A8 + ldr r3, _022386C8 ; =MOD83_0223A6B4 + add r0, r7, #0 + add r2, sp, #0 + bl FUN_020910EC + cmp r0, #0 + beq _0223869C + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x130 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} _0223869C: - add r5, r5, #4 - ldr r0, [r5] - add r4, r4, #1 - cmp r4, r0 - blo _02238652 + add r5, r5, #4 + ldr r0, [r5] + add r4, r4, #1 + cmp r4, r0 + blo _02238652 _022386A6: - mov r0, #0 - add sp, #0x1fc - add sp, #0x1fc - add sp, #0x130 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + mov r0, #0 + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x130 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _022386B0: .word MOD83_0223B69C _022386B4: .word MOD83_0223B69C _022386B8: .word 0x000004A8 @@ -22703,2202 +22703,2202 @@ _022386BC: .word 0x08020000 _022386C0: .word MOD83_Alloc _022386C4: .word FreeToHeap _022386C8: .word MOD83_0223A6B4 - thumb_func_end MOD83_0223861C + thumb_func_end MOD83_0223861C - thumb_func_start MOD83_022386CC + thumb_func_start MOD83_022386CC MOD83_022386CC: ; 0x022386CC - push {r3, lr} - bl CTRDG_Init - bl CTRDG_IsAgbCartridge - cmp r0, #0 - bne _022386DE - mov r0, #0 - pop {r3, pc} + push {r3, lr} + bl CTRDG_Init + bl CTRDG_IsAgbCartridge + cmp r0, #0 + bne _022386DE + mov r0, #0 + pop {r3, pc} _022386DE: - bl CTRDG_GetAgbMakerCode - ldr r1, _022386FC ; =0x00003130 "01" - cmp r0, r1 - beq _022386EC - mov r0, #0 - pop {r3, pc} + bl CTRDG_GetAgbMakerCode + ldr r1, _022386FC ; =0x00003130 "01" + cmp r0, r1 + beq _022386EC + mov r0, #0 + pop {r3, pc} _022386EC: - bl MOD83_0223861C - cmp r0, #0 - beq _022386F8 - mov r0, #1 - pop {r3, pc} + bl MOD83_0223861C + cmp r0, #0 + beq _022386F8 + mov r0, #1 + pop {r3, pc} _022386F8: - mov r0, #0 - pop {r3, pc} - .align 2, 0 + mov r0, #0 + pop {r3, pc} + .align 2, 0 _022386FC: .word 0x00003130 - thumb_func_end MOD83_022386CC + thumb_func_end MOD83_022386CC - thumb_func_start MOD83_02238700 + thumb_func_start MOD83_02238700 MOD83_02238700: ; 0x02238700 - push {r3, lr} - bl MOD83_022386CC - cmp r0, #0 - bne _0223870E - mov r0, #0 - pop {r3, pc} + push {r3, lr} + bl MOD83_022386CC + cmp r0, #0 + bne _0223870E + mov r0, #0 + pop {r3, pc} _0223870E: - mov r0, #1 - bl CTRDG_Enable - mov r0, #0x81 - lsl r0, r0, #0x14 - add r1, sp, #0 - bl CTRDG_Read32 - mov r0, #0 - bl CTRDG_Enable - ldr r0, [sp] - pop {r3, pc} - thumb_func_end MOD83_02238700 - - thumb_func_start MOD83_02238728 + mov r0, #1 + bl CTRDG_Enable + mov r0, #0x81 + lsl r0, r0, #0x14 + add r1, sp, #0 + bl CTRDG_Read32 + mov r0, #0 + bl CTRDG_Enable + ldr r0, [sp] + pop {r3, pc} + thumb_func_end MOD83_02238700 + + thumb_func_start MOD83_02238728 MOD83_02238728: ; 0x02238728 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl MOD83_022386CC - cmp r0, #0 - bne _0223873A - mov r0, #0 - pop {r3, r4, r5, pc} + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl MOD83_022386CC + cmp r0, #0 + bne _0223873A + mov r0, #0 + pop {r3, r4, r5, pc} _0223873A: - cmp r4, #0 - bne _02238744 - bl MOD83_02238700 - add r4, r0, #0 + cmp r4, #0 + bne _02238744 + bl MOD83_02238700 + add r4, r0, #0 _02238744: - mov r0, #1 - bl CTRDG_Enable - ldr r0, _0223876C ; =0x08100100 - add r1, r5, #0 - add r2, r4, #0 - bl CTRDG_CpuCopy16 - add r4, r0, #0 - mov r0, #0 - bl CTRDG_Enable - bl CTRDG_IsExisting - cmp r0, #0 - bne _02238768 - mov r0, #0 - pop {r3, r4, r5, pc} + mov r0, #1 + bl CTRDG_Enable + ldr r0, _0223876C ; =0x08100100 + add r1, r5, #0 + add r2, r4, #0 + bl CTRDG_CpuCopy16 + add r4, r0, #0 + mov r0, #0 + bl CTRDG_Enable + bl CTRDG_IsExisting + cmp r0, #0 + bne _02238768 + mov r0, #0 + pop {r3, r4, r5, pc} _02238768: - add r0, r4, #0 - pop {r3, r4, r5, pc} - .align 2, 0 + add r0, r4, #0 + pop {r3, r4, r5, pc} + .align 2, 0 _0223876C: .word 0x08100100 - thumb_func_end MOD83_02238728 + thumb_func_end MOD83_02238728 - thumb_func_start MOD83_02238770 + thumb_func_start MOD83_02238770 MOD83_02238770: ; 0x02238770 - push {r3, r4, r5, r6} - add r4, r0, #0 - mov r0, #0 - ldr r6, _02238798 ; =MOD83_0223BC30 - add r1, r0, #0 - add r2, r0, #0 - add r3, r0, #0 - mov r5, #0x75 + push {r3, r4, r5, r6} + add r4, r0, #0 + mov r0, #0 + ldr r6, _02238798 ; =MOD83_0223BC30 + add r1, r0, #0 + add r2, r0, #0 + add r3, r0, #0 + mov r5, #0x75 _02238780: - stmia r6!, {r0, r1, r2, r3} - stmia r6!, {r0, r1, r2, r3} - sub r5, r5, #1 - bne _02238780 - str r0, [r6] - ldr r0, _0223879C ; =MOD83_0223BC30 - mov r1, #1 - str r1, [r0] - str r4, [r0, #4] - pop {r3, r4, r5, r6} - bx lr - nop + stmia r6!, {r0, r1, r2, r3} + stmia r6!, {r0, r1, r2, r3} + sub r5, r5, #1 + bne _02238780 + str r0, [r6] + ldr r0, _0223879C ; =MOD83_0223BC30 + mov r1, #1 + str r1, [r0] + str r4, [r0, #4] + pop {r3, r4, r5, r6} + bx lr + nop _02238798: .word MOD83_0223BC30 _0223879C: .word MOD83_0223BC30 - thumb_func_end MOD83_02238770 + thumb_func_end MOD83_02238770 - thumb_func_start MOD83_022387A0 + thumb_func_start MOD83_022387A0 MOD83_022387A0: ; 0x022387A0 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r2, #0 - add r6, r1, #0 - mov r0, #3 - add r2, r3, #0 - bl CreateHeap - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl OverlayManager_CreateAndGetData - mov r1, #0 - add r2, r4, #0 - add r5, r0, #0 - bl memset - mov r0, #0 - add r1, r0, #0 - bl FUN_0200E3A0 - mov r0, #1 - mov r1, #0 - bl FUN_0200E3A0 - add r0, r5, #0 - pop {r4, r5, r6, pc} - thumb_func_end MOD83_022387A0 - - thumb_func_start MOD83_022387D8 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r2, #0 + add r6, r1, #0 + mov r0, #3 + add r2, r3, #0 + bl CreateHeap + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl OverlayManager_CreateAndGetData + mov r1, #0 + add r2, r4, #0 + add r5, r0, #0 + bl memset + mov r0, #0 + add r1, r0, #0 + bl FUN_0200E3A0 + mov r0, #1 + mov r1, #0 + bl FUN_0200E3A0 + add r0, r5, #0 + pop {r4, r5, r6, pc} + thumb_func_end MOD83_022387A0 + + thumb_func_start MOD83_022387D8 MOD83_022387D8: ; 0x022387D8 - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - ldr r5, _0223885C ; =MOD83_0223A760 - add r6, r3, #0 - add r7, r0, #0 - add r4, r1, #0 - ldmia r5!, {r0, r1} - add r3, sp, #0 - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r5] - cmp r2, #4 - str r0, [r3] - add r0, sp, #0 - strb r2, [r0, #0x10] - bhi _02238832 - add r0, r2, r2 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r4, r5, r6, r7, lr} + sub sp, #0x1c + ldr r5, _0223885C ; =MOD83_0223A760 + add r6, r3, #0 + add r7, r0, #0 + add r4, r1, #0 + ldmia r5!, {r0, r1} + add r3, sp, #0 + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r5] + cmp r2, #4 + str r0, [r3] + add r0, sp, #0 + strb r2, [r0, #0x10] + bhi _02238832 + add r0, r2, r2 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _0223880A: ; jump table - .short _02238832 - _0223880A - 2 ; case 0 - .short _02238814 - _0223880A - 2 ; case 1 - .short _0223881C - _0223880A - 2 ; case 2 - .short _02238824 - _0223880A - 2 ; case 3 - .short _0223882C - _0223880A - 2 ; case 4 + .short _02238832 - _0223880A - 2 ; case 0 + .short _02238814 - _0223880A - 2 ; case 1 + .short _0223881C - _0223880A - 2 ; case 2 + .short _02238824 - _0223880A - 2 ; case 3 + .short _0223882C - _0223880A - 2 ; case 4 _02238814: - mov r0, #2 - lsl r0, r0, #0xa - str r0, [sp, #8] - b _02238832 + mov r0, #2 + lsl r0, r0, #0xa + str r0, [sp, #8] + b _02238832 _0223881C: - mov r0, #1 - lsl r0, r0, #0xc - str r0, [sp, #8] - b _02238832 + mov r0, #1 + lsl r0, r0, #0xc + str r0, [sp, #8] + b _02238832 _02238824: - mov r0, #1 - lsl r0, r0, #0xc - str r0, [sp, #8] - b _02238832 + mov r0, #1 + lsl r0, r0, #0xc + str r0, [sp, #8] + b _02238832 _0223882C: - mov r0, #2 - lsl r0, r0, #0xc - str r0, [sp, #8] + mov r0, #2 + lsl r0, r0, #0xc + str r0, [sp, #8] _02238832: - lsr r1, r6, #0xb - add r0, sp, #0 - strb r1, [r0, #0x12] - ldr r1, [sp, #0x30] - add r2, sp, #0 - lsr r1, r1, #0xe - strb r1, [r0, #0x13] - lsl r1, r4, #0x18 - add r0, r7, #0 - lsr r1, r1, #0x18 - mov r3, #0 - bl InitBgFromTemplate - lsl r1, r4, #0x18 - add r0, r7, #0 - lsr r1, r1, #0x18 - bl BgClearTilemapBufferAndCommit - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - nop + lsr r1, r6, #0xb + add r0, sp, #0 + strb r1, [r0, #0x12] + ldr r1, [sp, #0x30] + add r2, sp, #0 + lsr r1, r1, #0xe + strb r1, [r0, #0x13] + lsl r1, r4, #0x18 + add r0, r7, #0 + lsr r1, r1, #0x18 + mov r3, #0 + bl InitBgFromTemplate + lsl r1, r4, #0x18 + add r0, r7, #0 + lsr r1, r1, #0x18 + bl BgClearTilemapBufferAndCommit + add sp, #0x1c + pop {r4, r5, r6, r7, pc} + nop _0223885C: .word MOD83_0223A760 - thumb_func_end MOD83_022387D8 + thumb_func_end MOD83_022387D8 - thumb_func_start MOD83_02238860 + thumb_func_start MOD83_02238860 MOD83_02238860: ; 0x02238860 - ldr r1, _02238868 ; =MOD83_0223BC30 - str r0, [r1, #0xc] - bx lr - nop + ldr r1, _02238868 ; =MOD83_0223BC30 + str r0, [r1, #0xc] + bx lr + nop _02238868: .word MOD83_0223BC30 - thumb_func_end MOD83_02238860 + thumb_func_end MOD83_02238860 - thumb_func_start MOD83_0223886C + thumb_func_start MOD83_0223886C MOD83_0223886C: ; 0x0223886C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - str r0, [sp, #0xc] - ldr r0, _022388C0 ; =MOD83_0223BC30 - add r5, r1, #0 - ldr r0, [r0, #0xc] - add r4, r2, #0 - add r6, r3, #0 - ldr r7, _022388C4 ; =MOD83_0223BC30 - cmp r0, #0 - bne _0223889C - mov r0, #6 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r0, [r7, #4] - ldr r1, [sp, #0xc] - str r0, [sp, #8] - mov r0, #0 - add r2, r1, #0 - add r3, r0, #0 - bl FUN_0200E1D0 - b _022388B4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + str r0, [sp, #0xc] + ldr r0, _022388C0 ; =MOD83_0223BC30 + add r5, r1, #0 + ldr r0, [r0, #0xc] + add r4, r2, #0 + add r6, r3, #0 + ldr r7, _022388C4 ; =MOD83_0223BC30 + cmp r0, #0 + bne _0223889C + mov r0, #6 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r0, [r7, #4] + ldr r1, [sp, #0xc] + str r0, [sp, #8] + mov r0, #0 + add r2, r1, #0 + add r3, r0, #0 + bl FUN_0200E1D0 + b _022388B4 _0223889C: - mov r0, #6 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r0, [r7, #4] - ldr r1, [sp, #0xc] - str r0, [sp, #8] - ldr r3, _022388C8 ; =0x00007FFF - mov r0, #0 - add r2, r1, #0 - bl FUN_0200E1D0 + mov r0, #6 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r0, [r7, #4] + ldr r1, [sp, #0xc] + str r0, [sp, #8] + ldr r3, _022388C8 ; =0x00007FFF + mov r0, #0 + add r2, r1, #0 + bl FUN_0200E1D0 _022388B4: - cmp r4, #0 - beq _022388BA - str r6, [r4] + cmp r4, #0 + beq _022388BA + str r6, [r4] _022388BA: - str r5, [r7, #8] - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + str r5, [r7, #8] + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _022388C0: .word MOD83_0223BC30 _022388C4: .word MOD83_0223BC30 _022388C8: .word 0x00007FFF - thumb_func_end MOD83_0223886C + thumb_func_end MOD83_0223886C - thumb_func_start MOD83_022388CC + thumb_func_start MOD83_022388CC MOD83_022388CC: ; 0x022388CC - push {r3, r4, r5, lr} - add r4, r0, #0 - ldr r5, _022388E0 ; =MOD83_0223BC30 - bl FUN_0200E308 - cmp r0, #0 - beq _022388DE - ldr r0, [r5, #8] - str r0, [r4] + push {r3, r4, r5, lr} + add r4, r0, #0 + ldr r5, _022388E0 ; =MOD83_0223BC30 + bl FUN_0200E308 + cmp r0, #0 + beq _022388DE + ldr r0, [r5, #8] + str r0, [r4] _022388DE: - pop {r3, r4, r5, pc} - .align 2, 0 + pop {r3, r4, r5, pc} + .align 2, 0 _022388E0: .word MOD83_0223BC30 - thumb_func_end MOD83_022388CC + thumb_func_end MOD83_022388CC - thumb_func_start MOD83_022388E4 + thumb_func_start MOD83_022388E4 MOD83_022388E4: ; 0x022388E4 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r6, r2, #0 - mov r1, #0 - mov r2, #0x54 - add r5, r0, #0 - add r7, r3, #0 - bl memset - mov r0, #1 - str r0, [r5, #4] - str r0, [r5, #8] - sub r0, r0, #2 - str r0, [r5, #0x4c] - str r4, [r5, #0x10] - str r6, [r5, #0x30] - ldr r0, [sp, #0x18] - str r7, [r5, #0x34] - str r0, [r5, #0x38] - ldr r0, [sp, #0x1c] - mov r2, #0 - str r0, [r5, #0x3c] - str r2, [r5, #0x2c] - ldr r0, _02238930 ; =0x0001020F - str r2, [r5, #0x40] - str r0, [r5, #0x44] - add r0, r5, #0 - mov r1, #0xf - add r0, #0x48 - strb r1, [r0] - str r2, [r5] - str r2, [r5, #0x24] - str r2, [r5, #0x20] - str r2, [r5, #0x14] - mov r0, #0xff - str r0, [r5, #0x50] - pop {r3, r4, r5, r6, r7, pc} - nop + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r6, r2, #0 + mov r1, #0 + mov r2, #0x54 + add r5, r0, #0 + add r7, r3, #0 + bl memset + mov r0, #1 + str r0, [r5, #4] + str r0, [r5, #8] + sub r0, r0, #2 + str r0, [r5, #0x4c] + str r4, [r5, #0x10] + str r6, [r5, #0x30] + ldr r0, [sp, #0x18] + str r7, [r5, #0x34] + str r0, [r5, #0x38] + ldr r0, [sp, #0x1c] + mov r2, #0 + str r0, [r5, #0x3c] + str r2, [r5, #0x2c] + ldr r0, _02238930 ; =0x0001020F + str r2, [r5, #0x40] + str r0, [r5, #0x44] + add r0, r5, #0 + mov r1, #0xf + add r0, #0x48 + strb r1, [r0] + str r2, [r5] + str r2, [r5, #0x24] + str r2, [r5, #0x20] + str r2, [r5, #0x14] + mov r0, #0xff + str r0, [r5, #0x50] + pop {r3, r4, r5, r6, r7, pc} + nop _02238930: .word 0x0001020F - thumb_func_end MOD83_022388E4 + thumb_func_end MOD83_022388E4 - thumb_func_start MOD83_02238934 + thumb_func_start MOD83_02238934 MOD83_02238934: ; 0x02238934 - str r1, [r0, #0x18] - str r2, [r0, #0x1c] - str r3, [r0, #0x28] - bx lr - thumb_func_end MOD83_02238934 + str r1, [r0, #0x18] + str r2, [r0, #0x1c] + str r3, [r0, #0x28] + bx lr + thumb_func_end MOD83_02238934 - thumb_func_start MOD83_0223893C + thumb_func_start MOD83_0223893C MOD83_0223893C: ; 0x0223893C - str r1, [r0] - str r2, [r0, #0x40] - bx lr - .align 2, 0 - thumb_func_end MOD83_0223893C + str r1, [r0] + str r2, [r0, #0x40] + bx lr + .align 2, 0 + thumb_func_end MOD83_0223893C - thumb_func_start MOD83_02238944 + thumb_func_start MOD83_02238944 MOD83_02238944: ; 0x02238944 - str r1, [r0, #0x20] - str r2, [r0, #0x24] - bx lr - .align 2, 0 - thumb_func_end MOD83_02238944 + str r1, [r0, #0x20] + str r2, [r0, #0x24] + bx lr + .align 2, 0 + thumb_func_end MOD83_02238944 - thumb_func_start MOD83_0223894C + thumb_func_start MOD83_0223894C MOD83_0223894C: ; 0x0223894C - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r0, #0 - mov r0, #0 - mvn r0, r0 - ldr r4, _02238A34 ; =MOD83_0223BC30 - cmp r1, r0 - beq _02238A2A - ldr r0, [r5, #0x4c] - cmp r0, r1 - beq _02238A2A - str r1, [r5, #0x4c] - ldr r0, [r5, #8] - cmp r0, #1 - bne _02238976 - add r1, r5, #0 - add r1, #0x48 - ldrb r1, [r1] - ldr r0, [r5, #0x10] - bl FillWindowPixelBuffer + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r5, r0, #0 + mov r0, #0 + mvn r0, r0 + ldr r4, _02238A34 ; =MOD83_0223BC30 + cmp r1, r0 + beq _02238A2A + ldr r0, [r5, #0x4c] + cmp r0, r1 + beq _02238A2A + str r1, [r5, #0x4c] + ldr r0, [r5, #8] + cmp r0, #1 + bne _02238976 + add r1, r5, #0 + add r1, #0x48 + ldrb r1, [r1] + ldr r0, [r5, #0x10] + bl FillWindowPixelBuffer _02238976: - mov r0, #0 - ldr r1, [r5, #0x4c] - mvn r0, r0 - cmp r1, r0 - beq _02238A2A - ldr r2, [r5, #0x34] - ldr r3, [r4, #4] - mov r0, #1 - mov r1, #0x1a - bl NewMsgDataFromNarc - ldr r6, [r5, #0x14] - str r0, [sp, #0x10] - cmp r6, #0 - bne _0223899C - ldr r0, [r4, #4] - bl ScrStrBufs_new - add r6, r0, #0 + mov r0, #0 + ldr r1, [r5, #0x4c] + mvn r0, r0 + cmp r1, r0 + beq _02238A2A + ldr r2, [r5, #0x34] + ldr r3, [r4, #4] + mov r0, #1 + mov r1, #0x1a + bl NewMsgDataFromNarc + ldr r6, [r5, #0x14] + str r0, [sp, #0x10] + cmp r6, #0 + bne _0223899C + ldr r0, [r4, #4] + bl ScrStrBufs_new + add r6, r0, #0 _0223899C: - ldr r1, [sp, #0x10] - ldr r2, [r5, #0x4c] - ldr r3, [r4, #4] - add r0, r6, #0 - bl ReadMsgData_ExpandPlaceholders - add r4, r0, #0 - ldr r0, [r5, #0xc] - cmp r0, #0 - bne _022389D0 - ldr r0, [r5, #0x24] - add r2, r4, #0 - str r0, [sp] - ldr r0, [r5, #0x50] - str r0, [sp, #4] - ldr r0, [r5, #0x44] - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [r5, #0x10] - ldr r1, [r5, #0x40] - ldr r3, [r5, #0x20] - bl AddTextPrinterParameterized2 - add r7, r0, #0 - b _02238A12 + ldr r1, [sp, #0x10] + ldr r2, [r5, #0x4c] + ldr r3, [r4, #4] + add r0, r6, #0 + bl ReadMsgData_ExpandPlaceholders + add r4, r0, #0 + ldr r0, [r5, #0xc] + cmp r0, #0 + bne _022389D0 + ldr r0, [r5, #0x24] + add r2, r4, #0 + str r0, [sp] + ldr r0, [r5, #0x50] + str r0, [sp, #4] + ldr r0, [r5, #0x44] + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [r5, #0x10] + ldr r1, [r5, #0x40] + ldr r3, [r5, #0x20] + bl AddTextPrinterParameterized2 + add r7, r0, #0 + b _02238A12 _022389D0: - ldr r0, [r5, #0x40] - mov r1, #2 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl GetFontAttribute - add r2, r0, #0 - ldr r0, [r5, #0x40] - add r1, r4, #0 - bl FUN_02002E14 - add r7, r0, #0 - ldr r0, [r5, #0x10] - bl GetWindowWidth - lsl r0, r0, #3 - sub r3, r0, r7 - ldr r0, [r5, #0x24] - add r2, r4, #0 - str r0, [sp] - ldr r0, [r5, #0x50] - str r0, [sp, #4] - ldr r0, [r5, #0x44] - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [r5, #0x10] - ldr r1, [r5, #0x40] - bl AddTextPrinterParameterized2 - add r7, r0, #0 - mov r0, #0 - str r0, [r5, #0xc] + ldr r0, [r5, #0x40] + mov r1, #2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl GetFontAttribute + add r2, r0, #0 + ldr r0, [r5, #0x40] + add r1, r4, #0 + bl FUN_02002E14 + add r7, r0, #0 + ldr r0, [r5, #0x10] + bl GetWindowWidth + lsl r0, r0, #3 + sub r3, r0, r7 + ldr r0, [r5, #0x24] + add r2, r4, #0 + str r0, [sp] + ldr r0, [r5, #0x50] + str r0, [sp, #4] + ldr r0, [r5, #0x44] + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [r5, #0x10] + ldr r1, [r5, #0x40] + bl AddTextPrinterParameterized2 + add r7, r0, #0 + mov r0, #0 + str r0, [r5, #0xc] _02238A12: - add r0, r4, #0 - bl String_dtor - ldr r0, [r5, #0x14] - cmp r0, #0 - bne _02238A24 - add r0, r6, #0 - bl ScrStrBufs_delete + add r0, r4, #0 + bl String_dtor + ldr r0, [r5, #0x14] + cmp r0, #0 + bne _02238A24 + add r0, r6, #0 + bl ScrStrBufs_delete _02238A24: - ldr r0, [sp, #0x10] - bl DestroyMsgData + ldr r0, [sp, #0x10] + bl DestroyMsgData _02238A2A: - mov r0, #0xff - str r0, [r5, #0x50] - add r0, r7, #0 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .align 2, 0 + mov r0, #0xff + str r0, [r5, #0x50] + add r0, r7, #0 + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + .align 2, 0 _02238A34: .word MOD83_0223BC30 - thumb_func_end MOD83_0223894C + thumb_func_end MOD83_0223894C - thumb_func_start MOD83_02238A38 + thumb_func_start MOD83_02238A38 MOD83_02238A38: ; 0x02238A38 - push {r3, r4, r5, r6, lr} - sub sp, #0x14 - add r4, r1, #0 - ldr r1, [r4, #0x10] - add r6, r2, #0 - ldr r2, [r1] - add r5, r3, #0 - cmp r2, #0 - bne _02238A8A - lsl r2, r5, #0x18 - lsr r2, r2, #0x18 - str r2, [sp] - ldr r2, [r4, #0x18] - lsl r3, r6, #0x18 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - str r2, [sp, #4] - ldr r2, [r4, #0x1c] - lsr r3, r3, #0x18 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - str r2, [sp, #8] - ldr r2, [r4, #0x30] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - str r2, [sp, #0xc] - ldr r2, [r4, #0x28] - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - str r2, [sp, #0x10] - ldr r2, [r4, #0x2c] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - bl AddWindowParameterized - ldr r1, [sp, #0x28] - add r0, r4, #0 - bl MOD83_0223894C - add r5, r0, #0 - b _02238AB8 + push {r3, r4, r5, r6, lr} + sub sp, #0x14 + add r4, r1, #0 + ldr r1, [r4, #0x10] + add r6, r2, #0 + ldr r2, [r1] + add r5, r3, #0 + cmp r2, #0 + bne _02238A8A + lsl r2, r5, #0x18 + lsr r2, r2, #0x18 + str r2, [sp] + ldr r2, [r4, #0x18] + lsl r3, r6, #0x18 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #4] + ldr r2, [r4, #0x1c] + lsr r3, r3, #0x18 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #8] + ldr r2, [r4, #0x30] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #0xc] + ldr r2, [r4, #0x28] + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + str r2, [sp, #0x10] + ldr r2, [r4, #0x2c] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl AddWindowParameterized + ldr r1, [sp, #0x28] + add r0, r4, #0 + bl MOD83_0223894C + add r5, r0, #0 + b _02238AB8 _02238A8A: - mov r0, #0 - mvn r0, r0 - cmp r6, r0 - beq _02238A9C - add r0, r1, #0 - lsl r1, r6, #0x18 - lsr r1, r1, #0x18 - bl MoveWindowX + mov r0, #0 + mvn r0, r0 + cmp r6, r0 + beq _02238A9C + add r0, r1, #0 + lsl r1, r6, #0x18 + lsr r1, r1, #0x18 + bl MoveWindowX _02238A9C: - mov r0, #0 - mvn r0, r0 - cmp r5, r0 - beq _02238AAE - lsl r1, r5, #0x18 - ldr r0, [r4, #0x10] - lsr r1, r1, #0x18 - bl MoveWindowY + mov r0, #0 + mvn r0, r0 + cmp r5, r0 + beq _02238AAE + lsl r1, r5, #0x18 + ldr r0, [r4, #0x10] + lsr r1, r1, #0x18 + bl MoveWindowY _02238AAE: - ldr r1, [sp, #0x28] - add r0, r4, #0 - bl MOD83_0223894C - add r5, r0, #0 + ldr r1, [sp, #0x28] + add r0, r4, #0 + bl MOD83_0223894C + add r5, r0, #0 _02238AB8: - ldr r0, [r4, #4] - cmp r0, #1 - bne _02238AEC - ldr r0, [r4] - cmp r0, #0 - ldr r0, [r4, #0x10] - bne _02238ADA - ldr r2, [r4, #0x38] - ldr r3, [r4, #0x3c] - lsl r2, r2, #0x10 - lsl r3, r3, #0x18 - mov r1, #0 - lsr r2, r2, #0x10 - lsr r3, r3, #0x18 - bl FUN_0200CCA4 - b _02238AEC + ldr r0, [r4, #4] + cmp r0, #1 + bne _02238AEC + ldr r0, [r4] + cmp r0, #0 + ldr r0, [r4, #0x10] + bne _02238ADA + ldr r2, [r4, #0x38] + ldr r3, [r4, #0x3c] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + mov r1, #0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl FUN_0200CCA4 + b _02238AEC _02238ADA: - ldr r2, [r4, #0x38] - ldr r3, [r4, #0x3c] - lsl r2, r2, #0x10 - lsl r3, r3, #0x18 - mov r1, #0 - lsr r2, r2, #0x10 - lsr r3, r3, #0x18 - bl FUN_0200D0BC + ldr r2, [r4, #0x38] + ldr r3, [r4, #0x3c] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + mov r1, #0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl FUN_0200D0BC _02238AEC: - add r0, r5, #0 - add sp, #0x14 - pop {r3, r4, r5, r6, pc} - .align 2, 0 - thumb_func_end MOD83_02238A38 + add r0, r5, #0 + add sp, #0x14 + pop {r3, r4, r5, r6, pc} + .align 2, 0 + thumb_func_end MOD83_02238A38 - thumb_func_start MOD83_02238AF4 + thumb_func_start MOD83_02238AF4 MOD83_02238AF4: ; 0x02238AF4 - ldr r1, [r0, #0x18] - ldr r0, [r0, #0x1c] - mul r0, r1 - bx lr - thumb_func_end MOD83_02238AF4 + ldr r1, [r0, #0x18] + ldr r0, [r0, #0x1c] + mul r0, r1 + bx lr + thumb_func_end MOD83_02238AF4 - thumb_func_start MOD83_02238AFC + thumb_func_start MOD83_02238AFC MOD83_02238AFC: ; 0x02238AFC - push {r4, lr} - sub sp, #0x10 - ldr r4, _02238B30 ; =MOD83_0223A734 - add r3, sp, #0 - add r2, r3, #0 - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, _02238B34 ; =MOD83_0223BC30 - ldr r0, [r0, #4] - str r0, [sp, #0xc] - add r0, r2, #0 - bl FUN_0201D040 - ldr r1, _02238B34 ; =MOD83_0223BC30 - mov r0, #0x14 - ldr r1, [r1, #4] - bl FUN_0201E00C - bl FUN_0201D168 - bl FUN_0201E0BC - add sp, #0x10 - pop {r4, pc} - .align 2, 0 + push {r4, lr} + sub sp, #0x10 + ldr r4, _02238B30 ; =MOD83_0223A734 + add r3, sp, #0 + add r2, r3, #0 + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, _02238B34 ; =MOD83_0223BC30 + ldr r0, [r0, #4] + str r0, [sp, #0xc] + add r0, r2, #0 + bl FUN_0201D040 + ldr r1, _02238B34 ; =MOD83_0223BC30 + mov r0, #0x14 + ldr r1, [r1, #4] + bl FUN_0201E00C + bl FUN_0201D168 + bl FUN_0201E0BC + add sp, #0x10 + pop {r4, pc} + .align 2, 0 _02238B30: .word MOD83_0223A734 _02238B34: .word MOD83_0223BC30 - thumb_func_end MOD83_02238AFC + thumb_func_end MOD83_02238AFC - thumb_func_start MOD83_02238B38 + thumb_func_start MOD83_02238B38 MOD83_02238B38: ; 0x02238B38 - ldr r0, _02238B48 ; =MOD83_0223BC30 - ldr r0, [r0, #0x30] - cmp r0, #0 - beq _02238B44 - mov r0, #1 - bx lr + ldr r0, _02238B48 ; =MOD83_0223BC30 + ldr r0, [r0, #0x30] + cmp r0, #0 + beq _02238B44 + mov r0, #1 + bx lr _02238B44: - mov r0, #0 - bx lr - .align 2, 0 + mov r0, #0 + bx lr + .align 2, 0 _02238B48: .word MOD83_0223BC30 - thumb_func_end MOD83_02238B38 + thumb_func_end MOD83_02238B38 - thumb_func_start MOD83_02238B4C + thumb_func_start MOD83_02238B4C MOD83_02238B4C: ; 0x02238B4C - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - ldr r6, _02238BB4 ; =MOD83_0223BC30 - bl NNS_G2dInitOamManagerModule - mov r0, #0 - str r0, [sp] - mov r1, #0x7e - str r1, [sp, #4] - str r0, [sp, #8] - mov r3, #0x20 - ldr r2, _02238BB8 ; =MOD83_0223BC30 - str r3, [sp, #0xc] - ldr r2, [r2, #4] - str r2, [sp, #0x10] - add r2, r0, #0 - bl FUN_02009EAC - ldr r2, _02238BB8 ; =MOD83_0223BC30 - ldr r1, _02238BBC ; =MOD83_0223BC64 - ldr r2, [r2, #4] - mov r0, #0x46 - bl FUN_02008C9C - ldr r1, _02238BB8 ; =MOD83_0223BC30 - mov r2, #1 - str r0, [r1, #0x30] - ldr r0, _02238BBC ; =MOD83_0223BC64 - mov r1, #0 - lsl r2, r2, #0x14 - bl FUN_02008D24 - mov r1, #3 - mov r7, #0x57 - ldr r0, _02238BC0 ; =MOD83_0223BE30 - lsl r1, r1, #0x12 - str r1, [r0, #0xc] - mov r4, #0 - add r5, r6, #0 - lsl r7, r7, #2 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + ldr r6, _02238BB4 ; =MOD83_0223BC30 + bl NNS_G2dInitOamManagerModule + mov r0, #0 + str r0, [sp] + mov r1, #0x7e + str r1, [sp, #4] + str r0, [sp, #8] + mov r3, #0x20 + ldr r2, _02238BB8 ; =MOD83_0223BC30 + str r3, [sp, #0xc] + ldr r2, [r2, #4] + str r2, [sp, #0x10] + add r2, r0, #0 + bl FUN_02009EAC + ldr r2, _02238BB8 ; =MOD83_0223BC30 + ldr r1, _02238BBC ; =MOD83_0223BC64 + ldr r2, [r2, #4] + mov r0, #0x46 + bl FUN_02008C9C + ldr r1, _02238BB8 ; =MOD83_0223BC30 + mov r2, #1 + str r0, [r1, #0x30] + ldr r0, _02238BBC ; =MOD83_0223BC64 + mov r1, #0 + lsl r2, r2, #0x14 + bl FUN_02008D24 + mov r1, #3 + mov r7, #0x57 + ldr r0, _02238BC0 ; =MOD83_0223BE30 + lsl r1, r1, #0x12 + str r1, [r0, #0xc] + mov r4, #0 + add r5, r6, #0 + lsl r7, r7, #2 _02238B9C: - ldr r2, [r6, #4] - mov r0, #3 - add r1, r4, #0 - bl FUN_02008DEC - str r0, [r5, r7] - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #6 - blt _02238B9C - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .align 2, 0 + ldr r2, [r6, #4] + mov r0, #3 + add r1, r4, #0 + bl FUN_02008DEC + str r0, [r5, r7] + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #6 + blt _02238B9C + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + .align 2, 0 _02238BB4: .word MOD83_0223BC30 _02238BB8: .word MOD83_0223BC30 _02238BBC: .word MOD83_0223BC64 _02238BC0: .word MOD83_0223BE30 - thumb_func_end MOD83_02238B4C + thumb_func_end MOD83_02238B4C - thumb_func_start MOD83_02238BC4 + thumb_func_start MOD83_02238BC4 MOD83_02238BC4: ; 0x02238BC4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x38 - ldr r4, [sp, #0x54] - add r6, r0, #0 - mov ip, r1 - str r2, [sp, #0x2c] - str r3, [sp, #0x30] - ldr r5, _02238D30 ; =MOD83_0223BC30 - cmp r4, #0 - bne _02238BDC - mov r7, #1 - b _02238BDE + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x38 + ldr r4, [sp, #0x54] + add r6, r0, #0 + mov ip, r1 + str r2, [sp, #0x2c] + str r3, [sp, #0x30] + ldr r5, _02238D30 ; =MOD83_0223BC30 + cmp r4, #0 + bne _02238BDC + mov r7, #1 + b _02238BDE _02238BDC: - mov r7, #2 + mov r7, #2 _02238BDE: - mov r0, #1 - str r0, [sp, #0x34] - cmp r6, #0x10 - bne _02238BEA - mov r0, #0 - str r0, [sp, #0x34] + mov r0, #1 + str r0, [sp, #0x34] + cmp r6, #0x10 + bne _02238BEA + mov r0, #0 + str r0, [sp, #0x34] _02238BEA: - mov r1, #0 - mvn r1, r1 - mov r0, ip - cmp r0, r1 - beq _02238C18 - str r4, [sp] - str r7, [sp, #4] - ldr r0, [r5, #4] - ldr r3, [sp, #0x34] - str r0, [sp, #8] - mov r0, #0x57 - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r1, r6, #0 - mov r2, ip - bl FUN_02008F34 - mov r1, #0x18 - mul r1, r4 - add r2, r5, r1 - mov r1, #0x5d - lsl r1, r1, #2 - str r0, [r2, r1] + mov r1, #0 + mvn r1, r1 + mov r0, ip + cmp r0, r1 + beq _02238C18 + str r4, [sp] + str r7, [sp, #4] + ldr r0, [r5, #4] + ldr r3, [sp, #0x34] + str r0, [sp, #8] + mov r0, #0x57 + lsl r0, r0, #2 + ldr r0, [r5, r0] + add r1, r6, #0 + mov r2, ip + bl FUN_02008F34 + mov r1, #0x18 + mul r1, r4 + add r2, r5, r1 + mov r1, #0x5d + lsl r1, r1, #2 + str r0, [r2, r1] _02238C18: - mov r1, #0 - ldr r0, [sp, #0x2c] - mvn r1, r1 - cmp r0, r1 - beq _02238C4A - str r4, [sp] - str r7, [sp, #4] - mov r0, #3 - str r0, [sp, #8] - ldr r0, [r5, #4] - ldr r2, [sp, #0x2c] - str r0, [sp, #0xc] - mov r0, #0x16 - lsl r0, r0, #4 - ldr r0, [r5, r0] - add r1, r6, #0 - mov r3, #0 - bl FUN_02008FEC - mov r1, #0x18 - mul r1, r4 - add r2, r5, r1 - mov r1, #0x5e - lsl r1, r1, #2 - str r0, [r2, r1] + mov r1, #0 + ldr r0, [sp, #0x2c] + mvn r1, r1 + cmp r0, r1 + beq _02238C4A + str r4, [sp] + str r7, [sp, #4] + mov r0, #3 + str r0, [sp, #8] + ldr r0, [r5, #4] + ldr r2, [sp, #0x2c] + str r0, [sp, #0xc] + mov r0, #0x16 + lsl r0, r0, #4 + ldr r0, [r5, r0] + add r1, r6, #0 + mov r3, #0 + bl FUN_02008FEC + mov r1, #0x18 + mul r1, r4 + add r2, r5, r1 + mov r1, #0x5e + lsl r1, r1, #2 + str r0, [r2, r1] _02238C4A: - mov r1, #0 - ldr r0, [sp, #0x30] - mvn r1, r1 - cmp r0, r1 - beq _02238C7A - str r4, [sp] - mov r0, #2 - str r0, [sp, #4] - ldr r0, [r5, #4] - ldr r2, [sp, #0x30] - str r0, [sp, #8] - mov r0, #0x59 - lsl r0, r0, #2 - ldr r0, [r5, r0] - ldr r3, [sp, #0x34] - add r1, r6, #0 - bl FUN_020090AC - mov r1, #0x18 - mul r1, r4 - add r2, r5, r1 - mov r1, #0x5f - lsl r1, r1, #2 - str r0, [r2, r1] + mov r1, #0 + ldr r0, [sp, #0x30] + mvn r1, r1 + cmp r0, r1 + beq _02238C7A + str r4, [sp] + mov r0, #2 + str r0, [sp, #4] + ldr r0, [r5, #4] + ldr r2, [sp, #0x30] + str r0, [sp, #8] + mov r0, #0x59 + lsl r0, r0, #2 + ldr r0, [r5, r0] + ldr r3, [sp, #0x34] + add r1, r6, #0 + bl FUN_020090AC + mov r1, #0x18 + mul r1, r4 + add r2, r5, r1 + mov r1, #0x5f + lsl r1, r1, #2 + str r0, [r2, r1] _02238C7A: - mov r0, #0 - ldr r2, [sp, #0x50] - mvn r0, r0 - cmp r2, r0 - beq _02238CA8 - str r4, [sp] - mov r0, #3 - str r0, [sp, #4] - ldr r0, [r5, #4] - ldr r3, [sp, #0x34] - str r0, [sp, #8] - mov r0, #0x5a - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r1, r6, #0 - bl FUN_020090AC - mov r1, #0x18 - add r2, r4, #0 - mul r2, r1 - add r2, r5, r2 - lsl r1, r1, #4 - str r0, [r2, r1] + mov r0, #0 + ldr r2, [sp, #0x50] + mvn r0, r0 + cmp r2, r0 + beq _02238CA8 + str r4, [sp] + mov r0, #3 + str r0, [sp, #4] + ldr r0, [r5, #4] + ldr r3, [sp, #0x34] + str r0, [sp, #8] + mov r0, #0x5a + lsl r0, r0, #2 + ldr r0, [r5, r0] + add r1, r6, #0 + bl FUN_020090AC + mov r1, #0x18 + add r2, r4, #0 + mul r2, r1 + add r2, r5, r2 + lsl r1, r1, #4 + str r0, [r2, r1] _02238CA8: - mov r0, #0x18 - add r6, r4, #0 - mul r6, r0 - mov r0, #0x5d - add r1, r5, r6 - lsl r0, r0, #2 - ldr r0, [r1, r0] - bl FUN_02009A50 - mov r0, #0x5e - add r1, r5, r6 - lsl r0, r0, #2 - ldr r0, [r1, r0] - bl FUN_02009CF0 - mov r0, #0 - mov r2, #0x57 - str r4, [sp] - mvn r0, r0 - str r0, [sp, #4] - str r0, [sp, #8] - mov r0, #0 - str r0, [sp, #0xc] - str r0, [sp, #0x10] - lsl r2, r2, #2 - ldr r1, [r5, r2] - add r3, r4, #0 - str r1, [sp, #0x14] - add r1, r2, #4 - ldr r1, [r5, r1] - str r1, [sp, #0x18] - add r1, r2, #0 - add r1, #8 - ldr r1, [r5, r1] - str r1, [sp, #0x1c] - add r1, r2, #0 - add r1, #0xc - ldr r1, [r5, r1] - add r2, #0x48 - str r1, [sp, #0x20] - str r0, [sp, #0x24] - str r0, [sp, #0x28] - mov r0, #0x24 - add r1, r5, r2 - mul r0, r4 - add r0, r1, r0 - add r1, r4, #0 - add r2, r4, #0 - bl FUN_02008AA4 - cmp r4, #0 - bne _02238D1A - mov r0, #0x10 - mov r1, #1 - bl GX_EngineAToggleLayers - b _02238D22 + mov r0, #0x18 + add r6, r4, #0 + mul r6, r0 + mov r0, #0x5d + add r1, r5, r6 + lsl r0, r0, #2 + ldr r0, [r1, r0] + bl FUN_02009A50 + mov r0, #0x5e + add r1, r5, r6 + lsl r0, r0, #2 + ldr r0, [r1, r0] + bl FUN_02009CF0 + mov r0, #0 + mov r2, #0x57 + str r4, [sp] + mvn r0, r0 + str r0, [sp, #4] + str r0, [sp, #8] + mov r0, #0 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + lsl r2, r2, #2 + ldr r1, [r5, r2] + add r3, r4, #0 + str r1, [sp, #0x14] + add r1, r2, #4 + ldr r1, [r5, r1] + str r1, [sp, #0x18] + add r1, r2, #0 + add r1, #8 + ldr r1, [r5, r1] + str r1, [sp, #0x1c] + add r1, r2, #0 + add r1, #0xc + ldr r1, [r5, r1] + add r2, #0x48 + str r1, [sp, #0x20] + str r0, [sp, #0x24] + str r0, [sp, #0x28] + mov r0, #0x24 + add r1, r5, r2 + mul r0, r4 + add r0, r1, r0 + add r1, r4, #0 + add r2, r4, #0 + bl FUN_02008AA4 + cmp r4, #0 + bne _02238D1A + mov r0, #0x10 + mov r1, #1 + bl GX_EngineAToggleLayers + b _02238D22 _02238D1A: - mov r0, #0x10 - mov r1, #1 - bl GX_EngineBToggleLayers + mov r0, #0x10 + mov r1, #1 + bl GX_EngineBToggleLayers _02238D22: - ldr r0, _02238D34 ; =MOD83_02238F00 - mov r1, #0 - bl Main_SetVBlankIntrCB - add sp, #0x38 - pop {r3, r4, r5, r6, r7, pc} - nop + ldr r0, _02238D34 ; =MOD83_02238F00 + mov r1, #0 + bl Main_SetVBlankIntrCB + add sp, #0x38 + pop {r3, r4, r5, r6, r7, pc} + nop _02238D30: .word MOD83_0223BC30 _02238D34: .word MOD83_02238F00 - thumb_func_end MOD83_02238BC4 + thumb_func_end MOD83_02238BC4 - thumb_func_start MOD83_02238D38 + thumb_func_start MOD83_02238D38 MOD83_02238D38: ; 0x02238D38 - push {r4, lr} - add r2, r0, #0 - add r4, r1, #0 - add r1, r2, #0 - ldr r0, _02238D50 ; =MOD83_0223BC64 - add r2, r4, #0 - bl FUN_02008D24 - ldr r0, _02238D54 ; =MOD83_0223BE30 - str r4, [r0, #0xc] - pop {r4, pc} - nop + push {r4, lr} + add r2, r0, #0 + add r4, r1, #0 + add r1, r2, #0 + ldr r0, _02238D50 ; =MOD83_0223BC64 + add r2, r4, #0 + bl FUN_02008D24 + ldr r0, _02238D54 ; =MOD83_0223BE30 + str r4, [r0, #0xc] + pop {r4, pc} + nop _02238D50: .word MOD83_0223BC64 _02238D54: .word MOD83_0223BE30 - thumb_func_end MOD83_02238D38 + thumb_func_end MOD83_02238D38 - thumb_func_start MOD83_02238D58 + thumb_func_start MOD83_02238D58 MOD83_02238D58: ; 0x02238D58 - push {r4, lr} - ldr r0, _02238DB4 ; =MOD83_0223BE30 - ldr r4, _02238DB8 ; =MOD83_0223BC30 - ldr r0, [r0, #4] - cmp r0, #0 - beq _02238DA6 - mov r0, #0x82 - lsl r0, r0, #2 - ldr r1, [r4, r0] - cmp r1, #0 - bne _02238DA2 - sub r0, r0, #4 - ldr r0, [r4, r0] - bl FUN_02020128 - cmp r0, #0 - bne _02238D86 - mov r0, #0x81 - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #1 - bl FUN_020200A0 + push {r4, lr} + ldr r0, _02238DB4 ; =MOD83_0223BE30 + ldr r4, _02238DB8 ; =MOD83_0223BC30 + ldr r0, [r0, #4] + cmp r0, #0 + beq _02238DA6 + mov r0, #0x82 + lsl r0, r0, #2 + ldr r1, [r4, r0] + cmp r1, #0 + bne _02238DA2 + sub r0, r0, #4 + ldr r0, [r4, r0] + bl FUN_02020128 + cmp r0, #0 + bne _02238D86 + mov r0, #0x81 + lsl r0, r0, #2 + ldr r0, [r4, r0] + mov r1, #1 + bl FUN_020200A0 _02238D86: - mov r0, #0x81 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FUN_0202011C - mov r1, #6 - ldr r2, [r0, #4] - lsl r1, r1, #0x12 - cmp r2, r1 - bge _02238DA6 - lsr r1, r1, #7 - add r1, r2, r1 - str r1, [r0, #4] - b _02238DA6 + mov r0, #0x81 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FUN_0202011C + mov r1, #6 + ldr r2, [r0, #4] + lsl r1, r1, #0x12 + cmp r2, r1 + bge _02238DA6 + lsr r1, r1, #7 + add r1, r2, r1 + str r1, [r0, #4] + b _02238DA6 _02238DA2: - sub r1, r1, #1 - str r1, [r4, r0] + sub r1, r1, #1 + str r1, [r4, r0] _02238DA6: - ldr r0, [r4, #0x30] - cmp r0, #0 - beq _02238DB0 - bl FUN_0201FDEC + ldr r0, [r4, #0x30] + cmp r0, #0 + beq _02238DB0 + bl FUN_0201FDEC _02238DB0: - pop {r4, pc} - nop + pop {r4, pc} + nop _02238DB4: .word MOD83_0223BE30 _02238DB8: .word MOD83_0223BC30 - thumb_func_end MOD83_02238D58 + thumb_func_end MOD83_02238D58 - thumb_func_start MOD83_02238DBC + thumb_func_start MOD83_02238DBC MOD83_02238DBC: ; 0x02238DBC - push {r3, r4, r5, lr} - sub sp, #0x30 - add r4, r1, #0 - ldr r1, _02238E44 ; =MOD83_0223BC30 - bne _02238E1E - ldr r4, [r1, #0x30] - lsl r2, r2, #0xc - str r4, [sp] - mov r4, #0x69 - lsl r4, r4, #2 - add r5, r1, r4 - mov r4, #0x24 - mul r4, r0 - add r4, r5, r4 - str r4, [sp, #4] - mov r4, #1 - lsl r4, r4, #0xc - mov r5, #0 - str r5, [sp, #0x10] - str r4, [sp, #0x14] - str r4, [sp, #0x18] - str r4, [sp, #0x1c] - add r4, sp, #0 - strh r5, [r4, #0x20] - str r2, [sp, #8] - lsl r2, r3, #0xc - str r2, [sp, #0xc] - mov r2, #0xa - str r2, [sp, #0x24] - cmp r0, #0 - bne _02238DFE - mov r2, #1 - b _02238E00 + push {r3, r4, r5, lr} + sub sp, #0x30 + add r4, r1, #0 + ldr r1, _02238E44 ; =MOD83_0223BC30 + bne _02238E1E + ldr r4, [r1, #0x30] + lsl r2, r2, #0xc + str r4, [sp] + mov r4, #0x69 + lsl r4, r4, #2 + add r5, r1, r4 + mov r4, #0x24 + mul r4, r0 + add r4, r5, r4 + str r4, [sp, #4] + mov r4, #1 + lsl r4, r4, #0xc + mov r5, #0 + str r5, [sp, #0x10] + str r4, [sp, #0x14] + str r4, [sp, #0x18] + str r4, [sp, #0x1c] + add r4, sp, #0 + strh r5, [r4, #0x20] + str r2, [sp, #8] + lsl r2, r3, #0xc + str r2, [sp, #0xc] + mov r2, #0xa + str r2, [sp, #0x24] + cmp r0, #0 + bne _02238DFE + mov r2, #1 + b _02238E00 _02238DFE: - mov r2, #2 + mov r2, #2 _02238E00: - ldr r0, [r1, #4] - str r2, [sp, #0x28] - str r0, [sp, #0x2c] - cmp r2, #2 - bne _02238E16 - mov r0, #0x83 - lsl r0, r0, #2 - ldr r2, [sp, #0xc] - ldr r0, [r1, r0] - add r0, r2, r0 - str r0, [sp, #0xc] + ldr r0, [r1, #4] + str r2, [sp, #0x28] + str r0, [sp, #0x2c] + cmp r2, #2 + bne _02238E16 + mov r0, #0x83 + lsl r0, r0, #2 + ldr r2, [sp, #0xc] + ldr r0, [r1, r0] + add r0, r2, r0 + str r0, [sp, #0xc] _02238E16: - add r0, sp, #0 - bl FUN_0201FE94 - add r4, r0, #0 + add r0, sp, #0 + bl FUN_0201FE94 + add r4, r0, #0 _02238E1E: - add r0, r4, #0 - mov r1, #1 - bl FUN_020200BC - add r0, r4, #0 - mov r1, #0 - bl FUN_02020238 - ldr r1, [sp, #0x40] - add r0, r4, #0 - bl FUN_02020130 - add r0, r4, #0 - mov r1, #1 - bl FUN_020200A0 - add r0, r4, #0 - add sp, #0x30 - pop {r3, r4, r5, pc} - .align 2, 0 + add r0, r4, #0 + mov r1, #1 + bl FUN_020200BC + add r0, r4, #0 + mov r1, #0 + bl FUN_02020238 + ldr r1, [sp, #0x40] + add r0, r4, #0 + bl FUN_02020130 + add r0, r4, #0 + mov r1, #1 + bl FUN_020200A0 + add r0, r4, #0 + add sp, #0x30 + pop {r3, r4, r5, pc} + .align 2, 0 _02238E44: .word MOD83_0223BC30 - thumb_func_end MOD83_02238DBC + thumb_func_end MOD83_02238DBC - thumb_func_start MOD83_02238E48 + thumb_func_start MOD83_02238E48 MOD83_02238E48: ; 0x02238E48 - push {r3, r4, r5, r6, r7, lr} - ldr r0, _02238EE8 ; =MOD83_0223BE30 - ldr r4, _02238EEC ; =MOD83_0223BC30 - ldr r0, [r0, #4] - cmp r0, #0 - beq _02238E66 - mov r0, #0x81 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FUN_0201FFC8 - mov r0, #0x81 - mov r1, #0 - lsl r0, r0, #2 - str r1, [r4, r0] + push {r3, r4, r5, r6, r7, lr} + ldr r0, _02238EE8 ; =MOD83_0223BE30 + ldr r4, _02238EEC ; =MOD83_0223BC30 + ldr r0, [r0, #4] + cmp r0, #0 + beq _02238E66 + mov r0, #0x81 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FUN_0201FFC8 + mov r0, #0x81 + mov r1, #0 + lsl r0, r0, #2 + str r1, [r4, r0] _02238E66: - mov r1, #0x51 - ldr r0, _02238EF0 ; =MOD83_0223BC60 - lsl r1, r1, #2 - ldr r0, [r0, r1] - cmp r0, #0 - beq _02238E76 - bl FUN_02009C0C + mov r1, #0x51 + ldr r0, _02238EF0 ; =MOD83_0223BC60 + lsl r1, r1, #2 + ldr r0, [r0, r1] + cmp r0, #0 + beq _02238E76 + bl FUN_02009C0C _02238E76: - mov r1, #0x57 - ldr r0, _02238EF0 ; =MOD83_0223BC60 - lsl r1, r1, #2 - ldr r0, [r0, r1] - cmp r0, #0 - beq _02238E86 - bl FUN_02009C0C + mov r1, #0x57 + ldr r0, _02238EF0 ; =MOD83_0223BC60 + lsl r1, r1, #2 + ldr r0, [r0, r1] + cmp r0, #0 + beq _02238E86 + bl FUN_02009C0C _02238E86: - mov r1, #0x52 - ldr r0, _02238EF0 ; =MOD83_0223BC60 - lsl r1, r1, #2 - ldr r0, [r0, r1] - cmp r0, #0 - beq _02238E96 - bl FUN_02009E04 + mov r1, #0x52 + ldr r0, _02238EF0 ; =MOD83_0223BC60 + lsl r1, r1, #2 + ldr r0, [r0, r1] + cmp r0, #0 + beq _02238E96 + bl FUN_02009E04 _02238E96: - mov r1, #0x16 - ldr r0, _02238EF0 ; =MOD83_0223BC60 - lsl r1, r1, #4 - ldr r0, [r0, r1] - cmp r0, #0 - beq _02238EA6 - bl FUN_02009E04 + mov r1, #0x16 + ldr r0, _02238EF0 ; =MOD83_0223BC60 + lsl r1, r1, #4 + ldr r0, [r0, r1] + cmp r0, #0 + beq _02238EA6 + bl FUN_02009E04 _02238EA6: - mov r4, #0 - mov r7, #0x4b - ldr r5, _02238EF0 ; =MOD83_0223BC60 - add r6, r4, #0 - lsl r7, r7, #2 + mov r4, #0 + mov r7, #0x4b + ldr r5, _02238EF0 ; =MOD83_0223BC60 + add r6, r4, #0 + lsl r7, r7, #2 _02238EB0: - mov r0, #0x4b - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl FUN_02008E2C - str r6, [r5, r7] - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #6 - blt _02238EB0 - ldr r0, _02238EF0 ; =MOD83_0223BC60 - ldr r0, [r0] - bl FUN_0201FD58 - ldr r0, _02238EF0 ; =MOD83_0223BC60 - mov r1, #0 - str r1, [r0] - bl FUN_02009FA0 - bl FUN_0201D12C - bl FUN_0201E08C - mov r0, #0 - add r1, r0, #0 - bl Main_SetVBlankIntrCB - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + mov r0, #0x4b + lsl r0, r0, #2 + ldr r0, [r5, r0] + bl FUN_02008E2C + str r6, [r5, r7] + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #6 + blt _02238EB0 + ldr r0, _02238EF0 ; =MOD83_0223BC60 + ldr r0, [r0] + bl FUN_0201FD58 + ldr r0, _02238EF0 ; =MOD83_0223BC60 + mov r1, #0 + str r1, [r0] + bl FUN_02009FA0 + bl FUN_0201D12C + bl FUN_0201E08C + mov r0, #0 + add r1, r0, #0 + bl Main_SetVBlankIntrCB + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _02238EE8: .word MOD83_0223BE30 _02238EEC: .word MOD83_0223BC30 _02238EF0: .word MOD83_0223BC60 - thumb_func_end MOD83_02238E48 + thumb_func_end MOD83_02238E48 - thumb_func_start MOD83_02238EF4 + thumb_func_start MOD83_02238EF4 MOD83_02238EF4: ; 0x02238EF4 - mov r1, #1 - sub r0, #0xa - lsl r1, r0 - add r0, r1, #0 - bx lr - .align 2, 0 - thumb_func_end MOD83_02238EF4 - - thumb_func_start MOD83_02238F00 + mov r1, #1 + sub r0, #0xa + lsl r1, r0 + add r0, r1, #0 + bx lr + .align 2, 0 + thumb_func_end MOD83_02238EF4 + + thumb_func_start MOD83_02238F00 MOD83_02238F00: ; 0x02238F00 - push {r4, lr} - ldr r0, _02238F34 ; =MOD83_0223CAB0 - ldr r4, _02238F38 ; =MOD83_0223BC30 - ldr r0, [r0, #0x20] - cmp r0, #0 - beq _02238F1E - mov r1, #0xea - lsl r1, r1, #4 - ldr r1, [r4, r1] - add r0, r4, #0 - blx r1 - mov r0, #0xea - mov r1, #0 - lsl r0, r0, #4 - str r1, [r4, r0] + push {r4, lr} + ldr r0, _02238F34 ; =MOD83_0223CAB0 + ldr r4, _02238F38 ; =MOD83_0223BC30 + ldr r0, [r0, #0x20] + cmp r0, #0 + beq _02238F1E + mov r1, #0xea + lsl r1, r1, #4 + ldr r1, [r4, r1] + add r0, r4, #0 + blx r1 + mov r0, #0xea + mov r1, #0 + lsl r0, r0, #4 + str r1, [r4, r0] _02238F1E: - bl FUN_0201C30C - bl FUN_02009F80 - ldr r3, _02238F3C ; =MOD83_027E0000 - ldr r1, _02238F40 ; =0x00003FF8 - mov r0, #1 - ldr r2, [r3, r1] - orr r0, r2 - str r0, [r3, r1] - pop {r4, pc} - .align 2, 0 + bl FUN_0201C30C + bl FUN_02009F80 + ldr r3, _02238F3C ; =MOD83_027E0000 + ldr r1, _02238F40 ; =0x00003FF8 + mov r0, #1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r4, pc} + .align 2, 0 _02238F34: .word MOD83_0223CAB0 _02238F38: .word MOD83_0223BC30 _02238F3C: .word 0x027E0000 _02238F40: .word 0x00003FF8 - thumb_func_end MOD83_02238F00 + thumb_func_end MOD83_02238F00 - thumb_func_start MOD83_02238F44 + thumb_func_start MOD83_02238F44 MOD83_02238F44: ; 0x02238F44 - push {r4} - sub sp, #0x1c - ldr r4, _02238F90 ; =MOD83_0223A744 - add r3, sp, #0 - mov r2, #0x1a + push {r4} + sub sp, #0x1c + ldr r4, _02238F90 ; =MOD83_0223A744 + add r3, sp, #0 + mov r2, #0x1a _02238F4E: - ldrb r1, [r4] - add r4, r4, #1 - strb r1, [r3] - add r3, r3, #1 - sub r2, r2, #1 - bne _02238F4E - add r1, sp, #0 - ldrb r2, [r1] - mov r3, #0 - sub r1, r3, #1 - cmp r2, r1 - beq _02238F88 - add r4, sp, #0 - sub r1, r3, #1 + ldrb r1, [r4] + add r4, r4, #1 + strb r1, [r3] + add r3, r3, #1 + sub r2, r2, #1 + bne _02238F4E + add r1, sp, #0 + ldrb r2, [r1] + mov r3, #0 + sub r1, r3, #1 + cmp r2, r1 + beq _02238F88 + add r4, sp, #0 + sub r1, r3, #1 _02238F6A: - ldrb r2, [r4] - cmp r0, r2 - bne _02238F7E - add r0, sp, #0 - lsl r1, r3, #1 - add r0, #1 - add sp, #0x1c - ldrb r0, [r0, r1] - pop {r4} - bx lr + ldrb r2, [r4] + cmp r0, r2 + bne _02238F7E + add r0, sp, #0 + lsl r1, r3, #1 + add r0, #1 + add sp, #0x1c + ldrb r0, [r0, r1] + pop {r4} + bx lr _02238F7E: - add r4, r4, #2 - ldrb r2, [r4] - add r3, r3, #1 - cmp r2, r1 - bne _02238F6A + add r4, r4, #2 + ldrb r2, [r4] + add r3, r3, #1 + cmp r2, r1 + bne _02238F6A _02238F88: - mov r0, #0 - add sp, #0x1c - pop {r4} - bx lr - .align 2, 0 + mov r0, #0 + add sp, #0x1c + pop {r4} + bx lr + .align 2, 0 _02238F90: .word MOD83_0223A744 - thumb_func_end MOD83_02238F44 + thumb_func_end MOD83_02238F44 - thumb_func_start MOD83_02238F94 + thumb_func_start MOD83_02238F94 MOD83_02238F94: ; 0x02238F94 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x28 - str r0, [sp, #0x20] - add r5, r1, #0 - add r7, r2, #0 - add r6, r3, #0 - ldr r4, [sp, #0x40] - bl GetMonGender - str r0, [sp, #0x24] - ldr r0, [sp, #0x20] - bl MonIsShiny - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - lsl r0, r7, #0x18 - ldr r2, [sp, #0x24] - lsr r0, r0, #0x18 - str r0, [sp, #4] - mov r0, #0 - lsl r1, r5, #0x10 - lsl r2, r2, #0x18 - str r0, [sp, #8] - add r0, r4, #0 - lsr r1, r1, #0x10 - lsr r2, r2, #0x18 - mov r3, #2 - bl FUN_02068C00 - mov r1, #0 - ldr r0, [sp, #0x20] - add r2, r1, #0 - bl GetMonData - mov r3, #0 - str r3, [sp] - mov r1, #0xa - str r1, [sp, #4] - str r1, [sp, #8] - str r6, [sp, #0xc] - str r0, [sp, #0x10] - str r3, [sp, #0x14] - mov r0, #2 - str r0, [sp, #0x18] - str r5, [sp, #0x1c] - ldr r2, _0223902C ; =MOD83_0223BC30 - ldrh r0, [r4] - ldrh r1, [r4, #2] - ldr r2, [r2, #4] - bl FUN_020124B4 - mov r1, #0x32 - add r0, r6, #0 - lsl r1, r1, #6 - bl DC_FlushRange - mov r1, #0x32 - lsl r1, r1, #6 - add r0, r6, #0 - add r2, r1, #0 - bl GXS_LoadOBJ - mov r0, #0x20 - str r0, [sp] - ldr r0, _0223902C ; =MOD83_0223BC30 - mov r2, #5 - ldr r0, [r0, #4] - mov r3, #0x60 - str r0, [sp, #4] - ldrh r0, [r4] - ldrh r1, [r4, #4] - bl GfGfxLoader_GXLoadPal - add sp, #0x28 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x28 + str r0, [sp, #0x20] + add r5, r1, #0 + add r7, r2, #0 + add r6, r3, #0 + ldr r4, [sp, #0x40] + bl GetMonGender + str r0, [sp, #0x24] + ldr r0, [sp, #0x20] + bl MonIsShiny + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + lsl r0, r7, #0x18 + ldr r2, [sp, #0x24] + lsr r0, r0, #0x18 + str r0, [sp, #4] + mov r0, #0 + lsl r1, r5, #0x10 + lsl r2, r2, #0x18 + str r0, [sp, #8] + add r0, r4, #0 + lsr r1, r1, #0x10 + lsr r2, r2, #0x18 + mov r3, #2 + bl FUN_02068C00 + mov r1, #0 + ldr r0, [sp, #0x20] + add r2, r1, #0 + bl GetMonData + mov r3, #0 + str r3, [sp] + mov r1, #0xa + str r1, [sp, #4] + str r1, [sp, #8] + str r6, [sp, #0xc] + str r0, [sp, #0x10] + str r3, [sp, #0x14] + mov r0, #2 + str r0, [sp, #0x18] + str r5, [sp, #0x1c] + ldr r2, _0223902C ; =MOD83_0223BC30 + ldrh r0, [r4] + ldrh r1, [r4, #2] + ldr r2, [r2, #4] + bl FUN_020124B4 + mov r1, #0x32 + add r0, r6, #0 + lsl r1, r1, #6 + bl DC_FlushRange + mov r1, #0x32 + lsl r1, r1, #6 + add r0, r6, #0 + add r2, r1, #0 + bl GXS_LoadOBJ + mov r0, #0x20 + str r0, [sp] + ldr r0, _0223902C ; =MOD83_0223BC30 + mov r2, #5 + ldr r0, [r0, #4] + mov r3, #0x60 + str r0, [sp, #4] + ldrh r0, [r4] + ldrh r1, [r4, #4] + bl GfGfxLoader_GXLoadPal + add sp, #0x28 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _0223902C: .word MOD83_0223BC30 - thumb_func_end MOD83_02238F94 + thumb_func_end MOD83_02238F94 - thumb_func_start MOD83_02239030 + thumb_func_start MOD83_02239030 MOD83_02239030: ; 0x02239030 - push {r4, lr} - sub sp, #8 - add r4, r0, #0 - mov r0, #0x21 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0x23 - mov r2, #0x20 - mov r3, #0x22 - bl MOD83_02238BC4 - mov r1, #1 - mov r0, #0 - lsl r1, r1, #0x14 - bl MOD83_02238D38 - mov r3, #0 - mov r1, #0x81 - str r3, [sp] - lsl r1, r1, #2 - ldr r1, [r4, r1] - mov r0, #1 - mov r2, #0x80 - bl MOD83_02238DBC - mov r1, #0x81 - lsl r1, r1, #2 - str r0, [r4, r1] - add sp, #8 - pop {r4, pc} - thumb_func_end MOD83_02239030 - - thumb_func_start MOD83_02239070 + push {r4, lr} + sub sp, #8 + add r4, r0, #0 + mov r0, #0x21 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0x23 + mov r2, #0x20 + mov r3, #0x22 + bl MOD83_02238BC4 + mov r1, #1 + mov r0, #0 + lsl r1, r1, #0x14 + bl MOD83_02238D38 + mov r3, #0 + mov r1, #0x81 + str r3, [sp] + lsl r1, r1, #2 + ldr r1, [r4, r1] + mov r0, #1 + mov r2, #0x80 + bl MOD83_02238DBC + mov r1, #0x81 + lsl r1, r1, #2 + str r0, [r4, r1] + add sp, #8 + pop {r4, pc} + thumb_func_end MOD83_02239030 + + thumb_func_start MOD83_02239070 MOD83_02239070: ; 0x02239070 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - mov r0, #0xc - str r0, [sp] - mov r0, #1 - add r6, r1, #0 - add r4, r2, #0 - str r0, [sp, #4] - mov r0, #0x36 - mov r1, #0xa - mov r2, #0 - mov r3, #0xb - bl MOD83_02238BC4 - mov r1, #1 - mov r0, #0 - lsl r1, r1, #0x14 - bl MOD83_02238D38 - mov r0, #1 - mov r1, #0x81 - str r0, [sp] - lsl r1, r1, #2 - ldr r1, [r5, r1] - mov r2, #0x80 - mov r3, #0 - bl MOD83_02238DBC - mov r3, #0x81 - lsl r3, r3, #2 - add r4, #8 - str r0, [r5, r3] - cmp r6, #1 - beq _022390C2 - cmp r6, #2 - beq _022390F4 - cmp r6, #7 - beq _02239110 - add sp, #8 - pop {r4, r5, r6, pc} + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + mov r0, #0xc + str r0, [sp] + mov r0, #1 + add r6, r1, #0 + add r4, r2, #0 + str r0, [sp, #4] + mov r0, #0x36 + mov r1, #0xa + mov r2, #0 + mov r3, #0xb + bl MOD83_02238BC4 + mov r1, #1 + mov r0, #0 + lsl r1, r1, #0x14 + bl MOD83_02238D38 + mov r0, #1 + mov r1, #0x81 + str r0, [sp] + lsl r1, r1, #2 + ldr r1, [r5, r1] + mov r2, #0x80 + mov r3, #0 + bl MOD83_02238DBC + mov r3, #0x81 + lsl r3, r3, #2 + add r4, #8 + str r0, [r5, r3] + cmp r6, #1 + beq _022390C2 + cmp r6, #2 + beq _022390F4 + cmp r6, #7 + beq _02239110 + add sp, #8 + pop {r4, r5, r6, pc} _022390C2: - add r0, r4, #0 - mov r1, #5 - mov r2, #0 - bl GetMonData - add r6, r0, #0 - add r0, r4, #0 - mov r1, #0x70 - mov r2, #0 - bl GetMonData - add r2, r0, #0 - mov r0, #0xe9 - lsl r0, r0, #4 - mov r3, #0x21 - add r0, r5, r0 - lsl r3, r3, #4 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r3, r5, r3 - bl MOD83_02238F94 - add sp, #8 - pop {r4, r5, r6, pc} + add r0, r4, #0 + mov r1, #5 + mov r2, #0 + bl GetMonData + add r6, r0, #0 + add r0, r4, #0 + mov r1, #0x70 + mov r2, #0 + bl GetMonData + add r2, r0, #0 + mov r0, #0xe9 + lsl r0, r0, #4 + mov r3, #0x21 + add r0, r5, r0 + lsl r3, r3, #4 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r3, r5, r3 + bl MOD83_02238F94 + add sp, #8 + pop {r4, r5, r6, pc} _022390F4: - mov r0, #0xe9 - lsl r0, r0, #4 - add r1, r3, #0 - add r0, r5, r0 - add r3, #0xc - str r0, [sp] - add r0, r4, #0 - sub r1, #0x16 - mov r2, #0 - add r3, r5, r3 - bl MOD83_02238F94 - add sp, #8 - pop {r4, r5, r6, pc} + mov r0, #0xe9 + lsl r0, r0, #4 + add r1, r3, #0 + add r0, r5, r0 + add r3, #0xc + str r0, [sp] + add r0, r4, #0 + sub r1, #0x16 + mov r2, #0 + add r3, r5, r3 + bl MOD83_02238F94 + add sp, #8 + pop {r4, r5, r6, pc} _02239110: - mov r0, #0xe9 - lsl r0, r0, #4 - add r1, r3, #0 - add r0, r5, r0 - add r3, #0xc - str r0, [sp] - add r0, r4, #0 - sub r1, #0x16 - mov r2, #1 - add r3, r5, r3 - bl MOD83_02238F94 - add sp, #8 - pop {r4, r5, r6, pc} - thumb_func_end MOD83_02239070 - - thumb_func_start MOD83_0223912C + mov r0, #0xe9 + lsl r0, r0, #4 + add r1, r3, #0 + add r0, r5, r0 + add r3, #0xc + str r0, [sp] + add r0, r4, #0 + sub r1, #0x16 + mov r2, #1 + add r3, r5, r3 + bl MOD83_02238F94 + add sp, #8 + pop {r4, r5, r6, pc} + thumb_func_end MOD83_02239070 + + thumb_func_start MOD83_0223912C MOD83_0223912C: ; 0x0223912C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - cmp r1, #0xa - bhi _02239168 - add r0, r1, r1 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + cmp r1, #0xa + bhi _02239168 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02239142: ; jump table - .short _02239168 - _02239142 - 2 ; case 0 - .short _02239168 - _02239142 - 2 ; case 1 - .short _02239168 - _02239142 - 2 ; case 2 - .short _02239158 - _02239142 - 2 ; case 3 - .short _02239168 - _02239142 - 2 ; case 4 - .short _02239168 - _02239142 - 2 ; case 5 - .short _02239168 - _02239142 - 2 ; case 6 - .short _02239168 - _02239142 - 2 ; case 7 - .short _0223915C - _02239142 - 2 ; case 8 - .short _02239160 - _02239142 - 2 ; case 9 - .short _02239166 - _02239142 - 2 ; case 10 + .short _02239168 - _02239142 - 2 ; case 0 + .short _02239168 - _02239142 - 2 ; case 1 + .short _02239168 - _02239142 - 2 ; case 2 + .short _02239158 - _02239142 - 2 ; case 3 + .short _02239168 - _02239142 - 2 ; case 4 + .short _02239168 - _02239142 - 2 ; case 5 + .short _02239168 - _02239142 - 2 ; case 6 + .short _02239168 - _02239142 - 2 ; case 7 + .short _0223915C - _02239142 - 2 ; case 8 + .short _02239160 - _02239142 - 2 ; case 9 + .short _02239166 - _02239142 - 2 ; case 10 _02239158: - ldr r4, [r2, #4] - b _02239168 + ldr r4, [r2, #4] + b _02239168 _0223915C: - ldr r4, _022391C4 ; =0x000001C6 - b _02239168 + ldr r4, _022391C4 ; =0x000001C6 + b _02239168 _02239160: - mov r4, #0x71 - lsl r4, r4, #2 - b _02239168 + mov r4, #0x71 + lsl r4, r4, #2 + b _02239168 _02239166: - ldr r4, _022391C8 ; =0x000001C7 + ldr r4, _022391C8 ; =0x000001C7 _02239168: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - mov r1, #1 - bl GetItemIndexMapping - add r7, r0, #0 - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - mov r1, #2 - bl GetItemIndexMapping - add r4, r0, #0 - bl FUN_0206E708 - add r6, r0, #0 - bl FUN_0206E70C - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - mov r0, #0x10 - add r1, r7, #0 - add r2, r4, #0 - add r3, r6, #0 - bl MOD83_02238BC4 - mov r1, #1 - mov r0, #0 - lsl r1, r1, #0x14 - bl MOD83_02238D38 - mov r3, #0 - mov r1, #0x81 - str r3, [sp] - lsl r1, r1, #2 - ldr r1, [r5, r1] - mov r0, #1 - mov r2, #0x80 - bl MOD83_02238DBC - mov r1, #0x81 - lsl r1, r1, #2 - str r0, [r5, r1] - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + mov r1, #1 + bl GetItemIndexMapping + add r7, r0, #0 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + mov r1, #2 + bl GetItemIndexMapping + add r4, r0, #0 + bl FUN_0206E708 + add r6, r0, #0 + bl FUN_0206E70C + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + mov r0, #0x10 + add r1, r7, #0 + add r2, r4, #0 + add r3, r6, #0 + bl MOD83_02238BC4 + mov r1, #1 + mov r0, #0 + lsl r1, r1, #0x14 + bl MOD83_02238D38 + mov r3, #0 + mov r1, #0x81 + str r3, [sp] + lsl r1, r1, #2 + ldr r1, [r5, r1] + mov r0, #1 + mov r2, #0x80 + bl MOD83_02238DBC + mov r1, #0x81 + lsl r1, r1, #2 + str r0, [r5, r1] + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop _022391C4: .word 0x000001C6 _022391C8: .word 0x000001C7 - thumb_func_end MOD83_0223912C + thumb_func_end MOD83_0223912C - thumb_func_start MOD83_022391CC + thumb_func_start MOD83_022391CC MOD83_022391CC: ; 0x022391CC - push {r3, lr} - sub sp, #8 - mov r1, #0xc0 - str r1, [sp] - ldr r0, [r0, #4] - mov r2, #4 - add r3, r2, #0 - str r0, [sp, #4] - mov r0, #0x74 - mov r1, #0x1d - add r3, #0xfc - bl GfGfxLoader_GXLoadPal - add sp, #8 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022391CC - - thumb_func_start MOD83_022391EC + push {r3, lr} + sub sp, #8 + mov r1, #0xc0 + str r1, [sp] + ldr r0, [r0, #4] + mov r2, #4 + add r3, r2, #0 + str r0, [sp, #4] + mov r0, #0x74 + mov r1, #0x1d + add r3, #0xfc + bl GfGfxLoader_GXLoadPal + add sp, #8 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022391CC + + thumb_func_start MOD83_022391EC MOD83_022391EC: ; 0x022391EC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r6, r1, #0 - ldrh r4, [r6] - add r5, r0, #0 - add r0, r4, #0 - bl MOD83_02238F44 - add r7, r0, #0 - mov r0, #0 - str r0, [sp] - mov r0, #5 - lsl r0, r0, #0xa - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _022392DC ; =MOD83_0223BC30 - mov r1, #0x1e - ldr r0, [r0, #4] - add r2, r5, #0 - str r0, [sp, #0xc] - mov r0, #0x74 - mov r3, #5 - bl GfGfxLoader_LoadCharData - mov r2, #1 - ldr r3, _022392DC ; =MOD83_0223BC30 - str r2, [sp] - ldr r3, [r3, #4] - mov r0, #0x74 - mov r1, #0x1f - bl GfGfxLoader_LoadFromNarc - add r1, sp, #0x14 - str r0, [sp, #0x10] - bl NNS_G2dGetUnpackedScreenData - ldr r2, [sp, #0x14] - mov r3, #6 - add r0, r5, #0 - mov r1, #5 - add r2, #0xc - lsl r3, r3, #8 - bl BG_LoadScreenTilemapData - ldr r0, [sp, #0x10] - bl FreeToHeap - mov r0, #0x20 - str r0, [sp] - mov r0, #0x18 - mov r2, #0 - add r7, #8 - str r0, [sp, #4] - lsl r0, r7, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #8] - add r0, r5, #0 - mov r1, #5 - add r3, r2, #0 - bl BgTilemapRectChangePalette - add r0, r5, #0 - mov r1, #5 - bl BgCommitTilemapBufferToVram - ldr r1, _022392E0 ; =MOD83_022391CC - ldr r0, _022392E4 ; =MOD83_0223CAB0 - cmp r4, #0xb - str r1, [r0, #0x20] - bhi _022392CA - add r0, r4, r4 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + add r6, r1, #0 + ldrh r4, [r6] + add r5, r0, #0 + add r0, r4, #0 + bl MOD83_02238F44 + add r7, r0, #0 + mov r0, #0 + str r0, [sp] + mov r0, #5 + lsl r0, r0, #0xa + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + ldr r0, _022392DC ; =MOD83_0223BC30 + mov r1, #0x1e + ldr r0, [r0, #4] + add r2, r5, #0 + str r0, [sp, #0xc] + mov r0, #0x74 + mov r3, #5 + bl GfGfxLoader_LoadCharData + mov r2, #1 + ldr r3, _022392DC ; =MOD83_0223BC30 + str r2, [sp] + ldr r3, [r3, #4] + mov r0, #0x74 + mov r1, #0x1f + bl GfGfxLoader_LoadFromNarc + add r1, sp, #0x14 + str r0, [sp, #0x10] + bl NNS_G2dGetUnpackedScreenData + ldr r2, [sp, #0x14] + mov r3, #6 + add r0, r5, #0 + mov r1, #5 + add r2, #0xc + lsl r3, r3, #8 + bl BG_LoadScreenTilemapData + ldr r0, [sp, #0x10] + bl FreeToHeap + mov r0, #0x20 + str r0, [sp] + mov r0, #0x18 + mov r2, #0 + add r7, #8 + str r0, [sp, #4] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #8] + add r0, r5, #0 + mov r1, #5 + add r3, r2, #0 + bl BgTilemapRectChangePalette + add r0, r5, #0 + mov r1, #5 + bl BgCommitTilemapBufferToVram + ldr r1, _022392E0 ; =MOD83_022391CC + ldr r0, _022392E4 ; =MOD83_0223CAB0 + cmp r4, #0xb + str r1, [r0, #0x20] + bhi _022392CA + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02239286: ; jump table - .short _022392CA - _02239286 - 2 ; case 0 - .short _022392B4 - _02239286 - 2 ; case 1 - .short _022392B4 - _02239286 - 2 ; case 2 - .short _022392C0 - _02239286 - 2 ; case 3 - .short _0223929E - _02239286 - 2 ; case 4 - .short _0223929E - _02239286 - 2 ; case 5 - .short _0223929E - _02239286 - 2 ; case 6 - .short _022392AA - _02239286 - 2 ; case 7 - .short _022392C0 - _02239286 - 2 ; case 8 - .short _022392C0 - _02239286 - 2 ; case 9 - .short _022392C0 - _02239286 - 2 ; case 10 - .short _0223929E - _02239286 - 2 ; case 11 + .short _022392CA - _02239286 - 2 ; case 0 + .short _022392B4 - _02239286 - 2 ; case 1 + .short _022392B4 - _02239286 - 2 ; case 2 + .short _022392C0 - _02239286 - 2 ; case 3 + .short _0223929E - _02239286 - 2 ; case 4 + .short _0223929E - _02239286 - 2 ; case 5 + .short _0223929E - _02239286 - 2 ; case 6 + .short _022392AA - _02239286 - 2 ; case 7 + .short _022392C0 - _02239286 - 2 ; case 8 + .short _022392C0 - _02239286 - 2 ; case 9 + .short _022392C0 - _02239286 - 2 ; case 10 + .short _0223929E - _02239286 - 2 ; case 11 _0223929E: - ldr r0, _022392E8 ; =MOD83_0223BC30 - add r1, r4, #0 - add r2, r6, #0 - bl MOD83_02239030 - b _022392CA + ldr r0, _022392E8 ; =MOD83_0223BC30 + add r1, r4, #0 + add r2, r6, #0 + bl MOD83_02239030 + b _022392CA _022392AA: - mov r1, #0x82 - ldr r0, _022392E8 ; =MOD83_0223BC30 - mov r2, #0x78 - lsl r1, r1, #2 - str r2, [r0, r1] + mov r1, #0x82 + ldr r0, _022392E8 ; =MOD83_0223BC30 + mov r2, #0x78 + lsl r1, r1, #2 + str r2, [r0, r1] _022392B4: - ldr r0, _022392E8 ; =MOD83_0223BC30 - add r1, r4, #0 - add r2, r6, #0 - bl MOD83_02239070 - b _022392CA + ldr r0, _022392E8 ; =MOD83_0223BC30 + add r1, r4, #0 + add r2, r6, #0 + bl MOD83_02239070 + b _022392CA _022392C0: - ldr r0, _022392E8 ; =MOD83_0223BC30 - add r1, r4, #0 - add r2, r6, #0 - bl MOD83_0223912C + ldr r0, _022392E8 ; =MOD83_0223BC30 + add r1, r4, #0 + add r2, r6, #0 + bl MOD83_0223912C _022392CA: - mov r1, #0x81 - ldr r0, _022392E8 ; =MOD83_0223BC30 - lsl r1, r1, #2 - ldr r0, [r0, r1] - mov r1, #0 - bl FUN_020200A0 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + mov r1, #0x81 + ldr r0, _022392E8 ; =MOD83_0223BC30 + lsl r1, r1, #2 + ldr r0, [r0, r1] + mov r1, #0 + bl FUN_020200A0 + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _022392DC: .word MOD83_0223BC30 _022392E0: .word MOD83_022391CC _022392E4: .word MOD83_0223CAB0 _022392E8: .word MOD83_0223BC30 - thumb_func_end MOD83_022391EC + thumb_func_end MOD83_022391EC - thumb_func_start MOD83_022392EC + thumb_func_start MOD83_022392EC MOD83_022392EC: ; 0x022392EC - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r7, r1, #0 - mov r1, #2 - add r5, r0, #0 - add r0, r2, #0 - lsl r1, r1, #8 - str r2, [sp] - bl AllocFromHeap - ldr r1, _0223936C ; =0x0000A001 - add r4, r0, #0 - bl MATHi_CRC16InitTableRev - add r0, r4, #0 - add r1, r5, #0 - mov r2, #0x50 - bl MATH_CalcCRC16 - add r6, r0, #0 - add r0, r4, #0 - bl FreeToHeap - add r0, sp, #4 - bl OS_GetMacAddress - add r0, sp, #4 - ldrh r1, [r0, #2] - mov r2, #0 - add r3, sp, #4 - strh r1, [r0, #6] - ldr r1, _02239370 ; =0x0000D679 - strh r6, [r0, #2] + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r7, r1, #0 + mov r1, #2 + add r5, r0, #0 + add r0, r2, #0 + lsl r1, r1, #8 + str r2, [sp] + bl AllocFromHeap + ldr r1, _0223936C ; =0x0000A001 + add r4, r0, #0 + bl MATHi_CRC16InitTableRev + add r0, r4, #0 + add r1, r5, #0 + mov r2, #0x50 + bl MATH_CalcCRC16 + add r6, r0, #0 + add r0, r4, #0 + bl FreeToHeap + add r0, sp, #4 + bl OS_GetMacAddress + add r0, sp, #4 + ldrh r1, [r0, #2] + mov r2, #0 + add r3, sp, #4 + strh r1, [r0, #6] + ldr r1, _02239370 ; =0x0000D679 + strh r6, [r0, #2] _0223932E: - ldrh r0, [r3] - add r2, r2, #1 - eor r0, r1 - strh r0, [r3] - ldrh r1, [r3] - add r3, r3, #2 - cmp r2, #4 - blt _0223932E - mov r1, #0x41 - ldr r0, [sp] - lsl r1, r1, #2 - bl AllocFromHeap - add r1, sp, #4 - mov r2, #8 - add r4, r0, #0 - bl FUN_0209521C - add r5, #0x50 - mov r2, #0xd6 - add r0, r4, #0 - add r1, r5, #0 - lsl r2, r2, #2 - add r3, r7, #0 - bl FUN_020952AC - add r0, r4, #0 - bl FreeToHeap - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .align 2, 0 + ldrh r0, [r3] + add r2, r2, #1 + eor r0, r1 + strh r0, [r3] + ldrh r1, [r3] + add r3, r3, #2 + cmp r2, #4 + blt _0223932E + mov r1, #0x41 + ldr r0, [sp] + lsl r1, r1, #2 + bl AllocFromHeap + add r1, sp, #4 + mov r2, #8 + add r4, r0, #0 + bl FUN_0209521C + add r5, #0x50 + mov r2, #0xd6 + add r0, r4, #0 + add r1, r5, #0 + lsl r2, r2, #2 + add r3, r7, #0 + bl FUN_020952AC + add r0, r4, #0 + bl FreeToHeap + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .align 2, 0 _0223936C: .word 0x0000A001 _02239370: .word 0x0000D679 - thumb_func_end MOD83_022392EC + thumb_func_end MOD83_022392EC - thumb_func_start MOD83_02239374 + thumb_func_start MOD83_02239374 MOD83_02239374: ; 0x02239374 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r7, r1, #0 - mov r1, #2 - add r5, r0, #0 - add r0, r2, #0 - lsl r1, r1, #8 - str r2, [sp] - bl AllocFromHeap - ldr r1, _0223940C ; =0x0000A001 - add r4, r0, #0 - bl MATHi_CRC16InitTableRev - add r0, r4, #0 - add r1, r5, #0 - mov r2, #0x50 - bl MATH_CalcCRC16 - add r6, r0, #0 - add r0, r4, #0 - bl FreeToHeap - mov r0, #0 - bl FUN_0202EF18 - ldrb r2, [r0, #4] - add r1, sp, #4 - mov r3, #0 - strb r2, [r1] - ldrb r2, [r0, #5] - strb r2, [r1, #1] - ldrb r2, [r0, #6] - strb r2, [r1, #2] - ldrb r2, [r0, #7] - strb r2, [r1, #3] - ldrb r2, [r0, #8] - strb r2, [r1, #4] - ldrb r0, [r0, #9] - strb r0, [r1, #5] - add r0, sp, #4 - ldrh r2, [r0, #2] - strh r2, [r0, #6] - ldr r2, _02239410 ; =0x0000D679 - strh r6, [r0, #2] + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r7, r1, #0 + mov r1, #2 + add r5, r0, #0 + add r0, r2, #0 + lsl r1, r1, #8 + str r2, [sp] + bl AllocFromHeap + ldr r1, _0223940C ; =0x0000A001 + add r4, r0, #0 + bl MATHi_CRC16InitTableRev + add r0, r4, #0 + add r1, r5, #0 + mov r2, #0x50 + bl MATH_CalcCRC16 + add r6, r0, #0 + add r0, r4, #0 + bl FreeToHeap + mov r0, #0 + bl FUN_0202EF18 + ldrb r2, [r0, #4] + add r1, sp, #4 + mov r3, #0 + strb r2, [r1] + ldrb r2, [r0, #5] + strb r2, [r1, #1] + ldrb r2, [r0, #6] + strb r2, [r1, #2] + ldrb r2, [r0, #7] + strb r2, [r1, #3] + ldrb r2, [r0, #8] + strb r2, [r1, #4] + ldrb r0, [r0, #9] + strb r0, [r1, #5] + add r0, sp, #4 + ldrh r2, [r0, #2] + strh r2, [r0, #6] + ldr r2, _02239410 ; =0x0000D679 + strh r6, [r0, #2] _022393CE: - ldrh r0, [r1] - add r3, r3, #1 - eor r0, r2 - strh r0, [r1] - ldrh r2, [r1] - add r1, r1, #2 - cmp r3, #4 - blt _022393CE - mov r1, #0x41 - ldr r0, [sp] - lsl r1, r1, #2 - bl AllocFromHeap - add r1, sp, #4 - mov r2, #8 - add r4, r0, #0 - bl FUN_0209521C - add r5, #0x50 - mov r2, #0xd6 - add r0, r4, #0 - add r1, r5, #0 - lsl r2, r2, #2 - add r3, r7, #0 - bl FUN_020952AC - add r0, r4, #0 - bl FreeToHeap - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .align 2, 0 + ldrh r0, [r1] + add r3, r3, #1 + eor r0, r2 + strh r0, [r1] + ldrh r2, [r1] + add r1, r1, #2 + cmp r3, #4 + blt _022393CE + mov r1, #0x41 + ldr r0, [sp] + lsl r1, r1, #2 + bl AllocFromHeap + add r1, sp, #4 + mov r2, #8 + add r4, r0, #0 + bl FUN_0209521C + add r5, #0x50 + mov r2, #0xd6 + add r0, r4, #0 + add r1, r5, #0 + lsl r2, r2, #2 + add r3, r7, #0 + bl FUN_020952AC + add r0, r4, #0 + bl FreeToHeap + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .align 2, 0 _0223940C: .word 0x0000A001 _02239410: .word 0x0000D679 - thumb_func_end MOD83_02239374 + thumb_func_end MOD83_02239374 - thumb_func_start MOD83_02239414 + thumb_func_start MOD83_02239414 MOD83_02239414: ; 0x02239414 - push {r3, lr} - cmp r2, #0 - beq _0223941E - cmp r2, #1 - pop {r3, pc} + push {r3, lr} + cmp r2, #0 + beq _0223941E + cmp r2, #1 + pop {r3, pc} _0223941E: - ldr r0, _02239428 ; =0x000005DC - bl PlaySE - pop {r3, pc} - nop + ldr r0, _02239428 ; =0x000005DC + bl PlaySE + pop {r3, pc} + nop _02239428: .word 0x000005DC - thumb_func_end MOD83_02239414 + thumb_func_end MOD83_02239414 - thumb_func_start MOD83_0223942C + thumb_func_start MOD83_0223942C MOD83_0223942C: ; 0x0223942C - push {r3, lr} - ldr r0, _0223944C ; =MOD83_027FFFA8 - ldrh r1, [r0] - mov r0, #2 - lsl r0, r0, #0xe - and r0, r1 - asr r0, r0, #0xf - bne _02239448 - bl CTRDG_IsAgbCartridge - cmp r0, #0 - bne _02239448 - bl CTRDG_TerminateForPulledOut + push {r3, lr} + ldr r0, _0223944C ; =MOD83_027FFFA8 + ldrh r1, [r0] + mov r0, #2 + lsl r0, r0, #0xe + and r0, r1 + asr r0, r0, #0xf + bne _02239448 + bl CTRDG_IsAgbCartridge + cmp r0, #0 + bne _02239448 + bl CTRDG_TerminateForPulledOut _02239448: - pop {r3, pc} - nop + pop {r3, pc} + nop _0223944C: .word 0x027FFFA8 - thumb_func_end MOD83_0223942C + thumb_func_end MOD83_0223942C - thumb_func_start MOD83_02239450 + thumb_func_start MOD83_02239450 MOD83_02239450: ; 0x02239450 - push {r3, lr} - cmp r0, #1 - bne _02239478 - ldr r1, _02239484 ; =0x04000208 - ldrh r0, [r1] - mov r0, #0 - strh r0, [r1] - lsr r0, r1, #0xd - ldr r1, _02239488 ; =MOD83_0223942C - bl OS_SetIrqFunction - mov r0, #2 - lsl r0, r0, #0xc - bl OS_EnableIrqMask - ldr r1, _02239484 ; =0x04000208 - ldrh r0, [r1] - mov r0, #1 - strh r0, [r1] - pop {r3, pc} + push {r3, lr} + cmp r0, #1 + bne _02239478 + ldr r1, _02239484 ; =0x04000208 + ldrh r0, [r1] + mov r0, #0 + strh r0, [r1] + lsr r0, r1, #0xd + ldr r1, _02239488 ; =MOD83_0223942C + bl OS_SetIrqFunction + mov r0, #2 + lsl r0, r0, #0xc + bl OS_EnableIrqMask + ldr r1, _02239484 ; =0x04000208 + ldrh r0, [r1] + mov r0, #1 + strh r0, [r1] + pop {r3, pc} _02239478: - mov r0, #2 - lsl r0, r0, #0xc - bl OS_DisableIrqMask - pop {r3, pc} - nop + mov r0, #2 + lsl r0, r0, #0xc + bl OS_DisableIrqMask + pop {r3, pc} + nop _02239484: .word 0x04000208 _02239488: .word MOD83_0223942C - thumb_func_end MOD83_02239450 + thumb_func_end MOD83_02239450 - thumb_func_start MOD83_0223948C + thumb_func_start MOD83_0223948C MOD83_0223948C: ; 0x0223948C - bx lr - .align 2, 0 - thumb_func_end MOD83_0223948C + bx lr + .align 2, 0 + thumb_func_end MOD83_0223948C - thumb_func_start MOD83_02239490 + thumb_func_start MOD83_02239490 MOD83_02239490: ; 0x02239490 - push {r3, lr} - ldr r1, _022394B4 ; =0x04000208 - ldrh r0, [r1] - mov r0, #0 - strh r0, [r1] - lsr r0, r1, #0xd - ldr r1, _022394B8 ; =MOD83_0223948C - bl OS_SetIrqFunction - mov r0, #2 - lsl r0, r0, #0xc - bl OS_EnableIrqMask - ldr r1, _022394B4 ; =0x04000208 - ldrh r0, [r1] - mov r0, #1 - strh r0, [r1] - pop {r3, pc} - .align 2, 0 + push {r3, lr} + ldr r1, _022394B4 ; =0x04000208 + ldrh r0, [r1] + mov r0, #0 + strh r0, [r1] + lsr r0, r1, #0xd + ldr r1, _022394B8 ; =MOD83_0223948C + bl OS_SetIrqFunction + mov r0, #2 + lsl r0, r0, #0xc + bl OS_EnableIrqMask + ldr r1, _022394B4 ; =0x04000208 + ldrh r0, [r1] + mov r0, #1 + strh r0, [r1] + pop {r3, pc} + .align 2, 0 _022394B4: .word 0x04000208 _022394B8: .word MOD83_0223948C - thumb_func_end MOD83_02239490 + thumb_func_end MOD83_02239490 - thumb_func_start MOD83_022394BC + thumb_func_start MOD83_022394BC MOD83_022394BC: ; 0x022394BC - ldr r1, _022394C8 ; =MOD83_0223BC30 - str r0, [r1, #0x14] - mov r0, #0 - str r0, [r1, #0x10] - bx lr - nop + ldr r1, _022394C8 ; =MOD83_0223BC30 + str r0, [r1, #0x14] + mov r0, #0 + str r0, [r1, #0x10] + bx lr + nop _022394C8: .word MOD83_0223BC30 - thumb_func_end MOD83_022394BC + thumb_func_end MOD83_022394BC - thumb_func_start MOD83_022394CC + thumb_func_start MOD83_022394CC MOD83_022394CC: ; 0x022394CC - push {r3, r4, r5, lr} - ldr r0, _0223953C ; =MOD83_0223BC30 - ldr r4, _02239540 ; =MOD83_0223BC30 - ldr r0, [r0, #0x10] - cmp r0, #4 - bhi _02239538 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + push {r3, r4, r5, lr} + ldr r0, _0223953C ; =MOD83_0223BC30 + ldr r4, _02239540 ; =MOD83_0223BC30 + ldr r0, [r0, #0x10] + cmp r0, #4 + bhi _02239538 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _022394E4: ; jump table - .short _022394EE - _022394E4 - 2 ; case 0 - .short _02239504 - _022394E4 - 2 ; case 1 - .short _02239538 - _022394E4 - 2 ; case 2 - .short _02239538 - _022394E4 - 2 ; case 3 - .short _02239538 - _022394E4 - 2 ; case 4 + .short _022394EE - _022394E4 - 2 ; case 0 + .short _02239504 - _022394E4 - 2 ; case 1 + .short _02239538 - _022394E4 - 2 ; case 2 + .short _02239538 - _022394E4 - 2 ; case 3 + .short _02239538 - _022394E4 - 2 ; case 4 _022394EE: - mov r0, #4 - bl SetSoftResetDisableMask - ldr r0, [r4, #0x14] - mov r1, #2 - bl FUN_02022840 - ldr r0, [r4, #0x10] - add r0, r0, #1 - str r0, [r4, #0x10] - b _02239538 + mov r0, #4 + bl SetSoftResetDisableMask + ldr r0, [r4, #0x14] + mov r1, #2 + bl FUN_02022840 + ldr r0, [r4, #0x10] + add r0, r0, #1 + str r0, [r4, #0x10] + b _02239538 _02239504: - ldr r0, [r4, #0x14] - bl FUN_02022854 - add r5, r0, #0 - cmp r5, #3 - bne _02239516 - mov r0, #3 - str r0, [r4, #0x10] - b _02239528 + ldr r0, [r4, #0x14] + bl FUN_02022854 + add r5, r0, #0 + cmp r5, #3 + bne _02239516 + mov r0, #3 + str r0, [r4, #0x10] + b _02239528 _02239516: - cmp r5, #2 - bne _02239520 - mov r0, #2 - str r0, [r4, #0x10] - b _02239528 + cmp r5, #2 + bne _02239520 + mov r0, #2 + str r0, [r4, #0x10] + b _02239528 _02239520: - cmp r5, #1 - bne _02239528 - mov r0, #4 - str r0, [r4, #0x10] + cmp r5, #1 + bne _02239528 + mov r0, #4 + str r0, [r4, #0x10] _02239528: - sub r0, r5, #2 - cmp r0, #1 - bhi _02239534 - mov r0, #4 - bl ClearSoftResetDisableMask + sub r0, r5, #2 + cmp r0, #1 + bhi _02239534 + mov r0, #4 + bl ClearSoftResetDisableMask _02239534: - add r0, r5, #0 - pop {r3, r4, r5, pc} + add r0, r5, #0 + pop {r3, r4, r5, pc} _02239538: - mov r0, #0 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0 + pop {r3, r4, r5, pc} + .align 2, 0 _0223953C: .word MOD83_0223BC30 _02239540: .word MOD83_0223BC30 - thumb_func_end MOD83_022394CC + thumb_func_end MOD83_022394CC - thumb_func_start MOD83_02239544 + thumb_func_start MOD83_02239544 MOD83_02239544: ; 0x02239544 - ldr r0, _02239554 ; =MOD83_0223BC30 - ldr r1, _02239558 ; =MOD83_0223BC30 - ldr r0, [r0, #0x10] - cmp r0, #4 - bne _02239552 - mov r0, #1 - str r0, [r1, #0x10] + ldr r0, _02239554 ; =MOD83_0223BC30 + ldr r1, _02239558 ; =MOD83_0223BC30 + ldr r0, [r0, #0x10] + cmp r0, #4 + bne _02239552 + mov r0, #1 + str r0, [r1, #0x10] _02239552: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _02239554: .word MOD83_0223BC30 _02239558: .word MOD83_0223BC30 - thumb_func_end MOD83_02239544 + thumb_func_end MOD83_02239544 - thumb_func_start MOD83_0223955C + thumb_func_start MOD83_0223955C MOD83_0223955C: ; 0x0223955C - push {r3, lr} - ldr r0, _02239570 ; =MOD83_0223BC30 - ldr r0, [r0, #0x14] - bl FUN_0202287C - mov r0, #4 - bl ClearSoftResetDisableMask - pop {r3, pc} - nop + push {r3, lr} + ldr r0, _02239570 ; =MOD83_0223BC30 + ldr r0, [r0, #0x14] + bl FUN_0202287C + mov r0, #4 + bl ClearSoftResetDisableMask + pop {r3, pc} + nop _02239570: .word MOD83_0223BC30 - thumb_func_end MOD83_0223955C + thumb_func_end MOD83_0223955C - thumb_func_start MOD83_02239574 + thumb_func_start MOD83_02239574 MOD83_02239574: ; 0x02239574 - ldr r0, _0223957C ; =MOD83_0223BC30 - ldr r0, [r0, #0x10] - bx lr - nop + ldr r0, _0223957C ; =MOD83_0223BC30 + ldr r0, [r0, #0x10] + bx lr + nop _0223957C: .word MOD83_0223BC30 - thumb_func_end MOD83_02239574 + thumb_func_end MOD83_02239574 - thumb_func_start MOD83_02239580 + thumb_func_start MOD83_02239580 MOD83_02239580: ; 0x02239580 - push {r4, lr} - ldr r1, _022395BC ; =MOD83_0223CAD4 - add r4, r0, #0 - ldr r2, [r1, #4] - cmp r2, #0 - beq _0223959C - ldr r3, [r1] - ldr r1, _022395C0 ; =0x00001150 - ldr r0, _022395C4 ; =MOD83_0223B80C - ldr r1, [r3, r1] - lsl r3, r1, #2 - ldr r1, _022395C8 ; =MOD83_0223B7E4 - ldr r1, [r1, r3] - blx r2 + push {r4, lr} + ldr r1, _022395BC ; =MOD83_0223CAD4 + add r4, r0, #0 + ldr r2, [r1, #4] + cmp r2, #0 + beq _0223959C + ldr r3, [r1] + ldr r1, _022395C0 ; =0x00001150 + ldr r0, _022395C4 ; =MOD83_0223B80C + ldr r1, [r3, r1] + lsl r3, r1, #2 + ldr r1, _022395C8 ; =MOD83_0223B7E4 + ldr r1, [r1, r3] + blx r2 _0223959C: - ldr r3, _022395BC ; =MOD83_0223CAD4 - ldr r1, _022395C0 ; =0x00001150 - ldr r0, [r3] - str r4, [r0, r1] - ldr r2, [r3, #4] - cmp r2, #0 - beq _022395B8 - ldr r3, [r3] - ldr r0, _022395CC ; =MOD83_0223B814 - ldr r1, [r3, r1] - lsl r3, r1, #2 - ldr r1, _022395C8 ; =MOD83_0223B7E4 - ldr r1, [r1, r3] - blx r2 + ldr r3, _022395BC ; =MOD83_0223CAD4 + ldr r1, _022395C0 ; =0x00001150 + ldr r0, [r3] + str r4, [r0, r1] + ldr r2, [r3, #4] + cmp r2, #0 + beq _022395B8 + ldr r3, [r3] + ldr r0, _022395CC ; =MOD83_0223B814 + ldr r1, [r3, r1] + lsl r3, r1, #2 + ldr r1, _022395C8 ; =MOD83_0223B7E4 + ldr r1, [r1, r3] + blx r2 _022395B8: - pop {r4, pc} - nop + pop {r4, pc} + nop _022395BC: .word MOD83_0223CAD4 _022395C0: .word 0x00001150 _022395C4: .word MOD83_0223B80C _022395C8: .word MOD83_0223B7E4 _022395CC: .word MOD83_0223B814 - thumb_func_end MOD83_02239580 + thumb_func_end MOD83_02239580 - thumb_func_start MOD83_022395D0 + thumb_func_start MOD83_022395D0 MOD83_022395D0: ; 0x022395D0 - ldr r1, _022395E4 ; =MOD83_0223CAD4 - ldr r3, [r1] - ldr r1, _022395E8 ; =0x00001150 - ldr r2, [r3, r1] - sub r2, #9 - cmp r2, #1 - bls _022395E2 - add r1, r1, #4 - str r0, [r3, r1] + ldr r1, _022395E4 ; =MOD83_0223CAD4 + ldr r3, [r1] + ldr r1, _022395E8 ; =0x00001150 + ldr r2, [r3, r1] + sub r2, #9 + cmp r2, #1 + bls _022395E2 + add r1, r1, #4 + str r0, [r3, r1] _022395E2: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _022395E4: .word MOD83_0223CAD4 _022395E8: .word 0x00001150 - thumb_func_end MOD83_022395D0 + thumb_func_end MOD83_022395D0 - thumb_func_start MOD83_022395EC + thumb_func_start MOD83_022395EC MOD83_022395EC: ; 0x022395EC - push {r4, lr} - ldr r0, _02239658 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _0223965C ; =0x00001150 - ldr r0, [r1, r0] - cmp r0, #4 - bne _022395FE - bl OS_Terminate + push {r4, lr} + ldr r0, _02239658 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _0223965C ; =0x00001150 + ldr r0, [r1, r0] + cmp r0, #4 + bne _022395FE + bl OS_Terminate _022395FE: - mov r0, #2 - bl MOD83_02239580 - ldr r3, _02239658 ; =MOD83_0223CAD4 - ldr r0, _02239660 ; =0x0000FFFF - ldr r2, [r3] - ldr r1, _02239664 ; =0x00000FCC - strh r0, [r2, r1] - sub r2, r1, #2 - ldr r4, [r3] - sub r1, r1, #4 - strh r0, [r4, r2] - ldr r2, [r3] - strh r0, [r2, r1] - bl MOD83_02239670 - cmp r0, #0 - bne _0223963C - mov r0, #9 - bl MOD83_02239580 - ldr r0, _02239658 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239668 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _02239638 - mov r0, #4 - blx r1 + mov r0, #2 + bl MOD83_02239580 + ldr r3, _02239658 ; =MOD83_0223CAD4 + ldr r0, _02239660 ; =0x0000FFFF + ldr r2, [r3] + ldr r1, _02239664 ; =0x00000FCC + strh r0, [r2, r1] + sub r2, r1, #2 + ldr r4, [r3] + sub r1, r1, #4 + strh r0, [r4, r2] + ldr r2, [r3] + strh r0, [r2, r1] + bl MOD83_02239670 + cmp r0, #0 + bne _0223963C + mov r0, #9 + bl MOD83_02239580 + ldr r0, _02239658 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239668 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _02239638 + mov r0, #4 + blx r1 _02239638: - mov r0, #0 - pop {r4, pc} + mov r0, #0 + pop {r4, pc} _0223963C: - ldr r1, _02239658 ; =MOD83_0223CAD4 - ldr r0, _0223966C ; =0x00001158 - ldr r2, [r1] - mov r3, #2 - strh r3, [r2, r0] - ldr r1, [r1] - add r0, #0x24 - ldr r1, [r1, r0] - cmp r1, #0 - beq _02239654 - mov r0, #0 - blx r1 + ldr r1, _02239658 ; =MOD83_0223CAD4 + ldr r0, _0223966C ; =0x00001158 + ldr r2, [r1] + mov r3, #2 + strh r3, [r2, r0] + ldr r1, [r1] + add r0, #0x24 + ldr r1, [r1, r0] + cmp r1, #0 + beq _02239654 + mov r0, #0 + blx r1 _02239654: - mov r0, #1 - pop {r4, pc} - .align 2, 0 + mov r0, #1 + pop {r4, pc} + .align 2, 0 _02239658: .word MOD83_0223CAD4 _0223965C: .word 0x00001150 _02239660: .word 0x0000FFFF _02239664: .word 0x00000FCC _02239668: .word 0x0000117C _0223966C: .word 0x00001158 - thumb_func_end MOD83_022395EC + thumb_func_end MOD83_022395EC - thumb_func_start MOD83_02239670 + thumb_func_start MOD83_02239670 MOD83_02239670: ; 0x02239670 - push {r3, r4, r5, r6, r7, lr} - ldr r0, _02239748 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _0223974C ; =0x00001150 - ldr r0, [r1, r0] - cmp r0, #2 - beq _02239684 - bl OS_Terminate - mov r0, #0 + push {r3, r4, r5, r6, r7, lr} + ldr r0, _02239748 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _0223974C ; =0x00001150 + ldr r0, [r1, r0] + cmp r0, #2 + beq _02239684 + bl OS_Terminate + mov r0, #0 _02239684: - bl WM_GetAllowedChannel - add r4, r0, #0 - mov r0, #2 - lsl r0, r0, #0xe - cmp r4, r0 - bne _0223969C - mov r0, #3 - bl MOD83_022395D0 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} + bl WM_GetAllowedChannel + add r4, r0, #0 + mov r0, #2 + lsl r0, r0, #0xe + cmp r4, r0 + bne _0223969C + mov r0, #3 + bl MOD83_022395D0 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} _0223969C: - cmp r4, #0 - bne _022396AA - mov r0, #0x16 - bl MOD83_022395D0 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} + cmp r4, #0 + bne _022396AA + mov r0, #0x16 + bl MOD83_022395D0 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} _022396AA: - ldr r0, _02239748 ; =MOD83_0223CAD4 - ldr r2, [r0] - ldr r0, _02239750 ; =0x00001176 - ldrh r1, [r2, r0] - cmp r1, #0x10 - blo _022396EC - sub r1, #0x10 - mov r5, #0 - mov r7, #0xd - mov r6, #1 - b _022396D2 + ldr r0, _02239748 ; =MOD83_0223CAD4 + ldr r2, [r0] + ldr r0, _02239750 ; =0x00001176 + ldrh r1, [r2, r0] + cmp r1, #0x10 + blo _022396EC + sub r1, #0x10 + mov r5, #0 + mov r7, #0xd + mov r6, #1 + b _022396D2 _022396C0: - add r0, r1, #1 - add r1, r7, #0 - bl _s32_div_f - add r0, r6, #0 - lsl r0, r1 - tst r0, r4 - bne _022396D6 - add r5, r5, #1 + add r0, r1, #1 + add r1, r7, #0 + bl _s32_div_f + add r0, r6, #0 + lsl r0, r1 + tst r0, r4 + bne _022396D6 + add r5, r5, #1 _022396D2: - cmp r5, #0xd - blt _022396C0 + cmp r5, #0xd + blt _022396C0 _022396D6: - ldr r2, _02239748 ; =MOD83_0223CAD4 - add r4, r1, #0 - ldr r3, [r2] - ldr r0, _02239750 ; =0x00001176 - add r4, #0x10 - strh r4, [r3, r0] - add r3, r1, #1 - ldr r1, [r2] - ldr r0, _02239754 ; =0x00000FC4 - strh r3, [r1, r0] - b _022396F0 + ldr r2, _02239748 ; =MOD83_0223CAD4 + add r4, r1, #0 + ldr r3, [r2] + ldr r0, _02239750 ; =0x00001176 + add r4, #0x10 + strh r4, [r3, r0] + add r3, r1, #1 + ldr r1, [r2] + ldr r0, _02239754 ; =0x00000FC4 + strh r3, [r1, r0] + b _022396F0 _022396EC: - ldr r0, _02239754 ; =0x00000FC4 - strh r1, [r2, r0] + ldr r0, _02239754 ; =0x00000FC4 + strh r1, [r2, r0] _022396F0: - ldr r2, _02239748 ; =MOD83_0223CAD4 - ldr r0, _02239758 ; =0x00000FC6 - ldr r1, [r2] - mov r3, #0xdc - strh r3, [r1, r0] - add r1, r0, #0 - ldr r3, [r2] - sub r1, #0xc6 - add r1, r3, r1 - sub r0, r0, #6 - str r1, [r3, r0] - ldr r1, [r2] - ldr r0, _0223975C ; =0x00001158 - ldrh r0, [r1, r0] - cmp r0, #3 - bne _02239726 - mov r5, #0 - ldr r0, _02239760 ; =0x00001170 - ldr r1, _02239764 ; =0x00000FC8 - b _02239722 + ldr r2, _02239748 ; =MOD83_0223CAD4 + ldr r0, _02239758 ; =0x00000FC6 + ldr r1, [r2] + mov r3, #0xdc + strh r3, [r1, r0] + add r1, r0, #0 + ldr r3, [r2] + sub r1, #0xc6 + add r1, r3, r1 + sub r0, r0, #6 + str r1, [r3, r0] + ldr r1, [r2] + ldr r0, _0223975C ; =0x00001158 + ldrh r0, [r1, r0] + cmp r0, #3 + bne _02239726 + mov r5, #0 + ldr r0, _02239760 ; =0x00001170 + ldr r1, _02239764 ; =0x00000FC8 + b _02239722 _02239718: - ldr r3, [r2] - add r4, r3, r5 - ldrb r3, [r4, r0] - add r5, r5, #1 - strb r3, [r4, r1] + ldr r3, [r2] + add r4, r3, r5 + ldrb r3, [r4, r0] + add r5, r5, #1 + strb r3, [r4, r1] _02239722: - cmp r5, #6 - blt _02239718 + cmp r5, #6 + blt _02239718 _02239726: - ldr r1, _02239748 ; =MOD83_0223CAD4 - ldr r0, _02239768 ; =MOD83_0223976C - ldr r2, [r1] - mov r1, #0x3f - lsl r1, r1, #6 - add r1, r2, r1 - bl WM_StartScan - cmp r0, #2 - beq _02239742 - bl MOD83_022395D0 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} + ldr r1, _02239748 ; =MOD83_0223CAD4 + ldr r0, _02239768 ; =MOD83_0223976C + ldr r2, [r1] + mov r1, #0x3f + lsl r1, r1, #6 + add r1, r2, r1 + bl WM_StartScan + cmp r0, #2 + beq _02239742 + bl MOD83_022395D0 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} _02239742: - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - nop + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + nop _02239748: .word MOD83_0223CAD4 _0223974C: .word 0x00001150 _02239750: .word 0x00001176 @@ -24908,147 +24908,147 @@ _0223975C: .word 0x00001158 _02239760: .word 0x00001170 _02239764: .word 0x00000FC8 _02239768: .word MOD83_0223976C - thumb_func_end MOD83_02239670 + thumb_func_end MOD83_02239670 - thumb_func_start MOD83_0223976C + thumb_func_start MOD83_0223976C MOD83_0223976C: ; 0x0223976C - push {r3, r4, r5, lr} - add r4, r0, #0 - ldrh r0, [r4, #2] - cmp r0, #0 - beq _02239792 - bl MOD83_022395D0 - mov r0, #9 - bl MOD83_02239580 - ldr r0, _02239880 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239884 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _0223987E - mov r0, #4 - blx r1 - pop {r3, r4, r5, pc} + push {r3, r4, r5, lr} + add r4, r0, #0 + ldrh r0, [r4, #2] + cmp r0, #0 + beq _02239792 + bl MOD83_022395D0 + mov r0, #9 + bl MOD83_02239580 + ldr r0, _02239880 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239884 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _0223987E + mov r0, #4 + blx r1 + pop {r3, r4, r5, pc} _02239792: - ldr r0, _02239880 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239888 ; =0x00001150 - ldr r0, [r1, r0] - cmp r0, #2 - beq _022397BE - bl MOD83_022398A4 - cmp r0, #0 - bne _0223987E - mov r0, #9 - bl MOD83_02239580 - ldr r0, _02239880 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239884 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _0223987E - mov r0, #4 - blx r1 - pop {r3, r4, r5, pc} + ldr r0, _02239880 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239888 ; =0x00001150 + ldr r0, [r1, r0] + cmp r0, #2 + beq _022397BE + bl MOD83_022398A4 + cmp r0, #0 + bne _0223987E + mov r0, #9 + bl MOD83_02239580 + ldr r0, _02239880 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239884 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _0223987E + mov r0, #4 + blx r1 + pop {r3, r4, r5, pc} _022397BE: - ldrh r0, [r4, #8] - cmp r0, #3 - beq _0223987E - cmp r0, #4 - beq _02239860 - cmp r0, #5 - bne _02239860 - mov r0, #0xf - lsl r0, r0, #8 - add r0, r1, r0 - mov r1, #0xc0 - bl DC_InvalidateRange - ldrh r0, [r4, #0x36] - cmp r0, #8 - blo _022397E6 - ldr r1, [r4, #0x3c] - ldr r0, _0223988C ; =0x00400318 - cmp r1, r0 - beq _022397F8 + ldrh r0, [r4, #8] + cmp r0, #3 + beq _0223987E + cmp r0, #4 + beq _02239860 + cmp r0, #5 + bne _02239860 + mov r0, #0xf + lsl r0, r0, #8 + add r0, r1, r0 + mov r1, #0xc0 + bl DC_InvalidateRange + ldrh r0, [r4, #0x36] + cmp r0, #8 + blo _022397E6 + ldr r1, [r4, #0x3c] + ldr r0, _0223988C ; =0x00400318 + cmp r1, r0 + beq _022397F8 _022397E6: - ldr r0, _02239880 ; =MOD83_0223CAD4 - ldr r3, [r0, #4] - cmp r3, #0 - beq _02239860 - ldr r0, _02239890 ; =MOD83_0223B818 - ldr r1, [r4, #0x3c] - ldr r2, _0223988C ; =0x00400318 - blx r3 - b _02239860 + ldr r0, _02239880 ; =MOD83_0223CAD4 + ldr r3, [r0, #4] + cmp r3, #0 + beq _02239860 + ldr r0, _02239890 ; =MOD83_0223B818 + ldr r1, [r4, #0x3c] + ldr r2, _0223988C ; =0x00400318 + blx r3 + b _02239860 _022397F8: - ldr r1, _02239880 ; =MOD83_0223CAD4 - ldrh r3, [r4, #0x12] - ldr r2, [r1] - ldr r0, _02239894 ; =0x0000116C - str r3, [r2, r0] - ldr r1, [r1] - sub r0, #0x14 - ldrh r0, [r1, r0] - cmp r0, #2 - bne _02239844 - add r0, r4, #0 - add r0, #0x48 - bl MOD83_02239B00 - ldr r2, _02239880 ; =MOD83_0223CAD4 - ldr r1, _02239898 ; =0x00001170 - mov r0, #0 + ldr r1, _02239880 ; =MOD83_0223CAD4 + ldrh r3, [r4, #0x12] + ldr r2, [r1] + ldr r0, _02239894 ; =0x0000116C + str r3, [r2, r0] + ldr r1, [r1] + sub r0, #0x14 + ldrh r0, [r1, r0] + cmp r0, #2 + bne _02239844 + add r0, r4, #0 + add r0, #0x48 + bl MOD83_02239B00 + ldr r2, _02239880 ; =MOD83_0223CAD4 + ldr r1, _02239898 ; =0x00001170 + mov r0, #0 _0223981A: - add r3, r4, r0 - ldrb r5, [r3, #0xa] - ldr r3, [r2] - add r3, r3, r0 - add r0, r0, #1 - strb r5, [r3, r1] - cmp r0, #6 - blt _0223981A - ldr r1, _02239880 ; =MOD83_0223CAD4 - ldr r0, _0223989C ; =0x00001176 - ldr r3, [r1] - ldrh r2, [r3, r0] - sub r2, #0xf - strh r2, [r3, r0] - ldr r1, [r1] - add r0, r0, #6 - ldr r1, [r1, r0] - cmp r1, #0 - beq _02239844 - mov r0, #1 - blx r1 + add r3, r4, r0 + ldrb r5, [r3, #0xa] + ldr r3, [r2] + add r3, r3, r0 + add r0, r0, #1 + strb r5, [r3, r1] + cmp r0, #6 + blt _0223981A + ldr r1, _02239880 ; =MOD83_0223CAD4 + ldr r0, _0223989C ; =0x00001176 + ldr r3, [r1] + ldrh r2, [r3, r0] + sub r2, #0xf + strh r2, [r3, r0] + ldr r1, [r1] + add r0, r0, #6 + ldr r1, [r1, r0] + cmp r1, #0 + beq _02239844 + mov r0, #1 + blx r1 _02239844: - add r4, #0x48 - add r0, r4, #0 - bl MOD83_02239B80 - cmp r0, #0 - beq _02239860 - ldr r0, _02239880 ; =MOD83_0223CAD4 - mov r2, #4 - ldr r1, [r0] - ldr r0, _022398A0 ; =0x00001158 - strh r2, [r1, r0] - bl MOD83_02239A14 - pop {r3, r4, r5, pc} + add r4, #0x48 + add r0, r4, #0 + bl MOD83_02239B80 + cmp r0, #0 + beq _02239860 + ldr r0, _02239880 ; =MOD83_0223CAD4 + mov r2, #4 + ldr r1, [r0] + ldr r0, _022398A0 ; =0x00001158 + strh r2, [r1, r0] + bl MOD83_02239A14 + pop {r3, r4, r5, pc} _02239860: - bl MOD83_02239670 - cmp r0, #0 - bne _0223987E - mov r0, #9 - bl MOD83_02239580 - ldr r0, _02239880 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239884 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _0223987E - mov r0, #4 - blx r1 + bl MOD83_02239670 + cmp r0, #0 + bne _0223987E + mov r0, #9 + bl MOD83_02239580 + ldr r0, _02239880 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239884 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _0223987E + mov r0, #4 + blx r1 _0223987E: - pop {r3, r4, r5, pc} - .align 2, 0 + pop {r3, r4, r5, pc} + .align 2, 0 _02239880: .word MOD83_0223CAD4 _02239884: .word 0x0000117C _02239888: .word 0x00001150 @@ -25058,541 +25058,541 @@ _02239894: .word 0x0000116C _02239898: .word 0x00001170 _0223989C: .word 0x00001176 _022398A0: .word 0x00001158 - thumb_func_end MOD83_0223976C + thumb_func_end MOD83_0223976C - thumb_func_start MOD83_022398A4 + thumb_func_start MOD83_022398A4 MOD83_022398A4: ; 0x022398A4 - push {r3, lr} - ldr r0, _022398BC ; =MOD83_022398C0 - bl WM_EndScan - cmp r0, #2 - beq _022398B8 - bl MOD83_022395D0 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + ldr r0, _022398BC ; =MOD83_022398C0 + bl WM_EndScan + cmp r0, #2 + beq _022398B8 + bl MOD83_022395D0 + mov r0, #0 + pop {r3, pc} _022398B8: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _022398BC: .word MOD83_022398C0 - thumb_func_end MOD83_022398A4 + thumb_func_end MOD83_022398A4 - thumb_func_start MOD83_022398C0 + thumb_func_start MOD83_022398C0 MOD83_022398C0: ; 0x022398C0 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _022398CE - bl MOD83_022395D0 - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _022398CE + bl MOD83_022395D0 + pop {r3, pc} _022398CE: - mov r0, #1 - bl MOD83_02239580 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD83_022398C0 + mov r0, #1 + bl MOD83_02239580 + pop {r3, pc} + .align 2, 0 + thumb_func_end MOD83_022398C0 - thumb_func_start MOD83_022398D8 + thumb_func_start MOD83_022398D8 MOD83_022398D8: ; 0x022398D8 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _022398E8 - mov r0, #0xa - bl MOD83_02239580 - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _022398E8 + mov r0, #0xa + bl MOD83_02239580 + pop {r3, pc} _022398E8: - mov r0, #0 - bl MOD83_02239580 - ldr r0, _02239900 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239904 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _022398FE - mov r0, #3 - blx r1 + mov r0, #0 + bl MOD83_02239580 + ldr r0, _02239900 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239904 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _022398FE + mov r0, #3 + blx r1 _022398FE: - pop {r3, pc} - .align 2, 0 + pop {r3, pc} + .align 2, 0 _02239900: .word MOD83_0223CAD4 _02239904: .word 0x0000117C - thumb_func_end MOD83_022398D8 + thumb_func_end MOD83_022398D8 - thumb_func_start MOD83_02239908 + thumb_func_start MOD83_02239908 MOD83_02239908: ; 0x02239908 - push {r3, lr} - ldr r0, _02239924 ; =MOD83_0223CAD4 - mov r2, #0 - ldr r1, [r0] - ldr r0, _02239928 ; =0x00001154 - str r2, [r1, r0] - bl MOD83_02239954 - cmp r0, #0 - beq _02239920 - mov r0, #1 - pop {r3, pc} + push {r3, lr} + ldr r0, _02239924 ; =MOD83_0223CAD4 + mov r2, #0 + ldr r1, [r0] + ldr r0, _02239928 ; =0x00001154 + str r2, [r1, r0] + bl MOD83_02239954 + cmp r0, #0 + beq _02239920 + mov r0, #1 + pop {r3, pc} _02239920: - mov r0, #0 - pop {r3, pc} - .align 2, 0 + mov r0, #0 + pop {r3, pc} + .align 2, 0 _02239924: .word MOD83_0223CAD4 _02239928: .word 0x00001154 - thumb_func_end MOD83_02239908 + thumb_func_end MOD83_02239908 - thumb_func_start MOD83_0223992C + thumb_func_start MOD83_0223992C MOD83_0223992C: ; 0x0223992C - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #8 - bne _0223994A - mov r0, #9 - bl MOD83_02239580 - ldr r0, _0223994C ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239950 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _0223994A - mov r0, #4 - blx r1 + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #8 + bne _0223994A + mov r0, #9 + bl MOD83_02239580 + ldr r0, _0223994C ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239950 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _0223994A + mov r0, #4 + blx r1 _0223994A: - pop {r3, pc} - .align 2, 0 + pop {r3, pc} + .align 2, 0 _0223994C: .word MOD83_0223CAD4 _02239950: .word 0x0000117C - thumb_func_end MOD83_0223992C + thumb_func_end MOD83_0223992C - thumb_func_start MOD83_02239954 + thumb_func_start MOD83_02239954 MOD83_02239954: ; 0x02239954 - push {r3, lr} - mov r0, #3 - bl MOD83_02239580 - ldr r0, _02239980 ; =MOD83_0223CAD4 - ldr r1, _02239984 ; =MOD83_02239988 - ldr r0, [r0] - mov r2, #2 - bl WM_Initialize - cmp r0, #2 - beq _0223997A - bl MOD83_022395D0 - mov r0, #0xa - bl MOD83_02239580 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + mov r0, #3 + bl MOD83_02239580 + ldr r0, _02239980 ; =MOD83_0223CAD4 + ldr r1, _02239984 ; =MOD83_02239988 + ldr r0, [r0] + mov r2, #2 + bl WM_Initialize + cmp r0, #2 + beq _0223997A + bl MOD83_022395D0 + mov r0, #0xa + bl MOD83_02239580 + mov r0, #0 + pop {r3, pc} _0223997A: - mov r0, #1 - pop {r3, pc} - nop + mov r0, #1 + pop {r3, pc} + nop _02239980: .word MOD83_0223CAD4 _02239984: .word MOD83_02239988 - thumb_func_end MOD83_02239954 + thumb_func_end MOD83_02239954 - thumb_func_start MOD83_02239988 + thumb_func_start MOD83_02239988 MOD83_02239988: ; 0x02239988 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _0223999C - bl MOD83_022395D0 - mov r0, #0xa - bl MOD83_02239580 - pop {r3, pc} + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _0223999C + bl MOD83_022395D0 + mov r0, #0xa + bl MOD83_02239580 + pop {r3, pc} _0223999C: - ldr r0, _022399C0 ; =MOD83_0223992C - bl WM_SetIndCallback - cmp r0, #0 - beq _022399B2 - bl MOD83_022395D0 - mov r0, #0xa - bl MOD83_02239580 - pop {r3, pc} + ldr r0, _022399C0 ; =MOD83_0223992C + bl WM_SetIndCallback + cmp r0, #0 + beq _022399B2 + bl MOD83_022395D0 + mov r0, #0xa + bl MOD83_02239580 + pop {r3, pc} _022399B2: - mov r0, #1 - bl MOD83_02239580 - bl MOD83_022395EC - pop {r3, pc} - nop + mov r0, #1 + bl MOD83_02239580 + bl MOD83_022395EC + pop {r3, pc} + nop _022399C0: .word MOD83_0223992C - thumb_func_end MOD83_02239988 + thumb_func_end MOD83_02239988 - thumb_func_start MOD83_022399C4 + thumb_func_start MOD83_022399C4 MOD83_022399C4: ; 0x022399C4 - push {r3, lr} - ldr r0, _02239A04 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239A08 ; =0x00001150 - ldr r0, [r1, r0] - cmp r0, #1 - beq _022399D6 - bl OS_Terminate + push {r3, lr} + ldr r0, _02239A04 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239A08 ; =0x00001150 + ldr r0, [r1, r0] + cmp r0, #1 + beq _022399D6 + bl OS_Terminate _022399D6: - mov r0, #3 - bl MOD83_02239580 - ldr r0, _02239A0C ; =MOD83_022398D8 - bl WM_End - cmp r0, #2 - beq _02239A00 - mov r0, #9 - bl MOD83_02239580 - ldr r0, _02239A04 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239A10 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _022399FC - mov r0, #4 - blx r1 + mov r0, #3 + bl MOD83_02239580 + ldr r0, _02239A0C ; =MOD83_022398D8 + bl WM_End + cmp r0, #2 + beq _02239A00 + mov r0, #9 + bl MOD83_02239580 + ldr r0, _02239A04 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239A10 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _022399FC + mov r0, #4 + blx r1 _022399FC: - mov r0, #0 - pop {r3, pc} + mov r0, #0 + pop {r3, pc} _02239A00: - mov r0, #1 - pop {r3, pc} - .align 2, 0 + mov r0, #1 + pop {r3, pc} + .align 2, 0 _02239A04: .word MOD83_0223CAD4 _02239A08: .word 0x00001150 _02239A0C: .word MOD83_022398D8 _02239A10: .word 0x0000117C - thumb_func_end MOD83_022399C4 + thumb_func_end MOD83_022399C4 - thumb_func_start MOD83_02239A14 + thumb_func_start MOD83_02239A14 MOD83_02239A14: ; 0x02239A14 - push {r3, lr} - ldr r0, _02239A30 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239A34 ; =0x00001150 - ldr r0, [r1, r0] - cmp r0, #1 - bne _02239A28 - bl MOD83_022399C4 - pop {r3, pc} + push {r3, lr} + ldr r0, _02239A30 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239A34 ; =0x00001150 + ldr r0, [r1, r0] + cmp r0, #1 + bne _02239A28 + bl MOD83_022399C4 + pop {r3, pc} _02239A28: - bl MOD83_02239A38 - pop {r3, pc} - nop + bl MOD83_02239A38 + pop {r3, pc} + nop _02239A30: .word MOD83_0223CAD4 _02239A34: .word 0x00001150 - thumb_func_end MOD83_02239A14 + thumb_func_end MOD83_02239A14 - thumb_func_start MOD83_02239A38 + thumb_func_start MOD83_02239A38 MOD83_02239A38: ; 0x02239A38 - push {r3, lr} - mov r0, #3 - bl MOD83_02239580 - ldr r0, _02239A58 ; =MOD83_02239A5C - bl WM_Reset - cmp r0, #2 - beq _02239A52 - bl MOD83_022395D0 - mov r0, #0 - pop {r3, pc} + push {r3, lr} + mov r0, #3 + bl MOD83_02239580 + ldr r0, _02239A58 ; =MOD83_02239A5C + bl WM_Reset + cmp r0, #2 + beq _02239A52 + bl MOD83_022395D0 + mov r0, #0 + pop {r3, pc} _02239A52: - mov r0, #1 - pop {r3, pc} - nop + mov r0, #1 + pop {r3, pc} + nop _02239A58: .word MOD83_02239A5C - thumb_func_end MOD83_02239A38 + thumb_func_end MOD83_02239A38 - thumb_func_start MOD83_02239A5C + thumb_func_start MOD83_02239A5C MOD83_02239A5C: ; 0x02239A5C - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #2] - cmp r0, #0 - beq _02239A84 - mov r0, #9 - bl MOD83_02239580 - ldrh r0, [r4, #2] - bl MOD83_022395D0 - ldr r0, _02239A90 ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239A94 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _02239A8E - mov r0, #4 - blx r1 - pop {r4, pc} + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #2] + cmp r0, #0 + beq _02239A84 + mov r0, #9 + bl MOD83_02239580 + ldrh r0, [r4, #2] + bl MOD83_022395D0 + ldr r0, _02239A90 ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239A94 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _02239A8E + mov r0, #4 + blx r1 + pop {r4, pc} _02239A84: - mov r0, #1 - bl MOD83_02239580 - bl MOD83_022399C4 + mov r0, #1 + bl MOD83_02239580 + bl MOD83_022399C4 _02239A8E: - pop {r4, pc} - .align 2, 0 + pop {r4, pc} + .align 2, 0 _02239A90: .word MOD83_0223CAD4 _02239A94: .word 0x0000117C - thumb_func_end MOD83_02239A5C + thumb_func_end MOD83_02239A5C - thumb_func_start MOD83_02239A98 + thumb_func_start MOD83_02239A98 MOD83_02239A98: ; 0x02239A98 - push {r3, r4, r5, r6, r7, lr} - add r3, r0, #0 - add r2, #0x1f - mov r0, #0x1f - bic r2, r0 - ldr r5, _02239AF4 ; =MOD83_0223CAD4 - ldr r4, _02239AF8 ; =0x00001150 - str r2, [r5] - mov r0, #0 - str r0, [r2, r4] - add r2, r4, #0 - ldr r6, [r5] - mov r7, #1 - add r2, #8 - strh r7, [r6, r2] - add r2, r4, #0 - ldr r6, [r5] - add r2, #0x28 - str r3, [r6, r2] - add r2, r4, #0 - ldr r3, [r5] - add r2, #0xc - strh r0, [r3, r2] - add r2, r4, #0 - ldr r3, [r5] - add r2, #0xe - strh r0, [r3, r2] - add r2, r4, #0 - ldr r3, [r5] - add r2, #0x2c - str r1, [r3, r2] - add r2, r4, #0 - ldr r3, [r5] - mov r1, #0x10 - add r2, #0x26 - strh r1, [r3, r2] - ldr r3, [r5] - ldr r2, _02239AFC ; =0x00001048 - sub r1, #0x11 - str r0, [r3, r2] - ldr r0, [r5] - add r4, #0x1c - str r1, [r0, r4] - bl MOD83_02239908 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 + push {r3, r4, r5, r6, r7, lr} + add r3, r0, #0 + add r2, #0x1f + mov r0, #0x1f + bic r2, r0 + ldr r5, _02239AF4 ; =MOD83_0223CAD4 + ldr r4, _02239AF8 ; =0x00001150 + str r2, [r5] + mov r0, #0 + str r0, [r2, r4] + add r2, r4, #0 + ldr r6, [r5] + mov r7, #1 + add r2, #8 + strh r7, [r6, r2] + add r2, r4, #0 + ldr r6, [r5] + add r2, #0x28 + str r3, [r6, r2] + add r2, r4, #0 + ldr r3, [r5] + add r2, #0xc + strh r0, [r3, r2] + add r2, r4, #0 + ldr r3, [r5] + add r2, #0xe + strh r0, [r3, r2] + add r2, r4, #0 + ldr r3, [r5] + add r2, #0x2c + str r1, [r3, r2] + add r2, r4, #0 + ldr r3, [r5] + mov r1, #0x10 + add r2, #0x26 + strh r1, [r3, r2] + ldr r3, [r5] + ldr r2, _02239AFC ; =0x00001048 + sub r1, #0x11 + str r0, [r3, r2] + ldr r0, [r5] + add r4, #0x1c + str r1, [r0, r4] + bl MOD83_02239908 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 _02239AF4: .word MOD83_0223CAD4 _02239AF8: .word 0x00001150 _02239AFC: .word 0x00001048 - thumb_func_end MOD83_02239A98 + thumb_func_end MOD83_02239A98 - thumb_func_start MOD83_02239B00 + thumb_func_start MOD83_02239B00 MOD83_02239B00: ; 0x02239B00 - push {r4, r5, r6, lr} - ldr r3, _02239B70 ; =MOD83_0223CAD4 - ldr r1, _02239B74 ; =0x00001048 - ldr r2, [r3] - mov r4, #0 - str r4, [r2, r1] - ldr r1, [r3] - ldr r2, _02239B78 ; =0x00001158 - mov r4, #3 - strh r4, [r1, r2] - ldrh r5, [r0] - ldr r4, [r3] - add r1, r2, #2 - strh r5, [r4, r1] - ldr r4, [r0, #4] - add r0, r2, #0 - ldr r1, [r3] - add r0, #8 - str r4, [r1, r0] - ldr r4, [r3] - add r2, #8 - ldr r0, [r4, r2] - mov r1, #0x68 - sub r0, r0, #1 - bl _u32_div_f - ldr r2, _02239B7C ; =0x0000115C - add r0, r0, #1 - strh r0, [r4, r2] - ldr r4, _02239B70 ; =MOD83_0223CAD4 - mov r0, #0 - ldr r3, [r4] - add r1, r2, #2 - strh r0, [r3, r1] - add r1, r2, #0 - ldr r3, [r4] - add r1, #8 - str r0, [r3, r1] - ldr r1, [r4] - ldrh r2, [r1, r2] - cmp r2, #0 - ble _02239B6C - mov r2, #0x46 - lsl r2, r2, #6 - add r3, r2, #0 - add r6, r0, #0 - sub r3, #0x24 + push {r4, r5, r6, lr} + ldr r3, _02239B70 ; =MOD83_0223CAD4 + ldr r1, _02239B74 ; =0x00001048 + ldr r2, [r3] + mov r4, #0 + str r4, [r2, r1] + ldr r1, [r3] + ldr r2, _02239B78 ; =0x00001158 + mov r4, #3 + strh r4, [r1, r2] + ldrh r5, [r0] + ldr r4, [r3] + add r1, r2, #2 + strh r5, [r4, r1] + ldr r4, [r0, #4] + add r0, r2, #0 + ldr r1, [r3] + add r0, #8 + str r4, [r1, r0] + ldr r4, [r3] + add r2, #8 + ldr r0, [r4, r2] + mov r1, #0x68 + sub r0, r0, #1 + bl _u32_div_f + ldr r2, _02239B7C ; =0x0000115C + add r0, r0, #1 + strh r0, [r4, r2] + ldr r4, _02239B70 ; =MOD83_0223CAD4 + mov r0, #0 + ldr r3, [r4] + add r1, r2, #2 + strh r0, [r3, r1] + add r1, r2, #0 + ldr r3, [r4] + add r1, #8 + str r0, [r3, r1] + ldr r1, [r4] + ldrh r2, [r1, r2] + cmp r2, #0 + ble _02239B6C + mov r2, #0x46 + lsl r2, r2, #6 + add r3, r2, #0 + add r6, r0, #0 + sub r3, #0x24 _02239B5E: - add r1, r1, r0 - strb r6, [r1, r2] - ldr r1, [r4] - add r0, r0, #1 - ldrh r5, [r1, r3] - cmp r0, r5 - blt _02239B5E + add r1, r1, r0 + strb r6, [r1, r2] + ldr r1, [r4] + add r0, r0, #1 + ldrh r5, [r1, r3] + cmp r0, r5 + blt _02239B5E _02239B6C: - pop {r4, r5, r6, pc} - nop + pop {r4, r5, r6, pc} + nop _02239B70: .word MOD83_0223CAD4 _02239B74: .word 0x00001048 _02239B78: .word 0x00001158 _02239B7C: .word 0x0000115C - thumb_func_end MOD83_02239B00 + thumb_func_end MOD83_02239B00 - thumb_func_start MOD83_02239B80 + thumb_func_start MOD83_02239B80 MOD83_02239B80: ; 0x02239B80 - push {r3, r4, r5, lr} - add r4, r0, #0 - ldr r0, _02239C9C ; =MOD83_0223CAD4 - ldrh r1, [r4] - ldr r3, [r0] - ldr r0, _02239CA0 ; =0x0000115A - ldrh r2, [r3, r0] - cmp r2, r1 - bne _02239B9C - add r0, r0, #6 - ldr r1, [r3, r0] - ldr r0, [r4, #4] - cmp r1, r0 - beq _02239BC8 + push {r3, r4, r5, lr} + add r4, r0, #0 + ldr r0, _02239C9C ; =MOD83_0223CAD4 + ldrh r1, [r4] + ldr r3, [r0] + ldr r0, _02239CA0 ; =0x0000115A + ldrh r2, [r3, r0] + cmp r2, r1 + bne _02239B9C + add r0, r0, #6 + ldr r1, [r3, r0] + ldr r0, [r4, #4] + cmp r1, r0 + beq _02239BC8 _02239B9C: - ldr r0, _02239C9C ; =MOD83_0223CAD4 - ldr r3, [r0] - ldr r0, _02239CA4 ; =0x00001164 - ldr r2, [r3, r0] - add r1, r2, #1 - str r1, [r3, r0] - cmp r2, #0x10 - blo _02239BC4 - add r0, r4, #0 - bl MOD83_02239B00 - ldr r0, _02239C9C ; =MOD83_0223CAD4 - ldr r1, [r0] - ldr r0, _02239CA8 ; =0x0000117C - ldr r1, [r1, r0] - cmp r1, #0 - beq _02239BC8 - mov r0, #5 - blx r1 - b _02239BC8 + ldr r0, _02239C9C ; =MOD83_0223CAD4 + ldr r3, [r0] + ldr r0, _02239CA4 ; =0x00001164 + ldr r2, [r3, r0] + add r1, r2, #1 + str r1, [r3, r0] + cmp r2, #0x10 + blo _02239BC4 + add r0, r4, #0 + bl MOD83_02239B00 + ldr r0, _02239C9C ; =MOD83_0223CAD4 + ldr r1, [r0] + ldr r0, _02239CA8 ; =0x0000117C + ldr r1, [r1, r0] + cmp r1, #0 + beq _02239BC8 + mov r0, #5 + blx r1 + b _02239BC8 _02239BC4: - mov r0, #0 - pop {r3, r4, r5, pc} + mov r0, #0 + pop {r3, r4, r5, pc} _02239BC8: - ldrh r3, [r4, #2] - ldr r0, _02239CAC ; =0x0000FFFF - cmp r3, r0 - bne _02239BF0 - ldr r1, _02239C9C ; =MOD83_0223CAD4 - add r4, #8 - ldr r2, [r1] - mov r1, #0xfe - lsl r1, r1, #4 - add r1, r2, r1 - add r0, r4, #0 - mov r2, #0x68 - bl MIi_CpuCopy32 - ldr r0, _02239C9C ; =MOD83_0223CAD4 - mov r2, #1 - ldr r1, [r0] - ldr r0, _02239CB0 ; =0x00001048 - str r2, [r1, r0] - b _02239C98 + ldrh r3, [r4, #2] + ldr r0, _02239CAC ; =0x0000FFFF + cmp r3, r0 + bne _02239BF0 + ldr r1, _02239C9C ; =MOD83_0223CAD4 + add r4, #8 + ldr r2, [r1] + mov r1, #0xfe + lsl r1, r1, #4 + add r1, r2, r1 + add r0, r4, #0 + mov r2, #0x68 + bl MIi_CpuCopy32 + ldr r0, _02239C9C ; =MOD83_0223CAD4 + mov r2, #1 + ldr r1, [r0] + ldr r0, _02239CB0 ; =0x00001048 + str r2, [r1, r0] + b _02239C98 _02239BF0: - ldr r1, _02239C9C ; =MOD83_0223CAD4 - ldr r0, _02239CB4 ; =0x00001168 - ldr r2, [r1] - str r3, [r2, r0] - ldr r3, [r1] - add r1, r0, #0 - sub r1, #0xc - ldrh r2, [r4, #2] - ldrh r1, [r3, r1] - cmp r2, r1 - blo _02239C18 - add r0, #0x14 - ldr r1, [r3, r0] - cmp r1, #0 - beq _02239C12 - mov r0, #4 - blx r1 + ldr r1, _02239C9C ; =MOD83_0223CAD4 + ldr r0, _02239CB4 ; =0x00001168 + ldr r2, [r1] + str r3, [r2, r0] + ldr r3, [r1] + add r1, r0, #0 + sub r1, #0xc + ldrh r2, [r4, #2] + ldrh r1, [r3, r1] + cmp r2, r1 + blo _02239C18 + add r0, #0x14 + ldr r1, [r3, r0] + cmp r1, #0 + beq _02239C12 + mov r0, #4 + blx r1 _02239C12: - mov r0, #9 - bl MOD83_02239580 + mov r0, #9 + bl MOD83_02239580 _02239C18: - ldr r0, _02239C9C ; =MOD83_0223CAD4 - mov r2, #0x46 - ldr r1, [r0] - lsl r2, r2, #6 - ldrh r3, [r4, #2] - add r5, r1, r2 - ldrb r1, [r5, r3] - cmp r1, #0 - bne _02239C98 - mov r1, #1 - strb r1, [r5, r3] - ldr r5, [r0] - add r0, r2, #0 - sub r0, #0x24 - ldrh r0, [r5, r0] - ldrh r1, [r4, #2] - sub r0, r0, #1 - cmp r1, r0 - bne _02239C5C - add r3, r1, #0 - add r1, r2, #0 - sub r1, #8 - sub r2, #0x20 - mov r0, #0x68 - ldr r1, [r5, r1] - mul r3, r0 - ldr r2, [r5, r2] - add r4, #8 - add r0, r4, #0 - add r1, r1, r3 - sub r2, r2, r3 - bl MIi_CpuCopy32 - b _02239C70 + ldr r0, _02239C9C ; =MOD83_0223CAD4 + mov r2, #0x46 + ldr r1, [r0] + lsl r2, r2, #6 + ldrh r3, [r4, #2] + add r5, r1, r2 + ldrb r1, [r5, r3] + cmp r1, #0 + bne _02239C98 + mov r1, #1 + strb r1, [r5, r3] + ldr r5, [r0] + add r0, r2, #0 + sub r0, #0x24 + ldrh r0, [r5, r0] + ldrh r1, [r4, #2] + sub r0, r0, #1 + cmp r1, r0 + bne _02239C5C + add r3, r1, #0 + add r1, r2, #0 + sub r1, #8 + sub r2, #0x20 + mov r0, #0x68 + ldr r1, [r5, r1] + mul r3, r0 + ldr r2, [r5, r2] + add r4, #8 + add r0, r4, #0 + add r1, r1, r3 + sub r2, r2, r3 + bl MIi_CpuCopy32 + b _02239C70 _02239C5C: - add r4, #8 - sub r2, #8 - add r0, r4, #0 - ldr r4, [r5, r2] - mov r2, #0x68 - add r3, r1, #0 - mul r3, r2 - add r1, r4, r3 - bl MIi_CpuCopy32 + add r4, #8 + sub r2, #8 + add r0, r4, #0 + ldr r4, [r5, r2] + mov r2, #0x68 + add r3, r1, #0 + mul r3, r2 + add r1, r4, r3 + bl MIi_CpuCopy32 _02239C70: - ldr r1, _02239C9C ; =MOD83_0223CAD4 - ldr r0, _02239CB8 ; =0x0000115E - ldr r3, [r1] - ldrh r2, [r3, r0] - add r2, r2, #1 - strh r2, [r3, r0] - ldr r3, [r1] - sub r1, r0, #2 - ldrh r2, [r3, r0] - ldrh r1, [r3, r1] - cmp r2, r1 - bne _02239C98 - add r0, #0x1e - ldr r1, [r3, r0] - cmp r1, #0 - beq _02239C94 - mov r0, #2 - blx r1 + ldr r1, _02239C9C ; =MOD83_0223CAD4 + ldr r0, _02239CB8 ; =0x0000115E + ldr r3, [r1] + ldrh r2, [r3, r0] + add r2, r2, #1 + strh r2, [r3, r0] + ldr r3, [r1] + sub r1, r0, #2 + ldrh r2, [r3, r0] + ldrh r1, [r3, r1] + cmp r2, r1 + bne _02239C98 + add r0, #0x1e + ldr r1, [r3, r0] + cmp r1, #0 + beq _02239C94 + mov r0, #2 + blx r1 _02239C94: - mov r0, #1 - pop {r3, r4, r5, pc} + mov r0, #1 + pop {r3, r4, r5, pc} _02239C98: - mov r0, #0 - pop {r3, r4, r5, pc} - .align 2, 0 + mov r0, #0 + pop {r3, r4, r5, pc} + .align 2, 0 _02239C9C: .word MOD83_0223CAD4 _02239CA0: .word 0x0000115A _02239CA4: .word 0x00001164 @@ -25601,746 +25601,746 @@ _02239CAC: .word 0x0000FFFF _02239CB0: .word 0x00001048 _02239CB4: .word 0x00001168 _02239CB8: .word 0x0000115E - thumb_func_end MOD83_02239B80 + thumb_func_end MOD83_02239B80 - thumb_func_start MOD83_02239CBC + thumb_func_start MOD83_02239CBC MOD83_02239CBC: ; 0x02239CBC - push {r3, r4} - mov r2, #0 - add r3, r2, #0 - lsr r1, r1, #1 - beq _02239CE4 + push {r3, r4} + mov r2, #0 + add r3, r2, #0 + lsr r1, r1, #1 + beq _02239CE4 _02239CC6: - lsl r4, r3, #1 - ldrh r4, [r0, r4] - add r3, r3, #1 - lsl r3, r3, #0x10 - add r2, r2, r4 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - lsl r4, r2, #1 - asr r2, r2, #0xf - orr r2, r4 - lsl r2, r2, #0x10 - lsr r3, r3, #0x10 - lsr r2, r2, #0x10 - cmp r3, r1 - blo _02239CC6 + lsl r4, r3, #1 + ldrh r4, [r0, r4] + add r3, r3, #1 + lsl r3, r3, #0x10 + add r2, r2, r4 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + lsl r4, r2, #1 + asr r2, r2, #0xf + orr r2, r4 + lsl r2, r2, #0x10 + lsr r3, r3, #0x10 + lsr r2, r2, #0x10 + cmp r3, r1 + blo _02239CC6 _02239CE4: - add r0, r2, #0 - pop {r3, r4} - bx lr - .align 2, 0 - thumb_func_end MOD83_02239CBC + add r0, r2, #0 + pop {r3, r4} + bx lr + .align 2, 0 + thumb_func_end MOD83_02239CBC - thumb_func_start MOD83_02239CEC + thumb_func_start MOD83_02239CEC MOD83_02239CEC: ; 0x02239CEC - push {r4, lr} - sub sp, #8 - ldr r0, _02239D80 ; =MOD83_0223CAD4 - add r1, sp, #0 - ldr r4, [r0] - ldr r0, _02239D84 ; =0x00001170 - add r3, r4, r0 - ldrh r2, [r3] - sub r0, #0x16 - strh r2, [r1] - ldrh r2, [r3, #2] - strh r2, [r1, #6] - ldrh r2, [r3, #4] - add r3, sp, #0 - strh r2, [r1, #4] - ldrh r0, [r4, r0] - ldr r2, _02239D88 ; =0x00003FA2 - strh r0, [r1, #2] - mov r1, #0 + push {r4, lr} + sub sp, #8 + ldr r0, _02239D80 ; =MOD83_0223CAD4 + add r1, sp, #0 + ldr r4, [r0] + ldr r0, _02239D84 ; =0x00001170 + add r3, r4, r0 + ldrh r2, [r3] + sub r0, #0x16 + strh r2, [r1] + ldrh r2, [r3, #2] + strh r2, [r1, #6] + ldrh r2, [r3, #4] + add r3, sp, #0 + strh r2, [r1, #4] + ldrh r0, [r4, r0] + ldr r2, _02239D88 ; =0x00003FA2 + strh r0, [r1, #2] + mov r1, #0 _02239D12: - ldrh r0, [r3] - add r1, r1, #1 - eor r0, r2 - strh r0, [r3] - ldrh r2, [r3] - add r3, r3, #2 - cmp r1, #4 - blt _02239D12 - ldr r0, _02239D80 ; =MOD83_0223CAD4 - mov r2, #8 - ldr r1, [r0] - ldr r0, _02239D8C ; =0x0000104C - add r0, r1, r0 - add r1, sp, #0 - bl FUN_0209521C - ldr r0, _02239D80 ; =MOD83_0223CAD4 - ldr r2, _02239D90 ; =0x00001178 - ldr r3, [r0] - ldr r0, _02239D8C ; =0x0000104C - ldr r1, [r3, r2] - sub r2, #0x18 - ldr r2, [r3, r2] - add r0, r3, r0 - add r3, r1, #0 - bl FUN_020952AC - ldr r1, _02239D80 ; =MOD83_0223CAD4 - ldr r2, _02239D8C ; =0x0000104C - ldr r1, [r1] - mov r0, #0 - add r1, r1, r2 - lsr r2, r2, #4 - bl MIi_CpuClear32 - ldr r0, _02239D80 ; =MOD83_0223CAD4 - ldr r1, _02239D90 ; =0x00001178 - ldr r2, [r0] - ldr r0, [r2, r1] - sub r1, #0x18 - ldr r1, [r2, r1] - bl MOD83_02239CBC - ldr r1, _02239D80 ; =MOD83_0223CAD4 - ldr r2, [r1] - ldr r1, _02239D94 ; =0x0000115A - ldrh r1, [r2, r1] - cmp r1, r0 - bne _02239D7A - add sp, #8 - mov r0, #1 - pop {r4, pc} + ldrh r0, [r3] + add r1, r1, #1 + eor r0, r2 + strh r0, [r3] + ldrh r2, [r3] + add r3, r3, #2 + cmp r1, #4 + blt _02239D12 + ldr r0, _02239D80 ; =MOD83_0223CAD4 + mov r2, #8 + ldr r1, [r0] + ldr r0, _02239D8C ; =0x0000104C + add r0, r1, r0 + add r1, sp, #0 + bl FUN_0209521C + ldr r0, _02239D80 ; =MOD83_0223CAD4 + ldr r2, _02239D90 ; =0x00001178 + ldr r3, [r0] + ldr r0, _02239D8C ; =0x0000104C + ldr r1, [r3, r2] + sub r2, #0x18 + ldr r2, [r3, r2] + add r0, r3, r0 + add r3, r1, #0 + bl FUN_020952AC + ldr r1, _02239D80 ; =MOD83_0223CAD4 + ldr r2, _02239D8C ; =0x0000104C + ldr r1, [r1] + mov r0, #0 + add r1, r1, r2 + lsr r2, r2, #4 + bl MIi_CpuClear32 + ldr r0, _02239D80 ; =MOD83_0223CAD4 + ldr r1, _02239D90 ; =0x00001178 + ldr r2, [r0] + ldr r0, [r2, r1] + sub r1, #0x18 + ldr r1, [r2, r1] + bl MOD83_02239CBC + ldr r1, _02239D80 ; =MOD83_0223CAD4 + ldr r2, [r1] + ldr r1, _02239D94 ; =0x0000115A + ldrh r1, [r2, r1] + cmp r1, r0 + bne _02239D7A + add sp, #8 + mov r0, #1 + pop {r4, pc} _02239D7A: - mov r0, #0 - add sp, #8 - pop {r4, pc} - .align 2, 0 + mov r0, #0 + add sp, #8 + pop {r4, pc} + .align 2, 0 _02239D80: .word MOD83_0223CAD4 _02239D84: .word 0x00001170 _02239D88: .word 0x00003FA2 _02239D8C: .word 0x0000104C _02239D90: .word 0x00001178 _02239D94: .word 0x0000115A - thumb_func_end MOD83_02239CEC + thumb_func_end MOD83_02239CEC - thumb_func_start MOD83_02239D98 + thumb_func_start MOD83_02239D98 MOD83_02239D98: ; 0x02239D98 - ldr r0, _02239D9C ; =0x000016A0 - bx lr - .align 2, 0 + ldr r0, _02239D9C ; =0x000016A0 + bx lr + .align 2, 0 _02239D9C: .word 0x000016A0 - thumb_func_end MOD83_02239D98 + thumb_func_end MOD83_02239D98 - thumb_func_start MOD83_02239DA0 + thumb_func_start MOD83_02239DA0 MOD83_02239DA0: ; 0x02239DA0 - ldr r0, _02239DB8 ; =MOD83_0223CAD4 - ldr r2, [r0] - ldr r0, _02239DBC ; =0x00001048 - ldr r1, [r2, r0] - cmp r1, #0 - beq _02239DB2 - sub r0, #0x68 - add r0, r2, r0 - bx lr + ldr r0, _02239DB8 ; =MOD83_0223CAD4 + ldr r2, [r0] + ldr r0, _02239DBC ; =0x00001048 + ldr r1, [r2, r0] + cmp r1, #0 + beq _02239DB2 + sub r0, #0x68 + add r0, r2, r0 + bx lr _02239DB2: - mov r0, #0 - bx lr - nop + mov r0, #0 + bx lr + nop _02239DB8: .word MOD83_0223CAD4 _02239DBC: .word 0x00001048 - thumb_func_end MOD83_02239DA0 + thumb_func_end MOD83_02239DA0 - thumb_func_start MOD83_02239DC0 + thumb_func_start MOD83_02239DC0 MOD83_02239DC0: ; 0x02239DC0 - push {r3, lr} - add r1, #0x24 - mov r0, #0x1f - bic r1, r0 - add r1, #0x20 - mov r0, #0x56 - bl AllocFromHeap - add r2, r0, #0 - add r2, #0x20 - mov r1, #0x1f - bic r2, r1 - sub r1, r2, #4 - str r0, [r1] - add r0, r2, #0 - pop {r3, pc} - thumb_func_end MOD83_02239DC0 - - thumb_func_start MOD83_02239DE0 + push {r3, lr} + add r1, #0x24 + mov r0, #0x1f + bic r1, r0 + add r1, #0x20 + mov r0, #0x56 + bl AllocFromHeap + add r2, r0, #0 + add r2, #0x20 + mov r1, #0x1f + bic r2, r1 + sub r1, r2, #4 + str r0, [r1] + add r0, r2, #0 + pop {r3, pc} + thumb_func_end MOD83_02239DC0 + + thumb_func_start MOD83_02239DE0 MOD83_02239DE0: ; 0x02239DE0 - push {r3, lr} - cmp r1, #0 - beq _02239DEE - sub r0, r1, #4 - ldr r0, [r0] - bl FreeToHeap + push {r3, lr} + cmp r1, #0 + beq _02239DEE + sub r0, r1, #4 + ldr r0, [r0] + bl FreeToHeap _02239DEE: - pop {r3, pc} - thumb_func_end MOD83_02239DE0 + pop {r3, pc} + thumb_func_end MOD83_02239DE0 - thumb_func_start MOD83_02239DF0 + thumb_func_start MOD83_02239DF0 MOD83_02239DF0: ; 0x02239DF0 - push {r4, lr} - sub sp, #8 - add r4, r0, #0 - add r0, sp, #0 - add r1, sp, #4 - bl MOD04_021DD718 - ldr r0, [sp] - neg r0, r0 - bl MOD04_021D80E0 - ldr r1, _02239E34 ; =0x00002610 - str r0, [r4, r1] - ldr r0, [sp] - neg r2, r0 - add r0, r1, #4 - str r2, [r4, r0] - add r0, r1, #0 - ldr r2, [sp, #4] - add r0, #8 - str r2, [r4, r0] - sub r0, r1, #4 - mov r2, #1 - str r2, [r4, r0] - ldr r0, _02239E38 ; =MOD83_0223CADC - mov r1, #0 - str r1, [r0, #0xc] - add r0, r4, #0 - bl MOD83_0222FA44 - ldr r0, _02239E3C ; =0x0000100E - add sp, #8 - pop {r4, pc} - nop + push {r4, lr} + sub sp, #8 + add r4, r0, #0 + add r0, sp, #0 + add r1, sp, #4 + bl MOD04_021DD718 + ldr r0, [sp] + neg r0, r0 + bl MOD04_021D80E0 + ldr r1, _02239E34 ; =0x00002610 + str r0, [r4, r1] + ldr r0, [sp] + neg r2, r0 + add r0, r1, #4 + str r2, [r4, r0] + add r0, r1, #0 + ldr r2, [sp, #4] + add r0, #8 + str r2, [r4, r0] + sub r0, r1, #4 + mov r2, #1 + str r2, [r4, r0] + ldr r0, _02239E38 ; =MOD83_0223CADC + mov r1, #0 + str r1, [r0, #0xc] + add r0, r4, #0 + bl MOD83_0222FA44 + ldr r0, _02239E3C ; =0x0000100E + add sp, #8 + pop {r4, pc} + nop _02239E34: .word 0x00002610 _02239E38: .word MOD83_0223CADC _02239E3C: .word 0x0000100E - thumb_func_end MOD83_02239DF0 + thumb_func_end MOD83_02239DF0 - thumb_func_start MOD83_02239E40 + thumb_func_start MOD83_02239E40 MOD83_02239E40: ; 0x02239E40 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02239E70 ; =0x00002618 - ldr r0, [r4, r0] - cmp r0, #5 - beq _02239E50 - cmp r0, #6 - bne _02239E5C + push {r4, lr} + add r4, r0, #0 + ldr r0, _02239E70 ; =0x00002618 + ldr r0, [r4, r0] + cmp r0, #5 + beq _02239E50 + cmp r0, #6 + bne _02239E5C _02239E50: - bl MOD04_021DDC1C - ldr r0, _02239E74 ; =MOD83_0223CADC - mov r1, #1 - str r1, [r0, #0xc] - b _02239E62 + bl MOD04_021DDC1C + ldr r0, _02239E74 ; =MOD83_0223CADC + mov r1, #1 + str r1, [r0, #0xc] + b _02239E62 _02239E5C: - ldr r0, _02239E74 ; =MOD83_0223CADC - mov r1, #1 - str r1, [r0, #0xc] + ldr r0, _02239E74 ; =MOD83_0223CADC + mov r1, #1 + str r1, [r0, #0xc] _02239E62: - bl FUN_02033ED0 - ldr r0, _02239E78 ; =0x0000260C - mov r1, #0 - str r1, [r4, r0] - ldr r0, _02239E7C ; =0x0000100F - pop {r4, pc} - .align 2, 0 + bl FUN_02033ED0 + ldr r0, _02239E78 ; =0x0000260C + mov r1, #0 + str r1, [r4, r0] + ldr r0, _02239E7C ; =0x0000100F + pop {r4, pc} + .align 2, 0 _02239E70: .word 0x00002618 _02239E74: .word MOD83_0223CADC _02239E78: .word 0x0000260C _02239E7C: .word 0x0000100F - thumb_func_end MOD83_02239E40 + thumb_func_end MOD83_02239E40 - thumb_func_start MOD83_02239E80 + thumb_func_start MOD83_02239E80 MOD83_02239E80: ; 0x02239E80 - push {lr} - sub sp, #0x3c - bl MOD04_021DDC1C - cmp r0, #4 - beq _02239E94 - cmp r0, #7 - beq _02239EA0 - cmp r0, #8 - b _02239EA0 + push {lr} + sub sp, #0x3c + bl MOD04_021DDC1C + cmp r0, #4 + beq _02239E94 + cmp r0, #7 + beq _02239EA0 + cmp r0, #8 + b _02239EA0 _02239E94: - add r0, sp, #0 - bl MOD04_021DD9DC - add sp, #0x3c - mov r0, #1 - pop {pc} + add r0, sp, #0 + bl MOD04_021DD9DC + add sp, #0x3c + mov r0, #1 + pop {pc} _02239EA0: - mov r0, #0 - add sp, #0x3c - pop {pc} - .align 2, 0 - thumb_func_end MOD83_02239E80 + mov r0, #0 + add sp, #0x3c + pop {pc} + .align 2, 0 + thumb_func_end MOD83_02239E80 - thumb_func_start MOD83_02239EA8 + thumb_func_start MOD83_02239EA8 MOD83_02239EA8: ; 0x02239EA8 - push {r3, r4} - ldr r3, _02239EBC ; =MOD83_0223CADC - mov r4, #0 - str r4, [r3] - ldr r3, _02239EC0 ; =0x000015F4 - str r2, [r0, r3] - ldr r0, _02239EC4 ; =0x00001011 - str r0, [r1] - pop {r3, r4} - bx lr - .align 2, 0 + push {r3, r4} + ldr r3, _02239EBC ; =MOD83_0223CADC + mov r4, #0 + str r4, [r3] + ldr r3, _02239EC0 ; =0x000015F4 + str r2, [r0, r3] + ldr r0, _02239EC4 ; =0x00001011 + str r0, [r1] + pop {r3, r4} + bx lr + .align 2, 0 _02239EBC: .word MOD83_0223CADC _02239EC0: .word 0x000015F4 _02239EC4: .word 0x00001011 - thumb_func_end MOD83_02239EA8 + thumb_func_end MOD83_02239EA8 - thumb_func_start MOD83_02239EC8 + thumb_func_start MOD83_02239EC8 MOD83_02239EC8: ; 0x02239EC8 - push {r3, r4, r5, lr} - ldr r4, _02239EE4 ; =MOD83_0223CADC - mov r5, #0 - str r5, [r4, #8] - str r1, [r4, #4] - ldr r1, _02239EE8 ; =0x000015F4 - str r3, [r0, r1] - ldr r0, _02239EEC ; =0x00001012 - str r0, [r2] - ldr r0, _02239EF0 ; =MOD83_02239F28 - bl MOD04_021DE404 - pop {r3, r4, r5, pc} - nop + push {r3, r4, r5, lr} + ldr r4, _02239EE4 ; =MOD83_0223CADC + mov r5, #0 + str r5, [r4, #8] + str r1, [r4, #4] + ldr r1, _02239EE8 ; =0x000015F4 + str r3, [r0, r1] + ldr r0, _02239EEC ; =0x00001012 + str r0, [r2] + ldr r0, _02239EF0 ; =MOD83_02239F28 + bl MOD04_021DE404 + pop {r3, r4, r5, pc} + nop _02239EE4: .word MOD83_0223CADC _02239EE8: .word 0x000015F4 _02239EEC: .word 0x00001012 _02239EF0: .word MOD83_02239F28 - thumb_func_end MOD83_02239EC8 + thumb_func_end MOD83_02239EC8 - thumb_func_start MOD83_02239EF4 + thumb_func_start MOD83_02239EF4 MOD83_02239EF4: ; 0x02239EF4 - push {r3, lr} - cmp r1, #6 - bhi _02239F1C - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 + push {r3, lr} + cmp r1, #6 + bhi _02239F1C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 _02239F06: ; jump table - .short _02239F1C - _02239F06 - 2 ; case 0 - .short _02239F1C - _02239F06 - 2 ; case 1 - .short _02239F1C - _02239F06 - 2 ; case 2 - .short _02239F14 - _02239F06 - 2 ; case 3 - .short _02239F1C - _02239F06 - 2 ; case 4 - .short _02239F1C - _02239F06 - 2 ; case 5 - .short _02239F1C - _02239F06 - 2 ; case 6 + .short _02239F1C - _02239F06 - 2 ; case 0 + .short _02239F1C - _02239F06 - 2 ; case 1 + .short _02239F1C - _02239F06 - 2 ; case 2 + .short _02239F14 - _02239F06 - 2 ; case 3 + .short _02239F1C - _02239F06 - 2 ; case 4 + .short _02239F1C - _02239F06 - 2 ; case 5 + .short _02239F1C - _02239F06 - 2 ; case 6 _02239F14: - cmp r0, #1 - bne _02239F1C - bl OS_Terminate + cmp r0, #1 + bne _02239F1C + bl OS_Terminate _02239F1C: - ldr r0, _02239F24 ; =MOD83_0223CADC - mov r1, #1 - str r1, [r0] - pop {r3, pc} - .align 2, 0 + ldr r0, _02239F24 ; =MOD83_0223CADC + mov r1, #1 + str r1, [r0] + pop {r3, pc} + .align 2, 0 _02239F24: .word MOD83_0223CADC - thumb_func_end MOD83_02239EF4 + thumb_func_end MOD83_02239EF4 - thumb_func_start MOD83_02239F28 + thumb_func_start MOD83_02239F28 MOD83_02239F28: ; 0x02239F28 - ldr r0, _02239F30 ; =MOD83_0223CADC - mov r1, #1 - str r1, [r0, #8] - bx lr - .align 2, 0 + ldr r0, _02239F30 ; =MOD83_0223CADC + mov r1, #1 + str r1, [r0, #8] + bx lr + .align 2, 0 _02239F30: .word MOD83_0223CADC - thumb_func_end MOD83_02239F28 + thumb_func_end MOD83_02239F28 - thumb_func_start MOD83_02239F34 + thumb_func_start MOD83_02239F34 MOD83_02239F34: ; 0x02239F34 - push {r3, r4, r5, lr} - add r5, r1, #0 - bl OverlayManager_GetData - ldr r1, _0223A24C ; =0x0000260C - add r4, r0, #0 - ldr r1, [r4, r1] - cmp r1, #1 - bne _02239F4C - bl MOD83_02239E40 - str r0, [r5] + push {r3, r4, r5, lr} + add r5, r1, #0 + bl OverlayManager_GetData + ldr r1, _0223A24C ; =0x0000260C + add r4, r0, #0 + ldr r1, [r4, r1] + cmp r1, #1 + bne _02239F4C + bl MOD83_02239E40 + str r0, [r5] _02239F4C: - ldr r0, _0223A250 ; =0x00002620 - ldr r0, [r4, r0] - cmp r0, #0 - beq _02239F62 - blx r0 - cmp r0, #1 - bne _02239F62 - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] + ldr r0, _0223A250 ; =0x00002620 + ldr r0, [r4, r0] + cmp r0, #0 + beq _02239F62 + blx r0 + cmp r0, #1 + bne _02239F62 + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] _02239F62: - mov r3, #1 - ldr r0, [r5] - lsl r3, r3, #0xc - sub r0, r0, r3 - cmp r0, #0x12 - bls _02239F70 - b _0223A342 + mov r3, #1 + ldr r0, [r5] + lsl r3, r3, #0xc + sub r0, r0, r3 + cmp r0, #0x12 + bls _02239F70 + b _0223A342 _02239F70: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 _02239F7C: ; jump table - .short _02239FA2 - _02239F7C - 2 ; case 0 - .short _02239FB0 - _02239F7C - 2 ; case 1 - .short _02239FCC - _02239F7C - 2 ; case 2 - .short _02239FF4 - _02239F7C - 2 ; case 3 - .short _0223A046 - _02239F7C - 2 ; case 4 - .short _0223A05E - _02239F7C - 2 ; case 5 - .short _0223A09A - _02239F7C - 2 ; case 6 - .short _0223A0BE - _02239F7C - 2 ; case 7 - .short _0223A0F2 - _02239F7C - 2 ; case 8 - .short _0223A114 - _02239F7C - 2 ; case 9 - .short _0223A14E - _02239F7C - 2 ; case 10 - .short _0223A174 - _02239F7C - 2 ; case 11 - .short _0223A1E8 - _02239F7C - 2 ; case 12 - .short _0223A212 - _02239F7C - 2 ; case 13 - .short _0223A342 - _02239F7C - 2 ; case 14 - .short _0223A238 - _02239F7C - 2 ; case 15 - .short _0223A2D4 - _02239F7C - 2 ; case 16 - .short _0223A2F8 - _02239F7C - 2 ; case 17 - .short _0223A31E - _02239F7C - 2 ; case 18 + .short _02239FA2 - _02239F7C - 2 ; case 0 + .short _02239FB0 - _02239F7C - 2 ; case 1 + .short _02239FCC - _02239F7C - 2 ; case 2 + .short _02239FF4 - _02239F7C - 2 ; case 3 + .short _0223A046 - _02239F7C - 2 ; case 4 + .short _0223A05E - _02239F7C - 2 ; case 5 + .short _0223A09A - _02239F7C - 2 ; case 6 + .short _0223A0BE - _02239F7C - 2 ; case 7 + .short _0223A0F2 - _02239F7C - 2 ; case 8 + .short _0223A114 - _02239F7C - 2 ; case 9 + .short _0223A14E - _02239F7C - 2 ; case 10 + .short _0223A174 - _02239F7C - 2 ; case 11 + .short _0223A1E8 - _02239F7C - 2 ; case 12 + .short _0223A212 - _02239F7C - 2 ; case 13 + .short _0223A342 - _02239F7C - 2 ; case 14 + .short _0223A238 - _02239F7C - 2 ; case 15 + .short _0223A2D4 - _02239F7C - 2 ; case 16 + .short _0223A2F8 - _02239F7C - 2 ; case 17 + .short _0223A31E - _02239F7C - 2 ; case 18 _02239FA2: - bl FUN_0202E49C - bl FUN_02088858 - ldr r0, _0223A254 ; =0x00001001 - str r0, [r5] - b _0223A342 + bl FUN_0202E49C + bl FUN_02088858 + ldr r0, _0223A254 ; =0x00001001 + str r0, [r5] + b _0223A342 _02239FB0: - bl FUN_0202E4C8 - cmp r0, #0 - beq _0223A092 - ldr r0, _0223A258 ; =MOD83_02239DC0 - ldr r1, _0223A25C ; =MOD83_02239DE0 - bl MOD04_021DD968 - ldr r0, [r4, #4] - bl FUN_02033310 - ldr r0, _0223A260 ; =0x00001002 - str r0, [r5] - b _0223A342 + bl FUN_0202E4C8 + cmp r0, #0 + beq _0223A092 + ldr r0, _0223A258 ; =MOD83_02239DC0 + ldr r1, _0223A25C ; =MOD83_02239DE0 + bl MOD04_021DD968 + ldr r0, [r4, #4] + bl FUN_02033310 + ldr r0, _0223A260 ; =0x00001002 + str r0, [r5] + b _0223A342 _02239FCC: - ldr r0, _0223A264 ; =0x000015E4 - mov r1, #2 - add r0, r4, r0 - mov r2, #1 - mov r3, #0x14 - bl MOD04_021DDEE0 - mov r0, #2 - bl MOD04_021DDE7C - bl MOD04_021DDDCC - bl FUN_02033E74 - ldr r0, _0223A268 ; =0x00001003 - mov r1, #0 - str r0, [r5] - ldr r0, _0223A26C ; =0x0000261C - str r1, [r4, r0] - b _0223A342 + ldr r0, _0223A264 ; =0x000015E4 + mov r1, #2 + add r0, r4, r0 + mov r2, #1 + mov r3, #0x14 + bl MOD04_021DDEE0 + mov r0, #2 + bl MOD04_021DDE7C + bl MOD04_021DDDCC + bl FUN_02033E74 + ldr r0, _0223A268 ; =0x00001003 + mov r1, #0 + str r0, [r5] + ldr r0, _0223A26C ; =0x0000261C + str r1, [r4, r0] + b _0223A342 _02239FF4: - bl MOD04_021DDD7C - cmp r0, #0 - bne _0223A002 - bl MOD04_021DDCE8 - b _0223A034 + bl MOD04_021DDD7C + cmp r0, #0 + bne _0223A002 + bl MOD04_021DDCE8 + b _0223A034 _0223A002: - add r0, r4, #0 - bl MOD83_02239E80 - cmp r0, #1 - bne _0223A02C - ldr r0, _0223A26C ; =0x0000261C - ldr r1, [r4, r0] - cmp r1, #1 - bne _0223A020 - ldr r0, _0223A270 ; =MOD83_0223CADC - mov r1, #3 - str r1, [r0, #4] - ldr r0, _0223A274 ; =0x0000100D - str r0, [r5] - b _0223A034 + add r0, r4, #0 + bl MOD83_02239E80 + cmp r0, #1 + bne _0223A02C + ldr r0, _0223A26C ; =0x0000261C + ldr r1, [r4, r0] + cmp r1, #1 + bne _0223A020 + ldr r0, _0223A270 ; =MOD83_0223CADC + mov r1, #3 + str r1, [r0, #4] + ldr r0, _0223A274 ; =0x0000100D + str r0, [r5] + b _0223A034 _0223A020: - ldr r1, _0223A278 ; =MOD04_021DD984 - add r0, r0, #4 - str r1, [r4, r0] - ldr r0, _0223A27C ; =0x00001004 - str r0, [r5] - b _0223A034 + ldr r1, _0223A278 ; =MOD04_021DD984 + add r0, r0, #4 + str r1, [r4, r0] + ldr r0, _0223A27C ; =0x00001004 + str r0, [r5] + b _0223A034 _0223A02C: - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] _0223A034: - ldr r0, _0223A280 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - beq _0223A092 - ldr r0, _0223A26C ; =0x0000261C - mov r1, #1 - str r1, [r4, r0] - b _0223A342 + ldr r0, _0223A280 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + beq _0223A092 + ldr r0, _0223A26C ; =0x0000261C + mov r1, #1 + str r1, [r4, r0] + b _0223A342 _0223A046: - bl MOD04_021DE05C - cmp r0, #0 - bne _0223A058 - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] - b _0223A342 + bl MOD04_021DE05C + cmp r0, #0 + bne _0223A058 + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] + b _0223A342 _0223A058: - ldr r0, _0223A284 ; =0x00001005 - str r0, [r5] - b _0223A342 + ldr r0, _0223A284 ; =0x00001005 + str r0, [r5] + b _0223A342 _0223A05E: - bl MOD04_021DDF4C - cmp r0, #3 - bne _0223A06C - ldr r0, _0223A288 ; =0x00001006 - str r0, [r5] - b _0223A088 + bl MOD04_021DDF4C + cmp r0, #3 + bne _0223A06C + ldr r0, _0223A288 ; =0x00001006 + str r0, [r5] + b _0223A088 _0223A06C: - cmp r0, #4 - bne _0223A07A - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] - b _0223A088 + cmp r0, #4 + bne _0223A07A + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] + b _0223A088 _0223A07A: - cmp r0, #5 - bne _0223A088 - ldr r0, _0223A270 ; =MOD83_0223CADC - mov r1, #3 - str r1, [r0, #4] - ldr r0, _0223A274 ; =0x0000100D - str r0, [r5] + cmp r0, #5 + bne _0223A088 + ldr r0, _0223A270 ; =MOD83_0223CADC + mov r1, #3 + str r1, [r0, #4] + ldr r0, _0223A274 ; =0x0000100D + str r0, [r5] _0223A088: - ldr r0, _0223A280 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - bne _0223A094 + ldr r0, _0223A280 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + bne _0223A094 _0223A092: - b _0223A342 + b _0223A342 _0223A094: - bl MOD04_021DDF40 - b _0223A342 + bl MOD04_021DDF40 + b _0223A342 _0223A09A: - ldr r0, _0223A28C ; =MOD83_02239EF4 - ldr r1, _0223A290 ; =MOD83_0223B838 - ldr r2, _0223A294 ; =MOD83_0223B840 - bl MOD04_021DE45C - cmp r0, #0 - bne _0223A0B2 - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] - b _0223A342 + ldr r0, _0223A28C ; =MOD83_02239EF4 + ldr r1, _0223A290 ; =MOD83_0223B838 + ldr r2, _0223A294 ; =MOD83_0223B840 + bl MOD04_021DE45C + cmp r0, #0 + bne _0223A0B2 + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] + b _0223A342 _0223A0B2: - ldr r2, _0223A298 ; =0x00001007 - add r0, r4, #0 - add r1, r5, #0 - bl MOD83_02239EA8 - b _0223A342 + ldr r2, _0223A298 ; =0x00001007 + add r0, r4, #0 + add r1, r5, #0 + bl MOD83_02239EA8 + b _0223A342 _0223A0BE: - ldr r0, _0223A26C ; =0x0000261C - ldr r0, [r4, r0] - cmp r0, #1 - bne _0223A0D4 - add r0, r4, #0 - mov r1, #3 - add r2, r5, #0 - add r3, #0xc - bl MOD83_02239EC8 - b _0223A342 + ldr r0, _0223A26C ; =0x0000261C + ldr r0, [r4, r0] + cmp r0, #1 + bne _0223A0D4 + add r0, r4, #0 + mov r1, #3 + add r2, r5, #0 + add r3, #0xc + bl MOD83_02239EC8 + b _0223A342 _0223A0D4: - ldr r0, _0223A29C ; =MOD83_0223B854 - add r1, r0, #0 - add r2, r0, #0 - bl MOD04_021DE3D0 - cmp r0, #0 - bne _0223A0EC - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] - b _0223A342 + ldr r0, _0223A29C ; =MOD83_0223B854 + add r1, r0, #0 + add r2, r0, #0 + bl MOD04_021DE3D0 + cmp r0, #0 + bne _0223A0EC + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] + b _0223A342 _0223A0EC: - ldr r0, _0223A2A0 ; =0x00001008 - str r0, [r5] - b _0223A342 + ldr r0, _0223A2A0 ; =0x00001008 + str r0, [r5] + b _0223A342 _0223A0F2: - ldr r0, _0223A2A4 ; =0x000015F8 - add r0, r4, r0 - bl MOD04_021DE3AC - cmp r0, #0 - bne _0223A108 - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] - b _0223A342 + ldr r0, _0223A2A4 ; =0x000015F8 + add r0, r4, r0 + bl MOD04_021DE3AC + cmp r0, #0 + bne _0223A108 + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] + b _0223A342 _0223A108: - ldr r2, _0223A2A8 ; =0x00001009 - add r0, r4, #0 - add r1, r5, #0 - bl MOD83_02239EA8 - b _0223A342 + ldr r2, _0223A2A8 ; =0x00001009 + add r0, r4, #0 + add r1, r5, #0 + bl MOD83_02239EA8 + b _0223A342 _0223A114: - ldr r0, _0223A2A4 ; =0x000015F8 - ldr r0, [r4, r0] - cmp r0, #1 - beq _0223A12A - add r0, r4, #0 - mov r1, #2 - add r2, r5, #0 - add r3, #0xd - bl MOD83_02239EC8 - b _0223A342 + ldr r0, _0223A2A4 ; =0x000015F8 + ldr r0, [r4, r0] + cmp r0, #1 + beq _0223A12A + add r0, r4, #0 + mov r1, #2 + add r2, r5, #0 + add r3, #0xd + bl MOD83_02239EC8 + b _0223A342 _0223A12A: - ldr r0, _0223A2AC ; =MOD83_0223CAEC - mov r1, #0 - mov r2, #0xa - bl MOD04_021DE364 - cmp r0, #0 - bne _0223A142 - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] - b _0223A342 + ldr r0, _0223A2AC ; =MOD83_0223CAEC + mov r1, #0 + mov r2, #0xa + bl MOD04_021DE364 + cmp r0, #0 + bne _0223A142 + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] + b _0223A342 _0223A142: - ldr r2, _0223A2B0 ; =0x0000100A - add r0, r4, #0 - add r1, r5, #0 - bl MOD83_02239EA8 - b _0223A342 + ldr r2, _0223A2B0 ; =0x0000100A + add r0, r4, #0 + add r1, r5, #0 + bl MOD83_02239EA8 + b _0223A342 _0223A14E: - ldr r1, _0223A2B4 ; =0x000015FC - ldr r0, _0223A2AC ; =MOD83_0223CAEC - add r1, r4, r1 - add r2, r3, #0 - bl MOD04_021DE330 - cmp r0, #0 - bne _0223A168 - add r0, r4, #0 - bl MOD83_02239DF0 - str r0, [r5] - b _0223A342 + ldr r1, _0223A2B4 ; =0x000015FC + ldr r0, _0223A2AC ; =MOD83_0223CAEC + add r1, r4, r1 + add r2, r3, #0 + bl MOD04_021DE330 + cmp r0, #0 + bne _0223A168 + add r0, r4, #0 + bl MOD83_02239DF0 + str r0, [r5] + b _0223A342 _0223A168: - ldr r0, _0223A2B8 ; =0x0000100B - mov r1, #0 - str r0, [r5] - ldr r0, _0223A2BC ; =0x00002608 - str r1, [r4, r0] - b _0223A342 + ldr r0, _0223A2B8 ; =0x0000100B + mov r1, #0 + str r0, [r5] + ldr r0, _0223A2BC ; =0x00002608 + str r1, [r4, r0] + b _0223A342 _0223A174: - ldr r0, _0223A270 ; =MOD83_0223CADC - ldr r0, [r0] - cmp r0, #0 - bne _0223A1C4 - ldr r0, _0223A280 ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - beq _0223A194 - add r0, r4, #0 - mov r1, #3 - add r2, r5, #0 - add r3, #0xc - bl MOD83_02239EC8 - b _0223A342 + ldr r0, _0223A270 ; =MOD83_0223CADC + ldr r0, [r0] + cmp r0, #0 + bne _0223A1C4 + ldr r0, _0223A280 ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + beq _0223A194 + add r0, r4, #0 + mov r1, #3 + add r2, r5, #0 + add r3, #0xc + bl MOD83_02239EC8 + b _0223A342 _0223A194: - mov r1, #0x26 - lsl r1, r1, #8 - add r0, r4, r1 - add r1, r1, #4 - add r1, r4, r1 - bl MOD04_021DE2D0 - cmp r0, #1 - bne _0223A21A - mov r1, #0x26 - lsl r1, r1, #8 - ldr r2, [r4, r1] - add r1, r1, #4 - mov r0, #0x64 - ldr r1, [r4, r1] - mul r0, r2 - bl _u32_div_f - ldr r1, _0223A2BC ; =0x00002608 - ldr r2, [r4, r1] - cmp r2, r0 - beq _0223A21A - str r0, [r4, r1] - b _0223A342 + mov r1, #0x26 + lsl r1, r1, #8 + add r0, r4, r1 + add r1, r1, #4 + add r1, r4, r1 + bl MOD04_021DE2D0 + cmp r0, #1 + bne _0223A21A + mov r1, #0x26 + lsl r1, r1, #8 + ldr r2, [r4, r1] + add r1, r1, #4 + mov r0, #0x64 + ldr r1, [r4, r1] + mul r0, r2 + bl _u32_div_f + ldr r1, _0223A2BC ; =0x00002608 + ldr r2, [r4, r1] + cmp r2, r0 + beq _0223A21A + str r0, [r4, r1] + b _0223A342 _0223A1C4: - ldr r0, _0223A26C ; =0x0000261C - ldr r0, [r4, r0] - cmp r0, #0 - bne _0223A1DA - add r0, r4, #0 - mov r1, #1 - add r2, r5, #0 - add r3, #0xd - bl MOD83_02239EC8 - b _0223A342 + ldr r0, _0223A26C ; =0x0000261C + ldr r0, [r4, r0] + cmp r0, #0 + bne _0223A1DA + add r0, r4, #0 + mov r1, #1 + add r2, r5, #0 + add r3, #0xd + bl MOD83_02239EC8 + b _0223A342 _0223A1DA: - add r0, r4, #0 - mov r1, #3 - add r2, r5, #0 - add r3, #0xd - bl MOD83_02239EC8 - b _0223A342 + add r0, r4, #0 + mov r1, #3 + add r2, r5, #0 + add r3, #0xd + bl MOD83_02239EC8 + b _0223A342 _0223A1E8: - bl MOD04_021DE308 - cmp r0, #0 - bne _0223A1F6 - ldr r0, _0223A274 ; =0x0000100D - str r0, [r5] - b _0223A342 + bl MOD04_021DE308 + cmp r0, #0 + bne _0223A1F6 + ldr r0, _0223A274 ; =0x0000100D + str r0, [r5] + b _0223A342 _0223A1F6: - ldr r0, _0223A250 ; =0x00002620 - mov r1, #0 - str r1, [r4, r0] - bl FUN_02033ED0 - bl FUN_02033364 - bl FUN_02088868 - bl FUN_0202E4F0 - ldr r0, _0223A270 ; =MOD83_0223CADC - ldr r0, [r0, #4] - pop {r3, r4, r5, pc} + ldr r0, _0223A250 ; =0x00002620 + mov r1, #0 + str r1, [r4, r0] + bl FUN_02033ED0 + bl FUN_02033364 + bl FUN_02088868 + bl FUN_0202E4F0 + ldr r0, _0223A270 ; =MOD83_0223CADC + ldr r0, [r0, #4] + pop {r3, r4, r5, pc} _0223A212: - bl MOD04_021DDB40 - cmp r0, #1 - beq _0223A21C + bl MOD04_021DDB40 + cmp r0, #1 + beq _0223A21C _0223A21A: - b _0223A342 + b _0223A342 _0223A21C: - ldr r0, _0223A250 ; =0x00002620 - mov r1, #0 - str r1, [r4, r0] - bl FUN_02033ED0 - bl FUN_020332DC - bl FUN_02088868 - bl FUN_0202E4F0 - ldr r0, _0223A270 ; =MOD83_0223CADC - ldr r0, [r0, #4] - pop {r3, r4, r5, pc} + ldr r0, _0223A250 ; =0x00002620 + mov r1, #0 + str r1, [r4, r0] + bl FUN_02033ED0 + bl FUN_020332DC + bl FUN_02088868 + bl FUN_0202E4F0 + ldr r0, _0223A270 ; =MOD83_0223CADC + ldr r0, [r0, #4] + pop {r3, r4, r5, pc} _0223A238: - ldr r0, _0223A270 ; =MOD83_0223CADC - ldr r0, [r0, #0xc] - cmp r0, #1 - beq _0223A242 - b _0223A342 + ldr r0, _0223A270 ; =MOD83_0223CADC + ldr r0, [r0, #0xc] + cmp r0, #1 + beq _0223A242 + b _0223A342 _0223A242: - add r0, r4, #0 - bl MOD83_022307B4 - ldr r0, _0223A2C0 ; =0x00002618 - b _0223A2C4 - .align 2, 0 + add r0, r4, #0 + bl MOD83_022307B4 + ldr r0, _0223A2C0 ; =0x00002618 + b _0223A2C4 + .align 2, 0 _0223A24C: .word 0x0000260C _0223A250: .word 0x00002620 _0223A254: .word 0x00001001 @@ -26372,1160 +26372,1160 @@ _0223A2B8: .word 0x0000100B _0223A2BC: .word 0x00002608 _0223A2C0: .word 0x00002618 _0223A2C4: - ldr r0, [r4, r0] - cmp r0, #6 - bne _0223A2CE - bl MOD04_021DDBBC + ldr r0, [r4, r0] + cmp r0, #6 + bne _0223A2CE + bl MOD04_021DDBBC _0223A2CE: - ldr r0, _0223A348 ; =0x00001010 - str r0, [r5] - b _0223A342 + ldr r0, _0223A348 ; =0x00001010 + str r0, [r5] + b _0223A342 _0223A2D4: - ldr r0, _0223A34C ; =gMain - ldr r1, [r0, #0x48] - mov r0, #1 - tst r0, r1 - beq _0223A342 - ldr r0, _0223A350 ; =0x00002620 - mov r1, #0 - str r1, [r4, r0] - bl MOD04_021DD6F0 - bl FUN_020332DC - bl FUN_02088868 - bl FUN_0202E4F0 - mov r0, #4 - pop {r3, r4, r5, pc} + ldr r0, _0223A34C ; =gMain + ldr r1, [r0, #0x48] + mov r0, #1 + tst r0, r1 + beq _0223A342 + ldr r0, _0223A350 ; =0x00002620 + mov r1, #0 + str r1, [r4, r0] + bl MOD04_021DD6F0 + bl FUN_020332DC + bl FUN_02088868 + bl FUN_0202E4F0 + mov r0, #4 + pop {r3, r4, r5, pc} _0223A2F8: - ldr r0, _0223A354 ; =MOD83_0223CADC - ldr r1, [r0] - cmp r1, #1 - bne _0223A30C - mov r1, #0 - str r1, [r0] - ldr r0, _0223A358 ; =0x000015F4 - ldr r0, [r4, r0] - str r0, [r5] - b _0223A342 + ldr r0, _0223A354 ; =MOD83_0223CADC + ldr r1, [r0] + cmp r1, #1 + bne _0223A30C + mov r1, #0 + str r1, [r0] + ldr r0, _0223A358 ; =0x000015F4 + ldr r0, [r4, r0] + str r0, [r5] + b _0223A342 _0223A30C: - ldr r0, _0223A34C ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - beq _0223A342 - ldr r0, _0223A35C ; =0x0000261C - mov r1, #1 - str r1, [r4, r0] - b _0223A342 + ldr r0, _0223A34C ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + beq _0223A342 + ldr r0, _0223A35C ; =0x0000261C + mov r1, #1 + str r1, [r4, r0] + b _0223A342 _0223A31E: - ldr r0, _0223A354 ; =MOD83_0223CADC - ldr r1, [r0, #8] - cmp r1, #1 - bne _0223A332 - mov r1, #0 - str r1, [r0, #8] - ldr r0, _0223A358 ; =0x000015F4 - ldr r0, [r4, r0] - str r0, [r5] - b _0223A342 + ldr r0, _0223A354 ; =MOD83_0223CADC + ldr r1, [r0, #8] + cmp r1, #1 + bne _0223A332 + mov r1, #0 + str r1, [r0, #8] + ldr r0, _0223A358 ; =0x000015F4 + ldr r0, [r4, r0] + str r0, [r5] + b _0223A342 _0223A332: - ldr r0, _0223A34C ; =gMain - ldr r1, [r0, #0x48] - mov r0, #2 - tst r0, r1 - beq _0223A342 - ldr r0, _0223A35C ; =0x0000261C - mov r1, #1 - str r1, [r4, r0] + ldr r0, _0223A34C ; =gMain + ldr r1, [r0, #0x48] + mov r0, #2 + tst r0, r1 + beq _0223A342 + ldr r0, _0223A35C ; =0x0000261C + mov r1, #1 + str r1, [r4, r0] _0223A342: - mov r0, #0 - pop {r3, r4, r5, pc} - nop + mov r0, #0 + pop {r3, r4, r5, pc} + nop _0223A348: .word 0x00001010 _0223A34C: .word gMain _0223A350: .word 0x00002620 _0223A354: .word MOD83_0223CADC _0223A358: .word 0x000015F4 _0223A35C: .word 0x0000261C - thumb_func_end MOD83_02239F34 + thumb_func_end MOD83_02239F34 - .rodata - .global MOD83_0223A360 + .rodata + .global MOD83_0223A360 MOD83_0223A360: ; 0x0223A360 - .word MOD83_0222E48C, MOD83_0222E540, MOD83_0222E850, 0xFFFFFFFF + .word MOD83_0222E48C, MOD83_0222E540, MOD83_0222E850, 0xFFFFFFFF - .global MOD83_0223A370 + .global MOD83_0223A370 MOD83_0223A370: ; 0x0223A370 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A380 + .global MOD83_0223A380 MOD83_0223A380: ; 0x0223A380 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 - .global MOD83_0223A3A8 + .global MOD83_0223A3A8 MOD83_0223A3A8: ; 0x0223A3A8 - .word MOD83_0222EDF8, MOD83_0222EE8C, MOD83_0222F048, 0xFFFFFFFF + .word MOD83_0222EDF8, MOD83_0222EE8C, MOD83_0222F048, 0xFFFFFFFF - .global MOD83_0223A3B8 + .global MOD83_0223A3B8 MOD83_0223A3B8: ; 0x0223A3B8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A3C8 + .global MOD83_0223A3C8 MOD83_0223A3C8: ; 0x0223A3C8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 - .global MOD83_0223A3F0 + .global MOD83_0223A3F0 MOD83_0223A3F0: ; 0x0223A3F0 - .word MOD83_0222F984, MOD83_0222F9B0, MOD83_0222F9B8, MOD83_0222F9C4 - .word FUN_0202DA80, 0x00000000 + .word MOD83_0222F984, MOD83_0222F9B0, MOD83_0222F9B8, MOD83_0222F9C4 + .word FUN_0202DA80, 0x00000000 - .global MOD83_0223A408 + .global MOD83_0223A408 MOD83_0223A408: ; 0x0223A408 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A418 + .global MOD83_0223A418 MOD83_0223A418: ; 0x0223A418 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A434 + .global MOD83_0223A434 MOD83_0223A434: ; 0x0223A434 - .word MOD83_02230954, MOD83_02230A10, MOD83_0223137C, 0xFFFFFFFF + .word MOD83_02230954, MOD83_02230A10, MOD83_0223137C, 0xFFFFFFFF - .global MOD83_0223A444 + .global MOD83_0223A444 MOD83_0223A444: ; 0x0223A444 - .word MOD83_022323A8, MOD83_02232788, MOD83_022330A4, 0xFFFFFFFF + .word MOD83_022323A8, MOD83_02232788, MOD83_022330A4, 0xFFFFFFFF - .global MOD83_0223A454 + .global MOD83_0223A454 MOD83_0223A454: ; 0x0223A454 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A464 + .global MOD83_0223A464 MOD83_0223A464: ; 0x0223A464 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1F, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1F, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A480 + .global MOD83_0223A480 MOD83_0223A480: ; 0x0223A480 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A49C + .global MOD83_0223A49C MOD83_0223A49C: ; 0x0223A49C - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A4B8 + .global MOD83_0223A4B8 MOD83_0223A4B8: ; 0x0223A4B8 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A4D4 + .global MOD83_0223A4D4 MOD83_0223A4D4: ; 0x0223A4D4 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 - .global MOD83_0223A4FC + .global MOD83_0223A4FC MOD83_0223A4FC: ; 0x0223A4FC - .word MOD83_02236764, MOD83_02236804, MOD83_02236DD0, 0xFFFFFFFF + .word MOD83_02236764, MOD83_02236804, MOD83_02236DD0, 0xFFFFFFFF - .global MOD83_0223A50C + .global MOD83_0223A50C MOD83_0223A50C: ; 0x0223A50C - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 + .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 - .global MOD83_0223A51C + .global MOD83_0223A51C MOD83_0223A51C: ; 0x0223A51C - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A52C + .global MOD83_0223A52C MOD83_0223A52C: ; 0x0223A52C - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A548 + .global MOD83_0223A548 MOD83_0223A548: ; 0x0223A548 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A564 + .global MOD83_0223A564 MOD83_0223A564: ; 0x0223A564 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1E, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1E, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A580 + .global MOD83_0223A580 MOD83_0223A580: ; 0x0223A580 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1F, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x1F, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A59C + .global MOD83_0223A59C MOD83_0223A59C: ; 0x0223A59C - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 - .global MOD83_0223A5C4 + .global MOD83_0223A5C4 MOD83_0223A5C4: ; 0x0223A5C4 - .byte 0x41, 0x58, 0x56, 0x4A, 0x00, 0x00, 0x01, 0x00, 0x41, 0x58, 0x56, 0x45, 0x00, 0x00, 0x02, 0x00 - .byte 0x41, 0x58, 0x56, 0x46, 0x00, 0x00, 0x03, 0x00, 0x41, 0x58, 0x56, 0x44, 0x00, 0x00, 0x05, 0x00 - .byte 0x41, 0x58, 0x56, 0x53, 0x00, 0x00, 0x07, 0x00, 0x41, 0x58, 0x56, 0x49, 0x00, 0x00, 0x04, 0x00 - .byte 0x41, 0x58, 0x50, 0x4A, 0x00, 0x01, 0x01, 0x00, 0x41, 0x58, 0x50, 0x45, 0x00, 0x01, 0x02, 0x00 - .byte 0x41, 0x58, 0x50, 0x46, 0x00, 0x01, 0x03, 0x00, 0x41, 0x58, 0x50, 0x44, 0x00, 0x01, 0x05, 0x00 - .byte 0x41, 0x58, 0x50, 0x53, 0x00, 0x01, 0x07, 0x00, 0x41, 0x58, 0x50, 0x49, 0x00, 0x01, 0x04, 0x00 - .byte 0x42, 0x50, 0x52, 0x4A, 0x01, 0x03, 0x01, 0x00, 0x42, 0x50, 0x52, 0x45, 0x01, 0x03, 0x02, 0x00 - .byte 0x42, 0x50, 0x52, 0x46, 0x01, 0x03, 0x03, 0x00, 0x42, 0x50, 0x52, 0x44, 0x01, 0x03, 0x05, 0x00 - .byte 0x42, 0x50, 0x52, 0x53, 0x01, 0x03, 0x07, 0x00, 0x42, 0x50, 0x52, 0x49, 0x01, 0x03, 0x04, 0x00 - .byte 0x42, 0x50, 0x47, 0x4A, 0x01, 0x02, 0x01, 0x00, 0x42, 0x50, 0x47, 0x45, 0x01, 0x02, 0x02, 0x00 - .byte 0x42, 0x50, 0x47, 0x46, 0x01, 0x02, 0x03, 0x00, 0x42, 0x50, 0x47, 0x44, 0x01, 0x02, 0x05, 0x00 - .byte 0x42, 0x50, 0x47, 0x53, 0x01, 0x02, 0x07, 0x00, 0x42, 0x50, 0x47, 0x49, 0x01, 0x02, 0x04, 0x00 - .byte 0x42, 0x50, 0x45, 0x4A, 0x02, 0x04, 0x01, 0x00, 0x42, 0x50, 0x45, 0x45, 0x02, 0x04, 0x02, 0x00 - .byte 0x42, 0x50, 0x45, 0x46, 0x02, 0x04, 0x03, 0x00, 0x42, 0x50, 0x45, 0x44, 0x02, 0x04, 0x05, 0x00 - .byte 0x42, 0x50, 0x45, 0x53, 0x02, 0x04, 0x07, 0x00, 0x42, 0x50, 0x45, 0x49, 0x02, 0x04, 0x04, 0x00 - - .global MOD83_0223A6B4 + .byte 0x41, 0x58, 0x56, 0x4A, 0x00, 0x00, 0x01, 0x00, 0x41, 0x58, 0x56, 0x45, 0x00, 0x00, 0x02, 0x00 + .byte 0x41, 0x58, 0x56, 0x46, 0x00, 0x00, 0x03, 0x00, 0x41, 0x58, 0x56, 0x44, 0x00, 0x00, 0x05, 0x00 + .byte 0x41, 0x58, 0x56, 0x53, 0x00, 0x00, 0x07, 0x00, 0x41, 0x58, 0x56, 0x49, 0x00, 0x00, 0x04, 0x00 + .byte 0x41, 0x58, 0x50, 0x4A, 0x00, 0x01, 0x01, 0x00, 0x41, 0x58, 0x50, 0x45, 0x00, 0x01, 0x02, 0x00 + .byte 0x41, 0x58, 0x50, 0x46, 0x00, 0x01, 0x03, 0x00, 0x41, 0x58, 0x50, 0x44, 0x00, 0x01, 0x05, 0x00 + .byte 0x41, 0x58, 0x50, 0x53, 0x00, 0x01, 0x07, 0x00, 0x41, 0x58, 0x50, 0x49, 0x00, 0x01, 0x04, 0x00 + .byte 0x42, 0x50, 0x52, 0x4A, 0x01, 0x03, 0x01, 0x00, 0x42, 0x50, 0x52, 0x45, 0x01, 0x03, 0x02, 0x00 + .byte 0x42, 0x50, 0x52, 0x46, 0x01, 0x03, 0x03, 0x00, 0x42, 0x50, 0x52, 0x44, 0x01, 0x03, 0x05, 0x00 + .byte 0x42, 0x50, 0x52, 0x53, 0x01, 0x03, 0x07, 0x00, 0x42, 0x50, 0x52, 0x49, 0x01, 0x03, 0x04, 0x00 + .byte 0x42, 0x50, 0x47, 0x4A, 0x01, 0x02, 0x01, 0x00, 0x42, 0x50, 0x47, 0x45, 0x01, 0x02, 0x02, 0x00 + .byte 0x42, 0x50, 0x47, 0x46, 0x01, 0x02, 0x03, 0x00, 0x42, 0x50, 0x47, 0x44, 0x01, 0x02, 0x05, 0x00 + .byte 0x42, 0x50, 0x47, 0x53, 0x01, 0x02, 0x07, 0x00, 0x42, 0x50, 0x47, 0x49, 0x01, 0x02, 0x04, 0x00 + .byte 0x42, 0x50, 0x45, 0x4A, 0x02, 0x04, 0x01, 0x00, 0x42, 0x50, 0x45, 0x45, 0x02, 0x04, 0x02, 0x00 + .byte 0x42, 0x50, 0x45, 0x46, 0x02, 0x04, 0x03, 0x00, 0x42, 0x50, 0x45, 0x44, 0x02, 0x04, 0x05, 0x00 + .byte 0x42, 0x50, 0x45, 0x53, 0x02, 0x04, 0x07, 0x00, 0x42, 0x50, 0x45, 0x49, 0x02, 0x04, 0x04, 0x00 + + .global MOD83_0223A6B4 MOD83_0223A6B4: ; 0x0223A6B4 - .byte 0xC8, 0x7E, 0x66, 0x71, 0x46, 0x0B, 0xE6, 0x6F, 0x17, 0x8A, 0x5C, 0x7D, 0xEA, 0xE1, 0x93, 0xFD - .byte 0xEE, 0xFA, 0x99, 0x84, 0xFE, 0x35, 0x02, 0xB9, 0x7F, 0x4F, 0xF1, 0x19, 0x74, 0xA2, 0x0F, 0x65 - .byte 0x8A, 0x9C, 0x44, 0x81, 0x0C, 0x1F, 0x94, 0xE4, 0xC0, 0xB6, 0xD7, 0x20, 0xEE, 0x11, 0x9A, 0x8D - .byte 0x27, 0x33, 0x9B, 0x7B, 0x02, 0xE9, 0x33, 0x11, 0xDC, 0xCF, 0x72, 0xD9, 0xA8, 0x78, 0x12, 0x8C - .byte 0x3B, 0x60, 0xD5, 0x24, 0xB8, 0xD9, 0xFC, 0x8D, 0x15, 0xBA, 0x0B, 0x90, 0xA3, 0xBD, 0x3A, 0xE4 - .byte 0x01, 0x18, 0xBA, 0xF9, 0x65, 0xA5, 0x15, 0x37, 0xDC, 0x7A, 0x48, 0x5C, 0x3A, 0x55, 0x35, 0x43 - .byte 0xE2, 0xC6, 0x66, 0xBA, 0x21, 0xEA, 0x67, 0x2E, 0xA8, 0x29, 0x03, 0xD7, 0x1F, 0x0F, 0xC6, 0xDE - .byte 0x1B, 0xE2, 0xA1, 0xCA, 0x21, 0x51, 0xFE, 0xB9, 0x68, 0x17, 0x3C, 0xEB, 0x04, 0x54, 0xE0, 0xBD - - .global MOD83_0223A734 + .byte 0xC8, 0x7E, 0x66, 0x71, 0x46, 0x0B, 0xE6, 0x6F, 0x17, 0x8A, 0x5C, 0x7D, 0xEA, 0xE1, 0x93, 0xFD + .byte 0xEE, 0xFA, 0x99, 0x84, 0xFE, 0x35, 0x02, 0xB9, 0x7F, 0x4F, 0xF1, 0x19, 0x74, 0xA2, 0x0F, 0x65 + .byte 0x8A, 0x9C, 0x44, 0x81, 0x0C, 0x1F, 0x94, 0xE4, 0xC0, 0xB6, 0xD7, 0x20, 0xEE, 0x11, 0x9A, 0x8D + .byte 0x27, 0x33, 0x9B, 0x7B, 0x02, 0xE9, 0x33, 0x11, 0xDC, 0xCF, 0x72, 0xD9, 0xA8, 0x78, 0x12, 0x8C + .byte 0x3B, 0x60, 0xD5, 0x24, 0xB8, 0xD9, 0xFC, 0x8D, 0x15, 0xBA, 0x0B, 0x90, 0xA3, 0xBD, 0x3A, 0xE4 + .byte 0x01, 0x18, 0xBA, 0xF9, 0x65, 0xA5, 0x15, 0x37, 0xDC, 0x7A, 0x48, 0x5C, 0x3A, 0x55, 0x35, 0x43 + .byte 0xE2, 0xC6, 0x66, 0xBA, 0x21, 0xEA, 0x67, 0x2E, 0xA8, 0x29, 0x03, 0xD7, 0x1F, 0x0F, 0xC6, 0xDE + .byte 0x1B, 0xE2, 0xA1, 0xCA, 0x21, 0x51, 0xFE, 0xB9, 0x68, 0x17, 0x3C, 0xEB, 0x04, 0x54, 0xE0, 0xBD + + .global MOD83_0223A734 MOD83_0223A734: ; 0x0223A734 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A744 + .global MOD83_0223A744 MOD83_0223A744: ; 0x0223A744 - .byte 0x00, 0x00, 0x01, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x03, 0x05, 0x02, 0x06, 0x02, 0x07, 0x00 - .byte 0x08, 0x05, 0x09, 0x05, 0x0A, 0x05, 0x0B, 0x04, 0xFF, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x01, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x03, 0x05, 0x02, 0x06, 0x02, 0x07, 0x00 + .byte 0x08, 0x05, 0x09, 0x05, 0x0A, 0x05, 0x0B, 0x04, 0xFF, 0x00, 0x00, 0x00 - .global MOD83_0223A760 + .global MOD83_0223A760 MOD83_0223A760: ; 0x0223A760 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .data - .global MOD83_0223A780 + .data + .global MOD83_0223A780 MOD83_0223A780: ; 0x0223A780 - .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A784 + .global MOD83_0223A784 MOD83_0223A784: ; 0x0223A784 - .byte 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 + .byte 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 - .global MOD83_0223A794 + .global MOD83_0223A794 MOD83_0223A794: ; 0x0223A794 - .byte 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 - .byte 0x65, 0x02, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 + .byte 0x65, 0x02, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A7B0 + .global MOD83_0223A7B0 MOD83_0223A7B0: ; 0x0223A7B0 - .byte 0x81, 0x53, 0x83, 0x53, 0x85, 0x53, 0x87, 0x53, 0x89, 0x53, 0x8B, 0x53, 0x8D, 0x53, 0x8F, 0x53 - .byte 0x91, 0x53, 0x93, 0x53, 0x95, 0x53, 0x97, 0x53, 0x99, 0x53, 0x9B, 0x53, 0x9D, 0x53, 0x9F, 0x53 - .byte 0x9D, 0x53, 0x9B, 0x53, 0x99, 0x53, 0x97, 0x53, 0x95, 0x53, 0x93, 0x53, 0x91, 0x53, 0x8F, 0x53 - .byte 0x8D, 0x53, 0x8B, 0x53, 0x89, 0x53, 0x87, 0x53, 0x85, 0x53, 0x83, 0x53, 0x00, 0x00, 0x00, 0x00 + .byte 0x81, 0x53, 0x83, 0x53, 0x85, 0x53, 0x87, 0x53, 0x89, 0x53, 0x8B, 0x53, 0x8D, 0x53, 0x8F, 0x53 + .byte 0x91, 0x53, 0x93, 0x53, 0x95, 0x53, 0x97, 0x53, 0x99, 0x53, 0x9B, 0x53, 0x9D, 0x53, 0x9F, 0x53 + .byte 0x9D, 0x53, 0x9B, 0x53, 0x99, 0x53, 0x97, 0x53, 0x95, 0x53, 0x93, 0x53, 0x91, 0x53, 0x8F, 0x53 + .byte 0x8D, 0x53, 0x8B, 0x53, 0x89, 0x53, 0x87, 0x53, 0x85, 0x53, 0x83, 0x53, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A7F0 + .global MOD83_0223A7F0 MOD83_0223A7F0: ; 0x0223A7F0 - .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00 - .global MOD83_0223A804 + .global MOD83_0223A804 MOD83_0223A804: ; 0x0223A804 - .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00 - .global MOD83_0223A818 + .global MOD83_0223A818 MOD83_0223A818: ; 0x0223A818 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223A82C + .global MOD83_0223A82C MOD83_0223A82C: ; 0x0223A82C - .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00 - .global MOD83_0223A840 + .global MOD83_0223A840 MOD83_0223A840: ; 0x0223A840 - .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 + .byte 0x05, 0x00, 0x00, 0x00 - .global MOD83_0223A854 + .global MOD83_0223A854 MOD83_0223A854: ; 0x0223A854 - .byte 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .global MOD83_0223A85C + .global MOD83_0223A85C MOD83_0223A85C: ; 0x0223A85C - .word 0x00, MOD83_0222DD24, 0x02, 0x02 - .word 0x01, 0x00000000, 0x03, 0x02 - .word 0x02, MOD83_0222DF40, 0x04, 0x02 - .word 0x03, MOD83_0222DFEC, 0x05, 0x02 - .word 0x00, MOD83_0222DECC, 0x06, 0x02 - .word 0x0A, MOD83_0222E048, 0x07, 0x02 - .word 0x0B, MOD83_0222E098 - - .global MOD83_0223A8C4 + .word 0x00, MOD83_0222DD24, 0x02, 0x02 + .word 0x01, 0x00000000, 0x03, 0x02 + .word 0x02, MOD83_0222DF40, 0x04, 0x02 + .word 0x03, MOD83_0222DFEC, 0x05, 0x02 + .word 0x00, MOD83_0222DECC, 0x06, 0x02 + .word 0x0A, MOD83_0222E048, 0x07, 0x02 + .word 0x0B, MOD83_0222E098 + + .global MOD83_0223A8C4 MOD83_0223A8C4: ; 0x0223A8C4 - .asciz "data/eoo.dat" + .asciz "data/eoo.dat" - .balign 4 - .global MOD83_0223A8D4 + .balign 4 + .global MOD83_0223A8D4 MOD83_0223A8D4: ; 0x0223A8D4 - .byte 0x16, 0x01, 0x15, 0x00 - .word MOD83_0223B870, MOD83_0223B860 + .byte 0x16, 0x01, 0x15, 0x00 + .word MOD83_0223B870, MOD83_0223B860 - .global MOD83_0223A8E0 + .global MOD83_0223A8E0 MOD83_0223A8E0: ; 0x0223A8E0 - .byte 0x00, 0x00, 0xFF, 0xFF, 0x21, 0x00, 0xE1, 0x00, 0x23, 0x00, 0xC0, 0x01, 0x25, 0x00, 0xD2, 0x01 - .byte 0x27, 0x00, 0xEA, 0x00, 0x28, 0x00, 0xEB, 0x00, 0x29, 0x00, 0xBF, 0x01, 0x2A, 0x00, 0xBD, 0x01 - .byte 0x2B, 0x00, 0xAD, 0x01, 0x2C, 0x00, 0xBE, 0x01, 0x2E, 0x00, 0xB1, 0x01, 0x30, 0x00, 0xA2, 0x00 - .byte 0x31, 0x00, 0xA3, 0x00, 0x32, 0x00, 0xA4, 0x00, 0x33, 0x00, 0xA5, 0x00, 0x34, 0x00, 0xA6, 0x00 - .byte 0x35, 0x00, 0xA7, 0x00, 0x36, 0x00, 0xA8, 0x00, 0x37, 0x00, 0xA9, 0x00, 0x38, 0x00, 0xAA, 0x00 - .byte 0x39, 0x00, 0xAB, 0x00, 0x3A, 0x00, 0xC4, 0x01, 0x3B, 0x00, 0xC5, 0x01, 0x3C, 0x00, 0xEC, 0x00 - .byte 0x3E, 0x00, 0xED, 0x00, 0x3F, 0x00, 0xAC, 0x01, 0x41, 0x00, 0xAC, 0x00, 0x42, 0x00, 0xAD, 0x00 - .byte 0x43, 0x00, 0xAE, 0x00, 0x44, 0x00, 0xAF, 0x00, 0x45, 0x00, 0xB0, 0x00, 0x46, 0x00, 0xB1, 0x00 - .byte 0x47, 0x00, 0xB2, 0x00, 0x48, 0x00, 0xB3, 0x00, 0x49, 0x00, 0xB4, 0x00, 0x4A, 0x00, 0xB5, 0x00 - .byte 0x4B, 0x00, 0xB6, 0x00, 0x4C, 0x00, 0xB7, 0x00, 0x4D, 0x00, 0xB8, 0x00, 0x4E, 0x00, 0xB9, 0x00 - .byte 0x4F, 0x00, 0xBA, 0x00, 0x50, 0x00, 0xBB, 0x00, 0x51, 0x00, 0xBC, 0x00, 0x52, 0x00, 0xBD, 0x00 - .byte 0x53, 0x00, 0xBE, 0x00, 0x54, 0x00, 0xBF, 0x00, 0x55, 0x00, 0xC0, 0x00, 0x56, 0x00, 0xC1, 0x00 - .byte 0x57, 0x00, 0xC2, 0x00, 0x58, 0x00, 0xC3, 0x00, 0x59, 0x00, 0xC4, 0x00, 0x5A, 0x00, 0xC5, 0x00 - .byte 0x61, 0x00, 0xC6, 0x00, 0x62, 0x00, 0xC7, 0x00, 0x63, 0x00, 0xC8, 0x00, 0x64, 0x00, 0xC9, 0x00 - .byte 0x65, 0x00, 0xCA, 0x00, 0x66, 0x00, 0xCB, 0x00, 0x67, 0x00, 0xCC, 0x00, 0x68, 0x00, 0xCD, 0x00 - .byte 0x69, 0x00, 0xCE, 0x00, 0x6A, 0x00, 0xCF, 0x00, 0x6B, 0x00, 0xD0, 0x00, 0x6C, 0x00, 0xD1, 0x00 - .byte 0x6D, 0x00, 0xD2, 0x00, 0x6E, 0x00, 0xD3, 0x00, 0x6F, 0x00, 0xD4, 0x00, 0x70, 0x00, 0xD5, 0x00 - .byte 0x71, 0x00, 0xD6, 0x00, 0x72, 0x00, 0xD7, 0x00, 0x73, 0x00, 0xD8, 0x00, 0x74, 0x00, 0xD9, 0x00 - .byte 0x75, 0x00, 0xDA, 0x00, 0x76, 0x00, 0xDB, 0x00, 0x77, 0x00, 0xDC, 0x00, 0x78, 0x00, 0xDD, 0x00 - .byte 0x79, 0x00, 0xDE, 0x00, 0x7A, 0x00, 0xDF, 0x00, 0x81, 0x00, 0x02, 0x00, 0x82, 0x00, 0x03, 0x00 - .byte 0x83, 0x00, 0x04, 0x00, 0x84, 0x00, 0x05, 0x00, 0x85, 0x00, 0x06, 0x00, 0x86, 0x00, 0x07, 0x00 - .byte 0x87, 0x00, 0x08, 0x00, 0x88, 0x00, 0x09, 0x00, 0x89, 0x00, 0x0A, 0x00, 0x8A, 0x00, 0x0B, 0x00 - .byte 0x8B, 0x00, 0x0C, 0x00, 0x8C, 0x00, 0x0D, 0x00, 0x8D, 0x00, 0x0E, 0x00, 0x8E, 0x00, 0x0F, 0x00 - .byte 0x8F, 0x00, 0x10, 0x00, 0x90, 0x00, 0x11, 0x00, 0x91, 0x00, 0x12, 0x00, 0x92, 0x00, 0x13, 0x00 - .byte 0x93, 0x00, 0x14, 0x00, 0x94, 0x00, 0x15, 0x00, 0x95, 0x00, 0x16, 0x00, 0x96, 0x00, 0x17, 0x00 - .byte 0x97, 0x00, 0x18, 0x00, 0x98, 0x00, 0x19, 0x00, 0x99, 0x00, 0x1A, 0x00, 0x9A, 0x00, 0x1B, 0x00 - .byte 0x9B, 0x00, 0x1C, 0x00, 0x9C, 0x00, 0x1D, 0x00, 0x9D, 0x00, 0x1E, 0x00, 0x9E, 0x00, 0x1F, 0x00 - .byte 0x9F, 0x00, 0x20, 0x00, 0xA0, 0x00, 0x21, 0x00, 0xA1, 0x00, 0x22, 0x00, 0xA2, 0x00, 0x23, 0x00 - .byte 0xA3, 0x00, 0x24, 0x00, 0xA4, 0x00, 0x25, 0x00, 0xA5, 0x00, 0x26, 0x00, 0xA6, 0x00, 0x27, 0x00 - .byte 0xA7, 0x00, 0x28, 0x00, 0xA8, 0x00, 0x29, 0x00, 0xA9, 0x00, 0x2A, 0x00, 0xAA, 0x00, 0x2B, 0x00 - .byte 0xAB, 0x00, 0x2C, 0x00, 0xAC, 0x00, 0x2D, 0x00, 0xAD, 0x00, 0x2E, 0x00, 0xAE, 0x00, 0x2F, 0x00 - .byte 0xAF, 0x00, 0x30, 0x00, 0xB0, 0x00, 0x31, 0x00, 0xB1, 0x00, 0x32, 0x00, 0xB2, 0x00, 0x33, 0x00 - .byte 0xB3, 0x00, 0x34, 0x00, 0xB4, 0x00, 0x35, 0x00, 0xB5, 0x00, 0x36, 0x00, 0xB6, 0x00, 0x37, 0x00 - .byte 0xB7, 0x00, 0x38, 0x00, 0xB8, 0x00, 0x39, 0x00, 0xB9, 0x00, 0x3A, 0x00, 0xBA, 0x00, 0x3B, 0x00 - .byte 0xBB, 0x00, 0x3C, 0x00, 0xBC, 0x00, 0x3D, 0x00, 0xBD, 0x00, 0x3E, 0x00, 0xBE, 0x00, 0x3F, 0x00 - .byte 0xBF, 0x00, 0x40, 0x00, 0xC0, 0x00, 0x41, 0x00, 0xC1, 0x00, 0x42, 0x00, 0xC2, 0x00, 0x43, 0x00 - .byte 0xC3, 0x00, 0x44, 0x00, 0xC4, 0x00, 0x45, 0x00, 0xC5, 0x00, 0x46, 0x00, 0xC6, 0x00, 0x47, 0x00 - .byte 0xC7, 0x00, 0x48, 0x00, 0xC8, 0x00, 0x49, 0x00, 0xC9, 0x00, 0x4A, 0x00, 0xCA, 0x00, 0x4B, 0x00 - .byte 0xCB, 0x00, 0x4C, 0x00, 0xCC, 0x00, 0x4D, 0x00, 0xCD, 0x00, 0x4E, 0x00, 0xCF, 0x00, 0x4F, 0x00 - .byte 0xD2, 0x00, 0x50, 0x00, 0xD3, 0x00, 0x51, 0x00, 0xE1, 0x00, 0x52, 0x00, 0xE2, 0x00, 0x53, 0x00 - .byte 0xE3, 0x00, 0x54, 0x00, 0xE4, 0x00, 0x55, 0x00, 0xE5, 0x00, 0x56, 0x00, 0xE6, 0x00, 0x57, 0x00 - .byte 0xE7, 0x00, 0x58, 0x00, 0xE8, 0x00, 0x59, 0x00, 0xE9, 0x00, 0x5A, 0x00, 0xEA, 0x00, 0x5B, 0x00 - .byte 0xEB, 0x00, 0x5C, 0x00, 0xEC, 0x00, 0x5D, 0x00, 0xED, 0x00, 0x5E, 0x00, 0xEE, 0x00, 0x5F, 0x00 - .byte 0xEF, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x61, 0x00, 0xF1, 0x00, 0x62, 0x00, 0xF2, 0x00, 0x63, 0x00 - .byte 0xF3, 0x00, 0x64, 0x00, 0xF4, 0x00, 0x65, 0x00, 0xF5, 0x00, 0x66, 0x00, 0xF6, 0x00, 0x67, 0x00 - .byte 0xF7, 0x00, 0x68, 0x00, 0xF8, 0x00, 0x69, 0x00, 0xF9, 0x00, 0x6A, 0x00, 0xFA, 0x00, 0x6B, 0x00 - .byte 0xFB, 0x00, 0x6C, 0x00, 0xFC, 0x00, 0x6D, 0x00, 0xFD, 0x00, 0x6E, 0x00, 0xFE, 0x00, 0x6F, 0x00 - .byte 0xFF, 0x00, 0x70, 0x00, 0x00, 0x01, 0x71, 0x00, 0x01, 0x01, 0x72, 0x00, 0x02, 0x01, 0x73, 0x00 - .byte 0x03, 0x01, 0x74, 0x00, 0x04, 0x01, 0x75, 0x00, 0x05, 0x01, 0x76, 0x00, 0x06, 0x01, 0x77, 0x00 - .byte 0x07, 0x01, 0x78, 0x00, 0x08, 0x01, 0x79, 0x00, 0x09, 0x01, 0x7A, 0x00, 0x0A, 0x01, 0x7B, 0x00 - .byte 0x0B, 0x01, 0x7C, 0x00, 0x0C, 0x01, 0x7D, 0x00, 0x0D, 0x01, 0x7E, 0x00, 0x0E, 0x01, 0x7F, 0x00 - .byte 0x0F, 0x01, 0x80, 0x00, 0x10, 0x01, 0x81, 0x00, 0x11, 0x01, 0x82, 0x00, 0x12, 0x01, 0x83, 0x00 - .byte 0x13, 0x01, 0x84, 0x00, 0x14, 0x01, 0x85, 0x00, 0x15, 0x01, 0x86, 0x00, 0x16, 0x01, 0x87, 0x00 - .byte 0x17, 0x01, 0x88, 0x00, 0x18, 0x01, 0x89, 0x00, 0x19, 0x01, 0x8A, 0x00, 0x1A, 0x01, 0x8B, 0x00 - .byte 0x1B, 0x01, 0x8C, 0x00, 0x1C, 0x01, 0x8D, 0x00, 0x1D, 0x01, 0x8E, 0x00, 0x1E, 0x01, 0x8F, 0x00 - .byte 0x1F, 0x01, 0x90, 0x00, 0x20, 0x01, 0x91, 0x00, 0x21, 0x01, 0x92, 0x00, 0x22, 0x01, 0x93, 0x00 - .byte 0x23, 0x01, 0x94, 0x00, 0x24, 0x01, 0x95, 0x00, 0x25, 0x01, 0x96, 0x00, 0x26, 0x01, 0x97, 0x00 - .byte 0x27, 0x01, 0x98, 0x00, 0x28, 0x01, 0x99, 0x00, 0x29, 0x01, 0x9A, 0x00, 0x2A, 0x01, 0x9B, 0x00 - .byte 0x2B, 0x01, 0x9C, 0x00, 0x2C, 0x01, 0x9D, 0x00, 0x2D, 0x01, 0x9E, 0x00, 0x2F, 0x01, 0x9F, 0x00 - .byte 0x32, 0x01, 0xA0, 0x00, 0x33, 0x01, 0xA1, 0x00, 0x40, 0x01, 0xEA, 0x00, 0x41, 0x01, 0xEB, 0x00 - .byte 0x42, 0x01, 0xE8, 0x00, 0x43, 0x01, 0xE9, 0x00, 0x46, 0x01, 0xE6, 0x00, 0x47, 0x01, 0xE5, 0x00 - .byte 0x48, 0x01, 0xEE, 0x00, 0x49, 0x01, 0xEF, 0x00, 0x4A, 0x01, 0xE4, 0x00, 0x4B, 0x01, 0x12, 0x01 - .byte 0x4D, 0x01, 0x1C, 0x01, 0x4E, 0x01, 0x1E, 0x01, 0x4F, 0x01, 0x1D, 0x01, 0x50, 0x01, 0x1B, 0x01 - .byte 0x7C, 0x01, 0x9F, 0x01, 0x7D, 0x01, 0xA0, 0x01, 0x80, 0x01, 0x5F, 0x01, 0x81, 0x01, 0x60, 0x01 - .byte 0x82, 0x01, 0x61, 0x01, 0x84, 0x01, 0x63, 0x01, 0x87, 0x01, 0x66, 0x01, 0x89, 0x01, 0x68, 0x01 - .byte 0x8A, 0x01, 0x69, 0x01, 0x8B, 0x01, 0x6A, 0x01, 0x8C, 0x01, 0x6B, 0x01, 0x8D, 0x01, 0x6C, 0x01 - .byte 0x8E, 0x01, 0x6D, 0x01, 0x8F, 0x01, 0x6E, 0x01, 0x93, 0x01, 0x72, 0x01, 0x94, 0x01, 0x73, 0x01 - .byte 0x96, 0x01, 0x75, 0x01, 0x9A, 0x01, 0x79, 0x01, 0x9B, 0x01, 0x7A, 0x01, 0x9C, 0x01, 0x7B, 0x01 - .byte 0x9F, 0x01, 0x7E, 0x01, 0xA0, 0x01, 0x7F, 0x01, 0xA1, 0x01, 0x80, 0x01, 0xA2, 0x01, 0x81, 0x01 - .byte 0xA4, 0x01, 0x83, 0x01, 0xA7, 0x01, 0x86, 0x01, 0xA9, 0x01, 0x88, 0x01, 0xAA, 0x01, 0x89, 0x01 - .byte 0xAB, 0x01, 0x8A, 0x01, 0xAC, 0x01, 0x8B, 0x01, 0xAD, 0x01, 0x8C, 0x01, 0xAE, 0x01, 0x8D, 0x01 - .byte 0xAF, 0x01, 0x8E, 0x01, 0xB3, 0x01, 0x92, 0x01, 0xB4, 0x01, 0x93, 0x01, 0xB6, 0x01, 0x95, 0x01 - .byte 0xBA, 0x01, 0x99, 0x01, 0xBB, 0x01, 0x9A, 0x01, 0xBC, 0x01, 0x9B, 0x01 - - .global MOD83_0223AD6C + .byte 0x00, 0x00, 0xFF, 0xFF, 0x21, 0x00, 0xE1, 0x00, 0x23, 0x00, 0xC0, 0x01, 0x25, 0x00, 0xD2, 0x01 + .byte 0x27, 0x00, 0xEA, 0x00, 0x28, 0x00, 0xEB, 0x00, 0x29, 0x00, 0xBF, 0x01, 0x2A, 0x00, 0xBD, 0x01 + .byte 0x2B, 0x00, 0xAD, 0x01, 0x2C, 0x00, 0xBE, 0x01, 0x2E, 0x00, 0xB1, 0x01, 0x30, 0x00, 0xA2, 0x00 + .byte 0x31, 0x00, 0xA3, 0x00, 0x32, 0x00, 0xA4, 0x00, 0x33, 0x00, 0xA5, 0x00, 0x34, 0x00, 0xA6, 0x00 + .byte 0x35, 0x00, 0xA7, 0x00, 0x36, 0x00, 0xA8, 0x00, 0x37, 0x00, 0xA9, 0x00, 0x38, 0x00, 0xAA, 0x00 + .byte 0x39, 0x00, 0xAB, 0x00, 0x3A, 0x00, 0xC4, 0x01, 0x3B, 0x00, 0xC5, 0x01, 0x3C, 0x00, 0xEC, 0x00 + .byte 0x3E, 0x00, 0xED, 0x00, 0x3F, 0x00, 0xAC, 0x01, 0x41, 0x00, 0xAC, 0x00, 0x42, 0x00, 0xAD, 0x00 + .byte 0x43, 0x00, 0xAE, 0x00, 0x44, 0x00, 0xAF, 0x00, 0x45, 0x00, 0xB0, 0x00, 0x46, 0x00, 0xB1, 0x00 + .byte 0x47, 0x00, 0xB2, 0x00, 0x48, 0x00, 0xB3, 0x00, 0x49, 0x00, 0xB4, 0x00, 0x4A, 0x00, 0xB5, 0x00 + .byte 0x4B, 0x00, 0xB6, 0x00, 0x4C, 0x00, 0xB7, 0x00, 0x4D, 0x00, 0xB8, 0x00, 0x4E, 0x00, 0xB9, 0x00 + .byte 0x4F, 0x00, 0xBA, 0x00, 0x50, 0x00, 0xBB, 0x00, 0x51, 0x00, 0xBC, 0x00, 0x52, 0x00, 0xBD, 0x00 + .byte 0x53, 0x00, 0xBE, 0x00, 0x54, 0x00, 0xBF, 0x00, 0x55, 0x00, 0xC0, 0x00, 0x56, 0x00, 0xC1, 0x00 + .byte 0x57, 0x00, 0xC2, 0x00, 0x58, 0x00, 0xC3, 0x00, 0x59, 0x00, 0xC4, 0x00, 0x5A, 0x00, 0xC5, 0x00 + .byte 0x61, 0x00, 0xC6, 0x00, 0x62, 0x00, 0xC7, 0x00, 0x63, 0x00, 0xC8, 0x00, 0x64, 0x00, 0xC9, 0x00 + .byte 0x65, 0x00, 0xCA, 0x00, 0x66, 0x00, 0xCB, 0x00, 0x67, 0x00, 0xCC, 0x00, 0x68, 0x00, 0xCD, 0x00 + .byte 0x69, 0x00, 0xCE, 0x00, 0x6A, 0x00, 0xCF, 0x00, 0x6B, 0x00, 0xD0, 0x00, 0x6C, 0x00, 0xD1, 0x00 + .byte 0x6D, 0x00, 0xD2, 0x00, 0x6E, 0x00, 0xD3, 0x00, 0x6F, 0x00, 0xD4, 0x00, 0x70, 0x00, 0xD5, 0x00 + .byte 0x71, 0x00, 0xD6, 0x00, 0x72, 0x00, 0xD7, 0x00, 0x73, 0x00, 0xD8, 0x00, 0x74, 0x00, 0xD9, 0x00 + .byte 0x75, 0x00, 0xDA, 0x00, 0x76, 0x00, 0xDB, 0x00, 0x77, 0x00, 0xDC, 0x00, 0x78, 0x00, 0xDD, 0x00 + .byte 0x79, 0x00, 0xDE, 0x00, 0x7A, 0x00, 0xDF, 0x00, 0x81, 0x00, 0x02, 0x00, 0x82, 0x00, 0x03, 0x00 + .byte 0x83, 0x00, 0x04, 0x00, 0x84, 0x00, 0x05, 0x00, 0x85, 0x00, 0x06, 0x00, 0x86, 0x00, 0x07, 0x00 + .byte 0x87, 0x00, 0x08, 0x00, 0x88, 0x00, 0x09, 0x00, 0x89, 0x00, 0x0A, 0x00, 0x8A, 0x00, 0x0B, 0x00 + .byte 0x8B, 0x00, 0x0C, 0x00, 0x8C, 0x00, 0x0D, 0x00, 0x8D, 0x00, 0x0E, 0x00, 0x8E, 0x00, 0x0F, 0x00 + .byte 0x8F, 0x00, 0x10, 0x00, 0x90, 0x00, 0x11, 0x00, 0x91, 0x00, 0x12, 0x00, 0x92, 0x00, 0x13, 0x00 + .byte 0x93, 0x00, 0x14, 0x00, 0x94, 0x00, 0x15, 0x00, 0x95, 0x00, 0x16, 0x00, 0x96, 0x00, 0x17, 0x00 + .byte 0x97, 0x00, 0x18, 0x00, 0x98, 0x00, 0x19, 0x00, 0x99, 0x00, 0x1A, 0x00, 0x9A, 0x00, 0x1B, 0x00 + .byte 0x9B, 0x00, 0x1C, 0x00, 0x9C, 0x00, 0x1D, 0x00, 0x9D, 0x00, 0x1E, 0x00, 0x9E, 0x00, 0x1F, 0x00 + .byte 0x9F, 0x00, 0x20, 0x00, 0xA0, 0x00, 0x21, 0x00, 0xA1, 0x00, 0x22, 0x00, 0xA2, 0x00, 0x23, 0x00 + .byte 0xA3, 0x00, 0x24, 0x00, 0xA4, 0x00, 0x25, 0x00, 0xA5, 0x00, 0x26, 0x00, 0xA6, 0x00, 0x27, 0x00 + .byte 0xA7, 0x00, 0x28, 0x00, 0xA8, 0x00, 0x29, 0x00, 0xA9, 0x00, 0x2A, 0x00, 0xAA, 0x00, 0x2B, 0x00 + .byte 0xAB, 0x00, 0x2C, 0x00, 0xAC, 0x00, 0x2D, 0x00, 0xAD, 0x00, 0x2E, 0x00, 0xAE, 0x00, 0x2F, 0x00 + .byte 0xAF, 0x00, 0x30, 0x00, 0xB0, 0x00, 0x31, 0x00, 0xB1, 0x00, 0x32, 0x00, 0xB2, 0x00, 0x33, 0x00 + .byte 0xB3, 0x00, 0x34, 0x00, 0xB4, 0x00, 0x35, 0x00, 0xB5, 0x00, 0x36, 0x00, 0xB6, 0x00, 0x37, 0x00 + .byte 0xB7, 0x00, 0x38, 0x00, 0xB8, 0x00, 0x39, 0x00, 0xB9, 0x00, 0x3A, 0x00, 0xBA, 0x00, 0x3B, 0x00 + .byte 0xBB, 0x00, 0x3C, 0x00, 0xBC, 0x00, 0x3D, 0x00, 0xBD, 0x00, 0x3E, 0x00, 0xBE, 0x00, 0x3F, 0x00 + .byte 0xBF, 0x00, 0x40, 0x00, 0xC0, 0x00, 0x41, 0x00, 0xC1, 0x00, 0x42, 0x00, 0xC2, 0x00, 0x43, 0x00 + .byte 0xC3, 0x00, 0x44, 0x00, 0xC4, 0x00, 0x45, 0x00, 0xC5, 0x00, 0x46, 0x00, 0xC6, 0x00, 0x47, 0x00 + .byte 0xC7, 0x00, 0x48, 0x00, 0xC8, 0x00, 0x49, 0x00, 0xC9, 0x00, 0x4A, 0x00, 0xCA, 0x00, 0x4B, 0x00 + .byte 0xCB, 0x00, 0x4C, 0x00, 0xCC, 0x00, 0x4D, 0x00, 0xCD, 0x00, 0x4E, 0x00, 0xCF, 0x00, 0x4F, 0x00 + .byte 0xD2, 0x00, 0x50, 0x00, 0xD3, 0x00, 0x51, 0x00, 0xE1, 0x00, 0x52, 0x00, 0xE2, 0x00, 0x53, 0x00 + .byte 0xE3, 0x00, 0x54, 0x00, 0xE4, 0x00, 0x55, 0x00, 0xE5, 0x00, 0x56, 0x00, 0xE6, 0x00, 0x57, 0x00 + .byte 0xE7, 0x00, 0x58, 0x00, 0xE8, 0x00, 0x59, 0x00, 0xE9, 0x00, 0x5A, 0x00, 0xEA, 0x00, 0x5B, 0x00 + .byte 0xEB, 0x00, 0x5C, 0x00, 0xEC, 0x00, 0x5D, 0x00, 0xED, 0x00, 0x5E, 0x00, 0xEE, 0x00, 0x5F, 0x00 + .byte 0xEF, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x61, 0x00, 0xF1, 0x00, 0x62, 0x00, 0xF2, 0x00, 0x63, 0x00 + .byte 0xF3, 0x00, 0x64, 0x00, 0xF4, 0x00, 0x65, 0x00, 0xF5, 0x00, 0x66, 0x00, 0xF6, 0x00, 0x67, 0x00 + .byte 0xF7, 0x00, 0x68, 0x00, 0xF8, 0x00, 0x69, 0x00, 0xF9, 0x00, 0x6A, 0x00, 0xFA, 0x00, 0x6B, 0x00 + .byte 0xFB, 0x00, 0x6C, 0x00, 0xFC, 0x00, 0x6D, 0x00, 0xFD, 0x00, 0x6E, 0x00, 0xFE, 0x00, 0x6F, 0x00 + .byte 0xFF, 0x00, 0x70, 0x00, 0x00, 0x01, 0x71, 0x00, 0x01, 0x01, 0x72, 0x00, 0x02, 0x01, 0x73, 0x00 + .byte 0x03, 0x01, 0x74, 0x00, 0x04, 0x01, 0x75, 0x00, 0x05, 0x01, 0x76, 0x00, 0x06, 0x01, 0x77, 0x00 + .byte 0x07, 0x01, 0x78, 0x00, 0x08, 0x01, 0x79, 0x00, 0x09, 0x01, 0x7A, 0x00, 0x0A, 0x01, 0x7B, 0x00 + .byte 0x0B, 0x01, 0x7C, 0x00, 0x0C, 0x01, 0x7D, 0x00, 0x0D, 0x01, 0x7E, 0x00, 0x0E, 0x01, 0x7F, 0x00 + .byte 0x0F, 0x01, 0x80, 0x00, 0x10, 0x01, 0x81, 0x00, 0x11, 0x01, 0x82, 0x00, 0x12, 0x01, 0x83, 0x00 + .byte 0x13, 0x01, 0x84, 0x00, 0x14, 0x01, 0x85, 0x00, 0x15, 0x01, 0x86, 0x00, 0x16, 0x01, 0x87, 0x00 + .byte 0x17, 0x01, 0x88, 0x00, 0x18, 0x01, 0x89, 0x00, 0x19, 0x01, 0x8A, 0x00, 0x1A, 0x01, 0x8B, 0x00 + .byte 0x1B, 0x01, 0x8C, 0x00, 0x1C, 0x01, 0x8D, 0x00, 0x1D, 0x01, 0x8E, 0x00, 0x1E, 0x01, 0x8F, 0x00 + .byte 0x1F, 0x01, 0x90, 0x00, 0x20, 0x01, 0x91, 0x00, 0x21, 0x01, 0x92, 0x00, 0x22, 0x01, 0x93, 0x00 + .byte 0x23, 0x01, 0x94, 0x00, 0x24, 0x01, 0x95, 0x00, 0x25, 0x01, 0x96, 0x00, 0x26, 0x01, 0x97, 0x00 + .byte 0x27, 0x01, 0x98, 0x00, 0x28, 0x01, 0x99, 0x00, 0x29, 0x01, 0x9A, 0x00, 0x2A, 0x01, 0x9B, 0x00 + .byte 0x2B, 0x01, 0x9C, 0x00, 0x2C, 0x01, 0x9D, 0x00, 0x2D, 0x01, 0x9E, 0x00, 0x2F, 0x01, 0x9F, 0x00 + .byte 0x32, 0x01, 0xA0, 0x00, 0x33, 0x01, 0xA1, 0x00, 0x40, 0x01, 0xEA, 0x00, 0x41, 0x01, 0xEB, 0x00 + .byte 0x42, 0x01, 0xE8, 0x00, 0x43, 0x01, 0xE9, 0x00, 0x46, 0x01, 0xE6, 0x00, 0x47, 0x01, 0xE5, 0x00 + .byte 0x48, 0x01, 0xEE, 0x00, 0x49, 0x01, 0xEF, 0x00, 0x4A, 0x01, 0xE4, 0x00, 0x4B, 0x01, 0x12, 0x01 + .byte 0x4D, 0x01, 0x1C, 0x01, 0x4E, 0x01, 0x1E, 0x01, 0x4F, 0x01, 0x1D, 0x01, 0x50, 0x01, 0x1B, 0x01 + .byte 0x7C, 0x01, 0x9F, 0x01, 0x7D, 0x01, 0xA0, 0x01, 0x80, 0x01, 0x5F, 0x01, 0x81, 0x01, 0x60, 0x01 + .byte 0x82, 0x01, 0x61, 0x01, 0x84, 0x01, 0x63, 0x01, 0x87, 0x01, 0x66, 0x01, 0x89, 0x01, 0x68, 0x01 + .byte 0x8A, 0x01, 0x69, 0x01, 0x8B, 0x01, 0x6A, 0x01, 0x8C, 0x01, 0x6B, 0x01, 0x8D, 0x01, 0x6C, 0x01 + .byte 0x8E, 0x01, 0x6D, 0x01, 0x8F, 0x01, 0x6E, 0x01, 0x93, 0x01, 0x72, 0x01, 0x94, 0x01, 0x73, 0x01 + .byte 0x96, 0x01, 0x75, 0x01, 0x9A, 0x01, 0x79, 0x01, 0x9B, 0x01, 0x7A, 0x01, 0x9C, 0x01, 0x7B, 0x01 + .byte 0x9F, 0x01, 0x7E, 0x01, 0xA0, 0x01, 0x7F, 0x01, 0xA1, 0x01, 0x80, 0x01, 0xA2, 0x01, 0x81, 0x01 + .byte 0xA4, 0x01, 0x83, 0x01, 0xA7, 0x01, 0x86, 0x01, 0xA9, 0x01, 0x88, 0x01, 0xAA, 0x01, 0x89, 0x01 + .byte 0xAB, 0x01, 0x8A, 0x01, 0xAC, 0x01, 0x8B, 0x01, 0xAD, 0x01, 0x8C, 0x01, 0xAE, 0x01, 0x8D, 0x01 + .byte 0xAF, 0x01, 0x8E, 0x01, 0xB3, 0x01, 0x92, 0x01, 0xB4, 0x01, 0x93, 0x01, 0xB6, 0x01, 0x95, 0x01 + .byte 0xBA, 0x01, 0x99, 0x01, 0xBB, 0x01, 0x9A, 0x01, 0xBC, 0x01, 0x9B, 0x01 + + .global MOD83_0223AD6C MOD83_0223AD6C: ; 0x0223AD6C - .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223AD98 + .global MOD83_0223AD98 MOD83_0223AD98: ; 0x0223AD98 - .word 0x12, MOD83_022300AC - .word 0x13, MOD83_0222FDE8 + .word 0x12, MOD83_022300AC + .word 0x13, MOD83_0222FDE8 - .global MOD83_0223ADA8 + .global MOD83_0223ADA8 MOD83_0223ADA8: ; 0x0223ADA8 - .word 0x12, MOD83_02230010 - .word 0x13, MOD83_0222FDE8 + .word 0x12, MOD83_02230010 + .word 0x13, MOD83_0222FDE8 - .global MOD83_0223ADB8 + .global MOD83_0223ADB8 MOD83_0223ADB8: ; 0x0223ADB8 - .word 0x12, MOD83_02230048 - .word 0x13, MOD83_02230084 + .word 0x12, MOD83_02230048 + .word 0x13, MOD83_02230084 - .global MOD83_0223ADC8 + .global MOD83_0223ADC8 MOD83_0223ADC8: ; 0x0223ADC8 - .word 0x12, MOD83_0222FB5C, 0x13, MOD83_0222FDE8 + .word 0x12, MOD83_0222FB5C, 0x13, MOD83_0222FDE8 - .global MOD83_0223ADD8 + .global MOD83_0223ADD8 MOD83_0223ADD8: ; 0x0223ADD8 - .word 0x12, MOD83_0222FBBC - .word 0x13, MOD83_0222FFD8 - .word 0x0C, MOD83_02230118 - .word 0x0D, MOD83_0223019C - .word 0x0E, MOD83_022301D4 + .word 0x12, MOD83_0222FBBC + .word 0x13, MOD83_0222FFD8 + .word 0x0C, MOD83_02230118 + .word 0x0D, MOD83_0223019C + .word 0x0E, MOD83_022301D4 - .global MOD83_0223AE00 + .global MOD83_0223AE00 MOD83_0223AE00: ; 0x0223AE00 - .word 0x00, MOD83_02239414, 0x00, 0x00 - .byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 + .word 0x00, MOD83_02239414, 0x00, 0x00 + .byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223AE20 + .global MOD83_0223AE20 MOD83_0223AE20: ; 0x0223AE20 - .word 0x0F, MOD83_0222FE24 - .word 0x14, MOD83_0222FF10 - .word 0x10, MOD83_0222FEA0 - .word 0x11, MOD83_022300F8 + .word 0x0F, MOD83_0222FE24 + .word 0x14, MOD83_0222FF10 + .word 0x10, MOD83_0222FEA0 + .word 0x11, MOD83_022300F8 - .global MOD83_0223AE40 + .global MOD83_0223AE40 MOD83_0223AE40: ; 0x0223AE40 - .word 0x40, MOD83_02231930 - .word 0x41, MOD83_022319D0 + .word 0x40, MOD83_02231930 + .word 0x41, MOD83_022319D0 - .global MOD83_0223AE50 + .global MOD83_0223AE50 MOD83_0223AE50: ; 0x0223AE50 - .byte 0x40, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 - .word 0x41, MOD83_022319D0 + .byte 0x40, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 + .word 0x41, MOD83_022319D0 - .global MOD83_0223AE60 + .global MOD83_0223AE60 MOD83_0223AE60: ; 0x0223AE60 - .byte 0x40, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 - .word 0x41, MOD83_022319D0 - .byte 0x2A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .word 0x2B, MOD83_022318B0 - .word 0x2C, MOD83_022318E0 - .byte 0x2D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 + .byte 0x40, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 + .word 0x41, MOD83_022319D0 + .byte 0x2A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 + .word 0x2B, MOD83_022318B0 + .word 0x2C, MOD83_022318E0 + .byte 0x2D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 - .global MOD83_0223AE90 + .global MOD83_0223AE90 MOD83_0223AE90: ; 0x0223AE90 - .word 0x00, MOD83_02239414 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 + .word 0x00, MOD83_02239414 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223AEB0 + .global MOD83_0223AEB0 MOD83_0223AEB0: ; 0x0223AEB0 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x24, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x28, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0xA1, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x4D, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x31, 0x00, 0x00, 0x00, 0x1D, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x85, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x29, 0x00, 0x00, 0x00, 0xD9, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0F, 0x00, 0x00, 0x00 - .byte 0x24, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x59, 0x1C, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x4D, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x61, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x34, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x37, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x39, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x3A, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x38, 0x00, 0x00, 0x00, 0x9D, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 - .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00 - .byte 0x3B, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00 - .byte 0x3C, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global MOD83_0223B240 + .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x24, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x28, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0xA1, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x4D, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x31, 0x00, 0x00, 0x00, 0x1D, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 + .byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x85, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x29, 0x00, 0x00, 0x00, 0xD9, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0F, 0x00, 0x00, 0x00 + .byte 0x24, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 + .byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x59, 0x1C, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x4D, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x61, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x34, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x37, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x39, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x3A, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x38, 0x00, 0x00, 0x00, 0x9D, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 + .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00 + .byte 0x3B, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00 + .byte 0x3C, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global MOD83_0223B240 MOD83_0223B240: ; 0x0223B240 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x01, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x01, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global MOD83_0223B280 + .global MOD83_0223B280 MOD83_0223B280: ; 0x0223B280 - .byte 0x00, 0x02, 0x01, 0x03, 0x04, 0x05, 0x00, 0x00 + .byte 0x00, 0x02, 0x01, 0x03, 0x04, 0x05, 0x00, 0x00 - .global MOD83_0223B288 + .global MOD83_0223B288 MOD83_0223B288: ; 0x0223B288 - .word 0x00 - .ifdef DIAMOND - .word 0x14 - .word 0x12 - .word 0x16 - .word 0x18 - .word 0x1A - .else - .word 0x15 - .word 0x13 - .word 0x17 - .word 0x19 - .word 0x1B - .endif - - .global MOD83_0223B2A0 + .word 0x00 + .ifdef DIAMOND + .word 0x14 + .word 0x12 + .word 0x16 + .word 0x18 + .word 0x1A + .else + .word 0x15 + .word 0x13 + .word 0x17 + .word 0x19 + .word 0x1B + .endif + + .global MOD83_0223B2A0 MOD83_0223B2A0: ; 0x0223B2A0 - .word 0x00000000, 0x00000001, 0x00000000, 0x00000002 - .word 0x00000003, 0x00000004 + .word 0x00000000, 0x00000001, 0x00000000, 0x00000002 + .word 0x00000003, 0x00000004 - .global MOD83_0223B2B8 + .global MOD83_0223B2B8 MOD83_0223B2B8: ; 0x0223B2B8 - .word 0x0000000F, 0x00000013, 0x00000039, 0x00000046 - .word 0x00000094, 0x000000F9, 0x0000007F, 0x00000123 + .word 0x0000000F, 0x00000013, 0x00000039, 0x00000046 + .word 0x00000094, 0x000000F9, 0x0000007F, 0x00000123 - .global MOD83_0223B2D8 + .global MOD83_0223B2D8 MOD83_0223B2D8: ; 0x0223B2D8 - .word 0x00000000, 0x00000025, 0x0000001F, 0x00000020 - .word 0x00000020, 0x00000005, 0x00000007, 0x00000021 + .word 0x00000000, 0x00000025, 0x0000001F, 0x00000020 + .word 0x00000020, 0x00000005, 0x00000007, 0x00000021 - .global MOD83_InvalidItemIds + .global MOD83_InvalidItemIds MOD83_InvalidItemIds: ; 0x0223B2F8 - .short 0x0005 ; RS_ITEM_SAFARI_BALL - .short 0x0034 ; RS_ITEM_034 - .short 0x0035 ; RS_ITEM_035 - .short 0x0036 ; RS_ITEM_036 - .short 0x0037 ; RS_ITEM_037 - .short 0x0038 ; RS_ITEM_038 - .short 0x0039 ; RS_ITEM_039 - .short 0x003A ; RS_ITEM_03A - .short 0x003B ; RS_ITEM_03B - .short 0x003C ; RS_ITEM_03C - .short 0x003D ; RS_ITEM_03D - .short 0x003E ; RS_ITEM_03E - .short 0x0048 ; RS_ITEM_048 - .short 0x0052 ; RS_ITEM_052 - .short 0x0057 ; RS_ITEM_057 - .short 0x0058 ; RS_ITEM_058 - .short 0x0059 ; RS_ITEM_059 - .short 0x005A ; RS_ITEM_05A - .short 0x005B ; RS_ITEM_05B - .short 0x005C ; RS_ITEM_05C - .short 0x0063 ; RS_ITEM_063 - .short 0x0064 ; RS_ITEM_064 - .short 0x0065 ; RS_ITEM_065 - .short 0x0066 ; RS_ITEM_066 - .short 0x0069 ; RS_ITEM_069 - .short 0x0070 ; RS_ITEM_070 - .short 0x0071 ; RS_ITEM_071 - .short 0x0072 ; RS_ITEM_072 - .short 0x0073 ; RS_ITEM_073 - .short 0x0074 ; RS_ITEM_074 - .short 0x0075 ; RS_ITEM_075 - .short 0x0076 ; RS_ITEM_076 - .short 0x0077 ; RS_ITEM_077 - .short 0x0078 ; RS_ITEM_078 - .short 0x0079 ; RS_ITEM_ORANGE_MAIL - .short 0x007A ; RS_ITEM_HARBOR_MAIL - .short 0x007B ; RS_ITEM_GLITTER_MAIL - .short 0x007C ; RS_ITEM_MECH_MAIL - .short 0x007D ; RS_ITEM_WOOD_MAIL - .short 0x007E ; RS_ITEM_WAVE_MAIL - .short 0x007F ; RS_ITEM_BEAD_MAIL - .short 0x0080 ; RS_ITEM_SHADOW_MAIL - .short 0x0081 ; RS_ITEM_TROPIC_MAIL - .short 0x0082 ; RS_ITEM_DREAM_MAIL - .short 0x0083 ; RS_ITEM_FAB_MAIL - .short 0x0084 ; RS_ITEM_RETRO_MAIL - .short 0x00B0 ; RS_ITEM_0B0 - .short 0x00B1 ; RS_ITEM_0B1 - .short 0x00B2 ; RS_ITEM_0B2 - .short 0x00E2 ; RS_ITEM_0E2 - .short 0x00E3 ; RS_ITEM_0E3 - .short 0x00E4 ; RS_ITEM_0E4 - .short 0x00E5 ; RS_ITEM_0E5 - .short 0x00E6 ; RS_ITEM_0E6 - .short 0x00E7 ; RS_ITEM_0E7 - .short 0x00E8 ; RS_ITEM_0E8 - .short 0x00E9 ; RS_ITEM_0E9 - .short 0x00EA ; RS_ITEM_0EA - .short 0x00EB ; RS_ITEM_0EB - .short 0x00EC ; RS_ITEM_0EC - .short 0x00ED ; RS_ITEM_0ED - .short 0x00EE ; RS_ITEM_0EE - .short 0x00EF ; RS_ITEM_0EF - .short 0x00F0 ; RS_ITEM_0F0 - .short 0x00F1 ; RS_ITEM_0F1 - .short 0x00F2 ; RS_ITEM_0F2 - .short 0x00F3 ; RS_ITEM_0F3 - .short 0x00F4 ; RS_ITEM_0F4 - .short 0x00F5 ; RS_ITEM_0F5 - .short 0x00F6 ; RS_ITEM_0F6 - .short 0x00F7 ; RS_ITEM_0F7 - .short 0x00F8 ; RS_ITEM_0F8 - .short 0x00F9 ; RS_ITEM_0F9 - .short 0x00FA ; RS_ITEM_0FA - .short 0x00FB ; RS_ITEM_0FB - .short 0x00FC ; RS_ITEM_0FC - .short 0x00FD ; RS_ITEM_0FD - .short 0x0103 ; RS_ITEM_MACH_BIKE - .short 0x0104 ; RS_ITEM_COIN_CASE - .short 0x0105 ; RS_ITEM_ITEMFINDER - .short 0x0106 ; RS_ITEM_OLD_ROD - .short 0x0107 ; RS_ITEM_GOOD_ROD - .short 0x0108 ; RS_ITEM_SUPER_ROD - .short 0x0109 ; RS_ITEM_SS_TICKET - .short 0x010A ; RS_ITEM_CONTEST_PASS - .short 0x010B ; RS_ITEM_10B - .short 0x010C ; RS_ITEM_WAILMER_PAIL - .short 0x010D ; RS_ITEM_DEVON_GOODS - .short 0x010E ; RS_ITEM_SOOT_SACK - .short 0x010F ; RS_ITEM_BASEMENT_KEY - .short 0x0110 ; RS_ITEM_ACRO_BIKE - .short 0x0111 ; RS_ITEM_POKEBLOCK_CASE - .short 0x0112 ; RS_ITEM_LETTER - .short 0x0113 ; RS_ITEM_EON_TICKET - .short 0x0114 ; RS_ITEM_RED_ORB - .short 0x0115 ; RS_ITEM_BLUE_ORB - .short 0x0116 ; RS_ITEM_SCANNER - .short 0x0117 ; RS_ITEM_GO_GOGGLES - .short 0x0118 ; RS_ITEM_METEORITE - .short 0x0119 ; RS_ITEM_ROOM_1_KEY - .short 0x011A ; RS_ITEM_ROOM_2_KEY - .short 0x011B ; RS_ITEM_ROOM_4_KEY - .short 0x011C ; RS_ITEM_ROOM_6_KEY - .short 0x011D ; RS_ITEM_STORAGE_KEY - .short 0x011E ; RS_ITEM_ROOT_FOSSIL - .short 0x011F ; RS_ITEM_CLAW_FOSSIL - .short 0x0120 ; RS_ITEM_DEVON_SCOPE - .short 0x0153 ; RS_ITEM_HM01 - .short 0x0154 ; RS_ITEM_HM02 - .short 0x0155 ; RS_ITEM_HM03 - .short 0x0156 ; RS_ITEM_HM04 - .short 0x0157 ; RS_ITEM_HM05 - .short 0x0158 ; RS_ITEM_HM06 - .short 0x0159 ; RS_ITEM_HM07 - .short 0x015A ; RS_ITEM_HM08 - .short 0x015B ; RS_ITEM_15B - .short 0x015C ; RS_ITEM_15C - .short 0x015D ; RS_ITEM_OAKS_PARCEL - .short 0x015E ; RS_ITEM_POKE_FLUTE - .short 0x015F ; RS_ITEM_SECRET_KEY - .short 0x0160 ; RS_ITEM_BIKE_VOUCHER - .short 0x0161 ; RS_ITEM_GOLD_TEETH - .short 0x0162 ; RS_ITEM_OLD_AMBER - .short 0x0163 ; RS_ITEM_CARD_KEY - .short 0x0164 ; RS_ITEM_LIFT_KEY - .short 0x0165 ; RS_ITEM_HELIX_FOSSIL - .short 0x0166 ; RS_ITEM_DOME_FOSSIL - .short 0x0167 ; RS_ITEM_SILPH_SCOPE - .short 0x0168 ; RS_ITEM_BICYCLE - .short 0x0169 ; RS_ITEM_TOWN_MAP - .short 0x016A ; RS_ITEM_VS_SEEKER - .short 0x016B ; RS_ITEM_FAME_CHECKER - .short 0x016C ; RS_ITEM_TM_CASE - .short 0x016D ; RS_ITEM_BERRY_POUCH - .short 0x016E ; RS_ITEM_TEACHY_TV - .short 0x016F ; RS_ITEM_TRI_PASS - .short 0x0170 ; RS_ITEM_RAINBOW_PASS - .short 0x0171 ; RS_ITEM_TEA - .short 0x0172 ; RS_ITEM_MYSTIC_TICKET - .short 0x0173 ; RS_ITEM_AURORA_TICKET - .short 0x0174 ; RS_ITEM_POWDER_JAR - .short 0x0175 ; RS_ITEM_RUBY - .short 0x0176 ; RS_ITEM_SAPPHIRE - .short 0x0177 ; RS_ITEM_MAGMA_EMBLEM - .short 0x0178 ; RS_ITEM_OLD_SEA_MAP - .short 0x0000 ; RS_ITEM_NONE - - .global MOD83_0223B41C + .short 0x0005 ; RS_ITEM_SAFARI_BALL + .short 0x0034 ; RS_ITEM_034 + .short 0x0035 ; RS_ITEM_035 + .short 0x0036 ; RS_ITEM_036 + .short 0x0037 ; RS_ITEM_037 + .short 0x0038 ; RS_ITEM_038 + .short 0x0039 ; RS_ITEM_039 + .short 0x003A ; RS_ITEM_03A + .short 0x003B ; RS_ITEM_03B + .short 0x003C ; RS_ITEM_03C + .short 0x003D ; RS_ITEM_03D + .short 0x003E ; RS_ITEM_03E + .short 0x0048 ; RS_ITEM_048 + .short 0x0052 ; RS_ITEM_052 + .short 0x0057 ; RS_ITEM_057 + .short 0x0058 ; RS_ITEM_058 + .short 0x0059 ; RS_ITEM_059 + .short 0x005A ; RS_ITEM_05A + .short 0x005B ; RS_ITEM_05B + .short 0x005C ; RS_ITEM_05C + .short 0x0063 ; RS_ITEM_063 + .short 0x0064 ; RS_ITEM_064 + .short 0x0065 ; RS_ITEM_065 + .short 0x0066 ; RS_ITEM_066 + .short 0x0069 ; RS_ITEM_069 + .short 0x0070 ; RS_ITEM_070 + .short 0x0071 ; RS_ITEM_071 + .short 0x0072 ; RS_ITEM_072 + .short 0x0073 ; RS_ITEM_073 + .short 0x0074 ; RS_ITEM_074 + .short 0x0075 ; RS_ITEM_075 + .short 0x0076 ; RS_ITEM_076 + .short 0x0077 ; RS_ITEM_077 + .short 0x0078 ; RS_ITEM_078 + .short 0x0079 ; RS_ITEM_ORANGE_MAIL + .short 0x007A ; RS_ITEM_HARBOR_MAIL + .short 0x007B ; RS_ITEM_GLITTER_MAIL + .short 0x007C ; RS_ITEM_MECH_MAIL + .short 0x007D ; RS_ITEM_WOOD_MAIL + .short 0x007E ; RS_ITEM_WAVE_MAIL + .short 0x007F ; RS_ITEM_BEAD_MAIL + .short 0x0080 ; RS_ITEM_SHADOW_MAIL + .short 0x0081 ; RS_ITEM_TROPIC_MAIL + .short 0x0082 ; RS_ITEM_DREAM_MAIL + .short 0x0083 ; RS_ITEM_FAB_MAIL + .short 0x0084 ; RS_ITEM_RETRO_MAIL + .short 0x00B0 ; RS_ITEM_0B0 + .short 0x00B1 ; RS_ITEM_0B1 + .short 0x00B2 ; RS_ITEM_0B2 + .short 0x00E2 ; RS_ITEM_0E2 + .short 0x00E3 ; RS_ITEM_0E3 + .short 0x00E4 ; RS_ITEM_0E4 + .short 0x00E5 ; RS_ITEM_0E5 + .short 0x00E6 ; RS_ITEM_0E6 + .short 0x00E7 ; RS_ITEM_0E7 + .short 0x00E8 ; RS_ITEM_0E8 + .short 0x00E9 ; RS_ITEM_0E9 + .short 0x00EA ; RS_ITEM_0EA + .short 0x00EB ; RS_ITEM_0EB + .short 0x00EC ; RS_ITEM_0EC + .short 0x00ED ; RS_ITEM_0ED + .short 0x00EE ; RS_ITEM_0EE + .short 0x00EF ; RS_ITEM_0EF + .short 0x00F0 ; RS_ITEM_0F0 + .short 0x00F1 ; RS_ITEM_0F1 + .short 0x00F2 ; RS_ITEM_0F2 + .short 0x00F3 ; RS_ITEM_0F3 + .short 0x00F4 ; RS_ITEM_0F4 + .short 0x00F5 ; RS_ITEM_0F5 + .short 0x00F6 ; RS_ITEM_0F6 + .short 0x00F7 ; RS_ITEM_0F7 + .short 0x00F8 ; RS_ITEM_0F8 + .short 0x00F9 ; RS_ITEM_0F9 + .short 0x00FA ; RS_ITEM_0FA + .short 0x00FB ; RS_ITEM_0FB + .short 0x00FC ; RS_ITEM_0FC + .short 0x00FD ; RS_ITEM_0FD + .short 0x0103 ; RS_ITEM_MACH_BIKE + .short 0x0104 ; RS_ITEM_COIN_CASE + .short 0x0105 ; RS_ITEM_ITEMFINDER + .short 0x0106 ; RS_ITEM_OLD_ROD + .short 0x0107 ; RS_ITEM_GOOD_ROD + .short 0x0108 ; RS_ITEM_SUPER_ROD + .short 0x0109 ; RS_ITEM_SS_TICKET + .short 0x010A ; RS_ITEM_CONTEST_PASS + .short 0x010B ; RS_ITEM_10B + .short 0x010C ; RS_ITEM_WAILMER_PAIL + .short 0x010D ; RS_ITEM_DEVON_GOODS + .short 0x010E ; RS_ITEM_SOOT_SACK + .short 0x010F ; RS_ITEM_BASEMENT_KEY + .short 0x0110 ; RS_ITEM_ACRO_BIKE + .short 0x0111 ; RS_ITEM_POKEBLOCK_CASE + .short 0x0112 ; RS_ITEM_LETTER + .short 0x0113 ; RS_ITEM_EON_TICKET + .short 0x0114 ; RS_ITEM_RED_ORB + .short 0x0115 ; RS_ITEM_BLUE_ORB + .short 0x0116 ; RS_ITEM_SCANNER + .short 0x0117 ; RS_ITEM_GO_GOGGLES + .short 0x0118 ; RS_ITEM_METEORITE + .short 0x0119 ; RS_ITEM_ROOM_1_KEY + .short 0x011A ; RS_ITEM_ROOM_2_KEY + .short 0x011B ; RS_ITEM_ROOM_4_KEY + .short 0x011C ; RS_ITEM_ROOM_6_KEY + .short 0x011D ; RS_ITEM_STORAGE_KEY + .short 0x011E ; RS_ITEM_ROOT_FOSSIL + .short 0x011F ; RS_ITEM_CLAW_FOSSIL + .short 0x0120 ; RS_ITEM_DEVON_SCOPE + .short 0x0153 ; RS_ITEM_HM01 + .short 0x0154 ; RS_ITEM_HM02 + .short 0x0155 ; RS_ITEM_HM03 + .short 0x0156 ; RS_ITEM_HM04 + .short 0x0157 ; RS_ITEM_HM05 + .short 0x0158 ; RS_ITEM_HM06 + .short 0x0159 ; RS_ITEM_HM07 + .short 0x015A ; RS_ITEM_HM08 + .short 0x015B ; RS_ITEM_15B + .short 0x015C ; RS_ITEM_15C + .short 0x015D ; RS_ITEM_OAKS_PARCEL + .short 0x015E ; RS_ITEM_POKE_FLUTE + .short 0x015F ; RS_ITEM_SECRET_KEY + .short 0x0160 ; RS_ITEM_BIKE_VOUCHER + .short 0x0161 ; RS_ITEM_GOLD_TEETH + .short 0x0162 ; RS_ITEM_OLD_AMBER + .short 0x0163 ; RS_ITEM_CARD_KEY + .short 0x0164 ; RS_ITEM_LIFT_KEY + .short 0x0165 ; RS_ITEM_HELIX_FOSSIL + .short 0x0166 ; RS_ITEM_DOME_FOSSIL + .short 0x0167 ; RS_ITEM_SILPH_SCOPE + .short 0x0168 ; RS_ITEM_BICYCLE + .short 0x0169 ; RS_ITEM_TOWN_MAP + .short 0x016A ; RS_ITEM_VS_SEEKER + .short 0x016B ; RS_ITEM_FAME_CHECKER + .short 0x016C ; RS_ITEM_TM_CASE + .short 0x016D ; RS_ITEM_BERRY_POUCH + .short 0x016E ; RS_ITEM_TEACHY_TV + .short 0x016F ; RS_ITEM_TRI_PASS + .short 0x0170 ; RS_ITEM_RAINBOW_PASS + .short 0x0171 ; RS_ITEM_TEA + .short 0x0172 ; RS_ITEM_MYSTIC_TICKET + .short 0x0173 ; RS_ITEM_AURORA_TICKET + .short 0x0174 ; RS_ITEM_POWDER_JAR + .short 0x0175 ; RS_ITEM_RUBY + .short 0x0176 ; RS_ITEM_SAPPHIRE + .short 0x0177 ; RS_ITEM_MAGMA_EMBLEM + .short 0x0178 ; RS_ITEM_OLD_SEA_MAP + .short 0x0000 ; RS_ITEM_NONE + + .global MOD83_0223B41C MOD83_0223B41C: ; 0x0223B41C - .word 0, -1 + .word 0, -1 - .global MOD83_0223B424 + .global MOD83_0223B424 MOD83_0223B424: ; 0x0223B424 - .byte 0x24, 0xFF, 0xAE, 0x51, 0x69, 0x9A, 0xA2, 0x21, 0x3D, 0x84, 0x82, 0x0A, 0x84, 0xE4, 0x09, 0xAD - .byte 0x11, 0x24, 0x8B, 0x98, 0xC0, 0x81, 0x7F, 0x21, 0xA3, 0x52, 0xBE, 0x19, 0x93, 0x09, 0xCE, 0x20 - .byte 0x10, 0x46, 0x4A, 0x4A, 0xF8, 0x27, 0x31, 0xEC, 0x58, 0xC7, 0xE8, 0x33, 0x82, 0xE3, 0xCE, 0xBF - .byte 0x85, 0xF4, 0xDF, 0x94, 0xCE, 0x4B, 0x09, 0xC1, 0x94, 0x56, 0x8A, 0xC0, 0x13, 0x72, 0xA7, 0xFC - .byte 0x9F, 0x84, 0x4D, 0x73, 0xA3, 0xCA, 0x9A, 0x61, 0x58, 0x97, 0xA3, 0x27, 0xFC, 0x03, 0x98, 0x76 - .byte 0x23, 0x1D, 0xC7, 0x61, 0x03, 0x04, 0xAE, 0x56, 0xBF, 0x38, 0x84, 0x00, 0x40, 0xA7, 0x0E, 0xFD - .byte 0xFF, 0x52, 0xFE, 0x03, 0x6F, 0x95, 0x30, 0xF1, 0x97, 0xFB, 0xC0, 0x85, 0x60, 0xD6, 0x80, 0x25 - .byte 0xA9, 0x63, 0xBE, 0x03, 0x01, 0x4E, 0x38, 0xE2, 0xF9, 0xA2, 0x34, 0xFF, 0xBB, 0x3E, 0x03, 0x44 - .byte 0x78, 0x00, 0x90, 0xCB, 0x88, 0x11, 0x3A, 0x94, 0x65, 0xC0, 0x7C, 0x63, 0x87, 0xF0, 0x3C, 0xAF - .byte 0xD6, 0x25, 0xE4, 0x8B, 0x38, 0x0A, 0xAC, 0x72, 0x21, 0xD4, 0xF8, 0x07 - - .global MOD83_SpeciesWithAbilityOverridesList + .byte 0x24, 0xFF, 0xAE, 0x51, 0x69, 0x9A, 0xA2, 0x21, 0x3D, 0x84, 0x82, 0x0A, 0x84, 0xE4, 0x09, 0xAD + .byte 0x11, 0x24, 0x8B, 0x98, 0xC0, 0x81, 0x7F, 0x21, 0xA3, 0x52, 0xBE, 0x19, 0x93, 0x09, 0xCE, 0x20 + .byte 0x10, 0x46, 0x4A, 0x4A, 0xF8, 0x27, 0x31, 0xEC, 0x58, 0xC7, 0xE8, 0x33, 0x82, 0xE3, 0xCE, 0xBF + .byte 0x85, 0xF4, 0xDF, 0x94, 0xCE, 0x4B, 0x09, 0xC1, 0x94, 0x56, 0x8A, 0xC0, 0x13, 0x72, 0xA7, 0xFC + .byte 0x9F, 0x84, 0x4D, 0x73, 0xA3, 0xCA, 0x9A, 0x61, 0x58, 0x97, 0xA3, 0x27, 0xFC, 0x03, 0x98, 0x76 + .byte 0x23, 0x1D, 0xC7, 0x61, 0x03, 0x04, 0xAE, 0x56, 0xBF, 0x38, 0x84, 0x00, 0x40, 0xA7, 0x0E, 0xFD + .byte 0xFF, 0x52, 0xFE, 0x03, 0x6F, 0x95, 0x30, 0xF1, 0x97, 0xFB, 0xC0, 0x85, 0x60, 0xD6, 0x80, 0x25 + .byte 0xA9, 0x63, 0xBE, 0x03, 0x01, 0x4E, 0x38, 0xE2, 0xF9, 0xA2, 0x34, 0xFF, 0xBB, 0x3E, 0x03, 0x44 + .byte 0x78, 0x00, 0x90, 0xCB, 0x88, 0x11, 0x3A, 0x94, 0x65, 0xC0, 0x7C, 0x63, 0x87, 0xF0, 0x3C, 0xAF + .byte 0xD6, 0x25, 0xE4, 0x8B, 0x38, 0x0A, 0xAC, 0x72, 0x21, 0xD4, 0xF8, 0x07 + + .global MOD83_SpeciesWithAbilityOverridesList MOD83_SpeciesWithAbilityOverridesList: ; 0x0223B4C0 - .short SPECIES_PIDGEY - .short SPECIES_PIDGEOTTO - .short SPECIES_PIDGEOT - .short SPECIES_NIDORAN_F - .short SPECIES_NIDORINA - .short SPECIES_NIDOQUEEN - .short SPECIES_NIDORAN_M - .short SPECIES_NIDORINO - .short SPECIES_NIDOKING - .short SPECIES_CLEFAIRY - .short SPECIES_CLEFABLE - .short SPECIES_PARAS - .short SPECIES_PARASECT - .short SPECIES_VENONAT - .short SPECIES_VENOMOTH - .short SPECIES_MEOWTH - .short SPECIES_PERSIAN - .short SPECIES_MANKEY - .short SPECIES_PRIMEAPE - .short SPECIES_MACHOP - .short SPECIES_MACHOKE - .short SPECIES_MACHAMP - .short SPECIES_SEEL - .short SPECIES_DEWGONG - .short SPECIES_SHELLDER - .short SPECIES_CLOYSTER - .short SPECIES_DROWZEE - .short SPECIES_HYPNO - .short SPECIES_HITMONLEE - .short SPECIES_HITMONCHAN - .short SPECIES_TANGELA - .short SPECIES_KANGASKHAN - .short SPECIES_HORSEA - .short SPECIES_SEADRA - .short SPECIES_MR_MIME - .short SPECIES_SCYTHER - .short SPECIES_JYNX - .short SPECIES_PINSIR - .short SPECIES_TAUROS - .short SPECIES_EEVEE - .short SPECIES_VAPOREON - .short SPECIES_JOLTEON - .short SPECIES_FLAREON - .short SPECIES_PORYGON - .short SPECIES_CLEFFA - .short SPECIES_HOPPIP - .short SPECIES_SKIPLOOM - .short SPECIES_JUMPLUFF - .short SPECIES_SUNKERN - .short SPECIES_SUNFLORA - .short SPECIES_ESPEON - .short SPECIES_UMBREON - .short SPECIES_MURKROW - .short SPECIES_GRANBULL - .short SPECIES_SCIZOR - .short SPECIES_SHUCKLE - .short SPECIES_TEDDIURSA - .short SPECIES_URSARING - .short SPECIES_SWINUB - .short SPECIES_PILOSWINE - .short SPECIES_REMORAID - .short SPECIES_OCTILLERY - .short SPECIES_KINGDRA - .short SPECIES_PORYGON2 - .short SPECIES_STANTLER - .short SPECIES_SMEARGLE - .short SPECIES_TYROGUE - .short SPECIES_HITMONTOP - .short SPECIES_SMOOCHUM - .short SPECIES_MILTANK - .short SPECIES_POOCHYENA - .short SPECIES_MIGHTYENA - .short SPECIES_ZIGZAGOON - .short SPECIES_LINOONE - .short SPECIES_SHROOMISH - .short SPECIES_BRELOOM - .short SPECIES_SKITTY - .short SPECIES_DELCATTY - .short SPECIES_SABLEYE - .short SPECIES_ILLUMISE - .short SPECIES_NUMEL - .short SPECIES_CAMERUPT - .short SPECIES_SPINDA - .short SPECIES_BARBOACH - .short SPECIES_WHISCASH - .short SPECIES_SHUPPET - .short SPECIES_BANETTE - .short SPECIES_TROPIUS - .short SPECIES_ABSOL - .short SPECIES_SNORUNT - .short SPECIES_GLALIE - .short SPECIES_SPHEAL - .short SPECIES_SEALEO - .short SPECIES_WALREIN - - .global MOD83_UpConvertSpeciesLUT + .short SPECIES_PIDGEY + .short SPECIES_PIDGEOTTO + .short SPECIES_PIDGEOT + .short SPECIES_NIDORAN_F + .short SPECIES_NIDORINA + .short SPECIES_NIDOQUEEN + .short SPECIES_NIDORAN_M + .short SPECIES_NIDORINO + .short SPECIES_NIDOKING + .short SPECIES_CLEFAIRY + .short SPECIES_CLEFABLE + .short SPECIES_PARAS + .short SPECIES_PARASECT + .short SPECIES_VENONAT + .short SPECIES_VENOMOTH + .short SPECIES_MEOWTH + .short SPECIES_PERSIAN + .short SPECIES_MANKEY + .short SPECIES_PRIMEAPE + .short SPECIES_MACHOP + .short SPECIES_MACHOKE + .short SPECIES_MACHAMP + .short SPECIES_SEEL + .short SPECIES_DEWGONG + .short SPECIES_SHELLDER + .short SPECIES_CLOYSTER + .short SPECIES_DROWZEE + .short SPECIES_HYPNO + .short SPECIES_HITMONLEE + .short SPECIES_HITMONCHAN + .short SPECIES_TANGELA + .short SPECIES_KANGASKHAN + .short SPECIES_HORSEA + .short SPECIES_SEADRA + .short SPECIES_MR_MIME + .short SPECIES_SCYTHER + .short SPECIES_JYNX + .short SPECIES_PINSIR + .short SPECIES_TAUROS + .short SPECIES_EEVEE + .short SPECIES_VAPOREON + .short SPECIES_JOLTEON + .short SPECIES_FLAREON + .short SPECIES_PORYGON + .short SPECIES_CLEFFA + .short SPECIES_HOPPIP + .short SPECIES_SKIPLOOM + .short SPECIES_JUMPLUFF + .short SPECIES_SUNKERN + .short SPECIES_SUNFLORA + .short SPECIES_ESPEON + .short SPECIES_UMBREON + .short SPECIES_MURKROW + .short SPECIES_GRANBULL + .short SPECIES_SCIZOR + .short SPECIES_SHUCKLE + .short SPECIES_TEDDIURSA + .short SPECIES_URSARING + .short SPECIES_SWINUB + .short SPECIES_PILOSWINE + .short SPECIES_REMORAID + .short SPECIES_OCTILLERY + .short SPECIES_KINGDRA + .short SPECIES_PORYGON2 + .short SPECIES_STANTLER + .short SPECIES_SMEARGLE + .short SPECIES_TYROGUE + .short SPECIES_HITMONTOP + .short SPECIES_SMOOCHUM + .short SPECIES_MILTANK + .short SPECIES_POOCHYENA + .short SPECIES_MIGHTYENA + .short SPECIES_ZIGZAGOON + .short SPECIES_LINOONE + .short SPECIES_SHROOMISH + .short SPECIES_BRELOOM + .short SPECIES_SKITTY + .short SPECIES_DELCATTY + .short SPECIES_SABLEYE + .short SPECIES_ILLUMISE + .short SPECIES_NUMEL + .short SPECIES_CAMERUPT + .short SPECIES_SPINDA + .short SPECIES_BARBOACH + .short SPECIES_WHISCASH + .short SPECIES_SHUPPET + .short SPECIES_BANETTE + .short SPECIES_TROPIUS + .short SPECIES_ABSOL + .short SPECIES_SNORUNT + .short SPECIES_GLALIE + .short SPECIES_SPHEAL + .short SPECIES_SEALEO + .short SPECIES_WALREIN + + .global MOD83_UpConvertSpeciesLUT MOD83_UpConvertSpeciesLUT: ; 0x0223B57C - .short SPECIES_TREECKO - .short SPECIES_GROVYLE - .short SPECIES_SCEPTILE - .short SPECIES_TORCHIC - .short SPECIES_COMBUSKEN - .short SPECIES_BLAZIKEN - .short SPECIES_MUDKIP - .short SPECIES_MARSHTOMP - .short SPECIES_SWAMPERT - .short SPECIES_POOCHYENA - .short SPECIES_MIGHTYENA - .short SPECIES_ZIGZAGOON - .short SPECIES_LINOONE - .short SPECIES_WURMPLE - .short SPECIES_SILCOON - .short SPECIES_BEAUTIFLY - .short SPECIES_CASCOON - .short SPECIES_DUSTOX - .short SPECIES_LOTAD - .short SPECIES_LOMBRE - .short SPECIES_LUDICOLO - .short SPECIES_SEEDOT - .short SPECIES_NUZLEAF - .short SPECIES_SHIFTRY - .short SPECIES_NINCADA - .short SPECIES_NINJASK - .short SPECIES_SHEDINJA - .short SPECIES_TAILLOW - .short SPECIES_SWELLOW - .short SPECIES_SHROOMISH - .short SPECIES_BRELOOM - .short SPECIES_SPINDA - .short SPECIES_WINGULL - .short SPECIES_PELIPPER - .short SPECIES_SURSKIT - .short SPECIES_MASQUERAIN - .short SPECIES_WAILMER - .short SPECIES_WAILORD - .short SPECIES_SKITTY - .short SPECIES_DELCATTY - .short SPECIES_KECLEON - .short SPECIES_BALTOY - .short SPECIES_CLAYDOL - .short SPECIES_NOSEPASS - .short SPECIES_TORKOAL - .short SPECIES_SABLEYE - .short SPECIES_BARBOACH - .short SPECIES_WHISCASH - .short SPECIES_LUVDISC - .short SPECIES_CORPHISH - .short SPECIES_CRAWDAUNT - .short SPECIES_FEEBAS - .short SPECIES_MILOTIC - .short SPECIES_CARVANHA - .short SPECIES_SHARPEDO - .short SPECIES_TRAPINCH - .short SPECIES_VIBRAVA - .short SPECIES_FLYGON - .short SPECIES_MAKUHITA - .short SPECIES_HARIYAMA - .short SPECIES_ELECTRIKE - .short SPECIES_MANECTRIC - .short SPECIES_NUMEL - .short SPECIES_CAMERUPT - .short SPECIES_SPHEAL - .short SPECIES_SEALEO - .short SPECIES_WALREIN - .short SPECIES_CACNEA - .short SPECIES_CACTURNE - .short SPECIES_SNORUNT - .short SPECIES_GLALIE - .short SPECIES_LUNATONE - .short SPECIES_SOLROCK - .short SPECIES_AZURILL - .short SPECIES_SPOINK - .short SPECIES_GRUMPIG - .short SPECIES_PLUSLE - .short SPECIES_MINUN - .short SPECIES_MAWILE - .short SPECIES_MEDITITE - .short SPECIES_MEDICHAM - .short SPECIES_SWABLU - .short SPECIES_ALTARIA - .short SPECIES_WYNAUT - .short SPECIES_DUSKULL - .short SPECIES_DUSCLOPS - .short SPECIES_ROSELIA - .short SPECIES_SLAKOTH - .short SPECIES_VIGOROTH - .short SPECIES_SLAKING - .short SPECIES_GULPIN - .short SPECIES_SWALOT - .short SPECIES_TROPIUS - .short SPECIES_WHISMUR - .short SPECIES_LOUDRED - .short SPECIES_EXPLOUD - .short SPECIES_CLAMPERL - .short SPECIES_HUNTAIL - .short SPECIES_GOREBYSS - .short SPECIES_ABSOL - .short SPECIES_SHUPPET - .short SPECIES_BANETTE - .short SPECIES_SEVIPER - .short SPECIES_ZANGOOSE - .short SPECIES_RELICANTH - .short SPECIES_ARON - .short SPECIES_LAIRON - .short SPECIES_AGGRON - .short SPECIES_CASTFORM - .short SPECIES_VOLBEAT - .short SPECIES_ILLUMISE - .short SPECIES_LILEEP - .short SPECIES_CRADILY - .short SPECIES_ANORITH - .short SPECIES_ARMALDO - .short SPECIES_RALTS - .short SPECIES_KIRLIA - .short SPECIES_GARDEVOIR - .short SPECIES_BAGON - .short SPECIES_SHELGON - .short SPECIES_SALAMENCE - .short SPECIES_BELDUM - .short SPECIES_METANG - .short SPECIES_METAGROSS - .short SPECIES_REGIROCK - .short SPECIES_REGICE - .short SPECIES_REGISTEEL - .short SPECIES_KYOGRE - .short SPECIES_GROUDON - .short SPECIES_RAYQUAZA - .short SPECIES_LATIAS - .short SPECIES_LATIOS - .short SPECIES_JIRACHI - .short SPECIES_DEOXYS - .short SPECIES_CHIMECHO - .short SPECIES_BURMY - .short SPECIES_WORMADAM - .short SPECIES_MOTHIM - .short SPECIES_COMBEE - .short SPECIES_VESPIQUEN - .short SPECIES_PACHIRISU - .short SPECIES_BUIZEL - .short SPECIES_FLOATZEL - .short SPECIES_CHERUBI - - .global MOD83_0223B69C + .short SPECIES_TREECKO + .short SPECIES_GROVYLE + .short SPECIES_SCEPTILE + .short SPECIES_TORCHIC + .short SPECIES_COMBUSKEN + .short SPECIES_BLAZIKEN + .short SPECIES_MUDKIP + .short SPECIES_MARSHTOMP + .short SPECIES_SWAMPERT + .short SPECIES_POOCHYENA + .short SPECIES_MIGHTYENA + .short SPECIES_ZIGZAGOON + .short SPECIES_LINOONE + .short SPECIES_WURMPLE + .short SPECIES_SILCOON + .short SPECIES_BEAUTIFLY + .short SPECIES_CASCOON + .short SPECIES_DUSTOX + .short SPECIES_LOTAD + .short SPECIES_LOMBRE + .short SPECIES_LUDICOLO + .short SPECIES_SEEDOT + .short SPECIES_NUZLEAF + .short SPECIES_SHIFTRY + .short SPECIES_NINCADA + .short SPECIES_NINJASK + .short SPECIES_SHEDINJA + .short SPECIES_TAILLOW + .short SPECIES_SWELLOW + .short SPECIES_SHROOMISH + .short SPECIES_BRELOOM + .short SPECIES_SPINDA + .short SPECIES_WINGULL + .short SPECIES_PELIPPER + .short SPECIES_SURSKIT + .short SPECIES_MASQUERAIN + .short SPECIES_WAILMER + .short SPECIES_WAILORD + .short SPECIES_SKITTY + .short SPECIES_DELCATTY + .short SPECIES_KECLEON + .short SPECIES_BALTOY + .short SPECIES_CLAYDOL + .short SPECIES_NOSEPASS + .short SPECIES_TORKOAL + .short SPECIES_SABLEYE + .short SPECIES_BARBOACH + .short SPECIES_WHISCASH + .short SPECIES_LUVDISC + .short SPECIES_CORPHISH + .short SPECIES_CRAWDAUNT + .short SPECIES_FEEBAS + .short SPECIES_MILOTIC + .short SPECIES_CARVANHA + .short SPECIES_SHARPEDO + .short SPECIES_TRAPINCH + .short SPECIES_VIBRAVA + .short SPECIES_FLYGON + .short SPECIES_MAKUHITA + .short SPECIES_HARIYAMA + .short SPECIES_ELECTRIKE + .short SPECIES_MANECTRIC + .short SPECIES_NUMEL + .short SPECIES_CAMERUPT + .short SPECIES_SPHEAL + .short SPECIES_SEALEO + .short SPECIES_WALREIN + .short SPECIES_CACNEA + .short SPECIES_CACTURNE + .short SPECIES_SNORUNT + .short SPECIES_GLALIE + .short SPECIES_LUNATONE + .short SPECIES_SOLROCK + .short SPECIES_AZURILL + .short SPECIES_SPOINK + .short SPECIES_GRUMPIG + .short SPECIES_PLUSLE + .short SPECIES_MINUN + .short SPECIES_MAWILE + .short SPECIES_MEDITITE + .short SPECIES_MEDICHAM + .short SPECIES_SWABLU + .short SPECIES_ALTARIA + .short SPECIES_WYNAUT + .short SPECIES_DUSKULL + .short SPECIES_DUSCLOPS + .short SPECIES_ROSELIA + .short SPECIES_SLAKOTH + .short SPECIES_VIGOROTH + .short SPECIES_SLAKING + .short SPECIES_GULPIN + .short SPECIES_SWALOT + .short SPECIES_TROPIUS + .short SPECIES_WHISMUR + .short SPECIES_LOUDRED + .short SPECIES_EXPLOUD + .short SPECIES_CLAMPERL + .short SPECIES_HUNTAIL + .short SPECIES_GOREBYSS + .short SPECIES_ABSOL + .short SPECIES_SHUPPET + .short SPECIES_BANETTE + .short SPECIES_SEVIPER + .short SPECIES_ZANGOOSE + .short SPECIES_RELICANTH + .short SPECIES_ARON + .short SPECIES_LAIRON + .short SPECIES_AGGRON + .short SPECIES_CASTFORM + .short SPECIES_VOLBEAT + .short SPECIES_ILLUMISE + .short SPECIES_LILEEP + .short SPECIES_CRADILY + .short SPECIES_ANORITH + .short SPECIES_ARMALDO + .short SPECIES_RALTS + .short SPECIES_KIRLIA + .short SPECIES_GARDEVOIR + .short SPECIES_BAGON + .short SPECIES_SHELGON + .short SPECIES_SALAMENCE + .short SPECIES_BELDUM + .short SPECIES_METANG + .short SPECIES_METAGROSS + .short SPECIES_REGIROCK + .short SPECIES_REGICE + .short SPECIES_REGISTEEL + .short SPECIES_KYOGRE + .short SPECIES_GROUDON + .short SPECIES_RAYQUAZA + .short SPECIES_LATIAS + .short SPECIES_LATIOS + .short SPECIES_JIRACHI + .short SPECIES_DEOXYS + .short SPECIES_CHIMECHO + .short SPECIES_BURMY + .short SPECIES_WORMADAM + .short SPECIES_MOTHIM + .short SPECIES_COMBEE + .short SPECIES_VESPIQUEN + .short SPECIES_PACHIRISU + .short SPECIES_BUIZEL + .short SPECIES_FLOATZEL + .short SPECIES_CHERUBI + + .global MOD83_0223B69C MOD83_0223B69C: ; 0x0223B69C - .word 0x42354245 ; "EB5B" - .word 0x42354345 ; "EC5B" - .word 0x42354445 ; "ED5B" - .word 0x42354545 ; "EE5B" - .word 0x42354645 ; "EF5B" - .word 0x42354745 ; "EG5B" - .word 0x42354845 ; "EH5B" - .word 0x42354945 ; "EI5B" - .word 0x42354A45 ; "EJ5B" - .word 0x42354B45 ; "EK5B" - .word 0x42354C45 ; "EL5B" - .word 0x42354D45 ; "EM5B" - .word 0x42355045 ; "EP5B" - .word 0x42355145 ; "EQ5B" - .word 0x42355245 ; "ER5B" - .word 0x42355345 ; "ES5B" - .word 0x42355445 ; "ET5B" - .word 0x42355545 ; "EU5B" - .word 0x42355645 ; "EV5B" - .word 0x42355745 ; "EW5B" - .word 0x00000000 - - .global MOD83_0223B6F0 + .word 0x42354245 ; "EB5B" + .word 0x42354345 ; "EC5B" + .word 0x42354445 ; "ED5B" + .word 0x42354545 ; "EE5B" + .word 0x42354645 ; "EF5B" + .word 0x42354745 ; "EG5B" + .word 0x42354845 ; "EH5B" + .word 0x42354945 ; "EI5B" + .word 0x42354A45 ; "EJ5B" + .word 0x42354B45 ; "EK5B" + .word 0x42354C45 ; "EL5B" + .word 0x42354D45 ; "EM5B" + .word 0x42355045 ; "EP5B" + .word 0x42355145 ; "EQ5B" + .word 0x42355245 ; "ER5B" + .word 0x42355345 ; "ES5B" + .word 0x42355445 ; "ET5B" + .word 0x42355545 ; "EU5B" + .word 0x42355645 ; "EV5B" + .word 0x42355745 ; "EW5B" + .word 0x00000000 + + .global MOD83_0223B6F0 MOD83_0223B6F0: ; 0x0223B6F0 - .asciz "mywh_SYSSTATE_IDLE" + .asciz "mywh_SYSSTATE_IDLE" - .balign 4 - .global MOD83_0223B704 + .balign 4 + .global MOD83_0223B704 MOD83_0223B704: ; 0x0223B704 - .asciz "mywh_SYSSTATE_BUSY" + .asciz "mywh_SYSSTATE_BUSY" - .balign 4 - .global MOD83_0223B718 + .balign 4 + .global MOD83_0223B718 MOD83_0223B718: ; 0x0223B718 - .asciz "mywh_SYSSTATE_STOP" + .asciz "mywh_SYSSTATE_STOP" - .balign 4 - .global MOD83_0223B72C + .balign 4 + .global MOD83_0223B72C MOD83_0223B72C: ; 0x0223B72C - .asciz "mywh_SYSSTATE_ERROR" + .asciz "mywh_SYSSTATE_ERROR" - .balign 4 - .global MOD83_0223B740 + .balign 4 + .global MOD83_0223B740 MOD83_0223B740: ; 0x0223B740 - .asciz "mywh_SYSSTATE_SCANNING" + .asciz "mywh_SYSSTATE_SCANNING" - .balign 4 - .global MOD83_0223B758 + .balign 4 + .global MOD83_0223B758 MOD83_0223B758: ; 0x0223B758 - .asciz "mywh_SYSSTATE_CONNECTED" + .asciz "mywh_SYSSTATE_CONNECTED" - .balign 4 - .global MOD83_0223B770 + .balign 4 + .global MOD83_0223B770 MOD83_0223B770: ; 0x0223B770 - .asciz "mywh_SYSSTATE_KEYSHARING" + .asciz "mywh_SYSSTATE_KEYSHARING" - .balign 4 - .global MOD83_0223B78C + .balign 4 + .global MOD83_0223B78C MOD83_0223B78C: ; 0x0223B78C - .asciz "mywh_SYSSTATE_DATASHARING" + .asciz "mywh_SYSSTATE_DATASHARING" - .balign 4 - .global MOD83_0223B7A8 + .balign 4 + .global MOD83_0223B7A8 MOD83_0223B7A8: ; 0x0223B7A8 - .asciz "mywh_SYSSTATE_CONNECT_FAIL" + .asciz "mywh_SYSSTATE_CONNECT_FAIL" - .balign 4 - .global MOD83_0223B7C4 + .balign 4 + .global MOD83_0223B7C4 MOD83_0223B7C4: ; 0x0223B7C4 - .asciz "mywh_SYSSTATE_MEASURECHANNEL" + .asciz "mywh_SYSSTATE_MEASURECHANNEL" - .balign 4 - .global MOD83_0223B7E4 + .balign 4 + .global MOD83_0223B7E4 MOD83_0223B7E4: ; 0x0223B7E4 - .word MOD83_0223B718, MOD83_0223B6F0, MOD83_0223B740, MOD83_0223B704 - .word MOD83_0223B758, MOD83_0223B78C, MOD83_0223B770, MOD83_0223B7C4 - .word MOD83_0223B7A8, MOD83_0223B72C + .word MOD83_0223B718, MOD83_0223B6F0, MOD83_0223B740, MOD83_0223B704 + .word MOD83_0223B758, MOD83_0223B78C, MOD83_0223B770, MOD83_0223B7C4 + .word MOD83_0223B7A8, MOD83_0223B72C - .global MOD83_0223B80C + .global MOD83_0223B80C MOD83_0223B80C: ; 0x0223B80C - .asciz "%s -> " + .asciz "%s -> " - .balign 4 - .global MOD83_0223B814 + .balign 4 + .global MOD83_0223B814 MOD83_0223B814: ; 0x0223B814 - .asciz "%s\n" + .asciz "%s\n" - .balign 4 - .global MOD83_0223B818 + .balign 4 + .global MOD83_0223B818 MOD83_0223B818: ; 0x0223B818 - .asciz "not my parent ggid (%d != %d)\n" + .asciz "not my parent ggid (%d != %d)\n" - .balign 4 - .global MOD83_0223B838 + .balign 4 + .global MOD83_0223B838 MOD83_0223B838: ; 0x0223B838 - .asciz "ADAE" + .asciz "ADAE" - .balign 4 - .global MOD83_0223B840 + .balign 4 + .global MOD83_0223B840 MOD83_0223B840: ; 0x0223B840 - .asciz "Sx439tCkbrWyR8X2" + .asciz "Sx439tCkbrWyR8X2" - .balign 4 - .global MOD83_0223B854 + .balign 4 + .global MOD83_0223B854 MOD83_0223B854: ; 0x0223B854 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .bss - .global MOD83_0223B860 + .bss + .global MOD83_0223B860 MOD83_0223B860: ; 0x0223B860 - .space 0x10 + .space 0x10 - .global MOD83_0223B870 + .global MOD83_0223B870 MOD83_0223B870: ; 0x0223B870 - .space 0x14 + .space 0x14 - .global MOD83_0223B884 + .global MOD83_0223B884 MOD83_0223B884: ; 0x0223B884 - .space 0x4 + .space 0x4 - .global MOD83_0223B888 + .global MOD83_0223B888 MOD83_0223B888: ; 0x0223B888 - .space 0x14 + .space 0x14 - .global MOD83_0223B89C + .global MOD83_0223B89C MOD83_0223B89C: ; 0x0223B89C - .space 0x4 + .space 0x4 - .global MOD83_0223B8A0 + .global MOD83_0223B8A0 MOD83_0223B8A0: ; 0x0223B8A0 - .space 0x274 + .space 0x274 - .global MOD83_0223BB14 + .global MOD83_0223BB14 MOD83_0223BB14: ; 0x0223BB14 - .space 0x4 + .space 0x4 - .global MOD83_0223BB18 + .global MOD83_0223BB18 MOD83_0223BB18: ; 0x0223BB18 - .space 0x10 + .space 0x10 - .global MOD83_0223BB28 + .global MOD83_0223BB28 MOD83_0223BB28: ; 0x0223BB28 - .space 0x8 + .space 0x8 - .global MOD83_0223BB30 + .global MOD83_0223BB30 MOD83_0223BB30: ; 0x0223BB30 - .space 0x68 + .space 0x68 - .global MOD83_0223BB98 + .global MOD83_0223BB98 MOD83_0223BB98: ; 0x0223BB98 - .space 0x94 + .space 0x94 - .global heap_id + .global heap_id heap_id: ; 0x0223BC2C - .space 0x4 + .space 0x4 - .global MOD83_0223BC30 + .global MOD83_0223BC30 MOD83_0223BC30: ; 0x0223BC30 - .space 0x30 + .space 0x30 - .global MOD83_0223BC60 + .global MOD83_0223BC60 MOD83_0223BC60: ; 0x0223BC60 - .space 0x4 + .space 0x4 - .global MOD83_0223BC64 + .global MOD83_0223BC64 MOD83_0223BC64: ; 0x0223BC64 - .space 0x1CC + .space 0x1CC - .global MOD83_0223BE30 + .global MOD83_0223BE30 MOD83_0223BE30: ; 0x0223BE30 - .space 0xC80 + .space 0xC80 - .global MOD83_0223CAB0 + .global MOD83_0223CAB0 MOD83_0223CAB0: ; 0x0223CAB0 - .space 0x24 + .space 0x24 - .global MOD83_0223CAD4 + .global MOD83_0223CAD4 MOD83_0223CAD4: ; 0x0223CAD4 - .space 0x8 + .space 0x8 - .global MOD83_0223CADC + .global MOD83_0223CADC MOD83_0223CADC: ; 0x0223CADC - .space 0x10 + .space 0x10 - .global MOD83_0223CAEC + .global MOD83_0223CAEC MOD83_0223CAEC: ; 0x0223CAEC - .space 0x6F4 + .space 0x6F4 diff --git a/arm9/src/unk_02022450.c b/arm9/src/unk_02022450.c index 3425384e..7984fcc2 100644 --- a/arm9/src/unk_02022450.c +++ b/arm9/src/unk_02022450.c @@ -35,11 +35,11 @@ THUMB_FUNC void FUN_02022450 () { } THUMB_FUNC void Reset_To_File (const char* path) { - FSFile file; - FS_InitFile(&file); - if (FS_OpenFile(&file, path)) { - *(u32*)HW_ROM_BASE_OFFSET_BUF = file.prop.file.top; - OS_ResetSystem(0); - } - return; + FSFile file; + FS_InitFile(&file); + if (FS_OpenFile(&file, path)) { + *(u32*)HW_ROM_BASE_OFFSET_BUF = file.prop.file.top; + OS_ResetSystem(0); + } + return; } |