diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_1.s | 72 | ||||
-rw-r--r-- | asm/battle_9.s | 171 | ||||
-rw-r--r-- | asm/cute_sketch.s | 1 | ||||
-rw-r--r-- | asm/nakamura_debug_menu.s | 4686 | ||||
-rw-r--r-- | asm/nohara_debug_menu.s | 2198 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 144 | ||||
-rw-r--r-- | asm/taya_debug_window.s | 2054 | ||||
-rw-r--r-- | asm/tomomichi_debug_menu.s | 8100 | ||||
-rw-r--r-- | asm/unk_debug_menu_3.s | 747 | ||||
-rw-r--r-- | asm/watanabe_debug_menu.s | 9578 |
10 files changed, 27750 insertions, 1 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s index 980bd6a65..cd925e10d 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -794,6 +794,77 @@ _0800DAB0: .4byte 0x0600d000 _0800DAB4: .4byte gBattleTerrainPalette_BattleTower thumb_func_end DrawMainBattleBackground +.if DEBUG + thumb_func_start sub_800DAB8 +sub_800DAB8: +.syntax divided + push {r4, r5, lr} + add sp, sp, #0xfffffffc + ldr r0, ._113 @ gUnknown_08D00000 + mov r1, #0xc0 + lsl r1, r1, #0x13 + bl LZDecompressVram + ldr r0, ._113 + 4 @ gUnknown_08D00524 + ldr r4, ._113 + 8 @ 0x600c000 + mov r2, #0x80 + lsl r2, r2, #0x4 + add r1, r4, #0 + bl CpuSet + ldr r0, ._113 + 12 @ gUnknown_08D004E0 + mov r1, #0x0 + mov r2, #0x40 + bl LoadCompressedPalette + bl sub_800D74C + bl DrawMainBattleBackground + ldr r0, ._113 + 16 @ gBattleTypeFlags + ldrh r1, [r0] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._112 @cond_branch + ldr r0, ._113 + 20 @ 0x6000600 + mov r1, #0x0 + add r2, r4, #0 + mov r3, #0x1 + bl debug_sub_8008218 + ldr r5, ._113 + 24 @ 0x101 + mov r4, #0x1 + str r4, [sp] + add r0, r5, #0 + mov r1, #0x3 + mov r2, #0x1 + mov r3, #0x3 + bl debug_sub_8008264 + str r4, [sp] + add r0, r5, #0 + mov r1, #0x3 + mov r2, #0x15 + mov r3, #0x3 + bl debug_sub_8008264 + str r4, [sp] + add r0, r5, #0 + mov r1, #0x3 + mov r2, #0x29 + mov r3, #0x3 + bl debug_sub_8008264 +._112: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._114: + .align 2, 0 +._113: + .word gUnknown_08D00000 + .word gUnknown_08D00524 + .word 0x600c000 + .word gUnknown_08D004E0 + .word gBattleTypeFlags + .word 0x6000600 + .word 0x101 +.syntax unified + thumb_func_end sub_800DAB8 +.else thumb_func_start sub_800DAB8 sub_800DAB8: @ 800DAB8 push {lr} @@ -820,6 +891,7 @@ _0800DAEC: .4byte gUnknown_08D00524 _0800DAF0: .4byte 0x0600c000 _0800DAF4: .4byte gUnknown_08D004E0 thumb_func_end sub_800DAB8 +.endif thumb_func_start sub_800DAF8 sub_800DAF8: @ 800DAF8 diff --git a/asm/battle_9.s b/asm/battle_9.s index 9dbb7c619..3f162df12 100644 --- a/asm/battle_9.s +++ b/asm/battle_9.s @@ -1387,6 +1387,176 @@ _08036AFE: bx r1 thumb_func_end AI_ShouldSwitch +.if DEBUG + thumb_func_start sub_8036B0C +sub_8036B0C: +.syntax divided + push {r4, r5, r6, lr} + ldr r5, ._205 @ gBattleTypeFlags + ldrh r1, [r5] + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + bne ._197 @cond_branch + b ._216 +._197: + bl AI_ShouldSwitch + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._199 @cond_branch + b ._200 +._199: + ldr r4, ._205 + 4 @ 0x2000000 + ldr r0, ._205 + 8 @ gActiveBank + ldrb r0, [r0] + bl GetBankIdentity + lsl r0, r0, #0x18 + lsr r0, r0, #0x19 + ldr r1, ._205 + 12 @ 0x160c8 + add r0, r0, r1 + add r0, r0, r4 + ldrb r0, [r0] + cmp r0, #0x6 + bne ._201 @cond_branch + bl sub_8036CD4 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + bne ._211 @cond_branch + ldrh r1, [r5] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + bne ._203 @cond_branch + mov r0, #0x1 + bl GetBankByIdentity + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r6, r5, #0 + b ._204 +._206: + .align 2, 0 +._205: + .word gBattleTypeFlags + .word 0x2000000 + .word gActiveBank + .word 0x160c8 +._203: + mov r0, #0x1 + bl GetBankByIdentity + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + mov r0, #0x3 + bl GetBankByIdentity + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 +._204: + mov r4, #0x0 +._212: + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._214 @ gEnemyParty + add r0, r0, r1 + mov r1, #0x39 + bl GetMonData + cmp r0, #0 + beq ._210 @cond_branch + ldr r1, ._214 + 4 @ gBattlePartyID + lsl r0, r6, #0x1 + add r0, r0, r1 + ldrh r0, [r0] + cmp r4, r0 + beq ._210 @cond_branch + lsl r0, r5, #0x1 + add r0, r0, r1 + ldrh r0, [r0] + cmp r4, r0 + beq ._210 @cond_branch + ldr r1, ._214 + 8 @ 0x2000000 + ldr r2, ._214 + 12 @ 0x16068 + add r0, r6, r2 + add r0, r0, r1 + ldrb r0, [r0] + cmp r4, r0 + beq ._210 @cond_branch + add r0, r5, r2 + add r0, r0, r1 + ldrb r0, [r0] + cmp r4, r0 + bne ._211 @cond_branch +._210: + add r4, r4, #0x1 + cmp r4, #0x5 + ble ._212 @cond_branch +._211: + ldr r0, ._214 + 16 @ gActiveBank + ldrb r0, [r0] + bl GetBankIdentity + ldr r1, ._214 + 8 @ 0x2000000 + lsl r0, r0, #0x18 + lsr r0, r0, #0x19 + ldr r3, ._214 + 20 @ 0x160c8 + add r0, r0, r3 + add r0, r0, r1 + strb r4, [r0] +._201: + ldr r4, ._214 + 16 @ gActiveBank + ldrb r0, [r4] + bl GetBankIdentity + ldr r2, ._214 + 8 @ 0x2000000 + ldrb r1, [r4] + ldr r3, ._214 + 12 @ 0x16068 + add r1, r1, r3 + add r1, r1, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x19 + add r3, r3, #0x60 + add r0, r0, r3 + add r0, r0, r2 + ldrb r0, [r0] + strb r0, [r1] + b ._217 +._215: + .align 2, 0 +._214: + .word gEnemyParty + .word gBattlePartyID + .word 0x2000000 + .word 0x16068 + .word gActiveBank + .word 0x160c8 +._200: + ldr r0, ._218 @ gUnknown_02023A14 + ldrb r1, [r0] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + bne ._216 @cond_branch + bl AI_ShouldUseItem + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._217 @cond_branch +._216: + ldr r0, ._218 + 4 @ gActiveBank + ldrb r0, [r0] + mov r2, #0x1 + eor r2, r2, r0 + lsl r2, r2, #0x8 + mov r0, #0x1 + mov r1, #0x0 + bl Emitcmd33 +._217: + pop {r4, r5, r6} + pop {r0} + bx r0 +._219: + .align 2, 0 +._218: + .word gUnknown_02023A14+0x50 + .word gActiveBank +.syntax unified + thumb_func_end sub_8036B0C +.else thumb_func_start sub_8036B0C sub_8036B0C: @ 8036B0C push {r4-r6,lr} @@ -1540,6 +1710,7 @@ _08036C40: .align 2, 0 _08036C48: .4byte gActiveBank thumb_func_end sub_8036B0C +.endif thumb_func_start sub_8036C4C sub_8036C4C: @ 8036C4C diff --git a/asm/cute_sketch.s b/asm/cute_sketch.s index 8cb6cdbd8..bc72a6ef5 100644 --- a/asm/cute_sketch.s +++ b/asm/cute_sketch.s @@ -5,7 +5,6 @@ .text - thumb_func_start sub_80FCB5C sub_80FCB5C: @ 80FCB5C push {r4-r7,lr} diff --git a/asm/nakamura_debug_menu.s b/asm/nakamura_debug_menu.s new file mode 100644 index 000000000..21092fe4b --- /dev/null +++ b/asm/nakamura_debug_menu.s @@ -0,0 +1,4686 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start debug_sub_815F1B8 +debug_sub_815F1B8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0xe + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._1 @ _843E3DC + mov r0, #0x10 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xe + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0xf + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + add sp, sp, #0x8 + pop {r0} + bx r0 +._2: + .align 2, 0 +._1: + .word _843E3DC + + thumb_func_end debug_sub_815F1B8 + + thumb_func_start InitNakamuraDebugMenu +InitNakamuraDebugMenu: + push {lr} + bl debug_sub_815F1B8 + ldr r1, ._3 @ gMenuCallback + ldr r0, ._3 + 4 @ debug_sub_815F214 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._4: + .align 2, 0 +._3: + .word gMenuCallback + .word debug_sub_815F214+1 + + thumb_func_end InitNakamuraDebugMenu + + thumb_func_start debug_sub_815F214 +debug_sub_815F214: + push {r4, lr} + ldr r4, ._9 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._5 @cond_branch + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor +._5: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._6 @cond_branch + mov r0, #0x1 + bl Menu_MoveCursor +._6: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._7 @cond_branch + ldr r4, ._9 + 4 @ _843E3DC + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x15 + add r4, r4, #0x4 + add r0, r0, r4 + ldr r4, [r0] + bl Menu_DestroyCursor + bl _call_via_r4 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._12 +._10: + .align 2, 0 +._9: + .word gMain + .word _843E3DC +._7: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._11 @cond_branch + mov r0, #0x0 + b ._12 +._11: + bl CloseMenu + mov r0, #0x1 +._12: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_815F214 + + thumb_func_start debug_sub_815F284 +debug_sub_815F284: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, ._14 @ gPaletteFade + ldrb r1, [r0, #0x7] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + bne ._13 @cond_branch + bl debug_sub_81381B4 + mov r0, #0x5 + mov r1, #0x0 + bl OpenPartyMenu + add r0, r4, #0 + bl DestroyTask +._13: + pop {r4} + pop {r0} + bx r0 +._15: + .align 2, 0 +._14: + .word gPaletteFade + + thumb_func_end debug_sub_815F284 + + thumb_func_start debug_sub_815F2B4 +debug_sub_815F2B4: + push {lr} + add sp, sp, #0xfffffffc + bl CloseMenu + bl Menu_EraseScreen + ldr r1, ._16 @ gMain + ldr r0, ._16 + 4 @ sub_805469C + str r0, [r1, #0x8] + ldr r0, ._16 + 8 @ debug_sub_815F284 + mov r1, #0x0 + bl CreateTask + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + mov r0, #0x1 + add sp, sp, #0x4 + pop {r1} + bx r1 +._17: + .align 2, 0 +._16: + .word gMain + .word sub_805469C+1 + .word debug_sub_815F284+1 + + thumb_func_end debug_sub_815F2B4 + + thumb_func_start debug_sub_815F2F4 +debug_sub_815F2F4: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffffc + bl CloseMenu + mov r7, #0x1 +._34: + lsl r1, r7, #0x2 + add r0, r1, r7 + lsl r2, r0, #0x5 + ldr r3, ._24 @ gSaveBlock1 + add r0, r2, r3 + ldr r5, ._24 + 4 @ 0x1a08 + add r0, r0, r5 + ldrb r0, [r0] + mov r9, r1 + add r1, r7, #1 + str r1, [sp] + cmp r0, #0 + beq ._18 @cond_branch + b ._19 +._18: + mov r5, #0x0 + ldr r6, ._24 + 8 @ gSaveBlock2 + add r4, r7, #0 + sub r4, r4, #0x46 + ldr r3, ._24 + 12 @ gSaveBlock1 +._21: + add r1, r5, r2 + add r1, r1, r3 + add r0, r5, r6 + ldrb r0, [r0] + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0xff + beq ._20 @cond_branch + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x6 + bls ._21 @cond_branch +._20: + cmp r5, #0x7 + bne ._22 @cond_branch + add r0, r2, #6 + b ._23 +._25: + .align 2, 0 +._24: + .word gSaveBlock1 + .word 0x1a08 + .word gSaveBlock2 + .word gSaveBlock1+0x1a0a +._22: + add r0, r5, r2 +._23: + add r0, r0, r3 + strb r4, [r0] + ldr r1, ._35 @ gSaveBlock1 + ldr r2, ._35 + 4 @ 0x1a08 + add r2, r2, r1 + mov sl, r2 + mov r3, r9 + add r0, r3, r7 + lsl r6, r0, #0x5 + add r1, r6, r1 + ldr r5, ._35 + 4 @ 0x1a08 + add r5, r5, r1 + mov r8, r5 +._30: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x4b + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0xe + ldr r1, ._35 + 8 @ _843E424 + add r0, r0, r1 + ldrb r0, [r0] + mov r2, r8 + strb r0, [r2] + mov r5, #0x0 + cmp r5, r7 + bcs ._28 @cond_branch + mov r3, sl + ldrb r3, [r3] + cmp r0, r3 + beq ._28 @cond_branch + ldr r4, ._35 @ gSaveBlock1 + add r0, r6, r4 + ldr r2, ._35 + 4 @ 0x1a08 + add r3, r0, r2 +._29: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r7 + bcs ._28 @cond_branch + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x5 + add r0, r0, r4 + add r0, r0, r2 + ldrb r1, [r3] + ldrb r0, [r0] + cmp r1, r0 + bne ._29 @cond_branch +._28: + cmp r5, r7 + bne ._30 @cond_branch + bl Random + mov r5, r9 + add r4, r5, r7 + lsl r4, r4, #0x5 + ldr r1, ._35 @ gSaveBlock1 + add r3, r4, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x1 + ldr r2, ._35 + 12 @ 0x1a09 + add r3, r3, r2 + and r0, r0, r1 + lsl r0, r0, #0x4 + ldrb r1, [r3] + mov r5, #0x11 + neg r5, r5 + add r2, r5, #0 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3] + mov r5, #0x0 + ldr r6, ._35 + 16 @ gSaveBlock1 +._31: + bl Random + add r1, r5, r4 + add r1, r1, r6 + strb r0, [r1] + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x3 + bls ._31 @cond_branch + mov r5, #0x0 + mov r1, r9 + add r0, r1, r7 + lsl r4, r0, #0x5 + ldr r3, ._35 + 20 @ gSaveBlock1 + mov r2, #0x0 + add r6, r3, #0 + add r6, r6, #0x10 +._32: + add r1, r5, r4 + add r0, r1, r3 + strb r2, [r0] + add r1, r1, r6 + strb r2, [r1] + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0xf + bls ._32 @cond_branch + add r0, r7, #0 + bl unref_sub_80BCD7C +._19: + ldr r2, [sp] + lsl r0, r2, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x13 + bhi ._33 @cond_branch + b ._34 +._33: + mov r0, #0x1 + add sp, sp, #0x4 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._36: + .align 2, 0 +._35: + .word gSaveBlock1 + .word 0x1a08 + .word _843E424 + .word 0x1a09 + .word gSaveBlock1+0x1a11 + .word gSaveBlock1+0x1a1a + + thumb_func_end debug_sub_815F2F4 + + thumb_func_start debug_sub_815F470 +debug_sub_815F470: + push {r4, r5, r6, r7, lr} + add r6, r0, #0 + add r7, r1, #0 + mov ip, r2 + ldr r2, ._39 @ gSaveBlock1 + ldr r0, ._39 + 4 @ _nakamuraData0 + ldrb r1, [r0] + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r0, r0, #0x5 + add r0, r0, r2 + ldr r1, ._39 + 8 @ 0x1a08 + add r0, r0, r1 + ldrb r4, [r0] + mov r2, #0x0 + ldr r3, ._39 + 12 @ _843E424 + add r5, r3, #0 +._41: + lsl r1, r2, #0x2 + add r0, r1, r5 + ldrb r0, [r0] + cmp r0, r4 + bne ._37 @cond_branch + add r0, r1, #1 + add r0, r0, r3 + ldrb r0, [r0] + strb r0, [r6] + add r0, r1, #2 + add r0, r0, r3 + ldrb r0, [r0] + strb r0, [r7] + add r0, r1, #3 + add r0, r0, r3 + ldrb r0, [r0] + mov r1, ip + strb r0, [r1] + b ._38 +._40: + .align 2, 0 +._39: + .word gSaveBlock1 + .word _nakamuraData0 + .word 0x1a08 + .word _843E424 +._37: + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x4a + bls ._41 @cond_branch +._38: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_sub_815F470 + + thumb_func_start debug_sub_815F4D8 +debug_sub_815F4D8: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffffc + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0xa + bl Menu_BlankWindowRect + ldr r6, ._43 @ gStringVar1 + ldr r7, ._43 + 4 @ _nakamuraData0 + ldrb r1, [r7] + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r2, ._43 + 8 @ gSaveBlock1 + ldrb r1, [r7] + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r0, r0, #0x5 + add r0, r0, r2 + ldr r1, ._43 + 12 @ 0x1a08 + add r0, r0, r1 + ldrb r0, [r0] + cmp r0, #0 + beq ._42 @cond_branch + mov r4, sp + add r4, r4, #0x1 + mov r5, sp + add r5, r5, #0x2 + mov r0, sp + add r1, r4, #0 + add r2, r5, #0 + bl debug_sub_815F470 + ldrb r1, [r7] + add r0, r6, #0 + bl sub_80BC190 + add r0, r6, #0 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintText + ldr r0, ._43 + 16 @ Str_843E550 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintText + mov r0, sp + ldrb r1, [r0] + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + ldr r0, ._43 + 20 @ Str_843E552 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintText + ldrb r1, [r4] + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x3 + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._43 + 24 @ Str_843E554 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintText + ldrb r1, [r5] + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x3 + mov r2, #0x9 + bl Menu_PrintText +._42: + add sp, sp, #0x4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._44: + .align 2, 0 +._43: + .word gStringVar1 + .word _nakamuraData0 + .word gSaveBlock1 + .word 0x1a08 + .word Str_843E550 + .word Str_843E552 + .word Str_843E554 + + thumb_func_end debug_sub_815F4D8 + + thumb_func_start debug_sub_815F5C4 +debug_sub_815F5C4: + push {lr} + ldr r0, ._48 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + cmp r2, #0 + beq ._45 @cond_branch + ldr r1, ._48 + 4 @ _nakamuraData0 + ldrb r0, [r1] + cmp r0, #0 + bne ._46 @cond_branch + mov r0, #0x13 + b ._50 +._49: + .align 2, 0 +._48: + .word gMain + .word _nakamuraData0 +._46: + sub r0, r0, #0x1 + b ._50 +._45: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._51 @cond_branch + ldr r1, ._54 @ _nakamuraData0 + ldrb r0, [r1] + cmp r0, #0x13 + bne ._52 @cond_branch + strb r2, [r1] + b ._53 +._55: + .align 2, 0 +._54: + .word _nakamuraData0 +._52: + add r0, r0, #0x1 +._50: + strb r0, [r1] +._53: + bl debug_sub_815F4D8 + mov r0, #0x0 + b ._58 +._51: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._57 @cond_branch + mov r0, #0x0 + b ._58 +._57: + bl CloseMenu + mov r0, #0x1 +._58: + pop {r1} + bx r1 + + thumb_func_end debug_sub_815F5C4 + + thumb_func_start debug_sub_815F62C +debug_sub_815F62C: + push {lr} + ldr r1, ._59 @ _nakamuraData0 + mov r0, #0x0 + strb r0, [r1] + ldr r1, ._59 + 4 @ gMenuCallback + ldr r0, ._59 + 8 @ debug_sub_815F5C4 + str r0, [r1] + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0xb + bl Menu_DrawStdWindowFrame + bl debug_sub_815F4D8 + mov r0, #0x0 + pop {r1} + bx r1 +._60: + .align 2, 0 +._59: + .word _nakamuraData0 + .word gMenuCallback + .word debug_sub_815F5C4+1 + + thumb_func_end debug_sub_815F62C + + thumb_func_start debug_sub_815F668 +debug_sub_815F668: + push {r4, r5, r6, lr} + ldr r0, ._61 @ _nakamuraData0 + ldrb r0, [r0] + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x5 + ldr r0, ._61 + 4 @ gSaveBlock1 + add r1, r1, r0 + ldrb r4, [r1, #0x3] + lsl r4, r4, #0x18 + ldrb r0, [r1, #0x2] + lsl r0, r0, #0x10 + orr r4, r4, r0 + ldrb r0, [r1, #0x1] + lsl r0, r0, #0x8 + orr r4, r4, r0 + ldrb r0, [r1] + orr r4, r4, r0 + ldr r5, ._61 + 8 @ gStringVar1 + ldr r6, ._61 + 12 @ 0x186a0 + add r0, r4, #0 + add r1, r6, #0 + bl __udivsi3 + add r1, r0, #0 + add r0, r5, #0 + mov r2, #0x2 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r5, #0 + mov r1, #0x2 + mov r2, #0x7 + bl Menu_PrintText + add r0, r4, #0 + add r1, r6, #0 + bl __umodsi3 + add r1, r0, #0 + add r0, r5, #0 + mov r2, #0x2 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r5, #0 + mov r1, #0x7 + mov r2, #0x7 + bl Menu_PrintText + pop {r4, r5, r6} + pop {r0} + bx r0 +._62: + .align 2, 0 +._61: + .word _nakamuraData0 + .word gSaveBlock1+0x1a11 + .word gStringVar1 + .word 0x186a0 + + thumb_func_end debug_sub_815F668 + + thumb_func_start debug_sub_815F6E4 +debug_sub_815F6E4: + push {r4, lr} + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0xb + mov r3, #0x4 + bl Menu_BlankWindowRect + ldr r4, ._63 @ gStringVar1 + ldr r0, ._63 + 4 @ _nakamuraData0 + ldrb r0, [r0] + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x5 + ldr r0, ._63 + 8 @ gSaveBlock1 + add r1, r1, r0 + add r0, r4, #0 + mov r2, #0x7 + bl StringCopyN + mov r1, #0xff + strb r1, [r0] + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + pop {r4} + pop {r0} + bx r0 +._64: + .align 2, 0 +._63: + .word gStringVar1 + .word _nakamuraData0 + .word gSaveBlock1+0x1a0a + + thumb_func_end debug_sub_815F6E4 + + thumb_func_start debug_sub_815F72C +debug_sub_815F72C: + push {r4, r5, lr} + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0xb + mov r3, #0xa + bl Menu_BlankWindowRect + ldr r4, ._66 @ gStringVar1 + ldr r5, ._66 + 4 @ _nakamuraData0 + ldrb r1, [r5] + add r0, r4, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + ldr r2, ._66 + 8 @ gSaveBlock1 + ldrb r1, [r5] + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r0, r0, #0x5 + add r0, r0, r2 + ldr r1, ._66 + 12 @ 0x1a08 + add r0, r0, r1 + ldrb r0, [r0] + cmp r0, #0 + beq ._65 @cond_branch + bl debug_sub_815F6E4 + bl debug_sub_815F668 +._65: + pop {r4, r5} + pop {r0} + bx r0 +._67: + .align 2, 0 +._66: + .word gStringVar1 + .word _nakamuraData0 + .word gSaveBlock1 + .word 0x1a08 + + thumb_func_end debug_sub_815F72C + + thumb_func_start debug_sub_815F788 +debug_sub_815F788: + push {lr} + mov r0, #0x2 + mov r1, #0x5 + mov r2, #0xb + mov r3, #0x6 + bl Menu_BlankWindowRect + ldr r0, ._68 @ Str_843E574 + ldr r1, ._68 + 4 @ _nakamuraData2 + ldrb r1, [r1] + add r1, r1, #0x2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + mov r2, #0x5 + bl Menu_PrintText + pop {r0} + bx r0 +._69: + .align 2, 0 +._68: + .word Str_843E574 + .word _nakamuraData2 + + thumb_func_end debug_sub_815F788 + + thumb_func_start debug_sub_815F7B4 +debug_sub_815F7B4: + push {lr} + ldr r0, ._72 @ _nakamuraData1 + ldrb r0, [r0] + cmp r0, #0 + beq ._70 @cond_branch + mov r0, #0xb + mov r1, #0x1 + mov r2, #0xb + mov r3, #0x2 + bl Menu_BlankWindowRect + b ._71 +._73: + .align 2, 0 +._72: + .word _nakamuraData1 +._70: + ldr r0, ._74 @ _nakamuraData3 + ldrb r0, [r0] + lsl r0, r0, #0x1 + ldr r1, ._74 + 4 @ Str_843E576 + add r0, r0, r1 + mov r1, #0xb + mov r2, #0x1 + bl Menu_PrintText +._71: + pop {r0} + bx r0 +._75: + .align 2, 0 +._74: + .word _nakamuraData3 + .word Str_843E576 + + thumb_func_end debug_sub_815F7B4 + + thumb_func_start debug_sub_815F7F0 +debug_sub_815F7F0: + push {r4, r5, lr} + ldr r1, ._78 @ _nakamuraData0 + ldrb r2, [r1] + lsl r1, r2, #0x2 + add r1, r1, r2 + lsl r1, r1, #0x5 + ldr r2, ._78 + 4 @ gSaveBlock1 + add r3, r1, r2 + ldrb r1, [r3, #0x3] + lsl r2, r1, #0x18 + ldrb r1, [r3, #0x2] + lsl r1, r1, #0x10 + orr r2, r2, r1 + ldrb r1, [r3, #0x1] + lsl r1, r1, #0x8 + orr r2, r2, r1 + ldrb r1, [r3] + orr r2, r2, r1 + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r4, #0x9 + ldr r0, ._78 + 8 @ _nakamuraData2 + ldrb r0, [r0] + cmp r4, r0 + ble ._76 @cond_branch + add r5, r0, #0 +._77: + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r1, r0, #0x1 + lsl r0, r4, #0x18 + mov r4, #0xff + lsl r4, r4, #0x18 + add r0, r0, r4 + lsr r4, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, r5 + bgt ._77 @cond_branch +._76: + add r2, r2, r1 + lsr r0, r2, #0x18 + strb r0, [r3, #0x3] + mov r0, #0xff + lsl r0, r0, #0x10 + and r0, r0, r2 + lsr r0, r0, #0x10 + strb r0, [r3, #0x2] + mov r0, #0xff + lsl r0, r0, #0x8 + and r0, r0, r2 + lsr r0, r0, #0x8 + strb r0, [r3, #0x1] + strb r2, [r3] + bl debug_sub_815F668 + pop {r4, r5} + pop {r0} + bx r0 +._79: + .align 2, 0 +._78: + .word _nakamuraData0 + .word gSaveBlock1+0x1a11 + .word _nakamuraData2 + + thumb_func_end debug_sub_815F7F0 + + thumb_func_start debug_sub_815F86C +debug_sub_815F86C: + push {r4, r5, r6, lr} + lsl r0, r0, #0x18 + ldr r1, ._84 @ _nakamuraData0 + ldrb r2, [r1] + lsl r1, r2, #0x2 + add r1, r1, r2 + lsl r1, r1, #0x5 + ldr r2, ._84 + 4 @ gSaveBlock1 + add r5, r1, r2 + mov r2, #0x0 + mov r3, #0x0 + lsr r6, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x64 + bne ._80 @cond_branch + ldr r0, ._84 + 8 @ _nakamuraData2 + ldrb r1, [r0] + cmp r1, #0x6 + bhi ._100 @cond_branch + mov r2, #0xff +._82: + add r0, r5, r1 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x6 + bls ._82 @cond_branch + b ._100 +._85: + .align 2, 0 +._84: + .word _nakamuraData0 + .word gSaveBlock1+0x1a0a + .word _nakamuraData2 +._80: + ldr r0, ._87 @ _nakamuraData3 + ldrb r0, [r0] + cmp r0, #0x4 + bhi ._98 @cond_branch + lsl r0, r0, #0x2 + ldr r1, ._87 + 4 @ + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._88: + .align 2, 0 +._87: + .word _nakamuraData3 + .word ._89 +._89: + .word ._90 + .word ._91 + .word ._92 + .word ._93 + .word ._94 +._90: + mov r3, #0x1 + mov r2, #0x50 + b ._98 +._91: + mov r3, #0x51 + mov r2, #0xa0 + b ._98 +._92: + mov r3, #0xbb + mov r2, #0xd4 + b ._98 +._93: + mov r3, #0xd5 + mov r2, #0xee + b ._98 +._94: + mov r3, #0xa1 + mov r2, #0xaa +._98: + ldr r4, ._101 @ _nakamuraData2 + ldrb r1, [r4] + add r1, r5, r1 + ldrb r0, [r1] + add r0, r0, r6 + strb r0, [r1] + ldrb r0, [r4] + add r1, r5, r0 + ldrb r0, [r1] + cmp r0, r3 + bcs ._99 @cond_branch + strb r2, [r1] +._99: + ldrb r0, [r4] + add r1, r5, r0 + ldrb r0, [r1] + cmp r0, r2 + bls ._100 @cond_branch + strb r3, [r1] +._100: + bl debug_sub_815F6E4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._102: + .align 2, 0 +._101: + .word _nakamuraData2 + + thumb_func_end debug_sub_815F86C + + thumb_func_start debug_sub_815F930 +debug_sub_815F930: + push {r4, r5, lr} + ldr r0, ._107 @ _nakamuraData1 + ldrb r2, [r0] + mov r4, #0xa + cmp r2, #0 + bne ._103 @cond_branch + mov r4, #0x7 +._103: + ldr r5, ._107 + 4 @ gMain + ldrh r1, [r5, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._104 @cond_branch + cmp r2, #0 + beq ._105 @cond_branch + mov r0, #0x1 + bl debug_sub_815F7F0 + b ._136 +._108: + .align 2, 0 +._107: + .word _nakamuraData1 + .word gMain +._105: + mov r0, #0x1 + b ._113 +._104: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._110 @cond_branch + cmp r2, #0 + beq ._111 @cond_branch + mov r0, #0x1 + neg r0, r0 + bl debug_sub_815F7F0 + b ._136 +._111: + mov r0, #0x1 + neg r0, r0 + b ._113 +._110: + mov r0, #0x20 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0 + beq ._114 @cond_branch + ldr r1, ._117 @ _nakamuraData2 + ldrb r0, [r1] + cmp r0, #0 + bne ._115 @cond_branch + sub r0, r4, #1 + b ._116 +._118: + .align 2, 0 +._117: + .word _nakamuraData2 +._115: + sub r0, r0, #0x1 +._116: + strb r0, [r1] +._125: + bl debug_sub_815F788 + b ._136 +._114: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._120 @cond_branch + ldr r2, ._123 @ _nakamuraData2 + ldrb r1, [r2] + sub r0, r4, #1 + cmp r1, r0 + bne ._121 @cond_branch + strb r3, [r2] + b ._125 +._124: + .align 2, 0 +._123: + .word _nakamuraData2 +._121: + add r0, r1, #1 + strb r0, [r2] + b ._125 +._120: + ldrh r1, [r5, #0x2e] + mov r0, #0x4 + and r0, r0, r1 + cmp r0, #0 + beq ._126 @cond_branch + cmp r2, #0 + bne ._127 @cond_branch + ldr r4, ._129 @ _nakamuraData3 + ldrb r0, [r4] + add r0, r0, #0x1 + mov r1, #0x5 + bl __modsi3 + strb r0, [r4] +._127: + bl debug_sub_815F7B4 + b ._136 +._130: + .align 2, 0 +._129: + .word _nakamuraData3 +._126: + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._131 @cond_branch + mov r0, #0x2 + mov r1, #0x5 + mov r2, #0xb + mov r3, #0x6 + bl Menu_BlankWindowRect + mov r0, #0xb + mov r1, #0x1 + mov r2, #0xb + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r1, ._133 @ gMenuCallback + ldr r0, ._133 + 4 @ debug_sub_815FA38 + str r0, [r1] + b ._136 +._134: + .align 2, 0 +._133: + .word gMenuCallback + .word debug_sub_815FA38+1 +._131: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._136 @cond_branch + cmp r2, #0 + bne ._136 @cond_branch + mov r0, #0x64 +._113: + bl debug_sub_815F86C +._136: + mov r0, #0x0 + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_815F930 + + thumb_func_start debug_sub_815FA38 +debug_sub_815FA38: + push {r4, lr} + ldr r0, ._139 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._137 @cond_branch + mov r0, #0x2 + neg r0, r0 + b ._138 +._140: + .align 2, 0 +._139: + .word gMain +._137: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._141 @cond_branch + mov r0, #0x2 +._138: + bl Menu_MoveCursor +._161: + mov r0, #0x0 + b ._142 +._141: + mov r0, #0x20 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + cmp r2, #0 + beq ._143 @cond_branch + ldr r1, ._146 @ _nakamuraData0 + ldrb r0, [r1] + cmp r0, #0 + bne ._144 @cond_branch + mov r0, #0x13 + b ._148 +._147: + .align 2, 0 +._146: + .word _nakamuraData0 +._144: + sub r0, r0, #0x1 + b ._148 +._143: + mov r0, #0x10 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0 + beq ._149 @cond_branch + ldr r1, ._152 @ _nakamuraData0 + ldrb r0, [r1] + cmp r0, #0x13 + bne ._150 @cond_branch + strb r2, [r1] + b ._151 +._153: + .align 2, 0 +._152: + .word _nakamuraData0 +._150: + add r0, r0, #0x1 +._148: + strb r0, [r1] +._151: + bl debug_sub_815F72C + b ._161 +._149: + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._155 @cond_branch + ldr r1, ._159 @ _nakamuraData0 + ldrb r0, [r1] + cmp r0, #0 + beq ._161 @cond_branch + ldr r2, ._159 + 4 @ gSaveBlock1 + add r1, r0, #0 + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r0, r0, #0x5 + add r0, r0, r2 + ldr r1, ._159 + 8 @ 0x1a08 + add r0, r0, r1 + ldrb r0, [r0] + cmp r0, #0 + beq ._161 @cond_branch + bl Menu_GetCursorPos + ldr r1, ._159 + 12 @ _nakamuraData1 + strb r0, [r1] + ldr r0, ._159 + 16 @ _nakamuraData2 + strb r4, [r0] + bl debug_sub_815F788 + bl debug_sub_815F7B4 + ldr r1, ._159 + 20 @ gMenuCallback + ldr r0, ._159 + 24 @ debug_sub_815F930 + str r0, [r1] + b ._161 +._160: + .align 2, 0 +._159: + .word _nakamuraData0 + .word gSaveBlock1 + .word 0x1a08 + .word _nakamuraData1 + .word _nakamuraData2 + .word gMenuCallback + .word debug_sub_815F930+1 +._155: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._161 @cond_branch + bl CloseMenu + mov r0, #0x1 +._142: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_815FA38 + + thumb_func_start debug_sub_815FB1C +debug_sub_815FB1C: + push {lr} + add sp, sp, #0xfffffff8 + ldr r0, ._162 @ _nakamuraData0 + mov r1, #0x0 + strb r1, [r0] + ldr r0, ._162 + 4 @ _nakamuraData3 + strb r1, [r0] + ldr r1, ._162 + 8 @ gMenuCallback + ldr r0, ._162 + 12 @ debug_sub_815FA38 + str r0, [r1] + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0xb + bl Menu_DrawStdWindowFrame + bl debug_sub_815F72C + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x3 + bl InitMenu + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._163: + .align 2, 0 +._162: + .word _nakamuraData0 + .word _nakamuraData3 + .word gMenuCallback + .word debug_sub_815FA38+1 + + thumb_func_end debug_sub_815FB1C + + thumb_func_start debug_sub_815FB78 +debug_sub_815FB78: + push {lr} + ldr r0, ._166 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._164 @cond_branch + mov r0, #0x1 + neg r0, r0 + b ._165 +._167: + .align 2, 0 +._166: + .word gMain +._164: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._168 @cond_branch + mov r0, #0x1 +._165: + bl Menu_MoveCursor + mov r0, #0x0 + b ._177 +._168: + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._170 @cond_branch + bl CloseMenu + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0 + beq ._171 @cond_branch + cmp r0, #0x1 + beq ._172 @cond_branch + b ._175 +._171: + bl debug_sub_814A714 + b ._175 +._172: + bl ClearRoamerData + bl ClearRoamerLocationData + b ._175 +._170: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._176 @cond_branch + mov r0, #0x0 + b ._177 +._176: + bl CloseMenu +._175: + mov r0, #0x1 +._177: + pop {r1} + bx r1 + + thumb_func_end debug_sub_815FB78 + + thumb_func_start debug_sub_815FBE8 +debug_sub_815FBE8: + push {r4, lr} + add sp, sp, #0xfffffff8 + ldr r1, ._178 @ gMenuCallback + ldr r0, ._178 + 4 @ debug_sub_815FB78 + str r0, [r1] + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + ldr r4, ._178 + 8 @ gStringVar1 + add r0, r4, #0 + bl debug_sub_814A73C + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._178 + 12 @ Str_843E580 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x3 + bl InitMenu + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._179: + .align 2, 0 +._178: + .word gMenuCallback + .word debug_sub_815FB78+1 + .word gStringVar1 + .word Str_843E580 + + thumb_func_end debug_sub_815FBE8 + + thumb_func_start debug_sub_815FC54 +debug_sub_815FC54: + push {r4, r5, r6, r7, lr} + mov r3, #0x0 + ldr r7, ._181 @ gSaveBlock1 + mov r6, #0xe8 + lsl r6, r6, #0x3 + ldr r5, ._181 + 4 @ 0x3e7 + ldr r4, ._181 + 8 @ 0x742 +._180: + lsl r1, r3, #0x2 + add r1, r1, r7 + add r2, r3, #0 + add r2, r2, #0x85 + add r0, r1, r6 + strh r2, [r0] + add r1, r1, r4 + strh r5, [r1] + add r0, r3, #1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0x2a + bls ._180 @cond_branch + bl CloseMenu + mov r0, #0x1 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._182: + .align 2, 0 +._181: + .word gSaveBlock1 + .word 0x3e7 + .word 0x742 + + thumb_func_end debug_sub_815FC54 + + thumb_func_start debug_sub_815FC94 +debug_sub_815FC94: + push {lr} + bl ClearDecorationInventories + bl debug_sub_814A3A8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_815FC94 + + thumb_func_start debug_sub_815FCB4 +debug_sub_815FCB4: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + mov r7, #0x0 + ldr r5, ._188 @ gMapHeader + ldr r0, [r5] + ldr r0, [r0, #0x4] + mov r1, #0x3 + bl __divsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r1, r0, #0 + mul r1, r1, r4 + lsl r1, r1, #0x10 + lsr r6, r1, #0x10 + add r0, r6, r0 + mov r9, r5 + cmp r6, r0 + bge ._183 @cond_branch + mov r8, r0 +._187: + mov r4, #0x0 + mov r1, r9 + ldr r0, [r1] + ldr r0, [r0] + add r5, r6, #1 + cmp r4, r0 + bge ._184 @cond_branch + ldr r0, ._188 @ gMapHeader + mov r9, r0 +._186: + add r0, r4, #7 + add r1, r6, #7 + bl MapGridGetMetatileBehaviorAt + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_805759C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bne ._185 @cond_branch + add r0, r7, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 +._185: + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, ._188 @ gMapHeader + ldr r0, [r0] + ldr r0, [r0] + cmp r4, r0 + blt ._186 @cond_branch +._184: + lsl r0, r5, #0x10 + lsr r6, r0, #0x10 + cmp r6, r8 + blt ._187 @cond_branch +._183: + add r0, r7, #0 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._189: + .align 2, 0 +._188: + .word gMapHeader + + thumb_func_end debug_sub_815FCB4 + + thumb_func_start debug_sub_815FD40 +debug_sub_815FD40: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffffc + mov r6, #0x0 + mov r4, sp + add r4, r4, #0x2 + mov r0, sp + add r1, r4, #0 + bl GetXYCoordsOneStepInFrontOfPlayer + mov r1, sp + mov r0, sp + ldrh r0, [r0] + sub r0, r0, #0x7 + strh r0, [r1] + ldrh r0, [r4] + sub r0, r0, #0x7 + strh r0, [r4] + mov r5, #0x0 + ldr r1, ._192 @ gMapHeader + ldr r0, [r1] + ldr r0, [r0, #0x4] + add r7, r4, #0 + cmp r6, r0 + bge ._190 @cond_branch +._199: + mov r4, #0x0 + ldr r0, [r1] + b ._191 +._193: + .align 2, 0 +._192: + .word gMapHeader +._198: + add r0, r4, #7 + add r1, r5, #7 + bl MapGridGetMetatileBehaviorAt + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_805759C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bne ._196 @cond_branch + add r0, r6, #1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + mov r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, r4 + bne ._196 @cond_branch + mov r1, #0x0 + ldsh r0, [r7, r1] + cmp r0, r5 + bne ._196 @cond_branch + add r0, r6, #0 + b ._197 +._196: + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, ._200 @ gMapHeader + ldr r0, [r0] +._191: + ldr r0, [r0] + cmp r4, r0 + blt ._198 @cond_branch + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r1, ._200 @ gMapHeader + ldr r0, [r1] + ldr r0, [r0, #0x4] + cmp r5, r0 + blt ._199 @cond_branch +._190: + add r0, r6, #1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 +._197: + add sp, sp, #0x4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._201: + .align 2, 0 +._200: + .word gMapHeader + + thumb_func_end debug_sub_815FD40 + + thumb_func_start debug_sub_815FDE4 +debug_sub_815FDE4: + push {lr} + ldr r0, ._205 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + bne ._202 @cond_branch + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._203 @cond_branch +._202: + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 + b ._204 +._206: + .align 2, 0 +._205: + .word gMain +._203: + mov r0, #0x0 +._204: + pop {r1} + bx r1 + + thumb_func_end debug_sub_815FDE4 + + thumb_func_start debug_sub_815FE1C +debug_sub_815FE1C: + push {r4, r5, r6, r7, lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._210 @ Str_843E58D + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r6, ._210 + 4 @ gStringVar1 + mov r0, #0x0 + bl debug_sub_815FCB4 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x5 + mov r2, #0x3 + bl Menu_PrintText + mov r0, #0x1 + bl debug_sub_815FCB4 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x5 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0x2 + bl debug_sub_815FCB4 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x5 + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x0 + bl debug_sub_8092344 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0xb + mov r2, #0x3 + bl Menu_PrintText + mov r0, #0x1 + bl debug_sub_8092344 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0xb + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0x2 + bl debug_sub_8092344 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0xb + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._210 + 8 @ gSaveBlock1 + ldr r1, ._210 + 12 @ 0x2dd6 + add r0, r0, r1 + ldrh r0, [r0] + bl FeebasSeedRng + mov r0, #0x0 + bl debug_sub_815FCB4 + add r4, r0, #0 + mov r0, #0x1 + bl debug_sub_815FCB4 + add r5, r0, #0 + mov r0, #0x2 + bl debug_sub_815FCB4 + add r4, r4, r5 + add r0, r0, r4 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + mov r5, #0x0 +._209: + bl FeebasRandom + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r1, r7, #0 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0 + bne ._207 @cond_branch + add r1, r7, #0 +._207: + sub r0, r1, #1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x2 + bls ._208 @cond_branch + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x4 + bl ConvertIntToDecimalStringN + add r0, r5, #0 + mov r1, #0x3 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r4, r0, #0x2 + add r4, r4, r0 + add r4, r4, #0x2 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r5, #0 + mov r1, #0x3 + bl __udivsi3 + add r2, r0, #0 + lsl r2, r2, #0x19 + mov r0, #0xb0 + lsl r0, r0, #0x14 + add r2, r2, r0 + lsr r2, r2, #0x18 + add r0, r6, #0 + add r1, r4, #0 + bl Menu_PrintText + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +._208: + cmp r5, #0x6 + bne ._209 @cond_branch + ldr r4, ._210 + 4 @ gStringVar1 + bl debug_sub_815FD40 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x4 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x11 + bl Menu_PrintText + ldr r1, ._210 + 16 @ gMenuCallback + ldr r0, ._210 + 20 @ debug_sub_815FDE4 + str r0, [r1] + mov r0, #0x0 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._211: + .align 2, 0 +._210: + .word Str_843E58D + .word gStringVar1 + .word gSaveBlock1 + .word 0x2dd6 + .word gMenuCallback + .word debug_sub_815FDE4+1 + + thumb_func_end debug_sub_815FE1C + + thumb_func_start debug_sub_815FFDC +debug_sub_815FFDC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r0, #0xe + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0xe + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._214 @ Str_843E5D4 + mov r1, #0x1 + mov r2, #0xf + bl Menu_PrintText + mov r5, #0x0 + ldr r0, ._214 + 4 @ _nakamuraStatic0 + mov r8, r0 +._216: + mov r0, #0x64 + add r1, r5, #0 + mul r1, r1, r0 + ldr r0, ._214 + 8 @ gPlayerParty + add r6, r1, r0 + add r0, r6, #0 + mov r1, #0xb + bl GetMonData + lsl r1, r5, #0x2 + mov r2, r8 + add r4, r1, r2 + strh r0, [r4] + lsl r0, r0, #0x10 + add r7, r1, #0 + cmp r0, #0 + beq ._212 @cond_branch + add r0, r6, #0 + mov r1, #0x38 + bl GetMonData + strb r0, [r4, #0x2] + add r0, r5, #0 + bl debug_sub_816009C + add r0, r5, #0 + bl debug_sub_81600D0 + add r0, r5, #0 + bl debug_sub_816013C + b ._213 +._215: + .align 2, 0 +._214: + .word Str_843E5D4 + .word _nakamuraStatic0 + .word gPlayerParty +._212: + mov r0, #0x1 + strb r0, [r4, #0x2] +._213: + mov r0, r8 + add r1, r7, r0 + mov r0, #0x0 + strb r0, [r1, #0x3] + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._216 @cond_branch + ldr r1, ._217 @ _nakamuraData4 + mov r0, #0x0 + strb r0, [r1] + mov r0, #0xf + mov r1, #0x1 + mov r2, #0xff + bl PrintTriangleCursorWithPalette + ldr r1, ._217 + 4 @ gMenuCallback + ldr r0, ._217 + 8 @ debug_sub_8160498 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._218: + .align 2, 0 +._217: + .word _nakamuraData4 + .word gMenuCallback + .word debug_sub_8160498+1 + + thumb_func_end debug_sub_815FFDC + + thumb_func_start debug_sub_816009C +debug_sub_816009C: + push {lr} + add r2, r0, #0 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + ldr r1, ._219 @ _nakamuraStatic0 + lsl r0, r2, #0x2 + add r0, r0, r1 + mov r3, #0x0 + ldsh r1, [r0, r3] + mov r0, #0xb + mul r0, r0, r1 + ldr r1, ._219 + 4 @ gSpeciesNames + add r0, r0, r1 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r1, #0x10 + bl Menu_PrintText + pop {r0} + bx r0 +._220: + .align 2, 0 +._219: + .word _nakamuraStatic0 + .word gSpeciesNames + + thumb_func_end debug_sub_816009C + + thumb_func_start debug_sub_81600D0 +debug_sub_81600D0: + push {r4, r5, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r5, r4, #0 + ldr r1, ._223 @ Str_843E5F0 + mov r0, sp + mov r2, #0x2 + bl memcpy + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._223 + 4 @ gPlayerParty + add r0, r0, r1 + bl GetMonGender + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0 + bne ._221 @cond_branch + ldr r0, ._223 + 8 @ gOtherText_MaleSymbol2 + b ._222 +._224: + .align 2, 0 +._223: + .word Str_843E5F0 + .word gPlayerParty + .word gOtherText_MaleSymbol2 +._221: + cmp r0, #0xfe + bne ._225 @cond_branch + ldr r0, ._227 @ gOtherText_FemaleSymbolAndLv +._222: + lsl r2, r4, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r1, #0x17 + bl Menu_PrintText + b ._226 +._228: + .align 2, 0 +._227: + .word gOtherText_FemaleSymbolAndLv +._225: + lsl r2, r5, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x17 + bl Menu_PrintText +._226: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 + + thumb_func_end debug_sub_81600D0 + + thumb_func_start debug_sub_816013C +debug_sub_816013C: + push {r4, r5, lr} + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r5, ._229 @ gStringVar1 + ldr r1, ._229 + 4 @ _nakamuraStatic0 + lsl r0, r4, #0x2 + add r0, r0, r1 + mov r1, #0x2 + ldrsb r1, [r0, r1] + add r0, r5, #0 + mov r2, #0x1 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + lsl r4, r4, #0x1 + add r4, r4, #0x1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r5, #0 + mov r1, #0x1a + add r2, r4, #0 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._230: + .align 2, 0 +._229: + .word gStringVar1 + .word _nakamuraStatic0 + + thumb_func_end debug_sub_816013C + + thumb_func_start debug_sub_816017C +debug_sub_816017C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + lsl r3, r4, #0x1 + add r1, r3, #1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r3, r3, #0x2 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + mov r0, #0x10 + mov r2, #0x1c + bl Menu_BlankWindowRect + ldr r1, ._232 @ _nakamuraStatic0 + lsl r0, r4, #0x2 + add r0, r0, r1 + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._231 @cond_branch + add r0, r4, #0 + bl debug_sub_816009C + add r0, r4, #0 + bl debug_sub_81600D0 + add r0, r4, #0 + bl debug_sub_816013C +._231: + mov r0, #0x5 + bl debug_sub_81603B8 + pop {r4} + pop {r0} + bx r0 +._233: + .align 2, 0 +._232: + .word _nakamuraStatic0 + + thumb_func_end debug_sub_816017C + + thumb_func_start debug_sub_81601C8 +debug_sub_81601C8: + push {r4, r5, lr} + add sp, sp, #0xfffffff0 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r1, ._239 @ _nakamuraStatic0 + lsl r0, r5, #0x2 + add r2, r0, r1 + mov r4, #0x0 + ldsh r0, [r2, r4] + cmp r0, #0 + bne ._236 @cond_branch + ldrb r0, [r2, #0x3] + cmp r0, #0 + bne ._236 @cond_branch + cmp r3, #0x1 + bne ._236 @cond_branch + mov r0, #0x8a + lsl r0, r0, #0x1 + strh r0, [r2] +._236: + lsl r0, r5, #0x2 + add r4, r0, r1 + lsl r0, r3, #0x18 + asr r0, r0, #0x18 + ldrh r1, [r4] + add r2, r0, r1 + mov r3, #0x0 + strh r2, [r4] + lsl r1, r2, #0x10 + mov r0, #0xcd + lsl r0, r0, #0x11 + cmp r1, r0 + ble ._237 @cond_branch + ldr r1, ._239 + 4 @ 0xfffffe65 + add r0, r2, r1 + strh r0, [r4] +._237: + ldrh r1, [r4] + mov r2, #0x0 + ldsh r0, [r4, r2] + cmp r0, #0 + bge ._238 @cond_branch + ldr r2, ._239 + 8 @ 0x19b + add r0, r1, r2 + strh r0, [r4] +._238: + mov r0, #0x64 + mul r0, r0, r5 + ldr r1, ._239 + 12 @ gPlayerParty + add r0, r0, r1 + ldrh r1, [r4] + ldrb r2, [r4, #0x2] + str r3, [sp] + str r3, [sp, #0x4] + str r3, [sp, #0x8] + str r3, [sp, #0xc] + mov r3, #0x20 + bl CreateMon + mov r0, #0x1 + strb r0, [r4, #0x3] + add sp, sp, #0x10 + pop {r4, r5} + pop {r0} + bx r0 +._240: + .align 2, 0 +._239: + .word _nakamuraStatic0 + .word 0xfffffe65 + .word 0x19b + .word gPlayerParty + + thumb_func_end debug_sub_81601C8 + + thumb_func_start debug_sub_8160258 +debug_sub_8160258: + push {lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldr r1, ._242 @ _nakamuraStatic0 + lsl r0, r2, #0x2 + add r0, r0, r1 + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._241 @cond_branch + add r0, r2, #0 + bl debug_sub_816062C +._241: + pop {r0} + bx r0 +._243: + .align 2, 0 +._242: + .word _nakamuraStatic0 + + thumb_func_end debug_sub_8160258 + + thumb_func_start debug_sub_816027C +debug_sub_816027C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r4, r0, #0 + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + ldr r1, ._247 @ _nakamuraStatic0 + lsl r0, r4, #0x2 + add r3, r0, r1 + mov r1, #0x0 + ldsh r0, [r3, r1] + cmp r0, #0 + beq ._244 @cond_branch + lsl r0, r2, #0x18 + asr r0, r0, #0x18 + ldrb r1, [r3, #0x2] + add r0, r0, r1 + strb r0, [r3, #0x2] + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x64 + ble ._245 @cond_branch + mov r0, #0x1 + strb r0, [r3, #0x2] +._245: + mov r0, #0x2 + ldrsb r0, [r3, r0] + cmp r0, #0 + bgt ._246 @cond_branch + mov r0, #0x64 + strb r0, [r3, #0x2] +._246: + mov r0, #0x64 + mul r4, r4, r0 + ldr r0, ._247 + 4 @ gPlayerParty + add r4, r4, r0 + ldr r2, ._247 + 8 @ gBaseStats + mov r0, #0x0 + ldsh r1, [r3, r0] + lsl r0, r1, #0x3 + sub r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r2 + ldrb r1, [r0, #0x13] + mov r0, #0xca + lsl r0, r0, #0x1 + add r2, r1, #0 + mul r2, r2, r0 + mov r0, #0x2 + ldrsb r0, [r3, r0] + lsl r0, r0, #0x2 + ldr r1, ._247 + 12 @ gExperienceTables + add r0, r0, r1 + add r2, r2, r0 + add r0, r4, #0 + mov r1, #0x19 + bl SetMonData + add r0, r4, #0 + bl debug_sub_803F55C +._244: + pop {r4} + pop {r0} + bx r0 +._248: + .align 2, 0 +._247: + .word _nakamuraStatic0 + .word gPlayerParty + .word gBaseStats + .word gExperienceTables + + thumb_func_end debug_sub_816027C + + thumb_func_start debug_sub_8160308 +debug_sub_8160308: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add sp, sp, #0xffffff8c + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + mov r2, #0x0 +._252: + add r1, r2, #1 + lsl r0, r1, #0x18 + lsr r5, r0, #0x18 + mov r8, r1 + cmp r5, #0x5 + bhi ._249 @cond_branch + mov r0, #0x64 + mov r9, r0 + mov r0, r9 + mul r0, r0, r2 + ldr r7, ._254 @ gPlayerParty + add r6, r0, r7 +._251: + add r0, r6, #0 + mov r1, #0xb + mov r2, #0x0 + bl GetMonData + cmp r0, #0 + bne ._250 @cond_branch + add r0, sp, #0x10 + add r1, r6, #0 + mov r2, #0x64 + bl memcpy + mov r4, r9 + mul r4, r4, r5 + add r4, r4, r7 + add r0, r6, #0 + add r1, r4, #0 + mov r2, #0x64 + bl memcpy + add r0, r4, #0 + add r1, sp, #0x10 + mov r2, #0x64 + bl memcpy +._250: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._251 @cond_branch +._249: + mov r1, r8 + lsl r0, r1, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x4 + bls ._252 @cond_branch + bl CalculatePlayerPartyCount + ldr r4, ._254 + 4 @ gPlayerPartyCount + ldrb r1, [r4] + cmp r1, #0 + bne ._253 @cond_branch + ldr r0, ._254 @ gPlayerParty + str r1, [sp] + str r1, [sp, #0x4] + str r1, [sp, #0x8] + str r1, [sp, #0xc] + mov r1, #0x1 + mov r2, #0xa + mov r3, #0x20 + bl CreateMon + mov r0, #0x1 + strb r0, [r4] +._253: + add sp, sp, #0x74 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._255: + .align 2, 0 +._254: + .word gPlayerParty + .word gPlayerPartyCount + + thumb_func_end debug_sub_8160308 + + thumb_func_start debug_sub_81603B8 +debug_sub_81603B8: + push {r4, r5, r6, r7, lr} + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + mov r0, #0x5 + bl PlaySE + ldr r7, ._259 @ _nakamuraData4 + ldrb r4, [r7] + add r0, r4, #0 + mov r1, #0x6 + bl __udivsi3 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r4, #0 + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, ._259 + 4 @ _843E5D1 + add r0, r5, r0 + ldrb r2, [r0] + lsl r3, r4, #0x1 + add r1, r3, #1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r3, r3, #0x2 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + add r0, r2, #0 + bl Menu_BlankWindowRect + cmp r6, #0 + bne ._256 @cond_branch + cmp r4, #0 + beq ._257 @cond_branch + ldrb r0, [r7] + sub r0, r0, #0x1 + b ._258 +._260: + .align 2, 0 +._259: + .word _nakamuraData4 + .word _843E5D1 +._257: + lsl r0, r5, #0x1 + add r0, r0, r5 + lsl r0, r0, #0x1 + add r0, r0, #0x5 +._258: + strb r0, [r7] +._256: + ldr r1, ._264 @ _nakamuraData4 + cmp r6, #0x1 + bne ._261 @cond_branch + cmp r4, #0x5 + beq ._262 @cond_branch + ldrb r0, [r1] + add r0, r0, #0x1 + b ._263 +._265: + .align 2, 0 +._264: + .word _nakamuraData4 +._262: + lsl r0, r5, #0x1 + add r0, r0, r5 + lsl r0, r0, #0x1 +._263: + strb r0, [r1] +._261: + cmp r6, #0x2 + bne ._266 @cond_branch + cmp r5, #0 + beq ._267 @cond_branch + ldrb r0, [r1] + sub r0, r0, #0x6 + b ._268 +._267: + add r0, r4, #0 + add r0, r0, #0xc +._268: + strb r0, [r1] +._266: + cmp r6, #0x3 + bne ._271 @cond_branch + cmp r5, #0x2 + beq ._270 @cond_branch + ldrb r0, [r1] + add r0, r0, #0x6 + strb r0, [r1] + b ._271 +._270: + strb r4, [r1] +._271: + ldrb r4, [r1] + add r0, r4, #0 + mov r1, #0x6 + bl __udivsi3 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r4, #0 + mov r1, #0x6 + bl __umodsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + ldr r0, ._272 @ _843E5D1 + add r0, r5, r0 + ldrb r0, [r0] + lsr r1, r1, #0x17 + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + mov r2, #0xff + bl PrintTriangleCursorWithPalette + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._273: + .align 2, 0 +._272: + .word _843E5D1 + + thumb_func_end debug_sub_81603B8 + + thumb_func_start debug_sub_8160498 +debug_sub_8160498: + push {r4, lr} + ldr r1, ._276 @ gMain + ldrh r2, [r1, #0x2e] + mov r0, #0x40 + and r0, r0, r2 + cmp r0, #0 + beq ._274 @cond_branch + mov r0, #0x0 + b ._281 +._277: + .align 2, 0 +._276: + .word gMain +._274: + mov r0, #0x80 + and r0, r0, r2 + cmp r0, #0 + beq ._278 @cond_branch + mov r0, #0x1 + b ._281 +._278: + mov r0, #0x20 + and r0, r0, r2 + cmp r0, #0 + beq ._280 @cond_branch + mov r0, #0x2 + b ._281 +._280: + mov r0, #0x10 + and r0, r0, r2 + cmp r0, #0 + beq ._282 @cond_branch + mov r0, #0x3 +._281: + bl debug_sub_81603B8 + mov r0, #0x0 + b ._311 +._282: + ldrh r1, [r1, #0x30] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._284 @cond_branch + ldr r4, ._289 @ _nakamuraData4 + ldrb r0, [r4] + cmp r0, #0x5 + bhi ._285 @cond_branch + mov r1, #0x1 + bl debug_sub_81601C8 +._285: + ldrb r0, [r4] + sub r0, r0, #0x6 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._286 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_8160258 +._286: + ldrb r0, [r4] + sub r0, r0, #0xc + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._306 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + b ._300 +._290: + .align 2, 0 +._289: + .word _nakamuraData4 +._284: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._291 @cond_branch + ldr r4, ._294 @ _nakamuraData4 + ldrb r0, [r4] + cmp r0, #0x5 + bhi ._304 @cond_branch + mov r1, #0x1 + neg r1, r1 + b ._293 +._295: + .align 2, 0 +._294: + .word _nakamuraData4 +._291: + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._296 @cond_branch + ldr r4, ._301 @ _nakamuraData4 + ldrb r0, [r4] + cmp r0, #0x5 + bhi ._297 @cond_branch + mov r1, #0xa + bl debug_sub_81601C8 +._297: + ldrb r0, [r4] + sub r0, r0, #0x6 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._298 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_8160258 +._298: + ldrb r0, [r4] + sub r0, r0, #0xc + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._306 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + b ._300 +._302: + .align 2, 0 +._301: + .word _nakamuraData4 +._296: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._303 @cond_branch + ldr r4, ._308 @ _nakamuraData4 + ldrb r0, [r4] + cmp r0, #0x5 + bhi ._304 @cond_branch + mov r1, #0xa + neg r1, r1 +._293: + bl debug_sub_81601C8 +._304: + ldrb r0, [r4] + sub r0, r0, #0x6 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._305 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_8160258 +._305: + ldrb r0, [r4] + sub r0, r0, #0xc + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._306 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + neg r1, r1 +._300: + bl debug_sub_816027C +._306: + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_816017C + mov r0, #0x0 + b ._311 +._309: + .align 2, 0 +._308: + .word _nakamuraData4 +._303: + mov r0, #0x8 + and r0, r0, r2 + cmp r0, #0 + bne ._310 @cond_branch + mov r0, #0x0 + b ._311 +._310: + bl debug_sub_8160308 + bl CloseMenu + mov r0, #0x1 +._311: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_8160498 + + thumb_func_start debug_sub_816062C +debug_sub_816062C: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add sp, sp, #0xfffffff0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 + mov r0, #0x64 + mov r4, r8 + mul r4, r4, r0 + ldr r0, ._316 @ gPlayerParty + add r4, r4, r0 + add r0, r4, #0 + mov r1, #0xb + bl GetMonData + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + add r0, r4, #0 + bl GetMonGender + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldr r1, ._316 + 4 @ gBaseStats + lsl r0, r7, #0x3 + sub r0, r0, r7 + lsl r0, r0, #0x2 + add r0, r0, r1 + ldrb r6, [r0, #0x10] + cmp r6, #0 + beq ._313 @cond_branch + cmp r6, #0xfe + beq ._313 @cond_branch + cmp r6, #0xff + bne ._314 @cond_branch +._313: + mov r0, #0x64 + mov r1, r8 + mul r1, r1, r0 + add r0, r1, #0 + ldr r1, ._316 @ gPlayerParty + add r0, r0, r1 + bl GetMonGender + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._320 +._317: + .align 2, 0 +._316: + .word gPlayerParty + .word gBaseStats +._314: + cmp r2, #0 + beq ._318 @cond_branch + cmp r2, #0xfe + beq ._319 @cond_branch + mov r0, #0x0 + b ._320 +._318: + mov r6, #0xfe + b ._321 +._319: + mov r6, #0x0 +._321: + mov r0, r8 + lsl r0, r0, #0x2 + mov r9, r0 +._322: + bl Random + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + bl Random + lsl r0, r0, #0x10 + orr r5, r5, r0 + add r0, r7, #0 + add r1, r5, #0 + bl GetGenderFromSpeciesAndPersonality + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, r6 + bne ._322 @cond_branch + mov r0, #0x64 + mov r4, r8 + mul r4, r4, r0 + ldr r0, ._323 @ gPlayerParty + add r4, r4, r0 + add r0, r4, #0 + mov r1, #0x42 + bl GetMonData + ldr r0, ._323 + 4 @ _nakamuraStatic0 + add r0, r0, r9 + ldrh r1, [r0] + ldrb r2, [r0, #0x2] + mov r0, #0x1 + str r0, [sp] + str r5, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0xc] + add r0, r4, #0 + mov r3, #0x20 + bl CreateMon + add r0, r6, #0 +._320: + add sp, sp, #0x10 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._324: + .align 2, 0 +._323: + .word gPlayerParty + .word _nakamuraStatic0 + + thumb_func_end debug_sub_816062C + + thumb_func_start debug_sub_8160714 +debug_sub_8160714: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add sp, sp, #0xfffffff0 + add r6, r0, #0 + mov r9, r1 + mov r7, #0x0 + mov r0, #0x0 + mov r8, r0 + mov r2, #0x0 + mov r5, #0x0 +._329: + add r4, r5, #1 + lsl r1, r4, #0x18 + lsr r1, r1, #0x18 + mov r0, r9 + str r2, [sp, #0xc] + bl GetPokeblockData + add r1, r0, #0 + lsl r0, r5, #0x1 + add r0, r0, sp + strh r1, [r0] + ldr r2, [sp, #0xc] + cmp r5, #0x5 + beq ._328 @cond_branch + lsl r0, r1, #0x10 + asr r1, r0, #0x10 + cmp r1, #0 + ble ._326 @cond_branch + add r0, r7, #1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._326: + cmp r1, #0 + bge ._327 @cond_branch + mov r0, r8 + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 +._327: + cmp r1, #0 + bne ._328 @cond_branch + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 +._328: + lsl r0, r4, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._329 @cond_branch + mov r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0x31 + bgt ._333 @cond_branch + mov r0, sp + ldrh r0, [r0, #0x2] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + cmp r0, #0x31 + bgt ._333 @cond_branch + mov r0, sp + mov r4, #0x4 + ldsh r0, [r0, r4] + cmp r0, #0x31 + bgt ._333 @cond_branch + mov r0, sp + mov r1, #0x6 + ldsh r0, [r0, r1] + cmp r0, #0x31 + bgt ._333 @cond_branch + mov r0, sp + mov r4, #0x8 + ldsh r0, [r0, r4] + cmp r0, #0x31 + ble ._334 @cond_branch +._333: + ldr r1, ._336 @ ContestStatsText_GoldPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0xe + b ._400 +._337: + .align 2, 0 +._336: + .word ContestStatsText_GoldPokeBlock +._334: + cmp r7, #0x4 + bne ._338 @cond_branch + ldr r1, ._340 @ ContestStatsText_WhitePokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0xd + b ._400 +._341: + .align 2, 0 +._340: + .word ContestStatsText_WhitePokeBlock +._338: + mov r3, #0x0 + mov r5, #0x0 +._343: + lsl r0, r5, #0x1 + add r0, r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0x2 + bne ._342 @cond_branch + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 +._342: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x4 + bls ._343 @cond_branch + cmp r3, #0x3 + beq ._345 @cond_branch + cmp r2, #0x5 + beq ._345 @cond_branch + mov r4, r8 + cmp r4, #0x4 + bne ._346 @cond_branch +._345: + ldr r1, ._348 @ ContestStatsText_BlackPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0xc + b ._400 +._349: + .align 2, 0 +._348: + .word ContestStatsText_BlackPokeBlock +._346: + cmp r7, #0x3 + bne ._350 @cond_branch + ldr r1, ._352 @ ContestStatsText_GrayPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0xb + b ._400 +._353: + .align 2, 0 +._352: + .word ContestStatsText_GrayPokeBlock +._350: + cmp r7, #0x2 + beq ._354 @cond_branch + mov r0, r8 + cmp r0, #0x2 + bne ._377 @cond_branch +._354: + mov r3, #0x6 + mov r2, #0x0 + mov r5, #0x0 +._359: + lsl r0, r5, #0x1 + add r0, r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._358 @cond_branch + cmp r3, #0x6 + bne ._357 @cond_branch + add r3, r5, #0 + b ._358 +._357: + add r2, r5, #0 +._358: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x4 + bls ._359 @cond_branch + lsl r0, r3, #0x1 + mov r4, sp + add r1, r4, r0 + lsl r0, r2, #0x1 + add r0, r0, sp + mov r4, #0x0 + ldsh r1, [r1, r4] + mov r4, #0x0 + ldsh r0, [r0, r4] + cmp r1, r0 + blt ._360 @cond_branch + add r2, r3, #0 +._360: + cmp r2, #0 + bne ._361 @cond_branch + ldr r1, ._363 @ ContestStatsText_PurplePokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x6 + b ._400 +._364: + .align 2, 0 +._363: + .word ContestStatsText_PurplePokeBlock +._361: + cmp r2, #0x1 + bne ._365 @cond_branch + ldr r1, ._367 @ ContestStatsText_IndigoPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x7 + b ._400 +._368: + .align 2, 0 +._367: + .word ContestStatsText_IndigoPokeBlock +._365: + cmp r2, #0x2 + bne ._369 @cond_branch + ldr r1, ._371 @ ContestStatsText_BrownPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x8 + b ._400 +._372: + .align 2, 0 +._371: + .word ContestStatsText_BrownPokeBlock +._369: + cmp r2, #0x3 + bne ._373 @cond_branch + ldr r1, ._375 @ ContestStatsText_LiteBluePokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x9 + b ._400 +._376: + .align 2, 0 +._375: + .word ContestStatsText_LiteBluePokeBlock +._373: + cmp r2, #0x4 + bne ._377 @cond_branch + ldr r1, ._379 @ ContestStatsText_OlivePokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0xa + b ._400 +._380: + .align 2, 0 +._379: + .word ContestStatsText_OlivePokeBlock +._377: + cmp r7, #0x1 + beq ._381 @cond_branch + mov r0, r8 + cmp r0, #0x1 + bne ._399 @cond_branch +._381: + mov r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._383 @cond_branch + ldr r1, ._385 @ ContestStatsText_RedPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x1 + b ._400 +._386: + .align 2, 0 +._385: + .word ContestStatsText_RedPokeBlock +._383: + mov r0, sp + ldrh r0, [r0, #0x2] + cmp r0, #0 + beq ._387 @cond_branch + ldr r1, ._389 @ ContestStatsText_BluePokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x2 + b ._400 +._390: + .align 2, 0 +._389: + .word ContestStatsText_BluePokeBlock +._387: + mov r0, sp + mov r4, #0x4 + ldsh r0, [r0, r4] + cmp r0, #0 + beq ._391 @cond_branch + ldr r1, ._393 @ ContestStatsText_PinkPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x3 + b ._400 +._394: + .align 2, 0 +._393: + .word ContestStatsText_PinkPokeBlock +._391: + mov r0, sp + mov r1, #0x6 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._395 @cond_branch + ldr r1, ._397 @ ContestStatsText_GreenPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x4 + b ._400 +._398: + .align 2, 0 +._397: + .word ContestStatsText_GreenPokeBlock +._395: + mov r0, sp + mov r4, #0x8 + ldsh r0, [r0, r4] + cmp r0, #0 + beq ._399 @cond_branch + ldr r1, ._401 @ ContestStatsText_YellowPokeBlock + add r0, r6, #0 + bl StringCopy + mov r0, #0x5 + b ._400 +._402: + .align 2, 0 +._401: + .word ContestStatsText_YellowPokeBlock +._399: + ldr r1, ._403 @ gOtherText_FiveQuestions + add r0, r6, #0 + bl StringCopy + mov r0, #0x0 +._400: + add sp, sp, #0x10 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._404: + .align 2, 0 +._403: + .word gOtherText_FiveQuestions + + thumb_func_end debug_sub_8160714 + + thumb_func_start debug_sub_816097C +debug_sub_816097C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add r7, r0, #0 + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + mov r6, #0x0 + mov r1, #0x0 +._405: + add r0, r7, r6 + strb r1, [r0] + add r0, r6, #1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x3 + bls ._405 @cond_branch + mov r0, #0xff + strb r0, [r7, #0x4] + lsl r0, r5, #0x10 + asr r0, r0, #0x10 + cmp r0, #0 + bne ._406 @cond_branch + mov r0, #0xa1 + strb r0, [r7, #0x3] + b ._414 +._406: + cmp r0, #0 + ble ._408 @cond_branch + mov r4, #0x64 + mov r0, #0x0 + mov r8, r0 + mov r6, #0x0 +._412: + lsl r5, r5, #0x10 + asr r0, r5, #0x10 + lsl r4, r4, #0x10 + asr r1, r4, #0x10 + bl __divsi3 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r1, r8 + cmp r1, #0 + bne ._410 @cond_branch + cmp r6, #0x2 + beq ._410 @cond_branch + cmp r2, #0 + beq ._411 @cond_branch +._410: + add r1, r6, r7 + add r0, r2, #0 + sub r0, r0, #0x5f + strb r0, [r1, #0x1] + mov r0, #0x1 + mov r8, r0 +._411: + asr r0, r5, #0x10 + asr r4, r4, #0x10 + add r1, r4, #0 + bl __modsi3 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0 + mov r1, #0xa + bl __divsi3 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r6, #1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + bls ._412 @cond_branch + b ._414 +._408: + cmp r0, #0 + bge ._414 @cond_branch + neg r0, r0 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + mov r4, #0x64 + mov r1, #0x0 + mov r8, r1 + mov r6, #0x0 +._419: + lsl r5, r5, #0x10 + asr r0, r5, #0x10 + lsl r4, r4, #0x10 + asr r1, r4, #0x10 + bl __divsi3 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r1, r8 + lsl r0, r1, #0x10 + add r3, r0, #0 + cmp r3, #0 + bne ._416 @cond_branch + cmp r6, #0x2 + beq ._416 @cond_branch + cmp r2, #0 + beq ._417 @cond_branch +._416: + add r1, r6, r7 + add r0, r2, #0 + sub r0, r0, #0x5f + strb r0, [r1, #0x1] + cmp r3, #0 + bne ._418 @cond_branch + mov r0, #0xae + strb r0, [r1] +._418: + mov r0, #0x1 + mov r8, r0 +._417: + asr r0, r5, #0x10 + asr r4, r4, #0x10 + add r1, r4, #0 + bl __modsi3 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0 + mov r1, #0xa + bl __divsi3 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r6, #1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + bls ._419 @cond_branch +._414: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_sub_816097C + + thumb_func_start debug_sub_8160A80 +debug_sub_8160A80: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r2, r0, #0 + ldr r1, ._422 @ _nakamuraStatic18 + cmp r0, #0 + bne ._420 @cond_branch + ldr r4, ._422 + 4 @ gStringVar1 + ldrb r1, [r1, #0x1] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x3 + bl Menu_PrintText + b ._440 +._423: + .align 2, 0 +._422: + .word _nakamuraStatic18 + .word gStringVar1 +._420: + cmp r0, #0x1 + bne ._424 @cond_branch + ldr r4, ._426 @ gStringVar1 + ldrb r1, [r1, #0x2] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x5 + bl Menu_PrintText + b ._440 +._427: + .align 2, 0 +._426: + .word gStringVar1 +._424: + cmp r0, #0x2 + bne ._428 @cond_branch + ldr r4, ._430 @ gStringVar1 + ldrb r1, [r1, #0x3] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x7 + bl Menu_PrintText + b ._440 +._431: + .align 2, 0 +._430: + .word gStringVar1 +._428: + cmp r0, #0x3 + bne ._432 @cond_branch + ldr r4, ._434 @ gStringVar1 + ldrb r1, [r1, #0x4] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x9 + bl Menu_PrintText + b ._440 +._435: + .align 2, 0 +._434: + .word gStringVar1 +._432: + cmp r0, #0x4 + bne ._436 @cond_branch + ldr r4, ._438 @ gStringVar1 + ldrb r1, [r1, #0x5] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0xb + bl Menu_PrintText + b ._440 +._439: + .align 2, 0 +._438: + .word gStringVar1 +._436: + cmp r2, #0x5 + bne ._440 @cond_branch + ldr r4, ._441 @ gStringVar1 + ldrb r1, [r1, #0x6] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0xd + bl Menu_PrintText +._440: + pop {r4} + pop {r0} + bx r0 +._442: + .align 2, 0 +._441: + .word gStringVar1 + + thumb_func_end debug_sub_8160A80 + + thumb_func_start debug_sub_8160B50 +debug_sub_8160B50: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r3, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r4, r1, #0 + ldr r2, ._445 @ _nakamuraStatic18 + cmp r0, #0 + bne ._443 @cond_branch + ldrb r0, [r2, #0x1] + add r0, r0, r1 + strb r0, [r2, #0x1] + b ._455 +._446: + .align 2, 0 +._445: + .word _nakamuraStatic18 +._443: + cmp r0, #0x1 + bne ._447 @cond_branch + ldrb r0, [r2, #0x2] + add r0, r0, r1 + strb r0, [r2, #0x2] + b ._455 +._447: + cmp r0, #0x2 + bne ._449 @cond_branch + ldrb r0, [r2, #0x3] + add r0, r0, r1 + strb r0, [r2, #0x3] + b ._455 +._449: + cmp r0, #0x3 + bne ._451 @cond_branch + ldrb r0, [r2, #0x4] + add r0, r0, r1 + strb r0, [r2, #0x4] + b ._455 +._451: + cmp r0, #0x4 + bne ._453 @cond_branch + ldrb r0, [r2, #0x5] + add r0, r0, r1 + strb r0, [r2, #0x5] + b ._455 +._453: + cmp r3, #0x5 + bne ._455 @cond_branch + ldrb r0, [r2, #0x6] + add r0, r0, r4 + strb r0, [r2, #0x6] +._455: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_8160B50 + + thumb_func_start debug_sub_8160BB0 +debug_sub_8160BB0: + push {r4, r5, lr} + ldr r5, ._456 @ gStringVar1 + ldr r4, ._456 + 4 @ _nakamuraStatic18 + add r0, r5, #0 + add r1, r4, #0 + bl debug_sub_8160714 + strb r0, [r4] + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x8 + mov r3, #0x2 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._457: + .align 2, 0 +._456: + .word gStringVar1 + .word _nakamuraStatic18 + + thumb_func_end debug_sub_8160BB0 + + thumb_func_start debug_sub_8160BE4 +debug_sub_8160BE4: + push {r4, lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0xf + bl Menu_DrawStdWindowFrame + bl debug_sub_8160BB0 + ldr r0, ._459 @ gContestStatsText_Spicy + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + ldr r0, ._459 + 4 @ gContestStatsText_Dry + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + ldr r0, ._459 + 8 @ gContestStatsText_Sweet + mov r1, #0x2 + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._459 + 12 @ gContestStatsText_Bitter + mov r1, #0x2 + mov r2, #0x9 + bl Menu_PrintText + ldr r0, ._459 + 16 @ gContestStatsText_Sour + mov r1, #0x2 + mov r2, #0xb + bl Menu_PrintText + ldr r0, ._459 + 20 @ gContestStatsText_Tasty + mov r1, #0x2 + mov r2, #0xd + bl Menu_PrintText + mov r4, #0x0 +._458: + add r0, r4, #0 + bl debug_sub_8160A80 + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._458 @cond_branch + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x6 + bl InitMenu + add sp, sp, #0x8 + pop {r4} + pop {r0} + bx r0 +._460: + .align 2, 0 +._459: + .word gContestStatsText_Spicy + .word gContestStatsText_Dry + .word gContestStatsText_Sweet + .word gContestStatsText_Bitter + .word gContestStatsText_Sour + .word gContestStatsText_Tasty + + thumb_func_end debug_sub_8160BE4 + + thumb_func_start debug_sub_8160C7C +debug_sub_8160C7C: + push {r4, lr} + ldr r2, ._469 @ _nakamuraStatic18 + mov r1, #0x0 + ldrb r0, [r2] + cmp r0, #0xc + bne ._467 @cond_branch + ldrb r0, [r2, #0x1] + cmp r0, #0x2 + bne ._462 @cond_branch + mov r1, #0x1 +._462: + ldrb r0, [r2, #0x3] + cmp r0, #0x2 + bne ._463 @cond_branch + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +._463: + ldrb r0, [r2, #0x4] + cmp r0, #0x2 + bne ._464 @cond_branch + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +._464: + ldrb r0, [r2, #0x2] + cmp r0, #0x2 + bne ._465 @cond_branch + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +._465: + ldrb r0, [r2, #0x5] + cmp r0, #0x2 + bne ._466 @cond_branch + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +._466: + cmp r1, #0x3 + beq ._467 @cond_branch + mov r0, #0x2 + strb r0, [r2, #0x1] + strb r0, [r2, #0x3] + strb r0, [r2, #0x4] +._467: + add r0, r2, #0 + bl sub_810CA34 + bl debug_sub_8160BB0 + mov r4, #0x0 +._468: + add r0, r4, #0 + bl debug_sub_8160A80 + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._468 @cond_branch + pop {r4} + pop {r0} + bx r0 +._470: + .align 2, 0 +._469: + .word _nakamuraStatic18 + + thumb_func_end debug_sub_8160C7C + + thumb_func_start debug_sub_8160CF4 +debug_sub_8160CF4: + push {lr} + ldr r2, ._473 @ gMain + ldrh r1, [r2, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._471 @cond_branch + mov r0, #0x1 + neg r0, r0 + b ._472 +._474: + .align 2, 0 +._473: + .word gMain +._471: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._475 @cond_branch + mov r0, #0x1 +._472: + bl Menu_MoveCursor + mov r0, #0x0 + b ._484 +._475: + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._477 @cond_branch + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + neg r1, r1 + b ._478 +._477: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._479 @cond_branch + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 +._478: + bl debug_sub_8160B50 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_8160A80 + bl debug_sub_8160BB0 + mov r0, #0x0 + b ._484 +._479: + ldrh r1, [r2, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._481 @cond_branch + bl debug_sub_8160C7C + mov r0, #0x5 + bl PlaySE + mov r0, #0x0 + b ._484 +._481: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._483 @cond_branch + mov r0, #0x0 + b ._484 +._483: + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 +._484: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8160CF4 + + thumb_func_start debug_sub_8160D98 +debug_sub_8160D98: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl debug_sub_8160BE4 + ldr r1, ._485 @ gMenuCallback + ldr r0, ._485 + 4 @ debug_sub_8160CF4 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._486: + .align 2, 0 +._485: + .word gMenuCallback + .word debug_sub_8160CF4+1 + + thumb_func_end debug_sub_8160D98 + + thumb_func_start debug_sub_8160DC0 +debug_sub_8160DC0: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x16 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._487 @ gOtherText_Slash + mov r1, #0xb + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._487 + 4 @ Str_843E5F2 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + ldr r0, ._487 + 8 @ Str_843E5FB + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + ldr r0, ._487 + 12 @ Str_843E606 + mov r1, #0x2 + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._487 + 16 @ Str_843E611 + mov r1, #0x2 + mov r2, #0x9 + bl Menu_PrintText + ldr r0, ._487 + 20 @ Str_843E61C + mov r1, #0x2 + mov r2, #0xb + bl Menu_PrintText + ldr r0, ._487 + 24 @ Str_843E627 + mov r1, #0x2 + mov r2, #0xd + bl Menu_PrintText + ldr r0, ._487 + 28 @ Str_843E637 + mov r1, #0x2 + mov r2, #0xf + bl Menu_PrintText + ldr r0, ._487 + 32 @ Str_843E632 + mov r1, #0x2 + mov r2, #0x11 + bl Menu_PrintText + pop {r0} + bx r0 +._488: + .align 2, 0 +._487: + .word gOtherText_Slash + .word Str_843E5F2 + .word Str_843E5FB + .word Str_843E606 + .word Str_843E611 + .word Str_843E61C + .word Str_843E627 + .word Str_843E637 + .word Str_843E632 + + thumb_func_end debug_sub_8160DC0 + + thumb_func_start debug_sub_8160E50 +debug_sub_8160E50: + push {r4, r5, r6, lr} + add r6, r0, #0 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r5, ._489 @ gStringVar1 + add r0, r6, #0 + mov r1, #0x2 + add r2, r5, #0 + bl GetMonData + add r0, r5, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + mov r0, #0xc + mov r1, #0x1 + mov r2, #0x15 + mov r3, #0x2 + bl Menu_BlankWindowRect + add r0, r6, #0 + mov r1, #0xb + bl GetMonData + mov r1, #0xb + mul r0, r0, r1 + ldr r1, ._489 + 4 @ gSpeciesNames + add r0, r0, r1 + mov r1, #0xc + mov r2, #0x1 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1a + bl GetMonData + add r4, r0, #0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x3 + mov r2, #0x11 + mov r3, #0x4 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x3 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1b + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x5 + mov r2, #0x11 + mov r3, #0x6 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x5 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1c + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x7 + mov r2, #0x11 + mov r3, #0x8 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x7 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1d + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x9 + mov r2, #0x11 + mov r3, #0xa + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x9 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1e + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0xb + mov r2, #0x11 + mov r3, #0xc + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0xb + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1f + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0xd + mov r2, #0x11 + mov r3, #0xe + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0xd + bl Menu_PrintText + add r0, r5, #0 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0xf + mov r2, #0x11 + mov r3, #0x10 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0xf + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x20 + bl GetMonData + add r1, r0, #0 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x11 + mov r2, #0x11 + mov r3, #0x12 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x11 + bl Menu_PrintText + pop {r4, r5, r6} + pop {r0} + bx r0 +._490: + .align 2, 0 +._489: + .word gStringVar1 + .word gSpeciesNames + + thumb_func_end debug_sub_8160E50 + + thumb_func_start debug_sub_8161028 +debug_sub_8161028: + push {r4, r5, r6, lr} + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + bne ._491 @cond_branch + ldr r0, ._496 @ _nakamuraData5 + ldrb r0, [r0] + cmp r0, #0 + bne ._492 @cond_branch + mov r5, #0x5 +._494: + lsl r0, r5, #0x10 + asr r4, r0, #0x10 + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._496 + 4 @ gPlayerParty + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + bne ._493 @cond_branch + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r0, #0 + bge ._494 @cond_branch +._492: + ldr r1, ._496 @ _nakamuraData5 + ldrb r0, [r1] + add r0, r0, r6 + strb r0, [r1] + b ._506 +._497: + .align 2, 0 +._496: + .word _nakamuraData5 + .word gPlayerParty +._491: + cmp r1, #0x1 + bne ._506 @cond_branch + ldr r4, ._501 @ _nakamuraData5 + ldrb r0, [r4] + add r0, r0, r6 + strb r0, [r4] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x6 + bne ._499 @cond_branch + mov r0, #0x0 + b ._500 +._502: + .align 2, 0 +._501: + .word _nakamuraData5 +._493: + ldr r0, ._504 @ _nakamuraData5 + strb r5, [r0] + b ._506 +._505: + .align 2, 0 +._504: + .word _nakamuraData5 +._499: + ldrb r1, [r4] + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._507 @ gPlayerParty + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + bne ._506 @cond_branch +._500: + strb r0, [r4] +._506: + pop {r4, r5, r6} + pop {r0} + bx r0 +._508: + .align 2, 0 +._507: + .word gPlayerParty + + thumb_func_end debug_sub_8161028 + + thumb_func_start debug_sub_81610BC +debug_sub_81610BC: + push {lr} + ldr r0, ._511 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._509 @cond_branch + mov r0, #0x1 + neg r0, r0 + b ._510 +._512: + .align 2, 0 +._511: + .word gMain +._509: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._513 @cond_branch + mov r0, #0x1 +._510: + bl debug_sub_8161028 + ldr r0, ._515 @ _nakamuraData5 + ldrb r1, [r0] + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._515 + 4 @ gPlayerParty + add r0, r0, r1 + bl debug_sub_8160E50 + mov r0, #0x0 + b ._518 +._516: + .align 2, 0 +._515: + .word _nakamuraData5 + .word gPlayerParty +._513: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._517 @cond_branch + mov r0, #0x0 + b ._518 +._517: + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 +._518: + pop {r1} + bx r1 + + thumb_func_end debug_sub_81610BC + + thumb_func_start DebugMenu_EffortValues +DebugMenu_EffortValues: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + ldr r1, ._519 @ _nakamuraData5 + mov r0, #0x0 + strb r0, [r1] + bl debug_sub_8160DC0 + ldr r0, ._519 + 4 @ gPlayerParty + bl debug_sub_8160E50 + ldr r1, ._519 + 8 @ gMenuCallback + ldr r0, ._519 + 12 @ debug_sub_81610BC + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._520: + .align 2, 0 +._519: + .word _nakamuraData5 + .word gPlayerParty + .word gMenuCallback + .word debug_sub_81610BC+1 + + thumb_func_end DebugMenu_EffortValues + + thumb_func_start debug_sub_8161160 +debug_sub_8161160: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r7, #0x0 + ldr r2, ._523 @ _nakamuraData6 + ldr r1, ._523 + 4 @ _nakamuraData8 + ldrh r0, [r2] + ldrh r3, [r1] + cmp r0, r3 + bhi ._521 @cond_branch + add r6, r0, #0 + ldrh r5, [r1] + b ._522 +._524: + .align 2, 0 +._523: + .word _nakamuraData6 + .word _nakamuraData8 +._521: + ldrh r6, [r1] + ldrh r5, [r2] +._522: + mov r4, #0x0 + ldr r0, ._529 @ _nakamuraDataA + ldrh r0, [r0] + cmp r4, r0 + bcs ._525 @cond_branch + ldr r0, ._529 + 4 @ _nakamuraDataC + mov r8, r0 +._528: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r2, r8 + ldrh r1, [r2] + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, r6 + bcc ._527 @cond_branch + cmp r0, r5 + bhi ._527 @cond_branch + add r0, r7, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 +._527: + add r4, r4, #0x1 + ldr r0, ._529 @ _nakamuraDataA + ldrh r0, [r0] + cmp r4, r0 + bcc ._528 @cond_branch +._525: + add r0, r7, #0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._530: + .align 2, 0 +._529: + .word _nakamuraDataA + .word _nakamuraDataC + + thumb_func_end debug_sub_8161160 + + thumb_func_start debug_sub_81611D8 +debug_sub_81611D8: + push {r4, lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xf + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r0, ._531 @ Str_843E642 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._531 + 4 @ Str_843E647 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + ldr r0, ._531 + 8 @ Str_843E65A + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + ldr r0, ._531 + 12 @ Str_843E64C + mov r1, #0x2 + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._531 + 16 @ Str_843E651 + mov r1, #0x2 + mov r2, #0x9 + bl Menu_PrintText + ldr r0, ._531 + 20 @ Str_843E655 + mov r1, #0xd + mov r2, #0x9 + bl Menu_PrintText + ldr r4, ._531 + 24 @ Str_843E658 + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x1 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x3 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x5 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x7 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x9 + bl Menu_PrintText + mov r0, #0x0 + str r0, [sp] + mov r0, #0xe + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x4 + bl InitMenu + add sp, sp, #0x8 + pop {r4} + pop {r0} + bx r0 +._532: + .align 2, 0 +._531: + .word Str_843E642 + .word Str_843E647 + .word Str_843E65A + .word Str_843E64C + .word Str_843E651 + .word Str_843E655 + .word Str_843E658 + + thumb_func_end debug_sub_81611D8 + + thumb_func_start debug_sub_8161290 +debug_sub_8161290: + push {r4, lr} + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + ldr r4, ._533 @ gStringVar1 + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x9 + bl Menu_PrintText + pop {r4} + pop {r0} + bx r0 +._534: + .align 2, 0 +._533: + .word gStringVar1 + + thumb_func_end debug_sub_8161290 + + thumb_func_start debug_sub_81612B8 +debug_sub_81612B8: + push {r4, r5, lr} + add r4, r2, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + lsl r1, r1, #0x18 + asr r1, r1, #0x18 + ldrh r2, [r0] + add r1, r1, r2 + strh r1, [r0] + ldr r5, ._535 @ gStringVar1 + ldrh r1, [r0] + add r0, r5, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r5, #0 + mov r1, #0x8 + add r2, r4, #0 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._536: + .align 2, 0 +._535: + .word gStringVar1 + + thumb_func_end debug_sub_81612B8 + + thumb_func_start debug_sub_81612EC +debug_sub_81612EC: + push {r4, r5, lr} + ldr r2, ._540 @ gMain + ldrh r1, [r2, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + mov r5, #0x1 + cmp r0, #0 + beq ._537 @cond_branch + mov r5, #0x64 +._537: + ldrh r1, [r2, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._538 @cond_branch + mov r0, #0x1 + neg r0, r0 + b ._539 +._541: + .align 2, 0 +._540: + .word gMain +._538: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._542 @cond_branch + mov r0, #0x1 +._539: + bl Menu_MoveCursor +._565: + mov r0, #0x0 + b ._543 +._542: + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._544 @cond_branch + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r4, r0, #0x18 + cmp r4, #0 + bne ._545 @cond_branch + ldr r0, ._550 @ _nakamuraData6 + neg r1, r5 + mov r2, #0x1 + bl debug_sub_81612B8 +._545: + cmp r4, #0x1 + bne ._546 @cond_branch + ldr r0, ._550 + 4 @ _nakamuraData8 + neg r1, r5 + mov r2, #0x3 + bl debug_sub_81612B8 +._546: + cmp r4, #0x2 + bne ._547 @cond_branch + ldr r0, ._550 + 8 @ _nakamuraDataC + neg r1, r5 + mov r2, #0x5 + bl debug_sub_81612B8 +._547: + cmp r4, #0x3 + bne ._565 @cond_branch + ldr r0, ._550 + 12 @ _nakamuraDataA + neg r1, r5 + mov r2, #0x7 + bl debug_sub_81612B8 + b ._565 +._551: + .align 2, 0 +._550: + .word _nakamuraData6 + .word _nakamuraData8 + .word _nakamuraDataC + .word _nakamuraDataA +._544: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._552 @cond_branch + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r4, r0, #0x18 + cmp r4, #0 + bne ._553 @cond_branch + ldr r0, ._558 @ _nakamuraData6 + add r1, r5, #0 + mov r2, #0x1 + bl debug_sub_81612B8 +._553: + cmp r4, #0x1 + bne ._554 @cond_branch + ldr r0, ._558 + 4 @ _nakamuraData8 + add r1, r5, #0 + mov r2, #0x3 + bl debug_sub_81612B8 +._554: + cmp r4, #0x2 + bne ._555 @cond_branch + ldr r0, ._558 + 8 @ _nakamuraDataC + add r1, r5, #0 + mov r2, #0x5 + bl debug_sub_81612B8 +._555: + cmp r4, #0x3 + bne ._565 @cond_branch + ldr r0, ._558 + 12 @ _nakamuraDataA + add r1, r5, #0 + mov r2, #0x7 + bl debug_sub_81612B8 + b ._565 +._559: + .align 2, 0 +._558: + .word _nakamuraData6 + .word _nakamuraData8 + .word _nakamuraDataC + .word _nakamuraDataA +._552: + ldrh r1, [r2, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._560 @cond_branch + ldr r0, ._563 @ _nakamuraDataC + ldrh r0, [r0] + cmp r0, #0 + beq ._565 @cond_branch + mov r0, #0x5 + bl PlaySE + bl debug_sub_8161160 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl debug_sub_8161290 + b ._565 +._564: + .align 2, 0 +._563: + .word _nakamuraDataC +._560: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._565 @cond_branch + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 +._543: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_81612EC + + thumb_func_start DebugMenu_RandomNumberTest +DebugMenu_RandomNumberTest: + push {lr} + ldr r0, ._566 @ _nakamuraData6 + mov r1, #0x0 + strh r1, [r0] + ldr r0, ._566 + 4 @ _nakamuraData8 + strh r1, [r0] + ldr r0, ._566 + 8 @ _nakamuraDataC + strh r1, [r0] + ldr r0, ._566 + 12 @ _nakamuraDataA + strh r1, [r0] + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl debug_sub_81611D8 + ldr r1, ._566 + 16 @ gMenuCallback + ldr r0, ._566 + 20 @ debug_sub_81612EC + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._567: + .align 2, 0 +._566: + .word _nakamuraData6 + .word _nakamuraData8 + .word _nakamuraDataC + .word _nakamuraDataA + .word gMenuCallback + .word debug_sub_81612EC+1 + + thumb_func_end DebugMenu_RandomNumberTest + + .align 2, 0 + +.endif diff --git a/asm/nohara_debug_menu.s b/asm/nohara_debug_menu.s new file mode 100644 index 000000000..003f34798 --- /dev/null +++ b/asm/nohara_debug_menu.s @@ -0,0 +1,2198 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start InitNoharaDebugMenu +InitNoharaDebugMenu: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x13 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._1 @ gUnknown_Debug_083C4938 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x12 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._1 + 4 @ gMenuCallback + ldr r0, ._1 + 8 @ debug_sub_808F414 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._2: + .align 2, 0 +._1: + .word gUnknown_Debug_083C4938 + .word gMenuCallback + .word debug_sub_808F414+1 + + thumb_func_end InitNoharaDebugMenu + + thumb_func_start debug_sub_808F414 +debug_sub_808F414: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._3 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._4 @cond_branch + ldr r2, ._6 @ gMenuCallback + ldr r0, ._6 + 4 @ gUnknown_Debug_083C4938 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] +._3: + mov r0, #0x0 + b ._5 +._7: + .align 2, 0 +._6: + .word gMenuCallback + .word gUnknown_Debug_083C4938 +._4: + bl CloseMenu + mov r0, #0x1 +._5: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808F414 + + thumb_func_start NoharaDebugMenu_TV +NoharaDebugMenu_TV: + push {lr} + add sp, sp, #0xfffffff8 + ldr r1, ._8 @ gDebug_03000726 + mov r0, #0x0 + strb r0, [r1] + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xa + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._8 + 4 @ gUnknown_Debug_083C4B8C + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x9 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._8 + 8 @ gMenuCallback + ldr r0, ._8 + 12 @ debug_sub_808F4AC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._9: + .align 2, 0 +._8: + .word gDebug_03000726 + .word gUnknown_Debug_083C4B8C + .word gMenuCallback + .word debug_sub_808F4AC+1 + + thumb_func_end NoharaDebugMenu_TV + + thumb_func_start debug_sub_808F4AC +debug_sub_808F4AC: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._10 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._11 @cond_branch + ldr r2, ._13 @ gMenuCallback + ldr r0, ._13 + 4 @ gUnknown_Debug_083C4B8C + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] +._10: + mov r0, #0x0 + b ._12 +._14: + .align 2, 0 +._13: + .word gMenuCallback + .word gUnknown_Debug_083C4B8C +._11: + bl CloseMenu + mov r0, #0x1 +._12: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808F4AC + + thumb_func_start debug_sub_808F4EC +debug_sub_808F4EC: + push {lr} + bl debug_sub_808F6BC + ldr r0, ._15 @ gUnknown_Debug_083C4980 + bl sub_8071F40 + mov r0, #0x3 + mov r1, #0x3 + mov r2, #0x1 + bl DisplayYesNoMenu + ldr r1, ._15 + 4 @ gMenuCallback + ldr r0, ._15 + 8 @ debug_sub_808F648 + str r0, [r1] + pop {r0} + bx r0 +._16: + .align 2, 0 +._15: + .word gUnknown_Debug_083C4980 + .word gMenuCallback + .word debug_sub_808F648+1 + + thumb_func_end debug_sub_808F4EC + + thumb_func_start debug_sub_808F518 +debug_sub_808F518: + push {r4, lr} + mov r2, #0x0 + ldr r4, ._20 @ gSaveBlock1 + ldr r3, ._20 + 4 @ 0x2738 +._19: + lsl r0, r2, #0x3 + add r0, r0, r2 + lsl r0, r0, #0x2 + add r1, r0, r4 + add r0, r1, r3 + ldrb r0, [r0] + sub r0, r0, #0x15 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x13 + bhi ._18 @cond_branch + ldr r0, ._20 + 8 @ 0x2739 + add r1, r1, r0 + ldrb r0, [r1] + cmp r0, #0 + bne ._18 @cond_branch + mov r0, #0x1 + strb r0, [r1] +._18: + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x17 + bls ._19 @cond_branch + pop {r4} + pop {r0} + bx r0 +._21: + .align 2, 0 +._20: + .word gSaveBlock1 + .word 0x2738 + .word 0x2739 + + thumb_func_end debug_sub_808F518 + + thumb_func_start debug_sub_808F560 +debug_sub_808F560: + push {r4, lr} + mov r1, #0x0 + ldr r4, ._23 @ gSaveBlock1 + ldr r3, ._23 + 4 @ 0x2739 + mov r2, #0x0 +._22: + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r4 + add r0, r0, r3 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x17 + bls ._22 @cond_branch + bl CloseMenu + mov r0, #0x1 + pop {r4} + pop {r1} + bx r1 +._24: + .align 2, 0 +._23: + .word gSaveBlock1 + .word 0x2739 + + thumb_func_end debug_sub_808F560 + + thumb_func_start debug_sub_808F594 +debug_sub_808F594: + push {r4, r5, r6, lr} + mov r2, #0x0 + ldr r6, ._27 @ gSaveBlock1 + ldr r5, ._27 + 4 @ 0x2738 + ldr r4, ._27 + 8 @ 0x2739 + mov r3, #0x1 +._26: + lsl r0, r2, #0x3 + add r0, r0, r2 + lsl r0, r0, #0x2 + add r1, r0, r6 + add r0, r1, r5 + ldrb r0, [r0] + cmp r0, #0 + beq ._25 @cond_branch + add r0, r1, r4 + strb r3, [r0] +._25: + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x17 + bls ._26 @cond_branch + bl CloseMenu + mov r0, #0x1 + pop {r4, r5, r6} + pop {r1} + bx r1 +._28: + .align 2, 0 +._27: + .word gSaveBlock1 + .word 0x2738 + .word 0x2739 + + thumb_func_end debug_sub_808F594 + + thumb_func_start debug_sub_808F5D8 +debug_sub_808F5D8: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r4, #0x0 + ldr r6, ._30 @ gStringVar1 + ldr r7, ._30 + 4 @ gUnknown_Debug_083C4BD4 + add r0, r7, #1 + mov r8, r0 +._29: + ldr r5, ._30 + 8 @ gSpecialVar_0x8004 + strh r4, [r5] + bl GetSlotMachineId + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x1 + bl ConvertIntToDecimalStringN + lsl r0, r4, #0x1 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r1, r0, r7 + ldrb r1, [r1] + add r0, r0, r8 + ldrb r2, [r0] + add r0, r6, #0 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xb + bls ._29 @cond_branch + mov r0, #0x0 + strh r0, [r5] + ldr r1, ._30 + 12 @ gMenuCallback + ldr r0, ._30 + 16 @ debug_sub_8090278 + str r0, [r1] + mov r0, #0x0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._31: + .align 2, 0 +._30: + .word gStringVar1 + .word gUnknown_Debug_083C4BD4 + .word gSpecialVar_0x8004 + .word gMenuCallback + .word debug_sub_8090278+1 + + thumb_func_end debug_sub_808F5D8 + + thumb_func_start debug_sub_808F648 +debug_sub_808F648: + push {lr} + ldr r0, ._35 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._32 @cond_branch + mov r0, #0xa + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_EraseWindowRect + ldr r0, ._35 + 4 @ gDebug_03000726 + ldrb r1, [r0] + mov r2, #0x1 + eor r1, r1, r2 + strb r1, [r0] + cmp r1, #0 + beq ._33 @cond_branch + bl debug_sub_808F7B4 + b ._40 +._36: + .align 2, 0 +._35: + .word gMain + .word gDebug_03000726 +._33: + bl debug_sub_808F6BC + b ._40 +._32: + bl Menu_ProcessInputNoWrap_ + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._43 @cond_branch + cmp r1, r0 + bgt ._39 @cond_branch + sub r0, r0, #0x1 + cmp r1, r0 + beq ._40 @cond_branch + b ._43 +._39: + cmp r1, #0 + beq ._42 @cond_branch + b ._43 +._40: + mov r0, #0x0 + b ._44 +._42: + bl debug_sub_808F518 +._43: + bl CloseMenu + mov r0, #0x1 +._44: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808F648 + + thumb_func_start debug_sub_808F6BC +debug_sub_808F6BC: + push {r4, r5, r6, lr} + mov r4, #0x0 + ldr r5, ._48 @ gStringVar1 + ldr r6, ._48 + 4 @ gSaveBlock1 +._45: + lsl r0, r4, #0x3 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldr r1, ._48 + 8 @ 0x2738 + add r0, r0, r1 + ldrb r1, [r0] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + lsl r1, r4, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x14 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x0 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + bls ._45 @cond_branch + mov r4, #0x5 + ldr r5, ._48 @ gStringVar1 + ldr r6, ._48 + 4 @ gSaveBlock1 +._50: + lsl r0, r4, #0x3 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldr r1, ._48 + 8 @ 0x2738 + add r0, r0, r1 + ldrb r1, [r0] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + cmp r4, #0xe + bhi ._46 @cond_branch + lsl r1, r4, #0x19 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x3 + bl Menu_PrintText + b ._47 +._49: + .align 2, 0 +._48: + .word gStringVar1 + .word gSaveBlock1 + .word 0x2738 +._46: + lsl r1, r4, #0x19 + mov r0, #0xec + lsl r0, r0, #0x18 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x6 + bl Menu_PrintText +._47: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x17 + bls ._50 @cond_branch + mov r4, #0x0 + ldr r5, ._53 @ gStringVar1 +._55: + ldr r0, ._53 + 4 @ gSaveBlock1 + lsl r1, r4, #0x2 + add r1, r1, r0 + ldr r0, ._53 + 8 @ 0x2abc + add r1, r1, r0 + ldrb r1, [r1] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + cmp r4, #0x7 + bhi ._51 @cond_branch + lsl r1, r4, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x14 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x9 + bl Menu_PrintText + b ._52 +._54: + .align 2, 0 +._53: + .word gStringVar1 + .word gSaveBlock1 + .word 0x2abc +._51: + lsl r1, r4, #0x19 + mov r0, #0xfa + lsl r0, r0, #0x18 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0xc + bl Menu_PrintText +._52: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xf + bls ._55 @cond_branch + pop {r4, r5, r6} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808F6BC + + thumb_func_start debug_sub_808F7B4 +debug_sub_808F7B4: + push {r4, r5, r6, lr} + mov r4, #0x0 + ldr r5, ._59 @ gStringVar1 + ldr r6, ._59 + 4 @ gSaveBlock1 +._56: + lsl r0, r4, #0x3 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldr r1, ._59 + 8 @ 0x2739 + add r0, r0, r1 + ldrb r1, [r0] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + lsl r1, r4, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x14 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x0 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + bls ._56 @cond_branch + mov r4, #0x5 + ldr r5, ._59 @ gStringVar1 + ldr r6, ._59 + 4 @ gSaveBlock1 +._61: + lsl r0, r4, #0x3 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldr r1, ._59 + 8 @ 0x2739 + add r0, r0, r1 + ldrb r1, [r0] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + cmp r4, #0xe + bhi ._57 @cond_branch + lsl r1, r4, #0x19 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x3 + bl Menu_PrintText + b ._58 +._60: + .align 2, 0 +._59: + .word gStringVar1 + .word gSaveBlock1 + .word 0x2739 +._57: + lsl r1, r4, #0x19 + mov r0, #0xec + lsl r0, r0, #0x18 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x6 + bl Menu_PrintText +._58: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x17 + bls ._61 @cond_branch + mov r4, #0x0 + ldr r5, ._64 @ gStringVar1 +._66: + ldr r0, ._64 + 4 @ gSaveBlock1 + lsl r1, r4, #0x2 + add r1, r1, r0 + ldr r0, ._64 + 8 @ 0x2abd + add r1, r1, r0 + ldrb r1, [r1] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + cmp r4, #0x7 + bhi ._62 @cond_branch + lsl r1, r4, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x14 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x9 + bl Menu_PrintText + b ._63 +._65: + .align 2, 0 +._64: + .word gStringVar1 + .word gSaveBlock1 + .word 0x2abd +._62: + lsl r1, r4, #0x19 + mov r0, #0xfa + lsl r0, r0, #0x18 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0xc + bl Menu_PrintText +._63: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xf + bls ._66 @cond_branch + pop {r4, r5, r6} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808F7B4 + + thumb_func_start debug_sub_808F8AC +debug_sub_808F8AC: + push {lr} + ldr r0, ._67 @ 0x832 + bl FlagSet + ldr r0, ._67 + 4 @ 0x818 + bl FlagSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._68: + .align 2, 0 +._67: + .word 0x832 + .word 0x818 + + thumb_func_end debug_sub_808F8AC + + thumb_func_start debug_sub_808F8CC +debug_sub_808F8CC: + push {r4, lr} + ldr r1, ._69 @ gDebug_03000724 + mov r0, #0x0 + strb r0, [r1] + ldr r0, ._69 + 4 @ gUnknown_Debug_083C49CA + bl sub_8071F40 + mov r0, #0xd + mov r1, #0x6 + mov r2, #0x1a + mov r3, #0x8 + bl Menu_BlankWindowRect + ldr r0, ._69 + 8 @ gUnknown_Debug_083C4ABD + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x16 + mov r1, #0x1 + mov r2, #0x18 + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r4, ._69 + 12 @ gStringVar1 + add r0, r4, #0 + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x17 + mov r2, #0x1 + bl Menu_PrintText + ldr r1, ._69 + 16 @ gMenuCallback + ldr r0, ._69 + 20 @ debug_sub_808F93C + str r0, [r1] + pop {r4} + pop {r0} + bx r0 +._70: + .align 2, 0 +._69: + .word gDebug_03000724 + .word gUnknown_Debug_083C49CA + .word gUnknown_Debug_083C4ABD+0xf + .word gStringVar1 + .word gMenuCallback + .word debug_sub_808F93C+1 + + thumb_func_end debug_sub_808F8CC + + thumb_func_start debug_sub_808F93C +debug_sub_808F93C: + push {r4, lr} + mov r2, #0x0 + ldr r0, ._83 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._71 @cond_branch + ldr r1, ._83 + 4 @ gDebug_03000725 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x18 + bne ._72 @cond_branch + strb r2, [r1] +._72: + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._71: + ldr r0, ._83 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._73 @cond_branch + ldr r1, ._83 + 4 @ gDebug_03000725 + ldrb r0, [r1] + cmp r0, #0 + bne ._74 @cond_branch + mov r0, #0x18 + strb r0, [r1] +._74: + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._73: + ldr r0, ._83 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._75 @cond_branch + ldr r1, ._83 + 8 @ gDebug_03000724 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0xc + bne ._76 @cond_branch + mov r0, #0x0 + strb r0, [r1] +._76: + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._75: + ldr r0, ._83 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._77 @cond_branch + ldr r1, ._83 + 8 @ gDebug_03000724 + ldrb r0, [r1] + cmp r0, #0 + bne ._78 @cond_branch + mov r0, #0xc + strb r0, [r1] +._78: + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._77: + cmp r2, #0 + beq ._79 @cond_branch + mov r0, #0xd + mov r1, #0x6 + mov r2, #0x1a + mov r3, #0x8 + bl Menu_BlankWindowRect + ldr r1, ._83 + 12 @ gUnknown_Debug_083C4ABD + ldr r0, ._83 + 8 @ gDebug_03000724 + ldrb r0, [r0] + lsl r0, r0, #0x2 + add r0, r0, r1 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x16 + mov r1, #0x1 + mov r2, #0x18 + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r4, ._83 + 16 @ gStringVar1 + ldr r0, ._83 + 4 @ gDebug_03000725 + ldrb r1, [r0] + add r0, r4, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x17 + mov r2, #0x1 + bl Menu_PrintText +._79: + ldr r4, ._83 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._80 @cond_branch + mov r0, #0x15 + bl PlaySE + ldr r0, ._83 + 4 @ gDebug_03000725 + ldrb r0, [r0] + ldr r2, ._83 + 20 @ gUnknown_Debug_083C4ABD + ldr r1, ._83 + 8 @ gDebug_03000724 + ldrb r1, [r1] + add r1, r1, r2 + ldrb r1, [r1] + bl debug_sub_808FA88 +._80: + ldrh r1, [r4, #0x2e] + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._81 @cond_branch + mov r0, #0x0 + b ._82 +._84: + .align 2, 0 +._83: + .word gMain + .word gDebug_03000725 + .word gDebug_03000724 + .word gUnknown_Debug_083C4ABD+0xf + .word gStringVar1 + .word gUnknown_Debug_083C4ABD +._81: + ldr r0, ._85 @ gSaveBlock1 + bl sub_80BF588 + bl CloseMenu + mov r0, #0x1 +._82: + pop {r4} + pop {r1} + bx r1 +._86: + .align 2, 0 +._85: + .word gSaveBlock1+0x2738 + + thumb_func_end debug_sub_808F93C + + thumb_func_start debug_sub_808FA88 +debug_sub_808FA88: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add sp, sp, #0xffffffcc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + lsl r1, r1, #0x18 + lsr r7, r1, #0x18 + bl GetLeadMonIndex + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r9, r0 + ldr r3, ._92 @ gSaveBlock1 + lsl r4, r6, #0x3 + add r2, r4, r6 + lsl r2, r2, #0x2 + add r0, r2, r3 + ldr r5, ._92 + 4 @ 0x2738 + add r1, r0, r5 + strb r7, [r1] + ldr r1, ._92 + 8 @ 0x2739 + add r0, r0, r1 + mov r1, #0x1 + strb r1, [r0] + mov r1, #0x0 + ldr r0, ._92 + 12 @ 0x273a + add r5, r3, r0 + mov r3, #0x1 +._87: + add r0, r1, r2 + add r0, r0, r5 + strb r3, [r0] + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x21 + bls ._87 @cond_branch + add r0, r7, #0 + bl GetTVChannelByShowType + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r1, r0, #0 + cmp r0, #0x3 + beq ._88 @cond_branch + cmp r0, #0x3 + bgt ._89 @cond_branch + cmp r0, #0x2 + beq ._90 @cond_branch + b ._95 +._93: + .align 2, 0 +._92: + .word gSaveBlock1 + .word 0x2738 + .word 0x2739 + .word 0x273a +._89: + cmp r1, #0x4 + bne ._95 @cond_branch +._90: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._96 @ gSaveBlock1 + add r0, r0, r1 + bl sub_80BE160 + b ._95 +._97: + .align 2, 0 +._96: + .word gSaveBlock1+0x2738 +._88: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._100 @ gSaveBlock1 + add r0, r0, r1 + bl sub_80BE138 +._95: + sub r0, r7, #1 + cmp r0, #0x28 + bls ._98 @cond_branch + b ._173 +._98: + lsl r0, r0, #0x2 + ldr r1, ._100 + 4 @ + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._101: + .align 2, 0 +._100: + .word gSaveBlock1+0x2738 + .word ._102 +._102: + .word ._104 + .word ._104 + .word ._105 + .word ._173 + .word ._107 + .word ._108 + .word ._109 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._123 + .word ._124 + .word ._125 + .word ._126 + .word ._127 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._143 +._104: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._145 @ gSaveBlock1 + add r4, r0, r1 + mov r2, #0x1 + strh r2, [r4, #0x2] + add r1, r1, #0x10 + add r0, r0, r1 + ldr r1, ._145 + 4 @ gSaveBlock2 + bl StringCopy + mov r0, #0x5 + strb r0, [r4, #0x18] + b ._173 +._146: + .align 2, 0 +._145: + .word gSaveBlock1+0x2738 + .word gSaveBlock2 +._105: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r6, ._148 @ gSaveBlock1 + add r1, r4, r6 + mov r8, r1 + mov r0, #0x1 + strh r0, [r1, #0x2] + add r0, r6, #5 + add r0, r4, r0 + ldr r1, ._148 + 4 @ gSaveBlock2 + bl StringCopy + mov r0, #0x64 + mov r5, r9 + mul r5, r5, r0 + ldr r0, ._148 + 8 @ gPlayerParty + add r5, r5, r0 + add r6, r6, #0x10 + add r4, r4, r6 + add r0, r5, #0 + mov r1, #0x2 + add r2, r4, #0 + bl GetMonData + mov r0, #0x5 + mov r1, r8 + strb r0, [r1, #0xd] + add r0, r5, #0 + mov r1, #0x3 + bl GetMonData + mov r5, r8 + strb r0, [r5, #0xe] + b ._173 +._149: + .align 2, 0 +._148: + .word gSaveBlock1+0x2738 + .word gSaveBlock2 + .word gPlayerParty +._107: + mov r0, #0x64 + mov r1, r9 + mul r1, r1, r0 + mov r8, r1 + ldr r0, ._151 @ gPlayerParty + add r8, r8, r0 + mov r0, r8 + mov r1, #0xb + bl GetMonData + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r5, ._151 + 4 @ gSaveBlock1 + add r6, r4, r5 + strh r0, [r6, #0x2] + mov r0, #0x1 + strh r0, [r6, #0x1c] + add r0, r5, #0 + add r0, r0, #0xf + add r0, r4, r0 + ldr r1, ._151 + 8 @ gSaveBlock2 + bl StringCopy + add r5, r5, #0x4 + add r4, r4, r5 + mov r0, r8 + mov r1, #0x2 + add r2, r4, #0 + bl GetMonData + mov r0, #0x5 + strb r0, [r6, #0x1e] + mov r0, r8 + mov r1, #0x3 + bl GetMonData + strb r0, [r6, #0x1f] + b ._173 +._152: + .align 2, 0 +._151: + .word gPlayerParty + .word gSaveBlock1+0x2738 + .word gSaveBlock2 +._108: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r6, ._154 @ gSaveBlock1 + add r5, r4, r6 + mov r8, r5 + mov r0, #0x1 + strh r0, [r5, #0x2] + add r0, r6, #0 + add r0, r0, #0x16 + add r0, r4, r0 + ldr r1, ._154 + 4 @ gSaveBlock2 + bl StringCopy + mov r0, #0x64 + mov r5, r9 + mul r5, r5, r0 + ldr r0, ._154 + 8 @ gPlayerParty + add r5, r5, r0 + add r6, r6, #0x8 + add r4, r4, r6 + add r0, r5, #0 + mov r1, #0x2 + add r2, r4, #0 + bl GetMonData + mov r0, #0x5 + mov r1, r8 + strb r0, [r1, #0x1e] + add r0, r5, #0 + mov r1, #0x3 + bl GetMonData + mov r5, r8 + strb r0, [r5, #0x1f] + b ._173 +._155: + .align 2, 0 +._154: + .word gSaveBlock1+0x2738 + .word gSaveBlock2 + .word gPlayerParty +._109: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r5, ._157 @ gSaveBlock1 + add r6, r4, r5 + mov r0, #0x1 + strh r0, [r6, #0xa] + strh r0, [r6, #0x14] + add r0, r5, #2 + add r0, r4, r0 + ldr r1, ._157 + 4 @ gSaveBlock2 + mov r8, r1 + bl StringCopy + add r5, r5, #0xc + add r4, r4, r5 + add r0, r4, #0 + mov r1, r8 + bl StringCopy + mov r0, #0x5 + strb r0, [r6, #0x1d] + b ._173 +._158: + .align 2, 0 +._157: + .word gSaveBlock1+0x2738 + .word gSaveBlock2 +._143: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._160 @ gSaveBlock1 + add r0, r0, r1 + mov r1, #0x1 + strh r1, [r0, #0xc] + strh r1, [r0, #0x16] + b ._173 +._161: + .align 2, 0 +._160: + .word gSaveBlock1+0x2738 +._123: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r0, ._163 @ gSaveBlock1 + add r4, r4, r0 + ldr r1, ._163 + 4 @ gUnknown_Debug_083C4C64 + mov r0, sp + mov r2, #0x8 + bl memcpy + add r5, sp, #0x8 + ldr r1, ._163 + 8 @ gUnknown_Debug_083C4C6C + add r0, r5, #0 + mov r2, #0xb + bl memcpy + mov r0, #0xff + strb r0, [r4, #0x12] + add r0, r4, #0 + add r0, r0, #0x13 + mov r1, sp + bl StringCopy + add r0, r4, #4 + add r1, r5, #0 + bl StringCopy + mov r0, #0xc + strb r0, [r4, #0xf] + mov r0, #0x28 + strh r0, [r4, #0x10] + mov r0, #0x5 + strb r0, [r4, #0x2] + strb r0, [r4, #0x3] + b ._173 +._164: + .align 2, 0 +._163: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 + .word gUnknown_Debug_083C4C6C +._124: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._168 @ gSaveBlock1 + add r5, r0, r1 + add r4, sp, #0x14 + ldr r1, ._168 + 4 @ gUnknown_Debug_083C4C64 + add r0, r4, #0 + mov r2, #0x8 + bl memcpy + add r1, r4, #0 + mov r3, #0xfe + mov r2, #0x2 + add r0, r5, #0 + add r0, r0, #0x10 +._165: + strh r3, [r0] + sub r0, r0, #0x2 + sub r2, r2, #0x1 + cmp r2, #0 + bge ._165 @cond_branch + mov r0, #0x1 + strb r0, [r5, #0x2] + mov r0, #0x28 + strb r0, [r5, #0x12] + add r0, r5, #0 + add r0, r0, #0x13 + add r3, r5, #6 + mov r6, #0x1e + add r2, r5, #0 + add r2, r2, #0xa +._166: + strh r6, [r2] + sub r2, r2, #0x2 + cmp r2, r3 + bge ._166 @cond_branch + bl StringCopy + mov r0, #0x5 + strb r0, [r5, #0x3] + b ._173 +._169: + .align 2, 0 +._168: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 +._125: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r0, ._171 @ gSaveBlock1 + add r4, r4, r0 + add r5, sp, #0x1c + ldr r1, ._171 + 4 @ gUnknown_Debug_083C4C64 + add r0, r5, #0 + mov r2, #0x8 + bl memcpy + mov r0, #0x28 + strh r0, [r4, #0xc] + strh r0, [r4, #0xe] + mov r0, #0x3 + strb r0, [r4, #0x12] + mov r0, #0xff + strb r0, [r4, #0x10] + mov r0, #0x1 + strb r0, [r4, #0x11] + add r0, r4, #0 + add r0, r0, #0x13 + add r1, r5, #0 + bl StringCopy + mov r0, #0x5 + strb r0, [r4, #0x2] + b ._173 +._172: + .align 2, 0 +._171: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 +._126: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r0, ._174 @ gSaveBlock1 + add r4, r4, r0 + add r5, sp, #0x24 + ldr r1, ._174 + 4 @ gUnknown_Debug_083C4C64 + add r0, r5, #0 + mov r2, #0x8 + bl memcpy + mov r0, #0xff + strb r0, [r4, #0x2] + mov r0, #0x0 + strb r0, [r4, #0x3] + mov r0, #0x28 + strh r0, [r4, #0x4] + add r0, r4, #0 + add r0, r0, #0x13 + add r1, r5, #0 + bl StringCopy + mov r0, #0x5 + strb r0, [r4, #0x6] + b ._173 +._175: + .align 2, 0 +._174: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 +._127: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r0, ._176 @ gSaveBlock1 + add r4, r4, r0 + add r5, sp, #0x2c + ldr r1, ._176 + 4 @ gUnknown_Debug_083C4C64 + add r0, r5, #0 + mov r2, #0x8 + bl memcpy + ldr r0, ._176 + 8 @ 0xffff + strh r0, [r4, #0x2] + mov r0, #0x1 + neg r0, r0 + strh r0, [r4, #0x6] + mov r0, #0x28 + strh r0, [r4, #0x4] + strh r0, [r4, #0x8] + mov r0, #0x3 + strb r0, [r4, #0xa] + add r0, r4, #0 + add r0, r0, #0x13 + add r1, r5, #0 + bl StringCopy + mov r0, #0x5 + strb r0, [r4, #0xb] +._173: + add sp, sp, #0x34 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._177: + .align 2, 0 +._176: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 + .word 0xffff + + thumb_func_end debug_sub_808FA88 + + thumb_func_start debug_sub_808FEBC +debug_sub_808FEBC: + push {lr} + bl ClearTVShowData + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_808FEBC + + thumb_func_start debug_sub_808FECC +debug_sub_808FECC: + push {r4, lr} + ldr r1, ._178 @ gDebug_03000724 + mov r0, #0x0 + strb r0, [r1] + ldr r0, ._178 + 4 @ gUnknown_Debug_083C49CA + bl sub_8071F40 + mov r0, #0xd + mov r1, #0x6 + mov r2, #0x17 + mov r3, #0x8 + bl Menu_BlankWindowRect + ldr r0, ._178 + 8 @ gUnknown_Debug_083C4B20 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x16 + mov r1, #0x1 + mov r2, #0x18 + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r4, ._178 + 12 @ gStringVar1 + add r0, r4, #0 + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x17 + mov r2, #0x1 + bl Menu_PrintText + ldr r1, ._178 + 16 @ gMenuCallback + ldr r0, ._178 + 20 @ debug_sub_808FF3C + str r0, [r1] + pop {r4} + pop {r0} + bx r0 +._179: + .align 2, 0 +._178: + .word gDebug_03000724 + .word gUnknown_Debug_083C49CA + .word gUnknown_Debug_083C4B20+0x4 + .word gStringVar1 + .word gMenuCallback + .word debug_sub_808FF3C+1 + + thumb_func_end debug_sub_808FECC + + thumb_func_start debug_sub_808FF3C +debug_sub_808FF3C: + push {r4, lr} + mov r2, #0x0 + ldr r0, ._192 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._180 @cond_branch + ldr r1, ._192 + 4 @ gDebug_03000725 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x10 + bne ._181 @cond_branch + strb r2, [r1] +._181: + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._180: + ldr r0, ._192 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._182 @cond_branch + ldr r1, ._192 + 4 @ gDebug_03000725 + ldrb r0, [r1] + cmp r0, #0 + bne ._183 @cond_branch + mov r0, #0x10 + strb r0, [r1] +._183: + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._182: + ldr r0, ._192 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._184 @cond_branch + ldr r1, ._192 + 8 @ gDebug_03000724 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x3 + bne ._185 @cond_branch + mov r0, #0x0 + strb r0, [r1] +._185: + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._184: + ldr r0, ._192 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._186 @cond_branch + ldr r1, ._192 + 8 @ gDebug_03000724 + ldrb r0, [r1] + cmp r0, #0 + bne ._187 @cond_branch + mov r0, #0x3 + strb r0, [r1] +._187: + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._186: + cmp r2, #0 + beq ._188 @cond_branch + mov r0, #0xd + mov r1, #0x6 + mov r2, #0x17 + mov r3, #0x8 + bl Menu_BlankWindowRect + ldr r1, ._192 + 12 @ gUnknown_Debug_083C4B20 + ldr r0, ._192 + 8 @ gDebug_03000724 + ldrb r0, [r0] + lsl r0, r0, #0x2 + add r0, r0, r1 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x16 + mov r1, #0x1 + mov r2, #0x18 + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r4, ._192 + 16 @ gStringVar1 + ldr r0, ._192 + 4 @ gDebug_03000725 + ldrb r1, [r0] + add r0, r4, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x17 + mov r2, #0x1 + bl Menu_PrintText +._188: + ldr r4, ._192 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._189 @cond_branch + mov r0, #0x15 + bl PlaySE + ldr r0, ._192 + 4 @ gDebug_03000725 + ldrb r0, [r0] + ldr r2, ._192 + 20 @ gUnknown_Debug_083C4B20 + ldr r1, ._192 + 8 @ gDebug_03000724 + ldrb r1, [r1] + add r1, r1, r2 + ldrb r1, [r1] + bl debug_sub_8090080 +._189: + ldrh r1, [r4, #0x2e] + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._190 @cond_branch + mov r0, #0x0 + b ._191 +._193: + .align 2, 0 +._192: + .word gMain + .word gDebug_03000725 + .word gDebug_03000724 + .word gUnknown_Debug_083C4B20+0x4 + .word gStringVar1 + .word gUnknown_Debug_083C4B20 +._190: + bl sub_80BEC40 + bl CloseMenu + mov r0, #0x1 +._191: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808FF3C + + thumb_func_start debug_sub_8090080 +debug_sub_8090080: + lsl r0, r0, #0x18 + ldr r2, ._194 @ gSaveBlock1 + lsr r0, r0, #0x16 + add r0, r0, r2 + ldr r3, ._194 + 4 @ 0x2abc + add r2, r0, r3 + strb r1, [r2] + ldr r1, ._194 + 8 @ 0x2abd + add r2, r0, r1 + mov r1, #0x1 + strb r1, [r2] + add r3, r3, #0x2 + add r0, r0, r3 + mov r1, #0x4 + strh r1, [r0] + bx lr +._195: + .align 2, 0 +._194: + .word gSaveBlock1 + .word 0x2abc + .word 0x2abd + + thumb_func_end debug_sub_8090080 + + thumb_func_start debug_sub_80900AC +debug_sub_80900AC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r7, #0x0 + mov r5, #0x0 + ldr r0, ._202 @ gSaveBlock1 + mov r8, r0 +._198: + lsl r0, r5, #0x3 + add r0, r0, r5 + lsl r0, r0, #0x2 + mov r1, r8 + add r6, r0, r1 + ldr r1, ._202 + 4 @ 0x2738 + add r0, r6, r1 + ldrb r4, [r0] + cmp r4, #0 + bne ._196 @cond_branch + cmp r7, #0xc + bne ._197 @cond_branch + mov r7, #0x0 +._197: + ldr r0, ._202 + 8 @ gUnknown_Debug_083C4ABD + add r0, r7, r0 + ldrb r1, [r0] + add r0, r5, #0 + bl debug_sub_808FA88 + ldr r1, ._202 + 12 @ 0x2739 + add r0, r6, r1 + strb r4, [r0] + add r0, r7, #1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._196: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x17 + bls ._198 @cond_branch + mov r7, #0x0 + mov r5, #0x0 +._201: + ldr r0, ._202 @ gSaveBlock1 + lsl r1, r5, #0x2 + add r1, r1, r0 + ldr r0, ._202 + 16 @ 0x2abc + add r1, r1, r0 + ldrb r0, [r1] + cmp r0, #0 + bne ._199 @cond_branch + cmp r7, #0x3 + bne ._200 @cond_branch + mov r7, #0x0 +._200: + ldr r0, ._202 + 20 @ gUnknown_Debug_083C4B20 + add r0, r7, r0 + ldrb r1, [r0] + add r0, r5, #0 + bl debug_sub_8090080 + add r0, r7, #1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._199: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0xf + bls ._201 @cond_branch + bl CloseMenu + mov r0, #0x1 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._203: + .align 2, 0 +._202: + .word gSaveBlock1 + .word 0x2738 + .word gUnknown_Debug_083C4ABD + .word 0x2739 + .word 0x2abc + .word gUnknown_Debug_083C4B20 + + thumb_func_end debug_sub_80900AC + + thumb_func_start NoharaDebugMenu_Fan +NoharaDebugMenu_Fan: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._204 @ gUnknown_Debug_083C4D28 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._204 + 4 @ gMenuCallback + ldr r0, ._204 + 8 @ debug_sub_80901A4 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._205: + .align 2, 0 +._204: + .word gUnknown_Debug_083C4D28 + .word gMenuCallback + .word debug_sub_80901A4+1 + + thumb_func_end NoharaDebugMenu_Fan + + thumb_func_start debug_sub_80901A4 +debug_sub_80901A4: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._206 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._207 @cond_branch + ldr r2, ._209 @ gMenuCallback + ldr r0, ._209 + 4 @ gUnknown_Debug_083C4D28 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] +._206: + mov r0, #0x0 + b ._208 +._210: + .align 2, 0 +._209: + .word gMenuCallback + .word gUnknown_Debug_083C4D28 +._207: + bl CloseMenu + mov r0, #0x1 +._208: + pop {r1} + bx r1 + + thumb_func_end debug_sub_80901A4 + + thumb_func_start debug_sub_80901E4 +debug_sub_80901E4: + push {lr} + bl ResetFanClub + bl sub_810FAA0 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_80901E4 + + thumb_func_start debug_sub_80901F8 +debug_sub_80901F8: + push {lr} + bl sub_810FB9C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._211 @ gUnknown_Debug_083C4CA8 + ldr r1, ._211 + 4 @ gUnknown_083F8408 + add r0, r0, r1 + ldrb r0, [r0] + sub r0, r0, #0x8 + lsl r0, r0, #0x2 + add r0, r0, r2 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + ldr r1, ._211 + 8 @ gMenuCallback + ldr r0, ._211 + 12 @ debug_sub_8090278 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._212: + .align 2, 0 +._211: + .word gUnknown_Debug_083C4CA8 + .word gUnknown_083F8408 + .word gMenuCallback + .word debug_sub_8090278+1 + + thumb_func_end debug_sub_80901F8 + + thumb_func_start debug_sub_8090238 +debug_sub_8090238: + push {lr} + bl sub_810FC18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._213 @ gUnknown_Debug_083C4CA8 + ldr r1, ._213 + 4 @ gUnknown_083F8410 + add r0, r0, r1 + ldrb r0, [r0] + sub r0, r0, #0x8 + lsl r0, r0, #0x2 + add r0, r0, r2 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + ldr r1, ._213 + 8 @ gMenuCallback + ldr r0, ._213 + 12 @ debug_sub_8090278 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._214: + .align 2, 0 +._213: + .word gUnknown_Debug_083C4CA8 + .word gUnknown_083F8410 + .word gMenuCallback + .word debug_sub_8090278+1 + + thumb_func_end debug_sub_8090238 + + thumb_func_start debug_sub_8090278 +debug_sub_8090278: + push {lr} + ldr r0, ._217 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + bne ._215 @cond_branch + mov r0, #0x0 + b ._216 +._218: + .align 2, 0 +._217: + .word gMain +._215: + bl CloseMenu + mov r0, #0x1 +._216: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090278 + + thumb_func_start debug_sub_809029C +debug_sub_809029C: + push {r4, lr} + ldr r4, ._219 @ gStringVar1 + ldr r0, ._219 + 4 @ gSaveBlock1 + ldr r1, ._219 + 8 @ 0x13c2 + add r0, r0, r1 + ldrh r0, [r0] + mov r1, #0x7f + and r1, r1, r0 + add r0, r4, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x10 + mov r2, #0x7 + bl Menu_PrintText + ldr r1, ._219 + 12 @ gMenuCallback + ldr r0, ._219 + 16 @ debug_sub_8090278 + str r0, [r1] + mov r0, #0x0 + pop {r4} + pop {r1} + bx r1 +._220: + .align 2, 0 +._219: + .word gStringVar1 + .word gSaveBlock1 + .word 0x13c2 + .word gMenuCallback + .word debug_sub_8090278+1 + + thumb_func_end debug_sub_809029C + + thumb_func_start debug_sub_80902E4 +debug_sub_80902E4: + push {lr} + ldr r1, ._221 @ gSaveBlock2 + ldrh r0, [r1, #0xe] + add r0, r0, #0x6 + strh r0, [r1, #0xe] + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._222: + .align 2, 0 +._221: + .word gSaveBlock2 + + thumb_func_end debug_sub_80902E4 + + thumb_func_start debug_sub_80902FC +debug_sub_80902FC: + push {lr} + mov r0, #0x0 + bl sub_810FB10 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_80902FC + + thumb_func_start debug_sub_8090310 +debug_sub_8090310: + push {lr} + mov r0, #0x1 + bl sub_810FB10 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090310 + + thumb_func_start debug_sub_8090324 +debug_sub_8090324: + push {lr} + mov r0, #0x2 + bl sub_810FB10 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090324 + + thumb_func_start debug_sub_8090338 +debug_sub_8090338: + push {lr} + mov r0, #0x3 + bl sub_810FB10 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090338 + + thumb_func_start NoharaDebugMenu_BattleVSDad +NoharaDebugMenu_BattleVSDad: + push {lr} + ldr r0, ._223 @ 0x4085 + mov r1, #0x6 + bl VarSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._224: + .align 2, 0 +._223: + .word 0x4085 + + thumb_func_end NoharaDebugMenu_BattleVSDad + + thumb_func_start NoharaDebugMenu_DadAfterBattle +NoharaDebugMenu_DadAfterBattle: + push {lr} + ldr r0, ._225 @ 0x4085 + mov r1, #0x7 + bl VarSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._226: + .align 2, 0 +._225: + .word 0x4085 + + thumb_func_end NoharaDebugMenu_DadAfterBattle + + thumb_func_start NoharaDebugMenu_SootopolisCity +NoharaDebugMenu_SootopolisCity: + push {lr} + mov r0, #0x81 + bl FlagSet + mov r0, #0x71 + bl FlagSet + ldr r0, ._227 @ 0x32f + bl FlagClear + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._228: + .align 2, 0 +._227: + .word 0x32f + + thumb_func_end NoharaDebugMenu_SootopolisCity + + thumb_func_start NoharaDebugMenu_Embark +NoharaDebugMenu_Embark: + push {lr} + ldr r0, ._229 @ 0x2e3 + bl FlagClear + ldr r0, ._229 + 4 @ 0x4090 + mov r1, #0x1 + bl VarSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._230: + .align 2, 0 +._229: + .word 0x2e3 + .word 0x4090 + + thumb_func_end NoharaDebugMenu_Embark + + thumb_func_start NoharaDebugMenu_Yes9999 +NoharaDebugMenu_Yes9999: + push {lr} + ldr r0, ._231 @ 0x4048 + ldr r1, ._231 + 4 @ 0x270f + bl VarSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._232: + .align 2, 0 +._231: + .word 0x4048 + .word 0x270f + + thumb_func_end NoharaDebugMenu_Yes9999 + + thumb_func_start NoharaDebugMenu_LegendsFlagOn +NoharaDebugMenu_LegendsFlagOn: + push {lr} + mov r0, #0xe4 + bl FlagSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end NoharaDebugMenu_LegendsFlagOn + + thumb_func_start NoharaDebugMenu_AddNumWinningStreaks +NoharaDebugMenu_AddNumWinningStreaks: + push {lr} + ldr r0, ._235 @ gSaveBlock2 + ldr r1, ._235 + 4 @ 0x572 + add r2, r0, r1 + ldrh r1, [r2] + cmp r1, #0x31 + bhi ._233 @cond_branch + mov r0, #0x32 + b ._244 +._236: + .align 2, 0 +._235: + .word gSaveBlock2 + .word 0x572 +._233: + cmp r1, #0x63 + bhi ._237 @cond_branch + mov r0, #0x64 + b ._244 +._237: + ldr r0, ._241 @ 0x3e7 + cmp r1, r0 + bhi ._239 @cond_branch + add r0, r0, #0x1 + b ._244 +._242: + .align 2, 0 +._241: + .word 0x3e7 +._239: + ldr r0, ._245 @ 0x1387 + cmp r1, r0 + bhi ._243 @cond_branch + ldr r0, ._245 + 4 @ 0x2706 + b ._244 +._246: + .align 2, 0 +._245: + .word 0x1387 + .word 0x2706 +._243: + ldr r0, ._248 @ 0x2705 + cmp r1, r0 + bhi ._247 @cond_branch + add r0, r0, #0xa +._244: + strh r0, [r2] +._247: + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._249: + .align 2, 0 +._248: + .word 0x2705 + + thumb_func_end NoharaDebugMenu_AddNumWinningStreaks + + .align 2, 0 + +.endif diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index ad3f371f5..cee93a9e4 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -323,6 +323,149 @@ sub_809CA8C: @ 809CA8C bx r0 thumb_func_end sub_809CA8C +.if DEBUG + thumb_func_start debug_sub_80AA40C +debug_sub_80AA40C: +.syntax divided + push {lr} + bl sub_809AB8C + lsl r0, r0, #0x10 + cmp r0, #0 + beq ._2084 @cond_branch + bl sub_809CDCC + mov r0, #0x20 + bl sub_809CDEC + mov r0, #0x6 + bl sub_809CDEC + mov r0, #0x1 + b ._2085 +._2084: + mov r0, #0x0 +._2085: + pop {r1} + bx r1 +.syntax unified + thumb_func_end debug_sub_80AA40C +.endif + +.if DEBUG + thumb_func_start sub_809CAB0 +sub_809CAB0: +.syntax divided + push {lr} + ldr r0, ._2088 @ unk_2038790 + ldrb r0, [r0] + cmp r0, #0 + beq ._2086 @cond_branch + bl debug_sub_80AA40C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._2110 +._2089: + .align 2, 0 +._2088: + .word unk_2038790 +._2086: + bl sub_809CDCC + bl sub_809AB8C + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, ._2094 @ gPokemonStorageSystemPtr + ldr r0, [r0] + ldrb r0, [r0, #0x5] + cmp r0, #0x1 + beq ._2090 @cond_branch + cmp r0, #0x1 + bgt ._2091 @cond_branch + cmp r0, #0 + beq ._2092 @cond_branch + b ._2108 +._2095: + .align 2, 0 +._2094: + .word gPokemonStorageSystemPtr +._2091: + cmp r0, #0x2 + beq ._2096 @cond_branch + b ._2108 +._2090: + cmp r1, #0 + beq ._2108 @cond_branch + mov r0, #0x1 + bl sub_809CDEC + b ._2109 +._2092: + cmp r1, #0 + beq ._2108 @cond_branch + mov r0, #0x2 + bl sub_809CDEC + b ._2109 +._2096: + ldr r0, ._2105 @ gUnknown_020384E6 + ldrb r0, [r0] + cmp r0, #0 + beq ._2102 @cond_branch + cmp r1, #0 + beq ._2103 @cond_branch + mov r0, #0x4 + bl sub_809CDEC + b ._2109 +._2106: + .align 2, 0 +._2105: + .word gUnknown_020384E6 +._2103: + mov r0, #0x5 + bl sub_809CDEC + b ._2109 +._2102: + cmp r1, #0 + beq ._2108 @cond_branch + mov r0, #0x3 + bl sub_809CDEC + b ._2109 +._2108: + mov r0, #0x0 + b ._2110 +._2109: + mov r0, #0x6 + bl sub_809CDEC + ldr r0, ._2114 @ gPokemonStorageSystemPtr + ldr r0, [r0] + ldrb r0, [r0, #0x5] + cmp r0, #0x2 + bne ._2113 @cond_branch + ldr r0, ._2114 + 4 @ gUnknown_020384E4 + ldrb r0, [r0] + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0 + bne ._2112 @cond_branch + mov r0, #0x2 + bl sub_809CDEC + b ._2113 +._2115: + .align 2, 0 +._2114: + .word gPokemonStorageSystemPtr + .word gUnknown_020384E4 +._2112: + mov r0, #0x1 + bl sub_809CDEC +._2113: + mov r0, #0x8 + bl sub_809CDEC + mov r0, #0x7 + bl sub_809CDEC + mov r0, #0x0 + bl sub_809CDEC + mov r0, #0x1 +._2110: + pop {r1} + bx r1 +.syntax unified + thumb_func_end sub_809CAB0 +.else thumb_func_start sub_809CAB0 sub_809CAB0: @ 809CAB0 push {lr} @@ -418,6 +561,7 @@ _0809CB6E: pop {r1} bx r1 thumb_func_end sub_809CAB0 +.endif thumb_func_start sub_809CB74 sub_809CB74: @ 809CB74 diff --git a/asm/taya_debug_window.s b/asm/taya_debug_window.s new file mode 100644 index 000000000..68d27390d --- /dev/null +++ b/asm/taya_debug_window.s @@ -0,0 +1,2054 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start TayaDebugMenu_Trend +TayaDebugMenu_Trend: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffd8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1e + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r5, ._3 @ gSaveBlock1 + mov r7, #0x0 + mov r0, #0x1 + add r0, r0, sp + mov sl, r0 + mov r9, sp + mov r0, #0x0 + mov r8, r0 + add r6, sp, #0x20 +._2: + ldrb r1, [r5, #0x1] + mov r0, #0x40 + and r0, r0, r1 + mov r1, #0xa1 + cmp r0, #0 + beq ._1 @cond_branch + mov r1, #0xa2 +._1: + mov r0, r9 + strb r1, [r0] + ldrh r1, [r5, #0x4] + add r0, r6, #0 + bl EasyChat_GetWordText + mov r0, sl + add r1, r6, #0 + mov r2, #0x0 + mov r3, #0x7 + bl StringCopyPadded + add r4, r0, #0 + ldrh r1, [r5, #0x6] + add r0, r6, #0 + bl EasyChat_GetWordText + add r0, r4, #0 + add r1, r6, #0 + mov r2, #0x0 + mov r3, #0x8 + bl StringCopyPadded + add r4, r0, #0 + ldrb r1, [r5] + lsl r1, r1, #0x19 + lsr r1, r1, #0x19 + mov r2, #0x1 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r4, r0, #0 + mov r0, r8 + strb r0, [r4] + add r4, r4, #0x1 + ldrh r1, [r5] + lsl r1, r1, #0x12 + lsr r1, r1, #0x19 + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r4, r0, #0 + mov r0, r8 + strb r0, [r4] + add r4, r4, #0x1 + ldrh r1, [r5, #0x2] + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + lsl r2, r7, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x1 + bl Menu_PrintText + add r5, r5, #0x8 + add r0, r7, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + cmp r7, #0x4 + bls ._2 @cond_branch + ldr r1, ._3 + 4 @ gMenuCallback + ldr r0, ._3 + 8 @ debug_sub_8090808 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x28 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._4: + .align 2, 0 +._3: + .word gSaveBlock1+0x2dd4 + .word gMenuCallback + .word debug_sub_8090808+1 + + thumb_func_end TayaDebugMenu_Trend + + thumb_func_start debug_sub_8090808 +debug_sub_8090808: + push {lr} + ldr r0, ._7 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x3 + and r0, r0, r1 + cmp r0, #0 + bne ._5 @cond_branch + mov r0, #0x0 + b ._6 +._8: + .align 2, 0 +._7: + .word gMain +._5: + bl Menu_EraseScreen + bl CloseMenu + mov r0, #0x1 +._6: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090808 + + thumb_func_start TayaDebugMenu_TrendR +TayaDebugMenu_TrendR: + push {r4, r5, r6, r7, lr} + mov r0, #0x0 + ldr r7, ._11 @ gSaveBlock1 +._10: + mov r4, #0x0 + lsl r5, r0, #0x3 + add r6, r0, #1 +._9: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x16 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_80EB72C + lsl r1, r4, #0x1 + add r1, r1, r5 + add r1, r1, r7 + strh r0, [r1] + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x1 + bls ._9 @cond_branch + lsl r0, r6, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x4 + bls ._10 @cond_branch + bl Menu_EraseScreen + bl CloseMenu + mov r0, #0x1 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._12: + .align 2, 0 +._11: + .word gSaveBlock1+0x2dd8 + + thumb_func_end TayaDebugMenu_TrendR + + thumb_func_start debug_sub_8090880 +debug_sub_8090880: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._13 @cond_branch + mov r0, #0x0 + b ._14 +._13: + bl sub_80E60D8 + mov r0, #0x1 +._14: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090880 + + thumb_func_start debug_sub_809089C +debug_sub_809089C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._15 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + bne ._16 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._17 +._16: + ldr r2, ._19 @ gSpecialVar_0x8004 + ldr r0, ._19 + 4 @ gUnknown_Debug_083C4EC0 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + strh r0, [r2] + ldrh r0, [r2] + sub r0, r0, #0x5 + cmp r0, #0x7 + bhi ._27 @cond_branch + lsl r0, r0, #0x2 + ldr r1, ._19 + 8 @ + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._20: + .align 2, 0 +._19: + .word gSpecialVar_0x8004 + .word gUnknown_Debug_083C4EC0 + .word ._21 +._21: + .word ._29 + .word ._27 + .word ._29 + .word ._29 + .word ._27 + .word ._27 + .word ._29 + .word ._29 +._29: + ldr r0, ._30 @ gSpecialVar_0x8005 + mov r1, #0x0 + strh r1, [r0] + ldr r0, ._30 + 4 @ gSpecialVar_0x8006 + strh r1, [r0] +._27: + mov r0, #0x1 + mov r1, #0x0 + bl FadeScreen + ldr r1, ._30 + 8 @ gMenuCallback + ldr r0, ._30 + 12 @ debug_sub_8090880 + str r0, [r1] +._15: + mov r0, #0x0 +._17: + pop {r1} + bx r1 +._31: + .align 2, 0 +._30: + .word gSpecialVar_0x8005 + .word gSpecialVar_0x8006 + .word gMenuCallback + .word debug_sub_8090880+1 + + thumb_func_end debug_sub_809089C + + thumb_func_start TayaDebugMenu_SimpleText +TayaDebugMenu_SimpleText: + push {lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._32 @ gUnknown_Debug_083C4EC0 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._32 + 4 @ gMenuCallback + ldr r0, ._32 + 8 @ debug_sub_809089C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._33: + .align 2, 0 +._32: + .word gUnknown_Debug_083C4EC0 + .word gMenuCallback + .word debug_sub_809089C+1 + + thumb_func_end TayaDebugMenu_SimpleText + + thumb_func_start debug_sub_8090984 +debug_sub_8090984: + push {r4, r5, r6, r7, lr} + bl Menu_ProcessInput + lsl r2, r0, #0x18 + asr r1, r2, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._34 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._46 @cond_branch + cmp r1, #0x4 + bgt ._36 @cond_branch + lsr r0, r2, #0x18 + bl debug_sub_810B32C + b ._46 +._34: + mov r0, #0x0 + b ._38 +._36: + cmp r1, #0x5 + bne ._39 @cond_branch + bl sub_80F7F30 + b ._46 +._39: + cmp r1, #0x6 + bne ._41 @cond_branch + mov r4, #0x0 + ldr r0, ._44 @ gSaveBlock1 + add r1, r0, #2 + mov ip, r1 + ldr r7, ._44 + 4 @ gUnknown_Debug_083C4F08 + ldr r1, ._44 + 8 @ 0xfffffd94 + add r6, r0, r1 + add r5, r0, #0 + add r5, r5, #0xe +._42: + lsl r1, r4, #0x1 + mov r0, ip + add r3, r1, r0 + add r0, r1, r7 + ldrh r2, [r0] + strh r2, [r3] + add r0, r1, r5 + strh r2, [r0] + add r1, r6, r1 + strh r2, [r1] + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x2 + bls ._42 @cond_branch + b ._46 +._45: + .align 2, 0 +._44: + .word gSaveBlock1+0x2d94 + .word gUnknown_Debug_083C4F08 + .word 0xfffffd94 +._41: + cmp r1, #0x7 + bne ._46 @cond_branch + mov r4, #0x0 +._47: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_80EB890 + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x20 + bls ._47 @cond_branch +._46: + bl CloseMenu + mov r0, #0x1 +._38: + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090984 + + thumb_func_start TayaDebugMenu_OldMan +TayaDebugMenu_OldMan: + push {lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xa + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._48 @ gUnknown_Debug_083C4F54 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + bl GetCurrentMauvilleOldMan + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #0x9 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r1, ._48 + 4 @ gMenuCallback + ldr r0, ._48 + 8 @ debug_sub_8090984 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._49: + .align 2, 0 +._48: + .word gUnknown_Debug_083C4F54 + .word gMenuCallback + .word debug_sub_8090984+1 + + thumb_func_end TayaDebugMenu_OldMan + + thumb_func_start TayaDebugMenu_LanettesPC +TayaDebugMenu_LanettesPC: + push {lr} + bl Menu_EraseScreen + bl ShowPokemonStorageSystem + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end TayaDebugMenu_LanettesPC + + thumb_func_start TayaDebugMenu_TownFlags +TayaDebugMenu_TownFlags: + push {lr} + ldr r0, ._50 @ 0x80f + bl FlagSet + mov r0, #0x81 + lsl r0, r0, #0x4 + bl FlagSet + ldr r0, ._50 + 4 @ 0x811 + bl FlagSet + ldr r0, ._50 + 8 @ 0x812 + bl FlagSet + ldr r0, ._50 + 12 @ 0x813 + bl FlagSet + ldr r0, ._50 + 16 @ 0x814 + bl FlagSet + ldr r0, ._50 + 20 @ 0x815 + bl FlagSet + ldr r0, ._50 + 24 @ 0x816 + bl FlagSet + ldr r0, ._50 + 28 @ 0x817 + bl FlagSet + ldr r0, ._50 + 32 @ 0x818 + bl FlagSet + ldr r0, ._50 + 36 @ 0x819 + bl FlagSet + ldr r0, ._50 + 40 @ 0x81a + bl FlagSet + ldr r0, ._50 + 44 @ 0x81b + bl FlagSet + ldr r0, ._50 + 48 @ 0x81c + bl FlagSet + ldr r0, ._50 + 52 @ 0x81d + bl FlagSet + ldr r0, ._50 + 56 @ 0x81e + bl FlagSet + ldr r0, ._50 + 60 @ 0x848 + bl FlagSet + ldr r0, ._50 + 64 @ 0x849 + bl FlagSet + ldr r0, ._50 + 68 @ 0x84a + bl FlagSet + ldr r0, ._50 + 72 @ 0x854 + bl FlagSet + ldr r0, ._50 + 76 @ 0x855 + bl FlagSet + ldr r0, ._50 + 80 @ 0x856 + bl FlagSet + ldr r0, ._50 + 84 @ 0x857 + bl FlagSet + ldr r0, ._50 + 88 @ 0x858 + bl FlagSet + ldr r0, ._50 + 92 @ 0x859 + bl FlagSet + ldr r0, ._50 + 96 @ 0x85a + bl FlagSet + ldr r0, ._50 + 100 @ 0x85b + bl FlagSet + ldr r0, ._50 + 104 @ 0x85c + bl FlagSet + ldr r0, ._50 + 108 @ 0x83c + bl FlagSet + ldr r0, ._50 + 112 @ 0x83d + bl FlagSet + ldr r0, ._50 + 116 @ 0x83e + bl FlagSet + ldr r0, ._50 + 120 @ 0x83f + bl FlagSet + mov r0, #0x84 + lsl r0, r0, #0x4 + bl FlagSet + ldr r0, ._50 + 124 @ 0x841 + bl FlagSet + ldr r0, ._50 + 128 @ 0x842 + bl FlagSet + ldr r0, ._50 + 132 @ 0x843 + bl FlagSet + ldr r0, ._50 + 136 @ 0x844 + bl FlagSet + ldr r0, ._50 + 140 @ 0x845 + bl FlagSet + ldr r0, ._50 + 144 @ 0x846 + bl FlagSet + ldr r0, ._50 + 148 @ 0x847 + bl FlagSet + ldr r0, ._50 + 152 @ 0x83b + bl FlagSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._51: + .align 2, 0 +._50: + .word 0x80f + .word 0x811 + .word 0x812 + .word 0x813 + .word 0x814 + .word 0x815 + .word 0x816 + .word 0x817 + .word 0x818 + .word 0x819 + .word 0x81a + .word 0x81b + .word 0x81c + .word 0x81d + .word 0x81e + .word 0x848 + .word 0x849 + .word 0x84a + .word 0x854 + .word 0x855 + .word 0x856 + .word 0x857 + .word 0x858 + .word 0x859 + .word 0x85a + .word 0x85b + .word 0x85c + .word 0x83c + .word 0x83d + .word 0x83e + .word 0x83f + .word 0x841 + .word 0x842 + .word 0x843 + .word 0x844 + .word 0x845 + .word 0x846 + .word 0x847 + .word 0x83b + + thumb_func_end TayaDebugMenu_TownFlags + + thumb_func_start TayaDebugMenu_AwardARibbon +TayaDebugMenu_AwardARibbon: + push {lr} + mov r0, #0x1 + neg r0, r0 + mov r1, #0x10 + mov r2, #0x0 + bl BlendPalettes + ldr r0, ._52 @ debug_sub_80915BC + bl SetMainCallback2 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._53: + .align 2, 0 +._52: + .word debug_sub_80915BC+1 + + thumb_func_end TayaDebugMenu_AwardARibbon + + thumb_func_start debug_sub_8090C44 +debug_sub_8090C44: + push {r4, r5, lr} + ldr r4, ._54 @ gSharedMem + sub r5, r4, #1 + ldrh r1, [r5, #0x8] + add r0, r4, #0 + mov r2, #0x2 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x0 + mov r2, #0x5 + bl StringFill + ldrb r0, [r5] + add r0, r0, r4 + mov r1, #0x79 + strb r1, [r0] + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._55: + .align 2, 0 +._54: + .word gSharedMem+1 + + thumb_func_end debug_sub_8090C44 + + thumb_func_start debug_sub_8090C88 +debug_sub_8090C88: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + mov r0, #0x1 + mov r8, r0 + ldr r2, ._59 @ gMain + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + add r3, r2, #0 + cmp r0, #0 + beq ._57 @cond_branch + ldr r1, ._59 + 4 @ gSharedMem + ldrb r0, [r1] + cmp r0, #0 + beq ._57 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + b ._62 +._60: + .align 2, 0 +._59: + .word gMain + .word gSharedMem +._67: + add r0, r0, #0x1 + strb r0, [r1] + b ._62 +._77: + strh r1, [r7, #0x8] + b ._62 +._79: + ldr r0, ._64 @ gSharedMem + ldrh r0, [r0, #0x8] + bl SetLotteryNumber16_Unused +._78: + bl CloseMenu + mov r0, #0x1 + b ._63 +._65: + .align 2, 0 +._64: + .word gSharedMem +._57: + ldrh r1, [r3, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._66 @cond_branch + ldr r1, ._81 @ gSharedMem + ldrb r0, [r1] + cmp r0, #0x3 + bls ._67 @cond_branch +._66: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._68 @cond_branch + ldr r0, ._81 @ gSharedMem + ldrh r1, [r0, #0x8] + str r1, [r0, #0xc] + ldr r1, ._81 + 4 @ 0x2710 + strh r1, [r0, #0x10] + mov r4, #0x0 + ldrb r1, [r0] + add r7, r0, #0 + cmp r4, r1 + bcs ._69 @cond_branch + add r5, r7, #0 + add r6, r1, #0 +._70: + ldrh r0, [r5, #0x10] + mov r1, #0xa + str r3, [sp] + bl __udivsi3 + strh r0, [r5, #0x10] + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r3, [sp] + cmp r4, r6 + bcc ._70 @cond_branch +._69: + ldrh r1, [r7, #0x10] + ldr r0, [r7, #0xc] + add r0, r0, r1 + str r0, [r7, #0xc] + ldr r1, ._81 + 8 @ 0xffff + cmp r0, r1 + ble ._71 @cond_branch + str r1, [r7, #0xc] +._71: + ldrh r0, [r7, #0x8] + ldr r1, [r7, #0xc] + cmp r0, r1 + bne ._77 @cond_branch +._68: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._73 @cond_branch + ldr r0, ._81 @ gSharedMem + ldrh r1, [r0, #0x8] + str r1, [r0, #0xc] + ldr r1, ._81 + 4 @ 0x2710 + strh r1, [r0, #0x10] + mov r4, #0x0 + ldrb r1, [r0] + add r7, r0, #0 + cmp r4, r1 + bcs ._74 @cond_branch + add r5, r7, #0 + add r6, r1, #0 +._75: + ldrh r0, [r5, #0x10] + mov r1, #0xa + str r3, [sp] + bl __udivsi3 + strh r0, [r5, #0x10] + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r3, [sp] + cmp r4, r6 + bcc ._75 @cond_branch +._74: + add r2, r7, #0 + ldrh r1, [r2, #0x10] + ldr r0, [r2, #0xc] + sub r0, r0, r1 + str r0, [r2, #0xc] + cmp r0, #0 + bge ._76 @cond_branch + mov r0, #0x0 + str r0, [r2, #0xc] +._76: + ldrh r0, [r2, #0x8] + ldr r1, [r2, #0xc] + cmp r0, r1 + bne ._77 @cond_branch +._73: + ldrh r2, [r3, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + bne ._78 @cond_branch + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + bne ._79 @cond_branch + mov r0, #0x0 + mov r8, r0 +._62: + mov r0, r8 + cmp r0, #0 + beq ._80 @cond_branch + bl debug_sub_8090C44 +._80: + mov r0, #0x0 +._63: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._82: + .align 2, 0 +._81: + .word gSharedMem + .word 0x2710 + .word 0xffff + + thumb_func_end debug_sub_8090C88 + + thumb_func_start TayaDebugMenu_PKMNLottery +TayaDebugMenu_PKMNLottery: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x6 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + bl RetrieveLotteryNumber + ldr r2, ._83 @ gSharedMem + ldr r0, ._83 + 4 @ gSpecialVar_Result + ldrh r0, [r0] + mov r1, #0x0 + strh r0, [r2, #0x8] + strb r1, [r2] + bl debug_sub_8090C44 + ldr r1, ._83 + 8 @ gMenuCallback + ldr r0, ._83 + 12 @ debug_sub_8090C88 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._84: + .align 2, 0 +._83: + .word gSharedMem + .word gSpecialVar_Result + .word gMenuCallback + .word debug_sub_8090C88+1 + + thumb_func_end TayaDebugMenu_PKMNLottery + + thumb_func_start TayaDebugMenu_Trainer +TayaDebugMenu_Trainer: + push {r4, r5, lr} + mov r4, #0x0 + ldr r5, ._86 @ gTrainerEyeTrainers +._85: + lsl r0, r4, #0x4 + add r0, r0, r5 + ldrh r0, [r0] + bl SetTrainerFlag + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x37 + bls ._85 @cond_branch + ldr r0, ._86 + 4 @ 0x109 + bl SetTrainerFlag + mov r0, #0x85 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 8 @ 0x10b + bl SetTrainerFlag + mov r0, #0x86 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 12 @ 0x10d + bl SetTrainerFlag + mov r0, #0x87 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 16 @ 0x10f + bl SetTrainerFlag + mov r0, #0x88 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 20 @ 0x105 + bl SetTrainerFlag + mov r0, #0x83 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 24 @ 0x107 + bl SetTrainerFlag + mov r0, #0x84 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 28 @ 0x14f + bl SetTrainerFlag + bl CloseMenu + mov r0, #0x1 + pop {r4, r5} + pop {r1} + bx r1 +._87: + .align 2, 0 +._86: + .word gTrainerEyeTrainers + .word 0x109 + .word 0x10b + .word 0x10d + .word 0x10f + .word 0x105 + .word 0x107 + .word 0x14f + + thumb_func_end TayaDebugMenu_Trainer + + thumb_func_start TayaDebugMenu_PokenavD +TayaDebugMenu_PokenavD: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffe4 + bl Menu_DisplayDialogueFrame + mov r0, #0x0 + mov sl, r0 + mov r6, #0x1 + mov r7, #0xff + mov r1, #0x3 + mov r9, r1 +._93: + ldr r4, ._94 @ gSharedMem + add r0, r4, #0 + ldr r1, ._94 + 4 @ gUnknown_Debug_083C4F94 + bl StringCopy + mov r5, sl + add r5, r5, #0x1 + add r1, r5, r4 + mov r0, #0xff + strb r0, [r1] + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0xf + bl Menu_PrintText + mov r0, #0x0 + mov r8, r0 + str r5, [sp, #0x14] + mov r1, sl + lsl r1, r1, #0x2 + str r1, [sp, #0x18] +._91: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r0, r0, #0x1 + str r0, [sp, #0x10] + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x64 + bl __umodsi3 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xc1 + lsl r1, r1, #0x1 + bl __umodsi3 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0xfb + bls ._89 @cond_branch + add r0, r3, #0 + add r0, r0, #0x19 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + ldr r0, ._94 + 8 @ 0x19b + cmp r3, r0 + bls ._89 @cond_branch + mov r3, #0x1 +._89: + ldr r0, [sp, #0x18] + add r0, r0, sl + lsl r4, r0, #0x4 + sub r4, r4, r0 + lsl r4, r4, #0x5 + mov r1, r8 + lsl r0, r1, #0x2 + add r0, r0, r8 + lsl r0, r0, #0x4 + ldr r1, ._94 + 12 @ gPokemonStorage + add r0, r0, r1 + add r4, r4, r0 + lsl r2, r5, #0x18 + lsr r2, r2, #0x18 + mov r0, #0x0 + str r0, [sp] + str r0, [sp, #0x4] + str r6, [sp, #0x8] + ldr r0, [sp, #0x10] + str r0, [sp, #0xc] + add r0, r4, #0 + add r1, r3, #0 + mov r3, #0x20 + bl CreateBoxMon + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x16 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x17 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x18 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x21 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x2f + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x30 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x32 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x33 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x34 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x36 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x35 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x43 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x44 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x45 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x46 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x47 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x48 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x49 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4a + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4b + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4c + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4d + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4e + add r2, sp, #0x10 + bl SetBoxMonData + mov r0, r8 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r8, r0 + cmp r0, #0x1d + bhi ._90 @cond_branch + b ._91 +._90: + ldr r1, [sp, #0x14] + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + mov sl, r0 + cmp r0, #0xd + bhi ._92 @cond_branch + b ._93 +._92: + bl TayaDebugMenu_TownFlags + bl TayaDebugMenu_Trainer + bl CloseMenu + mov r0, #0x1 + add sp, sp, #0x1c + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._95: + .align 2, 0 +._94: + .word gSharedMem + .word gUnknown_Debug_083C4F94 + .word 0x19b + .word gPokemonStorage+0x4 + + thumb_func_end TayaDebugMenu_PokenavD + + thumb_func_start TayaDebugMenu_8091190 +TayaDebugMenu_8091190: + push {r4, r5, lr} + add sp, sp, #0xfffffff8 + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r3, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r3, r0 + beq ._96 @cond_branch + add r0, r0, #0x1 + cmp r3, r0 + beq ._97 @cond_branch + ldr r2, ._99 @ gMenuCallback + ldr r1, ._99 + 4 @ gUnknown_Debug_83C5068 + ldr r0, ._99 + 8 @ unk_2030224 + ldrb r0, [r0] + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, [r0] + lsl r0, r3, #0x3 + add r0, r0, r1 + ldr r0, [r0, #0x4] + str r0, [r2] +._106: + mov r0, #0x0 + b ._98 +._100: + .align 2, 0 +._99: + .word gMenuCallback + .word gUnknown_Debug_83C5068 + .word unk_2030224 +._96: + ldr r3, ._107 @ unk_2030224 + ldrb r4, [r3] + ldr r2, ._107 + 4 @ gMain + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + add r5, r3, #0 + cmp r0, #0 + beq ._102 @cond_branch + sub r0, r4, #1 + strb r0, [r5] + lsl r0, r0, #0x18 + cmp r0, #0 + bge ._102 @cond_branch + mov r0, #0x1 + strb r0, [r5] +._102: + ldrh r1, [r2, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._104 @cond_branch + ldrb r0, [r5] + add r0, r0, #0x1 + strb r0, [r5] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bls ._104 @cond_branch + mov r0, #0x0 + strb r0, [r5] +._104: + lsl r0, r4, #0x18 + asr r0, r0, #0x18 + mov r1, #0x0 + ldrsb r1, [r5, r1] + cmp r0, r1 + beq ._106 @cond_branch + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r4, ._107 + 8 @ gUnknown_Debug_83C5068 + mov r0, #0x0 + ldrsb r0, [r5, r0] + lsl r0, r0, #0x3 + add r0, r0, r4 + ldrb r2, [r0, #0x4] + ldr r3, [r0] + mov r0, #0x1 + mov r1, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + ldrsb r0, [r5, r0] + lsl r0, r0, #0x3 + add r0, r0, r4 + ldrb r3, [r0, #0x4] + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + bl InitMenu + b ._106 +._108: + .align 2, 0 +._107: + .word unk_2030224 + .word gMain + .word gUnknown_Debug_83C5068 +._97: + bl CloseMenu + mov r0, #0x1 +._98: + add sp, sp, #0x8 + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end TayaDebugMenu_8091190 + + thumb_func_start InitTayaDebugWindow +InitTayaDebugWindow: + push {lr} + add sp, sp, #0xfffffff8 + ldr r1, ._109 @ unk_2030224 + mov r0, #0x0 + strb r0, [r1] + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._109 + 4 @ gUnknown_Debug_83C5068 + ldr r3, [r0] + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._109 + 8 @ gMenuCallback + ldr r0, ._109 + 12 @ TayaDebugMenu_8091190 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._110: + .align 2, 0 +._109: + .word unk_2030224 + .word gUnknown_Debug_83C5068 + .word gMenuCallback + .word TayaDebugMenu_8091190+1 + + thumb_func_end InitTayaDebugWindow + + thumb_func_start debug_sub_80912D8 +debug_sub_80912D8: + push {lr} + ldr r0, ._113 @ gPaletteFade + ldrb r1, [r0, #0x7] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._111 @cond_branch + mov r0, #0x0 + b ._112 +._114: + .align 2, 0 +._113: + .word gPaletteFade +._111: + ldr r0, ._115 @ debug_sub_8110F28 + bl SetMainCallback2 + mov r0, #0x1 +._112: + pop {r1} + bx r1 +._116: + .align 2, 0 +._115: + .word debug_sub_8110F28+1 + + thumb_func_end debug_sub_80912D8 + + thumb_func_start debug_sub_8091300 +debug_sub_8091300: + push {lr} + mov r0, #0x1 + mov r1, #0x0 + bl FadeScreen + ldr r1, ._117 @ gMenuCallback + ldr r0, ._117 + 4 @ debug_sub_80912D8 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._118: + .align 2, 0 +._117: + .word gMenuCallback + .word debug_sub_80912D8+1 + + thumb_func_end debug_sub_8091300 + + thumb_func_start debug_sub_8091320 +debug_sub_8091320: + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + + thumb_func_end debug_sub_8091320 + + thumb_func_start debug_sub_8091334 +debug_sub_8091334: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + bl AnimateSprites + bl BuildOamBuffer + ldr r3, ._123 @ gSharedMem + add r0, r3, #0 + add r0, r0, #0x52 + ldrb r4, [r0] + cmp r4, #0 + beq ._119 @cond_branch + cmp r4, #0x1 + bne ._120 @cond_branch + b ._121 +._120: + b ._162 +._124: + .align 2, 0 +._123: + .word gSharedMem +._119: + add r5, r3, #0 + add r5, r5, #0x55 + strb r4, [r5] + ldr r2, ._131 @ gMain + ldrh r1, [r2, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + mov r9, r2 + cmp r0, #0 + beq ._126 @cond_branch + add r1, r3, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0 + beq ._126 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x1 + strb r0, [r5] +._126: + mov r0, r9 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + ldr r5, ._131 + 4 @ gSharedMem + cmp r0, #0 + beq ._133 @cond_branch + add r0, r5, #0 + add r0, r0, #0x53 + ldrb r0, [r0] + cmp r0, #0x2 + beq ._128 @cond_branch + add r1, r5, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0x4 + bhi ._133 @cond_branch + b ._130 +._132: + .align 2, 0 +._131: + .word gMain + .word gSharedMem +._128: + add r1, r5, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0x3 + bhi ._133 @cond_branch +._130: + add r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x1 + mov r0, #0x1 + strb r0, [r1] +._133: + mov r2, r9 + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._135 @cond_branch + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0 + beq ._135 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1 + strb r0, [r1] +._135: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._140 @cond_branch + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r0, [r0] + cmp r0, #0x5 + beq ._137 @cond_branch + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0x1 + bhi ._140 @cond_branch + b ._139 +._137: + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0 + bne ._140 @cond_branch +._139: + add r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1 + strb r0, [r1] +._140: + add r0, r5, #0 + add r0, r0, #0x55 + ldrb r0, [r0] + cmp r0, #0 + bne ._141 @cond_branch + mov r0, r9 + ldrh r2, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._142 @cond_branch + ldr r2, ._145 @ gUnknown_Debug_083C50EC + add r3, r5, #0 + add r3, r3, #0x53 + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r3, [r3] + add r0, r0, r3 + lsl r0, r0, #0x3 + add r0, r0, r2 + ldrh r0, [r0, #0x4] + sub r0, r0, #0x32 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x4 + bhi ._143 @cond_branch + add r1, r5, #0 + add r1, r1, #0x56 + mov r0, #0x4 + b ._144 +._146: + .align 2, 0 +._145: + .word gUnknown_Debug_083C50EC +._143: + add r1, r5, #0 + add r1, r1, #0x56 + mov r0, #0x1 +._144: + strb r0, [r1] + add r1, r5, #0 + add r1, r1, #0x52 + mov r0, #0x1 + strb r0, [r1] + b ._162 +._142: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + bne ._148 @cond_branch + b ._162 +._148: + mov r0, #0x1 + neg r0, r0 + mov r1, #0x10 + mov r2, #0x0 + bl BlendPalettes + ldr r0, ._151 @ sub_80546F0 + bl SetMainCallback2 + b ._162 +._152: + .align 2, 0 +._151: + .word sub_80546F0+1 +._121: + add r5, r3, #0 + add r5, r5, #0x55 + mov r0, #0x0 + strb r0, [r5] + ldr r2, ._159 @ gMain + ldrh r1, [r2, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + mov r9, r2 + cmp r0, #0 + beq ._154 @cond_branch + add r2, r3, #0 + add r2, r2, #0x53 + add r0, r3, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r2, [r2] + add r0, r0, r2 + add r2, r0, r3 + add r0, r3, #0 + add r0, r0, #0x56 + ldrb r1, [r2] + ldrb r0, [r0] + cmp r1, r0 + bcs ._154 @cond_branch + add r0, r1, #1 + strb r0, [r2] + strb r4, [r5] +._154: + mov r2, r9 + ldrh r1, [r2, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + ldr r5, ._159 + 4 @ gSharedMem + cmp r0, #0 + beq ._156 @cond_branch + add r2, r5, #0 + add r2, r2, #0x53 + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r2, [r2] + add r0, r0, r2 + add r1, r0, r5 + ldrb r0, [r1] + cmp r0, #0 + beq ._156 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + add r1, r5, #0 + add r1, r1, #0x55 + mov r0, #0x1 + strb r0, [r1] +._156: + add r6, r5, #0 + add r0, r6, #0 + add r0, r0, #0x55 + ldrb r7, [r0] + cmp r7, #0 + beq ._157 @cond_branch +._141: + bl debug_sub_80916AC + b ._162 +._160: + .align 2, 0 +._159: + .word gMain + .word gSharedMem +._157: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._161 @cond_branch + ldr r0, ._164 @ gPlayerParty + ldr r1, ._164 + 4 @ gUnknown_Debug_083C50EC + mov ip, r1 + mov r2, #0x53 + add r2, r2, r6 + mov r8, r2 + add r4, r6, #0 + add r4, r4, #0x54 + ldrb r2, [r4] + lsl r1, r2, #0x1 + add r1, r1, r2 + mov r3, r8 + ldrb r3, [r3] + add r1, r1, r3 + lsl r1, r1, #0x3 + add r1, r1, ip + ldrh r1, [r1, #0x4] + bl GetMonData + ldrb r2, [r4] + lsl r1, r2, #0x1 + add r1, r1, r2 + mov r2, r8 + ldrb r2, [r2] + add r1, r1, r2 + add r1, r1, r6 + strb r0, [r1] + bl debug_sub_80916AC + add r0, r6, #0 + add r0, r0, #0x52 + strb r7, [r0] +._161: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._162 @cond_branch + ldr r2, ._164 + 4 @ gUnknown_Debug_083C50EC + add r0, r6, #0 + add r0, r0, #0x53 + ldrb r4, [r0] + add r0, r0, #0x1 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r3, r0, r1 + add r0, r3, r4 + lsl r0, r0, #0x3 + add r1, r0, r2 + ldrh r0, [r1, #0x4] + cmp r0, #0 + beq ._163 @cond_branch + ldr r0, ._164 @ gPlayerParty + ldrh r1, [r1, #0x4] + add r2, r4, r6 + add r2, r3, r2 + bl SetMonData +._163: + add r0, r5, #0 + add r0, r0, #0x52 + strb r7, [r0] +._162: + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._165: + .align 2, 0 +._164: + .word gPlayerParty + .word gUnknown_Debug_083C50EC + + thumb_func_end debug_sub_8091334 + + thumb_func_start debug_sub_80915BC +debug_sub_80915BC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, ._168 @ 0x4000010 + mov r1, #0x0 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + mov r1, #0x0 + ldr r0, ._168 + 4 @ gUnknown_Debug_083C50EC + mov r8, r0 + ldr r7, ._168 + 8 @ gSharedMem +._171: + mov r4, #0x0 + lsl r0, r1, #0x1 + add r6, r1, #1 + add r5, r0, r1 +._170: + add r0, r5, r4 + lsl r0, r0, #0x3 + add r0, r0, r8 + ldrh r1, [r0, #0x4] + cmp r1, #0 + beq ._166 @cond_branch + ldr r0, ._168 + 12 @ gPlayerParty + bl GetMonData + add r1, r4, r5 + add r1, r1, r7 + strb r0, [r1] + b ._167 +._169: + .align 2, 0 +._168: + .word 0x4000010 + .word gUnknown_Debug_083C50EC + .word gSharedMem + .word gPlayerParty +._166: + add r0, r4, r5 + add r0, r0, r7 + strb r1, [r0] +._167: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x2 + bls ._170 @cond_branch + lsl r0, r6, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x5 + bls ._171 @cond_branch + ldr r4, ._172 @ gWindowTemplate_81E7224 + add r0, r4, #0 + bl Text_LoadWindowTemplate + add r0, r4, #0 + bl InitMenuWindow + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r0, ._172 + 4 @ gUnknown_Debug_083C517C + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x4 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x12 + mov r2, #0x1d + mov r3, #0x15 + bl Menu_DrawStdWindowFrame + mov r1, #0x80 + lsl r1, r1, #0x13 + mov r2, #0x8a + lsl r2, r2, #0x5 + add r0, r2, #0 + strh r0, [r1] + ldr r2, ._172 + 8 @ gSharedMem + add r0, r2, #0 + add r0, r0, #0x53 + mov r1, #0x0 + strb r1, [r0] + add r0, r0, #0x1 + strb r1, [r0] + sub r0, r0, #0x2 + strb r1, [r0] + bl debug_sub_80916AC + ldr r0, ._172 + 12 @ debug_sub_8091320 + bl SetVBlankCallback + ldr r0, ._172 + 16 @ debug_sub_8091334 + bl SetMainCallback2 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._173: + .align 2, 0 +._172: + .word gWindowTemplate_81E7224 + .word gUnknown_Debug_083C517C + .word gSharedMem + .word debug_sub_8091320+1 + .word debug_sub_8091334+1 + + thumb_func_end debug_sub_80915BC + + thumb_func_start debug_sub_80916AC +debug_sub_80916AC: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffffc + mov r6, #0x0 + ldr r0, ._177 @ gSharedMem + mov sl, r0 + mov r1, #0x0 + mov r8, r1 +._182: + ldr r2, ._177 + 4 @ gSharedMem + mov r5, #0x0 + lsl r0, r6, #0x1 + mov r9, r0 + add r1, r6, #1 + str r1, [sp] +._181: + mov r0, sl + add r0, r0, #0x53 + ldrb r0, [r0] + cmp r0, r5 + bne ._175 @cond_branch + ldr r1, ._177 + 8 @ gSharedMem + ldrb r0, [r1] + cmp r0, r6 + bne ._175 @cond_branch + mov r0, #0xef + b ._176 +._178: + .align 2, 0 +._177: + .word gSharedMem + .word gSharedMem+0x12 + .word gSharedMem+0x54 +._175: + mov r0, r8 + strb r0, [r2] + add r2, r2, #0x1 +._176: + strb r0, [r2] + add r2, r2, #0x1 + mov r1, r9 + add r4, r1, r6 + add r0, r4, r5 + lsl r0, r0, #0x3 + ldr r1, ._183 @ gUnknown_Debug_083C50EC + add r0, r0, r1 + ldr r1, [r0] + add r0, r2, #0 + bl StringCopy + add r2, r0, #0 + mov r0, r8 + strb r0, [r2] + add r2, r2, #0x1 + ldr r7, ._183 + 4 @ gSharedMem + add r4, r5, r4 + add r4, r4, r7 + ldrb r1, [r4] + add r0, r2, #0 + mov r2, #0x0 + mov r3, #0x1 + bl ConvertIntToDecimalStringN + add r2, r0, #0 + mov r1, r8 + strb r1, [r2] + add r2, r2, #0x1 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x2 + bhi ._179 @cond_branch + cmp r6, #0x5 + bne ._181 @cond_branch + cmp r5, #0x2 + bne ._181 @cond_branch +._179: + sub r1, r2, #1 + mov r0, #0xff + strb r0, [r1] + mov r2, r9 + add r2, r2, #0x5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + add r0, r7, #0 + add r0, r0, #0x12 + mov r1, #0x1 + bl Menu_PrintText + ldr r1, [sp] + lsl r0, r1, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x5 + bls ._182 @cond_branch + add sp, sp, #0x4 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._184: + .align 2, 0 +._183: + .word gUnknown_Debug_083C50EC + .word gSharedMem + + thumb_func_end debug_sub_80916AC + + .align 2, 0 + +.endif diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s new file mode 100644 index 000000000..c0dfe38e0 --- /dev/null +++ b/asm/tomomichi_debug_menu.s @@ -0,0 +1,8100 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + thumb_func_start InitTomomichiDebugWindow +InitTomomichiDebugWindow: + push {lr} + bl debug_sub_808B874 + mov r0, #0x0 + pop {r1} + bx r1 + + thumb_func_end InitTomomichiDebugWindow + + thumb_func_start debug_sub_808B868 +debug_sub_808B868: + push {lr} + bl c2_exit_to_overworld_1_continue_scripts_restart_music + pop {r0} + bx r0 + + thumb_func_end debug_sub_808B868 + + thumb_func_start debug_sub_808B874 +debug_sub_808B874: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xd + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._1 @ gUnknown_Debug_083C0CBA + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + ldr r0, ._1 + 4 @ gDebug_0300071D + ldrb r0, [r0] + str r0, [sp] + mov r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._1 + 8 @ gMenuCallback + ldr r0, ._1 + 12 @ debug_sub_808B8C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._2: + .align 2, 0 +._1: + .word gUnknown_Debug_083C0CBA + .word gDebug_0300071D + .word gMenuCallback + .word debug_sub_808B8C8+1 + + thumb_func_end debug_sub_808B874 + + thumb_func_start debug_sub_808B8C8 +debug_sub_808B8C8: + push {r4, lr} + ldr r4, ._7 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._3 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._7 + 4 @ gDebug_0300071D + strb r0, [r1] +._3: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._4 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._7 + 4 @ gDebug_0300071D + strb r0, [r1] +._4: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._5 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._7 + 8 @ gUnknown_Debug_083C0CBA + ldr r0, ._7 + 4 @ gDebug_0300071D + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._10 +._8: + .align 2, 0 +._7: + .word gMain + .word gDebug_0300071D + .word gUnknown_Debug_083C0CBA +._5: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._9 @cond_branch + mov r0, #0x0 + b ._10 +._9: + bl CloseMenu + mov r0, #0x1 +._10: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808B8C8 + + thumb_func_start TomomichiDebugMenu_ContestGraphics +TomomichiDebugMenu_ContestGraphics: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x14 + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r0, ._11 @ gUnknown_Debug_083C0CF4 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._11 + 4 @ gUnknown_Debug_083C0D2C + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x4 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x4 + bl InitMenu + ldr r1, ._11 + 8 @ gMenuCallback + ldr r0, ._11 + 12 @ debug_sub_808BC48 + str r0, [r1] + ldr r0, ._11 + 16 @ gDebug_03000700 + mov r2, #0x1 + strh r2, [r0] + ldr r1, ._11 + 20 @ gDebug_03000704 + ldr r0, ._11 + 24 @ 0x6f33 + str r0, [r1] + ldr r0, ._11 + 28 @ gDebug_03000708 + str r4, [r0] + ldr r0, ._11 + 32 @ gDebug_0300070C + strb r2, [r0] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._12: + .align 2, 0 +._11: + .word gUnknown_Debug_083C0CF4 + .word gUnknown_Debug_083C0D2C + .word gMenuCallback + .word debug_sub_808BC48+1 + .word gDebug_03000700 + .word gDebug_03000704 + .word 0x6f33 + .word gDebug_03000708 + .word gDebug_0300070C + + thumb_func_end TomomichiDebugMenu_ContestGraphics + + thumb_func_start TomomichiDebugMenu_ArtMusGraphics +TomomichiDebugMenu_ArtMusGraphics: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x14 + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r0, ._13 @ gUnknown_Debug_083C0D4C + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._13 + 4 @ gUnknown_Debug_083C0D83 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x4 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x4 + bl InitMenu + ldr r1, ._13 + 8 @ gMenuCallback + ldr r0, ._13 + 12 @ debug_sub_808BCBC + str r0, [r1] + ldr r0, ._13 + 16 @ gDebug_03000700 + mov r2, #0x1 + strh r2, [r0] + ldr r1, ._13 + 20 @ gDebug_03000704 + ldr r0, ._13 + 24 @ 0x6f33 + str r0, [r1] + ldr r0, ._13 + 28 @ gDebug_03000708 + str r4, [r0] + ldr r0, ._13 + 32 @ gDebug_0300070D + strb r2, [r0] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._14: + .align 2, 0 +._13: + .word gUnknown_Debug_083C0D4C + .word gUnknown_Debug_083C0D83 + .word gMenuCallback + .word debug_sub_808BCBC+1 + .word gDebug_03000700 + .word gDebug_03000704 + .word 0x6f33 + .word gDebug_03000708 + .word gDebug_0300070D + + thumb_func_end TomomichiDebugMenu_ArtMusGraphics + + thumb_func_start TomomichiDebugMenu_PreviewData +TomomichiDebugMenu_PreviewData: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x14 + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r0, ._15 @ gUnknown_Debug_083C0DA4 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._15 + 4 @ gUnknown_Debug_083C0DD4 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x4 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x4 + bl InitMenu + ldr r1, ._15 + 8 @ gMenuCallback + ldr r0, ._15 + 12 @ debug_sub_808BD30 + str r0, [r1] + ldr r0, ._15 + 16 @ gDebug_03000700 + mov r2, #0x1 + strh r2, [r0] + ldr r1, ._15 + 20 @ gDebug_03000704 + ldr r0, ._15 + 24 @ 0x6f33 + str r0, [r1] + ldr r0, ._15 + 28 @ gDebug_03000708 + str r4, [r0] + ldr r0, ._15 + 32 @ gDebug_0300070E + strb r2, [r0] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._16: + .align 2, 0 +._15: + .word gUnknown_Debug_083C0DA4 + .word gUnknown_Debug_083C0DD4 + .word gMenuCallback + .word debug_sub_808BD30+1 + .word gDebug_03000700 + .word gDebug_03000704 + .word 0x6f33 + .word gDebug_03000708 + .word gDebug_0300070E + + thumb_func_end TomomichiDebugMenu_PreviewData + + thumb_func_start TomomichiDebugMenu_TrickHouse +TomomichiDebugMenu_TrickHouse: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r0, ._17 @ gUnknown_Debug_083C0DF4 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._17 + 4 @ gUnknown_Debug_083C0E15 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x2 + bl Menu_PrintItems + ldr r0, ._17 + 8 @ gDebug_0300071E + ldrb r0, [r0] + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x2 + bl InitMenu + ldr r1, ._17 + 12 @ gMenuCallback + ldr r0, ._17 + 16 @ debug_sub_808BDA4 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._18: + .align 2, 0 +._17: + .word gUnknown_Debug_083C0DF4 + .word gUnknown_Debug_083C0E15 + .word gDebug_0300071E + .word gMenuCallback + .word debug_sub_808BDA4+1 + + thumb_func_end TomomichiDebugMenu_TrickHouse + + thumb_func_start TomomichiDebugMenu_ControlEvents +TomomichiDebugMenu_ControlEvents: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._19 @ gUnknown_Debug_083C0E32 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + ldr r0, ._19 + 4 @ gDebug_0300071F + ldrb r0, [r0] + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._19 + 8 @ gMenuCallback + ldr r0, ._19 + 12 @ debug_sub_808BE2C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._20: + .align 2, 0 +._19: + .word gUnknown_Debug_083C0E32 + .word gDebug_0300071F + .word gMenuCallback + .word debug_sub_808BE2C+1 + + thumb_func_end TomomichiDebugMenu_ControlEvents + + thumb_func_start TomomichiDebugMenu_ControlFlags +TomomichiDebugMenu_ControlFlags: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._21 @ gUnknown_Debug_083C0E7F + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + ldr r0, ._21 + 4 @ gDebug_03000720 + ldrb r0, [r0] + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._21 + 8 @ gMenuCallback + ldr r0, ._21 + 12 @ debug_sub_808BEB4 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._22: + .align 2, 0 +._21: + .word gUnknown_Debug_083C0E7F + .word gDebug_03000720 + .word gMenuCallback + .word debug_sub_808BEB4+1 + + thumb_func_end TomomichiDebugMenu_ControlFlags + + thumb_func_start TomomichiDebugMenu_ControlWorks +TomomichiDebugMenu_ControlWorks: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._23 @ gUnknown_Debug_083C0EF1 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + ldr r0, ._23 + 4 @ gDebug_03000721 + ldrb r0, [r0] + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._23 + 8 @ gMenuCallback + ldr r0, ._23 + 12 @ debug_sub_808BF3C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._24: + .align 2, 0 +._23: + .word gUnknown_Debug_083C0EF1 + .word gDebug_03000721 + .word gMenuCallback + .word debug_sub_808BF3C+1 + + thumb_func_end TomomichiDebugMenu_ControlWorks + + thumb_func_start debug_sub_808BC48 +debug_sub_808BC48: + push {r4, lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x1 + beq ._25 @cond_branch + cmp r0, #0x1 + bgt ._26 @cond_branch + cmp r0, #0 + beq ._27 @cond_branch + b ._32 +._26: + cmp r0, #0x2 + beq ._29 @cond_branch + b ._32 +._27: + bl debug_sub_808ED0C + b ._32 +._25: + bl debug_sub_808ED9C + b ._32 +._29: + bl debug_sub_808EE3C +._32: + mov r0, #0x0 + bl debug_sub_808EF8C + lsl r0, r4, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._36 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + bne ._34 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._35 +._34: + cmp r1, #0x3 + bne ._36 @cond_branch + ldr r0, ._37 @ gMenuCallback + ldr r1, ._37 + 4 @ gUnknown_Debug_083C0D2C + ldr r1, [r1, #0x1c] + str r1, [r0] +._36: + mov r0, #0x0 +._35: + pop {r4} + pop {r1} + bx r1 +._38: + .align 2, 0 +._37: + .word gMenuCallback + .word gUnknown_Debug_083C0D2C + + thumb_func_end debug_sub_808BC48 + + thumb_func_start debug_sub_808BCBC +debug_sub_808BCBC: + push {r4, lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x1 + beq ._39 @cond_branch + cmp r0, #0x1 + bgt ._40 @cond_branch + cmp r0, #0 + beq ._41 @cond_branch + b ._46 +._40: + cmp r0, #0x2 + beq ._43 @cond_branch + b ._46 +._41: + bl debug_sub_808ED0C + b ._46 +._39: + bl debug_sub_808ED9C + b ._46 +._43: + bl debug_sub_808EE9C +._46: + mov r0, #0x1 + bl debug_sub_808EF8C + lsl r0, r4, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._50 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + bne ._48 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._49 +._48: + cmp r1, #0x3 + bne ._50 @cond_branch + ldr r0, ._51 @ gMenuCallback + ldr r1, ._51 + 4 @ gUnknown_Debug_083C0D83 + ldr r1, [r1, #0x1c] + str r1, [r0] +._50: + mov r0, #0x0 +._49: + pop {r4} + pop {r1} + bx r1 +._52: + .align 2, 0 +._51: + .word gMenuCallback + .word gUnknown_Debug_083C0D83 + + thumb_func_end debug_sub_808BCBC + + thumb_func_start debug_sub_808BD30 +debug_sub_808BD30: + push {r4, lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x1 + beq ._53 @cond_branch + cmp r0, #0x1 + bgt ._54 @cond_branch + cmp r0, #0 + beq ._55 @cond_branch + b ._60 +._54: + cmp r0, #0x2 + beq ._57 @cond_branch + b ._60 +._55: + bl debug_sub_808ED0C + b ._60 +._53: + bl debug_sub_808ED9C + b ._60 +._57: + bl debug_sub_808EF14 +._60: + mov r0, #0x2 + bl debug_sub_808EF8C + lsl r0, r4, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._64 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + bne ._62 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._63 +._62: + cmp r1, #0x3 + bne ._64 @cond_branch + ldr r0, ._65 @ gMenuCallback + ldr r1, ._65 + 4 @ gUnknown_Debug_083C0DD4 + ldr r1, [r1, #0x1c] + str r1, [r0] +._64: + mov r0, #0x0 +._63: + pop {r4} + pop {r1} + bx r1 +._66: + .align 2, 0 +._65: + .word gMenuCallback + .word gUnknown_Debug_083C0DD4 + + thumb_func_end debug_sub_808BD30 + + thumb_func_start debug_sub_808BDA4 +debug_sub_808BDA4: + push {r4, lr} + ldr r4, ._71 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._67 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._71 + 4 @ gDebug_0300071E + strb r0, [r1] +._67: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._68 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._71 + 4 @ gDebug_0300071E + strb r0, [r1] +._68: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._69 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._71 + 8 @ gUnknown_Debug_083C0E15 + ldr r0, ._71 + 4 @ gDebug_0300071E + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._74 +._72: + .align 2, 0 +._71: + .word gMain + .word gDebug_0300071E + .word gUnknown_Debug_083C0E15 +._69: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._73 @cond_branch + mov r0, #0x0 + b ._74 +._73: + bl CloseMenu + mov r0, #0x1 +._74: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808BDA4 + + thumb_func_start debug_sub_808BE2C +debug_sub_808BE2C: + push {r4, lr} + ldr r4, ._79 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._75 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._79 + 4 @ gDebug_0300071F + strb r0, [r1] +._75: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._76 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._79 + 4 @ gDebug_0300071F + strb r0, [r1] +._76: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._77 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._79 + 8 @ gUnknown_Debug_083C0E32 + ldr r0, ._79 + 4 @ gDebug_0300071F + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._82 +._80: + .align 2, 0 +._79: + .word gMain + .word gDebug_0300071F + .word gUnknown_Debug_083C0E32 +._77: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._81 @cond_branch + mov r0, #0x0 + b ._82 +._81: + bl CloseMenu + mov r0, #0x1 +._82: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808BE2C + + thumb_func_start debug_sub_808BEB4 +debug_sub_808BEB4: + push {r4, lr} + ldr r4, ._87 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._83 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._87 + 4 @ gDebug_03000720 + strb r0, [r1] +._83: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._84 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._87 + 4 @ gDebug_03000720 + strb r0, [r1] +._84: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._85 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._87 + 8 @ gUnknown_Debug_083C0E7F + ldr r0, ._87 + 4 @ gDebug_03000720 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._90 +._88: + .align 2, 0 +._87: + .word gMain + .word gDebug_03000720 + .word gUnknown_Debug_083C0E7F +._85: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._89 @cond_branch + mov r0, #0x0 + b ._90 +._89: + bl CloseMenu + mov r0, #0x1 +._90: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808BEB4 + + thumb_func_start debug_sub_808BF3C +debug_sub_808BF3C: + push {r4, lr} + ldr r4, ._95 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._91 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._95 + 4 @ gDebug_03000721 + strb r0, [r1] +._91: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._92 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._95 + 4 @ gDebug_03000721 + strb r0, [r1] +._92: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._93 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._95 + 8 @ gUnknown_Debug_083C0EF1 + ldr r0, ._95 + 4 @ gDebug_03000721 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._98 +._96: + .align 2, 0 +._95: + .word gMain + .word gDebug_03000721 + .word gUnknown_Debug_083C0EF1 +._93: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._97 @cond_branch + mov r0, #0x0 + b ._98 +._97: + bl CloseMenu + mov r0, #0x1 +._98: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808BF3C + + thumb_func_start debug_sub_808BFC4 +debug_sub_808BFC4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._99 @ gUnknown_Debug_083C0F79 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._99 + 4 @ gMenuCallback + ldr r0, ._99 + 8 @ debug_sub_808C064 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._100: + .align 2, 0 +._99: + .word gUnknown_Debug_083C0F79 + .word gMenuCallback + .word debug_sub_808C064+1 + + thumb_func_end debug_sub_808BFC4 + + thumb_func_start debug_sub_808C014 +debug_sub_808C014: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._101 @ gUnknown_Debug_083C0FFC + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._101 + 4 @ gMenuCallback + ldr r0, ._101 + 8 @ debug_sub_808C0A8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._102: + .align 2, 0 +._101: + .word gUnknown_Debug_083C0FFC + .word gMenuCallback + .word debug_sub_808C0A8+1 + + thumb_func_end debug_sub_808C014 + + thumb_func_start debug_sub_808C064 +debug_sub_808C064: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._103 @cond_branch + mov r0, #0x0 + b ._106 +._103: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._105 @cond_branch + ldr r2, ._107 @ gMenuCallback + ldr r0, ._107 + 4 @ gUnknown_Debug_083C0F79 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._106 +._108: + .align 2, 0 +._107: + .word gMenuCallback + .word gUnknown_Debug_083C0F79 +._105: + bl CloseMenu + mov r0, #0x1 +._106: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C064 + + thumb_func_start debug_sub_808C0A8 +debug_sub_808C0A8: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._109 @cond_branch + mov r0, #0x0 + b ._112 +._109: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._111 @cond_branch + ldr r2, ._113 @ gMenuCallback + ldr r0, ._113 + 4 @ gUnknown_Debug_083C0FFC + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._112 +._114: + .align 2, 0 +._113: + .word gMenuCallback + .word gUnknown_Debug_083C0FFC +._111: + bl CloseMenu + mov r0, #0x1 +._112: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C0A8 + + thumb_func_start debug_sub_808C0EC +debug_sub_808C0EC: + push {lr} + ldr r0, ._115 @ DebugScript_081C1CFE + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._116: + .align 2, 0 +._115: + .word DebugScript_081C1CFE + + thumb_func_end debug_sub_808C0EC + + thumb_func_start debug_sub_808C104 +debug_sub_808C104: + push {lr} + ldr r0, ._117 @ DebugScript_081C1D07 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._118: + .align 2, 0 +._117: + .word DebugScript_081C1D07 + + thumb_func_end debug_sub_808C104 + + thumb_func_start debug_sub_808C11C +debug_sub_808C11C: + push {lr} + ldr r0, ._119 @ DebugScript_081C1D1E + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._120: + .align 2, 0 +._119: + .word DebugScript_081C1D1E + + thumb_func_end debug_sub_808C11C + + thumb_func_start debug_sub_808C134 +debug_sub_808C134: + push {lr} + ldr r0, ._121 @ DebugScript_081C1D24 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._122: + .align 2, 0 +._121: + .word DebugScript_081C1D24 + + thumb_func_end debug_sub_808C134 + + thumb_func_start debug_sub_808C14C +debug_sub_808C14C: + push {lr} + ldr r0, ._123 @ DebugScript_081C1D2A + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._124: + .align 2, 0 +._123: + .word DebugScript_081C1D2A + + thumb_func_end debug_sub_808C14C + + thumb_func_start debug_sub_808C164 +debug_sub_808C164: + push {lr} + ldr r0, ._125 @ DebugScript_081C1D35 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._126: + .align 2, 0 +._125: + .word DebugScript_081C1D35 + + thumb_func_end debug_sub_808C164 + + thumb_func_start debug_sub_808C17C +debug_sub_808C17C: + push {lr} + ldr r0, ._127 @ DebugScript_081C1D46 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._128: + .align 2, 0 +._127: + .word DebugScript_081C1D46 + + thumb_func_end debug_sub_808C17C + + thumb_func_start debug_sub_808C194 +debug_sub_808C194: + push {lr} + ldr r0, ._129 @ DebugScript_081C221F + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._130: + .align 2, 0 +._129: + .word DebugScript_081C221F + + thumb_func_end debug_sub_808C194 + + thumb_func_start debug_sub_808C1AC +debug_sub_808C1AC: + push {lr} + ldr r0, ._131 @ DebugScript_081C23E2 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._132: + .align 2, 0 +._131: + .word DebugScript_081C23E2 + + thumb_func_end debug_sub_808C1AC + + thumb_func_start debug_sub_808C1C4 +debug_sub_808C1C4: + push {lr} + ldr r0, ._133 @ DebugScript_081C23E6 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._134: + .align 2, 0 +._133: + .word DebugScript_081C23E6 + + thumb_func_end debug_sub_808C1C4 + + thumb_func_start debug_sub_808C1DC +debug_sub_808C1DC: + push {lr} + ldr r0, ._135 @ DebugScript_081C23F6 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._136: + .align 2, 0 +._135: + .word DebugScript_081C23F6 + + thumb_func_end debug_sub_808C1DC + + thumb_func_start debug_sub_808C1F4 +debug_sub_808C1F4: + push {lr} + ldr r0, ._137 @ DebugScript_081C2482 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._138: + .align 2, 0 +._137: + .word DebugScript_081C2482 + + thumb_func_end debug_sub_808C1F4 + + thumb_func_start debug_sub_808C20C +debug_sub_808C20C: + push {lr} + ldr r0, ._139 @ DebugScript_081C23FD + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._140: + .align 2, 0 +._139: + .word DebugScript_081C23FD + + thumb_func_end debug_sub_808C20C + + thumb_func_start debug_sub_808C224 +debug_sub_808C224: + push {lr} + ldr r0, ._141 @ DebugScript_081C2518 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._142: + .align 2, 0 +._141: + .word DebugScript_081C2518 + + thumb_func_end debug_sub_808C224 + + thumb_func_start debug_sub_808C23C +debug_sub_808C23C: + push {lr} + ldr r0, ._143 @ DebugScript_081C2507 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._144: + .align 2, 0 +._143: + .word DebugScript_081C2507 + + thumb_func_end debug_sub_808C23C + + thumb_func_start TomomichiDebugMenu_ContestGraphics_Show +TomomichiDebugMenu_ContestGraphics_Show: + push {lr} + add sp, sp, #0xfffffffc + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r1, ._145 @ gMenuCallback + ldr r0, ._145 + 4 @ debug_sub_808C280 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x4 + pop {r1} + bx r1 +._146: + .align 2, 0 +._145: + .word gMenuCallback + .word debug_sub_808C280+1 + + thumb_func_end TomomichiDebugMenu_ContestGraphics_Show + + thumb_func_start debug_sub_808C280 +debug_sub_808C280: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._147 @cond_branch + mov r0, #0x0 + b ._148 +._147: + bl CloseMenu + mov r0, #0x0 + bl debug_sub_808F168 + ldr r0, ._149 @ CB2_ContestPainting + bl SetMainCallback2 + ldr r1, ._149 + 4 @ gMain + ldr r0, ._149 + 8 @ debug_sub_808B868 + str r0, [r1, #0x8] + mov r0, #0x1 +._148: + pop {r1} + bx r1 +._150: + .align 2, 0 +._149: + .word CB2_ContestPainting+1 + .word gMain + .word debug_sub_808B868+1 + + thumb_func_end debug_sub_808C280 + + thumb_func_start TomomichiDebugMenu_MuseumGraphics_Show +TomomichiDebugMenu_MuseumGraphics_Show: + push {lr} + add sp, sp, #0xfffffffc + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r1, ._151 @ gMenuCallback + ldr r0, ._151 + 4 @ debug_sub_808C2E4 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x4 + pop {r1} + bx r1 +._152: + .align 2, 0 +._151: + .word gMenuCallback + .word debug_sub_808C2E4+1 + + thumb_func_end TomomichiDebugMenu_MuseumGraphics_Show + + thumb_func_start debug_sub_808C2E4 +debug_sub_808C2E4: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._153 @cond_branch + mov r0, #0x0 + b ._154 +._153: + bl CloseMenu + mov r0, #0x1 + bl debug_sub_808F168 + ldr r0, ._155 @ CB2_ContestPainting + bl SetMainCallback2 + ldr r1, ._155 + 4 @ gMain + ldr r0, ._155 + 8 @ debug_sub_808B868 + str r0, [r1, #0x8] + mov r0, #0x1 +._154: + pop {r1} + bx r1 +._156: + .align 2, 0 +._155: + .word CB2_ContestPainting+1 + .word gMain + .word debug_sub_808B868+1 + + thumb_func_end debug_sub_808C2E4 + + thumb_func_start debug_sub_808C31C +debug_sub_808C31C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._157 @ gUnknown_Debug_083C2828 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._157 + 4 @ gMenuCallback + ldr r0, ._157 + 8 @ debug_sub_808C36C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._158: + .align 2, 0 +._157: + .word gUnknown_Debug_083C2828 + .word gMenuCallback + .word debug_sub_808C36C+1 + + thumb_func_end debug_sub_808C31C + + thumb_func_start debug_sub_808C36C +debug_sub_808C36C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._159 @cond_branch + mov r0, #0x0 + b ._162 +._159: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._161 @cond_branch + ldr r2, ._163 @ gMenuCallback + ldr r0, ._163 + 4 @ gUnknown_Debug_083C2828 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._162 +._164: + .align 2, 0 +._163: + .word gMenuCallback + .word gUnknown_Debug_083C2828 +._161: + bl CloseMenu + mov r0, #0x1 +._162: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C36C + + thumb_func_start debug_sub_808C3B0 +debug_sub_808C3B0: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._165 @ gUnknown_Debug_083C2938 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._165 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._165 + 8 @ gMenuCallback + ldr r0, ._165 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._166: + .align 2, 0 +._165: + .word gUnknown_Debug_083C2938 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C3B0 + + thumb_func_start debug_sub_808C408 +debug_sub_808C408: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._167 @ gUnknown_Debug_083C2A48 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._167 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._167 + 8 @ gMenuCallback + ldr r0, ._167 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._168: + .align 2, 0 +._167: + .word gUnknown_Debug_083C2A48 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C408 + + thumb_func_start debug_sub_808C460 +debug_sub_808C460: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._169 @ gUnknown_Debug_083C2B4C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._169 + 4 @ gDebug_0300070F + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._169 + 8 @ gMenuCallback + ldr r0, ._169 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._170: + .align 2, 0 +._169: + .word gUnknown_Debug_083C2B4C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C460 + + thumb_func_start debug_sub_808C4B8 +debug_sub_808C4B8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._171 @ gUnknown_Debug_083C2C80 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._171 + 4 @ gDebug_0300070F + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._171 + 8 @ gMenuCallback + ldr r0, ._171 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._172: + .align 2, 0 +._171: + .word gUnknown_Debug_083C2C80 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C4B8 + + thumb_func_start debug_sub_808C510 +debug_sub_808C510: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._173 @ gUnknown_Debug_083C2D8C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._173 + 4 @ gDebug_0300070F + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._173 + 8 @ gMenuCallback + ldr r0, ._173 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._174: + .align 2, 0 +._173: + .word gUnknown_Debug_083C2D8C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C510 + + thumb_func_start debug_sub_808C568 +debug_sub_808C568: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._175 @ gUnknown_Debug_083C2EB0 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._175 + 4 @ gDebug_0300070F + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._175 + 8 @ gMenuCallback + ldr r0, ._175 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._176: + .align 2, 0 +._175: + .word gUnknown_Debug_083C2EB0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C568 + + thumb_func_start debug_sub_808C5C0 +debug_sub_808C5C0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._177 @ gUnknown_Debug_083C2FE0 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._177 + 4 @ gDebug_0300070F + mov r0, #0x6 + strb r0, [r1] + ldr r1, ._177 + 8 @ gMenuCallback + ldr r0, ._177 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._178: + .align 2, 0 +._177: + .word gUnknown_Debug_083C2FE0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C5C0 + + thumb_func_start debug_sub_808C618 +debug_sub_808C618: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._179 @ gUnknown_Debug_083C3100 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._179 + 4 @ gDebug_0300070F + mov r0, #0x7 + strb r0, [r1] + ldr r1, ._179 + 8 @ gMenuCallback + ldr r0, ._179 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._180: + .align 2, 0 +._179: + .word gUnknown_Debug_083C3100 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C618 + + thumb_func_start debug_sub_808C670 +debug_sub_808C670: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r3, ._181 @ gUnknown_Debug_083C3194 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x3 + bl InitMenu + ldr r1, ._181 + 4 @ gDebug_0300070F + mov r0, #0x8 + strb r0, [r1] + ldr r1, ._181 + 8 @ gMenuCallback + ldr r0, ._181 + 12 @ debug_sub_808C6C8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._182: + .align 2, 0 +._181: + .word gUnknown_Debug_083C3194 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C670 + + thumb_func_start debug_sub_808C6C8 +debug_sub_808C6C8: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._186 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808C714 + ldrb r0, [r5] + bl debug_sub_808C764 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._183 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._184 @cond_branch +._183: + mov r0, #0x0 + b ._185 +._187: + .align 2, 0 +._186: + .word gDebug_0300070F +._184: + bl CloseMenu + mov r0, #0x1 +._185: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C6C8 + + thumb_func_start debug_sub_808C714 +debug_sub_808C714: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._191 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._190 @cond_branch + ldr r0, ._191 + 4 @ gUnknown_Debug_83C31E6 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._189 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._190 +._192: + .align 2, 0 +._191: + .word gMain + .word gUnknown_Debug_83C31E6 +._189: + add r0, r4, #0 + bl FlagClear +._190: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808C714 + + thumb_func_start debug_sub_808C764 +debug_sub_808C764: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._195 @ gUnknown_Debug_083C31DC + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._193 @cond_branch + ldr r0, ._195 + 4 @ gUnknown_Debug_83C31E6 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._194: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._194 @cond_branch +._193: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._196: + .align 2, 0 +._195: + .word gUnknown_Debug_083C31DC + .word gUnknown_Debug_83C31E6 + + thumb_func_end debug_sub_808C764 + + thumb_func_start debug_sub_808C7C8 +debug_sub_808C7C8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._197 @ gUnknown_Debug_083C1CE8 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._197 + 4 @ gMenuCallback + ldr r0, ._197 + 8 @ debug_sub_808C818 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._198: + .align 2, 0 +._197: + .word gUnknown_Debug_083C1CE8 + .word gMenuCallback + .word debug_sub_808C818+1 + + thumb_func_end debug_sub_808C7C8 + + thumb_func_start debug_sub_808C818 +debug_sub_808C818: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._199 @cond_branch + mov r0, #0x0 + b ._202 +._199: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._201 @cond_branch + ldr r2, ._203 @ gMenuCallback + ldr r0, ._203 + 4 @ gUnknown_Debug_083C1CE8 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._202 +._204: + .align 2, 0 +._203: + .word gMenuCallback + .word gUnknown_Debug_083C1CE8 +._201: + bl CloseMenu + mov r0, #0x1 +._202: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C818 + + thumb_func_start debug_sub_808C85C +debug_sub_808C85C: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._205 @ gUnknown_Debug_083C1E0C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._205 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._205 + 8 @ gMenuCallback + ldr r0, ._205 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._206: + .align 2, 0 +._205: + .word gUnknown_Debug_083C1E0C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C85C + + thumb_func_start debug_sub_808C8B4 +debug_sub_808C8B4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._207 @ gUnknown_Debug_083C1F38 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._207 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._207 + 8 @ gMenuCallback + ldr r0, ._207 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._208: + .align 2, 0 +._207: + .word gUnknown_Debug_083C1F38 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C8B4 + + thumb_func_start debug_sub_808C90C +debug_sub_808C90C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._209 @ gUnknown_Debug_083C206C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._209 + 4 @ gDebug_0300070F + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._209 + 8 @ gMenuCallback + ldr r0, ._209 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._210: + .align 2, 0 +._209: + .word gUnknown_Debug_083C206C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C90C + + thumb_func_start debug_sub_808C964 +debug_sub_808C964: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._211 @ gUnknown_Debug_083C2190 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._211 + 4 @ gDebug_0300070F + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._211 + 8 @ gMenuCallback + ldr r0, ._211 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._212: + .align 2, 0 +._211: + .word gUnknown_Debug_083C2190 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C964 + + thumb_func_start debug_sub_808C9BC +debug_sub_808C9BC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._213 @ gUnknown_Debug_083C2264 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._213 + 4 @ gDebug_0300070F + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._213 + 8 @ gMenuCallback + ldr r0, ._213 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._214: + .align 2, 0 +._213: + .word gUnknown_Debug_083C2264 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C9BC + + thumb_func_start debug_sub_808CA14 +debug_sub_808CA14: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._215 @ gUnknown_Debug_083C2370 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._215 + 4 @ gDebug_0300070F + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._215 + 8 @ gMenuCallback + ldr r0, ._215 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._216: + .align 2, 0 +._215: + .word gUnknown_Debug_083C2370 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808CA14 + + thumb_func_start debug_sub_808CA6C +debug_sub_808CA6C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._217 @ gUnknown_Debug_083C248C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._217 + 4 @ gDebug_0300070F + mov r0, #0x6 + strb r0, [r1] + ldr r1, ._217 + 8 @ gMenuCallback + ldr r0, ._217 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._218: + .align 2, 0 +._217: + .word gUnknown_Debug_083C248C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808CA6C + + thumb_func_start debug_sub_808CAC4 +debug_sub_808CAC4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._219 @ gUnknown_Debug_083C259C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._219 + 4 @ gDebug_0300070F + mov r0, #0x7 + strb r0, [r1] + ldr r1, ._219 + 8 @ gMenuCallback + ldr r0, ._219 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._220: + .align 2, 0 +._219: + .word gUnknown_Debug_083C259C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808CAC4 + + thumb_func_start debug_sub_808CB1C +debug_sub_808CB1C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._221 @ gUnknown_Debug_083C26C8 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._221 + 4 @ gDebug_0300070F + mov r0, #0x8 + strb r0, [r1] + ldr r1, ._221 + 8 @ gMenuCallback + ldr r0, ._221 + 12 @ debug_sub_808CB74 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._222: + .align 2, 0 +._221: + .word gUnknown_Debug_083C26C8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808CB1C + + thumb_func_start debug_sub_808CB74 +debug_sub_808CB74: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._226 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808CBC0 + ldrb r0, [r5] + bl debug_sub_808CC10 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._223 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._224 @cond_branch +._223: + mov r0, #0x0 + b ._225 +._227: + .align 2, 0 +._226: + .word gDebug_0300070F +._224: + bl CloseMenu + mov r0, #0x1 +._225: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808CB74 + + thumb_func_start debug_sub_808CBC0 +debug_sub_808CBC0: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._231 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._230 @cond_branch + ldr r0, ._231 + 4 @ gUnknown_Debug_083C271A + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._229 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._230 +._232: + .align 2, 0 +._231: + .word gMain + .word gUnknown_Debug_083C271A +._229: + add r0, r4, #0 + bl FlagClear +._230: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808CBC0 + + thumb_func_start debug_sub_808CC10 +debug_sub_808CC10: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._235 @ gUnknown_Debug_083C2710 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._233 @cond_branch + ldr r0, ._235 + 4 @ gUnknown_Debug_083C271A + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._234: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._234 @cond_branch +._233: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._236: + .align 2, 0 +._235: + .word gUnknown_Debug_083C2710 + .word gUnknown_Debug_083C271A + + thumb_func_end debug_sub_808CC10 + + thumb_func_start debug_sub_808CC74 +debug_sub_808CC74: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r3, ._237 @ gUnknown_Debug_083C1ADC + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x3 + bl InitMenu + ldr r1, ._237 + 4 @ gMenuCallback + ldr r0, ._237 + 8 @ debug_sub_808CCC4 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._238: + .align 2, 0 +._237: + .word gUnknown_Debug_083C1ADC + .word gMenuCallback + .word debug_sub_808CCC4+1 + + thumb_func_end debug_sub_808CC74 + + thumb_func_start debug_sub_808CCC4 +debug_sub_808CCC4: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._239 @cond_branch + mov r0, #0x0 + b ._242 +._239: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._241 @cond_branch + ldr r2, ._243 @ gMenuCallback + ldr r0, ._243 + 4 @ gUnknown_Debug_083C1ADC + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._242 +._244: + .align 2, 0 +._243: + .word gMenuCallback + .word gUnknown_Debug_083C1ADC +._241: + bl CloseMenu + mov r0, #0x1 +._242: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808CCC4 + + thumb_func_start debug_sub_808CD08 +debug_sub_808CD08: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._245 @ gUnknown_Debug_083C1B7C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r0, ._245 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._245 + 8 @ gMenuCallback + ldr r0, ._245 + 12 @ debug_sub_808CE10 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._246: + .align 2, 0 +._245: + .word gUnknown_Debug_083C1B7C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CE10+1 + + thumb_func_end debug_sub_808CD08 + + thumb_func_start debug_sub_808CD60 +debug_sub_808CD60: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + ldr r3, ._247 @ gUnknown_Debug_083C1BF0 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x4 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x4 + bl InitMenu + ldr r1, ._247 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._247 + 8 @ gMenuCallback + ldr r0, ._247 + 12 @ debug_sub_808CE10 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._248: + .align 2, 0 +._247: + .word gUnknown_Debug_083C1BF0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CE10+1 + + thumb_func_end debug_sub_808CD60 + + thumb_func_start debug_sub_808CDB8 +debug_sub_808CDB8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r3, ._249 @ gUnknown_Debug_083C1C2C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x1 + bl InitMenu + ldr r1, ._249 + 4 @ gDebug_0300070F + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._249 + 8 @ gMenuCallback + ldr r0, ._249 + 12 @ debug_sub_808CE10 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._250: + .align 2, 0 +._249: + .word gUnknown_Debug_083C1C2C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CE10+1 + + thumb_func_end debug_sub_808CDB8 + + thumb_func_start debug_sub_808CE10 +debug_sub_808CE10: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._254 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808CE5C + ldrb r0, [r5] + bl debug_sub_808CEAC + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._251 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._252 @cond_branch +._251: + mov r0, #0x0 + b ._253 +._255: + .align 2, 0 +._254: + .word gDebug_0300070F +._252: + bl CloseMenu + mov r0, #0x1 +._253: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808CE10 + + thumb_func_start debug_sub_808CE5C +debug_sub_808CE5C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._259 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._258 @cond_branch + ldr r0, ._259 + 4 @ gUnknown_Debug_083C1C38 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._257 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._258 +._260: + .align 2, 0 +._259: + .word gMain + .word gUnknown_Debug_083C1C38 +._257: + add r0, r4, #0 + bl FlagClear +._258: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808CE5C + + thumb_func_start debug_sub_808CEAC +debug_sub_808CEAC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._263 @ gUnknown_Debug_083C1C34 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._261 @cond_branch + ldr r0, ._263 + 4 @ gUnknown_Debug_083C1C38 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._262: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._262 @cond_branch +._261: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._264: + .align 2, 0 +._263: + .word gUnknown_Debug_083C1C34 + .word gUnknown_Debug_083C1C38 + + thumb_func_end debug_sub_808CEAC + + thumb_func_start debug_sub_808CF10 +debug_sub_808CF10: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._265 @ gUnknown_Debug_083C1330 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._265 + 4 @ gMenuCallback + ldr r0, ._265 + 8 @ debug_sub_808CF60 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._266: + .align 2, 0 +._265: + .word gUnknown_Debug_083C1330 + .word gMenuCallback + .word debug_sub_808CF60+1 + + thumb_func_end debug_sub_808CF10 + + thumb_func_start debug_sub_808CF60 +debug_sub_808CF60: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._267 @cond_branch + mov r0, #0x0 + b ._270 +._267: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._269 @cond_branch + ldr r2, ._271 @ gMenuCallback + ldr r0, ._271 + 4 @ gUnknown_Debug_083C1330 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._270 +._272: + .align 2, 0 +._271: + .word gMenuCallback + .word gUnknown_Debug_083C1330 +._269: + bl CloseMenu + mov r0, #0x1 +._270: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808CF60 + + thumb_func_start debug_sub_808CFA4 +debug_sub_808CFA4: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._273 @ gUnknown_Debug_083C13D8 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r0, ._273 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._273 + 8 @ gMenuCallback + ldr r0, ._273 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._274: + .align 2, 0 +._273: + .word gUnknown_Debug_083C13D8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808CFA4 + + thumb_func_start debug_sub_808CFFC +debug_sub_808CFFC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._275 @ gUnknown_Debug_083C1465 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._275 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._275 + 8 @ gMenuCallback + ldr r0, ._275 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._276: + .align 2, 0 +._275: + .word gUnknown_Debug_083C1465 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808CFFC + + thumb_func_start debug_sub_808D054 +debug_sub_808D054: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._277 @ gUnknown_Debug_083C1503 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._277 + 4 @ gDebug_0300070F + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._277 + 8 @ gMenuCallback + ldr r0, ._277 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._278: + .align 2, 0 +._277: + .word gUnknown_Debug_083C1503 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D054 + + thumb_func_start debug_sub_808D0AC +debug_sub_808D0AC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + ldr r3, ._279 @ gUnknown_Debug_083C158A + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x4 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x4 + bl InitMenu + ldr r1, ._279 + 4 @ gDebug_0300070F + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._279 + 8 @ gMenuCallback + ldr r0, ._279 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._280: + .align 2, 0 +._279: + .word gUnknown_Debug_083C158A + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D0AC + + thumb_func_start debug_sub_808D104 +debug_sub_808D104: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._281 @ gUnknown_Debug_083C1647 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._281 + 4 @ gDebug_0300070F + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._281 + 8 @ gMenuCallback + ldr r0, ._281 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._282: + .align 2, 0 +._281: + .word gUnknown_Debug_083C1647 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D104 + + thumb_func_start debug_sub_808D15C +debug_sub_808D15C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._283 @ gUnknown_Debug_083C1712 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._283 + 4 @ gDebug_0300070F + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._283 + 8 @ gMenuCallback + ldr r0, ._283 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._284: + .align 2, 0 +._283: + .word gUnknown_Debug_083C1712 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D15C + + thumb_func_start debug_sub_808D1B4 +debug_sub_808D1B4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._285 @ gUnknown_Debug_083C17F8 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._285 + 4 @ gDebug_0300070F + mov r0, #0x6 + strb r0, [r1] + ldr r1, ._285 + 8 @ gMenuCallback + ldr r0, ._285 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._286: + .align 2, 0 +._285: + .word gUnknown_Debug_083C17F8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D1B4 + + thumb_func_start debug_sub_808D20C +debug_sub_808D20C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._287 @ gUnknown_Debug_083C18B8 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._287 + 4 @ gDebug_0300070F + mov r0, #0x7 + strb r0, [r1] + ldr r1, ._287 + 8 @ gMenuCallback + ldr r0, ._287 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._288: + .align 2, 0 +._287: + .word gUnknown_Debug_083C18B8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D20C + + thumb_func_start debug_sub_808D264 +debug_sub_808D264: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r3, ._289 @ gDebug_0x83C1974 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x5 + bl InitMenu + ldr r1, ._289 + 4 @ gDebug_0300070F + mov r0, #0x8 + strb r0, [r1] + ldr r1, ._289 + 8 @ gMenuCallback + ldr r0, ._289 + 12 @ debug_sub_808D2BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._290: + .align 2, 0 +._289: + .word gDebug_0x83C1974 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D264 + + thumb_func_start debug_sub_808D2BC +debug_sub_808D2BC: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._294 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808D308 + ldrb r0, [r5] + bl debug_sub_808D358 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._291 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._292 @cond_branch +._291: + mov r0, #0x0 + b ._293 +._295: + .align 2, 0 +._294: + .word gDebug_0300070F +._292: + bl CloseMenu + mov r0, #0x1 +._293: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D2BC + + thumb_func_start debug_sub_808D308 +debug_sub_808D308: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._299 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._298 @cond_branch + ldr r0, ._299 + 4 @ gUnknown_Debug_083C19C6 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._297 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._298 +._300: + .align 2, 0 +._299: + .word gMain + .word gUnknown_Debug_083C19C6 +._297: + add r0, r4, #0 + bl FlagClear +._298: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808D308 + + thumb_func_start debug_sub_808D358 +debug_sub_808D358: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._303 @ gUnknown_Debug_083C19BC + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._301 @cond_branch + ldr r0, ._303 + 4 @ gUnknown_Debug_083C19C6 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._302: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._302 @cond_branch +._301: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._304: + .align 2, 0 +._303: + .word gUnknown_Debug_083C19BC + .word gUnknown_Debug_083C19C6 + + thumb_func_end debug_sub_808D358 + + thumb_func_start debug_sub_808D3BC +debug_sub_808D3BC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._305 @ gUnknown_Debug_083C105C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._305 + 4 @ gMenuCallback + ldr r0, ._305 + 8 @ debug_sub_808D40C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._306: + .align 2, 0 +._305: + .word gUnknown_Debug_083C105C + .word gMenuCallback + .word debug_sub_808D40C+1 + + thumb_func_end debug_sub_808D3BC + + thumb_func_start debug_sub_808D40C +debug_sub_808D40C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._307 @cond_branch + mov r0, #0x0 + b ._310 +._307: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._309 @cond_branch + ldr r2, ._311 @ gMenuCallback + ldr r0, ._311 + 4 @ gUnknown_Debug_083C105C + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._310 +._312: + .align 2, 0 +._311: + .word gMenuCallback + .word gUnknown_Debug_083C105C +._309: + bl CloseMenu + mov r0, #0x1 +._310: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D40C + + thumb_func_start debug_sub_808D450 +debug_sub_808D450: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._313 @ gUnknown_Debug_083C10BD + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._313 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._313 + 8 @ gMenuCallback + ldr r0, ._313 + 12 @ debug_sub_808D500 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._314: + .align 2, 0 +._313: + .word gUnknown_Debug_083C10BD + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D500+1 + + thumb_func_end debug_sub_808D450 + + thumb_func_start debug_sub_808D4A8 +debug_sub_808D4A8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._315 @ gUnknown_Debug_083C1149 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._315 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._315 + 8 @ gMenuCallback + ldr r0, ._315 + 12 @ debug_sub_808D500 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._316: + .align 2, 0 +._315: + .word gUnknown_Debug_083C1149 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D500+1 + + thumb_func_end debug_sub_808D4A8 + + thumb_func_start debug_sub_808D500 +debug_sub_808D500: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._320 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808D54C + ldrb r0, [r5] + bl debug_sub_808D59C + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._317 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._318 @cond_branch +._317: + mov r0, #0x0 + b ._319 +._321: + .align 2, 0 +._320: + .word gDebug_0300070F +._318: + bl CloseMenu + mov r0, #0x1 +._319: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D500 + + thumb_func_start debug_sub_808D54C +debug_sub_808D54C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._325 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._324 @cond_branch + ldr r0, ._325 + 4 @ gUnknown_Debug_083C1196 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._323 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._324 +._326: + .align 2, 0 +._325: + .word gMain + .word gUnknown_Debug_083C1196 +._323: + add r0, r4, #0 + bl FlagClear +._324: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808D54C + + thumb_func_start debug_sub_808D59C +debug_sub_808D59C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._329 @ gUnknown_Debug_083C1194 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._327 @cond_branch + ldr r0, ._329 + 4 @ gUnknown_Debug_083C1196 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._328: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._328 @cond_branch +._327: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._330: + .align 2, 0 +._329: + .word gUnknown_Debug_083C1194 + .word gUnknown_Debug_083C1196 + + thumb_func_end debug_sub_808D59C + + thumb_func_start debug_sub_808D600 +debug_sub_808D600: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._331 @ gUnknown_Debug_083C11CC + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._331 + 4 @ gMenuCallback + ldr r0, ._331 + 8 @ debug_sub_808D650 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._332: + .align 2, 0 +._331: + .word gUnknown_Debug_083C11CC + .word gMenuCallback + .word debug_sub_808D650+1 + + thumb_func_end debug_sub_808D600 + + thumb_func_start debug_sub_808D650 +debug_sub_808D650: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._333 @cond_branch + mov r0, #0x0 + b ._336 +._333: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._335 @cond_branch + ldr r2, ._337 @ gMenuCallback + ldr r0, ._337 + 4 @ gUnknown_Debug_083C11CC + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._336 +._338: + .align 2, 0 +._337: + .word gMenuCallback + .word gUnknown_Debug_083C11CC +._335: + bl CloseMenu + mov r0, #0x1 +._336: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D650 + + thumb_func_start debug_sub_808D694 +debug_sub_808D694: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._339 @ gUnknown_Debug_083C1212 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._339 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._339 + 8 @ gMenuCallback + ldr r0, ._339 + 12 @ debug_sub_808D744 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._340: + .align 2, 0 +._339: + .word gUnknown_Debug_083C1212 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D744+1 + + thumb_func_end debug_sub_808D694 + + thumb_func_start debug_sub_808D6EC +debug_sub_808D6EC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._341 @ gUnknown_Debug_083C1288 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._341 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._341 + 8 @ gMenuCallback + ldr r0, ._341 + 12 @ debug_sub_808D744 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._342: + .align 2, 0 +._341: + .word gUnknown_Debug_083C1288 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D744+1 + + thumb_func_end debug_sub_808D6EC + + thumb_func_start debug_sub_808D744 +debug_sub_808D744: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._346 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808D790 + ldrb r0, [r5] + bl debug_sub_808D7E0 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._343 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._344 @cond_branch +._343: + mov r0, #0x0 + b ._345 +._347: + .align 2, 0 +._346: + .word gDebug_0300070F +._344: + bl CloseMenu + mov r0, #0x1 +._345: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D744 + + thumb_func_start debug_sub_808D790 +debug_sub_808D790: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._351 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._350 @cond_branch + ldr r0, ._351 + 4 @ gUnknown_Debug_083C12D2 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._349 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._350 +._352: + .align 2, 0 +._351: + .word gMain + .word gUnknown_Debug_083C12D2 +._349: + add r0, r4, #0 + bl FlagClear +._350: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808D790 + + thumb_func_start debug_sub_808D7E0 +debug_sub_808D7E0: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._355 @ gUnknown_Debug_083C12D0 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._353 @cond_branch + ldr r0, ._355 + 4 @ gUnknown_Debug_083C12D2 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._354: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._354 @cond_branch +._353: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._356: + .align 2, 0 +._355: + .word gUnknown_Debug_083C12D0 + .word gUnknown_Debug_083C12D2 + + thumb_func_end debug_sub_808D7E0 + + thumb_func_start debug_sub_808D844 +debug_sub_808D844: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r3, ._357 @ gUnknown_Debug_083C1A78 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x1 + bl InitMenu + ldr r1, ._357 + 4 @ gMenuCallback + ldr r0, ._357 + 8 @ debug_sub_808D894 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._358: + .align 2, 0 +._357: + .word gUnknown_Debug_083C1A78 + .word gMenuCallback + .word debug_sub_808D894+1 + + thumb_func_end debug_sub_808D844 + + thumb_func_start debug_sub_808D894 +debug_sub_808D894: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r3, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r3, r0 + bne ._359 @cond_branch + mov r0, #0x0 + b ._362 +._359: + mov r0, #0x1 + neg r0, r0 + cmp r3, r0 + beq ._361 @cond_branch + ldr r2, ._363 @ gMenuCallback + ldr r1, ._363 + 4 @ gUnknown_Debug_083C1A78 + lsl r0, r3, #0x3 + add r0, r0, r1 + ldr r0, [r0, #0x4] + str r0, [r2] + mov r0, #0x0 + b ._362 +._364: + .align 2, 0 +._363: + .word gMenuCallback + .word gUnknown_Debug_083C1A78 +._361: + bl CloseMenu + mov r0, #0x1 +._362: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D894 + + thumb_func_start debug_sub_808D8D8 +debug_sub_808D8D8: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._365 @ gUnknown_Debug_083C1A9C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r0, ._365 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._365 + 8 @ gMenuCallback + ldr r0, ._365 + 12 @ debug_sub_808D930 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._366: + .align 2, 0 +._365: + .word gUnknown_Debug_083C1A9C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D930+1 + + thumb_func_end debug_sub_808D8D8 + + thumb_func_start debug_sub_808D930 +debug_sub_808D930: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._370 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808D97C + ldrb r0, [r5] + bl debug_sub_808D9CC + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._367 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._368 @cond_branch +._367: + mov r0, #0x0 + b ._369 +._371: + .align 2, 0 +._370: + .word gDebug_0300070F +._368: + bl CloseMenu + mov r0, #0x1 +._369: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D930 + + thumb_func_start debug_sub_808D97C +debug_sub_808D97C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._375 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._374 @cond_branch + ldr r0, ._375 + 4 @ gUnknown_Debug_083C1AAE + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._373 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._374 +._376: + .align 2, 0 +._375: + .word gMain + .word gUnknown_Debug_083C1AAE +._373: + add r0, r4, #0 + bl FlagClear +._374: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808D97C + + thumb_func_start debug_sub_808D9CC +debug_sub_808D9CC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._379 @ gUnknown_Debug_083C1AAC + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._377 @cond_branch + ldr r0, ._379 + 4 @ gUnknown_Debug_083C1AAE + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._378: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._378 @cond_branch +._377: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._380: + .align 2, 0 +._379: + .word gUnknown_Debug_083C1AAC + .word gUnknown_Debug_083C1AAE + + thumb_func_end debug_sub_808D9CC + + thumb_func_start debug_sub_808DA30 +debug_sub_808DA30: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r3, ._381 @ gUnknown_Debug_083C103A + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x1 + bl InitMenu + ldr r1, ._381 + 4 @ gMenuCallback + ldr r0, ._381 + 8 @ debug_sub_808DA80 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._382: + .align 2, 0 +._381: + .word gUnknown_Debug_083C103A + .word gMenuCallback + .word debug_sub_808DA80+1 + + thumb_func_end debug_sub_808DA30 + + thumb_func_start debug_sub_808DA80 +debug_sub_808DA80: + push {r4, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + bl debug_sub_808DAD4 + bl debug_sub_808DABC + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._383 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._384 @cond_branch +._383: + mov r0, #0x0 + b ._385 +._384: + bl CloseMenu + mov r0, #0x1 +._385: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808DA80 + + thumb_func_start debug_sub_808DABC +debug_sub_808DABC: + push {lr} + ldr r0, ._386 @ gSpecialVar_Result + ldrh r2, [r0] + mov r0, #0x18 + mov r1, #0x1 + bl debug_sub_808F31C + pop {r0} + bx r0 +._387: + .align 2, 0 +._386: + .word gSpecialVar_Result + + thumb_func_end debug_sub_808DABC + + thumb_func_start debug_sub_808DAD4 +debug_sub_808DAD4: + push {lr} + ldr r0, ._390 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._388 @cond_branch + mov r2, #0x1 + b ._389 +._391: + .align 2, 0 +._390: + .word gMain +._388: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._392 @cond_branch + ldr r2, ._393 @ 0xffff +._389: + ldr r1, ._393 + 4 @ gSpecialVar_Result + ldrh r0, [r1] + add r0, r2, r0 + strh r0, [r1] +._392: + pop {r0} + bx r0 +._394: + .align 2, 0 +._393: + .word 0xffff + .word gSpecialVar_Result + + thumb_func_end debug_sub_808DAD4 + + thumb_func_start debug_sub_808DB0C +debug_sub_808DB0C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._395 @ gUnknown_Debug_083C3D08 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._395 + 4 @ gMenuCallback + ldr r0, ._395 + 8 @ debug_sub_808DB5C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._396: + .align 2, 0 +._395: + .word gUnknown_Debug_083C3D08 + .word gMenuCallback + .word debug_sub_808DB5C+1 + + thumb_func_end debug_sub_808DB0C + + thumb_func_start debug_sub_808DB5C +debug_sub_808DB5C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._397 @cond_branch + mov r0, #0x0 + b ._400 +._397: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._399 @cond_branch + ldr r2, ._401 @ gMenuCallback + ldr r0, ._401 + 4 @ gUnknown_Debug_083C3D08 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._400 +._402: + .align 2, 0 +._401: + .word gMenuCallback + .word gUnknown_Debug_083C3D08 +._399: + bl CloseMenu + mov r0, #0x1 +._400: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808DB5C + + thumb_func_start debug_sub_808DBA0 +debug_sub_808DBA0: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._403 @ gUnknown_Debug_083C432C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r0, ._403 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._403 + 8 @ gMenuCallback + ldr r0, ._403 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._404: + .align 2, 0 +._403: + .word gUnknown_Debug_083C432C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DBA0 + + thumb_func_start debug_sub_808DBF8 +debug_sub_808DBF8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._405 @ gUnknown_Debug_083C436C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._405 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._405 + 8 @ gMenuCallback + ldr r0, ._405 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._406: + .align 2, 0 +._405: + .word gUnknown_Debug_083C436C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DBF8 + + thumb_func_start debug_sub_808DC50 +debug_sub_808DC50: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._407 @ gUnknown_Debug_083C43B4 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._407 + 4 @ gDebug_0300070F + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._407 + 8 @ gMenuCallback + ldr r0, ._407 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._408: + .align 2, 0 +._407: + .word gUnknown_Debug_083C43B4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DC50 + + thumb_func_start debug_sub_808DCA8 +debug_sub_808DCA8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._409 @ gUnknown_Debug_083C43FC + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._409 + 4 @ gDebug_0300070F + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._409 + 8 @ gMenuCallback + ldr r0, ._409 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._410: + .align 2, 0 +._409: + .word gUnknown_Debug_083C43FC + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DCA8 + + thumb_func_start debug_sub_808DD00 +debug_sub_808DD00: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._411 @ gUnknown_Debug_083C4444 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._411 + 4 @ gDebug_0300070F + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._411 + 8 @ gMenuCallback + ldr r0, ._411 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._412: + .align 2, 0 +._411: + .word gUnknown_Debug_083C4444 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DD00 + + thumb_func_start debug_sub_808DD58 +debug_sub_808DD58: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._413 @ gUnknown_Debug_083C448C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._413 + 4 @ gDebug_0300070F + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._413 + 8 @ gMenuCallback + ldr r0, ._413 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._414: + .align 2, 0 +._413: + .word gUnknown_Debug_083C448C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DD58 + + thumb_func_start debug_sub_808DDB0 +debug_sub_808DDB0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._415 @ gUnknown_Debug_83C44C4 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._415 + 4 @ gDebug_0300070F + mov r0, #0x6 + strb r0, [r1] + ldr r1, ._415 + 8 @ gMenuCallback + ldr r0, ._415 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._416: + .align 2, 0 +._415: + .word gUnknown_Debug_83C44C4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DDB0 + + thumb_func_start debug_sub_808DE08 +debug_sub_808DE08: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._417 @ gUnknown_Debug_83C44EC + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._417 + 4 @ gDebug_0300070F + mov r0, #0x7 + strb r0, [r1] + ldr r1, ._417 + 8 @ gMenuCallback + ldr r0, ._417 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._418: + .align 2, 0 +._417: + .word gUnknown_Debug_83C44EC + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DE08 + + thumb_func_start debug_sub_808DE60 +debug_sub_808DE60: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._419 @ gUnknown_Debug_083C4534 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._419 + 4 @ gDebug_0300070F + mov r0, #0x8 + strb r0, [r1] + ldr r1, ._419 + 8 @ gMenuCallback + ldr r0, ._419 + 12 @ debug_sub_808DEB8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._420: + .align 2, 0 +._419: + .word gUnknown_Debug_083C4534 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DE60 + + thumb_func_start debug_sub_808DEB8 +debug_sub_808DEB8: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._424 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808DF64 + ldrb r0, [r5] + bl debug_sub_808DF04 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._421 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._422 @cond_branch +._421: + mov r0, #0x0 + b ._423 +._425: + .align 2, 0 +._424: + .word gDebug_0300070F +._422: + bl CloseMenu + mov r0, #0x1 +._423: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808DEB8 + + thumb_func_start debug_sub_808DF04 +debug_sub_808DF04: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._428 @ gUnknown_Debug_083C457C + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._426 @cond_branch + ldr r0, ._428 + 4 @ gUnknown_Debug_083C4586 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._427: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._427 @cond_branch +._426: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._429: + .align 2, 0 +._428: + .word gUnknown_Debug_083C457C + .word gUnknown_Debug_083C4586 + + thumb_func_end debug_sub_808DF04 + + thumb_func_start debug_sub_808DF64 +debug_sub_808DF64: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._432 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._430 @cond_branch + mov r5, #0x1 + b ._431 +._433: + .align 2, 0 +._432: + .word gMain +._430: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._434 @cond_branch + ldr r5, ._435 @ 0xffff +._431: + ldr r1, ._435 + 4 @ gUnknown_Debug_083C4586 + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._434: + pop {r4, r5} + pop {r0} + bx r0 +._436: + .align 2, 0 +._435: + .word 0xffff + .word gUnknown_Debug_083C4586 + + thumb_func_end debug_sub_808DF64 + + thumb_func_start debug_sub_808DFC0 +debug_sub_808DFC0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._437 @ gUnknown_Debug_083C377C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._437 + 4 @ gMenuCallback + ldr r0, ._437 + 8 @ debug_sub_808E010 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._438: + .align 2, 0 +._437: + .word gUnknown_Debug_083C377C + .word gMenuCallback + .word debug_sub_808E010+1 + + thumb_func_end debug_sub_808DFC0 + + thumb_func_start debug_sub_808E010 +debug_sub_808E010: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._439 @cond_branch + mov r0, #0x0 + b ._442 +._439: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._441 @cond_branch + ldr r2, ._443 @ gMenuCallback + ldr r0, ._443 + 4 @ gUnknown_Debug_083C377C + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._442 +._444: + .align 2, 0 +._443: + .word gMenuCallback + .word gUnknown_Debug_083C377C +._441: + bl CloseMenu + mov r0, #0x1 +._442: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E010 + + thumb_func_start debug_sub_808E054 +debug_sub_808E054: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._445 @ gUnknown_Debug_083C3AA0 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r0, ._445 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._445 + 8 @ gMenuCallback + ldr r0, ._445 + 12 @ debug_sub_808E264 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._446: + .align 2, 0 +._445: + .word gUnknown_Debug_083C3AA0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E054 + + thumb_func_start debug_sub_808E0AC +debug_sub_808E0AC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r3, ._447 @ gUnknown_Debug_83C3AE0 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x5 + bl InitMenu + ldr r1, ._447 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._447 + 8 @ gMenuCallback + ldr r0, ._447 + 12 @ debug_sub_808E264 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._448: + .align 2, 0 +._447: + .word gUnknown_Debug_83C3AE0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E0AC + + thumb_func_start debug_sub_808E104 +debug_sub_808E104: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._449 @ gUnknown_Debug_83C3B28 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._449 + 4 @ gDebug_0300070F + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._449 + 8 @ gMenuCallback + ldr r0, ._449 + 12 @ debug_sub_808E264 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._450: + .align 2, 0 +._449: + .word gUnknown_Debug_83C3B28 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E104 + + thumb_func_start debug_sub_808E15C +debug_sub_808E15C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._451 @ gUnknown_Debug_83C3B70 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._451 + 4 @ gDebug_0300070F + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._451 + 8 @ gMenuCallback + ldr r0, ._451 + 12 @ debug_sub_808E264 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._452: + .align 2, 0 +._451: + .word gUnknown_Debug_83C3B70 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E15C + + thumb_func_start debug_sub_808E1B4 +debug_sub_808E1B4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._453 @ gUnknown_Debug_83C3BB8 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._453 + 4 @ gDebug_0300070F + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._453 + 8 @ gMenuCallback + ldr r0, ._453 + 12 @ debug_sub_808E264 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._454: + .align 2, 0 +._453: + .word gUnknown_Debug_83C3BB8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E1B4 + + thumb_func_start debug_sub_808E20C +debug_sub_808E20C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._455 @ gUnknown_Debug_83C3C00 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._455 + 4 @ gDebug_0300070F + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._455 + 8 @ gMenuCallback + ldr r0, ._455 + 12 @ debug_sub_808E264 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._456: + .align 2, 0 +._455: + .word gUnknown_Debug_83C3C00 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E20C + + thumb_func_start debug_sub_808E264 +debug_sub_808E264: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._460 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808E310 + ldrb r0, [r5] + bl debug_sub_808E2B0 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._457 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._458 @cond_branch +._457: + mov r0, #0x0 + b ._459 +._461: + .align 2, 0 +._460: + .word gDebug_0300070F +._458: + bl CloseMenu + mov r0, #0x1 +._459: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E264 + + thumb_func_start debug_sub_808E2B0 +debug_sub_808E2B0: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._464 @ gUnknown_Debug_083C3C48 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._462 @cond_branch + ldr r0, ._464 + 4 @ gUnknown_Debug_83C3C4E + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._463: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._463 @cond_branch +._462: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._465: + .align 2, 0 +._464: + .word gUnknown_Debug_083C3C48 + .word gUnknown_Debug_83C3C4E + + thumb_func_end debug_sub_808E2B0 + + thumb_func_start debug_sub_808E310 +debug_sub_808E310: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._468 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._466 @cond_branch + mov r5, #0x1 + b ._467 +._469: + .align 2, 0 +._468: + .word gMain +._466: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._470 @cond_branch + ldr r5, ._471 @ 0xffff +._467: + ldr r1, ._471 + 4 @ gUnknown_Debug_83C3C4E + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._470: + pop {r4, r5} + pop {r0} + bx r0 +._472: + .align 2, 0 +._471: + .word 0xffff + .word gUnknown_Debug_83C3C4E + + thumb_func_end debug_sub_808E310 + + thumb_func_start debug_sub_808E36C +debug_sub_808E36C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r3, ._473 @ gUnknown_Debug_083C32AC + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x5 + bl InitMenu + ldr r1, ._473 + 4 @ gMenuCallback + ldr r0, ._473 + 8 @ debug_sub_808E3BC + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._474: + .align 2, 0 +._473: + .word gUnknown_Debug_083C32AC + .word gMenuCallback + .word debug_sub_808E3BC+1 + + thumb_func_end debug_sub_808E36C + + thumb_func_start debug_sub_808E3BC +debug_sub_808E3BC: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._475 @cond_branch + mov r0, #0x0 + b ._478 +._475: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._477 @cond_branch + ldr r2, ._479 @ gMenuCallback + ldr r0, ._479 + 4 @ gUnknown_Debug_083C32AC + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._478 +._480: + .align 2, 0 +._479: + .word gMenuCallback + .word gUnknown_Debug_083C32AC +._477: + bl CloseMenu + mov r0, #0x1 +._478: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E3BC + + thumb_func_start debug_sub_808E400 +debug_sub_808E400: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r3, ._481 @ gUnknown_Debug_083C347C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x3 + bl InitMenu + ldr r0, ._481 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._481 + 8 @ gMenuCallback + ldr r0, ._481 + 12 @ debug_sub_808E5B8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._482: + .align 2, 0 +._481: + .word gUnknown_Debug_083C347C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E400 + + thumb_func_start debug_sub_808E458 +debug_sub_808E458: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._483 @ gUnknown_Debug_083C3494 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._483 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._483 + 8 @ gMenuCallback + ldr r0, ._483 + 12 @ debug_sub_808E5B8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._484: + .align 2, 0 +._483: + .word gUnknown_Debug_083C3494 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E458 + + thumb_func_start debug_sub_808E4B0 +debug_sub_808E4B0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._485 @ gUnknown_Debug_083C34A4 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._485 + 4 @ gDebug_0300070F + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._485 + 8 @ gMenuCallback + ldr r0, ._485 + 12 @ debug_sub_808E5B8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._486: + .align 2, 0 +._485: + .word gUnknown_Debug_083C34A4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E4B0 + + thumb_func_start debug_sub_808E508 +debug_sub_808E508: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._487 @ gUnknown_Debug_083C34D4 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._487 + 4 @ gDebug_0300070F + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._487 + 8 @ gMenuCallback + ldr r0, ._487 + 12 @ debug_sub_808E5B8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._488: + .align 2, 0 +._487: + .word gUnknown_Debug_083C34D4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E508 + + thumb_func_start debug_sub_808E560 +debug_sub_808E560: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r3, ._489 @ gUnknown_Debug_083C351C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x5 + bl InitMenu + ldr r1, ._489 + 4 @ gDebug_0300070F + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._489 + 8 @ gMenuCallback + ldr r0, ._489 + 12 @ debug_sub_808E5B8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._490: + .align 2, 0 +._489: + .word gUnknown_Debug_083C351C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E560 + + thumb_func_start debug_sub_808E5B8 +debug_sub_808E5B8: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._494 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808E604 + ldrb r0, [r5] + bl debug_sub_808E660 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._491 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._492 @cond_branch +._491: + mov r0, #0x0 + b ._493 +._495: + .align 2, 0 +._494: + .word gDebug_0300070F +._492: + bl CloseMenu + mov r0, #0x1 +._493: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E5B8 + + thumb_func_start debug_sub_808E604 +debug_sub_808E604: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._498 @ gMain + ldrh r1, [r0, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._496 @cond_branch + mov r5, #0x1 + b ._497 +._499: + .align 2, 0 +._498: + .word gMain +._496: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._500 @cond_branch + ldr r5, ._501 @ 0xffff +._497: + ldr r1, ._501 + 4 @ gUnknown_Debug_083C354A + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._500: + pop {r4, r5} + pop {r0} + bx r0 +._502: + .align 2, 0 +._501: + .word 0xffff + .word gUnknown_Debug_083C354A + + thumb_func_end debug_sub_808E604 + + thumb_func_start debug_sub_808E660 +debug_sub_808E660: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._505 @ gUnknown_Debug_083C3544 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._503 @cond_branch + ldr r0, ._505 + 4 @ gUnknown_Debug_083C354A + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._504: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._504 @cond_branch +._503: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._506: + .align 2, 0 +._505: + .word gUnknown_Debug_083C3544 + .word gUnknown_Debug_083C354A + + thumb_func_end debug_sub_808E660 + + thumb_func_start debug_sub_808E6C0 +debug_sub_808E6C0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._507 @ gUnknown_Debug_083C4644 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._507 + 4 @ gMenuCallback + ldr r0, ._507 + 8 @ debug_sub_808E710 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._508: + .align 2, 0 +._507: + .word gUnknown_Debug_083C4644 + .word gMenuCallback + .word debug_sub_808E710+1 + + thumb_func_end debug_sub_808E6C0 + + thumb_func_start debug_sub_808E710 +debug_sub_808E710: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._509 @cond_branch + mov r0, #0x0 + b ._512 +._509: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._511 @cond_branch + ldr r2, ._513 @ gMenuCallback + ldr r0, ._513 + 4 @ gUnknown_Debug_083C4644 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._512 +._514: + .align 2, 0 +._513: + .word gMenuCallback + .word gUnknown_Debug_083C4644 +._511: + bl CloseMenu + mov r0, #0x1 +._512: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E710 + + thumb_func_start debug_sub_808E754 +debug_sub_808E754: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._515 @ gUnknown_Debug_083C470C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._515 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._515 + 8 @ gMenuCallback + ldr r0, ._515 + 12 @ debug_sub_808E804 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._516: + .align 2, 0 +._515: + .word gUnknown_Debug_083C470C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E804+1 + + thumb_func_end debug_sub_808E754 + + thumb_func_start debug_sub_808E7AC +debug_sub_808E7AC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._517 @ gUnknown_Debug_083C4754C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._517 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._517 + 8 @ gMenuCallback + ldr r0, ._517 + 12 @ debug_sub_808E804 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._518: + .align 2, 0 +._517: + .word gUnknown_Debug_083C4754C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E804+1 + + thumb_func_end debug_sub_808E7AC + + thumb_func_start debug_sub_808E804 +debug_sub_808E804: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._522 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808E850 + ldrb r0, [r5] + bl debug_sub_808E8AC + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._519 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._520 @cond_branch +._519: + mov r0, #0x0 + b ._521 +._523: + .align 2, 0 +._522: + .word gDebug_0300070F +._520: + bl CloseMenu + mov r0, #0x1 +._521: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E804 + + thumb_func_start debug_sub_808E850 +debug_sub_808E850: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._526 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._524 @cond_branch + mov r5, #0x1 + b ._525 +._527: + .align 2, 0 +._526: + .word gMain +._524: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._528 @cond_branch + ldr r5, ._529 @ 0xffff +._525: + ldr r1, ._529 + 4 @ gUnknown_Debug_083C478E + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._528: + pop {r4, r5} + pop {r0} + bx r0 +._530: + .align 2, 0 +._529: + .word 0xffff + .word gUnknown_Debug_083C478E + + thumb_func_end debug_sub_808E850 + + thumb_func_start debug_sub_808E8AC +debug_sub_808E8AC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._533 @ gUnknown_Debug_083C478C + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._531 @cond_branch + ldr r0, ._533 + 4 @ gUnknown_Debug_083C478E + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._532: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._532 @cond_branch +._531: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._534: + .align 2, 0 +._533: + .word gUnknown_Debug_083C478C + .word gUnknown_Debug_083C478E + + thumb_func_end debug_sub_808E8AC + + thumb_func_start debug_sub_808E90C +debug_sub_808E90C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._535 @ gUnknown_Debug_083C35C4 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._535 + 4 @ gMenuCallback + ldr r0, ._535 + 8 @ debug_sub_808E95C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._536: + .align 2, 0 +._535: + .word gUnknown_Debug_083C35C4 + .word gMenuCallback + .word debug_sub_808E95C+1 + + thumb_func_end debug_sub_808E90C + + thumb_func_start debug_sub_808E95C +debug_sub_808E95C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._537 @cond_branch + mov r0, #0x0 + b ._540 +._537: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._539 @cond_branch + ldr r2, ._541 @ gMenuCallback + ldr r0, ._541 + 4 @ gUnknown_Debug_083C35C4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._540 +._542: + .align 2, 0 +._541: + .word gMenuCallback + .word gUnknown_Debug_083C35C4 +._539: + bl CloseMenu + mov r0, #0x1 +._540: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E95C + + thumb_func_start debug_sub_808E9A0 +debug_sub_808E9A0: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._543 @ gUnknown_Debug_083C369C + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._543 + 4 @ gDebug_0300070F + strb r4, [r0] + ldr r1, ._543 + 8 @ gMenuCallback + ldr r0, ._543 + 12 @ debug_sub_808EA50 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._544: + .align 2, 0 +._543: + .word gUnknown_Debug_083C369C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808EA50+1 + + thumb_func_end debug_sub_808E9A0 + + thumb_func_start debug_sub_808E9F8 +debug_sub_808E9F8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._545 @ gUnknown_Debug_083C36E4 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._545 + 4 @ gDebug_0300070F + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._545 + 8 @ gMenuCallback + ldr r0, ._545 + 12 @ debug_sub_808EA50 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._546: + .align 2, 0 +._545: + .word gUnknown_Debug_083C36E4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808EA50+1 + + thumb_func_end debug_sub_808E9F8 + + thumb_func_start debug_sub_808EA50 +debug_sub_808EA50: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._550 @ gDebug_0300070F + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808EAFC + ldrb r0, [r5] + bl debug_sub_808EA9C + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._547 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._548 @cond_branch +._547: + mov r0, #0x0 + b ._549 +._551: + .align 2, 0 +._550: + .word gDebug_0300070F +._548: + bl CloseMenu + mov r0, #0x1 +._549: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808EA50 + + thumb_func_start debug_sub_808EA9C +debug_sub_808EA9C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._554 @ gUnknown_Debug_083C371C + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._552 @cond_branch + ldr r0, ._554 + 4 @ gUnknown_Debug_083C371E + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._553: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._553 @cond_branch +._552: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._555: + .align 2, 0 +._554: + .word gUnknown_Debug_083C371C + .word gUnknown_Debug_083C371E + + thumb_func_end debug_sub_808EA9C + + thumb_func_start debug_sub_808EAFC +debug_sub_808EAFC: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._558 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._556 @cond_branch + mov r5, #0x1 + b ._557 +._559: + .align 2, 0 +._558: + .word gMain +._556: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._560 @cond_branch + ldr r5, ._561 @ 0xffff +._557: + ldr r1, ._561 + 4 @ gUnknown_Debug_083C371E + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._560: + pop {r4, r5} + pop {r0} + bx r0 +._562: + .align 2, 0 +._561: + .word 0xffff + .word gUnknown_Debug_083C371E + + thumb_func_end debug_sub_808EAFC + + thumb_func_start debug_sub_808EB58 +debug_sub_808EB58: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._563 @ gUnknown_Debug_083C47B2 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._563 + 4 @ gUnknown_Debug_083C47F0 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x8 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x8 + bl InitMenu + ldr r1, ._563 + 8 @ gMenuCallback + ldr r0, ._563 + 12 @ debug_sub_808EC10 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._564: + .align 2, 0 +._563: + .word gUnknown_Debug_083C47B2 + .word gUnknown_Debug_083C47F0 + .word gMenuCallback + .word debug_sub_808EC10+1 + + thumb_func_end debug_sub_808EB58 + + thumb_func_start debug_sub_808EBB4 +debug_sub_808EBB4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xd + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r0, ._565 @ gUnknown_Debug_083C4830 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._565 + 4 @ gUnknown_Debug_083C4888 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x5 + bl InitMenu + ldr r1, ._565 + 8 @ gMenuCallback + ldr r0, ._565 + 12 @ debug_sub_808EC5C + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._566: + .align 2, 0 +._565: + .word gUnknown_Debug_083C4830 + .word gUnknown_Debug_083C4888 + .word gMenuCallback + .word debug_sub_808EC5C+1 + + thumb_func_end debug_sub_808EBB4 + + thumb_func_start debug_sub_808EC10 +debug_sub_808EC10: + push {r4, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._568 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._568 @cond_branch + ldr r1, ._570 @ gSaveBlock1 + lsl r0, r2, #0x18 + asr r0, r0, #0x18 + ldr r2, ._570 + 4 @ 0x13c8 + add r1, r1, r2 + strh r0, [r1] + bl CloseMenu + mov r0, #0x1 + b ._569 +._571: + .align 2, 0 +._570: + .word gSaveBlock1 + .word 0x13c8 +._568: + mov r0, #0x0 +._569: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808EC10 + + thumb_func_start debug_sub_808EC5C +debug_sub_808EC5C: + push {r4, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._573 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._573 @cond_branch + ldr r0, ._575 @ 0x40a7 + lsl r1, r1, #0x18 + asr r1, r1, #0x8 + lsr r1, r1, #0x10 + bl VarSet + bl CloseMenu + mov r0, #0x1 + b ._574 +._576: + .align 2, 0 +._575: + .word 0x40a7 +._573: + mov r0, #0x0 +._574: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808EC5C + + thumb_func_start debug_sub_808ECA4 +debug_sub_808ECA4: + push {lr} + add sp, sp, #0xfffffffc + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r1, ._577 @ gMenuCallback + ldr r0, ._577 + 4 @ debug_sub_808ECD0 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x4 + pop {r1} + bx r1 +._578: + .align 2, 0 +._577: + .word gMenuCallback + .word debug_sub_808ECD0+1 + + thumb_func_end debug_sub_808ECA4 + + thumb_func_start debug_sub_808ECD0 +debug_sub_808ECD0: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._579 @cond_branch + mov r0, #0x0 + b ._580 +._579: + bl CloseMenu + mov r0, #0x2 + bl debug_sub_808F168 + ldr r0, ._581 @ CB2_ContestPainting + bl SetMainCallback2 + ldr r1, ._581 + 4 @ gMain + ldr r0, ._581 + 8 @ debug_sub_808B868 + str r0, [r1, #0x8] + mov r0, #0x1 +._580: + pop {r1} + bx r1 +._582: + .align 2, 0 +._581: + .word CB2_ContestPainting+1 + .word gMain + .word debug_sub_808B868+1 + + thumb_func_end debug_sub_808ECD0 + + thumb_func_start TomomichiDebugMenu_Config +TomomichiDebugMenu_Config: + mov r0, #0x0 + bx lr + + thumb_func_end TomomichiDebugMenu_Config + + thumb_func_start debug_sub_808ED0C +debug_sub_808ED0C: + push {lr} + ldr r2, ._590 @ gMain + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._584 @cond_branch + ldr r1, ._590 + 4 @ gDebug_03000700 + ldrh r0, [r1] + cmp r0, #0x1 + beq ._584 @cond_branch + sub r0, r0, #0x1 + strh r0, [r1] +._584: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._586 @cond_branch + ldr r3, ._590 + 4 @ gDebug_03000700 + ldrh r1, [r3] + ldr r0, ._590 + 8 @ 0x19b + cmp r1, r0 + beq ._586 @cond_branch + add r0, r1, #1 + strh r0, [r3] +._586: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._587 @cond_branch + ldr r1, ._590 + 4 @ gDebug_03000700 + ldrh r0, [r1] + cmp r0, #0xa + bls ._588 @cond_branch + sub r0, r0, #0xa + b ._589 +._591: + .align 2, 0 +._590: + .word gMain + .word gDebug_03000700 + .word 0x19b +._588: + mov r0, #0x1 +._589: + strh r0, [r1] +._587: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._592 @cond_branch + ldr r2, ._595 @ gDebug_03000700 + ldrh r1, [r2] + ldr r0, ._595 + 4 @ 0x191 + cmp r1, r0 + bhi ._593 @cond_branch + add r0, r1, #0 + add r0, r0, #0xa + b ._594 +._596: + .align 2, 0 +._595: + .word gDebug_03000700 + .word 0x191 +._593: + ldr r1, ._597 @ 0x19b + add r0, r1, #0 +._594: + strh r0, [r2] +._592: + pop {r0} + bx r0 +._598: + .align 2, 0 +._597: + .word 0x19b + + thumb_func_end debug_sub_808ED0C + + thumb_func_start debug_sub_808ED9C +debug_sub_808ED9C: + push {lr} + ldr r2, ._606 @ gMain + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._600 @cond_branch + ldr r1, ._606 + 4 @ gDebug_03000708 + ldr r0, [r1] + cmp r0, #0 + beq ._600 @cond_branch + sub r0, r0, #0x1 + str r0, [r1] +._600: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._602 @cond_branch + ldr r3, ._606 + 4 @ gDebug_03000708 + ldr r1, [r3] + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._602 @cond_branch + add r0, r1, #1 + str r0, [r3] +._602: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._603 @cond_branch + ldr r1, ._606 + 4 @ gDebug_03000708 + ldr r0, [r1] + cmp r0, #0xf + bls ._604 @cond_branch + sub r0, r0, #0x10 + b ._605 +._607: + .align 2, 0 +._606: + .word gMain + .word gDebug_03000708 +._604: + mov r0, #0x0 +._605: + str r0, [r1] +._603: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._608 @cond_branch + ldr r3, ._611 @ gDebug_03000708 + ldr r1, [r3] + mov r0, #0x11 + neg r0, r0 + cmp r1, r0 + bhi ._609 @cond_branch + add r0, r1, #0 + add r0, r0, #0x10 + b ._610 +._612: + .align 2, 0 +._611: + .word gDebug_03000708 +._609: + mov r0, #0x1 + neg r0, r0 +._610: + str r0, [r3] +._608: + ldrh r2, [r2, #0x2e] + mov r1, #0xc0 + lsl r1, r1, #0x2 + add r0, r1, #0 + and r0, r0, r2 + cmp r0, r1 + bne ._613 @cond_branch + ldr r1, ._614 @ gDebug_03000708 + mov r0, #0x1 + neg r0, r0 + str r0, [r1] +._613: + pop {r0} + bx r0 +._615: + .align 2, 0 +._614: + .word gDebug_03000708 + + thumb_func_end debug_sub_808ED9C + + thumb_func_start debug_sub_808EE3C +debug_sub_808EE3C: + push {lr} + ldr r2, ._622 @ gMain + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._617 @cond_branch + ldr r1, ._622 + 4 @ gDebug_0300070C + ldrb r0, [r1] + cmp r0, #0x1 + beq ._617 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] +._617: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._619 @cond_branch + ldr r1, ._622 + 4 @ gDebug_0300070C + ldrb r0, [r1] + cmp r0, #0x5 + beq ._619 @cond_branch + add r0, r0, #0x1 + strb r0, [r1] +._619: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._620 @cond_branch + ldr r1, ._622 + 4 @ gDebug_0300070C + mov r0, #0x1 + strb r0, [r1] +._620: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._621 @cond_branch + ldr r1, ._622 + 4 @ gDebug_0300070C + mov r0, #0x5 + strb r0, [r1] +._621: + pop {r0} + bx r0 +._623: + .align 2, 0 +._622: + .word gMain + .word gDebug_0300070C + + thumb_func_end debug_sub_808EE3C + + thumb_func_start debug_sub_808EE9C +debug_sub_808EE9C: + push {lr} + ldr r2, ._631 @ gMain + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._625 @cond_branch + ldr r1, ._631 + 4 @ gDebug_0300070D + ldrb r0, [r1] + cmp r0, #0x1 + beq ._625 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] +._625: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._627 @cond_branch + ldr r1, ._631 + 4 @ gDebug_0300070D + ldrb r0, [r1] + cmp r0, #0xf + beq ._627 @cond_branch + add r0, r0, #0x1 + strb r0, [r1] +._627: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._628 @cond_branch + ldr r1, ._631 + 4 @ gDebug_0300070D + ldrb r0, [r1] + cmp r0, #0xa + bls ._629 @cond_branch + sub r0, r0, #0xa + b ._630 +._632: + .align 2, 0 +._631: + .word gMain + .word gDebug_0300070D +._629: + mov r0, #0x0 +._630: + strb r0, [r1] +._628: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._633 @cond_branch + ldr r1, ._636 @ gDebug_0300070D + ldrb r0, [r1] + cmp r0, #0x5 + bhi ._634 @cond_branch + add r0, r0, #0xa + b ._635 +._637: + .align 2, 0 +._636: + .word gDebug_0300070D +._634: + mov r0, #0xf +._635: + strb r0, [r1] +._633: + pop {r0} + bx r0 + + thumb_func_end debug_sub_808EE9C + + thumb_func_start debug_sub_808EF14 +debug_sub_808EF14: + push {lr} + ldr r2, ._645 @ gMain + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._639 @cond_branch + ldr r1, ._645 + 4 @ gDebug_0300070E + ldrb r0, [r1] + cmp r0, #0x1 + beq ._639 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] +._639: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._641 @cond_branch + ldr r1, ._645 + 4 @ gDebug_0300070E + ldrb r0, [r1] + cmp r0, #0xf + beq ._641 @cond_branch + add r0, r0, #0x1 + strb r0, [r1] +._641: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._642 @cond_branch + ldr r1, ._645 + 4 @ gDebug_0300070E + ldrb r0, [r1] + cmp r0, #0xa + bls ._643 @cond_branch + sub r0, r0, #0xa + b ._644 +._646: + .align 2, 0 +._645: + .word gMain + .word gDebug_0300070E +._643: + mov r0, #0x0 +._644: + strb r0, [r1] +._642: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._647 @cond_branch + ldr r1, ._650 @ gDebug_0300070E + ldrb r0, [r1] + cmp r0, #0x5 + bhi ._648 @cond_branch + add r0, r0, #0xa + b ._649 +._651: + .align 2, 0 +._650: + .word gDebug_0300070E +._648: + mov r0, #0xf +._649: + strb r0, [r1] +._647: + pop {r0} + bx r0 + + thumb_func_end debug_sub_808EF14 + + thumb_func_start debug_sub_808EF8C +debug_sub_808EF8C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + bgt ._653 @cond_branch + cmp r6, #0 + blt ._653 @cond_branch + mov r3, #0x0 + ldr r0, ._656 @ gDebug_03000708 + mov r8, r0 + ldr r4, ._656 + 4 @ gDebug_03000710 + mov r7, #0x7 + mov r5, #0xf +._658: + sub r0, r7, r3 + lsl r0, r0, #0x2 + mov r1, r8 + ldr r2, [r1] + LSR r2, r0 + and r2, r2, r5 + cmp r2, #0x9 + bhi ._654 @cond_branch + add r1, r3, r4 + add r0, r2, #0 + add r0, r0, #0xa1 + b ._655 +._657: + .align 2, 0 +._656: + .word gDebug_03000708 + .word gDebug_03000710 +._654: + add r1, r3, r4 + add r0, r2, #0 + sub r0, r0, #0x4f +._655: + strb r0, [r1] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x7 + bls ._658 @cond_branch + ldr r0, ._666 @ gDebug_03000710 + mov r1, #0xff + strb r1, [r0, #0x8] + mov r1, #0xc + mov r2, #0x5 + bl Menu_PrintText +._653: + mov r3, #0x0 + ldr r7, ._666 @ gDebug_03000710 + ldr r5, ._666 + 4 @ gDebug_03000700 + ldr r2, ._666 + 8 @ gSpeciesNames + mov r8, r2 + add r4, r7, #0 + mov r2, #0x0 +._659: + add r1, r3, #1 + add r0, r1, r4 + strb r2, [r0] + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x9 + bls ._659 @cond_branch + mov r3, #0x0 + ldrh r2, [r5] + mov r0, #0xb + add r1, r2, #0 + mul r1, r1, r0 + mov r2, r8 + add r0, r1, r2 + ldrb r0, [r0] + cmp r0, #0xff + beq ._661 @cond_branch + ldr r0, ._666 @ gDebug_03000710 + mov ip, r0 + mov r5, r8 + add r4, r1, #0 +._662: + add r1, r3, #1 + mov r0, ip + add r2, r1, r0 + add r0, r3, r4 + add r0, r0, r5 + ldrb r0, [r0] + strb r0, [r2] + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + add r0, r3, r4 + add r0, r0, r5 + ldrb r0, [r0] + cmp r0, #0xff + beq ._661 @cond_branch + cmp r3, #0x9 + bls ._662 @cond_branch +._661: + mov r0, #0xb1 + strb r0, [r7] + mov r0, #0xb2 + strb r0, [r7, #0xb] + mov r0, #0xff + strb r0, [r7, #0xc] + cmp r6, #0x2 + bgt ._664 @cond_branch + cmp r6, #0 + blt ._664 @cond_branch + add r0, r7, #0 + mov r1, #0x8 + mov r2, #0x1 + bl Menu_PrintText + b ._665 +._667: + .align 2, 0 +._666: + .word gDebug_03000710 + .word gDebug_03000700 + .word gSpeciesNames +._664: + ldr r0, ._672 @ gDebug_03000710 + mov r1, #0xc + mov r2, #0x1 + bl Menu_PrintText +._665: + ldr r5, ._672 @ gDebug_03000710 + mov r0, #0xff + strb r0, [r5, #0x3] + ldr r4, ._672 + 4 @ gDebug_03000700 + ldrh r0, [r4] + mov r1, #0x64 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5] + ldrh r0, [r4] + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xa + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x1] + ldrh r0, [r4] + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x2] + add r0, r5, #0 + mov r1, #0xc + mov r2, #0x3 + bl Menu_PrintText + cmp r6, #0x1 + beq ._668 @cond_branch + cmp r6, #0x1 + bgt ._669 @cond_branch + cmp r6, #0 + beq ._670 @cond_branch + b ._679 +._673: + .align 2, 0 +._672: + .word gDebug_03000710 + .word gDebug_03000700 +._669: + cmp r6, #0x2 + beq ._674 @cond_branch + b ._679 +._670: + ldr r4, ._677 @ gDebug_0300070C + b ._676 +._678: + .align 2, 0 +._677: + .word gDebug_0300070C +._668: + ldr r4, ._680 @ gDebug_0300070D +._676: + ldrb r0, [r4] + mov r1, #0x64 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5] + ldrb r0, [r4] + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0xa + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x1] + ldrb r0, [r4] + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x2] + add r0, r5, #0 + mov r1, #0xc + mov r2, #0x7 + bl Menu_PrintText + b ._679 +._681: + .align 2, 0 +._680: + .word gDebug_0300070D +._674: + ldr r4, ._682 @ gDebug_0300070E + ldrb r0, [r4] + mov r1, #0x64 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5] + ldrb r0, [r4] + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0xa + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x1] + ldrb r0, [r4] + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x2] + add r0, r5, #0 + mov r1, #0xc + mov r2, #0x7 + bl Menu_PrintText +._679: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._683: + .align 2, 0 +._682: + .word gDebug_0300070E + + thumb_func_end debug_sub_808EF8C + + thumb_func_start debug_sub_808F168 +debug_sub_808F168: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r4, ._686 @ 0x2015de0 + ldr r0, ._686 + 4 @ gDebug_03000700 + ldrh r0, [r0] + strh r0, [r4, #0x8] + ldr r0, ._686 + 8 @ gDebug_03000704 + ldr r0, [r0] + str r0, [r4, #0x4] + ldr r0, ._686 + 12 @ gDebug_03000708 + ldr r0, [r0] + str r0, [r4] + cmp r1, #0x5 + bls ._684 @cond_branch + b ._707 +._684: + lsl r0, r1, #0x2 + ldr r1, ._686 + 16 @ + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._687: + .align 2, 0 +._686: + .word 0x2015de0 + .word gDebug_03000700 + .word gDebug_03000704 + .word gDebug_03000708 + .word ._688 +._688: + .word ._689 + .word ._690 + .word ._691 + .word ._692 + .word ._693 + .word ._694 +._689: + ldr r0, ._696 @ 0x2000000 + ldr r2, ._696 + 4 @ 0x15ddf + add r1, r0, r2 + mov r2, #0x0 + strb r2, [r1] + ldr r1, ._696 + 8 @ 0x15dde + add r0, r0, r1 + strb r2, [r0] + ldr r0, ._696 + 12 @ gDebug_0300070C + ldrb r0, [r0] + sub r0, r0, #0x1 + strb r0, [r4, #0xa] + add r0, r4, #0 + add r0, r0, #0x16 + ldr r1, ._696 + 16 @ gUnknown_Debug_083C48BB + bl StringCopy + b ._704 +._697: + .align 2, 0 +._696: + .word 0x2000000 + .word 0x15ddf + .word 0x15dde + .word gDebug_0300070C + .word gUnknown_Debug_083C48BB +._690: + ldr r1, ._699 @ 0x2000000 + ldr r0, ._699 + 4 @ 0x15ddf + add r2, r1, r0 + mov r0, #0x0 + strb r0, [r2] + ldr r2, ._699 + 8 @ 0x15dde + add r1, r1, r2 + mov r0, #0x8 + strb r0, [r1] + ldr r0, ._699 + 12 @ gDebug_0300070D + ldrb r0, [r0] + sub r0, r0, #0x1 + b ._698 +._700: + .align 2, 0 +._699: + .word 0x2000000 + .word 0x15ddf + .word 0x15dde + .word gDebug_0300070D +._691: + ldr r1, ._702 @ 0x2000000 + ldr r0, ._702 + 4 @ 0x15ddf + add r2, r1, r0 + mov r0, #0x1 + strb r0, [r2] + ldr r2, ._702 + 8 @ 0x15dde + add r1, r1, r2 + mov r0, #0x8 + strb r0, [r1] + ldr r0, ._702 + 12 @ gDebug_0300070E + ldrb r0, [r0] + sub r0, r0, #0x1 + strb r0, [r4, #0xa] + b ._707 +._703: + .align 2, 0 +._702: + .word 0x2000000 + .word 0x15ddf + .word 0x15dde + .word gDebug_0300070E +._692: + ldr r1, ._705 @ 0x2000000 + ldr r2, ._705 + 4 @ 0x15ddf + add r0, r1, r2 + mov r2, #0x0 + strb r2, [r0] + ldr r0, ._705 + 8 @ 0x15dde + add r1, r1, r0 + mov r0, #0x8 + strb r0, [r1] + strb r2, [r4, #0xa] + b ._704 +._706: + .align 2, 0 +._705: + .word 0x2000000 + .word 0x15ddf + .word 0x15dde +._693: + ldr r1, ._708 @ 0x2000000 + ldr r0, ._708 + 4 @ 0x15ddf + add r2, r1, r0 + mov r0, #0x0 + strb r0, [r2] + ldr r2, ._708 + 8 @ 0x15dde + add r1, r1, r2 + mov r0, #0x8 + strb r0, [r1] + mov r0, #0x3 +._698: + strb r0, [r4, #0xa] +._704: + add r0, r4, #0 + add r0, r0, #0xb + ldr r1, ._708 + 12 @ gUnknown_Debug_083C48B0 + bl StringCopy + b ._707 +._709: + .align 2, 0 +._708: + .word 0x2000000 + .word 0x15ddf + .word 0x15dde + .word gUnknown_Debug_083C48B0 +._694: + ldr r1, ._710 @ 0x2000000 + ldr r0, ._710 + 4 @ 0x15ddf + add r2, r1, r0 + mov r0, #0x0 + strb r0, [r2] + ldr r2, ._710 + 8 @ 0x15dde + add r1, r1, r2 + mov r0, #0x8 + strb r0, [r1] + mov r0, #0x9 + strb r0, [r4, #0xa] + add r0, r4, #0 + add r0, r0, #0xb + ldr r1, ._710 + 12 @ gUnknown_Debug_083C48B0 + bl StringCopy +._707: + pop {r4} + pop {r0} + bx r0 +._711: + .align 2, 0 +._710: + .word 0x2000000 + .word 0x15ddf + .word 0x15dde + .word gUnknown_Debug_083C48B0 + + thumb_func_end debug_sub_808F168 + + thumb_func_start debug_sub_808F2E0 +debug_sub_808F2E0: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + lsl r2, r2, #0x18 + cmp r2, #0 + bne ._712 @cond_branch + ldr r1, ._714 @ gDebug_03000710 + mov r0, #0xa1 + b ._713 +._715: + .align 2, 0 +._714: + .word gDebug_03000710 +._712: + ldr r1, ._716 @ gDebug_03000710 + mov r0, #0xa2 +._713: + strb r0, [r1] + mov r0, #0xff + strb r0, [r1, #0x1] + add r0, r1, #0 + add r1, r4, #0 + add r2, r3, #0 + bl Menu_PrintText + pop {r4} + pop {r0} + bx r0 +._717: + .align 2, 0 +._716: + .word gDebug_03000710 + + thumb_func_end debug_sub_808F2E0 + + thumb_func_start debug_sub_808F31C +debug_sub_808F31C: + push {r4, r5, r6, lr} + mov r6, r9 + mov r5, r8 + push {r5, r6} + mov r8, r0 + mov r9, r1 + add r4, r2, #0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 + mov r0, r9 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r9, r0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + ldr r5, ._718 @ gDebug_03000710 + ldr r6, ._718 + 4 @ 0x2710 + add r0, r4, #0 + add r1, r6, #0 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5] + add r0, r4, #0 + add r1, r6, #0 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r6, #0xfa + lsl r6, r6, #0x2 + add r1, r6, #0 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x1] + add r0, r4, #0 + add r1, r6, #0 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x64 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x2] + add r0, r4, #0 + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xa + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x3] + add r0, r4, #0 + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x4] + mov r0, #0xff + strb r0, [r5, #0x5] + add r0, r5, #0 + mov r1, r8 + mov r2, r9 + bl Menu_PrintText + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._719: + .align 2, 0 +._718: + .word gDebug_03000710 + .word 0x2710 + + thumb_func_end debug_sub_808F31C + + thumb_func_start debug_nullsub_66 +debug_nullsub_66: + bx lr + + thumb_func_end debug_nullsub_66 + + .align 2, 0 + +.endif diff --git a/asm/unk_debug_menu_3.s b/asm/unk_debug_menu_3.s new file mode 100644 index 000000000..2e4bef06c --- /dev/null +++ b/asm/unk_debug_menu_3.s @@ -0,0 +1,747 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start debug_sub_813C404 +debug_sub_813C404: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._1 @ gUnknown_Debug_845DDB2 + ldr r4, ._1 + 4 @ gUnknown_Debug_845DAE1 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._2: + .align 2, 0 +._1: + .word gUnknown_Debug_845DDB2 + .word gUnknown_Debug_845DAE1 + + thumb_func_end debug_sub_813C404 + + thumb_func_start debug_sub_813C430 +debug_sub_813C430: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._3 @ gUnknown_Debug_845E402 + ldr r4, ._3 + 4 @ gUnknown_Debug_845E3E0 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._4: + .align 2, 0 +._3: + .word gUnknown_Debug_845E402 + .word gUnknown_Debug_845E3E0 + + thumb_func_end debug_sub_813C430 + + thumb_func_start debug_sub_813C45C +debug_sub_813C45C: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._5 @ gUnknown_Debug_845E443 + ldr r4, ._5 + 4 @ gUnknown_Debug_845E422 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._6: + .align 2, 0 +._5: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E422 + + thumb_func_end debug_sub_813C45C + + thumb_func_start debug_sub_813C488 +debug_sub_813C488: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._7 @ gUnknown_Debug_845E422 + ldr r4, ._7 + 4 @ gUnknown_Debug_845E402 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._8: + .align 2, 0 +._7: + .word gUnknown_Debug_845E422 + .word gUnknown_Debug_845E402 + + thumb_func_end debug_sub_813C488 + + thumb_func_start debug_sub_813C4B4 +debug_sub_813C4B4: + push {r4, lr} + ldr r4, ._9 @ gUnknown_Debug_845E619 + ldr r1, ._9 + 4 @ gUnknown_Debug_845E606 + sub r4, r4, r1 + add r2, r4, #0 + bl memcpy + add r0, r4, #0 + pop {r4} + pop {r1} + bx r1 +._10: + .align 2, 0 +._9: + .word gUnknown_Debug_845E619 + .word gUnknown_Debug_845E606 + + thumb_func_end debug_sub_813C4B4 + + thumb_func_start debug_sub_813C4D4 +debug_sub_813C4D4: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._11 @ gUnknown_Debug_845E712 + ldr r4, ._11 + 4 @ gUnknown_Debug_845E619 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_81261B4 + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._12: + .align 2, 0 +._11: + .word gUnknown_Debug_845E712 + .word gUnknown_Debug_845E619 + + thumb_func_end debug_sub_813C4D4 + + thumb_func_start debug_sub_813C500 +debug_sub_813C500: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._13 @ gUnknown_Debug_845E797 + ldr r4, ._13 + 4 @ gUnknown_Debug_845E712 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._14: + .align 2, 0 +._13: + .word gUnknown_Debug_845E797 + .word gUnknown_Debug_845E712 + + thumb_func_end debug_sub_813C500 + + thumb_func_start debug_sub_813C52C +debug_sub_813C52C: + push {r4, r5, r6, lr} + mov r6, r9 + mov r5, r8 + push {r5, r6} + mov r8, r0 + lsl r5, r1, #0x10 + lsr r0, r5, #0x10 + mov r9, r0 + ldr r6, ._15 @ gUnknown_Debug_845E7BB + ldr r4, ._15 + 4 @ gUnknown_Debug_845E797 + sub r6, r6, r4 + mov r0, r8 + add r1, r4, #0 + add r2, r6, #0 + bl memcpy + ldr r0, ._15 + 8 @ gUnknown_Debug_845E7B5 + sub r0, r0, r4 + add r0, r0, r8 + add r0, r0, #0x3 + mov r1, r9 + strb r1, [r0] + lsr r5, r5, #0x18 + strb r5, [r0, #0x1] + mov r0, r8 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r6, #0 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6} + pop {r1} + bx r1 +._16: + .align 2, 0 +._15: + .word gUnknown_Debug_845E7BB + .word gUnknown_Debug_845E797 + .word gUnknown_Debug_845E7B5 + + thumb_func_end debug_sub_813C52C + + thumb_func_start debug_sub_813C580 +debug_sub_813C580: + push {lr} + mov r1, #0xd + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C580 + + thumb_func_start debug_sub_813C58C +debug_sub_813C58C: + push {lr} + mov r1, #0x4 + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C58C + + thumb_func_start debug_sub_813C598 +debug_sub_813C598: + push {lr} + mov r1, #0x85 + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C598 + + thumb_func_start debug_sub_813C5A4 +debug_sub_813C5A4: + push {lr} + ldr r1, ._17 @ 0x121 + bl debug_sub_813C52C + pop {r1} + bx r1 +._18: + .align 2, 0 +._17: + .word 0x121 + + thumb_func_end debug_sub_813C5A4 + + thumb_func_start debug_sub_813C5B4 +debug_sub_813C5B4: + push {r4, r5, r6, r7, lr} + add r4, r0, #0 + ldr r7, ._23 @ gSaveBlock1 + ldr r0, ._23 + 4 @ gUnknown_Debug_845DDD6 + ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2 + sub r0, r0, r1 + add r6, r0, r4 + ldr r0, ._23 + 12 @ gUnknown_Debug_845E306 + sub r5, r0, r1 + ldr r0, ._23 + 16 @ Str_842E23C + mov r1, #0x0 + mov r2, #0x0 + bl GetEnigmaBerryChecksum + mov r2, #0x0 + ldr r3, ._23 + 20 @ 0xfff + mov r1, #0x0 +._19: + add r0, r4, r2 + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r3 + ble ._19 @cond_branch + mov r2, #0x0 + cmp r2, r5 + bcs ._20 @cond_branch + ldr r3, ._23 + 8 @ gUnknown_Debug_845DDB2 +._21: + add r0, r4, r2 + add r1, r2, r3 + ldrb r1, [r1] + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r5 + bcc ._21 @cond_branch +._20: + mov r2, #0x0 + ldr r3, ._23 + 24 @ 0x52f +._22: + add r0, r6, r2 + add r1, r7, r2 + ldrb r1, [r1] + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r3 + bls ._22 @cond_branch + bl ClearEnigmaBerries + ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2 + add r0, r4, #0 + bl unref_sub_81261B4 + add r0, r5, #0 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._24: + .align 2, 0 +._23: + .word gSaveBlock1+0x3160 + .word gUnknown_Debug_845DDD6 + .word gUnknown_Debug_845DDB2 + .word gUnknown_Debug_845E306 + .word Str_842E23C + .word 0xfff + .word 0x52f + + thumb_func_end debug_sub_813C5B4 + + thumb_func_start debug_sub_813C638 +debug_sub_813C638: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffec + mov r8, r0 + add r4, r1, #0 + add r5, r2, #0 + add r6, r3, #0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + lsl r6, r6, #0x10 + lsr r6, r6, #0x10 + bl ZeroMonData + mov r0, #0x0 + str r0, [sp] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r0, ._25 @ 0x270f + str r0, [sp, #0xc] + mov r0, r8 + add r1, r4, #0 + add r2, r5, #0 + mov r3, #0x20 + bl CreateMon + ldr r2, ._25 + 4 @ Str_842E240 + mov r0, r8 + mov r1, #0x7 + bl SetMonData + ldr r2, ._25 + 8 @ Str_842E248 + mov r0, r8 + mov r1, #0x2 + bl SetMonData + str r6, [sp, #0x10] + mov r0, r8 + mov r1, #0xc + add r2, sp, #0x10 + bl SetMonData + add sp, sp, #0x14 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._26: + .align 2, 0 +._25: + .word 0x270f + .word Str_842E240 + .word Str_842E248 + + thumb_func_end debug_sub_813C638 + + thumb_func_start debug_sub_813C6AC +debug_sub_813C6AC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffff8 + add r6, r0, #0 + add r5, r1, #0 + add r0, r5, #0 + bl ClearMailStruct + add r0, r6, #0 + mov r1, #0xc + bl GetMonData + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r8, r0 + bl ItemIsMail + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._27 @cond_branch + add r4, r5, #0 + add r4, r4, #0x12 + add r7, r5, #0 + add r7, r7, #0x1a + mov r1, #0x9 + add r0, r5, #0 + add r0, r0, #0x10 +._28: + strh r1, [r0] + sub r1, r1, #0x1 + sub r0, r0, #0x2 + cmp r0, r5 + bge ._28 @cond_branch + add r0, r6, #0 + mov r1, #0x7 + mov r2, sp + bl GetMonData + add r0, r4, #0 + mov r1, sp + mov r2, #0x8 + bl StringCopyN + add r0, r6, #0 + mov r1, #0x1 + bl GetMonData + add r1, r7, #0 + bl write_word_to_mem + add r0, r6, #0 + mov r1, #0xb + bl GetMonData + add r4, r0, #0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r6, #0 + mov r1, #0x0 + bl GetMonData + add r1, r0, #0 + add r0, r4, #0 + bl SpeciesToMailSpecies + strh r0, [r5, #0x1e] + mov r0, r8 + strh r0, [r5, #0x20] +._27: + add sp, sp, #0x8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_sub_813C6AC + + thumb_func_start debug_sub_813C740 +debug_sub_813C740: + push {r4, r5, r6, lr} + mov r6, sl + mov r5, r9 + mov r4, r8 + push {r4, r5, r6} + add sp, sp, #0xffffffd0 + add r6, r0, #0 + ldr r0, ._29 @ gUnknown_Debug_845E443 + mov r8, r0 + ldr r1, ._29 + 4 @ gUnknown_Debug_845E4EF + ldr r5, ._29 + 8 @ gEnemyParty + sub r1, r1, r0 + mov r9, r1 + add r0, r6, #0 + mov r1, r8 + mov r2, r9 + bl memcpy + add r0, r5, #0 + mov r1, #0x19 + mov r2, #0x5 + mov r3, #0x0 + bl debug_sub_813C638 + add r4, sp, #0x24 + mov r0, #0x1 + mov sl, r0 + mov r1, sl + strb r1, [r4] + add r0, r5, #0 + mov r1, #0x2d + add r2, r4, #0 + bl SetMonData + mov r0, #0x3 + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x20 + add r2, r4, #0 + bl SetMonData + mov r0, #0xff + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x23 + add r2, r4, #0 + bl SetMonData + ldr r1, ._29 + 12 @ Str_842E238 + add r0, r4, #0 + mov r2, #0xb + bl StringCopyN + add r0, r5, #0 + mov r1, #0x2 + add r2, r4, #0 + bl SetMonData + mov r0, sl + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x3 + add r2, r4, #0 + bl SetMonData + ldr r0, ._29 + 16 @ gUnknown_Debug_845E467 + add r0, r6, r0 + mov r1, r8 + sub r0, r0, r1 + add r1, r5, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._29 + 20 @ gUnknown_Debug_845E4CB + add r6, r6, r0 + mov r0, r8 + sub r6, r6, r0 + add r0, r6, #0 + mov r1, sp + mov r2, #0x24 + bl memcpy + mov r0, r9 + add sp, sp, #0x30 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6} + pop {r1} + bx r1 +._30: + .align 2, 0 +._29: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word Str_842E238 + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C740 + + thumb_func_start debug_sub_813C810 +debug_sub_813C810: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffdc + add r6, r0, #0 + ldr r5, ._31 @ gUnknown_Debug_845E443 + ldr r0, ._31 + 4 @ gUnknown_Debug_845E4EF + ldr r4, ._31 + 8 @ gEnemyParty + sub r0, r0, r5 + mov r8, r0 + add r0, r6, #0 + add r1, r5, #0 + mov r2, r8 + bl memcpy + add r0, r4, #0 + mov r1, #0xc9 + mov r2, #0x15 + mov r3, #0x82 + bl debug_sub_813C638 + add r0, r4, #0 + mov r1, sp + bl debug_sub_813C6AC + ldr r0, ._31 + 12 @ gUnknown_Debug_845E467 + add r0, r6, r0 + sub r0, r0, r5 + add r1, r4, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._31 + 16 @ gUnknown_Debug_845E4CB + add r0, r6, r0 + sub r0, r0, r5 + mov r1, sp + mov r2, #0x24 + bl memcpy + add r0, r6, #0 + add r1, r5, #0 + bl unref_sub_812620C + mov r0, r8 + add sp, sp, #0x24 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r1} + bx r1 +._32: + .align 2, 0 +._31: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C810 + + thumb_func_start debug_sub_813C888 +debug_sub_813C888: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffdc + add r6, r0, #0 + ldr r5, ._33 @ gUnknown_Debug_845E443 + ldr r0, ._33 + 4 @ gUnknown_Debug_845E4EF + ldr r4, ._33 + 8 @ gEnemyParty + sub r0, r0, r5 + mov r8, r0 + add r0, r6, #0 + add r1, r5, #0 + mov r2, r8 + bl memcpy + add r0, r4, #0 + mov r1, #0xc9 + mov r2, #0x15 + mov r3, #0x82 + bl debug_sub_813C638 + add r0, r4, #0 + mov r1, sp + bl debug_sub_813C6AC + mov r0, #0x0 + strh r0, [r4, #0x1c] + ldr r0, ._33 + 12 @ gUnknown_Debug_845E467 + add r0, r6, r0 + sub r0, r0, r5 + add r1, r4, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._33 + 16 @ gUnknown_Debug_845E4CB + add r0, r6, r0 + sub r0, r0, r5 + mov r1, sp + mov r2, #0x24 + bl memcpy + add r0, r6, #0 + add r1, r5, #0 + bl unref_sub_812620C + mov r0, r8 + add sp, sp, #0x24 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r1} + bx r1 +._34: + .align 2, 0 +._33: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C888 + + thumb_func_start debug_sub_813C904 +debug_sub_813C904: + push {r4, lr} + ldr r4, ._35 @ gPlayerParty + add r0, r4, #0 + mov r1, #0x5 + mov r2, #0x32 + mov r3, #0xb7 + bl debug_sub_813C638 + add r0, r4, #0 + add r0, r0, #0x64 + mov r1, #0x8 + mov r2, #0x32 + mov r3, #0xc4 + bl debug_sub_813C638 + add r4, r4, #0xc8 + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x32 + mov r3, #0x8d + bl debug_sub_813C638 + pop {r4} + pop {r0} + bx r0 +._36: + .align 2, 0 +._35: + .word gPlayerParty + + thumb_func_end debug_sub_813C904 + + thumb_func_start debug_sub_813C93C +debug_sub_813C93C: + push {r4, r5, r6, lr} + add sp, sp, #0xffffff44 + add r4, r0, #0 + ldr r6, ._37 @ gUnknown_Debug_845E4EF + ldr r5, ._37 + 4 @ gUnknown_Debug_845E606 + sub r5, r5, r6 + add r1, r6, #0 + add r2, r5, #0 + bl memcpy + bl SavePlayerParty + bl debug_sub_813C904 + ldr r1, ._37 + 8 @ Str_842E253 + ldr r2, ._37 + 12 @ 0x270f + mov r0, sp + bl debug_sub_8075DB4 + bl LoadPlayerParty + ldr r0, ._37 + 16 @ gUnknown_Debug_845E506 + add r4, r4, r0 + sub r4, r4, r6 + add r0, r4, #0 + mov r1, sp + mov r2, #0xbc + bl memcpy + add r0, r5, #0 + add sp, sp, #0xbc + pop {r4, r5, r6} + pop {r1} + bx r1 +._38: + .align 2, 0 +._37: + .word gUnknown_Debug_845E4EF + .word gUnknown_Debug_845E606 + .word Str_842E253+5 @ weird... + .word 0x270f + .word gUnknown_Debug_845E506 + + thumb_func_end debug_sub_813C93C + + .align 2, 0 + +.endif diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s new file mode 100644 index 000000000..7f613b7a3 --- /dev/null +++ b/asm/watanabe_debug_menu.s @@ -0,0 +1,9578 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start debug_69 +debug_69: + bx lr + + thumb_func_end debug_69 + + thumb_func_start debug_80C35DC +debug_80C35DC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + bl SetVBlankCallback + mov r0, #0x80 + lsl r0, r0, #0x13 + mov r1, #0x0 + strh r1, [r0] + add r0, r0, #0xe + strh r1, [r0] + sub r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x2 + strh r1, [r0] + add r0, r0, #0x14 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x6 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x6 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x6 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + mov r3, #0xc0 + lsl r3, r3, #0x13 + mov r4, #0xc0 + lsl r4, r4, #0x9 + add r0, sp, #0x4 + mov r8, r0 + mov r2, sp + mov r6, #0x0 + ldr r1, ._2 @ 0x40000d4 + mov r5, #0x80 + lsl r5, r5, #0x5 + ldr r7, ._2 + 4 @ 0x81000800 + mov r0, #0x81 + lsl r0, r0, #0x18 + mov ip, r0 +._1: + strh r6, [r2] + mov r0, sp + str r0, [r1] + str r3, [r1, #0x4] + str r7, [r1, #0x8] + ldr r0, [r1, #0x8] + add r3, r3, r5 + sub r4, r4, r5 + cmp r4, r5 + bhi ._1 @cond_branch + strh r6, [r2] + mov r2, sp + str r2, [r1] + str r3, [r1, #0x4] + lsr r0, r4, #0x1 + mov r2, ip + orr r0, r0, r2 + str r0, [r1, #0x8] + ldr r0, [r1, #0x8] + mov r0, #0xe0 + lsl r0, r0, #0x13 + mov r3, #0x80 + lsl r3, r3, #0x3 + mov r4, #0x0 + str r4, [sp, #0x4] + ldr r2, ._2 @ 0x40000d4 + mov r1, r8 + str r1, [r2] + str r0, [r2, #0x4] + lsr r0, r3, #0x2 + mov r1, #0x85 + lsl r1, r1, #0x18 + orr r0, r0, r1 + str r0, [r2, #0x8] + ldr r0, [r2, #0x8] + mov r1, #0xa0 + lsl r1, r1, #0x13 + mov r0, sp + strh r4, [r0] + str r0, [r2] + str r1, [r2, #0x4] + lsr r3, r3, #0x1 + mov r0, #0x81 + lsl r0, r0, #0x18 + orr r3, r3, r0 + str r3, [r2, #0x8] + ldr r0, [r2, #0x8] + bl ResetPaletteFade + bl ScanlineEffect_Stop + bl ResetTasks + bl ResetSpriteData + bl ResetPaletteFade + bl FreeAllSpritePalettes + ldr r0, ._2 + 8 @ stru_83F8828 + bl LoadSpriteSheet + ldr r0, ._2 + 12 @ stru_83F8838 + bl LoadSpritePalette + ldr r0, ._2 + 16 @ gWindowTemplate_81E6C3C + bl Text_LoadWindowTemplate + ldr r0, ._2 + 20 @ gWindowTemplate_81E6CE4 + bl InitMenuWindow + add sp, sp, #0x8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._3: + .align 2, 0 +._2: + .word 0x40000d4 + .word 0x81000800 + .word stru_83F8828 + .word stru_83F8838 + .word gWindowTemplate_81E6C3C + .word gWindowTemplate_81E6CE4 + + thumb_func_end debug_80C35DC + + thumb_func_start debug_80C36F4 +debug_80C36F4: + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + + thumb_func_end debug_80C36F4 + + thumb_func_start debug_80C370C +debug_80C370C: + push {lr} + ldr r0, ._6 @ gPaletteFade + ldrb r1, [r0, #0x7] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + bne ._4 @cond_branch + ldr r0, ._6 + 4 @ debug_80C36F4 + bl SetMainCallback2 + b ._5 +._7: + .align 2, 0 +._6: + .word gPaletteFade + .word debug_80C36F4+1 +._4: + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade +._5: + pop {r0} + bx r0 + + thumb_func_end debug_80C370C + + thumb_func_start debug_80C373C +debug_80C373C: + push {lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl DestroyTask + bl ScriptContext2_Disable + ldr r0, ._8 @ sub_80546F0 + bl SetMainCallback2 + pop {r0} + bx r0 +._9: + .align 2, 0 +._8: + .word sub_80546F0+1 + + thumb_func_end debug_80C373C + + thumb_func_start debug_80C3758 +debug_80C3758: + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + + thumb_func_end debug_80C3758 + + thumb_func_start debug_80C376C +debug_80C376C: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + lsl r1, r1, #0x18 + lsr r7, r1, #0x18 + lsl r2, r2, #0x18 + lsr r6, r2, #0x18 + mov r1, #0x0 + mov r2, #0x0 +._10: + mov r3, sp + add r0, r3, r1 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x2 + bls ._10 @cond_branch + mov r1, sp + mov r0, #0xff + strb r0, [r1, #0x3] + mov r4, #0x0 + add r0, r5, #0 + mov r1, #0x64 + bl __udivsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0 + beq ._11 @cond_branch + mov r1, sp + add r0, r0, #0xa1 + strb r0, [r1] + mov r4, #0x1 +._11: + add r0, r5, #0 + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xa + bl __udivsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0 + bne ._12 @cond_branch + cmp r4, #0 + beq ._13 @cond_branch +._12: + mov r1, sp + add r0, r0, #0xa1 + strb r0, [r1, #0x1] +._13: + mov r4, sp + add r0, r5, #0 + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r4, #0x2] + mov r0, sp + add r1, r7, #0 + add r2, r6, #0 + bl Menu_PrintText + add sp, sp, #0x4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_80C376C + + thumb_func_start debug_80C3800 +debug_80C3800: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffff4 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + lsl r1, r1, #0x18 + lsr r6, r1, #0x18 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + mov r3, #0x0 + ldr r2, ._18 @ gSpeciesNames + mov r1, #0x0 +._14: + mov r7, sp + add r0, r7, r3 + strb r1, [r0] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x9 + bls ._14 @cond_branch + add r1, r7, r3 + mov r0, #0xff + strb r0, [r1] + mov r3, #0x0 + mov r0, #0xb + add r1, r4, #0 + mul r1, r1, r0 + add r0, r1, r2 + ldrb r0, [r0] + cmp r0, #0xff + beq ._16 @cond_branch + add r4, r2, #0 + add r2, r1, #0 +._17: + mov r0, sp + add r1, r0, r3 + add r0, r3, r2 + add r0, r0, r4 + ldrb r0, [r0] + strb r0, [r1] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + add r0, r3, r2 + add r0, r0, r4 + ldrb r0, [r0] + cmp r0, #0xff + beq ._16 @cond_branch + cmp r3, #0x9 + bls ._17 @cond_branch +._16: + mov r0, sp + add r1, r6, #0 + add r2, r5, #0 + bl Menu_PrintText + add sp, sp, #0xc + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._19: + .align 2, 0 +._18: + .word gSpeciesNames + + thumb_func_end debug_80C3800 + + thumb_func_start debug_80C3878 +debug_80C3878: + push {lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + cmp r0, #0 + beq ._20 @cond_branch + cmp r0, #0x1 + beq ._21 @cond_branch +._20: + cmp r1, #0x1 + bls ._22 @cond_branch + sub r0, r1, #1 + b ._23 +._22: + ldr r1, ._25 @ 0x19b + b ._28 +._26: + .align 2, 0 +._25: + .word 0x19b +._21: + mov r0, #0xcd + lsl r0, r0, #0x1 + cmp r1, r0 + bhi ._27 @cond_branch + add r0, r1, #1 +._23: + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + b ._28 +._27: + mov r1, #0x1 +._28: + add r0, r1, #0 + pop {r1} + bx r1 + + thumb_func_end debug_80C3878 + + thumb_func_start debug_80C38B4 +debug_80C38B4: + push {lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x10 + lsr r0, r1, #0x10 + cmp r2, #0 + beq ._29 @cond_branch + cmp r2, #0x1 + beq ._30 @cond_branch +._29: + cmp r0, #0 + beq ._31 @cond_branch + sub r0, r0, #0x1 + b ._32 +._31: + mov r0, #0x52 + b ._35 +._30: + cmp r0, #0x51 + bhi ._34 @cond_branch + add r0, r0, #0x1 +._32: + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + b ._35 +._34: + mov r0, #0x0 +._35: + pop {r1} + bx r1 + + thumb_func_end debug_80C38B4 + + thumb_func_start debug_80C38E4 +debug_80C38E4: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + add r4, r2, #0 + add r5, r3, #0 + ldr r6, [sp, #0x1c] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 + lsl r1, r1, #0x18 + lsr r7, r1, #0x18 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + lsl r6, r6, #0x18 + lsr r6, r6, #0x18 + ldr r1, ._37 @ gUnknown_Debug_083F7FD4 + mov r0, sp + mov r2, #0x2 + bl memcpy + add r0, r7, #0 + add r1, r4, #0 + add r2, r7, #0 + add r3, r5, #0 + bl Menu_BlankWindowRect + cmp r6, #0 + beq ._36 @cond_branch + mov r0, sp + add r1, r7, #0 + mov r2, r8 + bl Menu_PrintText +._36: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._38: + .align 2, 0 +._37: + .word gUnknown_Debug_083F7FD4 + + thumb_func_end debug_80C38E4 + + thumb_func_start debug_80C393C +debug_80C393C: + push {lr} + ldr r1, ._39 @ gUnknown_Debug_083F7FD6 + mov r0, #0x1e + bl ProgramFlashSectorAndVerify + pop {r0} + bx r0 +._40: + .align 2, 0 +._39: + .word gUnknown_Debug_083F7FD6 + + thumb_func_end debug_80C393C + + thumb_func_start InitWatanabeDebugMenu +InitWatanabeDebugMenu: + push {r4, lr} + ldr r0, ._46 @ gMain + ldr r1, ._46 + 4 @ 0x43c + add r4, r0, r1 + ldrb r0, [r4] + cmp r0, #0x1 + beq ._41 @cond_branch + cmp r0, #0x1 + ble ._42 @cond_branch + cmp r0, #0x2 + beq ._43 @cond_branch + cmp r0, #0x3 + beq ._44 @cond_branch +._42: + bl save_serialize_map + bl sub_8125E2C + mov r0, #0x1 + strb r0, [r4] + b ._51 +._47: + .align 2, 0 +._46: + .word gMain + .word 0x43c +._41: + bl sub_8125E6C + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._51 @cond_branch + b ._49 +._43: + mov r0, #0x37 + bl PlaySE +._49: + ldrb r0, [r4] + add r0, r0, #0x1 + strb r0, [r4] + b ._51 +._44: + bl IsSEPlaying + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._51 @cond_branch + bl ScriptContext2_Disable + ldr r0, ._52 @ sub_80546F0 + bl SetMainCallback2 +._51: + pop {r4} + pop {r0} + bx r0 +._53: + .align 2, 0 +._52: + .word sub_80546F0+1 + + thumb_func_end InitWatanabeDebugMenu + + thumb_func_start InitSizeComparison +InitSizeComparison: + push {r4, lr} + add sp, sp, #0xfffffffc + bl debug_80C35DC + ldr r1, ._54 @ gReservedSpritePaletteCount + mov r0, #0x1 + strb r0, [r1] + ldr r0, ._54 + 4 @ gUnknown_Debug_20389EC + mov r1, #0x80 + lsl r1, r1, #0x1 + mov r2, #0x20 + bl LoadPalette + ldr r3, ._54 + 8 @ 0x4000208 + ldrh r2, [r3] + mov r0, #0x0 + strh r0, [r3] + ldr r4, ._54 + 12 @ 0x4000200 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x10 + mov r3, #0x0 + bl BeginNormalPaletteFade + ldr r0, ._54 + 16 @ debug_80C3758 + bl SetVBlankCallback + ldr r0, ._54 + 20 @ debug_80C370C + bl SetMainCallback2 + mov r1, #0x80 + lsl r1, r1, #0x13 + mov r2, #0x8a + lsl r2, r2, #0x5 + add r0, r2, #0 + strh r0, [r1] + ldr r0, ._54 + 24 @ debug_80C3A50 + mov r1, #0x0 + bl CreateTask + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._54 + 28 @ gTasks + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + mov r0, #0xfc + strh r0, [r1, #0x8] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._55: + .align 2, 0 +._54: + .word gReservedSpritePaletteCount + .word gUnknown_Debug_20389EC + .word 0x4000208 + .word 0x4000200 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word debug_80C3A50+1 + .word gTasks + + thumb_func_end InitSizeComparison + + thumb_func_start debug_80C3A50 +debug_80C3A50: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffd8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r1, ._56 @ gTasks + lsl r2, r0, #0x2 + add r0, r2, r0 + lsl r0, r0, #0x3 + add r7, r0, r1 + ldrh r0, [r7, #0x8] + str r0, [sp, #0x4] + bl NationalPokedexNumToSpecies + mov r1, sp + strh r0, [r1, #0x8] + add r2, r0, #0 + lsl r2, r2, #0x10 + str r2, [sp, #0xc] + lsr r2, r2, #0x10 + mov r9, r2 + ldr r3, ._56 + 4 @ gSaveBlock2 + mov r8, r3 + mov r0, #0x6 + mov r1, #0x0 + mov r2, #0x17 + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x5 + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + ldr r5, ._56 + 8 @ gUnknown_Debug_083F7FD6 + add r0, r5, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r4, ._56 + 12 @ gUnknown_Debug_083F7FDE + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0x18 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + add r0, r5, #0 + mov r1, #0x19 + mov r2, #0x1 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x19 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0xa + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._56 + 16 @ gUnknown_Debug_083F7FE2 + mov r1, #0x1 + mov r2, #0xb + bl Menu_PrintText + ldr r0, ._56 + 20 @ gUnknown_Debug_083F7FED + mov r1, #0x1 + mov r2, #0xd + bl Menu_PrintText + ldr r0, ._56 + 24 @ gUnknown_Debug_083F7FF6 + mov r1, #0x1 + mov r2, #0xf + bl Menu_PrintText + ldr r0, ._56 + 28 @ gUnknown_Debug_083F8001 + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + mov r0, #0xc + mov r1, #0xa + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r0, ._56 + 32 @ gUnknown_Debug_083F800C + mov r1, #0xd + mov r2, #0xb + bl Menu_PrintText + ldr r0, ._56 + 36 @ gUnknown_Debug_083F8019 + mov r1, #0xd + mov r2, #0xd + bl Menu_PrintText + mov r0, #0xc + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._56 + 40 @ gUnknown_Debug_083F8022 + mov r1, #0xd + mov r2, #0x11 + bl Menu_PrintText + ldr r0, ._56 + 44 @ gUnknown_Debug_083F8028 + mov r1, #0x18 + mov r2, #0x11 + bl Menu_PrintText + mov r0, r9 + mov r1, #0x12 + mov r2, #0x11 + bl debug_80C3800 + mov r1, r8 + ldrb r0, [r1, #0x8] + mov r1, #0x98 + mov r2, #0x28 + mov r3, #0x0 + bl sub_8091A4C + mov r2, sp + strh r0, [r2, #0x10] + add r3, r0, #0 + lsl r3, r3, #0x10 + str r3, [sp, #0x18] + lsr r0, r3, #0x10 + str r0, [sp, #0x14] + lsl r4, r0, #0x4 + add r4, r4, r0 + lsl r4, r4, #0x2 + ldr r1, ._56 + 48 @ gSprites + add r4, r4, r1 + ldrb r1, [r4, #0x1] + mov r2, #0x4 + neg r2, r2 + mov sl, r2 + mov r0, sl + and r0, r0, r1 + mov r3, #0x1 + orr r0, r0, r3 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x3] + mov r0, #0x3f + neg r0, r0 + mov r9, r0 + and r0, r0, r1 + mov r1, #0x4 + orr r0, r0, r1 + strb r0, [r4, #0x3] + ldrb r1, [r4, #0x5] + sub r2, r2, #0x9 + mov r8, r2 + mov r0, r8 + and r0, r0, r1 + mov r3, #0xf + and r0, r0, r3 + strb r0, [r4, #0x5] + mov r0, #0x0 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, ._56 + 52 @ gPokedexEntries + ldr r1, [sp, #0x4] + lsl r5, r1, #0x3 + add r5, r5, r1 + lsl r5, r5, #0x2 + add r5, r5, r0 + ldrh r6, [r5, #0x20] + strh r6, [r4, #0x26] + ldrh r4, [r5, #0x1e] + str r4, [sp] + mov r0, #0x2 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x0 + bl SetOamMatrix + mov r2, sp + ldrh r2, [r2, #0x14] + strh r2, [r7, #0xe] + strh r6, [r7, #0x10] + strh r4, [r7, #0x14] + ldr r0, [sp, #0x4] + mov r1, #0x58 + mov r2, #0x28 + mov r3, #0x1 + bl sub_80918EC + mov r3, sp + strh r0, [r3, #0x1c] + lsl r0, r0, #0x10 + str r0, [sp, #0x24] + lsr r1, r0, #0x10 + str r1, [sp, #0x20] + lsl r4, r1, #0x4 + add r4, r4, r1 + lsl r4, r4, #0x2 + ldr r2, ._56 + 48 @ gSprites + add r4, r4, r2 + ldrb r0, [r4, #0x1] + mov r3, sl + and r3, r3, r0 + mov r0, #0x1 + orr r3, r3, r0 + strb r3, [r4, #0x1] + ldrb r0, [r4, #0x3] + mov r1, r9 + and r1, r1, r0 + mov r0, #0x2 + orr r1, r1, r0 + strb r1, [r4, #0x3] + ldrb r0, [r4, #0x5] + mov r2, r8 + and r2, r2, r0 + mov r3, #0xf + and r2, r2, r3 + strb r2, [r4, #0x5] + mov r0, #0x0 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldrh r0, [r5, #0x1c] + mov r8, r0 + strh r0, [r4, #0x26] + ldrh r4, [r5, #0x1a] + str r4, [sp] + mov r0, #0x1 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x0 + bl SetOamMatrix + mov r1, sp + ldrh r1, [r1, #0x20] + strh r1, [r7, #0xc] + mov r2, r8 + strh r2, [r7, #0x12] + strh r4, [r7, #0x16] + mov r3, #0x0 + strh r3, [r7, #0x18] + strh r3, [r7, #0x1a] + ldr r1, ._56 + 56 @ 0x4000048 + ldr r2, ._56 + 60 @ 0x3f1f + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1f + strh r0, [r1] + ldr r2, ._56 + 64 @ 0x4000040 + mov r3, #0x18 + ldsh r1, [r7, r3] + lsl r1, r1, #0x6 + add r0, r1, #0 + add r0, r0, #0x38 + lsl r0, r0, #0x8 + add r1, r1, #0x78 + add r0, r0, r1 + strh r0, [r2] + ldr r1, ._56 + 68 @ 0x4000044 + ldr r2, ._56 + 72 @ 0x848 + add r0, r2, #0 + strh r0, [r1] + sub r1, r1, #0x2 + ldr r3, ._56 + 76 @ 0x31bf + add r0, r3, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._56 + 80 @ 0x14f + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0xa + mov r0, #0xe1 + strh r0, [r1] + ldr r0, ._56 + 84 @ 0x4000052 + mov r3, #0x0 + strh r3, [r0] + add r1, r1, #0x4 + mov r0, #0x7 + strh r0, [r1] + mov r2, #0x80 + lsl r2, r2, #0x13 + ldrh r0, [r2] + mov r3, #0xc0 + lsl r3, r3, #0x7 + add r1, r3, #0 + orr r0, r0, r1 + strh r0, [r2] + ldr r0, ._56 + 88 @ debug_80C3D2C + str r0, [r7] + add sp, sp, #0x28 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._57: + .align 2, 0 +._56: + .word gTasks + .word gSaveBlock2 + .word gUnknown_Debug_083F7FD6+0x4 + .word gUnknown_Debug_083F7FDE + .word gUnknown_Debug_083F7FE2 + .word gUnknown_Debug_083F7FED + .word gUnknown_Debug_083F7FF6 + .word gUnknown_Debug_083F8001 + .word gUnknown_Debug_083F800C + .word gUnknown_Debug_083F8019 + .word gUnknown_Debug_083F8022 + .word gUnknown_Debug_083F8028 + .word gSprites + .word gPokedexEntries + .word 0x4000048 + .word 0x3f1f + .word 0x4000040 + .word 0x4000044 + .word 0x848 + .word 0x31bf + .word 0x14f + .word 0x4000052 + .word debug_80C3D2C+1 + + thumb_func_end debug_80C3A50 + + thumb_func_start debug_80C3D2C +debug_80C3D2C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r7, r6, #0 + ldr r4, ._60 @ gMain + ldrh r1, [r4, #0x2e] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._58 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._60 + 4 @ debug_80C370C + bl SetMainCallback2 + ldr r1, ._60 + 8 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._60 + 12 @ debug_80C373C + str r1, [r0] + b ._117 +._61: + .align 2, 0 +._60: + .word gMain + .word debug_80C370C+1 + .word gTasks + .word debug_80C373C+1 +._58: + mov r5, #0x1 + add r0, r5, #0 + and r0, r0, r1 + cmp r0, #0 + beq ._62 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._64 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldrh r1, [r0, #0x18] + mov r2, #0x1 + eor r1, r1, r2 + strh r1, [r0, #0x18] + b ._117 +._65: + .align 2, 0 +._64: + .word gTasks +._62: + ldrh r1, [r4, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._66 @cond_branch + ldr r1, ._70 @ gTasks + lsl r2, r6, #0x2 + add r0, r2, r6 + lsl r0, r0, #0x3 + add r3, r0, r1 + mov r5, #0x18 + ldsh r0, [r3, r5] + mov r8, r1 + cmp r0, #0 + beq ._67 @cond_branch + ldrh r1, [r4, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._68 @cond_branch + ldrh r0, [r3, #0x14] + add r0, r0, #0x10 + b ._69 +._71: + .align 2, 0 +._70: + .word gTasks +._68: + ldrh r0, [r3, #0x14] + add r0, r0, #0x1 +._69: + strh r0, [r3, #0x14] + add r0, r2, r7 + lsl r0, r0, #0x3 + mov r2, r8 + add r1, r0, r2 + ldrh r0, [r1, #0x14] + mov r6, #0x80 + lsl r6, r6, #0x8 + cmp r0, r6 + bhi ._72 @cond_branch + b ._117 +._72: + strh r6, [r1, #0x14] + b ._117 +._67: + ldrh r1, [r4, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._75 @cond_branch + ldrh r0, [r3, #0x16] + add r0, r0, #0x10 + b ._76 +._75: + ldrh r0, [r3, #0x16] + add r0, r0, #0x1 +._76: + strh r0, [r3, #0x16] + add r0, r2, r7 + lsl r0, r0, #0x3 + mov r4, r8 + add r1, r0, r4 + ldrh r0, [r1, #0x16] + mov r6, #0x80 + lsl r6, r6, #0x8 + cmp r0, r6 + bhi ._77 @cond_branch + b ._117 +._77: + strh r6, [r1, #0x16] + b ._117 +._66: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._80 @cond_branch + ldr r1, ._84 @ gTasks + lsl r2, r6, #0x2 + add r0, r2, r6 + lsl r0, r0, #0x3 + add r3, r0, r1 + mov r5, #0x18 + ldsh r0, [r3, r5] + mov r8, r1 + cmp r0, #0 + beq ._81 @cond_branch + ldrh r1, [r4, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._82 @cond_branch + ldrh r0, [r3, #0x14] + sub r0, r0, #0x10 + b ._83 +._85: + .align 2, 0 +._84: + .word gTasks +._82: + ldrh r0, [r3, #0x14] + sub r0, r0, #0x1 +._83: + strh r0, [r3, #0x14] + add r0, r2, r7 + lsl r0, r0, #0x3 + mov r2, r8 + add r1, r0, r2 + mov r4, #0x14 + ldsh r0, [r1, r4] + cmp r0, #0xff + ble ._86 @cond_branch + b ._117 +._86: + mov r0, #0x80 + lsl r0, r0, #0x1 + strh r0, [r1, #0x14] + b ._117 +._81: + ldrh r1, [r4, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._89 @cond_branch + ldrh r0, [r3, #0x16] + sub r0, r0, #0x10 + b ._90 +._89: + ldrh r0, [r3, #0x16] + sub r0, r0, #0x1 +._90: + strh r0, [r3, #0x16] + add r0, r2, r7 + lsl r0, r0, #0x3 + mov r5, r8 + add r1, r0, r5 + mov r2, #0x16 + ldsh r0, [r1, r2] + cmp r0, #0xff + ble ._91 @cond_branch + b ._117 +._91: + mov r0, #0x80 + lsl r0, r0, #0x1 + strh r0, [r1, #0x16] + b ._117 +._80: + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._94 @cond_branch + ldr r0, ._97 @ gTasks + lsl r1, r6, #0x2 + add r1, r1, r6 + lsl r1, r1, #0x3 + add r1, r1, r0 + mov r4, #0x18 + ldsh r0, [r1, r4] + cmp r0, #0 + beq ._95 @cond_branch + ldrh r0, [r1, #0x10] + sub r0, r0, #0x1 + strh r0, [r1, #0x10] + b ._117 +._98: + .align 2, 0 +._97: + .word gTasks +._95: + ldrh r0, [r1, #0x12] + sub r0, r0, #0x1 + strh r0, [r1, #0x12] + b ._117 +._94: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._100 @cond_branch + ldr r0, ._103 @ gTasks + lsl r1, r6, #0x2 + add r1, r1, r6 + lsl r1, r1, #0x3 + add r1, r1, r0 + mov r5, #0x18 + ldsh r0, [r1, r5] + cmp r0, #0 + beq ._101 @cond_branch + ldrh r0, [r1, #0x10] + add r0, r0, #0x1 + strh r0, [r1, #0x10] + b ._117 +._104: + .align 2, 0 +._103: + .word gTasks +._101: + ldrh r0, [r1, #0x12] + add r0, r0, #0x1 + strh r0, [r1, #0x12] + b ._117 +._100: + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + beq ._106 @cond_branch + ldr r2, ._109 @ gTasks + lsl r3, r6, #0x2 + add r0, r3, r6 + lsl r0, r0, #0x3 + add r6, r0, r2 + ldrh r4, [r6, #0x8] + mov r0, #0x8 + ldsh r1, [r6, r0] + ldr r0, ._109 + 4 @ 0x181 + mov r8, r2 + add r2, r3, #0 + cmp r1, r0 + bgt ._107 @cond_branch + add r0, r4, #1 + strh r0, [r6, #0x8] + b ._108 +._110: + .align 2, 0 +._109: + .word gTasks + .word 0x181 +._107: + strh r5, [r6, #0x8] +._108: + add r4, r2, r7 + lsl r4, r4, #0x3 + add r4, r4, r8 + mov r2, #0xc + ldsh r1, [r4, r2] + b ._111 +._106: + mov r0, #0x4 + and r0, r0, r1 + cmp r0, #0 + beq ._112 @cond_branch + ldr r1, ._115 @ gTasks + lsl r2, r6, #0x2 + add r0, r2, r6 + lsl r0, r0, #0x3 + add r3, r0, r1 + ldrh r6, [r3, #0x8] + mov r4, #0x8 + ldsh r0, [r3, r4] + mov r8, r1 + cmp r0, #0x1 + ble ._113 @cond_branch + sub r0, r6, #1 + b ._114 +._116: + .align 2, 0 +._115: + .word gTasks +._113: + mov r0, #0xc1 + lsl r0, r0, #0x1 +._114: + strh r0, [r3, #0x8] + add r4, r2, r7 + lsl r4, r4, #0x3 + add r4, r4, r8 + mov r5, #0xc + ldsh r1, [r4, r5] +._111: + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r5, ._118 @ gSprites + add r0, r0, r5 + bl DestroySprite + mov r0, #0xe + ldsh r1, [r4, r0] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r5 + bl DestroySprite + ldr r0, ._118 + 4 @ debug_80C3A50 + str r0, [r4] + b ._117 +._119: + .align 2, 0 +._118: + .word gSprites + .word debug_80C3A50+1 +._112: + ldr r0, ._120 @ gTasks + lsl r5, r7, #0x2 + add r5, r5, r7 + lsl r5, r5, #0x3 + add r5, r5, r0 + ldrh r4, [r5, #0x16] + ldrh r6, [r5, #0x12] + str r4, [sp] + mov r0, #0x1 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x0 + bl SetOamMatrix + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x4 + bl debug_80C68CC + add r0, r6, #0 + mov r1, #0x1 + mov r2, #0x7 + mov r3, #0x4 + bl debug_80C68CC + ldr r2, ._120 + 4 @ gSprites + mov r8, r2 + mov r4, #0xc + ldsh r1, [r5, r4] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r8 + strh r6, [r0, #0x26] + ldrh r4, [r5, #0x14] + ldrh r6, [r5, #0x10] + str r4, [sp] + mov r0, #0x2 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x0 + bl SetOamMatrix + add r0, r4, #0 + mov r1, #0x19 + mov r2, #0x3 + mov r3, #0x4 + bl debug_80C68CC + add r0, r6, #0 + mov r1, #0x19 + mov r2, #0x7 + mov r3, #0x4 + bl debug_80C68CC + mov r0, #0xe + ldsh r1, [r5, r0] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r8 + strh r6, [r0, #0x26] + ldr r2, ._120 + 8 @ 0x4000040 + mov r4, #0x18 + ldsh r1, [r5, r4] + lsl r1, r1, #0x6 + add r0, r1, #0 + add r0, r0, #0x38 + lsl r0, r0, #0x8 + add r1, r1, #0x78 + add r0, r0, r1 + strh r0, [r2] +._117: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._121: + .align 2, 0 +._120: + .word gTasks + .word gSprites + .word 0x4000040 + + thumb_func_end debug_80C3D2C + + thumb_func_start debug_80C405C +debug_80C405C: + push {r4, r5, lr} + add r4, r0, #0 + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + mov r2, #0x0 + mov r1, #0x0 +._122: + add r0, r4, r2 + strb r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x9 + bls ._122 @cond_branch + add r0, r4, r2 + mov r1, #0xff + strb r1, [r0] + mov r0, #0xae + strb r0, [r4] + cmp r5, #0 + beq ._125 @cond_branch + mov r2, #0x0 + ldr r3, ._127 @ gSpeciesNames + mov r0, #0xb + add r1, r5, #0 + mul r1, r1, r0 + add r0, r1, r3 + ldrb r0, [r0] + cmp r0, #0xff + beq ._125 @cond_branch + add r5, r3, #0 + add r3, r1, #0 +._126: + add r1, r4, r2 + add r0, r2, r3 + add r0, r0, r5 + ldrb r0, [r0] + strb r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + add r0, r2, r3 + add r0, r0, r5 + ldrb r0, [r0] + cmp r0, #0xff + beq ._125 @cond_branch + cmp r2, #0x9 + bls ._126 @cond_branch +._125: + pop {r4, r5} + pop {r0} + bx r0 +._128: + .align 2, 0 +._127: + .word gSpeciesNames + + thumb_func_end debug_80C405C + + thumb_func_start debug_80C40C4 +debug_80C40C4: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + mov r5, #0x0 + mov r6, sp +._135: + cmp r7, #0 + beq ._129 @cond_branch + mov r0, #0x64 + add r1, r5, #0 + mul r1, r1, r0 + ldr r0, ._132 @ gEnemyParty + add r4, r1, r0 + add r0, r4, #0 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._134 @cond_branch + add r0, r4, #0 + bl CalculateMonStats + add r0, r4, #0 + mov r1, #0x3a + bl GetMonData + strh r0, [r6] + add r0, r4, #0 + mov r1, #0x39 + mov r2, sp + bl SetMonData + b ._134 +._133: + .align 2, 0 +._132: + .word gEnemyParty +._129: + mov r0, #0x64 + add r1, r5, #0 + mul r1, r1, r0 + ldr r0, ._136 @ gPlayerParty + add r4, r1, r0 + add r0, r4, #0 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._134 @cond_branch + add r0, r4, #0 + bl CalculateMonStats + add r0, r4, #0 + mov r1, #0x3a + bl GetMonData + strh r0, [r6] + add r0, r4, #0 + mov r1, #0x39 + mov r2, sp + bl SetMonData +._134: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._135 @cond_branch + add sp, sp, #0x4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._137: + .align 2, 0 +._136: + .word gPlayerParty + + thumb_func_end debug_80C40C4 + + thumb_func_start InitBattleForDebug +InitBattleForDebug: + push {lr} + bl SavePlayerParty + ldr r1, ._138 @ gUnknown_Debug_2038A0C + ldr r0, ._138 + 4 @ gSaveBlock2 + ldrb r2, [r0, #0x8] + mov r0, #0x0 + strb r2, [r1, #0xd] + strb r0, [r1] + strb r0, [r1, #0x1] + strb r0, [r1, #0x2] + strb r0, [r1, #0x3] + strb r0, [r1, #0x4] + strb r0, [r1, #0x5] + strb r0, [r1, #0x6] + strb r0, [r1, #0x7] + strb r0, [r1, #0x8] + strb r0, [r1, #0xc] + ldr r1, ._138 + 8 @ byte_3005E30 + str r0, [r1] + bl ZeroPlayerPartyMons + bl ZeroEnemyPartyMons + mov r0, #0x0 + bl debug_80C4214 + ldr r0, ._138 + 12 @ debug_80C47BC + mov r1, #0x0 + bl CreateTask + pop {r0} + bx r0 +._139: + .align 2, 0 +._138: + .word gUnknown_Debug_2038A0C + .word gSaveBlock2 + .word byte_3005E30 + .word debug_80C47BC+1 + + thumb_func_end InitBattleForDebug + + thumb_func_start debug_80C41A8 +debug_80C41A8: + push {lr} + ldr r1, ._140 @ gUnknown_Debug_2038A0C + mov r0, #0x0 + strb r0, [r1, #0x1] + strb r0, [r1, #0x2] + bl ZeroPlayerPartyMons + bl ZeroEnemyPartyMons + mov r0, #0x0 + bl debug_80C4214 + ldr r0, ._140 + 4 @ debug_80C47BC + mov r1, #0x0 + bl CreateTask + pop {r0} + bx r0 +._141: + .align 2, 0 +._140: + .word gUnknown_Debug_2038A0C + .word debug_80C47BC+1 + + thumb_func_end debug_80C41A8 + + thumb_func_start debug_80C41D4 +debug_80C41D4: + push {lr} + mov r0, #0x0 + bl debug_80C40C4 + mov r0, #0x0 + bl debug_80C4214 + ldr r0, ._142 @ debug_80C42B8 + mov r1, #0x0 + bl CreateTask + pop {r0} + bx r0 +._143: + .align 2, 0 +._142: + .word debug_80C42B8+1 + + thumb_func_end debug_80C41D4 + + thumb_func_start debug_80C41F4 +debug_80C41F4: + push {lr} + mov r0, #0x1 + bl debug_80C40C4 + mov r0, #0x1 + bl debug_80C4214 + ldr r0, ._144 @ debug_80C42B8 + mov r1, #0x0 + bl CreateTask + pop {r0} + bx r0 +._145: + .align 2, 0 +._144: + .word debug_80C42B8+1 + + thumb_func_end debug_80C41F4 + + thumb_func_start debug_80C4214 +debug_80C4214: + push {r4, r5, r6, lr} + bl debug_80C35DC + ldr r6, ._146 @ 0x4000040 + mov r4, #0x0 + strh r4, [r6] + ldr r5, ._146 + 4 @ 0x4000044 + strh r4, [r5] + ldr r0, ._146 + 8 @ 0x4000042 + strh r4, [r0] + add r0, r0, #0x4 + strh r4, [r0] + ldr r1, ._146 + 12 @ 0x4000048 + ldr r2, ._146 + 16 @ 0x1111 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x2 + mov r0, #0x31 + strh r0, [r1] + add r1, r1, #0x6 + mov r0, #0xe1 + strh r0, [r1] + ldr r0, ._146 + 20 @ 0x4000052 + strh r4, [r0] + add r1, r1, #0x4 + mov r0, #0x7 + strh r0, [r1] + ldr r3, ._146 + 24 @ 0x4000208 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, ._146 + 28 @ 0x4000200 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, ._146 + 32 @ debug_80C3758 + bl SetVBlankCallback + ldr r0, ._146 + 36 @ debug_80C370C + bl SetMainCallback2 + mov r1, #0x80 + lsl r1, r1, #0x13 + ldr r2, ._146 + 40 @ 0x7140 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._146 + 44 @ 0x1ef + add r0, r1, #0 + strh r0, [r6] + ldr r2, ._146 + 48 @ 0x819f + add r0, r2, #0 + strh r0, [r5] + pop {r4, r5, r6} + pop {r0} + bx r0 +._147: + .align 2, 0 +._146: + .word 0x4000040 + .word 0x4000044 + .word 0x4000042 + .word 0x4000048 + .word 0x1111 + .word 0x4000052 + .word 0x4000208 + .word 0x4000200 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word 0x7140 + .word 0x1ef + .word 0x819f + + thumb_func_end debug_80C4214 + + thumb_func_start debug_80C42B8 +debug_80C42B8: + push {r4, r5, lr} + add sp, sp, #0xffffffe4 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r1, ._150 @ gUnknown_Debug_083F8194 + mov r0, sp + mov r2, #0xc + bl memcpy + add r4, sp, #0xc + ldr r1, ._150 + 4 @ gUnknown_Debug_083F81A0 + add r0, r4, #0 + mov r2, #0xd + bl memcpy + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x14 + mov r2, #0x11 + bl Menu_PrintText + bl debug_80C4694 + bl debug_80C4704 + ldr r0, ._150 + 8 @ gUnknown_Debug_2038A0C + ldrb r0, [r0] + cmp r0, #0 + beq ._148 @cond_branch + ldr r0, ._150 + 12 @ gTasks + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._150 + 16 @ debug_80C44EC + b ._149 +._151: + .align 2, 0 +._150: + .word gUnknown_Debug_083F8194 + .word gUnknown_Debug_083F81A0 + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C44EC+1 +._148: + ldr r0, ._152 @ gTasks + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._152 + 4 @ debug_80C4348 +._149: + str r0, [r1] + add sp, sp, #0x1c + pop {r4, r5} + pop {r0} + bx r0 +._153: + .align 2, 0 +._152: + .word gTasks + .word debug_80C4348+1 + + thumb_func_end debug_80C42B8 + + thumb_func_start debug_80C4348 +debug_80C4348: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._154 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._154 + 4 @ 0x4000042 + ldr r2, ._154 + 8 @ 0x177 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + add r2, r2, #0x8 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._154 + 12 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._154 + 16 @ debug_80C43A8 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._155: + .align 2, 0 +._154: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x177 + .word gTasks + .word debug_80C43A8+1 + + thumb_func_end debug_80C4348 + + thumb_func_start debug_80C43A8 +debug_80C43A8: + push {r4, r5, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r1, ._158 @ gMain + ldrh r2, [r1, #0x2e] + mov r0, #0x1 + and r0, r0, r2 + add r3, r1, #0 + cmp r0, #0 + beq ._156 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r0, ._158 + 4 @ gUnknown_Debug_2038A0C + ldrb r1, [r0, #0x1] + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._158 + 8 @ gPlayerParty + add r0, r0, r1 + ldr r1, ._158 + 12 @ debug_80C41D4 + bl debug_sub_80A433C + add r0, r4, #0 + bl DestroyTask + b ._180 +._159: + .align 2, 0 +._158: + .word gMain + .word gUnknown_Debug_2038A0C + .word gPlayerParty + .word debug_80C41D4+1 +._156: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._160 @cond_branch + ldr r0, ._162 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._162 + 4 @ debug_80C4F48 + str r0, [r1] + b ._180 +._163: + .align 2, 0 +._162: + .word gTasks + .word debug_80C4F48+1 +._160: + mov r0, #0x8 + and r0, r0, r2 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0 + beq ._164 @cond_branch + bl debug_80C4774 + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._180 @cond_branch + mov r0, #0x5 + bl PlaySE + bl CalculatePlayerPartyCount + bl CalculateEnemyPartyCount + ldr r0, ._167 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._167 + 4 @ debug_80C4D14 + str r0, [r1] + b ._180 +._168: + .align 2, 0 +._167: + .word gTasks + .word debug_80C4D14+1 +._164: + mov r0, #0x88 + lsl r0, r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._169 @cond_branch + str r1, [sp] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r0, ._171 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._171 + 4 @ debug_80C44EC + str r0, [r1] + b ._180 +._172: + .align 2, 0 +._171: + .word gTasks + .word debug_80C44EC+1 +._169: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._174 @cond_branch + ldr r1, ._176 @ gUnknown_Debug_2038A0C + ldrb r0, [r1, #0x1] + cmp r0, #0 + beq ._174 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1, #0x1] + b ._175 +._177: + .align 2, 0 +._176: + .word gUnknown_Debug_2038A0C +._174: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._180 @cond_branch + ldr r5, ._181 @ gUnknown_Debug_2038A0C + ldrb r0, [r5, #0x1] + cmp r0, #0x4 + bhi ._180 @cond_branch + add r1, r0, #0 + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._181 + 4 @ gPlayerParty + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._180 @cond_branch + ldrb r0, [r5, #0x1] + add r0, r0, #0x1 + strb r0, [r5, #0x1] +._175: + ldr r1, ._181 + 8 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._181 + 12 @ debug_80C4348 + str r1, [r0] +._180: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._182: + .align 2, 0 +._181: + .word gUnknown_Debug_2038A0C + .word gPlayerParty + .word gTasks + .word debug_80C4348+1 + + thumb_func_end debug_80C43A8 + + thumb_func_start debug_80C44EC +debug_80C44EC: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._183 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r1, #0x10 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._183 + 4 @ 0x4000042 + ldr r2, ._183 + 8 @ 0x79ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._183 + 12 @ 0x17f + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._183 + 16 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._183 + 20 @ debug_80C4550 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._184: + .align 2, 0 +._183: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x79ef + .word 0x17f + .word gTasks + .word debug_80C4550+1 + + thumb_func_end debug_80C44EC + + thumb_func_start debug_80C4550 +debug_80C4550: + push {r4, r5, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r1, ._187 @ gMain + ldrh r2, [r1, #0x2e] + mov r0, #0x1 + and r0, r0, r2 + add r3, r1, #0 + cmp r0, #0 + beq ._185 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r0, ._187 + 4 @ gUnknown_Debug_2038A0C + ldrb r1, [r0, #0x2] + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._187 + 8 @ gEnemyParty + add r0, r0, r1 + ldr r1, ._187 + 12 @ debug_80C41F4 + bl debug_sub_80A433C + add r0, r4, #0 + bl DestroyTask + b ._209 +._188: + .align 2, 0 +._187: + .word gMain + .word gUnknown_Debug_2038A0C + .word gEnemyParty + .word debug_80C41F4+1 +._185: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._189 @cond_branch + ldr r0, ._191 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._191 + 4 @ debug_80C4F48 + str r0, [r1] + b ._209 +._192: + .align 2, 0 +._191: + .word gTasks + .word debug_80C4F48+1 +._189: + mov r0, #0x8 + and r0, r0, r2 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0 + beq ._193 @cond_branch + bl debug_80C4774 + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._209 @cond_branch + mov r0, #0x5 + bl PlaySE + bl CalculatePlayerPartyCount + bl CalculateEnemyPartyCount + ldr r0, ._196 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._196 + 4 @ debug_80C4D14 + str r0, [r1] + b ._209 +._197: + .align 2, 0 +._196: + .word gTasks + .word debug_80C4D14+1 +._193: + mov r0, #0x88 + lsl r0, r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._198 @cond_branch + str r1, [sp] + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r0, ._200 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._200 + 4 @ debug_80C4348 + str r0, [r1] + b ._209 +._201: + .align 2, 0 +._200: + .word gTasks + .word debug_80C4348+1 +._198: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._203 @cond_branch + ldr r1, ._205 @ gUnknown_Debug_2038A0C + ldrb r0, [r1, #0x2] + cmp r0, #0 + beq ._203 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1, #0x2] + b ._204 +._206: + .align 2, 0 +._205: + .word gUnknown_Debug_2038A0C +._203: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._209 @cond_branch + ldr r5, ._210 @ gUnknown_Debug_2038A0C + ldrb r0, [r5, #0x2] + cmp r0, #0x4 + bhi ._209 @cond_branch + add r1, r0, #0 + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._210 + 4 @ gEnemyParty + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._209 @cond_branch + ldrb r0, [r5, #0x2] + add r0, r0, #0x1 + strb r0, [r5, #0x2] +._204: + ldr r1, ._210 + 8 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._210 + 12 @ debug_80C44EC + str r1, [r0] +._209: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._211: + .align 2, 0 +._210: + .word gUnknown_Debug_2038A0C + .word gEnemyParty + .word gTasks + .word debug_80C44EC+1 + + thumb_func_end debug_80C4550 + + thumb_func_start debug_80C4694 +debug_80C4694: + push {r4, r5, lr} + add sp, sp, #0xffffffe4 + ldr r1, ._213 @ gUnknown_Debug_083F81AD + mov r0, sp + mov r2, #0xd + bl memcpy + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xf + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + mov r4, #0x0 + add r5, sp, #0x10 +._212: + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._213 + 4 @ gPlayerParty + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r5, #0 + bl debug_80C405C + lsl r2, r4, #0x19 + mov r0, #0xc0 + lsl r0, r0, #0x12 + add r2, r2, r0 + lsr r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0x2 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._212 @cond_branch + add sp, sp, #0x1c + pop {r4, r5} + pop {r0} + bx r0 +._214: + .align 2, 0 +._213: + .word gUnknown_Debug_083F81AD + .word gPlayerParty + + thumb_func_end debug_80C4694 + + thumb_func_start debug_80C4704 +debug_80C4704: + push {r4, r5, lr} + add sp, sp, #0xffffffe4 + ldr r1, ._216 @ gUnknown_Debug_083F81BA + mov r0, sp + mov r2, #0xd + bl memcpy + mov r0, #0xf + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x11 + mov r2, #0x1 + bl Menu_PrintText + mov r4, #0x0 + add r5, sp, #0x10 +._215: + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._216 + 4 @ gEnemyParty + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r5, #0 + bl debug_80C405C + lsl r2, r4, #0x19 + mov r0, #0xc0 + lsl r0, r0, #0x12 + add r2, r2, r0 + lsr r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0x11 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._215 @cond_branch + add sp, sp, #0x1c + pop {r4, r5} + pop {r0} + bx r0 +._217: + .align 2, 0 +._216: + .word gUnknown_Debug_083F81BA + .word gEnemyParty + + thumb_func_end debug_80C4704 + + thumb_func_start debug_80C4774 +debug_80C4774: + push {r4, lr} + ldr r0, ._221 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0xc] + sub r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x64 + add r4, r0, #0 + mul r4, r4, r1 + ldr r0, ._221 + 4 @ gPlayerParty + add r0, r4, r0 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._219 @cond_branch + ldr r0, ._221 + 8 @ gEnemyParty + add r0, r4, r0 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._219 @cond_branch + mov r0, #0x1 + b ._220 +._222: + .align 2, 0 +._221: + .word gUnknown_Debug_2038A0C + .word gPlayerParty + .word gEnemyParty +._219: + mov r0, #0x0 +._220: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_80C4774 + + thumb_func_start debug_80C47BC +debug_80C47BC: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xffffffc0 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r1, ._224 @ gUnknown_Debug_083F81C7 + mov r0, sp + mov r2, #0xf + bl memcpy + add r4, sp, #0x10 + ldr r1, ._224 + 4 @ gUnknown_Debug_083F81A0 + add r0, r4, #0 + mov r2, #0xd + bl memcpy + add r6, sp, #0x20 + ldr r1, ._224 + 8 @ gUnknown_Debug_083F81D6 + add r0, r6, #0 + mov r2, #0xf + bl memcpy + add r5, sp, #0x30 + ldr r1, ._224 + 12 @ gUnknown_Debug_083F81E5 + add r0, r5, #0 + mov r2, #0x10 + bl memcpy + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x14 + mov r2, #0x11 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xf + bl Menu_DrawStdWindowFrame + add r0, r6, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + mov r4, #0x0 + ldr r6, ._224 + 16 @ gUnknown_Debug_083F8068 +._223: + lsl r0, r4, #0x3 + add r0, r0, r6 + ldr r0, [r0] + lsl r2, r4, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r2, r2, r1 + lsr r2, r2, #0x18 + mov r1, #0x2 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + bls ._223 @cond_branch + mov r0, #0xf + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + add r0, r5, #0 + mov r1, #0x11 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._224 + 20 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x4] + bl debug_80C4C44 + ldr r1, ._224 + 24 @ gTasks + lsl r0, r7, #0x2 + add r0, r0, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._224 + 28 @ debug_80C48A0 + str r1, [r0] + add sp, sp, #0x40 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._225: + .align 2, 0 +._224: + .word gUnknown_Debug_083F81C7 + .word gUnknown_Debug_083F81A0 + .word gUnknown_Debug_083F81D6 + .word gUnknown_Debug_083F81E5 + .word gUnknown_Debug_083F8068 + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C48A0+1 + + thumb_func_end debug_80C47BC + + thumb_func_start debug_80C48A0 +debug_80C48A0: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._226 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x3] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._226 + 4 @ 0x4000042 + ldr r2, ._226 + 8 @ 0x177 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + add r2, r2, #0x8 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._226 + 12 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._226 + 16 @ debug_80C4900 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._227: + .align 2, 0 +._226: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x177 + .word gTasks + .word debug_80C4900+1 + + thumb_func_end debug_80C48A0 + + thumb_func_start debug_80C4900 +debug_80C4900: + push {r4, r5, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r1, ._230 @ gMain + ldrh r2, [r1, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r3, r1, #0 + cmp r4, #0 + beq ._228 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + mov r4, #0x0 + str r4, [sp] + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._230 + 4 @ debug_80C370C + bl SetMainCallback2 + bl LoadPlayerParty + ldr r1, ._230 + 8 @ gSaveBlock2 + ldr r0, ._230 + 12 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0xd] + strb r0, [r1, #0x8] + ldr r0, ._230 + 16 @ gBattleTypeFlags + mov r1, #0x0 + strh r4, [r0] + ldr r0, ._230 + 20 @ gUnknown_02023A14_50 + strb r1, [r0] + ldr r1, ._230 + 24 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._230 + 28 @ debug_80C373C + b ._229 +._231: + .align 2, 0 +._230: + .word gMain + .word debug_80C370C+1 + .word gSaveBlock2 + .word gUnknown_Debug_2038A0C + .word gBattleTypeFlags + .word gUnknown_02023A14_50 + .word gTasks + .word debug_80C373C+1 +._228: + mov r0, #0x8 + and r0, r0, r2 + cmp r0, #0 + bne ._232 @cond_branch + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._233 @cond_branch +._232: + mov r0, #0x5 + bl PlaySE + ldr r1, ._236 @ gBattleTypeFlags + ldr r3, ._236 + 4 @ gUnknown_Debug_083F8068 + ldr r2, ._236 + 8 @ gUnknown_Debug_2038A0C + ldrb r0, [r2, #0x3] + lsl r0, r0, #0x3 + add r0, r0, r3 + ldrb r0, [r0, #0x4] + strh r0, [r1] + ldr r1, ._236 + 12 @ gUnknown_02023A14_50 + mov r0, #0x8 + strb r0, [r1] + ldrb r0, [r2, #0x3] + lsl r0, r0, #0x3 + add r0, r0, r3 + ldrb r0, [r0, #0x5] + strb r0, [r2, #0xc] + ldrb r0, [r2, #0x3] + sub r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bhi ._234 @cond_branch + str r4, [sp] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r0, ._236 + 16 @ gTasks + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._236 + 20 @ debug_80C4A60 + str r0, [r1] + b ._247 +._237: + .align 2, 0 +._236: + .word gBattleTypeFlags + .word gUnknown_Debug_083F8068 + .word gUnknown_Debug_2038A0C + .word gUnknown_02023A14_50 + .word gTasks + .word debug_80C4A60+1 +._234: + ldr r0, ._239 @ gTasks + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._239 + 4 @ debug_80C4F48 + str r0, [r1] + b ._247 +._240: + .align 2, 0 +._239: + .word gTasks + .word debug_80C4F48+1 +._233: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._242 @cond_branch + ldr r1, ._244 @ gUnknown_Debug_2038A0C + ldrb r0, [r1, #0x3] + cmp r0, #0 + beq ._242 @cond_branch + sub r0, r0, #0x1 + b ._243 +._245: + .align 2, 0 +._244: + .word gUnknown_Debug_2038A0C +._242: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._247 @cond_branch + ldr r1, ._248 @ gUnknown_Debug_2038A0C + ldrb r0, [r1, #0x3] + cmp r0, #0x1 + bhi ._247 @cond_branch + add r0, r0, #0x1 +._243: + strb r0, [r1, #0x3] + ldr r1, ._248 + 4 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._248 + 8 @ debug_80C48A0 +._229: + str r1, [r0] +._247: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._249: + .align 2, 0 +._248: + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C48A0+1 + + thumb_func_end debug_80C4900 + + thumb_func_start debug_80C4A60 +debug_80C4A60: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._250 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r1, #0x10 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._250 + 4 @ 0x4000042 + ldr r2, ._250 + 8 @ 0x79ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._250 + 12 @ 0x17f + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._250 + 16 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._250 + 20 @ debug_80C4AC4 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._251: + .align 2, 0 +._250: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x79ef + .word 0x17f + .word gTasks + .word debug_80C4AC4+1 + + thumb_func_end debug_80C4A60 + + thumb_func_start debug_80C4AC4 +debug_80C4AC4: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r7, ._255 @ gUnknown_Debug_2038A0C + ldrb r0, [r7, #0x4] + mov ip, r0 + ldrb r5, [r7, #0x5] + mov r1, ip + add r0, r1, r5 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r2, ._255 + 4 @ gMain + mov r8, r2 + ldrh r2, [r2, #0x2e] + mov r3, #0x1 + and r3, r3, r2 + add r4, r7, #0 + cmp r3, #0 + beq ._252 @cond_branch + ldr r0, ._255 + 8 @ gUnknown_Debug_083F80D8 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r1, [r1] + ldr r3, ._255 + 12 @ byte_3005E30 + ldr r2, [r3] + add r0, r2, #0 + and r0, r0, r1 + cmp r0, #0 + beq ._253 @cond_branch + ldr r0, ._255 + 16 @ 0xffff + eor r1, r1, r0 + and r2, r2, r1 + b ._254 +._256: + .align 2, 0 +._255: + .word gUnknown_Debug_2038A0C + .word gMain + .word gUnknown_Debug_083F80D8 + .word byte_3005E30 + .word 0xffff +._253: + orr r2, r2, r1 +._254: + str r2, [r3] + ldrb r0, [r4, #0x4] + bl debug_80C4C44 + ldr r1, ._258 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._258 + 4 @ debug_80C4A60 + str r1, [r0] + b ._274 +._259: + .align 2, 0 +._258: + .word gTasks + .word debug_80C4A60+1 +._252: + mov r0, #0x2 + and r0, r0, r2 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0 + beq ._260 @cond_branch + str r3, [sp] + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r0, ._262 @ gTasks + lsl r1, r6, #0x2 + add r1, r1, r6 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._262 + 4 @ debug_80C48A0 + b ._261 +._263: + .align 2, 0 +._262: + .word gTasks + .word debug_80C48A0+1 +._260: + mov r0, #0x8 + and r0, r0, r2 + cmp r0, #0 + beq ._264 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._266 @ gTrainerBattleOpponent + mov r2, #0x80 + lsl r2, r2, #0x3 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._266 + 4 @ 0x2017000 + ldrb r2, [r1, #0x1] + mov r0, #0x11 + neg r0, r0 + and r0, r0, r2 + strb r0, [r1, #0x1] + mov r0, #0xac + strb r0, [r1, #0x2] + mov r0, #0xff + strb r0, [r1, #0x3] + strb r4, [r1, #0x9] + strb r4, [r1, #0xa] + strb r4, [r1, #0xb] + strb r4, [r1, #0xc] + ldr r1, ._266 + 8 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._266 + 12 @ debug_80C4F48 + str r1, [r0] + b ._274 +._267: + .align 2, 0 +._266: + .word gTrainerBattleOpponent + .word 0x2017000 + .word gTasks + .word debug_80C4F48+1 +._264: + mov r0, r8 + ldrh r1, [r0, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._268 @cond_branch + lsl r0, r5, #0x18 + cmp r0, #0 + beq ._269 @cond_branch + sub r0, r5, #1 + strb r0, [r7, #0x5] + b ._277 +._269: + mov r1, ip + lsl r0, r1, #0x18 + cmp r0, #0 + beq ._277 @cond_branch + mov r0, ip + sub r0, r0, #0x1 + b ._272 +._268: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._274 @cond_branch + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x8 + bhi ._274 @cond_branch + cmp r0, #0x4 + bhi ._275 @cond_branch + add r0, r5, #1 + strb r0, [r7, #0x5] + b ._277 +._275: + mov r2, ip + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x3 + bhi ._277 @cond_branch + mov r0, ip + add r0, r0, #0x1 +._272: + strb r0, [r7, #0x4] + ldrb r0, [r7, #0x4] + bl debug_80C4C44 +._277: + ldr r0, ._278 @ gTasks + lsl r1, r6, #0x2 + add r1, r1, r6 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._278 + 4 @ debug_80C4A60 +._261: + str r0, [r1] +._274: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._279: + .align 2, 0 +._278: + .word gTasks + .word debug_80C4A60+1 + + thumb_func_end debug_80C4AC4 + + thumb_func_start debug_80C4C44 +debug_80C4C44: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffff0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov sl, r0 + mov r2, #0x0 + mov r5, sp +._290: + mov r0, sl + add r6, r2, r0 + add r4, r6, #0 + add r1, r2, #1 + mov r8, r1 + cmp r4, #0x9 + bgt ._280 @cond_branch + mov r3, #0x0 + ldr r1, ._288 @ gUnknown_Debug_083F80D8 + lsl r0, r4, #0x3 + add r0, r0, r1 + ldr r0, [r0] + ldrb r0, [r0] + ldr r7, ._288 + 4 @ byte_3005E30 + mov r9, r7 + lsl r2, r2, #0x1 + mov ip, r2 + cmp r0, #0xff + beq ._282 @cond_branch + add r7, r1, #0 +._283: + add r0, r3, #3 + mov r1, sp + add r2, r1, r0 + lsl r1, r6, #0x3 + add r1, r1, r7 + ldr r0, [r1] + add r0, r0, r3 + ldrb r0, [r0] + strb r0, [r2] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + ldr r0, [r1] + add r0, r0, r3 + ldrb r0, [r0] + cmp r0, #0xff + beq ._282 @cond_branch + cmp r3, #0xb + bls ._283 @cond_branch +._282: + cmp r3, #0xb + bhi ._284 @cond_branch + mov r1, #0x0 +._285: + add r0, r3, #3 + add r0, r0, sp + strb r1, [r0] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0xb + bls ._285 @cond_branch +._284: + mov r0, #0xff + strb r0, [r5, #0xe] + mov r0, #0xfc + strb r0, [r5] + mov r2, #0x1 + strb r2, [r5, #0x1] + add r1, r2, #0 + LSL r1, r4 + mov r3, r9 + ldr r0, [r3] + and r0, r0, r1 + cmp r0, #0 + beq ._286 @cond_branch + mov r0, #0x3 + strb r0, [r5, #0x2] + b ._287 +._289: + .align 2, 0 +._288: + .word gUnknown_Debug_083F80D8 + .word byte_3005E30 +._286: + strb r2, [r5, #0x2] +._287: + mov r2, ip + add r2, r2, #0x3 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x11 + bl Menu_PrintText +._280: + mov r7, r8 + lsl r0, r7, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x5 + bls ._290 @cond_branch + add sp, sp, #0x10 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_80C4C44 + + thumb_func_start debug_80C4D14 +debug_80C4D14: + push {r4, r5, r6, lr} + add sp, sp, #0xffffffd0 + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r1, ._291 @ gUnknown_Debug_083F81C7 + mov r0, sp + mov r2, #0xf + bl memcpy + add r5, sp, #0x10 + ldr r1, ._291 + 4 @ gUnknown_Debug_083F81F5 + add r0, r5, #0 + mov r2, #0xd + bl memcpy + add r6, sp, #0x20 + ldr r1, ._291 + 8 @ gUnknown_Debug_083F8202 + add r0, r6, #0 + mov r2, #0xf + bl memcpy + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + add r0, r5, #0 + mov r1, #0x14 + mov r2, #0x11 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xf + bl Menu_DrawStdWindowFrame + add r0, r6, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._291 + 12 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x6] + bl debug_80C4F00 + mov r0, #0xf + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r1, ._291 + 16 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._291 + 20 @ debug_80C4DB8 + str r1, [r0] + add sp, sp, #0x30 + pop {r4, r5, r6} + pop {r0} + bx r0 +._292: + .align 2, 0 +._291: + .word gUnknown_Debug_083F81C7 + .word gUnknown_Debug_083F81F5 + .word gUnknown_Debug_083F8202 + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C4DB8+1 + + thumb_func_end debug_80C4D14 + + thumb_func_start debug_80C4DB8 +debug_80C4DB8: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._293 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x7] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._293 + 4 @ 0x4000042 + ldr r2, ._293 + 8 @ 0x177 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + add r2, r2, #0x8 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._293 + 12 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._293 + 16 @ debug_80C4E18 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._294: + .align 2, 0 +._293: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x177 + .word gTasks + .word debug_80C4E18+1 + + thumb_func_end debug_80C4DB8 + + thumb_func_start debug_80C4E18 +debug_80C4E18: + push {r4, r5, r6, r7, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r5, ._297 @ gUnknown_Debug_2038A0C + ldrb r3, [r5, #0x6] + ldrb r2, [r5, #0x7] + add r0, r3, r2 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r7, ._297 + 4 @ gMain + ldrh r1, [r7, #0x2e] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._295 @cond_branch + ldr r0, ._297 + 8 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._297 + 12 @ debug_80C42B8 + b ._296 +._298: + .align 2, 0 +._297: + .word gUnknown_Debug_2038A0C + .word gMain + .word gTasks + .word debug_80C42B8+1 +._295: + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + bne ._299 @cond_branch + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._300 @cond_branch +._299: + mov r0, #0x5 + bl PlaySE + ldr r2, ._302 @ gBattleTerrain + ldr r1, ._302 + 4 @ gUnknown_Debug_083F814C + lsl r0, r6, #0x3 + add r0, r0, r1 + ldrb r0, [r0, #0x4] + strb r0, [r2] + ldr r1, ._302 + 8 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._302 + 12 @ debug_80C5158 + str r1, [r0] + b ._310 +._303: + .align 2, 0 +._302: + .word gBattleTerrain + .word gUnknown_Debug_083F814C + .word gTasks + .word debug_80C5158+1 +._300: + ldrh r1, [r7, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._304 @cond_branch + lsl r0, r2, #0x18 + cmp r0, #0 + beq ._305 @cond_branch + sub r0, r2, #1 + strb r0, [r5, #0x7] + b ._313 +._305: + lsl r0, r3, #0x18 + cmp r0, #0 + beq ._313 @cond_branch + sub r0, r3, #1 + b ._308 +._304: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._310 @cond_branch + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x7 + bhi ._310 @cond_branch + cmp r0, #0x4 + bhi ._311 @cond_branch + add r0, r2, #1 + strb r0, [r5, #0x7] + b ._313 +._311: + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x2 + bhi ._313 @cond_branch + add r0, r3, #1 +._308: + strb r0, [r5, #0x6] + ldrb r0, [r5, #0x6] + bl debug_80C4F00 +._313: + ldr r0, ._314 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._314 + 4 @ debug_80C4DB8 +._296: + str r0, [r1] +._310: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._315: + .align 2, 0 +._314: + .word gTasks + .word debug_80C4DB8+1 + + thumb_func_end debug_80C4E18 + + thumb_func_start debug_80C4F00 +debug_80C4F00: + push {r4, r5, r6, lr} + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + mov r0, #0x1 + mov r1, #0x3 + mov r2, #0xd + mov r3, #0xe + bl Menu_BlankWindowRect + mov r4, #0x0 + ldr r6, ._318 @ gUnknown_Debug_083F814C +._317: + cmp r4, #0x8 + bhi ._316 @cond_branch + add r0, r4, r5 + lsl r0, r0, #0x3 + add r0, r0, r6 + ldr r0, [r0] + lsl r2, r4, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r2, r2, r1 + lsr r2, r2, #0x18 + mov r1, #0x2 + bl Menu_PrintText +._316: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._317 @cond_branch + pop {r4, r5, r6} + pop {r0} + bx r0 +._319: + .align 2, 0 +._318: + .word gUnknown_Debug_083F814C + + thumb_func_end debug_80C4F00 + + thumb_func_start debug_80C4F48 +debug_80C4F48: + push {r4, r5, r6, lr} + mov r6, r9 + mov r5, r8 + push {r5, r6} + add sp, sp, #0xffffffc4 + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r1, ._320 @ gUnknown_Debug_083F8211 + mov r0, sp + mov r2, #0x11 + bl memcpy + add r6, sp, #0x14 + ldr r1, ._320 + 4 @ gUnknown_Debug_083F81A0 + add r0, r6, #0 + mov r2, #0xd + bl memcpy + add r5, sp, #0x24 + ldr r1, ._320 + 8 @ gUnknown_Debug_083F8222 + add r0, r5, #0 + mov r2, #0xd + bl memcpy + add r0, sp, #0x34 + mov r9, r0 + ldr r1, ._320 + 12 @ gUnknown_Debug_083F822F + mov r2, #0x4 + bl memcpy + add r0, sp, #0x38 + mov r8, r0 + ldr r1, ._320 + 16 @ gUnknown_Debug_083F8233 + mov r2, #0x4 + bl memcpy + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x14 + mov r2, #0x11 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xf + bl Menu_DrawStdWindowFrame + add r0, r5, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + mov r0, #0x1 + mov r1, #0x3 + mov r2, #0xd + mov r3, #0xe + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + mov r0, r9 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + mov r0, r8 + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0xf + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r1, ._320 + 20 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._320 + 24 @ debug_80C5038 + str r1, [r0] + add sp, sp, #0x3c + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._321: + .align 2, 0 +._320: + .word gUnknown_Debug_083F8211 + .word gUnknown_Debug_083F81A0 + .word gUnknown_Debug_083F8222 + .word gUnknown_Debug_083F822F + .word gUnknown_Debug_083F8233 + .word gTasks + .word debug_80C5038+1 + + thumb_func_end debug_80C4F48 + + thumb_func_start debug_80C5038 +debug_80C5038: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._322 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x8] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._322 + 4 @ 0x4000042 + ldr r2, ._322 + 8 @ 0x177 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + add r2, r2, #0x8 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._322 + 12 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._322 + 16 @ debug_80C5098 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._323: + .align 2, 0 +._322: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x177 + .word gTasks + .word debug_80C5098+1 + + thumb_func_end debug_80C5038 + + thumb_func_start debug_80C5098 +debug_80C5098: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r1, ._326 @ gMain + ldrh r2, [r1, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + add r3, r1, #0 + cmp r0, #0 + beq ._324 @cond_branch + ldr r0, ._326 + 4 @ gTasks + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._326 + 8 @ debug_80C47BC + str r0, [r1] + b ._339 +._327: + .align 2, 0 +._326: + .word gMain + .word gTasks + .word debug_80C47BC+1 +._324: + mov r0, #0x8 + and r0, r0, r2 + cmp r0, #0 + bne ._328 @cond_branch + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._329 @cond_branch +._328: + mov r0, #0x5 + bl PlaySE + ldr r1, ._331 @ gSaveBlock2 + ldr r0, ._331 + 4 @ gUnknown_Debug_2038A0C + ldrb r0, [r0, #0x8] + strb r0, [r1, #0x8] + ldr r1, ._331 + 8 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._331 + 12 @ debug_80C42B8 + b ._330 +._332: + .align 2, 0 +._331: + .word gSaveBlock2 + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C42B8+1 +._329: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._334 @cond_branch + ldr r1, ._336 @ gUnknown_Debug_2038A0C + ldrb r0, [r1, #0x8] + cmp r0, #0 + beq ._334 @cond_branch + sub r0, r0, #0x1 + b ._335 +._337: + .align 2, 0 +._336: + .word gUnknown_Debug_2038A0C +._334: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._339 @cond_branch + ldr r1, ._340 @ gUnknown_Debug_2038A0C + ldrb r0, [r1, #0x8] + cmp r0, #0 + bne ._339 @cond_branch + add r0, r0, #0x1 +._335: + strb r0, [r1, #0x8] + ldr r1, ._340 + 4 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._340 + 8 @ debug_80C5038 +._330: + str r1, [r0] +._339: + pop {r4} + pop {r0} + bx r0 +._341: + .align 2, 0 +._340: + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C5038+1 + + thumb_func_end debug_80C5098 + + thumb_func_start debug_80C5158 +debug_80C5158: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._342 @ gTasks + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._342 + 4 @ debug_80C5174 + str r0, [r1] + bx lr +._343: + .align 2, 0 +._342: + .word gTasks + .word debug_80C5174+1 + + thumb_func_end debug_80C5158 + + thumb_func_start debug_80C5174 +debug_80C5174: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._344 @ gTasks + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._344 + 4 @ debug_80C5190 + str r0, [r1] + bx lr +._345: + .align 2, 0 +._344: + .word gTasks + .word debug_80C5190+1 + + thumb_func_end debug_80C5174 + + thumb_func_start debug_80C5190 +debug_80C5190: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._346 @ gTasks + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._346 + 4 @ debug_80C51AC + str r0, [r1] + bx lr +._347: + .align 2, 0 +._346: + .word gTasks + .word debug_80C51AC+1 + + thumb_func_end debug_80C5190 + + thumb_func_start debug_80C51AC +debug_80C51AC: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._348 @ gTasks + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._348 + 4 @ debug_80C51C8 + str r0, [r1] + bx lr +._349: + .align 2, 0 +._348: + .word gTasks + .word debug_80C51C8+1 + + thumb_func_end debug_80C51AC + + thumb_func_start debug_80C51C8 +debug_80C51C8: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._350 @ gTasks + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._350 + 4 @ debug_80C51E4 + str r0, [r1] + bx lr +._351: + .align 2, 0 +._350: + .word gTasks + .word debug_80C51E4+1 + + thumb_func_end debug_80C51C8 + + thumb_func_start debug_80C51E4 +debug_80C51E4: + push {lr} + bl sub_80408BC + ldr r0, ._352 @ gMain + ldr r1, ._352 + 4 @ debug_80C41A8 + str r1, [r0, #0x8] + ldr r0, ._352 + 8 @ unref_sub_800D684 + bl SetMainCallback2 + pop {r0} + bx r0 +._353: + .align 2, 0 +._352: + .word gMain + .word debug_80C41A8+1 + .word unref_sub_800D684+1 + + thumb_func_end debug_80C51E4 + + thumb_func_start debug_80C5208 +debug_80C5208: + push {r4, r5, r6, lr} + ldr r1, ._355 @ gUnknown_Debug_2038A1C + ldr r0, ._355 + 4 @ 0x2018000 + str r0, [r1] + mov r3, #0x0 + add r6, r1, #0 + ldr r4, ._355 + 8 @ gSaveBlock2 + add r5, r6, #0 + mov r2, #0x0 +._354: + ldr r0, [r5] + lsl r1, r3, #0x2 + add r0, r0, #0x64 + add r0, r0, r1 + str r2, [r0] + add r0, r3, #1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0x3f + bls ._354 @cond_branch + ldr r2, [r6] + mov r0, #0xfc + str r0, [r2, #0x64] + ldrb r1, [r4, #0xa] + ldrb r0, [r4, #0xb] + lsl r0, r0, #0x8 + orr r1, r1, r0 + ldrb r0, [r4, #0xc] + lsl r0, r0, #0x10 + orr r1, r1, r0 + ldrb r0, [r4, #0xd] + lsl r0, r0, #0x18 + orr r1, r1, r0 + str r1, [r2, #0x70] + bl Random + add r4, r0, #0 + bl Random + ldr r1, [r6] + lsl r4, r4, #0x10 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + orr r4, r4, r0 + str r4, [r1, #0x74] + mov r0, #0x1 + str r0, [r1, #0x68] + str r0, [r1, #0x6c] + bl debug_80C5C94 + pop {r4, r5, r6} + pop {r0} + bx r0 +._356: + .align 2, 0 +._355: + .word gUnknown_Debug_2038A1C + .word 0x2018000 + .word gSaveBlock2 + + thumb_func_end debug_80C5208 + + thumb_func_start debug_80C527C +debug_80C527C: + push {r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r5, #0x0 + ldr r7, ._359 @ gPlayerPartyCount +._361: + mov r0, #0x64 + add r1, r5, #0 + mul r1, r1, r0 + ldr r0, ._359 + 4 @ gPlayerParty + add r4, r1, r0 + add r0, r4, #0 + mov r1, #0xb + mov r2, #0x0 + bl GetMonData + cmp r0, #0 + bne ._357 @cond_branch + add r0, r4, #0 + add r1, r6, #0 + mov r2, #0x64 + bl memcpy + add r0, r5, #1 + strb r0, [r7] + mov r0, #0x0 + b ._358 +._360: + .align 2, 0 +._359: + .word gPlayerPartyCount + .word gPlayerParty +._357: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._361 @cond_branch + ldr r0, ._362 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + bl SendMonToPC + mov r0, #0x1 +._358: + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._363: + .align 2, 0 +._362: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C527C + + thumb_func_start InitCreatePokemon +InitCreatePokemon: + push {r4, r5, lr} + add sp, sp, #0xffffffd4 + ldr r1, ._364 @ gUnknown_Debug_083F8733 + add r0, sp, #0x4 + mov r2, #0x25 + bl memcpy + bl debug_80C35DC + mov r0, #0x1 + neg r0, r0 + mov r4, #0x0 + str r4, [sp] + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x0 + bl BeginNormalPaletteFade + ldr r0, ._364 + 4 @ 0x4000050 + mov r5, #0x0 + strh r4, [r0] + add r0, r0, #0x2 + strh r4, [r0] + add r0, r0, #0x2 + strh r4, [r0] + ldr r3, ._364 + 8 @ 0x4000208 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, ._364 + 12 @ 0x4000200 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, ._364 + 16 @ 0x4000004 + ldrh r0, [r2] + mov r1, #0x8 + orr r0, r0, r1 + strh r0, [r2] + ldr r0, ._364 + 20 @ debug_80C3758 + bl SetVBlankCallback + ldr r0, ._364 + 24 @ debug_80C370C + bl SetMainCallback2 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + add r0, sp, #0x4 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + mov r1, #0x80 + lsl r1, r1, #0x13 + mov r2, #0x8a + lsl r2, r2, #0x5 + add r0, r2, #0 + strh r0, [r1] + ldr r0, ._364 + 28 @ debug_80C53A4 + mov r1, #0x0 + bl CreateTask + bl debug_80C5208 + ldr r1, ._364 + 32 @ gUnknown_Debug_2038A1C + ldr r0, [r1] + mov r2, #0xb4 + lsl r2, r2, #0x1 + add r0, r0, r2 + strb r5, [r0] + ldr r0, [r1] + ldr r1, ._364 + 36 @ 0x169 + add r0, r0, r1 + strb r5, [r0] + add sp, sp, #0x2c + pop {r4, r5} + pop {r0} + bx r0 +._365: + .align 2, 0 +._364: + .word gUnknown_Debug_083F8733 + .word 0x4000050 + .word 0x4000208 + .word 0x4000200 + .word 0x4000004 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word debug_80C53A4+1 + .word gUnknown_Debug_2038A1C + .word 0x169 + + thumb_func_end InitCreatePokemon + + thumb_func_start debug_80C53A4 +debug_80C53A4: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._366 @ gTasks + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._366 + 4 @ debug_80C53C0 + str r0, [r1] + bx lr +._367: + .align 2, 0 +._366: + .word gTasks + .word debug_80C53C0+1 + + thumb_func_end debug_80C53A4 + + thumb_func_start debug_80C53C0 +debug_80C53C0: + push {r4, lr} + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl debug_80C6384 + mov r0, #0x0 + bl debug_80C627C + ldr r1, ._368 @ gTasks + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._368 + 4 @ debug_80C53F0 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 +._369: + .align 2, 0 +._368: + .word gTasks + .word debug_80C53F0+1 + + thumb_func_end debug_80C53C0 + + thumb_func_start debug_80C53F0 +debug_80C53F0: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r0, ._372 @ gMain + ldrh r1, [r0, #0x2e] + mov r2, #0x1 + and r2, r2, r1 + add r4, r0, #0 + cmp r2, #0 + beq ._370 @cond_branch + ldr r0, ._372 + 4 @ gUnknown_Debug_2038A1C + ldr r3, [r0] + mov r0, #0xb2 + lsl r0, r0, #0x1 + add r2, r3, r0 + ldr r1, ._372 + 8 @ gUnknown_Debug_083F8698 + mov r4, #0xb4 + lsl r4, r4, #0x1 + add r0, r3, r4 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r6, ._372 + 12 @ 0x169 + add r1, r3, r6 + ldrb r1, [r1] + ldr r0, [r0] + add r0, r0, r1 + ldrb r1, [r0] + lsl r1, r1, #0x2 + add r0, r3, #0 + add r0, r0, #0x64 + add r0, r0, r1 + ldr r0, [r0] + str r0, [r2] + mov r0, #0xb5 + lsl r0, r0, #0x1 + add r1, r3, r0 + mov r0, #0x0 + strb r0, [r1] + bl debug_80C643C + ldr r1, ._372 + 16 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._372 + 20 @ debug_80C55E4 + b ._375 +._373: + .align 2, 0 +._372: + .word gMain + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F8698 + .word 0x169 + .word gTasks + .word debug_80C55E4+1 +._370: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._374 @cond_branch + mov r0, #0x1 + neg r0, r0 + str r2, [sp] + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._376 @ debug_80C370C + bl SetMainCallback2 + ldr r1, ._376 + 4 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._376 + 8 @ debug_80C373C + b ._375 +._377: + .align 2, 0 +._376: + .word debug_80C370C+1 + .word gTasks + .word debug_80C373C+1 +._374: + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + beq ._378 @cond_branch + mov r0, #0x5 + bl PlaySE + bl debug_80C5FFC + ldr r0, ._381 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + bl debug_80C527C + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + mov r0, #0x3 + mov r1, #0x8 + mov r2, #0x1a + mov r3, #0xb + bl Menu_DrawStdWindowFrame + cmp r4, #0 + beq ._379 @cond_branch + ldr r0, ._381 + 4 @ gUnknown_Debug_083F872A + mov r1, #0x4 + mov r2, #0x9 + bl Menu_PrintText + b ._380 +._382: + .align 2, 0 +._381: + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F872A +._379: + ldr r0, ._384 @ gUnknown_Debug_083F8720 + mov r1, #0x4 + mov r2, #0x9 + bl Menu_PrintText +._380: + ldr r0, ._384 + 4 @ gTasks + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._384 + 8 @ debug_80C5708 + str r0, [r1] + b ._400 +._385: + .align 2, 0 +._384: + .word gUnknown_Debug_083F8720 + .word gTasks + .word debug_80C5708+1 +._378: + mov r0, #0x4 + and r0, r0, r1 + cmp r0, #0 + beq ._386 @cond_branch + ldr r0, ._388 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + ldr r4, [r0, #0x64] + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r4, #0 + mov r1, #0x2 + bl GetSetPokedexFlag + add r0, r4, #0 + mov r1, #0x3 + bl GetSetPokedexFlag + mov r0, #0x5 + bl PlaySE + b ._400 +._389: + .align 2, 0 +._388: + .word gUnknown_Debug_2038A1C +._386: + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._390 @cond_branch + mov r0, #0x2 + bl debug_80C627C + b ._400 +._390: + mov r0, #0x80 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0 + beq ._392 @cond_branch + mov r0, #0x1 + bl debug_80C627C + b ._400 +._392: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._395 @cond_branch + ldr r2, ._397 @ gUnknown_Debug_2038A1C + ldr r0, [r2] + mov r6, #0xb4 + lsl r6, r6, #0x1 + add r1, r0, r6 + ldrb r0, [r1] + cmp r0, #0 + beq ._395 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + ldr r0, [r2] + ldr r1, ._397 + 4 @ 0x169 + add r0, r0, r1 + strb r3, [r0] + b ._396 +._398: + .align 2, 0 +._397: + .word gUnknown_Debug_2038A1C + .word 0x169 +._395: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._400 @cond_branch + ldr r3, ._401 @ gUnknown_Debug_2038A1C + ldr r0, [r3] + mov r4, #0xb4 + lsl r4, r4, #0x1 + add r2, r0, r4 + ldrb r0, [r2] + cmp r0, #0x4 + bhi ._400 @cond_branch + add r0, r0, #0x1 + mov r1, #0x0 + strb r0, [r2] + ldr r0, [r3] + ldr r6, ._401 + 4 @ 0x169 + add r0, r0, r6 + strb r1, [r0] +._396: + ldr r1, ._401 + 8 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._401 + 12 @ debug_80C53C0 +._375: + str r1, [r0] +._400: + add sp, sp, #0x4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._402: + .align 2, 0 +._401: + .word gUnknown_Debug_2038A1C + .word 0x169 + .word gTasks + .word debug_80C53C0+1 + + thumb_func_end debug_80C53F0 + + thumb_func_start debug_80C55E4 +debug_80C55E4: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + add r6, r3, #0 + ldr r1, ._405 @ gUnknown_Debug_083F8698 + ldr r2, ._405 + 4 @ gUnknown_Debug_2038A1C + ldr r0, [r2] + mov ip, r0 + mov r0, #0xb4 + lsl r0, r0, #0x1 + add r0, r0, ip + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._405 + 8 @ 0x169 + add r1, r1, ip + ldrb r1, [r1] + ldr r0, [r0] + add r0, r0, r1 + ldrb r5, [r0] + add r7, r5, #0 + ldr r1, ._405 + 12 @ gMain + ldrh r4, [r1, #0x2e] + mov r0, #0x1 + and r0, r0, r4 + mov r8, r2 + add r2, r1, #0 + cmp r0, #0 + beq ._403 @cond_branch + ldr r0, ._405 + 16 @ gTasks + lsl r1, r3, #0x2 + add r1, r1, r3 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._405 + 20 @ debug_80C53C0 + str r0, [r1] + b ._422 +._406: + .align 2, 0 +._405: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x169 + .word gMain + .word gTasks + .word debug_80C53C0+1 +._403: + mov r0, #0x2 + and r0, r0, r4 + cmp r0, #0 + beq ._407 @cond_branch + lsl r1, r5, #0x2 + mov r0, ip + add r0, r0, #0x64 + add r0, r0, r1 + mov r1, #0xb2 + lsl r1, r1, #0x1 + add r1, r1, ip + ldr r1, [r1] + str r1, [r0] + ldr r1, ._409 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._409 + 4 @ debug_80C53C0 + str r1, [r0] + b ._422 +._410: + .align 2, 0 +._409: + .word gTasks + .word debug_80C53C0+1 +._407: + ldrh r1, [r2, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._411 @cond_branch + mov r0, #0x1 + b ._412 +._411: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._413 @cond_branch + mov r0, #0x2 +._412: + bl debug_80C6544 + bl debug_80C643C + b ._422 +._413: + ldr r0, ._419 @ gUnknown_Debug_083F8554 + lsl r1, r7, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r1, [r1] + ldrb r0, [r1, #0x9] + cmp r0, #0xff + beq ._422 @cond_branch + mov r0, #0x20 + and r0, r0, r4 + cmp r0, #0 + beq ._417 @cond_branch + mov r0, #0xb5 + lsl r0, r0, #0x1 + add ip, ip, r0 + mov r0, ip + ldrb r3, [r0] + ldrb r0, [r1, #0x9] + sub r0, r0, #0x1 + cmp r3, r0 + bge ._417 @cond_branch + add r0, r3, #1 + mov r1, ip + strb r0, [r1] + bl debug_80C643C + b ._422 +._420: + .align 2, 0 +._419: + .word gUnknown_Debug_083F8554 +._417: + ldrh r1, [r2, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._422 @cond_branch + mov r2, r8 + ldr r0, [r2] + mov r2, #0xb5 + lsl r2, r2, #0x1 + add r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0 + beq ._422 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + bl debug_80C643C +._422: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_80C55E4 + + thumb_func_start debug_80C5708 +debug_80C5708: + push {lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldr r0, ._424 @ gMain + ldrh r1, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._423 @cond_branch + ldr r0, ._424 + 4 @ gTasks + lsl r1, r2, #0x2 + add r1, r1, r2 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._424 + 8 @ debug_80C53C0 + str r0, [r1] +._423: + pop {r0} + bx r0 +._425: + .align 2, 0 +._424: + .word gMain + .word gTasks + .word debug_80C53C0+1 + + thumb_func_end debug_80C5708 + + thumb_func_start debug_80C5738 +debug_80C5738: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add r6, r0, #0 + lsl r1, r1, #0x18 + lsr r4, r1, #0x18 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r8, r2 + cmp r4, #0xfe + bne ._426 @cond_branch + ldr r1, ._428 @ gUnknown_Debug_083F850A + mov r2, #0x7 + bl debug_80C689C + add r0, r6, #7 + ldr r7, ._428 + 4 @ gUnknown_Debug_2038A1C + ldr r1, [r7] + add r1, r1, #0xf0 + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + mov r4, #0x0 + strb r4, [r6, #0x13] + strb r4, [r6, #0x14] + add r0, r6, #0 + add r0, r0, #0x15 + ldr r1, ._428 + 8 @ gUnknown_Debug_083F8514 + mov r2, #0x7 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x1c + ldr r1, [r7] + add r1, r1, #0xf4 + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + add r0, r6, #0 + add r0, r0, #0x28 + strb r4, [r0] + add r0, r0, #0x1 + strb r4, [r0] + add r0, r0, #0x1 + ldr r1, ._428 + 12 @ gUnknown_Debug_083F851C + mov r2, #0x9 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x31 + ldr r1, [r7] + add r1, r1, #0xf8 +._431: + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + b ._517 +._429: + .align 2, 0 +._428: + .word gUnknown_Debug_083F850A + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F8514 + .word gUnknown_Debug_083F851C +._426: + cmp r4, #0xfd + bne ._430 @cond_branch + ldr r1, ._432 @ gUnknown_Debug_083F8524 + add r0, r6, #0 + mov r2, #0x9 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x9 + ldr r7, ._432 + 4 @ gUnknown_Debug_2038A1C + ldr r1, [r7] + add r1, r1, #0xfc + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + mov r4, #0x0 + strb r4, [r6, #0x15] + strb r4, [r6, #0x16] + add r0, r6, #0 + add r0, r0, #0x17 + ldr r1, ._432 + 8 @ gUnknown_Debug_083F852D + mov r2, #0x9 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x20 + ldr r1, [r7] + mov r2, #0x80 + lsl r2, r2, #0x1 + add r1, r1, r2 + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + add r0, r6, #0 + add r0, r0, #0x2c + strb r4, [r0] + add r0, r0, #0x1 + strb r4, [r0] + add r0, r0, #0x1 + ldr r1, ._432 + 12 @ gUnknown_Debug_083F8537 + mov r2, #0x9 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x37 + ldr r1, [r7] + mov r3, #0x82 + lsl r3, r3, #0x1 + add r1, r1, r3 + b ._431 +._433: + .align 2, 0 +._432: + .word gUnknown_Debug_083F8524 + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F852D + .word gUnknown_Debug_083F8537 +._430: + mov r1, #0x0 + lsl r5, r4, #0x3 + mov r2, #0x0 +._434: + add r0, r6, r1 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0xb + bls ._434 @cond_branch + ldr r0, ._437 @ gUnknown_Debug_083F8554 + add r0, r5, r0 + ldr r1, [r0] + add r0, r6, #0 + mov r2, #0xb + bl debug_80C689C + mov r1, #0xc + mov r2, #0xff +._435: + add r0, r6, r1 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0xff + bls ._435 @cond_branch + ldr r0, ._437 @ gUnknown_Debug_083F8554 + add r0, r0, #0x4 + add r0, r5, r0 + ldr r0, [r0] + ldrb r2, [r0, #0x9] + lsl r0, r2, #0x1a + lsr r5, r0, #0x18 + cmp r4, #0x22 + bhi ._436 @cond_branch + lsl r0, r4, #0x2 + ldr r1, ._437 + 4 @ + add r1, r0, r1 + ldr r1, [r1] + add r7, r0, #0 + mov pc, r1 +._438: + .align 2, 0 +._437: + .word gUnknown_Debug_083F8554 + .word ._439 +._439: + .word ._440 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._445 + .word ._446 + .word ._450 + .word ._450 + .word ._450 + .word ._450 + .word ._451 + .word ._452 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._473 + .word ._474 +._436: + mov r0, #0xff + strb r0, [r6] + b ._517 +._440: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._477 @ gUnknown_Debug_2038A1C + mov r9, r1 + ldr r1, [r1] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + mov r3, r8 + bl debug_80C6678 + add r1, r5, r6 + mov r0, #0x0 + strb r0, [r1, #0xa] + mov r0, #0xfc + strb r0, [r1, #0xb] + mov r0, #0x1 + strb r0, [r1, #0xc] + mov r2, r8 + strb r2, [r1, #0xd] + add r4, r5, #0 + add r4, r4, #0xe + add r4, r6, r4 + mov r3, r9 + ldr r0, [r3] + add r0, r0, #0x64 + add r0, r0, r7 + ldrh r0, [r0] + bl NationalPokedexNumToSpecies + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xb + mul r1, r1, r0 + ldr r0, ._477 + 4 @ gSpeciesNames + add r1, r1, r0 + add r0, r4, #0 + mov r2, #0xa + bl debug_80C689C + b ._517 +._478: + .align 2, 0 +._477: + .word gUnknown_Debug_2038A1C + .word gSpeciesNames +._445: + ldr r0, ._483 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r7 + ldr r0, [r0] + cmp r0, #0x1 + beq ._479 @cond_branch + cmp r0, #0x1 + bcc ._480 @cond_branch + cmp r0, #0x2 + beq ._481 @cond_branch + b ._517 +._484: + .align 2, 0 +._483: + .word gUnknown_Debug_2038A1C +._480: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._486 @ gUnknown_Debug_083F8546 + b ._488 +._487: + .align 2, 0 +._486: + .word gUnknown_Debug_083F8546 +._479: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._489 @ gUnknown_Debug_083F8541 + b ._488 +._490: + .align 2, 0 +._489: + .word gUnknown_Debug_083F8541 +._481: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._492 @ gUnknown_Debug_083F8544 +._488: + mov r2, #0x2 + bl debug_80C689C + b ._517 +._493: + .align 2, 0 +._492: + .word gUnknown_Debug_083F8544 +._450: + add r0, r6, #0 + add r0, r0, #0xa + ldr r4, ._495 @ gUnknown_Debug_2038A1C + ldr r1, [r4] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + mov r3, r8 + bl debug_80C6678 + add r1, r5, r6 + mov r0, #0x0 + strb r0, [r1, #0xa] + mov r0, #0xfc + strb r0, [r1, #0xb] + mov r0, #0x1 + strb r0, [r1, #0xc] + mov r0, r8 + strb r0, [r1, #0xd] + add r0, r5, #0 + add r0, r0, #0xe + add r0, r6, r0 + ldr r1, [r4] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r2, [r1] + mov r1, #0xd + mul r1, r1, r2 + ldr r2, ._495 + 4 @ gMoveNames + add r1, r1, r2 + b ._494 +._496: + .align 2, 0 +._495: + .word gUnknown_Debug_2038A1C + .word gMoveNames +._451: + add r0, r6, #0 + add r0, r0, #0xa + ldr r4, ._499 @ gUnknown_Debug_2038A1C + ldr r1, [r4] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + mov r3, r8 + bl debug_80C6678 + add r1, r5, r6 + mov r0, #0x0 + strb r0, [r1, #0xa] + mov r0, #0xfc + strb r0, [r1, #0xb] + mov r0, #0x1 + strb r0, [r1, #0xc] + mov r2, r8 + strb r2, [r1, #0xd] + ldr r0, [r4] + add r0, r0, #0x64 + add r0, r0, r7 + ldr r0, [r0] + cmp r0, #0 + beq ._497 @cond_branch + add r4, r5, #0 + add r4, r4, #0xe + add r4, r6, r4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl ItemId_GetItem + add r1, r0, #0 + add r0, r4, #0 + b ._498 +._500: + .align 2, 0 +._499: + .word gUnknown_Debug_2038A1C +._497: + add r0, r5, #0 + add r0, r0, #0xe + add r0, r6, r0 + ldr r1, ._502 @ gUnknown_Debug_083F8541 +._498: + mov r2, #0x9 + bl debug_80C689C + b ._517 +._503: + .align 2, 0 +._502: + .word gUnknown_Debug_083F8541 +._452: + add r6, r6, #0xc + ldr r4, ._505 @ gUnknown_Debug_2038A1C + ldr r0, [r4] + ldr r0, [r0, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl NationalPokedexNumToSpecies + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + ldr r1, [r4] + add r1, r1, #0x64 + add r1, r1, r7 + ldrb r1, [r1] + bl GetAbilityBySpecies + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0xd + mul r1, r1, r0 + ldr r0, ._505 + 4 @ gAbilityNames + add r1, r1, r0 + add r0, r6, #0 +._494: + mov r2, #0xc + bl debug_80C689C + b ._517 +._506: + .align 2, 0 +._505: + .word gUnknown_Debug_2038A1C + .word gAbilityNames +._474: + add r0, r6, #0 + add r0, r0, #0xa + ldr r2, ._508 @ gUnknown_Debug_083F86E8 + ldr r1, ._508 + 4 @ gUnknown_Debug_2038A1C + ldr r1, [r1] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r1, [r1] + b ._514 +._509: + .align 2, 0 +._508: + .word gUnknown_Debug_083F86E8 + .word gUnknown_Debug_2038A1C +._472: + add r0, r6, #0 + add r0, r0, #0xc + ldr r1, ._511 @ gUnknown_Debug_2038A1C + ldr r1, [r1] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + mov r3, r8 + bl debug_80C6678 + b ._517 +._512: + .align 2, 0 +._511: + .word gUnknown_Debug_2038A1C +._473: + ldr r0, ._515 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r7 + ldr r0, [r0] + cmp r0, #0 + beq ._513 @cond_branch + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._515 + 4 @ gUnknown_Debug_083F854A + b ._514 +._516: + .align 2, 0 +._515: + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F854A +._513: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._518 @ gUnknown_Debug_083F854D +._514: + mov r2, #0x4 + bl debug_80C689C + b ._517 +._519: + .align 2, 0 +._518: + .word gUnknown_Debug_083F854D +._446: + add r0, r6, #0 + add r0, r0, #0xa + ldr r2, ._520 @ gNatureNames + ldr r1, ._520 + 4 @ gUnknown_Debug_2038A1C + ldr r1, [r1] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + lsl r1, r1, #0x2 + add r1, r1, r2 + ldr r1, [r1] + mov r2, #0x5 + bl debug_80C689C +._517: + mov r0, #0x0 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._521: + .align 2, 0 +._520: + .word gNatureNames + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5738 + + thumb_func_start debug_80C5B60 +debug_80C5B60: + lsl r0, r0, #0x18 + ldr r1, ._522 @ gUnknown_Debug_2038A1C + ldr r1, [r1] + lsr r0, r0, #0x16 + add r1, r1, #0x64 + add r1, r1, r0 + ldr r0, [r1] + bx lr +._523: + .align 2, 0 +._522: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5B60 + + thumb_func_start debug_80C5B74 +debug_80C5B74: + push {r4, r5, r6, lr} + add r6, r0, #0 + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + cmp r2, #0x18 + bhi ._540 @cond_branch + lsl r0, r2, #0x2 + ldr r1, ._526 @ + add r1, r0, r1 + ldr r1, [r1] + add r3, r0, #0 + mov pc, r1 +._527: + .align 2, 0 +._526: + .word ._525 +._525: + .word ._532 + .word ._529 + .word ._530 + .word ._532 + .word ._532 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 +._540: + ldr r0, ._554 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + lsl r1, r2, #0x2 + add r0, r0, #0x64 + add r0, r0, r1 + str r6, [r0] + b ._562 +._555: + .align 2, 0 +._554: + .word gUnknown_Debug_2038A1C +._532: + ldr r0, ._557 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r3 + str r6, [r0] + bl debug_80C5C94 + b ._562 +._558: + .align 2, 0 +._557: + .word gUnknown_Debug_2038A1C +._529: + ldr r4, ._560 @ gUnknown_Debug_2038A1C + ldr r1, [r4] + add r0, r1, #0 + add r0, r0, #0x64 + add r0, r0, r3 + str r6, [r0] + ldr r0, [r1, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl NationalPokedexNumToSpecies + ldr r5, [r4] + ldr r4, ._560 + 4 @ gExperienceTables + lsl r2, r6, #0x2 + ldr r3, ._560 + 8 @ gBaseStats + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r1, r0, #0x3 + sub r1, r1, r0 + lsl r1, r1, #0x2 + add r1, r1, r3 + ldrb r1, [r1, #0x13] + mov r0, #0xca + lsl r0, r0, #0x1 + mul r0, r0, r1 + add r2, r2, r0 + add r2, r2, r4 + ldr r0, [r2] + str r0, [r5, #0x6c] + bl debug_80C5C94 + b ._562 +._561: + .align 2, 0 +._560: + .word gUnknown_Debug_2038A1C + .word gExperienceTables + .word gBaseStats +._530: + ldr r0, ._563 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r3 + str r6, [r0] + bl debug_80C5DEC + b ._562 +._564: + .align 2, 0 +._563: + .word gUnknown_Debug_2038A1C +._552: + ldr r0, ._565 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r3 + str r6, [r0] + bl debug_80C5EF4 +._562: + pop {r4, r5, r6} + pop {r0} + bx r0 +._566: + .align 2, 0 +._565: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5B74 + + thumb_func_start debug_80C5C94 +debug_80C5C94: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffff0 + ldr r6, ._567 @ gUnknown_Debug_2038A1C + ldr r2, [r6] + add r0, r2, #0 + add r0, r0, #0x98 + ldr r4, [r0] + mov r1, #0x1f + and r4, r4, r1 + add r0, r0, #0x8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x5 + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xa8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0xa + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xb0 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0xf + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xb8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x14 + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xc0 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x19 + orr r4, r4, r0 + ldr r0, [r2, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl NationalPokedexNumToSpecies + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + ldr r0, [r6] + ldr r2, [r0, #0x68] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + mov r5, #0x1 + str r5, [sp] + ldr r3, [r0, #0x74] + str r3, [sp, #0x4] + str r5, [sp, #0x8] + ldr r3, [r0, #0x70] + str r3, [sp, #0xc] + add r3, r4, #0 + bl CreateMon + ldr r0, [r6] + bl GetMonGender + ldr r1, [r6] + add r0, r0, #0x2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [r1, #0x78] + add r0, r1, #0 + bl GetNature + ldr r1, [r6] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [r1, #0x7c] + add r0, r1, #0 + mov r1, #0xd + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0x80 + str r2, [r1] + mov r1, #0xe + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0x84 + str r2, [r1] + mov r1, #0xf + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0x88 + str r2, [r1] + mov r1, #0x10 + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0x8c + str r2, [r1] + mov r1, #0x19 + bl GetMonData + add r1, r0, #0 + ldr r0, [r6] + str r1, [r0, #0x6c] + mov r1, #0x3a + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0xf0 + str r2, [r1] + mov r1, #0x3b + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0xf4 + str r2, [r1] + mov r1, #0x3c + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0xf8 + str r2, [r1] + mov r1, #0x3d + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0xfc + str r2, [r1] + mov r1, #0x3e + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + mov r3, #0x80 + lsl r3, r3, #0x1 + add r1, r0, r3 + str r2, [r1] + mov r1, #0x3f + bl GetMonData + ldr r1, [r6] + mov r2, #0x82 + lsl r2, r2, #0x1 + add r1, r1, r2 + str r0, [r1] + add sp, sp, #0x10 + pop {r4, r5, r6} + pop {r0} + bx r0 +._568: + .align 2, 0 +._567: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5C94 + + thumb_func_start debug_80C5DEC +debug_80C5DEC: + push {r4, lr} + add sp, sp, #0xfffffffc + mov r0, #0x0 + str r0, [sp] + ldr r4, ._569 @ gUnknown_Debug_2038A1C + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0x6c + mov r1, #0x19 + bl SetMonData + ldr r0, [r4] + mov r1, #0xd + mov r2, sp + bl SetMonData + ldr r0, [r4] + mov r1, #0xe + mov r2, sp + bl SetMonData + ldr r0, [r4] + mov r1, #0xf + mov r2, sp + bl SetMonData + ldr r0, [r4] + mov r1, #0x10 + mov r2, sp + bl SetMonData + ldr r0, [r4] + bl CalculateMonStats + ldr r0, [r4] + bl GiveMonInitialMoveset + ldr r0, [r4] + mov r1, #0x38 + bl GetMonData + add r1, r0, #0 + ldr r0, [r4] + str r1, [r0, #0x68] + mov r1, #0xd + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0x80 + str r2, [r1] + mov r1, #0xe + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0x84 + str r2, [r1] + mov r1, #0xf + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0x88 + str r2, [r1] + mov r1, #0x10 + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0x8c + str r2, [r1] + mov r1, #0x3a + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf0 + str r2, [r1] + mov r1, #0x3b + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf4 + str r2, [r1] + mov r1, #0x3c + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf8 + str r2, [r1] + mov r1, #0x3d + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xfc + str r2, [r1] + mov r1, #0x3e + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + mov r3, #0x80 + lsl r3, r3, #0x1 + add r1, r0, r3 + str r2, [r1] + mov r1, #0x3f + bl GetMonData + ldr r1, [r4] + mov r2, #0x82 + lsl r2, r2, #0x1 + add r1, r1, r2 + str r0, [r1] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._570: + .align 2, 0 +._569: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5DEC + + thumb_func_start debug_80C5EF4 +debug_80C5EF4: + push {r4, lr} + ldr r4, ._571 @ gUnknown_Debug_2038A1C + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0x98 + mov r1, #0x27 + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0x9c + mov r1, #0x1a + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xa0 + mov r1, #0x28 + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xa4 + mov r1, #0x1b + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xa8 + mov r1, #0x29 + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xac + mov r1, #0x1c + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xb0 + mov r1, #0x2a + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xb4 + mov r1, #0x1d + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xb8 + mov r1, #0x2b + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xbc + mov r1, #0x1e + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xc0 + mov r1, #0x2c + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xc4 + mov r1, #0x1f + bl SetMonData + ldr r0, [r4] + bl CalculateMonStats + ldr r0, [r4] + mov r1, #0x3a + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf0 + str r2, [r1] + mov r1, #0x3b + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf4 + str r2, [r1] + mov r1, #0x3c + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf8 + str r2, [r1] + mov r1, #0x3d + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xfc + str r2, [r1] + mov r1, #0x3e + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + mov r3, #0x80 + lsl r3, r3, #0x1 + add r1, r0, r3 + str r2, [r1] + mov r1, #0x3f + bl GetMonData + ldr r1, [r4] + mov r2, #0x82 + lsl r2, r2, #0x1 + add r1, r1, r2 + str r0, [r1] + pop {r4} + pop {r0} + bx r0 +._572: + .align 2, 0 +._571: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5EF4 + + thumb_func_start debug_80C5FFC +debug_80C5FFC: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xffffffe0 + ldr r1, ._578 @ gUnknown_Debug_083F8758 + add r0, sp, #0x10 + mov r2, #0x4 + bl memcpy + add r7, sp, #0x14 + ldr r1, ._578 + 4 @ gUnknown_Debug_083F875C + add r0, r7, #0 + mov r2, #0x8 + bl memcpy + ldr r5, ._578 + 8 @ gUnknown_Debug_2038A1C + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x98 + ldr r4, [r0] + mov r1, #0x1f + and r4, r4, r1 + add r0, r0, #0x8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x5 + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xa8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0xa + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xb0 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0xf + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xb8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x14 + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xc0 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x19 + orr r4, r4, r0 + ldr r0, [r2, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl NationalPokedexNumToSpecies + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + ldr r0, [r5] + ldr r2, [r0, #0x68] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + mov r6, #0x1 + str r6, [sp] + ldr r3, [r0, #0x74] + str r3, [sp, #0x4] + str r6, [sp, #0x8] + ldr r3, [r0, #0x70] + str r3, [sp, #0xc] + add r3, r4, #0 + bl CreateMon + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x80 + ldr r0, [r0] + cmp r0, #0 + beq ._573 @cond_branch + lsl r1, r0, #0x10 + lsr r1, r1, #0x10 + add r0, r2, #0 + mov r2, #0x0 + bl SetMonMoveSlot +._573: + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x84 + ldr r0, [r0] + cmp r0, #0 + beq ._574 @cond_branch + lsl r1, r0, #0x10 + lsr r1, r1, #0x10 + add r0, r2, #0 + mov r2, #0x1 + bl SetMonMoveSlot +._574: + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x88 + ldr r0, [r0] + cmp r0, #0 + beq ._575 @cond_branch + lsl r1, r0, #0x10 + lsr r1, r1, #0x10 + add r0, r2, #0 + mov r2, #0x2 + bl SetMonMoveSlot +._575: + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x8c + ldr r0, [r0] + cmp r0, #0 + beq ._576 @cond_branch + lsl r1, r0, #0x10 + lsr r1, r1, #0x10 + add r0, r2, #0 + mov r2, #0x3 + bl SetMonMoveSlot +._576: + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x6c + mov r1, #0x19 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x98 + mov r1, #0x27 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x9c + mov r1, #0x1a + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xa0 + mov r1, #0x28 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xa4 + mov r1, #0x1b + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xa8 + mov r1, #0x29 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xac + mov r1, #0x1c + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xb0 + mov r1, #0x2a + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xb4 + mov r1, #0x1d + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xb8 + mov r1, #0x2b + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xbc + mov r1, #0x1e + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xc0 + mov r1, #0x2c + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xc4 + mov r1, #0x1f + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xc8 + mov r1, #0x16 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xcc + mov r1, #0x17 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xd0 + mov r1, #0x18 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xd4 + mov r1, #0x21 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xd8 + mov r1, #0x2f + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xdc + mov r1, #0x30 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xe0 + mov r1, #0x20 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xe4 + mov r1, #0x22 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x90 + mov r1, #0xc + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x94 + mov r1, #0x2e + bl SetMonData + ldr r0, [r5] + add r1, r0, #0 + add r1, r1, #0xec + ldr r2, [r1] + lsl r2, r2, #0x3 + ldr r1, ._578 + 12 @ gUnknown_Debug_083F86E8 + add r2, r2, r1 + mov r1, #0x37 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xe8 + mov r1, #0x2d + bl SetMonData + ldr r1, [r5] + add r0, r1, #0 + add r0, r0, #0xe8 + ldr r0, [r0] + cmp r0, #0 + beq ._577 @cond_branch + add r0, r1, #0 + mov r1, #0x2 + add r2, sp, #0x10 + bl SetMonData + add r2, sp, #0x1c + strb r6, [r2] + ldr r0, [r5] + mov r1, #0x3 + bl SetMonData +._577: + ldr r0, [r5] + mov r1, #0x7 + add r2, r7, #0 + bl SetMonData + mov r2, sp + add r2, r2, #0x1e + mov r0, #0xff + strh r0, [r2] + ldr r0, [r5] + mov r1, #0x23 + bl SetMonData + ldr r0, [r5] + bl CalculateMonStats + add sp, sp, #0x20 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._579: + .align 2, 0 +._578: + .word gUnknown_Debug_083F8758 + .word gUnknown_Debug_083F875C + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F86E8+0x4 + + thumb_func_end debug_80C5FFC + + thumb_func_start debug_80C627C +debug_80C627C: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffff8 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r6, r4, #0 + ldr r1, ._584 @ gUnknown_Debug_083F7FD4 + mov r0, sp + mov r2, #0x2 + bl memcpy + add r5, sp, #0x4 + ldr r1, ._584 + 4 @ gUnknown_Debug_083F8764 + add r0, r5, #0 + mov r2, #0x2 + bl memcpy + cmp r4, #0x1 + beq ._580 @cond_branch + cmp r4, #0x1 + bgt ._581 @cond_branch + cmp r4, #0 + beq ._582 @cond_branch + b ._595 +._585: + .align 2, 0 +._584: + .word gUnknown_Debug_083F7FD4 + .word gUnknown_Debug_083F8764 +._581: + cmp r6, #0x2 + beq ._586 @cond_branch + b ._595 +._582: + ldr r0, ._589 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + ldr r1, ._589 + 4 @ 0x169 + add r0, r0, r1 + b ._588 +._590: + .align 2, 0 +._589: + .word gUnknown_Debug_2038A1C + .word 0x169 +._580: + ldr r4, ._593 @ gUnknown_Debug_2038A1C + ldr r3, [r4] + ldr r1, ._593 + 4 @ 0x169 + add r0, r3, r1 + ldrb r2, [r0] + ldr r1, ._593 + 8 @ gUnknown_Debug_083F8698 + mov r6, #0xb4 + lsl r6, r6, #0x1 + add r0, r3, r6 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r1 + ldrb r0, [r0, #0x4] + sub r0, r0, #0x1 + cmp r2, r0 + bge ._595 @cond_branch + lsl r2, r2, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x13 + add r2, r2, r0 + lsr r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0x1 + bl Menu_PrintText + ldr r0, [r4] + ldr r2, ._593 + 4 @ 0x169 + add r1, r0, r2 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + ldr r0, [r4] + add r0, r0, r2 +._588: + ldrb r2, [r0] + lsl r2, r2, #0x19 + mov r6, #0xa0 + lsl r6, r6, #0x13 + add r2, r2, r6 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x1 + bl Menu_PrintText + b ._595 +._594: + .align 2, 0 +._593: + .word gUnknown_Debug_2038A1C + .word 0x169 + .word gUnknown_Debug_083F8698 +._586: + ldr r4, ._596 @ gUnknown_Debug_2038A1C + ldr r0, [r4] + ldr r2, ._596 + 4 @ 0x169 + add r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0 + beq ._595 @cond_branch + add r2, r0, #0 + lsl r2, r2, #0x19 + mov r6, #0xa0 + lsl r6, r6, #0x13 + add r2, r2, r6 + lsr r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0x1 + bl Menu_PrintText + ldr r0, [r4] + ldr r2, ._596 + 4 @ 0x169 + add r1, r0, r2 + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + ldr r0, [r4] + add r0, r0, r2 + ldrb r2, [r0] + lsl r2, r2, #0x19 + add r2, r2, r6 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x1 + bl Menu_PrintText +._595: + add sp, sp, #0x8 + pop {r4, r5, r6} + pop {r0} + bx r0 +._597: + .align 2, 0 +._596: + .word gUnknown_Debug_2038A1C + .word 0x169 + + thumb_func_end debug_80C627C + + thumb_func_start debug_80C6384 +debug_80C6384: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + mov r0, #0x0 + mov r1, #0x4 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r5, #0x0 + ldr r3, ._600 @ gUnknown_Debug_083F8698 + ldr r1, ._600 + 4 @ gUnknown_Debug_2038A1C + ldr r0, [r1] + mov r2, #0xb4 + lsl r2, r2, #0x1 + add r0, r0, r2 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r3 + ldr r0, [r0] + ldrb r0, [r0] + cmp r0, #0xff + beq ._598 @cond_branch + add r4, r1, #0 + ldr r0, ._600 + 8 @ 0x16b + mov r9, r0 + mov r8, r3 + add r7, r2, #0 + mov r6, #0x1 +._599: + ldr r0, [r4] + add r0, r0, r9 + mov r1, #0xfc + strb r1, [r0] + ldr r0, [r4] + add r1, r1, #0x70 + add r0, r0, r1 + strb r6, [r0] + ldr r0, [r4] + ldr r2, ._600 + 12 @ 0x16d + add r0, r0, r2 + strb r6, [r0] + ldr r1, [r4] + add r2, r2, #0x1 + add r0, r1, r2 + add r1, r1, r7 + ldrb r1, [r1] + lsl r1, r1, #0x3 + add r1, r1, r8 + ldr r1, [r1] + add r1, r1, r5 + ldrb r1, [r1] + mov r2, #0x1 + bl debug_80C5738 + ldr r0, [r4] + add r0, r0, r9 + lsl r2, r5, #0x19 + mov r1, #0xa0 + lsl r1, r1, #0x13 + add r2, r2, r1 + lsr r2, r2, #0x18 + mov r1, #0x2 + bl Menu_PrintText + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r0, [r4] + add r0, r0, r7 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r8 + ldr r0, [r0] + add r0, r0, r5 + ldrb r0, [r0] + cmp r0, #0xff + bne ._599 @cond_branch +._598: + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._601: + .align 2, 0 +._600: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x16b + .word 0x16d + + thumb_func_end debug_80C6384 + + thumb_func_start debug_80C643C +debug_80C643C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r0, #0x2 + mov r1, #0x5 + mov r2, #0x1c + mov r3, #0x12 + bl Menu_BlankWindowRect + mov r5, #0x0 + ldr r6, ._605 @ gUnknown_Debug_083F8698 + ldr r1, ._605 + 4 @ gUnknown_Debug_2038A1C + ldr r0, [r1] + mov r3, #0xb4 + lsl r3, r3, #0x1 + add r0, r0, r3 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r6 + ldr r0, [r0] + ldrb r0, [r0] + cmp r0, #0xff + beq ._602 @cond_branch + add r4, r1, #0 + mov r0, #0x1 + mov r8, r0 +._607: + ldr r0, [r4] + ldr r7, ._605 + 8 @ 0x16b + add r2, r0, r7 + mov r0, #0xfc + strb r0, [r2] + ldr r0, [r4] + mov r2, #0xb6 + lsl r2, r2, #0x1 + add r0, r0, r2 + mov r7, r8 + strb r7, [r0] + ldr r2, [r4] + ldr r7, ._605 + 12 @ 0x169 + add r0, r2, r7 + ldrb r0, [r0] + cmp r5, r0 + bne ._603 @cond_branch + ldr r0, ._605 + 16 @ 0x16d + add r2, r2, r0 + mov r0, #0x2 + strb r0, [r2] + ldr r1, [r1] + mov r2, #0xb7 + lsl r2, r2, #0x1 + add r0, r1, r2 + add r1, r1, r3 + ldrb r1, [r1] + lsl r1, r1, #0x3 + add r1, r1, r6 + ldr r1, [r1] + add r1, r1, r5 + ldrb r1, [r1] + mov r2, #0x2 + bl debug_80C5738 + b ._604 +._606: + .align 2, 0 +._605: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x16b + .word 0x169 + .word 0x16d +._603: + ldr r3, ._608 @ 0x16d + add r0, r2, r3 + mov r7, r8 + strb r7, [r0] + ldr r1, [r1] + mov r2, #0xb7 + lsl r2, r2, #0x1 + add r0, r1, r2 + ldr r2, ._608 + 4 @ gUnknown_Debug_083F8698 + sub r3, r3, #0x5 + add r1, r1, r3 + ldrb r1, [r1] + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r1, [r1] + add r1, r1, r5 + ldrb r1, [r1] + mov r2, #0x1 + bl debug_80C5738 +._604: + ldr r0, [r4] + ldr r7, ._608 + 8 @ 0x16b + add r0, r0, r7 + lsl r2, r5, #0x19 + mov r1, #0xa0 + lsl r1, r1, #0x13 + add r2, r2, r1 + lsr r2, r2, #0x18 + mov r1, #0x2 + bl Menu_PrintText + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r6, ._608 + 4 @ gUnknown_Debug_083F8698 + add r1, r4, #0 + ldr r0, [r4] + mov r3, #0xb4 + lsl r3, r3, #0x1 + add r0, r0, r3 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r6 + ldr r0, [r0] + add r0, r0, r5 + ldrb r0, [r0] + cmp r0, #0xff + bne ._607 @cond_branch +._602: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._609: + .align 2, 0 +._608: + .word 0x16d + .word gUnknown_Debug_083F8698 + .word 0x16b + + thumb_func_end debug_80C643C + + thumb_func_start debug_80C6544 +debug_80C6544: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r9, r0 + ldr r0, ._614 @ gUnknown_Debug_083F8698 + mov r8, r0 + ldr r6, ._614 + 4 @ gUnknown_Debug_2038A1C + ldr r1, [r6] + mov r5, #0xb4 + lsl r5, r5, #0x1 + add r0, r1, r5 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r8 + ldr r4, ._614 + 8 @ 0x169 + add r1, r1, r4 + ldrb r1, [r1] + ldr r0, [r0] + add r0, r0, r1 + ldrb r0, [r0] + bl debug_80C5B60 + add r7, r0, #0 + ldr r2, ._614 + 12 @ gUnknown_Debug_083F8554 + ldr r3, [r6] + add r5, r3, r5 + ldrb r0, [r5] + lsl r0, r0, #0x3 + add r0, r0, r8 + add r4, r3, r4 + ldrb r1, [r4] + ldr r0, [r0] + add r0, r0, r1 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r2, r2, #0x4 + add r0, r0, r2 + ldr r1, [r0] + ldr r5, [r1] + ldr r4, [r1, #0x4] + ldr r2, ._614 + 16 @ gUnknown_Debug_083F8768 + mov r6, #0xb5 + lsl r6, r6, #0x1 + add r0, r3, r6 + ldrb r0, [r0] + lsl r0, r0, #0x2 + add r0, r0, r2 + ldr r3, [r0] + ldrb r0, [r1, #0x8] + cmp r0, #0 + bne ._623 @cond_branch + mov r0, r9 + cmp r0, #0x1 + beq ._611 @cond_branch + cmp r0, #0x2 + beq ._612 @cond_branch + b ._623 +._615: + .align 2, 0 +._614: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x169 + .word gUnknown_Debug_083F8554 + .word gUnknown_Debug_083F8768 +._611: + sub r0, r4, r3 + cmp r7, r0 + bcs ._616 @cond_branch + add r7, r7, r3 + b ._623 +._616: + cmp r7, r4 + bcc ._622 @cond_branch + b ._619 +._612: + add r0, r5, r3 + cmp r7, r0 + bls ._620 @cond_branch + sub r7, r7, r3 + b ._623 +._620: + cmp r7, r5 + bls ._622 @cond_branch +._619: + add r7, r5, #0 + b ._623 +._622: + add r7, r4, #0 +._623: + ldr r1, ._624 @ gUnknown_Debug_083F8698 + ldr r0, ._624 + 4 @ gUnknown_Debug_2038A1C + ldr r2, [r0] + mov r3, #0xb4 + lsl r3, r3, #0x1 + add r0, r2, r3 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r6, ._624 + 8 @ 0x169 + add r1, r2, r6 + ldrb r1, [r1] + ldr r0, [r0] + add r0, r0, r1 + ldrb r1, [r0] + add r0, r7, #0 + bl debug_80C5B74 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._625: + .align 2, 0 +._624: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x169 + + thumb_func_end debug_80C6544 + + thumb_func_start debug_80C6630 +debug_80C6630: + push {r4, r5, lr} + add r4, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + mov r0, #0xfc + strb r0, [r4] + add r4, r4, #0x1 + mov r0, #0x1 + strb r0, [r4] + add r4, r4, #0x1 + cmp r2, #0x2 + bne ._626 @cond_branch + ldr r0, ._629 @ gUnknown_Debug_2038A1C + ldr r0, [r0] + mov r5, #0xb5 + lsl r5, r5, #0x1 + add r0, r0, r5 + ldrb r0, [r0] + cmp r3, r0 + beq ._627 @cond_branch + strb r2, [r4] + b ._628 +._630: + .align 2, 0 +._629: + .word gUnknown_Debug_2038A1C +._627: + mov r0, #0x4 +._626: + strb r0, [r4] +._628: + add r0, r1, #0 + add r0, r0, #0xa1 + strb r0, [r4, #0x1] + pop {r4, r5} + pop {r0} + bx r0 + + thumb_func_end debug_80C6630 + + thumb_func_start debug_80C6678 +debug_80C6678: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + mov r9, r0 + add r6, r1, #0 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + mov r8, r3 + mov r7, #0x0 + sub r0, r2, #1 + cmp r0, #0x9 + bhi ._644 @cond_branch + lsl r0, r0, #0x2 + ldr r1, ._633 @ + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._634: + .align 2, 0 +._633: + .word ._632 +._632: + .word ._635 + .word ._636 + .word ._637 + .word ._638 + .word ._639 + .word ._640 + .word ._641 + .word ._642 + .word ._643 + .word ._644 +._644: + mov r0, r9 + add r4, r0, r7 + ldr r5, ._645 @ 0x3b9aca00 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x9 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._643: + mov r1, r9 + add r4, r1, r7 + ldr r5, ._645 + 4 @ 0x5f5e100 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x8 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._642: + mov r0, r9 + add r4, r0, r7 + ldr r5, ._645 + 8 @ 0x989680 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x7 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._641: + mov r1, r9 + add r4, r1, r7 + ldr r5, ._645 + 12 @ 0xf4240 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x6 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._640: + mov r0, r9 + add r4, r0, r7 + ldr r5, ._645 + 16 @ 0x186a0 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x5 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._639: + mov r1, r9 + add r4, r1, r7 + ldr r5, ._645 + 20 @ 0x2710 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x4 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._638: + mov r0, r9 + add r4, r0, r7 + mov r5, #0xfa + lsl r5, r5, #0x2 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x3 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._637: + mov r1, r9 + add r4, r1, r7 + add r0, r6, #0 + mov r1, #0x64 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x2 + bl debug_80C6630 + add r0, r6, #0 + mov r1, #0x64 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._636: + mov r0, r9 + add r4, r0, r7 + add r0, r6, #0 + mov r1, #0xa + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x1 + bl debug_80C6630 + add r0, r6, #0 + mov r1, #0xa + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._635: + mov r1, r9 + add r0, r1, r7 + lsl r1, r6, #0x18 + lsr r1, r1, #0x18 + mov r2, r8 + mov r3, #0x0 + bl debug_80C6630 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._646: + .align 2, 0 +._645: + .word 0x3b9aca00 + .word 0x5f5e100 + .word 0x989680 + .word 0xf4240 + .word 0x186a0 + .word 0x2710 + + thumb_func_end debug_80C6678 + + thumb_func_start debug_80C689C +debug_80C689C: + push {r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r3, #0x0 + ldrb r0, [r4] + b ._647 +._649: + add r1, r5, r3 + add r0, r4, r3 + ldrb r0, [r0] + strb r0, [r1] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + add r0, r4, r3 + ldrb r0, [r0] +._647: + cmp r0, #0xff + beq ._648 @cond_branch + cmp r3, r2 + bcc ._649 @cond_branch +._648: + pop {r4, r5} + pop {r0} + bx r0 + + thumb_func_end debug_80C689C + + thumb_func_start debug_80C68CC +debug_80C68CC: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffff8 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + lsl r1, r1, #0x18 + lsr r6, r1, #0x18 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + mov r2, #0x0 + mov r1, #0x0 +._650: + mov r7, sp + add r0, r7, r2 + strb r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x3 + bls ._650 @cond_branch + mov r1, sp + mov r0, #0xff + strb r0, [r1, #0x4] + cmp r3, #0x2 + beq ._651 @cond_branch + cmp r3, #0x2 + bgt ._652 @cond_branch + cmp r3, #0x1 + beq ._653 @cond_branch + b ._654 +._652: + cmp r3, #0x3 + beq ._655 @cond_branch +._654: + mov r1, sp + lsr r0, r4, #0xc + strb r0, [r1] +._655: + mov r1, sp + mov r0, #0xf0 + lsl r0, r0, #0x4 + and r0, r0, r4 + lsr r0, r0, #0x8 + strb r0, [r1, #0x1] +._651: + mov r1, sp + mov r0, #0xf0 + and r0, r0, r4 + lsr r0, r0, #0x4 + strb r0, [r1, #0x2] +._653: + mov r2, sp + mov r1, #0xf + add r0, r4, #0 + and r0, r0, r1 + strb r0, [r2, #0x3] + mov r2, #0x0 +._658: + mov r0, sp + add r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0x9 + bhi ._656 @cond_branch + add r0, r0, #0xa1 + b ._657 +._656: + add r0, r0, #0xb1 +._657: + strb r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x3 + bls ._658 @cond_branch + mov r0, #0x4 + sub r0, r0, r3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r0, r0, sp + add r1, r6, #0 + add r2, r5, #0 + bl Menu_PrintText + add sp, sp, #0x8 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_80C68CC + + thumb_func_start InitSeePokemonGraphics +InitSeePokemonGraphics: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffff8 + bl debug_80C35DC + ldr r1, ._659 @ byte_83F88EC + ldr r2, ._659 + 4 @ 0x600e000 + ldr r0, ._659 + 8 @ 0x40000d4 + str r1, [r0] + str r2, [r0, #0x4] + ldr r1, ._659 + 12 @ 0x80000400 + str r1, [r0, #0x8] + ldr r0, [r0, #0x8] + ldr r0, ._659 + 16 @ word_83F888C + mov r1, #0x80 + mov r2, #0x60 + bl LoadPalette + ldr r1, ._659 + 20 @ 0x7fff + add r0, sp, #0x4 + strh r1, [r0] + mov r1, #0x0 + mov r2, #0x2 + bl LoadPalette + mov r0, #0x1 + neg r0, r0 + mov r5, #0x0 + str r5, [sp] + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x0 + bl BeginNormalPaletteFade + ldr r0, ._659 + 24 @ 0x4000040 + mov r6, #0x0 + strh r5, [r0] + add r0, r0, #0x4 + strh r5, [r0] + sub r0, r0, #0x2 + strh r5, [r0] + add r0, r0, #0x4 + strh r5, [r0] + ldr r1, ._659 + 28 @ 0x4000048 + mov r0, #0x3f + strh r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1f + strh r0, [r1] + add r1, r1, #0x6 + mov r0, #0xf1 + strh r0, [r1] + ldr r0, ._659 + 32 @ 0x4000052 + strh r5, [r0] + add r1, r1, #0x4 + mov r0, #0x7 + strh r0, [r1] + ldr r3, ._659 + 36 @ 0x4000208 + ldrh r2, [r3] + strh r5, [r3] + ldr r4, ._659 + 40 @ 0x4000200 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, ._659 + 44 @ debug_80C3758 + bl SetVBlankCallback + ldr r0, ._659 + 48 @ debug_80C370C + bl SetMainCallback2 + bl sub_809D51C + ldr r1, ._659 + 52 @ 0x4000008 + ldr r2, ._659 + 56 @ 0x1f0b + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x2 + ldr r2, ._659 + 60 @ 0x1e0a + add r0, r2, #0 + strh r0, [r1] + sub r1, r1, #0xa + mov r2, #0xcd + lsl r2, r2, #0x6 + add r0, r2, #0 + strh r0, [r1] + ldr r0, ._659 + 64 @ debug_80C6B00 + mov r1, #0x0 + bl CreateTask + ldr r1, ._659 + 68 @ gUnknown_Debug_2038A20 + ldr r0, ._659 + 72 @ 0x2018000 + str r0, [r1] + ldr r1, ._659 + 76 @ 0x115 + strh r1, [r0] + strb r6, [r0, #0x2] + strb r6, [r0, #0x3] + strb r6, [r0, #0x5] + strb r6, [r0, #0x7] + strb r6, [r0, #0xa] + strb r6, [r0, #0x8] + ldr r4, ._659 + 80 @ gSpriteTemplate_83F8874 + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + ldr r6, ._659 + 84 @ gSprites + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + strh r5, [r0, #0x2e] + mov r1, #0x0 + bl StartSpriteAnim + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + mov r1, #0x1 + strh r1, [r0, #0x2e] + bl StartSpriteAnim + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + mov r1, #0x2 + strh r1, [r0, #0x2e] + bl StartSpriteAnim + add sp, sp, #0x8 + pop {r4, r5, r6} + pop {r0} + bx r0 +._660: + .align 2, 0 +._659: + .word byte_83F88EC + .word 0x600e000 + .word 0x40000d4 + .word 0x80000400 + .word word_83F888C + .word 0x7fff + .word 0x4000040 + .word 0x4000048 + .word 0x4000052 + .word 0x4000208 + .word 0x4000200 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word 0x4000008 + .word 0x1f0b + .word 0x1e0a + .word debug_80C6B00+1 + .word gUnknown_Debug_2038A20 + .word 0x2018000 + .word 0x115 + .word gSpriteTemplate_83F8874 + .word gSprites + + thumb_func_end InitSeePokemonGraphics + + thumb_func_start debug_80C6B00 +debug_80C6B00: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xffffffec + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r1, ._666 @ gUnknown_Debug_083F8815 + mov r0, sp + mov r2, #0x12 + bl memcpy + mov r0, #0xa + mov r1, #0x0 + mov r2, #0xf + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x9 + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0xa + mov r2, #0x9 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, #0x10 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r0, ._666 + 4 @ gUnknown_Debug_083F87D0 + mov r1, #0x11 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._666 + 8 @ gUnknown_Debug_083F87D8 + mov r1, #0x1b + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._666 + 12 @ gUnknown_Debug_083F87E0 + mov r1, #0x11 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0xa + mov r1, #0x8 + mov r2, #0x1d + mov r3, #0xc + bl Menu_DrawStdWindowFrame + mov r2, #0x0 + ldr r4, ._666 + 16 @ 0x600fa56 + ldr r0, ._666 + 20 @ 0xa311 + add r3, r0, #0 +._661: + lsl r0, r2, #0x1 + add r0, r0, r4 + add r1, r2, r3 + strh r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0xe + bls ._661 @cond_branch + mov r2, #0x0 + ldr r5, ._666 + 24 @ gUnknown_Debug_083F87F4 + lsl r6, r7, #0x2 + mov r8, r6 + ldr r4, ._666 + 28 @ 0x600f256 + ldr r0, ._666 + 32 @ 0x8301 + add r3, r0, #0 +._662: + lsl r0, r2, #0x1 + add r0, r0, r4 + add r1, r2, r3 + strh r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0xe + bls ._662 @cond_branch + add r0, r5, #0 + mov r1, #0x14 + mov r2, #0xa + bl Menu_PrintText + mov r0, #0xa + mov r1, #0xd + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r1, sp + mov r0, #0x23 + strb r0, [r1] + mov r2, #0x0 + ldr r4, ._666 + 36 @ 0x600f396 + mov r5, #0x93 + lsl r5, r5, #0x8 + add r3, r5, #0 +._663: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._663 @cond_branch + mov r1, sp + mov r0, #0x24 + strb r0, [r1] + mov r2, #0x0 + ldr r5, ._666 + 40 @ gUnknown_Debug_083F8801 + ldr r4, ._666 + 44 @ 0x600f3d6 + mov r0, #0x93 + lsl r0, r0, #0x8 + add r3, r0, #0 +._664: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._664 @cond_branch + mov r1, sp + mov r0, #0x25 + strb r0, [r1] + mov r2, #0x0 + ldr r4, ._666 + 48 @ 0x600f416 + mov r0, #0x93 + lsl r0, r0, #0x8 + add r3, r0, #0 +._665: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._665 @cond_branch + add r0, r5, #0 + mov r1, #0xf + mov r2, #0x11 + bl Menu_PrintText + ldr r1, ._666 + 52 @ 0x4000040 + ldr r2, ._666 + 56 @ 0x51ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r5, ._666 + 60 @ 0x699f + add r0, r5, #0 + strh r0, [r1] + ldr r1, ._666 + 64 @ gTasks + mov r6, r8 + add r0, r6, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._666 + 68 @ debug_80C6CB8 + str r1, [r0] + add sp, sp, #0x14 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._667: + .align 2, 0 +._666: + .word gUnknown_Debug_083F8815 + .word gUnknown_Debug_083F87D0 + .word gUnknown_Debug_083F87D8 + .word gUnknown_Debug_083F87E0 + .word 0x600fa56 + .word 0xa311 + .word gUnknown_Debug_083F87F4 + .word 0x600f256 + .word 0x8301 + .word 0x600f396 + .word gUnknown_Debug_083F8801 + .word 0x600f3d6 + .word 0x600f416 + .word 0x4000040 + .word 0x51ef + .word 0x699f + .word gTasks + .word debug_80C6CB8+1 + + thumb_func_end debug_80C6B00 + + thumb_func_start debug_80C6CB8 +debug_80C6CB8: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffff4 + mov sl, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov sl, r0 + ldr r5, ._668 @ gUnknown_Debug_2038A20 + ldr r4, [r5] + ldrh r2, [r4] + lsl r0, r2, #0x3 + ldr r1, ._668 + 4 @ gMonFrontPicTable + add r0, r0, r1 + ldr r1, ._668 + 8 @ gMonFrontPicCoords + lsl r2, r2, #0x2 + add r2, r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, #0x1] + ldr r3, ._668 + 12 @ gUnknown_081FAF4C + mov r8, r3 + ldr r6, [r3] + str r6, [sp, #0x8] + ldr r3, [r3, #0x4] + str r3, [sp] + ldrh r3, [r4] + str r3, [sp, #0x4] + add r3, r6, #0 + bl DecompressPicFromTable_2 + ldr r0, [r5] + ldrh r0, [r0] + lsl r0, r0, #0x3 + ldr r7, ._668 + 16 @ gMonPaletteTable + add r0, r0, r7 + bl LoadCompressedObjectPalette + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x1 + bl GetMonSpriteTemplate_803C56C + ldr r0, ._668 + 20 @ gUnknown_02024E8C + mov r1, #0x28 + mov r2, #0x28 + mov r3, #0x0 + bl CreateSprite + ldr r1, [r5] + strb r0, [r1, #0x2] + ldr r2, [r5] + ldrb r1, [r2, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r1, ._668 + 24 @ gSprites + add r0, r0, r1 + ldr r3, ._668 + 28 @ debug_69 + mov r9, r3 + str r3, [r0] + ldrb r0, [r2, #0x2] + lsl r1, r0, #0x4 + add r1, r1, r0 + lsl r1, r1, #0x2 + ldr r6, ._668 + 32 @ gSprites + add r1, r1, r6 + ldrb r2, [r1, #0x5] + mov r6, #0xd + neg r6, r6 + add r0, r6, #0 + and r0, r0, r2 + strb r0, [r1, #0x5] + ldr r4, [r5] + ldrh r2, [r4] + lsl r0, r2, #0x3 + ldr r1, ._668 + 36 @ gMonBackPicTable + add r0, r0, r1 + ldr r1, ._668 + 40 @ gMonBackPicCoords + lsl r2, r2, #0x2 + add r2, r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, #0x1] + mov r7, r8 + ldr r3, [r7, #0x8] + str r3, [sp] + ldrh r3, [r4] + str r3, [sp, #0x4] + ldr r3, [sp, #0x8] + bl DecompressPicFromTable_2 + ldr r0, [r5] + ldrh r0, [r0] + lsl r0, r0, #0x3 + ldr r1, ._668 + 16 @ gMonPaletteTable + add r0, r0, r1 + bl LoadCompressedObjectPalette + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x2 + bl GetMonSpriteTemplate_803C56C + ldr r0, ._668 + 20 @ gUnknown_02024E8C + mov r1, #0x28 + mov r2, #0x78 + mov r3, #0x0 + bl CreateSprite + ldr r1, [r5] + strb r0, [r1, #0x3] + ldr r2, [r5] + ldrb r1, [r2, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r3, ._668 + 24 @ gSprites + add r0, r0, r3 + mov r7, r9 + str r7, [r0] + ldrb r1, [r2, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r1, ._668 + 32 @ gSprites + add r0, r0, r1 + ldrb r1, [r0, #0x5] + and r6, r6, r1 + strb r6, [r0, #0x5] + ldr r0, [r5] + ldrh r0, [r0] + ldr r1, ._668 + 44 @ sub_809D62C + mov r2, #0x0 + str r2, [sp] + str r2, [sp, #0x4] + mov r2, #0x68 + mov r3, #0x2c + bl CreateMonIcon + ldr r1, [r5] + strb r0, [r1, #0x4] + ldr r0, [r5] + ldrh r0, [r0] + bl SpeciesToNationalPokedexNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r2, #0xff + lsl r2, r2, #0x2 + mov r1, #0x2 + bl sub_8091738 + ldr r1, ._668 + 48 @ 0x600f858 + ldr r3, ._668 + 52 @ 0xf3fc + add r0, r3, #0 + strh r0, [r1] + add r1, r1, #0x2 + ldr r6, ._668 + 56 @ 0xf3fd + add r0, r6, #0 + strh r0, [r1] + add r1, r1, #0x3e + ldr r7, ._668 + 60 @ 0xf3fe + add r0, r7, #0 + strh r0, [r1] + add r1, r1, #0x2 + ldr r2, ._668 + 64 @ 0xf3ff + add r0, r2, #0 + strh r0, [r1] + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x11 + mov r2, #0x3 + bl debug_80C3800 + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x1a + mov r2, #0x5 + bl debug_80C376C + ldr r2, [r5] + ldrb r1, [r2, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r3, ._668 + 32 @ gSprites + add r0, r0, r3 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + strb r0, [r2, #0x6] + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + ldr r4, ._668 + 68 @ gPlttBufferUnfaded + add r0, r0, r4 + ldr r6, ._668 + 72 @ 0xffffff00 + add r1, r4, r6 + mov r2, #0x10 + bl CpuSet + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + add r0, r0, r4 + ldr r1, ._668 + 76 @ gPlttBufferFaded + mov r2, #0x10 + bl CpuSet + ldr r1, ._668 + 80 @ gTasks + mov r7, sl + lsl r0, r7, #0x2 + add r0, r0, sl + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._668 + 84 @ debug_80C6EE8 + str r1, [r0] + ldr r0, [r5] + mov r1, #0x0 + strb r1, [r0, #0x9] + bl StopCryAndClearCrySongs + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x0 + bl PlayCry1 + add sp, sp, #0xc + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._669: + .align 2, 0 +._668: + .word gUnknown_Debug_2038A20 + .word gMonFrontPicTable + .word gMonFrontPicCoords + .word gUnknown_081FAF4C + .word gMonPaletteTable + .word gUnknown_02024E8C + .word gSprites+0x1c + .word debug_69+1 + .word gSprites + .word gMonBackPicTable + .word gMonBackPicCoords + .word sub_809D62C+1 + .word 0x600f858 + .word 0xf3fc + .word 0xf3fd + .word 0xf3fe + .word 0xf3ff + .word gPlttBufferUnfaded+0x200 + .word 0xffffff00 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C6EE8+1 + + thumb_func_end debug_80C6CB8 + + thumb_func_start debug_80C6EE8 +debug_80C6EE8: + push {r4, r5, r6, lr} + add r6, r0, #0 + lsl r6, r6, #0x18 + lsr r6, r6, #0x18 + ldr r4, ._670 @ gPlttBufferUnfaded + ldr r5, ._670 + 4 @ gUnknown_Debug_2038A20 + ldr r1, [r5] + add r1, r1, #0x10 + add r0, r4, #0 + mov r2, #0x10 + bl CpuSet + ldr r0, ._670 + 8 @ 0xffffff00 + add r4, r4, r0 + ldr r3, [r5] + ldrb r0, [r3, #0x7] + add r0, r0, #0x81 + lsl r0, r0, #0x1 + add r0, r0, r4 + ldrh r4, [r0] + mov r1, #0x1f + and r1, r1, r4 + ldrb r2, [r3, #0xc] + mov r0, #0x20 + neg r0, r0 + and r0, r0, r2 + orr r0, r0, r1 + strb r0, [r3, #0xc] + ldr r3, [r5] + mov r1, #0xf8 + lsl r1, r1, #0x2 + and r1, r1, r4 + ldrh r2, [r3, #0xc] + ldr r0, ._670 + 12 @ 0xfffffc1f + and r0, r0, r2 + orr r0, r0, r1 + strh r0, [r3, #0xc] + mov r1, #0xf8 + lsl r1, r1, #0x7 + and r1, r1, r4 + lsr r1, r1, #0x8 + ldrb r2, [r3, #0xd] + mov r0, #0x7d + neg r0, r0 + and r0, r0, r2 + orr r0, r0, r1 + strb r0, [r3, #0xd] + ldr r2, [r5] + ldrb r1, [r2, #0xd] + mov r0, #0x7f + and r0, r0, r1 + strb r0, [r2, #0xd] + ldr r0, [r5] + ldrb r0, [r0, #0x7] + add r0, r0, #0x1 + mov r1, #0xb + mov r2, #0xa + mov r3, #0x2 + bl debug_80C68CC + ldr r0, ._670 + 16 @ gUnknown_Debug_083F8813 + mov r1, #0xd + mov r2, #0xa + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xe + mov r2, #0xa + mov r3, #0x4 + bl debug_80C68CC + ldr r1, ._670 + 20 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._670 + 24 @ debug_80C6FA8 + str r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 +._671: + .align 2, 0 +._670: + .word gPlttBufferUnfaded+0x100 + .word gUnknown_Debug_2038A20 + .word 0xffffff00 + .word 0xfffffc1f + .word gUnknown_Debug_083F8813 + .word gTasks + .word debug_80C6FA8+1 + + thumb_func_end debug_80C6EE8 + + thumb_func_start debug_80C6FA8 +debug_80C6FA8: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r1, ._674 @ gMain + ldrh r2, [r1, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + add r4, r1, #0 + cmp r0, #0 + beq ._672 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._674 + 4 @ debug_80C370C + bl SetMainCallback2 + ldr r1, ._674 + 8 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._674 + 12 @ debug_80C373C + str r1, [r0] + b ._703 +._675: + .align 2, 0 +._674: + .word gMain + .word debug_80C370C+1 + .word gTasks + .word debug_80C373C+1 +._672: + ldrh r1, [r4, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._676 @cond_branch + ldr r4, ._678 @ gUnknown_Debug_2038A20 + ldr r0, [r4] + ldrh r1, [r0] + mov r0, #0x0 + b ._677 +._679: + .align 2, 0 +._678: + .word gUnknown_Debug_2038A20 +._676: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._680 @cond_branch + ldr r4, ._682 @ gUnknown_Debug_2038A20 + ldr r0, [r4] + ldrh r1, [r0] + mov r0, #0x1 +._677: + bl debug_80C3878 + ldr r1, [r4] + strh r0, [r1] + ldr r1, ._682 + 4 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._682 + 8 @ debug_80C71FC + str r1, [r0] + b ._703 +._683: + .align 2, 0 +._682: + .word gUnknown_Debug_2038A20 + .word gTasks + .word debug_80C71FC+1 +._680: + mov r3, #0x1 + and r3, r3, r2 + cmp r3, #0 + beq ._684 @cond_branch + ldr r0, ._686 @ gUnknown_Debug_2038A20 + ldr r1, [r0] + mov r0, #0x1 + strb r0, [r1, #0x5] + ldr r1, ._686 + 4 @ 0x4000040 + ldr r2, ._686 + 8 @ 0x51ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._686 + 12 @ 0x4167 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._686 + 16 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._686 + 20 @ debug_80C7294 + str r1, [r0] + b ._703 +._687: + .align 2, 0 +._686: + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x4167 + .word gTasks + .word debug_80C7294+1 +._684: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._689 @cond_branch + ldr r1, ._691 @ gUnknown_Debug_2038A20 + ldr r2, [r1] + ldrb r0, [r2, #0x7] + cmp r0, #0xd + bhi ._689 @cond_branch + lsl r0, r0, #0x1 + ldr r2, ._691 + 4 @ 0x5000102 + add r0, r0, r2 + strh r3, [r0] + ldr r1, [r1] + ldrb r0, [r1, #0x7] + add r0, r0, #0x1 + strb r0, [r1, #0x7] + b ._695 +._692: + .align 2, 0 +._691: + .word gUnknown_Debug_2038A20 + .word 0x5000102 +._689: + ldrh r1, [r4, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._694 @cond_branch + ldr r2, ._696 @ gUnknown_Debug_2038A20 + ldr r1, [r2] + ldrb r0, [r1, #0x7] + cmp r0, #0 + beq ._694 @cond_branch + lsl r0, r0, #0x1 + ldr r1, ._696 + 4 @ 0x5000102 + add r0, r0, r1 + mov r1, #0x0 + strh r1, [r0] + ldr r1, [r2] + ldrb r0, [r1, #0x7] + sub r0, r0, #0x1 + strb r0, [r1, #0x7] + b ._695 +._697: + .align 2, 0 +._696: + .word gUnknown_Debug_2038A20 + .word 0x5000102 +._694: + ldrh r1, [r4, #0x2e] + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + beq ._698 @cond_branch + ldr r4, ._701 @ gUnknown_Debug_2038A20 + ldr r2, [r4] + ldrb r0, [r2, #0x9] + mov r1, #0x1 + eor r0, r0, r1 + strb r0, [r2, #0x9] + ldr r1, [r4] + ldrb r0, [r1, #0x9] + cmp r0, #0 + beq ._699 @cond_branch + ldrh r0, [r1] + mov r1, #0x0 + mov r2, #0x0 + bl GetMonSpritePalFromOtIdPersonality + ldr r1, [r4] + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x14 + mov r2, #0x80 + lsl r2, r2, #0x11 + add r1, r1, r2 + lsr r1, r1, #0x10 + mov r2, #0x20 + bl LoadCompressedPalette + b ._700 +._702: + .align 2, 0 +._701: + .word gUnknown_Debug_2038A20 +._699: + ldrh r0, [r1] + mov r1, #0x0 + mov r2, #0x9 + bl GetMonSpritePalFromOtIdPersonality + ldr r1, [r4] + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x14 + mov r2, #0x80 + lsl r2, r2, #0x11 + add r1, r1, r2 + lsr r1, r1, #0x10 + mov r2, #0x20 + bl LoadCompressedPalette +._700: + ldr r5, ._704 @ gUnknown_Debug_2038A20 + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + ldr r4, ._704 + 4 @ gPlttBufferUnfaded + add r0, r0, r4 + ldr r2, ._704 + 8 @ 0xffffff00 + add r1, r4, r2 + mov r2, #0x10 + bl CpuSet + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + add r0, r0, r4 + ldr r1, ._704 + 12 @ gPlttBufferFaded + mov r2, #0x10 + bl CpuSet +._695: + ldr r1, ._704 + 16 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._704 + 20 @ debug_80C6EE8 + str r1, [r0] + b ._703 +._705: + .align 2, 0 +._704: + .word gUnknown_Debug_2038A20 + .word gPlttBufferUnfaded+0x200 + .word 0xffffff00 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C6EE8+1 +._698: + mov r0, #0x4 + and r0, r0, r1 + cmp r0, #0 + beq ._706 @cond_branch + bl StopCryAndClearCrySongs + ldr r0, ._707 @ gUnknown_Debug_2038A20 + ldr r0, [r0] + ldrh r0, [r0] + mov r1, #0x0 + bl PlayCry1 +._706: + ldr r2, ._707 @ gUnknown_Debug_2038A20 + ldr r1, [r2] + ldrb r0, [r1, #0x8] + add r0, r0, #0x4 + strb r0, [r1, #0x8] + ldr r3, [r2] + ldrb r1, [r3, #0x8] + mov r0, #0x1f + and r0, r0, r1 + strb r0, [r3, #0x8] + ldr r0, [r2] + ldrb r1, [r0, #0x7] + lsl r1, r1, #0x1 + ldr r2, ._707 + 4 @ 0x5000142 + add r1, r1, r2 + ldr r2, ._707 + 8 @ gUnknown_Debug_083F8790 + ldrb r0, [r0, #0x8] + lsl r0, r0, #0x1 + add r0, r0, r2 + ldrh r0, [r0] + strh r0, [r1] +._703: + add sp, sp, #0x4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._708: + .align 2, 0 +._707: + .word gUnknown_Debug_2038A20 + .word 0x5000142 + .word gUnknown_Debug_083F8790 + + thumb_func_end debug_80C6FA8 + + thumb_func_start debug_80C71FC +debug_80C71FC: + push {r4, r5, r6, lr} + add r5, r0, #0 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + ldr r6, ._709 @ gSprites + ldr r4, ._709 + 4 @ gUnknown_Debug_2038A20 + ldr r0, [r4] + ldrb r1, [r0, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, [r4] + ldrb r1, [r0, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl DestroySprite + ldr r0, [r4] + ldrb r1, [r0, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, [r4] + ldrb r1, [r0, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl DestroySprite + ldr r0, [r4] + ldrb r1, [r0, #0x4] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl sub_809D510 + ldr r1, ._709 + 8 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._709 + 12 @ debug_80C6CB8 + str r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 +._710: + .align 2, 0 +._709: + .word gSprites + .word gUnknown_Debug_2038A20 + .word gTasks + .word debug_80C6CB8+1 + + thumb_func_end debug_80C71FC + + thumb_func_start debug_80C7294 +debug_80C7294: + push {r4, r5, r6, r7, lr} + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, ._713 @ gMain + ldrh r2, [r0, #0x2e] + mov r1, #0x1 + and r1, r1, r2 + add r3, r0, #0 + cmp r1, #0 + beq ._711 @cond_branch + ldr r0, ._713 + 4 @ gUnknown_Debug_2038A20 + ldr r1, [r0] + mov r0, #0x0 + strb r0, [r1, #0x5] + ldr r1, ._713 + 8 @ 0x4000040 + ldr r2, ._713 + 12 @ 0x51ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._713 + 16 @ 0x699f + add r0, r2, #0 + strh r0, [r1] + b ._712 +._714: + .align 2, 0 +._713: + .word gMain + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x699f +._711: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._715 @cond_branch + ldr r6, ._717 @ gUnknown_Debug_2038A20 + ldr r0, [r6] + strb r1, [r0, #0x5] + ldr r1, ._717 + 4 @ 0x4000040 + ldr r2, ._717 + 8 @ 0x51ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._717 + 12 @ 0x699f + add r0, r2, #0 + strh r0, [r1] + ldr r0, [r6] + add r0, r0, #0x10 + ldr r4, ._717 + 16 @ gPlttBufferUnfaded + add r1, r4, #0 + mov r2, #0x10 + bl CpuSet + ldr r0, [r6] + add r0, r0, #0x10 + ldr r5, ._717 + 20 @ gPlttBufferFaded + add r1, r5, #0 + mov r2, #0x10 + bl CpuSet + ldr r1, [r6] + add r0, r1, #0 + add r0, r0, #0x10 + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x5 + mov r2, #0x80 + lsl r2, r2, #0x1 + add r4, r4, r2 + add r1, r1, r4 + mov r2, #0x10 + bl CpuSet + ldr r1, [r6] + add r0, r1, #0 + add r0, r0, #0x10 + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x5 + mov r2, #0x80 + lsl r2, r2, #0x1 + add r5, r5, r2 + add r1, r1, r5 + mov r2, #0x10 + bl CpuSet +._712: + ldr r1, ._717 + 24 @ gTasks + lsl r0, r7, #0x2 + add r0, r0, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._717 + 28 @ debug_80C6EE8 + str r1, [r0] + b ._754 +._718: + .align 2, 0 +._717: + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x699f + .word gPlttBufferUnfaded+0x100 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C6EE8+1 +._715: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._720 @cond_branch + ldr r0, ._722 @ gUnknown_Debug_2038A20 + ldr r1, [r0] + ldrb r0, [r1, #0xa] + cmp r0, #0x1 + bhi ._720 @cond_branch + add r0, r0, #0x1 + strb r0, [r1, #0xa] + b ._754 +._723: + .align 2, 0 +._722: + .word gUnknown_Debug_2038A20 +._720: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._725 @cond_branch + ldr r0, ._727 @ gUnknown_Debug_2038A20 + ldr r1, [r0] + ldrb r0, [r1, #0xa] + cmp r0, #0 + beq ._725 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1, #0xa] + b ._754 +._728: + .align 2, 0 +._727: + .word gUnknown_Debug_2038A20 +._725: + ldrh r1, [r3, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._729 @cond_branch + ldr r0, ._734 @ gUnknown_Debug_2038A20 + ldr r2, [r0] + ldrb r0, [r2, #0xa] + cmp r0, #0x1 + beq ._730 @cond_branch + cmp r0, #0x1 + bgt ._731 @cond_branch + cmp r0, #0 + beq ._732 @cond_branch + b ._754 +._735: + .align 2, 0 +._734: + .word gUnknown_Debug_2038A20 +._731: + cmp r0, #0x2 + beq ._736 @cond_branch + b ._754 +._732: + ldrb r3, [r2, #0xc] + lsl r1, r3, #0x1b + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._761 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + mov r1, #0x20 + neg r1, r1 + and r1, r1, r3 + orr r1, r1, r0 + strb r1, [r2, #0xc] + b ._761 +._730: + ldrh r3, [r2, #0xc] + lsl r1, r3, #0x16 + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._761 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x5 + ldr r1, ._742 @ 0xfffffc1f + and r1, r1, r3 + orr r1, r1, r0 + strh r1, [r2, #0xc] + b ._761 +._743: + .align 2, 0 +._742: + .word 0xfffffc1f +._736: + ldrb r3, [r2, #0xd] + lsl r1, r3, #0x19 + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._761 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x2 + mov r1, #0x7d + neg r1, r1 + and r1, r1, r3 + orr r1, r1, r0 + strb r1, [r2, #0xd] + b ._761 +._729: + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._754 @cond_branch + ldr r0, ._751 @ gUnknown_Debug_2038A20 + ldr r3, [r0] + ldrb r0, [r3, #0xa] + cmp r0, #0x1 + beq ._747 @cond_branch + cmp r0, #0x1 + bgt ._748 @cond_branch + cmp r0, #0 + beq ._749 @cond_branch + b ._754 +._752: + .align 2, 0 +._751: + .word gUnknown_Debug_2038A20 +._748: + cmp r0, #0x2 + beq ._753 @cond_branch + b ._754 +._749: + ldrb r2, [r3, #0xc] + mov r0, #0x1f + and r0, r0, r2 + cmp r0, #0 + beq ._761 @cond_branch + lsl r0, r2, #0x1b + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + mov r1, #0x20 + neg r1, r1 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3, #0xc] + b ._761 +._747: + ldrh r2, [r3, #0xc] + mov r0, #0xf8 + lsl r0, r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._761 @cond_branch + lsl r0, r2, #0x16 + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x5 + ldr r1, ._759 @ 0xfffffc1f + and r1, r1, r2 + orr r1, r1, r0 + strh r1, [r3, #0xc] + b ._761 +._760: + .align 2, 0 +._759: + .word 0xfffffc1f +._753: + ldrb r2, [r3, #0xd] + mov r0, #0x7c + and r0, r0, r2 + cmp r0, #0 + beq ._761 @cond_branch + lsl r0, r2, #0x19 + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x2 + mov r1, #0x7d + neg r1, r1 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3, #0xd] +._761: + ldr r0, ._762 @ gTasks + lsl r1, r7, #0x2 + add r1, r1, r7 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._762 + 4 @ debug_80C74E4 + str r0, [r1] +._754: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._763: + .align 2, 0 +._762: + .word gTasks + .word debug_80C74E4+1 + + thumb_func_end debug_80C7294 + + thumb_func_start debug_80C74E4 +debug_80C74E4: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add r5, r0, #0 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + ldr r0, ._764 @ gUnknown_Debug_2038A20 + ldr r3, [r0] + ldrb r0, [r3, #0xc] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1b + ldrh r2, [r3, #0xc] + mov r1, #0xf8 + lsl r1, r1, #0x2 + and r1, r1, r2 + add r0, r0, r1 + ldrb r1, [r3, #0xd] + lsl r1, r1, #0x19 + lsr r1, r1, #0x1b + lsl r1, r1, #0xa + add r0, r0, r1 + ldr r6, ._764 + 4 @ gPlttBufferUnfaded + ldrb r1, [r3, #0x7] + add r1, r1, #0x81 + lsl r1, r1, #0x1 + add r1, r1, r6 + strh r0, [r1] + ldr r1, ._764 + 8 @ gPlttBufferFaded + mov r8, r1 + ldrb r1, [r3, #0x7] + add r1, r1, #0x81 + lsl r1, r1, #0x1 + add r1, r1, r8 + strh r0, [r1] + ldrb r1, [r3, #0x6] + lsl r1, r1, #0x4 + ldrb r2, [r3, #0x7] + ldr r4, ._764 + 12 @ 0x101 + add r2, r2, r4 + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r1, r6 + strh r0, [r1] + ldrb r1, [r3, #0x6] + lsl r1, r1, #0x4 + ldrb r2, [r3, #0x7] + add r2, r2, r4 + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r1, r8 + strh r0, [r1] + mov r1, #0xe + mov r2, #0xa + mov r3, #0x4 + bl debug_80C68CC + ldr r1, ._764 + 16 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._764 + 20 @ debug_80C7294 + str r1, [r0] + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._765: + .align 2, 0 +._764: + .word gUnknown_Debug_2038A20 + .word gPlttBufferUnfaded + .word gPlttBufferFaded + .word 0x101 + .word gTasks + .word debug_80C7294+1 + + thumb_func_end debug_80C74E4 + + thumb_func_start debug_80C7584 +debug_80C7584: + push {r4, lr} + add r2, r0, #0 + ldr r0, ._771 @ gUnknown_Debug_2038A20 + ldr r3, [r0] + ldrb r1, [r3, #0x5] + add r4, r0, #0 + cmp r1, #0 + beq ._766 @cond_branch + mov r1, #0x2e + ldsh r0, [r2, r1] + cmp r0, #0x1 + beq ._767 @cond_branch + cmp r0, #0x1 + ble ._768 @cond_branch + cmp r0, #0x2 + beq ._769 @cond_branch +._768: + ldrb r0, [r3, #0xc] + lsl r0, r0, #0x1b + b ._773 +._772: + .align 2, 0 +._771: + .word gUnknown_Debug_2038A20 +._767: + ldrh r0, [r3, #0xc] + lsl r0, r0, #0x16 + b ._773 +._769: + ldrb r0, [r3, #0xd] + lsl r0, r0, #0x19 +._773: + lsr r0, r0, #0x1b + lsl r0, r0, #0x2 + strh r0, [r2, #0x24] + mov r1, #0x2e + ldsh r0, [r2, r1] + lsl r0, r0, #0x3 + strh r0, [r2, #0x26] + ldrh r0, [r2, #0x30] + add r3, r0, #1 + strh r3, [r2, #0x30] + mov r0, #0x2e + ldsh r1, [r2, r0] + ldr r0, [r4] + ldrb r0, [r0, #0xa] + cmp r1, r0 + bne ._775 @cond_branch + mov r0, #0x8 + and r3, r3, r0 + cmp r3, #0 + bne ._775 @cond_branch +._766: + add r0, r2, #0 + add r0, r0, #0x3e + ldrb r1, [r0] + mov r2, #0x4 + orr r1, r1, r2 + strb r1, [r0] + b ._776 +._775: + add r2, r2, #0x3e + ldrb r1, [r2] + mov r0, #0x5 + neg r0, r0 + and r0, r0, r1 + strb r0, [r2] +._776: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_80C7584 + + thumb_func_start InitSeeTrainers +InitSeeTrainers: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffffc + bl debug_80C35DC + ldr r1, ._777 @ byte_83F88EC + ldr r2, ._777 + 4 @ 0x600e000 + ldr r0, ._777 + 8 @ 0x40000d4 + str r1, [r0] + str r2, [r0, #0x4] + ldr r1, ._777 + 12 @ 0x80000400 + str r1, [r0, #0x8] + ldr r0, [r0, #0x8] + ldr r0, ._777 + 16 @ word_83F888C + mov r1, #0x80 + mov r2, #0x60 + bl LoadPalette + mov r0, #0x1 + neg r0, r0 + mov r5, #0x0 + str r5, [sp] + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x0 + bl BeginNormalPaletteFade + ldr r0, ._777 + 20 @ 0x4000040 + mov r6, #0x0 + strh r5, [r0] + add r0, r0, #0x4 + strh r5, [r0] + sub r0, r0, #0x2 + strh r5, [r0] + add r0, r0, #0x4 + strh r5, [r0] + ldr r1, ._777 + 24 @ 0x4000048 + mov r0, #0x3f + strh r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1f + strh r0, [r1] + add r1, r1, #0x6 + mov r0, #0xf1 + strh r0, [r1] + ldr r0, ._777 + 28 @ 0x4000052 + strh r5, [r0] + add r1, r1, #0x4 + mov r0, #0x7 + strh r0, [r1] + ldr r3, ._777 + 32 @ 0x4000208 + ldrh r2, [r3] + strh r5, [r3] + ldr r4, ._777 + 36 @ 0x4000200 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, ._777 + 40 @ debug_80C3758 + bl SetVBlankCallback + ldr r0, ._777 + 44 @ debug_80C370C + bl SetMainCallback2 + ldr r1, ._777 + 48 @ 0x4000008 + ldr r2, ._777 + 52 @ 0x1f0b + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x2 + ldr r2, ._777 + 56 @ 0x1e0a + add r0, r2, #0 + strh r0, [r1] + sub r1, r1, #0xa + mov r2, #0xcd + lsl r2, r2, #0x6 + add r0, r2, #0 + strh r0, [r1] + ldr r0, ._777 + 60 @ debug_80C777C + mov r1, #0x0 + bl CreateTask + ldr r1, ._777 + 64 @ gUnknown_Debug_2038A20 + ldr r0, ._777 + 68 @ 0x2018000 + str r0, [r1] + strh r5, [r0] + strb r6, [r0, #0x2] + strb r6, [r0, #0x3] + strb r6, [r0, #0x5] + strb r6, [r0, #0x7] + strb r6, [r0, #0xa] + strb r6, [r0, #0x8] + ldr r4, ._777 + 72 @ gSpriteTemplate_83F8874 + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + ldr r6, ._777 + 76 @ gSprites + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + strh r5, [r0, #0x2e] + mov r1, #0x0 + bl StartSpriteAnim + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + mov r1, #0x1 + strh r1, [r0, #0x2e] + bl StartSpriteAnim + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + mov r1, #0x2 + strh r1, [r0, #0x2e] + bl StartSpriteAnim + add sp, sp, #0x4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._778: + .align 2, 0 +._777: + .word byte_83F88EC + .word 0x600e000 + .word 0x40000d4 + .word 0x80000400 + .word word_83F888C + .word 0x4000040 + .word 0x4000048 + .word 0x4000052 + .word 0x4000208 + .word 0x4000200 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word 0x4000008 + .word 0x1f0b + .word 0x1e0a + .word debug_80C777C+1 + .word gUnknown_Debug_2038A20 + .word 0x2018000 + .word gSpriteTemplate_83F8874 + .word gSprites + + thumb_func_end InitSeeTrainers + + thumb_func_start debug_80C777C +debug_80C777C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xffffffec + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r1, ._784 @ gUnknown_Debug_083F8815 + mov r0, sp + mov r2, #0x12 + bl memcpy + mov r0, #0x9 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x9 + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0xa + mov r2, #0x9 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, #0xe + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r0, ._784 + 4 @ gUnknown_Debug_083F87D0 + mov r1, #0xf + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._784 + 8 @ gUnknown_Debug_083F87D8 + mov r1, #0x19 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._784 + 12 @ gUnknown_Debug_083F87E0 + mov r1, #0xf + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0xa + mov r1, #0x8 + mov r2, #0x1d + mov r3, #0xc + bl Menu_DrawStdWindowFrame + mov r2, #0x0 + ldr r4, ._784 + 16 @ 0x600fa56 + ldr r0, ._784 + 20 @ 0xa311 + add r3, r0, #0 +._779: + lsl r0, r2, #0x1 + add r0, r0, r4 + add r1, r2, r3 + strh r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0xe + bls ._779 @cond_branch + mov r2, #0x0 + ldr r5, ._784 + 24 @ gUnknown_Debug_083F87F4 + lsl r6, r7, #0x2 + mov r8, r6 + ldr r4, ._784 + 28 @ 0x600f256 + ldr r0, ._784 + 32 @ 0x8301 + add r3, r0, #0 +._780: + lsl r0, r2, #0x1 + add r0, r0, r4 + add r1, r2, r3 + strh r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0xe + bls ._780 @cond_branch + add r0, r5, #0 + mov r1, #0x14 + mov r2, #0xa + bl Menu_PrintText + mov r0, #0xa + mov r1, #0xd + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r1, sp + mov r0, #0x23 + strb r0, [r1] + mov r2, #0x0 + ldr r4, ._784 + 36 @ 0x600f396 + mov r5, #0x93 + lsl r5, r5, #0x8 + add r3, r5, #0 +._781: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._781 @cond_branch + mov r1, sp + mov r0, #0x24 + strb r0, [r1] + mov r2, #0x0 + ldr r5, ._784 + 40 @ gUnknown_Debug_083F8801 + ldr r4, ._784 + 44 @ 0x600f3d6 + mov r0, #0x93 + lsl r0, r0, #0x8 + add r3, r0, #0 +._782: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._782 @cond_branch + mov r1, sp + mov r0, #0x25 + strb r0, [r1] + mov r2, #0x0 + ldr r4, ._784 + 48 @ 0x600f416 + mov r0, #0x93 + lsl r0, r0, #0x8 + add r3, r0, #0 +._783: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._783 @cond_branch + add r0, r5, #0 + mov r1, #0xf + mov r2, #0x11 + bl Menu_PrintText + ldr r1, ._784 + 52 @ 0x4000040 + ldr r2, ._784 + 56 @ 0x51ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r5, ._784 + 60 @ 0x699f + add r0, r5, #0 + strh r0, [r1] + ldr r1, ._784 + 64 @ gTasks + mov r6, r8 + add r0, r6, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._784 + 68 @ debug_80C7934 + str r1, [r0] + add sp, sp, #0x14 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._785: + .align 2, 0 +._784: + .word gUnknown_Debug_083F8815 + .word gUnknown_Debug_083F87D0 + .word gUnknown_Debug_083F87D8 + .word gUnknown_Debug_083F87E0 + .word 0x600fa56 + .word 0xa311 + .word gUnknown_Debug_083F87F4 + .word 0x600f256 + .word 0x8301 + .word 0x600f396 + .word gUnknown_Debug_083F8801 + .word 0x600f3d6 + .word 0x600f416 + .word 0x4000040 + .word 0x51ef + .word 0x699f + .word gTasks + .word debug_80C7934+1 + + thumb_func_end debug_80C777C + + thumb_func_start debug_80C7934 +debug_80C7934: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xfffffff8 + mov r8, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 + ldr r5, ._786 @ gUnknown_Debug_2038A20 + ldr r6, [r5] + ldrh r2, [r6] + lsl r0, r2, #0x3 + ldr r1, ._786 + 4 @ gTrainerFrontPicTable + add r0, r0, r1 + ldr r1, ._786 + 8 @ gTrainerFrontPicCoords + lsl r2, r2, #0x2 + add r2, r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, #0x1] + ldr r4, ._786 + 12 @ gUnknown_081FAF4C + ldr r3, [r4] + ldr r4, [r4, #0x4] + str r4, [sp] + ldrh r4, [r6] + str r4, [sp, #0x4] + bl DecompressPicFromTable_2 + ldr r0, [r5] + ldrh r0, [r0] + lsl r0, r0, #0x3 + ldr r1, ._786 + 16 @ gTrainerFrontPicPaletteTable + add r0, r0, r1 + bl LoadCompressedObjectPalette + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x1 + bl GetMonSpriteTemplate_803C5A0 + ldr r0, ._786 + 20 @ gUnknown_02024E8C + mov r1, #0x28 + mov r2, #0x28 + mov r3, #0x0 + bl CreateSprite + ldr r1, [r5] + mov r6, #0x0 + strb r0, [r1, #0x2] + ldr r4, ._786 + 24 @ gSprites + ldr r2, [r5] + ldrb r1, [r2, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r1, r4, #0 + add r1, r1, #0x1c + add r0, r0, r1 + ldr r1, ._786 + 28 @ debug_69 + str r1, [r0] + ldrb r0, [r2, #0x2] + lsl r1, r0, #0x4 + add r1, r1, r0 + lsl r1, r1, #0x2 + add r1, r1, r4 + ldrb r2, [r1, #0x5] + mov r0, #0xd + neg r0, r0 + and r0, r0, r2 + strb r0, [r1, #0x5] + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x1a + mov r2, #0x5 + bl debug_80C376C + ldr r2, [r5] + ldrb r1, [r2, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r4 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + strb r0, [r2, #0x6] + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + ldr r4, ._786 + 32 @ gPlttBufferUnfaded + add r0, r0, r4 + ldr r2, ._786 + 36 @ 0xffffff00 + add r1, r4, r2 + mov r2, #0x10 + bl CpuSet + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + add r0, r0, r4 + ldr r1, ._786 + 40 @ gPlttBufferFaded + mov r2, #0x10 + bl CpuSet + ldr r1, ._786 + 44 @ gTasks + mov r2, r8 + lsl r0, r2, #0x2 + add r0, r0, r8 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._786 + 48 @ debug_80C7A54 + str r1, [r0] + ldr r0, [r5] + strb r6, [r0, #0x9] + add sp, sp, #0x8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._787: + .align 2, 0 +._786: + .word gUnknown_Debug_2038A20 + .word gTrainerFrontPicTable + .word gTrainerFrontPicCoords + .word gUnknown_081FAF4C + .word gTrainerFrontPicPaletteTable + .word gUnknown_02024E8C + .word gSprites + .word debug_69+1 + .word gPlttBufferUnfaded+0x200 + .word 0xffffff00 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C7A54+1 + + thumb_func_end debug_80C7934 + + thumb_func_start debug_80C7A54 +debug_80C7A54: + push {r4, r5, r6, lr} + add r6, r0, #0 + lsl r6, r6, #0x18 + lsr r6, r6, #0x18 + ldr r4, ._788 @ gPlttBufferUnfaded + ldr r5, ._788 + 4 @ gUnknown_Debug_2038A20 + ldr r1, [r5] + add r1, r1, #0x10 + add r0, r4, #0 + mov r2, #0x10 + bl CpuSet + ldr r0, ._788 + 8 @ 0xffffff00 + add r4, r4, r0 + ldr r3, [r5] + ldrb r0, [r3, #0x7] + add r0, r0, #0x81 + lsl r0, r0, #0x1 + add r0, r0, r4 + ldrh r4, [r0] + mov r1, #0x1f + and r1, r1, r4 + ldrb r2, [r3, #0xc] + mov r0, #0x20 + neg r0, r0 + and r0, r0, r2 + orr r0, r0, r1 + strb r0, [r3, #0xc] + ldr r3, [r5] + mov r1, #0xf8 + lsl r1, r1, #0x2 + and r1, r1, r4 + ldrh r2, [r3, #0xc] + ldr r0, ._788 + 12 @ 0xfffffc1f + and r0, r0, r2 + orr r0, r0, r1 + strh r0, [r3, #0xc] + mov r1, #0xf8 + lsl r1, r1, #0x7 + and r1, r1, r4 + lsr r1, r1, #0x8 + ldrb r2, [r3, #0xd] + mov r0, #0x7d + neg r0, r0 + and r0, r0, r2 + orr r0, r0, r1 + strb r0, [r3, #0xd] + ldr r2, [r5] + ldrb r1, [r2, #0xd] + mov r0, #0x7f + and r0, r0, r1 + strb r0, [r2, #0xd] + ldr r0, [r5] + ldrb r0, [r0, #0x7] + add r0, r0, #0x1 + mov r1, #0xb + mov r2, #0xa + mov r3, #0x2 + bl debug_80C68CC + ldr r0, ._788 + 16 @ gUnknown_Debug_083F8813 + mov r1, #0xd + mov r2, #0xa + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xe + mov r2, #0xa + mov r3, #0x4 + bl debug_80C68CC + ldr r1, ._788 + 20 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._788 + 24 @ debug_80C7B14 + str r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 +._789: + .align 2, 0 +._788: + .word gPlttBufferUnfaded+0x100 + .word gUnknown_Debug_2038A20 + .word 0xffffff00 + .word 0xfffffc1f + .word gUnknown_Debug_083F8813 + .word gTasks + .word debug_80C7B14+1 + + thumb_func_end debug_80C7A54 + + thumb_func_start debug_80C7B14 +debug_80C7B14: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r1, ._792 @ gMain + ldrh r3, [r1, #0x2e] + mov r0, #0x2 + and r0, r0, r3 + add r4, r1, #0 + cmp r0, #0 + beq ._790 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._792 + 4 @ debug_80C370C + bl SetMainCallback2 + ldr r1, ._792 + 8 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._792 + 12 @ debug_80C373C + str r1, [r0] + b ._821 +._793: + .align 2, 0 +._792: + .word gMain + .word debug_80C370C+1 + .word gTasks + .word debug_80C373C+1 +._790: + ldrh r1, [r4, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._794 @cond_branch + ldr r4, ._796 @ gUnknown_Debug_2038A20 + ldr r0, [r4] + ldrh r1, [r0] + mov r0, #0x0 + b ._795 +._797: + .align 2, 0 +._796: + .word gUnknown_Debug_2038A20 +._794: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._798 @cond_branch + ldr r4, ._800 @ gUnknown_Debug_2038A20 + ldr r0, [r4] + ldrh r1, [r0] + mov r0, #0x1 +._795: + bl debug_80C38B4 + ldr r1, [r4] + strh r0, [r1] + ldr r1, ._800 + 4 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._800 + 8 @ debug_80C7D44 + str r1, [r0] + b ._821 +._801: + .align 2, 0 +._800: + .word gUnknown_Debug_2038A20 + .word gTasks + .word debug_80C7D44+1 +._798: + mov r2, #0x1 + and r2, r2, r3 + cmp r2, #0 + beq ._802 @cond_branch + ldr r0, ._804 @ gUnknown_Debug_2038A20 + ldr r1, [r0] + mov r0, #0x1 + strb r0, [r1, #0x5] + ldr r1, ._804 + 4 @ 0x4000040 + ldr r2, ._804 + 8 @ 0x51ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._804 + 12 @ 0x4167 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._804 + 16 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._804 + 20 @ debug_80C7DDC + str r1, [r0] + b ._821 +._805: + .align 2, 0 +._804: + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x4167 + .word gTasks + .word debug_80C7DDC+1 +._802: + mov r0, #0x10 + and r0, r0, r1 + ldr r3, ._809 @ gUnknown_Debug_2038A20 + cmp r0, #0 + beq ._807 @cond_branch + ldr r1, [r3] + ldrb r0, [r1, #0x7] + cmp r0, #0xd + bhi ._807 @cond_branch + lsl r0, r0, #0x1 + ldr r1, ._809 + 4 @ 0x5000102 + add r0, r0, r1 + strh r2, [r0] + ldr r1, [r3] + ldrb r0, [r1, #0x7] + add r0, r0, #0x1 + strb r0, [r1, #0x7] + b ._813 +._810: + .align 2, 0 +._809: + .word gUnknown_Debug_2038A20 + .word 0x5000102 +._807: + ldrh r1, [r4, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._812 @cond_branch + ldr r1, [r3] + ldrb r0, [r1, #0x7] + cmp r0, #0 + beq ._812 @cond_branch + lsl r0, r0, #0x1 + ldr r2, ._814 @ 0x5000102 + add r0, r0, r2 + mov r1, #0x0 + strh r1, [r0] + ldr r1, [r3] + ldrb r0, [r1, #0x7] + sub r0, r0, #0x1 + strb r0, [r1, #0x7] + b ._813 +._815: + .align 2, 0 +._814: + .word 0x5000102 +._812: + ldrh r1, [r4, #0x2e] + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + beq ._816 @cond_branch + ldr r4, ._819 @ gUnknown_Debug_2038A20 + ldr r2, [r4] + ldrb r0, [r2, #0x9] + mov r1, #0x1 + eor r0, r0, r1 + strb r0, [r2, #0x9] + ldr r1, [r4] + ldrb r0, [r1, #0x9] + cmp r0, #0 + beq ._817 @cond_branch + ldrh r0, [r1] + mov r1, #0x0 + mov r2, #0x0 + bl GetMonSpritePalFromOtIdPersonality + ldr r1, [r4] + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x14 + mov r2, #0x80 + lsl r2, r2, #0x11 + add r1, r1, r2 + lsr r1, r1, #0x10 + mov r2, #0x20 + bl LoadCompressedPalette + b ._818 +._820: + .align 2, 0 +._819: + .word gUnknown_Debug_2038A20 +._817: + ldrh r0, [r1] + mov r1, #0x0 + mov r2, #0x9 + bl GetMonSpritePalFromOtIdPersonality + ldr r1, [r4] + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x14 + mov r2, #0x80 + lsl r2, r2, #0x11 + add r1, r1, r2 + lsr r1, r1, #0x10 + mov r2, #0x20 + bl LoadCompressedPalette +._818: + ldr r5, ._822 @ gUnknown_Debug_2038A20 + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + ldr r4, ._822 + 4 @ gPlttBufferUnfaded + add r0, r0, r4 + ldr r2, ._822 + 8 @ 0xffffff00 + add r1, r4, r2 + mov r2, #0x10 + bl CpuSet + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + add r0, r0, r4 + ldr r1, ._822 + 12 @ gPlttBufferFaded + mov r2, #0x10 + bl CpuSet +._813: + ldr r1, ._822 + 16 @ gTasks + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._822 + 20 @ debug_80C7A54 + str r1, [r0] + b ._821 +._823: + .align 2, 0 +._822: + .word gUnknown_Debug_2038A20 + .word gPlttBufferUnfaded+0x200 + .word 0xffffff00 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C7A54+1 +._816: + ldr r1, [r3] + ldrb r0, [r1, #0x8] + add r0, r0, #0x4 + strb r0, [r1, #0x8] + ldr r2, [r3] + ldrb r1, [r2, #0x8] + mov r0, #0x1f + and r0, r0, r1 + strb r0, [r2, #0x8] + ldr r0, [r3] + ldrb r1, [r0, #0x7] + lsl r1, r1, #0x1 + ldr r2, ._824 @ 0x5000142 + add r1, r1, r2 + ldr r2, ._824 + 4 @ gUnknown_Debug_083F8790 + ldrb r0, [r0, #0x8] + lsl r0, r0, #0x1 + add r0, r0, r2 + ldrh r0, [r0] + strh r0, [r1] +._821: + add sp, sp, #0x4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._825: + .align 2, 0 +._824: + .word 0x5000142 + .word gUnknown_Debug_083F8790 + + thumb_func_end debug_80C7B14 + + thumb_func_start debug_80C7D44 +debug_80C7D44: + push {r4, r5, r6, lr} + add r5, r0, #0 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + ldr r6, ._826 @ gSprites + ldr r4, ._826 + 4 @ gUnknown_Debug_2038A20 + ldr r0, [r4] + ldrb r1, [r0, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, [r4] + ldrb r1, [r0, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl DestroySprite + ldr r0, [r4] + ldrb r1, [r0, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, [r4] + ldrb r1, [r0, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl DestroySprite + ldr r0, [r4] + ldrb r1, [r0, #0x4] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl sub_809D510 + ldr r1, ._826 + 8 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._826 + 12 @ debug_80C7934 + str r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 +._827: + .align 2, 0 +._826: + .word gSprites + .word gUnknown_Debug_2038A20 + .word gTasks + .word debug_80C7934+1 + + thumb_func_end debug_80C7D44 + + thumb_func_start debug_80C7DDC +debug_80C7DDC: + push {r4, r5, r6, r7, lr} + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, ._830 @ gMain + ldrh r2, [r0, #0x2e] + mov r1, #0x1 + and r1, r1, r2 + add r3, r0, #0 + cmp r1, #0 + beq ._828 @cond_branch + ldr r0, ._830 + 4 @ gUnknown_Debug_2038A20 + ldr r1, [r0] + mov r0, #0x0 + strb r0, [r1, #0x5] + ldr r1, ._830 + 8 @ 0x4000040 + ldr r2, ._830 + 12 @ 0x51ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._830 + 16 @ 0x699f + add r0, r2, #0 + strh r0, [r1] + b ._829 +._831: + .align 2, 0 +._830: + .word gMain + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x699f +._828: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._832 @cond_branch + ldr r6, ._834 @ gUnknown_Debug_2038A20 + ldr r0, [r6] + strb r1, [r0, #0x5] + ldr r1, ._834 + 4 @ 0x4000040 + ldr r2, ._834 + 8 @ 0x51ef + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._834 + 12 @ 0x699f + add r0, r2, #0 + strh r0, [r1] + ldr r0, [r6] + add r0, r0, #0x10 + ldr r4, ._834 + 16 @ gPlttBufferUnfaded + add r1, r4, #0 + mov r2, #0x10 + bl CpuSet + ldr r0, [r6] + add r0, r0, #0x10 + ldr r5, ._834 + 20 @ gPlttBufferFaded + add r1, r5, #0 + mov r2, #0x10 + bl CpuSet + ldr r1, [r6] + add r0, r1, #0 + add r0, r0, #0x10 + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x5 + mov r2, #0x80 + lsl r2, r2, #0x1 + add r4, r4, r2 + add r1, r1, r4 + mov r2, #0x10 + bl CpuSet + ldr r1, [r6] + add r0, r1, #0 + add r0, r0, #0x10 + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x5 + mov r2, #0x80 + lsl r2, r2, #0x1 + add r5, r5, r2 + add r1, r1, r5 + mov r2, #0x10 + bl CpuSet +._829: + ldr r1, ._834 + 24 @ gTasks + lsl r0, r7, #0x2 + add r0, r0, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._834 + 28 @ debug_80C7A54 + str r1, [r0] + b ._871 +._835: + .align 2, 0 +._834: + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x699f + .word gPlttBufferUnfaded+0x100 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C7A54+1 +._832: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._837 @cond_branch + ldr r0, ._839 @ gUnknown_Debug_2038A20 + ldr r1, [r0] + ldrb r0, [r1, #0xa] + cmp r0, #0x1 + bhi ._837 @cond_branch + add r0, r0, #0x1 + strb r0, [r1, #0xa] + b ._871 +._840: + .align 2, 0 +._839: + .word gUnknown_Debug_2038A20 +._837: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._842 @cond_branch + ldr r0, ._844 @ gUnknown_Debug_2038A20 + ldr r1, [r0] + ldrb r0, [r1, #0xa] + cmp r0, #0 + beq ._842 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1, #0xa] + b ._871 +._845: + .align 2, 0 +._844: + .word gUnknown_Debug_2038A20 +._842: + ldrh r1, [r3, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._846 @cond_branch + ldr r0, ._851 @ gUnknown_Debug_2038A20 + ldr r2, [r0] + ldrb r0, [r2, #0xa] + cmp r0, #0x1 + beq ._847 @cond_branch + cmp r0, #0x1 + bgt ._848 @cond_branch + cmp r0, #0 + beq ._849 @cond_branch + b ._871 +._852: + .align 2, 0 +._851: + .word gUnknown_Debug_2038A20 +._848: + cmp r0, #0x2 + beq ._853 @cond_branch + b ._871 +._849: + ldrb r3, [r2, #0xc] + lsl r1, r3, #0x1b + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._878 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + mov r1, #0x20 + neg r1, r1 + and r1, r1, r3 + orr r1, r1, r0 + strb r1, [r2, #0xc] + b ._878 +._847: + ldrh r3, [r2, #0xc] + lsl r1, r3, #0x16 + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._878 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x5 + ldr r1, ._859 @ 0xfffffc1f + and r1, r1, r3 + orr r1, r1, r0 + strh r1, [r2, #0xc] + b ._878 +._860: + .align 2, 0 +._859: + .word 0xfffffc1f +._853: + ldrb r3, [r2, #0xd] + lsl r1, r3, #0x19 + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._878 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x2 + mov r1, #0x7d + neg r1, r1 + and r1, r1, r3 + orr r1, r1, r0 + strb r1, [r2, #0xd] + b ._878 +._846: + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._871 @cond_branch + ldr r0, ._868 @ gUnknown_Debug_2038A20 + ldr r3, [r0] + ldrb r0, [r3, #0xa] + cmp r0, #0x1 + beq ._864 @cond_branch + cmp r0, #0x1 + bgt ._865 @cond_branch + cmp r0, #0 + beq ._866 @cond_branch + b ._871 +._869: + .align 2, 0 +._868: + .word gUnknown_Debug_2038A20 +._865: + cmp r0, #0x2 + beq ._870 @cond_branch + b ._871 +._866: + ldrb r2, [r3, #0xc] + mov r0, #0x1f + and r0, r0, r2 + cmp r0, #0 + beq ._878 @cond_branch + lsl r0, r2, #0x1b + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + mov r1, #0x20 + neg r1, r1 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3, #0xc] + b ._878 +._864: + ldrh r2, [r3, #0xc] + mov r0, #0xf8 + lsl r0, r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._878 @cond_branch + lsl r0, r2, #0x16 + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x5 + ldr r1, ._876 @ 0xfffffc1f + and r1, r1, r2 + orr r1, r1, r0 + strh r1, [r3, #0xc] + b ._878 +._877: + .align 2, 0 +._876: + .word 0xfffffc1f +._870: + ldrb r2, [r3, #0xd] + mov r0, #0x7c + and r0, r0, r2 + cmp r0, #0 + beq ._878 @cond_branch + lsl r0, r2, #0x19 + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x2 + mov r1, #0x7d + neg r1, r1 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3, #0xd] +._878: + ldr r0, ._879 @ gTasks + lsl r1, r7, #0x2 + add r1, r1, r7 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._879 + 4 @ debug_80C802C + str r0, [r1] +._871: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._880: + .align 2, 0 +._879: + .word gTasks + .word debug_80C802C+1 + + thumb_func_end debug_80C7DDC + + thumb_func_start debug_80C802C +debug_80C802C: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add r5, r0, #0 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + ldr r0, ._881 @ gUnknown_Debug_2038A20 + ldr r3, [r0] + ldrb r0, [r3, #0xc] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1b + ldrh r2, [r3, #0xc] + mov r1, #0xf8 + lsl r1, r1, #0x2 + and r1, r1, r2 + add r0, r0, r1 + ldrb r1, [r3, #0xd] + lsl r1, r1, #0x19 + lsr r1, r1, #0x1b + lsl r1, r1, #0xa + add r0, r0, r1 + ldr r6, ._881 + 4 @ gPlttBufferUnfaded + ldrb r1, [r3, #0x7] + add r1, r1, #0x81 + lsl r1, r1, #0x1 + add r1, r1, r6 + strh r0, [r1] + ldr r1, ._881 + 8 @ gPlttBufferFaded + mov r8, r1 + ldrb r1, [r3, #0x7] + add r1, r1, #0x81 + lsl r1, r1, #0x1 + add r1, r1, r8 + strh r0, [r1] + ldrb r1, [r3, #0x6] + lsl r1, r1, #0x4 + ldrb r2, [r3, #0x7] + ldr r4, ._881 + 12 @ 0x101 + add r2, r2, r4 + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r1, r6 + strh r0, [r1] + ldrb r1, [r3, #0x6] + lsl r1, r1, #0x4 + ldrb r2, [r3, #0x7] + add r2, r2, r4 + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r1, r8 + strh r0, [r1] + mov r1, #0xe + mov r2, #0xa + mov r3, #0x4 + bl debug_80C68CC + ldr r1, ._881 + 16 @ gTasks + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._881 + 20 @ debug_80C7DDC + str r1, [r0] + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._882: + .align 2, 0 +._881: + .word gUnknown_Debug_2038A20 + .word gPlttBufferUnfaded + .word gPlttBufferFaded + .word 0x101 + .word gTasks + .word debug_80C7DDC+1 + + thumb_func_end debug_80C802C + + .align 2, 0 + +.endif |