summaryrefslogtreecommitdiff
path: root/src/debug/tomomichi_debug_menu.c
diff options
context:
space:
mode:
authorCameron Hall <cameronghall@cox.net>2018-01-16 22:25:35 -0600
committerCameron Hall <cameronghall@cox.net>2018-01-16 22:25:35 -0600
commit91cfb6a564f73f02eb57792f8a0f4aa82e1867d1 (patch)
tree16c7a1de365dabdd85dcc3621ea366fb79a5282c /src/debug/tomomichi_debug_menu.c
parent6b5a7d8611103ab2ee0210dc6d87bd42f4e3317f (diff)
add debug ifdefs
Diffstat (limited to 'src/debug/tomomichi_debug_menu.c')
-rw-r--r--src/debug/tomomichi_debug_menu.c8643
1 files changed, 8643 insertions, 0 deletions
diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c
new file mode 100644
index 000000000..f745f2993
--- /dev/null
+++ b/src/debug/tomomichi_debug_menu.c
@@ -0,0 +1,8643 @@
+#ifdef DEBUG
+#include "global.h"
+
+#define BSS_DATA __attribute__((section(".bss")))
+
+BSS_DATA u8 gDebug_03000700[0x24] = { 0 };
+
+__attribute__((naked))
+void InitTomomichiDebugWindow()
+{
+ asm(
+ " push {lr}\n"
+ " bl debug_sub_808B874\n"
+ " mov r0, #0x0\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808B868()
+{
+ asm(
+ " push {lr}\n"
+ " bl c2_exit_to_overworld_1_continue_scripts_restart_music\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808B874()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0xd\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._1\n"
+ " mov r0, #0x1\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " ldr r0, ._1 + 4\n"
+ " ldrb r0, [r0]\n"
+ " str r0, [sp]\n"
+ " mov r0, #0xc\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._1 + 8\n"
+ " ldr r0, ._1 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._2:\n"
+ " .align 2, 0\n"
+ "._1:\n"
+ " .word gUnknown_Debug_083C0CBA\n"
+ " .word gDebug_03000700+0x1d\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808B8C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808B8C8()
+{
+ asm(
+ " push {r4, lr}\n"
+ " ldr r4, ._7\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x40\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._3 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._7 + 4\n"
+ " strb r0, [r1]\n"
+ "._3:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._4 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._7 + 4\n"
+ " strb r0, [r1]\n"
+ "._4:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._5 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " ldr r1, ._7 + 8\n"
+ " ldr r0, ._7 + 4\n"
+ " ldrb r0, [r0]\n"
+ " lsl r0, r0, #0x3\n"
+ " add r1, r1, #0x4\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " bl _call_via_r0\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " b ._10\n"
+ "._8:\n"
+ " .align 2, 0\n"
+ "._7:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0x1d\n"
+ " .word gUnknown_Debug_083C0CBA\n"
+ "._5:\n"
+ " mov r0, #0xa\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " bne ._9 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._10\n"
+ "._9:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._10:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_ContestGraphics()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x14\n"
+ " mov r3, #0xb\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r0, ._11\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl MenuPrint\n"
+ " ldr r3, ._11 + 4\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x3\n"
+ " mov r2, #0x4\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x13\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " mov r3, #0x4\n"
+ " bl InitMenu\n"
+ " ldr r1, ._11 + 8\n"
+ " ldr r0, ._11 + 12\n"
+ " str r0, [r1]\n"
+ " ldr r0, ._11 + 16\n"
+ " mov r2, #0x1\n"
+ " strh r2, [r0]\n"
+ " ldr r1, ._11 + 20\n"
+ " ldr r0, ._11 + 24\n"
+ " str r0, [r1]\n"
+ " ldr r0, ._11 + 28\n"
+ " str r4, [r0]\n"
+ " ldr r0, ._11 + 32\n"
+ " strb r2, [r0]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._12:\n"
+ " .align 2, 0\n"
+ "._11:\n"
+ " .word gUnknown_Debug_083C0CF4\n"
+ " .word gUnknown_Debug_083C0D2C\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808BC48+1\n"
+ " .word gDebug_03000700\n"
+ " .word gDebug_03000700+0x4\n"
+ " .word 0x6f33\n"
+ " .word gDebug_03000700+0x8\n"
+ " .word gDebug_03000700+0xc\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_ArtMusGraphics()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x14\n"
+ " mov r3, #0xb\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r0, ._13\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl MenuPrint\n"
+ " ldr r3, ._13 + 4\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x3\n"
+ " mov r2, #0x4\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x13\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " mov r3, #0x4\n"
+ " bl InitMenu\n"
+ " ldr r1, ._13 + 8\n"
+ " ldr r0, ._13 + 12\n"
+ " str r0, [r1]\n"
+ " ldr r0, ._13 + 16\n"
+ " mov r2, #0x1\n"
+ " strh r2, [r0]\n"
+ " ldr r1, ._13 + 20\n"
+ " ldr r0, ._13 + 24\n"
+ " str r0, [r1]\n"
+ " ldr r0, ._13 + 28\n"
+ " str r4, [r0]\n"
+ " ldr r0, ._13 + 32\n"
+ " strb r2, [r0]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._14:\n"
+ " .align 2, 0\n"
+ "._13:\n"
+ " .word gUnknown_Debug_083C0D4C\n"
+ " .word gUnknown_Debug_083C0D83\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808BCBC+1\n"
+ " .word gDebug_03000700\n"
+ " .word gDebug_03000700+0x4\n"
+ " .word 0x6f33\n"
+ " .word gDebug_03000700+0x8\n"
+ " .word gDebug_03000700+0xd\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_PreviewData()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x14\n"
+ " mov r3, #0xb\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r0, ._15\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl MenuPrint\n"
+ " ldr r3, ._15 + 4\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x3\n"
+ " mov r2, #0x4\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x13\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " mov r3, #0x4\n"
+ " bl InitMenu\n"
+ " ldr r1, ._15 + 8\n"
+ " ldr r0, ._15 + 12\n"
+ " str r0, [r1]\n"
+ " ldr r0, ._15 + 16\n"
+ " mov r2, #0x1\n"
+ " strh r2, [r0]\n"
+ " ldr r1, ._15 + 20\n"
+ " ldr r0, ._15 + 24\n"
+ " str r0, [r1]\n"
+ " ldr r0, ._15 + 28\n"
+ " str r4, [r0]\n"
+ " ldr r0, ._15 + 32\n"
+ " strb r2, [r0]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._16:\n"
+ " .align 2, 0\n"
+ "._15:\n"
+ " .word gUnknown_Debug_083C0DA4\n"
+ " .word gUnknown_Debug_083C0DD4\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808BD30+1\n"
+ " .word gDebug_03000700\n"
+ " .word gDebug_03000700+0x4\n"
+ " .word 0x6f33\n"
+ " .word gDebug_03000700+0x8\n"
+ " .word gDebug_03000700+0xe\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_TrickHouse()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x7\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r0, ._17\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl MenuPrint\n"
+ " ldr r3, ._17 + 4\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x3\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " ldr r0, ._17 + 8\n"
+ " ldrb r0, [r0]\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r1, ._17 + 12\n"
+ " ldr r0, ._17 + 16\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._18:\n"
+ " .align 2, 0\n"
+ "._17:\n"
+ " .word gUnknown_Debug_083C0DF4\n"
+ " .word gUnknown_Debug_083C0E15\n"
+ " .word gDebug_03000700+0x1e\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808BDA4+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_ControlEvents()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x5\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._19\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " ldr r0, ._19 + 4\n"
+ " ldrb r0, [r0]\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r1, ._19 + 8\n"
+ " ldr r0, ._19 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._20:\n"
+ " .align 2, 0\n"
+ "._19:\n"
+ " .word gUnknown_Debug_083C0E32\n"
+ " .word gDebug_03000700+0x1f\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808BE2C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_ControlFlags()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._21\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " ldr r0, ._21 + 4\n"
+ " ldrb r0, [r0]\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._21 + 8\n"
+ " ldr r0, ._21 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._22:\n"
+ " .align 2, 0\n"
+ "._21:\n"
+ " .word gUnknown_Debug_083C0E7F\n"
+ " .word gDebug_03000700+0x20\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808BEB4+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_ControlWorks()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._23\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x6\n"
+ " bl PrintMenuItems\n"
+ " ldr r0, ._23 + 4\n"
+ " ldrb r0, [r0]\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x6\n"
+ " bl InitMenu\n"
+ " ldr r1, ._23 + 8\n"
+ " ldr r0, ._23 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._24:\n"
+ " .align 2, 0\n"
+ "._23:\n"
+ " .word gUnknown_Debug_083C0EF1\n"
+ " .word gDebug_03000700+0x21\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808BF3C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808BC48()
+{
+ asm(
+ " push {r4, lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r0, r0, #0x18\n"
+ " cmp r0, #0x1\n"
+ " beq ._25 @cond_branch\n"
+ " cmp r0, #0x1\n"
+ " bgt ._26 @cond_branch\n"
+ " cmp r0, #0\n"
+ " beq ._27 @cond_branch\n"
+ " b ._32\n"
+ "._26:\n"
+ " cmp r0, #0x2\n"
+ " beq ._29 @cond_branch\n"
+ " b ._32\n"
+ "._27:\n"
+ " bl debug_sub_808ED0C\n"
+ " b ._32\n"
+ "._25:\n"
+ " bl debug_sub_808ED9C\n"
+ " b ._32\n"
+ "._29:\n"
+ " bl debug_sub_808EE3C\n"
+ "._32:\n"
+ " mov r0, #0x0\n"
+ " bl debug_sub_808EF8C\n"
+ " lsl r0, r4, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._36 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._34 @cond_branch\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " b ._35\n"
+ "._34:\n"
+ " cmp r1, #0x3\n"
+ " bne ._36 @cond_branch\n"
+ " ldr r0, ._37\n"
+ " ldr r1, ._37 + 4\n"
+ " ldr r1, [r1, #0x1c]\n"
+ " str r1, [r0]\n"
+ "._36:\n"
+ " mov r0, #0x0\n"
+ "._35:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._38:\n"
+ " .align 2, 0\n"
+ "._37:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C0D2C\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808BCBC()
+{
+ asm(
+ " push {r4, lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r0, r0, #0x18\n"
+ " cmp r0, #0x1\n"
+ " beq ._39 @cond_branch\n"
+ " cmp r0, #0x1\n"
+ " bgt ._40 @cond_branch\n"
+ " cmp r0, #0\n"
+ " beq ._41 @cond_branch\n"
+ " b ._46\n"
+ "._40:\n"
+ " cmp r0, #0x2\n"
+ " beq ._43 @cond_branch\n"
+ " b ._46\n"
+ "._41:\n"
+ " bl debug_sub_808ED0C\n"
+ " b ._46\n"
+ "._39:\n"
+ " bl debug_sub_808ED9C\n"
+ " b ._46\n"
+ "._43:\n"
+ " bl debug_sub_808EE9C\n"
+ "._46:\n"
+ " mov r0, #0x1\n"
+ " bl debug_sub_808EF8C\n"
+ " lsl r0, r4, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._50 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._48 @cond_branch\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " b ._49\n"
+ "._48:\n"
+ " cmp r1, #0x3\n"
+ " bne ._50 @cond_branch\n"
+ " ldr r0, ._51\n"
+ " ldr r1, ._51 + 4\n"
+ " ldr r1, [r1, #0x1c]\n"
+ " str r1, [r0]\n"
+ "._50:\n"
+ " mov r0, #0x0\n"
+ "._49:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._52:\n"
+ " .align 2, 0\n"
+ "._51:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C0D83\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808BD30()
+{
+ asm(
+ " push {r4, lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r0, r0, #0x18\n"
+ " cmp r0, #0x1\n"
+ " beq ._53 @cond_branch\n"
+ " cmp r0, #0x1\n"
+ " bgt ._54 @cond_branch\n"
+ " cmp r0, #0\n"
+ " beq ._55 @cond_branch\n"
+ " b ._60\n"
+ "._54:\n"
+ " cmp r0, #0x2\n"
+ " beq ._57 @cond_branch\n"
+ " b ._60\n"
+ "._55:\n"
+ " bl debug_sub_808ED0C\n"
+ " b ._60\n"
+ "._53:\n"
+ " bl debug_sub_808ED9C\n"
+ " b ._60\n"
+ "._57:\n"
+ " bl debug_sub_808EF14\n"
+ "._60:\n"
+ " mov r0, #0x2\n"
+ " bl debug_sub_808EF8C\n"
+ " lsl r0, r4, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._64 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._62 @cond_branch\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " b ._63\n"
+ "._62:\n"
+ " cmp r1, #0x3\n"
+ " bne ._64 @cond_branch\n"
+ " ldr r0, ._65\n"
+ " ldr r1, ._65 + 4\n"
+ " ldr r1, [r1, #0x1c]\n"
+ " str r1, [r0]\n"
+ "._64:\n"
+ " mov r0, #0x0\n"
+ "._63:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._66:\n"
+ " .align 2, 0\n"
+ "._65:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C0DD4\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808BDA4()
+{
+ asm(
+ " push {r4, lr}\n"
+ " ldr r4, ._71\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x40\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._67 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._71 + 4\n"
+ " strb r0, [r1]\n"
+ "._67:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._68 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._71 + 4\n"
+ " strb r0, [r1]\n"
+ "._68:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._69 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " ldr r1, ._71 + 8\n"
+ " ldr r0, ._71 + 4\n"
+ " ldrb r0, [r0]\n"
+ " lsl r0, r0, #0x3\n"
+ " add r1, r1, #0x4\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " bl _call_via_r0\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " b ._74\n"
+ "._72:\n"
+ " .align 2, 0\n"
+ "._71:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0x1e\n"
+ " .word gUnknown_Debug_083C0E15\n"
+ "._69:\n"
+ " mov r0, #0xa\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " bne ._73 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._74\n"
+ "._73:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._74:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808BE2C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " ldr r4, ._79\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x40\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._75 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._79 + 4\n"
+ " strb r0, [r1]\n"
+ "._75:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._76 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._79 + 4\n"
+ " strb r0, [r1]\n"
+ "._76:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._77 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " ldr r1, ._79 + 8\n"
+ " ldr r0, ._79 + 4\n"
+ " ldrb r0, [r0]\n"
+ " lsl r0, r0, #0x3\n"
+ " add r1, r1, #0x4\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " bl _call_via_r0\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " b ._82\n"
+ "._80:\n"
+ " .align 2, 0\n"
+ "._79:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0x1f\n"
+ " .word gUnknown_Debug_083C0E32\n"
+ "._77:\n"
+ " mov r0, #0xa\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " bne ._81 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._82\n"
+ "._81:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._82:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808BEB4()
+{
+ asm(
+ " push {r4, lr}\n"
+ " ldr r4, ._87\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x40\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._83 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._87 + 4\n"
+ " strb r0, [r1]\n"
+ "._83:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._84 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._87 + 4\n"
+ " strb r0, [r1]\n"
+ "._84:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._85 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " ldr r1, ._87 + 8\n"
+ " ldr r0, ._87 + 4\n"
+ " ldrb r0, [r0]\n"
+ " lsl r0, r0, #0x3\n"
+ " add r1, r1, #0x4\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " bl _call_via_r0\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " b ._90\n"
+ "._88:\n"
+ " .align 2, 0\n"
+ "._87:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0x20\n"
+ " .word gUnknown_Debug_083C0E7F\n"
+ "._85:\n"
+ " mov r0, #0xa\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " bne ._89 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._90\n"
+ "._89:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._90:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808BF3C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " ldr r4, ._95\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x40\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._91 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._95 + 4\n"
+ " strb r0, [r1]\n"
+ "._91:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._92 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r0, #0x1\n"
+ " bl MoveMenuCursor\n"
+ " ldr r1, ._95 + 4\n"
+ " strb r0, [r1]\n"
+ "._92:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._93 @cond_branch\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " ldr r1, ._95 + 8\n"
+ " ldr r0, ._95 + 4\n"
+ " ldrb r0, [r0]\n"
+ " lsl r0, r0, #0x3\n"
+ " add r1, r1, #0x4\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " bl _call_via_r0\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " b ._98\n"
+ "._96:\n"
+ " .align 2, 0\n"
+ "._95:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0x21\n"
+ " .word gUnknown_Debug_083C0EF1\n"
+ "._93:\n"
+ " mov r0, #0xa\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " bne ._97 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._98\n"
+ "._97:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._98:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808BFC4()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._99\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._99 + 4\n"
+ " ldr r0, ._99 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._100:\n"
+ " .align 2, 0\n"
+ "._99:\n"
+ " .word gUnknown_Debug_083C0F79\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C064+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C014()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._101\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x6\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x6\n"
+ " bl InitMenu\n"
+ " ldr r1, ._101 + 4\n"
+ " ldr r0, ._101 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._102:\n"
+ " .align 2, 0\n"
+ "._101:\n"
+ " .word gUnknown_Debug_083C0FFC\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C0A8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C064()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._103 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._106\n"
+ "._103:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._105 @cond_branch\n"
+ " ldr r2, ._107\n"
+ " ldr r0, ._107 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._106\n"
+ "._108:\n"
+ " .align 2, 0\n"
+ "._107:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C0F79\n"
+ "._105:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._106:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C0A8()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._109 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._112\n"
+ "._109:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._111 @cond_branch\n"
+ " ldr r2, ._113\n"
+ " ldr r0, ._113 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._112\n"
+ "._114:\n"
+ " .align 2, 0\n"
+ "._113:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C0FFC\n"
+ "._111:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._112:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C0EC()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._115\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._116:\n"
+ " .align 2, 0\n"
+ "._115:\n"
+ " .word DebugScript_081C1CFE\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C104()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._117\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._118:\n"
+ " .align 2, 0\n"
+ "._117:\n"
+ " .word DebugScript_081C1D07\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C11C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._119\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._120:\n"
+ " .align 2, 0\n"
+ "._119:\n"
+ " .word DebugScript_081C1D1E\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C134()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._121\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._122:\n"
+ " .align 2, 0\n"
+ "._121:\n"
+ " .word DebugScript_081C1D24\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C14C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._123\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._124:\n"
+ " .align 2, 0\n"
+ "._123:\n"
+ " .word DebugScript_081C1D2A\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C164()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._125\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._126:\n"
+ " .align 2, 0\n"
+ "._125:\n"
+ " .word DebugScript_081C1D35\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C17C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._127\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._128:\n"
+ " .align 2, 0\n"
+ "._127:\n"
+ " .word DebugScript_081C1D46\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C194()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._129\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._130:\n"
+ " .align 2, 0\n"
+ "._129:\n"
+ " .word DebugScript_081C221F\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C1AC()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._131\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._132:\n"
+ " .align 2, 0\n"
+ "._131:\n"
+ " .word DebugScript_081C23E2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C1C4()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._133\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._134:\n"
+ " .align 2, 0\n"
+ "._133:\n"
+ " .word DebugScript_081C23E6\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C1DC()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._135\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._136:\n"
+ " .align 2, 0\n"
+ "._135:\n"
+ " .word DebugScript_081C23F6\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C1F4()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._137\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._138:\n"
+ " .align 2, 0\n"
+ "._137:\n"
+ " .word DebugScript_081C2482\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C20C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._139\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._140:\n"
+ " .align 2, 0\n"
+ "._139:\n"
+ " .word DebugScript_081C23FD\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C224()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._141\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._142:\n"
+ " .align 2, 0\n"
+ "._141:\n"
+ " .word DebugScript_081C2518\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C23C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._143\n"
+ " bl ScriptContext1_SetupScript\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._144:\n"
+ " .align 2, 0\n"
+ "._143:\n"
+ " .word DebugScript_081C2507\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_ContestGraphics_Show()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffffc\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " mov r1, #0x0\n"
+ " str r1, [sp]\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x10\n"
+ " bl BeginNormalPaletteFade\n"
+ " ldr r1, ._145\n"
+ " ldr r0, ._145 + 4\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x4\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._146:\n"
+ " .align 2, 0\n"
+ "._145:\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C280+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C280()
+{
+ asm(
+ " push {lr}\n"
+ " bl UpdatePaletteFade\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " beq ._147 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._148\n"
+ "._147:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x0\n"
+ " bl debug_sub_808F168\n"
+ " ldr r0, ._149\n"
+ " bl SetMainCallback2\n"
+ " ldr r1, ._149 + 4\n"
+ " ldr r0, ._149 + 8\n"
+ " str r0, [r1, #0x8]\n"
+ " mov r0, #0x1\n"
+ "._148:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._150:\n"
+ " .align 2, 0\n"
+ "._149:\n"
+ " .word CB2_ContestPainting+1\n"
+ " .word gMain\n"
+ " .word debug_sub_808B868+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_MuseumGraphics_Show()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffffc\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " mov r1, #0x0\n"
+ " str r1, [sp]\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x10\n"
+ " bl BeginNormalPaletteFade\n"
+ " ldr r1, ._151\n"
+ " ldr r0, ._151 + 4\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x4\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._152:\n"
+ " .align 2, 0\n"
+ "._151:\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C2E4+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C2E4()
+{
+ asm(
+ " push {lr}\n"
+ " bl UpdatePaletteFade\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " beq ._153 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._154\n"
+ "._153:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " bl debug_sub_808F168\n"
+ " ldr r0, ._155\n"
+ " bl SetMainCallback2\n"
+ " ldr r1, ._155 + 4\n"
+ " ldr r0, ._155 + 8\n"
+ " str r0, [r1, #0x8]\n"
+ " mov r0, #0x1\n"
+ "._154:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._156:\n"
+ " .align 2, 0\n"
+ "._155:\n"
+ " .word CB2_ContestPainting+1\n"
+ " .word gMain\n"
+ " .word debug_sub_808B868+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C31C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._157\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._157 + 4\n"
+ " ldr r0, ._157 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._158:\n"
+ " .align 2, 0\n"
+ "._157:\n"
+ " .word gUnknown_Debug_083C2828\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C36C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C36C()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._159 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._162\n"
+ "._159:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._161 @cond_branch\n"
+ " ldr r2, ._163\n"
+ " ldr r0, ._163 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._162\n"
+ "._164:\n"
+ " .align 2, 0\n"
+ "._163:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C2828\n"
+ "._161:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._162:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C3B0()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._165\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r0, ._165 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._165 + 8\n"
+ " ldr r0, ._165 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._166:\n"
+ " .align 2, 0\n"
+ "._165:\n"
+ " .word gUnknown_Debug_083C2938\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C408()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._167\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._167 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._167 + 8\n"
+ " ldr r0, ._167 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._168:\n"
+ " .align 2, 0\n"
+ "._167:\n"
+ " .word gUnknown_Debug_083C2A48\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C460()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._169\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._169 + 4\n"
+ " mov r0, #0x2\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._169 + 8\n"
+ " ldr r0, ._169 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._170:\n"
+ " .align 2, 0\n"
+ "._169:\n"
+ " .word gUnknown_Debug_083C2B4C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C4B8()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._171\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._171 + 4\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._171 + 8\n"
+ " ldr r0, ._171 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._172:\n"
+ " .align 2, 0\n"
+ "._171:\n"
+ " .word gUnknown_Debug_083C2C80\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C510()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._173\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._173 + 4\n"
+ " mov r0, #0x4\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._173 + 8\n"
+ " ldr r0, ._173 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._174:\n"
+ " .align 2, 0\n"
+ "._173:\n"
+ " .word gUnknown_Debug_083C2D8C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C568()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._175\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._175 + 4\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._175 + 8\n"
+ " ldr r0, ._175 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._176:\n"
+ " .align 2, 0\n"
+ "._175:\n"
+ " .word gUnknown_Debug_083C2EB0\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C5C0()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._177\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._177 + 4\n"
+ " mov r0, #0x6\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._177 + 8\n"
+ " ldr r0, ._177 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._178:\n"
+ " .align 2, 0\n"
+ "._177:\n"
+ " .word gUnknown_Debug_083C2FE0\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C618()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._179\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._179 + 4\n"
+ " mov r0, #0x7\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._179 + 8\n"
+ " ldr r0, ._179 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._180:\n"
+ " .align 2, 0\n"
+ "._179:\n"
+ " .word gUnknown_Debug_083C3100\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C670()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x7\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._181\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x3\n"
+ " bl InitMenu\n"
+ " ldr r1, ._181 + 4\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._181 + 8\n"
+ " ldr r0, ._181 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._182:\n"
+ " .align 2, 0\n"
+ "._181:\n"
+ " .word gUnknown_Debug_083C3194\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C6C8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C6C8()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._186\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808C714\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808C764\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._183 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._184 @cond_branch\n"
+ "._183:\n"
+ " mov r0, #0x0\n"
+ " b ._185\n"
+ "._187:\n"
+ " .align 2, 0\n"
+ "._186:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._184:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._185:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C714()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._191\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._190 @cond_branch\n"
+ " ldr r0, ._191 + 4\n"
+ " lsl r1, r2, #0x3\n"
+ " add r1, r1, r2\n"
+ " add r1, r1, r3\n"
+ " lsl r1, r1, #0x1\n"
+ " add r1, r1, r0\n"
+ " ldrh r4, [r1]\n"
+ " add r0, r4, #0\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " bne ._189 @cond_branch\n"
+ " add r0, r4, #0\n"
+ " bl FlagSet\n"
+ " b ._190\n"
+ "._192:\n"
+ " .align 2, 0\n"
+ "._191:\n"
+ " .word gMain\n"
+ " .word gUnknown_Debug_083C31DC+0xa\n"
+ "._189:\n"
+ " add r0, r4, #0\n"
+ " bl FlagReset\n"
+ "._190:\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C764()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._195\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._193 @cond_branch\n"
+ " ldr r0, ._195 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._194:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " neg r2, r0\n"
+ " orr r2, r2, r0\n"
+ " lsr r2, r2, #0x1f\n"
+ " mov r0, #0x1c\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F2E0\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._194 @cond_branch\n"
+ "._193:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._196:\n"
+ " .align 2, 0\n"
+ "._195:\n"
+ " .word gUnknown_Debug_083C31DC\n"
+ " .word gUnknown_Debug_083C31DC+0xa\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C7C8()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._197\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._197 + 4\n"
+ " ldr r0, ._197 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._198:\n"
+ " .align 2, 0\n"
+ "._197:\n"
+ " .word gUnknown_Debug_083C1CE8\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808C818+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C818()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._199 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._202\n"
+ "._199:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._201 @cond_branch\n"
+ " ldr r2, ._203\n"
+ " ldr r0, ._203 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._202\n"
+ "._204:\n"
+ " .align 2, 0\n"
+ "._203:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C1CE8\n"
+ "._201:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._202:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C85C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._205\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r0, ._205 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._205 + 8\n"
+ " ldr r0, ._205 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._206:\n"
+ " .align 2, 0\n"
+ "._205:\n"
+ " .word gUnknown_Debug_083C1E0C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C8B4()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._207\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._207 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._207 + 8\n"
+ " ldr r0, ._207 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._208:\n"
+ " .align 2, 0\n"
+ "._207:\n"
+ " .word gUnknown_Debug_083C1F38\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C90C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._209\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._209 + 4\n"
+ " mov r0, #0x2\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._209 + 8\n"
+ " ldr r0, ._209 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._210:\n"
+ " .align 2, 0\n"
+ "._209:\n"
+ " .word gUnknown_Debug_083C206C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C964()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._211\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._211 + 4\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._211 + 8\n"
+ " ldr r0, ._211 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._212:\n"
+ " .align 2, 0\n"
+ "._211:\n"
+ " .word gUnknown_Debug_083C2190\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808C9BC()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._213\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x6\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x6\n"
+ " bl InitMenu\n"
+ " ldr r1, ._213 + 4\n"
+ " mov r0, #0x4\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._213 + 8\n"
+ " ldr r0, ._213 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._214:\n"
+ " .align 2, 0\n"
+ "._213:\n"
+ " .word gUnknown_Debug_083C2264\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CA14()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._215\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._215 + 4\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._215 + 8\n"
+ " ldr r0, ._215 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._216:\n"
+ " .align 2, 0\n"
+ "._215:\n"
+ " .word gUnknown_Debug_083C2370\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CA6C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._217\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._217 + 4\n"
+ " mov r0, #0x6\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._217 + 8\n"
+ " ldr r0, ._217 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._218:\n"
+ " .align 2, 0\n"
+ "._217:\n"
+ " .word gUnknown_Debug_083C248C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CAC4()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._219\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._219 + 4\n"
+ " mov r0, #0x7\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._219 + 8\n"
+ " ldr r0, ._219 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._220:\n"
+ " .align 2, 0\n"
+ "._219:\n"
+ " .word gUnknown_Debug_083C259C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CB1C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._221\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._221 + 4\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._221 + 8\n"
+ " ldr r0, ._221 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._222:\n"
+ " .align 2, 0\n"
+ "._221:\n"
+ " .word gUnknown_Debug_083C26C8\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CB74+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CB74()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._226\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808CBC0\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808CC10\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._223 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._224 @cond_branch\n"
+ "._223:\n"
+ " mov r0, #0x0\n"
+ " b ._225\n"
+ "._227:\n"
+ " .align 2, 0\n"
+ "._226:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._224:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._225:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CBC0()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._231\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._230 @cond_branch\n"
+ " ldr r0, ._231 + 4\n"
+ " lsl r1, r2, #0x3\n"
+ " add r1, r1, r2\n"
+ " add r1, r1, r3\n"
+ " lsl r1, r1, #0x1\n"
+ " add r1, r1, r0\n"
+ " ldrh r4, [r1]\n"
+ " add r0, r4, #0\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " bne ._229 @cond_branch\n"
+ " add r0, r4, #0\n"
+ " bl FlagSet\n"
+ " b ._230\n"
+ "._232:\n"
+ " .align 2, 0\n"
+ "._231:\n"
+ " .word gMain\n"
+ " .word gUnknown_Debug_083C2710+0xa\n"
+ "._229:\n"
+ " add r0, r4, #0\n"
+ " bl FlagReset\n"
+ "._230:\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CC10()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._235\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._233 @cond_branch\n"
+ " ldr r0, ._235 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._234:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " neg r2, r0\n"
+ " orr r2, r2, r0\n"
+ " lsr r2, r2, #0x1f\n"
+ " mov r0, #0x1c\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F2E0\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._234 @cond_branch\n"
+ "._233:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._236:\n"
+ " .align 2, 0\n"
+ "._235:\n"
+ " .word gUnknown_Debug_083C2710\n"
+ " .word gUnknown_Debug_083C2710+0xa\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CC74()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0x7\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._237\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x3\n"
+ " bl InitMenu\n"
+ " ldr r1, ._237 + 4\n"
+ " ldr r0, ._237 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._238:\n"
+ " .align 2, 0\n"
+ "._237:\n"
+ " .word gUnknown_Debug_083C1ADC\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CCC4+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CCC4()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._239 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._242\n"
+ "._239:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._241 @cond_branch\n"
+ " ldr r2, ._243\n"
+ " ldr r0, ._243 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._242\n"
+ "._244:\n"
+ " .align 2, 0\n"
+ "._243:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C1ADC\n"
+ "._241:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._242:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CD08()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x11\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._245\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x8\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x8\n"
+ " bl InitMenu\n"
+ " ldr r0, ._245 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._245 + 8\n"
+ " ldr r0, ._245 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._246:\n"
+ " .align 2, 0\n"
+ "._245:\n"
+ " .word gUnknown_Debug_083C1B7C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CE10+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CD60()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x9\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._247\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x4\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x4\n"
+ " bl InitMenu\n"
+ " ldr r1, ._247 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._247 + 8\n"
+ " ldr r0, ._247 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._248:\n"
+ " .align 2, 0\n"
+ "._247:\n"
+ " .word gUnknown_Debug_083C1BF0\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CE10+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CDB8()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x3\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._249\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x1\n"
+ " bl InitMenu\n"
+ " ldr r1, ._249 + 4\n"
+ " mov r0, #0x2\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._249 + 8\n"
+ " ldr r0, ._249 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._250:\n"
+ " .align 2, 0\n"
+ "._249:\n"
+ " .word gUnknown_Debug_083C1C2C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CE10+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CE10()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._254\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808CE5C\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808CEAC\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._251 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._252 @cond_branch\n"
+ "._251:\n"
+ " mov r0, #0x0\n"
+ " b ._253\n"
+ "._255:\n"
+ " .align 2, 0\n"
+ "._254:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._252:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._253:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CE5C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._259\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._258 @cond_branch\n"
+ " ldr r0, ._259 + 4\n"
+ " lsl r1, r2, #0x3\n"
+ " add r1, r1, r2\n"
+ " add r1, r1, r3\n"
+ " lsl r1, r1, #0x1\n"
+ " add r1, r1, r0\n"
+ " ldrh r4, [r1]\n"
+ " add r0, r4, #0\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " bne ._257 @cond_branch\n"
+ " add r0, r4, #0\n"
+ " bl FlagSet\n"
+ " b ._258\n"
+ "._260:\n"
+ " .align 2, 0\n"
+ "._259:\n"
+ " .word gMain\n"
+ " .word gUnknown_Debug_083C1C34+0x4\n"
+ "._257:\n"
+ " add r0, r4, #0\n"
+ " bl FlagReset\n"
+ "._258:\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CEAC()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._263\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._261 @cond_branch\n"
+ " ldr r0, ._263 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._262:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " neg r2, r0\n"
+ " orr r2, r2, r0\n"
+ " lsr r2, r2, #0x1f\n"
+ " mov r0, #0x1c\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F2E0\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._262 @cond_branch\n"
+ "._261:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._264:\n"
+ " .align 2, 0\n"
+ "._263:\n"
+ " .word gUnknown_Debug_083C1C34\n"
+ " .word gUnknown_Debug_083C1C34+0x4\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CF10()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._265\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._265 + 4\n"
+ " ldr r0, ._265 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._266:\n"
+ " .align 2, 0\n"
+ "._265:\n"
+ " .word gUnknown_Debug_083C1330\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808CF60+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CF60()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._267 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._270\n"
+ "._267:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._269 @cond_branch\n"
+ " ldr r2, ._271\n"
+ " ldr r0, ._271 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._270\n"
+ "._272:\n"
+ " .align 2, 0\n"
+ "._271:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C1330\n"
+ "._269:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._270:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CFA4()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x11\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._273\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x8\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x8\n"
+ " bl InitMenu\n"
+ " ldr r0, ._273 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._273 + 8\n"
+ " ldr r0, ._273 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._274:\n"
+ " .align 2, 0\n"
+ "._273:\n"
+ " .word gUnknown_Debug_083C13D8\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808CFFC()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._275\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._275 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._275 + 8\n"
+ " ldr r0, ._275 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._276:\n"
+ " .align 2, 0\n"
+ "._275:\n"
+ " .word gUnknown_Debug_083C1465\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D054()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._277\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._277 + 4\n"
+ " mov r0, #0x2\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._277 + 8\n"
+ " ldr r0, ._277 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._278:\n"
+ " .align 2, 0\n"
+ "._277:\n"
+ " .word gUnknown_Debug_083C1503\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D0AC()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x9\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._279\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x4\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x4\n"
+ " bl InitMenu\n"
+ " ldr r1, ._279 + 4\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._279 + 8\n"
+ " ldr r0, ._279 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._280:\n"
+ " .align 2, 0\n"
+ "._279:\n"
+ " .word gUnknown_Debug_083C158A\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D104()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._281\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._281 + 4\n"
+ " mov r0, #0x4\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._281 + 8\n"
+ " ldr r0, ._281 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._282:\n"
+ " .align 2, 0\n"
+ "._281:\n"
+ " .word gUnknown_Debug_083C1647\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D15C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._283\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._283 + 4\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._283 + 8\n"
+ " ldr r0, ._283 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._284:\n"
+ " .align 2, 0\n"
+ "._283:\n"
+ " .word gUnknown_Debug_083C1712\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D1B4()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._285\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._285 + 4\n"
+ " mov r0, #0x6\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._285 + 8\n"
+ " ldr r0, ._285 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._286:\n"
+ " .align 2, 0\n"
+ "._285:\n"
+ " .word gUnknown_Debug_083C17F8\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D20C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._287\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._287 + 4\n"
+ " mov r0, #0x7\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._287 + 8\n"
+ " ldr r0, ._287 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._288:\n"
+ " .align 2, 0\n"
+ "._287:\n"
+ " .word gUnknown_Debug_083C18B8\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D264()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xb\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._289\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x5\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x5\n"
+ " bl InitMenu\n"
+ " ldr r1, ._289 + 4\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._289 + 8\n"
+ " ldr r0, ._289 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._290:\n"
+ " .align 2, 0\n"
+ "._289:\n"
+ " .word gDebug_0x83C1974\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D2BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D2BC()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._294\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808D308\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808D358\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._291 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._292 @cond_branch\n"
+ "._291:\n"
+ " mov r0, #0x0\n"
+ " b ._293\n"
+ "._295:\n"
+ " .align 2, 0\n"
+ "._294:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._292:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._293:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D308()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._299\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._298 @cond_branch\n"
+ " ldr r0, ._299 + 4\n"
+ " lsl r1, r2, #0x3\n"
+ " add r1, r1, r2\n"
+ " add r1, r1, r3\n"
+ " lsl r1, r1, #0x1\n"
+ " add r1, r1, r0\n"
+ " ldrh r4, [r1]\n"
+ " add r0, r4, #0\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " bne ._297 @cond_branch\n"
+ " add r0, r4, #0\n"
+ " bl FlagSet\n"
+ " b ._298\n"
+ "._300:\n"
+ " .align 2, 0\n"
+ "._299:\n"
+ " .word gMain\n"
+ " .word gUnknown_Debug_083C19C6\n"
+ "._297:\n"
+ " add r0, r4, #0\n"
+ " bl FlagReset\n"
+ "._298:\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D358()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._303\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._301 @cond_branch\n"
+ " ldr r0, ._303 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._302:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " neg r2, r0\n"
+ " orr r2, r2, r0\n"
+ " lsr r2, r2, #0x1f\n"
+ " mov r0, #0x1c\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F2E0\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._302 @cond_branch\n"
+ "._301:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._304:\n"
+ " .align 2, 0\n"
+ "._303:\n"
+ " .word gUnknown_Debug_083C19BC\n"
+ " .word gUnknown_Debug_083C19C6\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D3BC()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0x5\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._305\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r1, ._305 + 4\n"
+ " ldr r0, ._305 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._306:\n"
+ " .align 2, 0\n"
+ "._305:\n"
+ " .word gUnknown_Debug_083C105C\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D40C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D40C()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._307 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._310\n"
+ "._307:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._309 @cond_branch\n"
+ " ldr r2, ._311\n"
+ " ldr r0, ._311 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._310\n"
+ "._312:\n"
+ " .align 2, 0\n"
+ "._311:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C105C\n"
+ "._309:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._310:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D450()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._313\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r0, ._313 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._313 + 8\n"
+ " ldr r0, ._313 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._314:\n"
+ " .align 2, 0\n"
+ "._313:\n"
+ " .word gUnknown_Debug_083C10BD\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D500+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D4A8()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._315\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._315 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._315 + 8\n"
+ " ldr r0, ._315 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._316:\n"
+ " .align 2, 0\n"
+ "._315:\n"
+ " .word gUnknown_Debug_083C1149\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D500+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D500()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._320\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808D54C\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808D59C\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._317 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._318 @cond_branch\n"
+ "._317:\n"
+ " mov r0, #0x0\n"
+ " b ._319\n"
+ "._321:\n"
+ " .align 2, 0\n"
+ "._320:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._318:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._319:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D54C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._325\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._324 @cond_branch\n"
+ " ldr r0, ._325 + 4\n"
+ " lsl r1, r2, #0x3\n"
+ " add r1, r1, r2\n"
+ " add r1, r1, r3\n"
+ " lsl r1, r1, #0x1\n"
+ " add r1, r1, r0\n"
+ " ldrh r4, [r1]\n"
+ " add r0, r4, #0\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " bne ._323 @cond_branch\n"
+ " add r0, r4, #0\n"
+ " bl FlagSet\n"
+ " b ._324\n"
+ "._326:\n"
+ " .align 2, 0\n"
+ "._325:\n"
+ " .word gMain\n"
+ " .word gUnknown_Debug_083C1194+0x2\n"
+ "._323:\n"
+ " add r0, r4, #0\n"
+ " bl FlagReset\n"
+ "._324:\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D59C()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._329\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._327 @cond_branch\n"
+ " ldr r0, ._329 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._328:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " neg r2, r0\n"
+ " orr r2, r2, r0\n"
+ " lsr r2, r2, #0x1f\n"
+ " mov r0, #0x1c\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F2E0\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._328 @cond_branch\n"
+ "._327:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._330:\n"
+ " .align 2, 0\n"
+ "._329:\n"
+ " .word gUnknown_Debug_083C1194\n"
+ " .word gUnknown_Debug_083C1194+0x2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D600()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0x5\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._331\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r1, ._331 + 4\n"
+ " ldr r0, ._331 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._332:\n"
+ " .align 2, 0\n"
+ "._331:\n"
+ " .word gUnknown_Debug_083C11CC\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D650+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D650()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._333 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._336\n"
+ "._333:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._335 @cond_branch\n"
+ " ldr r2, ._337\n"
+ " ldr r0, ._337 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._336\n"
+ "._338:\n"
+ " .align 2, 0\n"
+ "._337:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C11CC\n"
+ "._335:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._336:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D694()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._339\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r0, ._339 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._339 + 8\n"
+ " ldr r0, ._339 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._340:\n"
+ " .align 2, 0\n"
+ "._339:\n"
+ " .word gUnknown_Debug_083C1212\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D744+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D6EC()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._341\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._341 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._341 + 8\n"
+ " ldr r0, ._341 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._342:\n"
+ " .align 2, 0\n"
+ "._341:\n"
+ " .word gUnknown_Debug_083C1288\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D744+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D744()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._346\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808D790\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808D7E0\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._343 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._344 @cond_branch\n"
+ "._343:\n"
+ " mov r0, #0x0\n"
+ " b ._345\n"
+ "._347:\n"
+ " .align 2, 0\n"
+ "._346:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._344:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._345:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D790()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._351\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._350 @cond_branch\n"
+ " ldr r0, ._351 + 4\n"
+ " lsl r1, r2, #0x3\n"
+ " add r1, r1, r2\n"
+ " add r1, r1, r3\n"
+ " lsl r1, r1, #0x1\n"
+ " add r1, r1, r0\n"
+ " ldrh r4, [r1]\n"
+ " add r0, r4, #0\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " bne ._349 @cond_branch\n"
+ " add r0, r4, #0\n"
+ " bl FlagSet\n"
+ " b ._350\n"
+ "._352:\n"
+ " .align 2, 0\n"
+ "._351:\n"
+ " .word gMain\n"
+ " .word gUnknown_Debug_083C12D0+0x2\n"
+ "._349:\n"
+ " add r0, r4, #0\n"
+ " bl FlagReset\n"
+ "._350:\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D7E0()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._355\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._353 @cond_branch\n"
+ " ldr r0, ._355 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._354:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " neg r2, r0\n"
+ " orr r2, r2, r0\n"
+ " lsr r2, r2, #0x1f\n"
+ " mov r0, #0x1c\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F2E0\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._354 @cond_branch\n"
+ "._353:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._356:\n"
+ " .align 2, 0\n"
+ "._355:\n"
+ " .word gUnknown_Debug_083C12D0\n"
+ " .word gUnknown_Debug_083C12D0+0x2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D844()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1c\n"
+ " mov r3, #0x3\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._357\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1b\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x1\n"
+ " bl InitMenu\n"
+ " ldr r1, ._357 + 4\n"
+ " ldr r0, ._357 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._358:\n"
+ " .align 2, 0\n"
+ "._357:\n"
+ " .word gUnknown_Debug_083C1A78\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D894+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D894()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r3, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r3, r0\n"
+ " bne ._359 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._362\n"
+ "._359:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r3, r0\n"
+ " beq ._361 @cond_branch\n"
+ " ldr r2, ._363\n"
+ " ldr r1, ._363 + 4\n"
+ " lsl r0, r3, #0x3\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0, #0x4]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._362\n"
+ "._364:\n"
+ " .align 2, 0\n"
+ "._363:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C1A78\n"
+ "._361:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._362:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D8D8()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x5\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._365\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r0, ._365 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._365 + 8\n"
+ " ldr r0, ._365 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._366:\n"
+ " .align 2, 0\n"
+ "._365:\n"
+ " .word gUnknown_Debug_083C1A9C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808D930+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D930()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._370\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808D97C\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808D9CC\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._367 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._368 @cond_branch\n"
+ "._367:\n"
+ " mov r0, #0x0\n"
+ " b ._369\n"
+ "._371:\n"
+ " .align 2, 0\n"
+ "._370:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._368:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._369:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D97C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._375\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._374 @cond_branch\n"
+ " ldr r0, ._375 + 4\n"
+ " lsl r1, r2, #0x3\n"
+ " add r1, r1, r2\n"
+ " add r1, r1, r3\n"
+ " lsl r1, r1, #0x1\n"
+ " add r1, r1, r0\n"
+ " ldrh r4, [r1]\n"
+ " add r0, r4, #0\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " bne ._373 @cond_branch\n"
+ " add r0, r4, #0\n"
+ " bl FlagSet\n"
+ " b ._374\n"
+ "._376:\n"
+ " .align 2, 0\n"
+ "._375:\n"
+ " .word gMain\n"
+ " .word gUnknown_Debug_083C1AAC+0x2\n"
+ "._373:\n"
+ " add r0, r4, #0\n"
+ " bl FlagReset\n"
+ "._374:\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808D9CC()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._379\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._377 @cond_branch\n"
+ " ldr r0, ._379 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._378:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl FlagGet\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " neg r2, r0\n"
+ " orr r2, r2, r0\n"
+ " lsr r2, r2, #0x1f\n"
+ " mov r0, #0x1c\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F2E0\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._378 @cond_branch\n"
+ "._377:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._380:\n"
+ " .align 2, 0\n"
+ "._379:\n"
+ " .word gUnknown_Debug_083C1AAC\n"
+ " .word gUnknown_Debug_083C1AAC+0x2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DA30()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x3\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._381\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x1\n"
+ " bl InitMenu\n"
+ " ldr r1, ._381 + 4\n"
+ " ldr r0, ._381 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._382:\n"
+ " .align 2, 0\n"
+ "._381:\n"
+ " .word gUnknown_Debug_083C103A\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DA80+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DA80()
+{
+ asm(
+ " push {r4, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " bl debug_sub_808DAD4\n"
+ " bl debug_sub_808DABC\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._383 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._384 @cond_branch\n"
+ "._383:\n"
+ " mov r0, #0x0\n"
+ " b ._385\n"
+ "._384:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._385:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DABC()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._386\n"
+ " ldrh r2, [r0]\n"
+ " mov r0, #0x18\n"
+ " mov r1, #0x1\n"
+ " bl debug_sub_808F31C\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._387:\n"
+ " .align 2, 0\n"
+ "._386:\n"
+ " .word gScriptResult\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DAD4()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._390\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._388 @cond_branch\n"
+ " mov r2, #0x1\n"
+ " b ._389\n"
+ "._391:\n"
+ " .align 2, 0\n"
+ "._390:\n"
+ " .word gMain\n"
+ "._388:\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._392 @cond_branch\n"
+ " ldr r2, ._393\n"
+ "._389:\n"
+ " ldr r1, ._393 + 4\n"
+ " ldrh r0, [r1]\n"
+ " add r0, r2, r0\n"
+ " strh r0, [r1]\n"
+ "._392:\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._394:\n"
+ " .align 2, 0\n"
+ "._393:\n"
+ " .word 0xffff\n"
+ " .word gScriptResult\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DB0C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._395\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._395 + 4\n"
+ " ldr r0, ._395 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._396:\n"
+ " .align 2, 0\n"
+ "._395:\n"
+ " .word gUnknown_Debug_083C3D08\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DB5C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DB5C()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._397 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._400\n"
+ "._397:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._399 @cond_branch\n"
+ " ldr r2, ._401\n"
+ " ldr r0, ._401 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._400\n"
+ "._402:\n"
+ " .align 2, 0\n"
+ "._401:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C3D08\n"
+ "._399:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._400:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DBA0()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x11\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._403\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x8\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x8\n"
+ " bl InitMenu\n"
+ " ldr r0, ._403 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._403 + 8\n"
+ " ldr r0, ._403 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._404:\n"
+ " .align 2, 0\n"
+ "._403:\n"
+ " .word gUnknown_Debug_083C432C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DBF8()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._405\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._405 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._405 + 8\n"
+ " ldr r0, ._405 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._406:\n"
+ " .align 2, 0\n"
+ "._405:\n"
+ " .word gUnknown_Debug_083C436C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DC50()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._407\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._407 + 4\n"
+ " mov r0, #0x2\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._407 + 8\n"
+ " ldr r0, ._407 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._408:\n"
+ " .align 2, 0\n"
+ "._407:\n"
+ " .word gUnknown_Debug_083C43B4\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DCA8()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._409\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._409 + 4\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._409 + 8\n"
+ " ldr r0, ._409 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._410:\n"
+ " .align 2, 0\n"
+ "._409:\n"
+ " .word gUnknown_Debug_083C43FC\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DD00()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._411\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._411 + 4\n"
+ " mov r0, #0x4\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._411 + 8\n"
+ " ldr r0, ._411 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._412:\n"
+ " .align 2, 0\n"
+ "._411:\n"
+ " .word gUnknown_Debug_083C4444\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DD58()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._413\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._413 + 4\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._413 + 8\n"
+ " ldr r0, ._413 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._414:\n"
+ " .align 2, 0\n"
+ "._413:\n"
+ " .word gUnknown_Debug_083C448C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DDB0()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._415\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x6\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x6\n"
+ " bl InitMenu\n"
+ " ldr r1, ._415 + 4\n"
+ " mov r0, #0x6\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._415 + 8\n"
+ " ldr r0, ._415 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._416:\n"
+ " .align 2, 0\n"
+ "._415:\n"
+ " .word gUnknown_Debug_83C44C4\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DE08()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._417\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._417 + 4\n"
+ " mov r0, #0x7\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._417 + 8\n"
+ " ldr r0, ._417 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._418:\n"
+ " .align 2, 0\n"
+ "._417:\n"
+ " .word gUnknown_Debug_83C44EC\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DE60()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._419\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._419 + 4\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._419 + 8\n"
+ " ldr r0, ._419 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._420:\n"
+ " .align 2, 0\n"
+ "._419:\n"
+ " .word gUnknown_Debug_083C4534\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808DEB8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DEB8()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._424\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808DF64\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808DF04\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._421 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._422 @cond_branch\n"
+ "._421:\n"
+ " mov r0, #0x0\n"
+ " b ._423\n"
+ "._425:\n"
+ " .align 2, 0\n"
+ "._424:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._422:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._423:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DF04()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._428\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._426 @cond_branch\n"
+ " ldr r0, ._428 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._427:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl VarGet\n"
+ " add r2, r0, #0\n"
+ " lsl r2, r2, #0x10\n"
+ " lsr r2, r2, #0x10\n"
+ " mov r0, #0x18\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F31C\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._427 @cond_branch\n"
+ "._426:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._429:\n"
+ " .align 2, 0\n"
+ "._428:\n"
+ " .word gUnknown_Debug_083C457C\n"
+ " .word gUnknown_Debug_083C457C+0xa\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DF64()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._432\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._430 @cond_branch\n"
+ " mov r5, #0x1\n"
+ " b ._431\n"
+ "._433:\n"
+ " .align 2, 0\n"
+ "._432:\n"
+ " .word gMain\n"
+ "._430:\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._434 @cond_branch\n"
+ " ldr r5, ._435\n"
+ "._431:\n"
+ " ldr r1, ._435 + 4\n"
+ " lsl r0, r2, #0x3\n"
+ " add r0, r0, r2\n"
+ " add r0, r0, r3\n"
+ " lsl r0, r0, #0x1\n"
+ " add r0, r0, r1\n"
+ " ldrh r4, [r0]\n"
+ " add r0, r4, #0\n"
+ " bl VarGet\n"
+ " add r1, r0, #0\n"
+ " add r1, r5, r1\n"
+ " lsl r1, r1, #0x10\n"
+ " lsr r1, r1, #0x10\n"
+ " add r0, r4, #0\n"
+ " bl VarSet\n"
+ "._434:\n"
+ " pop {r4, r5}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._436:\n"
+ " .align 2, 0\n"
+ "._435:\n"
+ " .word 0xffff\n"
+ " .word gUnknown_Debug_083C457C+0xa\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808DFC0()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._437\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x6\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x6\n"
+ " bl InitMenu\n"
+ " ldr r1, ._437 + 4\n"
+ " ldr r0, ._437 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._438:\n"
+ " .align 2, 0\n"
+ "._437:\n"
+ " .word gUnknown_Debug_083C377C\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E010+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E010()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._439 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._442\n"
+ "._439:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._441 @cond_branch\n"
+ " ldr r2, ._443\n"
+ " ldr r0, ._443 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._442\n"
+ "._444:\n"
+ " .align 2, 0\n"
+ "._443:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C377C\n"
+ "._441:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._442:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E054()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._445\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x6\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x6\n"
+ " bl InitMenu\n"
+ " ldr r0, ._445 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._445 + 8\n"
+ " ldr r0, ._445 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._446:\n"
+ " .align 2, 0\n"
+ "._445:\n"
+ " .word gUnknown_Debug_083C3AA0\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E264+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E0AC()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xb\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._447\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x5\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x5\n"
+ " bl InitMenu\n"
+ " ldr r1, ._447 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._447 + 8\n"
+ " ldr r0, ._447 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._448:\n"
+ " .align 2, 0\n"
+ "._447:\n"
+ " .word gUnknown_Debug_83C3AE0\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E264+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E104()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._449\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._449 + 4\n"
+ " mov r0, #0x2\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._449 + 8\n"
+ " ldr r0, ._449 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._450:\n"
+ " .align 2, 0\n"
+ "._449:\n"
+ " .word gUnknown_Debug_83C3B28\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E264+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E15C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x5\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._451\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r1, ._451 + 4\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._451 + 8\n"
+ " ldr r0, ._451 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._452:\n"
+ " .align 2, 0\n"
+ "._451:\n"
+ " .word gUnknown_Debug_83C3B70\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E264+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E1B4()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._453\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._453 + 4\n"
+ " mov r0, #0x4\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._453 + 8\n"
+ " ldr r0, ._453 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._454:\n"
+ " .align 2, 0\n"
+ "._453:\n"
+ " .word gUnknown_Debug_83C3BB8\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E264+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E20C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._455\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x6\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x6\n"
+ " bl InitMenu\n"
+ " ldr r1, ._455 + 4\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._455 + 8\n"
+ " ldr r0, ._455 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._456:\n"
+ " .align 2, 0\n"
+ "._455:\n"
+ " .word gUnknown_Debug_83C3C00\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E264+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E264()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._460\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808E310\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808E2B0\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._457 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._458 @cond_branch\n"
+ "._457:\n"
+ " mov r0, #0x0\n"
+ " b ._459\n"
+ "._461:\n"
+ " .align 2, 0\n"
+ "._460:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._458:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._459:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E2B0()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._464\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._462 @cond_branch\n"
+ " ldr r0, ._464 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._463:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl VarGet\n"
+ " add r2, r0, #0\n"
+ " lsl r2, r2, #0x10\n"
+ " lsr r2, r2, #0x10\n"
+ " mov r0, #0x18\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F31C\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._463 @cond_branch\n"
+ "._462:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._465:\n"
+ " .align 2, 0\n"
+ "._464:\n"
+ " .word gUnknown_Debug_083C3C48\n"
+ " .word gUnknown_Debug_083C3C48+0x6\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E310()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._468\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._466 @cond_branch\n"
+ " mov r5, #0x1\n"
+ " b ._467\n"
+ "._469:\n"
+ " .align 2, 0\n"
+ "._468:\n"
+ " .word gMain\n"
+ "._466:\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._470 @cond_branch\n"
+ " ldr r5, ._471\n"
+ "._467:\n"
+ " ldr r1, ._471 + 4\n"
+ " lsl r0, r2, #0x3\n"
+ " add r0, r0, r2\n"
+ " add r0, r0, r3\n"
+ " lsl r0, r0, #0x1\n"
+ " add r0, r0, r1\n"
+ " ldrh r4, [r0]\n"
+ " add r0, r4, #0\n"
+ " bl VarGet\n"
+ " add r1, r0, #0\n"
+ " add r1, r5, r1\n"
+ " lsl r1, r1, #0x10\n"
+ " lsr r1, r1, #0x10\n"
+ " add r0, r4, #0\n"
+ " bl VarSet\n"
+ "._470:\n"
+ " pop {r4, r5}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._472:\n"
+ " .align 2, 0\n"
+ "._471:\n"
+ " .word 0xffff\n"
+ " .word gUnknown_Debug_083C3C48+0x6\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E36C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0xb\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._473\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x5\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x5\n"
+ " bl InitMenu\n"
+ " ldr r1, ._473 + 4\n"
+ " ldr r0, ._473 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._474:\n"
+ " .align 2, 0\n"
+ "._473:\n"
+ " .word gUnknown_Debug_083C32AC\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E3BC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E3BC()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._475 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._478\n"
+ "._475:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._477 @cond_branch\n"
+ " ldr r2, ._479\n"
+ " ldr r0, ._479 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._478\n"
+ "._480:\n"
+ " .align 2, 0\n"
+ "._479:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C32AC\n"
+ "._477:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._478:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E400()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x7\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._481\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x3\n"
+ " bl InitMenu\n"
+ " ldr r0, ._481 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._481 + 8\n"
+ " ldr r0, ._481 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._482:\n"
+ " .align 2, 0\n"
+ "._481:\n"
+ " .word gUnknown_Debug_083C347C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E5B8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E458()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x5\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._483\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r1, ._483 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._483 + 8\n"
+ " ldr r0, ._483 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._484:\n"
+ " .align 2, 0\n"
+ "._483:\n"
+ " .word gUnknown_Debug_083C3494\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E5B8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E4B0()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._485\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x6\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x6\n"
+ " bl InitMenu\n"
+ " ldr r1, ._485 + 4\n"
+ " mov r0, #0x2\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._485 + 8\n"
+ " ldr r0, ._485 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._486:\n"
+ " .align 2, 0\n"
+ "._485:\n"
+ " .word gUnknown_Debug_083C34A4\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E5B8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E508()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._487\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r1, ._487 + 4\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._487 + 8\n"
+ " ldr r0, ._487 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._488:\n"
+ " .align 2, 0\n"
+ "._487:\n"
+ " .word gUnknown_Debug_083C34D4\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E5B8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E560()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xb\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._489\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x5\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x5\n"
+ " bl InitMenu\n"
+ " ldr r1, ._489 + 4\n"
+ " mov r0, #0x4\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._489 + 8\n"
+ " ldr r0, ._489 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._490:\n"
+ " .align 2, 0\n"
+ "._489:\n"
+ " .word gUnknown_Debug_083C351C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E5B8+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E5B8()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._494\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808E604\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808E660\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._491 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._492 @cond_branch\n"
+ "._491:\n"
+ " mov r0, #0x0\n"
+ " b ._493\n"
+ "._495:\n"
+ " .align 2, 0\n"
+ "._494:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._492:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._493:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E604()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._498\n"
+ " ldrh r1, [r0, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._496 @cond_branch\n"
+ " mov r5, #0x1\n"
+ " b ._497\n"
+ "._499:\n"
+ " .align 2, 0\n"
+ "._498:\n"
+ " .word gMain\n"
+ "._496:\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._500 @cond_branch\n"
+ " ldr r5, ._501\n"
+ "._497:\n"
+ " ldr r1, ._501 + 4\n"
+ " lsl r0, r2, #0x3\n"
+ " add r0, r0, r2\n"
+ " add r0, r0, r3\n"
+ " lsl r0, r0, #0x1\n"
+ " add r0, r0, r1\n"
+ " ldrh r4, [r0]\n"
+ " add r0, r4, #0\n"
+ " bl VarGet\n"
+ " add r1, r0, #0\n"
+ " add r1, r5, r1\n"
+ " lsl r1, r1, #0x10\n"
+ " lsr r1, r1, #0x10\n"
+ " add r0, r4, #0\n"
+ " bl VarSet\n"
+ "._500:\n"
+ " pop {r4, r5}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._502:\n"
+ " .align 2, 0\n"
+ "._501:\n"
+ " .word 0xffff\n"
+ " .word gUnknown_Debug_083C3544+0x6\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E660()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._505\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._503 @cond_branch\n"
+ " ldr r0, ._505 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._504:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl VarGet\n"
+ " add r2, r0, #0\n"
+ " lsl r2, r2, #0x10\n"
+ " lsr r2, r2, #0x10\n"
+ " mov r0, #0x18\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F31C\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._504 @cond_branch\n"
+ "._503:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._506:\n"
+ " .align 2, 0\n"
+ "._505:\n"
+ " .word gUnknown_Debug_083C3544\n"
+ " .word gUnknown_Debug_083C3544+0x6\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E6C0()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x5\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._507\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r1, ._507 + 4\n"
+ " ldr r0, ._507 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._508:\n"
+ " .align 2, 0\n"
+ "._507:\n"
+ " .word gUnknown_Debug_083C4644\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E710+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E710()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._509 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._512\n"
+ "._509:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._511 @cond_branch\n"
+ " ldr r2, ._513\n"
+ " ldr r0, ._513 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._512\n"
+ "._514:\n"
+ " .align 2, 0\n"
+ "._513:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C4644\n"
+ "._511:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._512:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E754()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._515\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r0, ._515 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._515 + 8\n"
+ " ldr r0, ._515 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._516:\n"
+ " .align 2, 0\n"
+ "._515:\n"
+ " .word gUnknown_Debug_083C470C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E804+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E7AC()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._517\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._517 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._517 + 8\n"
+ " ldr r0, ._517 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._518:\n"
+ " .align 2, 0\n"
+ "._517:\n"
+ " .word gUnknown_Debug_083C4754C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E804+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E804()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._522\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808E850\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808E8AC\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._519 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._520 @cond_branch\n"
+ "._519:\n"
+ " mov r0, #0x0\n"
+ " b ._521\n"
+ "._523:\n"
+ " .align 2, 0\n"
+ "._522:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._520:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._521:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E850()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._526\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._524 @cond_branch\n"
+ " mov r5, #0x1\n"
+ " b ._525\n"
+ "._527:\n"
+ " .align 2, 0\n"
+ "._526:\n"
+ " .word gMain\n"
+ "._524:\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._528 @cond_branch\n"
+ " ldr r5, ._529\n"
+ "._525:\n"
+ " ldr r1, ._529 + 4\n"
+ " lsl r0, r2, #0x3\n"
+ " add r0, r0, r2\n"
+ " add r0, r0, r3\n"
+ " lsl r0, r0, #0x1\n"
+ " add r0, r0, r1\n"
+ " ldrh r4, [r0]\n"
+ " add r0, r4, #0\n"
+ " bl VarGet\n"
+ " add r1, r0, #0\n"
+ " add r1, r5, r1\n"
+ " lsl r1, r1, #0x10\n"
+ " lsr r1, r1, #0x10\n"
+ " add r0, r4, #0\n"
+ " bl VarSet\n"
+ "._528:\n"
+ " pop {r4, r5}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._530:\n"
+ " .align 2, 0\n"
+ "._529:\n"
+ " .word 0xffff\n"
+ " .word gUnknown_Debug_083C478C+0x2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E8AC()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._533\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._531 @cond_branch\n"
+ " ldr r0, ._533 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._532:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl VarGet\n"
+ " add r2, r0, #0\n"
+ " lsl r2, r2, #0x10\n"
+ " lsr r2, r2, #0x10\n"
+ " mov r0, #0x18\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F31C\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._532 @cond_branch\n"
+ "._531:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._534:\n"
+ " .align 2, 0\n"
+ "._533:\n"
+ " .word gUnknown_Debug_083C478C\n"
+ " .word gUnknown_Debug_083C478C+0x2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E90C()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x5\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._535\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x2\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x17\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x2\n"
+ " bl InitMenu\n"
+ " ldr r1, ._535 + 4\n"
+ " ldr r0, ._535 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._536:\n"
+ " .align 2, 0\n"
+ "._535:\n"
+ " .word gUnknown_Debug_083C35C4\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808E95C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E95C()
+{
+ asm(
+ " push {lr}\n"
+ " bl ProcessMenuInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bne ._537 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._540\n"
+ "._537:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._539 @cond_branch\n"
+ " ldr r2, ._541\n"
+ " ldr r0, ._541 + 4\n"
+ " lsl r1, r1, #0x3\n"
+ " add r0, r0, #0x4\n"
+ " add r1, r1, r0\n"
+ " ldr r0, [r1]\n"
+ " str r0, [r2]\n"
+ " mov r0, #0x0\n"
+ " b ._540\n"
+ "._542:\n"
+ " .align 2, 0\n"
+ "._541:\n"
+ " .word gCallback_03004AE8\n"
+ " .word gUnknown_Debug_083C35C4\n"
+ "._539:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._540:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E9A0()
+{
+ asm(
+ " push {r4, lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._543\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl PrintMenuItems\n"
+ " mov r4, #0x0\n"
+ " str r4, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x9\n"
+ " bl InitMenu\n"
+ " ldr r0, ._543 + 4\n"
+ " strb r4, [r0]\n"
+ " ldr r1, ._543 + 8\n"
+ " ldr r0, ._543 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._544:\n"
+ " .align 2, 0\n"
+ "._543:\n"
+ " .word gUnknown_Debug_083C369C\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808EA50+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808E9F8()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xf\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r3, ._545\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x7\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x1c\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " mov r3, #0x7\n"
+ " bl InitMenu\n"
+ " ldr r1, ._545 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " ldr r1, ._545 + 8\n"
+ " ldr r0, ._545 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._546:\n"
+ " .align 2, 0\n"
+ "._545:\n"
+ " .word gUnknown_Debug_083C36E4\n"
+ " .word gDebug_03000700+0xf\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808EA50+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EA50()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " add r1, r0, #0\n"
+ " ldr r5, ._550\n"
+ " ldrb r0, [r5]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r1, r1, #0x18\n"
+ " bl debug_sub_808EAFC\n"
+ " ldrb r0, [r5]\n"
+ " bl debug_sub_808EA9C\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._547 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._548 @cond_branch\n"
+ "._547:\n"
+ " mov r0, #0x0\n"
+ " b ._549\n"
+ "._551:\n"
+ " .align 2, 0\n"
+ "._550:\n"
+ " .word gDebug_03000700+0xf\n"
+ "._548:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._549:\n"
+ " pop {r4, r5}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EA9C()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._554\n"
+ " add r0, r1, r0\n"
+ " ldrb r2, [r0]\n"
+ " cmp r5, r2\n"
+ " bcs ._552 @cond_branch\n"
+ " ldr r0, ._554 + 4\n"
+ " mov r8, r0\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r7, r0, #0x1\n"
+ " add r6, r2, #0\n"
+ "._553:\n"
+ " lsl r0, r5, #0x1\n"
+ " add r4, r0, #1\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " add r0, r0, r7\n"
+ " add r0, r0, r8\n"
+ " ldrh r0, [r0]\n"
+ " bl VarGet\n"
+ " add r2, r0, #0\n"
+ " lsl r2, r2, #0x10\n"
+ " lsr r2, r2, #0x10\n"
+ " mov r0, #0x18\n"
+ " add r1, r4, #0\n"
+ " bl debug_sub_808F31C\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, r6\n"
+ " bcc ._553 @cond_branch\n"
+ "._552:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._555:\n"
+ " .align 2, 0\n"
+ "._554:\n"
+ " .word gUnknown_Debug_083C371C\n"
+ " .word gUnknown_Debug_083C371C+0x2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EAFC()
+{
+ asm(
+ " push {r4, r5, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " ldr r0, ._558\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._556 @cond_branch\n"
+ " mov r5, #0x1\n"
+ " b ._557\n"
+ "._559:\n"
+ " .align 2, 0\n"
+ "._558:\n"
+ " .word gMain\n"
+ "._556:\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._560 @cond_branch\n"
+ " ldr r5, ._561\n"
+ "._557:\n"
+ " ldr r1, ._561 + 4\n"
+ " lsl r0, r2, #0x3\n"
+ " add r0, r0, r2\n"
+ " add r0, r0, r3\n"
+ " lsl r0, r0, #0x1\n"
+ " add r0, r0, r1\n"
+ " ldrh r4, [r0]\n"
+ " add r0, r4, #0\n"
+ " bl VarGet\n"
+ " add r1, r0, #0\n"
+ " add r1, r5, r1\n"
+ " lsl r1, r1, #0x10\n"
+ " lsr r1, r1, #0x10\n"
+ " add r0, r4, #0\n"
+ " bl VarSet\n"
+ "._560:\n"
+ " pop {r4, r5}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._562:\n"
+ " .align 2, 0\n"
+ "._561:\n"
+ " .word 0xffff\n"
+ " .word gUnknown_Debug_083C371C+0x2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EB58()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0xc\n"
+ " mov r3, #0x13\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r0, ._563\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl MenuPrint\n"
+ " ldr r3, ._563 + 4\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x3\n"
+ " mov r2, #0x8\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0xb\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " mov r3, #0x8\n"
+ " bl InitMenu\n"
+ " ldr r1, ._563 + 8\n"
+ " ldr r0, ._563 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._564:\n"
+ " .align 2, 0\n"
+ "._563:\n"
+ " .word gUnknown_Debug_083C47B2\n"
+ " .word gUnknown_Debug_083C47F0\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808EC10+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EBB4()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl MenuZeroFillScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0xd\n"
+ " mov r3, #0xd\n"
+ " bl MenuDrawTextWindow\n"
+ " ldr r0, ._565\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x1\n"
+ " bl MenuPrint\n"
+ " ldr r3, ._565 + 4\n"
+ " mov r0, #0x2\n"
+ " mov r1, #0x3\n"
+ " mov r2, #0x5\n"
+ " bl PrintMenuItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0xc\n"
+ " str r0, [sp, #0x4]\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x3\n"
+ " mov r3, #0x5\n"
+ " bl InitMenu\n"
+ " ldr r1, ._565 + 8\n"
+ " ldr r0, ._565 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._566:\n"
+ " .align 2, 0\n"
+ "._565:\n"
+ " .word gUnknown_Debug_083C4830\n"
+ " .word gUnknown_Debug_083C4888\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808EC5C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EC10()
+{
+ asm(
+ " push {r4, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._568 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._568 @cond_branch\n"
+ " ldr r1, ._570\n"
+ " lsl r0, r2, #0x18\n"
+ " asr r0, r0, #0x18\n"
+ " ldr r2, ._570 + 4\n"
+ " add r1, r1, r2\n"
+ " strh r0, [r1]\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " b ._569\n"
+ "._571:\n"
+ " .align 2, 0\n"
+ "._570:\n"
+ " .word gSaveBlock1\n"
+ " .word 0x13c8\n"
+ "._568:\n"
+ " mov r0, #0x0\n"
+ "._569:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EC5C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " bl ProcessMenuInput\n"
+ " add r4, r0, #0\n"
+ " lsl r4, r4, #0x18\n"
+ " lsr r4, r4, #0x18\n"
+ " bl GetMenuCursorPos\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " lsl r4, r4, #0x18\n"
+ " asr r4, r4, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._573 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r4, r0\n"
+ " beq ._573 @cond_branch\n"
+ " ldr r0, ._575\n"
+ " lsl r1, r1, #0x18\n"
+ " asr r1, r1, #0x8\n"
+ " lsr r1, r1, #0x10\n"
+ " bl VarSet\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " b ._574\n"
+ "._576:\n"
+ " .align 2, 0\n"
+ "._575:\n"
+ " .word 0x40a7\n"
+ "._573:\n"
+ " mov r0, #0x0\n"
+ "._574:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808ECA4()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffffc\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " mov r1, #0x0\n"
+ " str r1, [sp]\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x10\n"
+ " bl BeginNormalPaletteFade\n"
+ " ldr r1, ._577\n"
+ " ldr r0, ._577 + 4\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x4\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._578:\n"
+ " .align 2, 0\n"
+ "._577:\n"
+ " .word gCallback_03004AE8\n"
+ " .word debug_sub_808ECD0+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808ECD0()
+{
+ asm(
+ " push {lr}\n"
+ " bl UpdatePaletteFade\n"
+ " lsl r0, r0, #0x18\n"
+ " cmp r0, #0\n"
+ " beq ._579 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._580\n"
+ "._579:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x2\n"
+ " bl debug_sub_808F168\n"
+ " ldr r0, ._581\n"
+ " bl SetMainCallback2\n"
+ " ldr r1, ._581 + 4\n"
+ " ldr r0, ._581 + 8\n"
+ " str r0, [r1, #0x8]\n"
+ " mov r0, #0x1\n"
+ "._580:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._582:\n"
+ " .align 2, 0\n"
+ "._581:\n"
+ " .word CB2_ContestPainting+1\n"
+ " .word gMain\n"
+ " .word debug_sub_808B868+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void TomomichiDebugMenu_Config()
+{
+ asm(
+ " mov r0, #0x0\n"
+ " bx lr\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808ED0C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r2, ._590\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x20\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._584 @cond_branch\n"
+ " ldr r1, ._590 + 4\n"
+ " ldrh r0, [r1]\n"
+ " cmp r0, #0x1\n"
+ " beq ._584 @cond_branch\n"
+ " sub r0, r0, #0x1\n"
+ " strh r0, [r1]\n"
+ "._584:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x10\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._586 @cond_branch\n"
+ " ldr r3, ._590 + 4\n"
+ " ldrh r1, [r3]\n"
+ " ldr r0, ._590 + 8\n"
+ " cmp r1, r0\n"
+ " beq ._586 @cond_branch\n"
+ " add r0, r1, #1\n"
+ " strh r0, [r3]\n"
+ "._586:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._587 @cond_branch\n"
+ " ldr r1, ._590 + 4\n"
+ " ldrh r0, [r1]\n"
+ " cmp r0, #0xa\n"
+ " bls ._588 @cond_branch\n"
+ " sub r0, r0, #0xa\n"
+ " b ._589\n"
+ "._591:\n"
+ " .align 2, 0\n"
+ "._590:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700\n"
+ " .word 0x19b\n"
+ "._588:\n"
+ " mov r0, #0x1\n"
+ "._589:\n"
+ " strh r0, [r1]\n"
+ "._587:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._592 @cond_branch\n"
+ " ldr r2, ._595\n"
+ " ldrh r1, [r2]\n"
+ " ldr r0, ._595 + 4\n"
+ " cmp r1, r0\n"
+ " bhi ._593 @cond_branch\n"
+ " add r0, r1, #0\n"
+ " add r0, r0, #0xa\n"
+ " b ._594\n"
+ "._596:\n"
+ " .align 2, 0\n"
+ "._595:\n"
+ " .word gDebug_03000700\n"
+ " .word 0x191\n"
+ "._593:\n"
+ " ldr r1, ._597\n"
+ " add r0, r1, #0\n"
+ "._594:\n"
+ " strh r0, [r2]\n"
+ "._592:\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._598:\n"
+ " .align 2, 0\n"
+ "._597:\n"
+ " .word 0x19b\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808ED9C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r2, ._606\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x20\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._600 @cond_branch\n"
+ " ldr r1, ._606 + 4\n"
+ " ldr r0, [r1]\n"
+ " cmp r0, #0\n"
+ " beq ._600 @cond_branch\n"
+ " sub r0, r0, #0x1\n"
+ " str r0, [r1]\n"
+ "._600:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x10\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._602 @cond_branch\n"
+ " ldr r3, ._606 + 4\n"
+ " ldr r1, [r3]\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._602 @cond_branch\n"
+ " add r0, r1, #1\n"
+ " str r0, [r3]\n"
+ "._602:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._603 @cond_branch\n"
+ " ldr r1, ._606 + 4\n"
+ " ldr r0, [r1]\n"
+ " cmp r0, #0xf\n"
+ " bls ._604 @cond_branch\n"
+ " sub r0, r0, #0x10\n"
+ " b ._605\n"
+ "._607:\n"
+ " .align 2, 0\n"
+ "._606:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0x8\n"
+ "._604:\n"
+ " mov r0, #0x0\n"
+ "._605:\n"
+ " str r0, [r1]\n"
+ "._603:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._608 @cond_branch\n"
+ " ldr r3, ._611\n"
+ " ldr r1, [r3]\n"
+ " mov r0, #0x11\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " bhi ._609 @cond_branch\n"
+ " add r0, r1, #0\n"
+ " add r0, r0, #0x10\n"
+ " b ._610\n"
+ "._612:\n"
+ " .align 2, 0\n"
+ "._611:\n"
+ " .word gDebug_03000700+0x8\n"
+ "._609:\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ "._610:\n"
+ " str r0, [r3]\n"
+ "._608:\n"
+ " ldrh r2, [r2, #0x2e]\n"
+ " mov r1, #0xc0\n"
+ " lsl r1, r1, #0x2\n"
+ " add r0, r1, #0\n"
+ " and r0, r0, r2\n"
+ " cmp r0, r1\n"
+ " bne ._613 @cond_branch\n"
+ " ldr r1, ._614\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " str r0, [r1]\n"
+ "._613:\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._615:\n"
+ " .align 2, 0\n"
+ "._614:\n"
+ " .word gDebug_03000700+0x8\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EE3C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r2, ._622\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x20\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._617 @cond_branch\n"
+ " ldr r1, ._622 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0x1\n"
+ " beq ._617 @cond_branch\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ "._617:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x10\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._619 @cond_branch\n"
+ " ldr r1, ._622 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0x5\n"
+ " beq ._619 @cond_branch\n"
+ " add r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ "._619:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._620 @cond_branch\n"
+ " ldr r1, ._622 + 4\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ "._620:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._621 @cond_branch\n"
+ " ldr r1, ._622 + 4\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r1]\n"
+ "._621:\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._623:\n"
+ " .align 2, 0\n"
+ "._622:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0xc\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EE9C()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r2, ._631\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x20\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._625 @cond_branch\n"
+ " ldr r1, ._631 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0x1\n"
+ " beq ._625 @cond_branch\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ "._625:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x10\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._627 @cond_branch\n"
+ " ldr r1, ._631 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0xf\n"
+ " beq ._627 @cond_branch\n"
+ " add r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ "._627:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._628 @cond_branch\n"
+ " ldr r1, ._631 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0xa\n"
+ " bls ._629 @cond_branch\n"
+ " sub r0, r0, #0xa\n"
+ " b ._630\n"
+ "._632:\n"
+ " .align 2, 0\n"
+ "._631:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0xd\n"
+ "._629:\n"
+ " mov r0, #0x0\n"
+ "._630:\n"
+ " strb r0, [r1]\n"
+ "._628:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._633 @cond_branch\n"
+ " ldr r1, ._636\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0x5\n"
+ " bhi ._634 @cond_branch\n"
+ " add r0, r0, #0xa\n"
+ " b ._635\n"
+ "._637:\n"
+ " .align 2, 0\n"
+ "._636:\n"
+ " .word gDebug_03000700+0xd\n"
+ "._634:\n"
+ " mov r0, #0xf\n"
+ "._635:\n"
+ " strb r0, [r1]\n"
+ "._633:\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EF14()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r2, ._645\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x20\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._639 @cond_branch\n"
+ " ldr r1, ._645 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0x1\n"
+ " beq ._639 @cond_branch\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ "._639:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x10\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._641 @cond_branch\n"
+ " ldr r1, ._645 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0xf\n"
+ " beq ._641 @cond_branch\n"
+ " add r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ "._641:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x2\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._642 @cond_branch\n"
+ " ldr r1, ._645 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0xa\n"
+ " bls ._643 @cond_branch\n"
+ " sub r0, r0, #0xa\n"
+ " b ._644\n"
+ "._646:\n"
+ " .align 2, 0\n"
+ "._645:\n"
+ " .word gMain\n"
+ " .word gDebug_03000700+0xe\n"
+ "._643:\n"
+ " mov r0, #0x0\n"
+ "._644:\n"
+ " strb r0, [r1]\n"
+ "._642:\n"
+ " ldrh r1, [r2, #0x30]\n"
+ " mov r0, #0x80\n"
+ " lsl r0, r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._647 @cond_branch\n"
+ " ldr r1, ._650\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0x5\n"
+ " bhi ._648 @cond_branch\n"
+ " add r0, r0, #0xa\n"
+ " b ._649\n"
+ "._651:\n"
+ " .align 2, 0\n"
+ "._650:\n"
+ " .word gDebug_03000700+0xe\n"
+ "._648:\n"
+ " mov r0, #0xf\n"
+ "._649:\n"
+ " strb r0, [r1]\n"
+ "._647:\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808EF8C()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r6, r0, #0x18\n"
+ " cmp r6, #0x2\n"
+ " bgt ._653 @cond_branch\n"
+ " cmp r6, #0\n"
+ " blt ._653 @cond_branch\n"
+ " mov r3, #0x0\n"
+ " ldr r0, ._656\n"
+ " mov r8, r0\n"
+ " ldr r4, ._656 + 4\n"
+ " mov r7, #0x7\n"
+ " mov r5, #0xf\n"
+ "._658:\n"
+ " sub r0, r7, r3\n"
+ " lsl r0, r0, #0x2\n"
+ " mov r1, r8\n"
+ " ldr r2, [r1]\n"
+ " LSR r2, r0\n"
+ " and r2, r2, r5\n"
+ " cmp r2, #0x9\n"
+ " bhi ._654 @cond_branch\n"
+ " add r1, r3, r4\n"
+ " add r0, r2, #0\n"
+ " add r0, r0, #0xa1\n"
+ " b ._655\n"
+ "._657:\n"
+ " .align 2, 0\n"
+ "._656:\n"
+ " .word gDebug_03000700+0x8\n"
+ " .word gDebug_03000700+0x10\n"
+ "._654:\n"
+ " add r1, r3, r4\n"
+ " add r0, r2, #0\n"
+ " sub r0, r0, #0x4f\n"
+ "._655:\n"
+ " strb r0, [r1]\n"
+ " add r0, r3, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r3, r0, #0x18\n"
+ " cmp r3, #0x7\n"
+ " bls ._658 @cond_branch\n"
+ " ldr r0, ._666\n"
+ " mov r1, #0xff\n"
+ " strb r1, [r0, #0x8]\n"
+ " mov r1, #0xc\n"
+ " mov r2, #0x5\n"
+ " bl MenuPrint\n"
+ "._653:\n"
+ " mov r3, #0x0\n"
+ " ldr r7, ._666\n"
+ " ldr r5, ._666 + 4\n"
+ " ldr r2, ._666 + 8\n"
+ " mov r8, r2\n"
+ " add r4, r7, #0\n"
+ " mov r2, #0x0\n"
+ "._659:\n"
+ " add r1, r3, #1\n"
+ " add r0, r1, r4\n"
+ " strb r2, [r0]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " cmp r3, #0x9\n"
+ " bls ._659 @cond_branch\n"
+ " mov r3, #0x0\n"
+ " ldrh r2, [r5]\n"
+ " mov r0, #0xb\n"
+ " add r1, r2, #0\n"
+ " mul r1, r1, r0\n"
+ " mov r2, r8\n"
+ " add r0, r1, r2\n"
+ " ldrb r0, [r0]\n"
+ " cmp r0, #0xff\n"
+ " beq ._661 @cond_branch\n"
+ " ldr r0, ._666\n"
+ " mov ip, r0\n"
+ " mov r5, r8\n"
+ " add r4, r1, #0\n"
+ "._662:\n"
+ " add r1, r3, #1\n"
+ " mov r0, ip\n"
+ " add r2, r1, r0\n"
+ " add r0, r3, r4\n"
+ " add r0, r0, r5\n"
+ " ldrb r0, [r0]\n"
+ " strb r0, [r2]\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " add r0, r3, r4\n"
+ " add r0, r0, r5\n"
+ " ldrb r0, [r0]\n"
+ " cmp r0, #0xff\n"
+ " beq ._661 @cond_branch\n"
+ " cmp r3, #0x9\n"
+ " bls ._662 @cond_branch\n"
+ "._661:\n"
+ " mov r0, #0xb1\n"
+ " strb r0, [r7]\n"
+ " mov r0, #0xb2\n"
+ " strb r0, [r7, #0xb]\n"
+ " mov r0, #0xff\n"
+ " strb r0, [r7, #0xc]\n"
+ " cmp r6, #0x2\n"
+ " bgt ._664 @cond_branch\n"
+ " cmp r6, #0\n"
+ " blt ._664 @cond_branch\n"
+ " add r0, r7, #0\n"
+ " mov r1, #0x8\n"
+ " mov r2, #0x1\n"
+ " bl MenuPrint\n"
+ " b ._665\n"
+ "._667:\n"
+ " .align 2, 0\n"
+ "._666:\n"
+ " .word gDebug_03000700+0x10\n"
+ " .word gDebug_03000700\n"
+ " .word gSpeciesNames\n"
+ "._664:\n"
+ " ldr r0, ._672\n"
+ " mov r1, #0xc\n"
+ " mov r2, #0x1\n"
+ " bl MenuPrint\n"
+ "._665:\n"
+ " ldr r5, ._672\n"
+ " mov r0, #0xff\n"
+ " strb r0, [r5, #0x3]\n"
+ " ldr r4, ._672 + 4\n"
+ " ldrh r0, [r4]\n"
+ " mov r1, #0x64\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5]\n"
+ " ldrh r0, [r4]\n"
+ " mov r1, #0x64\n"
+ " bl __umodsi3\n"
+ " lsl r0, r0, #0x10\n"
+ " lsr r0, r0, #0x10\n"
+ " mov r1, #0xa\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x1]\n"
+ " ldrh r0, [r4]\n"
+ " mov r1, #0xa\n"
+ " bl __umodsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x2]\n"
+ " add r0, r5, #0\n"
+ " mov r1, #0xc\n"
+ " mov r2, #0x3\n"
+ " bl MenuPrint\n"
+ " cmp r6, #0x1\n"
+ " beq ._668 @cond_branch\n"
+ " cmp r6, #0x1\n"
+ " bgt ._669 @cond_branch\n"
+ " cmp r6, #0\n"
+ " beq ._670 @cond_branch\n"
+ " b ._679\n"
+ "._673:\n"
+ " .align 2, 0\n"
+ "._672:\n"
+ " .word gDebug_03000700+0x10\n"
+ " .word gDebug_03000700\n"
+ "._669:\n"
+ " cmp r6, #0x2\n"
+ " beq ._674 @cond_branch\n"
+ " b ._679\n"
+ "._670:\n"
+ " ldr r4, ._677\n"
+ " b ._676\n"
+ "._678:\n"
+ " .align 2, 0\n"
+ "._677:\n"
+ " .word gDebug_03000700+0xc\n"
+ "._668:\n"
+ " ldr r4, ._680\n"
+ "._676:\n"
+ " ldrb r0, [r4]\n"
+ " mov r1, #0x64\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5]\n"
+ " ldrb r0, [r4]\n"
+ " mov r1, #0x64\n"
+ " bl __umodsi3\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " mov r1, #0xa\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x1]\n"
+ " ldrb r0, [r4]\n"
+ " mov r1, #0xa\n"
+ " bl __umodsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x2]\n"
+ " add r0, r5, #0\n"
+ " mov r1, #0xc\n"
+ " mov r2, #0x7\n"
+ " bl MenuPrint\n"
+ " b ._679\n"
+ "._681:\n"
+ " .align 2, 0\n"
+ "._680:\n"
+ " .word gDebug_03000700+0xd\n"
+ "._674:\n"
+ " ldr r4, ._682\n"
+ " ldrb r0, [r4]\n"
+ " mov r1, #0x64\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5]\n"
+ " ldrb r0, [r4]\n"
+ " mov r1, #0x64\n"
+ " bl __umodsi3\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " mov r1, #0xa\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x1]\n"
+ " ldrb r0, [r4]\n"
+ " mov r1, #0xa\n"
+ " bl __umodsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x2]\n"
+ " add r0, r5, #0\n"
+ " mov r1, #0xc\n"
+ " mov r2, #0x7\n"
+ " bl MenuPrint\n"
+ "._679:\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._683:\n"
+ " .align 2, 0\n"
+ "._682:\n"
+ " .word gDebug_03000700+0xe\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F168()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " ldr r4, ._686\n"
+ " ldr r0, ._686 + 4\n"
+ " ldrh r0, [r0]\n"
+ " strh r0, [r4, #0x8]\n"
+ " ldr r0, ._686 + 8\n"
+ " ldr r0, [r0]\n"
+ " str r0, [r4, #0x4]\n"
+ " ldr r0, ._686 + 12\n"
+ " ldr r0, [r0]\n"
+ " str r0, [r4]\n"
+ " cmp r1, #0x5\n"
+ " bls ._684 @cond_branch\n"
+ " b ._707\n"
+ "._684:\n"
+ " lsl r0, r1, #0x2\n"
+ " ldr r1, ._686 + 16\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " mov pc, r0\n"
+ "._687:\n"
+ " .align 2, 0\n"
+ "._686:\n"
+ " .word +0x2015de0\n"
+ " .word gDebug_03000700\n"
+ " .word gDebug_03000700+0x4\n"
+ " .word gDebug_03000700+0x8\n"
+ " .word ._688\n"
+ "._688:\n"
+ " .word ._689\n"
+ " .word ._690\n"
+ " .word ._691\n"
+ " .word ._692\n"
+ " .word ._693\n"
+ " .word ._694\n"
+ "._689:\n"
+ " ldr r0, ._696\n"
+ " ldr r2, ._696 + 4\n"
+ " add r1, r0, r2\n"
+ " mov r2, #0x0\n"
+ " strb r2, [r1]\n"
+ " ldr r1, ._696 + 8\n"
+ " add r0, r0, r1\n"
+ " strb r2, [r0]\n"
+ " ldr r0, ._696 + 12\n"
+ " ldrb r0, [r0]\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r4, #0xa]\n"
+ " add r0, r4, #0\n"
+ " add r0, r0, #0x16\n"
+ " ldr r1, ._696 + 16\n"
+ " bl StringCopy\n"
+ " b ._704\n"
+ "._697:\n"
+ " .align 2, 0\n"
+ "._696:\n"
+ " .word +0x2000000\n"
+ " .word 0x15ddf\n"
+ " .word 0x15dde\n"
+ " .word gDebug_03000700+0xc\n"
+ " .word gUnknown_Debug_083C48BB\n"
+ "._690:\n"
+ " ldr r1, ._699\n"
+ " ldr r0, ._699 + 4\n"
+ " add r2, r1, r0\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r2]\n"
+ " ldr r2, ._699 + 8\n"
+ " add r1, r1, r2\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " ldr r0, ._699 + 12\n"
+ " ldrb r0, [r0]\n"
+ " sub r0, r0, #0x1\n"
+ " b ._698\n"
+ "._700:\n"
+ " .align 2, 0\n"
+ "._699:\n"
+ " .word +0x2000000\n"
+ " .word 0x15ddf\n"
+ " .word 0x15dde\n"
+ " .word gDebug_03000700+0xd\n"
+ "._691:\n"
+ " ldr r1, ._702\n"
+ " ldr r0, ._702 + 4\n"
+ " add r2, r1, r0\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r2]\n"
+ " ldr r2, ._702 + 8\n"
+ " add r1, r1, r2\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " ldr r0, ._702 + 12\n"
+ " ldrb r0, [r0]\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r4, #0xa]\n"
+ " b ._707\n"
+ "._703:\n"
+ " .align 2, 0\n"
+ "._702:\n"
+ " .word +0x2000000\n"
+ " .word 0x15ddf\n"
+ " .word 0x15dde\n"
+ " .word gDebug_03000700+0xe\n"
+ "._692:\n"
+ " ldr r1, ._705\n"
+ " ldr r2, ._705 + 4\n"
+ " add r0, r1, r2\n"
+ " mov r2, #0x0\n"
+ " strb r2, [r0]\n"
+ " ldr r0, ._705 + 8\n"
+ " add r1, r1, r0\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " strb r2, [r4, #0xa]\n"
+ " b ._704\n"
+ "._706:\n"
+ " .align 2, 0\n"
+ "._705:\n"
+ " .word +0x2000000\n"
+ " .word 0x15ddf\n"
+ " .word 0x15dde\n"
+ "._693:\n"
+ " ldr r1, ._708\n"
+ " ldr r0, ._708 + 4\n"
+ " add r2, r1, r0\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r2]\n"
+ " ldr r2, ._708 + 8\n"
+ " add r1, r1, r2\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " mov r0, #0x3\n"
+ "._698:\n"
+ " strb r0, [r4, #0xa]\n"
+ "._704:\n"
+ " add r0, r4, #0\n"
+ " add r0, r0, #0xb\n"
+ " ldr r1, ._708 + 12\n"
+ " bl StringCopy\n"
+ " b ._707\n"
+ "._709:\n"
+ " .align 2, 0\n"
+ "._708:\n"
+ " .word +0x2000000\n"
+ " .word 0x15ddf\n"
+ " .word 0x15dde\n"
+ " .word gUnknown_Debug_083C48B0\n"
+ "._694:\n"
+ " ldr r1, ._710\n"
+ " ldr r0, ._710 + 4\n"
+ " add r2, r1, r0\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r2]\n"
+ " ldr r2, ._710 + 8\n"
+ " add r1, r1, r2\n"
+ " mov r0, #0x8\n"
+ " strb r0, [r1]\n"
+ " mov r0, #0x9\n"
+ " strb r0, [r4, #0xa]\n"
+ " add r0, r4, #0\n"
+ " add r0, r0, #0xb\n"
+ " ldr r1, ._710 + 12\n"
+ " bl StringCopy\n"
+ "._707:\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._711:\n"
+ " .align 2, 0\n"
+ "._710:\n"
+ " .word +0x2000000\n"
+ " .word 0x15ddf\n"
+ " .word 0x15dde\n"
+ " .word gUnknown_Debug_083C48B0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F2E0()
+{
+ asm(
+ " push {r4, lr}\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r3, r1, #0x18\n"
+ " lsl r2, r2, #0x18\n"
+ " cmp r2, #0\n"
+ " bne ._712 @cond_branch\n"
+ " ldr r1, ._714\n"
+ " mov r0, #0xa1\n"
+ " b ._713\n"
+ "._715:\n"
+ " .align 2, 0\n"
+ "._714:\n"
+ " .word gDebug_03000700+0x10\n"
+ "._712:\n"
+ " ldr r1, ._716\n"
+ " mov r0, #0xa2\n"
+ "._713:\n"
+ " strb r0, [r1]\n"
+ " mov r0, #0xff\n"
+ " strb r0, [r1, #0x1]\n"
+ " add r0, r1, #0\n"
+ " add r1, r4, #0\n"
+ " add r2, r3, #0\n"
+ " bl MenuPrint\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._717:\n"
+ " .align 2, 0\n"
+ "._716:\n"
+ " .word gDebug_03000700+0x10\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F31C()
+{
+ asm(
+ " push {r4, r5, r6, lr}\n"
+ " mov r6, r9\n"
+ " mov r5, r8\n"
+ " push {r5, r6}\n"
+ " mov r8, r0\n"
+ " mov r9, r1\n"
+ " add r4, r2, #0\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " mov r8, r0\n"
+ " mov r0, r9\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " mov r9, r0\n"
+ " lsl r4, r4, #0x10\n"
+ " lsr r4, r4, #0x10\n"
+ " ldr r5, ._718\n"
+ " ldr r6, ._718 + 4\n"
+ " add r0, r4, #0\n"
+ " add r1, r6, #0\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5]\n"
+ " add r0, r4, #0\n"
+ " add r1, r6, #0\n"
+ " bl __umodsi3\n"
+ " lsl r0, r0, #0x10\n"
+ " lsr r0, r0, #0x10\n"
+ " mov r6, #0xfa\n"
+ " lsl r6, r6, #0x2\n"
+ " add r1, r6, #0\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x1]\n"
+ " add r0, r4, #0\n"
+ " add r1, r6, #0\n"
+ " bl __umodsi3\n"
+ " lsl r0, r0, #0x10\n"
+ " lsr r0, r0, #0x10\n"
+ " mov r1, #0x64\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x2]\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0x64\n"
+ " bl __umodsi3\n"
+ " lsl r0, r0, #0x10\n"
+ " lsr r0, r0, #0x10\n"
+ " mov r1, #0xa\n"
+ " bl __udivsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x3]\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0xa\n"
+ " bl __umodsi3\n"
+ " add r0, r0, #0xa1\n"
+ " strb r0, [r5, #0x4]\n"
+ " mov r0, #0xff\n"
+ " strb r0, [r5, #0x5]\n"
+ " add r0, r5, #0\n"
+ " mov r1, r8\n"
+ " mov r2, r9\n"
+ " bl MenuPrint\n"
+ " pop {r3, r4}\n"
+ " mov r8, r3\n"
+ " mov r9, r4\n"
+ " pop {r4, r5, r6}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._719:\n"
+ " .align 2, 0\n"
+ "._718:\n"
+ " .word gDebug_03000700+0x10\n"
+ " .word 0x2710\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_nullsub_66()
+{
+ asm(
+ " bx lr\n"
+ "\n"
+ );
+}
+
+#endif