summaryrefslogtreecommitdiff
path: root/src/debug/nohara_debug_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug/nohara_debug_menu.c')
-rw-r--r--src/debug/nohara_debug_menu.c2316
1 files changed, 2316 insertions, 0 deletions
diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c
new file mode 100644
index 000000000..a932fee8d
--- /dev/null
+++ b/src/debug/nohara_debug_menu.c
@@ -0,0 +1,2316 @@
+#if DEBUG
+#include "global.h"
+
+#define BSS_DATA __attribute__((section(".bss")))
+
+BSS_DATA u8 gDebug_03000724[4] = { 0 };
+
+__attribute__((naked))
+void InitNoharaDebugMenu()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl Menu_EraseScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x13\n"
+ " mov r3, #0x13\n"
+ " bl Menu_DrawStdWindowFrame\n"
+ " ldr r3, ._1\n"
+ " mov r0, #0x1\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl Menu_PrintItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x12\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, ._1 + 4\n"
+ " ldr r0, ._1 + 8\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_083C4938\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_808F414+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F414()
+{
+ asm(
+ " push {lr}\n"
+ " bl Menu_ProcessInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._3 @cond_branch\n"
+ " add r0, r0, #0x1\n"
+ " cmp r1, r0\n"
+ " beq ._4 @cond_branch\n"
+ " ldr r2, ._6\n"
+ " ldr r0, ._6 + 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"
+ "._3:\n"
+ " mov r0, #0x0\n"
+ " b ._5\n"
+ "._7:\n"
+ " .align 2, 0\n"
+ "._6:\n"
+ " .word gMenuCallback\n"
+ " .word gUnknown_Debug_083C4938\n"
+ "._4:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._5:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_TV()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " ldr r1, ._8\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r1]\n"
+ " bl Menu_EraseScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0xa\n"
+ " mov r3, #0x13\n"
+ " bl Menu_DrawStdWindowFrame\n"
+ " ldr r3, ._8 + 4\n"
+ " mov r0, #0x1\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl Menu_PrintItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0x9\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, ._8 + 8\n"
+ " ldr r0, ._8 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._9:\n"
+ " .align 2, 0\n"
+ "._8:\n"
+ " .word gDebug_03000724+0x2\n"
+ " .word gUnknown_Debug_083C4B8C\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_808F4AC+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F4AC()
+{
+ asm(
+ " push {lr}\n"
+ " bl Menu_ProcessInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._10 @cond_branch\n"
+ " add r0, r0, #0x1\n"
+ " cmp r1, r0\n"
+ " beq ._11 @cond_branch\n"
+ " ldr r2, ._13\n"
+ " ldr r0, ._13 + 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"
+ "._10:\n"
+ " mov r0, #0x0\n"
+ " b ._12\n"
+ "._14:\n"
+ " .align 2, 0\n"
+ "._13:\n"
+ " .word gMenuCallback\n"
+ " .word gUnknown_Debug_083C4B8C\n"
+ "._11:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._12:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F4EC()
+{
+ asm(
+ " push {lr}\n"
+ " bl debug_sub_808F6BC\n"
+ " ldr r0, ._15\n"
+ " bl sub_8071F40\n"
+ " mov r0, #0x3\n"
+ " mov r1, #0x3\n"
+ " mov r2, #0x1\n"
+ " bl DisplayYesNoMenu\n"
+ " ldr r1, ._15 + 4\n"
+ " ldr r0, ._15 + 8\n"
+ " str r0, [r1]\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._16:\n"
+ " .align 2, 0\n"
+ "._15:\n"
+ " .word gUnknown_Debug_083C4980\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_808F648+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F518()
+{
+ asm(
+ " push {r4, lr}\n"
+ " mov r2, #0x0\n"
+ " ldr r4, ._20\n"
+ " ldr r3, ._20 + 4\n"
+ "._19:\n"
+ " lsl r0, r2, #0x3\n"
+ " add r0, r0, r2\n"
+ " lsl r0, r0, #0x2\n"
+ " add r1, r0, r4\n"
+ " add r0, r1, r3\n"
+ " ldrb r0, [r0]\n"
+ " sub r0, r0, #0x15\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " cmp r0, #0x13\n"
+ " bhi ._18 @cond_branch\n"
+ " ldr r0, ._20 + 8\n"
+ " add r1, r1, r0\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0\n"
+ " bne ._18 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r1]\n"
+ "._18:\n"
+ " add r0, r2, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " cmp r2, #0x17\n"
+ " bls ._19 @cond_branch\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._21:\n"
+ " .align 2, 0\n"
+ "._20:\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2738\n"
+ " .word 0x2739\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F560()
+{
+ asm(
+ " push {r4, lr}\n"
+ " mov r1, #0x0\n"
+ " ldr r4, ._23\n"
+ " ldr r3, ._23 + 4\n"
+ " mov r2, #0x0\n"
+ "._22:\n"
+ " lsl r0, r1, #0x3\n"
+ " add r0, r0, r1\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r4\n"
+ " add r0, r0, r3\n"
+ " strb r2, [r0]\n"
+ " add r0, r1, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " cmp r1, #0x17\n"
+ " bls ._22 @cond_branch\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._24:\n"
+ " .align 2, 0\n"
+ "._23:\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2739\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F594()
+{
+ asm(
+ " push {r4, r5, r6, lr}\n"
+ " mov r2, #0x0\n"
+ " ldr r6, ._27\n"
+ " ldr r5, ._27 + 4\n"
+ " ldr r4, ._27 + 8\n"
+ " mov r3, #0x1\n"
+ "._26:\n"
+ " lsl r0, r2, #0x3\n"
+ " add r0, r0, r2\n"
+ " lsl r0, r0, #0x2\n"
+ " add r1, r0, r6\n"
+ " add r0, r1, r5\n"
+ " ldrb r0, [r0]\n"
+ " cmp r0, #0\n"
+ " beq ._25 @cond_branch\n"
+ " add r0, r1, r4\n"
+ " strb r3, [r0]\n"
+ "._25:\n"
+ " add r0, r2, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r2, r0, #0x18\n"
+ " cmp r2, #0x17\n"
+ " bls ._26 @cond_branch\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r4, r5, r6}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._28:\n"
+ " .align 2, 0\n"
+ "._27:\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2738\n"
+ " .word 0x2739\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F5D8()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " mov r4, #0x0\n"
+ " ldr r6, ._30\n"
+ " ldr r7, ._30 + 4\n"
+ " add r0, r7, #1\n"
+ " mov r8, r0\n"
+ "._29:\n"
+ " ldr r5, ._30 + 8\n"
+ " strh r4, [r5]\n"
+ " bl GetSlotMachineId\n"
+ " add r1, r0, #0\n"
+ " lsl r1, r1, #0x10\n"
+ " lsr r1, r1, #0x10\n"
+ " add r0, r6, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x1\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " lsl r0, r4, #0x1\n"
+ " add r0, r0, r4\n"
+ " lsl r0, r0, #0x2\n"
+ " add r1, r0, r7\n"
+ " ldrb r1, [r1]\n"
+ " add r0, r0, r8\n"
+ " ldrb r2, [r0]\n"
+ " add r0, r6, #0\n"
+ " bl Menu_PrintText\n"
+ " add r0, r4, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " cmp r4, #0xb\n"
+ " bls ._29 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " strh r0, [r5]\n"
+ " ldr r1, ._30 + 12\n"
+ " ldr r0, ._30 + 16\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._31:\n"
+ " .align 2, 0\n"
+ "._30:\n"
+ " .word gStringVar1\n"
+ " .word gUnknown_Debug_083C4BD4\n"
+ " .word gSpecialVar_0x8004\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_8090278+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F648()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._35\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x20\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._32 @cond_branch\n"
+ " mov r0, #0xa\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x1d\n"
+ " mov r3, #0xd\n"
+ " bl Menu_EraseWindowRect\n"
+ " ldr r0, ._35 + 4\n"
+ " ldrb r1, [r0]\n"
+ " mov r2, #0x1\n"
+ " eor r1, r1, r2\n"
+ " strb r1, [r0]\n"
+ " cmp r1, #0\n"
+ " beq ._33 @cond_branch\n"
+ " bl debug_sub_808F7B4\n"
+ " b ._40\n"
+ "._36:\n"
+ " .align 2, 0\n"
+ "._35:\n"
+ " .word gMain\n"
+ " .word gDebug_03000724+0x2\n"
+ "._33:\n"
+ " bl debug_sub_808F6BC\n"
+ " b ._40\n"
+ "._32:\n"
+ " bl Menu_ProcessInputNoWrap_\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._43 @cond_branch\n"
+ " cmp r1, r0\n"
+ " bgt ._39 @cond_branch\n"
+ " sub r0, r0, #0x1\n"
+ " cmp r1, r0\n"
+ " beq ._40 @cond_branch\n"
+ " b ._43\n"
+ "._39:\n"
+ " cmp r1, #0\n"
+ " beq ._42 @cond_branch\n"
+ " b ._43\n"
+ "._40:\n"
+ " mov r0, #0x0\n"
+ " b ._44\n"
+ "._42:\n"
+ " bl debug_sub_808F518\n"
+ "._43:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._44:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F6BC()
+{
+ asm(
+ " push {r4, r5, r6, lr}\n"
+ " mov r4, #0x0\n"
+ " ldr r5, ._48\n"
+ " ldr r6, ._48 + 4\n"
+ "._45:\n"
+ " lsl r0, r4, #0x3\n"
+ " add r0, r0, r4\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r6\n"
+ " ldr r1, ._48 + 8\n"
+ " add r0, r0, r1\n"
+ " ldrb r1, [r0]\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " lsl r1, r4, #0x19\n"
+ " mov r0, #0xa0\n"
+ " lsl r0, r0, #0x14\n"
+ " add r1, r1, r0\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x0\n"
+ " bl Menu_PrintText\n"
+ " add r0, r4, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " cmp r4, #0x4\n"
+ " bls ._45 @cond_branch\n"
+ " mov r4, #0x5\n"
+ " ldr r5, ._48\n"
+ " ldr r6, ._48 + 4\n"
+ "._50:\n"
+ " lsl r0, r4, #0x3\n"
+ " add r0, r0, r4\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r6\n"
+ " ldr r1, ._48 + 8\n"
+ " add r0, r0, r1\n"
+ " ldrb r1, [r0]\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " cmp r4, #0xe\n"
+ " bhi ._46 @cond_branch\n"
+ " lsl r1, r4, #0x19\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x3\n"
+ " bl Menu_PrintText\n"
+ " b ._47\n"
+ "._49:\n"
+ " .align 2, 0\n"
+ "._48:\n"
+ " .word gStringVar1\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2738\n"
+ "._46:\n"
+ " lsl r1, r4, #0x19\n"
+ " mov r0, #0xec\n"
+ " lsl r0, r0, #0x18\n"
+ " add r1, r1, r0\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x6\n"
+ " bl Menu_PrintText\n"
+ "._47:\n"
+ " add r0, r4, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " cmp r4, #0x17\n"
+ " bls ._50 @cond_branch\n"
+ " mov r4, #0x0\n"
+ " ldr r5, ._53\n"
+ "._55:\n"
+ " ldr r0, ._53 + 4\n"
+ " lsl r1, r4, #0x2\n"
+ " add r1, r1, r0\n"
+ " ldr r0, ._53 + 8\n"
+ " add r1, r1, r0\n"
+ " ldrb r1, [r1]\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " cmp r4, #0x7\n"
+ " bhi ._51 @cond_branch\n"
+ " lsl r1, r4, #0x19\n"
+ " mov r0, #0xa0\n"
+ " lsl r0, r0, #0x14\n"
+ " add r1, r1, r0\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x9\n"
+ " bl Menu_PrintText\n"
+ " b ._52\n"
+ "._54:\n"
+ " .align 2, 0\n"
+ "._53:\n"
+ " .word gStringVar1\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2abc\n"
+ "._51:\n"
+ " lsl r1, r4, #0x19\n"
+ " mov r0, #0xfa\n"
+ " lsl r0, r0, #0x18\n"
+ " add r1, r1, r0\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0xc\n"
+ " bl Menu_PrintText\n"
+ "._52:\n"
+ " add r0, r4, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " cmp r4, #0xf\n"
+ " bls ._55 @cond_branch\n"
+ " pop {r4, r5, r6}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F7B4()
+{
+ asm(
+ " push {r4, r5, r6, lr}\n"
+ " mov r4, #0x0\n"
+ " ldr r5, ._59\n"
+ " ldr r6, ._59 + 4\n"
+ "._56:\n"
+ " lsl r0, r4, #0x3\n"
+ " add r0, r0, r4\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r6\n"
+ " ldr r1, ._59 + 8\n"
+ " add r0, r0, r1\n"
+ " ldrb r1, [r0]\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " lsl r1, r4, #0x19\n"
+ " mov r0, #0xa0\n"
+ " lsl r0, r0, #0x14\n"
+ " add r1, r1, r0\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x0\n"
+ " bl Menu_PrintText\n"
+ " add r0, r4, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " cmp r4, #0x4\n"
+ " bls ._56 @cond_branch\n"
+ " mov r4, #0x5\n"
+ " ldr r5, ._59\n"
+ " ldr r6, ._59 + 4\n"
+ "._61:\n"
+ " lsl r0, r4, #0x3\n"
+ " add r0, r0, r4\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r6\n"
+ " ldr r1, ._59 + 8\n"
+ " add r0, r0, r1\n"
+ " ldrb r1, [r0]\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " cmp r4, #0xe\n"
+ " bhi ._57 @cond_branch\n"
+ " lsl r1, r4, #0x19\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x3\n"
+ " bl Menu_PrintText\n"
+ " b ._58\n"
+ "._60:\n"
+ " .align 2, 0\n"
+ "._59:\n"
+ " .word gStringVar1\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2739\n"
+ "._57:\n"
+ " lsl r1, r4, #0x19\n"
+ " mov r0, #0xec\n"
+ " lsl r0, r0, #0x18\n"
+ " add r1, r1, r0\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x6\n"
+ " bl Menu_PrintText\n"
+ "._58:\n"
+ " add r0, r4, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " cmp r4, #0x17\n"
+ " bls ._61 @cond_branch\n"
+ " mov r4, #0x0\n"
+ " ldr r5, ._64\n"
+ "._66:\n"
+ " ldr r0, ._64 + 4\n"
+ " lsl r1, r4, #0x2\n"
+ " add r1, r1, r0\n"
+ " ldr r0, ._64 + 8\n"
+ " add r1, r1, r0\n"
+ " ldrb r1, [r1]\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " cmp r4, #0x7\n"
+ " bhi ._62 @cond_branch\n"
+ " lsl r1, r4, #0x19\n"
+ " mov r0, #0xa0\n"
+ " lsl r0, r0, #0x14\n"
+ " add r1, r1, r0\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x9\n"
+ " bl Menu_PrintText\n"
+ " b ._63\n"
+ "._65:\n"
+ " .align 2, 0\n"
+ "._64:\n"
+ " .word gStringVar1\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2abd\n"
+ "._62:\n"
+ " lsl r1, r4, #0x19\n"
+ " mov r0, #0xfa\n"
+ " lsl r0, r0, #0x18\n"
+ " add r1, r1, r0\n"
+ " lsr r1, r1, #0x18\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0xc\n"
+ " bl Menu_PrintText\n"
+ "._63:\n"
+ " add r0, r4, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r4, r0, #0x18\n"
+ " cmp r4, #0xf\n"
+ " bls ._66 @cond_branch\n"
+ " pop {r4, r5, r6}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F8AC()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._67\n"
+ " bl FlagSet\n"
+ " ldr r0, ._67 + 4\n"
+ " bl FlagSet\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._68:\n"
+ " .align 2, 0\n"
+ "._67:\n"
+ " .word 0x832\n"
+ " .word 0x818\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F8CC()
+{
+ asm(
+ " push {r4, lr}\n"
+ " ldr r1, ._69\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r1]\n"
+ " ldr r0, ._69 + 4\n"
+ " bl sub_8071F40\n"
+ " mov r0, #0xd\n"
+ " mov r1, #0x6\n"
+ " mov r2, #0x1a\n"
+ " mov r3, #0x8\n"
+ " bl Menu_BlankWindowRect\n"
+ " ldr r0, ._69 + 8\n"
+ " ldr r0, [r0]\n"
+ " mov r1, #0xe\n"
+ " mov r2, #0x7\n"
+ " bl Menu_PrintText\n"
+ " mov r0, #0x16\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x2\n"
+ " bl Menu_BlankWindowRect\n"
+ " ldr r4, ._69 + 12\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0x17\n"
+ " mov r2, #0x1\n"
+ " bl Menu_PrintText\n"
+ " ldr r1, ._69 + 16\n"
+ " ldr r0, ._69 + 20\n"
+ " str r0, [r1]\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._70:\n"
+ " .align 2, 0\n"
+ "._69:\n"
+ " .word gDebug_03000724\n"
+ " .word gUnknown_Debug_083C49CA\n"
+ " .word gUnknown_Debug_083C4ABD+0xf\n"
+ " .word gStringVar1\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_808F93C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808F93C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " mov r2, #0x0\n"
+ " ldr r0, ._83\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x40\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._71 @cond_branch\n"
+ " ldr r1, ._83 + 4\n"
+ " ldrb r0, [r1]\n"
+ " add r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " cmp r0, #0x18\n"
+ " bne ._72 @cond_branch\n"
+ " strb r2, [r1]\n"
+ "._72:\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r2, #0x1\n"
+ "._71:\n"
+ " ldr r0, ._83\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._73 @cond_branch\n"
+ " ldr r1, ._83 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0\n"
+ " bne ._74 @cond_branch\n"
+ " mov r0, #0x18\n"
+ " strb r0, [r1]\n"
+ "._74:\n"
+ " ldrb r0, [r1]\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r2, #0x1\n"
+ "._73:\n"
+ " ldr r0, ._83\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x10\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._75 @cond_branch\n"
+ " ldr r1, ._83 + 8\n"
+ " ldrb r0, [r1]\n"
+ " add r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " cmp r0, #0xc\n"
+ " bne ._76 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r1]\n"
+ "._76:\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r2, #0x1\n"
+ "._75:\n"
+ " ldr r0, ._83\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x20\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._77 @cond_branch\n"
+ " ldr r1, ._83 + 8\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0\n"
+ " bne ._78 @cond_branch\n"
+ " mov r0, #0xc\n"
+ " strb r0, [r1]\n"
+ "._78:\n"
+ " ldrb r0, [r1]\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r2, #0x1\n"
+ "._77:\n"
+ " cmp r2, #0\n"
+ " beq ._79 @cond_branch\n"
+ " mov r0, #0xd\n"
+ " mov r1, #0x6\n"
+ " mov r2, #0x1a\n"
+ " mov r3, #0x8\n"
+ " bl Menu_BlankWindowRect\n"
+ " ldr r1, ._83 + 12\n"
+ " ldr r0, ._83 + 8\n"
+ " ldrb r0, [r0]\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " mov r1, #0xe\n"
+ " mov r2, #0x7\n"
+ " bl Menu_PrintText\n"
+ " mov r0, #0x16\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x2\n"
+ " bl Menu_BlankWindowRect\n"
+ " ldr r4, ._83 + 16\n"
+ " ldr r0, ._83 + 4\n"
+ " ldrb r1, [r0]\n"
+ " add r0, r4, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0x17\n"
+ " mov r2, #0x1\n"
+ " bl Menu_PrintText\n"
+ "._79:\n"
+ " ldr r4, ._83\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._80 @cond_branch\n"
+ " mov r0, #0x15\n"
+ " bl PlaySE\n"
+ " ldr r0, ._83 + 4\n"
+ " ldrb r0, [r0]\n"
+ " ldr r2, ._83 + 20\n"
+ " ldr r1, ._83 + 8\n"
+ " ldrb r1, [r1]\n"
+ " add r1, r1, r2\n"
+ " ldrb r1, [r1]\n"
+ " bl debug_sub_808FA88\n"
+ "._80:\n"
+ " ldrh r1, [r4, #0x2e]\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"
+ "._84:\n"
+ " .align 2, 0\n"
+ "._83:\n"
+ " .word gMain\n"
+ " .word gDebug_03000724+0x1\n"
+ " .word gDebug_03000724\n"
+ " .word gUnknown_Debug_083C4ABD+0xf\n"
+ " .word gStringVar1\n"
+ " .word gUnknown_Debug_083C4ABD\n"
+ "._81:\n"
+ " ldr r0, ._85\n"
+ " bl sub_80BF588\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._82:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._86:\n"
+ " .align 2, 0\n"
+ "._85:\n"
+ " .word gSaveBlock1+0x2738\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808FA88()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r9\n"
+ " mov r6, r8\n"
+ " push {r6, r7}\n"
+ " add sp, sp, #0xffffffcc\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r6, r0, #0x18\n"
+ " lsl r1, r1, #0x18\n"
+ " lsr r7, r1, #0x18\n"
+ " bl GetLeadMonIndex\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " mov r9, r0\n"
+ " ldr r3, ._92\n"
+ " lsl r4, r6, #0x3\n"
+ " add r2, r4, r6\n"
+ " lsl r2, r2, #0x2\n"
+ " add r0, r2, r3\n"
+ " ldr r5, ._92 + 4\n"
+ " add r1, r0, r5\n"
+ " strb r7, [r1]\n"
+ " ldr r1, ._92 + 8\n"
+ " add r0, r0, r1\n"
+ " mov r1, #0x1\n"
+ " strb r1, [r0]\n"
+ " mov r1, #0x0\n"
+ " ldr r0, ._92 + 12\n"
+ " add r5, r3, r0\n"
+ " mov r3, #0x1\n"
+ "._87:\n"
+ " add r0, r1, r2\n"
+ " add r0, r0, r5\n"
+ " strb r3, [r0]\n"
+ " add r0, r1, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r1, r0, #0x18\n"
+ " cmp r1, #0x21\n"
+ " bls ._87 @cond_branch\n"
+ " add r0, r7, #0\n"
+ " bl GetTVChannelByShowType\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " add r1, r0, #0\n"
+ " cmp r0, #0x3\n"
+ " beq ._88 @cond_branch\n"
+ " cmp r0, #0x3\n"
+ " bgt ._89 @cond_branch\n"
+ " cmp r0, #0x2\n"
+ " beq ._90 @cond_branch\n"
+ " b ._95\n"
+ "._93:\n"
+ " .align 2, 0\n"
+ "._92:\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2738\n"
+ " .word 0x2739\n"
+ " .word 0x273a\n"
+ "._89:\n"
+ " cmp r1, #0x4\n"
+ " bne ._95 @cond_branch\n"
+ "._90:\n"
+ " add r0, r4, r6\n"
+ " lsl r0, r0, #0x2\n"
+ " ldr r1, ._96\n"
+ " add r0, r0, r1\n"
+ " bl sub_80BE160\n"
+ " b ._95\n"
+ "._97:\n"
+ " .align 2, 0\n"
+ "._96:\n"
+ " .word gSaveBlock1+0x2738\n"
+ "._88:\n"
+ " add r0, r4, r6\n"
+ " lsl r0, r0, #0x2\n"
+ " ldr r1, ._100\n"
+ " add r0, r0, r1\n"
+ " bl sub_80BE138\n"
+ "._95:\n"
+ " sub r0, r7, #1\n"
+ " cmp r0, #0x28\n"
+ " bls ._98 @cond_branch\n"
+ " b ._173\n"
+ "._98:\n"
+ " lsl r0, r0, #0x2\n"
+ " ldr r1, ._100 + 4\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " mov pc, r0\n"
+ "._101:\n"
+ " .align 2, 0\n"
+ "._100:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word ._102\n"
+ "._102:\n"
+ " .word ._104\n"
+ " .word ._104\n"
+ " .word ._105\n"
+ " .word ._173\n"
+ " .word ._107\n"
+ " .word ._108\n"
+ " .word ._109\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._123\n"
+ " .word ._124\n"
+ " .word ._125\n"
+ " .word ._126\n"
+ " .word ._127\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._173\n"
+ " .word ._143\n"
+ "._104:\n"
+ " add r0, r4, r6\n"
+ " lsl r0, r0, #0x2\n"
+ " ldr r1, ._145\n"
+ " add r4, r0, r1\n"
+ " mov r2, #0x1\n"
+ " strh r2, [r4, #0x2]\n"
+ " add r1, r1, #0x10\n"
+ " add r0, r0, r1\n"
+ " ldr r1, ._145 + 4\n"
+ " bl StringCopy\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r4, #0x18]\n"
+ " b ._173\n"
+ "._146:\n"
+ " .align 2, 0\n"
+ "._145:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gSaveBlock2\n"
+ "._105:\n"
+ " add r4, r4, r6\n"
+ " lsl r4, r4, #0x2\n"
+ " ldr r6, ._148\n"
+ " add r1, r4, r6\n"
+ " mov r8, r1\n"
+ " mov r0, #0x1\n"
+ " strh r0, [r1, #0x2]\n"
+ " add r0, r6, #5\n"
+ " add r0, r4, r0\n"
+ " ldr r1, ._148 + 4\n"
+ " bl StringCopy\n"
+ " mov r0, #0x64\n"
+ " mov r5, r9\n"
+ " mul r5, r5, r0\n"
+ " ldr r0, ._148 + 8\n"
+ " add r5, r5, r0\n"
+ " add r6, r6, #0x10\n"
+ " add r4, r4, r6\n"
+ " add r0, r5, #0\n"
+ " mov r1, #0x2\n"
+ " add r2, r4, #0\n"
+ " bl GetMonData\n"
+ " mov r0, #0x5\n"
+ " mov r1, r8\n"
+ " strb r0, [r1, #0xd]\n"
+ " add r0, r5, #0\n"
+ " mov r1, #0x3\n"
+ " bl GetMonData\n"
+ " mov r5, r8\n"
+ " strb r0, [r5, #0xe]\n"
+ " b ._173\n"
+ "._149:\n"
+ " .align 2, 0\n"
+ "._148:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gSaveBlock2\n"
+ " .word gPlayerParty\n"
+ "._107:\n"
+ " mov r0, #0x64\n"
+ " mov r1, r9\n"
+ " mul r1, r1, r0\n"
+ " mov r8, r1\n"
+ " ldr r0, ._151\n"
+ " add r8, r8, r0\n"
+ " mov r0, r8\n"
+ " mov r1, #0xb\n"
+ " bl GetMonData\n"
+ " add r4, r4, r6\n"
+ " lsl r4, r4, #0x2\n"
+ " ldr r5, ._151 + 4\n"
+ " add r6, r4, r5\n"
+ " strh r0, [r6, #0x2]\n"
+ " mov r0, #0x1\n"
+ " strh r0, [r6, #0x1c]\n"
+ " add r0, r5, #0\n"
+ " add r0, r0, #0xf\n"
+ " add r0, r4, r0\n"
+ " ldr r1, ._151 + 8\n"
+ " bl StringCopy\n"
+ " add r5, r5, #0x4\n"
+ " add r4, r4, r5\n"
+ " mov r0, r8\n"
+ " mov r1, #0x2\n"
+ " add r2, r4, #0\n"
+ " bl GetMonData\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r6, #0x1e]\n"
+ " mov r0, r8\n"
+ " mov r1, #0x3\n"
+ " bl GetMonData\n"
+ " strb r0, [r6, #0x1f]\n"
+ " b ._173\n"
+ "._152:\n"
+ " .align 2, 0\n"
+ "._151:\n"
+ " .word gPlayerParty\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gSaveBlock2\n"
+ "._108:\n"
+ " add r4, r4, r6\n"
+ " lsl r4, r4, #0x2\n"
+ " ldr r6, ._154\n"
+ " add r5, r4, r6\n"
+ " mov r8, r5\n"
+ " mov r0, #0x1\n"
+ " strh r0, [r5, #0x2]\n"
+ " add r0, r6, #0\n"
+ " add r0, r0, #0x16\n"
+ " add r0, r4, r0\n"
+ " ldr r1, ._154 + 4\n"
+ " bl StringCopy\n"
+ " mov r0, #0x64\n"
+ " mov r5, r9\n"
+ " mul r5, r5, r0\n"
+ " ldr r0, ._154 + 8\n"
+ " add r5, r5, r0\n"
+ " add r6, r6, #0x8\n"
+ " add r4, r4, r6\n"
+ " add r0, r5, #0\n"
+ " mov r1, #0x2\n"
+ " add r2, r4, #0\n"
+ " bl GetMonData\n"
+ " mov r0, #0x5\n"
+ " mov r1, r8\n"
+ " strb r0, [r1, #0x1e]\n"
+ " add r0, r5, #0\n"
+ " mov r1, #0x3\n"
+ " bl GetMonData\n"
+ " mov r5, r8\n"
+ " strb r0, [r5, #0x1f]\n"
+ " b ._173\n"
+ "._155:\n"
+ " .align 2, 0\n"
+ "._154:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gSaveBlock2\n"
+ " .word gPlayerParty\n"
+ "._109:\n"
+ " add r4, r4, r6\n"
+ " lsl r4, r4, #0x2\n"
+ " ldr r5, ._157\n"
+ " add r6, r4, r5\n"
+ " mov r0, #0x1\n"
+ " strh r0, [r6, #0xa]\n"
+ " strh r0, [r6, #0x14]\n"
+ " add r0, r5, #2\n"
+ " add r0, r4, r0\n"
+ " ldr r1, ._157 + 4\n"
+ " mov r8, r1\n"
+ " bl StringCopy\n"
+ " add r5, r5, #0xc\n"
+ " add r4, r4, r5\n"
+ " add r0, r4, #0\n"
+ " mov r1, r8\n"
+ " bl StringCopy\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r6, #0x1d]\n"
+ " b ._173\n"
+ "._158:\n"
+ " .align 2, 0\n"
+ "._157:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gSaveBlock2\n"
+ "._143:\n"
+ " add r0, r4, r6\n"
+ " lsl r0, r0, #0x2\n"
+ " ldr r1, ._160\n"
+ " add r0, r0, r1\n"
+ " mov r1, #0x1\n"
+ " strh r1, [r0, #0xc]\n"
+ " strh r1, [r0, #0x16]\n"
+ " b ._173\n"
+ "._161:\n"
+ " .align 2, 0\n"
+ "._160:\n"
+ " .word gSaveBlock1+0x2738\n"
+ "._123:\n"
+ " add r4, r4, r6\n"
+ " lsl r4, r4, #0x2\n"
+ " ldr r0, ._163\n"
+ " add r4, r4, r0\n"
+ " ldr r1, ._163 + 4\n"
+ " mov r0, sp\n"
+ " mov r2, #0x8\n"
+ " bl memcpy\n"
+ " add r5, sp, #0x8\n"
+ " ldr r1, ._163 + 8\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0xb\n"
+ " bl memcpy\n"
+ " mov r0, #0xff\n"
+ " strb r0, [r4, #0x12]\n"
+ " add r0, r4, #0\n"
+ " add r0, r0, #0x13\n"
+ " mov r1, sp\n"
+ " bl StringCopy\n"
+ " add r0, r4, #4\n"
+ " add r1, r5, #0\n"
+ " bl StringCopy\n"
+ " mov r0, #0xc\n"
+ " strb r0, [r4, #0xf]\n"
+ " mov r0, #0x28\n"
+ " strh r0, [r4, #0x10]\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r4, #0x2]\n"
+ " strb r0, [r4, #0x3]\n"
+ " b ._173\n"
+ "._164:\n"
+ " .align 2, 0\n"
+ "._163:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gUnknown_Debug_083C4C64\n"
+ " .word gUnknown_Debug_083C4C6C\n"
+ "._124:\n"
+ " add r0, r4, r6\n"
+ " lsl r0, r0, #0x2\n"
+ " ldr r1, ._168\n"
+ " add r5, r0, r1\n"
+ " add r4, sp, #0x14\n"
+ " ldr r1, ._168 + 4\n"
+ " add r0, r4, #0\n"
+ " mov r2, #0x8\n"
+ " bl memcpy\n"
+ " add r1, r4, #0\n"
+ " mov r3, #0xfe\n"
+ " mov r2, #0x2\n"
+ " add r0, r5, #0\n"
+ " add r0, r0, #0x10\n"
+ "._165:\n"
+ " strh r3, [r0]\n"
+ " sub r0, r0, #0x2\n"
+ " sub r2, r2, #0x1\n"
+ " cmp r2, #0\n"
+ " bge ._165 @cond_branch\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r5, #0x2]\n"
+ " mov r0, #0x28\n"
+ " strb r0, [r5, #0x12]\n"
+ " add r0, r5, #0\n"
+ " add r0, r0, #0x13\n"
+ " add r3, r5, #6\n"
+ " mov r6, #0x1e\n"
+ " add r2, r5, #0\n"
+ " add r2, r2, #0xa\n"
+ "._166:\n"
+ " strh r6, [r2]\n"
+ " sub r2, r2, #0x2\n"
+ " cmp r2, r3\n"
+ " bge ._166 @cond_branch\n"
+ " bl StringCopy\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r5, #0x3]\n"
+ " b ._173\n"
+ "._169:\n"
+ " .align 2, 0\n"
+ "._168:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gUnknown_Debug_083C4C64\n"
+ "._125:\n"
+ " add r4, r4, r6\n"
+ " lsl r4, r4, #0x2\n"
+ " ldr r0, ._171\n"
+ " add r4, r4, r0\n"
+ " add r5, sp, #0x1c\n"
+ " ldr r1, ._171 + 4\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x8\n"
+ " bl memcpy\n"
+ " mov r0, #0x28\n"
+ " strh r0, [r4, #0xc]\n"
+ " strh r0, [r4, #0xe]\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r4, #0x12]\n"
+ " mov r0, #0xff\n"
+ " strb r0, [r4, #0x10]\n"
+ " mov r0, #0x1\n"
+ " strb r0, [r4, #0x11]\n"
+ " add r0, r4, #0\n"
+ " add r0, r0, #0x13\n"
+ " add r1, r5, #0\n"
+ " bl StringCopy\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r4, #0x2]\n"
+ " b ._173\n"
+ "._172:\n"
+ " .align 2, 0\n"
+ "._171:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gUnknown_Debug_083C4C64\n"
+ "._126:\n"
+ " add r4, r4, r6\n"
+ " lsl r4, r4, #0x2\n"
+ " ldr r0, ._174\n"
+ " add r4, r4, r0\n"
+ " add r5, sp, #0x24\n"
+ " ldr r1, ._174 + 4\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x8\n"
+ " bl memcpy\n"
+ " mov r0, #0xff\n"
+ " strb r0, [r4, #0x2]\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r4, #0x3]\n"
+ " mov r0, #0x28\n"
+ " strh r0, [r4, #0x4]\n"
+ " add r0, r4, #0\n"
+ " add r0, r0, #0x13\n"
+ " add r1, r5, #0\n"
+ " bl StringCopy\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r4, #0x6]\n"
+ " b ._173\n"
+ "._175:\n"
+ " .align 2, 0\n"
+ "._174:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gUnknown_Debug_083C4C64\n"
+ "._127:\n"
+ " add r4, r4, r6\n"
+ " lsl r4, r4, #0x2\n"
+ " ldr r0, ._176\n"
+ " add r4, r4, r0\n"
+ " add r5, sp, #0x2c\n"
+ " ldr r1, ._176 + 4\n"
+ " add r0, r5, #0\n"
+ " mov r2, #0x8\n"
+ " bl memcpy\n"
+ " ldr r0, ._176 + 8\n"
+ " strh r0, [r4, #0x2]\n"
+ " mov r0, #0x1\n"
+ " neg r0, r0\n"
+ " strh r0, [r4, #0x6]\n"
+ " mov r0, #0x28\n"
+ " strh r0, [r4, #0x4]\n"
+ " strh r0, [r4, #0x8]\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r4, #0xa]\n"
+ " add r0, r4, #0\n"
+ " add r0, r0, #0x13\n"
+ " add r1, r5, #0\n"
+ " bl StringCopy\n"
+ " mov r0, #0x5\n"
+ " strb r0, [r4, #0xb]\n"
+ "._173:\n"
+ " add sp, sp, #0x34\n"
+ " pop {r3, r4}\n"
+ " mov r8, r3\n"
+ " mov r9, r4\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._177:\n"
+ " .align 2, 0\n"
+ "._176:\n"
+ " .word gSaveBlock1+0x2738\n"
+ " .word gUnknown_Debug_083C4C64\n"
+ " .word 0xffff\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808FEBC()
+{
+ asm(
+ " push {lr}\n"
+ " bl ClearTVShowData\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808FECC()
+{
+ asm(
+ " push {r4, lr}\n"
+ " ldr r1, ._178\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r1]\n"
+ " ldr r0, ._178 + 4\n"
+ " bl sub_8071F40\n"
+ " mov r0, #0xd\n"
+ " mov r1, #0x6\n"
+ " mov r2, #0x17\n"
+ " mov r3, #0x8\n"
+ " bl Menu_BlankWindowRect\n"
+ " ldr r0, ._178 + 8\n"
+ " ldr r0, [r0]\n"
+ " mov r1, #0xe\n"
+ " mov r2, #0x7\n"
+ " bl Menu_PrintText\n"
+ " mov r0, #0x16\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x2\n"
+ " bl Menu_BlankWindowRect\n"
+ " ldr r4, ._178 + 12\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0x17\n"
+ " mov r2, #0x1\n"
+ " bl Menu_PrintText\n"
+ " ldr r1, ._178 + 16\n"
+ " ldr r0, ._178 + 20\n"
+ " str r0, [r1]\n"
+ " pop {r4}\n"
+ " pop {r0}\n"
+ " bx r0\n"
+ "._179:\n"
+ " .align 2, 0\n"
+ "._178:\n"
+ " .word gDebug_03000724\n"
+ " .word gUnknown_Debug_083C49CA\n"
+ " .word gUnknown_Debug_083C4B20+0x4\n"
+ " .word gStringVar1\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_808FF3C+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_808FF3C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " mov r2, #0x0\n"
+ " ldr r0, ._192\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x40\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._180 @cond_branch\n"
+ " ldr r1, ._192 + 4\n"
+ " ldrb r0, [r1]\n"
+ " add r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " cmp r0, #0x10\n"
+ " bne ._181 @cond_branch\n"
+ " strb r2, [r1]\n"
+ "._181:\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r2, #0x1\n"
+ "._180:\n"
+ " ldr r0, ._192\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x80\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._182 @cond_branch\n"
+ " ldr r1, ._192 + 4\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0\n"
+ " bne ._183 @cond_branch\n"
+ " mov r0, #0x10\n"
+ " strb r0, [r1]\n"
+ "._183:\n"
+ " ldrb r0, [r1]\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r2, #0x1\n"
+ "._182:\n"
+ " ldr r0, ._192\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x10\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._184 @cond_branch\n"
+ " ldr r1, ._192 + 8\n"
+ " ldrb r0, [r1]\n"
+ " add r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " cmp r0, #0x3\n"
+ " bne ._185 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " strb r0, [r1]\n"
+ "._185:\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r2, #0x1\n"
+ "._184:\n"
+ " ldr r0, ._192\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x20\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._186 @cond_branch\n"
+ " ldr r1, ._192 + 8\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0\n"
+ " bne ._187 @cond_branch\n"
+ " mov r0, #0x3\n"
+ " strb r0, [r1]\n"
+ "._187:\n"
+ " ldrb r0, [r1]\n"
+ " sub r0, r0, #0x1\n"
+ " strb r0, [r1]\n"
+ " mov r0, #0x5\n"
+ " bl PlaySE\n"
+ " mov r2, #0x1\n"
+ "._186:\n"
+ " cmp r2, #0\n"
+ " beq ._188 @cond_branch\n"
+ " mov r0, #0xd\n"
+ " mov r1, #0x6\n"
+ " mov r2, #0x17\n"
+ " mov r3, #0x8\n"
+ " bl Menu_BlankWindowRect\n"
+ " ldr r1, ._192 + 12\n"
+ " ldr r0, ._192 + 8\n"
+ " ldrb r0, [r0]\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r1\n"
+ " ldr r0, [r0]\n"
+ " mov r1, #0xe\n"
+ " mov r2, #0x7\n"
+ " bl Menu_PrintText\n"
+ " mov r0, #0x16\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x18\n"
+ " mov r3, #0x2\n"
+ " bl Menu_BlankWindowRect\n"
+ " ldr r4, ._192 + 16\n"
+ " ldr r0, ._192 + 4\n"
+ " ldrb r1, [r0]\n"
+ " add r0, r4, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0x17\n"
+ " mov r2, #0x1\n"
+ " bl Menu_PrintText\n"
+ "._188:\n"
+ " ldr r4, ._192\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " beq ._189 @cond_branch\n"
+ " mov r0, #0x15\n"
+ " bl PlaySE\n"
+ " ldr r0, ._192 + 4\n"
+ " ldrb r0, [r0]\n"
+ " ldr r2, ._192 + 20\n"
+ " ldr r1, ._192 + 8\n"
+ " ldrb r1, [r1]\n"
+ " add r1, r1, r2\n"
+ " ldrb r1, [r1]\n"
+ " bl debug_sub_8090080\n"
+ "._189:\n"
+ " ldrh r1, [r4, #0x2e]\n"
+ " mov r0, #0xa\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " bne ._190 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._191\n"
+ "._193:\n"
+ " .align 2, 0\n"
+ "._192:\n"
+ " .word gMain\n"
+ " .word gDebug_03000724+0x1\n"
+ " .word gDebug_03000724\n"
+ " .word gUnknown_Debug_083C4B20+0x4\n"
+ " .word gStringVar1\n"
+ " .word gUnknown_Debug_083C4B20\n"
+ "._190:\n"
+ " bl sub_80BEC40\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._191:\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_8090080()
+{
+ asm(
+ " lsl r0, r0, #0x18\n"
+ " ldr r2, ._194\n"
+ " lsr r0, r0, #0x16\n"
+ " add r0, r0, r2\n"
+ " ldr r3, ._194 + 4\n"
+ " add r2, r0, r3\n"
+ " strb r1, [r2]\n"
+ " ldr r1, ._194 + 8\n"
+ " add r2, r0, r1\n"
+ " mov r1, #0x1\n"
+ " strb r1, [r2]\n"
+ " add r3, r3, #0x2\n"
+ " add r0, r0, r3\n"
+ " mov r1, #0x4\n"
+ " strh r1, [r0]\n"
+ " bx lr\n"
+ "._195:\n"
+ " .align 2, 0\n"
+ "._194:\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2abc\n"
+ " .word 0x2abd\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_80900AC()
+{
+ asm(
+ " push {r4, r5, r6, r7, lr}\n"
+ " mov r7, r8\n"
+ " push {r7}\n"
+ " mov r7, #0x0\n"
+ " mov r5, #0x0\n"
+ " ldr r0, ._202\n"
+ " mov r8, r0\n"
+ "._198:\n"
+ " lsl r0, r5, #0x3\n"
+ " add r0, r0, r5\n"
+ " lsl r0, r0, #0x2\n"
+ " mov r1, r8\n"
+ " add r6, r0, r1\n"
+ " ldr r1, ._202 + 4\n"
+ " add r0, r6, r1\n"
+ " ldrb r4, [r0]\n"
+ " cmp r4, #0\n"
+ " bne ._196 @cond_branch\n"
+ " cmp r7, #0xc\n"
+ " bne ._197 @cond_branch\n"
+ " mov r7, #0x0\n"
+ "._197:\n"
+ " ldr r0, ._202 + 8\n"
+ " add r0, r7, r0\n"
+ " ldrb r1, [r0]\n"
+ " add r0, r5, #0\n"
+ " bl debug_sub_808FA88\n"
+ " ldr r1, ._202 + 12\n"
+ " add r0, r6, r1\n"
+ " strb r4, [r0]\n"
+ " add r0, r7, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r7, r0, #0x18\n"
+ "._196:\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, #0x17\n"
+ " bls ._198 @cond_branch\n"
+ " mov r7, #0x0\n"
+ " mov r5, #0x0\n"
+ "._201:\n"
+ " ldr r0, ._202\n"
+ " lsl r1, r5, #0x2\n"
+ " add r1, r1, r0\n"
+ " ldr r0, ._202 + 16\n"
+ " add r1, r1, r0\n"
+ " ldrb r0, [r1]\n"
+ " cmp r0, #0\n"
+ " bne ._199 @cond_branch\n"
+ " cmp r7, #0x3\n"
+ " bne ._200 @cond_branch\n"
+ " mov r7, #0x0\n"
+ "._200:\n"
+ " ldr r0, ._202 + 20\n"
+ " add r0, r7, r0\n"
+ " ldrb r1, [r0]\n"
+ " add r0, r5, #0\n"
+ " bl debug_sub_8090080\n"
+ " add r0, r7, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r7, r0, #0x18\n"
+ "._199:\n"
+ " add r0, r5, #1\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r5, r0, #0x18\n"
+ " cmp r5, #0xf\n"
+ " bls ._201 @cond_branch\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r3}\n"
+ " mov r8, r3\n"
+ " pop {r4, r5, r6, r7}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._203:\n"
+ " .align 2, 0\n"
+ "._202:\n"
+ " .word gSaveBlock1\n"
+ " .word 0x2738\n"
+ " .word gUnknown_Debug_083C4ABD\n"
+ " .word 0x2739\n"
+ " .word 0x2abc\n"
+ " .word gUnknown_Debug_083C4B20\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_Fan()
+{
+ asm(
+ " push {lr}\n"
+ " add sp, sp, #0xfffffff8\n"
+ " bl Menu_EraseScreen\n"
+ " mov r0, #0x0\n"
+ " mov r1, #0x0\n"
+ " mov r2, #0xb\n"
+ " mov r3, #0x13\n"
+ " bl Menu_DrawStdWindowFrame\n"
+ " ldr r3, ._204\n"
+ " mov r0, #0x1\n"
+ " mov r1, #0x1\n"
+ " mov r2, #0x9\n"
+ " bl Menu_PrintItems\n"
+ " mov r0, #0x0\n"
+ " str r0, [sp]\n"
+ " mov r0, #0xa\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, ._204 + 4\n"
+ " ldr r0, ._204 + 8\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " add sp, sp, #0x8\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._205:\n"
+ " .align 2, 0\n"
+ "._204:\n"
+ " .word gUnknown_Debug_083C4D28\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_80901A4+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_80901A4()
+{
+ asm(
+ " push {lr}\n"
+ " bl Menu_ProcessInput\n"
+ " lsl r0, r0, #0x18\n"
+ " asr r1, r0, #0x18\n"
+ " mov r0, #0x2\n"
+ " neg r0, r0\n"
+ " cmp r1, r0\n"
+ " beq ._206 @cond_branch\n"
+ " add r0, r0, #0x1\n"
+ " cmp r1, r0\n"
+ " beq ._207 @cond_branch\n"
+ " ldr r2, ._209\n"
+ " ldr r0, ._209 + 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"
+ "._206:\n"
+ " mov r0, #0x0\n"
+ " b ._208\n"
+ "._210:\n"
+ " .align 2, 0\n"
+ "._209:\n"
+ " .word gMenuCallback\n"
+ " .word gUnknown_Debug_083C4D28\n"
+ "._207:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._208:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_80901E4()
+{
+ asm(
+ " push {lr}\n"
+ " bl ResetFanClub\n"
+ " bl sub_810FAA0\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_80901F8()
+{
+ asm(
+ " push {lr}\n"
+ " bl sub_810FB9C\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " ldr r2, ._211\n"
+ " ldr r1, ._211 + 4\n"
+ " add r0, r0, r1\n"
+ " ldrb r0, [r0]\n"
+ " sub r0, r0, #0x8\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r2\n"
+ " ldr r0, [r0]\n"
+ " mov r1, #0xe\n"
+ " mov r2, #0x7\n"
+ " bl Menu_PrintText\n"
+ " ldr r1, ._211 + 8\n"
+ " ldr r0, ._211 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._212:\n"
+ " .align 2, 0\n"
+ "._211:\n"
+ " .word gUnknown_Debug_083C4CA8\n"
+ " .word gUnknown_083F8408\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_8090278+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_8090238()
+{
+ asm(
+ " push {lr}\n"
+ " bl sub_810FC18\n"
+ " lsl r0, r0, #0x18\n"
+ " lsr r0, r0, #0x18\n"
+ " ldr r2, ._213\n"
+ " ldr r1, ._213 + 4\n"
+ " add r0, r0, r1\n"
+ " ldrb r0, [r0]\n"
+ " sub r0, r0, #0x8\n"
+ " lsl r0, r0, #0x2\n"
+ " add r0, r0, r2\n"
+ " ldr r0, [r0]\n"
+ " mov r1, #0xe\n"
+ " mov r2, #0x7\n"
+ " bl Menu_PrintText\n"
+ " ldr r1, ._213 + 8\n"
+ " ldr r0, ._213 + 12\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._214:\n"
+ " .align 2, 0\n"
+ "._213:\n"
+ " .word gUnknown_Debug_083C4CA8\n"
+ " .word gUnknown_083F8410\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_8090278+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_8090278()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._217\n"
+ " ldrh r1, [r0, #0x2e]\n"
+ " mov r0, #0x1\n"
+ " and r0, r0, r1\n"
+ " cmp r0, #0\n"
+ " bne ._215 @cond_branch\n"
+ " mov r0, #0x0\n"
+ " b ._216\n"
+ "._218:\n"
+ " .align 2, 0\n"
+ "._217:\n"
+ " .word gMain\n"
+ "._215:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ "._216:\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_809029C()
+{
+ asm(
+ " push {r4, lr}\n"
+ " ldr r4, ._219\n"
+ " ldr r0, ._219 + 4\n"
+ " ldr r1, ._219 + 8\n"
+ " add r0, r0, r1\n"
+ " ldrh r0, [r0]\n"
+ " mov r1, #0x7f\n"
+ " and r1, r1, r0\n"
+ " add r0, r4, #0\n"
+ " mov r2, #0x0\n"
+ " mov r3, #0x2\n"
+ " bl ConvertIntToDecimalStringN\n"
+ " add r0, r4, #0\n"
+ " mov r1, #0x10\n"
+ " mov r2, #0x7\n"
+ " bl Menu_PrintText\n"
+ " ldr r1, ._219 + 12\n"
+ " ldr r0, ._219 + 16\n"
+ " str r0, [r1]\n"
+ " mov r0, #0x0\n"
+ " pop {r4}\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._220:\n"
+ " .align 2, 0\n"
+ "._219:\n"
+ " .word gStringVar1\n"
+ " .word gSaveBlock1\n"
+ " .word 0x13c2\n"
+ " .word gMenuCallback\n"
+ " .word debug_sub_8090278+1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_80902E4()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r1, ._221\n"
+ " ldrh r0, [r1, #0xe]\n"
+ " add r0, r0, #0x6\n"
+ " strh r0, [r1, #0xe]\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._222:\n"
+ " .align 2, 0\n"
+ "._221:\n"
+ " .word gSaveBlock2\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_80902FC()
+{
+ asm(
+ " push {lr}\n"
+ " mov r0, #0x0\n"
+ " bl sub_810FB10\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_8090310()
+{
+ asm(
+ " push {lr}\n"
+ " mov r0, #0x1\n"
+ " bl sub_810FB10\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_8090324()
+{
+ asm(
+ " push {lr}\n"
+ " mov r0, #0x2\n"
+ " bl sub_810FB10\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void debug_sub_8090338()
+{
+ asm(
+ " push {lr}\n"
+ " mov r0, #0x3\n"
+ " bl sub_810FB10\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_BattleVSDad()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._223\n"
+ " mov r1, #0x6\n"
+ " bl VarSet\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._224:\n"
+ " .align 2, 0\n"
+ "._223:\n"
+ " .word 0x4085\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_DadAfterBattle()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._225\n"
+ " mov r1, #0x7\n"
+ " bl VarSet\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._226:\n"
+ " .align 2, 0\n"
+ "._225:\n"
+ " .word 0x4085\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_SootopolisCity()
+{
+ asm(
+ " push {lr}\n"
+ " mov r0, #0x81\n"
+ " bl FlagSet\n"
+ " mov r0, #0x71\n"
+ " bl FlagSet\n"
+ " ldr r0, ._227\n"
+ " bl FlagClear\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._228:\n"
+ " .align 2, 0\n"
+ "._227:\n"
+ " .word 0x32f\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_Embark()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._229\n"
+ " bl FlagClear\n"
+ " ldr r0, ._229 + 4\n"
+ " mov r1, #0x1\n"
+ " bl VarSet\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._230:\n"
+ " .align 2, 0\n"
+ "._229:\n"
+ " .word 0x2e3\n"
+ " .word 0x4090\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_Yes9999()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._231\n"
+ " ldr r1, ._231 + 4\n"
+ " bl VarSet\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._232:\n"
+ " .align 2, 0\n"
+ "._231:\n"
+ " .word 0x4048\n"
+ " .word 0x270f\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_LegendsFlagOn()
+{
+ asm(
+ " push {lr}\n"
+ " mov r0, #0xe4\n"
+ " bl FlagSet\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "\n"
+ );
+}
+
+__attribute__((naked))
+void NoharaDebugMenu_AddNumWinningStreaks()
+{
+ asm(
+ " push {lr}\n"
+ " ldr r0, ._235\n"
+ " ldr r1, ._235 + 4\n"
+ " add r2, r0, r1\n"
+ " ldrh r1, [r2]\n"
+ " cmp r1, #0x31\n"
+ " bhi ._233 @cond_branch\n"
+ " mov r0, #0x32\n"
+ " b ._244\n"
+ "._236:\n"
+ " .align 2, 0\n"
+ "._235:\n"
+ " .word gSaveBlock2\n"
+ " .word 0x572\n"
+ "._233:\n"
+ " cmp r1, #0x63\n"
+ " bhi ._237 @cond_branch\n"
+ " mov r0, #0x64\n"
+ " b ._244\n"
+ "._237:\n"
+ " ldr r0, ._241\n"
+ " cmp r1, r0\n"
+ " bhi ._239 @cond_branch\n"
+ " add r0, r0, #0x1\n"
+ " b ._244\n"
+ "._242:\n"
+ " .align 2, 0\n"
+ "._241:\n"
+ " .word 0x3e7\n"
+ "._239:\n"
+ " ldr r0, ._245\n"
+ " cmp r1, r0\n"
+ " bhi ._243 @cond_branch\n"
+ " ldr r0, ._245 + 4\n"
+ " b ._244\n"
+ "._246:\n"
+ " .align 2, 0\n"
+ "._245:\n"
+ " .word 0x1387\n"
+ " .word 0x2706\n"
+ "._243:\n"
+ " ldr r0, ._248\n"
+ " cmp r1, r0\n"
+ " bhi ._247 @cond_branch\n"
+ " add r0, r0, #0xa\n"
+ "._244:\n"
+ " strh r0, [r2]\n"
+ "._247:\n"
+ " bl CloseMenu\n"
+ " mov r0, #0x1\n"
+ " pop {r1}\n"
+ " bx r1\n"
+ "._249:\n"
+ " .align 2, 0\n"
+ "._248:\n"
+ " .word 0x2705\n"
+ "\n"
+ );
+}
+
+#endif