diff options
author | Cameron Hall <cameronghall@cox.net> | 2018-01-23 22:36:44 -0600 |
---|---|---|
committer | Cameron Hall <cameronghall@cox.net> | 2018-01-23 22:36:44 -0600 |
commit | 8cfc82726a0712e8c86d30294cee6506c1f0dc97 (patch) | |
tree | ebba8e771cfafbafb4ea9099620a1cc70306d891 | |
parent | 6437a2acd5b662db779352c24f34116852a1c605 (diff) |
move undecompiled debug menu code to asm
-rw-r--r-- | asm/nakamura_debug_menu.s | 4686 | ||||
-rw-r--r-- | asm/nohara_debug_menu.s | 2198 | ||||
-rw-r--r-- | asm/taya_debug_window.s | 2054 | ||||
-rw-r--r-- | asm/tomomichi_debug_menu.s | 8100 | ||||
-rw-r--r-- | asm/unk_debug_menu_3.s | 747 | ||||
-rw-r--r-- | asm/watanabe_debug_menu.s | 9578 | ||||
-rw-r--r-- | ld_script.txt | 7 | ||||
-rw-r--r-- | src/debug/kagaya_debug_menu.c | 2 | ||||
-rw-r--r-- | src/debug/nakamura_debug_menu.c | 4859 | ||||
-rw-r--r-- | src/debug/nohara_debug_menu.c | 2310 | ||||
-rw-r--r-- | src/debug/taya_debug_window.c | 2116 | ||||
-rw-r--r-- | src/debug/tomomichi_debug_menu.c | 8635 | ||||
-rw-r--r-- | src/debug/unk_debug_menu_3.c | 804 | ||||
-rw-r--r-- | src/debug/watanabe_debug_menu.c | 9838 |
14 files changed, 27376 insertions, 28558 deletions
diff --git a/asm/nakamura_debug_menu.s b/asm/nakamura_debug_menu.s new file mode 100644 index 000000000..2ef359b48 --- /dev/null +++ b/asm/nakamura_debug_menu.s @@ -0,0 +1,4686 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start debug_sub_815F1B8 +debug_sub_815F1B8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0xe + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._1 + mov r0, #0x10 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xe + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0xf + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + add sp, sp, #0x8 + pop {r0} + bx r0 +._2: + .align 2, 0 +._1: + .word _843E3DC + + thumb_func_end debug_sub_815F1B8 + + thumb_func_start InitNakamuraDebugMenu +InitNakamuraDebugMenu: + push {lr} + bl debug_sub_815F1B8 + ldr r1, ._3 + ldr r0, ._3 + 4 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._4: + .align 2, 0 +._3: + .word gMenuCallback + .word debug_sub_815F214+1 + + thumb_func_end InitNakamuraDebugMenu + + thumb_func_start debug_sub_815F214 +debug_sub_815F214: + push {r4, lr} + ldr r4, ._9 + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._5 @cond_branch + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor +._5: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._6 @cond_branch + mov r0, #0x1 + bl Menu_MoveCursor +._6: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._7 @cond_branch + ldr r4, ._9 + 4 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x15 + add r4, r4, #0x4 + add r0, r0, r4 + ldr r4, [r0] + bl Menu_DestroyCursor + bl _call_via_r4 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._12 +._10: + .align 2, 0 +._9: + .word gMain + .word _843E3DC +._7: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._11 @cond_branch + mov r0, #0x0 + b ._12 +._11: + bl CloseMenu + mov r0, #0x1 +._12: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_815F214 + + thumb_func_start debug_sub_815F284 +debug_sub_815F284: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, ._14 + ldrb r1, [r0, #0x7] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + bne ._13 @cond_branch + bl debug_sub_81381B4 + mov r0, #0x5 + mov r1, #0x0 + bl OpenPartyMenu + add r0, r4, #0 + bl DestroyTask +._13: + pop {r4} + pop {r0} + bx r0 +._15: + .align 2, 0 +._14: + .word gPaletteFade + + thumb_func_end debug_sub_815F284 + + thumb_func_start debug_sub_815F2B4 +debug_sub_815F2B4: + push {lr} + add sp, sp, #0xfffffffc + bl CloseMenu + bl Menu_EraseScreen + ldr r1, ._16 + ldr r0, ._16 + 4 + str r0, [r1, #0x8] + ldr r0, ._16 + 8 + mov r1, #0x0 + bl CreateTask + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + mov r0, #0x1 + add sp, sp, #0x4 + pop {r1} + bx r1 +._17: + .align 2, 0 +._16: + .word gMain + .word sub_805469C+1 + .word debug_sub_815F284+1 + + thumb_func_end debug_sub_815F2B4 + + thumb_func_start debug_sub_815F2F4 +debug_sub_815F2F4: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffffc + bl CloseMenu + mov r7, #0x1 +._34: + lsl r1, r7, #0x2 + add r0, r1, r7 + lsl r2, r0, #0x5 + ldr r3, ._24 + add r0, r2, r3 + ldr r5, ._24 + 4 + add r0, r0, r5 + ldrb r0, [r0] + mov r9, r1 + add r1, r7, #1 + str r1, [sp] + cmp r0, #0 + beq ._18 @cond_branch + b ._19 +._18: + mov r5, #0x0 + ldr r6, ._24 + 8 + add r4, r7, #0 + sub r4, r4, #0x46 + ldr r3, ._24 + 12 +._21: + add r1, r5, r2 + add r1, r1, r3 + add r0, r5, r6 + ldrb r0, [r0] + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0xff + beq ._20 @cond_branch + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x6 + bls ._21 @cond_branch +._20: + cmp r5, #0x7 + bne ._22 @cond_branch + add r0, r2, #6 + b ._23 +._25: + .align 2, 0 +._24: + .word gSaveBlock1 + .word 0x1a08 + .word gSaveBlock2 + .word gSaveBlock1+0x1a0a +._22: + add r0, r5, r2 +._23: + add r0, r0, r3 + strb r4, [r0] + ldr r1, ._35 + ldr r2, ._35 + 4 + add r2, r2, r1 + mov sl, r2 + mov r3, r9 + add r0, r3, r7 + lsl r6, r0, #0x5 + add r1, r6, r1 + ldr r5, ._35 + 4 + add r5, r5, r1 + mov r8, r5 +._30: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x4b + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0xe + ldr r1, ._35 + 8 + add r0, r0, r1 + ldrb r0, [r0] + mov r2, r8 + strb r0, [r2] + mov r5, #0x0 + cmp r5, r7 + bcs ._28 @cond_branch + mov r3, sl + ldrb r3, [r3] + cmp r0, r3 + beq ._28 @cond_branch + ldr r4, ._35 + add r0, r6, r4 + ldr r2, ._35 + 4 + add r3, r0, r2 +._29: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r7 + bcs ._28 @cond_branch + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x5 + add r0, r0, r4 + add r0, r0, r2 + ldrb r1, [r3] + ldrb r0, [r0] + cmp r1, r0 + bne ._29 @cond_branch +._28: + cmp r5, r7 + bne ._30 @cond_branch + bl Random + mov r5, r9 + add r4, r5, r7 + lsl r4, r4, #0x5 + ldr r1, ._35 + add r3, r4, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x1 + ldr r2, ._35 + 12 + add r3, r3, r2 + and r0, r0, r1 + lsl r0, r0, #0x4 + ldrb r1, [r3] + mov r5, #0x11 + neg r5, r5 + add r2, r5, #0 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3] + mov r5, #0x0 + ldr r6, ._35 + 16 +._31: + bl Random + add r1, r5, r4 + add r1, r1, r6 + strb r0, [r1] + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x3 + bls ._31 @cond_branch + mov r5, #0x0 + mov r1, r9 + add r0, r1, r7 + lsl r4, r0, #0x5 + ldr r3, ._35 + 20 + mov r2, #0x0 + add r6, r3, #0 + add r6, r6, #0x10 +._32: + add r1, r5, r4 + add r0, r1, r3 + strb r2, [r0] + add r1, r1, r6 + strb r2, [r1] + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0xf + bls ._32 @cond_branch + add r0, r7, #0 + bl unref_sub_80BCD7C +._19: + ldr r2, [sp] + lsl r0, r2, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x13 + bhi ._33 @cond_branch + b ._34 +._33: + mov r0, #0x1 + add sp, sp, #0x4 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._36: + .align 2, 0 +._35: + .word gSaveBlock1 + .word 0x1a08 + .word _843E424 + .word 0x1a09 + .word gSaveBlock1+0x1a11 + .word gSaveBlock1+0x1a1a + + thumb_func_end debug_sub_815F2F4 + + thumb_func_start debug_sub_815F470 +debug_sub_815F470: + push {r4, r5, r6, r7, lr} + add r6, r0, #0 + add r7, r1, #0 + mov ip, r2 + ldr r2, ._39 + ldr r0, ._39 + 4 + ldrb r1, [r0] + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r0, r0, #0x5 + add r0, r0, r2 + ldr r1, ._39 + 8 + add r0, r0, r1 + ldrb r4, [r0] + mov r2, #0x0 + ldr r3, ._39 + 12 + add r5, r3, #0 +._41: + lsl r1, r2, #0x2 + add r0, r1, r5 + ldrb r0, [r0] + cmp r0, r4 + bne ._37 @cond_branch + add r0, r1, #1 + add r0, r0, r3 + ldrb r0, [r0] + strb r0, [r6] + add r0, r1, #2 + add r0, r0, r3 + ldrb r0, [r0] + strb r0, [r7] + add r0, r1, #3 + add r0, r0, r3 + ldrb r0, [r0] + mov r1, ip + strb r0, [r1] + b ._38 +._40: + .align 2, 0 +._39: + .word gSaveBlock1 + .word _nakamuraData0 + .word 0x1a08 + .word _843E424 +._37: + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x4a + bls ._41 @cond_branch +._38: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_sub_815F470 + + thumb_func_start debug_sub_815F4D8 +debug_sub_815F4D8: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffffc + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0xa + bl Menu_BlankWindowRect + ldr r6, ._43 + ldr r7, ._43 + 4 + ldrb r1, [r7] + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r2, ._43 + 8 + ldrb r1, [r7] + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r0, r0, #0x5 + add r0, r0, r2 + ldr r1, ._43 + 12 + add r0, r0, r1 + ldrb r0, [r0] + cmp r0, #0 + beq ._42 @cond_branch + mov r4, sp + add r4, r4, #0x1 + mov r5, sp + add r5, r5, #0x2 + mov r0, sp + add r1, r4, #0 + add r2, r5, #0 + bl debug_sub_815F470 + ldrb r1, [r7] + add r0, r6, #0 + bl sub_80BC190 + add r0, r6, #0 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintText + ldr r0, ._43 + 16 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintText + mov r0, sp + ldrb r1, [r0] + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + ldr r0, ._43 + 20 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintText + ldrb r1, [r4] + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x3 + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._43 + 24 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintText + ldrb r1, [r5] + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x3 + mov r2, #0x9 + bl Menu_PrintText +._42: + add sp, sp, #0x4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._44: + .align 2, 0 +._43: + .word gStringVar1 + .word _nakamuraData0 + .word gSaveBlock1 + .word 0x1a08 + .word Str_843E550 + .word Str_843E552 + .word Str_843E554 + + thumb_func_end debug_sub_815F4D8 + + thumb_func_start debug_sub_815F5C4 +debug_sub_815F5C4: + push {lr} + ldr r0, ._48 + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + cmp r2, #0 + beq ._45 @cond_branch + ldr r1, ._48 + 4 + ldrb r0, [r1] + cmp r0, #0 + bne ._46 @cond_branch + mov r0, #0x13 + b ._50 +._49: + .align 2, 0 +._48: + .word gMain + .word _nakamuraData0 +._46: + sub r0, r0, #0x1 + b ._50 +._45: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._51 @cond_branch + ldr r1, ._54 + ldrb r0, [r1] + cmp r0, #0x13 + bne ._52 @cond_branch + strb r2, [r1] + b ._53 +._55: + .align 2, 0 +._54: + .word _nakamuraData0 +._52: + add r0, r0, #0x1 +._50: + strb r0, [r1] +._53: + bl debug_sub_815F4D8 + mov r0, #0x0 + b ._58 +._51: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._57 @cond_branch + mov r0, #0x0 + b ._58 +._57: + bl CloseMenu + mov r0, #0x1 +._58: + pop {r1} + bx r1 + + thumb_func_end debug_sub_815F5C4 + + thumb_func_start debug_sub_815F62C +debug_sub_815F62C: + push {lr} + ldr r1, ._59 + mov r0, #0x0 + strb r0, [r1] + ldr r1, ._59 + 4 + ldr r0, ._59 + 8 + str r0, [r1] + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0xb + bl Menu_DrawStdWindowFrame + bl debug_sub_815F4D8 + mov r0, #0x0 + pop {r1} + bx r1 +._60: + .align 2, 0 +._59: + .word _nakamuraData0 + .word gMenuCallback + .word debug_sub_815F5C4+1 + + thumb_func_end debug_sub_815F62C + + thumb_func_start debug_sub_815F668 +debug_sub_815F668: + push {r4, r5, r6, lr} + ldr r0, ._61 + ldrb r0, [r0] + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x5 + ldr r0, ._61 + 4 + add r1, r1, r0 + ldrb r4, [r1, #0x3] + lsl r4, r4, #0x18 + ldrb r0, [r1, #0x2] + lsl r0, r0, #0x10 + orr r4, r4, r0 + ldrb r0, [r1, #0x1] + lsl r0, r0, #0x8 + orr r4, r4, r0 + ldrb r0, [r1] + orr r4, r4, r0 + ldr r5, ._61 + 8 + ldr r6, ._61 + 12 + add r0, r4, #0 + add r1, r6, #0 + bl __udivsi3 + add r1, r0, #0 + add r0, r5, #0 + mov r2, #0x2 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r5, #0 + mov r1, #0x2 + mov r2, #0x7 + bl Menu_PrintText + add r0, r4, #0 + add r1, r6, #0 + bl __umodsi3 + add r1, r0, #0 + add r0, r5, #0 + mov r2, #0x2 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r5, #0 + mov r1, #0x7 + mov r2, #0x7 + bl Menu_PrintText + pop {r4, r5, r6} + pop {r0} + bx r0 +._62: + .align 2, 0 +._61: + .word _nakamuraData0 + .word gSaveBlock1+0x1a11 + .word gStringVar1 + .word 0x186a0 + + thumb_func_end debug_sub_815F668 + + thumb_func_start debug_sub_815F6E4 +debug_sub_815F6E4: + push {r4, lr} + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0xb + mov r3, #0x4 + bl Menu_BlankWindowRect + ldr r4, ._63 + ldr r0, ._63 + 4 + ldrb r0, [r0] + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x5 + ldr r0, ._63 + 8 + add r1, r1, r0 + add r0, r4, #0 + mov r2, #0x7 + bl StringCopyN + mov r1, #0xff + strb r1, [r0] + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + pop {r4} + pop {r0} + bx r0 +._64: + .align 2, 0 +._63: + .word gStringVar1 + .word _nakamuraData0 + .word gSaveBlock1+0x1a0a + + thumb_func_end debug_sub_815F6E4 + + thumb_func_start debug_sub_815F72C +debug_sub_815F72C: + push {r4, r5, lr} + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0xb + mov r3, #0xa + bl Menu_BlankWindowRect + ldr r4, ._66 + ldr r5, ._66 + 4 + ldrb r1, [r5] + add r0, r4, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + ldr r2, ._66 + 8 + ldrb r1, [r5] + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r0, r0, #0x5 + add r0, r0, r2 + ldr r1, ._66 + 12 + add r0, r0, r1 + ldrb r0, [r0] + cmp r0, #0 + beq ._65 @cond_branch + bl debug_sub_815F6E4 + bl debug_sub_815F668 +._65: + pop {r4, r5} + pop {r0} + bx r0 +._67: + .align 2, 0 +._66: + .word gStringVar1 + .word _nakamuraData0 + .word gSaveBlock1 + .word 0x1a08 + + thumb_func_end debug_sub_815F72C + + thumb_func_start debug_sub_815F788 +debug_sub_815F788: + push {lr} + mov r0, #0x2 + mov r1, #0x5 + mov r2, #0xb + mov r3, #0x6 + bl Menu_BlankWindowRect + ldr r0, ._68 + ldr r1, ._68 + 4 + ldrb r1, [r1] + add r1, r1, #0x2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + mov r2, #0x5 + bl Menu_PrintText + pop {r0} + bx r0 +._69: + .align 2, 0 +._68: + .word Str_843E574 + .word _nakamuraData2 + + thumb_func_end debug_sub_815F788 + + thumb_func_start debug_sub_815F7B4 +debug_sub_815F7B4: + push {lr} + ldr r0, ._72 + ldrb r0, [r0] + cmp r0, #0 + beq ._70 @cond_branch + mov r0, #0xb + mov r1, #0x1 + mov r2, #0xb + mov r3, #0x2 + bl Menu_BlankWindowRect + b ._71 +._73: + .align 2, 0 +._72: + .word _nakamuraData1 +._70: + ldr r0, ._74 + ldrb r0, [r0] + lsl r0, r0, #0x1 + ldr r1, ._74 + 4 + add r0, r0, r1 + mov r1, #0xb + mov r2, #0x1 + bl Menu_PrintText +._71: + pop {r0} + bx r0 +._75: + .align 2, 0 +._74: + .word _nakamuraData3 + .word Str_843E576 + + thumb_func_end debug_sub_815F7B4 + + thumb_func_start debug_sub_815F7F0 +debug_sub_815F7F0: + push {r4, r5, lr} + ldr r1, ._78 + ldrb r2, [r1] + lsl r1, r2, #0x2 + add r1, r1, r2 + lsl r1, r1, #0x5 + ldr r2, ._78 + 4 + add r3, r1, r2 + ldrb r1, [r3, #0x3] + lsl r2, r1, #0x18 + ldrb r1, [r3, #0x2] + lsl r1, r1, #0x10 + orr r2, r2, r1 + ldrb r1, [r3, #0x1] + lsl r1, r1, #0x8 + orr r2, r2, r1 + ldrb r1, [r3] + orr r2, r2, r1 + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r4, #0x9 + ldr r0, ._78 + 8 + ldrb r0, [r0] + cmp r4, r0 + ble ._76 @cond_branch + add r5, r0, #0 +._77: + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r1, r0, #0x1 + lsl r0, r4, #0x18 + mov r4, #0xff + lsl r4, r4, #0x18 + add r0, r0, r4 + lsr r4, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, r5 + bgt ._77 @cond_branch +._76: + add r2, r2, r1 + lsr r0, r2, #0x18 + strb r0, [r3, #0x3] + mov r0, #0xff + lsl r0, r0, #0x10 + and r0, r0, r2 + lsr r0, r0, #0x10 + strb r0, [r3, #0x2] + mov r0, #0xff + lsl r0, r0, #0x8 + and r0, r0, r2 + lsr r0, r0, #0x8 + strb r0, [r3, #0x1] + strb r2, [r3] + bl debug_sub_815F668 + pop {r4, r5} + pop {r0} + bx r0 +._79: + .align 2, 0 +._78: + .word _nakamuraData0 + .word gSaveBlock1+0x1a11 + .word _nakamuraData2 + + thumb_func_end debug_sub_815F7F0 + + thumb_func_start debug_sub_815F86C +debug_sub_815F86C: + push {r4, r5, r6, lr} + lsl r0, r0, #0x18 + ldr r1, ._84 + ldrb r2, [r1] + lsl r1, r2, #0x2 + add r1, r1, r2 + lsl r1, r1, #0x5 + ldr r2, ._84 + 4 + add r5, r1, r2 + mov r2, #0x0 + mov r3, #0x0 + lsr r6, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x64 + bne ._80 @cond_branch + ldr r0, ._84 + 8 + ldrb r1, [r0] + cmp r1, #0x6 + bhi ._100 @cond_branch + mov r2, #0xff +._82: + add r0, r5, r1 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x6 + bls ._82 @cond_branch + b ._100 +._85: + .align 2, 0 +._84: + .word _nakamuraData0 + .word gSaveBlock1+0x1a0a + .word _nakamuraData2 +._80: + ldr r0, ._87 + ldrb r0, [r0] + cmp r0, #0x4 + bhi ._98 @cond_branch + lsl r0, r0, #0x2 + ldr r1, ._87 + 4 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._88: + .align 2, 0 +._87: + .word _nakamuraData3 + .word ._89 +._89: + .word ._90 + .word ._91 + .word ._92 + .word ._93 + .word ._94 +._90: + mov r3, #0x1 + mov r2, #0x50 + b ._98 +._91: + mov r3, #0x51 + mov r2, #0xa0 + b ._98 +._92: + mov r3, #0xbb + mov r2, #0xd4 + b ._98 +._93: + mov r3, #0xd5 + mov r2, #0xee + b ._98 +._94: + mov r3, #0xa1 + mov r2, #0xaa +._98: + ldr r4, ._101 + ldrb r1, [r4] + add r1, r5, r1 + ldrb r0, [r1] + add r0, r0, r6 + strb r0, [r1] + ldrb r0, [r4] + add r1, r5, r0 + ldrb r0, [r1] + cmp r0, r3 + bcs ._99 @cond_branch + strb r2, [r1] +._99: + ldrb r0, [r4] + add r1, r5, r0 + ldrb r0, [r1] + cmp r0, r2 + bls ._100 @cond_branch + strb r3, [r1] +._100: + bl debug_sub_815F6E4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._102: + .align 2, 0 +._101: + .word _nakamuraData2 + + thumb_func_end debug_sub_815F86C + + thumb_func_start debug_sub_815F930 +debug_sub_815F930: + push {r4, r5, lr} + ldr r0, ._107 + ldrb r2, [r0] + mov r4, #0xa + cmp r2, #0 + bne ._103 @cond_branch + mov r4, #0x7 +._103: + ldr r5, ._107 + 4 + ldrh r1, [r5, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._104 @cond_branch + cmp r2, #0 + beq ._105 @cond_branch + mov r0, #0x1 + bl debug_sub_815F7F0 + b ._136 +._108: + .align 2, 0 +._107: + .word _nakamuraData1 + .word gMain +._105: + mov r0, #0x1 + b ._113 +._104: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._110 @cond_branch + cmp r2, #0 + beq ._111 @cond_branch + mov r0, #0x1 + neg r0, r0 + bl debug_sub_815F7F0 + b ._136 +._111: + mov r0, #0x1 + neg r0, r0 + b ._113 +._110: + mov r0, #0x20 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0 + beq ._114 @cond_branch + ldr r1, ._117 + ldrb r0, [r1] + cmp r0, #0 + bne ._115 @cond_branch + sub r0, r4, #1 + b ._116 +._118: + .align 2, 0 +._117: + .word _nakamuraData2 +._115: + sub r0, r0, #0x1 +._116: + strb r0, [r1] +._125: + bl debug_sub_815F788 + b ._136 +._114: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._120 @cond_branch + ldr r2, ._123 + ldrb r1, [r2] + sub r0, r4, #1 + cmp r1, r0 + bne ._121 @cond_branch + strb r3, [r2] + b ._125 +._124: + .align 2, 0 +._123: + .word _nakamuraData2 +._121: + add r0, r1, #1 + strb r0, [r2] + b ._125 +._120: + ldrh r1, [r5, #0x2e] + mov r0, #0x4 + and r0, r0, r1 + cmp r0, #0 + beq ._126 @cond_branch + cmp r2, #0 + bne ._127 @cond_branch + ldr r4, ._129 + ldrb r0, [r4] + add r0, r0, #0x1 + mov r1, #0x5 + bl __modsi3 + strb r0, [r4] +._127: + bl debug_sub_815F7B4 + b ._136 +._130: + .align 2, 0 +._129: + .word _nakamuraData3 +._126: + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._131 @cond_branch + mov r0, #0x2 + mov r1, #0x5 + mov r2, #0xb + mov r3, #0x6 + bl Menu_BlankWindowRect + mov r0, #0xb + mov r1, #0x1 + mov r2, #0xb + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r1, ._133 + ldr r0, ._133 + 4 + str r0, [r1] + b ._136 +._134: + .align 2, 0 +._133: + .word gMenuCallback + .word debug_sub_815FA38+1 +._131: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._136 @cond_branch + cmp r2, #0 + bne ._136 @cond_branch + mov r0, #0x64 +._113: + bl debug_sub_815F86C +._136: + mov r0, #0x0 + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_815F930 + + thumb_func_start debug_sub_815FA38 +debug_sub_815FA38: + push {r4, lr} + ldr r0, ._139 + ldrh r1, [r0, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._137 @cond_branch + mov r0, #0x2 + neg r0, r0 + b ._138 +._140: + .align 2, 0 +._139: + .word gMain +._137: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._141 @cond_branch + mov r0, #0x2 +._138: + bl Menu_MoveCursor +._161: + mov r0, #0x0 + b ._142 +._141: + mov r0, #0x20 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + cmp r2, #0 + beq ._143 @cond_branch + ldr r1, ._146 + ldrb r0, [r1] + cmp r0, #0 + bne ._144 @cond_branch + mov r0, #0x13 + b ._148 +._147: + .align 2, 0 +._146: + .word _nakamuraData0 +._144: + sub r0, r0, #0x1 + b ._148 +._143: + mov r0, #0x10 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0 + beq ._149 @cond_branch + ldr r1, ._152 + ldrb r0, [r1] + cmp r0, #0x13 + bne ._150 @cond_branch + strb r2, [r1] + b ._151 +._153: + .align 2, 0 +._152: + .word _nakamuraData0 +._150: + add r0, r0, #0x1 +._148: + strb r0, [r1] +._151: + bl debug_sub_815F72C + b ._161 +._149: + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._155 @cond_branch + ldr r1, ._159 + ldrb r0, [r1] + cmp r0, #0 + beq ._161 @cond_branch + ldr r2, ._159 + 4 + add r1, r0, #0 + lsl r0, r1, #0x2 + add r0, r0, r1 + lsl r0, r0, #0x5 + add r0, r0, r2 + ldr r1, ._159 + 8 + add r0, r0, r1 + ldrb r0, [r0] + cmp r0, #0 + beq ._161 @cond_branch + bl Menu_GetCursorPos + ldr r1, ._159 + 12 + strb r0, [r1] + ldr r0, ._159 + 16 + strb r4, [r0] + bl debug_sub_815F788 + bl debug_sub_815F7B4 + ldr r1, ._159 + 20 + ldr r0, ._159 + 24 + str r0, [r1] + b ._161 +._160: + .align 2, 0 +._159: + .word _nakamuraData0 + .word gSaveBlock1 + .word 0x1a08 + .word _nakamuraData1 + .word _nakamuraData2 + .word gMenuCallback + .word debug_sub_815F930+1 +._155: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._161 @cond_branch + bl CloseMenu + mov r0, #0x1 +._142: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_815FA38 + + thumb_func_start debug_sub_815FB1C +debug_sub_815FB1C: + push {lr} + add sp, sp, #0xfffffff8 + ldr r0, ._162 + mov r1, #0x0 + strb r1, [r0] + ldr r0, ._162 + 4 + strb r1, [r0] + ldr r1, ._162 + 8 + ldr r0, ._162 + 12 + str r0, [r1] + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0xb + bl Menu_DrawStdWindowFrame + bl debug_sub_815F72C + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x3 + bl InitMenu + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._163: + .align 2, 0 +._162: + .word _nakamuraData0 + .word _nakamuraData3 + .word gMenuCallback + .word debug_sub_815FA38+1 + + thumb_func_end debug_sub_815FB1C + + thumb_func_start debug_sub_815FB78 +debug_sub_815FB78: + push {lr} + ldr r0, ._166 + ldrh r1, [r0, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._164 @cond_branch + mov r0, #0x1 + neg r0, r0 + b ._165 +._167: + .align 2, 0 +._166: + .word gMain +._164: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._168 @cond_branch + mov r0, #0x1 +._165: + bl Menu_MoveCursor + mov r0, #0x0 + b ._177 +._168: + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._170 @cond_branch + bl CloseMenu + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0 + beq ._171 @cond_branch + cmp r0, #0x1 + beq ._172 @cond_branch + b ._175 +._171: + bl debug_sub_814A714 + b ._175 +._172: + bl ClearRoamerData + bl ClearRoamerLocationData + b ._175 +._170: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._176 @cond_branch + mov r0, #0x0 + b ._177 +._176: + bl CloseMenu +._175: + mov r0, #0x1 +._177: + pop {r1} + bx r1 + + thumb_func_end debug_sub_815FB78 + + thumb_func_start debug_sub_815FBE8 +debug_sub_815FBE8: + push {r4, lr} + add sp, sp, #0xfffffff8 + ldr r1, ._178 + ldr r0, ._178 + 4 + str r0, [r1] + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + ldr r4, ._178 + 8 + add r0, r4, #0 + bl debug_sub_814A73C + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._178 + 12 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x3 + bl InitMenu + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._179: + .align 2, 0 +._178: + .word gMenuCallback + .word debug_sub_815FB78+1 + .word gStringVar1 + .word Str_843E580 + + thumb_func_end debug_sub_815FBE8 + + thumb_func_start debug_sub_815FC54 +debug_sub_815FC54: + push {r4, r5, r6, r7, lr} + mov r3, #0x0 + ldr r7, ._181 + mov r6, #0xe8 + lsl r6, r6, #0x3 + ldr r5, ._181 + 4 + ldr r4, ._181 + 8 +._180: + lsl r1, r3, #0x2 + add r1, r1, r7 + add r2, r3, #0 + add r2, r2, #0x85 + add r0, r1, r6 + strh r2, [r0] + add r1, r1, r4 + strh r5, [r1] + add r0, r3, #1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0x2a + bls ._180 @cond_branch + bl CloseMenu + mov r0, #0x1 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._182: + .align 2, 0 +._181: + .word gSaveBlock1 + .word 0x3e7 + .word 0x742 + + thumb_func_end debug_sub_815FC54 + + thumb_func_start debug_sub_815FC94 +debug_sub_815FC94: + push {lr} + bl ClearDecorationInventories + bl debug_sub_814A3A8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_815FC94 + + thumb_func_start debug_sub_815FCB4 +debug_sub_815FCB4: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + mov r7, #0x0 + ldr r5, ._188 + ldr r0, [r5] + ldr r0, [r0, #0x4] + mov r1, #0x3 + bl __divsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r1, r0, #0 + mul r1, r1, r4 + lsl r1, r1, #0x10 + lsr r6, r1, #0x10 + add r0, r6, r0 + mov r9, r5 + cmp r6, r0 + bge ._183 @cond_branch + mov r8, r0 +._187: + mov r4, #0x0 + mov r1, r9 + ldr r0, [r1] + ldr r0, [r0] + add r5, r6, #1 + cmp r4, r0 + bge ._184 @cond_branch + ldr r0, ._188 + mov r9, r0 +._186: + add r0, r4, #7 + add r1, r6, #7 + bl MapGridGetMetatileBehaviorAt + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_805759C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bne ._185 @cond_branch + add r0, r7, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 +._185: + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, ._188 + ldr r0, [r0] + ldr r0, [r0] + cmp r4, r0 + blt ._186 @cond_branch +._184: + lsl r0, r5, #0x10 + lsr r6, r0, #0x10 + cmp r6, r8 + blt ._187 @cond_branch +._183: + add r0, r7, #0 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._189: + .align 2, 0 +._188: + .word gMapHeader + + thumb_func_end debug_sub_815FCB4 + + thumb_func_start debug_sub_815FD40 +debug_sub_815FD40: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffffc + mov r6, #0x0 + mov r4, sp + add r4, r4, #0x2 + mov r0, sp + add r1, r4, #0 + bl GetXYCoordsOneStepInFrontOfPlayer + mov r1, sp + mov r0, sp + ldrh r0, [r0] + sub r0, r0, #0x7 + strh r0, [r1] + ldrh r0, [r4] + sub r0, r0, #0x7 + strh r0, [r4] + mov r5, #0x0 + ldr r1, ._192 + ldr r0, [r1] + ldr r0, [r0, #0x4] + add r7, r4, #0 + cmp r6, r0 + bge ._190 @cond_branch +._199: + mov r4, #0x0 + ldr r0, [r1] + b ._191 +._193: + .align 2, 0 +._192: + .word gMapHeader +._198: + add r0, r4, #7 + add r1, r5, #7 + bl MapGridGetMetatileBehaviorAt + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_805759C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bne ._196 @cond_branch + add r0, r6, #1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + mov r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, r4 + bne ._196 @cond_branch + mov r1, #0x0 + ldsh r0, [r7, r1] + cmp r0, r5 + bne ._196 @cond_branch + add r0, r6, #0 + b ._197 +._196: + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, ._200 + ldr r0, [r0] +._191: + ldr r0, [r0] + cmp r4, r0 + blt ._198 @cond_branch + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r1, ._200 + ldr r0, [r1] + ldr r0, [r0, #0x4] + cmp r5, r0 + blt ._199 @cond_branch +._190: + add r0, r6, #1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 +._197: + add sp, sp, #0x4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._201: + .align 2, 0 +._200: + .word gMapHeader + + thumb_func_end debug_sub_815FD40 + + thumb_func_start debug_sub_815FDE4 +debug_sub_815FDE4: + push {lr} + ldr r0, ._205 + ldrh r1, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + bne ._202 @cond_branch + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._203 @cond_branch +._202: + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 + b ._204 +._206: + .align 2, 0 +._205: + .word gMain +._203: + mov r0, #0x0 +._204: + pop {r1} + bx r1 + + thumb_func_end debug_sub_815FDE4 + + thumb_func_start debug_sub_815FE1C +debug_sub_815FE1C: + push {r4, r5, r6, r7, lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._210 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r6, ._210 + 4 + mov r0, #0x0 + bl debug_sub_815FCB4 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x5 + mov r2, #0x3 + bl Menu_PrintText + mov r0, #0x1 + bl debug_sub_815FCB4 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x5 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0x2 + bl debug_sub_815FCB4 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0x5 + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x0 + bl debug_sub_8092344 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0xb + mov r2, #0x3 + bl Menu_PrintText + mov r0, #0x1 + bl debug_sub_8092344 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0xb + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0x2 + bl debug_sub_8092344 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r6, #0 + mov r1, #0xb + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._210 + 8 + ldr r1, ._210 + 12 + add r0, r0, r1 + ldrh r0, [r0] + bl FeebasSeedRng + mov r0, #0x0 + bl debug_sub_815FCB4 + add r4, r0, #0 + mov r0, #0x1 + bl debug_sub_815FCB4 + add r5, r0, #0 + mov r0, #0x2 + bl debug_sub_815FCB4 + add r4, r4, r5 + add r0, r0, r4 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + mov r5, #0x0 +._209: + bl FeebasRandom + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r1, r7, #0 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0 + bne ._207 @cond_branch + add r1, r7, #0 +._207: + sub r0, r1, #1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x2 + bls ._208 @cond_branch + add r0, r6, #0 + mov r2, #0x1 + mov r3, #0x4 + bl ConvertIntToDecimalStringN + add r0, r5, #0 + mov r1, #0x3 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r4, r0, #0x2 + add r4, r4, r0 + add r4, r4, #0x2 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r5, #0 + mov r1, #0x3 + bl __udivsi3 + add r2, r0, #0 + lsl r2, r2, #0x19 + mov r0, #0xb0 + lsl r0, r0, #0x14 + add r2, r2, r0 + lsr r2, r2, #0x18 + add r0, r6, #0 + add r1, r4, #0 + bl Menu_PrintText + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +._208: + cmp r5, #0x6 + bne ._209 @cond_branch + ldr r4, ._210 + 4 + bl debug_sub_815FD40 + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x4 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x11 + bl Menu_PrintText + ldr r1, ._210 + 16 + ldr r0, ._210 + 20 + str r0, [r1] + mov r0, #0x0 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._211: + .align 2, 0 +._210: + .word Str_843E58D + .word gStringVar1 + .word gSaveBlock1 + .word 0x2dd6 + .word gMenuCallback + .word debug_sub_815FDE4+1 + + thumb_func_end debug_sub_815FE1C + + thumb_func_start debug_sub_815FFDC +debug_sub_815FFDC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r0, #0xe + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0xe + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._214 + mov r1, #0x1 + mov r2, #0xf + bl Menu_PrintText + mov r5, #0x0 + ldr r0, ._214 + 4 + mov r8, r0 +._216: + mov r0, #0x64 + add r1, r5, #0 + mul r1, r1, r0 + ldr r0, ._214 + 8 + add r6, r1, r0 + add r0, r6, #0 + mov r1, #0xb + bl GetMonData + lsl r1, r5, #0x2 + mov r2, r8 + add r4, r1, r2 + strh r0, [r4] + lsl r0, r0, #0x10 + add r7, r1, #0 + cmp r0, #0 + beq ._212 @cond_branch + add r0, r6, #0 + mov r1, #0x38 + bl GetMonData + strb r0, [r4, #0x2] + add r0, r5, #0 + bl debug_sub_816009C + add r0, r5, #0 + bl debug_sub_81600D0 + add r0, r5, #0 + bl debug_sub_816013C + b ._213 +._215: + .align 2, 0 +._214: + .word Str_843E5D4 + .word _nakamuraStatic0 + .word gPlayerParty +._212: + mov r0, #0x1 + strb r0, [r4, #0x2] +._213: + mov r0, r8 + add r1, r7, r0 + mov r0, #0x0 + strb r0, [r1, #0x3] + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._216 @cond_branch + ldr r1, ._217 + mov r0, #0x0 + strb r0, [r1] + mov r0, #0xf + mov r1, #0x1 + mov r2, #0xff + bl PrintTriangleCursorWithPalette + ldr r1, ._217 + 4 + ldr r0, ._217 + 8 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._218: + .align 2, 0 +._217: + .word _nakamuraData4 + .word gMenuCallback + .word debug_sub_8160498+1 + + thumb_func_end debug_sub_815FFDC + + thumb_func_start debug_sub_816009C +debug_sub_816009C: + push {lr} + add r2, r0, #0 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + ldr r1, ._219 + lsl r0, r2, #0x2 + add r0, r0, r1 + mov r3, #0x0 + ldsh r1, [r0, r3] + mov r0, #0xb + mul r0, r0, r1 + ldr r1, ._219 + 4 + add r0, r0, r1 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r1, #0x10 + bl Menu_PrintText + pop {r0} + bx r0 +._220: + .align 2, 0 +._219: + .word _nakamuraStatic0 + .word gSpeciesNames + + thumb_func_end debug_sub_816009C + + thumb_func_start debug_sub_81600D0 +debug_sub_81600D0: + push {r4, r5, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r5, r4, #0 + ldr r1, ._223 + mov r0, sp + mov r2, #0x2 + bl memcpy + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._223 + 4 + add r0, r0, r1 + bl GetMonGender + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0 + bne ._221 @cond_branch + ldr r0, ._223 + 8 + b ._222 +._224: + .align 2, 0 +._223: + .word Str_843E5F0 + .word gPlayerParty + .word gOtherText_MaleSymbol2 +._221: + cmp r0, #0xfe + bne ._225 @cond_branch + ldr r0, ._227 +._222: + lsl r2, r4, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r1, #0x17 + bl Menu_PrintText + b ._226 +._228: + .align 2, 0 +._227: + .word gOtherText_FemaleSymbolAndLv +._225: + lsl r2, r5, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x17 + bl Menu_PrintText +._226: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 + + thumb_func_end debug_sub_81600D0 + + thumb_func_start debug_sub_816013C +debug_sub_816013C: + push {r4, r5, lr} + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r5, ._229 + ldr r1, ._229 + 4 + lsl r0, r4, #0x2 + add r0, r0, r1 + mov r1, #0x2 + ldrsb r1, [r0, r1] + add r0, r5, #0 + mov r2, #0x1 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + lsl r4, r4, #0x1 + add r4, r4, #0x1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r5, #0 + mov r1, #0x1a + add r2, r4, #0 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._230: + .align 2, 0 +._229: + .word gStringVar1 + .word _nakamuraStatic0 + + thumb_func_end debug_sub_816013C + + thumb_func_start debug_sub_816017C +debug_sub_816017C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + lsl r3, r4, #0x1 + add r1, r3, #1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r3, r3, #0x2 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + mov r0, #0x10 + mov r2, #0x1c + bl Menu_BlankWindowRect + ldr r1, ._232 + lsl r0, r4, #0x2 + add r0, r0, r1 + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._231 @cond_branch + add r0, r4, #0 + bl debug_sub_816009C + add r0, r4, #0 + bl debug_sub_81600D0 + add r0, r4, #0 + bl debug_sub_816013C +._231: + mov r0, #0x5 + bl debug_sub_81603B8 + pop {r4} + pop {r0} + bx r0 +._233: + .align 2, 0 +._232: + .word _nakamuraStatic0 + + thumb_func_end debug_sub_816017C + + thumb_func_start debug_sub_81601C8 +debug_sub_81601C8: + push {r4, r5, lr} + add sp, sp, #0xfffffff0 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r1, ._239 + lsl r0, r5, #0x2 + add r2, r0, r1 + mov r4, #0x0 + ldsh r0, [r2, r4] + cmp r0, #0 + bne ._236 @cond_branch + ldrb r0, [r2, #0x3] + cmp r0, #0 + bne ._236 @cond_branch + cmp r3, #0x1 + bne ._236 @cond_branch + mov r0, #0x8a + lsl r0, r0, #0x1 + strh r0, [r2] +._236: + lsl r0, r5, #0x2 + add r4, r0, r1 + lsl r0, r3, #0x18 + asr r0, r0, #0x18 + ldrh r1, [r4] + add r2, r0, r1 + mov r3, #0x0 + strh r2, [r4] + lsl r1, r2, #0x10 + mov r0, #0xcd + lsl r0, r0, #0x11 + cmp r1, r0 + ble ._237 @cond_branch + ldr r1, ._239 + 4 + add r0, r2, r1 + strh r0, [r4] +._237: + ldrh r1, [r4] + mov r2, #0x0 + ldsh r0, [r4, r2] + cmp r0, #0 + bge ._238 @cond_branch + ldr r2, ._239 + 8 + add r0, r1, r2 + strh r0, [r4] +._238: + mov r0, #0x64 + mul r0, r0, r5 + ldr r1, ._239 + 12 + add r0, r0, r1 + ldrh r1, [r4] + ldrb r2, [r4, #0x2] + str r3, [sp] + str r3, [sp, #0x4] + str r3, [sp, #0x8] + str r3, [sp, #0xc] + mov r3, #0x20 + bl CreateMon + mov r0, #0x1 + strb r0, [r4, #0x3] + add sp, sp, #0x10 + pop {r4, r5} + pop {r0} + bx r0 +._240: + .align 2, 0 +._239: + .word _nakamuraStatic0 + .word 0xfffffe65 + .word 0x19b + .word gPlayerParty + + thumb_func_end debug_sub_81601C8 + + thumb_func_start debug_sub_8160258 +debug_sub_8160258: + push {lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldr r1, ._242 + lsl r0, r2, #0x2 + add r0, r0, r1 + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._241 @cond_branch + add r0, r2, #0 + bl debug_sub_816062C +._241: + pop {r0} + bx r0 +._243: + .align 2, 0 +._242: + .word _nakamuraStatic0 + + thumb_func_end debug_sub_8160258 + + thumb_func_start debug_sub_816027C +debug_sub_816027C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r4, r0, #0 + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + ldr r1, ._247 + lsl r0, r4, #0x2 + add r3, r0, r1 + mov r1, #0x0 + ldsh r0, [r3, r1] + cmp r0, #0 + beq ._244 @cond_branch + lsl r0, r2, #0x18 + asr r0, r0, #0x18 + ldrb r1, [r3, #0x2] + add r0, r0, r1 + strb r0, [r3, #0x2] + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x64 + ble ._245 @cond_branch + mov r0, #0x1 + strb r0, [r3, #0x2] +._245: + mov r0, #0x2 + ldrsb r0, [r3, r0] + cmp r0, #0 + bgt ._246 @cond_branch + mov r0, #0x64 + strb r0, [r3, #0x2] +._246: + mov r0, #0x64 + mul r4, r4, r0 + ldr r0, ._247 + 4 + add r4, r4, r0 + ldr r2, ._247 + 8 + mov r0, #0x0 + ldsh r1, [r3, r0] + lsl r0, r1, #0x3 + sub r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r2 + ldrb r1, [r0, #0x13] + mov r0, #0xca + lsl r0, r0, #0x1 + add r2, r1, #0 + mul r2, r2, r0 + mov r0, #0x2 + ldrsb r0, [r3, r0] + lsl r0, r0, #0x2 + ldr r1, ._247 + 12 + add r0, r0, r1 + add r2, r2, r0 + add r0, r4, #0 + mov r1, #0x19 + bl SetMonData + add r0, r4, #0 + bl debug_sub_803F55C +._244: + pop {r4} + pop {r0} + bx r0 +._248: + .align 2, 0 +._247: + .word _nakamuraStatic0 + .word gPlayerParty + .word gBaseStats + .word gExperienceTables + + thumb_func_end debug_sub_816027C + + thumb_func_start debug_sub_8160308 +debug_sub_8160308: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add sp, sp, #0xffffff8c + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + mov r2, #0x0 +._252: + add r1, r2, #1 + lsl r0, r1, #0x18 + lsr r5, r0, #0x18 + mov r8, r1 + cmp r5, #0x5 + bhi ._249 @cond_branch + mov r0, #0x64 + mov r9, r0 + mov r0, r9 + mul r0, r0, r2 + ldr r7, ._254 + add r6, r0, r7 +._251: + add r0, r6, #0 + mov r1, #0xb + mov r2, #0x0 + bl GetMonData + cmp r0, #0 + bne ._250 @cond_branch + add r0, sp, #0x10 + add r1, r6, #0 + mov r2, #0x64 + bl memcpy + mov r4, r9 + mul r4, r4, r5 + add r4, r4, r7 + add r0, r6, #0 + add r1, r4, #0 + mov r2, #0x64 + bl memcpy + add r0, r4, #0 + add r1, sp, #0x10 + mov r2, #0x64 + bl memcpy +._250: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._251 @cond_branch +._249: + mov r1, r8 + lsl r0, r1, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x4 + bls ._252 @cond_branch + bl CalculatePlayerPartyCount + ldr r4, ._254 + 4 + ldrb r1, [r4] + cmp r1, #0 + bne ._253 @cond_branch + ldr r0, ._254 + str r1, [sp] + str r1, [sp, #0x4] + str r1, [sp, #0x8] + str r1, [sp, #0xc] + mov r1, #0x1 + mov r2, #0xa + mov r3, #0x20 + bl CreateMon + mov r0, #0x1 + strb r0, [r4] +._253: + add sp, sp, #0x74 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._255: + .align 2, 0 +._254: + .word gPlayerParty + .word gPlayerPartyCount + + thumb_func_end debug_sub_8160308 + + thumb_func_start debug_sub_81603B8 +debug_sub_81603B8: + push {r4, r5, r6, r7, lr} + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + mov r0, #0x5 + bl PlaySE + ldr r7, ._259 + ldrb r4, [r7] + add r0, r4, #0 + mov r1, #0x6 + bl __udivsi3 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r4, #0 + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, ._259 + 4 + add r0, r5, r0 + ldrb r2, [r0] + lsl r3, r4, #0x1 + add r1, r3, #1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r3, r3, #0x2 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + add r0, r2, #0 + bl Menu_BlankWindowRect + cmp r6, #0 + bne ._256 @cond_branch + cmp r4, #0 + beq ._257 @cond_branch + ldrb r0, [r7] + sub r0, r0, #0x1 + b ._258 +._260: + .align 2, 0 +._259: + .word _nakamuraData4 + .word _843E5D1 +._257: + lsl r0, r5, #0x1 + add r0, r0, r5 + lsl r0, r0, #0x1 + add r0, r0, #0x5 +._258: + strb r0, [r7] +._256: + ldr r1, ._264 + cmp r6, #0x1 + bne ._261 @cond_branch + cmp r4, #0x5 + beq ._262 @cond_branch + ldrb r0, [r1] + add r0, r0, #0x1 + b ._263 +._265: + .align 2, 0 +._264: + .word _nakamuraData4 +._262: + lsl r0, r5, #0x1 + add r0, r0, r5 + lsl r0, r0, #0x1 +._263: + strb r0, [r1] +._261: + cmp r6, #0x2 + bne ._266 @cond_branch + cmp r5, #0 + beq ._267 @cond_branch + ldrb r0, [r1] + sub r0, r0, #0x6 + b ._268 +._267: + add r0, r4, #0 + add r0, r0, #0xc +._268: + strb r0, [r1] +._266: + cmp r6, #0x3 + bne ._271 @cond_branch + cmp r5, #0x2 + beq ._270 @cond_branch + ldrb r0, [r1] + add r0, r0, #0x6 + strb r0, [r1] + b ._271 +._270: + strb r4, [r1] +._271: + ldrb r4, [r1] + add r0, r4, #0 + mov r1, #0x6 + bl __udivsi3 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r4, #0 + mov r1, #0x6 + bl __umodsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + ldr r0, ._272 + add r0, r5, r0 + ldrb r0, [r0] + lsr r1, r1, #0x17 + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + mov r2, #0xff + bl PrintTriangleCursorWithPalette + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._273: + .align 2, 0 +._272: + .word _843E5D1 + + thumb_func_end debug_sub_81603B8 + + thumb_func_start debug_sub_8160498 +debug_sub_8160498: + push {r4, lr} + ldr r1, ._276 + ldrh r2, [r1, #0x2e] + mov r0, #0x40 + and r0, r0, r2 + cmp r0, #0 + beq ._274 @cond_branch + mov r0, #0x0 + b ._281 +._277: + .align 2, 0 +._276: + .word gMain +._274: + mov r0, #0x80 + and r0, r0, r2 + cmp r0, #0 + beq ._278 @cond_branch + mov r0, #0x1 + b ._281 +._278: + mov r0, #0x20 + and r0, r0, r2 + cmp r0, #0 + beq ._280 @cond_branch + mov r0, #0x2 + b ._281 +._280: + mov r0, #0x10 + and r0, r0, r2 + cmp r0, #0 + beq ._282 @cond_branch + mov r0, #0x3 +._281: + bl debug_sub_81603B8 + mov r0, #0x0 + b ._311 +._282: + ldrh r1, [r1, #0x30] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._284 @cond_branch + ldr r4, ._289 + ldrb r0, [r4] + cmp r0, #0x5 + bhi ._285 @cond_branch + mov r1, #0x1 + bl debug_sub_81601C8 +._285: + ldrb r0, [r4] + sub r0, r0, #0x6 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._286 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_8160258 +._286: + ldrb r0, [r4] + sub r0, r0, #0xc + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._306 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + b ._300 +._290: + .align 2, 0 +._289: + .word _nakamuraData4 +._284: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._291 @cond_branch + ldr r4, ._294 + ldrb r0, [r4] + cmp r0, #0x5 + bhi ._304 @cond_branch + mov r1, #0x1 + neg r1, r1 + b ._293 +._295: + .align 2, 0 +._294: + .word _nakamuraData4 +._291: + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._296 @cond_branch + ldr r4, ._301 + ldrb r0, [r4] + cmp r0, #0x5 + bhi ._297 @cond_branch + mov r1, #0xa + bl debug_sub_81601C8 +._297: + ldrb r0, [r4] + sub r0, r0, #0x6 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._298 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_8160258 +._298: + ldrb r0, [r4] + sub r0, r0, #0xc + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._306 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + b ._300 +._302: + .align 2, 0 +._301: + .word _nakamuraData4 +._296: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._303 @cond_branch + ldr r4, ._308 + ldrb r0, [r4] + cmp r0, #0x5 + bhi ._304 @cond_branch + mov r1, #0xa + neg r1, r1 +._293: + bl debug_sub_81601C8 +._304: + ldrb r0, [r4] + sub r0, r0, #0x6 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._305 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_8160258 +._305: + ldrb r0, [r4] + sub r0, r0, #0xc + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi ._306 @cond_branch + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + neg r1, r1 +._300: + bl debug_sub_816027C +._306: + ldrb r0, [r4] + mov r1, #0x6 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_816017C + mov r0, #0x0 + b ._311 +._309: + .align 2, 0 +._308: + .word _nakamuraData4 +._303: + mov r0, #0x8 + and r0, r0, r2 + cmp r0, #0 + bne ._310 @cond_branch + mov r0, #0x0 + b ._311 +._310: + bl debug_sub_8160308 + bl CloseMenu + mov r0, #0x1 +._311: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_8160498 + + thumb_func_start debug_sub_816062C +debug_sub_816062C: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add sp, sp, #0xfffffff0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 + mov r0, #0x64 + mov r4, r8 + mul r4, r4, r0 + ldr r0, ._316 + add r4, r4, r0 + add r0, r4, #0 + mov r1, #0xb + bl GetMonData + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + add r0, r4, #0 + bl GetMonGender + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldr r1, ._316 + 4 + lsl r0, r7, #0x3 + sub r0, r0, r7 + lsl r0, r0, #0x2 + add r0, r0, r1 + ldrb r6, [r0, #0x10] + cmp r6, #0 + beq ._313 @cond_branch + cmp r6, #0xfe + beq ._313 @cond_branch + cmp r6, #0xff + bne ._314 @cond_branch +._313: + mov r0, #0x64 + mov r1, r8 + mul r1, r1, r0 + add r0, r1, #0 + ldr r1, ._316 + add r0, r0, r1 + bl GetMonGender + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._320 +._317: + .align 2, 0 +._316: + .word gPlayerParty + .word gBaseStats +._314: + cmp r2, #0 + beq ._318 @cond_branch + cmp r2, #0xfe + beq ._319 @cond_branch + mov r0, #0x0 + b ._320 +._318: + mov r6, #0xfe + b ._321 +._319: + mov r6, #0x0 +._321: + mov r0, r8 + lsl r0, r0, #0x2 + mov r9, r0 +._322: + bl Random + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + bl Random + lsl r0, r0, #0x10 + orr r5, r5, r0 + add r0, r7, #0 + add r1, r5, #0 + bl GetGenderFromSpeciesAndPersonality + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, r6 + bne ._322 @cond_branch + mov r0, #0x64 + mov r4, r8 + mul r4, r4, r0 + ldr r0, ._323 + add r4, r4, r0 + add r0, r4, #0 + mov r1, #0x42 + bl GetMonData + ldr r0, ._323 + 4 + add r0, r0, r9 + ldrh r1, [r0] + ldrb r2, [r0, #0x2] + mov r0, #0x1 + str r0, [sp] + str r5, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0xc] + add r0, r4, #0 + mov r3, #0x20 + bl CreateMon + add r0, r6, #0 +._320: + add sp, sp, #0x10 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._324: + .align 2, 0 +._323: + .word gPlayerParty + .word _nakamuraStatic0 + + thumb_func_end debug_sub_816062C + + thumb_func_start debug_sub_8160714 +debug_sub_8160714: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add sp, sp, #0xfffffff0 + add r6, r0, #0 + mov r9, r1 + mov r7, #0x0 + mov r0, #0x0 + mov r8, r0 + mov r2, #0x0 + mov r5, #0x0 +._329: + add r4, r5, #1 + lsl r1, r4, #0x18 + lsr r1, r1, #0x18 + mov r0, r9 + str r2, [sp, #0xc] + bl GetPokeblockData + add r1, r0, #0 + lsl r0, r5, #0x1 + add r0, r0, sp + strh r1, [r0] + ldr r2, [sp, #0xc] + cmp r5, #0x5 + beq ._328 @cond_branch + lsl r0, r1, #0x10 + asr r1, r0, #0x10 + cmp r1, #0 + ble ._326 @cond_branch + add r0, r7, #1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._326: + cmp r1, #0 + bge ._327 @cond_branch + mov r0, r8 + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 +._327: + cmp r1, #0 + bne ._328 @cond_branch + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 +._328: + lsl r0, r4, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._329 @cond_branch + mov r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0x31 + bgt ._333 @cond_branch + mov r0, sp + ldrh r0, [r0, #0x2] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + cmp r0, #0x31 + bgt ._333 @cond_branch + mov r0, sp + mov r4, #0x4 + ldsh r0, [r0, r4] + cmp r0, #0x31 + bgt ._333 @cond_branch + mov r0, sp + mov r1, #0x6 + ldsh r0, [r0, r1] + cmp r0, #0x31 + bgt ._333 @cond_branch + mov r0, sp + mov r4, #0x8 + ldsh r0, [r0, r4] + cmp r0, #0x31 + ble ._334 @cond_branch +._333: + ldr r1, ._336 + add r0, r6, #0 + bl StringCopy + mov r0, #0xe + b ._400 +._337: + .align 2, 0 +._336: + .word ContestStatsText_GoldPokeBlock +._334: + cmp r7, #0x4 + bne ._338 @cond_branch + ldr r1, ._340 + add r0, r6, #0 + bl StringCopy + mov r0, #0xd + b ._400 +._341: + .align 2, 0 +._340: + .word ContestStatsText_WhitePokeBlock +._338: + mov r3, #0x0 + mov r5, #0x0 +._343: + lsl r0, r5, #0x1 + add r0, r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0x2 + bne ._342 @cond_branch + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 +._342: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x4 + bls ._343 @cond_branch + cmp r3, #0x3 + beq ._345 @cond_branch + cmp r2, #0x5 + beq ._345 @cond_branch + mov r4, r8 + cmp r4, #0x4 + bne ._346 @cond_branch +._345: + ldr r1, ._348 + add r0, r6, #0 + bl StringCopy + mov r0, #0xc + b ._400 +._349: + .align 2, 0 +._348: + .word ContestStatsText_BlackPokeBlock +._346: + cmp r7, #0x3 + bne ._350 @cond_branch + ldr r1, ._352 + add r0, r6, #0 + bl StringCopy + mov r0, #0xb + b ._400 +._353: + .align 2, 0 +._352: + .word ContestStatsText_GrayPokeBlock +._350: + cmp r7, #0x2 + beq ._354 @cond_branch + mov r0, r8 + cmp r0, #0x2 + bne ._377 @cond_branch +._354: + mov r3, #0x6 + mov r2, #0x0 + mov r5, #0x0 +._359: + lsl r0, r5, #0x1 + add r0, r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._358 @cond_branch + cmp r3, #0x6 + bne ._357 @cond_branch + add r3, r5, #0 + b ._358 +._357: + add r2, r5, #0 +._358: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x4 + bls ._359 @cond_branch + lsl r0, r3, #0x1 + mov r4, sp + add r1, r4, r0 + lsl r0, r2, #0x1 + add r0, r0, sp + mov r4, #0x0 + ldsh r1, [r1, r4] + mov r4, #0x0 + ldsh r0, [r0, r4] + cmp r1, r0 + blt ._360 @cond_branch + add r2, r3, #0 +._360: + cmp r2, #0 + bne ._361 @cond_branch + ldr r1, ._363 + add r0, r6, #0 + bl StringCopy + mov r0, #0x6 + b ._400 +._364: + .align 2, 0 +._363: + .word ContestStatsText_PurplePokeBlock +._361: + cmp r2, #0x1 + bne ._365 @cond_branch + ldr r1, ._367 + add r0, r6, #0 + bl StringCopy + mov r0, #0x7 + b ._400 +._368: + .align 2, 0 +._367: + .word ContestStatsText_IndigoPokeBlock +._365: + cmp r2, #0x2 + bne ._369 @cond_branch + ldr r1, ._371 + add r0, r6, #0 + bl StringCopy + mov r0, #0x8 + b ._400 +._372: + .align 2, 0 +._371: + .word ContestStatsText_BrownPokeBlock +._369: + cmp r2, #0x3 + bne ._373 @cond_branch + ldr r1, ._375 + add r0, r6, #0 + bl StringCopy + mov r0, #0x9 + b ._400 +._376: + .align 2, 0 +._375: + .word ContestStatsText_LiteBluePokeBlock +._373: + cmp r2, #0x4 + bne ._377 @cond_branch + ldr r1, ._379 + add r0, r6, #0 + bl StringCopy + mov r0, #0xa + b ._400 +._380: + .align 2, 0 +._379: + .word ContestStatsText_OlivePokeBlock +._377: + cmp r7, #0x1 + beq ._381 @cond_branch + mov r0, r8 + cmp r0, #0x1 + bne ._399 @cond_branch +._381: + mov r0, sp + mov r1, #0x0 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._383 @cond_branch + ldr r1, ._385 + add r0, r6, #0 + bl StringCopy + mov r0, #0x1 + b ._400 +._386: + .align 2, 0 +._385: + .word ContestStatsText_RedPokeBlock +._383: + mov r0, sp + ldrh r0, [r0, #0x2] + cmp r0, #0 + beq ._387 @cond_branch + ldr r1, ._389 + add r0, r6, #0 + bl StringCopy + mov r0, #0x2 + b ._400 +._390: + .align 2, 0 +._389: + .word ContestStatsText_BluePokeBlock +._387: + mov r0, sp + mov r4, #0x4 + ldsh r0, [r0, r4] + cmp r0, #0 + beq ._391 @cond_branch + ldr r1, ._393 + add r0, r6, #0 + bl StringCopy + mov r0, #0x3 + b ._400 +._394: + .align 2, 0 +._393: + .word ContestStatsText_PinkPokeBlock +._391: + mov r0, sp + mov r1, #0x6 + ldsh r0, [r0, r1] + cmp r0, #0 + beq ._395 @cond_branch + ldr r1, ._397 + add r0, r6, #0 + bl StringCopy + mov r0, #0x4 + b ._400 +._398: + .align 2, 0 +._397: + .word ContestStatsText_GreenPokeBlock +._395: + mov r0, sp + mov r4, #0x8 + ldsh r0, [r0, r4] + cmp r0, #0 + beq ._399 @cond_branch + ldr r1, ._401 + add r0, r6, #0 + bl StringCopy + mov r0, #0x5 + b ._400 +._402: + .align 2, 0 +._401: + .word ContestStatsText_YellowPokeBlock +._399: + ldr r1, ._403 + add r0, r6, #0 + bl StringCopy + mov r0, #0x0 +._400: + add sp, sp, #0x10 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._404: + .align 2, 0 +._403: + .word gOtherText_FiveQuestions + + thumb_func_end debug_sub_8160714 + + thumb_func_start debug_sub_816097C +debug_sub_816097C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add r7, r0, #0 + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + mov r6, #0x0 + mov r1, #0x0 +._405: + add r0, r7, r6 + strb r1, [r0] + add r0, r6, #1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x3 + bls ._405 @cond_branch + mov r0, #0xff + strb r0, [r7, #0x4] + lsl r0, r5, #0x10 + asr r0, r0, #0x10 + cmp r0, #0 + bne ._406 @cond_branch + mov r0, #0xa1 + strb r0, [r7, #0x3] + b ._414 +._406: + cmp r0, #0 + ble ._408 @cond_branch + mov r4, #0x64 + mov r0, #0x0 + mov r8, r0 + mov r6, #0x0 +._412: + lsl r5, r5, #0x10 + asr r0, r5, #0x10 + lsl r4, r4, #0x10 + asr r1, r4, #0x10 + bl __divsi3 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r1, r8 + cmp r1, #0 + bne ._410 @cond_branch + cmp r6, #0x2 + beq ._410 @cond_branch + cmp r2, #0 + beq ._411 @cond_branch +._410: + add r1, r6, r7 + add r0, r2, #0 + sub r0, r0, #0x5f + strb r0, [r1, #0x1] + mov r0, #0x1 + mov r8, r0 +._411: + asr r0, r5, #0x10 + asr r4, r4, #0x10 + add r1, r4, #0 + bl __modsi3 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0 + mov r1, #0xa + bl __divsi3 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r6, #1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + bls ._412 @cond_branch + b ._414 +._408: + cmp r0, #0 + bge ._414 @cond_branch + neg r0, r0 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + mov r4, #0x64 + mov r1, #0x0 + mov r8, r1 + mov r6, #0x0 +._419: + lsl r5, r5, #0x10 + asr r0, r5, #0x10 + lsl r4, r4, #0x10 + asr r1, r4, #0x10 + bl __divsi3 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r1, r8 + lsl r0, r1, #0x10 + add r3, r0, #0 + cmp r3, #0 + bne ._416 @cond_branch + cmp r6, #0x2 + beq ._416 @cond_branch + cmp r2, #0 + beq ._417 @cond_branch +._416: + add r1, r6, r7 + add r0, r2, #0 + sub r0, r0, #0x5f + strb r0, [r1, #0x1] + cmp r3, #0 + bne ._418 @cond_branch + mov r0, #0xae + strb r0, [r1] +._418: + mov r0, #0x1 + mov r8, r0 +._417: + asr r0, r5, #0x10 + asr r4, r4, #0x10 + add r1, r4, #0 + bl __modsi3 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0 + mov r1, #0xa + bl __divsi3 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r6, #1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + bls ._419 @cond_branch +._414: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_sub_816097C + + thumb_func_start debug_sub_8160A80 +debug_sub_8160A80: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r2, r0, #0 + ldr r1, ._422 + cmp r0, #0 + bne ._420 @cond_branch + ldr r4, ._422 + 4 + ldrb r1, [r1, #0x1] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x3 + bl Menu_PrintText + b ._440 +._423: + .align 2, 0 +._422: + .word _nakamuraStatic18 + .word gStringVar1 +._420: + cmp r0, #0x1 + bne ._424 @cond_branch + ldr r4, ._426 + ldrb r1, [r1, #0x2] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x5 + bl Menu_PrintText + b ._440 +._427: + .align 2, 0 +._426: + .word gStringVar1 +._424: + cmp r0, #0x2 + bne ._428 @cond_branch + ldr r4, ._430 + ldrb r1, [r1, #0x3] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x7 + bl Menu_PrintText + b ._440 +._431: + .align 2, 0 +._430: + .word gStringVar1 +._428: + cmp r0, #0x3 + bne ._432 @cond_branch + ldr r4, ._434 + ldrb r1, [r1, #0x4] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x9 + bl Menu_PrintText + b ._440 +._435: + .align 2, 0 +._434: + .word gStringVar1 +._432: + cmp r0, #0x4 + bne ._436 @cond_branch + ldr r4, ._438 + ldrb r1, [r1, #0x5] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0xb + bl Menu_PrintText + b ._440 +._439: + .align 2, 0 +._438: + .word gStringVar1 +._436: + cmp r2, #0x5 + bne ._440 @cond_branch + ldr r4, ._441 + ldrb r1, [r1, #0x6] + add r0, r4, #0 + bl debug_sub_816097C + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0xd + bl Menu_PrintText +._440: + pop {r4} + pop {r0} + bx r0 +._442: + .align 2, 0 +._441: + .word gStringVar1 + + thumb_func_end debug_sub_8160A80 + + thumb_func_start debug_sub_8160B50 +debug_sub_8160B50: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r3, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r4, r1, #0 + ldr r2, ._445 + cmp r0, #0 + bne ._443 @cond_branch + ldrb r0, [r2, #0x1] + add r0, r0, r1 + strb r0, [r2, #0x1] + b ._455 +._446: + .align 2, 0 +._445: + .word _nakamuraStatic18 +._443: + cmp r0, #0x1 + bne ._447 @cond_branch + ldrb r0, [r2, #0x2] + add r0, r0, r1 + strb r0, [r2, #0x2] + b ._455 +._447: + cmp r0, #0x2 + bne ._449 @cond_branch + ldrb r0, [r2, #0x3] + add r0, r0, r1 + strb r0, [r2, #0x3] + b ._455 +._449: + cmp r0, #0x3 + bne ._451 @cond_branch + ldrb r0, [r2, #0x4] + add r0, r0, r1 + strb r0, [r2, #0x4] + b ._455 +._451: + cmp r0, #0x4 + bne ._453 @cond_branch + ldrb r0, [r2, #0x5] + add r0, r0, r1 + strb r0, [r2, #0x5] + b ._455 +._453: + cmp r3, #0x5 + bne ._455 @cond_branch + ldrb r0, [r2, #0x6] + add r0, r0, r4 + strb r0, [r2, #0x6] +._455: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_8160B50 + + thumb_func_start debug_sub_8160BB0 +debug_sub_8160BB0: + push {r4, r5, lr} + ldr r5, ._456 + ldr r4, ._456 + 4 + add r0, r5, #0 + add r1, r4, #0 + bl debug_sub_8160714 + strb r0, [r4] + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x8 + mov r3, #0x2 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._457: + .align 2, 0 +._456: + .word gStringVar1 + .word _nakamuraStatic18 + + thumb_func_end debug_sub_8160BB0 + + thumb_func_start debug_sub_8160BE4 +debug_sub_8160BE4: + push {r4, lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0xf + bl Menu_DrawStdWindowFrame + bl debug_sub_8160BB0 + ldr r0, ._459 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + ldr r0, ._459 + 4 + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + ldr r0, ._459 + 8 + mov r1, #0x2 + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._459 + 12 + mov r1, #0x2 + mov r2, #0x9 + bl Menu_PrintText + ldr r0, ._459 + 16 + mov r1, #0x2 + mov r2, #0xb + bl Menu_PrintText + ldr r0, ._459 + 20 + mov r1, #0x2 + mov r2, #0xd + bl Menu_PrintText + mov r4, #0x0 +._458: + add r0, r4, #0 + bl debug_sub_8160A80 + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._458 @cond_branch + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x6 + bl InitMenu + add sp, sp, #0x8 + pop {r4} + pop {r0} + bx r0 +._460: + .align 2, 0 +._459: + .word gContestStatsText_Spicy + .word gContestStatsText_Dry + .word gContestStatsText_Sweet + .word gContestStatsText_Bitter + .word gContestStatsText_Sour + .word gContestStatsText_Tasty + + thumb_func_end debug_sub_8160BE4 + + thumb_func_start debug_sub_8160C7C +debug_sub_8160C7C: + push {r4, lr} + ldr r2, ._469 + mov r1, #0x0 + ldrb r0, [r2] + cmp r0, #0xc + bne ._467 @cond_branch + ldrb r0, [r2, #0x1] + cmp r0, #0x2 + bne ._462 @cond_branch + mov r1, #0x1 +._462: + ldrb r0, [r2, #0x3] + cmp r0, #0x2 + bne ._463 @cond_branch + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +._463: + ldrb r0, [r2, #0x4] + cmp r0, #0x2 + bne ._464 @cond_branch + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +._464: + ldrb r0, [r2, #0x2] + cmp r0, #0x2 + bne ._465 @cond_branch + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +._465: + ldrb r0, [r2, #0x5] + cmp r0, #0x2 + bne ._466 @cond_branch + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +._466: + cmp r1, #0x3 + beq ._467 @cond_branch + mov r0, #0x2 + strb r0, [r2, #0x1] + strb r0, [r2, #0x3] + strb r0, [r2, #0x4] +._467: + add r0, r2, #0 + bl sub_810CA34 + bl debug_sub_8160BB0 + mov r4, #0x0 +._468: + add r0, r4, #0 + bl debug_sub_8160A80 + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._468 @cond_branch + pop {r4} + pop {r0} + bx r0 +._470: + .align 2, 0 +._469: + .word _nakamuraStatic18 + + thumb_func_end debug_sub_8160C7C + + thumb_func_start debug_sub_8160CF4 +debug_sub_8160CF4: + push {lr} + ldr r2, ._473 + ldrh r1, [r2, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._471 @cond_branch + mov r0, #0x1 + neg r0, r0 + b ._472 +._474: + .align 2, 0 +._473: + .word gMain +._471: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._475 @cond_branch + mov r0, #0x1 +._472: + bl Menu_MoveCursor + mov r0, #0x0 + b ._484 +._475: + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._477 @cond_branch + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + neg r1, r1 + b ._478 +._477: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._479 @cond_branch + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 +._478: + bl debug_sub_8160B50 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl debug_sub_8160A80 + bl debug_sub_8160BB0 + mov r0, #0x0 + b ._484 +._479: + ldrh r1, [r2, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._481 @cond_branch + bl debug_sub_8160C7C + mov r0, #0x5 + bl PlaySE + mov r0, #0x0 + b ._484 +._481: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._483 @cond_branch + mov r0, #0x0 + b ._484 +._483: + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 +._484: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8160CF4 + + thumb_func_start debug_sub_8160D98 +debug_sub_8160D98: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl debug_sub_8160BE4 + ldr r1, ._485 + ldr r0, ._485 + 4 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._486: + .align 2, 0 +._485: + .word gMenuCallback + .word debug_sub_8160CF4+1 + + thumb_func_end debug_sub_8160D98 + + thumb_func_start debug_sub_8160DC0 +debug_sub_8160DC0: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x16 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._487 + mov r1, #0xb + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._487 + 4 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + ldr r0, ._487 + 8 + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + ldr r0, ._487 + 12 + mov r1, #0x2 + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._487 + 16 + mov r1, #0x2 + mov r2, #0x9 + bl Menu_PrintText + ldr r0, ._487 + 20 + mov r1, #0x2 + mov r2, #0xb + bl Menu_PrintText + ldr r0, ._487 + 24 + mov r1, #0x2 + mov r2, #0xd + bl Menu_PrintText + ldr r0, ._487 + 28 + mov r1, #0x2 + mov r2, #0xf + bl Menu_PrintText + ldr r0, ._487 + 32 + mov r1, #0x2 + mov r2, #0x11 + bl Menu_PrintText + pop {r0} + bx r0 +._488: + .align 2, 0 +._487: + .word gOtherText_Slash + .word Str_843E5F2 + .word Str_843E5FB + .word Str_843E606 + .word Str_843E611 + .word Str_843E61C + .word Str_843E627 + .word Str_843E637 + .word Str_843E632 + + thumb_func_end debug_sub_8160DC0 + + thumb_func_start debug_sub_8160E50 +debug_sub_8160E50: + push {r4, r5, r6, lr} + add r6, r0, #0 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r5, ._489 + add r0, r6, #0 + mov r1, #0x2 + add r2, r5, #0 + bl GetMonData + add r0, r5, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + mov r0, #0xc + mov r1, #0x1 + mov r2, #0x15 + mov r3, #0x2 + bl Menu_BlankWindowRect + add r0, r6, #0 + mov r1, #0xb + bl GetMonData + mov r1, #0xb + mul r0, r0, r1 + ldr r1, ._489 + 4 + add r0, r0, r1 + mov r1, #0xc + mov r2, #0x1 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1a + bl GetMonData + add r4, r0, #0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x3 + mov r2, #0x11 + mov r3, #0x4 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x3 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1b + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x5 + mov r2, #0x11 + mov r3, #0x6 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x5 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1c + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x7 + mov r2, #0x11 + mov r3, #0x8 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x7 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1d + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x9 + mov r2, #0x11 + mov r3, #0xa + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x9 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1e + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0xb + mov r2, #0x11 + mov r3, #0xc + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0xb + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x1f + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r4, r4, r1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0xd + mov r2, #0x11 + mov r3, #0xe + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0xd + bl Menu_PrintText + add r0, r5, #0 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0xf + mov r2, #0x11 + mov r3, #0x10 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0xf + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x20 + bl GetMonData + add r1, r0, #0 + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + mov r0, #0xd + mov r1, #0x11 + mov r2, #0x11 + mov r3, #0x12 + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0xd + mov r2, #0x11 + bl Menu_PrintText + pop {r4, r5, r6} + pop {r0} + bx r0 +._490: + .align 2, 0 +._489: + .word gStringVar1 + .word gSpeciesNames + + thumb_func_end debug_sub_8160E50 + + thumb_func_start debug_sub_8161028 +debug_sub_8161028: + push {r4, r5, r6, lr} + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + bne ._491 @cond_branch + ldr r0, ._496 + ldrb r0, [r0] + cmp r0, #0 + bne ._492 @cond_branch + mov r5, #0x5 +._494: + lsl r0, r5, #0x10 + asr r4, r0, #0x10 + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._496 + 4 + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + bne ._493 @cond_branch + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r0, #0 + bge ._494 @cond_branch +._492: + ldr r1, ._496 + ldrb r0, [r1] + add r0, r0, r6 + strb r0, [r1] + b ._506 +._497: + .align 2, 0 +._496: + .word _nakamuraData5 + .word gPlayerParty +._491: + cmp r1, #0x1 + bne ._506 @cond_branch + ldr r4, ._501 + ldrb r0, [r4] + add r0, r0, r6 + strb r0, [r4] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x6 + bne ._499 @cond_branch + mov r0, #0x0 + b ._500 +._502: + .align 2, 0 +._501: + .word _nakamuraData5 +._493: + ldr r0, ._504 + strb r5, [r0] + b ._506 +._505: + .align 2, 0 +._504: + .word _nakamuraData5 +._499: + ldrb r1, [r4] + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._507 + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + bne ._506 @cond_branch +._500: + strb r0, [r4] +._506: + pop {r4, r5, r6} + pop {r0} + bx r0 +._508: + .align 2, 0 +._507: + .word gPlayerParty + + thumb_func_end debug_sub_8161028 + + thumb_func_start debug_sub_81610BC +debug_sub_81610BC: + push {lr} + ldr r0, ._511 + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._509 @cond_branch + mov r0, #0x1 + neg r0, r0 + b ._510 +._512: + .align 2, 0 +._511: + .word gMain +._509: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._513 @cond_branch + mov r0, #0x1 +._510: + bl debug_sub_8161028 + ldr r0, ._515 + ldrb r1, [r0] + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._515 + 4 + add r0, r0, r1 + bl debug_sub_8160E50 + mov r0, #0x0 + b ._518 +._516: + .align 2, 0 +._515: + .word _nakamuraData5 + .word gPlayerParty +._513: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + bne ._517 @cond_branch + mov r0, #0x0 + b ._518 +._517: + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 +._518: + pop {r1} + bx r1 + + thumb_func_end debug_sub_81610BC + + thumb_func_start DebugMenu_EffortValues +DebugMenu_EffortValues: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + ldr r1, ._519 + mov r0, #0x0 + strb r0, [r1] + bl debug_sub_8160DC0 + ldr r0, ._519 + 4 + bl debug_sub_8160E50 + ldr r1, ._519 + 8 + ldr r0, ._519 + 12 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._520: + .align 2, 0 +._519: + .word _nakamuraData5 + .word gPlayerParty + .word gMenuCallback + .word debug_sub_81610BC+1 + + thumb_func_end DebugMenu_EffortValues + + thumb_func_start debug_sub_8161160 +debug_sub_8161160: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r7, #0x0 + ldr r2, ._523 + ldr r1, ._523 + 4 + ldrh r0, [r2] + ldrh r3, [r1] + cmp r0, r3 + bhi ._521 @cond_branch + add r6, r0, #0 + ldrh r5, [r1] + b ._522 +._524: + .align 2, 0 +._523: + .word _nakamuraData6 + .word _nakamuraData8 +._521: + ldrh r6, [r1] + ldrh r5, [r2] +._522: + mov r4, #0x0 + ldr r0, ._529 + ldrh r0, [r0] + cmp r4, r0 + bcs ._525 @cond_branch + ldr r0, ._529 + 4 + mov r8, r0 +._528: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r2, r8 + ldrh r1, [r2] + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, r6 + bcc ._527 @cond_branch + cmp r0, r5 + bhi ._527 @cond_branch + add r0, r7, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 +._527: + add r4, r4, #0x1 + ldr r0, ._529 + ldrh r0, [r0] + cmp r4, r0 + bcc ._528 @cond_branch +._525: + add r0, r7, #0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._530: + .align 2, 0 +._529: + .word _nakamuraDataA + .word _nakamuraDataC + + thumb_func_end debug_sub_8161160 + + thumb_func_start debug_sub_81611D8 +debug_sub_81611D8: + push {r4, lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xf + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r0, ._531 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._531 + 4 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + ldr r0, ._531 + 8 + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + ldr r0, ._531 + 12 + mov r1, #0x2 + mov r2, #0x7 + bl Menu_PrintText + ldr r0, ._531 + 16 + mov r1, #0x2 + mov r2, #0x9 + bl Menu_PrintText + ldr r0, ._531 + 20 + mov r1, #0xd + mov r2, #0x9 + bl Menu_PrintText + ldr r4, ._531 + 24 + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x1 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x3 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x5 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x7 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xc + mov r2, #0x9 + bl Menu_PrintText + mov r0, #0x0 + str r0, [sp] + mov r0, #0xe + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x4 + bl InitMenu + add sp, sp, #0x8 + pop {r4} + pop {r0} + bx r0 +._532: + .align 2, 0 +._531: + .word Str_843E642 + .word Str_843E647 + .word Str_843E65A + .word Str_843E64C + .word Str_843E651 + .word Str_843E655 + .word Str_843E658 + + thumb_func_end debug_sub_81611D8 + + thumb_func_start debug_sub_8161290 +debug_sub_8161290: + push {r4, lr} + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + ldr r4, ._533 + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x8 + mov r2, #0x9 + bl Menu_PrintText + pop {r4} + pop {r0} + bx r0 +._534: + .align 2, 0 +._533: + .word gStringVar1 + + thumb_func_end debug_sub_8161290 + + thumb_func_start debug_sub_81612B8 +debug_sub_81612B8: + push {r4, r5, lr} + add r4, r2, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + lsl r1, r1, #0x18 + asr r1, r1, #0x18 + ldrh r2, [r0] + add r1, r1, r2 + strh r1, [r0] + ldr r5, ._535 + ldrh r1, [r0] + add r0, r5, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r5, #0 + mov r1, #0x8 + add r2, r4, #0 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._536: + .align 2, 0 +._535: + .word gStringVar1 + + thumb_func_end debug_sub_81612B8 + + thumb_func_start debug_sub_81612EC +debug_sub_81612EC: + push {r4, r5, lr} + ldr r2, ._540 + ldrh r1, [r2, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + mov r5, #0x1 + cmp r0, #0 + beq ._537 @cond_branch + mov r5, #0x64 +._537: + ldrh r1, [r2, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._538 @cond_branch + mov r0, #0x1 + neg r0, r0 + b ._539 +._541: + .align 2, 0 +._540: + .word gMain +._538: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._542 @cond_branch + mov r0, #0x1 +._539: + bl Menu_MoveCursor +._565: + mov r0, #0x0 + b ._543 +._542: + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._544 @cond_branch + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r4, r0, #0x18 + cmp r4, #0 + bne ._545 @cond_branch + ldr r0, ._550 + neg r1, r5 + mov r2, #0x1 + bl debug_sub_81612B8 +._545: + cmp r4, #0x1 + bne ._546 @cond_branch + ldr r0, ._550 + 4 + neg r1, r5 + mov r2, #0x3 + bl debug_sub_81612B8 +._546: + cmp r4, #0x2 + bne ._547 @cond_branch + ldr r0, ._550 + 8 + neg r1, r5 + mov r2, #0x5 + bl debug_sub_81612B8 +._547: + cmp r4, #0x3 + bne ._565 @cond_branch + ldr r0, ._550 + 12 + neg r1, r5 + mov r2, #0x7 + bl debug_sub_81612B8 + b ._565 +._551: + .align 2, 0 +._550: + .word _nakamuraData6 + .word _nakamuraData8 + .word _nakamuraDataC + .word _nakamuraDataA +._544: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._552 @cond_branch + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r4, r0, #0x18 + cmp r4, #0 + bne ._553 @cond_branch + ldr r0, ._558 + add r1, r5, #0 + mov r2, #0x1 + bl debug_sub_81612B8 +._553: + cmp r4, #0x1 + bne ._554 @cond_branch + ldr r0, ._558 + 4 + add r1, r5, #0 + mov r2, #0x3 + bl debug_sub_81612B8 +._554: + cmp r4, #0x2 + bne ._555 @cond_branch + ldr r0, ._558 + 8 + add r1, r5, #0 + mov r2, #0x5 + bl debug_sub_81612B8 +._555: + cmp r4, #0x3 + bne ._565 @cond_branch + ldr r0, ._558 + 12 + add r1, r5, #0 + mov r2, #0x7 + bl debug_sub_81612B8 + b ._565 +._559: + .align 2, 0 +._558: + .word _nakamuraData6 + .word _nakamuraData8 + .word _nakamuraDataC + .word _nakamuraDataA +._552: + ldrh r1, [r2, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._560 @cond_branch + ldr r0, ._563 + ldrh r0, [r0] + cmp r0, #0 + beq ._565 @cond_branch + mov r0, #0x5 + bl PlaySE + bl debug_sub_8161160 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl debug_sub_8161290 + b ._565 +._564: + .align 2, 0 +._563: + .word _nakamuraDataC +._560: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._565 @cond_branch + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl CloseMenu + mov r0, #0x1 +._543: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_81612EC + + thumb_func_start DebugMenu_RandomNumberTest +DebugMenu_RandomNumberTest: + push {lr} + ldr r0, ._566 + mov r1, #0x0 + strh r1, [r0] + ldr r0, ._566 + 4 + strh r1, [r0] + ldr r0, ._566 + 8 + strh r1, [r0] + ldr r0, ._566 + 12 + strh r1, [r0] + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_EraseWindowRect + bl debug_sub_81611D8 + ldr r1, ._566 + 16 + ldr r0, ._566 + 20 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._567: + .align 2, 0 +._566: + .word _nakamuraData6 + .word _nakamuraData8 + .word _nakamuraDataC + .word _nakamuraDataA + .word gMenuCallback + .word debug_sub_81612EC+1 + + thumb_func_end DebugMenu_RandomNumberTest + + .align 2, 0 + +.endif diff --git a/asm/nohara_debug_menu.s b/asm/nohara_debug_menu.s new file mode 100644 index 000000000..88e6f1868 --- /dev/null +++ b/asm/nohara_debug_menu.s @@ -0,0 +1,2198 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start InitNoharaDebugMenu +InitNoharaDebugMenu: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x13 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._1 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x12 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._1 + 4 + ldr r0, ._1 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._2: + .align 2, 0 +._1: + .word gUnknown_Debug_083C4938 + .word gMenuCallback + .word debug_sub_808F414+1 + + thumb_func_end InitNoharaDebugMenu + + thumb_func_start debug_sub_808F414 +debug_sub_808F414: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._3 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._4 @cond_branch + ldr r2, ._6 + ldr r0, ._6 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] +._3: + mov r0, #0x0 + b ._5 +._7: + .align 2, 0 +._6: + .word gMenuCallback + .word gUnknown_Debug_083C4938 +._4: + bl CloseMenu + mov r0, #0x1 +._5: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808F414 + + thumb_func_start NoharaDebugMenu_TV +NoharaDebugMenu_TV: + push {lr} + add sp, sp, #0xfffffff8 + ldr r1, ._8 + mov r0, #0x0 + strb r0, [r1] + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xa + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._8 + 4 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x9 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._8 + 8 + ldr r0, ._8 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._9: + .align 2, 0 +._8: + .word gDebug_03000726 + .word gUnknown_Debug_083C4B8C + .word gMenuCallback + .word debug_sub_808F4AC+1 + + thumb_func_end NoharaDebugMenu_TV + + thumb_func_start debug_sub_808F4AC +debug_sub_808F4AC: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._10 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._11 @cond_branch + ldr r2, ._13 + ldr r0, ._13 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] +._10: + mov r0, #0x0 + b ._12 +._14: + .align 2, 0 +._13: + .word gMenuCallback + .word gUnknown_Debug_083C4B8C +._11: + bl CloseMenu + mov r0, #0x1 +._12: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808F4AC + + thumb_func_start debug_sub_808F4EC +debug_sub_808F4EC: + push {lr} + bl debug_sub_808F6BC + ldr r0, ._15 + bl sub_8071F40 + mov r0, #0x3 + mov r1, #0x3 + mov r2, #0x1 + bl DisplayYesNoMenu + ldr r1, ._15 + 4 + ldr r0, ._15 + 8 + str r0, [r1] + pop {r0} + bx r0 +._16: + .align 2, 0 +._15: + .word gUnknown_Debug_083C4980 + .word gMenuCallback + .word debug_sub_808F648+1 + + thumb_func_end debug_sub_808F4EC + + thumb_func_start debug_sub_808F518 +debug_sub_808F518: + push {r4, lr} + mov r2, #0x0 + ldr r4, ._20 + ldr r3, ._20 + 4 +._19: + lsl r0, r2, #0x3 + add r0, r0, r2 + lsl r0, r0, #0x2 + add r1, r0, r4 + add r0, r1, r3 + ldrb r0, [r0] + sub r0, r0, #0x15 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x13 + bhi ._18 @cond_branch + ldr r0, ._20 + 8 + add r1, r1, r0 + ldrb r0, [r1] + cmp r0, #0 + bne ._18 @cond_branch + mov r0, #0x1 + strb r0, [r1] +._18: + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x17 + bls ._19 @cond_branch + pop {r4} + pop {r0} + bx r0 +._21: + .align 2, 0 +._20: + .word gSaveBlock1 + .word 0x2738 + .word 0x2739 + + thumb_func_end debug_sub_808F518 + + thumb_func_start debug_sub_808F560 +debug_sub_808F560: + push {r4, lr} + mov r1, #0x0 + ldr r4, ._23 + ldr r3, ._23 + 4 + mov r2, #0x0 +._22: + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r4 + add r0, r0, r3 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x17 + bls ._22 @cond_branch + bl CloseMenu + mov r0, #0x1 + pop {r4} + pop {r1} + bx r1 +._24: + .align 2, 0 +._23: + .word gSaveBlock1 + .word 0x2739 + + thumb_func_end debug_sub_808F560 + + thumb_func_start debug_sub_808F594 +debug_sub_808F594: + push {r4, r5, r6, lr} + mov r2, #0x0 + ldr r6, ._27 + ldr r5, ._27 + 4 + ldr r4, ._27 + 8 + mov r3, #0x1 +._26: + lsl r0, r2, #0x3 + add r0, r0, r2 + lsl r0, r0, #0x2 + add r1, r0, r6 + add r0, r1, r5 + ldrb r0, [r0] + cmp r0, #0 + beq ._25 @cond_branch + add r0, r1, r4 + strb r3, [r0] +._25: + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x17 + bls ._26 @cond_branch + bl CloseMenu + mov r0, #0x1 + pop {r4, r5, r6} + pop {r1} + bx r1 +._28: + .align 2, 0 +._27: + .word gSaveBlock1 + .word 0x2738 + .word 0x2739 + + thumb_func_end debug_sub_808F594 + + thumb_func_start debug_sub_808F5D8 +debug_sub_808F5D8: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r4, #0x0 + ldr r6, ._30 + ldr r7, ._30 + 4 + add r0, r7, #1 + mov r8, r0 +._29: + ldr r5, ._30 + 8 + strh r4, [r5] + bl GetSlotMachineId + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r6, #0 + mov r2, #0x0 + mov r3, #0x1 + bl ConvertIntToDecimalStringN + lsl r0, r4, #0x1 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r1, r0, r7 + ldrb r1, [r1] + add r0, r0, r8 + ldrb r2, [r0] + add r0, r6, #0 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xb + bls ._29 @cond_branch + mov r0, #0x0 + strh r0, [r5] + ldr r1, ._30 + 12 + ldr r0, ._30 + 16 + str r0, [r1] + mov r0, #0x0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._31: + .align 2, 0 +._30: + .word gStringVar1 + .word gUnknown_Debug_083C4BD4 + .word gSpecialVar_0x8004 + .word gMenuCallback + .word debug_sub_8090278+1 + + thumb_func_end debug_sub_808F5D8 + + thumb_func_start debug_sub_808F648 +debug_sub_808F648: + push {lr} + ldr r0, ._35 + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._32 @cond_branch + mov r0, #0xa + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_EraseWindowRect + ldr r0, ._35 + 4 + ldrb r1, [r0] + mov r2, #0x1 + eor r1, r1, r2 + strb r1, [r0] + cmp r1, #0 + beq ._33 @cond_branch + bl debug_sub_808F7B4 + b ._40 +._36: + .align 2, 0 +._35: + .word gMain + .word gDebug_03000726 +._33: + bl debug_sub_808F6BC + b ._40 +._32: + bl Menu_ProcessInputNoWrap_ + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._43 @cond_branch + cmp r1, r0 + bgt ._39 @cond_branch + sub r0, r0, #0x1 + cmp r1, r0 + beq ._40 @cond_branch + b ._43 +._39: + cmp r1, #0 + beq ._42 @cond_branch + b ._43 +._40: + mov r0, #0x0 + b ._44 +._42: + bl debug_sub_808F518 +._43: + bl CloseMenu + mov r0, #0x1 +._44: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808F648 + + thumb_func_start debug_sub_808F6BC +debug_sub_808F6BC: + push {r4, r5, r6, lr} + mov r4, #0x0 + ldr r5, ._48 + ldr r6, ._48 + 4 +._45: + lsl r0, r4, #0x3 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldr r1, ._48 + 8 + add r0, r0, r1 + ldrb r1, [r0] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + lsl r1, r4, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x14 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x0 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + bls ._45 @cond_branch + mov r4, #0x5 + ldr r5, ._48 + ldr r6, ._48 + 4 +._50: + lsl r0, r4, #0x3 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldr r1, ._48 + 8 + add r0, r0, r1 + ldrb r1, [r0] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + cmp r4, #0xe + bhi ._46 @cond_branch + lsl r1, r4, #0x19 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x3 + bl Menu_PrintText + b ._47 +._49: + .align 2, 0 +._48: + .word gStringVar1 + .word gSaveBlock1 + .word 0x2738 +._46: + lsl r1, r4, #0x19 + mov r0, #0xec + lsl r0, r0, #0x18 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x6 + bl Menu_PrintText +._47: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x17 + bls ._50 @cond_branch + mov r4, #0x0 + ldr r5, ._53 +._55: + ldr r0, ._53 + 4 + lsl r1, r4, #0x2 + add r1, r1, r0 + ldr r0, ._53 + 8 + add r1, r1, r0 + ldrb r1, [r1] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + cmp r4, #0x7 + bhi ._51 @cond_branch + lsl r1, r4, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x14 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x9 + bl Menu_PrintText + b ._52 +._54: + .align 2, 0 +._53: + .word gStringVar1 + .word gSaveBlock1 + .word 0x2abc +._51: + lsl r1, r4, #0x19 + mov r0, #0xfa + lsl r0, r0, #0x18 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0xc + bl Menu_PrintText +._52: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xf + bls ._55 @cond_branch + pop {r4, r5, r6} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808F6BC + + thumb_func_start debug_sub_808F7B4 +debug_sub_808F7B4: + push {r4, r5, r6, lr} + mov r4, #0x0 + ldr r5, ._59 + ldr r6, ._59 + 4 +._56: + lsl r0, r4, #0x3 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldr r1, ._59 + 8 + add r0, r0, r1 + ldrb r1, [r0] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + lsl r1, r4, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x14 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x0 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + bls ._56 @cond_branch + mov r4, #0x5 + ldr r5, ._59 + ldr r6, ._59 + 4 +._61: + lsl r0, r4, #0x3 + add r0, r0, r4 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldr r1, ._59 + 8 + add r0, r0, r1 + ldrb r1, [r0] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + cmp r4, #0xe + bhi ._57 @cond_branch + lsl r1, r4, #0x19 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x3 + bl Menu_PrintText + b ._58 +._60: + .align 2, 0 +._59: + .word gStringVar1 + .word gSaveBlock1 + .word 0x2739 +._57: + lsl r1, r4, #0x19 + mov r0, #0xec + lsl r0, r0, #0x18 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x6 + bl Menu_PrintText +._58: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x17 + bls ._61 @cond_branch + mov r4, #0x0 + ldr r5, ._64 +._66: + ldr r0, ._64 + 4 + lsl r1, r4, #0x2 + add r1, r1, r0 + ldr r0, ._64 + 8 + add r1, r1, r0 + ldrb r1, [r1] + add r0, r5, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + cmp r4, #0x7 + bhi ._62 @cond_branch + lsl r1, r4, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x14 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0x9 + bl Menu_PrintText + b ._63 +._65: + .align 2, 0 +._64: + .word gStringVar1 + .word gSaveBlock1 + .word 0x2abd +._62: + lsl r1, r4, #0x19 + mov r0, #0xfa + lsl r0, r0, #0x18 + add r1, r1, r0 + lsr r1, r1, #0x18 + add r0, r5, #0 + mov r2, #0xc + bl Menu_PrintText +._63: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xf + bls ._66 @cond_branch + pop {r4, r5, r6} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808F7B4 + + thumb_func_start debug_sub_808F8AC +debug_sub_808F8AC: + push {lr} + ldr r0, ._67 + bl FlagSet + ldr r0, ._67 + 4 + bl FlagSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._68: + .align 2, 0 +._67: + .word 0x832 + .word 0x818 + + thumb_func_end debug_sub_808F8AC + + thumb_func_start debug_sub_808F8CC +debug_sub_808F8CC: + push {r4, lr} + ldr r1, ._69 + mov r0, #0x0 + strb r0, [r1] + ldr r0, ._69 + 4 + bl sub_8071F40 + mov r0, #0xd + mov r1, #0x6 + mov r2, #0x1a + mov r3, #0x8 + bl Menu_BlankWindowRect + ldr r0, ._69 + 8 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x16 + mov r1, #0x1 + mov r2, #0x18 + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r4, ._69 + 12 + add r0, r4, #0 + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x17 + mov r2, #0x1 + bl Menu_PrintText + ldr r1, ._69 + 16 + ldr r0, ._69 + 20 + str r0, [r1] + pop {r4} + pop {r0} + bx r0 +._70: + .align 2, 0 +._69: + .word gDebug_03000724 + .word gUnknown_Debug_083C49CA + .word gUnknown_Debug_083C4ABD+0xf + .word gStringVar1 + .word gMenuCallback + .word debug_sub_808F93C+1 + + thumb_func_end debug_sub_808F8CC + + thumb_func_start debug_sub_808F93C +debug_sub_808F93C: + push {r4, lr} + mov r2, #0x0 + ldr r0, ._83 + ldrh r1, [r0, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._71 @cond_branch + ldr r1, ._83 + 4 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x18 + bne ._72 @cond_branch + strb r2, [r1] +._72: + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._71: + ldr r0, ._83 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._73 @cond_branch + ldr r1, ._83 + 4 + ldrb r0, [r1] + cmp r0, #0 + bne ._74 @cond_branch + mov r0, #0x18 + strb r0, [r1] +._74: + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._73: + ldr r0, ._83 + ldrh r1, [r0, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._75 @cond_branch + ldr r1, ._83 + 8 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0xc + bne ._76 @cond_branch + mov r0, #0x0 + strb r0, [r1] +._76: + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._75: + ldr r0, ._83 + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._77 @cond_branch + ldr r1, ._83 + 8 + ldrb r0, [r1] + cmp r0, #0 + bne ._78 @cond_branch + mov r0, #0xc + strb r0, [r1] +._78: + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._77: + cmp r2, #0 + beq ._79 @cond_branch + mov r0, #0xd + mov r1, #0x6 + mov r2, #0x1a + mov r3, #0x8 + bl Menu_BlankWindowRect + ldr r1, ._83 + 12 + ldr r0, ._83 + 8 + ldrb r0, [r0] + lsl r0, r0, #0x2 + add r0, r0, r1 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x16 + mov r1, #0x1 + mov r2, #0x18 + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r4, ._83 + 16 + ldr r0, ._83 + 4 + ldrb r1, [r0] + add r0, r4, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x17 + mov r2, #0x1 + bl Menu_PrintText +._79: + ldr r4, ._83 + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._80 @cond_branch + mov r0, #0x15 + bl PlaySE + ldr r0, ._83 + 4 + ldrb r0, [r0] + ldr r2, ._83 + 20 + ldr r1, ._83 + 8 + ldrb r1, [r1] + add r1, r1, r2 + ldrb r1, [r1] + bl debug_sub_808FA88 +._80: + ldrh r1, [r4, #0x2e] + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._81 @cond_branch + mov r0, #0x0 + b ._82 +._84: + .align 2, 0 +._83: + .word gMain + .word gDebug_03000725 + .word gDebug_03000724 + .word gUnknown_Debug_083C4ABD+0xf + .word gStringVar1 + .word gUnknown_Debug_083C4ABD +._81: + ldr r0, ._85 + bl sub_80BF588 + bl CloseMenu + mov r0, #0x1 +._82: + pop {r4} + pop {r1} + bx r1 +._86: + .align 2, 0 +._85: + .word gSaveBlock1+0x2738 + + thumb_func_end debug_sub_808F93C + + thumb_func_start debug_sub_808FA88 +debug_sub_808FA88: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add sp, sp, #0xffffffcc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + lsl r1, r1, #0x18 + lsr r7, r1, #0x18 + bl GetLeadMonIndex + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r9, r0 + ldr r3, ._92 + lsl r4, r6, #0x3 + add r2, r4, r6 + lsl r2, r2, #0x2 + add r0, r2, r3 + ldr r5, ._92 + 4 + add r1, r0, r5 + strb r7, [r1] + ldr r1, ._92 + 8 + add r0, r0, r1 + mov r1, #0x1 + strb r1, [r0] + mov r1, #0x0 + ldr r0, ._92 + 12 + add r5, r3, r0 + mov r3, #0x1 +._87: + add r0, r1, r2 + add r0, r0, r5 + strb r3, [r0] + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x21 + bls ._87 @cond_branch + add r0, r7, #0 + bl GetTVChannelByShowType + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r1, r0, #0 + cmp r0, #0x3 + beq ._88 @cond_branch + cmp r0, #0x3 + bgt ._89 @cond_branch + cmp r0, #0x2 + beq ._90 @cond_branch + b ._95 +._93: + .align 2, 0 +._92: + .word gSaveBlock1 + .word 0x2738 + .word 0x2739 + .word 0x273a +._89: + cmp r1, #0x4 + bne ._95 @cond_branch +._90: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._96 + add r0, r0, r1 + bl sub_80BE160 + b ._95 +._97: + .align 2, 0 +._96: + .word gSaveBlock1+0x2738 +._88: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._100 + add r0, r0, r1 + bl sub_80BE138 +._95: + sub r0, r7, #1 + cmp r0, #0x28 + bls ._98 @cond_branch + b ._173 +._98: + lsl r0, r0, #0x2 + ldr r1, ._100 + 4 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._101: + .align 2, 0 +._100: + .word gSaveBlock1+0x2738 + .word ._102 +._102: + .word ._104 + .word ._104 + .word ._105 + .word ._173 + .word ._107 + .word ._108 + .word ._109 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._123 + .word ._124 + .word ._125 + .word ._126 + .word ._127 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._173 + .word ._143 +._104: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._145 + add r4, r0, r1 + mov r2, #0x1 + strh r2, [r4, #0x2] + add r1, r1, #0x10 + add r0, r0, r1 + ldr r1, ._145 + 4 + bl StringCopy + mov r0, #0x5 + strb r0, [r4, #0x18] + b ._173 +._146: + .align 2, 0 +._145: + .word gSaveBlock1+0x2738 + .word gSaveBlock2 +._105: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r6, ._148 + add r1, r4, r6 + mov r8, r1 + mov r0, #0x1 + strh r0, [r1, #0x2] + add r0, r6, #5 + add r0, r4, r0 + ldr r1, ._148 + 4 + bl StringCopy + mov r0, #0x64 + mov r5, r9 + mul r5, r5, r0 + ldr r0, ._148 + 8 + add r5, r5, r0 + add r6, r6, #0x10 + add r4, r4, r6 + add r0, r5, #0 + mov r1, #0x2 + add r2, r4, #0 + bl GetMonData + mov r0, #0x5 + mov r1, r8 + strb r0, [r1, #0xd] + add r0, r5, #0 + mov r1, #0x3 + bl GetMonData + mov r5, r8 + strb r0, [r5, #0xe] + b ._173 +._149: + .align 2, 0 +._148: + .word gSaveBlock1+0x2738 + .word gSaveBlock2 + .word gPlayerParty +._107: + mov r0, #0x64 + mov r1, r9 + mul r1, r1, r0 + mov r8, r1 + ldr r0, ._151 + add r8, r8, r0 + mov r0, r8 + mov r1, #0xb + bl GetMonData + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r5, ._151 + 4 + add r6, r4, r5 + strh r0, [r6, #0x2] + mov r0, #0x1 + strh r0, [r6, #0x1c] + add r0, r5, #0 + add r0, r0, #0xf + add r0, r4, r0 + ldr r1, ._151 + 8 + bl StringCopy + add r5, r5, #0x4 + add r4, r4, r5 + mov r0, r8 + mov r1, #0x2 + add r2, r4, #0 + bl GetMonData + mov r0, #0x5 + strb r0, [r6, #0x1e] + mov r0, r8 + mov r1, #0x3 + bl GetMonData + strb r0, [r6, #0x1f] + b ._173 +._152: + .align 2, 0 +._151: + .word gPlayerParty + .word gSaveBlock1+0x2738 + .word gSaveBlock2 +._108: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r6, ._154 + add r5, r4, r6 + mov r8, r5 + mov r0, #0x1 + strh r0, [r5, #0x2] + add r0, r6, #0 + add r0, r0, #0x16 + add r0, r4, r0 + ldr r1, ._154 + 4 + bl StringCopy + mov r0, #0x64 + mov r5, r9 + mul r5, r5, r0 + ldr r0, ._154 + 8 + add r5, r5, r0 + add r6, r6, #0x8 + add r4, r4, r6 + add r0, r5, #0 + mov r1, #0x2 + add r2, r4, #0 + bl GetMonData + mov r0, #0x5 + mov r1, r8 + strb r0, [r1, #0x1e] + add r0, r5, #0 + mov r1, #0x3 + bl GetMonData + mov r5, r8 + strb r0, [r5, #0x1f] + b ._173 +._155: + .align 2, 0 +._154: + .word gSaveBlock1+0x2738 + .word gSaveBlock2 + .word gPlayerParty +._109: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r5, ._157 + add r6, r4, r5 + mov r0, #0x1 + strh r0, [r6, #0xa] + strh r0, [r6, #0x14] + add r0, r5, #2 + add r0, r4, r0 + ldr r1, ._157 + 4 + mov r8, r1 + bl StringCopy + add r5, r5, #0xc + add r4, r4, r5 + add r0, r4, #0 + mov r1, r8 + bl StringCopy + mov r0, #0x5 + strb r0, [r6, #0x1d] + b ._173 +._158: + .align 2, 0 +._157: + .word gSaveBlock1+0x2738 + .word gSaveBlock2 +._143: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._160 + add r0, r0, r1 + mov r1, #0x1 + strh r1, [r0, #0xc] + strh r1, [r0, #0x16] + b ._173 +._161: + .align 2, 0 +._160: + .word gSaveBlock1+0x2738 +._123: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r0, ._163 + add r4, r4, r0 + ldr r1, ._163 + 4 + mov r0, sp + mov r2, #0x8 + bl memcpy + add r5, sp, #0x8 + ldr r1, ._163 + 8 + add r0, r5, #0 + mov r2, #0xb + bl memcpy + mov r0, #0xff + strb r0, [r4, #0x12] + add r0, r4, #0 + add r0, r0, #0x13 + mov r1, sp + bl StringCopy + add r0, r4, #4 + add r1, r5, #0 + bl StringCopy + mov r0, #0xc + strb r0, [r4, #0xf] + mov r0, #0x28 + strh r0, [r4, #0x10] + mov r0, #0x5 + strb r0, [r4, #0x2] + strb r0, [r4, #0x3] + b ._173 +._164: + .align 2, 0 +._163: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 + .word gUnknown_Debug_083C4C6C +._124: + add r0, r4, r6 + lsl r0, r0, #0x2 + ldr r1, ._168 + add r5, r0, r1 + add r4, sp, #0x14 + ldr r1, ._168 + 4 + add r0, r4, #0 + mov r2, #0x8 + bl memcpy + add r1, r4, #0 + mov r3, #0xfe + mov r2, #0x2 + add r0, r5, #0 + add r0, r0, #0x10 +._165: + strh r3, [r0] + sub r0, r0, #0x2 + sub r2, r2, #0x1 + cmp r2, #0 + bge ._165 @cond_branch + mov r0, #0x1 + strb r0, [r5, #0x2] + mov r0, #0x28 + strb r0, [r5, #0x12] + add r0, r5, #0 + add r0, r0, #0x13 + add r3, r5, #6 + mov r6, #0x1e + add r2, r5, #0 + add r2, r2, #0xa +._166: + strh r6, [r2] + sub r2, r2, #0x2 + cmp r2, r3 + bge ._166 @cond_branch + bl StringCopy + mov r0, #0x5 + strb r0, [r5, #0x3] + b ._173 +._169: + .align 2, 0 +._168: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 +._125: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r0, ._171 + add r4, r4, r0 + add r5, sp, #0x1c + ldr r1, ._171 + 4 + add r0, r5, #0 + mov r2, #0x8 + bl memcpy + mov r0, #0x28 + strh r0, [r4, #0xc] + strh r0, [r4, #0xe] + mov r0, #0x3 + strb r0, [r4, #0x12] + mov r0, #0xff + strb r0, [r4, #0x10] + mov r0, #0x1 + strb r0, [r4, #0x11] + add r0, r4, #0 + add r0, r0, #0x13 + add r1, r5, #0 + bl StringCopy + mov r0, #0x5 + strb r0, [r4, #0x2] + b ._173 +._172: + .align 2, 0 +._171: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 +._126: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r0, ._174 + add r4, r4, r0 + add r5, sp, #0x24 + ldr r1, ._174 + 4 + add r0, r5, #0 + mov r2, #0x8 + bl memcpy + mov r0, #0xff + strb r0, [r4, #0x2] + mov r0, #0x0 + strb r0, [r4, #0x3] + mov r0, #0x28 + strh r0, [r4, #0x4] + add r0, r4, #0 + add r0, r0, #0x13 + add r1, r5, #0 + bl StringCopy + mov r0, #0x5 + strb r0, [r4, #0x6] + b ._173 +._175: + .align 2, 0 +._174: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 +._127: + add r4, r4, r6 + lsl r4, r4, #0x2 + ldr r0, ._176 + add r4, r4, r0 + add r5, sp, #0x2c + ldr r1, ._176 + 4 + add r0, r5, #0 + mov r2, #0x8 + bl memcpy + ldr r0, ._176 + 8 + strh r0, [r4, #0x2] + mov r0, #0x1 + neg r0, r0 + strh r0, [r4, #0x6] + mov r0, #0x28 + strh r0, [r4, #0x4] + strh r0, [r4, #0x8] + mov r0, #0x3 + strb r0, [r4, #0xa] + add r0, r4, #0 + add r0, r0, #0x13 + add r1, r5, #0 + bl StringCopy + mov r0, #0x5 + strb r0, [r4, #0xb] +._173: + add sp, sp, #0x34 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._177: + .align 2, 0 +._176: + .word gSaveBlock1+0x2738 + .word gUnknown_Debug_083C4C64 + .word 0xffff + + thumb_func_end debug_sub_808FA88 + + thumb_func_start debug_sub_808FEBC +debug_sub_808FEBC: + push {lr} + bl ClearTVShowData + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_808FEBC + + thumb_func_start debug_sub_808FECC +debug_sub_808FECC: + push {r4, lr} + ldr r1, ._178 + mov r0, #0x0 + strb r0, [r1] + ldr r0, ._178 + 4 + bl sub_8071F40 + mov r0, #0xd + mov r1, #0x6 + mov r2, #0x17 + mov r3, #0x8 + bl Menu_BlankWindowRect + ldr r0, ._178 + 8 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x16 + mov r1, #0x1 + mov r2, #0x18 + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r4, ._178 + 12 + add r0, r4, #0 + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x17 + mov r2, #0x1 + bl Menu_PrintText + ldr r1, ._178 + 16 + ldr r0, ._178 + 20 + str r0, [r1] + pop {r4} + pop {r0} + bx r0 +._179: + .align 2, 0 +._178: + .word gDebug_03000724 + .word gUnknown_Debug_083C49CA + .word gUnknown_Debug_083C4B20+0x4 + .word gStringVar1 + .word gMenuCallback + .word debug_sub_808FF3C+1 + + thumb_func_end debug_sub_808FECC + + thumb_func_start debug_sub_808FF3C +debug_sub_808FF3C: + push {r4, lr} + mov r2, #0x0 + ldr r0, ._192 + ldrh r1, [r0, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._180 @cond_branch + ldr r1, ._192 + 4 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x10 + bne ._181 @cond_branch + strb r2, [r1] +._181: + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._180: + ldr r0, ._192 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._182 @cond_branch + ldr r1, ._192 + 4 + ldrb r0, [r1] + cmp r0, #0 + bne ._183 @cond_branch + mov r0, #0x10 + strb r0, [r1] +._183: + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._182: + ldr r0, ._192 + ldrh r1, [r0, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._184 @cond_branch + ldr r1, ._192 + 8 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x3 + bne ._185 @cond_branch + mov r0, #0x0 + strb r0, [r1] +._185: + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._184: + ldr r0, ._192 + ldrh r1, [r0, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._186 @cond_branch + ldr r1, ._192 + 8 + ldrb r0, [r1] + cmp r0, #0 + bne ._187 @cond_branch + mov r0, #0x3 + strb r0, [r1] +._187: + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x5 + bl PlaySE + mov r2, #0x1 +._186: + cmp r2, #0 + beq ._188 @cond_branch + mov r0, #0xd + mov r1, #0x6 + mov r2, #0x17 + mov r3, #0x8 + bl Menu_BlankWindowRect + ldr r1, ._192 + 12 + ldr r0, ._192 + 8 + ldrb r0, [r0] + lsl r0, r0, #0x2 + add r0, r0, r1 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + mov r0, #0x16 + mov r1, #0x1 + mov r2, #0x18 + mov r3, #0x2 + bl Menu_BlankWindowRect + ldr r4, ._192 + 16 + ldr r0, ._192 + 4 + ldrb r1, [r0] + add r0, r4, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x17 + mov r2, #0x1 + bl Menu_PrintText +._188: + ldr r4, ._192 + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._189 @cond_branch + mov r0, #0x15 + bl PlaySE + ldr r0, ._192 + 4 + ldrb r0, [r0] + ldr r2, ._192 + 20 + ldr r1, ._192 + 8 + ldrb r1, [r1] + add r1, r1, r2 + ldrb r1, [r1] + bl debug_sub_8090080 +._189: + ldrh r1, [r4, #0x2e] + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._190 @cond_branch + mov r0, #0x0 + b ._191 +._193: + .align 2, 0 +._192: + .word gMain + .word gDebug_03000725 + .word gDebug_03000724 + .word gUnknown_Debug_083C4B20+0x4 + .word gStringVar1 + .word gUnknown_Debug_083C4B20 +._190: + bl sub_80BEC40 + bl CloseMenu + mov r0, #0x1 +._191: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808FF3C + + thumb_func_start debug_sub_8090080 +debug_sub_8090080: + lsl r0, r0, #0x18 + ldr r2, ._194 + lsr r0, r0, #0x16 + add r0, r0, r2 + ldr r3, ._194 + 4 + add r2, r0, r3 + strb r1, [r2] + ldr r1, ._194 + 8 + add r2, r0, r1 + mov r1, #0x1 + strb r1, [r2] + add r3, r3, #0x2 + add r0, r0, r3 + mov r1, #0x4 + strh r1, [r0] + bx lr +._195: + .align 2, 0 +._194: + .word gSaveBlock1 + .word 0x2abc + .word 0x2abd + + thumb_func_end debug_sub_8090080 + + thumb_func_start debug_sub_80900AC +debug_sub_80900AC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r7, #0x0 + mov r5, #0x0 + ldr r0, ._202 + mov r8, r0 +._198: + lsl r0, r5, #0x3 + add r0, r0, r5 + lsl r0, r0, #0x2 + mov r1, r8 + add r6, r0, r1 + ldr r1, ._202 + 4 + add r0, r6, r1 + ldrb r4, [r0] + cmp r4, #0 + bne ._196 @cond_branch + cmp r7, #0xc + bne ._197 @cond_branch + mov r7, #0x0 +._197: + ldr r0, ._202 + 8 + add r0, r7, r0 + ldrb r1, [r0] + add r0, r5, #0 + bl debug_sub_808FA88 + ldr r1, ._202 + 12 + add r0, r6, r1 + strb r4, [r0] + add r0, r7, #1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._196: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x17 + bls ._198 @cond_branch + mov r7, #0x0 + mov r5, #0x0 +._201: + ldr r0, ._202 + lsl r1, r5, #0x2 + add r1, r1, r0 + ldr r0, ._202 + 16 + add r1, r1, r0 + ldrb r0, [r1] + cmp r0, #0 + bne ._199 @cond_branch + cmp r7, #0x3 + bne ._200 @cond_branch + mov r7, #0x0 +._200: + ldr r0, ._202 + 20 + add r0, r7, r0 + ldrb r1, [r0] + add r0, r5, #0 + bl debug_sub_8090080 + add r0, r7, #1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._199: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0xf + bls ._201 @cond_branch + bl CloseMenu + mov r0, #0x1 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._203: + .align 2, 0 +._202: + .word gSaveBlock1 + .word 0x2738 + .word gUnknown_Debug_083C4ABD + .word 0x2739 + .word 0x2abc + .word gUnknown_Debug_083C4B20 + + thumb_func_end debug_sub_80900AC + + thumb_func_start NoharaDebugMenu_Fan +NoharaDebugMenu_Fan: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._204 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._204 + 4 + ldr r0, ._204 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._205: + .align 2, 0 +._204: + .word gUnknown_Debug_083C4D28 + .word gMenuCallback + .word debug_sub_80901A4+1 + + thumb_func_end NoharaDebugMenu_Fan + + thumb_func_start debug_sub_80901A4 +debug_sub_80901A4: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._206 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._207 @cond_branch + ldr r2, ._209 + ldr r0, ._209 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] +._206: + mov r0, #0x0 + b ._208 +._210: + .align 2, 0 +._209: + .word gMenuCallback + .word gUnknown_Debug_083C4D28 +._207: + bl CloseMenu + mov r0, #0x1 +._208: + pop {r1} + bx r1 + + thumb_func_end debug_sub_80901A4 + + thumb_func_start debug_sub_80901E4 +debug_sub_80901E4: + push {lr} + bl ResetFanClub + bl sub_810FAA0 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_80901E4 + + thumb_func_start debug_sub_80901F8 +debug_sub_80901F8: + push {lr} + bl sub_810FB9C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._211 + ldr r1, ._211 + 4 + add r0, r0, r1 + ldrb r0, [r0] + sub r0, r0, #0x8 + lsl r0, r0, #0x2 + add r0, r0, r2 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + ldr r1, ._211 + 8 + ldr r0, ._211 + 12 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._212: + .align 2, 0 +._211: + .word gUnknown_Debug_083C4CA8 + .word gUnknown_083F8408 + .word gMenuCallback + .word debug_sub_8090278+1 + + thumb_func_end debug_sub_80901F8 + + thumb_func_start debug_sub_8090238 +debug_sub_8090238: + push {lr} + bl sub_810FC18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._213 + ldr r1, ._213 + 4 + add r0, r0, r1 + ldrb r0, [r0] + sub r0, r0, #0x8 + lsl r0, r0, #0x2 + add r0, r0, r2 + ldr r0, [r0] + mov r1, #0xe + mov r2, #0x7 + bl Menu_PrintText + ldr r1, ._213 + 8 + ldr r0, ._213 + 12 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._214: + .align 2, 0 +._213: + .word gUnknown_Debug_083C4CA8 + .word gUnknown_083F8410 + .word gMenuCallback + .word debug_sub_8090278+1 + + thumb_func_end debug_sub_8090238 + + thumb_func_start debug_sub_8090278 +debug_sub_8090278: + push {lr} + ldr r0, ._217 + ldrh r1, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + bne ._215 @cond_branch + mov r0, #0x0 + b ._216 +._218: + .align 2, 0 +._217: + .word gMain +._215: + bl CloseMenu + mov r0, #0x1 +._216: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090278 + + thumb_func_start debug_sub_809029C +debug_sub_809029C: + push {r4, lr} + ldr r4, ._219 + ldr r0, ._219 + 4 + ldr r1, ._219 + 8 + add r0, r0, r1 + ldrh r0, [r0] + mov r1, #0x7f + and r1, r1, r0 + add r0, r4, #0 + mov r2, #0x0 + mov r3, #0x2 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x10 + mov r2, #0x7 + bl Menu_PrintText + ldr r1, ._219 + 12 + ldr r0, ._219 + 16 + str r0, [r1] + mov r0, #0x0 + pop {r4} + pop {r1} + bx r1 +._220: + .align 2, 0 +._219: + .word gStringVar1 + .word gSaveBlock1 + .word 0x13c2 + .word gMenuCallback + .word debug_sub_8090278+1 + + thumb_func_end debug_sub_809029C + + thumb_func_start debug_sub_80902E4 +debug_sub_80902E4: + push {lr} + ldr r1, ._221 + ldrh r0, [r1, #0xe] + add r0, r0, #0x6 + strh r0, [r1, #0xe] + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._222: + .align 2, 0 +._221: + .word gSaveBlock2 + + thumb_func_end debug_sub_80902E4 + + thumb_func_start debug_sub_80902FC +debug_sub_80902FC: + push {lr} + mov r0, #0x0 + bl sub_810FB10 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_80902FC + + thumb_func_start debug_sub_8090310 +debug_sub_8090310: + push {lr} + mov r0, #0x1 + bl sub_810FB10 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090310 + + thumb_func_start debug_sub_8090324 +debug_sub_8090324: + push {lr} + mov r0, #0x2 + bl sub_810FB10 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090324 + + thumb_func_start debug_sub_8090338 +debug_sub_8090338: + push {lr} + mov r0, #0x3 + bl sub_810FB10 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090338 + + thumb_func_start NoharaDebugMenu_BattleVSDad +NoharaDebugMenu_BattleVSDad: + push {lr} + ldr r0, ._223 + mov r1, #0x6 + bl VarSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._224: + .align 2, 0 +._223: + .word 0x4085 + + thumb_func_end NoharaDebugMenu_BattleVSDad + + thumb_func_start NoharaDebugMenu_DadAfterBattle +NoharaDebugMenu_DadAfterBattle: + push {lr} + ldr r0, ._225 + mov r1, #0x7 + bl VarSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._226: + .align 2, 0 +._225: + .word 0x4085 + + thumb_func_end NoharaDebugMenu_DadAfterBattle + + thumb_func_start NoharaDebugMenu_SootopolisCity +NoharaDebugMenu_SootopolisCity: + push {lr} + mov r0, #0x81 + bl FlagSet + mov r0, #0x71 + bl FlagSet + ldr r0, ._227 + bl FlagClear + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._228: + .align 2, 0 +._227: + .word 0x32f + + thumb_func_end NoharaDebugMenu_SootopolisCity + + thumb_func_start NoharaDebugMenu_Embark +NoharaDebugMenu_Embark: + push {lr} + ldr r0, ._229 + bl FlagClear + ldr r0, ._229 + 4 + mov r1, #0x1 + bl VarSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._230: + .align 2, 0 +._229: + .word 0x2e3 + .word 0x4090 + + thumb_func_end NoharaDebugMenu_Embark + + thumb_func_start NoharaDebugMenu_Yes9999 +NoharaDebugMenu_Yes9999: + push {lr} + ldr r0, ._231 + ldr r1, ._231 + 4 + bl VarSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._232: + .align 2, 0 +._231: + .word 0x4048 + .word 0x270f + + thumb_func_end NoharaDebugMenu_Yes9999 + + thumb_func_start NoharaDebugMenu_LegendsFlagOn +NoharaDebugMenu_LegendsFlagOn: + push {lr} + mov r0, #0xe4 + bl FlagSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end NoharaDebugMenu_LegendsFlagOn + + thumb_func_start NoharaDebugMenu_AddNumWinningStreaks +NoharaDebugMenu_AddNumWinningStreaks: + push {lr} + ldr r0, ._235 + ldr r1, ._235 + 4 + add r2, r0, r1 + ldrh r1, [r2] + cmp r1, #0x31 + bhi ._233 @cond_branch + mov r0, #0x32 + b ._244 +._236: + .align 2, 0 +._235: + .word gSaveBlock2 + .word 0x572 +._233: + cmp r1, #0x63 + bhi ._237 @cond_branch + mov r0, #0x64 + b ._244 +._237: + ldr r0, ._241 + cmp r1, r0 + bhi ._239 @cond_branch + add r0, r0, #0x1 + b ._244 +._242: + .align 2, 0 +._241: + .word 0x3e7 +._239: + ldr r0, ._245 + cmp r1, r0 + bhi ._243 @cond_branch + ldr r0, ._245 + 4 + b ._244 +._246: + .align 2, 0 +._245: + .word 0x1387 + .word 0x2706 +._243: + ldr r0, ._248 + cmp r1, r0 + bhi ._247 @cond_branch + add r0, r0, #0xa +._244: + strh r0, [r2] +._247: + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._249: + .align 2, 0 +._248: + .word 0x2705 + + thumb_func_end NoharaDebugMenu_AddNumWinningStreaks + + .align 2, 0 + +.endif diff --git a/asm/taya_debug_window.s b/asm/taya_debug_window.s new file mode 100644 index 000000000..1c25de5f6 --- /dev/null +++ b/asm/taya_debug_window.s @@ -0,0 +1,2054 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start TayaDebugMenu_Trend +TayaDebugMenu_Trend: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffd8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1e + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r5, ._3 + mov r7, #0x0 + mov r0, #0x1 + add r0, r0, sp + mov sl, r0 + mov r9, sp + mov r0, #0x0 + mov r8, r0 + add r6, sp, #0x20 +._2: + ldrb r1, [r5, #0x1] + mov r0, #0x40 + and r0, r0, r1 + mov r1, #0xa1 + cmp r0, #0 + beq ._1 @cond_branch + mov r1, #0xa2 +._1: + mov r0, r9 + strb r1, [r0] + ldrh r1, [r5, #0x4] + add r0, r6, #0 + bl EasyChat_GetWordText + mov r0, sl + add r1, r6, #0 + mov r2, #0x0 + mov r3, #0x7 + bl StringCopyPadded + add r4, r0, #0 + ldrh r1, [r5, #0x6] + add r0, r6, #0 + bl EasyChat_GetWordText + add r0, r4, #0 + add r1, r6, #0 + mov r2, #0x0 + mov r3, #0x8 + bl StringCopyPadded + add r4, r0, #0 + ldrb r1, [r5] + lsl r1, r1, #0x19 + lsr r1, r1, #0x19 + mov r2, #0x1 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r4, r0, #0 + mov r0, r8 + strb r0, [r4] + add r4, r4, #0x1 + ldrh r1, [r5] + lsl r1, r1, #0x12 + lsr r1, r1, #0x19 + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x3 + bl ConvertIntToDecimalStringN + add r4, r0, #0 + mov r0, r8 + strb r0, [r4] + add r4, r4, #0x1 + ldrh r1, [r5, #0x2] + add r0, r4, #0 + mov r2, #0x1 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + lsl r2, r7, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x1 + bl Menu_PrintText + add r5, r5, #0x8 + add r0, r7, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + cmp r7, #0x4 + bls ._2 @cond_branch + ldr r1, ._3 + 4 + ldr r0, ._3 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x28 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._4: + .align 2, 0 +._3: + .word gSaveBlock1+0x2dd4 + .word gMenuCallback + .word debug_sub_8090808+1 + + thumb_func_end TayaDebugMenu_Trend + + thumb_func_start debug_sub_8090808 +debug_sub_8090808: + push {lr} + ldr r0, ._7 + ldrh r1, [r0, #0x2e] + mov r0, #0x3 + and r0, r0, r1 + cmp r0, #0 + bne ._5 @cond_branch + mov r0, #0x0 + b ._6 +._8: + .align 2, 0 +._7: + .word gMain +._5: + bl Menu_EraseScreen + bl CloseMenu + mov r0, #0x1 +._6: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090808 + + thumb_func_start TayaDebugMenu_TrendR +TayaDebugMenu_TrendR: + push {r4, r5, r6, r7, lr} + mov r0, #0x0 + ldr r7, ._11 +._10: + mov r4, #0x0 + lsl r5, r0, #0x3 + add r6, r0, #1 +._9: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x16 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_80EB72C + lsl r1, r4, #0x1 + add r1, r1, r5 + add r1, r1, r7 + strh r0, [r1] + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x1 + bls ._9 @cond_branch + lsl r0, r6, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x4 + bls ._10 @cond_branch + bl Menu_EraseScreen + bl CloseMenu + mov r0, #0x1 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._12: + .align 2, 0 +._11: + .word gSaveBlock1+0x2dd8 + + thumb_func_end TayaDebugMenu_TrendR + + thumb_func_start debug_sub_8090880 +debug_sub_8090880: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._13 @cond_branch + mov r0, #0x0 + b ._14 +._13: + bl sub_80E60D8 + mov r0, #0x1 +._14: + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090880 + + thumb_func_start debug_sub_809089C +debug_sub_809089C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._15 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + bne ._16 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._17 +._16: + ldr r2, ._19 + ldr r0, ._19 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + strh r0, [r2] + ldrh r0, [r2] + sub r0, r0, #0x5 + cmp r0, #0x7 + bhi ._27 @cond_branch + lsl r0, r0, #0x2 + ldr r1, ._19 + 8 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._20: + .align 2, 0 +._19: + .word gSpecialVar_0x8004 + .word gUnknown_Debug_083C4EC0 + .word ._21 +._21: + .word ._29 + .word ._27 + .word ._29 + .word ._29 + .word ._27 + .word ._27 + .word ._29 + .word ._29 +._29: + ldr r0, ._30 + mov r1, #0x0 + strh r1, [r0] + ldr r0, ._30 + 4 + strh r1, [r0] +._27: + mov r0, #0x1 + mov r1, #0x0 + bl FadeScreen + ldr r1, ._30 + 8 + ldr r0, ._30 + 12 + str r0, [r1] +._15: + mov r0, #0x0 +._17: + pop {r1} + bx r1 +._31: + .align 2, 0 +._30: + .word gSpecialVar_0x8005 + .word gSpecialVar_0x8006 + .word gMenuCallback + .word debug_sub_8090880+1 + + thumb_func_end debug_sub_809089C + + thumb_func_start TayaDebugMenu_SimpleText +TayaDebugMenu_SimpleText: + push {lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._32 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._32 + 4 + ldr r0, ._32 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._33: + .align 2, 0 +._32: + .word gUnknown_Debug_083C4EC0 + .word gMenuCallback + .word debug_sub_809089C+1 + + thumb_func_end TayaDebugMenu_SimpleText + + thumb_func_start debug_sub_8090984 +debug_sub_8090984: + push {r4, r5, r6, r7, lr} + bl Menu_ProcessInput + lsl r2, r0, #0x18 + asr r1, r2, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._34 @cond_branch + add r0, r0, #0x1 + cmp r1, r0 + beq ._46 @cond_branch + cmp r1, #0x4 + bgt ._36 @cond_branch + lsr r0, r2, #0x18 + bl debug_sub_810B32C + b ._46 +._34: + mov r0, #0x0 + b ._38 +._36: + cmp r1, #0x5 + bne ._39 @cond_branch + bl sub_80F7F30 + b ._46 +._39: + cmp r1, #0x6 + bne ._41 @cond_branch + mov r4, #0x0 + ldr r0, ._44 + add r1, r0, #2 + mov ip, r1 + ldr r7, ._44 + 4 + ldr r1, ._44 + 8 + add r6, r0, r1 + add r5, r0, #0 + add r5, r5, #0xe +._42: + lsl r1, r4, #0x1 + mov r0, ip + add r3, r1, r0 + add r0, r1, r7 + ldrh r2, [r0] + strh r2, [r3] + add r0, r1, r5 + strh r2, [r0] + add r1, r6, r1 + strh r2, [r1] + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x2 + bls ._42 @cond_branch + b ._46 +._45: + .align 2, 0 +._44: + .word gSaveBlock1+0x2d94 + .word gUnknown_Debug_083C4F08 + .word 0xfffffd94 +._41: + cmp r1, #0x7 + bne ._46 @cond_branch + mov r4, #0x0 +._47: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_80EB890 + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x20 + bls ._47 @cond_branch +._46: + bl CloseMenu + mov r0, #0x1 +._38: + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_end debug_sub_8090984 + + thumb_func_start TayaDebugMenu_OldMan +TayaDebugMenu_OldMan: + push {lr} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xa + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._48 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + bl GetCurrentMauvilleOldMan + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #0x9 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r1, ._48 + 4 + ldr r0, ._48 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._49: + .align 2, 0 +._48: + .word gUnknown_Debug_083C4F54 + .word gMenuCallback + .word debug_sub_8090984+1 + + thumb_func_end TayaDebugMenu_OldMan + + thumb_func_start TayaDebugMenu_LanettesPC +TayaDebugMenu_LanettesPC: + push {lr} + bl Menu_EraseScreen + bl ShowPokemonStorageSystem + mov r0, #0x1 + pop {r1} + bx r1 + + thumb_func_end TayaDebugMenu_LanettesPC + + thumb_func_start TayaDebugMenu_TownFlags +TayaDebugMenu_TownFlags: + push {lr} + ldr r0, ._50 + bl FlagSet + mov r0, #0x81 + lsl r0, r0, #0x4 + bl FlagSet + ldr r0, ._50 + 4 + bl FlagSet + ldr r0, ._50 + 8 + bl FlagSet + ldr r0, ._50 + 12 + bl FlagSet + ldr r0, ._50 + 16 + bl FlagSet + ldr r0, ._50 + 20 + bl FlagSet + ldr r0, ._50 + 24 + bl FlagSet + ldr r0, ._50 + 28 + bl FlagSet + ldr r0, ._50 + 32 + bl FlagSet + ldr r0, ._50 + 36 + bl FlagSet + ldr r0, ._50 + 40 + bl FlagSet + ldr r0, ._50 + 44 + bl FlagSet + ldr r0, ._50 + 48 + bl FlagSet + ldr r0, ._50 + 52 + bl FlagSet + ldr r0, ._50 + 56 + bl FlagSet + ldr r0, ._50 + 60 + bl FlagSet + ldr r0, ._50 + 64 + bl FlagSet + ldr r0, ._50 + 68 + bl FlagSet + ldr r0, ._50 + 72 + bl FlagSet + ldr r0, ._50 + 76 + bl FlagSet + ldr r0, ._50 + 80 + bl FlagSet + ldr r0, ._50 + 84 + bl FlagSet + ldr r0, ._50 + 88 + bl FlagSet + ldr r0, ._50 + 92 + bl FlagSet + ldr r0, ._50 + 96 + bl FlagSet + ldr r0, ._50 + 100 + bl FlagSet + ldr r0, ._50 + 104 + bl FlagSet + ldr r0, ._50 + 108 + bl FlagSet + ldr r0, ._50 + 112 + bl FlagSet + ldr r0, ._50 + 116 + bl FlagSet + ldr r0, ._50 + 120 + bl FlagSet + mov r0, #0x84 + lsl r0, r0, #0x4 + bl FlagSet + ldr r0, ._50 + 124 + bl FlagSet + ldr r0, ._50 + 128 + bl FlagSet + ldr r0, ._50 + 132 + bl FlagSet + ldr r0, ._50 + 136 + bl FlagSet + ldr r0, ._50 + 140 + bl FlagSet + ldr r0, ._50 + 144 + bl FlagSet + ldr r0, ._50 + 148 + bl FlagSet + ldr r0, ._50 + 152 + bl FlagSet + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._51: + .align 2, 0 +._50: + .word 0x80f + .word 0x811 + .word 0x812 + .word 0x813 + .word 0x814 + .word 0x815 + .word 0x816 + .word 0x817 + .word 0x818 + .word 0x819 + .word 0x81a + .word 0x81b + .word 0x81c + .word 0x81d + .word 0x81e + .word 0x848 + .word 0x849 + .word 0x84a + .word 0x854 + .word 0x855 + .word 0x856 + .word 0x857 + .word 0x858 + .word 0x859 + .word 0x85a + .word 0x85b + .word 0x85c + .word 0x83c + .word 0x83d + .word 0x83e + .word 0x83f + .word 0x841 + .word 0x842 + .word 0x843 + .word 0x844 + .word 0x845 + .word 0x846 + .word 0x847 + .word 0x83b + + thumb_func_end TayaDebugMenu_TownFlags + + thumb_func_start TayaDebugMenu_AwardARibbon +TayaDebugMenu_AwardARibbon: + push {lr} + mov r0, #0x1 + neg r0, r0 + mov r1, #0x10 + mov r2, #0x0 + bl BlendPalettes + ldr r0, ._52 + bl SetMainCallback2 + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._53: + .align 2, 0 +._52: + .word debug_sub_80915BC+1 + + thumb_func_end TayaDebugMenu_AwardARibbon + + thumb_func_start debug_sub_8090C44 +debug_sub_8090C44: + push {r4, r5, lr} + ldr r4, ._54 + sub r5, r4, #1 + ldrh r1, [r5, #0x8] + add r0, r4, #0 + mov r2, #0x2 + mov r3, #0x5 + bl ConvertIntToDecimalStringN + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x0 + mov r2, #0x5 + bl StringFill + ldrb r0, [r5] + add r0, r0, r4 + mov r1, #0x79 + strb r1, [r0] + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintText + pop {r4, r5} + pop {r0} + bx r0 +._55: + .align 2, 0 +._54: + .word gSharedMem+1 + + thumb_func_end debug_sub_8090C44 + + thumb_func_start debug_sub_8090C88 +debug_sub_8090C88: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + mov r0, #0x1 + mov r8, r0 + ldr r2, ._59 + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + add r3, r2, #0 + cmp r0, #0 + beq ._57 @cond_branch + ldr r1, ._59 + 4 + ldrb r0, [r1] + cmp r0, #0 + beq ._57 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + b ._62 +._60: + .align 2, 0 +._59: + .word gMain + .word gSharedMem +._67: + add r0, r0, #0x1 + strb r0, [r1] + b ._62 +._77: + strh r1, [r7, #0x8] + b ._62 +._79: + ldr r0, ._64 + ldrh r0, [r0, #0x8] + bl SetLotteryNumber16_Unused +._78: + bl CloseMenu + mov r0, #0x1 + b ._63 +._65: + .align 2, 0 +._64: + .word gSharedMem +._57: + ldrh r1, [r3, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._66 @cond_branch + ldr r1, ._81 + ldrb r0, [r1] + cmp r0, #0x3 + bls ._67 @cond_branch +._66: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._68 @cond_branch + ldr r0, ._81 + ldrh r1, [r0, #0x8] + str r1, [r0, #0xc] + ldr r1, ._81 + 4 + strh r1, [r0, #0x10] + mov r4, #0x0 + ldrb r1, [r0] + add r7, r0, #0 + cmp r4, r1 + bcs ._69 @cond_branch + add r5, r7, #0 + add r6, r1, #0 +._70: + ldrh r0, [r5, #0x10] + mov r1, #0xa + str r3, [sp] + bl __udivsi3 + strh r0, [r5, #0x10] + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r3, [sp] + cmp r4, r6 + bcc ._70 @cond_branch +._69: + ldrh r1, [r7, #0x10] + ldr r0, [r7, #0xc] + add r0, r0, r1 + str r0, [r7, #0xc] + ldr r1, ._81 + 8 + cmp r0, r1 + ble ._71 @cond_branch + str r1, [r7, #0xc] +._71: + ldrh r0, [r7, #0x8] + ldr r1, [r7, #0xc] + cmp r0, r1 + bne ._77 @cond_branch +._68: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._73 @cond_branch + ldr r0, ._81 + ldrh r1, [r0, #0x8] + str r1, [r0, #0xc] + ldr r1, ._81 + 4 + strh r1, [r0, #0x10] + mov r4, #0x0 + ldrb r1, [r0] + add r7, r0, #0 + cmp r4, r1 + bcs ._74 @cond_branch + add r5, r7, #0 + add r6, r1, #0 +._75: + ldrh r0, [r5, #0x10] + mov r1, #0xa + str r3, [sp] + bl __udivsi3 + strh r0, [r5, #0x10] + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r3, [sp] + cmp r4, r6 + bcc ._75 @cond_branch +._74: + add r2, r7, #0 + ldrh r1, [r2, #0x10] + ldr r0, [r2, #0xc] + sub r0, r0, r1 + str r0, [r2, #0xc] + cmp r0, #0 + bge ._76 @cond_branch + mov r0, #0x0 + str r0, [r2, #0xc] +._76: + ldrh r0, [r2, #0x8] + ldr r1, [r2, #0xc] + cmp r0, r1 + bne ._77 @cond_branch +._73: + ldrh r2, [r3, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + bne ._78 @cond_branch + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + bne ._79 @cond_branch + mov r0, #0x0 + mov r8, r0 +._62: + mov r0, r8 + cmp r0, #0 + beq ._80 @cond_branch + bl debug_sub_8090C44 +._80: + mov r0, #0x0 +._63: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._82: + .align 2, 0 +._81: + .word gSharedMem + .word 0x2710 + .word 0xffff + + thumb_func_end debug_sub_8090C88 + + thumb_func_start TayaDebugMenu_PKMNLottery +TayaDebugMenu_PKMNLottery: + push {lr} + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x6 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + bl RetrieveLotteryNumber + ldr r2, ._83 + ldr r0, ._83 + 4 + ldrh r0, [r0] + mov r1, #0x0 + strh r0, [r2, #0x8] + strb r1, [r2] + bl debug_sub_8090C44 + ldr r1, ._83 + 8 + ldr r0, ._83 + 12 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._84: + .align 2, 0 +._83: + .word gSharedMem + .word gSpecialVar_Result + .word gMenuCallback + .word debug_sub_8090C88+1 + + thumb_func_end TayaDebugMenu_PKMNLottery + + thumb_func_start TayaDebugMenu_Trainer +TayaDebugMenu_Trainer: + push {r4, r5, lr} + mov r4, #0x0 + ldr r5, ._86 +._85: + lsl r0, r4, #0x4 + add r0, r0, r5 + ldrh r0, [r0] + bl SetTrainerFlag + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x37 + bls ._85 @cond_branch + ldr r0, ._86 + 4 + bl SetTrainerFlag + mov r0, #0x85 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 8 + bl SetTrainerFlag + mov r0, #0x86 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 12 + bl SetTrainerFlag + mov r0, #0x87 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 16 + bl SetTrainerFlag + mov r0, #0x88 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 20 + bl SetTrainerFlag + mov r0, #0x83 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 24 + bl SetTrainerFlag + mov r0, #0x84 + lsl r0, r0, #0x1 + bl SetTrainerFlag + ldr r0, ._86 + 28 + bl SetTrainerFlag + bl CloseMenu + mov r0, #0x1 + pop {r4, r5} + pop {r1} + bx r1 +._87: + .align 2, 0 +._86: + .word gTrainerEyeTrainers + .word 0x109 + .word 0x10b + .word 0x10d + .word 0x10f + .word 0x105 + .word 0x107 + .word 0x14f + + thumb_func_end TayaDebugMenu_Trainer + + thumb_func_start TayaDebugMenu_PokenavD +TayaDebugMenu_PokenavD: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffe4 + bl Menu_DisplayDialogueFrame + mov r0, #0x0 + mov sl, r0 + mov r6, #0x1 + mov r7, #0xff + mov r1, #0x3 + mov r9, r1 +._93: + ldr r4, ._94 + add r0, r4, #0 + ldr r1, ._94 + 4 + bl StringCopy + mov r5, sl + add r5, r5, #0x1 + add r1, r5, r4 + mov r0, #0xff + strb r0, [r1] + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0xf + bl Menu_PrintText + mov r0, #0x0 + mov r8, r0 + str r5, [sp, #0x14] + mov r1, sl + lsl r1, r1, #0x2 + str r1, [sp, #0x18] +._91: + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r0, r0, #0x1 + str r0, [sp, #0x10] + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x64 + bl __umodsi3 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + bl Random + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xc1 + lsl r1, r1, #0x1 + bl __umodsi3 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0xfb + bls ._89 @cond_branch + add r0, r3, #0 + add r0, r0, #0x19 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + ldr r0, ._94 + 8 + cmp r3, r0 + bls ._89 @cond_branch + mov r3, #0x1 +._89: + ldr r0, [sp, #0x18] + add r0, r0, sl + lsl r4, r0, #0x4 + sub r4, r4, r0 + lsl r4, r4, #0x5 + mov r1, r8 + lsl r0, r1, #0x2 + add r0, r0, r8 + lsl r0, r0, #0x4 + ldr r1, ._94 + 12 + add r0, r0, r1 + add r4, r4, r0 + lsl r2, r5, #0x18 + lsr r2, r2, #0x18 + mov r0, #0x0 + str r0, [sp] + str r0, [sp, #0x4] + str r6, [sp, #0x8] + ldr r0, [sp, #0x10] + str r0, [sp, #0xc] + add r0, r4, #0 + add r1, r3, #0 + mov r3, #0x20 + bl CreateBoxMon + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x16 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x17 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x18 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x21 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x2f + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r7, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x30 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x32 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x33 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x34 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x36 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + mov r1, r9 + and r1, r1, r0 + add r1, r1, #0x1 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x35 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x43 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x44 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x45 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x46 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x47 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x48 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x49 + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4a + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4b + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4c + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4d + add r2, sp, #0x10 + bl SetBoxMonData + bl Random + add r1, r6, #0 + and r1, r1, r0 + str r1, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x4e + add r2, sp, #0x10 + bl SetBoxMonData + mov r0, r8 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r8, r0 + cmp r0, #0x1d + bhi ._90 @cond_branch + b ._91 +._90: + ldr r1, [sp, #0x14] + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + mov sl, r0 + cmp r0, #0xd + bhi ._92 @cond_branch + b ._93 +._92: + bl TayaDebugMenu_TownFlags + bl TayaDebugMenu_Trainer + bl CloseMenu + mov r0, #0x1 + add sp, sp, #0x1c + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._95: + .align 2, 0 +._94: + .word gSharedMem + .word gUnknown_Debug_083C4F94 + .word 0x19b + .word gPokemonStorage+0x4 + + thumb_func_end TayaDebugMenu_PokenavD + + thumb_func_start TayaDebugMenu_8091190 +TayaDebugMenu_8091190: + push {r4, r5, lr} + add sp, sp, #0xfffffff8 + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r3, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r3, r0 + beq ._96 @cond_branch + add r0, r0, #0x1 + cmp r3, r0 + beq ._97 @cond_branch + ldr r2, ._99 + ldr r1, ._99 + 4 + ldr r0, ._99 + 8 + ldrb r0, [r0] + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, [r0] + lsl r0, r3, #0x3 + add r0, r0, r1 + ldr r0, [r0, #0x4] + str r0, [r2] +._106: + mov r0, #0x0 + b ._98 +._100: + .align 2, 0 +._99: + .word gMenuCallback + .word gUnknown_Debug_83C5068 + .word unk_2030224 +._96: + ldr r3, ._107 + ldrb r4, [r3] + ldr r2, ._107 + 4 + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + add r5, r3, #0 + cmp r0, #0 + beq ._102 @cond_branch + sub r0, r4, #1 + strb r0, [r5] + lsl r0, r0, #0x18 + cmp r0, #0 + bge ._102 @cond_branch + mov r0, #0x1 + strb r0, [r5] +._102: + ldrh r1, [r2, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._104 @cond_branch + ldrb r0, [r5] + add r0, r0, #0x1 + strb r0, [r5] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bls ._104 @cond_branch + mov r0, #0x0 + strb r0, [r5] +._104: + lsl r0, r4, #0x18 + asr r0, r0, #0x18 + mov r1, #0x0 + ldrsb r1, [r5, r1] + cmp r0, r1 + beq ._106 @cond_branch + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r4, ._107 + 8 + mov r0, #0x0 + ldrsb r0, [r5, r0] + lsl r0, r0, #0x3 + add r0, r0, r4 + ldrb r2, [r0, #0x4] + ldr r3, [r0] + mov r0, #0x1 + mov r1, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + ldrsb r0, [r5, r0] + lsl r0, r0, #0x3 + add r0, r0, r4 + ldrb r3, [r0, #0x4] + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + bl InitMenu + b ._106 +._108: + .align 2, 0 +._107: + .word unk_2030224 + .word gMain + .word gUnknown_Debug_83C5068 +._97: + bl CloseMenu + mov r0, #0x1 +._98: + add sp, sp, #0x8 + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end TayaDebugMenu_8091190 + + thumb_func_start InitTayaDebugWindow +InitTayaDebugWindow: + push {lr} + add sp, sp, #0xfffffff8 + ldr r1, ._109 + mov r0, #0x0 + strb r0, [r1] + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._109 + 4 + ldr r3, [r0] + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._109 + 8 + ldr r0, ._109 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._110: + .align 2, 0 +._109: + .word unk_2030224 + .word gUnknown_Debug_83C5068 + .word gMenuCallback + .word TayaDebugMenu_8091190+1 + + thumb_func_end InitTayaDebugWindow + + thumb_func_start debug_sub_80912D8 +debug_sub_80912D8: + push {lr} + ldr r0, ._113 + ldrb r1, [r0, #0x7] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._111 @cond_branch + mov r0, #0x0 + b ._112 +._114: + .align 2, 0 +._113: + .word gPaletteFade +._111: + ldr r0, ._115 + bl SetMainCallback2 + mov r0, #0x1 +._112: + pop {r1} + bx r1 +._116: + .align 2, 0 +._115: + .word debug_sub_8110F28+1 + + thumb_func_end debug_sub_80912D8 + + thumb_func_start debug_sub_8091300 +debug_sub_8091300: + push {lr} + mov r0, #0x1 + mov r1, #0x0 + bl FadeScreen + ldr r1, ._117 + ldr r0, ._117 + 4 + str r0, [r1] + mov r0, #0x0 + pop {r1} + bx r1 +._118: + .align 2, 0 +._117: + .word gMenuCallback + .word debug_sub_80912D8+1 + + thumb_func_end debug_sub_8091300 + + thumb_func_start debug_sub_8091320 +debug_sub_8091320: + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + + thumb_func_end debug_sub_8091320 + + thumb_func_start debug_sub_8091334 +debug_sub_8091334: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + bl AnimateSprites + bl BuildOamBuffer + ldr r3, ._123 + add r0, r3, #0 + add r0, r0, #0x52 + ldrb r4, [r0] + cmp r4, #0 + beq ._119 @cond_branch + cmp r4, #0x1 + bne ._120 @cond_branch + b ._121 +._120: + b ._162 +._124: + .align 2, 0 +._123: + .word gSharedMem +._119: + add r5, r3, #0 + add r5, r5, #0x55 + strb r4, [r5] + ldr r2, ._131 + ldrh r1, [r2, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + mov r9, r2 + cmp r0, #0 + beq ._126 @cond_branch + add r1, r3, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0 + beq ._126 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + mov r0, #0x1 + strb r0, [r5] +._126: + mov r0, r9 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + ldr r5, ._131 + 4 + cmp r0, #0 + beq ._133 @cond_branch + add r0, r5, #0 + add r0, r0, #0x53 + ldrb r0, [r0] + cmp r0, #0x2 + beq ._128 @cond_branch + add r1, r5, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0x4 + bhi ._133 @cond_branch + b ._130 +._132: + .align 2, 0 +._131: + .word gMain + .word gSharedMem +._128: + add r1, r5, #0 + add r1, r1, #0x54 + ldrb r0, [r1] + cmp r0, #0x3 + bhi ._133 @cond_branch +._130: + add r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x1 + mov r0, #0x1 + strb r0, [r1] +._133: + mov r2, r9 + ldrh r1, [r2, #0x2e] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._135 @cond_branch + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0 + beq ._135 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1 + strb r0, [r1] +._135: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._140 @cond_branch + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r0, [r0] + cmp r0, #0x5 + beq ._137 @cond_branch + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0x1 + bhi ._140 @cond_branch + b ._139 +._137: + add r1, r5, #0 + add r1, r1, #0x53 + ldrb r0, [r1] + cmp r0, #0 + bne ._140 @cond_branch +._139: + add r0, r0, #0x1 + strb r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1 + strb r0, [r1] +._140: + add r0, r5, #0 + add r0, r0, #0x55 + ldrb r0, [r0] + cmp r0, #0 + bne ._141 @cond_branch + mov r0, r9 + ldrh r2, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._142 @cond_branch + ldr r2, ._145 + add r3, r5, #0 + add r3, r3, #0x53 + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r3, [r3] + add r0, r0, r3 + lsl r0, r0, #0x3 + add r0, r0, r2 + ldrh r0, [r0, #0x4] + sub r0, r0, #0x32 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x4 + bhi ._143 @cond_branch + add r1, r5, #0 + add r1, r1, #0x56 + mov r0, #0x4 + b ._144 +._146: + .align 2, 0 +._145: + .word gUnknown_Debug_083C50EC +._143: + add r1, r5, #0 + add r1, r1, #0x56 + mov r0, #0x1 +._144: + strb r0, [r1] + add r1, r5, #0 + add r1, r1, #0x52 + mov r0, #0x1 + strb r0, [r1] + b ._162 +._142: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + bne ._148 @cond_branch + b ._162 +._148: + mov r0, #0x1 + neg r0, r0 + mov r1, #0x10 + mov r2, #0x0 + bl BlendPalettes + ldr r0, ._151 + bl SetMainCallback2 + b ._162 +._152: + .align 2, 0 +._151: + .word sub_80546F0+1 +._121: + add r5, r3, #0 + add r5, r5, #0x55 + mov r0, #0x0 + strb r0, [r5] + ldr r2, ._159 + ldrh r1, [r2, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + mov r9, r2 + cmp r0, #0 + beq ._154 @cond_branch + add r2, r3, #0 + add r2, r2, #0x53 + add r0, r3, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r2, [r2] + add r0, r0, r2 + add r2, r0, r3 + add r0, r3, #0 + add r0, r0, #0x56 + ldrb r1, [r2] + ldrb r0, [r0] + cmp r1, r0 + bcs ._154 @cond_branch + add r0, r1, #1 + strb r0, [r2] + strb r4, [r5] +._154: + mov r2, r9 + ldrh r1, [r2, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + ldr r5, ._159 + 4 + cmp r0, #0 + beq ._156 @cond_branch + add r2, r5, #0 + add r2, r2, #0x53 + add r0, r5, #0 + add r0, r0, #0x54 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r0, r0, r1 + ldrb r2, [r2] + add r0, r0, r2 + add r1, r0, r5 + ldrb r0, [r1] + cmp r0, #0 + beq ._156 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + add r1, r5, #0 + add r1, r1, #0x55 + mov r0, #0x1 + strb r0, [r1] +._156: + add r6, r5, #0 + add r0, r6, #0 + add r0, r0, #0x55 + ldrb r7, [r0] + cmp r7, #0 + beq ._157 @cond_branch +._141: + bl debug_sub_80916AC + b ._162 +._160: + .align 2, 0 +._159: + .word gMain + .word gSharedMem +._157: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._161 @cond_branch + ldr r0, ._164 + ldr r1, ._164 + 4 + mov ip, r1 + mov r2, #0x53 + add r2, r2, r6 + mov r8, r2 + add r4, r6, #0 + add r4, r4, #0x54 + ldrb r2, [r4] + lsl r1, r2, #0x1 + add r1, r1, r2 + mov r3, r8 + ldrb r3, [r3] + add r1, r1, r3 + lsl r1, r1, #0x3 + add r1, r1, ip + ldrh r1, [r1, #0x4] + bl GetMonData + ldrb r2, [r4] + lsl r1, r2, #0x1 + add r1, r1, r2 + mov r2, r8 + ldrb r2, [r2] + add r1, r1, r2 + add r1, r1, r6 + strb r0, [r1] + bl debug_sub_80916AC + add r0, r6, #0 + add r0, r0, #0x52 + strb r7, [r0] +._161: + mov r3, r9 + ldrh r1, [r3, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._162 @cond_branch + ldr r2, ._164 + 4 + add r0, r6, #0 + add r0, r0, #0x53 + ldrb r4, [r0] + add r0, r0, #0x1 + ldrb r1, [r0] + lsl r0, r1, #0x1 + add r3, r0, r1 + add r0, r3, r4 + lsl r0, r0, #0x3 + add r1, r0, r2 + ldrh r0, [r1, #0x4] + cmp r0, #0 + beq ._163 @cond_branch + ldr r0, ._164 + ldrh r1, [r1, #0x4] + add r2, r4, r6 + add r2, r3, r2 + bl SetMonData +._163: + add r0, r5, #0 + add r0, r0, #0x52 + strb r7, [r0] +._162: + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._165: + .align 2, 0 +._164: + .word gPlayerParty + .word gUnknown_Debug_083C50EC + + thumb_func_end debug_sub_8091334 + + thumb_func_start debug_sub_80915BC +debug_sub_80915BC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, ._168 + mov r1, #0x0 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + mov r1, #0x0 + ldr r0, ._168 + 4 + mov r8, r0 + ldr r7, ._168 + 8 +._171: + mov r4, #0x0 + lsl r0, r1, #0x1 + add r6, r1, #1 + add r5, r0, r1 +._170: + add r0, r5, r4 + lsl r0, r0, #0x3 + add r0, r0, r8 + ldrh r1, [r0, #0x4] + cmp r1, #0 + beq ._166 @cond_branch + ldr r0, ._168 + 12 + bl GetMonData + add r1, r4, r5 + add r1, r1, r7 + strb r0, [r1] + b ._167 +._169: + .align 2, 0 +._168: + .word 0x4000010 + .word gUnknown_Debug_083C50EC + .word gSharedMem + .word gPlayerParty +._166: + add r0, r4, r5 + add r0, r0, r7 + strb r1, [r0] +._167: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x2 + bls ._170 @cond_branch + lsl r0, r6, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x5 + bls ._171 @cond_branch + ldr r4, ._172 + add r0, r4, #0 + bl Text_LoadWindowTemplate + add r0, r4, #0 + bl InitMenuWindow + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r0, ._172 + 4 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x4 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x12 + mov r2, #0x1d + mov r3, #0x15 + bl Menu_DrawStdWindowFrame + mov r1, #0x80 + lsl r1, r1, #0x13 + mov r2, #0x8a + lsl r2, r2, #0x5 + add r0, r2, #0 + strh r0, [r1] + ldr r2, ._172 + 8 + add r0, r2, #0 + add r0, r0, #0x53 + mov r1, #0x0 + strb r1, [r0] + add r0, r0, #0x1 + strb r1, [r0] + sub r0, r0, #0x2 + strb r1, [r0] + bl debug_sub_80916AC + ldr r0, ._172 + 12 + bl SetVBlankCallback + ldr r0, ._172 + 16 + bl SetMainCallback2 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._173: + .align 2, 0 +._172: + .word gWindowTemplate_81E7224 + .word gUnknown_Debug_083C517C + .word gSharedMem + .word debug_sub_8091320+1 + .word debug_sub_8091334+1 + + thumb_func_end debug_sub_80915BC + + thumb_func_start debug_sub_80916AC +debug_sub_80916AC: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffffc + mov r6, #0x0 + ldr r0, ._177 + mov sl, r0 + mov r1, #0x0 + mov r8, r1 +._182: + ldr r2, ._177 + 4 + mov r5, #0x0 + lsl r0, r6, #0x1 + mov r9, r0 + add r1, r6, #1 + str r1, [sp] +._181: + mov r0, sl + add r0, r0, #0x53 + ldrb r0, [r0] + cmp r0, r5 + bne ._175 @cond_branch + ldr r1, ._177 + 8 + ldrb r0, [r1] + cmp r0, r6 + bne ._175 @cond_branch + mov r0, #0xef + b ._176 +._178: + .align 2, 0 +._177: + .word gSharedMem + .word gSharedMem+0x12 + .word gSharedMem+0x54 +._175: + mov r0, r8 + strb r0, [r2] + add r2, r2, #0x1 +._176: + strb r0, [r2] + add r2, r2, #0x1 + mov r1, r9 + add r4, r1, r6 + add r0, r4, r5 + lsl r0, r0, #0x3 + ldr r1, ._183 + add r0, r0, r1 + ldr r1, [r0] + add r0, r2, #0 + bl StringCopy + add r2, r0, #0 + mov r0, r8 + strb r0, [r2] + add r2, r2, #0x1 + ldr r7, ._183 + 4 + add r4, r5, r4 + add r4, r4, r7 + ldrb r1, [r4] + add r0, r2, #0 + mov r2, #0x0 + mov r3, #0x1 + bl ConvertIntToDecimalStringN + add r2, r0, #0 + mov r1, r8 + strb r1, [r2] + add r2, r2, #0x1 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x2 + bhi ._179 @cond_branch + cmp r6, #0x5 + bne ._181 @cond_branch + cmp r5, #0x2 + bne ._181 @cond_branch +._179: + sub r1, r2, #1 + mov r0, #0xff + strb r0, [r1] + mov r2, r9 + add r2, r2, #0x5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + add r0, r7, #0 + add r0, r0, #0x12 + mov r1, #0x1 + bl Menu_PrintText + ldr r1, [sp] + lsl r0, r1, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x5 + bls ._182 @cond_branch + add sp, sp, #0x4 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._184: + .align 2, 0 +._183: + .word gUnknown_Debug_083C50EC + .word gSharedMem + + thumb_func_end debug_sub_80916AC + + .align 2, 0 + +.endif diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s new file mode 100644 index 000000000..e6e0db8d6 --- /dev/null +++ b/asm/tomomichi_debug_menu.s @@ -0,0 +1,8100 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + thumb_func_start InitTomomichiDebugWindow +InitTomomichiDebugWindow: + push {lr} + bl debug_sub_808B874 + mov r0, #0x0 + pop {r1} + bx r1 + + thumb_func_end InitTomomichiDebugWindow + + thumb_func_start debug_sub_808B868 +debug_sub_808B868: + push {lr} + bl c2_exit_to_overworld_1_continue_scripts_restart_music + pop {r0} + bx r0 + + thumb_func_end debug_sub_808B868 + + thumb_func_start debug_sub_808B874 +debug_sub_808B874: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xd + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._1 + mov r0, #0x1 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + ldr r0, ._1 + 4 + ldrb r0, [r0] + str r0, [sp] + mov r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._1 + 8 + ldr r0, ._1 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._2: + .align 2, 0 +._1: + .word gUnknown_Debug_083C0CBA + .word gDebug_0300071D + .word gMenuCallback + .word debug_sub_808B8C8+1 + + thumb_func_end debug_sub_808B874 + + thumb_func_start debug_sub_808B8C8 +debug_sub_808B8C8: + push {r4, lr} + ldr r4, ._7 + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._3 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._7 + 4 + strb r0, [r1] +._3: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._4 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._7 + 4 + strb r0, [r1] +._4: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._5 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._7 + 8 + ldr r0, ._7 + 4 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._10 +._8: + .align 2, 0 +._7: + .word gMain + .word gDebug_0300071D + .word gUnknown_Debug_083C0CBA +._5: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._9 @cond_branch + mov r0, #0x0 + b ._10 +._9: + bl CloseMenu + mov r0, #0x1 +._10: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808B8C8 + + thumb_func_start TomomichiDebugMenu_ContestGraphics +TomomichiDebugMenu_ContestGraphics: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x14 + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r0, ._11 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._11 + 4 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x4 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x4 + bl InitMenu + ldr r1, ._11 + 8 + ldr r0, ._11 + 12 + str r0, [r1] + ldr r0, ._11 + 16 + mov r2, #0x1 + strh r2, [r0] + ldr r1, ._11 + 20 + ldr r0, ._11 + 24 + str r0, [r1] + ldr r0, ._11 + 28 + str r4, [r0] + ldr r0, ._11 + 32 + strb r2, [r0] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._12: + .align 2, 0 +._11: + .word gUnknown_Debug_083C0CF4 + .word gUnknown_Debug_083C0D2C + .word gMenuCallback + .word debug_sub_808BC48+1 + .word gDebug_03000700 + .word gDebug_03000704 + .word 0x6f33 + .word gDebug_03000708 + .word gDebug_0300070C + + thumb_func_end TomomichiDebugMenu_ContestGraphics + + thumb_func_start TomomichiDebugMenu_ArtMusGraphics +TomomichiDebugMenu_ArtMusGraphics: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x14 + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r0, ._13 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._13 + 4 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x4 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x4 + bl InitMenu + ldr r1, ._13 + 8 + ldr r0, ._13 + 12 + str r0, [r1] + ldr r0, ._13 + 16 + mov r2, #0x1 + strh r2, [r0] + ldr r1, ._13 + 20 + ldr r0, ._13 + 24 + str r0, [r1] + ldr r0, ._13 + 28 + str r4, [r0] + ldr r0, ._13 + 32 + strb r2, [r0] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._14: + .align 2, 0 +._13: + .word gUnknown_Debug_083C0D4C + .word gUnknown_Debug_083C0D83 + .word gMenuCallback + .word debug_sub_808BCBC+1 + .word gDebug_03000700 + .word gDebug_03000704 + .word 0x6f33 + .word gDebug_03000708 + .word gDebug_0300070D + + thumb_func_end TomomichiDebugMenu_ArtMusGraphics + + thumb_func_start TomomichiDebugMenu_PreviewData +TomomichiDebugMenu_PreviewData: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x14 + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r0, ._15 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._15 + 4 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x4 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x4 + bl InitMenu + ldr r1, ._15 + 8 + ldr r0, ._15 + 12 + str r0, [r1] + ldr r0, ._15 + 16 + mov r2, #0x1 + strh r2, [r0] + ldr r1, ._15 + 20 + ldr r0, ._15 + 24 + str r0, [r1] + ldr r0, ._15 + 28 + str r4, [r0] + ldr r0, ._15 + 32 + strb r2, [r0] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._16: + .align 2, 0 +._15: + .word gUnknown_Debug_083C0DA4 + .word gUnknown_Debug_083C0DD4 + .word gMenuCallback + .word debug_sub_808BD30+1 + .word gDebug_03000700 + .word gDebug_03000704 + .word 0x6f33 + .word gDebug_03000708 + .word gDebug_0300070E + + thumb_func_end TomomichiDebugMenu_PreviewData + + thumb_func_start TomomichiDebugMenu_TrickHouse +TomomichiDebugMenu_TrickHouse: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r0, ._17 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._17 + 4 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x2 + bl Menu_PrintItems + ldr r0, ._17 + 8 + ldrb r0, [r0] + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x2 + bl InitMenu + ldr r1, ._17 + 12 + ldr r0, ._17 + 16 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._18: + .align 2, 0 +._17: + .word gUnknown_Debug_083C0DF4 + .word gUnknown_Debug_083C0E15 + .word gDebug_0300071E + .word gMenuCallback + .word debug_sub_808BDA4+1 + + thumb_func_end TomomichiDebugMenu_TrickHouse + + thumb_func_start TomomichiDebugMenu_ControlEvents +TomomichiDebugMenu_ControlEvents: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._19 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + ldr r0, ._19 + 4 + ldrb r0, [r0] + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._19 + 8 + ldr r0, ._19 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._20: + .align 2, 0 +._19: + .word gUnknown_Debug_083C0E32 + .word gDebug_0300071F + .word gMenuCallback + .word debug_sub_808BE2C+1 + + thumb_func_end TomomichiDebugMenu_ControlEvents + + thumb_func_start TomomichiDebugMenu_ControlFlags +TomomichiDebugMenu_ControlFlags: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._21 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + ldr r0, ._21 + 4 + ldrb r0, [r0] + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._21 + 8 + ldr r0, ._21 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._22: + .align 2, 0 +._21: + .word gUnknown_Debug_083C0E7F + .word gDebug_03000720 + .word gMenuCallback + .word debug_sub_808BEB4+1 + + thumb_func_end TomomichiDebugMenu_ControlFlags + + thumb_func_start TomomichiDebugMenu_ControlWorks +TomomichiDebugMenu_ControlWorks: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._23 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + ldr r0, ._23 + 4 + ldrb r0, [r0] + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._23 + 8 + ldr r0, ._23 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._24: + .align 2, 0 +._23: + .word gUnknown_Debug_083C0EF1 + .word gDebug_03000721 + .word gMenuCallback + .word debug_sub_808BF3C+1 + + thumb_func_end TomomichiDebugMenu_ControlWorks + + thumb_func_start debug_sub_808BC48 +debug_sub_808BC48: + push {r4, lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x1 + beq ._25 @cond_branch + cmp r0, #0x1 + bgt ._26 @cond_branch + cmp r0, #0 + beq ._27 @cond_branch + b ._32 +._26: + cmp r0, #0x2 + beq ._29 @cond_branch + b ._32 +._27: + bl debug_sub_808ED0C + b ._32 +._25: + bl debug_sub_808ED9C + b ._32 +._29: + bl debug_sub_808EE3C +._32: + mov r0, #0x0 + bl debug_sub_808EF8C + lsl r0, r4, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._36 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + bne ._34 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._35 +._34: + cmp r1, #0x3 + bne ._36 @cond_branch + ldr r0, ._37 + ldr r1, ._37 + 4 + ldr r1, [r1, #0x1c] + str r1, [r0] +._36: + mov r0, #0x0 +._35: + pop {r4} + pop {r1} + bx r1 +._38: + .align 2, 0 +._37: + .word gMenuCallback + .word gUnknown_Debug_083C0D2C + + thumb_func_end debug_sub_808BC48 + + thumb_func_start debug_sub_808BCBC +debug_sub_808BCBC: + push {r4, lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x1 + beq ._39 @cond_branch + cmp r0, #0x1 + bgt ._40 @cond_branch + cmp r0, #0 + beq ._41 @cond_branch + b ._46 +._40: + cmp r0, #0x2 + beq ._43 @cond_branch + b ._46 +._41: + bl debug_sub_808ED0C + b ._46 +._39: + bl debug_sub_808ED9C + b ._46 +._43: + bl debug_sub_808EE9C +._46: + mov r0, #0x1 + bl debug_sub_808EF8C + lsl r0, r4, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._50 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + bne ._48 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._49 +._48: + cmp r1, #0x3 + bne ._50 @cond_branch + ldr r0, ._51 + ldr r1, ._51 + 4 + ldr r1, [r1, #0x1c] + str r1, [r0] +._50: + mov r0, #0x0 +._49: + pop {r4} + pop {r1} + bx r1 +._52: + .align 2, 0 +._51: + .word gMenuCallback + .word gUnknown_Debug_083C0D83 + + thumb_func_end debug_sub_808BCBC + + thumb_func_start debug_sub_808BD30 +debug_sub_808BD30: + push {r4, lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r0, #0x1 + beq ._53 @cond_branch + cmp r0, #0x1 + bgt ._54 @cond_branch + cmp r0, #0 + beq ._55 @cond_branch + b ._60 +._54: + cmp r0, #0x2 + beq ._57 @cond_branch + b ._60 +._55: + bl debug_sub_808ED0C + b ._60 +._53: + bl debug_sub_808ED9C + b ._60 +._57: + bl debug_sub_808EF14 +._60: + mov r0, #0x2 + bl debug_sub_808EF8C + lsl r0, r4, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + beq ._64 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + bne ._62 @cond_branch + bl CloseMenu + mov r0, #0x1 + b ._63 +._62: + cmp r1, #0x3 + bne ._64 @cond_branch + ldr r0, ._65 + ldr r1, ._65 + 4 + ldr r1, [r1, #0x1c] + str r1, [r0] +._64: + mov r0, #0x0 +._63: + pop {r4} + pop {r1} + bx r1 +._66: + .align 2, 0 +._65: + .word gMenuCallback + .word gUnknown_Debug_083C0DD4 + + thumb_func_end debug_sub_808BD30 + + thumb_func_start debug_sub_808BDA4 +debug_sub_808BDA4: + push {r4, lr} + ldr r4, ._71 + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._67 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._71 + 4 + strb r0, [r1] +._67: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._68 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._71 + 4 + strb r0, [r1] +._68: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._69 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._71 + 8 + ldr r0, ._71 + 4 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._74 +._72: + .align 2, 0 +._71: + .word gMain + .word gDebug_0300071E + .word gUnknown_Debug_083C0E15 +._69: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._73 @cond_branch + mov r0, #0x0 + b ._74 +._73: + bl CloseMenu + mov r0, #0x1 +._74: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808BDA4 + + thumb_func_start debug_sub_808BE2C +debug_sub_808BE2C: + push {r4, lr} + ldr r4, ._79 + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._75 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._79 + 4 + strb r0, [r1] +._75: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._76 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._79 + 4 + strb r0, [r1] +._76: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._77 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._79 + 8 + ldr r0, ._79 + 4 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._82 +._80: + .align 2, 0 +._79: + .word gMain + .word gDebug_0300071F + .word gUnknown_Debug_083C0E32 +._77: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._81 @cond_branch + mov r0, #0x0 + b ._82 +._81: + bl CloseMenu + mov r0, #0x1 +._82: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808BE2C + + thumb_func_start debug_sub_808BEB4 +debug_sub_808BEB4: + push {r4, lr} + ldr r4, ._87 + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._83 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._87 + 4 + strb r0, [r1] +._83: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._84 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._87 + 4 + strb r0, [r1] +._84: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._85 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._87 + 8 + ldr r0, ._87 + 4 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._90 +._88: + .align 2, 0 +._87: + .word gMain + .word gDebug_03000720 + .word gUnknown_Debug_083C0E7F +._85: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._89 @cond_branch + mov r0, #0x0 + b ._90 +._89: + bl CloseMenu + mov r0, #0x1 +._90: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808BEB4 + + thumb_func_start debug_sub_808BF3C +debug_sub_808BF3C: + push {r4, lr} + ldr r4, ._95 + ldrh r1, [r4, #0x2e] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._91 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + bl Menu_MoveCursor + ldr r1, ._95 + 4 + strb r0, [r1] +._91: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._92 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + bl Menu_MoveCursor + ldr r1, ._95 + 4 + strb r0, [r1] +._92: + ldrh r1, [r4, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._93 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._95 + 8 + ldr r0, ._95 + 4 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r1, r1, #0x4 + add r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b ._98 +._96: + .align 2, 0 +._95: + .word gMain + .word gDebug_03000721 + .word gUnknown_Debug_083C0EF1 +._93: + mov r0, #0xa + and r0, r0, r1 + cmp r0, #0 + bne ._97 @cond_branch + mov r0, #0x0 + b ._98 +._97: + bl CloseMenu + mov r0, #0x1 +._98: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808BF3C + + thumb_func_start debug_sub_808BFC4 +debug_sub_808BFC4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._99 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._99 + 4 + ldr r0, ._99 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._100: + .align 2, 0 +._99: + .word gUnknown_Debug_083C0F79 + .word gMenuCallback + .word debug_sub_808C064+1 + + thumb_func_end debug_sub_808BFC4 + + thumb_func_start debug_sub_808C014 +debug_sub_808C014: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._101 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._101 + 4 + ldr r0, ._101 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._102: + .align 2, 0 +._101: + .word gUnknown_Debug_083C0FFC + .word gMenuCallback + .word debug_sub_808C0A8+1 + + thumb_func_end debug_sub_808C014 + + thumb_func_start debug_sub_808C064 +debug_sub_808C064: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._103 @cond_branch + mov r0, #0x0 + b ._106 +._103: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._105 @cond_branch + ldr r2, ._107 + ldr r0, ._107 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._106 +._108: + .align 2, 0 +._107: + .word gMenuCallback + .word gUnknown_Debug_083C0F79 +._105: + bl CloseMenu + mov r0, #0x1 +._106: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C064 + + thumb_func_start debug_sub_808C0A8 +debug_sub_808C0A8: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._109 @cond_branch + mov r0, #0x0 + b ._112 +._109: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._111 @cond_branch + ldr r2, ._113 + ldr r0, ._113 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._112 +._114: + .align 2, 0 +._113: + .word gMenuCallback + .word gUnknown_Debug_083C0FFC +._111: + bl CloseMenu + mov r0, #0x1 +._112: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C0A8 + + thumb_func_start debug_sub_808C0EC +debug_sub_808C0EC: + push {lr} + ldr r0, ._115 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._116: + .align 2, 0 +._115: + .word DebugScript_081C1CFE + + thumb_func_end debug_sub_808C0EC + + thumb_func_start debug_sub_808C104 +debug_sub_808C104: + push {lr} + ldr r0, ._117 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._118: + .align 2, 0 +._117: + .word DebugScript_081C1D07 + + thumb_func_end debug_sub_808C104 + + thumb_func_start debug_sub_808C11C +debug_sub_808C11C: + push {lr} + ldr r0, ._119 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._120: + .align 2, 0 +._119: + .word DebugScript_081C1D1E + + thumb_func_end debug_sub_808C11C + + thumb_func_start debug_sub_808C134 +debug_sub_808C134: + push {lr} + ldr r0, ._121 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._122: + .align 2, 0 +._121: + .word DebugScript_081C1D24 + + thumb_func_end debug_sub_808C134 + + thumb_func_start debug_sub_808C14C +debug_sub_808C14C: + push {lr} + ldr r0, ._123 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._124: + .align 2, 0 +._123: + .word DebugScript_081C1D2A + + thumb_func_end debug_sub_808C14C + + thumb_func_start debug_sub_808C164 +debug_sub_808C164: + push {lr} + ldr r0, ._125 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._126: + .align 2, 0 +._125: + .word DebugScript_081C1D35 + + thumb_func_end debug_sub_808C164 + + thumb_func_start debug_sub_808C17C +debug_sub_808C17C: + push {lr} + ldr r0, ._127 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._128: + .align 2, 0 +._127: + .word DebugScript_081C1D46 + + thumb_func_end debug_sub_808C17C + + thumb_func_start debug_sub_808C194 +debug_sub_808C194: + push {lr} + ldr r0, ._129 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._130: + .align 2, 0 +._129: + .word DebugScript_081C221F + + thumb_func_end debug_sub_808C194 + + thumb_func_start debug_sub_808C1AC +debug_sub_808C1AC: + push {lr} + ldr r0, ._131 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._132: + .align 2, 0 +._131: + .word DebugScript_081C23E2 + + thumb_func_end debug_sub_808C1AC + + thumb_func_start debug_sub_808C1C4 +debug_sub_808C1C4: + push {lr} + ldr r0, ._133 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._134: + .align 2, 0 +._133: + .word DebugScript_081C23E6 + + thumb_func_end debug_sub_808C1C4 + + thumb_func_start debug_sub_808C1DC +debug_sub_808C1DC: + push {lr} + ldr r0, ._135 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._136: + .align 2, 0 +._135: + .word DebugScript_081C23F6 + + thumb_func_end debug_sub_808C1DC + + thumb_func_start debug_sub_808C1F4 +debug_sub_808C1F4: + push {lr} + ldr r0, ._137 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._138: + .align 2, 0 +._137: + .word DebugScript_081C2482 + + thumb_func_end debug_sub_808C1F4 + + thumb_func_start debug_sub_808C20C +debug_sub_808C20C: + push {lr} + ldr r0, ._139 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._140: + .align 2, 0 +._139: + .word DebugScript_081C23FD + + thumb_func_end debug_sub_808C20C + + thumb_func_start debug_sub_808C224 +debug_sub_808C224: + push {lr} + ldr r0, ._141 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._142: + .align 2, 0 +._141: + .word DebugScript_081C2518 + + thumb_func_end debug_sub_808C224 + + thumb_func_start debug_sub_808C23C +debug_sub_808C23C: + push {lr} + ldr r0, ._143 + bl ScriptContext1_SetupScript + bl CloseMenu + mov r0, #0x1 + pop {r1} + bx r1 +._144: + .align 2, 0 +._143: + .word DebugScript_081C2507 + + thumb_func_end debug_sub_808C23C + + thumb_func_start TomomichiDebugMenu_ContestGraphics_Show +TomomichiDebugMenu_ContestGraphics_Show: + push {lr} + add sp, sp, #0xfffffffc + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r1, ._145 + ldr r0, ._145 + 4 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x4 + pop {r1} + bx r1 +._146: + .align 2, 0 +._145: + .word gMenuCallback + .word debug_sub_808C280+1 + + thumb_func_end TomomichiDebugMenu_ContestGraphics_Show + + thumb_func_start debug_sub_808C280 +debug_sub_808C280: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._147 @cond_branch + mov r0, #0x0 + b ._148 +._147: + bl CloseMenu + mov r0, #0x0 + bl debug_sub_808F168 + ldr r0, ._149 + bl SetMainCallback2 + ldr r1, ._149 + 4 + ldr r0, ._149 + 8 + str r0, [r1, #0x8] + mov r0, #0x1 +._148: + pop {r1} + bx r1 +._150: + .align 2, 0 +._149: + .word CB2_ContestPainting+1 + .word gMain + .word debug_sub_808B868+1 + + thumb_func_end debug_sub_808C280 + + thumb_func_start TomomichiDebugMenu_MuseumGraphics_Show +TomomichiDebugMenu_MuseumGraphics_Show: + push {lr} + add sp, sp, #0xfffffffc + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r1, ._151 + ldr r0, ._151 + 4 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x4 + pop {r1} + bx r1 +._152: + .align 2, 0 +._151: + .word gMenuCallback + .word debug_sub_808C2E4+1 + + thumb_func_end TomomichiDebugMenu_MuseumGraphics_Show + + thumb_func_start debug_sub_808C2E4 +debug_sub_808C2E4: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._153 @cond_branch + mov r0, #0x0 + b ._154 +._153: + bl CloseMenu + mov r0, #0x1 + bl debug_sub_808F168 + ldr r0, ._155 + bl SetMainCallback2 + ldr r1, ._155 + 4 + ldr r0, ._155 + 8 + str r0, [r1, #0x8] + mov r0, #0x1 +._154: + pop {r1} + bx r1 +._156: + .align 2, 0 +._155: + .word CB2_ContestPainting+1 + .word gMain + .word debug_sub_808B868+1 + + thumb_func_end debug_sub_808C2E4 + + thumb_func_start debug_sub_808C31C +debug_sub_808C31C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._157 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._157 + 4 + ldr r0, ._157 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._158: + .align 2, 0 +._157: + .word gUnknown_Debug_083C2828 + .word gMenuCallback + .word debug_sub_808C36C+1 + + thumb_func_end debug_sub_808C31C + + thumb_func_start debug_sub_808C36C +debug_sub_808C36C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._159 @cond_branch + mov r0, #0x0 + b ._162 +._159: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._161 @cond_branch + ldr r2, ._163 + ldr r0, ._163 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._162 +._164: + .align 2, 0 +._163: + .word gMenuCallback + .word gUnknown_Debug_083C2828 +._161: + bl CloseMenu + mov r0, #0x1 +._162: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C36C + + thumb_func_start debug_sub_808C3B0 +debug_sub_808C3B0: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._165 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._165 + 4 + strb r4, [r0] + ldr r1, ._165 + 8 + ldr r0, ._165 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._166: + .align 2, 0 +._165: + .word gUnknown_Debug_083C2938 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C3B0 + + thumb_func_start debug_sub_808C408 +debug_sub_808C408: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._167 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._167 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._167 + 8 + ldr r0, ._167 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._168: + .align 2, 0 +._167: + .word gUnknown_Debug_083C2A48 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C408 + + thumb_func_start debug_sub_808C460 +debug_sub_808C460: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._169 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._169 + 4 + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._169 + 8 + ldr r0, ._169 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._170: + .align 2, 0 +._169: + .word gUnknown_Debug_083C2B4C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C460 + + thumb_func_start debug_sub_808C4B8 +debug_sub_808C4B8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._171 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._171 + 4 + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._171 + 8 + ldr r0, ._171 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._172: + .align 2, 0 +._171: + .word gUnknown_Debug_083C2C80 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C4B8 + + thumb_func_start debug_sub_808C510 +debug_sub_808C510: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._173 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._173 + 4 + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._173 + 8 + ldr r0, ._173 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._174: + .align 2, 0 +._173: + .word gUnknown_Debug_083C2D8C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C510 + + thumb_func_start debug_sub_808C568 +debug_sub_808C568: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._175 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._175 + 4 + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._175 + 8 + ldr r0, ._175 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._176: + .align 2, 0 +._175: + .word gUnknown_Debug_083C2EB0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C568 + + thumb_func_start debug_sub_808C5C0 +debug_sub_808C5C0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._177 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._177 + 4 + mov r0, #0x6 + strb r0, [r1] + ldr r1, ._177 + 8 + ldr r0, ._177 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._178: + .align 2, 0 +._177: + .word gUnknown_Debug_083C2FE0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C5C0 + + thumb_func_start debug_sub_808C618 +debug_sub_808C618: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._179 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._179 + 4 + mov r0, #0x7 + strb r0, [r1] + ldr r1, ._179 + 8 + ldr r0, ._179 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._180: + .align 2, 0 +._179: + .word gUnknown_Debug_083C3100 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C618 + + thumb_func_start debug_sub_808C670 +debug_sub_808C670: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r3, ._181 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x3 + bl InitMenu + ldr r1, ._181 + 4 + mov r0, #0x8 + strb r0, [r1] + ldr r1, ._181 + 8 + ldr r0, ._181 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._182: + .align 2, 0 +._181: + .word gUnknown_Debug_083C3194 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808C6C8+1 + + thumb_func_end debug_sub_808C670 + + thumb_func_start debug_sub_808C6C8 +debug_sub_808C6C8: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._186 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808C714 + ldrb r0, [r5] + bl debug_sub_808C764 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._183 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._184 @cond_branch +._183: + mov r0, #0x0 + b ._185 +._187: + .align 2, 0 +._186: + .word gDebug_0300070F +._184: + bl CloseMenu + mov r0, #0x1 +._185: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C6C8 + + thumb_func_start debug_sub_808C714 +debug_sub_808C714: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._191 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._190 @cond_branch + ldr r0, ._191 + 4 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._189 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._190 +._192: + .align 2, 0 +._191: + .word gMain + .word gUnknown_Debug_83C31E6 +._189: + add r0, r4, #0 + bl FlagClear +._190: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808C714 + + thumb_func_start debug_sub_808C764 +debug_sub_808C764: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._195 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._193 @cond_branch + ldr r0, ._195 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._194: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._194 @cond_branch +._193: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._196: + .align 2, 0 +._195: + .word gUnknown_Debug_083C31DC + .word gUnknown_Debug_83C31E6 + + thumb_func_end debug_sub_808C764 + + thumb_func_start debug_sub_808C7C8 +debug_sub_808C7C8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._197 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._197 + 4 + ldr r0, ._197 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._198: + .align 2, 0 +._197: + .word gUnknown_Debug_083C1CE8 + .word gMenuCallback + .word debug_sub_808C818+1 + + thumb_func_end debug_sub_808C7C8 + + thumb_func_start debug_sub_808C818 +debug_sub_808C818: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._199 @cond_branch + mov r0, #0x0 + b ._202 +._199: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._201 @cond_branch + ldr r2, ._203 + ldr r0, ._203 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._202 +._204: + .align 2, 0 +._203: + .word gMenuCallback + .word gUnknown_Debug_083C1CE8 +._201: + bl CloseMenu + mov r0, #0x1 +._202: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808C818 + + thumb_func_start debug_sub_808C85C +debug_sub_808C85C: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._205 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._205 + 4 + strb r4, [r0] + ldr r1, ._205 + 8 + ldr r0, ._205 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._206: + .align 2, 0 +._205: + .word gUnknown_Debug_083C1E0C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C85C + + thumb_func_start debug_sub_808C8B4 +debug_sub_808C8B4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._207 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._207 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._207 + 8 + ldr r0, ._207 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._208: + .align 2, 0 +._207: + .word gUnknown_Debug_083C1F38 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C8B4 + + thumb_func_start debug_sub_808C90C +debug_sub_808C90C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._209 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._209 + 4 + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._209 + 8 + ldr r0, ._209 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._210: + .align 2, 0 +._209: + .word gUnknown_Debug_083C206C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C90C + + thumb_func_start debug_sub_808C964 +debug_sub_808C964: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._211 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._211 + 4 + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._211 + 8 + ldr r0, ._211 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._212: + .align 2, 0 +._211: + .word gUnknown_Debug_083C2190 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C964 + + thumb_func_start debug_sub_808C9BC +debug_sub_808C9BC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._213 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._213 + 4 + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._213 + 8 + ldr r0, ._213 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._214: + .align 2, 0 +._213: + .word gUnknown_Debug_083C2264 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808C9BC + + thumb_func_start debug_sub_808CA14 +debug_sub_808CA14: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._215 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._215 + 4 + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._215 + 8 + ldr r0, ._215 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._216: + .align 2, 0 +._215: + .word gUnknown_Debug_083C2370 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808CA14 + + thumb_func_start debug_sub_808CA6C +debug_sub_808CA6C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._217 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._217 + 4 + mov r0, #0x6 + strb r0, [r1] + ldr r1, ._217 + 8 + ldr r0, ._217 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._218: + .align 2, 0 +._217: + .word gUnknown_Debug_083C248C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808CA6C + + thumb_func_start debug_sub_808CAC4 +debug_sub_808CAC4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._219 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._219 + 4 + mov r0, #0x7 + strb r0, [r1] + ldr r1, ._219 + 8 + ldr r0, ._219 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._220: + .align 2, 0 +._219: + .word gUnknown_Debug_083C259C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808CAC4 + + thumb_func_start debug_sub_808CB1C +debug_sub_808CB1C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._221 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._221 + 4 + mov r0, #0x8 + strb r0, [r1] + ldr r1, ._221 + 8 + ldr r0, ._221 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._222: + .align 2, 0 +._221: + .word gUnknown_Debug_083C26C8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CB74+1 + + thumb_func_end debug_sub_808CB1C + + thumb_func_start debug_sub_808CB74 +debug_sub_808CB74: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._226 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808CBC0 + ldrb r0, [r5] + bl debug_sub_808CC10 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._223 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._224 @cond_branch +._223: + mov r0, #0x0 + b ._225 +._227: + .align 2, 0 +._226: + .word gDebug_0300070F +._224: + bl CloseMenu + mov r0, #0x1 +._225: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808CB74 + + thumb_func_start debug_sub_808CBC0 +debug_sub_808CBC0: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._231 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._230 @cond_branch + ldr r0, ._231 + 4 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._229 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._230 +._232: + .align 2, 0 +._231: + .word gMain + .word gUnknown_Debug_083C271A +._229: + add r0, r4, #0 + bl FlagClear +._230: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808CBC0 + + thumb_func_start debug_sub_808CC10 +debug_sub_808CC10: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._235 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._233 @cond_branch + ldr r0, ._235 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._234: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._234 @cond_branch +._233: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._236: + .align 2, 0 +._235: + .word gUnknown_Debug_083C2710 + .word gUnknown_Debug_083C271A + + thumb_func_end debug_sub_808CC10 + + thumb_func_start debug_sub_808CC74 +debug_sub_808CC74: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r3, ._237 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x3 + bl InitMenu + ldr r1, ._237 + 4 + ldr r0, ._237 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._238: + .align 2, 0 +._237: + .word gUnknown_Debug_083C1ADC + .word gMenuCallback + .word debug_sub_808CCC4+1 + + thumb_func_end debug_sub_808CC74 + + thumb_func_start debug_sub_808CCC4 +debug_sub_808CCC4: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._239 @cond_branch + mov r0, #0x0 + b ._242 +._239: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._241 @cond_branch + ldr r2, ._243 + ldr r0, ._243 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._242 +._244: + .align 2, 0 +._243: + .word gMenuCallback + .word gUnknown_Debug_083C1ADC +._241: + bl CloseMenu + mov r0, #0x1 +._242: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808CCC4 + + thumb_func_start debug_sub_808CD08 +debug_sub_808CD08: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._245 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r0, ._245 + 4 + strb r4, [r0] + ldr r1, ._245 + 8 + ldr r0, ._245 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._246: + .align 2, 0 +._245: + .word gUnknown_Debug_083C1B7C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CE10+1 + + thumb_func_end debug_sub_808CD08 + + thumb_func_start debug_sub_808CD60 +debug_sub_808CD60: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + ldr r3, ._247 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x4 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x4 + bl InitMenu + ldr r1, ._247 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._247 + 8 + ldr r0, ._247 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._248: + .align 2, 0 +._247: + .word gUnknown_Debug_083C1BF0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CE10+1 + + thumb_func_end debug_sub_808CD60 + + thumb_func_start debug_sub_808CDB8 +debug_sub_808CDB8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r3, ._249 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x1 + bl InitMenu + ldr r1, ._249 + 4 + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._249 + 8 + ldr r0, ._249 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._250: + .align 2, 0 +._249: + .word gUnknown_Debug_083C1C2C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808CE10+1 + + thumb_func_end debug_sub_808CDB8 + + thumb_func_start debug_sub_808CE10 +debug_sub_808CE10: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._254 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808CE5C + ldrb r0, [r5] + bl debug_sub_808CEAC + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._251 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._252 @cond_branch +._251: + mov r0, #0x0 + b ._253 +._255: + .align 2, 0 +._254: + .word gDebug_0300070F +._252: + bl CloseMenu + mov r0, #0x1 +._253: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808CE10 + + thumb_func_start debug_sub_808CE5C +debug_sub_808CE5C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._259 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._258 @cond_branch + ldr r0, ._259 + 4 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._257 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._258 +._260: + .align 2, 0 +._259: + .word gMain + .word gUnknown_Debug_083C1C38 +._257: + add r0, r4, #0 + bl FlagClear +._258: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808CE5C + + thumb_func_start debug_sub_808CEAC +debug_sub_808CEAC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._263 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._261 @cond_branch + ldr r0, ._263 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._262: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._262 @cond_branch +._261: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._264: + .align 2, 0 +._263: + .word gUnknown_Debug_083C1C34 + .word gUnknown_Debug_083C1C38 + + thumb_func_end debug_sub_808CEAC + + thumb_func_start debug_sub_808CF10 +debug_sub_808CF10: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._265 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._265 + 4 + ldr r0, ._265 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._266: + .align 2, 0 +._265: + .word gUnknown_Debug_083C1330 + .word gMenuCallback + .word debug_sub_808CF60+1 + + thumb_func_end debug_sub_808CF10 + + thumb_func_start debug_sub_808CF60 +debug_sub_808CF60: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._267 @cond_branch + mov r0, #0x0 + b ._270 +._267: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._269 @cond_branch + ldr r2, ._271 + ldr r0, ._271 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._270 +._272: + .align 2, 0 +._271: + .word gMenuCallback + .word gUnknown_Debug_083C1330 +._269: + bl CloseMenu + mov r0, #0x1 +._270: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808CF60 + + thumb_func_start debug_sub_808CFA4 +debug_sub_808CFA4: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._273 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r0, ._273 + 4 + strb r4, [r0] + ldr r1, ._273 + 8 + ldr r0, ._273 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._274: + .align 2, 0 +._273: + .word gUnknown_Debug_083C13D8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808CFA4 + + thumb_func_start debug_sub_808CFFC +debug_sub_808CFFC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._275 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._275 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._275 + 8 + ldr r0, ._275 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._276: + .align 2, 0 +._275: + .word gUnknown_Debug_083C1465 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808CFFC + + thumb_func_start debug_sub_808D054 +debug_sub_808D054: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._277 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._277 + 4 + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._277 + 8 + ldr r0, ._277 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._278: + .align 2, 0 +._277: + .word gUnknown_Debug_083C1503 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D054 + + thumb_func_start debug_sub_808D0AC +debug_sub_808D0AC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + ldr r3, ._279 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x4 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x4 + bl InitMenu + ldr r1, ._279 + 4 + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._279 + 8 + ldr r0, ._279 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._280: + .align 2, 0 +._279: + .word gUnknown_Debug_083C158A + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D0AC + + thumb_func_start debug_sub_808D104 +debug_sub_808D104: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._281 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._281 + 4 + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._281 + 8 + ldr r0, ._281 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._282: + .align 2, 0 +._281: + .word gUnknown_Debug_083C1647 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D104 + + thumb_func_start debug_sub_808D15C +debug_sub_808D15C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._283 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._283 + 4 + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._283 + 8 + ldr r0, ._283 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._284: + .align 2, 0 +._283: + .word gUnknown_Debug_083C1712 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D15C + + thumb_func_start debug_sub_808D1B4 +debug_sub_808D1B4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._285 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._285 + 4 + mov r0, #0x6 + strb r0, [r1] + ldr r1, ._285 + 8 + ldr r0, ._285 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._286: + .align 2, 0 +._285: + .word gUnknown_Debug_083C17F8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D1B4 + + thumb_func_start debug_sub_808D20C +debug_sub_808D20C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._287 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._287 + 4 + mov r0, #0x7 + strb r0, [r1] + ldr r1, ._287 + 8 + ldr r0, ._287 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._288: + .align 2, 0 +._287: + .word gUnknown_Debug_083C18B8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D20C + + thumb_func_start debug_sub_808D264 +debug_sub_808D264: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r3, ._289 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x5 + bl InitMenu + ldr r1, ._289 + 4 + mov r0, #0x8 + strb r0, [r1] + ldr r1, ._289 + 8 + ldr r0, ._289 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._290: + .align 2, 0 +._289: + .word gDebug_0x83C1974 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D2BC+1 + + thumb_func_end debug_sub_808D264 + + thumb_func_start debug_sub_808D2BC +debug_sub_808D2BC: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._294 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808D308 + ldrb r0, [r5] + bl debug_sub_808D358 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._291 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._292 @cond_branch +._291: + mov r0, #0x0 + b ._293 +._295: + .align 2, 0 +._294: + .word gDebug_0300070F +._292: + bl CloseMenu + mov r0, #0x1 +._293: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D2BC + + thumb_func_start debug_sub_808D308 +debug_sub_808D308: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._299 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._298 @cond_branch + ldr r0, ._299 + 4 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._297 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._298 +._300: + .align 2, 0 +._299: + .word gMain + .word gUnknown_Debug_083C19C6 +._297: + add r0, r4, #0 + bl FlagClear +._298: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808D308 + + thumb_func_start debug_sub_808D358 +debug_sub_808D358: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._303 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._301 @cond_branch + ldr r0, ._303 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._302: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._302 @cond_branch +._301: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._304: + .align 2, 0 +._303: + .word gUnknown_Debug_083C19BC + .word gUnknown_Debug_083C19C6 + + thumb_func_end debug_sub_808D358 + + thumb_func_start debug_sub_808D3BC +debug_sub_808D3BC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._305 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._305 + 4 + ldr r0, ._305 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._306: + .align 2, 0 +._305: + .word gUnknown_Debug_083C105C + .word gMenuCallback + .word debug_sub_808D40C+1 + + thumb_func_end debug_sub_808D3BC + + thumb_func_start debug_sub_808D40C +debug_sub_808D40C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._307 @cond_branch + mov r0, #0x0 + b ._310 +._307: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._309 @cond_branch + ldr r2, ._311 + ldr r0, ._311 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._310 +._312: + .align 2, 0 +._311: + .word gMenuCallback + .word gUnknown_Debug_083C105C +._309: + bl CloseMenu + mov r0, #0x1 +._310: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D40C + + thumb_func_start debug_sub_808D450 +debug_sub_808D450: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._313 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._313 + 4 + strb r4, [r0] + ldr r1, ._313 + 8 + ldr r0, ._313 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._314: + .align 2, 0 +._313: + .word gUnknown_Debug_083C10BD + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D500+1 + + thumb_func_end debug_sub_808D450 + + thumb_func_start debug_sub_808D4A8 +debug_sub_808D4A8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._315 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._315 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._315 + 8 + ldr r0, ._315 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._316: + .align 2, 0 +._315: + .word gUnknown_Debug_083C1149 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D500+1 + + thumb_func_end debug_sub_808D4A8 + + thumb_func_start debug_sub_808D500 +debug_sub_808D500: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._320 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808D54C + ldrb r0, [r5] + bl debug_sub_808D59C + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._317 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._318 @cond_branch +._317: + mov r0, #0x0 + b ._319 +._321: + .align 2, 0 +._320: + .word gDebug_0300070F +._318: + bl CloseMenu + mov r0, #0x1 +._319: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D500 + + thumb_func_start debug_sub_808D54C +debug_sub_808D54C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._325 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._324 @cond_branch + ldr r0, ._325 + 4 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._323 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._324 +._326: + .align 2, 0 +._325: + .word gMain + .word gUnknown_Debug_083C1196 +._323: + add r0, r4, #0 + bl FlagClear +._324: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808D54C + + thumb_func_start debug_sub_808D59C +debug_sub_808D59C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._329 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._327 @cond_branch + ldr r0, ._329 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._328: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._328 @cond_branch +._327: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._330: + .align 2, 0 +._329: + .word gUnknown_Debug_083C1194 + .word gUnknown_Debug_083C1196 + + thumb_func_end debug_sub_808D59C + + thumb_func_start debug_sub_808D600 +debug_sub_808D600: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._331 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._331 + 4 + ldr r0, ._331 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._332: + .align 2, 0 +._331: + .word gUnknown_Debug_083C11CC + .word gMenuCallback + .word debug_sub_808D650+1 + + thumb_func_end debug_sub_808D600 + + thumb_func_start debug_sub_808D650 +debug_sub_808D650: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._333 @cond_branch + mov r0, #0x0 + b ._336 +._333: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._335 @cond_branch + ldr r2, ._337 + ldr r0, ._337 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._336 +._338: + .align 2, 0 +._337: + .word gMenuCallback + .word gUnknown_Debug_083C11CC +._335: + bl CloseMenu + mov r0, #0x1 +._336: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D650 + + thumb_func_start debug_sub_808D694 +debug_sub_808D694: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._339 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._339 + 4 + strb r4, [r0] + ldr r1, ._339 + 8 + ldr r0, ._339 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._340: + .align 2, 0 +._339: + .word gUnknown_Debug_083C1212 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D744+1 + + thumb_func_end debug_sub_808D694 + + thumb_func_start debug_sub_808D6EC +debug_sub_808D6EC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._341 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._341 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._341 + 8 + ldr r0, ._341 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._342: + .align 2, 0 +._341: + .word gUnknown_Debug_083C1288 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D744+1 + + thumb_func_end debug_sub_808D6EC + + thumb_func_start debug_sub_808D744 +debug_sub_808D744: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._346 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808D790 + ldrb r0, [r5] + bl debug_sub_808D7E0 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._343 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._344 @cond_branch +._343: + mov r0, #0x0 + b ._345 +._347: + .align 2, 0 +._346: + .word gDebug_0300070F +._344: + bl CloseMenu + mov r0, #0x1 +._345: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D744 + + thumb_func_start debug_sub_808D790 +debug_sub_808D790: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._351 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._350 @cond_branch + ldr r0, ._351 + 4 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._349 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._350 +._352: + .align 2, 0 +._351: + .word gMain + .word gUnknown_Debug_083C12D2 +._349: + add r0, r4, #0 + bl FlagClear +._350: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808D790 + + thumb_func_start debug_sub_808D7E0 +debug_sub_808D7E0: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._355 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._353 @cond_branch + ldr r0, ._355 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._354: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._354 @cond_branch +._353: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._356: + .align 2, 0 +._355: + .word gUnknown_Debug_083C12D0 + .word gUnknown_Debug_083C12D2 + + thumb_func_end debug_sub_808D7E0 + + thumb_func_start debug_sub_808D844 +debug_sub_808D844: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r3, ._357 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x1 + bl InitMenu + ldr r1, ._357 + 4 + ldr r0, ._357 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._358: + .align 2, 0 +._357: + .word gUnknown_Debug_083C1A78 + .word gMenuCallback + .word debug_sub_808D894+1 + + thumb_func_end debug_sub_808D844 + + thumb_func_start debug_sub_808D894 +debug_sub_808D894: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r3, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r3, r0 + bne ._359 @cond_branch + mov r0, #0x0 + b ._362 +._359: + mov r0, #0x1 + neg r0, r0 + cmp r3, r0 + beq ._361 @cond_branch + ldr r2, ._363 + ldr r1, ._363 + 4 + lsl r0, r3, #0x3 + add r0, r0, r1 + ldr r0, [r0, #0x4] + str r0, [r2] + mov r0, #0x0 + b ._362 +._364: + .align 2, 0 +._363: + .word gMenuCallback + .word gUnknown_Debug_083C1A78 +._361: + bl CloseMenu + mov r0, #0x1 +._362: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D894 + + thumb_func_start debug_sub_808D8D8 +debug_sub_808D8D8: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._365 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r0, ._365 + 4 + strb r4, [r0] + ldr r1, ._365 + 8 + ldr r0, ._365 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._366: + .align 2, 0 +._365: + .word gUnknown_Debug_083C1A9C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808D930+1 + + thumb_func_end debug_sub_808D8D8 + + thumb_func_start debug_sub_808D930 +debug_sub_808D930: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._370 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808D97C + ldrb r0, [r5] + bl debug_sub_808D9CC + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._367 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._368 @cond_branch +._367: + mov r0, #0x0 + b ._369 +._371: + .align 2, 0 +._370: + .word gDebug_0300070F +._368: + bl CloseMenu + mov r0, #0x1 +._369: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808D930 + + thumb_func_start debug_sub_808D97C +debug_sub_808D97C: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._375 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._374 @cond_branch + ldr r0, ._375 + 4 + lsl r1, r2, #0x3 + add r1, r1, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + add r1, r1, r0 + ldrh r4, [r1] + add r0, r4, #0 + bl FlagGet + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._373 @cond_branch + add r0, r4, #0 + bl FlagSet + b ._374 +._376: + .align 2, 0 +._375: + .word gMain + .word gUnknown_Debug_083C1AAE +._373: + add r0, r4, #0 + bl FlagClear +._374: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_sub_808D97C + + thumb_func_start debug_sub_808D9CC +debug_sub_808D9CC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._379 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._377 @cond_branch + ldr r0, ._379 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._378: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl FlagGet + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + neg r2, r0 + orr r2, r2, r0 + lsr r2, r2, #0x1f + mov r0, #0x1c + add r1, r4, #0 + bl debug_sub_808F2E0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._378 @cond_branch +._377: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._380: + .align 2, 0 +._379: + .word gUnknown_Debug_083C1AAC + .word gUnknown_Debug_083C1AAE + + thumb_func_end debug_sub_808D9CC + + thumb_func_start debug_sub_808DA30 +debug_sub_808DA30: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + ldr r3, ._381 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x1 + bl InitMenu + ldr r1, ._381 + 4 + ldr r0, ._381 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._382: + .align 2, 0 +._381: + .word gUnknown_Debug_083C103A + .word gMenuCallback + .word debug_sub_808DA80+1 + + thumb_func_end debug_sub_808DA30 + + thumb_func_start debug_sub_808DA80 +debug_sub_808DA80: + push {r4, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + bl debug_sub_808DAD4 + bl debug_sub_808DABC + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._383 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._384 @cond_branch +._383: + mov r0, #0x0 + b ._385 +._384: + bl CloseMenu + mov r0, #0x1 +._385: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808DA80 + + thumb_func_start debug_sub_808DABC +debug_sub_808DABC: + push {lr} + ldr r0, ._386 + ldrh r2, [r0] + mov r0, #0x18 + mov r1, #0x1 + bl debug_sub_808F31C + pop {r0} + bx r0 +._387: + .align 2, 0 +._386: + .word gSpecialVar_Result + + thumb_func_end debug_sub_808DABC + + thumb_func_start debug_sub_808DAD4 +debug_sub_808DAD4: + push {lr} + ldr r0, ._390 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._388 @cond_branch + mov r2, #0x1 + b ._389 +._391: + .align 2, 0 +._390: + .word gMain +._388: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._392 @cond_branch + ldr r2, ._393 +._389: + ldr r1, ._393 + 4 + ldrh r0, [r1] + add r0, r2, r0 + strh r0, [r1] +._392: + pop {r0} + bx r0 +._394: + .align 2, 0 +._393: + .word 0xffff + .word gSpecialVar_Result + + thumb_func_end debug_sub_808DAD4 + + thumb_func_start debug_sub_808DB0C +debug_sub_808DB0C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._395 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._395 + 4 + ldr r0, ._395 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._396: + .align 2, 0 +._395: + .word gUnknown_Debug_083C3D08 + .word gMenuCallback + .word debug_sub_808DB5C+1 + + thumb_func_end debug_sub_808DB0C + + thumb_func_start debug_sub_808DB5C +debug_sub_808DB5C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._397 @cond_branch + mov r0, #0x0 + b ._400 +._397: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._399 @cond_branch + ldr r2, ._401 + ldr r0, ._401 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._400 +._402: + .align 2, 0 +._401: + .word gMenuCallback + .word gUnknown_Debug_083C3D08 +._399: + bl CloseMenu + mov r0, #0x1 +._400: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808DB5C + + thumb_func_start debug_sub_808DBA0 +debug_sub_808DBA0: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x11 + bl Menu_DrawStdWindowFrame + ldr r3, ._403 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x8 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x8 + bl InitMenu + ldr r0, ._403 + 4 + strb r4, [r0] + ldr r1, ._403 + 8 + ldr r0, ._403 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._404: + .align 2, 0 +._403: + .word gUnknown_Debug_083C432C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DBA0 + + thumb_func_start debug_sub_808DBF8 +debug_sub_808DBF8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._405 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._405 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._405 + 8 + ldr r0, ._405 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._406: + .align 2, 0 +._405: + .word gUnknown_Debug_083C436C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DBF8 + + thumb_func_start debug_sub_808DC50 +debug_sub_808DC50: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._407 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._407 + 4 + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._407 + 8 + ldr r0, ._407 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._408: + .align 2, 0 +._407: + .word gUnknown_Debug_083C43B4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DC50 + + thumb_func_start debug_sub_808DCA8 +debug_sub_808DCA8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._409 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._409 + 4 + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._409 + 8 + ldr r0, ._409 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._410: + .align 2, 0 +._409: + .word gUnknown_Debug_083C43FC + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DCA8 + + thumb_func_start debug_sub_808DD00 +debug_sub_808DD00: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._411 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._411 + 4 + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._411 + 8 + ldr r0, ._411 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._412: + .align 2, 0 +._411: + .word gUnknown_Debug_083C4444 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DD00 + + thumb_func_start debug_sub_808DD58 +debug_sub_808DD58: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._413 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._413 + 4 + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._413 + 8 + ldr r0, ._413 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._414: + .align 2, 0 +._413: + .word gUnknown_Debug_083C448C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DD58 + + thumb_func_start debug_sub_808DDB0 +debug_sub_808DDB0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._415 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._415 + 4 + mov r0, #0x6 + strb r0, [r1] + ldr r1, ._415 + 8 + ldr r0, ._415 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._416: + .align 2, 0 +._415: + .word gUnknown_Debug_83C44C4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DDB0 + + thumb_func_start debug_sub_808DE08 +debug_sub_808DE08: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._417 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._417 + 4 + mov r0, #0x7 + strb r0, [r1] + ldr r1, ._417 + 8 + ldr r0, ._417 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._418: + .align 2, 0 +._417: + .word gUnknown_Debug_83C44EC + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DE08 + + thumb_func_start debug_sub_808DE60 +debug_sub_808DE60: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._419 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._419 + 4 + mov r0, #0x8 + strb r0, [r1] + ldr r1, ._419 + 8 + ldr r0, ._419 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._420: + .align 2, 0 +._419: + .word gUnknown_Debug_083C4534 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808DEB8+1 + + thumb_func_end debug_sub_808DE60 + + thumb_func_start debug_sub_808DEB8 +debug_sub_808DEB8: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._424 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808DF64 + ldrb r0, [r5] + bl debug_sub_808DF04 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._421 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._422 @cond_branch +._421: + mov r0, #0x0 + b ._423 +._425: + .align 2, 0 +._424: + .word gDebug_0300070F +._422: + bl CloseMenu + mov r0, #0x1 +._423: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808DEB8 + + thumb_func_start debug_sub_808DF04 +debug_sub_808DF04: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._428 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._426 @cond_branch + ldr r0, ._428 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._427: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._427 @cond_branch +._426: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._429: + .align 2, 0 +._428: + .word gUnknown_Debug_083C457C + .word gUnknown_Debug_083C4586 + + thumb_func_end debug_sub_808DF04 + + thumb_func_start debug_sub_808DF64 +debug_sub_808DF64: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._432 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._430 @cond_branch + mov r5, #0x1 + b ._431 +._433: + .align 2, 0 +._432: + .word gMain +._430: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._434 @cond_branch + ldr r5, ._435 +._431: + ldr r1, ._435 + 4 + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._434: + pop {r4, r5} + pop {r0} + bx r0 +._436: + .align 2, 0 +._435: + .word 0xffff + .word gUnknown_Debug_083C4586 + + thumb_func_end debug_sub_808DF64 + + thumb_func_start debug_sub_808DFC0 +debug_sub_808DFC0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._437 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._437 + 4 + ldr r0, ._437 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._438: + .align 2, 0 +._437: + .word gUnknown_Debug_083C377C + .word gMenuCallback + .word debug_sub_808E010+1 + + thumb_func_end debug_sub_808DFC0 + + thumb_func_start debug_sub_808E010 +debug_sub_808E010: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._439 @cond_branch + mov r0, #0x0 + b ._442 +._439: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._441 @cond_branch + ldr r2, ._443 + ldr r0, ._443 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._442 +._444: + .align 2, 0 +._443: + .word gMenuCallback + .word gUnknown_Debug_083C377C +._441: + bl CloseMenu + mov r0, #0x1 +._442: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E010 + + thumb_func_start debug_sub_808E054 +debug_sub_808E054: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._445 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r0, ._445 + 4 + strb r4, [r0] + ldr r1, ._445 + 8 + ldr r0, ._445 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._446: + .align 2, 0 +._445: + .word gUnknown_Debug_083C3AA0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E054 + + thumb_func_start debug_sub_808E0AC +debug_sub_808E0AC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r3, ._447 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x5 + bl InitMenu + ldr r1, ._447 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._447 + 8 + ldr r0, ._447 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._448: + .align 2, 0 +._447: + .word gUnknown_Debug_83C3AE0 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E0AC + + thumb_func_start debug_sub_808E104 +debug_sub_808E104: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._449 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._449 + 4 + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._449 + 8 + ldr r0, ._449 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._450: + .align 2, 0 +._449: + .word gUnknown_Debug_83C3B28 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E104 + + thumb_func_start debug_sub_808E15C +debug_sub_808E15C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._451 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._451 + 4 + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._451 + 8 + ldr r0, ._451 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._452: + .align 2, 0 +._451: + .word gUnknown_Debug_83C3B70 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E15C + + thumb_func_start debug_sub_808E1B4 +debug_sub_808E1B4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._453 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._453 + 4 + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._453 + 8 + ldr r0, ._453 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._454: + .align 2, 0 +._453: + .word gUnknown_Debug_83C3BB8 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E1B4 + + thumb_func_start debug_sub_808E20C +debug_sub_808E20C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._455 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._455 + 4 + mov r0, #0x5 + strb r0, [r1] + ldr r1, ._455 + 8 + ldr r0, ._455 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._456: + .align 2, 0 +._455: + .word gUnknown_Debug_83C3C00 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E264+1 + + thumb_func_end debug_sub_808E20C + + thumb_func_start debug_sub_808E264 +debug_sub_808E264: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._460 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808E310 + ldrb r0, [r5] + bl debug_sub_808E2B0 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._457 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._458 @cond_branch +._457: + mov r0, #0x0 + b ._459 +._461: + .align 2, 0 +._460: + .word gDebug_0300070F +._458: + bl CloseMenu + mov r0, #0x1 +._459: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E264 + + thumb_func_start debug_sub_808E2B0 +debug_sub_808E2B0: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._464 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._462 @cond_branch + ldr r0, ._464 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._463: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._463 @cond_branch +._462: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._465: + .align 2, 0 +._464: + .word gUnknown_Debug_083C3C48 + .word gUnknown_Debug_83C3C4E + + thumb_func_end debug_sub_808E2B0 + + thumb_func_start debug_sub_808E310 +debug_sub_808E310: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._468 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._466 @cond_branch + mov r5, #0x1 + b ._467 +._469: + .align 2, 0 +._468: + .word gMain +._466: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._470 @cond_branch + ldr r5, ._471 +._467: + ldr r1, ._471 + 4 + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._470: + pop {r4, r5} + pop {r0} + bx r0 +._472: + .align 2, 0 +._471: + .word 0xffff + .word gUnknown_Debug_83C3C4E + + thumb_func_end debug_sub_808E310 + + thumb_func_start debug_sub_808E36C +debug_sub_808E36C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r3, ._473 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x5 + bl InitMenu + ldr r1, ._473 + 4 + ldr r0, ._473 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._474: + .align 2, 0 +._473: + .word gUnknown_Debug_083C32AC + .word gMenuCallback + .word debug_sub_808E3BC+1 + + thumb_func_end debug_sub_808E36C + + thumb_func_start debug_sub_808E3BC +debug_sub_808E3BC: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._475 @cond_branch + mov r0, #0x0 + b ._478 +._475: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._477 @cond_branch + ldr r2, ._479 + ldr r0, ._479 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._478 +._480: + .align 2, 0 +._479: + .word gMenuCallback + .word gUnknown_Debug_083C32AC +._477: + bl CloseMenu + mov r0, #0x1 +._478: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E3BC + + thumb_func_start debug_sub_808E400 +debug_sub_808E400: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r3, ._481 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x3 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x3 + bl InitMenu + ldr r0, ._481 + 4 + strb r4, [r0] + ldr r1, ._481 + 8 + ldr r0, ._481 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._482: + .align 2, 0 +._481: + .word gUnknown_Debug_083C347C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E400 + + thumb_func_start debug_sub_808E458 +debug_sub_808E458: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._483 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._483 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._483 + 8 + ldr r0, ._483 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._484: + .align 2, 0 +._483: + .word gUnknown_Debug_083C3494 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E458 + + thumb_func_start debug_sub_808E4B0 +debug_sub_808E4B0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r3, ._485 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x6 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x6 + bl InitMenu + ldr r1, ._485 + 4 + mov r0, #0x2 + strb r0, [r1] + ldr r1, ._485 + 8 + ldr r0, ._485 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._486: + .align 2, 0 +._485: + .word gUnknown_Debug_083C34A4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E4B0 + + thumb_func_start debug_sub_808E508 +debug_sub_808E508: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._487 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r1, ._487 + 4 + mov r0, #0x3 + strb r0, [r1] + ldr r1, ._487 + 8 + ldr r0, ._487 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._488: + .align 2, 0 +._487: + .word gUnknown_Debug_083C34D4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E508 + + thumb_func_start debug_sub_808E560 +debug_sub_808E560: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xb + bl Menu_DrawStdWindowFrame + ldr r3, ._489 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x5 + bl InitMenu + ldr r1, ._489 + 4 + mov r0, #0x4 + strb r0, [r1] + ldr r1, ._489 + 8 + ldr r0, ._489 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._490: + .align 2, 0 +._489: + .word gUnknown_Debug_083C351C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E5B8+1 + + thumb_func_end debug_sub_808E560 + + thumb_func_start debug_sub_808E5B8 +debug_sub_808E5B8: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._494 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808E604 + ldrb r0, [r5] + bl debug_sub_808E660 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._491 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._492 @cond_branch +._491: + mov r0, #0x0 + b ._493 +._495: + .align 2, 0 +._494: + .word gDebug_0300070F +._492: + bl CloseMenu + mov r0, #0x1 +._493: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E5B8 + + thumb_func_start debug_sub_808E604 +debug_sub_808E604: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._498 + ldrh r1, [r0, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._496 @cond_branch + mov r5, #0x1 + b ._497 +._499: + .align 2, 0 +._498: + .word gMain +._496: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._500 @cond_branch + ldr r5, ._501 +._497: + ldr r1, ._501 + 4 + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._500: + pop {r4, r5} + pop {r0} + bx r0 +._502: + .align 2, 0 +._501: + .word 0xffff + .word gUnknown_Debug_083C354A + + thumb_func_end debug_sub_808E604 + + thumb_func_start debug_sub_808E660 +debug_sub_808E660: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._505 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._503 @cond_branch + ldr r0, ._505 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._504: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._504 @cond_branch +._503: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._506: + .align 2, 0 +._505: + .word gUnknown_Debug_083C3544 + .word gUnknown_Debug_083C354A + + thumb_func_end debug_sub_808E660 + + thumb_func_start debug_sub_808E6C0 +debug_sub_808E6C0: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._507 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._507 + 4 + ldr r0, ._507 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._508: + .align 2, 0 +._507: + .word gUnknown_Debug_083C4644 + .word gMenuCallback + .word debug_sub_808E710+1 + + thumb_func_end debug_sub_808E6C0 + + thumb_func_start debug_sub_808E710 +debug_sub_808E710: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._509 @cond_branch + mov r0, #0x0 + b ._512 +._509: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._511 @cond_branch + ldr r2, ._513 + ldr r0, ._513 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._512 +._514: + .align 2, 0 +._513: + .word gMenuCallback + .word gUnknown_Debug_083C4644 +._511: + bl CloseMenu + mov r0, #0x1 +._512: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E710 + + thumb_func_start debug_sub_808E754 +debug_sub_808E754: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._515 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._515 + 4 + strb r4, [r0] + ldr r1, ._515 + 8 + ldr r0, ._515 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._516: + .align 2, 0 +._515: + .word gUnknown_Debug_083C470C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E804+1 + + thumb_func_end debug_sub_808E754 + + thumb_func_start debug_sub_808E7AC +debug_sub_808E7AC: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._517 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._517 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._517 + 8 + ldr r0, ._517 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._518: + .align 2, 0 +._517: + .word gUnknown_Debug_083C4754C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808E804+1 + + thumb_func_end debug_sub_808E7AC + + thumb_func_start debug_sub_808E804 +debug_sub_808E804: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._522 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808E850 + ldrb r0, [r5] + bl debug_sub_808E8AC + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._519 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._520 @cond_branch +._519: + mov r0, #0x0 + b ._521 +._523: + .align 2, 0 +._522: + .word gDebug_0300070F +._520: + bl CloseMenu + mov r0, #0x1 +._521: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E804 + + thumb_func_start debug_sub_808E850 +debug_sub_808E850: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._526 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._524 @cond_branch + mov r5, #0x1 + b ._525 +._527: + .align 2, 0 +._526: + .word gMain +._524: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._528 @cond_branch + ldr r5, ._529 +._525: + ldr r1, ._529 + 4 + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._528: + pop {r4, r5} + pop {r0} + bx r0 +._530: + .align 2, 0 +._529: + .word 0xffff + .word gUnknown_Debug_083C478E + + thumb_func_end debug_sub_808E850 + + thumb_func_start debug_sub_808E8AC +debug_sub_808E8AC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._533 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._531 @cond_branch + ldr r0, ._533 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._532: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._532 @cond_branch +._531: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._534: + .align 2, 0 +._533: + .word gUnknown_Debug_083C478C + .word gUnknown_Debug_083C478E + + thumb_func_end debug_sub_808E8AC + + thumb_func_start debug_sub_808E90C +debug_sub_808E90C: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + mov r3, #0x5 + bl Menu_DrawStdWindowFrame + ldr r3, ._535 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x2 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x17 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x2 + bl InitMenu + ldr r1, ._535 + 4 + ldr r0, ._535 + 8 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._536: + .align 2, 0 +._535: + .word gUnknown_Debug_083C35C4 + .word gMenuCallback + .word debug_sub_808E95C+1 + + thumb_func_end debug_sub_808E90C + + thumb_func_start debug_sub_808E95C +debug_sub_808E95C: + push {lr} + bl Menu_ProcessInput + lsl r0, r0, #0x18 + asr r1, r0, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r1, r0 + bne ._537 @cond_branch + mov r0, #0x0 + b ._540 +._537: + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._539 @cond_branch + ldr r2, ._541 + ldr r0, ._541 + 4 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r0, [r1] + str r0, [r2] + mov r0, #0x0 + b ._540 +._542: + .align 2, 0 +._541: + .word gMenuCallback + .word gUnknown_Debug_083C35C4 +._539: + bl CloseMenu + mov r0, #0x1 +._540: + pop {r1} + bx r1 + + thumb_func_end debug_sub_808E95C + + thumb_func_start debug_sub_808E9A0 +debug_sub_808E9A0: + push {r4, lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r3, ._543 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x9 + bl Menu_PrintItems + mov r4, #0x0 + str r4, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x9 + bl InitMenu + ldr r0, ._543 + 4 + strb r4, [r0] + ldr r1, ._543 + 8 + ldr r0, ._543 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r4} + pop {r1} + bx r1 +._544: + .align 2, 0 +._543: + .word gUnknown_Debug_083C369C + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808EA50+1 + + thumb_func_end debug_sub_808E9A0 + + thumb_func_start debug_sub_808E9F8 +debug_sub_808E9F8: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r3, ._545 + mov r0, #0x2 + mov r1, #0x1 + mov r2, #0x7 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0x1c + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0x7 + bl InitMenu + ldr r1, ._545 + 4 + mov r0, #0x1 + strb r0, [r1] + ldr r1, ._545 + 8 + ldr r0, ._545 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._546: + .align 2, 0 +._545: + .word gUnknown_Debug_083C36E4 + .word gDebug_0300070F + .word gMenuCallback + .word debug_sub_808EA50+1 + + thumb_func_end debug_sub_808E9F8 + + thumb_func_start debug_sub_808EA50 +debug_sub_808EA50: + push {r4, r5, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + add r1, r0, #0 + ldr r5, ._550 + ldrb r0, [r5] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl debug_sub_808EAFC + ldrb r0, [r5] + bl debug_sub_808EA9C + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._547 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._548 @cond_branch +._547: + mov r0, #0x0 + b ._549 +._551: + .align 2, 0 +._550: + .word gDebug_0300070F +._548: + bl CloseMenu + mov r0, #0x1 +._549: + pop {r4, r5} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808EA50 + + thumb_func_start debug_sub_808EA9C +debug_sub_808EA9C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r5, #0x0 + ldr r0, ._554 + add r0, r1, r0 + ldrb r2, [r0] + cmp r5, r2 + bcs ._552 @cond_branch + ldr r0, ._554 + 4 + mov r8, r0 + lsl r0, r1, #0x3 + add r0, r0, r1 + lsl r7, r0, #0x1 + add r6, r2, #0 +._553: + lsl r0, r5, #0x1 + add r4, r0, #1 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + add r0, r0, r7 + add r0, r0, r8 + ldrh r0, [r0] + bl VarGet + add r2, r0, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + mov r0, #0x18 + add r1, r4, #0 + bl debug_sub_808F31C + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + bcc ._553 @cond_branch +._552: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._555: + .align 2, 0 +._554: + .word gUnknown_Debug_083C371C + .word gUnknown_Debug_083C371E + + thumb_func_end debug_sub_808EA9C + + thumb_func_start debug_sub_808EAFC +debug_sub_808EAFC: + push {r4, r5, lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldr r0, ._558 + ldrh r1, [r0, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._556 @cond_branch + mov r5, #0x1 + b ._557 +._559: + .align 2, 0 +._558: + .word gMain +._556: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._560 @cond_branch + ldr r5, ._561 +._557: + ldr r1, ._561 + 4 + lsl r0, r2, #0x3 + add r0, r0, r2 + add r0, r0, r3 + lsl r0, r0, #0x1 + add r0, r0, r1 + ldrh r4, [r0] + add r0, r4, #0 + bl VarGet + add r1, r0, #0 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r4, #0 + bl VarSet +._560: + pop {r4, r5} + pop {r0} + bx r0 +._562: + .align 2, 0 +._561: + .word 0xffff + .word gUnknown_Debug_083C371E + + thumb_func_end debug_sub_808EAFC + + thumb_func_start debug_sub_808EB58 +debug_sub_808EB58: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._563 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._563 + 4 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x8 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x8 + bl InitMenu + ldr r1, ._563 + 8 + ldr r0, ._563 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._564: + .align 2, 0 +._563: + .word gUnknown_Debug_083C47B2 + .word gUnknown_Debug_083C47F0 + .word gMenuCallback + .word debug_sub_808EC10+1 + + thumb_func_end debug_sub_808EB58 + + thumb_func_start debug_sub_808EBB4 +debug_sub_808EBB4: + push {lr} + add sp, sp, #0xfffffff8 + bl Menu_EraseScreen + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xd + mov r3, #0xd + bl Menu_DrawStdWindowFrame + ldr r0, ._565 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r3, ._565 + 4 + mov r0, #0x2 + mov r1, #0x3 + mov r2, #0x5 + bl Menu_PrintItems + mov r0, #0x0 + str r0, [sp] + mov r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x5 + bl InitMenu + ldr r1, ._565 + 8 + ldr r0, ._565 + 12 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x8 + pop {r1} + bx r1 +._566: + .align 2, 0 +._565: + .word gUnknown_Debug_083C4830 + .word gUnknown_Debug_083C4888 + .word gMenuCallback + .word debug_sub_808EC5C+1 + + thumb_func_end debug_sub_808EBB4 + + thumb_func_start debug_sub_808EC10 +debug_sub_808EC10: + push {r4, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._568 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._568 @cond_branch + ldr r1, ._570 + lsl r0, r2, #0x18 + asr r0, r0, #0x18 + ldr r2, ._570 + 4 + add r1, r1, r2 + strh r0, [r1] + bl CloseMenu + mov r0, #0x1 + b ._569 +._571: + .align 2, 0 +._570: + .word gSaveBlock1 + .word 0x13c8 +._568: + mov r0, #0x0 +._569: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808EC10 + + thumb_func_start debug_sub_808EC5C +debug_sub_808EC5C: + push {r4, lr} + bl Menu_ProcessInput + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl Menu_GetCursorPos + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + lsl r4, r4, #0x18 + asr r4, r4, #0x18 + mov r0, #0x2 + neg r0, r0 + cmp r4, r0 + beq ._573 @cond_branch + mov r0, #0x1 + neg r0, r0 + cmp r4, r0 + beq ._573 @cond_branch + ldr r0, ._575 + lsl r1, r1, #0x18 + asr r1, r1, #0x8 + lsr r1, r1, #0x10 + bl VarSet + bl CloseMenu + mov r0, #0x1 + b ._574 +._576: + .align 2, 0 +._575: + .word 0x40a7 +._573: + mov r0, #0x0 +._574: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_sub_808EC5C + + thumb_func_start debug_sub_808ECA4 +debug_sub_808ECA4: + push {lr} + add sp, sp, #0xfffffffc + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r1, ._577 + ldr r0, ._577 + 4 + str r0, [r1] + mov r0, #0x0 + add sp, sp, #0x4 + pop {r1} + bx r1 +._578: + .align 2, 0 +._577: + .word gMenuCallback + .word debug_sub_808ECD0+1 + + thumb_func_end debug_sub_808ECA4 + + thumb_func_start debug_sub_808ECD0 +debug_sub_808ECD0: + push {lr} + bl UpdatePaletteFade + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._579 @cond_branch + mov r0, #0x0 + b ._580 +._579: + bl CloseMenu + mov r0, #0x2 + bl debug_sub_808F168 + ldr r0, ._581 + bl SetMainCallback2 + ldr r1, ._581 + 4 + ldr r0, ._581 + 8 + str r0, [r1, #0x8] + mov r0, #0x1 +._580: + pop {r1} + bx r1 +._582: + .align 2, 0 +._581: + .word CB2_ContestPainting+1 + .word gMain + .word debug_sub_808B868+1 + + thumb_func_end debug_sub_808ECD0 + + thumb_func_start TomomichiDebugMenu_Config +TomomichiDebugMenu_Config: + mov r0, #0x0 + bx lr + + thumb_func_end TomomichiDebugMenu_Config + + thumb_func_start debug_sub_808ED0C +debug_sub_808ED0C: + push {lr} + ldr r2, ._590 + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._584 @cond_branch + ldr r1, ._590 + 4 + ldrh r0, [r1] + cmp r0, #0x1 + beq ._584 @cond_branch + sub r0, r0, #0x1 + strh r0, [r1] +._584: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._586 @cond_branch + ldr r3, ._590 + 4 + ldrh r1, [r3] + ldr r0, ._590 + 8 + cmp r1, r0 + beq ._586 @cond_branch + add r0, r1, #1 + strh r0, [r3] +._586: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._587 @cond_branch + ldr r1, ._590 + 4 + ldrh r0, [r1] + cmp r0, #0xa + bls ._588 @cond_branch + sub r0, r0, #0xa + b ._589 +._591: + .align 2, 0 +._590: + .word gMain + .word gDebug_03000700 + .word 0x19b +._588: + mov r0, #0x1 +._589: + strh r0, [r1] +._587: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._592 @cond_branch + ldr r2, ._595 + ldrh r1, [r2] + ldr r0, ._595 + 4 + cmp r1, r0 + bhi ._593 @cond_branch + add r0, r1, #0 + add r0, r0, #0xa + b ._594 +._596: + .align 2, 0 +._595: + .word gDebug_03000700 + .word 0x191 +._593: + ldr r1, ._597 + add r0, r1, #0 +._594: + strh r0, [r2] +._592: + pop {r0} + bx r0 +._598: + .align 2, 0 +._597: + .word 0x19b + + thumb_func_end debug_sub_808ED0C + + thumb_func_start debug_sub_808ED9C +debug_sub_808ED9C: + push {lr} + ldr r2, ._606 + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._600 @cond_branch + ldr r1, ._606 + 4 + ldr r0, [r1] + cmp r0, #0 + beq ._600 @cond_branch + sub r0, r0, #0x1 + str r0, [r1] +._600: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._602 @cond_branch + ldr r3, ._606 + 4 + ldr r1, [r3] + mov r0, #0x1 + neg r0, r0 + cmp r1, r0 + beq ._602 @cond_branch + add r0, r1, #1 + str r0, [r3] +._602: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._603 @cond_branch + ldr r1, ._606 + 4 + ldr r0, [r1] + cmp r0, #0xf + bls ._604 @cond_branch + sub r0, r0, #0x10 + b ._605 +._607: + .align 2, 0 +._606: + .word gMain + .word gDebug_03000708 +._604: + mov r0, #0x0 +._605: + str r0, [r1] +._603: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._608 @cond_branch + ldr r3, ._611 + ldr r1, [r3] + mov r0, #0x11 + neg r0, r0 + cmp r1, r0 + bhi ._609 @cond_branch + add r0, r1, #0 + add r0, r0, #0x10 + b ._610 +._612: + .align 2, 0 +._611: + .word gDebug_03000708 +._609: + mov r0, #0x1 + neg r0, r0 +._610: + str r0, [r3] +._608: + ldrh r2, [r2, #0x2e] + mov r1, #0xc0 + lsl r1, r1, #0x2 + add r0, r1, #0 + and r0, r0, r2 + cmp r0, r1 + bne ._613 @cond_branch + ldr r1, ._614 + mov r0, #0x1 + neg r0, r0 + str r0, [r1] +._613: + pop {r0} + bx r0 +._615: + .align 2, 0 +._614: + .word gDebug_03000708 + + thumb_func_end debug_sub_808ED9C + + thumb_func_start debug_sub_808EE3C +debug_sub_808EE3C: + push {lr} + ldr r2, ._622 + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._617 @cond_branch + ldr r1, ._622 + 4 + ldrb r0, [r1] + cmp r0, #0x1 + beq ._617 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] +._617: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._619 @cond_branch + ldr r1, ._622 + 4 + ldrb r0, [r1] + cmp r0, #0x5 + beq ._619 @cond_branch + add r0, r0, #0x1 + strb r0, [r1] +._619: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._620 @cond_branch + ldr r1, ._622 + 4 + mov r0, #0x1 + strb r0, [r1] +._620: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._621 @cond_branch + ldr r1, ._622 + 4 + mov r0, #0x5 + strb r0, [r1] +._621: + pop {r0} + bx r0 +._623: + .align 2, 0 +._622: + .word gMain + .word gDebug_0300070C + + thumb_func_end debug_sub_808EE3C + + thumb_func_start debug_sub_808EE9C +debug_sub_808EE9C: + push {lr} + ldr r2, ._631 + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._625 @cond_branch + ldr r1, ._631 + 4 + ldrb r0, [r1] + cmp r0, #0x1 + beq ._625 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] +._625: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._627 @cond_branch + ldr r1, ._631 + 4 + ldrb r0, [r1] + cmp r0, #0xf + beq ._627 @cond_branch + add r0, r0, #0x1 + strb r0, [r1] +._627: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._628 @cond_branch + ldr r1, ._631 + 4 + ldrb r0, [r1] + cmp r0, #0xa + bls ._629 @cond_branch + sub r0, r0, #0xa + b ._630 +._632: + .align 2, 0 +._631: + .word gMain + .word gDebug_0300070D +._629: + mov r0, #0x0 +._630: + strb r0, [r1] +._628: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._633 @cond_branch + ldr r1, ._636 + ldrb r0, [r1] + cmp r0, #0x5 + bhi ._634 @cond_branch + add r0, r0, #0xa + b ._635 +._637: + .align 2, 0 +._636: + .word gDebug_0300070D +._634: + mov r0, #0xf +._635: + strb r0, [r1] +._633: + pop {r0} + bx r0 + + thumb_func_end debug_sub_808EE9C + + thumb_func_start debug_sub_808EF14 +debug_sub_808EF14: + push {lr} + ldr r2, ._645 + ldrh r1, [r2, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._639 @cond_branch + ldr r1, ._645 + 4 + ldrb r0, [r1] + cmp r0, #0x1 + beq ._639 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] +._639: + ldrh r1, [r2, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._641 @cond_branch + ldr r1, ._645 + 4 + ldrb r0, [r1] + cmp r0, #0xf + beq ._641 @cond_branch + add r0, r0, #0x1 + strb r0, [r1] +._641: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._642 @cond_branch + ldr r1, ._645 + 4 + ldrb r0, [r1] + cmp r0, #0xa + bls ._643 @cond_branch + sub r0, r0, #0xa + b ._644 +._646: + .align 2, 0 +._645: + .word gMain + .word gDebug_0300070E +._643: + mov r0, #0x0 +._644: + strb r0, [r1] +._642: + ldrh r1, [r2, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._647 @cond_branch + ldr r1, ._650 + ldrb r0, [r1] + cmp r0, #0x5 + bhi ._648 @cond_branch + add r0, r0, #0xa + b ._649 +._651: + .align 2, 0 +._650: + .word gDebug_0300070E +._648: + mov r0, #0xf +._649: + strb r0, [r1] +._647: + pop {r0} + bx r0 + + thumb_func_end debug_sub_808EF14 + + thumb_func_start debug_sub_808EF8C +debug_sub_808EF8C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + bgt ._653 @cond_branch + cmp r6, #0 + blt ._653 @cond_branch + mov r3, #0x0 + ldr r0, ._656 + mov r8, r0 + ldr r4, ._656 + 4 + mov r7, #0x7 + mov r5, #0xf +._658: + sub r0, r7, r3 + lsl r0, r0, #0x2 + mov r1, r8 + ldr r2, [r1] + LSR r2, r0 + and r2, r2, r5 + cmp r2, #0x9 + bhi ._654 @cond_branch + add r1, r3, r4 + add r0, r2, #0 + add r0, r0, #0xa1 + b ._655 +._657: + .align 2, 0 +._656: + .word gDebug_03000708 + .word gDebug_03000710 +._654: + add r1, r3, r4 + add r0, r2, #0 + sub r0, r0, #0x4f +._655: + strb r0, [r1] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x7 + bls ._658 @cond_branch + ldr r0, ._666 + mov r1, #0xff + strb r1, [r0, #0x8] + mov r1, #0xc + mov r2, #0x5 + bl Menu_PrintText +._653: + mov r3, #0x0 + ldr r7, ._666 + ldr r5, ._666 + 4 + ldr r2, ._666 + 8 + mov r8, r2 + add r4, r7, #0 + mov r2, #0x0 +._659: + add r1, r3, #1 + add r0, r1, r4 + strb r2, [r0] + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x9 + bls ._659 @cond_branch + mov r3, #0x0 + ldrh r2, [r5] + mov r0, #0xb + add r1, r2, #0 + mul r1, r1, r0 + mov r2, r8 + add r0, r1, r2 + ldrb r0, [r0] + cmp r0, #0xff + beq ._661 @cond_branch + ldr r0, ._666 + mov ip, r0 + mov r5, r8 + add r4, r1, #0 +._662: + add r1, r3, #1 + mov r0, ip + add r2, r1, r0 + add r0, r3, r4 + add r0, r0, r5 + ldrb r0, [r0] + strb r0, [r2] + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + add r0, r3, r4 + add r0, r0, r5 + ldrb r0, [r0] + cmp r0, #0xff + beq ._661 @cond_branch + cmp r3, #0x9 + bls ._662 @cond_branch +._661: + mov r0, #0xb1 + strb r0, [r7] + mov r0, #0xb2 + strb r0, [r7, #0xb] + mov r0, #0xff + strb r0, [r7, #0xc] + cmp r6, #0x2 + bgt ._664 @cond_branch + cmp r6, #0 + blt ._664 @cond_branch + add r0, r7, #0 + mov r1, #0x8 + mov r2, #0x1 + bl Menu_PrintText + b ._665 +._667: + .align 2, 0 +._666: + .word gDebug_03000710 + .word gDebug_03000700 + .word gSpeciesNames +._664: + ldr r0, ._672 + mov r1, #0xc + mov r2, #0x1 + bl Menu_PrintText +._665: + ldr r5, ._672 + mov r0, #0xff + strb r0, [r5, #0x3] + ldr r4, ._672 + 4 + ldrh r0, [r4] + mov r1, #0x64 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5] + ldrh r0, [r4] + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xa + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x1] + ldrh r0, [r4] + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x2] + add r0, r5, #0 + mov r1, #0xc + mov r2, #0x3 + bl Menu_PrintText + cmp r6, #0x1 + beq ._668 @cond_branch + cmp r6, #0x1 + bgt ._669 @cond_branch + cmp r6, #0 + beq ._670 @cond_branch + b ._679 +._673: + .align 2, 0 +._672: + .word gDebug_03000710 + .word gDebug_03000700 +._669: + cmp r6, #0x2 + beq ._674 @cond_branch + b ._679 +._670: + ldr r4, ._677 + b ._676 +._678: + .align 2, 0 +._677: + .word gDebug_0300070C +._668: + ldr r4, ._680 +._676: + ldrb r0, [r4] + mov r1, #0x64 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5] + ldrb r0, [r4] + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0xa + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x1] + ldrb r0, [r4] + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x2] + add r0, r5, #0 + mov r1, #0xc + mov r2, #0x7 + bl Menu_PrintText + b ._679 +._681: + .align 2, 0 +._680: + .word gDebug_0300070D +._674: + ldr r4, ._682 + ldrb r0, [r4] + mov r1, #0x64 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5] + ldrb r0, [r4] + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0xa + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x1] + ldrb r0, [r4] + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x2] + add r0, r5, #0 + mov r1, #0xc + mov r2, #0x7 + bl Menu_PrintText +._679: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._683: + .align 2, 0 +._682: + .word gDebug_0300070E + + thumb_func_end debug_sub_808EF8C + + thumb_func_start debug_sub_808F168 +debug_sub_808F168: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r4, ._686 + ldr r0, ._686 + 4 + ldrh r0, [r0] + strh r0, [r4, #0x8] + ldr r0, ._686 + 8 + ldr r0, [r0] + str r0, [r4, #0x4] + ldr r0, ._686 + 12 + ldr r0, [r0] + str r0, [r4] + cmp r1, #0x5 + bls ._684 @cond_branch + b ._707 +._684: + lsl r0, r1, #0x2 + ldr r1, ._686 + 16 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._687: + .align 2, 0 +._686: + .word +0x2015de0 + .word gDebug_03000700 + .word gDebug_03000704 + .word gDebug_03000708 + .word ._688 +._688: + .word ._689 + .word ._690 + .word ._691 + .word ._692 + .word ._693 + .word ._694 +._689: + ldr r0, ._696 + ldr r2, ._696 + 4 + add r1, r0, r2 + mov r2, #0x0 + strb r2, [r1] + ldr r1, ._696 + 8 + add r0, r0, r1 + strb r2, [r0] + ldr r0, ._696 + 12 + ldrb r0, [r0] + sub r0, r0, #0x1 + strb r0, [r4, #0xa] + add r0, r4, #0 + add r0, r0, #0x16 + ldr r1, ._696 + 16 + bl StringCopy + b ._704 +._697: + .align 2, 0 +._696: + .word +0x2000000 + .word 0x15ddf + .word 0x15dde + .word gDebug_0300070C + .word gUnknown_Debug_083C48BB +._690: + ldr r1, ._699 + ldr r0, ._699 + 4 + add r2, r1, r0 + mov r0, #0x0 + strb r0, [r2] + ldr r2, ._699 + 8 + add r1, r1, r2 + mov r0, #0x8 + strb r0, [r1] + ldr r0, ._699 + 12 + ldrb r0, [r0] + sub r0, r0, #0x1 + b ._698 +._700: + .align 2, 0 +._699: + .word +0x2000000 + .word 0x15ddf + .word 0x15dde + .word gDebug_0300070D +._691: + ldr r1, ._702 + ldr r0, ._702 + 4 + add r2, r1, r0 + mov r0, #0x1 + strb r0, [r2] + ldr r2, ._702 + 8 + add r1, r1, r2 + mov r0, #0x8 + strb r0, [r1] + ldr r0, ._702 + 12 + ldrb r0, [r0] + sub r0, r0, #0x1 + strb r0, [r4, #0xa] + b ._707 +._703: + .align 2, 0 +._702: + .word +0x2000000 + .word 0x15ddf + .word 0x15dde + .word gDebug_0300070E +._692: + ldr r1, ._705 + ldr r2, ._705 + 4 + add r0, r1, r2 + mov r2, #0x0 + strb r2, [r0] + ldr r0, ._705 + 8 + add r1, r1, r0 + mov r0, #0x8 + strb r0, [r1] + strb r2, [r4, #0xa] + b ._704 +._706: + .align 2, 0 +._705: + .word +0x2000000 + .word 0x15ddf + .word 0x15dde +._693: + ldr r1, ._708 + ldr r0, ._708 + 4 + add r2, r1, r0 + mov r0, #0x0 + strb r0, [r2] + ldr r2, ._708 + 8 + add r1, r1, r2 + mov r0, #0x8 + strb r0, [r1] + mov r0, #0x3 +._698: + strb r0, [r4, #0xa] +._704: + add r0, r4, #0 + add r0, r0, #0xb + ldr r1, ._708 + 12 + bl StringCopy + b ._707 +._709: + .align 2, 0 +._708: + .word +0x2000000 + .word 0x15ddf + .word 0x15dde + .word gUnknown_Debug_083C48B0 +._694: + ldr r1, ._710 + ldr r0, ._710 + 4 + add r2, r1, r0 + mov r0, #0x0 + strb r0, [r2] + ldr r2, ._710 + 8 + add r1, r1, r2 + mov r0, #0x8 + strb r0, [r1] + mov r0, #0x9 + strb r0, [r4, #0xa] + add r0, r4, #0 + add r0, r0, #0xb + ldr r1, ._710 + 12 + bl StringCopy +._707: + pop {r4} + pop {r0} + bx r0 +._711: + .align 2, 0 +._710: + .word +0x2000000 + .word 0x15ddf + .word 0x15dde + .word gUnknown_Debug_083C48B0 + + thumb_func_end debug_sub_808F168 + + thumb_func_start debug_sub_808F2E0 +debug_sub_808F2E0: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + lsl r2, r2, #0x18 + cmp r2, #0 + bne ._712 @cond_branch + ldr r1, ._714 + mov r0, #0xa1 + b ._713 +._715: + .align 2, 0 +._714: + .word gDebug_03000710 +._712: + ldr r1, ._716 + mov r0, #0xa2 +._713: + strb r0, [r1] + mov r0, #0xff + strb r0, [r1, #0x1] + add r0, r1, #0 + add r1, r4, #0 + add r2, r3, #0 + bl Menu_PrintText + pop {r4} + pop {r0} + bx r0 +._717: + .align 2, 0 +._716: + .word gDebug_03000710 + + thumb_func_end debug_sub_808F2E0 + + thumb_func_start debug_sub_808F31C +debug_sub_808F31C: + push {r4, r5, r6, lr} + mov r6, r9 + mov r5, r8 + push {r5, r6} + mov r8, r0 + mov r9, r1 + add r4, r2, #0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 + mov r0, r9 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r9, r0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + ldr r5, ._718 + ldr r6, ._718 + 4 + add r0, r4, #0 + add r1, r6, #0 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5] + add r0, r4, #0 + add r1, r6, #0 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r6, #0xfa + lsl r6, r6, #0x2 + add r1, r6, #0 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x1] + add r0, r4, #0 + add r1, r6, #0 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x64 + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x2] + add r0, r4, #0 + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xa + bl __udivsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x3] + add r0, r4, #0 + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r5, #0x4] + mov r0, #0xff + strb r0, [r5, #0x5] + add r0, r5, #0 + mov r1, r8 + mov r2, r9 + bl Menu_PrintText + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._719: + .align 2, 0 +._718: + .word gDebug_03000710 + .word 0x2710 + + thumb_func_end debug_sub_808F31C + + thumb_func_start debug_nullsub_66 +debug_nullsub_66: + bx lr + + thumb_func_end debug_nullsub_66 + + .align 2, 0 + +.endif diff --git a/asm/unk_debug_menu_3.s b/asm/unk_debug_menu_3.s new file mode 100644 index 000000000..e1be20589 --- /dev/null +++ b/asm/unk_debug_menu_3.s @@ -0,0 +1,747 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start debug_sub_813C404 +debug_sub_813C404: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._1 + ldr r4, ._1 + 4 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._2: + .align 2, 0 +._1: + .word gUnknown_Debug_845DDB2 + .word gUnknown_Debug_845DAE1 + + thumb_func_end debug_sub_813C404 + + thumb_func_start debug_sub_813C430 +debug_sub_813C430: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._3 + ldr r4, ._3 + 4 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._4: + .align 2, 0 +._3: + .word gUnknown_Debug_845E402 + .word gUnknown_Debug_845E3E0 + + thumb_func_end debug_sub_813C430 + + thumb_func_start debug_sub_813C45C +debug_sub_813C45C: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._5 + ldr r4, ._5 + 4 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._6: + .align 2, 0 +._5: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E422 + + thumb_func_end debug_sub_813C45C + + thumb_func_start debug_sub_813C488 +debug_sub_813C488: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._7 + ldr r4, ._7 + 4 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._8: + .align 2, 0 +._7: + .word gUnknown_Debug_845E422 + .word gUnknown_Debug_845E402 + + thumb_func_end debug_sub_813C488 + + thumb_func_start debug_sub_813C4B4 +debug_sub_813C4B4: + push {r4, lr} + ldr r4, ._9 + ldr r1, ._9 + 4 + sub r4, r4, r1 + add r2, r4, #0 + bl memcpy + add r0, r4, #0 + pop {r4} + pop {r1} + bx r1 +._10: + .align 2, 0 +._9: + .word gUnknown_Debug_845E619 + .word gUnknown_Debug_845E606 + + thumb_func_end debug_sub_813C4B4 + + thumb_func_start debug_sub_813C4D4 +debug_sub_813C4D4: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._11 + ldr r4, ._11 + 4 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_81261B4 + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._12: + .align 2, 0 +._11: + .word gUnknown_Debug_845E712 + .word gUnknown_Debug_845E619 + + thumb_func_end debug_sub_813C4D4 + + thumb_func_start debug_sub_813C500 +debug_sub_813C500: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._13 + ldr r4, ._13 + 4 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._14: + .align 2, 0 +._13: + .word gUnknown_Debug_845E797 + .word gUnknown_Debug_845E712 + + thumb_func_end debug_sub_813C500 + + thumb_func_start debug_sub_813C52C +debug_sub_813C52C: + push {r4, r5, r6, lr} + mov r6, r9 + mov r5, r8 + push {r5, r6} + mov r8, r0 + lsl r5, r1, #0x10 + lsr r0, r5, #0x10 + mov r9, r0 + ldr r6, ._15 + ldr r4, ._15 + 4 + sub r6, r6, r4 + mov r0, r8 + add r1, r4, #0 + add r2, r6, #0 + bl memcpy + ldr r0, ._15 + 8 + sub r0, r0, r4 + add r0, r0, r8 + add r0, r0, #0x3 + mov r1, r9 + strb r1, [r0] + lsr r5, r5, #0x18 + strb r5, [r0, #0x1] + mov r0, r8 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r6, #0 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6} + pop {r1} + bx r1 +._16: + .align 2, 0 +._15: + .word gUnknown_Debug_845E7BB + .word gUnknown_Debug_845E797 + .word gUnknown_Debug_845E7B5 + + thumb_func_end debug_sub_813C52C + + thumb_func_start debug_sub_813C580 +debug_sub_813C580: + push {lr} + mov r1, #0xd + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C580 + + thumb_func_start debug_sub_813C58C +debug_sub_813C58C: + push {lr} + mov r1, #0x4 + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C58C + + thumb_func_start debug_sub_813C598 +debug_sub_813C598: + push {lr} + mov r1, #0x85 + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C598 + + thumb_func_start debug_sub_813C5A4 +debug_sub_813C5A4: + push {lr} + ldr r1, ._17 + bl debug_sub_813C52C + pop {r1} + bx r1 +._18: + .align 2, 0 +._17: + .word 0x121 + + thumb_func_end debug_sub_813C5A4 + + thumb_func_start debug_sub_813C5B4 +debug_sub_813C5B4: + push {r4, r5, r6, r7, lr} + add r4, r0, #0 + ldr r7, ._23 + ldr r0, ._23 + 4 + ldr r1, ._23 + 8 + sub r0, r0, r1 + add r6, r0, r4 + ldr r0, ._23 + 12 + sub r5, r0, r1 + ldr r0, ._23 + 16 + mov r1, #0x0 + mov r2, #0x0 + bl GetEnigmaBerryChecksum + mov r2, #0x0 + ldr r3, ._23 + 20 + mov r1, #0x0 +._19: + add r0, r4, r2 + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r3 + ble ._19 @cond_branch + mov r2, #0x0 + cmp r2, r5 + bcs ._20 @cond_branch + ldr r3, ._23 + 8 +._21: + add r0, r4, r2 + add r1, r2, r3 + ldrb r1, [r1] + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r5 + bcc ._21 @cond_branch +._20: + mov r2, #0x0 + ldr r3, ._23 + 24 +._22: + add r0, r6, r2 + add r1, r7, r2 + ldrb r1, [r1] + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r3 + bls ._22 @cond_branch + bl ClearEnigmaBerries + ldr r1, ._23 + 8 + add r0, r4, #0 + bl unref_sub_81261B4 + add r0, r5, #0 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._24: + .align 2, 0 +._23: + .word gSaveBlock1+0x3160 + .word gUnknown_Debug_845DDD6 + .word gUnknown_Debug_845DDB2 + .word gUnknown_Debug_845E306 + .word Str_842E23C + .word 0xfff + .word 0x52f + + thumb_func_end debug_sub_813C5B4 + + thumb_func_start debug_sub_813C638 +debug_sub_813C638: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffec + mov r8, r0 + add r4, r1, #0 + add r5, r2, #0 + add r6, r3, #0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + lsl r6, r6, #0x10 + lsr r6, r6, #0x10 + bl ZeroMonData + mov r0, #0x0 + str r0, [sp] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r0, ._25 + str r0, [sp, #0xc] + mov r0, r8 + add r1, r4, #0 + add r2, r5, #0 + mov r3, #0x20 + bl CreateMon + ldr r2, ._25 + 4 + mov r0, r8 + mov r1, #0x7 + bl SetMonData + ldr r2, ._25 + 8 + mov r0, r8 + mov r1, #0x2 + bl SetMonData + str r6, [sp, #0x10] + mov r0, r8 + mov r1, #0xc + add r2, sp, #0x10 + bl SetMonData + add sp, sp, #0x14 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._26: + .align 2, 0 +._25: + .word 0x270f + .word Str_842E240 + .word Str_842E248 + + thumb_func_end debug_sub_813C638 + + thumb_func_start debug_sub_813C6AC +debug_sub_813C6AC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffff8 + add r6, r0, #0 + add r5, r1, #0 + add r0, r5, #0 + bl ClearMailStruct + add r0, r6, #0 + mov r1, #0xc + bl GetMonData + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r8, r0 + bl ItemIsMail + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._27 @cond_branch + add r4, r5, #0 + add r4, r4, #0x12 + add r7, r5, #0 + add r7, r7, #0x1a + mov r1, #0x9 + add r0, r5, #0 + add r0, r0, #0x10 +._28: + strh r1, [r0] + sub r1, r1, #0x1 + sub r0, r0, #0x2 + cmp r0, r5 + bge ._28 @cond_branch + add r0, r6, #0 + mov r1, #0x7 + mov r2, sp + bl GetMonData + add r0, r4, #0 + mov r1, sp + mov r2, #0x8 + bl StringCopyN + add r0, r6, #0 + mov r1, #0x1 + bl GetMonData + add r1, r7, #0 + bl write_word_to_mem + add r0, r6, #0 + mov r1, #0xb + bl GetMonData + add r4, r0, #0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r6, #0 + mov r1, #0x0 + bl GetMonData + add r1, r0, #0 + add r0, r4, #0 + bl SpeciesToMailSpecies + strh r0, [r5, #0x1e] + mov r0, r8 + strh r0, [r5, #0x20] +._27: + add sp, sp, #0x8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_sub_813C6AC + + thumb_func_start debug_sub_813C740 +debug_sub_813C740: + push {r4, r5, r6, lr} + mov r6, sl + mov r5, r9 + mov r4, r8 + push {r4, r5, r6} + add sp, sp, #0xffffffd0 + add r6, r0, #0 + ldr r0, ._29 + mov r8, r0 + ldr r1, ._29 + 4 + ldr r5, ._29 + 8 + sub r1, r1, r0 + mov r9, r1 + add r0, r6, #0 + mov r1, r8 + mov r2, r9 + bl memcpy + add r0, r5, #0 + mov r1, #0x19 + mov r2, #0x5 + mov r3, #0x0 + bl debug_sub_813C638 + add r4, sp, #0x24 + mov r0, #0x1 + mov sl, r0 + mov r1, sl + strb r1, [r4] + add r0, r5, #0 + mov r1, #0x2d + add r2, r4, #0 + bl SetMonData + mov r0, #0x3 + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x20 + add r2, r4, #0 + bl SetMonData + mov r0, #0xff + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x23 + add r2, r4, #0 + bl SetMonData + ldr r1, ._29 + 12 + add r0, r4, #0 + mov r2, #0xb + bl StringCopyN + add r0, r5, #0 + mov r1, #0x2 + add r2, r4, #0 + bl SetMonData + mov r0, sl + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x3 + add r2, r4, #0 + bl SetMonData + ldr r0, ._29 + 16 + add r0, r6, r0 + mov r1, r8 + sub r0, r0, r1 + add r1, r5, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._29 + 20 + add r6, r6, r0 + mov r0, r8 + sub r6, r6, r0 + add r0, r6, #0 + mov r1, sp + mov r2, #0x24 + bl memcpy + mov r0, r9 + add sp, sp, #0x30 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6} + pop {r1} + bx r1 +._30: + .align 2, 0 +._29: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word Str_842E238 + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C740 + + thumb_func_start debug_sub_813C810 +debug_sub_813C810: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffdc + add r6, r0, #0 + ldr r5, ._31 + ldr r0, ._31 + 4 + ldr r4, ._31 + 8 + sub r0, r0, r5 + mov r8, r0 + add r0, r6, #0 + add r1, r5, #0 + mov r2, r8 + bl memcpy + add r0, r4, #0 + mov r1, #0xc9 + mov r2, #0x15 + mov r3, #0x82 + bl debug_sub_813C638 + add r0, r4, #0 + mov r1, sp + bl debug_sub_813C6AC + ldr r0, ._31 + 12 + add r0, r6, r0 + sub r0, r0, r5 + add r1, r4, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._31 + 16 + add r0, r6, r0 + sub r0, r0, r5 + mov r1, sp + mov r2, #0x24 + bl memcpy + add r0, r6, #0 + add r1, r5, #0 + bl unref_sub_812620C + mov r0, r8 + add sp, sp, #0x24 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r1} + bx r1 +._32: + .align 2, 0 +._31: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C810 + + thumb_func_start debug_sub_813C888 +debug_sub_813C888: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffdc + add r6, r0, #0 + ldr r5, ._33 + ldr r0, ._33 + 4 + ldr r4, ._33 + 8 + sub r0, r0, r5 + mov r8, r0 + add r0, r6, #0 + add r1, r5, #0 + mov r2, r8 + bl memcpy + add r0, r4, #0 + mov r1, #0xc9 + mov r2, #0x15 + mov r3, #0x82 + bl debug_sub_813C638 + add r0, r4, #0 + mov r1, sp + bl debug_sub_813C6AC + mov r0, #0x0 + strh r0, [r4, #0x1c] + ldr r0, ._33 + 12 + add r0, r6, r0 + sub r0, r0, r5 + add r1, r4, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._33 + 16 + add r0, r6, r0 + sub r0, r0, r5 + mov r1, sp + mov r2, #0x24 + bl memcpy + add r0, r6, #0 + add r1, r5, #0 + bl unref_sub_812620C + mov r0, r8 + add sp, sp, #0x24 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r1} + bx r1 +._34: + .align 2, 0 +._33: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C888 + + thumb_func_start debug_sub_813C904 +debug_sub_813C904: + push {r4, lr} + ldr r4, ._35 + add r0, r4, #0 + mov r1, #0x5 + mov r2, #0x32 + mov r3, #0xb7 + bl debug_sub_813C638 + add r0, r4, #0 + add r0, r0, #0x64 + mov r1, #0x8 + mov r2, #0x32 + mov r3, #0xc4 + bl debug_sub_813C638 + add r4, r4, #0xc8 + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x32 + mov r3, #0x8d + bl debug_sub_813C638 + pop {r4} + pop {r0} + bx r0 +._36: + .align 2, 0 +._35: + .word gPlayerParty + + thumb_func_end debug_sub_813C904 + + thumb_func_start debug_sub_813C93C +debug_sub_813C93C: + push {r4, r5, r6, lr} + add sp, sp, #0xffffff44 + add r4, r0, #0 + ldr r6, ._37 + ldr r5, ._37 + 4 + sub r5, r5, r6 + add r1, r6, #0 + add r2, r5, #0 + bl memcpy + bl SavePlayerParty + bl debug_sub_813C904 + ldr r1, ._37 + 8 + ldr r2, ._37 + 12 + mov r0, sp + bl debug_sub_8075DB4 + bl LoadPlayerParty + ldr r0, ._37 + 16 + add r4, r4, r0 + sub r4, r4, r6 + add r0, r4, #0 + mov r1, sp + mov r2, #0xbc + bl memcpy + add r0, r5, #0 + add sp, sp, #0xbc + pop {r4, r5, r6} + pop {r1} + bx r1 +._38: + .align 2, 0 +._37: + .word gUnknown_Debug_845E4EF + .word gUnknown_Debug_845E606 + .word Str_842E253+5 @ weird... + .word 0x270f + .word gUnknown_Debug_845E506 + + thumb_func_end debug_sub_813C93C + + .align 2, 0 + +.endif diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s new file mode 100644 index 000000000..6c56dab67 --- /dev/null +++ b/asm/watanabe_debug_menu.s @@ -0,0 +1,9578 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start debug_69 +debug_69: + bx lr + + thumb_func_end debug_69 + + thumb_func_start debug_80C35DC +debug_80C35DC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffff8 + mov r0, #0x0 + bl SetVBlankCallback + mov r0, #0x80 + lsl r0, r0, #0x13 + mov r1, #0x0 + strh r1, [r0] + add r0, r0, #0xe + strh r1, [r0] + sub r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x2 + strh r1, [r0] + add r0, r0, #0x14 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x6 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x6 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + sub r0, r0, #0x6 + strh r1, [r0] + add r0, r0, #0x2 + strh r1, [r0] + mov r3, #0xc0 + lsl r3, r3, #0x13 + mov r4, #0xc0 + lsl r4, r4, #0x9 + add r0, sp, #0x4 + mov r8, r0 + mov r2, sp + mov r6, #0x0 + ldr r1, ._2 + mov r5, #0x80 + lsl r5, r5, #0x5 + ldr r7, ._2 + 4 + mov r0, #0x81 + lsl r0, r0, #0x18 + mov ip, r0 +._1: + strh r6, [r2] + mov r0, sp + str r0, [r1] + str r3, [r1, #0x4] + str r7, [r1, #0x8] + ldr r0, [r1, #0x8] + add r3, r3, r5 + sub r4, r4, r5 + cmp r4, r5 + bhi ._1 @cond_branch + strh r6, [r2] + mov r2, sp + str r2, [r1] + str r3, [r1, #0x4] + lsr r0, r4, #0x1 + mov r2, ip + orr r0, r0, r2 + str r0, [r1, #0x8] + ldr r0, [r1, #0x8] + mov r0, #0xe0 + lsl r0, r0, #0x13 + mov r3, #0x80 + lsl r3, r3, #0x3 + mov r4, #0x0 + str r4, [sp, #0x4] + ldr r2, ._2 + mov r1, r8 + str r1, [r2] + str r0, [r2, #0x4] + lsr r0, r3, #0x2 + mov r1, #0x85 + lsl r1, r1, #0x18 + orr r0, r0, r1 + str r0, [r2, #0x8] + ldr r0, [r2, #0x8] + mov r1, #0xa0 + lsl r1, r1, #0x13 + mov r0, sp + strh r4, [r0] + str r0, [r2] + str r1, [r2, #0x4] + lsr r3, r3, #0x1 + mov r0, #0x81 + lsl r0, r0, #0x18 + orr r3, r3, r0 + str r3, [r2, #0x8] + ldr r0, [r2, #0x8] + bl ResetPaletteFade + bl ScanlineEffect_Stop + bl ResetTasks + bl ResetSpriteData + bl ResetPaletteFade + bl FreeAllSpritePalettes + ldr r0, ._2 + 8 + bl LoadSpriteSheet + ldr r0, ._2 + 12 + bl LoadSpritePalette + ldr r0, ._2 + 16 + bl Text_LoadWindowTemplate + ldr r0, ._2 + 20 + bl InitMenuWindow + add sp, sp, #0x8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._3: + .align 2, 0 +._2: + .word 0x40000d4 + .word 0x81000800 + .word stru_83F8828 + .word stru_83F8838 + .word gWindowTemplate_81E6C3C + .word gWindowTemplate_81E6CE4 + + thumb_func_end debug_80C35DC + + thumb_func_start debug_80C36F4 +debug_80C36F4: + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + + thumb_func_end debug_80C36F4 + + thumb_func_start debug_80C370C +debug_80C370C: + push {lr} + ldr r0, ._6 + ldrb r1, [r0, #0x7] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + bne ._4 @cond_branch + ldr r0, ._6 + 4 + bl SetMainCallback2 + b ._5 +._7: + .align 2, 0 +._6: + .word gPaletteFade + .word debug_80C36F4+1 +._4: + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade +._5: + pop {r0} + bx r0 + + thumb_func_end debug_80C370C + + thumb_func_start debug_80C373C +debug_80C373C: + push {lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl DestroyTask + bl ScriptContext2_Disable + ldr r0, ._8 + bl SetMainCallback2 + pop {r0} + bx r0 +._9: + .align 2, 0 +._8: + .word sub_80546F0+1 + + thumb_func_end debug_80C373C + + thumb_func_start debug_80C3758 +debug_80C3758: + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + + thumb_func_end debug_80C3758 + + thumb_func_start debug_80C376C +debug_80C376C: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + lsl r1, r1, #0x18 + lsr r7, r1, #0x18 + lsl r2, r2, #0x18 + lsr r6, r2, #0x18 + mov r1, #0x0 + mov r2, #0x0 +._10: + mov r3, sp + add r0, r3, r1 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x2 + bls ._10 @cond_branch + mov r1, sp + mov r0, #0xff + strb r0, [r1, #0x3] + mov r4, #0x0 + add r0, r5, #0 + mov r1, #0x64 + bl __udivsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0 + beq ._11 @cond_branch + mov r1, sp + add r0, r0, #0xa1 + strb r0, [r1] + mov r4, #0x1 +._11: + add r0, r5, #0 + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xa + bl __udivsi3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0 + bne ._12 @cond_branch + cmp r4, #0 + beq ._13 @cond_branch +._12: + mov r1, sp + add r0, r0, #0xa1 + strb r0, [r1, #0x1] +._13: + mov r4, sp + add r0, r5, #0 + mov r1, #0x64 + bl __umodsi3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xa + bl __umodsi3 + add r0, r0, #0xa1 + strb r0, [r4, #0x2] + mov r0, sp + add r1, r7, #0 + add r2, r6, #0 + bl Menu_PrintText + add sp, sp, #0x4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_80C376C + + thumb_func_start debug_80C3800 +debug_80C3800: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffff4 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + lsl r1, r1, #0x18 + lsr r6, r1, #0x18 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + mov r3, #0x0 + ldr r2, ._18 + mov r1, #0x0 +._14: + mov r7, sp + add r0, r7, r3 + strb r1, [r0] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x9 + bls ._14 @cond_branch + add r1, r7, r3 + mov r0, #0xff + strb r0, [r1] + mov r3, #0x0 + mov r0, #0xb + add r1, r4, #0 + mul r1, r1, r0 + add r0, r1, r2 + ldrb r0, [r0] + cmp r0, #0xff + beq ._16 @cond_branch + add r4, r2, #0 + add r2, r1, #0 +._17: + mov r0, sp + add r1, r0, r3 + add r0, r3, r2 + add r0, r0, r4 + ldrb r0, [r0] + strb r0, [r1] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + add r0, r3, r2 + add r0, r0, r4 + ldrb r0, [r0] + cmp r0, #0xff + beq ._16 @cond_branch + cmp r3, #0x9 + bls ._17 @cond_branch +._16: + mov r0, sp + add r1, r6, #0 + add r2, r5, #0 + bl Menu_PrintText + add sp, sp, #0xc + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._19: + .align 2, 0 +._18: + .word gSpeciesNames + + thumb_func_end debug_80C3800 + + thumb_func_start debug_80C3878 +debug_80C3878: + push {lr} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + cmp r0, #0 + beq ._20 @cond_branch + cmp r0, #0x1 + beq ._21 @cond_branch +._20: + cmp r1, #0x1 + bls ._22 @cond_branch + sub r0, r1, #1 + b ._23 +._22: + ldr r1, ._25 + b ._28 +._26: + .align 2, 0 +._25: + .word 0x19b +._21: + mov r0, #0xcd + lsl r0, r0, #0x1 + cmp r1, r0 + bhi ._27 @cond_branch + add r0, r1, #1 +._23: + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + b ._28 +._27: + mov r1, #0x1 +._28: + add r0, r1, #0 + pop {r1} + bx r1 + + thumb_func_end debug_80C3878 + + thumb_func_start debug_80C38B4 +debug_80C38B4: + push {lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + lsl r1, r1, #0x10 + lsr r0, r1, #0x10 + cmp r2, #0 + beq ._29 @cond_branch + cmp r2, #0x1 + beq ._30 @cond_branch +._29: + cmp r0, #0 + beq ._31 @cond_branch + sub r0, r0, #0x1 + b ._32 +._31: + mov r0, #0x52 + b ._35 +._30: + cmp r0, #0x51 + bhi ._34 @cond_branch + add r0, r0, #0x1 +._32: + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + b ._35 +._34: + mov r0, #0x0 +._35: + pop {r1} + bx r1 + + thumb_func_end debug_80C38B4 + + thumb_func_start debug_80C38E4 +debug_80C38E4: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + add r4, r2, #0 + add r5, r3, #0 + ldr r6, [sp, #0x1c] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 + lsl r1, r1, #0x18 + lsr r7, r1, #0x18 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + lsl r6, r6, #0x18 + lsr r6, r6, #0x18 + ldr r1, ._37 + mov r0, sp + mov r2, #0x2 + bl memcpy + add r0, r7, #0 + add r1, r4, #0 + add r2, r7, #0 + add r3, r5, #0 + bl Menu_BlankWindowRect + cmp r6, #0 + beq ._36 @cond_branch + mov r0, sp + add r1, r7, #0 + mov r2, r8 + bl Menu_PrintText +._36: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._38: + .align 2, 0 +._37: + .word gUnknown_Debug_083F7FD4 + + thumb_func_end debug_80C38E4 + + thumb_func_start debug_80C393C +debug_80C393C: + push {lr} + ldr r1, ._39 + mov r0, #0x1e + bl ProgramFlashSectorAndVerify + pop {r0} + bx r0 +._40: + .align 2, 0 +._39: + .word gUnknown_Debug_083F7FD6 + + thumb_func_end debug_80C393C + + thumb_func_start InitWatanabeDebugMenu +InitWatanabeDebugMenu: + push {r4, lr} + ldr r0, ._46 + ldr r1, ._46 + 4 + add r4, r0, r1 + ldrb r0, [r4] + cmp r0, #0x1 + beq ._41 @cond_branch + cmp r0, #0x1 + ble ._42 @cond_branch + cmp r0, #0x2 + beq ._43 @cond_branch + cmp r0, #0x3 + beq ._44 @cond_branch +._42: + bl save_serialize_map + bl sub_8125E2C + mov r0, #0x1 + strb r0, [r4] + b ._51 +._47: + .align 2, 0 +._46: + .word gMain + .word 0x43c +._41: + bl sub_8125E6C + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._51 @cond_branch + b ._49 +._43: + mov r0, #0x37 + bl PlaySE +._49: + ldrb r0, [r4] + add r0, r0, #0x1 + strb r0, [r4] + b ._51 +._44: + bl IsSEPlaying + lsl r0, r0, #0x18 + cmp r0, #0 + bne ._51 @cond_branch + bl ScriptContext2_Disable + ldr r0, ._52 + bl SetMainCallback2 +._51: + pop {r4} + pop {r0} + bx r0 +._53: + .align 2, 0 +._52: + .word sub_80546F0+1 + + thumb_func_end InitWatanabeDebugMenu + + thumb_func_start InitSizeComparison +InitSizeComparison: + push {r4, lr} + add sp, sp, #0xfffffffc + bl debug_80C35DC + ldr r1, ._54 + mov r0, #0x1 + strb r0, [r1] + ldr r0, ._54 + 4 + mov r1, #0x80 + lsl r1, r1, #0x1 + mov r2, #0x20 + bl LoadPalette + ldr r3, ._54 + 8 + ldrh r2, [r3] + mov r0, #0x0 + strh r0, [r3] + ldr r4, ._54 + 12 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x10 + mov r3, #0x0 + bl BeginNormalPaletteFade + ldr r0, ._54 + 16 + bl SetVBlankCallback + ldr r0, ._54 + 20 + bl SetMainCallback2 + mov r1, #0x80 + lsl r1, r1, #0x13 + mov r2, #0x8a + lsl r2, r2, #0x5 + add r0, r2, #0 + strh r0, [r1] + ldr r0, ._54 + 24 + mov r1, #0x0 + bl CreateTask + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._54 + 28 + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + mov r0, #0xfc + strh r0, [r1, #0x8] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._55: + .align 2, 0 +._54: + .word gReservedSpritePaletteCount + .word gUnknown_Debug_20389EC + .word 0x4000208 + .word 0x4000200 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word debug_80C3A50+1 + .word gTasks + + thumb_func_end InitSizeComparison + + thumb_func_start debug_80C3A50 +debug_80C3A50: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xffffffd8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r1, ._56 + lsl r2, r0, #0x2 + add r0, r2, r0 + lsl r0, r0, #0x3 + add r7, r0, r1 + ldrh r0, [r7, #0x8] + str r0, [sp, #0x4] + bl NationalPokedexNumToSpecies + mov r1, sp + strh r0, [r1, #0x8] + add r2, r0, #0 + lsl r2, r2, #0x10 + str r2, [sp, #0xc] + lsr r2, r2, #0x10 + mov r9, r2 + ldr r3, ._56 + 4 + mov r8, r3 + mov r0, #0x6 + mov r1, #0x0 + mov r2, #0x17 + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x5 + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + ldr r5, ._56 + 8 + add r0, r5, #0 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + ldr r4, ._56 + 12 + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0x18 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + add r0, r5, #0 + mov r1, #0x19 + mov r2, #0x1 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x19 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0xa + mov r2, #0xb + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._56 + 16 + mov r1, #0x1 + mov r2, #0xb + bl Menu_PrintText + ldr r0, ._56 + 20 + mov r1, #0x1 + mov r2, #0xd + bl Menu_PrintText + ldr r0, ._56 + 24 + mov r1, #0x1 + mov r2, #0xf + bl Menu_PrintText + ldr r0, ._56 + 28 + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + mov r0, #0xc + mov r1, #0xa + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r0, ._56 + 32 + mov r1, #0xd + mov r2, #0xb + bl Menu_PrintText + ldr r0, ._56 + 36 + mov r1, #0xd + mov r2, #0xd + bl Menu_PrintText + mov r0, #0xc + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + ldr r0, ._56 + 40 + mov r1, #0xd + mov r2, #0x11 + bl Menu_PrintText + ldr r0, ._56 + 44 + mov r1, #0x18 + mov r2, #0x11 + bl Menu_PrintText + mov r0, r9 + mov r1, #0x12 + mov r2, #0x11 + bl debug_80C3800 + mov r1, r8 + ldrb r0, [r1, #0x8] + mov r1, #0x98 + mov r2, #0x28 + mov r3, #0x0 + bl sub_8091A4C + mov r2, sp + strh r0, [r2, #0x10] + add r3, r0, #0 + lsl r3, r3, #0x10 + str r3, [sp, #0x18] + lsr r0, r3, #0x10 + str r0, [sp, #0x14] + lsl r4, r0, #0x4 + add r4, r4, r0 + lsl r4, r4, #0x2 + ldr r1, ._56 + 48 + add r4, r4, r1 + ldrb r1, [r4, #0x1] + mov r2, #0x4 + neg r2, r2 + mov sl, r2 + mov r0, sl + and r0, r0, r1 + mov r3, #0x1 + orr r0, r0, r3 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x3] + mov r0, #0x3f + neg r0, r0 + mov r9, r0 + and r0, r0, r1 + mov r1, #0x4 + orr r0, r0, r1 + strb r0, [r4, #0x3] + ldrb r1, [r4, #0x5] + sub r2, r2, #0x9 + mov r8, r2 + mov r0, r8 + and r0, r0, r1 + mov r3, #0xf + and r0, r0, r3 + strb r0, [r4, #0x5] + mov r0, #0x0 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, ._56 + 52 + ldr r1, [sp, #0x4] + lsl r5, r1, #0x3 + add r5, r5, r1 + lsl r5, r5, #0x2 + add r5, r5, r0 + ldrh r6, [r5, #0x20] + strh r6, [r4, #0x26] + ldrh r4, [r5, #0x1e] + str r4, [sp] + mov r0, #0x2 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x0 + bl SetOamMatrix + mov r2, sp + ldrh r2, [r2, #0x14] + strh r2, [r7, #0xe] + strh r6, [r7, #0x10] + strh r4, [r7, #0x14] + ldr r0, [sp, #0x4] + mov r1, #0x58 + mov r2, #0x28 + mov r3, #0x1 + bl sub_80918EC + mov r3, sp + strh r0, [r3, #0x1c] + lsl r0, r0, #0x10 + str r0, [sp, #0x24] + lsr r1, r0, #0x10 + str r1, [sp, #0x20] + lsl r4, r1, #0x4 + add r4, r4, r1 + lsl r4, r4, #0x2 + ldr r2, ._56 + 48 + add r4, r4, r2 + ldrb r0, [r4, #0x1] + mov r3, sl + and r3, r3, r0 + mov r0, #0x1 + orr r3, r3, r0 + strb r3, [r4, #0x1] + ldrb r0, [r4, #0x3] + mov r1, r9 + and r1, r1, r0 + mov r0, #0x2 + orr r1, r1, r0 + strb r1, [r4, #0x3] + ldrb r0, [r4, #0x5] + mov r2, r8 + and r2, r2, r0 + mov r3, #0xf + and r2, r2, r3 + strb r2, [r4, #0x5] + mov r0, #0x0 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldrh r0, [r5, #0x1c] + mov r8, r0 + strh r0, [r4, #0x26] + ldrh r4, [r5, #0x1a] + str r4, [sp] + mov r0, #0x1 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x0 + bl SetOamMatrix + mov r1, sp + ldrh r1, [r1, #0x20] + strh r1, [r7, #0xc] + mov r2, r8 + strh r2, [r7, #0x12] + strh r4, [r7, #0x16] + mov r3, #0x0 + strh r3, [r7, #0x18] + strh r3, [r7, #0x1a] + ldr r1, ._56 + 56 + ldr r2, ._56 + 60 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1f + strh r0, [r1] + ldr r2, ._56 + 64 + mov r3, #0x18 + ldsh r1, [r7, r3] + lsl r1, r1, #0x6 + add r0, r1, #0 + add r0, r0, #0x38 + lsl r0, r0, #0x8 + add r1, r1, #0x78 + add r0, r0, r1 + strh r0, [r2] + ldr r1, ._56 + 68 + ldr r2, ._56 + 72 + add r0, r2, #0 + strh r0, [r1] + sub r1, r1, #0x2 + ldr r3, ._56 + 76 + add r0, r3, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._56 + 80 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0xa + mov r0, #0xe1 + strh r0, [r1] + ldr r0, ._56 + 84 + mov r3, #0x0 + strh r3, [r0] + add r1, r1, #0x4 + mov r0, #0x7 + strh r0, [r1] + mov r2, #0x80 + lsl r2, r2, #0x13 + ldrh r0, [r2] + mov r3, #0xc0 + lsl r3, r3, #0x7 + add r1, r3, #0 + orr r0, r0, r1 + strh r0, [r2] + ldr r0, ._56 + 88 + str r0, [r7] + add sp, sp, #0x28 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._57: + .align 2, 0 +._56: + .word gTasks + .word gSaveBlock2 + .word gUnknown_Debug_083F7FD6+0x4 + .word gUnknown_Debug_083F7FDE + .word gUnknown_Debug_083F7FE2 + .word gUnknown_Debug_083F7FED + .word gUnknown_Debug_083F7FF6 + .word gUnknown_Debug_083F8001 + .word gUnknown_Debug_083F800C + .word gUnknown_Debug_083F8019 + .word gUnknown_Debug_083F8022 + .word gUnknown_Debug_083F8028 + .word gSprites + .word gPokedexEntries + .word 0x4000048 + .word 0x3f1f + .word 0x4000040 + .word 0x4000044 + .word 0x848 + .word 0x31bf + .word 0x14f + .word 0x4000052 + .word debug_80C3D2C+1 + + thumb_func_end debug_80C3A50 + + thumb_func_start debug_80C3D2C +debug_80C3D2C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r7, r6, #0 + ldr r4, ._60 + ldrh r1, [r4, #0x2e] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._58 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._60 + 4 + bl SetMainCallback2 + ldr r1, ._60 + 8 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._60 + 12 + str r1, [r0] + b ._117 +._61: + .align 2, 0 +._60: + .word gMain + .word debug_80C370C+1 + .word gTasks + .word debug_80C373C+1 +._58: + mov r5, #0x1 + add r0, r5, #0 + and r0, r0, r1 + cmp r0, #0 + beq ._62 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._64 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldrh r1, [r0, #0x18] + mov r2, #0x1 + eor r1, r1, r2 + strh r1, [r0, #0x18] + b ._117 +._65: + .align 2, 0 +._64: + .word gTasks +._62: + ldrh r1, [r4, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._66 @cond_branch + ldr r1, ._70 + lsl r2, r6, #0x2 + add r0, r2, r6 + lsl r0, r0, #0x3 + add r3, r0, r1 + mov r5, #0x18 + ldsh r0, [r3, r5] + mov r8, r1 + cmp r0, #0 + beq ._67 @cond_branch + ldrh r1, [r4, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._68 @cond_branch + ldrh r0, [r3, #0x14] + add r0, r0, #0x10 + b ._69 +._71: + .align 2, 0 +._70: + .word gTasks +._68: + ldrh r0, [r3, #0x14] + add r0, r0, #0x1 +._69: + strh r0, [r3, #0x14] + add r0, r2, r7 + lsl r0, r0, #0x3 + mov r2, r8 + add r1, r0, r2 + ldrh r0, [r1, #0x14] + mov r6, #0x80 + lsl r6, r6, #0x8 + cmp r0, r6 + bhi ._72 @cond_branch + b ._117 +._72: + strh r6, [r1, #0x14] + b ._117 +._67: + ldrh r1, [r4, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._75 @cond_branch + ldrh r0, [r3, #0x16] + add r0, r0, #0x10 + b ._76 +._75: + ldrh r0, [r3, #0x16] + add r0, r0, #0x1 +._76: + strh r0, [r3, #0x16] + add r0, r2, r7 + lsl r0, r0, #0x3 + mov r4, r8 + add r1, r0, r4 + ldrh r0, [r1, #0x16] + mov r6, #0x80 + lsl r6, r6, #0x8 + cmp r0, r6 + bhi ._77 @cond_branch + b ._117 +._77: + strh r6, [r1, #0x16] + b ._117 +._66: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._80 @cond_branch + ldr r1, ._84 + lsl r2, r6, #0x2 + add r0, r2, r6 + lsl r0, r0, #0x3 + add r3, r0, r1 + mov r5, #0x18 + ldsh r0, [r3, r5] + mov r8, r1 + cmp r0, #0 + beq ._81 @cond_branch + ldrh r1, [r4, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._82 @cond_branch + ldrh r0, [r3, #0x14] + sub r0, r0, #0x10 + b ._83 +._85: + .align 2, 0 +._84: + .word gTasks +._82: + ldrh r0, [r3, #0x14] + sub r0, r0, #0x1 +._83: + strh r0, [r3, #0x14] + add r0, r2, r7 + lsl r0, r0, #0x3 + mov r2, r8 + add r1, r0, r2 + mov r4, #0x14 + ldsh r0, [r1, r4] + cmp r0, #0xff + ble ._86 @cond_branch + b ._117 +._86: + mov r0, #0x80 + lsl r0, r0, #0x1 + strh r0, [r1, #0x14] + b ._117 +._81: + ldrh r1, [r4, #0x2c] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._89 @cond_branch + ldrh r0, [r3, #0x16] + sub r0, r0, #0x10 + b ._90 +._89: + ldrh r0, [r3, #0x16] + sub r0, r0, #0x1 +._90: + strh r0, [r3, #0x16] + add r0, r2, r7 + lsl r0, r0, #0x3 + mov r5, r8 + add r1, r0, r5 + mov r2, #0x16 + ldsh r0, [r1, r2] + cmp r0, #0xff + ble ._91 @cond_branch + b ._117 +._91: + mov r0, #0x80 + lsl r0, r0, #0x1 + strh r0, [r1, #0x16] + b ._117 +._80: + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._94 @cond_branch + ldr r0, ._97 + lsl r1, r6, #0x2 + add r1, r1, r6 + lsl r1, r1, #0x3 + add r1, r1, r0 + mov r4, #0x18 + ldsh r0, [r1, r4] + cmp r0, #0 + beq ._95 @cond_branch + ldrh r0, [r1, #0x10] + sub r0, r0, #0x1 + strh r0, [r1, #0x10] + b ._117 +._98: + .align 2, 0 +._97: + .word gTasks +._95: + ldrh r0, [r1, #0x12] + sub r0, r0, #0x1 + strh r0, [r1, #0x12] + b ._117 +._94: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._100 @cond_branch + ldr r0, ._103 + lsl r1, r6, #0x2 + add r1, r1, r6 + lsl r1, r1, #0x3 + add r1, r1, r0 + mov r5, #0x18 + ldsh r0, [r1, r5] + cmp r0, #0 + beq ._101 @cond_branch + ldrh r0, [r1, #0x10] + add r0, r0, #0x1 + strh r0, [r1, #0x10] + b ._117 +._104: + .align 2, 0 +._103: + .word gTasks +._101: + ldrh r0, [r1, #0x12] + add r0, r0, #0x1 + strh r0, [r1, #0x12] + b ._117 +._100: + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + beq ._106 @cond_branch + ldr r2, ._109 + lsl r3, r6, #0x2 + add r0, r3, r6 + lsl r0, r0, #0x3 + add r6, r0, r2 + ldrh r4, [r6, #0x8] + mov r0, #0x8 + ldsh r1, [r6, r0] + ldr r0, ._109 + 4 + mov r8, r2 + add r2, r3, #0 + cmp r1, r0 + bgt ._107 @cond_branch + add r0, r4, #1 + strh r0, [r6, #0x8] + b ._108 +._110: + .align 2, 0 +._109: + .word gTasks + .word 0x181 +._107: + strh r5, [r6, #0x8] +._108: + add r4, r2, r7 + lsl r4, r4, #0x3 + add r4, r4, r8 + mov r2, #0xc + ldsh r1, [r4, r2] + b ._111 +._106: + mov r0, #0x4 + and r0, r0, r1 + cmp r0, #0 + beq ._112 @cond_branch + ldr r1, ._115 + lsl r2, r6, #0x2 + add r0, r2, r6 + lsl r0, r0, #0x3 + add r3, r0, r1 + ldrh r6, [r3, #0x8] + mov r4, #0x8 + ldsh r0, [r3, r4] + mov r8, r1 + cmp r0, #0x1 + ble ._113 @cond_branch + sub r0, r6, #1 + b ._114 +._116: + .align 2, 0 +._115: + .word gTasks +._113: + mov r0, #0xc1 + lsl r0, r0, #0x1 +._114: + strh r0, [r3, #0x8] + add r4, r2, r7 + lsl r4, r4, #0x3 + add r4, r4, r8 + mov r5, #0xc + ldsh r1, [r4, r5] +._111: + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r5, ._118 + add r0, r0, r5 + bl DestroySprite + mov r0, #0xe + ldsh r1, [r4, r0] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r5 + bl DestroySprite + ldr r0, ._118 + 4 + str r0, [r4] + b ._117 +._119: + .align 2, 0 +._118: + .word gSprites + .word debug_80C3A50+1 +._112: + ldr r0, ._120 + lsl r5, r7, #0x2 + add r5, r5, r7 + lsl r5, r5, #0x3 + add r5, r5, r0 + ldrh r4, [r5, #0x16] + ldrh r6, [r5, #0x12] + str r4, [sp] + mov r0, #0x1 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x0 + bl SetOamMatrix + add r0, r4, #0 + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x4 + bl debug_80C68CC + add r0, r6, #0 + mov r1, #0x1 + mov r2, #0x7 + mov r3, #0x4 + bl debug_80C68CC + ldr r2, ._120 + 4 + mov r8, r2 + mov r4, #0xc + ldsh r1, [r5, r4] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r8 + strh r6, [r0, #0x26] + ldrh r4, [r5, #0x14] + ldrh r6, [r5, #0x10] + str r4, [sp] + mov r0, #0x2 + add r1, r4, #0 + mov r2, #0x0 + mov r3, #0x0 + bl SetOamMatrix + add r0, r4, #0 + mov r1, #0x19 + mov r2, #0x3 + mov r3, #0x4 + bl debug_80C68CC + add r0, r6, #0 + mov r1, #0x19 + mov r2, #0x7 + mov r3, #0x4 + bl debug_80C68CC + mov r0, #0xe + ldsh r1, [r5, r0] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r8 + strh r6, [r0, #0x26] + ldr r2, ._120 + 8 + mov r4, #0x18 + ldsh r1, [r5, r4] + lsl r1, r1, #0x6 + add r0, r1, #0 + add r0, r0, #0x38 + lsl r0, r0, #0x8 + add r1, r1, #0x78 + add r0, r0, r1 + strh r0, [r2] +._117: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._121: + .align 2, 0 +._120: + .word gTasks + .word gSprites + .word 0x4000040 + + thumb_func_end debug_80C3D2C + + thumb_func_start debug_80C405C +debug_80C405C: + push {r4, r5, lr} + add r4, r0, #0 + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + mov r2, #0x0 + mov r1, #0x0 +._122: + add r0, r4, r2 + strb r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x9 + bls ._122 @cond_branch + add r0, r4, r2 + mov r1, #0xff + strb r1, [r0] + mov r0, #0xae + strb r0, [r4] + cmp r5, #0 + beq ._125 @cond_branch + mov r2, #0x0 + ldr r3, ._127 + mov r0, #0xb + add r1, r5, #0 + mul r1, r1, r0 + add r0, r1, r3 + ldrb r0, [r0] + cmp r0, #0xff + beq ._125 @cond_branch + add r5, r3, #0 + add r3, r1, #0 +._126: + add r1, r4, r2 + add r0, r2, r3 + add r0, r0, r5 + ldrb r0, [r0] + strb r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + add r0, r2, r3 + add r0, r0, r5 + ldrb r0, [r0] + cmp r0, #0xff + beq ._125 @cond_branch + cmp r2, #0x9 + bls ._126 @cond_branch +._125: + pop {r4, r5} + pop {r0} + bx r0 +._128: + .align 2, 0 +._127: + .word gSpeciesNames + + thumb_func_end debug_80C405C + + thumb_func_start debug_80C40C4 +debug_80C40C4: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + mov r5, #0x0 + mov r6, sp +._135: + cmp r7, #0 + beq ._129 @cond_branch + mov r0, #0x64 + add r1, r5, #0 + mul r1, r1, r0 + ldr r0, ._132 + add r4, r1, r0 + add r0, r4, #0 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._134 @cond_branch + add r0, r4, #0 + bl CalculateMonStats + add r0, r4, #0 + mov r1, #0x3a + bl GetMonData + strh r0, [r6] + add r0, r4, #0 + mov r1, #0x39 + mov r2, sp + bl SetMonData + b ._134 +._133: + .align 2, 0 +._132: + .word gEnemyParty +._129: + mov r0, #0x64 + add r1, r5, #0 + mul r1, r1, r0 + ldr r0, ._136 + add r4, r1, r0 + add r0, r4, #0 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._134 @cond_branch + add r0, r4, #0 + bl CalculateMonStats + add r0, r4, #0 + mov r1, #0x3a + bl GetMonData + strh r0, [r6] + add r0, r4, #0 + mov r1, #0x39 + mov r2, sp + bl SetMonData +._134: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._135 @cond_branch + add sp, sp, #0x4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._137: + .align 2, 0 +._136: + .word gPlayerParty + + thumb_func_end debug_80C40C4 + + thumb_func_start InitBattleForDebug +InitBattleForDebug: + push {lr} + bl SavePlayerParty + ldr r1, ._138 + ldr r0, ._138 + 4 + ldrb r2, [r0, #0x8] + mov r0, #0x0 + strb r2, [r1, #0xd] + strb r0, [r1] + strb r0, [r1, #0x1] + strb r0, [r1, #0x2] + strb r0, [r1, #0x3] + strb r0, [r1, #0x4] + strb r0, [r1, #0x5] + strb r0, [r1, #0x6] + strb r0, [r1, #0x7] + strb r0, [r1, #0x8] + strb r0, [r1, #0xc] + ldr r1, ._138 + 8 + str r0, [r1] + bl ZeroPlayerPartyMons + bl ZeroEnemyPartyMons + mov r0, #0x0 + bl debug_80C4214 + ldr r0, ._138 + 12 + mov r1, #0x0 + bl CreateTask + pop {r0} + bx r0 +._139: + .align 2, 0 +._138: + .word gUnknown_Debug_2038A0C + .word gSaveBlock2 + .word byte_3005E30 + .word debug_80C47BC+1 + + thumb_func_end InitBattleForDebug + + thumb_func_start debug_80C41A8 +debug_80C41A8: + push {lr} + ldr r1, ._140 + mov r0, #0x0 + strb r0, [r1, #0x1] + strb r0, [r1, #0x2] + bl ZeroPlayerPartyMons + bl ZeroEnemyPartyMons + mov r0, #0x0 + bl debug_80C4214 + ldr r0, ._140 + 4 + mov r1, #0x0 + bl CreateTask + pop {r0} + bx r0 +._141: + .align 2, 0 +._140: + .word gUnknown_Debug_2038A0C + .word debug_80C47BC+1 + + thumb_func_end debug_80C41A8 + + thumb_func_start debug_80C41D4 +debug_80C41D4: + push {lr} + mov r0, #0x0 + bl debug_80C40C4 + mov r0, #0x0 + bl debug_80C4214 + ldr r0, ._142 + mov r1, #0x0 + bl CreateTask + pop {r0} + bx r0 +._143: + .align 2, 0 +._142: + .word debug_80C42B8+1 + + thumb_func_end debug_80C41D4 + + thumb_func_start debug_80C41F4 +debug_80C41F4: + push {lr} + mov r0, #0x1 + bl debug_80C40C4 + mov r0, #0x1 + bl debug_80C4214 + ldr r0, ._144 + mov r1, #0x0 + bl CreateTask + pop {r0} + bx r0 +._145: + .align 2, 0 +._144: + .word debug_80C42B8+1 + + thumb_func_end debug_80C41F4 + + thumb_func_start debug_80C4214 +debug_80C4214: + push {r4, r5, r6, lr} + bl debug_80C35DC + ldr r6, ._146 + mov r4, #0x0 + strh r4, [r6] + ldr r5, ._146 + 4 + strh r4, [r5] + ldr r0, ._146 + 8 + strh r4, [r0] + add r0, r0, #0x4 + strh r4, [r0] + ldr r1, ._146 + 12 + ldr r2, ._146 + 16 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x2 + mov r0, #0x31 + strh r0, [r1] + add r1, r1, #0x6 + mov r0, #0xe1 + strh r0, [r1] + ldr r0, ._146 + 20 + strh r4, [r0] + add r1, r1, #0x4 + mov r0, #0x7 + strh r0, [r1] + ldr r3, ._146 + 24 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, ._146 + 28 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, ._146 + 32 + bl SetVBlankCallback + ldr r0, ._146 + 36 + bl SetMainCallback2 + mov r1, #0x80 + lsl r1, r1, #0x13 + ldr r2, ._146 + 40 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._146 + 44 + add r0, r1, #0 + strh r0, [r6] + ldr r2, ._146 + 48 + add r0, r2, #0 + strh r0, [r5] + pop {r4, r5, r6} + pop {r0} + bx r0 +._147: + .align 2, 0 +._146: + .word 0x4000040 + .word 0x4000044 + .word 0x4000042 + .word 0x4000048 + .word 0x1111 + .word 0x4000052 + .word 0x4000208 + .word 0x4000200 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word 0x7140 + .word 0x1ef + .word 0x819f + + thumb_func_end debug_80C4214 + + thumb_func_start debug_80C42B8 +debug_80C42B8: + push {r4, r5, lr} + add sp, sp, #0xffffffe4 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r1, ._150 + mov r0, sp + mov r2, #0xc + bl memcpy + add r4, sp, #0xc + ldr r1, ._150 + 4 + add r0, r4, #0 + mov r2, #0xd + bl memcpy + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x14 + mov r2, #0x11 + bl Menu_PrintText + bl debug_80C4694 + bl debug_80C4704 + ldr r0, ._150 + 8 + ldrb r0, [r0] + cmp r0, #0 + beq ._148 @cond_branch + ldr r0, ._150 + 12 + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._150 + 16 + b ._149 +._151: + .align 2, 0 +._150: + .word gUnknown_Debug_083F8194 + .word gUnknown_Debug_083F81A0 + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C44EC+1 +._148: + ldr r0, ._152 + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._152 + 4 +._149: + str r0, [r1] + add sp, sp, #0x1c + pop {r4, r5} + pop {r0} + bx r0 +._153: + .align 2, 0 +._152: + .word gTasks + .word debug_80C4348+1 + + thumb_func_end debug_80C42B8 + + thumb_func_start debug_80C4348 +debug_80C4348: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._154 + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._154 + 4 + ldr r2, ._154 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + add r2, r2, #0x8 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._154 + 12 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._154 + 16 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._155: + .align 2, 0 +._154: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x177 + .word gTasks + .word debug_80C43A8+1 + + thumb_func_end debug_80C4348 + + thumb_func_start debug_80C43A8 +debug_80C43A8: + push {r4, r5, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r1, ._158 + ldrh r2, [r1, #0x2e] + mov r0, #0x1 + and r0, r0, r2 + add r3, r1, #0 + cmp r0, #0 + beq ._156 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r0, ._158 + 4 + ldrb r1, [r0, #0x1] + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._158 + 8 + add r0, r0, r1 + ldr r1, ._158 + 12 + bl debug_sub_80A433C + add r0, r4, #0 + bl DestroyTask + b ._180 +._159: + .align 2, 0 +._158: + .word gMain + .word gUnknown_Debug_2038A0C + .word gPlayerParty + .word debug_80C41D4+1 +._156: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._160 @cond_branch + ldr r0, ._162 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._162 + 4 + str r0, [r1] + b ._180 +._163: + .align 2, 0 +._162: + .word gTasks + .word debug_80C4F48+1 +._160: + mov r0, #0x8 + and r0, r0, r2 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0 + beq ._164 @cond_branch + bl debug_80C4774 + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._180 @cond_branch + mov r0, #0x5 + bl PlaySE + bl CalculatePlayerPartyCount + bl CalculateEnemyPartyCount + ldr r0, ._167 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._167 + 4 + str r0, [r1] + b ._180 +._168: + .align 2, 0 +._167: + .word gTasks + .word debug_80C4D14+1 +._164: + mov r0, #0x88 + lsl r0, r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._169 @cond_branch + str r1, [sp] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r0, ._171 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._171 + 4 + str r0, [r1] + b ._180 +._172: + .align 2, 0 +._171: + .word gTasks + .word debug_80C44EC+1 +._169: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._174 @cond_branch + ldr r1, ._176 + ldrb r0, [r1, #0x1] + cmp r0, #0 + beq ._174 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1, #0x1] + b ._175 +._177: + .align 2, 0 +._176: + .word gUnknown_Debug_2038A0C +._174: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._180 @cond_branch + ldr r5, ._181 + ldrb r0, [r5, #0x1] + cmp r0, #0x4 + bhi ._180 @cond_branch + add r1, r0, #0 + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._181 + 4 + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._180 @cond_branch + ldrb r0, [r5, #0x1] + add r0, r0, #0x1 + strb r0, [r5, #0x1] +._175: + ldr r1, ._181 + 8 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._181 + 12 + str r1, [r0] +._180: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._182: + .align 2, 0 +._181: + .word gUnknown_Debug_2038A0C + .word gPlayerParty + .word gTasks + .word debug_80C4348+1 + + thumb_func_end debug_80C43A8 + + thumb_func_start debug_80C44EC +debug_80C44EC: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._183 + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r1, #0x10 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._183 + 4 + ldr r2, ._183 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._183 + 12 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._183 + 16 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._183 + 20 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._184: + .align 2, 0 +._183: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x79ef + .word 0x17f + .word gTasks + .word debug_80C4550+1 + + thumb_func_end debug_80C44EC + + thumb_func_start debug_80C4550 +debug_80C4550: + push {r4, r5, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r1, ._187 + ldrh r2, [r1, #0x2e] + mov r0, #0x1 + and r0, r0, r2 + add r3, r1, #0 + cmp r0, #0 + beq ._185 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r0, ._187 + 4 + ldrb r1, [r0, #0x2] + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._187 + 8 + add r0, r0, r1 + ldr r1, ._187 + 12 + bl debug_sub_80A433C + add r0, r4, #0 + bl DestroyTask + b ._209 +._188: + .align 2, 0 +._187: + .word gMain + .word gUnknown_Debug_2038A0C + .word gEnemyParty + .word debug_80C41F4+1 +._185: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._189 @cond_branch + ldr r0, ._191 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._191 + 4 + str r0, [r1] + b ._209 +._192: + .align 2, 0 +._191: + .word gTasks + .word debug_80C4F48+1 +._189: + mov r0, #0x8 + and r0, r0, r2 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0 + beq ._193 @cond_branch + bl debug_80C4774 + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._209 @cond_branch + mov r0, #0x5 + bl PlaySE + bl CalculatePlayerPartyCount + bl CalculateEnemyPartyCount + ldr r0, ._196 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._196 + 4 + str r0, [r1] + b ._209 +._197: + .align 2, 0 +._196: + .word gTasks + .word debug_80C4D14+1 +._193: + mov r0, #0x88 + lsl r0, r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._198 @cond_branch + str r1, [sp] + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r0, ._200 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._200 + 4 + str r0, [r1] + b ._209 +._201: + .align 2, 0 +._200: + .word gTasks + .word debug_80C4348+1 +._198: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._203 @cond_branch + ldr r1, ._205 + ldrb r0, [r1, #0x2] + cmp r0, #0 + beq ._203 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1, #0x2] + b ._204 +._206: + .align 2, 0 +._205: + .word gUnknown_Debug_2038A0C +._203: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._209 @cond_branch + ldr r5, ._210 + ldrb r0, [r5, #0x2] + cmp r0, #0x4 + bhi ._209 @cond_branch + add r1, r0, #0 + mov r0, #0x64 + mul r0, r0, r1 + ldr r1, ._210 + 4 + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._209 @cond_branch + ldrb r0, [r5, #0x2] + add r0, r0, #0x1 + strb r0, [r5, #0x2] +._204: + ldr r1, ._210 + 8 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._210 + 12 + str r1, [r0] +._209: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._211: + .align 2, 0 +._210: + .word gUnknown_Debug_2038A0C + .word gEnemyParty + .word gTasks + .word debug_80C44EC+1 + + thumb_func_end debug_80C4550 + + thumb_func_start debug_80C4694 +debug_80C4694: + push {r4, r5, lr} + add sp, sp, #0xffffffe4 + ldr r1, ._213 + mov r0, sp + mov r2, #0xd + bl memcpy + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xf + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + mov r4, #0x0 + add r5, sp, #0x10 +._212: + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._213 + 4 + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r5, #0 + bl debug_80C405C + lsl r2, r4, #0x19 + mov r0, #0xc0 + lsl r0, r0, #0x12 + add r2, r2, r0 + lsr r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0x2 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._212 @cond_branch + add sp, sp, #0x1c + pop {r4, r5} + pop {r0} + bx r0 +._214: + .align 2, 0 +._213: + .word gUnknown_Debug_083F81AD + .word gPlayerParty + + thumb_func_end debug_80C4694 + + thumb_func_start debug_80C4704 +debug_80C4704: + push {r4, r5, lr} + add sp, sp, #0xffffffe4 + ldr r1, ._216 + mov r0, sp + mov r2, #0xd + bl memcpy + mov r0, #0xf + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x11 + mov r2, #0x1 + bl Menu_PrintText + mov r4, #0x0 + add r5, sp, #0x10 +._215: + mov r0, #0x64 + mul r0, r0, r4 + ldr r1, ._216 + 4 + add r0, r0, r1 + mov r1, #0xb + bl GetMonData + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r5, #0 + bl debug_80C405C + lsl r2, r4, #0x19 + mov r0, #0xc0 + lsl r0, r0, #0x12 + add r2, r2, r0 + lsr r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0x11 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._215 @cond_branch + add sp, sp, #0x1c + pop {r4, r5} + pop {r0} + bx r0 +._217: + .align 2, 0 +._216: + .word gUnknown_Debug_083F81BA + .word gEnemyParty + + thumb_func_end debug_80C4704 + + thumb_func_start debug_80C4774 +debug_80C4774: + push {r4, lr} + ldr r0, ._221 + ldrb r0, [r0, #0xc] + sub r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x64 + add r4, r0, #0 + mul r4, r4, r1 + ldr r0, ._221 + 4 + add r0, r4, r0 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._219 @cond_branch + ldr r0, ._221 + 8 + add r0, r4, r0 + mov r1, #0xb + bl GetMonData + cmp r0, #0 + beq ._219 @cond_branch + mov r0, #0x1 + b ._220 +._222: + .align 2, 0 +._221: + .word gUnknown_Debug_2038A0C + .word gPlayerParty + .word gEnemyParty +._219: + mov r0, #0x0 +._220: + pop {r4} + pop {r1} + bx r1 + + thumb_func_end debug_80C4774 + + thumb_func_start debug_80C47BC +debug_80C47BC: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xffffffc0 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r1, ._224 + mov r0, sp + mov r2, #0xf + bl memcpy + add r4, sp, #0x10 + ldr r1, ._224 + 4 + add r0, r4, #0 + mov r2, #0xd + bl memcpy + add r6, sp, #0x20 + ldr r1, ._224 + 8 + add r0, r6, #0 + mov r2, #0xf + bl memcpy + add r5, sp, #0x30 + ldr r1, ._224 + 12 + add r0, r5, #0 + mov r2, #0x10 + bl memcpy + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0x14 + mov r2, #0x11 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xf + bl Menu_DrawStdWindowFrame + add r0, r6, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + mov r4, #0x0 + ldr r6, ._224 + 16 +._223: + lsl r0, r4, #0x3 + add r0, r0, r6 + ldr r0, [r0] + lsl r2, r4, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r2, r2, r1 + lsr r2, r2, #0x18 + mov r1, #0x2 + bl Menu_PrintText + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + bls ._223 @cond_branch + mov r0, #0xf + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + add r0, r5, #0 + mov r1, #0x11 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._224 + 20 + ldrb r0, [r0, #0x4] + bl debug_80C4C44 + ldr r1, ._224 + 24 + lsl r0, r7, #0x2 + add r0, r0, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._224 + 28 + str r1, [r0] + add sp, sp, #0x40 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._225: + .align 2, 0 +._224: + .word gUnknown_Debug_083F81C7 + .word gUnknown_Debug_083F81A0 + .word gUnknown_Debug_083F81D6 + .word gUnknown_Debug_083F81E5 + .word gUnknown_Debug_083F8068 + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C48A0+1 + + thumb_func_end debug_80C47BC + + thumb_func_start debug_80C48A0 +debug_80C48A0: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._226 + ldrb r0, [r0, #0x3] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._226 + 4 + ldr r2, ._226 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + add r2, r2, #0x8 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._226 + 12 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._226 + 16 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._227: + .align 2, 0 +._226: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x177 + .word gTasks + .word debug_80C4900+1 + + thumb_func_end debug_80C48A0 + + thumb_func_start debug_80C4900 +debug_80C4900: + push {r4, r5, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r1, ._230 + ldrh r2, [r1, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r3, r1, #0 + cmp r4, #0 + beq ._228 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + mov r4, #0x0 + str r4, [sp] + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._230 + 4 + bl SetMainCallback2 + bl LoadPlayerParty + ldr r1, ._230 + 8 + ldr r0, ._230 + 12 + ldrb r0, [r0, #0xd] + strb r0, [r1, #0x8] + ldr r0, ._230 + 16 + mov r1, #0x0 + strh r4, [r0] + ldr r0, ._230 + 20 + strb r1, [r0] + ldr r1, ._230 + 24 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._230 + 28 + b ._229 +._231: + .align 2, 0 +._230: + .word gMain + .word debug_80C370C+1 + .word gSaveBlock2 + .word gUnknown_Debug_2038A0C + .word gBattleTypeFlags + .word gUnknown_02023A14_50 + .word gTasks + .word debug_80C373C+1 +._228: + mov r0, #0x8 + and r0, r0, r2 + cmp r0, #0 + bne ._232 @cond_branch + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._233 @cond_branch +._232: + mov r0, #0x5 + bl PlaySE + ldr r1, ._236 + ldr r3, ._236 + 4 + ldr r2, ._236 + 8 + ldrb r0, [r2, #0x3] + lsl r0, r0, #0x3 + add r0, r0, r3 + ldrb r0, [r0, #0x4] + strh r0, [r1] + ldr r1, ._236 + 12 + mov r0, #0x8 + strb r0, [r1] + ldrb r0, [r2, #0x3] + lsl r0, r0, #0x3 + add r0, r0, r3 + ldrb r0, [r0, #0x5] + strb r0, [r2, #0xc] + ldrb r0, [r2, #0x3] + sub r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bhi ._234 @cond_branch + str r4, [sp] + mov r0, #0x0 + mov r1, #0x1 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r0, ._236 + 16 + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._236 + 20 + str r0, [r1] + b ._247 +._237: + .align 2, 0 +._236: + .word gBattleTypeFlags + .word gUnknown_Debug_083F8068 + .word gUnknown_Debug_2038A0C + .word gUnknown_02023A14_50 + .word gTasks + .word debug_80C4A60+1 +._234: + ldr r0, ._239 + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._239 + 4 + str r0, [r1] + b ._247 +._240: + .align 2, 0 +._239: + .word gTasks + .word debug_80C4F48+1 +._233: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._242 @cond_branch + ldr r1, ._244 + ldrb r0, [r1, #0x3] + cmp r0, #0 + beq ._242 @cond_branch + sub r0, r0, #0x1 + b ._243 +._245: + .align 2, 0 +._244: + .word gUnknown_Debug_2038A0C +._242: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._247 @cond_branch + ldr r1, ._248 + ldrb r0, [r1, #0x3] + cmp r0, #0x1 + bhi ._247 @cond_branch + add r0, r0, #0x1 +._243: + strb r0, [r1, #0x3] + ldr r1, ._248 + 4 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._248 + 8 +._229: + str r1, [r0] +._247: + add sp, sp, #0x4 + pop {r4, r5} + pop {r0} + bx r0 +._249: + .align 2, 0 +._248: + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C48A0+1 + + thumb_func_end debug_80C4900 + + thumb_func_start debug_80C4A60 +debug_80C4A60: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._250 + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r1, #0x10 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._250 + 4 + ldr r2, ._250 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._250 + 12 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._250 + 16 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._250 + 20 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._251: + .align 2, 0 +._250: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x79ef + .word 0x17f + .word gTasks + .word debug_80C4AC4+1 + + thumb_func_end debug_80C4A60 + + thumb_func_start debug_80C4AC4 +debug_80C4AC4: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r7, ._255 + ldrb r0, [r7, #0x4] + mov ip, r0 + ldrb r5, [r7, #0x5] + mov r1, ip + add r0, r1, r5 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r2, ._255 + 4 + mov r8, r2 + ldrh r2, [r2, #0x2e] + mov r3, #0x1 + and r3, r3, r2 + add r4, r7, #0 + cmp r3, #0 + beq ._252 @cond_branch + ldr r0, ._255 + 8 + lsl r1, r1, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r1, [r1] + ldr r3, ._255 + 12 + ldr r2, [r3] + add r0, r2, #0 + and r0, r0, r1 + cmp r0, #0 + beq ._253 @cond_branch + ldr r0, ._255 + 16 + eor r1, r1, r0 + and r2, r2, r1 + b ._254 +._256: + .align 2, 0 +._255: + .word gUnknown_Debug_2038A0C + .word gMain + .word gUnknown_Debug_083F80D8 + .word byte_3005E30 + .word 0xffff +._253: + orr r2, r2, r1 +._254: + str r2, [r3] + ldrb r0, [r4, #0x4] + bl debug_80C4C44 + ldr r1, ._258 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._258 + 4 + str r1, [r0] + b ._274 +._259: + .align 2, 0 +._258: + .word gTasks + .word debug_80C4A60+1 +._252: + mov r0, #0x2 + and r0, r0, r2 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0 + beq ._260 @cond_branch + str r3, [sp] + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r0, ._262 + lsl r1, r6, #0x2 + add r1, r1, r6 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._262 + 4 + b ._261 +._263: + .align 2, 0 +._262: + .word gTasks + .word debug_80C48A0+1 +._260: + mov r0, #0x8 + and r0, r0, r2 + cmp r0, #0 + beq ._264 @cond_branch + mov r0, #0x5 + bl PlaySE + ldr r1, ._266 + mov r2, #0x80 + lsl r2, r2, #0x3 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._266 + 4 + ldrb r2, [r1, #0x1] + mov r0, #0x11 + neg r0, r0 + and r0, r0, r2 + strb r0, [r1, #0x1] + mov r0, #0xac + strb r0, [r1, #0x2] + mov r0, #0xff + strb r0, [r1, #0x3] + strb r4, [r1, #0x9] + strb r4, [r1, #0xa] + strb r4, [r1, #0xb] + strb r4, [r1, #0xc] + ldr r1, ._266 + 8 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._266 + 12 + str r1, [r0] + b ._274 +._267: + .align 2, 0 +._266: + .word gTrainerBattleOpponent + .word +0x2017000 + .word gTasks + .word debug_80C4F48+1 +._264: + mov r0, r8 + ldrh r1, [r0, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._268 @cond_branch + lsl r0, r5, #0x18 + cmp r0, #0 + beq ._269 @cond_branch + sub r0, r5, #1 + strb r0, [r7, #0x5] + b ._277 +._269: + mov r1, ip + lsl r0, r1, #0x18 + cmp r0, #0 + beq ._277 @cond_branch + mov r0, ip + sub r0, r0, #0x1 + b ._272 +._268: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._274 @cond_branch + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x8 + bhi ._274 @cond_branch + cmp r0, #0x4 + bhi ._275 @cond_branch + add r0, r5, #1 + strb r0, [r7, #0x5] + b ._277 +._275: + mov r2, ip + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x3 + bhi ._277 @cond_branch + mov r0, ip + add r0, r0, #0x1 +._272: + strb r0, [r7, #0x4] + ldrb r0, [r7, #0x4] + bl debug_80C4C44 +._277: + ldr r0, ._278 + lsl r1, r6, #0x2 + add r1, r1, r6 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._278 + 4 +._261: + str r0, [r1] +._274: + add sp, sp, #0x4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._279: + .align 2, 0 +._278: + .word gTasks + .word debug_80C4A60+1 + + thumb_func_end debug_80C4AC4 + + thumb_func_start debug_80C4C44 +debug_80C4C44: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffff0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov sl, r0 + mov r2, #0x0 + mov r5, sp +._290: + mov r0, sl + add r6, r2, r0 + add r4, r6, #0 + add r1, r2, #1 + mov r8, r1 + cmp r4, #0x9 + bgt ._280 @cond_branch + mov r3, #0x0 + ldr r1, ._288 + lsl r0, r4, #0x3 + add r0, r0, r1 + ldr r0, [r0] + ldrb r0, [r0] + ldr r7, ._288 + 4 + mov r9, r7 + lsl r2, r2, #0x1 + mov ip, r2 + cmp r0, #0xff + beq ._282 @cond_branch + add r7, r1, #0 +._283: + add r0, r3, #3 + mov r1, sp + add r2, r1, r0 + lsl r1, r6, #0x3 + add r1, r1, r7 + ldr r0, [r1] + add r0, r0, r3 + ldrb r0, [r0] + strb r0, [r2] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + ldr r0, [r1] + add r0, r0, r3 + ldrb r0, [r0] + cmp r0, #0xff + beq ._282 @cond_branch + cmp r3, #0xb + bls ._283 @cond_branch +._282: + cmp r3, #0xb + bhi ._284 @cond_branch + mov r1, #0x0 +._285: + add r0, r3, #3 + add r0, r0, sp + strb r1, [r0] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0xb + bls ._285 @cond_branch +._284: + mov r0, #0xff + strb r0, [r5, #0xe] + mov r0, #0xfc + strb r0, [r5] + mov r2, #0x1 + strb r2, [r5, #0x1] + add r1, r2, #0 + LSL r1, r4 + mov r3, r9 + ldr r0, [r3] + and r0, r0, r1 + cmp r0, #0 + beq ._286 @cond_branch + mov r0, #0x3 + strb r0, [r5, #0x2] + b ._287 +._289: + .align 2, 0 +._288: + .word gUnknown_Debug_083F80D8 + .word byte_3005E30 +._286: + strb r2, [r5, #0x2] +._287: + mov r2, ip + add r2, r2, #0x3 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x11 + bl Menu_PrintText +._280: + mov r7, r8 + lsl r0, r7, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x5 + bls ._290 @cond_branch + add sp, sp, #0x10 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_80C4C44 + + thumb_func_start debug_80C4D14 +debug_80C4D14: + push {r4, r5, r6, lr} + add sp, sp, #0xffffffd0 + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r1, ._291 + mov r0, sp + mov r2, #0xf + bl memcpy + add r5, sp, #0x10 + ldr r1, ._291 + 4 + add r0, r5, #0 + mov r2, #0xd + bl memcpy + add r6, sp, #0x20 + ldr r1, ._291 + 8 + add r0, r6, #0 + mov r2, #0xf + bl memcpy + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + add r0, r5, #0 + mov r1, #0x14 + mov r2, #0x11 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xf + bl Menu_DrawStdWindowFrame + add r0, r6, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._291 + 12 + ldrb r0, [r0, #0x6] + bl debug_80C4F00 + mov r0, #0xf + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r1, ._291 + 16 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._291 + 20 + str r1, [r0] + add sp, sp, #0x30 + pop {r4, r5, r6} + pop {r0} + bx r0 +._292: + .align 2, 0 +._291: + .word gUnknown_Debug_083F81C7 + .word gUnknown_Debug_083F81F5 + .word gUnknown_Debug_083F8202 + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C4DB8+1 + + thumb_func_end debug_80C4D14 + + thumb_func_start debug_80C4DB8 +debug_80C4DB8: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._293 + ldrb r0, [r0, #0x7] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._293 + 4 + ldr r2, ._293 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + add r2, r2, #0x8 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._293 + 12 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._293 + 16 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._294: + .align 2, 0 +._293: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x177 + .word gTasks + .word debug_80C4E18+1 + + thumb_func_end debug_80C4DB8 + + thumb_func_start debug_80C4E18 +debug_80C4E18: + push {r4, r5, r6, r7, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r5, ._297 + ldrb r3, [r5, #0x6] + ldrb r2, [r5, #0x7] + add r0, r3, r2 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r7, ._297 + 4 + ldrh r1, [r7, #0x2e] + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._295 @cond_branch + ldr r0, ._297 + 8 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._297 + 12 + b ._296 +._298: + .align 2, 0 +._297: + .word gUnknown_Debug_2038A0C + .word gMain + .word gTasks + .word debug_80C42B8+1 +._295: + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + bne ._299 @cond_branch + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._300 @cond_branch +._299: + mov r0, #0x5 + bl PlaySE + ldr r2, ._302 + ldr r1, ._302 + 4 + lsl r0, r6, #0x3 + add r0, r0, r1 + ldrb r0, [r0, #0x4] + strb r0, [r2] + ldr r1, ._302 + 8 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._302 + 12 + str r1, [r0] + b ._310 +._303: + .align 2, 0 +._302: + .word gBattleTerrain + .word gUnknown_Debug_083F814C + .word gTasks + .word debug_80C5158+1 +._300: + ldrh r1, [r7, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._304 @cond_branch + lsl r0, r2, #0x18 + cmp r0, #0 + beq ._305 @cond_branch + sub r0, r2, #1 + strb r0, [r5, #0x7] + b ._313 +._305: + lsl r0, r3, #0x18 + cmp r0, #0 + beq ._313 @cond_branch + sub r0, r3, #1 + b ._308 +._304: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._310 @cond_branch + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x7 + bhi ._310 @cond_branch + cmp r0, #0x4 + bhi ._311 @cond_branch + add r0, r2, #1 + strb r0, [r5, #0x7] + b ._313 +._311: + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x2 + bhi ._313 @cond_branch + add r0, r3, #1 +._308: + strb r0, [r5, #0x6] + ldrb r0, [r5, #0x6] + bl debug_80C4F00 +._313: + ldr r0, ._314 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._314 + 4 +._296: + str r0, [r1] +._310: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._315: + .align 2, 0 +._314: + .word gTasks + .word debug_80C4DB8+1 + + thumb_func_end debug_80C4E18 + + thumb_func_start debug_80C4F00 +debug_80C4F00: + push {r4, r5, r6, lr} + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + mov r0, #0x1 + mov r1, #0x3 + mov r2, #0xd + mov r3, #0xe + bl Menu_BlankWindowRect + mov r4, #0x0 + ldr r6, ._318 +._317: + cmp r4, #0x8 + bhi ._316 @cond_branch + add r0, r4, r5 + lsl r0, r0, #0x3 + add r0, r0, r6 + ldr r0, [r0] + lsl r2, r4, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r2, r2, r1 + lsr r2, r2, #0x18 + mov r1, #0x2 + bl Menu_PrintText +._316: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + bls ._317 @cond_branch + pop {r4, r5, r6} + pop {r0} + bx r0 +._319: + .align 2, 0 +._318: + .word gUnknown_Debug_083F814C + + thumb_func_end debug_80C4F00 + + thumb_func_start debug_80C4F48 +debug_80C4F48: + push {r4, r5, r6, lr} + mov r6, r9 + mov r5, r8 + push {r5, r6} + add sp, sp, #0xffffffc4 + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r1, ._320 + mov r0, sp + mov r2, #0x11 + bl memcpy + add r6, sp, #0x14 + ldr r1, ._320 + 4 + add r0, r6, #0 + mov r2, #0xd + bl memcpy + add r5, sp, #0x24 + ldr r1, ._320 + 8 + add r0, r5, #0 + mov r2, #0xd + bl memcpy + add r0, sp, #0x34 + mov r9, r0 + ldr r1, ._320 + 12 + mov r2, #0x4 + bl memcpy + add r0, sp, #0x38 + mov r8, r0 + ldr r1, ._320 + 16 + mov r2, #0x4 + bl memcpy + mov r0, #0x0 + mov r1, #0x10 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, sp + mov r1, #0x1 + mov r2, #0x11 + bl Menu_PrintText + add r0, r6, #0 + mov r1, #0x14 + mov r2, #0x11 + bl Menu_PrintText + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xf + bl Menu_DrawStdWindowFrame + add r0, r5, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + mov r0, #0x1 + mov r1, #0x3 + mov r2, #0xd + mov r3, #0xe + bl Menu_BlankWindowRect + add r0, r5, #0 + mov r1, #0x2 + mov r2, #0x1 + bl Menu_PrintText + mov r0, r9 + mov r1, #0x2 + mov r2, #0x3 + bl Menu_PrintText + mov r0, r8 + mov r1, #0x2 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0xf + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0xf + bl Menu_DrawStdWindowFrame + ldr r1, ._320 + 20 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._320 + 24 + str r1, [r0] + add sp, sp, #0x3c + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._321: + .align 2, 0 +._320: + .word gUnknown_Debug_083F8211 + .word gUnknown_Debug_083F81A0 + .word gUnknown_Debug_083F8222 + .word gUnknown_Debug_083F822F + .word gUnknown_Debug_083F8233 + .word gTasks + .word debug_80C5038+1 + + thumb_func_end debug_80C4F48 + + thumb_func_start debug_80C5038 +debug_80C5038: + push {r4, lr} + add sp, sp, #0xfffffffc + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + ldr r0, ._322 + ldrb r0, [r0, #0x8] + lsl r0, r0, #0x19 + mov r1, #0xc0 + lsl r1, r1, #0x12 + add r0, r0, r1 + lsr r0, r0, #0x18 + mov r1, #0x1 + str r1, [sp] + mov r2, #0x1 + mov r3, #0xe + bl debug_80C38E4 + ldr r1, ._322 + 4 + ldr r2, ._322 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + add r2, r2, #0x8 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._322 + 12 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._322 + 16 + str r1, [r0] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._323: + .align 2, 0 +._322: + .word gUnknown_Debug_2038A0C + .word 0x4000042 + .word 0x177 + .word gTasks + .word debug_80C5098+1 + + thumb_func_end debug_80C5038 + + thumb_func_start debug_80C5098 +debug_80C5098: + push {r4, lr} + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r1, ._326 + ldrh r2, [r1, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + add r3, r1, #0 + cmp r0, #0 + beq ._324 @cond_branch + ldr r0, ._326 + 4 + lsl r1, r4, #0x2 + add r1, r1, r4 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._326 + 8 + str r0, [r1] + b ._339 +._327: + .align 2, 0 +._326: + .word gMain + .word gTasks + .word debug_80C47BC+1 +._324: + mov r0, #0x8 + and r0, r0, r2 + cmp r0, #0 + bne ._328 @cond_branch + mov r0, #0x1 + and r0, r0, r2 + cmp r0, #0 + beq ._329 @cond_branch +._328: + mov r0, #0x5 + bl PlaySE + ldr r1, ._331 + ldr r0, ._331 + 4 + ldrb r0, [r0, #0x8] + strb r0, [r1, #0x8] + ldr r1, ._331 + 8 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._331 + 12 + b ._330 +._332: + .align 2, 0 +._331: + .word gSaveBlock2 + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C42B8+1 +._329: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._334 @cond_branch + ldr r1, ._336 + ldrb r0, [r1, #0x8] + cmp r0, #0 + beq ._334 @cond_branch + sub r0, r0, #0x1 + b ._335 +._337: + .align 2, 0 +._336: + .word gUnknown_Debug_2038A0C +._334: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._339 @cond_branch + ldr r1, ._340 + ldrb r0, [r1, #0x8] + cmp r0, #0 + bne ._339 @cond_branch + add r0, r0, #0x1 +._335: + strb r0, [r1, #0x8] + ldr r1, ._340 + 4 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._340 + 8 +._330: + str r1, [r0] +._339: + pop {r4} + pop {r0} + bx r0 +._341: + .align 2, 0 +._340: + .word gUnknown_Debug_2038A0C + .word gTasks + .word debug_80C5038+1 + + thumb_func_end debug_80C5098 + + thumb_func_start debug_80C5158 +debug_80C5158: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._342 + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._342 + 4 + str r0, [r1] + bx lr +._343: + .align 2, 0 +._342: + .word gTasks + .word debug_80C5174+1 + + thumb_func_end debug_80C5158 + + thumb_func_start debug_80C5174 +debug_80C5174: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._344 + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._344 + 4 + str r0, [r1] + bx lr +._345: + .align 2, 0 +._344: + .word gTasks + .word debug_80C5190+1 + + thumb_func_end debug_80C5174 + + thumb_func_start debug_80C5190 +debug_80C5190: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._346 + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._346 + 4 + str r0, [r1] + bx lr +._347: + .align 2, 0 +._346: + .word gTasks + .word debug_80C51AC+1 + + thumb_func_end debug_80C5190 + + thumb_func_start debug_80C51AC +debug_80C51AC: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._348 + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._348 + 4 + str r0, [r1] + bx lr +._349: + .align 2, 0 +._348: + .word gTasks + .word debug_80C51C8+1 + + thumb_func_end debug_80C51AC + + thumb_func_start debug_80C51C8 +debug_80C51C8: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._350 + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._350 + 4 + str r0, [r1] + bx lr +._351: + .align 2, 0 +._350: + .word gTasks + .word debug_80C51E4+1 + + thumb_func_end debug_80C51C8 + + thumb_func_start debug_80C51E4 +debug_80C51E4: + push {lr} + bl sub_80408BC + ldr r0, ._352 + ldr r1, ._352 + 4 + str r1, [r0, #0x8] + ldr r0, ._352 + 8 + bl SetMainCallback2 + pop {r0} + bx r0 +._353: + .align 2, 0 +._352: + .word gMain + .word debug_80C41A8+1 + .word unref_sub_800D684+1 + + thumb_func_end debug_80C51E4 + + thumb_func_start debug_80C5208 +debug_80C5208: + push {r4, r5, r6, lr} + ldr r1, ._355 + ldr r0, ._355 + 4 + str r0, [r1] + mov r3, #0x0 + add r6, r1, #0 + ldr r4, ._355 + 8 + add r5, r6, #0 + mov r2, #0x0 +._354: + ldr r0, [r5] + lsl r1, r3, #0x2 + add r0, r0, #0x64 + add r0, r0, r1 + str r2, [r0] + add r0, r3, #1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0x3f + bls ._354 @cond_branch + ldr r2, [r6] + mov r0, #0xfc + str r0, [r2, #0x64] + ldrb r1, [r4, #0xa] + ldrb r0, [r4, #0xb] + lsl r0, r0, #0x8 + orr r1, r1, r0 + ldrb r0, [r4, #0xc] + lsl r0, r0, #0x10 + orr r1, r1, r0 + ldrb r0, [r4, #0xd] + lsl r0, r0, #0x18 + orr r1, r1, r0 + str r1, [r2, #0x70] + bl Random + add r4, r0, #0 + bl Random + ldr r1, [r6] + lsl r4, r4, #0x10 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + orr r4, r4, r0 + str r4, [r1, #0x74] + mov r0, #0x1 + str r0, [r1, #0x68] + str r0, [r1, #0x6c] + bl debug_80C5C94 + pop {r4, r5, r6} + pop {r0} + bx r0 +._356: + .align 2, 0 +._355: + .word gUnknown_Debug_2038A1C + .word +0x2018000 + .word gSaveBlock2 + + thumb_func_end debug_80C5208 + + thumb_func_start debug_80C527C +debug_80C527C: + push {r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r5, #0x0 + ldr r7, ._359 +._361: + mov r0, #0x64 + add r1, r5, #0 + mul r1, r1, r0 + ldr r0, ._359 + 4 + add r4, r1, r0 + add r0, r4, #0 + mov r1, #0xb + mov r2, #0x0 + bl GetMonData + cmp r0, #0 + bne ._357 @cond_branch + add r0, r4, #0 + add r1, r6, #0 + mov r2, #0x64 + bl memcpy + add r0, r5, #1 + strb r0, [r7] + mov r0, #0x0 + b ._358 +._360: + .align 2, 0 +._359: + .word gPlayerPartyCount + .word gPlayerParty +._357: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x5 + bls ._361 @cond_branch + ldr r0, ._362 + ldr r0, [r0] + bl SendMonToPC + mov r0, #0x1 +._358: + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._363: + .align 2, 0 +._362: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C527C + + thumb_func_start InitCreatePokemon +InitCreatePokemon: + push {r4, r5, lr} + add sp, sp, #0xffffffd4 + ldr r1, ._364 + add r0, sp, #0x4 + mov r2, #0x25 + bl memcpy + bl debug_80C35DC + mov r0, #0x1 + neg r0, r0 + mov r4, #0x0 + str r4, [sp] + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x0 + bl BeginNormalPaletteFade + ldr r0, ._364 + 4 + mov r5, #0x0 + strh r4, [r0] + add r0, r0, #0x2 + strh r4, [r0] + add r0, r0, #0x2 + strh r4, [r0] + ldr r3, ._364 + 8 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, ._364 + 12 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, ._364 + 16 + ldrh r0, [r2] + mov r1, #0x8 + orr r0, r0, r1 + strh r0, [r2] + ldr r0, ._364 + 20 + bl SetVBlankCallback + ldr r0, ._364 + 24 + bl SetMainCallback2 + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x3 + bl Menu_DrawStdWindowFrame + add r0, sp, #0x4 + mov r1, #0x1 + mov r2, #0x1 + bl Menu_PrintText + mov r1, #0x80 + lsl r1, r1, #0x13 + mov r2, #0x8a + lsl r2, r2, #0x5 + add r0, r2, #0 + strh r0, [r1] + ldr r0, ._364 + 28 + mov r1, #0x0 + bl CreateTask + bl debug_80C5208 + ldr r1, ._364 + 32 + ldr r0, [r1] + mov r2, #0xb4 + lsl r2, r2, #0x1 + add r0, r0, r2 + strb r5, [r0] + ldr r0, [r1] + ldr r1, ._364 + 36 + add r0, r0, r1 + strb r5, [r0] + add sp, sp, #0x2c + pop {r4, r5} + pop {r0} + bx r0 +._365: + .align 2, 0 +._364: + .word gUnknown_Debug_083F8733 + .word 0x4000050 + .word 0x4000208 + .word 0x4000200 + .word 0x4000004 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word debug_80C53A4+1 + .word gUnknown_Debug_2038A1C + .word 0x169 + + thumb_func_end InitCreatePokemon + + thumb_func_start debug_80C53A4 +debug_80C53A4: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + ldr r2, ._366 + lsl r1, r0, #0x2 + add r1, r1, r0 + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r0, ._366 + 4 + str r0, [r1] + bx lr +._367: + .align 2, 0 +._366: + .word gTasks + .word debug_80C53C0+1 + + thumb_func_end debug_80C53A4 + + thumb_func_start debug_80C53C0 +debug_80C53C0: + push {r4, lr} + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + bl debug_80C6384 + mov r0, #0x0 + bl debug_80C627C + ldr r1, ._368 + lsl r0, r4, #0x2 + add r0, r0, r4 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._368 + 4 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 +._369: + .align 2, 0 +._368: + .word gTasks + .word debug_80C53F0+1 + + thumb_func_end debug_80C53C0 + + thumb_func_start debug_80C53F0 +debug_80C53F0: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r0, ._372 + ldrh r1, [r0, #0x2e] + mov r2, #0x1 + and r2, r2, r1 + add r4, r0, #0 + cmp r2, #0 + beq ._370 @cond_branch + ldr r0, ._372 + 4 + ldr r3, [r0] + mov r0, #0xb2 + lsl r0, r0, #0x1 + add r2, r3, r0 + ldr r1, ._372 + 8 + mov r4, #0xb4 + lsl r4, r4, #0x1 + add r0, r3, r4 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r6, ._372 + 12 + add r1, r3, r6 + ldrb r1, [r1] + ldr r0, [r0] + add r0, r0, r1 + ldrb r1, [r0] + lsl r1, r1, #0x2 + add r0, r3, #0 + add r0, r0, #0x64 + add r0, r0, r1 + ldr r0, [r0] + str r0, [r2] + mov r0, #0xb5 + lsl r0, r0, #0x1 + add r1, r3, r0 + mov r0, #0x0 + strb r0, [r1] + bl debug_80C643C + ldr r1, ._372 + 16 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._372 + 20 + b ._375 +._373: + .align 2, 0 +._372: + .word gMain + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F8698 + .word 0x169 + .word gTasks + .word debug_80C55E4+1 +._370: + mov r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._374 @cond_branch + mov r0, #0x1 + neg r0, r0 + str r2, [sp] + mov r1, #0x0 + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._376 + bl SetMainCallback2 + ldr r1, ._376 + 4 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._376 + 8 + b ._375 +._377: + .align 2, 0 +._376: + .word debug_80C370C+1 + .word gTasks + .word debug_80C373C+1 +._374: + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + beq ._378 @cond_branch + mov r0, #0x5 + bl PlaySE + bl debug_80C5FFC + ldr r0, ._381 + ldr r0, [r0] + bl debug_80C527C + add r4, r0, #0 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + mov r0, #0x3 + mov r1, #0x8 + mov r2, #0x1a + mov r3, #0xb + bl Menu_DrawStdWindowFrame + cmp r4, #0 + beq ._379 @cond_branch + ldr r0, ._381 + 4 + mov r1, #0x4 + mov r2, #0x9 + bl Menu_PrintText + b ._380 +._382: + .align 2, 0 +._381: + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F872A +._379: + ldr r0, ._384 + mov r1, #0x4 + mov r2, #0x9 + bl Menu_PrintText +._380: + ldr r0, ._384 + 4 + lsl r1, r5, #0x2 + add r1, r1, r5 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._384 + 8 + str r0, [r1] + b ._400 +._385: + .align 2, 0 +._384: + .word gUnknown_Debug_083F8720 + .word gTasks + .word debug_80C5708+1 +._378: + mov r0, #0x4 + and r0, r0, r1 + cmp r0, #0 + beq ._386 @cond_branch + ldr r0, ._388 + ldr r0, [r0] + ldr r4, [r0, #0x64] + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r4, #0 + mov r1, #0x2 + bl GetSetPokedexFlag + add r0, r4, #0 + mov r1, #0x3 + bl GetSetPokedexFlag + mov r0, #0x5 + bl PlaySE + b ._400 +._389: + .align 2, 0 +._388: + .word gUnknown_Debug_2038A1C +._386: + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._390 @cond_branch + mov r0, #0x2 + bl debug_80C627C + b ._400 +._390: + mov r0, #0x80 + and r0, r0, r1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + cmp r3, #0 + beq ._392 @cond_branch + mov r0, #0x1 + bl debug_80C627C + b ._400 +._392: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._395 @cond_branch + ldr r2, ._397 + ldr r0, [r2] + mov r6, #0xb4 + lsl r6, r6, #0x1 + add r1, r0, r6 + ldrb r0, [r1] + cmp r0, #0 + beq ._395 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + ldr r0, [r2] + ldr r1, ._397 + 4 + add r0, r0, r1 + strb r3, [r0] + b ._396 +._398: + .align 2, 0 +._397: + .word gUnknown_Debug_2038A1C + .word 0x169 +._395: + ldrh r1, [r4, #0x2e] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._400 @cond_branch + ldr r3, ._401 + ldr r0, [r3] + mov r4, #0xb4 + lsl r4, r4, #0x1 + add r2, r0, r4 + ldrb r0, [r2] + cmp r0, #0x4 + bhi ._400 @cond_branch + add r0, r0, #0x1 + mov r1, #0x0 + strb r0, [r2] + ldr r0, [r3] + ldr r6, ._401 + 4 + add r0, r0, r6 + strb r1, [r0] +._396: + ldr r1, ._401 + 8 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._401 + 12 +._375: + str r1, [r0] +._400: + add sp, sp, #0x4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._402: + .align 2, 0 +._401: + .word gUnknown_Debug_2038A1C + .word 0x169 + .word gTasks + .word debug_80C53C0+1 + + thumb_func_end debug_80C53F0 + + thumb_func_start debug_80C55E4 +debug_80C55E4: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + add r6, r3, #0 + ldr r1, ._405 + ldr r2, ._405 + 4 + ldr r0, [r2] + mov ip, r0 + mov r0, #0xb4 + lsl r0, r0, #0x1 + add r0, r0, ip + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._405 + 8 + add r1, r1, ip + ldrb r1, [r1] + ldr r0, [r0] + add r0, r0, r1 + ldrb r5, [r0] + add r7, r5, #0 + ldr r1, ._405 + 12 + ldrh r4, [r1, #0x2e] + mov r0, #0x1 + and r0, r0, r4 + mov r8, r2 + add r2, r1, #0 + cmp r0, #0 + beq ._403 @cond_branch + ldr r0, ._405 + 16 + lsl r1, r3, #0x2 + add r1, r1, r3 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._405 + 20 + str r0, [r1] + b ._422 +._406: + .align 2, 0 +._405: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x169 + .word gMain + .word gTasks + .word debug_80C53C0+1 +._403: + mov r0, #0x2 + and r0, r0, r4 + cmp r0, #0 + beq ._407 @cond_branch + lsl r1, r5, #0x2 + mov r0, ip + add r0, r0, #0x64 + add r0, r0, r1 + mov r1, #0xb2 + lsl r1, r1, #0x1 + add r1, r1, ip + ldr r1, [r1] + str r1, [r0] + ldr r1, ._409 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._409 + 4 + str r1, [r0] + b ._422 +._410: + .align 2, 0 +._409: + .word gTasks + .word debug_80C53C0+1 +._407: + ldrh r1, [r2, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._411 @cond_branch + mov r0, #0x1 + b ._412 +._411: + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._413 @cond_branch + mov r0, #0x2 +._412: + bl debug_80C6544 + bl debug_80C643C + b ._422 +._413: + ldr r0, ._419 + lsl r1, r7, #0x3 + add r0, r0, #0x4 + add r1, r1, r0 + ldr r1, [r1] + ldrb r0, [r1, #0x9] + cmp r0, #0xff + beq ._422 @cond_branch + mov r0, #0x20 + and r0, r0, r4 + cmp r0, #0 + beq ._417 @cond_branch + mov r0, #0xb5 + lsl r0, r0, #0x1 + add ip, ip, r0 + mov r0, ip + ldrb r3, [r0] + ldrb r0, [r1, #0x9] + sub r0, r0, #0x1 + cmp r3, r0 + bge ._417 @cond_branch + add r0, r3, #1 + mov r1, ip + strb r0, [r1] + bl debug_80C643C + b ._422 +._420: + .align 2, 0 +._419: + .word gUnknown_Debug_083F8554 +._417: + ldrh r1, [r2, #0x2e] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._422 @cond_branch + mov r2, r8 + ldr r0, [r2] + mov r2, #0xb5 + lsl r2, r2, #0x1 + add r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0 + beq ._422 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1] + bl debug_80C643C +._422: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_80C55E4 + + thumb_func_start debug_80C5708 +debug_80C5708: + push {lr} + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldr r0, ._424 + ldrh r1, [r0, #0x2e] + mov r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._423 @cond_branch + ldr r0, ._424 + 4 + lsl r1, r2, #0x2 + add r1, r1, r2 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._424 + 8 + str r0, [r1] +._423: + pop {r0} + bx r0 +._425: + .align 2, 0 +._424: + .word gMain + .word gTasks + .word debug_80C53C0+1 + + thumb_func_end debug_80C5708 + + thumb_func_start debug_80C5738 +debug_80C5738: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + add r6, r0, #0 + lsl r1, r1, #0x18 + lsr r4, r1, #0x18 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r8, r2 + cmp r4, #0xfe + bne ._426 @cond_branch + ldr r1, ._428 + mov r2, #0x7 + bl debug_80C689C + add r0, r6, #7 + ldr r7, ._428 + 4 + ldr r1, [r7] + add r1, r1, #0xf0 + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + mov r4, #0x0 + strb r4, [r6, #0x13] + strb r4, [r6, #0x14] + add r0, r6, #0 + add r0, r0, #0x15 + ldr r1, ._428 + 8 + mov r2, #0x7 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x1c + ldr r1, [r7] + add r1, r1, #0xf4 + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + add r0, r6, #0 + add r0, r0, #0x28 + strb r4, [r0] + add r0, r0, #0x1 + strb r4, [r0] + add r0, r0, #0x1 + ldr r1, ._428 + 12 + mov r2, #0x9 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x31 + ldr r1, [r7] + add r1, r1, #0xf8 +._431: + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + b ._517 +._429: + .align 2, 0 +._428: + .word gUnknown_Debug_083F850A + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F8514 + .word gUnknown_Debug_083F851C +._426: + cmp r4, #0xfd + bne ._430 @cond_branch + ldr r1, ._432 + add r0, r6, #0 + mov r2, #0x9 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x9 + ldr r7, ._432 + 4 + ldr r1, [r7] + add r1, r1, #0xfc + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + mov r4, #0x0 + strb r4, [r6, #0x15] + strb r4, [r6, #0x16] + add r0, r6, #0 + add r0, r0, #0x17 + ldr r1, ._432 + 8 + mov r2, #0x9 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x20 + ldr r1, [r7] + mov r2, #0x80 + lsl r2, r2, #0x1 + add r1, r1, r2 + ldr r1, [r1] + mov r2, #0x3 + mov r3, #0x1 + bl debug_80C6678 + add r0, r6, #0 + add r0, r0, #0x2c + strb r4, [r0] + add r0, r0, #0x1 + strb r4, [r0] + add r0, r0, #0x1 + ldr r1, ._432 + 12 + mov r2, #0x9 + bl debug_80C689C + add r0, r6, #0 + add r0, r0, #0x37 + ldr r1, [r7] + mov r3, #0x82 + lsl r3, r3, #0x1 + add r1, r1, r3 + b ._431 +._433: + .align 2, 0 +._432: + .word gUnknown_Debug_083F8524 + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F852D + .word gUnknown_Debug_083F8537 +._430: + mov r1, #0x0 + lsl r5, r4, #0x3 + mov r2, #0x0 +._434: + add r0, r6, r1 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0xb + bls ._434 @cond_branch + ldr r0, ._437 + add r0, r5, r0 + ldr r1, [r0] + add r0, r6, #0 + mov r2, #0xb + bl debug_80C689C + mov r1, #0xc + mov r2, #0xff +._435: + add r0, r6, r1 + strb r2, [r0] + add r0, r1, #1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0xff + bls ._435 @cond_branch + ldr r0, ._437 + add r0, r0, #0x4 + add r0, r5, r0 + ldr r0, [r0] + ldrb r2, [r0, #0x9] + lsl r0, r2, #0x1a + lsr r5, r0, #0x18 + cmp r4, #0x22 + bhi ._436 @cond_branch + lsl r0, r4, #0x2 + ldr r1, ._437 + 4 + add r1, r0, r1 + ldr r1, [r1] + add r7, r0, #0 + mov pc, r1 +._438: + .align 2, 0 +._437: + .word gUnknown_Debug_083F8554 + .word ._439 +._439: + .word ._440 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._445 + .word ._446 + .word ._450 + .word ._450 + .word ._450 + .word ._450 + .word ._451 + .word ._452 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._472 + .word ._473 + .word ._474 +._436: + mov r0, #0xff + strb r0, [r6] + b ._517 +._440: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._477 + mov r9, r1 + ldr r1, [r1] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + mov r3, r8 + bl debug_80C6678 + add r1, r5, r6 + mov r0, #0x0 + strb r0, [r1, #0xa] + mov r0, #0xfc + strb r0, [r1, #0xb] + mov r0, #0x1 + strb r0, [r1, #0xc] + mov r2, r8 + strb r2, [r1, #0xd] + add r4, r5, #0 + add r4, r4, #0xe + add r4, r6, r4 + mov r3, r9 + ldr r0, [r3] + add r0, r0, #0x64 + add r0, r0, r7 + ldrh r0, [r0] + bl NationalPokedexNumToSpecies + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0xb + mul r1, r1, r0 + ldr r0, ._477 + 4 + add r1, r1, r0 + add r0, r4, #0 + mov r2, #0xa + bl debug_80C689C + b ._517 +._478: + .align 2, 0 +._477: + .word gUnknown_Debug_2038A1C + .word gSpeciesNames +._445: + ldr r0, ._483 + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r7 + ldr r0, [r0] + cmp r0, #0x1 + beq ._479 @cond_branch + cmp r0, #0x1 + bcc ._480 @cond_branch + cmp r0, #0x2 + beq ._481 @cond_branch + b ._517 +._484: + .align 2, 0 +._483: + .word gUnknown_Debug_2038A1C +._480: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._486 + b ._488 +._487: + .align 2, 0 +._486: + .word gUnknown_Debug_083F8546 +._479: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._489 + b ._488 +._490: + .align 2, 0 +._489: + .word gUnknown_Debug_083F8541 +._481: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._492 +._488: + mov r2, #0x2 + bl debug_80C689C + b ._517 +._493: + .align 2, 0 +._492: + .word gUnknown_Debug_083F8544 +._450: + add r0, r6, #0 + add r0, r0, #0xa + ldr r4, ._495 + ldr r1, [r4] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + mov r3, r8 + bl debug_80C6678 + add r1, r5, r6 + mov r0, #0x0 + strb r0, [r1, #0xa] + mov r0, #0xfc + strb r0, [r1, #0xb] + mov r0, #0x1 + strb r0, [r1, #0xc] + mov r0, r8 + strb r0, [r1, #0xd] + add r0, r5, #0 + add r0, r0, #0xe + add r0, r6, r0 + ldr r1, [r4] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r2, [r1] + mov r1, #0xd + mul r1, r1, r2 + ldr r2, ._495 + 4 + add r1, r1, r2 + b ._494 +._496: + .align 2, 0 +._495: + .word gUnknown_Debug_2038A1C + .word gMoveNames +._451: + add r0, r6, #0 + add r0, r0, #0xa + ldr r4, ._499 + ldr r1, [r4] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + mov r3, r8 + bl debug_80C6678 + add r1, r5, r6 + mov r0, #0x0 + strb r0, [r1, #0xa] + mov r0, #0xfc + strb r0, [r1, #0xb] + mov r0, #0x1 + strb r0, [r1, #0xc] + mov r2, r8 + strb r2, [r1, #0xd] + ldr r0, [r4] + add r0, r0, #0x64 + add r0, r0, r7 + ldr r0, [r0] + cmp r0, #0 + beq ._497 @cond_branch + add r4, r5, #0 + add r4, r4, #0xe + add r4, r6, r4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl ItemId_GetItem + add r1, r0, #0 + add r0, r4, #0 + b ._498 +._500: + .align 2, 0 +._499: + .word gUnknown_Debug_2038A1C +._497: + add r0, r5, #0 + add r0, r0, #0xe + add r0, r6, r0 + ldr r1, ._502 +._498: + mov r2, #0x9 + bl debug_80C689C + b ._517 +._503: + .align 2, 0 +._502: + .word gUnknown_Debug_083F8541 +._452: + add r6, r6, #0xc + ldr r4, ._505 + ldr r0, [r4] + ldr r0, [r0, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl NationalPokedexNumToSpecies + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + ldr r1, [r4] + add r1, r1, #0x64 + add r1, r1, r7 + ldrb r1, [r1] + bl GetAbilityBySpecies + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0xd + mul r1, r1, r0 + ldr r0, ._505 + 4 + add r1, r1, r0 + add r0, r6, #0 +._494: + mov r2, #0xc + bl debug_80C689C + b ._517 +._506: + .align 2, 0 +._505: + .word gUnknown_Debug_2038A1C + .word gAbilityNames +._474: + add r0, r6, #0 + add r0, r0, #0xa + ldr r2, ._508 + ldr r1, ._508 + 4 + ldr r1, [r1] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r1, [r1] + b ._514 +._509: + .align 2, 0 +._508: + .word gUnknown_Debug_083F86E8 + .word gUnknown_Debug_2038A1C +._472: + add r0, r6, #0 + add r0, r0, #0xc + ldr r1, ._511 + ldr r1, [r1] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + mov r3, r8 + bl debug_80C6678 + b ._517 +._512: + .align 2, 0 +._511: + .word gUnknown_Debug_2038A1C +._473: + ldr r0, ._515 + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r7 + ldr r0, [r0] + cmp r0, #0 + beq ._513 @cond_branch + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._515 + 4 + b ._514 +._516: + .align 2, 0 +._515: + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F854A +._513: + add r0, r6, #0 + add r0, r0, #0xa + ldr r1, ._518 +._514: + mov r2, #0x4 + bl debug_80C689C + b ._517 +._519: + .align 2, 0 +._518: + .word gUnknown_Debug_083F854D +._446: + add r0, r6, #0 + add r0, r0, #0xa + ldr r2, ._520 + ldr r1, ._520 + 4 + ldr r1, [r1] + add r1, r1, #0x64 + add r1, r1, r7 + ldr r1, [r1] + lsl r1, r1, #0x2 + add r1, r1, r2 + ldr r1, [r1] + mov r2, #0x5 + bl debug_80C689C +._517: + mov r0, #0x0 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._521: + .align 2, 0 +._520: + .word gNatureNames + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5738 + + thumb_func_start debug_80C5B60 +debug_80C5B60: + lsl r0, r0, #0x18 + ldr r1, ._522 + ldr r1, [r1] + lsr r0, r0, #0x16 + add r1, r1, #0x64 + add r1, r1, r0 + ldr r0, [r1] + bx lr +._523: + .align 2, 0 +._522: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5B60 + + thumb_func_start debug_80C5B74 +debug_80C5B74: + push {r4, r5, r6, lr} + add r6, r0, #0 + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + cmp r2, #0x18 + bhi ._540 @cond_branch + lsl r0, r2, #0x2 + ldr r1, ._526 + add r1, r0, r1 + ldr r1, [r1] + add r3, r0, #0 + mov pc, r1 +._527: + .align 2, 0 +._526: + .word ._525 +._525: + .word ._532 + .word ._529 + .word ._530 + .word ._532 + .word ._532 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._540 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 + .word ._552 +._540: + ldr r0, ._554 + ldr r0, [r0] + lsl r1, r2, #0x2 + add r0, r0, #0x64 + add r0, r0, r1 + str r6, [r0] + b ._562 +._555: + .align 2, 0 +._554: + .word gUnknown_Debug_2038A1C +._532: + ldr r0, ._557 + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r3 + str r6, [r0] + bl debug_80C5C94 + b ._562 +._558: + .align 2, 0 +._557: + .word gUnknown_Debug_2038A1C +._529: + ldr r4, ._560 + ldr r1, [r4] + add r0, r1, #0 + add r0, r0, #0x64 + add r0, r0, r3 + str r6, [r0] + ldr r0, [r1, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl NationalPokedexNumToSpecies + ldr r5, [r4] + ldr r4, ._560 + 4 + lsl r2, r6, #0x2 + ldr r3, ._560 + 8 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r1, r0, #0x3 + sub r1, r1, r0 + lsl r1, r1, #0x2 + add r1, r1, r3 + ldrb r1, [r1, #0x13] + mov r0, #0xca + lsl r0, r0, #0x1 + mul r0, r0, r1 + add r2, r2, r0 + add r2, r2, r4 + ldr r0, [r2] + str r0, [r5, #0x6c] + bl debug_80C5C94 + b ._562 +._561: + .align 2, 0 +._560: + .word gUnknown_Debug_2038A1C + .word gExperienceTables + .word gBaseStats +._530: + ldr r0, ._563 + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r3 + str r6, [r0] + bl debug_80C5DEC + b ._562 +._564: + .align 2, 0 +._563: + .word gUnknown_Debug_2038A1C +._552: + ldr r0, ._565 + ldr r0, [r0] + add r0, r0, #0x64 + add r0, r0, r3 + str r6, [r0] + bl debug_80C5EF4 +._562: + pop {r4, r5, r6} + pop {r0} + bx r0 +._566: + .align 2, 0 +._565: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5B74 + + thumb_func_start debug_80C5C94 +debug_80C5C94: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffff0 + ldr r6, ._567 + ldr r2, [r6] + add r0, r2, #0 + add r0, r0, #0x98 + ldr r4, [r0] + mov r1, #0x1f + and r4, r4, r1 + add r0, r0, #0x8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x5 + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xa8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0xa + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xb0 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0xf + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xb8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x14 + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xc0 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x19 + orr r4, r4, r0 + ldr r0, [r2, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl NationalPokedexNumToSpecies + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + ldr r0, [r6] + ldr r2, [r0, #0x68] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + mov r5, #0x1 + str r5, [sp] + ldr r3, [r0, #0x74] + str r3, [sp, #0x4] + str r5, [sp, #0x8] + ldr r3, [r0, #0x70] + str r3, [sp, #0xc] + add r3, r4, #0 + bl CreateMon + ldr r0, [r6] + bl GetMonGender + ldr r1, [r6] + add r0, r0, #0x2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [r1, #0x78] + add r0, r1, #0 + bl GetNature + ldr r1, [r6] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [r1, #0x7c] + add r0, r1, #0 + mov r1, #0xd + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0x80 + str r2, [r1] + mov r1, #0xe + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0x84 + str r2, [r1] + mov r1, #0xf + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0x88 + str r2, [r1] + mov r1, #0x10 + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0x8c + str r2, [r1] + mov r1, #0x19 + bl GetMonData + add r1, r0, #0 + ldr r0, [r6] + str r1, [r0, #0x6c] + mov r1, #0x3a + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0xf0 + str r2, [r1] + mov r1, #0x3b + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0xf4 + str r2, [r1] + mov r1, #0x3c + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0xf8 + str r2, [r1] + mov r1, #0x3d + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + add r1, r0, #0 + add r1, r1, #0xfc + str r2, [r1] + mov r1, #0x3e + bl GetMonData + add r2, r0, #0 + ldr r0, [r6] + mov r3, #0x80 + lsl r3, r3, #0x1 + add r1, r0, r3 + str r2, [r1] + mov r1, #0x3f + bl GetMonData + ldr r1, [r6] + mov r2, #0x82 + lsl r2, r2, #0x1 + add r1, r1, r2 + str r0, [r1] + add sp, sp, #0x10 + pop {r4, r5, r6} + pop {r0} + bx r0 +._568: + .align 2, 0 +._567: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5C94 + + thumb_func_start debug_80C5DEC +debug_80C5DEC: + push {r4, lr} + add sp, sp, #0xfffffffc + mov r0, #0x0 + str r0, [sp] + ldr r4, ._569 + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0x6c + mov r1, #0x19 + bl SetMonData + ldr r0, [r4] + mov r1, #0xd + mov r2, sp + bl SetMonData + ldr r0, [r4] + mov r1, #0xe + mov r2, sp + bl SetMonData + ldr r0, [r4] + mov r1, #0xf + mov r2, sp + bl SetMonData + ldr r0, [r4] + mov r1, #0x10 + mov r2, sp + bl SetMonData + ldr r0, [r4] + bl CalculateMonStats + ldr r0, [r4] + bl GiveMonInitialMoveset + ldr r0, [r4] + mov r1, #0x38 + bl GetMonData + add r1, r0, #0 + ldr r0, [r4] + str r1, [r0, #0x68] + mov r1, #0xd + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0x80 + str r2, [r1] + mov r1, #0xe + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0x84 + str r2, [r1] + mov r1, #0xf + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0x88 + str r2, [r1] + mov r1, #0x10 + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0x8c + str r2, [r1] + mov r1, #0x3a + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf0 + str r2, [r1] + mov r1, #0x3b + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf4 + str r2, [r1] + mov r1, #0x3c + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf8 + str r2, [r1] + mov r1, #0x3d + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xfc + str r2, [r1] + mov r1, #0x3e + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + mov r3, #0x80 + lsl r3, r3, #0x1 + add r1, r0, r3 + str r2, [r1] + mov r1, #0x3f + bl GetMonData + ldr r1, [r4] + mov r2, #0x82 + lsl r2, r2, #0x1 + add r1, r1, r2 + str r0, [r1] + add sp, sp, #0x4 + pop {r4} + pop {r0} + bx r0 +._570: + .align 2, 0 +._569: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5DEC + + thumb_func_start debug_80C5EF4 +debug_80C5EF4: + push {r4, lr} + ldr r4, ._571 + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0x98 + mov r1, #0x27 + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0x9c + mov r1, #0x1a + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xa0 + mov r1, #0x28 + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xa4 + mov r1, #0x1b + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xa8 + mov r1, #0x29 + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xac + mov r1, #0x1c + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xb0 + mov r1, #0x2a + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xb4 + mov r1, #0x1d + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xb8 + mov r1, #0x2b + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xbc + mov r1, #0x1e + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xc0 + mov r1, #0x2c + bl SetMonData + ldr r0, [r4] + add r2, r0, #0 + add r2, r2, #0xc4 + mov r1, #0x1f + bl SetMonData + ldr r0, [r4] + bl CalculateMonStats + ldr r0, [r4] + mov r1, #0x3a + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf0 + str r2, [r1] + mov r1, #0x3b + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf4 + str r2, [r1] + mov r1, #0x3c + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xf8 + str r2, [r1] + mov r1, #0x3d + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + add r1, r0, #0 + add r1, r1, #0xfc + str r2, [r1] + mov r1, #0x3e + bl GetMonData + add r2, r0, #0 + ldr r0, [r4] + mov r3, #0x80 + lsl r3, r3, #0x1 + add r1, r0, r3 + str r2, [r1] + mov r1, #0x3f + bl GetMonData + ldr r1, [r4] + mov r2, #0x82 + lsl r2, r2, #0x1 + add r1, r1, r2 + str r0, [r1] + pop {r4} + pop {r0} + bx r0 +._572: + .align 2, 0 +._571: + .word gUnknown_Debug_2038A1C + + thumb_func_end debug_80C5EF4 + + thumb_func_start debug_80C5FFC +debug_80C5FFC: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xffffffe0 + ldr r1, ._578 + add r0, sp, #0x10 + mov r2, #0x4 + bl memcpy + add r7, sp, #0x14 + ldr r1, ._578 + 4 + add r0, r7, #0 + mov r2, #0x8 + bl memcpy + ldr r5, ._578 + 8 + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x98 + ldr r4, [r0] + mov r1, #0x1f + and r4, r4, r1 + add r0, r0, #0x8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x5 + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xa8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0xa + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xb0 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0xf + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xb8 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x14 + orr r4, r4, r0 + add r0, r2, #0 + add r0, r0, #0xc0 + ldr r0, [r0] + and r0, r0, r1 + lsl r0, r0, #0x19 + orr r4, r4, r0 + ldr r0, [r2, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl NationalPokedexNumToSpecies + add r1, r0, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + ldr r0, [r5] + ldr r2, [r0, #0x68] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r4, r4, #0x18 + lsr r4, r4, #0x18 + mov r6, #0x1 + str r6, [sp] + ldr r3, [r0, #0x74] + str r3, [sp, #0x4] + str r6, [sp, #0x8] + ldr r3, [r0, #0x70] + str r3, [sp, #0xc] + add r3, r4, #0 + bl CreateMon + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x80 + ldr r0, [r0] + cmp r0, #0 + beq ._573 @cond_branch + lsl r1, r0, #0x10 + lsr r1, r1, #0x10 + add r0, r2, #0 + mov r2, #0x0 + bl SetMonMoveSlot +._573: + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x84 + ldr r0, [r0] + cmp r0, #0 + beq ._574 @cond_branch + lsl r1, r0, #0x10 + lsr r1, r1, #0x10 + add r0, r2, #0 + mov r2, #0x1 + bl SetMonMoveSlot +._574: + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x88 + ldr r0, [r0] + cmp r0, #0 + beq ._575 @cond_branch + lsl r1, r0, #0x10 + lsr r1, r1, #0x10 + add r0, r2, #0 + mov r2, #0x2 + bl SetMonMoveSlot +._575: + ldr r2, [r5] + add r0, r2, #0 + add r0, r0, #0x8c + ldr r0, [r0] + cmp r0, #0 + beq ._576 @cond_branch + lsl r1, r0, #0x10 + lsr r1, r1, #0x10 + add r0, r2, #0 + mov r2, #0x3 + bl SetMonMoveSlot +._576: + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x6c + mov r1, #0x19 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x98 + mov r1, #0x27 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x9c + mov r1, #0x1a + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xa0 + mov r1, #0x28 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xa4 + mov r1, #0x1b + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xa8 + mov r1, #0x29 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xac + mov r1, #0x1c + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xb0 + mov r1, #0x2a + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xb4 + mov r1, #0x1d + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xb8 + mov r1, #0x2b + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xbc + mov r1, #0x1e + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xc0 + mov r1, #0x2c + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xc4 + mov r1, #0x1f + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xc8 + mov r1, #0x16 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xcc + mov r1, #0x17 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xd0 + mov r1, #0x18 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xd4 + mov r1, #0x21 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xd8 + mov r1, #0x2f + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xdc + mov r1, #0x30 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xe0 + mov r1, #0x20 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xe4 + mov r1, #0x22 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x90 + mov r1, #0xc + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0x94 + mov r1, #0x2e + bl SetMonData + ldr r0, [r5] + add r1, r0, #0 + add r1, r1, #0xec + ldr r2, [r1] + lsl r2, r2, #0x3 + ldr r1, ._578 + 12 + add r2, r2, r1 + mov r1, #0x37 + bl SetMonData + ldr r0, [r5] + add r2, r0, #0 + add r2, r2, #0xe8 + mov r1, #0x2d + bl SetMonData + ldr r1, [r5] + add r0, r1, #0 + add r0, r0, #0xe8 + ldr r0, [r0] + cmp r0, #0 + beq ._577 @cond_branch + add r0, r1, #0 + mov r1, #0x2 + add r2, sp, #0x10 + bl SetMonData + add r2, sp, #0x1c + strb r6, [r2] + ldr r0, [r5] + mov r1, #0x3 + bl SetMonData +._577: + ldr r0, [r5] + mov r1, #0x7 + add r2, r7, #0 + bl SetMonData + mov r2, sp + add r2, r2, #0x1e + mov r0, #0xff + strh r0, [r2] + ldr r0, [r5] + mov r1, #0x23 + bl SetMonData + ldr r0, [r5] + bl CalculateMonStats + add sp, sp, #0x20 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._579: + .align 2, 0 +._578: + .word gUnknown_Debug_083F8758 + .word gUnknown_Debug_083F875C + .word gUnknown_Debug_2038A1C + .word gUnknown_Debug_083F86E8+0x4 + + thumb_func_end debug_80C5FFC + + thumb_func_start debug_80C627C +debug_80C627C: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffff8 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r6, r4, #0 + ldr r1, ._584 + mov r0, sp + mov r2, #0x2 + bl memcpy + add r5, sp, #0x4 + ldr r1, ._584 + 4 + add r0, r5, #0 + mov r2, #0x2 + bl memcpy + cmp r4, #0x1 + beq ._580 @cond_branch + cmp r4, #0x1 + bgt ._581 @cond_branch + cmp r4, #0 + beq ._582 @cond_branch + b ._595 +._585: + .align 2, 0 +._584: + .word gUnknown_Debug_083F7FD4 + .word gUnknown_Debug_083F8764 +._581: + cmp r6, #0x2 + beq ._586 @cond_branch + b ._595 +._582: + ldr r0, ._589 + ldr r0, [r0] + ldr r1, ._589 + 4 + add r0, r0, r1 + b ._588 +._590: + .align 2, 0 +._589: + .word gUnknown_Debug_2038A1C + .word 0x169 +._580: + ldr r4, ._593 + ldr r3, [r4] + ldr r1, ._593 + 4 + add r0, r3, r1 + ldrb r2, [r0] + ldr r1, ._593 + 8 + mov r6, #0xb4 + lsl r6, r6, #0x1 + add r0, r3, r6 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r1 + ldrb r0, [r0, #0x4] + sub r0, r0, #0x1 + cmp r2, r0 + bge ._595 @cond_branch + lsl r2, r2, #0x19 + mov r0, #0xa0 + lsl r0, r0, #0x13 + add r2, r2, r0 + lsr r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0x1 + bl Menu_PrintText + ldr r0, [r4] + ldr r2, ._593 + 4 + add r1, r0, r2 + ldrb r0, [r1] + add r0, r0, #0x1 + strb r0, [r1] + ldr r0, [r4] + add r0, r0, r2 +._588: + ldrb r2, [r0] + lsl r2, r2, #0x19 + mov r6, #0xa0 + lsl r6, r6, #0x13 + add r2, r2, r6 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x1 + bl Menu_PrintText + b ._595 +._594: + .align 2, 0 +._593: + .word gUnknown_Debug_2038A1C + .word 0x169 + .word gUnknown_Debug_083F8698 +._586: + ldr r4, ._596 + ldr r0, [r4] + ldr r2, ._596 + 4 + add r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0 + beq ._595 @cond_branch + add r2, r0, #0 + lsl r2, r2, #0x19 + mov r6, #0xa0 + lsl r6, r6, #0x13 + add r2, r2, r6 + lsr r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0x1 + bl Menu_PrintText + ldr r0, [r4] + ldr r2, ._596 + 4 + add r1, r0, r2 + ldrb r0, [r1] + sub r0, r0, #0x1 + strb r0, [r1] + ldr r0, [r4] + add r0, r0, r2 + ldrb r2, [r0] + lsl r2, r2, #0x19 + add r2, r2, r6 + lsr r2, r2, #0x18 + mov r0, sp + mov r1, #0x1 + bl Menu_PrintText +._595: + add sp, sp, #0x8 + pop {r4, r5, r6} + pop {r0} + bx r0 +._597: + .align 2, 0 +._596: + .word gUnknown_Debug_2038A1C + .word 0x169 + + thumb_func_end debug_80C627C + + thumb_func_start debug_80C6384 +debug_80C6384: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + mov r0, #0x0 + mov r1, #0x4 + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r5, #0x0 + ldr r3, ._600 + ldr r1, ._600 + 4 + ldr r0, [r1] + mov r2, #0xb4 + lsl r2, r2, #0x1 + add r0, r0, r2 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r3 + ldr r0, [r0] + ldrb r0, [r0] + cmp r0, #0xff + beq ._598 @cond_branch + add r4, r1, #0 + ldr r0, ._600 + 8 + mov r9, r0 + mov r8, r3 + add r7, r2, #0 + mov r6, #0x1 +._599: + ldr r0, [r4] + add r0, r0, r9 + mov r1, #0xfc + strb r1, [r0] + ldr r0, [r4] + add r1, r1, #0x70 + add r0, r0, r1 + strb r6, [r0] + ldr r0, [r4] + ldr r2, ._600 + 12 + add r0, r0, r2 + strb r6, [r0] + ldr r1, [r4] + add r2, r2, #0x1 + add r0, r1, r2 + add r1, r1, r7 + ldrb r1, [r1] + lsl r1, r1, #0x3 + add r1, r1, r8 + ldr r1, [r1] + add r1, r1, r5 + ldrb r1, [r1] + mov r2, #0x1 + bl debug_80C5738 + ldr r0, [r4] + add r0, r0, r9 + lsl r2, r5, #0x19 + mov r1, #0xa0 + lsl r1, r1, #0x13 + add r2, r2, r1 + lsr r2, r2, #0x18 + mov r1, #0x2 + bl Menu_PrintText + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r0, [r4] + add r0, r0, r7 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r8 + ldr r0, [r0] + add r0, r0, r5 + ldrb r0, [r0] + cmp r0, #0xff + bne ._599 @cond_branch +._598: + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._601: + .align 2, 0 +._600: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x16b + .word 0x16d + + thumb_func_end debug_80C6384 + + thumb_func_start debug_80C643C +debug_80C643C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + mov r0, #0x2 + mov r1, #0x5 + mov r2, #0x1c + mov r3, #0x12 + bl Menu_BlankWindowRect + mov r5, #0x0 + ldr r6, ._605 + ldr r1, ._605 + 4 + ldr r0, [r1] + mov r3, #0xb4 + lsl r3, r3, #0x1 + add r0, r0, r3 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r6 + ldr r0, [r0] + ldrb r0, [r0] + cmp r0, #0xff + beq ._602 @cond_branch + add r4, r1, #0 + mov r0, #0x1 + mov r8, r0 +._607: + ldr r0, [r4] + ldr r7, ._605 + 8 + add r2, r0, r7 + mov r0, #0xfc + strb r0, [r2] + ldr r0, [r4] + mov r2, #0xb6 + lsl r2, r2, #0x1 + add r0, r0, r2 + mov r7, r8 + strb r7, [r0] + ldr r2, [r4] + ldr r7, ._605 + 12 + add r0, r2, r7 + ldrb r0, [r0] + cmp r5, r0 + bne ._603 @cond_branch + ldr r0, ._605 + 16 + add r2, r2, r0 + mov r0, #0x2 + strb r0, [r2] + ldr r1, [r1] + mov r2, #0xb7 + lsl r2, r2, #0x1 + add r0, r1, r2 + add r1, r1, r3 + ldrb r1, [r1] + lsl r1, r1, #0x3 + add r1, r1, r6 + ldr r1, [r1] + add r1, r1, r5 + ldrb r1, [r1] + mov r2, #0x2 + bl debug_80C5738 + b ._604 +._606: + .align 2, 0 +._605: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x16b + .word 0x169 + .word 0x16d +._603: + ldr r3, ._608 + add r0, r2, r3 + mov r7, r8 + strb r7, [r0] + ldr r1, [r1] + mov r2, #0xb7 + lsl r2, r2, #0x1 + add r0, r1, r2 + ldr r2, ._608 + 4 + sub r3, r3, #0x5 + add r1, r1, r3 + ldrb r1, [r1] + lsl r1, r1, #0x3 + add r1, r1, r2 + ldr r1, [r1] + add r1, r1, r5 + ldrb r1, [r1] + mov r2, #0x1 + bl debug_80C5738 +._604: + ldr r0, [r4] + ldr r7, ._608 + 8 + add r0, r0, r7 + lsl r2, r5, #0x19 + mov r1, #0xa0 + lsl r1, r1, #0x13 + add r2, r2, r1 + lsr r2, r2, #0x18 + mov r1, #0x2 + bl Menu_PrintText + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r6, ._608 + 4 + add r1, r4, #0 + ldr r0, [r4] + mov r3, #0xb4 + lsl r3, r3, #0x1 + add r0, r0, r3 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r6 + ldr r0, [r0] + add r0, r0, r5 + ldrb r0, [r0] + cmp r0, #0xff + bne ._607 @cond_branch +._602: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._609: + .align 2, 0 +._608: + .word 0x16d + .word gUnknown_Debug_083F8698 + .word 0x16b + + thumb_func_end debug_80C643C + + thumb_func_start debug_80C6544 +debug_80C6544: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r9, r0 + ldr r0, ._614 + mov r8, r0 + ldr r6, ._614 + 4 + ldr r1, [r6] + mov r5, #0xb4 + lsl r5, r5, #0x1 + add r0, r1, r5 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r8 + ldr r4, ._614 + 8 + add r1, r1, r4 + ldrb r1, [r1] + ldr r0, [r0] + add r0, r0, r1 + ldrb r0, [r0] + bl debug_80C5B60 + add r7, r0, #0 + ldr r2, ._614 + 12 + ldr r3, [r6] + add r5, r3, r5 + ldrb r0, [r5] + lsl r0, r0, #0x3 + add r0, r0, r8 + add r4, r3, r4 + ldrb r1, [r4] + ldr r0, [r0] + add r0, r0, r1 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r2, r2, #0x4 + add r0, r0, r2 + ldr r1, [r0] + ldr r5, [r1] + ldr r4, [r1, #0x4] + ldr r2, ._614 + 16 + mov r6, #0xb5 + lsl r6, r6, #0x1 + add r0, r3, r6 + ldrb r0, [r0] + lsl r0, r0, #0x2 + add r0, r0, r2 + ldr r3, [r0] + ldrb r0, [r1, #0x8] + cmp r0, #0 + bne ._623 @cond_branch + mov r0, r9 + cmp r0, #0x1 + beq ._611 @cond_branch + cmp r0, #0x2 + beq ._612 @cond_branch + b ._623 +._615: + .align 2, 0 +._614: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x169 + .word gUnknown_Debug_083F8554 + .word gUnknown_Debug_083F8768 +._611: + sub r0, r4, r3 + cmp r7, r0 + bcs ._616 @cond_branch + add r7, r7, r3 + b ._623 +._616: + cmp r7, r4 + bcc ._622 @cond_branch + b ._619 +._612: + add r0, r5, r3 + cmp r7, r0 + bls ._620 @cond_branch + sub r7, r7, r3 + b ._623 +._620: + cmp r7, r5 + bls ._622 @cond_branch +._619: + add r7, r5, #0 + b ._623 +._622: + add r7, r4, #0 +._623: + ldr r1, ._624 + ldr r0, ._624 + 4 + ldr r2, [r0] + mov r3, #0xb4 + lsl r3, r3, #0x1 + add r0, r2, r3 + ldrb r0, [r0] + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r6, ._624 + 8 + add r1, r2, r6 + ldrb r1, [r1] + ldr r0, [r0] + add r0, r0, r1 + ldrb r1, [r0] + add r0, r7, #0 + bl debug_80C5B74 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._625: + .align 2, 0 +._624: + .word gUnknown_Debug_083F8698 + .word gUnknown_Debug_2038A1C + .word 0x169 + + thumb_func_end debug_80C6544 + + thumb_func_start debug_80C6630 +debug_80C6630: + push {r4, r5, lr} + add r4, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + mov r0, #0xfc + strb r0, [r4] + add r4, r4, #0x1 + mov r0, #0x1 + strb r0, [r4] + add r4, r4, #0x1 + cmp r2, #0x2 + bne ._626 @cond_branch + ldr r0, ._629 + ldr r0, [r0] + mov r5, #0xb5 + lsl r5, r5, #0x1 + add r0, r0, r5 + ldrb r0, [r0] + cmp r3, r0 + beq ._627 @cond_branch + strb r2, [r4] + b ._628 +._630: + .align 2, 0 +._629: + .word gUnknown_Debug_2038A1C +._627: + mov r0, #0x4 +._626: + strb r0, [r4] +._628: + add r0, r1, #0 + add r0, r0, #0xa1 + strb r0, [r4, #0x1] + pop {r4, r5} + pop {r0} + bx r0 + + thumb_func_end debug_80C6630 + + thumb_func_start debug_80C6678 +debug_80C6678: + push {r4, r5, r6, r7, lr} + mov r7, r9 + mov r6, r8 + push {r6, r7} + mov r9, r0 + add r6, r1, #0 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + mov r8, r3 + mov r7, #0x0 + sub r0, r2, #1 + cmp r0, #0x9 + bhi ._644 @cond_branch + lsl r0, r0, #0x2 + ldr r1, ._633 + add r0, r0, r1 + ldr r0, [r0] + mov pc, r0 +._634: + .align 2, 0 +._633: + .word ._632 +._632: + .word ._635 + .word ._636 + .word ._637 + .word ._638 + .word ._639 + .word ._640 + .word ._641 + .word ._642 + .word ._643 + .word ._644 +._644: + mov r0, r9 + add r4, r0, r7 + ldr r5, ._645 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x9 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._643: + mov r1, r9 + add r4, r1, r7 + ldr r5, ._645 + 4 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x8 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._642: + mov r0, r9 + add r4, r0, r7 + ldr r5, ._645 + 8 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x7 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._641: + mov r1, r9 + add r4, r1, r7 + ldr r5, ._645 + 12 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x6 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._640: + mov r0, r9 + add r4, r0, r7 + ldr r5, ._645 + 16 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x5 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._639: + mov r1, r9 + add r4, r1, r7 + ldr r5, ._645 + 20 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x4 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._638: + mov r0, r9 + add r4, r0, r7 + mov r5, #0xfa + lsl r5, r5, #0x2 + add r0, r6, #0 + add r1, r5, #0 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x3 + bl debug_80C6630 + add r0, r6, #0 + add r1, r5, #0 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._637: + mov r1, r9 + add r4, r1, r7 + add r0, r6, #0 + mov r1, #0x64 + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x2 + bl debug_80C6630 + add r0, r6, #0 + mov r1, #0x64 + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._636: + mov r0, r9 + add r4, r0, r7 + add r0, r6, #0 + mov r1, #0xa + bl __udivsi3 + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r4, #0 + mov r2, r8 + mov r3, #0x1 + bl debug_80C6630 + add r0, r6, #0 + mov r1, #0xa + bl __umodsi3 + add r6, r0, #0 + add r0, r7, #4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +._635: + mov r1, r9 + add r0, r1, r7 + lsl r1, r6, #0x18 + lsr r1, r1, #0x18 + mov r2, r8 + mov r3, #0x0 + bl debug_80C6630 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._646: + .align 2, 0 +._645: + .word 0x3b9aca00 + .word 0x5f5e100 + .word 0x989680 + .word 0xf4240 + .word 0x186a0 + .word 0x2710 + + thumb_func_end debug_80C6678 + + thumb_func_start debug_80C689C +debug_80C689C: + push {r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r3, #0x0 + ldrb r0, [r4] + b ._647 +._649: + add r1, r5, r3 + add r0, r4, r3 + ldrb r0, [r0] + strb r0, [r1] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + add r0, r4, r3 + ldrb r0, [r0] +._647: + cmp r0, #0xff + beq ._648 @cond_branch + cmp r3, r2 + bcc ._649 @cond_branch +._648: + pop {r4, r5} + pop {r0} + bx r0 + + thumb_func_end debug_80C689C + + thumb_func_start debug_80C68CC +debug_80C68CC: + push {r4, r5, r6, r7, lr} + add sp, sp, #0xfffffff8 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + lsl r1, r1, #0x18 + lsr r6, r1, #0x18 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + mov r2, #0x0 + mov r1, #0x0 +._650: + mov r7, sp + add r0, r7, r2 + strb r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x3 + bls ._650 @cond_branch + mov r1, sp + mov r0, #0xff + strb r0, [r1, #0x4] + cmp r3, #0x2 + beq ._651 @cond_branch + cmp r3, #0x2 + bgt ._652 @cond_branch + cmp r3, #0x1 + beq ._653 @cond_branch + b ._654 +._652: + cmp r3, #0x3 + beq ._655 @cond_branch +._654: + mov r1, sp + lsr r0, r4, #0xc + strb r0, [r1] +._655: + mov r1, sp + mov r0, #0xf0 + lsl r0, r0, #0x4 + and r0, r0, r4 + lsr r0, r0, #0x8 + strb r0, [r1, #0x1] +._651: + mov r1, sp + mov r0, #0xf0 + and r0, r0, r4 + lsr r0, r0, #0x4 + strb r0, [r1, #0x2] +._653: + mov r2, sp + mov r1, #0xf + add r0, r4, #0 + and r0, r0, r1 + strb r0, [r2, #0x3] + mov r2, #0x0 +._658: + mov r0, sp + add r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0x9 + bhi ._656 @cond_branch + add r0, r0, #0xa1 + b ._657 +._656: + add r0, r0, #0xb1 +._657: + strb r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x3 + bls ._658 @cond_branch + mov r0, #0x4 + sub r0, r0, r3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r0, r0, sp + add r1, r6, #0 + add r2, r5, #0 + bl Menu_PrintText + add sp, sp, #0x8 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_80C68CC + + thumb_func_start InitSeePokemonGraphics +InitSeePokemonGraphics: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffff8 + bl debug_80C35DC + ldr r1, ._659 + ldr r2, ._659 + 4 + ldr r0, ._659 + 8 + str r1, [r0] + str r2, [r0, #0x4] + ldr r1, ._659 + 12 + str r1, [r0, #0x8] + ldr r0, [r0, #0x8] + ldr r0, ._659 + 16 + mov r1, #0x80 + mov r2, #0x60 + bl LoadPalette + ldr r1, ._659 + 20 + add r0, sp, #0x4 + strh r1, [r0] + mov r1, #0x0 + mov r2, #0x2 + bl LoadPalette + mov r0, #0x1 + neg r0, r0 + mov r5, #0x0 + str r5, [sp] + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x0 + bl BeginNormalPaletteFade + ldr r0, ._659 + 24 + mov r6, #0x0 + strh r5, [r0] + add r0, r0, #0x4 + strh r5, [r0] + sub r0, r0, #0x2 + strh r5, [r0] + add r0, r0, #0x4 + strh r5, [r0] + ldr r1, ._659 + 28 + mov r0, #0x3f + strh r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1f + strh r0, [r1] + add r1, r1, #0x6 + mov r0, #0xf1 + strh r0, [r1] + ldr r0, ._659 + 32 + strh r5, [r0] + add r1, r1, #0x4 + mov r0, #0x7 + strh r0, [r1] + ldr r3, ._659 + 36 + ldrh r2, [r3] + strh r5, [r3] + ldr r4, ._659 + 40 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, ._659 + 44 + bl SetVBlankCallback + ldr r0, ._659 + 48 + bl SetMainCallback2 + bl sub_809D51C + ldr r1, ._659 + 52 + ldr r2, ._659 + 56 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x2 + ldr r2, ._659 + 60 + add r0, r2, #0 + strh r0, [r1] + sub r1, r1, #0xa + mov r2, #0xcd + lsl r2, r2, #0x6 + add r0, r2, #0 + strh r0, [r1] + ldr r0, ._659 + 64 + mov r1, #0x0 + bl CreateTask + ldr r1, ._659 + 68 + ldr r0, ._659 + 72 + str r0, [r1] + ldr r1, ._659 + 76 + strh r1, [r0] + strb r6, [r0, #0x2] + strb r6, [r0, #0x3] + strb r6, [r0, #0x5] + strb r6, [r0, #0x7] + strb r6, [r0, #0xa] + strb r6, [r0, #0x8] + ldr r4, ._659 + 80 + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + ldr r6, ._659 + 84 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + strh r5, [r0, #0x2e] + mov r1, #0x0 + bl StartSpriteAnim + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + mov r1, #0x1 + strh r1, [r0, #0x2e] + bl StartSpriteAnim + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + mov r1, #0x2 + strh r1, [r0, #0x2e] + bl StartSpriteAnim + add sp, sp, #0x8 + pop {r4, r5, r6} + pop {r0} + bx r0 +._660: + .align 2, 0 +._659: + .word byte_83F88EC + .word 0x600e000 + .word 0x40000d4 + .word 0x80000400 + .word word_83F888C + .word 0x7fff + .word 0x4000040 + .word 0x4000048 + .word 0x4000052 + .word 0x4000208 + .word 0x4000200 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word 0x4000008 + .word 0x1f0b + .word 0x1e0a + .word debug_80C6B00+1 + .word gUnknown_Debug_2038A20 + .word +0x2018000 + .word 0x115 + .word gSpriteTemplate_83F8874 + .word gSprites + + thumb_func_end InitSeePokemonGraphics + + thumb_func_start debug_80C6B00 +debug_80C6B00: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xffffffec + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r1, ._666 + mov r0, sp + mov r2, #0x12 + bl memcpy + mov r0, #0xa + mov r1, #0x0 + mov r2, #0xf + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x9 + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0xa + mov r2, #0x9 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, #0x10 + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r0, ._666 + 4 + mov r1, #0x11 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._666 + 8 + mov r1, #0x1b + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._666 + 12 + mov r1, #0x11 + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0xa + mov r1, #0x8 + mov r2, #0x1d + mov r3, #0xc + bl Menu_DrawStdWindowFrame + mov r2, #0x0 + ldr r4, ._666 + 16 + ldr r0, ._666 + 20 + add r3, r0, #0 +._661: + lsl r0, r2, #0x1 + add r0, r0, r4 + add r1, r2, r3 + strh r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0xe + bls ._661 @cond_branch + mov r2, #0x0 + ldr r5, ._666 + 24 + lsl r6, r7, #0x2 + mov r8, r6 + ldr r4, ._666 + 28 + ldr r0, ._666 + 32 + add r3, r0, #0 +._662: + lsl r0, r2, #0x1 + add r0, r0, r4 + add r1, r2, r3 + strh r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0xe + bls ._662 @cond_branch + add r0, r5, #0 + mov r1, #0x14 + mov r2, #0xa + bl Menu_PrintText + mov r0, #0xa + mov r1, #0xd + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r1, sp + mov r0, #0x23 + strb r0, [r1] + mov r2, #0x0 + ldr r4, ._666 + 36 + mov r5, #0x93 + lsl r5, r5, #0x8 + add r3, r5, #0 +._663: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._663 @cond_branch + mov r1, sp + mov r0, #0x24 + strb r0, [r1] + mov r2, #0x0 + ldr r5, ._666 + 40 + ldr r4, ._666 + 44 + mov r0, #0x93 + lsl r0, r0, #0x8 + add r3, r0, #0 +._664: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._664 @cond_branch + mov r1, sp + mov r0, #0x25 + strb r0, [r1] + mov r2, #0x0 + ldr r4, ._666 + 48 + mov r0, #0x93 + lsl r0, r0, #0x8 + add r3, r0, #0 +._665: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._665 @cond_branch + add r0, r5, #0 + mov r1, #0xf + mov r2, #0x11 + bl Menu_PrintText + ldr r1, ._666 + 52 + ldr r2, ._666 + 56 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r5, ._666 + 60 + add r0, r5, #0 + strh r0, [r1] + ldr r1, ._666 + 64 + mov r6, r8 + add r0, r6, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._666 + 68 + str r1, [r0] + add sp, sp, #0x14 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._667: + .align 2, 0 +._666: + .word gUnknown_Debug_083F8815 + .word gUnknown_Debug_083F87D0 + .word gUnknown_Debug_083F87D8 + .word gUnknown_Debug_083F87E0 + .word 0x600fa56 + .word 0xa311 + .word gUnknown_Debug_083F87F4 + .word 0x600f256 + .word 0x8301 + .word 0x600f396 + .word gUnknown_Debug_083F8801 + .word 0x600f3d6 + .word 0x600f416 + .word 0x4000040 + .word 0x51ef + .word 0x699f + .word gTasks + .word debug_80C6CB8+1 + + thumb_func_end debug_80C6B00 + + thumb_func_start debug_80C6CB8 +debug_80C6CB8: + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, r9 + mov r5, r8 + push {r5, r6, r7} + add sp, sp, #0xfffffff4 + mov sl, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov sl, r0 + ldr r5, ._668 + ldr r4, [r5] + ldrh r2, [r4] + lsl r0, r2, #0x3 + ldr r1, ._668 + 4 + add r0, r0, r1 + ldr r1, ._668 + 8 + lsl r2, r2, #0x2 + add r2, r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, #0x1] + ldr r3, ._668 + 12 + mov r8, r3 + ldr r6, [r3] + str r6, [sp, #0x8] + ldr r3, [r3, #0x4] + str r3, [sp] + ldrh r3, [r4] + str r3, [sp, #0x4] + add r3, r6, #0 + bl DecompressPicFromTable_2 + ldr r0, [r5] + ldrh r0, [r0] + lsl r0, r0, #0x3 + ldr r7, ._668 + 16 + add r0, r0, r7 + bl LoadCompressedObjectPalette + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x1 + bl GetMonSpriteTemplate_803C56C + ldr r0, ._668 + 20 + mov r1, #0x28 + mov r2, #0x28 + mov r3, #0x0 + bl CreateSprite + ldr r1, [r5] + strb r0, [r1, #0x2] + ldr r2, [r5] + ldrb r1, [r2, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r1, ._668 + 24 + add r0, r0, r1 + ldr r3, ._668 + 28 + mov r9, r3 + str r3, [r0] + ldrb r0, [r2, #0x2] + lsl r1, r0, #0x4 + add r1, r1, r0 + lsl r1, r1, #0x2 + ldr r6, ._668 + 32 + add r1, r1, r6 + ldrb r2, [r1, #0x5] + mov r6, #0xd + neg r6, r6 + add r0, r6, #0 + and r0, r0, r2 + strb r0, [r1, #0x5] + ldr r4, [r5] + ldrh r2, [r4] + lsl r0, r2, #0x3 + ldr r1, ._668 + 36 + add r0, r0, r1 + ldr r1, ._668 + 40 + lsl r2, r2, #0x2 + add r2, r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, #0x1] + mov r7, r8 + ldr r3, [r7, #0x8] + str r3, [sp] + ldrh r3, [r4] + str r3, [sp, #0x4] + ldr r3, [sp, #0x8] + bl DecompressPicFromTable_2 + ldr r0, [r5] + ldrh r0, [r0] + lsl r0, r0, #0x3 + ldr r1, ._668 + 16 + add r0, r0, r1 + bl LoadCompressedObjectPalette + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x2 + bl GetMonSpriteTemplate_803C56C + ldr r0, ._668 + 20 + mov r1, #0x28 + mov r2, #0x78 + mov r3, #0x0 + bl CreateSprite + ldr r1, [r5] + strb r0, [r1, #0x3] + ldr r2, [r5] + ldrb r1, [r2, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r3, ._668 + 24 + add r0, r0, r3 + mov r7, r9 + str r7, [r0] + ldrb r1, [r2, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r1, ._668 + 32 + add r0, r0, r1 + ldrb r1, [r0, #0x5] + and r6, r6, r1 + strb r6, [r0, #0x5] + ldr r0, [r5] + ldrh r0, [r0] + ldr r1, ._668 + 44 + mov r2, #0x0 + str r2, [sp] + str r2, [sp, #0x4] + mov r2, #0x68 + mov r3, #0x2c + bl CreateMonIcon + ldr r1, [r5] + strb r0, [r1, #0x4] + ldr r0, [r5] + ldrh r0, [r0] + bl SpeciesToNationalPokedexNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r2, #0xff + lsl r2, r2, #0x2 + mov r1, #0x2 + bl sub_8091738 + ldr r1, ._668 + 48 + ldr r3, ._668 + 52 + add r0, r3, #0 + strh r0, [r1] + add r1, r1, #0x2 + ldr r6, ._668 + 56 + add r0, r6, #0 + strh r0, [r1] + add r1, r1, #0x3e + ldr r7, ._668 + 60 + add r0, r7, #0 + strh r0, [r1] + add r1, r1, #0x2 + ldr r2, ._668 + 64 + add r0, r2, #0 + strh r0, [r1] + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x11 + mov r2, #0x3 + bl debug_80C3800 + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x1a + mov r2, #0x5 + bl debug_80C376C + ldr r2, [r5] + ldrb r1, [r2, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + ldr r3, ._668 + 32 + add r0, r0, r3 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + strb r0, [r2, #0x6] + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + ldr r4, ._668 + 68 + add r0, r0, r4 + ldr r6, ._668 + 72 + add r1, r4, r6 + mov r2, #0x10 + bl CpuSet + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + add r0, r0, r4 + ldr r1, ._668 + 76 + mov r2, #0x10 + bl CpuSet + ldr r1, ._668 + 80 + mov r7, sl + lsl r0, r7, #0x2 + add r0, r0, sl + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._668 + 84 + str r1, [r0] + ldr r0, [r5] + mov r1, #0x0 + strb r1, [r0, #0x9] + bl StopCryAndClearCrySongs + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x0 + bl PlayCry1 + add sp, sp, #0xc + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._669: + .align 2, 0 +._668: + .word gUnknown_Debug_2038A20 + .word gMonFrontPicTable + .word gMonFrontPicCoords + .word gUnknown_081FAF4C + .word gMonPaletteTable + .word gUnknown_02024E8C + .word gSprites+0x1c + .word debug_69+1 + .word gSprites + .word gMonBackPicTable + .word gMonBackPicCoords + .word sub_809D62C+1 + .word 0x600f858 + .word 0xf3fc + .word 0xf3fd + .word 0xf3fe + .word 0xf3ff + .word gPlttBufferUnfaded+0x200 + .word 0xffffff00 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C6EE8+1 + + thumb_func_end debug_80C6CB8 + + thumb_func_start debug_80C6EE8 +debug_80C6EE8: + push {r4, r5, r6, lr} + add r6, r0, #0 + lsl r6, r6, #0x18 + lsr r6, r6, #0x18 + ldr r4, ._670 + ldr r5, ._670 + 4 + ldr r1, [r5] + add r1, r1, #0x10 + add r0, r4, #0 + mov r2, #0x10 + bl CpuSet + ldr r0, ._670 + 8 + add r4, r4, r0 + ldr r3, [r5] + ldrb r0, [r3, #0x7] + add r0, r0, #0x81 + lsl r0, r0, #0x1 + add r0, r0, r4 + ldrh r4, [r0] + mov r1, #0x1f + and r1, r1, r4 + ldrb r2, [r3, #0xc] + mov r0, #0x20 + neg r0, r0 + and r0, r0, r2 + orr r0, r0, r1 + strb r0, [r3, #0xc] + ldr r3, [r5] + mov r1, #0xf8 + lsl r1, r1, #0x2 + and r1, r1, r4 + ldrh r2, [r3, #0xc] + ldr r0, ._670 + 12 + and r0, r0, r2 + orr r0, r0, r1 + strh r0, [r3, #0xc] + mov r1, #0xf8 + lsl r1, r1, #0x7 + and r1, r1, r4 + lsr r1, r1, #0x8 + ldrb r2, [r3, #0xd] + mov r0, #0x7d + neg r0, r0 + and r0, r0, r2 + orr r0, r0, r1 + strb r0, [r3, #0xd] + ldr r2, [r5] + ldrb r1, [r2, #0xd] + mov r0, #0x7f + and r0, r0, r1 + strb r0, [r2, #0xd] + ldr r0, [r5] + ldrb r0, [r0, #0x7] + add r0, r0, #0x1 + mov r1, #0xb + mov r2, #0xa + mov r3, #0x2 + bl debug_80C68CC + ldr r0, ._670 + 16 + mov r1, #0xd + mov r2, #0xa + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xe + mov r2, #0xa + mov r3, #0x4 + bl debug_80C68CC + ldr r1, ._670 + 20 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._670 + 24 + str r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 +._671: + .align 2, 0 +._670: + .word gPlttBufferUnfaded+0x100 + .word gUnknown_Debug_2038A20 + .word 0xffffff00 + .word 0xfffffc1f + .word gUnknown_Debug_083F8813 + .word gTasks + .word debug_80C6FA8+1 + + thumb_func_end debug_80C6EE8 + + thumb_func_start debug_80C6FA8 +debug_80C6FA8: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r1, ._674 + ldrh r2, [r1, #0x2e] + mov r0, #0x2 + and r0, r0, r2 + add r4, r1, #0 + cmp r0, #0 + beq ._672 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._674 + 4 + bl SetMainCallback2 + ldr r1, ._674 + 8 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._674 + 12 + str r1, [r0] + b ._703 +._675: + .align 2, 0 +._674: + .word gMain + .word debug_80C370C+1 + .word gTasks + .word debug_80C373C+1 +._672: + ldrh r1, [r4, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._676 @cond_branch + ldr r4, ._678 + ldr r0, [r4] + ldrh r1, [r0] + mov r0, #0x0 + b ._677 +._679: + .align 2, 0 +._678: + .word gUnknown_Debug_2038A20 +._676: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._680 @cond_branch + ldr r4, ._682 + ldr r0, [r4] + ldrh r1, [r0] + mov r0, #0x1 +._677: + bl debug_80C3878 + ldr r1, [r4] + strh r0, [r1] + ldr r1, ._682 + 4 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._682 + 8 + str r1, [r0] + b ._703 +._683: + .align 2, 0 +._682: + .word gUnknown_Debug_2038A20 + .word gTasks + .word debug_80C71FC+1 +._680: + mov r3, #0x1 + and r3, r3, r2 + cmp r3, #0 + beq ._684 @cond_branch + ldr r0, ._686 + ldr r1, [r0] + mov r0, #0x1 + strb r0, [r1, #0x5] + ldr r1, ._686 + 4 + ldr r2, ._686 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._686 + 12 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._686 + 16 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._686 + 20 + str r1, [r0] + b ._703 +._687: + .align 2, 0 +._686: + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x4167 + .word gTasks + .word debug_80C7294+1 +._684: + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._689 @cond_branch + ldr r1, ._691 + ldr r2, [r1] + ldrb r0, [r2, #0x7] + cmp r0, #0xd + bhi ._689 @cond_branch + lsl r0, r0, #0x1 + ldr r2, ._691 + 4 + add r0, r0, r2 + strh r3, [r0] + ldr r1, [r1] + ldrb r0, [r1, #0x7] + add r0, r0, #0x1 + strb r0, [r1, #0x7] + b ._695 +._692: + .align 2, 0 +._691: + .word gUnknown_Debug_2038A20 + .word 0x5000102 +._689: + ldrh r1, [r4, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._694 @cond_branch + ldr r2, ._696 + ldr r1, [r2] + ldrb r0, [r1, #0x7] + cmp r0, #0 + beq ._694 @cond_branch + lsl r0, r0, #0x1 + ldr r1, ._696 + 4 + add r0, r0, r1 + mov r1, #0x0 + strh r1, [r0] + ldr r1, [r2] + ldrb r0, [r1, #0x7] + sub r0, r0, #0x1 + strb r0, [r1, #0x7] + b ._695 +._697: + .align 2, 0 +._696: + .word gUnknown_Debug_2038A20 + .word 0x5000102 +._694: + ldrh r1, [r4, #0x2e] + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + beq ._698 @cond_branch + ldr r4, ._701 + ldr r2, [r4] + ldrb r0, [r2, #0x9] + mov r1, #0x1 + eor r0, r0, r1 + strb r0, [r2, #0x9] + ldr r1, [r4] + ldrb r0, [r1, #0x9] + cmp r0, #0 + beq ._699 @cond_branch + ldrh r0, [r1] + mov r1, #0x0 + mov r2, #0x0 + bl GetMonSpritePalFromOtIdPersonality + ldr r1, [r4] + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x14 + mov r2, #0x80 + lsl r2, r2, #0x11 + add r1, r1, r2 + lsr r1, r1, #0x10 + mov r2, #0x20 + bl LoadCompressedPalette + b ._700 +._702: + .align 2, 0 +._701: + .word gUnknown_Debug_2038A20 +._699: + ldrh r0, [r1] + mov r1, #0x0 + mov r2, #0x9 + bl GetMonSpritePalFromOtIdPersonality + ldr r1, [r4] + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x14 + mov r2, #0x80 + lsl r2, r2, #0x11 + add r1, r1, r2 + lsr r1, r1, #0x10 + mov r2, #0x20 + bl LoadCompressedPalette +._700: + ldr r5, ._704 + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + ldr r4, ._704 + 4 + add r0, r0, r4 + ldr r2, ._704 + 8 + add r1, r4, r2 + mov r2, #0x10 + bl CpuSet + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + add r0, r0, r4 + ldr r1, ._704 + 12 + mov r2, #0x10 + bl CpuSet +._695: + ldr r1, ._704 + 16 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._704 + 20 + str r1, [r0] + b ._703 +._705: + .align 2, 0 +._704: + .word gUnknown_Debug_2038A20 + .word gPlttBufferUnfaded+0x200 + .word 0xffffff00 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C6EE8+1 +._698: + mov r0, #0x4 + and r0, r0, r1 + cmp r0, #0 + beq ._706 @cond_branch + bl StopCryAndClearCrySongs + ldr r0, ._707 + ldr r0, [r0] + ldrh r0, [r0] + mov r1, #0x0 + bl PlayCry1 +._706: + ldr r2, ._707 + ldr r1, [r2] + ldrb r0, [r1, #0x8] + add r0, r0, #0x4 + strb r0, [r1, #0x8] + ldr r3, [r2] + ldrb r1, [r3, #0x8] + mov r0, #0x1f + and r0, r0, r1 + strb r0, [r3, #0x8] + ldr r0, [r2] + ldrb r1, [r0, #0x7] + lsl r1, r1, #0x1 + ldr r2, ._707 + 4 + add r1, r1, r2 + ldr r2, ._707 + 8 + ldrb r0, [r0, #0x8] + lsl r0, r0, #0x1 + add r0, r0, r2 + ldrh r0, [r0] + strh r0, [r1] +._703: + add sp, sp, #0x4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._708: + .align 2, 0 +._707: + .word gUnknown_Debug_2038A20 + .word 0x5000142 + .word gUnknown_Debug_083F8790 + + thumb_func_end debug_80C6FA8 + + thumb_func_start debug_80C71FC +debug_80C71FC: + push {r4, r5, r6, lr} + add r5, r0, #0 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + ldr r6, ._709 + ldr r4, ._709 + 4 + ldr r0, [r4] + ldrb r1, [r0, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, [r4] + ldrb r1, [r0, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl DestroySprite + ldr r0, [r4] + ldrb r1, [r0, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, [r4] + ldrb r1, [r0, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl DestroySprite + ldr r0, [r4] + ldrb r1, [r0, #0x4] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl sub_809D510 + ldr r1, ._709 + 8 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._709 + 12 + str r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 +._710: + .align 2, 0 +._709: + .word gSprites + .word gUnknown_Debug_2038A20 + .word gTasks + .word debug_80C6CB8+1 + + thumb_func_end debug_80C71FC + + thumb_func_start debug_80C7294 +debug_80C7294: + push {r4, r5, r6, r7, lr} + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, ._713 + ldrh r2, [r0, #0x2e] + mov r1, #0x1 + and r1, r1, r2 + add r3, r0, #0 + cmp r1, #0 + beq ._711 @cond_branch + ldr r0, ._713 + 4 + ldr r1, [r0] + mov r0, #0x0 + strb r0, [r1, #0x5] + ldr r1, ._713 + 8 + ldr r2, ._713 + 12 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._713 + 16 + add r0, r2, #0 + strh r0, [r1] + b ._712 +._714: + .align 2, 0 +._713: + .word gMain + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x699f +._711: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._715 @cond_branch + ldr r6, ._717 + ldr r0, [r6] + strb r1, [r0, #0x5] + ldr r1, ._717 + 4 + ldr r2, ._717 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._717 + 12 + add r0, r2, #0 + strh r0, [r1] + ldr r0, [r6] + add r0, r0, #0x10 + ldr r4, ._717 + 16 + add r1, r4, #0 + mov r2, #0x10 + bl CpuSet + ldr r0, [r6] + add r0, r0, #0x10 + ldr r5, ._717 + 20 + add r1, r5, #0 + mov r2, #0x10 + bl CpuSet + ldr r1, [r6] + add r0, r1, #0 + add r0, r0, #0x10 + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x5 + mov r2, #0x80 + lsl r2, r2, #0x1 + add r4, r4, r2 + add r1, r1, r4 + mov r2, #0x10 + bl CpuSet + ldr r1, [r6] + add r0, r1, #0 + add r0, r0, #0x10 + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x5 + mov r2, #0x80 + lsl r2, r2, #0x1 + add r5, r5, r2 + add r1, r1, r5 + mov r2, #0x10 + bl CpuSet +._712: + ldr r1, ._717 + 24 + lsl r0, r7, #0x2 + add r0, r0, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._717 + 28 + str r1, [r0] + b ._754 +._718: + .align 2, 0 +._717: + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x699f + .word gPlttBufferUnfaded+0x100 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C6EE8+1 +._715: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._720 @cond_branch + ldr r0, ._722 + ldr r1, [r0] + ldrb r0, [r1, #0xa] + cmp r0, #0x1 + bhi ._720 @cond_branch + add r0, r0, #0x1 + strb r0, [r1, #0xa] + b ._754 +._723: + .align 2, 0 +._722: + .word gUnknown_Debug_2038A20 +._720: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._725 @cond_branch + ldr r0, ._727 + ldr r1, [r0] + ldrb r0, [r1, #0xa] + cmp r0, #0 + beq ._725 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1, #0xa] + b ._754 +._728: + .align 2, 0 +._727: + .word gUnknown_Debug_2038A20 +._725: + ldrh r1, [r3, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._729 @cond_branch + ldr r0, ._734 + ldr r2, [r0] + ldrb r0, [r2, #0xa] + cmp r0, #0x1 + beq ._730 @cond_branch + cmp r0, #0x1 + bgt ._731 @cond_branch + cmp r0, #0 + beq ._732 @cond_branch + b ._754 +._735: + .align 2, 0 +._734: + .word gUnknown_Debug_2038A20 +._731: + cmp r0, #0x2 + beq ._736 @cond_branch + b ._754 +._732: + ldrb r3, [r2, #0xc] + lsl r1, r3, #0x1b + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._761 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + mov r1, #0x20 + neg r1, r1 + and r1, r1, r3 + orr r1, r1, r0 + strb r1, [r2, #0xc] + b ._761 +._730: + ldrh r3, [r2, #0xc] + lsl r1, r3, #0x16 + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._761 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x5 + ldr r1, ._742 + and r1, r1, r3 + orr r1, r1, r0 + strh r1, [r2, #0xc] + b ._761 +._743: + .align 2, 0 +._742: + .word 0xfffffc1f +._736: + ldrb r3, [r2, #0xd] + lsl r1, r3, #0x19 + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._761 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x2 + mov r1, #0x7d + neg r1, r1 + and r1, r1, r3 + orr r1, r1, r0 + strb r1, [r2, #0xd] + b ._761 +._729: + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._754 @cond_branch + ldr r0, ._751 + ldr r3, [r0] + ldrb r0, [r3, #0xa] + cmp r0, #0x1 + beq ._747 @cond_branch + cmp r0, #0x1 + bgt ._748 @cond_branch + cmp r0, #0 + beq ._749 @cond_branch + b ._754 +._752: + .align 2, 0 +._751: + .word gUnknown_Debug_2038A20 +._748: + cmp r0, #0x2 + beq ._753 @cond_branch + b ._754 +._749: + ldrb r2, [r3, #0xc] + mov r0, #0x1f + and r0, r0, r2 + cmp r0, #0 + beq ._761 @cond_branch + lsl r0, r2, #0x1b + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + mov r1, #0x20 + neg r1, r1 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3, #0xc] + b ._761 +._747: + ldrh r2, [r3, #0xc] + mov r0, #0xf8 + lsl r0, r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._761 @cond_branch + lsl r0, r2, #0x16 + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x5 + ldr r1, ._759 + and r1, r1, r2 + orr r1, r1, r0 + strh r1, [r3, #0xc] + b ._761 +._760: + .align 2, 0 +._759: + .word 0xfffffc1f +._753: + ldrb r2, [r3, #0xd] + mov r0, #0x7c + and r0, r0, r2 + cmp r0, #0 + beq ._761 @cond_branch + lsl r0, r2, #0x19 + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x2 + mov r1, #0x7d + neg r1, r1 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3, #0xd] +._761: + ldr r0, ._762 + lsl r1, r7, #0x2 + add r1, r1, r7 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._762 + 4 + str r0, [r1] +._754: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._763: + .align 2, 0 +._762: + .word gTasks + .word debug_80C74E4+1 + + thumb_func_end debug_80C7294 + + thumb_func_start debug_80C74E4 +debug_80C74E4: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add r5, r0, #0 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + ldr r0, ._764 + ldr r3, [r0] + ldrb r0, [r3, #0xc] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1b + ldrh r2, [r3, #0xc] + mov r1, #0xf8 + lsl r1, r1, #0x2 + and r1, r1, r2 + add r0, r0, r1 + ldrb r1, [r3, #0xd] + lsl r1, r1, #0x19 + lsr r1, r1, #0x1b + lsl r1, r1, #0xa + add r0, r0, r1 + ldr r6, ._764 + 4 + ldrb r1, [r3, #0x7] + add r1, r1, #0x81 + lsl r1, r1, #0x1 + add r1, r1, r6 + strh r0, [r1] + ldr r1, ._764 + 8 + mov r8, r1 + ldrb r1, [r3, #0x7] + add r1, r1, #0x81 + lsl r1, r1, #0x1 + add r1, r1, r8 + strh r0, [r1] + ldrb r1, [r3, #0x6] + lsl r1, r1, #0x4 + ldrb r2, [r3, #0x7] + ldr r4, ._764 + 12 + add r2, r2, r4 + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r1, r6 + strh r0, [r1] + ldrb r1, [r3, #0x6] + lsl r1, r1, #0x4 + ldrb r2, [r3, #0x7] + add r2, r2, r4 + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r1, r8 + strh r0, [r1] + mov r1, #0xe + mov r2, #0xa + mov r3, #0x4 + bl debug_80C68CC + ldr r1, ._764 + 16 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._764 + 20 + str r1, [r0] + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._765: + .align 2, 0 +._764: + .word gUnknown_Debug_2038A20 + .word gPlttBufferUnfaded + .word gPlttBufferFaded + .word 0x101 + .word gTasks + .word debug_80C7294+1 + + thumb_func_end debug_80C74E4 + + thumb_func_start debug_80C7584 +debug_80C7584: + push {r4, lr} + add r2, r0, #0 + ldr r0, ._771 + ldr r3, [r0] + ldrb r1, [r3, #0x5] + add r4, r0, #0 + cmp r1, #0 + beq ._766 @cond_branch + mov r1, #0x2e + ldsh r0, [r2, r1] + cmp r0, #0x1 + beq ._767 @cond_branch + cmp r0, #0x1 + ble ._768 @cond_branch + cmp r0, #0x2 + beq ._769 @cond_branch +._768: + ldrb r0, [r3, #0xc] + lsl r0, r0, #0x1b + b ._773 +._772: + .align 2, 0 +._771: + .word gUnknown_Debug_2038A20 +._767: + ldrh r0, [r3, #0xc] + lsl r0, r0, #0x16 + b ._773 +._769: + ldrb r0, [r3, #0xd] + lsl r0, r0, #0x19 +._773: + lsr r0, r0, #0x1b + lsl r0, r0, #0x2 + strh r0, [r2, #0x24] + mov r1, #0x2e + ldsh r0, [r2, r1] + lsl r0, r0, #0x3 + strh r0, [r2, #0x26] + ldrh r0, [r2, #0x30] + add r3, r0, #1 + strh r3, [r2, #0x30] + mov r0, #0x2e + ldsh r1, [r2, r0] + ldr r0, [r4] + ldrb r0, [r0, #0xa] + cmp r1, r0 + bne ._775 @cond_branch + mov r0, #0x8 + and r3, r3, r0 + cmp r3, #0 + bne ._775 @cond_branch +._766: + add r0, r2, #0 + add r0, r0, #0x3e + ldrb r1, [r0] + mov r2, #0x4 + orr r1, r1, r2 + strb r1, [r0] + b ._776 +._775: + add r2, r2, #0x3e + ldrb r1, [r2] + mov r0, #0x5 + neg r0, r0 + and r0, r0, r1 + strb r0, [r2] +._776: + pop {r4} + pop {r0} + bx r0 + + thumb_func_end debug_80C7584 + + thumb_func_start InitSeeTrainers +InitSeeTrainers: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffffc + bl debug_80C35DC + ldr r1, ._777 + ldr r2, ._777 + 4 + ldr r0, ._777 + 8 + str r1, [r0] + str r2, [r0, #0x4] + ldr r1, ._777 + 12 + str r1, [r0, #0x8] + ldr r0, [r0, #0x8] + ldr r0, ._777 + 16 + mov r1, #0x80 + mov r2, #0x60 + bl LoadPalette + mov r0, #0x1 + neg r0, r0 + mov r5, #0x0 + str r5, [sp] + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x0 + bl BeginNormalPaletteFade + ldr r0, ._777 + 20 + mov r6, #0x0 + strh r5, [r0] + add r0, r0, #0x4 + strh r5, [r0] + sub r0, r0, #0x2 + strh r5, [r0] + add r0, r0, #0x4 + strh r5, [r0] + ldr r1, ._777 + 24 + mov r0, #0x3f + strh r0, [r1] + add r1, r1, #0x2 + mov r0, #0x1f + strh r0, [r1] + add r1, r1, #0x6 + mov r0, #0xf1 + strh r0, [r1] + ldr r0, ._777 + 28 + strh r5, [r0] + add r1, r1, #0x4 + mov r0, #0x7 + strh r0, [r1] + ldr r3, ._777 + 32 + ldrh r2, [r3] + strh r5, [r3] + ldr r4, ._777 + 36 + ldrh r0, [r4] + mov r1, #0x1 + orr r0, r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, ._777 + 40 + bl SetVBlankCallback + ldr r0, ._777 + 44 + bl SetMainCallback2 + ldr r1, ._777 + 48 + ldr r2, ._777 + 52 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x2 + ldr r2, ._777 + 56 + add r0, r2, #0 + strh r0, [r1] + sub r1, r1, #0xa + mov r2, #0xcd + lsl r2, r2, #0x6 + add r0, r2, #0 + strh r0, [r1] + ldr r0, ._777 + 60 + mov r1, #0x0 + bl CreateTask + ldr r1, ._777 + 64 + ldr r0, ._777 + 68 + str r0, [r1] + strh r5, [r0] + strb r6, [r0, #0x2] + strb r6, [r0, #0x3] + strb r6, [r0, #0x5] + strb r6, [r0, #0x7] + strb r6, [r0, #0xa] + strb r6, [r0, #0x8] + ldr r4, ._777 + 72 + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + ldr r6, ._777 + 76 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + strh r5, [r0, #0x2e] + mov r1, #0x0 + bl StartSpriteAnim + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + mov r1, #0x1 + strh r1, [r0, #0x2e] + bl StartSpriteAnim + add r0, r4, #0 + mov r1, #0x6c + mov r2, #0x74 + mov r3, #0x0 + bl CreateSprite + add r1, r0, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + mov r1, #0x2 + strh r1, [r0, #0x2e] + bl StartSpriteAnim + add sp, sp, #0x4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._778: + .align 2, 0 +._777: + .word byte_83F88EC + .word 0x600e000 + .word 0x40000d4 + .word 0x80000400 + .word word_83F888C + .word 0x4000040 + .word 0x4000048 + .word 0x4000052 + .word 0x4000208 + .word 0x4000200 + .word debug_80C3758+1 + .word debug_80C370C+1 + .word 0x4000008 + .word 0x1f0b + .word 0x1e0a + .word debug_80C777C+1 + .word gUnknown_Debug_2038A20 + .word +0x2018000 + .word gSpriteTemplate_83F8874 + .word gSprites + + thumb_func_end InitSeeTrainers + + thumb_func_start debug_80C777C +debug_80C777C: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xffffffec + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r1, ._784 + mov r0, sp + mov r2, #0x12 + bl memcpy + mov r0, #0x9 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0x0 + mov r2, #0x9 + mov r3, #0x9 + bl Menu_DrawStdWindowFrame + mov r0, #0x0 + mov r1, #0xa + mov r2, #0x9 + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r0, #0xe + mov r1, #0x0 + mov r2, #0x1d + mov r3, #0x7 + bl Menu_DrawStdWindowFrame + ldr r0, ._784 + 4 + mov r1, #0xf + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._784 + 8 + mov r1, #0x19 + mov r2, #0x1 + bl Menu_PrintText + ldr r0, ._784 + 12 + mov r1, #0xf + mov r2, #0x5 + bl Menu_PrintText + mov r0, #0xa + mov r1, #0x8 + mov r2, #0x1d + mov r3, #0xc + bl Menu_DrawStdWindowFrame + mov r2, #0x0 + ldr r4, ._784 + 16 + ldr r0, ._784 + 20 + add r3, r0, #0 +._779: + lsl r0, r2, #0x1 + add r0, r0, r4 + add r1, r2, r3 + strh r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0xe + bls ._779 @cond_branch + mov r2, #0x0 + ldr r5, ._784 + 24 + lsl r6, r7, #0x2 + mov r8, r6 + ldr r4, ._784 + 28 + ldr r0, ._784 + 32 + add r3, r0, #0 +._780: + lsl r0, r2, #0x1 + add r0, r0, r4 + add r1, r2, r3 + strh r1, [r0] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0xe + bls ._780 @cond_branch + add r0, r5, #0 + mov r1, #0x14 + mov r2, #0xa + bl Menu_PrintText + mov r0, #0xa + mov r1, #0xd + mov r2, #0x1d + mov r3, #0x13 + bl Menu_DrawStdWindowFrame + mov r1, sp + mov r0, #0x23 + strb r0, [r1] + mov r2, #0x0 + ldr r4, ._784 + 36 + mov r5, #0x93 + lsl r5, r5, #0x8 + add r3, r5, #0 +._781: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._781 @cond_branch + mov r1, sp + mov r0, #0x24 + strb r0, [r1] + mov r2, #0x0 + ldr r5, ._784 + 40 + ldr r4, ._784 + 44 + mov r0, #0x93 + lsl r0, r0, #0x8 + add r3, r0, #0 +._782: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._782 @cond_branch + mov r1, sp + mov r0, #0x25 + strb r0, [r1] + mov r2, #0x0 + ldr r4, ._784 + 48 + mov r0, #0x93 + lsl r0, r0, #0x8 + add r3, r0, #0 +._783: + lsl r1, r2, #0x1 + add r1, r1, r4 + mov r6, sp + add r0, r6, r2 + ldrb r0, [r0] + add r0, r0, r3 + strh r0, [r1] + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x11 + bls ._783 @cond_branch + add r0, r5, #0 + mov r1, #0xf + mov r2, #0x11 + bl Menu_PrintText + ldr r1, ._784 + 52 + ldr r2, ._784 + 56 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r5, ._784 + 60 + add r0, r5, #0 + strh r0, [r1] + ldr r1, ._784 + 64 + mov r6, r8 + add r0, r6, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._784 + 68 + str r1, [r0] + add sp, sp, #0x14 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._785: + .align 2, 0 +._784: + .word gUnknown_Debug_083F8815 + .word gUnknown_Debug_083F87D0 + .word gUnknown_Debug_083F87D8 + .word gUnknown_Debug_083F87E0 + .word 0x600fa56 + .word 0xa311 + .word gUnknown_Debug_083F87F4 + .word 0x600f256 + .word 0x8301 + .word 0x600f396 + .word gUnknown_Debug_083F8801 + .word 0x600f3d6 + .word 0x600f416 + .word 0x4000040 + .word 0x51ef + .word 0x699f + .word gTasks + .word debug_80C7934+1 + + thumb_func_end debug_80C777C + + thumb_func_start debug_80C7934 +debug_80C7934: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xfffffff8 + mov r8, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r8, r0 + ldr r5, ._786 + ldr r6, [r5] + ldrh r2, [r6] + lsl r0, r2, #0x3 + ldr r1, ._786 + 4 + add r0, r0, r1 + ldr r1, ._786 + 8 + lsl r2, r2, #0x2 + add r2, r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, #0x1] + ldr r4, ._786 + 12 + ldr r3, [r4] + ldr r4, [r4, #0x4] + str r4, [sp] + ldrh r4, [r6] + str r4, [sp, #0x4] + bl DecompressPicFromTable_2 + ldr r0, [r5] + ldrh r0, [r0] + lsl r0, r0, #0x3 + ldr r1, ._786 + 16 + add r0, r0, r1 + bl LoadCompressedObjectPalette + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x1 + bl GetMonSpriteTemplate_803C5A0 + ldr r0, ._786 + 20 + mov r1, #0x28 + mov r2, #0x28 + mov r3, #0x0 + bl CreateSprite + ldr r1, [r5] + mov r6, #0x0 + strb r0, [r1, #0x2] + ldr r4, ._786 + 24 + ldr r2, [r5] + ldrb r1, [r2, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r1, r4, #0 + add r1, r1, #0x1c + add r0, r0, r1 + ldr r1, ._786 + 28 + str r1, [r0] + ldrb r0, [r2, #0x2] + lsl r1, r0, #0x4 + add r1, r1, r0 + lsl r1, r1, #0x2 + add r1, r1, r4 + ldrb r2, [r1, #0x5] + mov r0, #0xd + neg r0, r0 + and r0, r0, r2 + strb r0, [r1, #0x5] + ldr r0, [r5] + ldrh r0, [r0] + mov r1, #0x1a + mov r2, #0x5 + bl debug_80C376C + ldr r2, [r5] + ldrb r1, [r2, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r4 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + strb r0, [r2, #0x6] + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + ldr r4, ._786 + 32 + add r0, r0, r4 + ldr r2, ._786 + 36 + add r1, r4, r2 + mov r2, #0x10 + bl CpuSet + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + add r0, r0, r4 + ldr r1, ._786 + 40 + mov r2, #0x10 + bl CpuSet + ldr r1, ._786 + 44 + mov r2, r8 + lsl r0, r2, #0x2 + add r0, r0, r8 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._786 + 48 + str r1, [r0] + ldr r0, [r5] + strb r6, [r0, #0x9] + add sp, sp, #0x8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._787: + .align 2, 0 +._786: + .word gUnknown_Debug_2038A20 + .word gTrainerFrontPicTable + .word gTrainerFrontPicCoords + .word gUnknown_081FAF4C + .word gTrainerFrontPicPaletteTable + .word gUnknown_02024E8C + .word gSprites + .word debug_69+1 + .word gPlttBufferUnfaded+0x200 + .word 0xffffff00 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C7A54+1 + + thumb_func_end debug_80C7934 + + thumb_func_start debug_80C7A54 +debug_80C7A54: + push {r4, r5, r6, lr} + add r6, r0, #0 + lsl r6, r6, #0x18 + lsr r6, r6, #0x18 + ldr r4, ._788 + ldr r5, ._788 + 4 + ldr r1, [r5] + add r1, r1, #0x10 + add r0, r4, #0 + mov r2, #0x10 + bl CpuSet + ldr r0, ._788 + 8 + add r4, r4, r0 + ldr r3, [r5] + ldrb r0, [r3, #0x7] + add r0, r0, #0x81 + lsl r0, r0, #0x1 + add r0, r0, r4 + ldrh r4, [r0] + mov r1, #0x1f + and r1, r1, r4 + ldrb r2, [r3, #0xc] + mov r0, #0x20 + neg r0, r0 + and r0, r0, r2 + orr r0, r0, r1 + strb r0, [r3, #0xc] + ldr r3, [r5] + mov r1, #0xf8 + lsl r1, r1, #0x2 + and r1, r1, r4 + ldrh r2, [r3, #0xc] + ldr r0, ._788 + 12 + and r0, r0, r2 + orr r0, r0, r1 + strh r0, [r3, #0xc] + mov r1, #0xf8 + lsl r1, r1, #0x7 + and r1, r1, r4 + lsr r1, r1, #0x8 + ldrb r2, [r3, #0xd] + mov r0, #0x7d + neg r0, r0 + and r0, r0, r2 + orr r0, r0, r1 + strb r0, [r3, #0xd] + ldr r2, [r5] + ldrb r1, [r2, #0xd] + mov r0, #0x7f + and r0, r0, r1 + strb r0, [r2, #0xd] + ldr r0, [r5] + ldrb r0, [r0, #0x7] + add r0, r0, #0x1 + mov r1, #0xb + mov r2, #0xa + mov r3, #0x2 + bl debug_80C68CC + ldr r0, ._788 + 16 + mov r1, #0xd + mov r2, #0xa + bl Menu_PrintText + add r0, r4, #0 + mov r1, #0xe + mov r2, #0xa + mov r3, #0x4 + bl debug_80C68CC + ldr r1, ._788 + 20 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._788 + 24 + str r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 +._789: + .align 2, 0 +._788: + .word gPlttBufferUnfaded+0x100 + .word gUnknown_Debug_2038A20 + .word 0xffffff00 + .word 0xfffffc1f + .word gUnknown_Debug_083F8813 + .word gTasks + .word debug_80C7B14+1 + + thumb_func_end debug_80C7A54 + + thumb_func_start debug_80C7B14 +debug_80C7B14: + push {r4, r5, r6, lr} + add sp, sp, #0xfffffffc + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r1, ._792 + ldrh r3, [r1, #0x2e] + mov r0, #0x2 + and r0, r0, r3 + add r4, r1, #0 + cmp r0, #0 + beq ._790 @cond_branch + mov r0, #0x5 + bl PlaySE + mov r0, #0x1 + neg r0, r0 + mov r1, #0x0 + str r1, [sp] + mov r2, #0x0 + mov r3, #0x10 + bl BeginNormalPaletteFade + ldr r0, ._792 + 4 + bl SetMainCallback2 + ldr r1, ._792 + 8 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._792 + 12 + str r1, [r0] + b ._821 +._793: + .align 2, 0 +._792: + .word gMain + .word debug_80C370C+1 + .word gTasks + .word debug_80C373C+1 +._790: + ldrh r1, [r4, #0x30] + mov r0, #0x80 + lsl r0, r0, #0x1 + and r0, r0, r1 + cmp r0, #0 + beq ._794 @cond_branch + ldr r4, ._796 + ldr r0, [r4] + ldrh r1, [r0] + mov r0, #0x0 + b ._795 +._797: + .align 2, 0 +._796: + .word gUnknown_Debug_2038A20 +._794: + mov r0, #0x80 + lsl r0, r0, #0x2 + and r0, r0, r1 + cmp r0, #0 + beq ._798 @cond_branch + ldr r4, ._800 + ldr r0, [r4] + ldrh r1, [r0] + mov r0, #0x1 +._795: + bl debug_80C38B4 + ldr r1, [r4] + strh r0, [r1] + ldr r1, ._800 + 4 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._800 + 8 + str r1, [r0] + b ._821 +._801: + .align 2, 0 +._800: + .word gUnknown_Debug_2038A20 + .word gTasks + .word debug_80C7D44+1 +._798: + mov r2, #0x1 + and r2, r2, r3 + cmp r2, #0 + beq ._802 @cond_branch + ldr r0, ._804 + ldr r1, [r0] + mov r0, #0x1 + strb r0, [r1, #0x5] + ldr r1, ._804 + 4 + ldr r2, ._804 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._804 + 12 + add r0, r2, #0 + strh r0, [r1] + ldr r1, ._804 + 16 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._804 + 20 + str r1, [r0] + b ._821 +._805: + .align 2, 0 +._804: + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x4167 + .word gTasks + .word debug_80C7DDC+1 +._802: + mov r0, #0x10 + and r0, r0, r1 + ldr r3, ._809 + cmp r0, #0 + beq ._807 @cond_branch + ldr r1, [r3] + ldrb r0, [r1, #0x7] + cmp r0, #0xd + bhi ._807 @cond_branch + lsl r0, r0, #0x1 + ldr r1, ._809 + 4 + add r0, r0, r1 + strh r2, [r0] + ldr r1, [r3] + ldrb r0, [r1, #0x7] + add r0, r0, #0x1 + strb r0, [r1, #0x7] + b ._813 +._810: + .align 2, 0 +._809: + .word gUnknown_Debug_2038A20 + .word 0x5000102 +._807: + ldrh r1, [r4, #0x30] + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._812 @cond_branch + ldr r1, [r3] + ldrb r0, [r1, #0x7] + cmp r0, #0 + beq ._812 @cond_branch + lsl r0, r0, #0x1 + ldr r2, ._814 + add r0, r0, r2 + mov r1, #0x0 + strh r1, [r0] + ldr r1, [r3] + ldrb r0, [r1, #0x7] + sub r0, r0, #0x1 + strb r0, [r1, #0x7] + b ._813 +._815: + .align 2, 0 +._814: + .word 0x5000102 +._812: + ldrh r1, [r4, #0x2e] + mov r0, #0x8 + and r0, r0, r1 + cmp r0, #0 + beq ._816 @cond_branch + ldr r4, ._819 + ldr r2, [r4] + ldrb r0, [r2, #0x9] + mov r1, #0x1 + eor r0, r0, r1 + strb r0, [r2, #0x9] + ldr r1, [r4] + ldrb r0, [r1, #0x9] + cmp r0, #0 + beq ._817 @cond_branch + ldrh r0, [r1] + mov r1, #0x0 + mov r2, #0x0 + bl GetMonSpritePalFromOtIdPersonality + ldr r1, [r4] + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x14 + mov r2, #0x80 + lsl r2, r2, #0x11 + add r1, r1, r2 + lsr r1, r1, #0x10 + mov r2, #0x20 + bl LoadCompressedPalette + b ._818 +._820: + .align 2, 0 +._819: + .word gUnknown_Debug_2038A20 +._817: + ldrh r0, [r1] + mov r1, #0x0 + mov r2, #0x9 + bl GetMonSpritePalFromOtIdPersonality + ldr r1, [r4] + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x14 + mov r2, #0x80 + lsl r2, r2, #0x11 + add r1, r1, r2 + lsr r1, r1, #0x10 + mov r2, #0x20 + bl LoadCompressedPalette +._818: + ldr r5, ._822 + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + ldr r4, ._822 + 4 + add r0, r0, r4 + ldr r2, ._822 + 8 + add r1, r4, r2 + mov r2, #0x10 + bl CpuSet + ldr r0, [r5] + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x5 + add r0, r0, r4 + ldr r1, ._822 + 12 + mov r2, #0x10 + bl CpuSet +._813: + ldr r1, ._822 + 16 + lsl r0, r6, #0x2 + add r0, r0, r6 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._822 + 20 + str r1, [r0] + b ._821 +._823: + .align 2, 0 +._822: + .word gUnknown_Debug_2038A20 + .word gPlttBufferUnfaded+0x200 + .word 0xffffff00 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C7A54+1 +._816: + ldr r1, [r3] + ldrb r0, [r1, #0x8] + add r0, r0, #0x4 + strb r0, [r1, #0x8] + ldr r2, [r3] + ldrb r1, [r2, #0x8] + mov r0, #0x1f + and r0, r0, r1 + strb r0, [r2, #0x8] + ldr r0, [r3] + ldrb r1, [r0, #0x7] + lsl r1, r1, #0x1 + ldr r2, ._824 + add r1, r1, r2 + ldr r2, ._824 + 4 + ldrb r0, [r0, #0x8] + lsl r0, r0, #0x1 + add r0, r0, r2 + ldrh r0, [r0] + strh r0, [r1] +._821: + add sp, sp, #0x4 + pop {r4, r5, r6} + pop {r0} + bx r0 +._825: + .align 2, 0 +._824: + .word 0x5000142 + .word gUnknown_Debug_083F8790 + + thumb_func_end debug_80C7B14 + + thumb_func_start debug_80C7D44 +debug_80C7D44: + push {r4, r5, r6, lr} + add r5, r0, #0 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + ldr r6, ._826 + ldr r4, ._826 + 4 + ldr r0, [r4] + ldrb r1, [r0, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, [r4] + ldrb r1, [r0, #0x2] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl DestroySprite + ldr r0, [r4] + ldrb r1, [r0, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + ldrb r0, [r0, #0x5] + lsr r0, r0, #0x4 + bl GetSpritePaletteTagByPaletteNum + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FreeSpritePaletteByTag + ldr r0, [r4] + ldrb r1, [r0, #0x3] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl DestroySprite + ldr r0, [r4] + ldrb r1, [r0, #0x4] + lsl r0, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x2 + add r0, r0, r6 + bl sub_809D510 + ldr r1, ._826 + 8 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._826 + 12 + str r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 +._827: + .align 2, 0 +._826: + .word gSprites + .word gUnknown_Debug_2038A20 + .word gTasks + .word debug_80C7934+1 + + thumb_func_end debug_80C7D44 + + thumb_func_start debug_80C7DDC +debug_80C7DDC: + push {r4, r5, r6, r7, lr} + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, ._830 + ldrh r2, [r0, #0x2e] + mov r1, #0x1 + and r1, r1, r2 + add r3, r0, #0 + cmp r1, #0 + beq ._828 @cond_branch + ldr r0, ._830 + 4 + ldr r1, [r0] + mov r0, #0x0 + strb r0, [r1, #0x5] + ldr r1, ._830 + 8 + ldr r2, ._830 + 12 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._830 + 16 + add r0, r2, #0 + strh r0, [r1] + b ._829 +._831: + .align 2, 0 +._830: + .word gMain + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x699f +._828: + mov r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._832 @cond_branch + ldr r6, ._834 + ldr r0, [r6] + strb r1, [r0, #0x5] + ldr r1, ._834 + 4 + ldr r2, ._834 + 8 + add r0, r2, #0 + strh r0, [r1] + add r1, r1, #0x4 + ldr r2, ._834 + 12 + add r0, r2, #0 + strh r0, [r1] + ldr r0, [r6] + add r0, r0, #0x10 + ldr r4, ._834 + 16 + add r1, r4, #0 + mov r2, #0x10 + bl CpuSet + ldr r0, [r6] + add r0, r0, #0x10 + ldr r5, ._834 + 20 + add r1, r5, #0 + mov r2, #0x10 + bl CpuSet + ldr r1, [r6] + add r0, r1, #0 + add r0, r0, #0x10 + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x5 + mov r2, #0x80 + lsl r2, r2, #0x1 + add r4, r4, r2 + add r1, r1, r4 + mov r2, #0x10 + bl CpuSet + ldr r1, [r6] + add r0, r1, #0 + add r0, r0, #0x10 + ldrb r1, [r1, #0x6] + lsl r1, r1, #0x5 + mov r2, #0x80 + lsl r2, r2, #0x1 + add r5, r5, r2 + add r1, r1, r5 + mov r2, #0x10 + bl CpuSet +._829: + ldr r1, ._834 + 24 + lsl r0, r7, #0x2 + add r0, r0, r7 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._834 + 28 + str r1, [r0] + b ._871 +._835: + .align 2, 0 +._834: + .word gUnknown_Debug_2038A20 + .word 0x4000040 + .word 0x51ef + .word 0x699f + .word gPlttBufferUnfaded+0x100 + .word gPlttBufferFaded+0x100 + .word gTasks + .word debug_80C7A54+1 +._832: + ldrh r1, [r3, #0x30] + mov r0, #0x80 + and r0, r0, r1 + cmp r0, #0 + beq ._837 @cond_branch + ldr r0, ._839 + ldr r1, [r0] + ldrb r0, [r1, #0xa] + cmp r0, #0x1 + bhi ._837 @cond_branch + add r0, r0, #0x1 + strb r0, [r1, #0xa] + b ._871 +._840: + .align 2, 0 +._839: + .word gUnknown_Debug_2038A20 +._837: + ldrh r1, [r3, #0x30] + mov r0, #0x40 + and r0, r0, r1 + cmp r0, #0 + beq ._842 @cond_branch + ldr r0, ._844 + ldr r1, [r0] + ldrb r0, [r1, #0xa] + cmp r0, #0 + beq ._842 @cond_branch + sub r0, r0, #0x1 + strb r0, [r1, #0xa] + b ._871 +._845: + .align 2, 0 +._844: + .word gUnknown_Debug_2038A20 +._842: + ldrh r1, [r3, #0x30] + mov r0, #0x10 + and r0, r0, r1 + cmp r0, #0 + beq ._846 @cond_branch + ldr r0, ._851 + ldr r2, [r0] + ldrb r0, [r2, #0xa] + cmp r0, #0x1 + beq ._847 @cond_branch + cmp r0, #0x1 + bgt ._848 @cond_branch + cmp r0, #0 + beq ._849 @cond_branch + b ._871 +._852: + .align 2, 0 +._851: + .word gUnknown_Debug_2038A20 +._848: + cmp r0, #0x2 + beq ._853 @cond_branch + b ._871 +._849: + ldrb r3, [r2, #0xc] + lsl r1, r3, #0x1b + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._878 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + mov r1, #0x20 + neg r1, r1 + and r1, r1, r3 + orr r1, r1, r0 + strb r1, [r2, #0xc] + b ._878 +._847: + ldrh r3, [r2, #0xc] + lsl r1, r3, #0x16 + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._878 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x5 + ldr r1, ._859 + and r1, r1, r3 + orr r1, r1, r0 + strh r1, [r2, #0xc] + b ._878 +._860: + .align 2, 0 +._859: + .word 0xfffffc1f +._853: + ldrb r3, [r2, #0xd] + lsl r1, r3, #0x19 + lsr r0, r1, #0x1b + cmp r0, #0x1e + bhi ._878 @cond_branch + add r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x2 + mov r1, #0x7d + neg r1, r1 + and r1, r1, r3 + orr r1, r1, r0 + strb r1, [r2, #0xd] + b ._878 +._846: + mov r0, #0x20 + and r0, r0, r1 + cmp r0, #0 + beq ._871 @cond_branch + ldr r0, ._868 + ldr r3, [r0] + ldrb r0, [r3, #0xa] + cmp r0, #0x1 + beq ._864 @cond_branch + cmp r0, #0x1 + bgt ._865 @cond_branch + cmp r0, #0 + beq ._866 @cond_branch + b ._871 +._869: + .align 2, 0 +._868: + .word gUnknown_Debug_2038A20 +._865: + cmp r0, #0x2 + beq ._870 @cond_branch + b ._871 +._866: + ldrb r2, [r3, #0xc] + mov r0, #0x1f + and r0, r0, r2 + cmp r0, #0 + beq ._878 @cond_branch + lsl r0, r2, #0x1b + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + mov r1, #0x20 + neg r1, r1 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3, #0xc] + b ._878 +._864: + ldrh r2, [r3, #0xc] + mov r0, #0xf8 + lsl r0, r0, #0x2 + and r0, r0, r2 + cmp r0, #0 + beq ._878 @cond_branch + lsl r0, r2, #0x16 + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x5 + ldr r1, ._876 + and r1, r1, r2 + orr r1, r1, r0 + strh r1, [r3, #0xc] + b ._878 +._877: + .align 2, 0 +._876: + .word 0xfffffc1f +._870: + ldrb r2, [r3, #0xd] + mov r0, #0x7c + and r0, r0, r2 + cmp r0, #0 + beq ._878 @cond_branch + lsl r0, r2, #0x19 + lsr r0, r0, #0x1b + sub r0, r0, #0x1 + mov r1, #0x1f + and r0, r0, r1 + lsl r0, r0, #0x2 + mov r1, #0x7d + neg r1, r1 + and r1, r1, r2 + orr r1, r1, r0 + strb r1, [r3, #0xd] +._878: + ldr r0, ._879 + lsl r1, r7, #0x2 + add r1, r1, r7 + lsl r1, r1, #0x3 + add r1, r1, r0 + ldr r0, ._879 + 4 + str r0, [r1] +._871: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 +._880: + .align 2, 0 +._879: + .word gTasks + .word debug_80C802C+1 + + thumb_func_end debug_80C7DDC + + thumb_func_start debug_80C802C +debug_80C802C: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add r5, r0, #0 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + ldr r0, ._881 + ldr r3, [r0] + ldrb r0, [r3, #0xc] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1b + ldrh r2, [r3, #0xc] + mov r1, #0xf8 + lsl r1, r1, #0x2 + and r1, r1, r2 + add r0, r0, r1 + ldrb r1, [r3, #0xd] + lsl r1, r1, #0x19 + lsr r1, r1, #0x1b + lsl r1, r1, #0xa + add r0, r0, r1 + ldr r6, ._881 + 4 + ldrb r1, [r3, #0x7] + add r1, r1, #0x81 + lsl r1, r1, #0x1 + add r1, r1, r6 + strh r0, [r1] + ldr r1, ._881 + 8 + mov r8, r1 + ldrb r1, [r3, #0x7] + add r1, r1, #0x81 + lsl r1, r1, #0x1 + add r1, r1, r8 + strh r0, [r1] + ldrb r1, [r3, #0x6] + lsl r1, r1, #0x4 + ldrb r2, [r3, #0x7] + ldr r4, ._881 + 12 + add r2, r2, r4 + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r1, r6 + strh r0, [r1] + ldrb r1, [r3, #0x6] + lsl r1, r1, #0x4 + ldrb r2, [r3, #0x7] + add r2, r2, r4 + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r1, r8 + strh r0, [r1] + mov r1, #0xe + mov r2, #0xa + mov r3, #0x4 + bl debug_80C68CC + ldr r1, ._881 + 16 + lsl r0, r5, #0x2 + add r0, r0, r5 + lsl r0, r0, #0x3 + add r0, r0, r1 + ldr r1, ._881 + 20 + str r1, [r0] + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._882: + .align 2, 0 +._881: + .word gUnknown_Debug_2038A20 + .word gPlttBufferUnfaded + .word gPlttBufferFaded + .word 0x101 + .word gTasks + .word debug_80C7DDC+1 + + thumb_func_end debug_80C802C + + .align 2, 0 + +.endif diff --git a/ld_script.txt b/ld_script.txt index 3a2bdac9e..40167f410 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -118,8 +118,11 @@ SECTIONS { src/battle/battle_setup.o(.text); src/engine/cable_club.o(.text); src/debug/tomomichi_debug_menu.o(.text); + asm/tomomichi_debug_menu.o(.text); src/debug/nohara_debug_menu.o(.text); + asm/nohara_debug_menu.o(.text); src/debug/mori_debug_menu.o(.text); + asm/taya_debug_window.o(.text); src/debug/taya_debug_window.o(.text); src/field/trainer_see.o(.text); src/field/wild_encounter.o(.text); @@ -152,6 +155,7 @@ SECTIONS { src/field/fldeff_escalator.o(.text); src/field/berry.o(.text); src/debug/watanabe_debug_menu.o(.text); + asm/watanabe_debug_menu.o(.text); src/field/script_menu.o(.text); src/engine/naming_screen.o(.text); src/field/money.o(.text); @@ -362,7 +366,7 @@ SECTIONS { src/unused_8124F94.o(.text); src/engine/save.o(.text); src/engine/mystery_event_script.o(.text); - src/debug/unk_debug_menu_3.o(.text); + asm/unk_debug_menu_3.o(.text); src/field/field_effect_helpers.o(.text); src/contest_ai.o(.text); src/unused_81258BC.o(.text); @@ -392,6 +396,7 @@ SECTIONS { src/pokemon/pokeblock_feed.o(.text); src/engine/clear_save_data_menu.o(.text); src/debug/nakamura_debug_menu.o(.text); + asm/nakamura_debug_menu.o(.text); src/scene/intro_credits_graphics.o(.text); src/scene/evolution_graphics.o(.text); src/field/bard_music.o(.text); diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index 89df82f04..3cb36ce0c 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -168,7 +168,7 @@ u8 debug_sub_80B07DC(void) u8 debug_sub_80B0800(void) { u8 r2; - + CloseMenu(); r2 = sub_8068F18(); if (r2 != 0) diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 328903126..b8c4ed73e 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -16,6 +16,9 @@ EWRAM_DATA u16 _nakamuraDataC = 0; __attribute__((unused)) static u8 _nakamuraStatic0[0x18]; __attribute__((unused)) static u8 _nakamuraStatic18; +asm(".global _nakamuraStatic0"); +asm(".global _nakamuraStatic18"); + u8 debug_sub_815FC54(); u8 debug_sub_815F2B4(); u8 debug_sub_815FC94(); @@ -182,4860 +185,4 @@ const u8 Str_843E655[] = _("かい"); const u8 Str_843E658[] = _("0"); const u8 Str_843E65A[] = _("はんい"); -__attribute__((naked)) -void debug_sub_815F1B8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0xe\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._1\n" - " mov r0, #0x10\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xe\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0xf\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " add sp, sp, #0x8\n" - " pop {r0}\n" - " bx r0\n" - "._2:\n" - " .align 2, 0\n" - "._1:\n" - " .word _843E3DC\n" - "\n" - ); -} - -__attribute__((naked)) -void InitNakamuraDebugMenu() -{ - asm( - " push {lr}\n" - " bl debug_sub_815F1B8\n" - " ldr r1, ._3\n" - " ldr r0, ._3 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gMenuCallback\n" - " .word debug_sub_815F214+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F214() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._9\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._5 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - "._5:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._6 @cond_branch\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - "._6:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._7 @cond_branch\n" - " ldr r4, ._9 + 4\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x15\n" - " add r4, r4, #0x4\n" - " add r0, r0, r4\n" - " ldr r4, [r0]\n" - " bl Menu_DestroyCursor\n" - " bl _call_via_r4\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._12\n" - "._10:\n" - " .align 2, 0\n" - "._9:\n" - " .word gMain\n" - " .word _843E3DC\n" - "._7:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._11 @cond_branch\n" - " mov r0, #0x0\n" - " b ._12\n" - "._11:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._12:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F284() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._14\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._13 @cond_branch\n" - " bl debug_sub_81381B4\n" - " mov r0, #0x5\n" - " mov r1, #0x0\n" - " bl OpenPartyMenu\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - "._13:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._15:\n" - " .align 2, 0\n" - "._14:\n" - " .word gPaletteFade\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815F2B4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " bl CloseMenu\n" - " bl Menu_EraseScreen\n" - " ldr r1, ._16\n" - " ldr r0, ._16 + 4\n" - " str r0, [r1, #0x8]\n" - " ldr r0, ._16 + 8\n" - " mov r1, #0x0\n" - " bl CreateTask\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" - " mov r0, #0x1\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._17:\n" - " .align 2, 0\n" - "._16:\n" - " .word gMain\n" - " .word sub_805469C+1\n" - " .word debug_sub_815F284+1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815F2F4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffffc\n" - " bl CloseMenu\n" - " mov r7, #0x1\n" - "._34:\n" - " lsl r1, r7, #0x2\n" - " add r0, r1, r7\n" - " lsl r2, r0, #0x5\n" - " ldr r3, ._24\n" - " add r0, r2, r3\n" - " ldr r5, ._24 + 4\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " mov r9, r1\n" - " add r1, r7, #1\n" - " str r1, [sp]\n" - " cmp r0, #0\n" - " beq ._18 @cond_branch\n" - " b ._19\n" - "._18:\n" - " mov r5, #0x0\n" - " ldr r6, ._24 + 8\n" - " add r4, r7, #0\n" - " sub r4, r4, #0x46\n" - " ldr r3, ._24 + 12\n" - "._21:\n" - " add r1, r5, r2\n" - " add r1, r1, r3\n" - " add r0, r5, r6\n" - " ldrb r0, [r0]\n" - " strb r0, [r1]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0xff\n" - " beq ._20 @cond_branch\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x6\n" - " bls ._21 @cond_branch\n" - "._20:\n" - " cmp r5, #0x7\n" - " bne ._22 @cond_branch\n" - " add r0, r2, #6\n" - " b ._23\n" - "._25:\n" - " .align 2, 0\n" - "._24:\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - " .word gSaveBlock2\n" - " .word gSaveBlock1+0x1a0a\n" - "._22:\n" - " add r0, r5, r2\n" - "._23:\n" - " add r0, r0, r3\n" - " strb r4, [r0]\n" - " ldr r1, ._35\n" - " ldr r2, ._35 + 4\n" - " add r2, r2, r1\n" - " mov sl, r2\n" - " mov r3, r9\n" - " add r0, r3, r7\n" - " lsl r6, r0, #0x5\n" - " add r1, r6, r1\n" - " ldr r5, ._35 + 4\n" - " add r5, r5, r1\n" - " mov r8, r5\n" - "._30:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x4b\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0xe\n" - " ldr r1, ._35 + 8\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " mov r2, r8\n" - " strb r0, [r2]\n" - " mov r5, #0x0\n" - " cmp r5, r7\n" - " bcs ._28 @cond_branch\n" - " mov r3, sl\n" - " ldrb r3, [r3]\n" - " cmp r0, r3\n" - " beq ._28 @cond_branch\n" - " ldr r4, ._35\n" - " add r0, r6, r4\n" - " ldr r2, ._35 + 4\n" - " add r3, r0, r2\n" - "._29:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r7\n" - " bcs ._28 @cond_branch\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " add r0, r0, r2\n" - " ldrb r1, [r3]\n" - " ldrb r0, [r0]\n" - " cmp r1, r0\n" - " bne ._29 @cond_branch\n" - "._28:\n" - " cmp r5, r7\n" - " bne ._30 @cond_branch\n" - " bl Random\n" - " mov r5, r9\n" - " add r4, r5, r7\n" - " lsl r4, r4, #0x5\n" - " ldr r1, ._35\n" - " add r3, r4, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x1\n" - " ldr r2, ._35 + 12\n" - " add r3, r3, r2\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x4\n" - " ldrb r1, [r3]\n" - " mov r5, #0x11\n" - " neg r5, r5\n" - " add r2, r5, #0\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3]\n" - " mov r5, #0x0\n" - " ldr r6, ._35 + 16\n" - "._31:\n" - " bl Random\n" - " add r1, r5, r4\n" - " add r1, r1, r6\n" - " strb r0, [r1]\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x3\n" - " bls ._31 @cond_branch\n" - " mov r5, #0x0\n" - " mov r1, r9\n" - " add r0, r1, r7\n" - " lsl r4, r0, #0x5\n" - " ldr r3, ._35 + 20\n" - " mov r2, #0x0\n" - " add r6, r3, #0\n" - " add r6, r6, #0x10\n" - "._32:\n" - " add r1, r5, r4\n" - " add r0, r1, r3\n" - " strb r2, [r0]\n" - " add r1, r1, r6\n" - " strb r2, [r1]\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0xf\n" - " bls ._32 @cond_branch\n" - " add r0, r7, #0\n" - " bl unref_sub_80BCD7C\n" - "._19:\n" - " ldr r2, [sp]\n" - " lsl r0, r2, #0x18\n" - " lsr r7, r0, #0x18\n" - " cmp r7, #0x13\n" - " bhi ._33 @cond_branch\n" - " b ._34\n" - "._33:\n" - " mov r0, #0x1\n" - " add sp, sp, #0x4\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._36:\n" - " .align 2, 0\n" - "._35:\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - " .word _843E424\n" - " .word 0x1a09\n" - " .word gSaveBlock1+0x1a11\n" - " .word gSaveBlock1+0x1a1a\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F470() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add r6, r0, #0\n" - " add r7, r1, #0\n" - " mov ip, r2\n" - " ldr r2, ._39\n" - " ldr r0, ._39 + 4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r2\n" - " ldr r1, ._39 + 8\n" - " add r0, r0, r1\n" - " ldrb r4, [r0]\n" - " mov r2, #0x0\n" - " ldr r3, ._39 + 12\n" - " add r5, r3, #0\n" - "._41:\n" - " lsl r1, r2, #0x2\n" - " add r0, r1, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, r4\n" - " bne ._37 @cond_branch\n" - " add r0, r1, #1\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " strb r0, [r6]\n" - " add r0, r1, #2\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " strb r0, [r7]\n" - " add r0, r1, #3\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " mov r1, ip\n" - " strb r0, [r1]\n" - " b ._38\n" - "._40:\n" - " .align 2, 0\n" - "._39:\n" - " .word gSaveBlock1\n" - " .word _nakamuraData0\n" - " .word 0x1a08\n" - " .word _843E424\n" - "._37:\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x4a\n" - " bls ._41 @cond_branch\n" - "._38:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F4D8() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0xa\n" - " bl Menu_BlankWindowRect\n" - " ldr r6, ._43\n" - " ldr r7, ._43 + 4\n" - " ldrb r1, [r7]\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r2, ._43 + 8\n" - " ldrb r1, [r7]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r2\n" - " ldr r1, ._43 + 12\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._42 @cond_branch\n" - " mov r4, sp\n" - " add r4, r4, #0x1\n" - " mov r5, sp\n" - " add r5, r5, #0x2\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl debug_sub_815F470\n" - " ldrb r1, [r7]\n" - " add r0, r6, #0\n" - " bl sub_80BC190\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._43 + 16\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, sp\n" - " ldrb r1, [r0]\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " ldr r0, ._43 + 20\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldrb r1, [r4]\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x3\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._43 + 24\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldrb r1, [r5]\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x3\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - "._42:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._44:\n" - " .align 2, 0\n" - "._43:\n" - " .word gStringVar1\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - " .word Str_843E550\n" - " .word Str_843E552\n" - " .word Str_843E554\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F5C4() -{ - asm( - " push {lr}\n" - " ldr r0, ._48\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " cmp r2, #0\n" - " beq ._45 @cond_branch\n" - " ldr r1, ._48 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._46 @cond_branch\n" - " mov r0, #0x13\n" - " b ._50\n" - "._49:\n" - " .align 2, 0\n" - "._48:\n" - " .word gMain\n" - " .word _nakamuraData0\n" - "._46:\n" - " sub r0, r0, #0x1\n" - " b ._50\n" - "._45:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._51 @cond_branch\n" - " ldr r1, ._54\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x13\n" - " bne ._52 @cond_branch\n" - " strb r2, [r1]\n" - " b ._53\n" - "._55:\n" - " .align 2, 0\n" - "._54:\n" - " .word _nakamuraData0\n" - "._52:\n" - " add r0, r0, #0x1\n" - "._50:\n" - " strb r0, [r1]\n" - "._53:\n" - " bl debug_sub_815F4D8\n" - " mov r0, #0x0\n" - " b ._58\n" - "._51:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._57 @cond_branch\n" - " mov r0, #0x0\n" - " b ._58\n" - "._57:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._58:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815F62C() -{ - asm( - " push {lr}\n" - " ldr r1, ._59\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " ldr r1, ._59 + 4\n" - " ldr r0, ._59 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xb\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " bl debug_sub_815F4D8\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._60:\n" - " .align 2, 0\n" - "._59:\n" - " .word _nakamuraData0\n" - " .word gMenuCallback\n" - " .word debug_sub_815F5C4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F668() -{ - asm( - " push {r4, r5, r6, lr}\n" - " ldr r0, ._61\n" - " ldrb r0, [r0]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x5\n" - " ldr r0, ._61 + 4\n" - " add r1, r1, r0\n" - " ldrb r4, [r1, #0x3]\n" - " lsl r4, r4, #0x18\n" - " ldrb r0, [r1, #0x2]\n" - " lsl r0, r0, #0x10\n" - " orr r4, r4, r0\n" - " ldrb r0, [r1, #0x1]\n" - " lsl r0, r0, #0x8\n" - " orr r4, r4, r0\n" - " ldrb r0, [r1]\n" - " orr r4, r4, r0\n" - " ldr r5, ._61 + 8\n" - " ldr r6, ._61 + 12\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " add r0, r5, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl __umodsi3\n" - " add r1, r0, #0\n" - " add r0, r5, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x7\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._62:\n" - " .align 2, 0\n" - "._61:\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1+0x1a11\n" - " .word gStringVar1\n" - " .word 0x186a0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F6E4() -{ - asm( - " push {r4, lr}\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0xb\n" - " mov r3, #0x4\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._63\n" - " ldr r0, ._63 + 4\n" - " ldrb r0, [r0]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x5\n" - " ldr r0, ._63 + 8\n" - " add r1, r1, r0\n" - " add r0, r4, #0\n" - " mov r2, #0x7\n" - " bl StringCopyN\n" - " mov r1, #0xff\n" - " strb r1, [r0]\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._64:\n" - " .align 2, 0\n" - "._63:\n" - " .word gStringVar1\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1+0x1a0a\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F72C() -{ - asm( - " push {r4, r5, lr}\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0xb\n" - " mov r3, #0xa\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._66\n" - " ldr r5, ._66 + 4\n" - " ldrb r1, [r5]\n" - " add r0, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r2, ._66 + 8\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r2\n" - " ldr r1, ._66 + 12\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._65 @cond_branch\n" - " bl debug_sub_815F6E4\n" - " bl debug_sub_815F668\n" - "._65:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._67:\n" - " .align 2, 0\n" - "._66:\n" - " .word gStringVar1\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F788() -{ - asm( - " push {lr}\n" - " mov r0, #0x2\n" - " mov r1, #0x5\n" - " mov r2, #0xb\n" - " mov r3, #0x6\n" - " bl Menu_BlankWindowRect\n" - " ldr r0, ._68\n" - " ldr r1, ._68 + 4\n" - " ldrb r1, [r1]\n" - " add r1, r1, #0x2\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " pop {r0}\n" - " bx r0\n" - "._69:\n" - " .align 2, 0\n" - "._68:\n" - " .word Str_843E574\n" - " .word _nakamuraData2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F7B4() -{ - asm( - " push {lr}\n" - " ldr r0, ._72\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._70 @cond_branch\n" - " mov r0, #0xb\n" - " mov r1, #0x1\n" - " mov r2, #0xb\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " b ._71\n" - "._73:\n" - " .align 2, 0\n" - "._72:\n" - " .word _nakamuraData1\n" - "._70:\n" - " ldr r0, ._74\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x1\n" - " ldr r1, ._74 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - "._71:\n" - " pop {r0}\n" - " bx r0\n" - "._75:\n" - " .align 2, 0\n" - "._74:\n" - " .word _nakamuraData3\n" - " .word Str_843E576\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F7F0() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r1, ._78\n" - " ldrb r2, [r1]\n" - " lsl r1, r2, #0x2\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x5\n" - " ldr r2, ._78 + 4\n" - " add r3, r1, r2\n" - " ldrb r1, [r3, #0x3]\n" - " lsl r2, r1, #0x18\n" - " ldrb r1, [r3, #0x2]\n" - " lsl r1, r1, #0x10\n" - " orr r2, r2, r1\n" - " ldrb r1, [r3, #0x1]\n" - " lsl r1, r1, #0x8\n" - " orr r2, r2, r1\n" - " ldrb r1, [r3]\n" - " orr r2, r2, r1\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r4, #0x9\n" - " ldr r0, ._78 + 8\n" - " ldrb r0, [r0]\n" - " cmp r4, r0\n" - " ble ._76 @cond_branch\n" - " add r5, r0, #0\n" - "._77:\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r1, r0, #0x1\n" - " lsl r0, r4, #0x18\n" - " mov r4, #0xff\n" - " lsl r4, r4, #0x18\n" - " add r0, r0, r4\n" - " lsr r4, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, r5\n" - " bgt ._77 @cond_branch\n" - "._76:\n" - " add r2, r2, r1\n" - " lsr r0, r2, #0x18\n" - " strb r0, [r3, #0x3]\n" - " mov r0, #0xff\n" - " lsl r0, r0, #0x10\n" - " and r0, r0, r2\n" - " lsr r0, r0, #0x10\n" - " strb r0, [r3, #0x2]\n" - " mov r0, #0xff\n" - " lsl r0, r0, #0x8\n" - " and r0, r0, r2\n" - " lsr r0, r0, #0x8\n" - " strb r0, [r3, #0x1]\n" - " strb r2, [r3]\n" - " bl debug_sub_815F668\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._79:\n" - " .align 2, 0\n" - "._78:\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1+0x1a11\n" - " .word _nakamuraData2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F86C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " ldr r1, ._84\n" - " ldrb r2, [r1]\n" - " lsl r1, r2, #0x2\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x5\n" - " ldr r2, ._84 + 4\n" - " add r5, r1, r2\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " lsr r6, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x64\n" - " bne ._80 @cond_branch\n" - " ldr r0, ._84 + 8\n" - " ldrb r1, [r0]\n" - " cmp r1, #0x6\n" - " bhi ._100 @cond_branch\n" - " mov r2, #0xff\n" - "._82:\n" - " add r0, r5, r1\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " cmp r1, #0x6\n" - " bls ._82 @cond_branch\n" - " b ._100\n" - "._85:\n" - " .align 2, 0\n" - "._84:\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1+0x1a0a\n" - " .word _nakamuraData2\n" - "._80:\n" - " ldr r0, ._87\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x4\n" - " bhi ._98 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._87 + 4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._88:\n" - " .align 2, 0\n" - "._87:\n" - " .word _nakamuraData3\n" - " .word ._89\n" - "._89:\n" - " .word ._90\n" - " .word ._91\n" - " .word ._92\n" - " .word ._93\n" - " .word ._94\n" - "._90:\n" - " mov r3, #0x1\n" - " mov r2, #0x50\n" - " b ._98\n" - "._91:\n" - " mov r3, #0x51\n" - " mov r2, #0xa0\n" - " b ._98\n" - "._92:\n" - " mov r3, #0xbb\n" - " mov r2, #0xd4\n" - " b ._98\n" - "._93:\n" - " mov r3, #0xd5\n" - " mov r2, #0xee\n" - " b ._98\n" - "._94:\n" - " mov r3, #0xa1\n" - " mov r2, #0xaa\n" - "._98:\n" - " ldr r4, ._101\n" - " ldrb r1, [r4]\n" - " add r1, r5, r1\n" - " ldrb r0, [r1]\n" - " add r0, r0, r6\n" - " strb r0, [r1]\n" - " ldrb r0, [r4]\n" - " add r1, r5, r0\n" - " ldrb r0, [r1]\n" - " cmp r0, r3\n" - " bcs ._99 @cond_branch\n" - " strb r2, [r1]\n" - "._99:\n" - " ldrb r0, [r4]\n" - " add r1, r5, r0\n" - " ldrb r0, [r1]\n" - " cmp r0, r2\n" - " bls ._100 @cond_branch\n" - " strb r3, [r1]\n" - "._100:\n" - " bl debug_sub_815F6E4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._102:\n" - " .align 2, 0\n" - "._101:\n" - " .word _nakamuraData2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F930() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r0, ._107\n" - " ldrb r2, [r0]\n" - " mov r4, #0xa\n" - " cmp r2, #0\n" - " bne ._103 @cond_branch\n" - " mov r4, #0x7\n" - "._103:\n" - " ldr r5, ._107 + 4\n" - " ldrh r1, [r5, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._104 @cond_branch\n" - " cmp r2, #0\n" - " beq ._105 @cond_branch\n" - " mov r0, #0x1\n" - " bl debug_sub_815F7F0\n" - " b ._136\n" - "._108:\n" - " .align 2, 0\n" - "._107:\n" - " .word _nakamuraData1\n" - " .word gMain\n" - "._105:\n" - " mov r0, #0x1\n" - " b ._113\n" - "._104:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._110 @cond_branch\n" - " cmp r2, #0\n" - " beq ._111 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl debug_sub_815F7F0\n" - " b ._136\n" - "._111:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._113\n" - "._110:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0\n" - " beq ._114 @cond_branch\n" - " ldr r1, ._117\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._115 @cond_branch\n" - " sub r0, r4, #1\n" - " b ._116\n" - "._118:\n" - " .align 2, 0\n" - "._117:\n" - " .word _nakamuraData2\n" - "._115:\n" - " sub r0, r0, #0x1\n" - "._116:\n" - " strb r0, [r1]\n" - "._125:\n" - " bl debug_sub_815F788\n" - " b ._136\n" - "._114:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._120 @cond_branch\n" - " ldr r2, ._123\n" - " ldrb r1, [r2]\n" - " sub r0, r4, #1\n" - " cmp r1, r0\n" - " bne ._121 @cond_branch\n" - " strb r3, [r2]\n" - " b ._125\n" - "._124:\n" - " .align 2, 0\n" - "._123:\n" - " .word _nakamuraData2\n" - "._121:\n" - " add r0, r1, #1\n" - " strb r0, [r2]\n" - " b ._125\n" - "._120:\n" - " ldrh r1, [r5, #0x2e]\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._126 @cond_branch\n" - " cmp r2, #0\n" - " bne ._127 @cond_branch\n" - " ldr r4, ._129\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " mov r1, #0x5\n" - " bl __modsi3\n" - " strb r0, [r4]\n" - "._127:\n" - " bl debug_sub_815F7B4\n" - " b ._136\n" - "._130:\n" - " .align 2, 0\n" - "._129:\n" - " .word _nakamuraData3\n" - "._126:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._131 @cond_branch\n" - " mov r0, #0x2\n" - " mov r1, #0x5\n" - " mov r2, #0xb\n" - " mov r3, #0x6\n" - " bl Menu_BlankWindowRect\n" - " mov r0, #0xb\n" - " mov r1, #0x1\n" - " mov r2, #0xb\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " ldr r1, ._133\n" - " ldr r0, ._133 + 4\n" - " str r0, [r1]\n" - " b ._136\n" - "._134:\n" - " .align 2, 0\n" - "._133:\n" - " .word gMenuCallback\n" - " .word debug_sub_815FA38+1\n" - "._131:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._136 @cond_branch\n" - " cmp r2, #0\n" - " bne ._136 @cond_branch\n" - " mov r0, #0x64\n" - "._113:\n" - " bl debug_sub_815F86C\n" - "._136:\n" - " mov r0, #0x0\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FA38() -{ - asm( - " push {r4, lr}\n" - " ldr r0, ._139\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._137 @cond_branch\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " b ._138\n" - "._140:\n" - " .align 2, 0\n" - "._139:\n" - " .word gMain\n" - "._137:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._141 @cond_branch\n" - " mov r0, #0x2\n" - "._138:\n" - " bl Menu_MoveCursor\n" - "._161:\n" - " mov r0, #0x0\n" - " b ._142\n" - "._141:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " cmp r2, #0\n" - " beq ._143 @cond_branch\n" - " ldr r1, ._146\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._144 @cond_branch\n" - " mov r0, #0x13\n" - " b ._148\n" - "._147:\n" - " .align 2, 0\n" - "._146:\n" - " .word _nakamuraData0\n" - "._144:\n" - " sub r0, r0, #0x1\n" - " b ._148\n" - "._143:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0\n" - " beq ._149 @cond_branch\n" - " ldr r1, ._152\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x13\n" - " bne ._150 @cond_branch\n" - " strb r2, [r1]\n" - " b ._151\n" - "._153:\n" - " .align 2, 0\n" - "._152:\n" - " .word _nakamuraData0\n" - "._150:\n" - " add r0, r0, #0x1\n" - "._148:\n" - " strb r0, [r1]\n" - "._151:\n" - " bl debug_sub_815F72C\n" - " b ._161\n" - "._149:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._155 @cond_branch\n" - " ldr r1, ._159\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._161 @cond_branch\n" - " ldr r2, ._159 + 4\n" - " add r1, r0, #0\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r2\n" - " ldr r1, ._159 + 8\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._161 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " ldr r1, ._159 + 12\n" - " strb r0, [r1]\n" - " ldr r0, ._159 + 16\n" - " strb r4, [r0]\n" - " bl debug_sub_815F788\n" - " bl debug_sub_815F7B4\n" - " ldr r1, ._159 + 20\n" - " ldr r0, ._159 + 24\n" - " str r0, [r1]\n" - " b ._161\n" - "._160:\n" - " .align 2, 0\n" - "._159:\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - " .word _nakamuraData1\n" - " .word _nakamuraData2\n" - " .word gMenuCallback\n" - " .word debug_sub_815F930+1\n" - "._155:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._161 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._142:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FB1C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " ldr r0, ._162\n" - " mov r1, #0x0\n" - " strb r1, [r0]\n" - " ldr r0, ._162 + 4\n" - " strb r1, [r0]\n" - " ldr r1, ._162 + 8\n" - " ldr r0, ._162 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " bl debug_sub_815F72C\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, #0x3\n" - " bl InitMenu\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._163:\n" - " .align 2, 0\n" - "._162:\n" - " .word _nakamuraData0\n" - " .word _nakamuraData3\n" - " .word gMenuCallback\n" - " .word debug_sub_815FA38+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FB78() -{ - asm( - " push {lr}\n" - " ldr r0, ._166\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._164 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._165\n" - "._167:\n" - " .align 2, 0\n" - "._166:\n" - " .word gMain\n" - "._164:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._168 @cond_branch\n" - " mov r0, #0x1\n" - "._165:\n" - " bl Menu_MoveCursor\n" - " mov r0, #0x0\n" - " b ._177\n" - "._168:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._170 @cond_branch\n" - " bl CloseMenu\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._171 @cond_branch\n" - " cmp r0, #0x1\n" - " beq ._172 @cond_branch\n" - " b ._175\n" - "._171:\n" - " bl debug_sub_814A714\n" - " b ._175\n" - "._172:\n" - " bl ClearRoamerData\n" - " bl ClearRoamerLocationData\n" - " b ._175\n" - "._170:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._176 @cond_branch\n" - " mov r0, #0x0\n" - " b ._177\n" - "._176:\n" - " bl CloseMenu\n" - "._175:\n" - " mov r0, #0x1\n" - "._177:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FBE8() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " ldr r1, ._178\n" - " ldr r0, ._178 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " ldr r4, ._178 + 8\n" - " add r0, r4, #0\n" - " bl debug_sub_814A73C\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xb\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._178 + 12\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\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, #0x3\n" - " mov r3, #0x3\n" - " bl InitMenu\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._179:\n" - " .align 2, 0\n" - "._178:\n" - " .word gMenuCallback\n" - " .word debug_sub_815FB78+1\n" - " .word gStringVar1\n" - " .word Str_843E580\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FC54() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r3, #0x0\n" - " ldr r7, ._181\n" - " mov r6, #0xe8\n" - " lsl r6, r6, #0x3\n" - " ldr r5, ._181 + 4\n" - " ldr r4, ._181 + 8\n" - "._180:\n" - " lsl r1, r3, #0x2\n" - " add r1, r1, r7\n" - " add r2, r3, #0\n" - " add r2, r2, #0x85\n" - " add r0, r1, r6\n" - " strh r2, [r0]\n" - " add r1, r1, r4\n" - " strh r5, [r1]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0x2a\n" - " bls ._180 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._182:\n" - " .align 2, 0\n" - "._181:\n" - " .word gSaveBlock1\n" - " .word 0x3e7\n" - " .word 0x742\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FC94() -{ - asm( - " push {lr}\n" - " bl ClearDecorationInventories\n" - " bl debug_sub_814A3A8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FCB4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r7, #0x0\n" - " ldr r5, ._188\n" - " ldr r0, [r5]\n" - " ldr r0, [r0, #0x4]\n" - " mov r1, #0x3\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " add r1, r0, #0\n" - " mul r1, r1, r4\n" - " lsl r1, r1, #0x10\n" - " lsr r6, r1, #0x10\n" - " add r0, r6, r0\n" - " mov r9, r5\n" - " cmp r6, r0\n" - " bge ._183 @cond_branch\n" - " mov r8, r0\n" - "._187:\n" - " mov r4, #0x0\n" - " mov r1, r9\n" - " ldr r0, [r1]\n" - " ldr r0, [r0]\n" - " add r5, r6, #1\n" - " cmp r4, r0\n" - " bge ._184 @cond_branch\n" - " ldr r0, ._188\n" - " mov r9, r0\n" - "._186:\n" - " add r0, r4, #7\n" - " add r1, r6, #7\n" - " bl MapGridGetMetatileBehaviorAt\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl sub_805759C\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._185 @cond_branch\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - "._185:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " ldr r0, ._188\n" - " ldr r0, [r0]\n" - " ldr r0, [r0]\n" - " cmp r4, r0\n" - " blt ._186 @cond_branch\n" - "._184:\n" - " lsl r0, r5, #0x10\n" - " lsr r6, r0, #0x10\n" - " cmp r6, r8\n" - " blt ._187 @cond_branch\n" - "._183:\n" - " add r0, r7, #0\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._189:\n" - " .align 2, 0\n" - "._188:\n" - " .word gMapHeader\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FD40() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r6, #0x0\n" - " mov r4, sp\n" - " add r4, r4, #0x2\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " bl GetXYCoordsOneStepInFrontOfPlayer\n" - " mov r1, sp\n" - " mov r0, sp\n" - " ldrh r0, [r0]\n" - " sub r0, r0, #0x7\n" - " strh r0, [r1]\n" - " ldrh r0, [r4]\n" - " sub r0, r0, #0x7\n" - " strh r0, [r4]\n" - " mov r5, #0x0\n" - " ldr r1, ._192\n" - " ldr r0, [r1]\n" - " ldr r0, [r0, #0x4]\n" - " add r7, r4, #0\n" - " cmp r6, r0\n" - " bge ._190 @cond_branch\n" - "._199:\n" - " mov r4, #0x0\n" - " ldr r0, [r1]\n" - " b ._191\n" - "._193:\n" - " .align 2, 0\n" - "._192:\n" - " .word gMapHeader\n" - "._198:\n" - " add r0, r4, #7\n" - " add r1, r5, #7\n" - " bl MapGridGetMetatileBehaviorAt\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl sub_805759C\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._196 @cond_branch\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r6, r0, #0x10\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, r4\n" - " bne ._196 @cond_branch\n" - " mov r1, #0x0\n" - " ldsh r0, [r7, r1]\n" - " cmp r0, r5\n" - " bne ._196 @cond_branch\n" - " add r0, r6, #0\n" - " b ._197\n" - "._196:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " ldr r0, ._200\n" - " ldr r0, [r0]\n" - "._191:\n" - " ldr r0, [r0]\n" - " cmp r4, r0\n" - " blt ._198 @cond_branch\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " ldr r1, ._200\n" - " ldr r0, [r1]\n" - " ldr r0, [r0, #0x4]\n" - " cmp r5, r0\n" - " blt ._199 @cond_branch\n" - "._190:\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - "._197:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._201:\n" - " .align 2, 0\n" - "._200:\n" - " .word gMapHeader\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FDE4() -{ - asm( - " push {lr}\n" - " ldr r0, ._205\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._202 @cond_branch\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._203 @cond_branch\n" - "._202:\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._204\n" - "._206:\n" - " .align 2, 0\n" - "._205:\n" - " .word gMain\n" - "._203:\n" - " mov r0, #0x0\n" - "._204:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FE1C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._210\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r6, ._210 + 4\n" - " mov r0, #0x0\n" - " bl debug_sub_815FCB4\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x5\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " mov r0, #0x1\n" - " bl debug_sub_815FCB4\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x5\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0x2\n" - " bl debug_sub_815FCB4\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x5\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " bl debug_sub_8092344\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " mov r0, #0x1\n" - " bl debug_sub_8092344\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0x2\n" - " bl debug_sub_8092344\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._210 + 8\n" - " ldr r1, ._210 + 12\n" - " add r0, r0, r1\n" - " ldrh r0, [r0]\n" - " bl FeebasSeedRng\n" - " mov r0, #0x0\n" - " bl debug_sub_815FCB4\n" - " add r4, r0, #0\n" - " mov r0, #0x1\n" - " bl debug_sub_815FCB4\n" - " add r5, r0, #0\n" - " mov r0, #0x2\n" - " bl debug_sub_815FCB4\n" - " add r4, r4, r5\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - " mov r5, #0x0\n" - "._209:\n" - " bl FeebasRandom\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " add r1, r7, #0\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0\n" - " bne ._207 @cond_branch\n" - " add r1, r7, #0\n" - "._207:\n" - " sub r0, r1, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0x2\n" - " bls ._208 @cond_branch\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x4\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x3\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " lsl r4, r0, #0x2\n" - " add r4, r4, r0\n" - " add r4, r4, #0x2\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x3\n" - " bl __udivsi3\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x19\n" - " mov r0, #0xb0\n" - " lsl r0, r0, #0x14\n" - " add r2, r2, r0\n" - " lsr r2, r2, #0x18\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl Menu_PrintText\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - "._208:\n" - " cmp r5, #0x6\n" - " bne ._209 @cond_branch\n" - " ldr r4, ._210 + 4\n" - " bl debug_sub_815FD40\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x4\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " ldr r1, ._210 + 16\n" - " ldr r0, ._210 + 20\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._211:\n" - " .align 2, 0\n" - "._210:\n" - " .word Str_843E58D\n" - " .word gStringVar1\n" - " .word gSaveBlock1\n" - " .word 0x2dd6\n" - " .word gMenuCallback\n" - " .word debug_sub_815FDE4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FFDC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " mov r0, #0xe\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0xe\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._214\n" - " mov r1, #0x1\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r5, #0x0\n" - " ldr r0, ._214 + 4\n" - " mov r8, r0\n" - "._216:\n" - " mov r0, #0x64\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " ldr r0, ._214 + 8\n" - " add r6, r1, r0\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " lsl r1, r5, #0x2\n" - " mov r2, r8\n" - " add r4, r1, r2\n" - " strh r0, [r4]\n" - " lsl r0, r0, #0x10\n" - " add r7, r1, #0\n" - " cmp r0, #0\n" - " beq ._212 @cond_branch\n" - " add r0, r6, #0\n" - " mov r1, #0x38\n" - " bl GetMonData\n" - " strb r0, [r4, #0x2]\n" - " add r0, r5, #0\n" - " bl debug_sub_816009C\n" - " add r0, r5, #0\n" - " bl debug_sub_81600D0\n" - " add r0, r5, #0\n" - " bl debug_sub_816013C\n" - " b ._213\n" - "._215:\n" - " .align 2, 0\n" - "._214:\n" - " .word Str_843E5D4\n" - " .word _nakamuraStatic0\n" - " .word gPlayerParty\n" - "._212:\n" - " mov r0, #0x1\n" - " strb r0, [r4, #0x2]\n" - "._213:\n" - " mov r0, r8\n" - " add r1, r7, r0\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0x3]\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._216 @cond_branch\n" - " ldr r1, ._217\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " mov r0, #0xf\n" - " mov r1, #0x1\n" - " mov r2, #0xff\n" - " bl PrintTriangleCursorWithPalette\n" - " ldr r1, ._217 + 4\n" - " ldr r0, ._217 + 8\n" - " str r0, [r1]\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._218:\n" - " .align 2, 0\n" - "._217:\n" - " .word _nakamuraData4\n" - " .word gMenuCallback\n" - " .word debug_sub_8160498+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816009C() -{ - asm( - " push {lr}\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " ldr r1, ._219\n" - " lsl r0, r2, #0x2\n" - " add r0, r0, r1\n" - " mov r3, #0x0\n" - " ldsh r1, [r0, r3]\n" - " mov r0, #0xb\n" - " mul r0, r0, r1\n" - " ldr r1, ._219 + 4\n" - " add r0, r0, r1\n" - " lsl r2, r2, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x10\n" - " bl Menu_PrintText\n" - " pop {r0}\n" - " bx r0\n" - "._220:\n" - " .align 2, 0\n" - "._219:\n" - " .word _nakamuraStatic0\n" - " .word gSpeciesNames\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81600D0() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " add r5, r4, #0\n" - " ldr r1, ._223\n" - " mov r0, sp\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " mov r0, #0x64\n" - " mul r0, r0, r4\n" - " ldr r1, ._223 + 4\n" - " add r0, r0, r1\n" - " bl GetMonGender\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._221 @cond_branch\n" - " ldr r0, ._223 + 8\n" - " b ._222\n" - "._224:\n" - " .align 2, 0\n" - "._223:\n" - " .word Str_843E5F0\n" - " .word gPlayerParty\n" - " .word gOtherText_MaleSymbol2\n" - "._221:\n" - " cmp r0, #0xfe\n" - " bne ._225 @cond_branch\n" - " ldr r0, ._227\n" - "._222:\n" - " lsl r2, r4, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x17\n" - " bl Menu_PrintText\n" - " b ._226\n" - "._228:\n" - " .align 2, 0\n" - "._227:\n" - " .word gOtherText_FemaleSymbolAndLv\n" - "._225:\n" - " lsl r2, r5, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x17\n" - " bl Menu_PrintText\n" - "._226:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816013C() -{ - asm( - " push {r4, r5, lr}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r5, ._229\n" - " ldr r1, ._229 + 4\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r1\n" - " mov r1, #0x2\n" - " ldrsb r1, [r0, r1]\n" - " add r0, r5, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " lsl r4, r4, #0x1\n" - " add r4, r4, #0x1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x1a\n" - " add r2, r4, #0\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._230:\n" - " .align 2, 0\n" - "._229:\n" - " .word gStringVar1\n" - " .word _nakamuraStatic0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816017C() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " lsl r3, r4, #0x1\n" - " add r1, r3, #1\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r3, r3, #0x2\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r0, #0x10\n" - " mov r2, #0x1c\n" - " bl Menu_BlankWindowRect\n" - " ldr r1, ._232\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._231 @cond_branch\n" - " add r0, r4, #0\n" - " bl debug_sub_816009C\n" - " add r0, r4, #0\n" - " bl debug_sub_81600D0\n" - " add r0, r4, #0\n" - " bl debug_sub_816013C\n" - "._231:\n" - " mov r0, #0x5\n" - " bl debug_sub_81603B8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._233:\n" - " .align 2, 0\n" - "._232:\n" - " .word _nakamuraStatic0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81601C8() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffff0\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r1, ._239\n" - " lsl r0, r5, #0x2\n" - " add r2, r0, r1\n" - " mov r4, #0x0\n" - " ldsh r0, [r2, r4]\n" - " cmp r0, #0\n" - " bne ._236 @cond_branch\n" - " ldrb r0, [r2, #0x3]\n" - " cmp r0, #0\n" - " bne ._236 @cond_branch\n" - " cmp r3, #0x1\n" - " bne ._236 @cond_branch\n" - " mov r0, #0x8a\n" - " lsl r0, r0, #0x1\n" - " strh r0, [r2]\n" - "._236:\n" - " lsl r0, r5, #0x2\n" - " add r4, r0, r1\n" - " lsl r0, r3, #0x18\n" - " asr r0, r0, #0x18\n" - " ldrh r1, [r4]\n" - " add r2, r0, r1\n" - " mov r3, #0x0\n" - " strh r2, [r4]\n" - " lsl r1, r2, #0x10\n" - " mov r0, #0xcd\n" - " lsl r0, r0, #0x11\n" - " cmp r1, r0\n" - " ble ._237 @cond_branch\n" - " ldr r1, ._239 + 4\n" - " add r0, r2, r1\n" - " strh r0, [r4]\n" - "._237:\n" - " ldrh r1, [r4]\n" - " mov r2, #0x0\n" - " ldsh r0, [r4, r2]\n" - " cmp r0, #0\n" - " bge ._238 @cond_branch\n" - " ldr r2, ._239 + 8\n" - " add r0, r1, r2\n" - " strh r0, [r4]\n" - "._238:\n" - " mov r0, #0x64\n" - " mul r0, r0, r5\n" - " ldr r1, ._239 + 12\n" - " add r0, r0, r1\n" - " ldrh r1, [r4]\n" - " ldrb r2, [r4, #0x2]\n" - " str r3, [sp]\n" - " str r3, [sp, #0x4]\n" - " str r3, [sp, #0x8]\n" - " str r3, [sp, #0xc]\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " mov r0, #0x1\n" - " strb r0, [r4, #0x3]\n" - " add sp, sp, #0x10\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._240:\n" - " .align 2, 0\n" - "._239:\n" - " .word _nakamuraStatic0\n" - " .word 0xfffffe65\n" - " .word 0x19b\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160258() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " ldr r1, ._242\n" - " lsl r0, r2, #0x2\n" - " add r0, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._241 @cond_branch\n" - " add r0, r2, #0\n" - " bl debug_sub_816062C\n" - "._241:\n" - " pop {r0}\n" - " bx r0\n" - "._243:\n" - " .align 2, 0\n" - "._242:\n" - " .word _nakamuraStatic0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816027C() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r4, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r2, r1, #0x18\n" - " ldr r1, ._247\n" - " lsl r0, r4, #0x2\n" - " add r3, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r3, r1]\n" - " cmp r0, #0\n" - " beq ._244 @cond_branch\n" - " lsl r0, r2, #0x18\n" - " asr r0, r0, #0x18\n" - " ldrb r1, [r3, #0x2]\n" - " add r0, r0, r1\n" - " strb r0, [r3, #0x2]\n" - " lsl r0, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x64\n" - " ble ._245 @cond_branch\n" - " mov r0, #0x1\n" - " strb r0, [r3, #0x2]\n" - "._245:\n" - " mov r0, #0x2\n" - " ldrsb r0, [r3, r0]\n" - " cmp r0, #0\n" - " bgt ._246 @cond_branch\n" - " mov r0, #0x64\n" - " strb r0, [r3, #0x2]\n" - "._246:\n" - " mov r0, #0x64\n" - " mul r4, r4, r0\n" - " ldr r0, ._247 + 4\n" - " add r4, r4, r0\n" - " ldr r2, ._247 + 8\n" - " mov r0, #0x0\n" - " ldsh r1, [r3, r0]\n" - " lsl r0, r1, #0x3\n" - " sub r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r2\n" - " ldrb r1, [r0, #0x13]\n" - " mov r0, #0xca\n" - " lsl r0, r0, #0x1\n" - " add r2, r1, #0\n" - " mul r2, r2, r0\n" - " mov r0, #0x2\n" - " ldrsb r0, [r3, r0]\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._247 + 12\n" - " add r0, r0, r1\n" - " add r2, r2, r0\n" - " add r0, r4, #0\n" - " mov r1, #0x19\n" - " bl SetMonData\n" - " add r0, r4, #0\n" - " bl debug_sub_803F55C\n" - "._244:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._248:\n" - " .align 2, 0\n" - "._247:\n" - " .word _nakamuraStatic0\n" - " .word gPlayerParty\n" - " .word gBaseStats\n" - " .word gExperienceTables\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160308() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add sp, sp, #0xffffff8c\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " mov r2, #0x0\n" - "._252:\n" - " add r1, r2, #1\n" - " lsl r0, r1, #0x18\n" - " lsr r5, r0, #0x18\n" - " mov r8, r1\n" - " cmp r5, #0x5\n" - " bhi ._249 @cond_branch\n" - " mov r0, #0x64\n" - " mov r9, r0\n" - " mov r0, r9\n" - " mul r0, r0, r2\n" - " ldr r7, ._254\n" - " add r6, r0, r7\n" - "._251:\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " bne ._250 @cond_branch\n" - " add r0, sp, #0x10\n" - " add r1, r6, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " mov r4, r9\n" - " mul r4, r4, r5\n" - " add r4, r4, r7\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " add r0, r4, #0\n" - " add r1, sp, #0x10\n" - " mov r2, #0x64\n" - " bl memcpy\n" - "._250:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._251 @cond_branch\n" - "._249:\n" - " mov r1, r8\n" - " lsl r0, r1, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x4\n" - " bls ._252 @cond_branch\n" - " bl CalculatePlayerPartyCount\n" - " ldr r4, ._254 + 4\n" - " ldrb r1, [r4]\n" - " cmp r1, #0\n" - " bne ._253 @cond_branch\n" - " ldr r0, ._254\n" - " str r1, [sp]\n" - " str r1, [sp, #0x4]\n" - " str r1, [sp, #0x8]\n" - " str r1, [sp, #0xc]\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " mov r0, #0x1\n" - " strb r0, [r4]\n" - "._253:\n" - " add sp, sp, #0x74\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" - "._255:\n" - " .align 2, 0\n" - "._254:\n" - " .word gPlayerParty\n" - " .word gPlayerPartyCount\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81603B8() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r7, ._259\n" - " ldrb r4, [r7]\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " bl __udivsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._259 + 4\n" - " add r0, r5, r0\n" - " ldrb r2, [r0]\n" - " lsl r3, r4, #0x1\n" - " add r1, r3, #1\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r3, r3, #0x2\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " add r0, r2, #0\n" - " bl Menu_BlankWindowRect\n" - " cmp r6, #0\n" - " bne ._256 @cond_branch\n" - " cmp r4, #0\n" - " beq ._257 @cond_branch\n" - " ldrb r0, [r7]\n" - " sub r0, r0, #0x1\n" - " b ._258\n" - "._260:\n" - " .align 2, 0\n" - "._259:\n" - " .word _nakamuraData4\n" - " .word _843E5D1\n" - "._257:\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, #0x5\n" - "._258:\n" - " strb r0, [r7]\n" - "._256:\n" - " ldr r1, ._264\n" - " cmp r6, #0x1\n" - " bne ._261 @cond_branch\n" - " cmp r4, #0x5\n" - " beq ._262 @cond_branch\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " b ._263\n" - "._265:\n" - " .align 2, 0\n" - "._264:\n" - " .word _nakamuraData4\n" - "._262:\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x1\n" - "._263:\n" - " strb r0, [r1]\n" - "._261:\n" - " cmp r6, #0x2\n" - " bne ._266 @cond_branch\n" - " cmp r5, #0\n" - " beq ._267 @cond_branch\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x6\n" - " b ._268\n" - "._267:\n" - " add r0, r4, #0\n" - " add r0, r0, #0xc\n" - "._268:\n" - " strb r0, [r1]\n" - "._266:\n" - " cmp r6, #0x3\n" - " bne ._271 @cond_branch\n" - " cmp r5, #0x2\n" - " beq ._270 @cond_branch\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x6\n" - " strb r0, [r1]\n" - " b ._271\n" - "._270:\n" - " strb r4, [r1]\n" - "._271:\n" - " ldrb r4, [r1]\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " bl __udivsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " ldr r0, ._272\n" - " add r0, r5, r0\n" - " ldrb r0, [r0]\n" - " lsr r1, r1, #0x17\n" - " add r1, r1, #0x1\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r2, #0xff\n" - " bl PrintTriangleCursorWithPalette\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._273:\n" - " .align 2, 0\n" - "._272:\n" - " .word _843E5D1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160498() -{ - asm( - " push {r4, lr}\n" - " ldr r1, ._276\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._274 @cond_branch\n" - " mov r0, #0x0\n" - " b ._281\n" - "._277:\n" - " .align 2, 0\n" - "._276:\n" - " .word gMain\n" - "._274:\n" - " mov r0, #0x80\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._278 @cond_branch\n" - " mov r0, #0x1\n" - " b ._281\n" - "._278:\n" - " mov r0, #0x20\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._280 @cond_branch\n" - " mov r0, #0x2\n" - " b ._281\n" - "._280:\n" - " mov r0, #0x10\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._282 @cond_branch\n" - " mov r0, #0x3\n" - "._281:\n" - " bl debug_sub_81603B8\n" - " mov r0, #0x0\n" - " b ._311\n" - "._282:\n" - " ldrh r1, [r1, #0x30]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._284 @cond_branch\n" - " ldr r4, ._289\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x5\n" - " bhi ._285 @cond_branch\n" - " mov r1, #0x1\n" - " bl debug_sub_81601C8\n" - "._285:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0x6\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._286 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8160258\n" - "._286:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0xc\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._306 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " b ._300\n" - "._290:\n" - " .align 2, 0\n" - "._289:\n" - " .word _nakamuraData4\n" - "._284:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._291 @cond_branch\n" - " ldr r4, ._294\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x5\n" - " bhi ._304 @cond_branch\n" - " mov r1, #0x1\n" - " neg r1, r1\n" - " b ._293\n" - "._295:\n" - " .align 2, 0\n" - "._294:\n" - " .word _nakamuraData4\n" - "._291:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._296 @cond_branch\n" - " ldr r4, ._301\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x5\n" - " bhi ._297 @cond_branch\n" - " mov r1, #0xa\n" - " bl debug_sub_81601C8\n" - "._297:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0x6\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._298 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8160258\n" - "._298:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0xc\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._306 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " b ._300\n" - "._302:\n" - " .align 2, 0\n" - "._301:\n" - " .word _nakamuraData4\n" - "._296:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._303 @cond_branch\n" - " ldr r4, ._308\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x5\n" - " bhi ._304 @cond_branch\n" - " mov r1, #0xa\n" - " neg r1, r1\n" - "._293:\n" - " bl debug_sub_81601C8\n" - "._304:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0x6\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._305 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8160258\n" - "._305:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0xc\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._306 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " neg r1, r1\n" - "._300:\n" - " bl debug_sub_816027C\n" - "._306:\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_816017C\n" - " mov r0, #0x0\n" - " b ._311\n" - "._309:\n" - " .align 2, 0\n" - "._308:\n" - " .word _nakamuraData4\n" - "._303:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._310 @cond_branch\n" - " mov r0, #0x0\n" - " b ._311\n" - "._310:\n" - " bl debug_sub_8160308\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._311:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816062C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add sp, sp, #0xfffffff0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " mov r0, #0x64\n" - " mov r4, r8\n" - " mul r4, r4, r0\n" - " ldr r0, ._316\n" - " add r4, r4, r0\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - " add r0, r4, #0\n" - " bl GetMonGender\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " ldr r1, ._316 + 4\n" - " lsl r0, r7, #0x3\n" - " sub r0, r0, r7\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldrb r6, [r0, #0x10]\n" - " cmp r6, #0\n" - " beq ._313 @cond_branch\n" - " cmp r6, #0xfe\n" - " beq ._313 @cond_branch\n" - " cmp r6, #0xff\n" - " bne ._314 @cond_branch\n" - "._313:\n" - " mov r0, #0x64\n" - " mov r1, r8\n" - " mul r1, r1, r0\n" - " add r0, r1, #0\n" - " ldr r1, ._316\n" - " add r0, r0, r1\n" - " bl GetMonGender\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._320\n" - "._317:\n" - " .align 2, 0\n" - "._316:\n" - " .word gPlayerParty\n" - " .word gBaseStats\n" - "._314:\n" - " cmp r2, #0\n" - " beq ._318 @cond_branch\n" - " cmp r2, #0xfe\n" - " beq ._319 @cond_branch\n" - " mov r0, #0x0\n" - " b ._320\n" - "._318:\n" - " mov r6, #0xfe\n" - " b ._321\n" - "._319:\n" - " mov r6, #0x0\n" - "._321:\n" - " mov r0, r8\n" - " lsl r0, r0, #0x2\n" - " mov r9, r0\n" - "._322:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " orr r5, r5, r0\n" - " add r0, r7, #0\n" - " add r1, r5, #0\n" - " bl GetGenderFromSpeciesAndPersonality\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, r6\n" - " bne ._322 @cond_branch\n" - " mov r0, #0x64\n" - " mov r4, r8\n" - " mul r4, r4, r0\n" - " ldr r0, ._323\n" - " add r4, r4, r0\n" - " add r0, r4, #0\n" - " mov r1, #0x42\n" - " bl GetMonData\n" - " ldr r0, ._323 + 4\n" - " add r0, r0, r9\n" - " ldrh r1, [r0]\n" - " ldrb r2, [r0, #0x2]\n" - " mov r0, #0x1\n" - " str r0, [sp]\n" - " str r5, [sp, #0x4]\n" - " mov r0, #0x0\n" - " str r0, [sp, #0x8]\n" - " str r0, [sp, #0xc]\n" - " add r0, r4, #0\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " add r0, r6, #0\n" - "._320:\n" - " add sp, sp, #0x10\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._324:\n" - " .align 2, 0\n" - "._323:\n" - " .word gPlayerParty\n" - " .word _nakamuraStatic0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160714() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add sp, sp, #0xfffffff0\n" - " add r6, r0, #0\n" - " mov r9, r1\n" - " mov r7, #0x0\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " mov r2, #0x0\n" - " mov r5, #0x0\n" - "._329:\n" - " add r4, r5, #1\n" - " lsl r1, r4, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r0, r9\n" - " str r2, [sp, #0xc]\n" - " bl GetPokeblockData\n" - " add r1, r0, #0\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, sp\n" - " strh r1, [r0]\n" - " ldr r2, [sp, #0xc]\n" - " cmp r5, #0x5\n" - " beq ._328 @cond_branch\n" - " lsl r0, r1, #0x10\n" - " asr r1, r0, #0x10\n" - " cmp r1, #0\n" - " ble ._326 @cond_branch\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._326:\n" - " cmp r1, #0\n" - " bge ._327 @cond_branch\n" - " mov r0, r8\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - "._327:\n" - " cmp r1, #0\n" - " bne ._328 @cond_branch\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - "._328:\n" - " lsl r0, r4, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._329 @cond_branch\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x31\n" - " bgt ._333 @cond_branch\n" - " mov r0, sp\n" - " ldrh r0, [r0, #0x2]\n" - " lsl r0, r0, #0x10\n" - " asr r0, r0, #0x10\n" - " cmp r0, #0x31\n" - " bgt ._333 @cond_branch\n" - " mov r0, sp\n" - " mov r4, #0x4\n" - " ldsh r0, [r0, r4]\n" - " cmp r0, #0x31\n" - " bgt ._333 @cond_branch\n" - " mov r0, sp\n" - " mov r1, #0x6\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x31\n" - " bgt ._333 @cond_branch\n" - " mov r0, sp\n" - " mov r4, #0x8\n" - " ldsh r0, [r0, r4]\n" - " cmp r0, #0x31\n" - " ble ._334 @cond_branch\n" - "._333:\n" - " ldr r1, ._336\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xe\n" - " b ._400\n" - "._337:\n" - " .align 2, 0\n" - "._336:\n" - " .word ContestStatsText_GoldPokeBlock\n" - "._334:\n" - " cmp r7, #0x4\n" - " bne ._338 @cond_branch\n" - " ldr r1, ._340\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xd\n" - " b ._400\n" - "._341:\n" - " .align 2, 0\n" - "._340:\n" - " .word ContestStatsText_WhitePokeBlock\n" - "._338:\n" - " mov r3, #0x0\n" - " mov r5, #0x0\n" - "._343:\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x2\n" - " bne ._342 @cond_branch\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - "._342:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x4\n" - " bls ._343 @cond_branch\n" - " cmp r3, #0x3\n" - " beq ._345 @cond_branch\n" - " cmp r2, #0x5\n" - " beq ._345 @cond_branch\n" - " mov r4, r8\n" - " cmp r4, #0x4\n" - " bne ._346 @cond_branch\n" - "._345:\n" - " ldr r1, ._348\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xc\n" - " b ._400\n" - "._349:\n" - " .align 2, 0\n" - "._348:\n" - " .word ContestStatsText_BlackPokeBlock\n" - "._346:\n" - " cmp r7, #0x3\n" - " bne ._350 @cond_branch\n" - " ldr r1, ._352\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xb\n" - " b ._400\n" - "._353:\n" - " .align 2, 0\n" - "._352:\n" - " .word ContestStatsText_GrayPokeBlock\n" - "._350:\n" - " cmp r7, #0x2\n" - " beq ._354 @cond_branch\n" - " mov r0, r8\n" - " cmp r0, #0x2\n" - " bne ._377 @cond_branch\n" - "._354:\n" - " mov r3, #0x6\n" - " mov r2, #0x0\n" - " mov r5, #0x0\n" - "._359:\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._358 @cond_branch\n" - " cmp r3, #0x6\n" - " bne ._357 @cond_branch\n" - " add r3, r5, #0\n" - " b ._358\n" - "._357:\n" - " add r2, r5, #0\n" - "._358:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x4\n" - " bls ._359 @cond_branch\n" - " lsl r0, r3, #0x1\n" - " mov r4, sp\n" - " add r1, r4, r0\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, sp\n" - " mov r4, #0x0\n" - " ldsh r1, [r1, r4]\n" - " mov r4, #0x0\n" - " ldsh r0, [r0, r4]\n" - " cmp r1, r0\n" - " blt ._360 @cond_branch\n" - " add r2, r3, #0\n" - "._360:\n" - " cmp r2, #0\n" - " bne ._361 @cond_branch\n" - " ldr r1, ._363\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x6\n" - " b ._400\n" - "._364:\n" - " .align 2, 0\n" - "._363:\n" - " .word ContestStatsText_PurplePokeBlock\n" - "._361:\n" - " cmp r2, #0x1\n" - " bne ._365 @cond_branch\n" - " ldr r1, ._367\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x7\n" - " b ._400\n" - "._368:\n" - " .align 2, 0\n" - "._367:\n" - " .word ContestStatsText_IndigoPokeBlock\n" - "._365:\n" - " cmp r2, #0x2\n" - " bne ._369 @cond_branch\n" - " ldr r1, ._371\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x8\n" - " b ._400\n" - "._372:\n" - " .align 2, 0\n" - "._371:\n" - " .word ContestStatsText_BrownPokeBlock\n" - "._369:\n" - " cmp r2, #0x3\n" - " bne ._373 @cond_branch\n" - " ldr r1, ._375\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x9\n" - " b ._400\n" - "._376:\n" - " .align 2, 0\n" - "._375:\n" - " .word ContestStatsText_LiteBluePokeBlock\n" - "._373:\n" - " cmp r2, #0x4\n" - " bne ._377 @cond_branch\n" - " ldr r1, ._379\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xa\n" - " b ._400\n" - "._380:\n" - " .align 2, 0\n" - "._379:\n" - " .word ContestStatsText_OlivePokeBlock\n" - "._377:\n" - " cmp r7, #0x1\n" - " beq ._381 @cond_branch\n" - " mov r0, r8\n" - " cmp r0, #0x1\n" - " bne ._399 @cond_branch\n" - "._381:\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._383 @cond_branch\n" - " ldr r1, ._385\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x1\n" - " b ._400\n" - "._386:\n" - " .align 2, 0\n" - "._385:\n" - " .word ContestStatsText_RedPokeBlock\n" - "._383:\n" - " mov r0, sp\n" - " ldrh r0, [r0, #0x2]\n" - " cmp r0, #0\n" - " beq ._387 @cond_branch\n" - " ldr r1, ._389\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x2\n" - " b ._400\n" - "._390:\n" - " .align 2, 0\n" - "._389:\n" - " .word ContestStatsText_BluePokeBlock\n" - "._387:\n" - " mov r0, sp\n" - " mov r4, #0x4\n" - " ldsh r0, [r0, r4]\n" - " cmp r0, #0\n" - " beq ._391 @cond_branch\n" - " ldr r1, ._393\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x3\n" - " b ._400\n" - "._394:\n" - " .align 2, 0\n" - "._393:\n" - " .word ContestStatsText_PinkPokeBlock\n" - "._391:\n" - " mov r0, sp\n" - " mov r1, #0x6\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._395 @cond_branch\n" - " ldr r1, ._397\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x4\n" - " b ._400\n" - "._398:\n" - " .align 2, 0\n" - "._397:\n" - " .word ContestStatsText_GreenPokeBlock\n" - "._395:\n" - " mov r0, sp\n" - " mov r4, #0x8\n" - " ldsh r0, [r0, r4]\n" - " cmp r0, #0\n" - " beq ._399 @cond_branch\n" - " ldr r1, ._401\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x5\n" - " b ._400\n" - "._402:\n" - " .align 2, 0\n" - "._401:\n" - " .word ContestStatsText_YellowPokeBlock\n" - "._399:\n" - " ldr r1, ._403\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x0\n" - "._400:\n" - " add sp, sp, #0x10\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._404:\n" - " .align 2, 0\n" - "._403:\n" - " .word gOtherText_FiveQuestions\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816097C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add r7, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r5, r1, #0x10\n" - " mov r6, #0x0\n" - " mov r1, #0x0\n" - "._405:\n" - " add r0, r7, r6\n" - " strb r1, [r0]\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x3\n" - " bls ._405 @cond_branch\n" - " mov r0, #0xff\n" - " strb r0, [r7, #0x4]\n" - " lsl r0, r5, #0x10\n" - " asr r0, r0, #0x10\n" - " cmp r0, #0\n" - " bne ._406 @cond_branch\n" - " mov r0, #0xa1\n" - " strb r0, [r7, #0x3]\n" - " b ._414\n" - "._406:\n" - " cmp r0, #0\n" - " ble ._408 @cond_branch\n" - " mov r4, #0x64\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " mov r6, #0x0\n" - "._412:\n" - " lsl r5, r5, #0x10\n" - " asr r0, r5, #0x10\n" - " lsl r4, r4, #0x10\n" - " asr r1, r4, #0x10\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " mov r1, r8\n" - " cmp r1, #0\n" - " bne ._410 @cond_branch\n" - " cmp r6, #0x2\n" - " beq ._410 @cond_branch\n" - " cmp r2, #0\n" - " beq ._411 @cond_branch\n" - "._410:\n" - " add r1, r6, r7\n" - " add r0, r2, #0\n" - " sub r0, r0, #0x5f\n" - " strb r0, [r1, #0x1]\n" - " mov r0, #0x1\n" - " mov r8, r0\n" - "._411:\n" - " asr r0, r5, #0x10\n" - " asr r4, r4, #0x10\n" - " add r1, r4, #0\n" - " bl __modsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " add r0, r4, #0\n" - " mov r1, #0xa\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x2\n" - " bls ._412 @cond_branch\n" - " b ._414\n" - "._408:\n" - " cmp r0, #0\n" - " bge ._414 @cond_branch\n" - " neg r0, r0\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " mov r4, #0x64\n" - " mov r1, #0x0\n" - " mov r8, r1\n" - " mov r6, #0x0\n" - "._419:\n" - " lsl r5, r5, #0x10\n" - " asr r0, r5, #0x10\n" - " lsl r4, r4, #0x10\n" - " asr r1, r4, #0x10\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " mov r1, r8\n" - " lsl r0, r1, #0x10\n" - " add r3, r0, #0\n" - " cmp r3, #0\n" - " bne ._416 @cond_branch\n" - " cmp r6, #0x2\n" - " beq ._416 @cond_branch\n" - " cmp r2, #0\n" - " beq ._417 @cond_branch\n" - "._416:\n" - " add r1, r6, r7\n" - " add r0, r2, #0\n" - " sub r0, r0, #0x5f\n" - " strb r0, [r1, #0x1]\n" - " cmp r3, #0\n" - " bne ._418 @cond_branch\n" - " mov r0, #0xae\n" - " strb r0, [r1]\n" - "._418:\n" - " mov r0, #0x1\n" - " mov r8, r0\n" - "._417:\n" - " asr r0, r5, #0x10\n" - " asr r4, r4, #0x10\n" - " add r1, r4, #0\n" - " bl __modsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " add r0, r4, #0\n" - " mov r1, #0xa\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x2\n" - " bls ._419 @cond_branch\n" - "._414:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160A80() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r2, r0, #0\n" - " ldr r1, ._422\n" - " cmp r0, #0\n" - " bne ._420 @cond_branch\n" - " ldr r4, ._422 + 4\n" - " ldrb r1, [r1, #0x1]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._423:\n" - " .align 2, 0\n" - "._422:\n" - " .word _nakamuraStatic18\n" - " .word gStringVar1\n" - "._420:\n" - " cmp r0, #0x1\n" - " bne ._424 @cond_branch\n" - " ldr r4, ._426\n" - " ldrb r1, [r1, #0x2]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._427:\n" - " .align 2, 0\n" - "._426:\n" - " .word gStringVar1\n" - "._424:\n" - " cmp r0, #0x2\n" - " bne ._428 @cond_branch\n" - " ldr r4, ._430\n" - " ldrb r1, [r1, #0x3]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._431:\n" - " .align 2, 0\n" - "._430:\n" - " .word gStringVar1\n" - "._428:\n" - " cmp r0, #0x3\n" - " bne ._432 @cond_branch\n" - " ldr r4, ._434\n" - " ldrb r1, [r1, #0x4]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._435:\n" - " .align 2, 0\n" - "._434:\n" - " .word gStringVar1\n" - "._432:\n" - " cmp r0, #0x4\n" - " bne ._436 @cond_branch\n" - " ldr r4, ._438\n" - " ldrb r1, [r1, #0x5]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._439:\n" - " .align 2, 0\n" - "._438:\n" - " .word gStringVar1\n" - "._436:\n" - " cmp r2, #0x5\n" - " bne ._440 @cond_branch\n" - " ldr r4, ._441\n" - " ldrb r1, [r1, #0x6]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - "._440:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._442:\n" - " .align 2, 0\n" - "._441:\n" - " .word gStringVar1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160B50() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r3, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r4, r1, #0\n" - " ldr r2, ._445\n" - " cmp r0, #0\n" - " bne ._443 @cond_branch\n" - " ldrb r0, [r2, #0x1]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x1]\n" - " b ._455\n" - "._446:\n" - " .align 2, 0\n" - "._445:\n" - " .word _nakamuraStatic18\n" - "._443:\n" - " cmp r0, #0x1\n" - " bne ._447 @cond_branch\n" - " ldrb r0, [r2, #0x2]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x2]\n" - " b ._455\n" - "._447:\n" - " cmp r0, #0x2\n" - " bne ._449 @cond_branch\n" - " ldrb r0, [r2, #0x3]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x3]\n" - " b ._455\n" - "._449:\n" - " cmp r0, #0x3\n" - " bne ._451 @cond_branch\n" - " ldrb r0, [r2, #0x4]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x4]\n" - " b ._455\n" - "._451:\n" - " cmp r0, #0x4\n" - " bne ._453 @cond_branch\n" - " ldrb r0, [r2, #0x5]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x5]\n" - " b ._455\n" - "._453:\n" - " cmp r3, #0x5\n" - " bne ._455 @cond_branch\n" - " ldrb r0, [r2, #0x6]\n" - " add r0, r0, r4\n" - " strb r0, [r2, #0x6]\n" - "._455:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160BB0() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r5, ._456\n" - " ldr r4, ._456 + 4\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " bl debug_sub_8160714\n" - " strb r0, [r4]\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._457:\n" - " .align 2, 0\n" - "._456:\n" - " .word gStringVar1\n" - " .word _nakamuraStatic18\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160BE4() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " bl debug_sub_8160BB0\n" - " ldr r0, ._459\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 4\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 8\n" - " mov r1, #0x2\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 12\n" - " mov r1, #0x2\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 16\n" - " mov r1, #0x2\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 20\n" - " mov r1, #0x2\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " mov r4, #0x0\n" - "._458:\n" - " add r0, r4, #0\n" - " bl debug_sub_8160A80\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._458 @cond_branch\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, #0x6\n" - " bl InitMenu\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._460:\n" - " .align 2, 0\n" - "._459:\n" - " .word gContestStatsText_Spicy\n" - " .word gContestStatsText_Dry\n" - " .word gContestStatsText_Sweet\n" - " .word gContestStatsText_Bitter\n" - " .word gContestStatsText_Sour\n" - " .word gContestStatsText_Tasty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160C7C() -{ - asm( - " push {r4, lr}\n" - " ldr r2, ._469\n" - " mov r1, #0x0\n" - " ldrb r0, [r2]\n" - " cmp r0, #0xc\n" - " bne ._467 @cond_branch\n" - " ldrb r0, [r2, #0x1]\n" - " cmp r0, #0x2\n" - " bne ._462 @cond_branch\n" - " mov r1, #0x1\n" - "._462:\n" - " ldrb r0, [r2, #0x3]\n" - " cmp r0, #0x2\n" - " bne ._463 @cond_branch\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - "._463:\n" - " ldrb r0, [r2, #0x4]\n" - " cmp r0, #0x2\n" - " bne ._464 @cond_branch\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - "._464:\n" - " ldrb r0, [r2, #0x2]\n" - " cmp r0, #0x2\n" - " bne ._465 @cond_branch\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - "._465:\n" - " ldrb r0, [r2, #0x5]\n" - " cmp r0, #0x2\n" - " bne ._466 @cond_branch\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - "._466:\n" - " cmp r1, #0x3\n" - " beq ._467 @cond_branch\n" - " mov r0, #0x2\n" - " strb r0, [r2, #0x1]\n" - " strb r0, [r2, #0x3]\n" - " strb r0, [r2, #0x4]\n" - "._467:\n" - " add r0, r2, #0\n" - " bl sub_810CA34\n" - " bl debug_sub_8160BB0\n" - " mov r4, #0x0\n" - "._468:\n" - " add r0, r4, #0\n" - " bl debug_sub_8160A80\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._468 @cond_branch\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._470:\n" - " .align 2, 0\n" - "._469:\n" - " .word _nakamuraStatic18\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160CF4() -{ - asm( - " push {lr}\n" - " ldr r2, ._473\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._471 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._472\n" - "._474:\n" - " .align 2, 0\n" - "._473:\n" - " .word gMain\n" - "._471:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._475 @cond_branch\n" - " mov r0, #0x1\n" - "._472:\n" - " bl Menu_MoveCursor\n" - " mov r0, #0x0\n" - " b ._484\n" - "._475:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._477 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " neg r1, r1\n" - " b ._478\n" - "._477:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._479 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - "._478:\n" - " bl debug_sub_8160B50\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8160A80\n" - " bl debug_sub_8160BB0\n" - " mov r0, #0x0\n" - " b ._484\n" - "._479:\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._481 @cond_branch\n" - " bl debug_sub_8160C7C\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x0\n" - " b ._484\n" - "._481:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._483 @cond_branch\n" - " mov r0, #0x0\n" - " b ._484\n" - "._483:\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._484:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_8160D98() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl debug_sub_8160BE4\n" - " ldr r1, ._485\n" - " ldr r0, ._485 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._486:\n" - " .align 2, 0\n" - "._485:\n" - " .word gMenuCallback\n" - " .word debug_sub_8160CF4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160DC0() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x16\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._487\n" - " mov r1, #0xb\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 4\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 8\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 12\n" - " mov r1, #0x2\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 16\n" - " mov r1, #0x2\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 20\n" - " mov r1, #0x2\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 24\n" - " mov r1, #0x2\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 28\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 32\n" - " mov r1, #0x2\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " pop {r0}\n" - " bx r0\n" - "._488:\n" - " .align 2, 0\n" - "._487:\n" - " .word gOtherText_Slash\n" - " .word Str_843E5F2\n" - " .word Str_843E5FB\n" - " .word Str_843E606\n" - " .word Str_843E611\n" - " .word Str_843E61C\n" - " .word Str_843E627\n" - " .word Str_843E637\n" - " .word Str_843E632\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160E50() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " ldr r5, ._489\n" - " add r0, r6, #0\n" - " mov r1, #0x2\n" - " add r2, r5, #0\n" - " bl GetMonData\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r0, #0xc\n" - " mov r1, #0x1\n" - " mov r2, #0x15\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " mov r1, #0xb\n" - " mul r0, r0, r1\n" - " ldr r1, ._489 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xc\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1a\n" - " bl GetMonData\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x3\n" - " mov r2, #0x11\n" - " mov r3, #0x4\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1b\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x5\n" - " mov r2, #0x11\n" - " mov r3, #0x6\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1c\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x7\n" - " mov r2, #0x11\n" - " mov r3, #0x8\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1d\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x9\n" - " mov r2, #0x11\n" - " mov r3, #0xa\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1e\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0xb\n" - " mov r2, #0x11\n" - " mov r3, #0xc\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1f\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0xd\n" - " mov r2, #0x11\n" - " mov r3, #0xe\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0xf\n" - " mov r2, #0x11\n" - " mov r3, #0x10\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x20\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x11\n" - " mov r2, #0x11\n" - " mov r3, #0x12\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._490:\n" - " .align 2, 0\n" - "._489:\n" - " .word gStringVar1\n" - " .word gSpeciesNames\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8161028() -{ - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._491 @cond_branch\n" - " ldr r0, ._496\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._492 @cond_branch\n" - " mov r5, #0x5\n" - "._494:\n" - " lsl r0, r5, #0x10\n" - " asr r4, r0, #0x10\n" - " mov r0, #0x64\n" - " mul r0, r0, r4\n" - " ldr r1, ._496 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " bne ._493 @cond_branch\n" - " sub r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " cmp r0, #0\n" - " bge ._494 @cond_branch\n" - "._492:\n" - " ldr r1, ._496\n" - " ldrb r0, [r1]\n" - " add r0, r0, r6\n" - " strb r0, [r1]\n" - " b ._506\n" - "._497:\n" - " .align 2, 0\n" - "._496:\n" - " .word _nakamuraData5\n" - " .word gPlayerParty\n" - "._491:\n" - " cmp r1, #0x1\n" - " bne ._506 @cond_branch\n" - " ldr r4, ._501\n" - " ldrb r0, [r4]\n" - " add r0, r0, r6\n" - " strb r0, [r4]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x6\n" - " bne ._499 @cond_branch\n" - " mov r0, #0x0\n" - " b ._500\n" - "._502:\n" - " .align 2, 0\n" - "._501:\n" - " .word _nakamuraData5\n" - "._493:\n" - " ldr r0, ._504\n" - " strb r5, [r0]\n" - " b ._506\n" - "._505:\n" - " .align 2, 0\n" - "._504:\n" - " .word _nakamuraData5\n" - "._499:\n" - " ldrb r1, [r4]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._507\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " bne ._506 @cond_branch\n" - "._500:\n" - " strb r0, [r4]\n" - "._506:\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._508:\n" - " .align 2, 0\n" - "._507:\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81610BC() -{ - asm( - " push {lr}\n" - " ldr r0, ._511\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._509 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._510\n" - "._512:\n" - " .align 2, 0\n" - "._511:\n" - " .word gMain\n" - "._509:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._513 @cond_branch\n" - " mov r0, #0x1\n" - "._510:\n" - " bl debug_sub_8161028\n" - " ldr r0, ._515\n" - " ldrb r1, [r0]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._515 + 4\n" - " add r0, r0, r1\n" - " bl debug_sub_8160E50\n" - " mov r0, #0x0\n" - " b ._518\n" - "._516:\n" - " .align 2, 0\n" - "._515:\n" - " .word _nakamuraData5\n" - " .word gPlayerParty\n" - "._513:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._517 @cond_branch\n" - " mov r0, #0x0\n" - " b ._518\n" - "._517:\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._518:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void DebugMenu_EffortValues() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " ldr r1, ._519\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " bl debug_sub_8160DC0\n" - " ldr r0, ._519 + 4\n" - " bl debug_sub_8160E50\n" - " ldr r1, ._519 + 8\n" - " ldr r0, ._519 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._520:\n" - " .align 2, 0\n" - "._519:\n" - " .word _nakamuraData5\n" - " .word gPlayerParty\n" - " .word gMenuCallback\n" - " .word debug_sub_81610BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8161160() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " mov r7, #0x0\n" - " ldr r2, ._523\n" - " ldr r1, ._523 + 4\n" - " ldrh r0, [r2]\n" - " ldrh r3, [r1]\n" - " cmp r0, r3\n" - " bhi ._521 @cond_branch\n" - " add r6, r0, #0\n" - " ldrh r5, [r1]\n" - " b ._522\n" - "._524:\n" - " .align 2, 0\n" - "._523:\n" - " .word _nakamuraData6\n" - " .word _nakamuraData8\n" - "._521:\n" - " ldrh r6, [r1]\n" - " ldrh r5, [r2]\n" - "._522:\n" - " mov r4, #0x0\n" - " ldr r0, ._529\n" - " ldrh r0, [r0]\n" - " cmp r4, r0\n" - " bcs ._525 @cond_branch\n" - " ldr r0, ._529 + 4\n" - " mov r8, r0\n" - "._528:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r2, r8\n" - " ldrh r1, [r2]\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, r6\n" - " bcc ._527 @cond_branch\n" - " cmp r0, r5\n" - " bhi ._527 @cond_branch\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - "._527:\n" - " add r4, r4, #0x1\n" - " ldr r0, ._529\n" - " ldrh r0, [r0]\n" - " cmp r4, r0\n" - " bcc ._528 @cond_branch\n" - "._525:\n" - " add r0, r7, #0\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._530:\n" - " .align 2, 0\n" - "._529:\n" - " .word _nakamuraDataA\n" - " .word _nakamuraDataC\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81611D8() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xf\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._531\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 4\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 8\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 12\n" - " mov r1, #0x2\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 16\n" - " mov r1, #0x2\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 20\n" - " mov r1, #0xd\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldr r4, ._531 + 24\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xe\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" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._532:\n" - " .align 2, 0\n" - "._531:\n" - " .word Str_843E642\n" - " .word Str_843E647\n" - " .word Str_843E65A\n" - " .word Str_843E64C\n" - " .word Str_843E651\n" - " .word Str_843E655\n" - " .word Str_843E658\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8161290() -{ - asm( - " push {r4, lr}\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r4, ._533\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._534:\n" - " .align 2, 0\n" - "._533:\n" - " .word gStringVar1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81612B8() -{ - asm( - " push {r4, r5, lr}\n" - " add r4, r2, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " lsl r1, r1, #0x18\n" - " asr r1, r1, #0x18\n" - " ldrh r2, [r0]\n" - " add r1, r1, r2\n" - " strh r1, [r0]\n" - " ldr r5, ._535\n" - " ldrh r1, [r0]\n" - " add r0, r5, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x8\n" - " add r2, r4, #0\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._536:\n" - " .align 2, 0\n" - "._535:\n" - " .word gStringVar1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81612EC() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r2, ._540\n" - " ldrh r1, [r2, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " mov r5, #0x1\n" - " cmp r0, #0\n" - " beq ._537 @cond_branch\n" - " mov r5, #0x64\n" - "._537:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._538 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._539\n" - "._541:\n" - " .align 2, 0\n" - "._540:\n" - " .word gMain\n" - "._538:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._542 @cond_branch\n" - " mov r0, #0x1\n" - "._539:\n" - " bl Menu_MoveCursor\n" - "._565:\n" - " mov r0, #0x0\n" - " b ._543\n" - "._542:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._544 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " asr r4, r0, #0x18\n" - " cmp r4, #0\n" - " bne ._545 @cond_branch\n" - " ldr r0, ._550\n" - " neg r1, r5\n" - " mov r2, #0x1\n" - " bl debug_sub_81612B8\n" - "._545:\n" - " cmp r4, #0x1\n" - " bne ._546 @cond_branch\n" - " ldr r0, ._550 + 4\n" - " neg r1, r5\n" - " mov r2, #0x3\n" - " bl debug_sub_81612B8\n" - "._546:\n" - " cmp r4, #0x2\n" - " bne ._547 @cond_branch\n" - " ldr r0, ._550 + 8\n" - " neg r1, r5\n" - " mov r2, #0x5\n" - " bl debug_sub_81612B8\n" - "._547:\n" - " cmp r4, #0x3\n" - " bne ._565 @cond_branch\n" - " ldr r0, ._550 + 12\n" - " neg r1, r5\n" - " mov r2, #0x7\n" - " bl debug_sub_81612B8\n" - " b ._565\n" - "._551:\n" - " .align 2, 0\n" - "._550:\n" - " .word _nakamuraData6\n" - " .word _nakamuraData8\n" - " .word _nakamuraDataC\n" - " .word _nakamuraDataA\n" - "._544:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._552 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " asr r4, r0, #0x18\n" - " cmp r4, #0\n" - " bne ._553 @cond_branch\n" - " ldr r0, ._558\n" - " add r1, r5, #0\n" - " mov r2, #0x1\n" - " bl debug_sub_81612B8\n" - "._553:\n" - " cmp r4, #0x1\n" - " bne ._554 @cond_branch\n" - " ldr r0, ._558 + 4\n" - " add r1, r5, #0\n" - " mov r2, #0x3\n" - " bl debug_sub_81612B8\n" - "._554:\n" - " cmp r4, #0x2\n" - " bne ._555 @cond_branch\n" - " ldr r0, ._558 + 8\n" - " add r1, r5, #0\n" - " mov r2, #0x5\n" - " bl debug_sub_81612B8\n" - "._555:\n" - " cmp r4, #0x3\n" - " bne ._565 @cond_branch\n" - " ldr r0, ._558 + 12\n" - " add r1, r5, #0\n" - " mov r2, #0x7\n" - " bl debug_sub_81612B8\n" - " b ._565\n" - "._559:\n" - " .align 2, 0\n" - "._558:\n" - " .word _nakamuraData6\n" - " .word _nakamuraData8\n" - " .word _nakamuraDataC\n" - " .word _nakamuraDataA\n" - "._552:\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._560 @cond_branch\n" - " ldr r0, ._563\n" - " ldrh r0, [r0]\n" - " cmp r0, #0\n" - " beq ._565 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " bl debug_sub_8161160\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl debug_sub_8161290\n" - " b ._565\n" - "._564:\n" - " .align 2, 0\n" - "._563:\n" - " .word _nakamuraDataC\n" - "._560:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._565 @cond_branch\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._543:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void DebugMenu_RandomNumberTest() -{ - asm( - " push {lr}\n" - " ldr r0, ._566\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r0, ._566 + 4\n" - " strh r1, [r0]\n" - " ldr r0, ._566 + 8\n" - " strh r1, [r0]\n" - " ldr r0, ._566 + 12\n" - " strh r1, [r0]\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl debug_sub_81611D8\n" - " ldr r1, ._566 + 16\n" - " ldr r0, ._566 + 20\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._567:\n" - " .align 2, 0\n" - "._566:\n" - " .word _nakamuraData6\n" - " .word _nakamuraData8\n" - " .word _nakamuraDataC\n" - " .word _nakamuraDataA\n" - " .word gMenuCallback\n" - " .word debug_sub_81612EC+1\n" - "\n" - ); -} - #endif // DEBUG diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index bdfc8f9c5..b3885ff76 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -5,2312 +5,8 @@ __attribute__((unused)) static u8 gDebug_03000724; __attribute__((unused)) static u8 gDebug_03000725; __attribute__((unused)) static u8 gDebug_03000726; -__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_03000726\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_03000726\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_03000725\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_03000725\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" - ); -} +asm(".global gDebug_03000724"); +asm(".global gDebug_03000725"); +asm(".global gDebug_03000726"); #endif diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index d479c59c8..f7e0e3770 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -3,2120 +3,4 @@ EWRAM_DATA u8 unk_2030224[4] = { 0 }; -__attribute__((naked)) -void TayaDebugMenu_Trend() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xffffffd8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1e\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r5, ._3\n" - " mov r7, #0x0\n" - " mov r0, #0x1\n" - " add r0, r0, sp\n" - " mov sl, r0\n" - " mov r9, sp\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " add r6, sp, #0x20\n" - "._2:\n" - " ldrb r1, [r5, #0x1]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " mov r1, #0xa1\n" - " cmp r0, #0\n" - " beq ._1 @cond_branch\n" - " mov r1, #0xa2\n" - "._1:\n" - " mov r0, r9\n" - " strb r1, [r0]\n" - " ldrh r1, [r5, #0x4]\n" - " add r0, r6, #0\n" - " bl EasyChat_GetWordText\n" - " mov r0, sl\n" - " add r1, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x7\n" - " bl StringCopyPadded\n" - " add r4, r0, #0\n" - " ldrh r1, [r5, #0x6]\n" - " add r0, r6, #0\n" - " bl EasyChat_GetWordText\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x8\n" - " bl StringCopyPadded\n" - " add r4, r0, #0\n" - " ldrb r1, [r5]\n" - " lsl r1, r1, #0x19\n" - " lsr r1, r1, #0x19\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r4, r0, #0\n" - " mov r0, r8\n" - " strb r0, [r4]\n" - " add r4, r4, #0x1\n" - " ldrh r1, [r5]\n" - " lsl r1, r1, #0x12\n" - " lsr r1, r1, #0x19\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r4, r0, #0\n" - " mov r0, r8\n" - " strb r0, [r4]\n" - " add r4, r4, #0x1\n" - " ldrh r1, [r5, #0x2]\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " lsl r2, r7, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " add r5, r5, #0x8\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - " cmp r7, #0x4\n" - " bls ._2 @cond_branch\n" - " ldr r1, ._3 + 4\n" - " ldr r0, ._3 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x28\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gSaveBlock1+0x2dd4\n" - " .word gMenuCallback\n" - " .word debug_sub_8090808+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090808() -{ - asm( - " push {lr}\n" - " ldr r0, ._7\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x3\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._5 @cond_branch\n" - " mov r0, #0x0\n" - " b ._6\n" - "._8:\n" - " .align 2, 0\n" - "._7:\n" - " .word gMain\n" - "._5:\n" - " bl Menu_EraseScreen\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._6:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_TrendR() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r0, #0x0\n" - " ldr r7, ._11\n" - "._10:\n" - " mov r4, #0x0\n" - " lsl r5, r0, #0x3\n" - " add r6, r0, #1\n" - "._9:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x16\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl sub_80EB72C\n" - " lsl r1, r4, #0x1\n" - " add r1, r1, r5\n" - " add r1, r1, r7\n" - " strh r0, [r1]\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0x1\n" - " bls ._9 @cond_branch\n" - " lsl r0, r6, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0x4\n" - " bls ._10 @cond_branch\n" - " bl Menu_EraseScreen\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._12:\n" - " .align 2, 0\n" - "._11:\n" - " .word gSaveBlock1+0x2dd8\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090880() -{ - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._13 @cond_branch\n" - " mov r0, #0x0\n" - " b ._14\n" - "._13:\n" - " bl sub_80E60D8\n" - " mov r0, #0x1\n" - "._14:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_809089C() -{ - 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 ._15 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._16 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._17\n" - "._16:\n" - " ldr r2, ._19\n" - " ldr r0, ._19 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " strh r0, [r2]\n" - " ldrh r0, [r2]\n" - " sub r0, r0, #0x5\n" - " cmp r0, #0x7\n" - " bhi ._27 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._19 + 8\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._20:\n" - " .align 2, 0\n" - "._19:\n" - " .word gSpecialVar_0x8004\n" - " .word gUnknown_Debug_083C4EC0\n" - " .word ._21\n" - "._21:\n" - " .word ._29\n" - " .word ._27\n" - " .word ._29\n" - " .word ._29\n" - " .word ._27\n" - " .word ._27\n" - " .word ._29\n" - " .word ._29\n" - "._29:\n" - " ldr r0, ._30\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r0, ._30 + 4\n" - " strh r1, [r0]\n" - "._27:\n" - " mov r0, #0x1\n" - " mov r1, #0x0\n" - " bl FadeScreen\n" - " ldr r1, ._30 + 8\n" - " ldr r0, ._30 + 12\n" - " str r0, [r1]\n" - "._15:\n" - " mov r0, #0x0\n" - "._17:\n" - " pop {r1}\n" - " bx r1\n" - "._31:\n" - " .align 2, 0\n" - "._30:\n" - " .word gSpecialVar_0x8005\n" - " .word gSpecialVar_0x8006\n" - " .word gMenuCallback\n" - " .word debug_sub_8090880+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_SimpleText() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._32\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, #0xb\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, ._32 + 4\n" - " ldr r0, ._32 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._33:\n" - " .align 2, 0\n" - "._32:\n" - " .word gUnknown_Debug_083C4EC0\n" - " .word gMenuCallback\n" - " .word debug_sub_809089C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090984() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r2, r0, #0x18\n" - " asr r1, r2, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._34 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " beq ._46 @cond_branch\n" - " cmp r1, #0x4\n" - " bgt ._36 @cond_branch\n" - " lsr r0, r2, #0x18\n" - " bl debug_sub_810B32C\n" - " b ._46\n" - "._34:\n" - " mov r0, #0x0\n" - " b ._38\n" - "._36:\n" - " cmp r1, #0x5\n" - " bne ._39 @cond_branch\n" - " bl sub_80F7F30\n" - " b ._46\n" - "._39:\n" - " cmp r1, #0x6\n" - " bne ._41 @cond_branch\n" - " mov r4, #0x0\n" - " ldr r0, ._44\n" - " add r1, r0, #2\n" - " mov ip, r1\n" - " ldr r7, ._44 + 4\n" - " ldr r1, ._44 + 8\n" - " add r6, r0, r1\n" - " add r5, r0, #0\n" - " add r5, r5, #0xe\n" - "._42:\n" - " lsl r1, r4, #0x1\n" - " mov r0, ip\n" - " add r3, r1, r0\n" - " add r0, r1, r7\n" - " ldrh r2, [r0]\n" - " strh r2, [r3]\n" - " add r0, r1, r5\n" - " strh r2, [r0]\n" - " add r1, r6, r1\n" - " strh r2, [r1]\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0x2\n" - " bls ._42 @cond_branch\n" - " b ._46\n" - "._45:\n" - " .align 2, 0\n" - "._44:\n" - " .word gSaveBlock1+0x2d94\n" - " .word gUnknown_Debug_083C4F08\n" - " .word 0xfffffd94\n" - "._41:\n" - " cmp r1, #0x7\n" - " bne ._46 @cond_branch\n" - " mov r4, #0x0\n" - "._47:\n" - " lsl r0, r4, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl sub_80EB890\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0x20\n" - " bls ._47 @cond_branch\n" - "._46:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._38:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_OldMan() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xa\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._48\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\n" - " bl GetCurrentMauvilleOldMan\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\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, #0x8\n" - " bl InitMenu\n" - " ldr r1, ._48 + 4\n" - " ldr r0, ._48 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._49:\n" - " .align 2, 0\n" - "._48:\n" - " .word gUnknown_Debug_083C4F54\n" - " .word gMenuCallback\n" - " .word debug_sub_8090984+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_LanettesPC() -{ - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " bl ShowPokemonStorageSystem\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_TownFlags() -{ - asm( - " push {lr}\n" - " ldr r0, ._50\n" - " bl FlagSet\n" - " mov r0, #0x81\n" - " lsl r0, r0, #0x4\n" - " bl FlagSet\n" - " ldr r0, ._50 + 4\n" - " bl FlagSet\n" - " ldr r0, ._50 + 8\n" - " bl FlagSet\n" - " ldr r0, ._50 + 12\n" - " bl FlagSet\n" - " ldr r0, ._50 + 16\n" - " bl FlagSet\n" - " ldr r0, ._50 + 20\n" - " bl FlagSet\n" - " ldr r0, ._50 + 24\n" - " bl FlagSet\n" - " ldr r0, ._50 + 28\n" - " bl FlagSet\n" - " ldr r0, ._50 + 32\n" - " bl FlagSet\n" - " ldr r0, ._50 + 36\n" - " bl FlagSet\n" - " ldr r0, ._50 + 40\n" - " bl FlagSet\n" - " ldr r0, ._50 + 44\n" - " bl FlagSet\n" - " ldr r0, ._50 + 48\n" - " bl FlagSet\n" - " ldr r0, ._50 + 52\n" - " bl FlagSet\n" - " ldr r0, ._50 + 56\n" - " bl FlagSet\n" - " ldr r0, ._50 + 60\n" - " bl FlagSet\n" - " ldr r0, ._50 + 64\n" - " bl FlagSet\n" - " ldr r0, ._50 + 68\n" - " bl FlagSet\n" - " ldr r0, ._50 + 72\n" - " bl FlagSet\n" - " ldr r0, ._50 + 76\n" - " bl FlagSet\n" - " ldr r0, ._50 + 80\n" - " bl FlagSet\n" - " ldr r0, ._50 + 84\n" - " bl FlagSet\n" - " ldr r0, ._50 + 88\n" - " bl FlagSet\n" - " ldr r0, ._50 + 92\n" - " bl FlagSet\n" - " ldr r0, ._50 + 96\n" - " bl FlagSet\n" - " ldr r0, ._50 + 100\n" - " bl FlagSet\n" - " ldr r0, ._50 + 104\n" - " bl FlagSet\n" - " ldr r0, ._50 + 108\n" - " bl FlagSet\n" - " ldr r0, ._50 + 112\n" - " bl FlagSet\n" - " ldr r0, ._50 + 116\n" - " bl FlagSet\n" - " ldr r0, ._50 + 120\n" - " bl FlagSet\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x4\n" - " bl FlagSet\n" - " ldr r0, ._50 + 124\n" - " bl FlagSet\n" - " ldr r0, ._50 + 128\n" - " bl FlagSet\n" - " ldr r0, ._50 + 132\n" - " bl FlagSet\n" - " ldr r0, ._50 + 136\n" - " bl FlagSet\n" - " ldr r0, ._50 + 140\n" - " bl FlagSet\n" - " ldr r0, ._50 + 144\n" - " bl FlagSet\n" - " ldr r0, ._50 + 148\n" - " bl FlagSet\n" - " ldr r0, ._50 + 152\n" - " bl FlagSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._51:\n" - " .align 2, 0\n" - "._50:\n" - " .word 0x80f\n" - " .word 0x811\n" - " .word 0x812\n" - " .word 0x813\n" - " .word 0x814\n" - " .word 0x815\n" - " .word 0x816\n" - " .word 0x817\n" - " .word 0x818\n" - " .word 0x819\n" - " .word 0x81a\n" - " .word 0x81b\n" - " .word 0x81c\n" - " .word 0x81d\n" - " .word 0x81e\n" - " .word 0x848\n" - " .word 0x849\n" - " .word 0x84a\n" - " .word 0x854\n" - " .word 0x855\n" - " .word 0x856\n" - " .word 0x857\n" - " .word 0x858\n" - " .word 0x859\n" - " .word 0x85a\n" - " .word 0x85b\n" - " .word 0x85c\n" - " .word 0x83c\n" - " .word 0x83d\n" - " .word 0x83e\n" - " .word 0x83f\n" - " .word 0x841\n" - " .word 0x842\n" - " .word 0x843\n" - " .word 0x844\n" - " .word 0x845\n" - " .word 0x846\n" - " .word 0x847\n" - " .word 0x83b\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_AwardARibbon() -{ - asm( - " push {lr}\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x10\n" - " mov r2, #0x0\n" - " bl BlendPalettes\n" - " ldr r0, ._52\n" - " bl SetMainCallback2\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._53:\n" - " .align 2, 0\n" - "._52:\n" - " .word debug_sub_80915BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090C44() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r4, ._54\n" - " sub r5, r4, #1\n" - " ldrh r1, [r5, #0x8]\n" - " add r0, r4, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0x0\n" - " mov r2, #0x5\n" - " bl StringFill\n" - " ldrb r0, [r5]\n" - " add r0, r0, r4\n" - " mov r1, #0x79\n" - " strb r1, [r0]\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._55:\n" - " .align 2, 0\n" - "._54:\n" - " .word gSharedMem+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090C88() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " mov r8, r0\n" - " ldr r2, ._59\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " add r3, r2, #0\n" - " cmp r0, #0\n" - " beq ._57 @cond_branch\n" - " ldr r1, ._59 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._57 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._62\n" - "._60:\n" - " .align 2, 0\n" - "._59:\n" - " .word gMain\n" - " .word gSharedMem\n" - "._67:\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._62\n" - "._77:\n" - " strh r1, [r7, #0x8]\n" - " b ._62\n" - "._79:\n" - " ldr r0, ._64\n" - " ldrh r0, [r0, #0x8]\n" - " bl SetLotteryNumber16_Unused\n" - "._78:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._63\n" - "._65:\n" - " .align 2, 0\n" - "._64:\n" - " .word gSharedMem\n" - "._57:\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._66 @cond_branch\n" - " ldr r1, ._81\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x3\n" - " bls ._67 @cond_branch\n" - "._66:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._68 @cond_branch\n" - " ldr r0, ._81\n" - " ldrh r1, [r0, #0x8]\n" - " str r1, [r0, #0xc]\n" - " ldr r1, ._81 + 4\n" - " strh r1, [r0, #0x10]\n" - " mov r4, #0x0\n" - " ldrb r1, [r0]\n" - " add r7, r0, #0\n" - " cmp r4, r1\n" - " bcs ._69 @cond_branch\n" - " add r5, r7, #0\n" - " add r6, r1, #0\n" - "._70:\n" - " ldrh r0, [r5, #0x10]\n" - " mov r1, #0xa\n" - " str r3, [sp]\n" - " bl __udivsi3\n" - " strh r0, [r5, #0x10]\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r3, [sp]\n" - " cmp r4, r6\n" - " bcc ._70 @cond_branch\n" - "._69:\n" - " ldrh r1, [r7, #0x10]\n" - " ldr r0, [r7, #0xc]\n" - " add r0, r0, r1\n" - " str r0, [r7, #0xc]\n" - " ldr r1, ._81 + 8\n" - " cmp r0, r1\n" - " ble ._71 @cond_branch\n" - " str r1, [r7, #0xc]\n" - "._71:\n" - " ldrh r0, [r7, #0x8]\n" - " ldr r1, [r7, #0xc]\n" - " cmp r0, r1\n" - " bne ._77 @cond_branch\n" - "._68:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._73 @cond_branch\n" - " ldr r0, ._81\n" - " ldrh r1, [r0, #0x8]\n" - " str r1, [r0, #0xc]\n" - " ldr r1, ._81 + 4\n" - " strh r1, [r0, #0x10]\n" - " mov r4, #0x0\n" - " ldrb r1, [r0]\n" - " add r7, r0, #0\n" - " cmp r4, r1\n" - " bcs ._74 @cond_branch\n" - " add r5, r7, #0\n" - " add r6, r1, #0\n" - "._75:\n" - " ldrh r0, [r5, #0x10]\n" - " mov r1, #0xa\n" - " str r3, [sp]\n" - " bl __udivsi3\n" - " strh r0, [r5, #0x10]\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r3, [sp]\n" - " cmp r4, r6\n" - " bcc ._75 @cond_branch\n" - "._74:\n" - " add r2, r7, #0\n" - " ldrh r1, [r2, #0x10]\n" - " ldr r0, [r2, #0xc]\n" - " sub r0, r0, r1\n" - " str r0, [r2, #0xc]\n" - " cmp r0, #0\n" - " bge ._76 @cond_branch\n" - " mov r0, #0x0\n" - " str r0, [r2, #0xc]\n" - "._76:\n" - " ldrh r0, [r2, #0x8]\n" - " ldr r1, [r2, #0xc]\n" - " cmp r0, r1\n" - " bne ._77 @cond_branch\n" - "._73:\n" - " ldrh r2, [r3, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._78 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._79 @cond_branch\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - "._62:\n" - " mov r0, r8\n" - " cmp r0, #0\n" - " beq ._80 @cond_branch\n" - " bl debug_sub_8090C44\n" - "._80:\n" - " mov r0, #0x0\n" - "._63:\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._82:\n" - " .align 2, 0\n" - "._81:\n" - " .word gSharedMem\n" - " .word 0x2710\n" - " .word 0xffff\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_PKMNLottery() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x6\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " bl RetrieveLotteryNumber\n" - " ldr r2, ._83\n" - " ldr r0, ._83 + 4\n" - " ldrh r0, [r0]\n" - " mov r1, #0x0\n" - " strh r0, [r2, #0x8]\n" - " strb r1, [r2]\n" - " bl debug_sub_8090C44\n" - " ldr r1, ._83 + 8\n" - " ldr r0, ._83 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._84:\n" - " .align 2, 0\n" - "._83:\n" - " .word gSharedMem\n" - " .word gSpecialVar_Result\n" - " .word gMenuCallback\n" - " .word debug_sub_8090C88+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_Trainer() -{ - asm( - " push {r4, r5, lr}\n" - " mov r4, #0x0\n" - " ldr r5, ._86\n" - "._85:\n" - " lsl r0, r4, #0x4\n" - " add r0, r0, r5\n" - " ldrh r0, [r0]\n" - " bl SetTrainerFlag\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0x37\n" - " bls ._85 @cond_branch\n" - " ldr r0, ._86 + 4\n" - " bl SetTrainerFlag\n" - " mov r0, #0x85\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 8\n" - " bl SetTrainerFlag\n" - " mov r0, #0x86\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 12\n" - " bl SetTrainerFlag\n" - " mov r0, #0x87\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 16\n" - " bl SetTrainerFlag\n" - " mov r0, #0x88\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 20\n" - " bl SetTrainerFlag\n" - " mov r0, #0x83\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 24\n" - " bl SetTrainerFlag\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 28\n" - " bl SetTrainerFlag\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "._87:\n" - " .align 2, 0\n" - "._86:\n" - " .word gTrainerEyeTrainers\n" - " .word 0x109\n" - " .word 0x10b\n" - " .word 0x10d\n" - " .word 0x10f\n" - " .word 0x105\n" - " .word 0x107\n" - " .word 0x14f\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_PokenavD() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xffffffe4\n" - " bl Menu_DisplayDialogueFrame\n" - " mov r0, #0x0\n" - " mov sl, r0\n" - " mov r6, #0x1\n" - " mov r7, #0xff\n" - " mov r1, #0x3\n" - " mov r9, r1\n" - "._93:\n" - " ldr r4, ._94\n" - " add r0, r4, #0\n" - " ldr r1, ._94 + 4\n" - " bl StringCopy\n" - " mov r5, sl\n" - " add r5, r5, #0x1\n" - " add r1, r5, r4\n" - " mov r0, #0xff\n" - " strb r0, [r1]\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " str r5, [sp, #0x14]\n" - " mov r1, sl\n" - " lsl r1, r1, #0x2\n" - " str r1, [sp, #0x18]\n" - "._91:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " add r0, r0, #0x1\n" - " str r0, [sp, #0x10]\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xc1\n" - " lsl r1, r1, #0x1\n" - " bl __umodsi3\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0xfb\n" - " bls ._89 @cond_branch\n" - " add r0, r3, #0\n" - " add r0, r0, #0x19\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " ldr r0, ._94 + 8\n" - " cmp r3, r0\n" - " bls ._89 @cond_branch\n" - " mov r3, #0x1\n" - "._89:\n" - " ldr r0, [sp, #0x18]\n" - " add r0, r0, sl\n" - " lsl r4, r0, #0x4\n" - " sub r4, r4, r0\n" - " lsl r4, r4, #0x5\n" - " mov r1, r8\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r8\n" - " lsl r0, r0, #0x4\n" - " ldr r1, ._94 + 12\n" - " add r0, r0, r1\n" - " add r4, r4, r0\n" - " lsl r2, r5, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " str r6, [sp, #0x8]\n" - " ldr r0, [sp, #0x10]\n" - " str r0, [sp, #0xc]\n" - " add r0, r4, #0\n" - " add r1, r3, #0\n" - " mov r3, #0x20\n" - " bl CreateBoxMon\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x16\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x17\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x18\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x21\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x2f\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x30\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x32\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x33\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x34\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x36\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x35\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x43\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x44\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x45\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x46\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x47\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x48\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x49\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4a\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4b\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4c\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4d\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4e\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " mov r0, r8\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r8, r0\n" - " cmp r0, #0x1d\n" - " bhi ._90 @cond_branch\n" - " b ._91\n" - "._90:\n" - " ldr r1, [sp, #0x14]\n" - " lsl r0, r1, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov sl, r0\n" - " cmp r0, #0xd\n" - " bhi ._92 @cond_branch\n" - " b ._93\n" - "._92:\n" - " bl TayaDebugMenu_TownFlags\n" - " bl TayaDebugMenu_Trainer\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " add sp, sp, #0x1c\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._95:\n" - " .align 2, 0\n" - "._94:\n" - " .word gSharedMem\n" - " .word gUnknown_Debug_083C4F94\n" - " .word 0x19b\n" - " .word gPokemonStorage+0x4\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_8091190() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r3, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r3, r0\n" - " beq ._96 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r3, r0\n" - " beq ._97 @cond_branch\n" - " ldr r2, ._99\n" - " ldr r1, ._99 + 4\n" - " ldr r0, ._99 + 8\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, [r0]\n" - " lsl r0, r3, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0, #0x4]\n" - " str r0, [r2]\n" - "._106:\n" - " mov r0, #0x0\n" - " b ._98\n" - "._100:\n" - " .align 2, 0\n" - "._99:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_83C5068\n" - " .word unk_2030224\n" - "._96:\n" - " ldr r3, ._107\n" - " ldrb r4, [r3]\n" - " ldr r2, ._107 + 4\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " add r5, r3, #0\n" - " cmp r0, #0\n" - " beq ._102 @cond_branch\n" - " sub r0, r4, #1\n" - " strb r0, [r5]\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bge ._102 @cond_branch\n" - " mov r0, #0x1\n" - " strb r0, [r5]\n" - "._102:\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._104 @cond_branch\n" - " ldrb r0, [r5]\n" - " add r0, r0, #0x1\n" - " strb r0, [r5]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bls ._104 @cond_branch\n" - " mov r0, #0x0\n" - " strb r0, [r5]\n" - "._104:\n" - " lsl r0, r4, #0x18\n" - " asr r0, r0, #0x18\n" - " mov r1, #0x0\n" - " ldrsb r1, [r5, r1]\n" - " cmp r0, r1\n" - " beq ._106 @cond_branch\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 r4, ._107 + 8\n" - " mov r0, #0x0\n" - " ldrsb r0, [r5, r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r4\n" - " ldrb r2, [r0, #0x4]\n" - " ldr r3, [r0]\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " ldrsb r0, [r5, r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r4\n" - " ldrb r3, [r0, #0x4]\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" - " bl InitMenu\n" - " b ._106\n" - "._108:\n" - " .align 2, 0\n" - "._107:\n" - " .word unk_2030224\n" - " .word gMain\n" - " .word gUnknown_Debug_83C5068\n" - "._97:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._98:\n" - " add sp, sp, #0x8\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void InitTayaDebugWindow() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " ldr r1, ._109\n" - " mov r0, #0x0\n" - " strb r0, [r1]\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 r0, ._109 + 4\n" - " ldr r3, [r0]\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, ._109 + 8\n" - " ldr r0, ._109 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._110:\n" - " .align 2, 0\n" - "._109:\n" - " .word unk_2030224\n" - " .word gUnknown_Debug_83C5068\n" - " .word gMenuCallback\n" - " .word TayaDebugMenu_8091190+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80912D8() -{ - asm( - " push {lr}\n" - " ldr r0, ._113\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._111 @cond_branch\n" - " mov r0, #0x0\n" - " b ._112\n" - "._114:\n" - " .align 2, 0\n" - "._113:\n" - " .word gPaletteFade\n" - "._111:\n" - " ldr r0, ._115\n" - " bl SetMainCallback2\n" - " mov r0, #0x1\n" - "._112:\n" - " pop {r1}\n" - " bx r1\n" - "._116:\n" - " .align 2, 0\n" - "._115:\n" - " .word debug_sub_8110F28+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8091300() -{ - asm( - " push {lr}\n" - " mov r0, #0x1\n" - " mov r1, #0x0\n" - " bl FadeScreen\n" - " ldr r1, ._117\n" - " ldr r0, ._117 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._118:\n" - " .align 2, 0\n" - "._117:\n" - " .word gMenuCallback\n" - " .word debug_sub_80912D8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8091320() -{ - asm( - " push {lr}\n" - " bl LoadOam\n" - " bl ProcessSpriteCopyRequests\n" - " bl TransferPlttBuffer\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8091334() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " ldr r3, ._123\n" - " add r0, r3, #0\n" - " add r0, r0, #0x52\n" - " ldrb r4, [r0]\n" - " cmp r4, #0\n" - " beq ._119 @cond_branch\n" - " cmp r4, #0x1\n" - " bne ._120 @cond_branch\n" - " b ._121\n" - "._120:\n" - " b ._162\n" - "._124:\n" - " .align 2, 0\n" - "._123:\n" - " .word gSharedMem\n" - "._119:\n" - " add r5, r3, #0\n" - " add r5, r5, #0x55\n" - " strb r4, [r5]\n" - " ldr r2, ._131\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " mov r9, r2\n" - " cmp r0, #0\n" - " beq ._126 @cond_branch\n" - " add r1, r3, #0\n" - " add r1, r1, #0x54\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._126 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x1\n" - " strb r0, [r5]\n" - "._126:\n" - " mov r0, r9\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " ldr r5, ._131 + 4\n" - " cmp r0, #0\n" - " beq ._133 @cond_branch\n" - " add r0, r5, #0\n" - " add r0, r0, #0x53\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x2\n" - " beq ._128 @cond_branch\n" - " add r1, r5, #0\n" - " add r1, r1, #0x54\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x4\n" - " bhi ._133 @cond_branch\n" - " b ._130\n" - "._132:\n" - " .align 2, 0\n" - "._131:\n" - " .word gMain\n" - " .word gSharedMem\n" - "._128:\n" - " add r1, r5, #0\n" - " add r1, r1, #0x54\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x3\n" - " bhi ._133 @cond_branch\n" - "._130:\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " add r1, r1, #0x1\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._133:\n" - " mov r2, r9\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._135 @cond_branch\n" - " add r1, r5, #0\n" - " add r1, r1, #0x53\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._135 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._135:\n" - " mov r3, r9\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._140 @cond_branch\n" - " add r0, r5, #0\n" - " add r0, r0, #0x54\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x5\n" - " beq ._137 @cond_branch\n" - " add r1, r5, #0\n" - " add r1, r1, #0x53\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x1\n" - " bhi ._140 @cond_branch\n" - " b ._139\n" - "._137:\n" - " add r1, r5, #0\n" - " add r1, r1, #0x53\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._140 @cond_branch\n" - "._139:\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._140:\n" - " add r0, r5, #0\n" - " add r0, r0, #0x55\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._141 @cond_branch\n" - " mov r0, r9\n" - " ldrh r2, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._142 @cond_branch\n" - " ldr r2, ._145\n" - " add r3, r5, #0\n" - " add r3, r3, #0x53\n" - " add r0, r5, #0\n" - " add r0, r0, #0x54\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x1\n" - " add r0, r0, r1\n" - " ldrb r3, [r3]\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r2\n" - " ldrh r0, [r0, #0x4]\n" - " sub r0, r0, #0x32\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0x4\n" - " bhi ._143 @cond_branch\n" - " add r1, r5, #0\n" - " add r1, r1, #0x56\n" - " mov r0, #0x4\n" - " b ._144\n" - "._146:\n" - " .align 2, 0\n" - "._145:\n" - " .word gUnknown_Debug_083C50EC\n" - "._143:\n" - " add r1, r5, #0\n" - " add r1, r1, #0x56\n" - " mov r0, #0x1\n" - "._144:\n" - " strb r0, [r1]\n" - " add r1, r5, #0\n" - " add r1, r1, #0x52\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " b ._162\n" - "._142:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._148 @cond_branch\n" - " b ._162\n" - "._148:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x10\n" - " mov r2, #0x0\n" - " bl BlendPalettes\n" - " ldr r0, ._151\n" - " bl SetMainCallback2\n" - " b ._162\n" - "._152:\n" - " .align 2, 0\n" - "._151:\n" - " .word sub_80546F0+1\n" - "._121:\n" - " add r5, r3, #0\n" - " add r5, r5, #0x55\n" - " mov r0, #0x0\n" - " strb r0, [r5]\n" - " ldr r2, ._159\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " mov r9, r2\n" - " cmp r0, #0\n" - " beq ._154 @cond_branch\n" - " add r2, r3, #0\n" - " add r2, r2, #0x53\n" - " add r0, r3, #0\n" - " add r0, r0, #0x54\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x1\n" - " add r0, r0, r1\n" - " ldrb r2, [r2]\n" - " add r0, r0, r2\n" - " add r2, r0, r3\n" - " add r0, r3, #0\n" - " add r0, r0, #0x56\n" - " ldrb r1, [r2]\n" - " ldrb r0, [r0]\n" - " cmp r1, r0\n" - " bcs ._154 @cond_branch\n" - " add r0, r1, #1\n" - " strb r0, [r2]\n" - " strb r4, [r5]\n" - "._154:\n" - " mov r2, r9\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " ldr r5, ._159 + 4\n" - " cmp r0, #0\n" - " beq ._156 @cond_branch\n" - " add r2, r5, #0\n" - " add r2, r2, #0x53\n" - " add r0, r5, #0\n" - " add r0, r0, #0x54\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x1\n" - " add r0, r0, r1\n" - " ldrb r2, [r2]\n" - " add r0, r0, r2\n" - " add r1, r0, r5\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._156 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " add r1, r5, #0\n" - " add r1, r1, #0x55\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._156:\n" - " add r6, r5, #0\n" - " add r0, r6, #0\n" - " add r0, r0, #0x55\n" - " ldrb r7, [r0]\n" - " cmp r7, #0\n" - " beq ._157 @cond_branch\n" - "._141:\n" - " bl debug_sub_80916AC\n" - " b ._162\n" - "._160:\n" - " .align 2, 0\n" - "._159:\n" - " .word gMain\n" - " .word gSharedMem\n" - "._157:\n" - " mov r3, r9\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._161 @cond_branch\n" - " ldr r0, ._164\n" - " ldr r1, ._164 + 4\n" - " mov ip, r1\n" - " mov r2, #0x53\n" - " add r2, r2, r6\n" - " mov r8, r2\n" - " add r4, r6, #0\n" - " add r4, r4, #0x54\n" - " ldrb r2, [r4]\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r2\n" - " mov r3, r8\n" - " ldrb r3, [r3]\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, ip\n" - " ldrh r1, [r1, #0x4]\n" - " bl GetMonData\n" - " ldrb r2, [r4]\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r2\n" - " mov r2, r8\n" - " ldrb r2, [r2]\n" - " add r1, r1, r2\n" - " add r1, r1, r6\n" - " strb r0, [r1]\n" - " bl debug_sub_80916AC\n" - " add r0, r6, #0\n" - " add r0, r0, #0x52\n" - " strb r7, [r0]\n" - "._161:\n" - " mov r3, r9\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._162 @cond_branch\n" - " ldr r2, ._164 + 4\n" - " add r0, r6, #0\n" - " add r0, r0, #0x53\n" - " ldrb r4, [r0]\n" - " add r0, r0, #0x1\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x1\n" - " add r3, r0, r1\n" - " add r0, r3, r4\n" - " lsl r0, r0, #0x3\n" - " add r1, r0, r2\n" - " ldrh r0, [r1, #0x4]\n" - " cmp r0, #0\n" - " beq ._163 @cond_branch\n" - " ldr r0, ._164\n" - " ldrh r1, [r1, #0x4]\n" - " add r2, r4, r6\n" - " add r2, r3, r2\n" - " bl SetMonData\n" - "._163:\n" - " add r0, r5, #0\n" - " add r0, r0, #0x52\n" - " strb r7, [r0]\n" - "._162:\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" - "._165:\n" - " .align 2, 0\n" - "._164:\n" - " .word gPlayerParty\n" - " .word gUnknown_Debug_083C50EC\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80915BC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " ldr r0, ._168\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " mov r1, #0x0\n" - " ldr r0, ._168 + 4\n" - " mov r8, r0\n" - " ldr r7, ._168 + 8\n" - "._171:\n" - " mov r4, #0x0\n" - " lsl r0, r1, #0x1\n" - " add r6, r1, #1\n" - " add r5, r0, r1\n" - "._170:\n" - " add r0, r5, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r8\n" - " ldrh r1, [r0, #0x4]\n" - " cmp r1, #0\n" - " beq ._166 @cond_branch\n" - " ldr r0, ._168 + 12\n" - " bl GetMonData\n" - " add r1, r4, r5\n" - " add r1, r1, r7\n" - " strb r0, [r1]\n" - " b ._167\n" - "._169:\n" - " .align 2, 0\n" - "._168:\n" - " .word 0x4000010\n" - " .word gUnknown_Debug_083C50EC\n" - " .word gSharedMem\n" - " .word gPlayerParty\n" - "._166:\n" - " add r0, r4, r5\n" - " add r0, r0, r7\n" - " strb r1, [r0]\n" - "._167:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x2\n" - " bls ._170 @cond_branch\n" - " lsl r0, r6, #0x18\n" - " lsr r1, r0, #0x18\n" - " cmp r1, #0x5\n" - " bls ._171 @cond_branch\n" - " ldr r4, ._172\n" - " add r0, r4, #0\n" - " bl Text_LoadWindowTemplate\n" - " add r0, r4, #0\n" - " bl InitMenuWindow\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._172 + 4\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0x4\n" - " mov r2, #0x1d\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0x12\n" - " mov r2, #0x1d\n" - " mov r3, #0x15\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " mov r2, #0x8a\n" - " lsl r2, r2, #0x5\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r2, ._172 + 8\n" - " add r0, r2, #0\n" - " add r0, r0, #0x53\n" - " mov r1, #0x0\n" - " strb r1, [r0]\n" - " add r0, r0, #0x1\n" - " strb r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strb r1, [r0]\n" - " bl debug_sub_80916AC\n" - " ldr r0, ._172 + 12\n" - " bl SetVBlankCallback\n" - " ldr r0, ._172 + 16\n" - " bl SetMainCallback2\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._173:\n" - " .align 2, 0\n" - "._172:\n" - " .word gWindowTemplate_81E7224\n" - " .word gUnknown_Debug_083C517C\n" - " .word gSharedMem\n" - " .word debug_sub_8091320+1\n" - " .word debug_sub_8091334+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80916AC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffffc\n" - " mov r6, #0x0\n" - " ldr r0, ._177\n" - " mov sl, r0\n" - " mov r1, #0x0\n" - " mov r8, r1\n" - "._182:\n" - " ldr r2, ._177 + 4\n" - " mov r5, #0x0\n" - " lsl r0, r6, #0x1\n" - " mov r9, r0\n" - " add r1, r6, #1\n" - " str r1, [sp]\n" - "._181:\n" - " mov r0, sl\n" - " add r0, r0, #0x53\n" - " ldrb r0, [r0]\n" - " cmp r0, r5\n" - " bne ._175 @cond_branch\n" - " ldr r1, ._177 + 8\n" - " ldrb r0, [r1]\n" - " cmp r0, r6\n" - " bne ._175 @cond_branch\n" - " mov r0, #0xef\n" - " b ._176\n" - "._178:\n" - " .align 2, 0\n" - "._177:\n" - " .word gSharedMem\n" - " .word gSharedMem+0x12\n" - " .word gSharedMem+0x54\n" - "._175:\n" - " mov r0, r8\n" - " strb r0, [r2]\n" - " add r2, r2, #0x1\n" - "._176:\n" - " strb r0, [r2]\n" - " add r2, r2, #0x1\n" - " mov r1, r9\n" - " add r4, r1, r6\n" - " add r0, r4, r5\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._183\n" - " add r0, r0, r1\n" - " ldr r1, [r0]\n" - " add r0, r2, #0\n" - " bl StringCopy\n" - " add r2, r0, #0\n" - " mov r0, r8\n" - " strb r0, [r2]\n" - " add r2, r2, #0x1\n" - " ldr r7, ._183 + 4\n" - " add r4, r5, r4\n" - " add r4, r4, r7\n" - " ldrb r1, [r4]\n" - " add r0, r2, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " add r2, r0, #0\n" - " mov r1, r8\n" - " strb r1, [r2]\n" - " add r2, r2, #0x1\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x2\n" - " bhi ._179 @cond_branch\n" - " cmp r6, #0x5\n" - " bne ._181 @cond_branch\n" - " cmp r5, #0x2\n" - " bne ._181 @cond_branch\n" - "._179:\n" - " sub r1, r2, #1\n" - " mov r0, #0xff\n" - " strb r0, [r1]\n" - " mov r2, r9\n" - " add r2, r2, #0x5\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " add r0, r7, #0\n" - " add r0, r0, #0x12\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " ldr r1, [sp]\n" - " lsl r0, r1, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x5\n" - " bls ._182 @cond_branch\n" - " add sp, sp, #0x4\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._184:\n" - " .align 2, 0\n" - "._183:\n" - " .word gUnknown_Debug_083C50EC\n" - " .word gSharedMem\n" - "\n" - ); -} - #endif diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 8451a104d..c3616797e 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -17,8639 +17,4 @@ BSS_DATA u8 gDebug_0300071F = 0; BSS_DATA u8 gDebug_03000720 = 0; BSS_DATA u8 gDebug_03000721 = 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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xd\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._1\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_0300071D\n" - " .word gMenuCallback\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 Menu_MoveCursor\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 Menu_MoveCursor\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_0300071D\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x14\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._11\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._11 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808BC48+1\n" - " .word gDebug_03000700\n" - " .word gDebug_03000704\n" - " .word 0x6f33\n" - " .word gDebug_03000708\n" - " .word gDebug_0300070C\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ArtMusGraphics() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x14\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._13\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._13 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808BCBC+1\n" - " .word gDebug_03000700\n" - " .word gDebug_03000704\n" - " .word 0x6f33\n" - " .word gDebug_03000708\n" - " .word gDebug_0300070D\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_PreviewData() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x14\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._15\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._15 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808BD30+1\n" - " .word gDebug_03000700\n" - " .word gDebug_03000704\n" - " .word 0x6f33\n" - " .word gDebug_03000708\n" - " .word gDebug_0300070E\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_TrickHouse() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._17\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._17 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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_0300071E\n" - " .word gMenuCallback\n" - " .word debug_sub_808BDA4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ControlEvents() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._19\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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_0300071F\n" - " .word gMenuCallback\n" - " .word debug_sub_808BE2C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ControlFlags() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._21\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_03000720\n" - " .word gMenuCallback\n" - " .word debug_sub_808BEB4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ControlWorks() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._23\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\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_03000721\n" - " .word gMenuCallback\n" - " .word debug_sub_808BF3C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BC48() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " bl Menu_GetCursorPos\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 gMenuCallback\n" - " .word gUnknown_Debug_083C0D2C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BCBC() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " bl Menu_GetCursorPos\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 gMenuCallback\n" - " .word gUnknown_Debug_083C0D83\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BD30() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " bl Menu_GetCursorPos\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 gMenuCallback\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 Menu_MoveCursor\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 Menu_MoveCursor\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_0300071E\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 Menu_MoveCursor\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 Menu_MoveCursor\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_0300071F\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 Menu_MoveCursor\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 Menu_MoveCursor\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_03000720\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 Menu_MoveCursor\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 Menu_MoveCursor\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_03000721\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._99\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808C064+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C014() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._101\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808C0A8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C064() -{ - 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" - " 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 gMenuCallback\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 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" - " 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 gMenuCallback\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 gMenuCallback\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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._157\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808C36C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C36C() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._165\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C408() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._167\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C460() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._169\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C4B8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._171\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C510() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._173\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C568() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._175\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C5C0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._177\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C618() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._179\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C670() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._181\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C6C8() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_83C31E6\n" - "._189:\n" - " add r0, r4, #0\n" - " bl FlagClear\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_83C31E6\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C7C8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._197\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808C818+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C818() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._205\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C8B4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._207\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C90C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._209\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C964() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._211\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C9BC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._213\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CA14() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._215\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CA6C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._217\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CAC4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._219\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CB1C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._221\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CB74() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C271A\n" - "._229:\n" - " add r0, r4, #0\n" - " bl FlagClear\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_083C271A\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CC74() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._237\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808CCC4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CCC4() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._245\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CE10+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CD60() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._247\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CE10+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CDB8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._249\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CE10+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CE10() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C1C38\n" - "._257:\n" - " add r0, r4, #0\n" - " bl FlagClear\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_083C1C38\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CF10() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._265\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808CF60+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CF60() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._273\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CFFC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._275\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D054() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._277\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D0AC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._279\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D104() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._281\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D15C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._283\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D1B4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._285\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D20C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._287\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D264() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._289\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D2BC() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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 FlagClear\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._305\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808D40C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D40C() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._313\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D500+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D4A8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._315\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D500+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D500() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C1196\n" - "._323:\n" - " add r0, r4, #0\n" - " bl FlagClear\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_083C1196\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D600() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._331\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808D650+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D650() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._339\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D744+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D6EC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._341\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D744+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D744() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C12D2\n" - "._349:\n" - " add r0, r4, #0\n" - " bl FlagClear\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_083C12D2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D844() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._357\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808D894+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D894() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._365\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D930+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D930() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C1AAE\n" - "._373:\n" - " add r0, r4, #0\n" - " bl FlagClear\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_083C1AAE\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DA30() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._381\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808DA80+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DA80() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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 gSpecialVar_Result\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 gSpecialVar_Result\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DB0C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._395\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808DB5C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DB5C() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._403\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DBF8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._405\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DC50() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._407\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DCA8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._409\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DD00() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._411\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DD58() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._413\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DDB0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._415\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DE08() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._417\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DE60() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._419\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DEB8() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C4586\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_083C4586\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DFC0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._437\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808E010+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E010() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._445\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E0AC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._447\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E104() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._449\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E15C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._451\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E1B4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._453\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E20C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._455\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E264() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_83C3C4E\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_83C3C4E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E36C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._473\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808E3BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E3BC() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._481\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E458() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._483\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E4B0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._485\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E508() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._487\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E560() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._489\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E5B8() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C354A\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_083C354A\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E6C0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._507\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808E710+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E710() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._515\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E804+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E7AC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._517\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E804+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E804() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C478E\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_083C478E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E90C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._535\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808E95C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E95C() -{ - 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" - " 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 gMenuCallback\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 Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._543\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808EA50+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E9F8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._545\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\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_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808EA50+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EA50() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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_0300070F\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_083C371E\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_083C371E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EB58() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._563\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._563 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808EC10+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EBB4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xd\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._565\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._565 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\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 gMenuCallback\n" - " .word debug_sub_808EC5C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EC10() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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 Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\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 gMenuCallback\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_03000708\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_03000708\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_03000708\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_0300070C\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_0300070D\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_0300070D\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_0300070E\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_0300070E\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_03000708\n" - " .word gDebug_03000710\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 Menu_PrintText\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 Menu_PrintText\n" - " b ._665\n" - "._667:\n" - " .align 2, 0\n" - "._666:\n" - " .word gDebug_03000710\n" - " .word gDebug_03000700\n" - " .word gSpeciesNames\n" - "._664:\n" - " ldr r0, ._672\n" - " mov r1, #0xc\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\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 Menu_PrintText\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_03000710\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_0300070C\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 Menu_PrintText\n" - " b ._679\n" - "._681:\n" - " .align 2, 0\n" - "._680:\n" - " .word gDebug_0300070D\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 Menu_PrintText\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_0300070E\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_03000704\n" - " .word gDebug_03000708\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_0300070C\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_0300070D\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_0300070E\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_03000710\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 Menu_PrintText\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._717:\n" - " .align 2, 0\n" - "._716:\n" - " .word gDebug_03000710\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 Menu_PrintText\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_03000710\n" - " .word 0x2710\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_nullsub_66() -{ - asm( - " bx lr\n" - "\n" - ); -} - #endif diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c deleted file mode 100644 index fa944b25f..000000000 --- a/src/debug/unk_debug_menu_3.c +++ /dev/null @@ -1,804 +0,0 @@ -#include "global.h" -#include "menu.h" - -#if DEBUG - -__attribute__((naked)) -int debug_sub_813C404() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._1\n" - " ldr r4, ._1 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._2:\n" - " .align 2, 0\n" - "._1:\n" - " .word gUnknown_Debug_845DDB2\n" - " .word gUnknown_Debug_845DAE1\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C430() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._3\n" - " ldr r4, ._3 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gUnknown_Debug_845E402\n" - " .word gUnknown_Debug_845E3E0\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C45C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._5\n" - " ldr r4, ._5 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._6:\n" - " .align 2, 0\n" - "._5:\n" - " .word gUnknown_Debug_845E443\n" - " .word gUnknown_Debug_845E422\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C488() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._7\n" - " ldr r4, ._7 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._8:\n" - " .align 2, 0\n" - "._7:\n" - " .word gUnknown_Debug_845E422\n" - " .word gUnknown_Debug_845E402\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C4B4() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._9\n" - " ldr r1, ._9 + 4\n" - " sub r4, r4, r1\n" - " add r2, r4, #0\n" - " bl memcpy\n" - " add r0, r4, #0\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._10:\n" - " .align 2, 0\n" - "._9:\n" - " .word gUnknown_Debug_845E619\n" - " .word gUnknown_Debug_845E606\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C4D4() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._11\n" - " ldr r4, ._11 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_81261B4\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._12:\n" - " .align 2, 0\n" - "._11:\n" - " .word gUnknown_Debug_845E712\n" - " .word gUnknown_Debug_845E619\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C500() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._13\n" - " ldr r4, ._13 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._14:\n" - " .align 2, 0\n" - "._13:\n" - " .word gUnknown_Debug_845E797\n" - " .word gUnknown_Debug_845E712\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_813C52C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6}\n" - " mov r8, r0\n" - " lsl r5, r1, #0x10\n" - " lsr r0, r5, #0x10\n" - " mov r9, r0\n" - " ldr r6, ._15\n" - " ldr r4, ._15 + 4\n" - " sub r6, r6, r4\n" - " mov r0, r8\n" - " add r1, r4, #0\n" - " add r2, r6, #0\n" - " bl memcpy\n" - " ldr r0, ._15 + 8\n" - " sub r0, r0, r4\n" - " add r0, r0, r8\n" - " add r0, r0, #0x3\n" - " mov r1, r9\n" - " strb r1, [r0]\n" - " lsr r5, r5, #0x18\n" - " strb r5, [r0, #0x1]\n" - " mov r0, r8\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r6, #0\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._16:\n" - " .align 2, 0\n" - "._15:\n" - " .word gUnknown_Debug_845E7BB\n" - " .word gUnknown_Debug_845E797\n" - " .word gUnknown_Debug_845E7B5\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C580() -{ - asm( - " push {lr}\n" - " mov r1, #0xd\n" - " bl debug_sub_813C52C\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C58C() -{ - asm( - " push {lr}\n" - " mov r1, #0x4\n" - " bl debug_sub_813C52C\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C598() -{ - asm( - " push {lr}\n" - " mov r1, #0x85\n" - " bl debug_sub_813C52C\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C5A4() -{ - asm( - " push {lr}\n" - " ldr r1, ._17\n" - " bl debug_sub_813C52C\n" - " pop {r1}\n" - " bx r1\n" - "._18:\n" - " .align 2, 0\n" - "._17:\n" - " .word 0x121\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C5B4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add r4, r0, #0\n" - " ldr r7, ._23\n" - " ldr r0, ._23 + 4\n" - " ldr r1, ._23 + 8\n" - " sub r0, r0, r1\n" - " add r6, r0, r4\n" - " ldr r0, ._23 + 12\n" - " sub r5, r0, r1\n" - " ldr r0, ._23 + 16\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " bl GetEnigmaBerryChecksum\n" - " mov r2, #0x0\n" - " ldr r3, ._23 + 20\n" - " mov r1, #0x0\n" - "._19:\n" - " add r0, r4, r2\n" - " strb r1, [r0]\n" - " add r2, r2, #0x1\n" - " cmp r2, r3\n" - " ble ._19 @cond_branch\n" - " mov r2, #0x0\n" - " cmp r2, r5\n" - " bcs ._20 @cond_branch\n" - " ldr r3, ._23 + 8\n" - "._21:\n" - " add r0, r4, r2\n" - " add r1, r2, r3\n" - " ldrb r1, [r1]\n" - " strb r1, [r0]\n" - " add r2, r2, #0x1\n" - " cmp r2, r5\n" - " bcc ._21 @cond_branch\n" - "._20:\n" - " mov r2, #0x0\n" - " ldr r3, ._23 + 24\n" - "._22:\n" - " add r0, r6, r2\n" - " add r1, r7, r2\n" - " ldrb r1, [r1]\n" - " strb r1, [r0]\n" - " add r2, r2, #0x1\n" - " cmp r2, r3\n" - " bls ._22 @cond_branch\n" - " bl ClearEnigmaBerries\n" - " ldr r1, ._23 + 8\n" - " add r0, r4, #0\n" - " bl unref_sub_81261B4\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._24:\n" - " .align 2, 0\n" - "._23:\n" - " .word gSaveBlock1+0x3160\n" - " .word gUnknown_Debug_845DDD6\n" - " .word gUnknown_Debug_845DDB2\n" - " .word gUnknown_Debug_845E306\n" - " .word Str_842E23C\n" - " .word 0xfff\n" - " .word 0x52f\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_813C638() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xffffffec\n" - " mov r8, r0\n" - " add r4, r1, #0\n" - " add r5, r2, #0\n" - " add r6, r3, #0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " lsl r6, r6, #0x10\n" - " lsr r6, r6, #0x10\n" - " bl ZeroMonData\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x1\n" - " str r0, [sp, #0x8]\n" - " ldr r0, ._25\n" - " str r0, [sp, #0xc]\n" - " mov r0, r8\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " ldr r2, ._25 + 4\n" - " mov r0, r8\n" - " mov r1, #0x7\n" - " bl SetMonData\n" - " ldr r2, ._25 + 8\n" - " mov r0, r8\n" - " mov r1, #0x2\n" - " bl SetMonData\n" - " str r6, [sp, #0x10]\n" - " mov r0, r8\n" - " mov r1, #0xc\n" - " add r2, sp, #0x10\n" - " bl SetMonData\n" - " add sp, sp, #0x14\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._26:\n" - " .align 2, 0\n" - "._25:\n" - " .word 0x270f\n" - " .word Str_842E240\n" - " .word Str_842E248\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_813C6AC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffff8\n" - " add r6, r0, #0\n" - " add r5, r1, #0\n" - " add r0, r5, #0\n" - " bl ClearMailStruct\n" - " add r0, r6, #0\n" - " mov r1, #0xc\n" - " bl GetMonData\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r8, r0\n" - " bl ItemIsMail\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._27 @cond_branch\n" - " add r4, r5, #0\n" - " add r4, r4, #0x12\n" - " add r7, r5, #0\n" - " add r7, r7, #0x1a\n" - " mov r1, #0x9\n" - " add r0, r5, #0\n" - " add r0, r0, #0x10\n" - "._28:\n" - " strh r1, [r0]\n" - " sub r1, r1, #0x1\n" - " sub r0, r0, #0x2\n" - " cmp r0, r5\n" - " bge ._28 @cond_branch\n" - " add r0, r6, #0\n" - " mov r1, #0x7\n" - " mov r2, sp\n" - " bl GetMonData\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " mov r2, #0x8\n" - " bl StringCopyN\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " bl GetMonData\n" - " add r1, r7, #0\n" - " bl write_word_to_mem\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r6, #0\n" - " mov r1, #0x0\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " add r0, r4, #0\n" - " bl SpeciesToMailSpecies\n" - " strh r0, [r5, #0x1e]\n" - " mov r0, r8\n" - " strh r0, [r5, #0x20]\n" - "._27:\n" - " add sp, sp, #0x8\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C740() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, sl\n" - " mov r5, r9\n" - " mov r4, r8\n" - " push {r4, r5, r6}\n" - " add sp, sp, #0xffffffd0\n" - " add r6, r0, #0\n" - " ldr r0, ._29\n" - " mov r8, r0\n" - " ldr r1, ._29 + 4\n" - " ldr r5, ._29 + 8\n" - " sub r1, r1, r0\n" - " mov r9, r1\n" - " add r0, r6, #0\n" - " mov r1, r8\n" - " mov r2, r9\n" - " bl memcpy\n" - " add r0, r5, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x5\n" - " mov r3, #0x0\n" - " bl debug_sub_813C638\n" - " add r4, sp, #0x24\n" - " mov r0, #0x1\n" - " mov sl, r0\n" - " mov r1, sl\n" - " strb r1, [r4]\n" - " add r0, r5, #0\n" - " mov r1, #0x2d\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " mov r0, #0x3\n" - " strb r0, [r4]\n" - " add r0, r5, #0\n" - " mov r1, #0x20\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " mov r0, #0xff\n" - " strb r0, [r4]\n" - " add r0, r5, #0\n" - " mov r1, #0x23\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldr r1, ._29 + 12\n" - " add r0, r4, #0\n" - " mov r2, #0xb\n" - " bl StringCopyN\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " mov r0, sl\n" - " strb r0, [r4]\n" - " add r0, r5, #0\n" - " mov r1, #0x3\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldr r0, ._29 + 16\n" - " add r0, r6, r0\n" - " mov r1, r8\n" - " sub r0, r0, r1\n" - " add r1, r5, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " ldr r0, ._29 + 20\n" - " add r6, r6, r0\n" - " mov r0, r8\n" - " sub r6, r6, r0\n" - " add r0, r6, #0\n" - " mov r1, sp\n" - " mov r2, #0x24\n" - " bl memcpy\n" - " mov r0, r9\n" - " add sp, sp, #0x30\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._30:\n" - " .align 2, 0\n" - "._29:\n" - " .word gUnknown_Debug_845E443\n" - " .word gUnknown_Debug_845E4EF\n" - " .word gEnemyParty\n" - " .word Str_842E238\n" - " .word gUnknown_Debug_845E467\n" - " .word gUnknown_Debug_845E4CB\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C810() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xffffffdc\n" - " add r6, r0, #0\n" - " ldr r5, ._31\n" - " ldr r0, ._31 + 4\n" - " ldr r4, ._31 + 8\n" - " sub r0, r0, r5\n" - " mov r8, r0\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " mov r2, r8\n" - " bl memcpy\n" - " add r0, r4, #0\n" - " mov r1, #0xc9\n" - " mov r2, #0x15\n" - " mov r3, #0x82\n" - " bl debug_sub_813C638\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " bl debug_sub_813C6AC\n" - " ldr r0, ._31 + 12\n" - " add r0, r6, r0\n" - " sub r0, r0, r5\n" - " add r1, r4, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " ldr r0, ._31 + 16\n" - " add r0, r6, r0\n" - " sub r0, r0, r5\n" - " mov r1, sp\n" - " mov r2, #0x24\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl unref_sub_812620C\n" - " mov r0, r8\n" - " add sp, sp, #0x24\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._32:\n" - " .align 2, 0\n" - "._31:\n" - " .word gUnknown_Debug_845E443\n" - " .word gUnknown_Debug_845E4EF\n" - " .word gEnemyParty\n" - " .word gUnknown_Debug_845E467\n" - " .word gUnknown_Debug_845E4CB\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C888() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xffffffdc\n" - " add r6, r0, #0\n" - " ldr r5, ._33\n" - " ldr r0, ._33 + 4\n" - " ldr r4, ._33 + 8\n" - " sub r0, r0, r5\n" - " mov r8, r0\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " mov r2, r8\n" - " bl memcpy\n" - " add r0, r4, #0\n" - " mov r1, #0xc9\n" - " mov r2, #0x15\n" - " mov r3, #0x82\n" - " bl debug_sub_813C638\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " bl debug_sub_813C6AC\n" - " mov r0, #0x0\n" - " strh r0, [r4, #0x1c]\n" - " ldr r0, ._33 + 12\n" - " add r0, r6, r0\n" - " sub r0, r0, r5\n" - " add r1, r4, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " ldr r0, ._33 + 16\n" - " add r0, r6, r0\n" - " sub r0, r0, r5\n" - " mov r1, sp\n" - " mov r2, #0x24\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl unref_sub_812620C\n" - " mov r0, r8\n" - " add sp, sp, #0x24\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._34:\n" - " .align 2, 0\n" - "._33:\n" - " .word gUnknown_Debug_845E443\n" - " .word gUnknown_Debug_845E4EF\n" - " .word gEnemyParty\n" - " .word gUnknown_Debug_845E467\n" - " .word gUnknown_Debug_845E4CB\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_813C904() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._35\n" - " add r0, r4, #0\n" - " mov r1, #0x5\n" - " mov r2, #0x32\n" - " mov r3, #0xb7\n" - " bl debug_sub_813C638\n" - " add r0, r4, #0\n" - " add r0, r0, #0x64\n" - " mov r1, #0x8\n" - " mov r2, #0x32\n" - " mov r3, #0xc4\n" - " bl debug_sub_813C638\n" - " add r4, r4, #0xc8\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x32\n" - " mov r3, #0x8d\n" - " bl debug_sub_813C638\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._36:\n" - " .align 2, 0\n" - "._35:\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C93C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xffffff44\n" - " add r4, r0, #0\n" - " ldr r6, ._37\n" - " ldr r5, ._37 + 4\n" - " sub r5, r5, r6\n" - " add r1, r6, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " bl SavePlayerParty\n" - " bl debug_sub_813C904\n" - " ldr r1, ._37 + 8\n" - " ldr r2, ._37 + 12\n" - " mov r0, sp\n" - " bl debug_sub_8075DB4\n" - " bl LoadPlayerParty\n" - " ldr r0, ._37 + 16\n" - " add r4, r4, r0\n" - " sub r4, r4, r6\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " mov r2, #0xbc\n" - " bl memcpy\n" - " add r0, r5, #0\n" - " add sp, sp, #0xbc\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._38:\n" - " .align 2, 0\n" - "._37:\n" - " .word gUnknown_Debug_845E4EF\n" - " .word gUnknown_Debug_845E606\n" - " .word Str_842E253+5 @ weird...\n" - " .word 0x270f\n" - " .word gUnknown_Debug_845E506\n" - "\n" - ); -} - -#endif - diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index cc53f8c95..6c94b0466 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -8,9842 +8,4 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u8 byte_3005E30[0x20]; -__attribute__((naked)) -void debug_69() -{ - asm( - " bx lr\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C35DC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " bl SetVBlankCallback\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x13\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " add r0, r0, #0xe\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r1, [r0]\n" - " add r0, r0, #0x14\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x6\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x6\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x6\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " mov r3, #0xc0\n" - " lsl r3, r3, #0x13\n" - " mov r4, #0xc0\n" - " lsl r4, r4, #0x9\n" - " add r0, sp, #0x4\n" - " mov r8, r0\n" - " mov r2, sp\n" - " mov r6, #0x0\n" - " ldr r1, ._2\n" - " mov r5, #0x80\n" - " lsl r5, r5, #0x5\n" - " ldr r7, ._2 + 4\n" - " mov r0, #0x81\n" - " lsl r0, r0, #0x18\n" - " mov ip, r0\n" - "._1:\n" - " strh r6, [r2]\n" - " mov r0, sp\n" - " str r0, [r1]\n" - " str r3, [r1, #0x4]\n" - " str r7, [r1, #0x8]\n" - " ldr r0, [r1, #0x8]\n" - " add r3, r3, r5\n" - " sub r4, r4, r5\n" - " cmp r4, r5\n" - " bhi ._1 @cond_branch\n" - " strh r6, [r2]\n" - " mov r2, sp\n" - " str r2, [r1]\n" - " str r3, [r1, #0x4]\n" - " lsr r0, r4, #0x1\n" - " mov r2, ip\n" - " orr r0, r0, r2\n" - " str r0, [r1, #0x8]\n" - " ldr r0, [r1, #0x8]\n" - " mov r0, #0xe0\n" - " lsl r0, r0, #0x13\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x3\n" - " mov r4, #0x0\n" - " str r4, [sp, #0x4]\n" - " ldr r2, ._2\n" - " mov r1, r8\n" - " str r1, [r2]\n" - " str r0, [r2, #0x4]\n" - " lsr r0, r3, #0x2\n" - " mov r1, #0x85\n" - " lsl r1, r1, #0x18\n" - " orr r0, r0, r1\n" - " str r0, [r2, #0x8]\n" - " ldr r0, [r2, #0x8]\n" - " mov r1, #0xa0\n" - " lsl r1, r1, #0x13\n" - " mov r0, sp\n" - " strh r4, [r0]\n" - " str r0, [r2]\n" - " str r1, [r2, #0x4]\n" - " lsr r3, r3, #0x1\n" - " mov r0, #0x81\n" - " lsl r0, r0, #0x18\n" - " orr r3, r3, r0\n" - " str r3, [r2, #0x8]\n" - " ldr r0, [r2, #0x8]\n" - " bl ResetPaletteFade\n" - " bl ScanlineEffect_Stop\n" - " bl ResetTasks\n" - " bl ResetSpriteData\n" - " bl ResetPaletteFade\n" - " bl FreeAllSpritePalettes\n" - " ldr r0, ._2 + 8\n" - " bl LoadSpriteSheet\n" - " ldr r0, ._2 + 12\n" - " bl LoadSpritePalette\n" - " ldr r0, ._2 + 16\n" - " bl Text_LoadWindowTemplate\n" - " ldr r0, ._2 + 20\n" - " bl InitMenuWindow\n" - " add sp, sp, #0x8\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._3:\n" - " .align 2, 0\n" - "._2:\n" - " .word 0x40000d4\n" - " .word 0x81000800\n" - " .word stru_83F8828\n" - " .word stru_83F8838\n" - " .word gWindowTemplate_81E6C3C\n" - " .word gWindowTemplate_81E6CE4\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C36F4() -{ - asm( - " push {lr}\n" - " bl RunTasks\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " bl UpdatePaletteFade\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C370C() -{ - asm( - " push {lr}\n" - " ldr r0, ._6\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._4 @cond_branch\n" - " ldr r0, ._6 + 4\n" - " bl SetMainCallback2\n" - " b ._5\n" - "._7:\n" - " .align 2, 0\n" - "._6:\n" - " .word gPaletteFade\n" - " .word debug_80C36F4+1\n" - "._4:\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " bl UpdatePaletteFade\n" - "._5:\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C373C() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl DestroyTask\n" - " bl ScriptContext2_Disable\n" - " ldr r0, ._8\n" - " bl SetMainCallback2\n" - " pop {r0}\n" - " bx r0\n" - "._9:\n" - " .align 2, 0\n" - "._8:\n" - " .word sub_80546F0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3758() -{ - asm( - " push {lr}\n" - " bl LoadOam\n" - " bl ProcessSpriteCopyRequests\n" - " bl TransferPlttBuffer\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C376C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " lsl r1, r1, #0x18\n" - " lsr r7, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r6, r2, #0x18\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - "._10:\n" - " mov r3, sp\n" - " add r0, r3, r1\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " cmp r1, #0x2\n" - " bls ._10 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0xff\n" - " strb r0, [r1, #0x3]\n" - " mov r4, #0x0\n" - " add r0, r5, #0\n" - " mov r1, #0x64\n" - " bl __udivsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._11 @cond_branch\n" - " mov r1, sp\n" - " add r0, r0, #0xa1\n" - " strb r0, [r1]\n" - " mov r4, #0x1\n" - "._11:\n" - " add r0, r5, #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" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._12 @cond_branch\n" - " cmp r4, #0\n" - " beq ._13 @cond_branch\n" - "._12:\n" - " mov r1, sp\n" - " add r0, r0, #0xa1\n" - " strb r0, [r1, #0x1]\n" - "._13:\n" - " mov r4, sp\n" - " add r0, r5, #0\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xa\n" - " bl __umodsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r4, #0x2]\n" - " mov r0, sp\n" - " add r1, r7, #0\n" - " add r2, r6, #0\n" - " bl Menu_PrintText\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3800() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffff4\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " lsl r1, r1, #0x18\n" - " lsr r6, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " mov r3, #0x0\n" - " ldr r2, ._18\n" - " mov r1, #0x0\n" - "._14:\n" - " mov r7, sp\n" - " add r0, r7, r3\n" - " strb r1, [r0]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " cmp r3, #0x9\n" - " bls ._14 @cond_branch\n" - " add r1, r7, r3\n" - " mov r0, #0xff\n" - " strb r0, [r1]\n" - " mov r3, #0x0\n" - " mov r0, #0xb\n" - " add r1, r4, #0\n" - " mul r1, r1, r0\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._16 @cond_branch\n" - " add r4, r2, #0\n" - " add r2, r1, #0\n" - "._17:\n" - " mov r0, sp\n" - " add r1, r0, r3\n" - " add r0, r3, r2\n" - " add r0, r0, r4\n" - " ldrb r0, [r0]\n" - " strb r0, [r1]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " add r0, r3, r2\n" - " add r0, r0, r4\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._16 @cond_branch\n" - " cmp r3, #0x9\n" - " bls ._17 @cond_branch\n" - "._16:\n" - " mov r0, sp\n" - " add r1, r6, #0\n" - " add r2, r5, #0\n" - " bl Menu_PrintText\n" - " add sp, sp, #0xc\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._19:\n" - " .align 2, 0\n" - "._18:\n" - " .word gSpeciesNames\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3878() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " cmp r0, #0\n" - " beq ._20 @cond_branch\n" - " cmp r0, #0x1\n" - " beq ._21 @cond_branch\n" - "._20:\n" - " cmp r1, #0x1\n" - " bls ._22 @cond_branch\n" - " sub r0, r1, #1\n" - " b ._23\n" - "._22:\n" - " ldr r1, ._25\n" - " b ._28\n" - "._26:\n" - " .align 2, 0\n" - "._25:\n" - " .word 0x19b\n" - "._21:\n" - " mov r0, #0xcd\n" - " lsl r0, r0, #0x1\n" - " cmp r1, r0\n" - " bhi ._27 @cond_branch\n" - " add r0, r1, #1\n" - "._23:\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " b ._28\n" - "._27:\n" - " mov r1, #0x1\n" - "._28:\n" - " add r0, r1, #0\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C38B4() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x10\n" - " lsr r0, r1, #0x10\n" - " cmp r2, #0\n" - " beq ._29 @cond_branch\n" - " cmp r2, #0x1\n" - " beq ._30 @cond_branch\n" - "._29:\n" - " cmp r0, #0\n" - " beq ._31 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._32\n" - "._31:\n" - " mov r0, #0x52\n" - " b ._35\n" - "._30:\n" - " cmp r0, #0x51\n" - " bhi ._34 @cond_branch\n" - " add r0, r0, #0x1\n" - "._32:\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " b ._35\n" - "._34:\n" - " mov r0, #0x0\n" - "._35:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C38E4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r2, #0\n" - " add r5, r3, #0\n" - " ldr r6, [sp, #0x1c]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " lsl r1, r1, #0x18\n" - " lsr r7, r1, #0x18\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " lsl r6, r6, #0x18\n" - " lsr r6, r6, #0x18\n" - " ldr r1, ._37\n" - " mov r0, sp\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " add r0, r7, #0\n" - " add r1, r4, #0\n" - " add r2, r7, #0\n" - " add r3, r5, #0\n" - " bl Menu_BlankWindowRect\n" - " cmp r6, #0\n" - " beq ._36 @cond_branch\n" - " mov r0, sp\n" - " add r1, r7, #0\n" - " mov r2, r8\n" - " bl Menu_PrintText\n" - "._36:\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._38:\n" - " .align 2, 0\n" - "._37:\n" - " .word gUnknown_Debug_083F7FD4\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C393C() -{ - asm( - " push {lr}\n" - " ldr r1, ._39\n" - " mov r0, #0x1e\n" - " bl ProgramFlashSectorAndVerify\n" - " pop {r0}\n" - " bx r0\n" - "._40:\n" - " .align 2, 0\n" - "._39:\n" - " .word gUnknown_Debug_083F7FD6\n" - "\n" - ); -} - -__attribute__((naked)) -void InitWatanabeDebugMenu() -{ - asm( - " push {r4, lr}\n" - " ldr r0, ._46\n" - " ldr r1, ._46 + 4\n" - " add r4, r0, r1\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x1\n" - " beq ._41 @cond_branch\n" - " cmp r0, #0x1\n" - " ble ._42 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._43 @cond_branch\n" - " cmp r0, #0x3\n" - " beq ._44 @cond_branch\n" - "._42:\n" - " bl save_serialize_map\n" - " bl sub_8125E2C\n" - " mov r0, #0x1\n" - " strb r0, [r4]\n" - " b ._51\n" - "._47:\n" - " .align 2, 0\n" - "._46:\n" - " .word gMain\n" - " .word 0x43c\n" - "._41:\n" - " bl sub_8125E6C\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._51 @cond_branch\n" - " b ._49\n" - "._43:\n" - " mov r0, #0x37\n" - " bl PlaySE\n" - "._49:\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " strb r0, [r4]\n" - " b ._51\n" - "._44:\n" - " bl IsSEPlaying\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._51 @cond_branch\n" - " bl ScriptContext2_Disable\n" - " ldr r0, ._52\n" - " bl SetMainCallback2\n" - "._51:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._53:\n" - " .align 2, 0\n" - "._52:\n" - " .word sub_80546F0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void InitSizeComparison() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " bl debug_80C35DC\n" - " ldr r1, ._54\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, ._54 + 4\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x1\n" - " mov r2, #0x20\n" - " bl LoadPalette\n" - " ldr r3, ._54 + 8\n" - " ldrh r2, [r3]\n" - " mov r0, #0x0\n" - " strh r0, [r3]\n" - " ldr r4, ._54 + 12\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._54 + 16\n" - " bl SetVBlankCallback\n" - " ldr r0, ._54 + 20\n" - " bl SetMainCallback2\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " mov r2, #0x8a\n" - " lsl r2, r2, #0x5\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._54 + 24\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._54 + 28\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " mov r0, #0xfc\n" - " strh r0, [r1, #0x8]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._55:\n" - " .align 2, 0\n" - "._54:\n" - " .word gReservedSpritePaletteCount\n" - " .word gUnknown_Debug_20389EC\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word debug_80C3A50+1\n" - " .word gTasks\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3A50() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xffffffd8\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._56\n" - " lsl r2, r0, #0x2\n" - " add r0, r2, r0\n" - " lsl r0, r0, #0x3\n" - " add r7, r0, r1\n" - " ldrh r0, [r7, #0x8]\n" - " str r0, [sp, #0x4]\n" - " bl NationalPokedexNumToSpecies\n" - " mov r1, sp\n" - " strh r0, [r1, #0x8]\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x10\n" - " str r2, [sp, #0xc]\n" - " lsr r2, r2, #0x10\n" - " mov r9, r2\n" - " ldr r3, ._56 + 4\n" - " mov r8, r3\n" - " mov r0, #0x6\n" - " mov r1, #0x0\n" - " mov r2, #0x17\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x5\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r5, ._56 + 8\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r4, ._56 + 12\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0x18\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r5, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0xa\n" - " mov r2, #0xb\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._56 + 16\n" - " mov r1, #0x1\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 20\n" - " mov r1, #0x1\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 24\n" - " mov r1, #0x1\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 28\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0xc\n" - " mov r1, #0xa\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._56 + 32\n" - " mov r1, #0xd\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 36\n" - " mov r1, #0xd\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " mov r0, #0xc\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._56 + 40\n" - " mov r1, #0xd\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 44\n" - " mov r1, #0x18\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, r9\n" - " mov r1, #0x12\n" - " mov r2, #0x11\n" - " bl debug_80C3800\n" - " mov r1, r8\n" - " ldrb r0, [r1, #0x8]\n" - " mov r1, #0x98\n" - " mov r2, #0x28\n" - " mov r3, #0x0\n" - " bl sub_8091A4C\n" - " mov r2, sp\n" - " strh r0, [r2, #0x10]\n" - " add r3, r0, #0\n" - " lsl r3, r3, #0x10\n" - " str r3, [sp, #0x18]\n" - " lsr r0, r3, #0x10\n" - " str r0, [sp, #0x14]\n" - " lsl r4, r0, #0x4\n" - " add r4, r4, r0\n" - " lsl r4, r4, #0x2\n" - " ldr r1, ._56 + 48\n" - " add r4, r4, r1\n" - " ldrb r1, [r4, #0x1]\n" - " mov r2, #0x4\n" - " neg r2, r2\n" - " mov sl, r2\n" - " mov r0, sl\n" - " and r0, r0, r1\n" - " mov r3, #0x1\n" - " orr r0, r0, r3\n" - " strb r0, [r4, #0x1]\n" - " ldrb r1, [r4, #0x3]\n" - " mov r0, #0x3f\n" - " neg r0, r0\n" - " mov r9, r0\n" - " and r0, r0, r1\n" - " mov r1, #0x4\n" - " orr r0, r0, r1\n" - " strb r0, [r4, #0x3]\n" - " ldrb r1, [r4, #0x5]\n" - " sub r2, r2, #0x9\n" - " mov r8, r2\n" - " mov r0, r8\n" - " and r0, r0, r1\n" - " mov r3, #0xf\n" - " and r0, r0, r3\n" - " strb r0, [r4, #0x5]\n" - " mov r0, #0x0\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, ._56 + 52\n" - " ldr r1, [sp, #0x4]\n" - " lsl r5, r1, #0x3\n" - " add r5, r5, r1\n" - " lsl r5, r5, #0x2\n" - " add r5, r5, r0\n" - " ldrh r6, [r5, #0x20]\n" - " strh r6, [r4, #0x26]\n" - " ldrh r4, [r5, #0x1e]\n" - " str r4, [sp]\n" - " mov r0, #0x2\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl SetOamMatrix\n" - " mov r2, sp\n" - " ldrh r2, [r2, #0x14]\n" - " strh r2, [r7, #0xe]\n" - " strh r6, [r7, #0x10]\n" - " strh r4, [r7, #0x14]\n" - " ldr r0, [sp, #0x4]\n" - " mov r1, #0x58\n" - " mov r2, #0x28\n" - " mov r3, #0x1\n" - " bl sub_80918EC\n" - " mov r3, sp\n" - " strh r0, [r3, #0x1c]\n" - " lsl r0, r0, #0x10\n" - " str r0, [sp, #0x24]\n" - " lsr r1, r0, #0x10\n" - " str r1, [sp, #0x20]\n" - " lsl r4, r1, #0x4\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x2\n" - " ldr r2, ._56 + 48\n" - " add r4, r4, r2\n" - " ldrb r0, [r4, #0x1]\n" - " mov r3, sl\n" - " and r3, r3, r0\n" - " mov r0, #0x1\n" - " orr r3, r3, r0\n" - " strb r3, [r4, #0x1]\n" - " ldrb r0, [r4, #0x3]\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " mov r0, #0x2\n" - " orr r1, r1, r0\n" - " strb r1, [r4, #0x3]\n" - " ldrb r0, [r4, #0x5]\n" - " mov r2, r8\n" - " and r2, r2, r0\n" - " mov r3, #0xf\n" - " and r2, r2, r3\n" - " strb r2, [r4, #0x5]\n" - " mov r0, #0x0\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldrh r0, [r5, #0x1c]\n" - " mov r8, r0\n" - " strh r0, [r4, #0x26]\n" - " ldrh r4, [r5, #0x1a]\n" - " str r4, [sp]\n" - " mov r0, #0x1\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl SetOamMatrix\n" - " mov r1, sp\n" - " ldrh r1, [r1, #0x20]\n" - " strh r1, [r7, #0xc]\n" - " mov r2, r8\n" - " strh r2, [r7, #0x12]\n" - " strh r4, [r7, #0x16]\n" - " mov r3, #0x0\n" - " strh r3, [r7, #0x18]\n" - " strh r3, [r7, #0x1a]\n" - " ldr r1, ._56 + 56\n" - " ldr r2, ._56 + 60\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1f\n" - " strh r0, [r1]\n" - " ldr r2, ._56 + 64\n" - " mov r3, #0x18\n" - " ldsh r1, [r7, r3]\n" - " lsl r1, r1, #0x6\n" - " add r0, r1, #0\n" - " add r0, r0, #0x38\n" - " lsl r0, r0, #0x8\n" - " add r1, r1, #0x78\n" - " add r0, r0, r1\n" - " strh r0, [r2]\n" - " ldr r1, ._56 + 68\n" - " ldr r2, ._56 + 72\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " sub r1, r1, #0x2\n" - " ldr r3, ._56 + 76\n" - " add r0, r3, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._56 + 80\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0xa\n" - " mov r0, #0xe1\n" - " strh r0, [r1]\n" - " ldr r0, ._56 + 84\n" - " mov r3, #0x0\n" - " strh r3, [r0]\n" - " add r1, r1, #0x4\n" - " mov r0, #0x7\n" - " strh r0, [r1]\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x13\n" - " ldrh r0, [r2]\n" - " mov r3, #0xc0\n" - " lsl r3, r3, #0x7\n" - " add r1, r3, #0\n" - " orr r0, r0, r1\n" - " strh r0, [r2]\n" - " ldr r0, ._56 + 88\n" - " str r0, [r7]\n" - " add sp, sp, #0x28\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._57:\n" - " .align 2, 0\n" - "._56:\n" - " .word gTasks\n" - " .word gSaveBlock2\n" - " .word gUnknown_Debug_083F7FD6+0x4\n" - " .word gUnknown_Debug_083F7FDE\n" - " .word gUnknown_Debug_083F7FE2\n" - " .word gUnknown_Debug_083F7FED\n" - " .word gUnknown_Debug_083F7FF6\n" - " .word gUnknown_Debug_083F8001\n" - " .word gUnknown_Debug_083F800C\n" - " .word gUnknown_Debug_083F8019\n" - " .word gUnknown_Debug_083F8022\n" - " .word gUnknown_Debug_083F8028\n" - " .word gSprites\n" - " .word gPokedexEntries\n" - " .word 0x4000048\n" - " .word 0x3f1f\n" - " .word 0x4000040\n" - " .word 0x4000044\n" - " .word 0x848\n" - " .word 0x31bf\n" - " .word 0x14f\n" - " .word 0x4000052\n" - " .word debug_80C3D2C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3D2C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " add r7, r6, #0\n" - " ldr r4, ._60\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._58 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\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 r0, ._60 + 4\n" - " bl SetMainCallback2\n" - " ldr r1, ._60 + 8\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._60 + 12\n" - " str r1, [r0]\n" - " b ._117\n" - "._61:\n" - " .align 2, 0\n" - "._60:\n" - " .word gMain\n" - " .word debug_80C370C+1\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._58:\n" - " mov r5, #0x1\n" - " add r0, r5, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._62 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._64\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldrh r1, [r0, #0x18]\n" - " mov r2, #0x1\n" - " eor r1, r1, r2\n" - " strh r1, [r0, #0x18]\n" - " b ._117\n" - "._65:\n" - " .align 2, 0\n" - "._64:\n" - " .word gTasks\n" - "._62:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._66 @cond_branch\n" - " ldr r1, ._70\n" - " lsl r2, r6, #0x2\n" - " add r0, r2, r6\n" - " lsl r0, r0, #0x3\n" - " add r3, r0, r1\n" - " mov r5, #0x18\n" - " ldsh r0, [r3, r5]\n" - " mov r8, r1\n" - " cmp r0, #0\n" - " beq ._67 @cond_branch\n" - " ldrh r1, [r4, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._68 @cond_branch\n" - " ldrh r0, [r3, #0x14]\n" - " add r0, r0, #0x10\n" - " b ._69\n" - "._71:\n" - " .align 2, 0\n" - "._70:\n" - " .word gTasks\n" - "._68:\n" - " ldrh r0, [r3, #0x14]\n" - " add r0, r0, #0x1\n" - "._69:\n" - " strh r0, [r3, #0x14]\n" - " add r0, r2, r7\n" - " lsl r0, r0, #0x3\n" - " mov r2, r8\n" - " add r1, r0, r2\n" - " ldrh r0, [r1, #0x14]\n" - " mov r6, #0x80\n" - " lsl r6, r6, #0x8\n" - " cmp r0, r6\n" - " bhi ._72 @cond_branch\n" - " b ._117\n" - "._72:\n" - " strh r6, [r1, #0x14]\n" - " b ._117\n" - "._67:\n" - " ldrh r1, [r4, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._75 @cond_branch\n" - " ldrh r0, [r3, #0x16]\n" - " add r0, r0, #0x10\n" - " b ._76\n" - "._75:\n" - " ldrh r0, [r3, #0x16]\n" - " add r0, r0, #0x1\n" - "._76:\n" - " strh r0, [r3, #0x16]\n" - " add r0, r2, r7\n" - " lsl r0, r0, #0x3\n" - " mov r4, r8\n" - " add r1, r0, r4\n" - " ldrh r0, [r1, #0x16]\n" - " mov r6, #0x80\n" - " lsl r6, r6, #0x8\n" - " cmp r0, r6\n" - " bhi ._77 @cond_branch\n" - " b ._117\n" - "._77:\n" - " strh r6, [r1, #0x16]\n" - " b ._117\n" - "._66:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._80 @cond_branch\n" - " ldr r1, ._84\n" - " lsl r2, r6, #0x2\n" - " add r0, r2, r6\n" - " lsl r0, r0, #0x3\n" - " add r3, r0, r1\n" - " mov r5, #0x18\n" - " ldsh r0, [r3, r5]\n" - " mov r8, r1\n" - " cmp r0, #0\n" - " beq ._81 @cond_branch\n" - " ldrh r1, [r4, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._82 @cond_branch\n" - " ldrh r0, [r3, #0x14]\n" - " sub r0, r0, #0x10\n" - " b ._83\n" - "._85:\n" - " .align 2, 0\n" - "._84:\n" - " .word gTasks\n" - "._82:\n" - " ldrh r0, [r3, #0x14]\n" - " sub r0, r0, #0x1\n" - "._83:\n" - " strh r0, [r3, #0x14]\n" - " add r0, r2, r7\n" - " lsl r0, r0, #0x3\n" - " mov r2, r8\n" - " add r1, r0, r2\n" - " mov r4, #0x14\n" - " ldsh r0, [r1, r4]\n" - " cmp r0, #0xff\n" - " ble ._86 @cond_branch\n" - " b ._117\n" - "._86:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " strh r0, [r1, #0x14]\n" - " b ._117\n" - "._81:\n" - " ldrh r1, [r4, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._89 @cond_branch\n" - " ldrh r0, [r3, #0x16]\n" - " sub r0, r0, #0x10\n" - " b ._90\n" - "._89:\n" - " ldrh r0, [r3, #0x16]\n" - " sub r0, r0, #0x1\n" - "._90:\n" - " strh r0, [r3, #0x16]\n" - " add r0, r2, r7\n" - " lsl r0, r0, #0x3\n" - " mov r5, r8\n" - " add r1, r0, r5\n" - " mov r2, #0x16\n" - " ldsh r0, [r1, r2]\n" - " cmp r0, #0xff\n" - " ble ._91 @cond_branch\n" - " b ._117\n" - "._91:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " strh r0, [r1, #0x16]\n" - " b ._117\n" - "._80:\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._94 @cond_branch\n" - " ldr r0, ._97\n" - " lsl r1, r6, #0x2\n" - " add r1, r1, r6\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " mov r4, #0x18\n" - " ldsh r0, [r1, r4]\n" - " cmp r0, #0\n" - " beq ._95 @cond_branch\n" - " ldrh r0, [r1, #0x10]\n" - " sub r0, r0, #0x1\n" - " strh r0, [r1, #0x10]\n" - " b ._117\n" - "._98:\n" - " .align 2, 0\n" - "._97:\n" - " .word gTasks\n" - "._95:\n" - " ldrh r0, [r1, #0x12]\n" - " sub r0, r0, #0x1\n" - " strh r0, [r1, #0x12]\n" - " b ._117\n" - "._94:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._100 @cond_branch\n" - " ldr r0, ._103\n" - " lsl r1, r6, #0x2\n" - " add r1, r1, r6\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " mov r5, #0x18\n" - " ldsh r0, [r1, r5]\n" - " cmp r0, #0\n" - " beq ._101 @cond_branch\n" - " ldrh r0, [r1, #0x10]\n" - " add r0, r0, #0x1\n" - " strh r0, [r1, #0x10]\n" - " b ._117\n" - "._104:\n" - " .align 2, 0\n" - "._103:\n" - " .word gTasks\n" - "._101:\n" - " ldrh r0, [r1, #0x12]\n" - " add r0, r0, #0x1\n" - " strh r0, [r1, #0x12]\n" - " b ._117\n" - "._100:\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._106 @cond_branch\n" - " ldr r2, ._109\n" - " lsl r3, r6, #0x2\n" - " add r0, r3, r6\n" - " lsl r0, r0, #0x3\n" - " add r6, r0, r2\n" - " ldrh r4, [r6, #0x8]\n" - " mov r0, #0x8\n" - " ldsh r1, [r6, r0]\n" - " ldr r0, ._109 + 4\n" - " mov r8, r2\n" - " add r2, r3, #0\n" - " cmp r1, r0\n" - " bgt ._107 @cond_branch\n" - " add r0, r4, #1\n" - " strh r0, [r6, #0x8]\n" - " b ._108\n" - "._110:\n" - " .align 2, 0\n" - "._109:\n" - " .word gTasks\n" - " .word 0x181\n" - "._107:\n" - " strh r5, [r6, #0x8]\n" - "._108:\n" - " add r4, r2, r7\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r8\n" - " mov r2, #0xc\n" - " ldsh r1, [r4, r2]\n" - " b ._111\n" - "._106:\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._112 @cond_branch\n" - " ldr r1, ._115\n" - " lsl r2, r6, #0x2\n" - " add r0, r2, r6\n" - " lsl r0, r0, #0x3\n" - " add r3, r0, r1\n" - " ldrh r6, [r3, #0x8]\n" - " mov r4, #0x8\n" - " ldsh r0, [r3, r4]\n" - " mov r8, r1\n" - " cmp r0, #0x1\n" - " ble ._113 @cond_branch\n" - " sub r0, r6, #1\n" - " b ._114\n" - "._116:\n" - " .align 2, 0\n" - "._115:\n" - " .word gTasks\n" - "._113:\n" - " mov r0, #0xc1\n" - " lsl r0, r0, #0x1\n" - "._114:\n" - " strh r0, [r3, #0x8]\n" - " add r4, r2, r7\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r8\n" - " mov r5, #0xc\n" - " ldsh r1, [r4, r5]\n" - "._111:\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r5, ._118\n" - " add r0, r0, r5\n" - " bl DestroySprite\n" - " mov r0, #0xe\n" - " ldsh r1, [r4, r0]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r5\n" - " bl DestroySprite\n" - " ldr r0, ._118 + 4\n" - " str r0, [r4]\n" - " b ._117\n" - "._119:\n" - " .align 2, 0\n" - "._118:\n" - " .word gSprites\n" - " .word debug_80C3A50+1\n" - "._112:\n" - " ldr r0, ._120\n" - " lsl r5, r7, #0x2\n" - " add r5, r5, r7\n" - " lsl r5, r5, #0x3\n" - " add r5, r5, r0\n" - " ldrh r4, [r5, #0x16]\n" - " ldrh r6, [r5, #0x12]\n" - " str r4, [sp]\n" - " mov r0, #0x1\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl SetOamMatrix\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r2, ._120 + 4\n" - " mov r8, r2\n" - " mov r4, #0xc\n" - " ldsh r1, [r5, r4]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r8\n" - " strh r6, [r0, #0x26]\n" - " ldrh r4, [r5, #0x14]\n" - " ldrh r6, [r5, #0x10]\n" - " str r4, [sp]\n" - " mov r0, #0x2\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl SetOamMatrix\n" - " add r0, r4, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x3\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " add r0, r6, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x7\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " mov r0, #0xe\n" - " ldsh r1, [r5, r0]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r8\n" - " strh r6, [r0, #0x26]\n" - " ldr r2, ._120 + 8\n" - " mov r4, #0x18\n" - " ldsh r1, [r5, r4]\n" - " lsl r1, r1, #0x6\n" - " add r0, r1, #0\n" - " add r0, r0, #0x38\n" - " lsl r0, r0, #0x8\n" - " add r1, r1, #0x78\n" - " add r0, r0, r1\n" - " strh r0, [r2]\n" - "._117:\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._121:\n" - " .align 2, 0\n" - "._120:\n" - " .word gTasks\n" - " .word gSprites\n" - " .word 0x4000040\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C405C() -{ - asm( - " push {r4, r5, lr}\n" - " add r4, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r5, r1, #0x10\n" - " mov r2, #0x0\n" - " mov r1, #0x0\n" - "._122:\n" - " add r0, r4, r2\n" - " strb r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x9\n" - " bls ._122 @cond_branch\n" - " add r0, r4, r2\n" - " mov r1, #0xff\n" - " strb r1, [r0]\n" - " mov r0, #0xae\n" - " strb r0, [r4]\n" - " cmp r5, #0\n" - " beq ._125 @cond_branch\n" - " mov r2, #0x0\n" - " ldr r3, ._127\n" - " mov r0, #0xb\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " add r0, r1, r3\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._125 @cond_branch\n" - " add r5, r3, #0\n" - " add r3, r1, #0\n" - "._126:\n" - " add r1, r4, r2\n" - " add r0, r2, r3\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " strb r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " add r0, r2, r3\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._125 @cond_branch\n" - " cmp r2, #0x9\n" - " bls ._126 @cond_branch\n" - "._125:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._128:\n" - " .align 2, 0\n" - "._127:\n" - " .word gSpeciesNames\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C40C4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " mov r5, #0x0\n" - " mov r6, sp\n" - "._135:\n" - " cmp r7, #0\n" - " beq ._129 @cond_branch\n" - " mov r0, #0x64\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " ldr r0, ._132\n" - " add r4, r1, r0\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._134 @cond_branch\n" - " add r0, r4, #0\n" - " bl CalculateMonStats\n" - " add r0, r4, #0\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " strh r0, [r6]\n" - " add r0, r4, #0\n" - " mov r1, #0x39\n" - " mov r2, sp\n" - " bl SetMonData\n" - " b ._134\n" - "._133:\n" - " .align 2, 0\n" - "._132:\n" - " .word gEnemyParty\n" - "._129:\n" - " mov r0, #0x64\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " ldr r0, ._136\n" - " add r4, r1, r0\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._134 @cond_branch\n" - " add r0, r4, #0\n" - " bl CalculateMonStats\n" - " add r0, r4, #0\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " strh r0, [r6]\n" - " add r0, r4, #0\n" - " mov r1, #0x39\n" - " mov r2, sp\n" - " bl SetMonData\n" - "._134:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._135 @cond_branch\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._137:\n" - " .align 2, 0\n" - "._136:\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -void InitBattleForDebug() -{ - asm( - " push {lr}\n" - " bl SavePlayerParty\n" - " ldr r1, ._138\n" - " ldr r0, ._138 + 4\n" - " ldrb r2, [r0, #0x8]\n" - " mov r0, #0x0\n" - " strb r2, [r1, #0xd]\n" - " strb r0, [r1]\n" - " strb r0, [r1, #0x1]\n" - " strb r0, [r1, #0x2]\n" - " strb r0, [r1, #0x3]\n" - " strb r0, [r1, #0x4]\n" - " strb r0, [r1, #0x5]\n" - " strb r0, [r1, #0x6]\n" - " strb r0, [r1, #0x7]\n" - " strb r0, [r1, #0x8]\n" - " strb r0, [r1, #0xc]\n" - " ldr r1, ._138 + 8\n" - " str r0, [r1]\n" - " bl ZeroPlayerPartyMons\n" - " bl ZeroEnemyPartyMons\n" - " mov r0, #0x0\n" - " bl debug_80C4214\n" - " ldr r0, ._138 + 12\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._139:\n" - " .align 2, 0\n" - "._138:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gSaveBlock2\n" - " .word byte_3005E30\n" - " .word debug_80C47BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C41A8() -{ - asm( - " push {lr}\n" - " ldr r1, ._140\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0x1]\n" - " strb r0, [r1, #0x2]\n" - " bl ZeroPlayerPartyMons\n" - " bl ZeroEnemyPartyMons\n" - " mov r0, #0x0\n" - " bl debug_80C4214\n" - " ldr r0, ._140 + 4\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._141:\n" - " .align 2, 0\n" - "._140:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word debug_80C47BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C41D4() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " bl debug_80C40C4\n" - " mov r0, #0x0\n" - " bl debug_80C4214\n" - " ldr r0, ._142\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._143:\n" - " .align 2, 0\n" - "._142:\n" - " .word debug_80C42B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C41F4() -{ - asm( - " push {lr}\n" - " mov r0, #0x1\n" - " bl debug_80C40C4\n" - " mov r0, #0x1\n" - " bl debug_80C4214\n" - " ldr r0, ._144\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._145:\n" - " .align 2, 0\n" - "._144:\n" - " .word debug_80C42B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4214() -{ - asm( - " push {r4, r5, r6, lr}\n" - " bl debug_80C35DC\n" - " ldr r6, ._146\n" - " mov r4, #0x0\n" - " strh r4, [r6]\n" - " ldr r5, ._146 + 4\n" - " strh r4, [r5]\n" - " ldr r0, ._146 + 8\n" - " strh r4, [r0]\n" - " add r0, r0, #0x4\n" - " strh r4, [r0]\n" - " ldr r1, ._146 + 12\n" - " ldr r2, ._146 + 16\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x31\n" - " strh r0, [r1]\n" - " add r1, r1, #0x6\n" - " mov r0, #0xe1\n" - " strh r0, [r1]\n" - " ldr r0, ._146 + 20\n" - " strh r4, [r0]\n" - " add r1, r1, #0x4\n" - " mov r0, #0x7\n" - " strh r0, [r1]\n" - " ldr r3, ._146 + 24\n" - " ldrh r2, [r3]\n" - " strh r4, [r3]\n" - " ldr r4, ._146 + 28\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " ldr r0, ._146 + 32\n" - " bl SetVBlankCallback\n" - " ldr r0, ._146 + 36\n" - " bl SetMainCallback2\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " ldr r2, ._146 + 40\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._146 + 44\n" - " add r0, r1, #0\n" - " strh r0, [r6]\n" - " ldr r2, ._146 + 48\n" - " add r0, r2, #0\n" - " strh r0, [r5]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._147:\n" - " .align 2, 0\n" - "._146:\n" - " .word 0x4000040\n" - " .word 0x4000044\n" - " .word 0x4000042\n" - " .word 0x4000048\n" - " .word 0x1111\n" - " .word 0x4000052\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word 0x7140\n" - " .word 0x1ef\n" - " .word 0x819f\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C42B8() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xffffffe4\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r1, ._150\n" - " mov r0, sp\n" - " mov r2, #0xc\n" - " bl memcpy\n" - " add r4, sp, #0xc\n" - " ldr r1, ._150 + 4\n" - " add r0, r4, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0x14\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " bl debug_80C4694\n" - " bl debug_80C4704\n" - " ldr r0, ._150 + 8\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._148 @cond_branch\n" - " ldr r0, ._150 + 12\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._150 + 16\n" - " b ._149\n" - "._151:\n" - " .align 2, 0\n" - "._150:\n" - " .word gUnknown_Debug_083F8194\n" - " .word gUnknown_Debug_083F81A0\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C44EC+1\n" - "._148:\n" - " ldr r0, ._152\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._152 + 4\n" - "._149:\n" - " str r0, [r1]\n" - " add sp, sp, #0x1c\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._153:\n" - " .align 2, 0\n" - "._152:\n" - " .word gTasks\n" - " .word debug_80C4348+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4348() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._154\n" - " ldrb r0, [r0, #0x1]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._154 + 4\n" - " ldr r2, ._154 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " add r2, r2, #0x8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._154 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._154 + 16\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._155:\n" - " .align 2, 0\n" - "._154:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x177\n" - " .word gTasks\n" - " .word debug_80C43A8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C43A8() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r1, ._158\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " add r3, r1, #0\n" - " cmp r0, #0\n" - " beq ._156 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._158 + 4\n" - " ldrb r1, [r0, #0x1]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._158 + 8\n" - " add r0, r0, r1\n" - " ldr r1, ._158 + 12\n" - " bl debug_sub_80A433C\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " b ._180\n" - "._159:\n" - " .align 2, 0\n" - "._158:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gPlayerParty\n" - " .word debug_80C41D4+1\n" - "._156:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._160 @cond_branch\n" - " ldr r0, ._162\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._162 + 4\n" - " str r0, [r1]\n" - " b ._180\n" - "._163:\n" - " .align 2, 0\n" - "._162:\n" - " .word gTasks\n" - " .word debug_80C4F48+1\n" - "._160:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0\n" - " beq ._164 @cond_branch\n" - " bl debug_80C4774\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._180 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " bl CalculatePlayerPartyCount\n" - " bl CalculateEnemyPartyCount\n" - " ldr r0, ._167\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._167 + 4\n" - " str r0, [r1]\n" - " b ._180\n" - "._168:\n" - " .align 2, 0\n" - "._167:\n" - " .word gTasks\n" - " .word debug_80C4D14+1\n" - "._164:\n" - " mov r0, #0x88\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._169 @cond_branch\n" - " str r1, [sp]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r0, ._171\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._171 + 4\n" - " str r0, [r1]\n" - " b ._180\n" - "._172:\n" - " .align 2, 0\n" - "._171:\n" - " .word gTasks\n" - " .word debug_80C44EC+1\n" - "._169:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._174 @cond_branch\n" - " ldr r1, ._176\n" - " ldrb r0, [r1, #0x1]\n" - " cmp r0, #0\n" - " beq ._174 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0x1]\n" - " b ._175\n" - "._177:\n" - " .align 2, 0\n" - "._176:\n" - " .word gUnknown_Debug_2038A0C\n" - "._174:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._180 @cond_branch\n" - " ldr r5, ._181\n" - " ldrb r0, [r5, #0x1]\n" - " cmp r0, #0x4\n" - " bhi ._180 @cond_branch\n" - " add r1, r0, #0\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._181 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._180 @cond_branch\n" - " ldrb r0, [r5, #0x1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r5, #0x1]\n" - "._175:\n" - " ldr r1, ._181 + 8\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._181 + 12\n" - " str r1, [r0]\n" - "._180:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._182:\n" - " .align 2, 0\n" - "._181:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gPlayerParty\n" - " .word gTasks\n" - " .word debug_80C4348+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C44EC() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._183\n" - " ldrb r0, [r0, #0x2]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r1, #0x10\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._183 + 4\n" - " ldr r2, ._183 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._183 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._183 + 16\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._183 + 20\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._184:\n" - " .align 2, 0\n" - "._183:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x79ef\n" - " .word 0x17f\n" - " .word gTasks\n" - " .word debug_80C4550+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4550() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r1, ._187\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " add r3, r1, #0\n" - " cmp r0, #0\n" - " beq ._185 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._187 + 4\n" - " ldrb r1, [r0, #0x2]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._187 + 8\n" - " add r0, r0, r1\n" - " ldr r1, ._187 + 12\n" - " bl debug_sub_80A433C\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " b ._209\n" - "._188:\n" - " .align 2, 0\n" - "._187:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gEnemyParty\n" - " .word debug_80C41F4+1\n" - "._185:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._189 @cond_branch\n" - " ldr r0, ._191\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._191 + 4\n" - " str r0, [r1]\n" - " b ._209\n" - "._192:\n" - " .align 2, 0\n" - "._191:\n" - " .word gTasks\n" - " .word debug_80C4F48+1\n" - "._189:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0\n" - " beq ._193 @cond_branch\n" - " bl debug_80C4774\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._209 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " bl CalculatePlayerPartyCount\n" - " bl CalculateEnemyPartyCount\n" - " ldr r0, ._196\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._196 + 4\n" - " str r0, [r1]\n" - " b ._209\n" - "._197:\n" - " .align 2, 0\n" - "._196:\n" - " .word gTasks\n" - " .word debug_80C4D14+1\n" - "._193:\n" - " mov r0, #0x88\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._198 @cond_branch\n" - " str r1, [sp]\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r0, ._200\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._200 + 4\n" - " str r0, [r1]\n" - " b ._209\n" - "._201:\n" - " .align 2, 0\n" - "._200:\n" - " .word gTasks\n" - " .word debug_80C4348+1\n" - "._198:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._203 @cond_branch\n" - " ldr r1, ._205\n" - " ldrb r0, [r1, #0x2]\n" - " cmp r0, #0\n" - " beq ._203 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0x2]\n" - " b ._204\n" - "._206:\n" - " .align 2, 0\n" - "._205:\n" - " .word gUnknown_Debug_2038A0C\n" - "._203:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._209 @cond_branch\n" - " ldr r5, ._210\n" - " ldrb r0, [r5, #0x2]\n" - " cmp r0, #0x4\n" - " bhi ._209 @cond_branch\n" - " add r1, r0, #0\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._210 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._209 @cond_branch\n" - " ldrb r0, [r5, #0x2]\n" - " add r0, r0, #0x1\n" - " strb r0, [r5, #0x2]\n" - "._204:\n" - " ldr r1, ._210 + 8\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._210 + 12\n" - " str r1, [r0]\n" - "._209:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._211:\n" - " .align 2, 0\n" - "._210:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gEnemyParty\n" - " .word gTasks\n" - " .word debug_80C44EC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4694() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xffffffe4\n" - " ldr r1, ._213\n" - " mov r0, sp\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r4, #0x0\n" - " add r5, sp, #0x10\n" - "._212:\n" - " mov r0, #0x64\n" - " mul r0, r0, r4\n" - " ldr r1, ._213 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r5, #0\n" - " bl debug_80C405C\n" - " lsl r2, r4, #0x19\n" - " mov r0, #0xc0\n" - " lsl r0, r0, #0x12\n" - " add r2, r2, r0\n" - " lsr r2, r2, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._212 @cond_branch\n" - " add sp, sp, #0x1c\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._214:\n" - " .align 2, 0\n" - "._213:\n" - " .word gUnknown_Debug_083F81AD\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4704() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xffffffe4\n" - " ldr r1, ._216\n" - " mov r0, sp\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " mov r0, #0xf\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x11\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r4, #0x0\n" - " add r5, sp, #0x10\n" - "._215:\n" - " mov r0, #0x64\n" - " mul r0, r0, r4\n" - " ldr r1, ._216 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r5, #0\n" - " bl debug_80C405C\n" - " lsl r2, r4, #0x19\n" - " mov r0, #0xc0\n" - " lsl r0, r0, #0x12\n" - " add r2, r2, r0\n" - " lsr r2, r2, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._215 @cond_branch\n" - " add sp, sp, #0x1c\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._217:\n" - " .align 2, 0\n" - "._216:\n" - " .word gUnknown_Debug_083F81BA\n" - " .word gEnemyParty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4774() -{ - asm( - " push {r4, lr}\n" - " ldr r0, ._221\n" - " ldrb r0, [r0, #0xc]\n" - " sub r0, r0, #0x1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x64\n" - " add r4, r0, #0\n" - " mul r4, r4, r1\n" - " ldr r0, ._221 + 4\n" - " add r0, r4, r0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._219 @cond_branch\n" - " ldr r0, ._221 + 8\n" - " add r0, r4, r0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._219 @cond_branch\n" - " mov r0, #0x1\n" - " b ._220\n" - "._222:\n" - " .align 2, 0\n" - "._221:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gPlayerParty\n" - " .word gEnemyParty\n" - "._219:\n" - " mov r0, #0x0\n" - "._220:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C47BC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xffffffc0\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r1, ._224\n" - " mov r0, sp\n" - " mov r2, #0xf\n" - " bl memcpy\n" - " add r4, sp, #0x10\n" - " ldr r1, ._224 + 4\n" - " add r0, r4, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " add r6, sp, #0x20\n" - " ldr r1, ._224 + 8\n" - " add r0, r6, #0\n" - " mov r2, #0xf\n" - " bl memcpy\n" - " add r5, sp, #0x30\n" - " ldr r1, ._224 + 12\n" - " add r0, r5, #0\n" - " mov r2, #0x10\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0x14\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r6, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r4, #0x0\n" - " ldr r6, ._224 + 16\n" - "._223:\n" - " lsl r0, r4, #0x3\n" - " add r0, r0, r6\n" - " ldr r0, [r0]\n" - " lsl r2, r4, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r2, r2, r1\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x2\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 ._223 @cond_branch\n" - " mov r0, #0xf\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r5, #0\n" - " mov r1, #0x11\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._224 + 20\n" - " ldrb r0, [r0, #0x4]\n" - " bl debug_80C4C44\n" - " ldr r1, ._224 + 24\n" - " lsl r0, r7, #0x2\n" - " add r0, r0, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._224 + 28\n" - " str r1, [r0]\n" - " add sp, sp, #0x40\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._225:\n" - " .align 2, 0\n" - "._224:\n" - " .word gUnknown_Debug_083F81C7\n" - " .word gUnknown_Debug_083F81A0\n" - " .word gUnknown_Debug_083F81D6\n" - " .word gUnknown_Debug_083F81E5\n" - " .word gUnknown_Debug_083F8068\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C48A0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C48A0() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._226\n" - " ldrb r0, [r0, #0x3]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._226 + 4\n" - " ldr r2, ._226 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " add r2, r2, #0x8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._226 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._226 + 16\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._227:\n" - " .align 2, 0\n" - "._226:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x177\n" - " .word gTasks\n" - " .word debug_80C4900+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4900() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r1, ._230\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " add r3, r1, #0\n" - " cmp r4, #0\n" - " beq ._228 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._230 + 4\n" - " bl SetMainCallback2\n" - " bl LoadPlayerParty\n" - " ldr r1, ._230 + 8\n" - " ldr r0, ._230 + 12\n" - " ldrb r0, [r0, #0xd]\n" - " strb r0, [r1, #0x8]\n" - " ldr r0, ._230 + 16\n" - " mov r1, #0x0\n" - " strh r4, [r0]\n" - " ldr r0, ._230 + 20\n" - " strb r1, [r0]\n" - " ldr r1, ._230 + 24\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._230 + 28\n" - " b ._229\n" - "._231:\n" - " .align 2, 0\n" - "._230:\n" - " .word gMain\n" - " .word debug_80C370C+1\n" - " .word gSaveBlock2\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gBattleTypeFlags\n" - " .word gUnknown_02023A14_50\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._228:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._232 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._233 @cond_branch\n" - "._232:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._236\n" - " ldr r3, ._236 + 4\n" - " ldr r2, ._236 + 8\n" - " ldrb r0, [r2, #0x3]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r3\n" - " ldrb r0, [r0, #0x4]\n" - " strh r0, [r1]\n" - " ldr r1, ._236 + 12\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " ldrb r0, [r2, #0x3]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r3\n" - " ldrb r0, [r0, #0x5]\n" - " strb r0, [r2, #0xc]\n" - " ldrb r0, [r2, #0x3]\n" - " sub r0, r0, #0x1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bhi ._234 @cond_branch\n" - " str r4, [sp]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r0, ._236 + 16\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._236 + 20\n" - " str r0, [r1]\n" - " b ._247\n" - "._237:\n" - " .align 2, 0\n" - "._236:\n" - " .word gBattleTypeFlags\n" - " .word gUnknown_Debug_083F8068\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gUnknown_02023A14_50\n" - " .word gTasks\n" - " .word debug_80C4A60+1\n" - "._234:\n" - " ldr r0, ._239\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._239 + 4\n" - " str r0, [r1]\n" - " b ._247\n" - "._240:\n" - " .align 2, 0\n" - "._239:\n" - " .word gTasks\n" - " .word debug_80C4F48+1\n" - "._233:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._242 @cond_branch\n" - " ldr r1, ._244\n" - " ldrb r0, [r1, #0x3]\n" - " cmp r0, #0\n" - " beq ._242 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._243\n" - "._245:\n" - " .align 2, 0\n" - "._244:\n" - " .word gUnknown_Debug_2038A0C\n" - "._242:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._247 @cond_branch\n" - " ldr r1, ._248\n" - " ldrb r0, [r1, #0x3]\n" - " cmp r0, #0x1\n" - " bhi ._247 @cond_branch\n" - " add r0, r0, #0x1\n" - "._243:\n" - " strb r0, [r1, #0x3]\n" - " ldr r1, ._248 + 4\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._248 + 8\n" - "._229:\n" - " str r1, [r0]\n" - "._247:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._249:\n" - " .align 2, 0\n" - "._248:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C48A0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4A60() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._250\n" - " ldrb r0, [r0, #0x5]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r1, #0x10\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._250 + 4\n" - " ldr r2, ._250 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._250 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._250 + 16\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._250 + 20\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._251:\n" - " .align 2, 0\n" - "._250:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x79ef\n" - " .word 0x17f\n" - " .word gTasks\n" - " .word debug_80C4AC4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4AC4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r7, ._255\n" - " ldrb r0, [r7, #0x4]\n" - " mov ip, r0\n" - " ldrb r5, [r7, #0x5]\n" - " mov r1, ip\n" - " add r0, r1, r5\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " ldr r2, ._255 + 4\n" - " mov r8, r2\n" - " ldrh r2, [r2, #0x2e]\n" - " mov r3, #0x1\n" - " and r3, r3, r2\n" - " add r4, r7, #0\n" - " cmp r3, #0\n" - " beq ._252 @cond_branch\n" - " ldr r0, ._255 + 8\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r1, [r1]\n" - " ldr r3, ._255 + 12\n" - " ldr r2, [r3]\n" - " add r0, r2, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._253 @cond_branch\n" - " ldr r0, ._255 + 16\n" - " eor r1, r1, r0\n" - " and r2, r2, r1\n" - " b ._254\n" - "._256:\n" - " .align 2, 0\n" - "._255:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gMain\n" - " .word gUnknown_Debug_083F80D8\n" - " .word byte_3005E30\n" - " .word 0xffff\n" - "._253:\n" - " orr r2, r2, r1\n" - "._254:\n" - " str r2, [r3]\n" - " ldrb r0, [r4, #0x4]\n" - " bl debug_80C4C44\n" - " ldr r1, ._258\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._258 + 4\n" - " str r1, [r0]\n" - " b ._274\n" - "._259:\n" - " .align 2, 0\n" - "._258:\n" - " .word gTasks\n" - " .word debug_80C4A60+1\n" - "._252:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0\n" - " beq ._260 @cond_branch\n" - " str r3, [sp]\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r0, ._262\n" - " lsl r1, r6, #0x2\n" - " add r1, r1, r6\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._262 + 4\n" - " b ._261\n" - "._263:\n" - " .align 2, 0\n" - "._262:\n" - " .word gTasks\n" - " .word debug_80C48A0+1\n" - "._260:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._264 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._266\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x3\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._266 + 4\n" - " ldrb r2, [r1, #0x1]\n" - " mov r0, #0x11\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " strb r0, [r1, #0x1]\n" - " mov r0, #0xac\n" - " strb r0, [r1, #0x2]\n" - " mov r0, #0xff\n" - " strb r0, [r1, #0x3]\n" - " strb r4, [r1, #0x9]\n" - " strb r4, [r1, #0xa]\n" - " strb r4, [r1, #0xb]\n" - " strb r4, [r1, #0xc]\n" - " ldr r1, ._266 + 8\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._266 + 12\n" - " str r1, [r0]\n" - " b ._274\n" - "._267:\n" - " .align 2, 0\n" - "._266:\n" - " .word gTrainerBattleOpponent\n" - " .word +0x2017000\n" - " .word gTasks\n" - " .word debug_80C4F48+1\n" - "._264:\n" - " mov r0, r8\n" - " ldrh r1, [r0, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._268 @cond_branch\n" - " lsl r0, r5, #0x18\n" - " cmp r0, #0\n" - " beq ._269 @cond_branch\n" - " sub r0, r5, #1\n" - " strb r0, [r7, #0x5]\n" - " b ._277\n" - "._269:\n" - " mov r1, ip\n" - " lsl r0, r1, #0x18\n" - " cmp r0, #0\n" - " beq ._277 @cond_branch\n" - " mov r0, ip\n" - " sub r0, r0, #0x1\n" - " b ._272\n" - "._268:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._274 @cond_branch\n" - " lsl r0, r5, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x8\n" - " bhi ._274 @cond_branch\n" - " cmp r0, #0x4\n" - " bhi ._275 @cond_branch\n" - " add r0, r5, #1\n" - " strb r0, [r7, #0x5]\n" - " b ._277\n" - "._275:\n" - " mov r2, ip\n" - " lsl r0, r2, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x3\n" - " bhi ._277 @cond_branch\n" - " mov r0, ip\n" - " add r0, r0, #0x1\n" - "._272:\n" - " strb r0, [r7, #0x4]\n" - " ldrb r0, [r7, #0x4]\n" - " bl debug_80C4C44\n" - "._277:\n" - " ldr r0, ._278\n" - " lsl r1, r6, #0x2\n" - " add r1, r1, r6\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._278 + 4\n" - "._261:\n" - " str r0, [r1]\n" - "._274:\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._279:\n" - " .align 2, 0\n" - "._278:\n" - " .word gTasks\n" - " .word debug_80C4A60+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4C44() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffff0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov sl, r0\n" - " mov r2, #0x0\n" - " mov r5, sp\n" - "._290:\n" - " mov r0, sl\n" - " add r6, r2, r0\n" - " add r4, r6, #0\n" - " add r1, r2, #1\n" - " mov r8, r1\n" - " cmp r4, #0x9\n" - " bgt ._280 @cond_branch\n" - " mov r3, #0x0\n" - " ldr r1, ._288\n" - " lsl r0, r4, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " ldrb r0, [r0]\n" - " ldr r7, ._288 + 4\n" - " mov r9, r7\n" - " lsl r2, r2, #0x1\n" - " mov ip, r2\n" - " cmp r0, #0xff\n" - " beq ._282 @cond_branch\n" - " add r7, r1, #0\n" - "._283:\n" - " add r0, r3, #3\n" - " mov r1, sp\n" - " add r2, r1, r0\n" - " lsl r1, r6, #0x3\n" - " add r1, r1, r7\n" - " ldr r0, [r1]\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " strb r0, [r2]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " ldr r0, [r1]\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._282 @cond_branch\n" - " cmp r3, #0xb\n" - " bls ._283 @cond_branch\n" - "._282:\n" - " cmp r3, #0xb\n" - " bhi ._284 @cond_branch\n" - " mov r1, #0x0\n" - "._285:\n" - " add r0, r3, #3\n" - " add r0, r0, sp\n" - " strb r1, [r0]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " cmp r3, #0xb\n" - " bls ._285 @cond_branch\n" - "._284:\n" - " mov r0, #0xff\n" - " strb r0, [r5, #0xe]\n" - " mov r0, #0xfc\n" - " strb r0, [r5]\n" - " mov r2, #0x1\n" - " strb r2, [r5, #0x1]\n" - " add r1, r2, #0\n" - " LSL r1, r4\n" - " mov r3, r9\n" - " ldr r0, [r3]\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._286 @cond_branch\n" - " mov r0, #0x3\n" - " strb r0, [r5, #0x2]\n" - " b ._287\n" - "._289:\n" - " .align 2, 0\n" - "._288:\n" - " .word gUnknown_Debug_083F80D8\n" - " .word byte_3005E30\n" - "._286:\n" - " strb r2, [r5, #0x2]\n" - "._287:\n" - " mov r2, ip\n" - " add r2, r2, #0x3\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x11\n" - " bl Menu_PrintText\n" - "._280:\n" - " mov r7, r8\n" - " lsl r0, r7, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x5\n" - " bls ._290 @cond_branch\n" - " add sp, sp, #0x10\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4D14() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xffffffd0\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r1, ._291\n" - " mov r0, sp\n" - " mov r2, #0xf\n" - " bl memcpy\n" - " add r5, sp, #0x10\n" - " ldr r1, ._291 + 4\n" - " add r0, r5, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " add r6, sp, #0x20\n" - " ldr r1, ._291 + 8\n" - " add r0, r6, #0\n" - " mov r2, #0xf\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r5, #0\n" - " mov r1, #0x14\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r6, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._291 + 12\n" - " ldrb r0, [r0, #0x6]\n" - " bl debug_80C4F00\n" - " mov r0, #0xf\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._291 + 16\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._291 + 20\n" - " str r1, [r0]\n" - " add sp, sp, #0x30\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._292:\n" - " .align 2, 0\n" - "._291:\n" - " .word gUnknown_Debug_083F81C7\n" - " .word gUnknown_Debug_083F81F5\n" - " .word gUnknown_Debug_083F8202\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C4DB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4DB8() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._293\n" - " ldrb r0, [r0, #0x7]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._293 + 4\n" - " ldr r2, ._293 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " add r2, r2, #0x8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._293 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._293 + 16\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._294:\n" - " .align 2, 0\n" - "._293:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x177\n" - " .word gTasks\n" - " .word debug_80C4E18+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4E18() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r5, ._297\n" - " ldrb r3, [r5, #0x6]\n" - " ldrb r2, [r5, #0x7]\n" - " add r0, r3, r2\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r7, ._297 + 4\n" - " ldrh r1, [r7, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._295 @cond_branch\n" - " ldr r0, ._297 + 8\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._297 + 12\n" - " b ._296\n" - "._298:\n" - " .align 2, 0\n" - "._297:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gMain\n" - " .word gTasks\n" - " .word debug_80C42B8+1\n" - "._295:\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._299 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._300 @cond_branch\n" - "._299:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r2, ._302\n" - " ldr r1, ._302 + 4\n" - " lsl r0, r6, #0x3\n" - " add r0, r0, r1\n" - " ldrb r0, [r0, #0x4]\n" - " strb r0, [r2]\n" - " ldr r1, ._302 + 8\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._302 + 12\n" - " str r1, [r0]\n" - " b ._310\n" - "._303:\n" - " .align 2, 0\n" - "._302:\n" - " .word gBattleTerrain\n" - " .word gUnknown_Debug_083F814C\n" - " .word gTasks\n" - " .word debug_80C5158+1\n" - "._300:\n" - " ldrh r1, [r7, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._304 @cond_branch\n" - " lsl r0, r2, #0x18\n" - " cmp r0, #0\n" - " beq ._305 @cond_branch\n" - " sub r0, r2, #1\n" - " strb r0, [r5, #0x7]\n" - " b ._313\n" - "._305:\n" - " lsl r0, r3, #0x18\n" - " cmp r0, #0\n" - " beq ._313 @cond_branch\n" - " sub r0, r3, #1\n" - " b ._308\n" - "._304:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._310 @cond_branch\n" - " lsl r0, r2, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x7\n" - " bhi ._310 @cond_branch\n" - " cmp r0, #0x4\n" - " bhi ._311 @cond_branch\n" - " add r0, r2, #1\n" - " strb r0, [r5, #0x7]\n" - " b ._313\n" - "._311:\n" - " lsl r0, r3, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x2\n" - " bhi ._313 @cond_branch\n" - " add r0, r3, #1\n" - "._308:\n" - " strb r0, [r5, #0x6]\n" - " ldrb r0, [r5, #0x6]\n" - " bl debug_80C4F00\n" - "._313:\n" - " ldr r0, ._314\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._314 + 4\n" - "._296:\n" - " str r0, [r1]\n" - "._310:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._315:\n" - " .align 2, 0\n" - "._314:\n" - " .word gTasks\n" - " .word debug_80C4DB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4F00() -{ - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " mov r0, #0x1\n" - " mov r1, #0x3\n" - " mov r2, #0xd\n" - " mov r3, #0xe\n" - " bl Menu_BlankWindowRect\n" - " mov r4, #0x0\n" - " ldr r6, ._318\n" - "._317:\n" - " cmp r4, #0x8\n" - " bhi ._316 @cond_branch\n" - " add r0, r4, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r6\n" - " ldr r0, [r0]\n" - " lsl r2, r4, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r2, r2, r1\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - "._316:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._317 @cond_branch\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._319:\n" - " .align 2, 0\n" - "._318:\n" - " .word gUnknown_Debug_083F814C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4F48() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6}\n" - " add sp, sp, #0xffffffc4\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r1, ._320\n" - " mov r0, sp\n" - " mov r2, #0x11\n" - " bl memcpy\n" - " add r6, sp, #0x14\n" - " ldr r1, ._320 + 4\n" - " add r0, r6, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " add r5, sp, #0x24\n" - " ldr r1, ._320 + 8\n" - " add r0, r5, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " add r0, sp, #0x34\n" - " mov r9, r0\n" - " ldr r1, ._320 + 12\n" - " mov r2, #0x4\n" - " bl memcpy\n" - " add r0, sp, #0x38\n" - " mov r8, r0\n" - " ldr r1, ._320 + 16\n" - " mov r2, #0x4\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x14\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r0, #0x1\n" - " mov r1, #0x3\n" - " mov r2, #0xd\n" - " mov r3, #0xe\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r0, r9\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " mov r0, r8\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0xf\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._320 + 20\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._320 + 24\n" - " str r1, [r0]\n" - " add sp, sp, #0x3c\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._321:\n" - " .align 2, 0\n" - "._320:\n" - " .word gUnknown_Debug_083F8211\n" - " .word gUnknown_Debug_083F81A0\n" - " .word gUnknown_Debug_083F8222\n" - " .word gUnknown_Debug_083F822F\n" - " .word gUnknown_Debug_083F8233\n" - " .word gTasks\n" - " .word debug_80C5038+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5038() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._322\n" - " ldrb r0, [r0, #0x8]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._322 + 4\n" - " ldr r2, ._322 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " add r2, r2, #0x8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._322 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._322 + 16\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._323:\n" - " .align 2, 0\n" - "._322:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x177\n" - " .word gTasks\n" - " .word debug_80C5098+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5098() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r1, ._326\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " add r3, r1, #0\n" - " cmp r0, #0\n" - " beq ._324 @cond_branch\n" - " ldr r0, ._326 + 4\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._326 + 8\n" - " str r0, [r1]\n" - " b ._339\n" - "._327:\n" - " .align 2, 0\n" - "._326:\n" - " .word gMain\n" - " .word gTasks\n" - " .word debug_80C47BC+1\n" - "._324:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._328 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._329 @cond_branch\n" - "._328:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._331\n" - " ldr r0, ._331 + 4\n" - " ldrb r0, [r0, #0x8]\n" - " strb r0, [r1, #0x8]\n" - " ldr r1, ._331 + 8\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._331 + 12\n" - " b ._330\n" - "._332:\n" - " .align 2, 0\n" - "._331:\n" - " .word gSaveBlock2\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C42B8+1\n" - "._329:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._334 @cond_branch\n" - " ldr r1, ._336\n" - " ldrb r0, [r1, #0x8]\n" - " cmp r0, #0\n" - " beq ._334 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._335\n" - "._337:\n" - " .align 2, 0\n" - "._336:\n" - " .word gUnknown_Debug_2038A0C\n" - "._334:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._339 @cond_branch\n" - " ldr r1, ._340\n" - " ldrb r0, [r1, #0x8]\n" - " cmp r0, #0\n" - " bne ._339 @cond_branch\n" - " add r0, r0, #0x1\n" - "._335:\n" - " strb r0, [r1, #0x8]\n" - " ldr r1, ._340 + 4\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._340 + 8\n" - "._330:\n" - " str r1, [r0]\n" - "._339:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._341:\n" - " .align 2, 0\n" - "._340:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C5038+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5158() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._342\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._342 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._343:\n" - " .align 2, 0\n" - "._342:\n" - " .word gTasks\n" - " .word debug_80C5174+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5174() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._344\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._344 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._345:\n" - " .align 2, 0\n" - "._344:\n" - " .word gTasks\n" - " .word debug_80C5190+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5190() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._346\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._346 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._347:\n" - " .align 2, 0\n" - "._346:\n" - " .word gTasks\n" - " .word debug_80C51AC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C51AC() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._348\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._348 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._349:\n" - " .align 2, 0\n" - "._348:\n" - " .word gTasks\n" - " .word debug_80C51C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C51C8() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._350\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._350 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._351:\n" - " .align 2, 0\n" - "._350:\n" - " .word gTasks\n" - " .word debug_80C51E4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C51E4() -{ - asm( - " push {lr}\n" - " bl sub_80408BC\n" - " ldr r0, ._352\n" - " ldr r1, ._352 + 4\n" - " str r1, [r0, #0x8]\n" - " ldr r0, ._352 + 8\n" - " bl SetMainCallback2\n" - " pop {r0}\n" - " bx r0\n" - "._353:\n" - " .align 2, 0\n" - "._352:\n" - " .word gMain\n" - " .word debug_80C41A8+1\n" - " .word unref_sub_800D684+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5208() -{ - asm( - " push {r4, r5, r6, lr}\n" - " ldr r1, ._355\n" - " ldr r0, ._355 + 4\n" - " str r0, [r1]\n" - " mov r3, #0x0\n" - " add r6, r1, #0\n" - " ldr r4, ._355 + 8\n" - " add r5, r6, #0\n" - " mov r2, #0x0\n" - "._354:\n" - " ldr r0, [r5]\n" - " lsl r1, r3, #0x2\n" - " add r0, r0, #0x64\n" - " add r0, r0, r1\n" - " str r2, [r0]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0x3f\n" - " bls ._354 @cond_branch\n" - " ldr r2, [r6]\n" - " mov r0, #0xfc\n" - " str r0, [r2, #0x64]\n" - " ldrb r1, [r4, #0xa]\n" - " ldrb r0, [r4, #0xb]\n" - " lsl r0, r0, #0x8\n" - " orr r1, r1, r0\n" - " ldrb r0, [r4, #0xc]\n" - " lsl r0, r0, #0x10\n" - " orr r1, r1, r0\n" - " ldrb r0, [r4, #0xd]\n" - " lsl r0, r0, #0x18\n" - " orr r1, r1, r0\n" - " str r1, [r2, #0x70]\n" - " bl Random\n" - " add r4, r0, #0\n" - " bl Random\n" - " ldr r1, [r6]\n" - " lsl r4, r4, #0x10\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " orr r4, r4, r0\n" - " str r4, [r1, #0x74]\n" - " mov r0, #0x1\n" - " str r0, [r1, #0x68]\n" - " str r0, [r1, #0x6c]\n" - " bl debug_80C5C94\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._356:\n" - " .align 2, 0\n" - "._355:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word +0x2018000\n" - " .word gSaveBlock2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C527C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add r6, r0, #0\n" - " mov r5, #0x0\n" - " ldr r7, ._359\n" - "._361:\n" - " mov r0, #0x64\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " ldr r0, ._359 + 4\n" - " add r4, r1, r0\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " bne ._357 @cond_branch\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " add r0, r5, #1\n" - " strb r0, [r7]\n" - " mov r0, #0x0\n" - " b ._358\n" - "._360:\n" - " .align 2, 0\n" - "._359:\n" - " .word gPlayerPartyCount\n" - " .word gPlayerParty\n" - "._357:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._361 @cond_branch\n" - " ldr r0, ._362\n" - " ldr r0, [r0]\n" - " bl SendMonToPC\n" - " mov r0, #0x1\n" - "._358:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._363:\n" - " .align 2, 0\n" - "._362:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void InitCreatePokemon() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xffffffd4\n" - " ldr r1, ._364\n" - " add r0, sp, #0x4\n" - " mov r2, #0x25\n" - " bl memcpy\n" - " bl debug_80C35DC\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._364 + 4\n" - " mov r5, #0x0\n" - " strh r4, [r0]\n" - " add r0, r0, #0x2\n" - " strh r4, [r0]\n" - " add r0, r0, #0x2\n" - " strh r4, [r0]\n" - " ldr r3, ._364 + 8\n" - " ldrh r2, [r3]\n" - " strh r4, [r3]\n" - " ldr r4, ._364 + 12\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " ldr r2, ._364 + 16\n" - " ldrh r0, [r2]\n" - " mov r1, #0x8\n" - " orr r0, r0, r1\n" - " strh r0, [r2]\n" - " ldr r0, ._364 + 20\n" - " bl SetVBlankCallback\n" - " ldr r0, ._364 + 24\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, sp, #0x4\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " mov r2, #0x8a\n" - " lsl r2, r2, #0x5\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._364 + 28\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " bl debug_80C5208\n" - " ldr r1, ._364 + 32\n" - " ldr r0, [r1]\n" - " mov r2, #0xb4\n" - " lsl r2, r2, #0x1\n" - " add r0, r0, r2\n" - " strb r5, [r0]\n" - " ldr r0, [r1]\n" - " ldr r1, ._364 + 36\n" - " add r0, r0, r1\n" - " strb r5, [r0]\n" - " add sp, sp, #0x2c\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._365:\n" - " .align 2, 0\n" - "._364:\n" - " .word gUnknown_Debug_083F8733\n" - " .word 0x4000050\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word 0x4000004\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word debug_80C53A4+1\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C53A4() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._366\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._366 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._367:\n" - " .align 2, 0\n" - "._366:\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C53C0() -{ - asm( - " push {r4, lr}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl debug_80C6384\n" - " mov r0, #0x0\n" - " bl debug_80C627C\n" - " ldr r1, ._368\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._368 + 4\n" - " str r1, [r0]\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._369:\n" - " .align 2, 0\n" - "._368:\n" - " .word gTasks\n" - " .word debug_80C53F0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C53F0() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r0, ._372\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r2, #0x1\n" - " and r2, r2, r1\n" - " add r4, r0, #0\n" - " cmp r2, #0\n" - " beq ._370 @cond_branch\n" - " ldr r0, ._372 + 4\n" - " ldr r3, [r0]\n" - " mov r0, #0xb2\n" - " lsl r0, r0, #0x1\n" - " add r2, r3, r0\n" - " ldr r1, ._372 + 8\n" - " mov r4, #0xb4\n" - " lsl r4, r4, #0x1\n" - " add r0, r3, r4\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r6, ._372 + 12\n" - " add r1, r3, r6\n" - " ldrb r1, [r1]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " lsl r1, r1, #0x2\n" - " add r0, r3, #0\n" - " add r0, r0, #0x64\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " str r0, [r2]\n" - " mov r0, #0xb5\n" - " lsl r0, r0, #0x1\n" - " add r1, r3, r0\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " bl debug_80C643C\n" - " ldr r1, ._372 + 16\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._372 + 20\n" - " b ._375\n" - "._373:\n" - " .align 2, 0\n" - "._372:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F8698\n" - " .word 0x169\n" - " .word gTasks\n" - " .word debug_80C55E4+1\n" - "._370:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._374 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " str r2, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._376\n" - " bl SetMainCallback2\n" - " ldr r1, ._376 + 4\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._376 + 8\n" - " b ._375\n" - "._377:\n" - " .align 2, 0\n" - "._376:\n" - " .word debug_80C370C+1\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._374:\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._378 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " bl debug_80C5FFC\n" - " ldr r0, ._381\n" - " ldr r0, [r0]\n" - " bl debug_80C527C\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r0, #0x3\n" - " mov r1, #0x8\n" - " mov r2, #0x1a\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " cmp r4, #0\n" - " beq ._379 @cond_branch\n" - " ldr r0, ._381 + 4\n" - " mov r1, #0x4\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " b ._380\n" - "._382:\n" - " .align 2, 0\n" - "._381:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F872A\n" - "._379:\n" - " ldr r0, ._384\n" - " mov r1, #0x4\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - "._380:\n" - " ldr r0, ._384 + 4\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._384 + 8\n" - " str r0, [r1]\n" - " b ._400\n" - "._385:\n" - " .align 2, 0\n" - "._384:\n" - " .word gUnknown_Debug_083F8720\n" - " .word gTasks\n" - " .word debug_80C5708+1\n" - "._378:\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._386 @cond_branch\n" - " ldr r0, ._388\n" - " ldr r0, [r0]\n" - " ldr r4, [r0, #0x64]\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " bl GetSetPokedexFlag\n" - " add r0, r4, #0\n" - " mov r1, #0x3\n" - " bl GetSetPokedexFlag\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " b ._400\n" - "._389:\n" - " .align 2, 0\n" - "._388:\n" - " .word gUnknown_Debug_2038A1C\n" - "._386:\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._390 @cond_branch\n" - " mov r0, #0x2\n" - " bl debug_80C627C\n" - " b ._400\n" - "._390:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0\n" - " beq ._392 @cond_branch\n" - " mov r0, #0x1\n" - " bl debug_80C627C\n" - " b ._400\n" - "._392:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._395 @cond_branch\n" - " ldr r2, ._397\n" - " ldr r0, [r2]\n" - " mov r6, #0xb4\n" - " lsl r6, r6, #0x1\n" - " add r1, r0, r6\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._395 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, [r2]\n" - " ldr r1, ._397 + 4\n" - " add r0, r0, r1\n" - " strb r3, [r0]\n" - " b ._396\n" - "._398:\n" - " .align 2, 0\n" - "._397:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "._395:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._400 @cond_branch\n" - " ldr r3, ._401\n" - " ldr r0, [r3]\n" - " mov r4, #0xb4\n" - " lsl r4, r4, #0x1\n" - " add r2, r0, r4\n" - " ldrb r0, [r2]\n" - " cmp r0, #0x4\n" - " bhi ._400 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x0\n" - " strb r0, [r2]\n" - " ldr r0, [r3]\n" - " ldr r6, ._401 + 4\n" - " add r0, r0, r6\n" - " strb r1, [r0]\n" - "._396:\n" - " ldr r1, ._401 + 8\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._401 + 12\n" - "._375:\n" - " str r1, [r0]\n" - "._400:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._402:\n" - " .align 2, 0\n" - "._401:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C55E4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " add r6, r3, #0\n" - " ldr r1, ._405\n" - " ldr r2, ._405 + 4\n" - " ldr r0, [r2]\n" - " mov ip, r0\n" - " mov r0, #0xb4\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, ip\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._405 + 8\n" - " add r1, r1, ip\n" - " ldrb r1, [r1]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r5, [r0]\n" - " add r7, r5, #0\n" - " ldr r1, ._405 + 12\n" - " ldrh r4, [r1, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r4\n" - " mov r8, r2\n" - " add r2, r1, #0\n" - " cmp r0, #0\n" - " beq ._403 @cond_branch\n" - " ldr r0, ._405 + 16\n" - " lsl r1, r3, #0x2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._405 + 20\n" - " str r0, [r1]\n" - " b ._422\n" - "._406:\n" - " .align 2, 0\n" - "._405:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - " .word gMain\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "._403:\n" - " mov r0, #0x2\n" - " and r0, r0, r4\n" - " cmp r0, #0\n" - " beq ._407 @cond_branch\n" - " lsl r1, r5, #0x2\n" - " mov r0, ip\n" - " add r0, r0, #0x64\n" - " add r0, r0, r1\n" - " mov r1, #0xb2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, ip\n" - " ldr r1, [r1]\n" - " str r1, [r0]\n" - " ldr r1, ._409\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._409 + 4\n" - " str r1, [r0]\n" - " b ._422\n" - "._410:\n" - " .align 2, 0\n" - "._409:\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "._407:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._411 @cond_branch\n" - " mov r0, #0x1\n" - " b ._412\n" - "._411:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._413 @cond_branch\n" - " mov r0, #0x2\n" - "._412:\n" - " bl debug_80C6544\n" - " bl debug_80C643C\n" - " b ._422\n" - "._413:\n" - " ldr r0, ._419\n" - " lsl r1, r7, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r1, [r1]\n" - " ldrb r0, [r1, #0x9]\n" - " cmp r0, #0xff\n" - " beq ._422 @cond_branch\n" - " mov r0, #0x20\n" - " and r0, r0, r4\n" - " cmp r0, #0\n" - " beq ._417 @cond_branch\n" - " mov r0, #0xb5\n" - " lsl r0, r0, #0x1\n" - " add ip, ip, r0\n" - " mov r0, ip\n" - " ldrb r3, [r0]\n" - " ldrb r0, [r1, #0x9]\n" - " sub r0, r0, #0x1\n" - " cmp r3, r0\n" - " bge ._417 @cond_branch\n" - " add r0, r3, #1\n" - " mov r1, ip\n" - " strb r0, [r1]\n" - " bl debug_80C643C\n" - " b ._422\n" - "._420:\n" - " .align 2, 0\n" - "._419:\n" - " .word gUnknown_Debug_083F8554\n" - "._417:\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._422 @cond_branch\n" - " mov r2, r8\n" - " ldr r0, [r2]\n" - " mov r2, #0xb5\n" - " lsl r2, r2, #0x1\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._422 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " bl debug_80C643C\n" - "._422:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5708() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " ldr r0, ._424\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._423 @cond_branch\n" - " ldr r0, ._424 + 4\n" - " lsl r1, r2, #0x2\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._424 + 8\n" - " str r0, [r1]\n" - "._423:\n" - " pop {r0}\n" - " bx r0\n" - "._425:\n" - " .align 2, 0\n" - "._424:\n" - " .word gMain\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5738() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add r6, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r4, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r8, r2\n" - " cmp r4, #0xfe\n" - " bne ._426 @cond_branch\n" - " ldr r1, ._428\n" - " mov r2, #0x7\n" - " bl debug_80C689C\n" - " add r0, r6, #7\n" - " ldr r7, ._428 + 4\n" - " ldr r1, [r7]\n" - " add r1, r1, #0xf0\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " mov r4, #0x0\n" - " strb r4, [r6, #0x13]\n" - " strb r4, [r6, #0x14]\n" - " add r0, r6, #0\n" - " add r0, r0, #0x15\n" - " ldr r1, ._428 + 8\n" - " mov r2, #0x7\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x1c\n" - " ldr r1, [r7]\n" - " add r1, r1, #0xf4\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " add r0, r6, #0\n" - " add r0, r0, #0x28\n" - " strb r4, [r0]\n" - " add r0, r0, #0x1\n" - " strb r4, [r0]\n" - " add r0, r0, #0x1\n" - " ldr r1, ._428 + 12\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x31\n" - " ldr r1, [r7]\n" - " add r1, r1, #0xf8\n" - "._431:\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " b ._517\n" - "._429:\n" - " .align 2, 0\n" - "._428:\n" - " .word gUnknown_Debug_083F850A\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F8514\n" - " .word gUnknown_Debug_083F851C\n" - "._426:\n" - " cmp r4, #0xfd\n" - " bne ._430 @cond_branch\n" - " ldr r1, ._432\n" - " add r0, r6, #0\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x9\n" - " ldr r7, ._432 + 4\n" - " ldr r1, [r7]\n" - " add r1, r1, #0xfc\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " mov r4, #0x0\n" - " strb r4, [r6, #0x15]\n" - " strb r4, [r6, #0x16]\n" - " add r0, r6, #0\n" - " add r0, r0, #0x17\n" - " ldr r1, ._432 + 8\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x20\n" - " ldr r1, [r7]\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r1, r1, r2\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " add r0, r6, #0\n" - " add r0, r0, #0x2c\n" - " strb r4, [r0]\n" - " add r0, r0, #0x1\n" - " strb r4, [r0]\n" - " add r0, r0, #0x1\n" - " ldr r1, ._432 + 12\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x37\n" - " ldr r1, [r7]\n" - " mov r3, #0x82\n" - " lsl r3, r3, #0x1\n" - " add r1, r1, r3\n" - " b ._431\n" - "._433:\n" - " .align 2, 0\n" - "._432:\n" - " .word gUnknown_Debug_083F8524\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F852D\n" - " .word gUnknown_Debug_083F8537\n" - "._430:\n" - " mov r1, #0x0\n" - " lsl r5, r4, #0x3\n" - " mov r2, #0x0\n" - "._434:\n" - " add r0, r6, r1\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0xb\n" - " bls ._434 @cond_branch\n" - " ldr r0, ._437\n" - " add r0, r5, r0\n" - " ldr r1, [r0]\n" - " add r0, r6, #0\n" - " mov r2, #0xb\n" - " bl debug_80C689C\n" - " mov r1, #0xc\n" - " mov r2, #0xff\n" - "._435:\n" - " add r0, r6, r1\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0xff\n" - " bls ._435 @cond_branch\n" - " ldr r0, ._437\n" - " add r0, r0, #0x4\n" - " add r0, r5, r0\n" - " ldr r0, [r0]\n" - " ldrb r2, [r0, #0x9]\n" - " lsl r0, r2, #0x1a\n" - " lsr r5, r0, #0x18\n" - " cmp r4, #0x22\n" - " bhi ._436 @cond_branch\n" - " lsl r0, r4, #0x2\n" - " ldr r1, ._437 + 4\n" - " add r1, r0, r1\n" - " ldr r1, [r1]\n" - " add r7, r0, #0\n" - " mov pc, r1\n" - "._438:\n" - " .align 2, 0\n" - "._437:\n" - " .word gUnknown_Debug_083F8554\n" - " .word ._439\n" - "._439:\n" - " .word ._440\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._445\n" - " .word ._446\n" - " .word ._450\n" - " .word ._450\n" - " .word ._450\n" - " .word ._450\n" - " .word ._451\n" - " .word ._452\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._473\n" - " .word ._474\n" - "._436:\n" - " mov r0, #0xff\n" - " strb r0, [r6]\n" - " b ._517\n" - "._440:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._477\n" - " mov r9, r1\n" - " ldr r1, [r1]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " mov r3, r8\n" - " bl debug_80C6678\n" - " add r1, r5, r6\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0xa]\n" - " mov r0, #0xfc\n" - " strb r0, [r1, #0xb]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0xc]\n" - " mov r2, r8\n" - " strb r2, [r1, #0xd]\n" - " add r4, r5, #0\n" - " add r4, r4, #0xe\n" - " add r4, r6, r4\n" - " mov r3, r9\n" - " ldr r0, [r3]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r7\n" - " ldrh r0, [r0]\n" - " bl NationalPokedexNumToSpecies\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xb\n" - " mul r1, r1, r0\n" - " ldr r0, ._477 + 4\n" - " add r1, r1, r0\n" - " add r0, r4, #0\n" - " mov r2, #0xa\n" - " bl debug_80C689C\n" - " b ._517\n" - "._478:\n" - " .align 2, 0\n" - "._477:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gSpeciesNames\n" - "._445:\n" - " ldr r0, ._483\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r7\n" - " ldr r0, [r0]\n" - " cmp r0, #0x1\n" - " beq ._479 @cond_branch\n" - " cmp r0, #0x1\n" - " bcc ._480 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._481 @cond_branch\n" - " b ._517\n" - "._484:\n" - " .align 2, 0\n" - "._483:\n" - " .word gUnknown_Debug_2038A1C\n" - "._480:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._486\n" - " b ._488\n" - "._487:\n" - " .align 2, 0\n" - "._486:\n" - " .word gUnknown_Debug_083F8546\n" - "._479:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._489\n" - " b ._488\n" - "._490:\n" - " .align 2, 0\n" - "._489:\n" - " .word gUnknown_Debug_083F8541\n" - "._481:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._492\n" - "._488:\n" - " mov r2, #0x2\n" - " bl debug_80C689C\n" - " b ._517\n" - "._493:\n" - " .align 2, 0\n" - "._492:\n" - " .word gUnknown_Debug_083F8544\n" - "._450:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r4, ._495\n" - " ldr r1, [r4]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " mov r3, r8\n" - " bl debug_80C6678\n" - " add r1, r5, r6\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0xa]\n" - " mov r0, #0xfc\n" - " strb r0, [r1, #0xb]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0xc]\n" - " mov r0, r8\n" - " strb r0, [r1, #0xd]\n" - " add r0, r5, #0\n" - " add r0, r0, #0xe\n" - " add r0, r6, r0\n" - " ldr r1, [r4]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r2, [r1]\n" - " mov r1, #0xd\n" - " mul r1, r1, r2\n" - " ldr r2, ._495 + 4\n" - " add r1, r1, r2\n" - " b ._494\n" - "._496:\n" - " .align 2, 0\n" - "._495:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gMoveNames\n" - "._451:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r4, ._499\n" - " ldr r1, [r4]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " mov r3, r8\n" - " bl debug_80C6678\n" - " add r1, r5, r6\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0xa]\n" - " mov r0, #0xfc\n" - " strb r0, [r1, #0xb]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0xc]\n" - " mov r2, r8\n" - " strb r2, [r1, #0xd]\n" - " ldr r0, [r4]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r7\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._497 @cond_branch\n" - " add r4, r5, #0\n" - " add r4, r4, #0xe\n" - " add r4, r6, r4\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl ItemId_GetItem\n" - " add r1, r0, #0\n" - " add r0, r4, #0\n" - " b ._498\n" - "._500:\n" - " .align 2, 0\n" - "._499:\n" - " .word gUnknown_Debug_2038A1C\n" - "._497:\n" - " add r0, r5, #0\n" - " add r0, r0, #0xe\n" - " add r0, r6, r0\n" - " ldr r1, ._502\n" - "._498:\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " b ._517\n" - "._503:\n" - " .align 2, 0\n" - "._502:\n" - " .word gUnknown_Debug_083F8541\n" - "._452:\n" - " add r6, r6, #0xc\n" - " ldr r4, ._505\n" - " ldr r0, [r4]\n" - " ldr r0, [r0, #0x64]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl NationalPokedexNumToSpecies\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " ldr r1, [r4]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldrb r1, [r1]\n" - " bl GetAbilityBySpecies\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0xd\n" - " mul r1, r1, r0\n" - " ldr r0, ._505 + 4\n" - " add r1, r1, r0\n" - " add r0, r6, #0\n" - "._494:\n" - " mov r2, #0xc\n" - " bl debug_80C689C\n" - " b ._517\n" - "._506:\n" - " .align 2, 0\n" - "._505:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gAbilityNames\n" - "._474:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r2, ._508\n" - " ldr r1, ._508 + 4\n" - " ldr r1, [r1]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r1, [r1]\n" - " b ._514\n" - "._509:\n" - " .align 2, 0\n" - "._508:\n" - " .word gUnknown_Debug_083F86E8\n" - " .word gUnknown_Debug_2038A1C\n" - "._472:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xc\n" - " ldr r1, ._511\n" - " ldr r1, [r1]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " mov r3, r8\n" - " bl debug_80C6678\n" - " b ._517\n" - "._512:\n" - " .align 2, 0\n" - "._511:\n" - " .word gUnknown_Debug_2038A1C\n" - "._473:\n" - " ldr r0, ._515\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r7\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._513 @cond_branch\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._515 + 4\n" - " b ._514\n" - "._516:\n" - " .align 2, 0\n" - "._515:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F854A\n" - "._513:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._518\n" - "._514:\n" - " mov r2, #0x4\n" - " bl debug_80C689C\n" - " b ._517\n" - "._519:\n" - " .align 2, 0\n" - "._518:\n" - " .word gUnknown_Debug_083F854D\n" - "._446:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r2, ._520\n" - " ldr r1, ._520 + 4\n" - " ldr r1, [r1]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r2\n" - " ldr r1, [r1]\n" - " mov r2, #0x5\n" - " bl debug_80C689C\n" - "._517:\n" - " mov r0, #0x0\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._521:\n" - " .align 2, 0\n" - "._520:\n" - " .word gNatureNames\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5B60() -{ - asm( - " lsl r0, r0, #0x18\n" - " ldr r1, ._522\n" - " ldr r1, [r1]\n" - " lsr r0, r0, #0x16\n" - " add r1, r1, #0x64\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " bx lr\n" - "._523:\n" - " .align 2, 0\n" - "._522:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5B74() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r2, r1, #0x18\n" - " cmp r2, #0x18\n" - " bhi ._540 @cond_branch\n" - " lsl r0, r2, #0x2\n" - " ldr r1, ._526\n" - " add r1, r0, r1\n" - " ldr r1, [r1]\n" - " add r3, r0, #0\n" - " mov pc, r1\n" - "._527:\n" - " .align 2, 0\n" - "._526:\n" - " .word ._525\n" - "._525:\n" - " .word ._532\n" - " .word ._529\n" - " .word ._530\n" - " .word ._532\n" - " .word ._532\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - "._540:\n" - " ldr r0, ._554\n" - " ldr r0, [r0]\n" - " lsl r1, r2, #0x2\n" - " add r0, r0, #0x64\n" - " add r0, r0, r1\n" - " str r6, [r0]\n" - " b ._562\n" - "._555:\n" - " .align 2, 0\n" - "._554:\n" - " .word gUnknown_Debug_2038A1C\n" - "._532:\n" - " ldr r0, ._557\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r3\n" - " str r6, [r0]\n" - " bl debug_80C5C94\n" - " b ._562\n" - "._558:\n" - " .align 2, 0\n" - "._557:\n" - " .word gUnknown_Debug_2038A1C\n" - "._529:\n" - " ldr r4, ._560\n" - " ldr r1, [r4]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x64\n" - " add r0, r0, r3\n" - " str r6, [r0]\n" - " ldr r0, [r1, #0x64]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl NationalPokedexNumToSpecies\n" - " ldr r5, [r4]\n" - " ldr r4, ._560 + 4\n" - " lsl r2, r6, #0x2\n" - " ldr r3, ._560 + 8\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " lsl r1, r0, #0x3\n" - " sub r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r3\n" - " ldrb r1, [r1, #0x13]\n" - " mov r0, #0xca\n" - " lsl r0, r0, #0x1\n" - " mul r0, r0, r1\n" - " add r2, r2, r0\n" - " add r2, r2, r4\n" - " ldr r0, [r2]\n" - " str r0, [r5, #0x6c]\n" - " bl debug_80C5C94\n" - " b ._562\n" - "._561:\n" - " .align 2, 0\n" - "._560:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gExperienceTables\n" - " .word gBaseStats\n" - "._530:\n" - " ldr r0, ._563\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r3\n" - " str r6, [r0]\n" - " bl debug_80C5DEC\n" - " b ._562\n" - "._564:\n" - " .align 2, 0\n" - "._563:\n" - " .word gUnknown_Debug_2038A1C\n" - "._552:\n" - " ldr r0, ._565\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r3\n" - " str r6, [r0]\n" - " bl debug_80C5EF4\n" - "._562:\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._566:\n" - " .align 2, 0\n" - "._565:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5C94() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffff0\n" - " ldr r6, ._567\n" - " ldr r2, [r6]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x98\n" - " ldr r4, [r0]\n" - " mov r1, #0x1f\n" - " and r4, r4, r1\n" - " add r0, r0, #0x8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xa8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0xa\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xb0\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0xf\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xb8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x14\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xc0\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x19\n" - " orr r4, r4, r0\n" - " ldr r0, [r2, #0x64]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl NationalPokedexNumToSpecies\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r0, [r6]\n" - " ldr r2, [r0, #0x68]\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r5, #0x1\n" - " str r5, [sp]\n" - " ldr r3, [r0, #0x74]\n" - " str r3, [sp, #0x4]\n" - " str r5, [sp, #0x8]\n" - " ldr r3, [r0, #0x70]\n" - " str r3, [sp, #0xc]\n" - " add r3, r4, #0\n" - " bl CreateMon\n" - " ldr r0, [r6]\n" - " bl GetMonGender\n" - " ldr r1, [r6]\n" - " add r0, r0, #0x2\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " str r0, [r1, #0x78]\n" - " add r0, r1, #0\n" - " bl GetNature\n" - " ldr r1, [r6]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " str r0, [r1, #0x7c]\n" - " add r0, r1, #0\n" - " mov r1, #0xd\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x80\n" - " str r2, [r1]\n" - " mov r1, #0xe\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x84\n" - " str r2, [r1]\n" - " mov r1, #0xf\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x88\n" - " str r2, [r1]\n" - " mov r1, #0x10\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x8c\n" - " str r2, [r1]\n" - " mov r1, #0x19\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " ldr r0, [r6]\n" - " str r1, [r0, #0x6c]\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf0\n" - " str r2, [r1]\n" - " mov r1, #0x3b\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf4\n" - " str r2, [r1]\n" - " mov r1, #0x3c\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf8\n" - " str r2, [r1]\n" - " mov r1, #0x3d\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfc\n" - " str r2, [r1]\n" - " mov r1, #0x3e\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r1, r0, r3\n" - " str r2, [r1]\n" - " mov r1, #0x3f\n" - " bl GetMonData\n" - " ldr r1, [r6]\n" - " mov r2, #0x82\n" - " lsl r2, r2, #0x1\n" - " add r1, r1, r2\n" - " str r0, [r1]\n" - " add sp, sp, #0x10\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._568:\n" - " .align 2, 0\n" - "._567:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5DEC() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " ldr r4, ._569\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x6c\n" - " mov r1, #0x19\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " mov r1, #0xd\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " mov r1, #0xe\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " mov r1, #0xf\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " mov r1, #0x10\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " bl CalculateMonStats\n" - " ldr r0, [r4]\n" - " bl GiveMonInitialMoveset\n" - " ldr r0, [r4]\n" - " mov r1, #0x38\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " ldr r0, [r4]\n" - " str r1, [r0, #0x68]\n" - " mov r1, #0xd\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x80\n" - " str r2, [r1]\n" - " mov r1, #0xe\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x84\n" - " str r2, [r1]\n" - " mov r1, #0xf\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x88\n" - " str r2, [r1]\n" - " mov r1, #0x10\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x8c\n" - " str r2, [r1]\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf0\n" - " str r2, [r1]\n" - " mov r1, #0x3b\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf4\n" - " str r2, [r1]\n" - " mov r1, #0x3c\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf8\n" - " str r2, [r1]\n" - " mov r1, #0x3d\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfc\n" - " str r2, [r1]\n" - " mov r1, #0x3e\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r1, r0, r3\n" - " str r2, [r1]\n" - " mov r1, #0x3f\n" - " bl GetMonData\n" - " ldr r1, [r4]\n" - " mov r2, #0x82\n" - " lsl r2, r2, #0x1\n" - " add r1, r1, r2\n" - " str r0, [r1]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._570:\n" - " .align 2, 0\n" - "._569:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5EF4() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._571\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x98\n" - " mov r1, #0x27\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x9c\n" - " mov r1, #0x1a\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa0\n" - " mov r1, #0x28\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa4\n" - " mov r1, #0x1b\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa8\n" - " mov r1, #0x29\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xac\n" - " mov r1, #0x1c\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb0\n" - " mov r1, #0x2a\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb4\n" - " mov r1, #0x1d\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb8\n" - " mov r1, #0x2b\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xbc\n" - " mov r1, #0x1e\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc0\n" - " mov r1, #0x2c\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc4\n" - " mov r1, #0x1f\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " bl CalculateMonStats\n" - " ldr r0, [r4]\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf0\n" - " str r2, [r1]\n" - " mov r1, #0x3b\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf4\n" - " str r2, [r1]\n" - " mov r1, #0x3c\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf8\n" - " str r2, [r1]\n" - " mov r1, #0x3d\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfc\n" - " str r2, [r1]\n" - " mov r1, #0x3e\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r1, r0, r3\n" - " str r2, [r1]\n" - " mov r1, #0x3f\n" - " bl GetMonData\n" - " ldr r1, [r4]\n" - " mov r2, #0x82\n" - " lsl r2, r2, #0x1\n" - " add r1, r1, r2\n" - " str r0, [r1]\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._572:\n" - " .align 2, 0\n" - "._571:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5FFC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xffffffe0\n" - " ldr r1, ._578\n" - " add r0, sp, #0x10\n" - " mov r2, #0x4\n" - " bl memcpy\n" - " add r7, sp, #0x14\n" - " ldr r1, ._578 + 4\n" - " add r0, r7, #0\n" - " mov r2, #0x8\n" - " bl memcpy\n" - " ldr r5, ._578 + 8\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x98\n" - " ldr r4, [r0]\n" - " mov r1, #0x1f\n" - " and r4, r4, r1\n" - " add r0, r0, #0x8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xa8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0xa\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xb0\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0xf\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xb8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x14\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xc0\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x19\n" - " orr r4, r4, r0\n" - " ldr r0, [r2, #0x64]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl NationalPokedexNumToSpecies\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r0, [r5]\n" - " ldr r2, [r0, #0x68]\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r6, #0x1\n" - " str r6, [sp]\n" - " ldr r3, [r0, #0x74]\n" - " str r3, [sp, #0x4]\n" - " str r6, [sp, #0x8]\n" - " ldr r3, [r0, #0x70]\n" - " str r3, [sp, #0xc]\n" - " add r3, r4, #0\n" - " bl CreateMon\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x80\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._573 @cond_branch\n" - " lsl r1, r0, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r2, #0\n" - " mov r2, #0x0\n" - " bl SetMonMoveSlot\n" - "._573:\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x84\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._574 @cond_branch\n" - " lsl r1, r0, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r2, #0\n" - " mov r2, #0x1\n" - " bl SetMonMoveSlot\n" - "._574:\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x88\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._575 @cond_branch\n" - " lsl r1, r0, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r2, #0\n" - " mov r2, #0x2\n" - " bl SetMonMoveSlot\n" - "._575:\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x8c\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._576 @cond_branch\n" - " lsl r1, r0, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r2, #0\n" - " mov r2, #0x3\n" - " bl SetMonMoveSlot\n" - "._576:\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x6c\n" - " mov r1, #0x19\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x98\n" - " mov r1, #0x27\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x9c\n" - " mov r1, #0x1a\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa0\n" - " mov r1, #0x28\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa4\n" - " mov r1, #0x1b\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa8\n" - " mov r1, #0x29\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xac\n" - " mov r1, #0x1c\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb0\n" - " mov r1, #0x2a\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb4\n" - " mov r1, #0x1d\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb8\n" - " mov r1, #0x2b\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xbc\n" - " mov r1, #0x1e\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc0\n" - " mov r1, #0x2c\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc4\n" - " mov r1, #0x1f\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc8\n" - " mov r1, #0x16\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xcc\n" - " mov r1, #0x17\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xd0\n" - " mov r1, #0x18\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xd4\n" - " mov r1, #0x21\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xd8\n" - " mov r1, #0x2f\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xdc\n" - " mov r1, #0x30\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xe0\n" - " mov r1, #0x20\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xe4\n" - " mov r1, #0x22\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x90\n" - " mov r1, #0xc\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x94\n" - " mov r1, #0x2e\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xec\n" - " ldr r2, [r1]\n" - " lsl r2, r2, #0x3\n" - " ldr r1, ._578 + 12\n" - " add r2, r2, r1\n" - " mov r1, #0x37\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xe8\n" - " mov r1, #0x2d\n" - " bl SetMonData\n" - " ldr r1, [r5]\n" - " add r0, r1, #0\n" - " add r0, r0, #0xe8\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._577 @cond_branch\n" - " add r0, r1, #0\n" - " mov r1, #0x2\n" - " add r2, sp, #0x10\n" - " bl SetMonData\n" - " add r2, sp, #0x1c\n" - " strb r6, [r2]\n" - " ldr r0, [r5]\n" - " mov r1, #0x3\n" - " bl SetMonData\n" - "._577:\n" - " ldr r0, [r5]\n" - " mov r1, #0x7\n" - " add r2, r7, #0\n" - " bl SetMonData\n" - " mov r2, sp\n" - " add r2, r2, #0x1e\n" - " mov r0, #0xff\n" - " strh r0, [r2]\n" - " ldr r0, [r5]\n" - " mov r1, #0x23\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " bl CalculateMonStats\n" - " add sp, sp, #0x20\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._579:\n" - " .align 2, 0\n" - "._578:\n" - " .word gUnknown_Debug_083F8758\n" - " .word gUnknown_Debug_083F875C\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F86E8+0x4\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C627C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffff8\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " add r6, r4, #0\n" - " ldr r1, ._584\n" - " mov r0, sp\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " add r5, sp, #0x4\n" - " ldr r1, ._584 + 4\n" - " add r0, r5, #0\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " cmp r4, #0x1\n" - " beq ._580 @cond_branch\n" - " cmp r4, #0x1\n" - " bgt ._581 @cond_branch\n" - " cmp r4, #0\n" - " beq ._582 @cond_branch\n" - " b ._595\n" - "._585:\n" - " .align 2, 0\n" - "._584:\n" - " .word gUnknown_Debug_083F7FD4\n" - " .word gUnknown_Debug_083F8764\n" - "._581:\n" - " cmp r6, #0x2\n" - " beq ._586 @cond_branch\n" - " b ._595\n" - "._582:\n" - " ldr r0, ._589\n" - " ldr r0, [r0]\n" - " ldr r1, ._589 + 4\n" - " add r0, r0, r1\n" - " b ._588\n" - "._590:\n" - " .align 2, 0\n" - "._589:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "._580:\n" - " ldr r4, ._593\n" - " ldr r3, [r4]\n" - " ldr r1, ._593 + 4\n" - " add r0, r3, r1\n" - " ldrb r2, [r0]\n" - " ldr r1, ._593 + 8\n" - " mov r6, #0xb4\n" - " lsl r6, r6, #0x1\n" - " add r0, r3, r6\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldrb r0, [r0, #0x4]\n" - " sub r0, r0, #0x1\n" - " cmp r2, r0\n" - " bge ._595 @cond_branch\n" - " lsl r2, r2, #0x19\n" - " mov r0, #0xa0\n" - " lsl r0, r0, #0x13\n" - " add r2, r2, r0\n" - " lsr r2, r2, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, [r4]\n" - " ldr r2, ._593 + 4\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, [r4]\n" - " add r0, r0, r2\n" - "._588:\n" - " ldrb r2, [r0]\n" - " lsl r2, r2, #0x19\n" - " mov r6, #0xa0\n" - " lsl r6, r6, #0x13\n" - " add r2, r2, r6\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " b ._595\n" - "._594:\n" - " .align 2, 0\n" - "._593:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - " .word gUnknown_Debug_083F8698\n" - "._586:\n" - " ldr r4, ._596\n" - " ldr r0, [r4]\n" - " ldr r2, ._596 + 4\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._595 @cond_branch\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x19\n" - " mov r6, #0xa0\n" - " lsl r6, r6, #0x13\n" - " add r2, r2, r6\n" - " lsr r2, r2, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, [r4]\n" - " ldr r2, ._596 + 4\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, [r4]\n" - " add r0, r0, r2\n" - " ldrb r2, [r0]\n" - " lsl r2, r2, #0x19\n" - " add r2, r2, r6\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - "._595:\n" - " add sp, sp, #0x8\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._597:\n" - " .align 2, 0\n" - "._596:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6384() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " mov r0, #0x0\n" - " mov r1, #0x4\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r5, #0x0\n" - " ldr r3, ._600\n" - " ldr r1, ._600 + 4\n" - " ldr r0, [r1]\n" - " mov r2, #0xb4\n" - " lsl r2, r2, #0x1\n" - " add r0, r0, r2\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r3\n" - " ldr r0, [r0]\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._598 @cond_branch\n" - " add r4, r1, #0\n" - " ldr r0, ._600 + 8\n" - " mov r9, r0\n" - " mov r8, r3\n" - " add r7, r2, #0\n" - " mov r6, #0x1\n" - "._599:\n" - " ldr r0, [r4]\n" - " add r0, r0, r9\n" - " mov r1, #0xfc\n" - " strb r1, [r0]\n" - " ldr r0, [r4]\n" - " add r1, r1, #0x70\n" - " add r0, r0, r1\n" - " strb r6, [r0]\n" - " ldr r0, [r4]\n" - " ldr r2, ._600 + 12\n" - " add r0, r0, r2\n" - " strb r6, [r0]\n" - " ldr r1, [r4]\n" - " add r2, r2, #0x1\n" - " add r0, r1, r2\n" - " add r1, r1, r7\n" - " ldrb r1, [r1]\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r8\n" - " ldr r1, [r1]\n" - " add r1, r1, r5\n" - " ldrb r1, [r1]\n" - " mov r2, #0x1\n" - " bl debug_80C5738\n" - " ldr r0, [r4]\n" - " add r0, r0, r9\n" - " lsl r2, r5, #0x19\n" - " mov r1, #0xa0\n" - " lsl r1, r1, #0x13\n" - " add r2, r2, r1\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " ldr r0, [r4]\n" - " add r0, r0, r7\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r8\n" - " ldr r0, [r0]\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " bne ._599 @cond_branch\n" - "._598:\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" - "._601:\n" - " .align 2, 0\n" - "._600:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x16b\n" - " .word 0x16d\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C643C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " mov r0, #0x2\n" - " mov r1, #0x5\n" - " mov r2, #0x1c\n" - " mov r3, #0x12\n" - " bl Menu_BlankWindowRect\n" - " mov r5, #0x0\n" - " ldr r6, ._605\n" - " ldr r1, ._605 + 4\n" - " ldr r0, [r1]\n" - " mov r3, #0xb4\n" - " lsl r3, r3, #0x1\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r6\n" - " ldr r0, [r0]\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._602 @cond_branch\n" - " add r4, r1, #0\n" - " mov r0, #0x1\n" - " mov r8, r0\n" - "._607:\n" - " ldr r0, [r4]\n" - " ldr r7, ._605 + 8\n" - " add r2, r0, r7\n" - " mov r0, #0xfc\n" - " strb r0, [r2]\n" - " ldr r0, [r4]\n" - " mov r2, #0xb6\n" - " lsl r2, r2, #0x1\n" - " add r0, r0, r2\n" - " mov r7, r8\n" - " strb r7, [r0]\n" - " ldr r2, [r4]\n" - " ldr r7, ._605 + 12\n" - " add r0, r2, r7\n" - " ldrb r0, [r0]\n" - " cmp r5, r0\n" - " bne ._603 @cond_branch\n" - " ldr r0, ._605 + 16\n" - " add r2, r2, r0\n" - " mov r0, #0x2\n" - " strb r0, [r2]\n" - " ldr r1, [r1]\n" - " mov r2, #0xb7\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " add r1, r1, r3\n" - " ldrb r1, [r1]\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r6\n" - " ldr r1, [r1]\n" - " add r1, r1, r5\n" - " ldrb r1, [r1]\n" - " mov r2, #0x2\n" - " bl debug_80C5738\n" - " b ._604\n" - "._606:\n" - " .align 2, 0\n" - "._605:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x16b\n" - " .word 0x169\n" - " .word 0x16d\n" - "._603:\n" - " ldr r3, ._608\n" - " add r0, r2, r3\n" - " mov r7, r8\n" - " strb r7, [r0]\n" - " ldr r1, [r1]\n" - " mov r2, #0xb7\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " ldr r2, ._608 + 4\n" - " sub r3, r3, #0x5\n" - " add r1, r1, r3\n" - " ldrb r1, [r1]\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r1, [r1]\n" - " add r1, r1, r5\n" - " ldrb r1, [r1]\n" - " mov r2, #0x1\n" - " bl debug_80C5738\n" - "._604:\n" - " ldr r0, [r4]\n" - " ldr r7, ._608 + 8\n" - " add r0, r0, r7\n" - " lsl r2, r5, #0x19\n" - " mov r1, #0xa0\n" - " lsl r1, r1, #0x13\n" - " add r2, r2, r1\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " ldr r6, ._608 + 4\n" - " add r1, r4, #0\n" - " ldr r0, [r4]\n" - " mov r3, #0xb4\n" - " lsl r3, r3, #0x1\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r6\n" - " ldr r0, [r0]\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " bne ._607 @cond_branch\n" - "._602:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._609:\n" - " .align 2, 0\n" - "._608:\n" - " .word 0x16d\n" - " .word gUnknown_Debug_083F8698\n" - " .word 0x16b\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6544() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r9, r0\n" - " ldr r0, ._614\n" - " mov r8, r0\n" - " ldr r6, ._614 + 4\n" - " ldr r1, [r6]\n" - " mov r5, #0xb4\n" - " lsl r5, r5, #0x1\n" - " add r0, r1, r5\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r8\n" - " ldr r4, ._614 + 8\n" - " add r1, r1, r4\n" - " ldrb r1, [r1]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " bl debug_80C5B60\n" - " add r7, r0, #0\n" - " ldr r2, ._614 + 12\n" - " ldr r3, [r6]\n" - " add r5, r3, r5\n" - " ldrb r0, [r5]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r8\n" - " add r4, r3, r4\n" - " ldrb r1, [r4]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r2, r2, #0x4\n" - " add r0, r0, r2\n" - " ldr r1, [r0]\n" - " ldr r5, [r1]\n" - " ldr r4, [r1, #0x4]\n" - " ldr r2, ._614 + 16\n" - " mov r6, #0xb5\n" - " lsl r6, r6, #0x1\n" - " add r0, r3, r6\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r2\n" - " ldr r3, [r0]\n" - " ldrb r0, [r1, #0x8]\n" - " cmp r0, #0\n" - " bne ._623 @cond_branch\n" - " mov r0, r9\n" - " cmp r0, #0x1\n" - " beq ._611 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._612 @cond_branch\n" - " b ._623\n" - "._615:\n" - " .align 2, 0\n" - "._614:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - " .word gUnknown_Debug_083F8554\n" - " .word gUnknown_Debug_083F8768\n" - "._611:\n" - " sub r0, r4, r3\n" - " cmp r7, r0\n" - " bcs ._616 @cond_branch\n" - " add r7, r7, r3\n" - " b ._623\n" - "._616:\n" - " cmp r7, r4\n" - " bcc ._622 @cond_branch\n" - " b ._619\n" - "._612:\n" - " add r0, r5, r3\n" - " cmp r7, r0\n" - " bls ._620 @cond_branch\n" - " sub r7, r7, r3\n" - " b ._623\n" - "._620:\n" - " cmp r7, r5\n" - " bls ._622 @cond_branch\n" - "._619:\n" - " add r7, r5, #0\n" - " b ._623\n" - "._622:\n" - " add r7, r4, #0\n" - "._623:\n" - " ldr r1, ._624\n" - " ldr r0, ._624 + 4\n" - " ldr r2, [r0]\n" - " mov r3, #0xb4\n" - " lsl r3, r3, #0x1\n" - " add r0, r2, r3\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r6, ._624 + 8\n" - " add r1, r2, r6\n" - " ldrb r1, [r1]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " add r0, r7, #0\n" - " bl debug_80C5B74\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" - "._625:\n" - " .align 2, 0\n" - "._624:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6630() -{ - asm( - " push {r4, r5, lr}\n" - " add r4, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r0, #0xfc\n" - " strb r0, [r4]\n" - " add r4, r4, #0x1\n" - " mov r0, #0x1\n" - " strb r0, [r4]\n" - " add r4, r4, #0x1\n" - " cmp r2, #0x2\n" - " bne ._626 @cond_branch\n" - " ldr r0, ._629\n" - " ldr r0, [r0]\n" - " mov r5, #0xb5\n" - " lsl r5, r5, #0x1\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r3, r0\n" - " beq ._627 @cond_branch\n" - " strb r2, [r4]\n" - " b ._628\n" - "._630:\n" - " .align 2, 0\n" - "._629:\n" - " .word gUnknown_Debug_2038A1C\n" - "._627:\n" - " mov r0, #0x4\n" - "._626:\n" - " strb r0, [r4]\n" - "._628:\n" - " add r0, r1, #0\n" - " add r0, r0, #0xa1\n" - " strb r0, [r4, #0x1]\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6678() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " mov r9, r0\n" - " add r6, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r8, r3\n" - " mov r7, #0x0\n" - " sub r0, r2, #1\n" - " cmp r0, #0x9\n" - " bhi ._644 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._633\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._634:\n" - " .align 2, 0\n" - "._633:\n" - " .word ._632\n" - "._632:\n" - " .word ._635\n" - " .word ._636\n" - " .word ._637\n" - " .word ._638\n" - " .word ._639\n" - " .word ._640\n" - " .word ._641\n" - " .word ._642\n" - " .word ._643\n" - " .word ._644\n" - "._644:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " ldr r5, ._645\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x9\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._643:\n" - " mov r1, r9\n" - " add r4, r1, r7\n" - " ldr r5, ._645 + 4\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x8\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._642:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " ldr r5, ._645 + 8\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x7\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._641:\n" - " mov r1, r9\n" - " add r4, r1, r7\n" - " ldr r5, ._645 + 12\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x6\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._640:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " ldr r5, ._645 + 16\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x5\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._639:\n" - " mov r1, r9\n" - " add r4, r1, r7\n" - " ldr r5, ._645 + 20\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x4\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._638:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " mov r5, #0xfa\n" - " lsl r5, r5, #0x2\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x3\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._637:\n" - " mov r1, r9\n" - " add r4, r1, r7\n" - " add r0, r6, #0\n" - " mov r1, #0x64\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x2\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._636:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " add r0, r6, #0\n" - " mov r1, #0xa\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x1\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " mov r1, #0xa\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._635:\n" - " mov r1, r9\n" - " add r0, r1, r7\n" - " lsl r1, r6, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r2, r8\n" - " mov r3, #0x0\n" - " bl debug_80C6630\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" - "._646:\n" - " .align 2, 0\n" - "._645:\n" - " .word 0x3b9aca00\n" - " .word 0x5f5e100\n" - " .word 0x989680\n" - " .word 0xf4240\n" - " .word 0x186a0\n" - " .word 0x2710\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C689C() -{ - asm( - " push {r4, r5, lr}\n" - " add r5, r0, #0\n" - " add r4, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r3, #0x0\n" - " ldrb r0, [r4]\n" - " b ._647\n" - "._649:\n" - " add r1, r5, r3\n" - " add r0, r4, r3\n" - " ldrb r0, [r0]\n" - " strb r0, [r1]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " add r0, r4, r3\n" - " ldrb r0, [r0]\n" - "._647:\n" - " cmp r0, #0xff\n" - " beq ._648 @cond_branch\n" - " cmp r3, r2\n" - " bcc ._649 @cond_branch\n" - "._648:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C68CC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffff8\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " lsl r1, r1, #0x18\n" - " lsr r6, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r2, #0x0\n" - " mov r1, #0x0\n" - "._650:\n" - " mov r7, sp\n" - " add r0, r7, r2\n" - " strb r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x3\n" - " bls ._650 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0xff\n" - " strb r0, [r1, #0x4]\n" - " cmp r3, #0x2\n" - " beq ._651 @cond_branch\n" - " cmp r3, #0x2\n" - " bgt ._652 @cond_branch\n" - " cmp r3, #0x1\n" - " beq ._653 @cond_branch\n" - " b ._654\n" - "._652:\n" - " cmp r3, #0x3\n" - " beq ._655 @cond_branch\n" - "._654:\n" - " mov r1, sp\n" - " lsr r0, r4, #0xc\n" - " strb r0, [r1]\n" - "._655:\n" - " mov r1, sp\n" - " mov r0, #0xf0\n" - " lsl r0, r0, #0x4\n" - " and r0, r0, r4\n" - " lsr r0, r0, #0x8\n" - " strb r0, [r1, #0x1]\n" - "._651:\n" - " mov r1, sp\n" - " mov r0, #0xf0\n" - " and r0, r0, r4\n" - " lsr r0, r0, #0x4\n" - " strb r0, [r1, #0x2]\n" - "._653:\n" - " mov r2, sp\n" - " mov r1, #0xf\n" - " add r0, r4, #0\n" - " and r0, r0, r1\n" - " strb r0, [r2, #0x3]\n" - " mov r2, #0x0\n" - "._658:\n" - " mov r0, sp\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x9\n" - " bhi ._656 @cond_branch\n" - " add r0, r0, #0xa1\n" - " b ._657\n" - "._656:\n" - " add r0, r0, #0xb1\n" - "._657:\n" - " strb r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x3\n" - " bls ._658 @cond_branch\n" - " mov r0, #0x4\n" - " sub r0, r0, r3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r0, r0, sp\n" - " add r1, r6, #0\n" - " add r2, r5, #0\n" - " bl Menu_PrintText\n" - " add sp, sp, #0x8\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void InitSeePokemonGraphics() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl debug_80C35DC\n" - " ldr r1, ._659\n" - " ldr r2, ._659 + 4\n" - " ldr r0, ._659 + 8\n" - " str r1, [r0]\n" - " str r2, [r0, #0x4]\n" - " ldr r1, ._659 + 12\n" - " str r1, [r0, #0x8]\n" - " ldr r0, [r0, #0x8]\n" - " ldr r0, ._659 + 16\n" - " mov r1, #0x80\n" - " mov r2, #0x60\n" - " bl LoadPalette\n" - " ldr r1, ._659 + 20\n" - " add r0, sp, #0x4\n" - " strh r1, [r0]\n" - " mov r1, #0x0\n" - " mov r2, #0x2\n" - " bl LoadPalette\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r5, #0x0\n" - " str r5, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._659 + 24\n" - " mov r6, #0x0\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " ldr r1, ._659 + 28\n" - " mov r0, #0x3f\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1f\n" - " strh r0, [r1]\n" - " add r1, r1, #0x6\n" - " mov r0, #0xf1\n" - " strh r0, [r1]\n" - " ldr r0, ._659 + 32\n" - " strh r5, [r0]\n" - " add r1, r1, #0x4\n" - " mov r0, #0x7\n" - " strh r0, [r1]\n" - " ldr r3, ._659 + 36\n" - " ldrh r2, [r3]\n" - " strh r5, [r3]\n" - " ldr r4, ._659 + 40\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " ldr r0, ._659 + 44\n" - " bl SetVBlankCallback\n" - " ldr r0, ._659 + 48\n" - " bl SetMainCallback2\n" - " bl sub_809D51C\n" - " ldr r1, ._659 + 52\n" - " ldr r2, ._659 + 56\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r2, ._659 + 60\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " sub r1, r1, #0xa\n" - " mov r2, #0xcd\n" - " lsl r2, r2, #0x6\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._659 + 64\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " ldr r1, ._659 + 68\n" - " ldr r0, ._659 + 72\n" - " str r0, [r1]\n" - " ldr r1, ._659 + 76\n" - " strh r1, [r0]\n" - " strb r6, [r0, #0x2]\n" - " strb r6, [r0, #0x3]\n" - " strb r6, [r0, #0x5]\n" - " strb r6, [r0, #0x7]\n" - " strb r6, [r0, #0xa]\n" - " strb r6, [r0, #0x8]\n" - " ldr r4, ._659 + 80\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " ldr r6, ._659 + 84\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " strh r5, [r0, #0x2e]\n" - " mov r1, #0x0\n" - " bl StartSpriteAnim\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " mov r1, #0x1\n" - " strh r1, [r0, #0x2e]\n" - " bl StartSpriteAnim\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " mov r1, #0x2\n" - " strh r1, [r0, #0x2e]\n" - " bl StartSpriteAnim\n" - " add sp, sp, #0x8\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._660:\n" - " .align 2, 0\n" - "._659:\n" - " .word byte_83F88EC\n" - " .word 0x600e000\n" - " .word 0x40000d4\n" - " .word 0x80000400\n" - " .word word_83F888C\n" - " .word 0x7fff\n" - " .word 0x4000040\n" - " .word 0x4000048\n" - " .word 0x4000052\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word 0x4000008\n" - " .word 0x1f0b\n" - " .word 0x1e0a\n" - " .word debug_80C6B00+1\n" - " .word gUnknown_Debug_2038A20\n" - " .word +0x2018000\n" - " .word 0x115\n" - " .word gSpriteTemplate_83F8874\n" - " .word gSprites\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6B00() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xffffffec\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r1, ._666\n" - " mov r0, sp\n" - " mov r2, #0x12\n" - " bl memcpy\n" - " mov r0, #0xa\n" - " mov r1, #0x0\n" - " mov r2, #0xf\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0xa\n" - " mov r2, #0x9\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x10\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._666 + 4\n" - " mov r1, #0x11\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._666 + 8\n" - " mov r1, #0x1b\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._666 + 12\n" - " mov r1, #0x11\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0xa\n" - " mov r1, #0x8\n" - " mov r2, #0x1d\n" - " mov r3, #0xc\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r2, #0x0\n" - " ldr r4, ._666 + 16\n" - " ldr r0, ._666 + 20\n" - " add r3, r0, #0\n" - "._661:\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, r4\n" - " add r1, r2, r3\n" - " strh r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0xe\n" - " bls ._661 @cond_branch\n" - " mov r2, #0x0\n" - " ldr r5, ._666 + 24\n" - " lsl r6, r7, #0x2\n" - " mov r8, r6\n" - " ldr r4, ._666 + 28\n" - " ldr r0, ._666 + 32\n" - " add r3, r0, #0\n" - "._662:\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, r4\n" - " add r1, r2, r3\n" - " strh r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0xe\n" - " bls ._662 @cond_branch\n" - " add r0, r5, #0\n" - " mov r1, #0x14\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " mov r0, #0xa\n" - " mov r1, #0xd\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r1, sp\n" - " mov r0, #0x23\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r4, ._666 + 36\n" - " mov r5, #0x93\n" - " lsl r5, r5, #0x8\n" - " add r3, r5, #0\n" - "._663:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._663 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0x24\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r5, ._666 + 40\n" - " ldr r4, ._666 + 44\n" - " mov r0, #0x93\n" - " lsl r0, r0, #0x8\n" - " add r3, r0, #0\n" - "._664:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._664 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0x25\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r4, ._666 + 48\n" - " mov r0, #0x93\n" - " lsl r0, r0, #0x8\n" - " add r3, r0, #0\n" - "._665:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._665 @cond_branch\n" - " add r0, r5, #0\n" - " mov r1, #0xf\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " ldr r1, ._666 + 52\n" - " ldr r2, ._666 + 56\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r5, ._666 + 60\n" - " add r0, r5, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._666 + 64\n" - " mov r6, r8\n" - " add r0, r6, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._666 + 68\n" - " str r1, [r0]\n" - " add sp, sp, #0x14\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._667:\n" - " .align 2, 0\n" - "._666:\n" - " .word gUnknown_Debug_083F8815\n" - " .word gUnknown_Debug_083F87D0\n" - " .word gUnknown_Debug_083F87D8\n" - " .word gUnknown_Debug_083F87E0\n" - " .word 0x600fa56\n" - " .word 0xa311\n" - " .word gUnknown_Debug_083F87F4\n" - " .word 0x600f256\n" - " .word 0x8301\n" - " .word 0x600f396\n" - " .word gUnknown_Debug_083F8801\n" - " .word 0x600f3d6\n" - " .word 0x600f416\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - " .word gTasks\n" - " .word debug_80C6CB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6CB8() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffff4\n" - " mov sl, r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov sl, r0\n" - " ldr r5, ._668\n" - " ldr r4, [r5]\n" - " ldrh r2, [r4]\n" - " lsl r0, r2, #0x3\n" - " ldr r1, ._668 + 4\n" - " add r0, r0, r1\n" - " ldr r1, ._668 + 8\n" - " lsl r2, r2, #0x2\n" - " add r2, r2, r1\n" - " ldrb r1, [r2]\n" - " ldrb r2, [r2, #0x1]\n" - " ldr r3, ._668 + 12\n" - " mov r8, r3\n" - " ldr r6, [r3]\n" - " str r6, [sp, #0x8]\n" - " ldr r3, [r3, #0x4]\n" - " str r3, [sp]\n" - " ldrh r3, [r4]\n" - " str r3, [sp, #0x4]\n" - " add r3, r6, #0\n" - " bl DecompressPicFromTable_2\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r7, ._668 + 16\n" - " add r0, r0, r7\n" - " bl LoadCompressedObjectPalette\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x1\n" - " bl GetMonSpriteTemplate_803C56C\n" - " ldr r0, ._668 + 20\n" - " mov r1, #0x28\n" - " mov r2, #0x28\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " ldr r1, [r5]\n" - " strb r0, [r1, #0x2]\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._668 + 24\n" - " add r0, r0, r1\n" - " ldr r3, ._668 + 28\n" - " mov r9, r3\n" - " str r3, [r0]\n" - " ldrb r0, [r2, #0x2]\n" - " lsl r1, r0, #0x4\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " ldr r6, ._668 + 32\n" - " add r1, r1, r6\n" - " ldrb r2, [r1, #0x5]\n" - " mov r6, #0xd\n" - " neg r6, r6\n" - " add r0, r6, #0\n" - " and r0, r0, r2\n" - " strb r0, [r1, #0x5]\n" - " ldr r4, [r5]\n" - " ldrh r2, [r4]\n" - " lsl r0, r2, #0x3\n" - " ldr r1, ._668 + 36\n" - " add r0, r0, r1\n" - " ldr r1, ._668 + 40\n" - " lsl r2, r2, #0x2\n" - " add r2, r2, r1\n" - " ldrb r1, [r2]\n" - " ldrb r2, [r2, #0x1]\n" - " mov r7, r8\n" - " ldr r3, [r7, #0x8]\n" - " str r3, [sp]\n" - " ldrh r3, [r4]\n" - " str r3, [sp, #0x4]\n" - " ldr r3, [sp, #0x8]\n" - " bl DecompressPicFromTable_2\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._668 + 16\n" - " add r0, r0, r1\n" - " bl LoadCompressedObjectPalette\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x2\n" - " bl GetMonSpriteTemplate_803C56C\n" - " ldr r0, ._668 + 20\n" - " mov r1, #0x28\n" - " mov r2, #0x78\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " ldr r1, [r5]\n" - " strb r0, [r1, #0x3]\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r3, ._668 + 24\n" - " add r0, r0, r3\n" - " mov r7, r9\n" - " str r7, [r0]\n" - " ldrb r1, [r2, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._668 + 32\n" - " add r0, r0, r1\n" - " ldrb r1, [r0, #0x5]\n" - " and r6, r6, r1\n" - " strb r6, [r0, #0x5]\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " ldr r1, ._668 + 44\n" - " mov r2, #0x0\n" - " str r2, [sp]\n" - " str r2, [sp, #0x4]\n" - " mov r2, #0x68\n" - " mov r3, #0x2c\n" - " bl CreateMonIcon\n" - " ldr r1, [r5]\n" - " strb r0, [r1, #0x4]\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " bl SpeciesToNationalPokedexNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r2, #0xff\n" - " lsl r2, r2, #0x2\n" - " mov r1, #0x2\n" - " bl sub_8091738\n" - " ldr r1, ._668 + 48\n" - " ldr r3, ._668 + 52\n" - " add r0, r3, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r6, ._668 + 56\n" - " add r0, r6, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x3e\n" - " ldr r7, ._668 + 60\n" - " add r0, r7, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r2, ._668 + 64\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x11\n" - " mov r2, #0x3\n" - " bl debug_80C3800\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x1a\n" - " mov r2, #0x5\n" - " bl debug_80C376C\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r3, ._668 + 32\n" - " add r0, r0, r3\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " strb r0, [r2, #0x6]\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " ldr r4, ._668 + 68\n" - " add r0, r0, r4\n" - " ldr r6, ._668 + 72\n" - " add r1, r4, r6\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " ldr r1, ._668 + 76\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, ._668 + 80\n" - " mov r7, sl\n" - " lsl r0, r7, #0x2\n" - " add r0, r0, sl\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._668 + 84\n" - " str r1, [r0]\n" - " ldr r0, [r5]\n" - " mov r1, #0x0\n" - " strb r1, [r0, #0x9]\n" - " bl StopCryAndClearCrySongs\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x0\n" - " bl PlayCry1\n" - " add sp, sp, #0xc\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._669:\n" - " .align 2, 0\n" - "._668:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gMonFrontPicTable\n" - " .word gMonFrontPicCoords\n" - " .word gUnknown_081FAF4C\n" - " .word gMonPaletteTable\n" - " .word gUnknown_02024E8C\n" - " .word gSprites+0x1c\n" - " .word debug_69+1\n" - " .word gSprites\n" - " .word gMonBackPicTable\n" - " .word gMonBackPicCoords\n" - " .word sub_809D62C+1\n" - " .word 0x600f858\n" - " .word 0xf3fc\n" - " .word 0xf3fd\n" - " .word 0xf3fe\n" - " .word 0xf3ff\n" - " .word gPlttBufferUnfaded+0x200\n" - " .word 0xffffff00\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C6EE8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6EE8() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " lsl r6, r6, #0x18\n" - " lsr r6, r6, #0x18\n" - " ldr r4, ._670\n" - " ldr r5, ._670 + 4\n" - " ldr r1, [r5]\n" - " add r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, ._670 + 8\n" - " add r4, r4, r0\n" - " ldr r3, [r5]\n" - " ldrb r0, [r3, #0x7]\n" - " add r0, r0, #0x81\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r4\n" - " ldrh r4, [r0]\n" - " mov r1, #0x1f\n" - " and r1, r1, r4\n" - " ldrb r2, [r3, #0xc]\n" - " mov r0, #0x20\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strb r0, [r3, #0xc]\n" - " ldr r3, [r5]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x2\n" - " and r1, r1, r4\n" - " ldrh r2, [r3, #0xc]\n" - " ldr r0, ._670 + 12\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strh r0, [r3, #0xc]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x7\n" - " and r1, r1, r4\n" - " lsr r1, r1, #0x8\n" - " ldrb r2, [r3, #0xd]\n" - " mov r0, #0x7d\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strb r0, [r3, #0xd]\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0xd]\n" - " mov r0, #0x7f\n" - " and r0, r0, r1\n" - " strb r0, [r2, #0xd]\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x7]\n" - " add r0, r0, #0x1\n" - " mov r1, #0xb\n" - " mov r2, #0xa\n" - " mov r3, #0x2\n" - " bl debug_80C68CC\n" - " ldr r0, ._670 + 16\n" - " mov r1, #0xd\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xe\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r1, ._670 + 20\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._670 + 24\n" - " str r1, [r0]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._671:\n" - " .align 2, 0\n" - "._670:\n" - " .word gPlttBufferUnfaded+0x100\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0xffffff00\n" - " .word 0xfffffc1f\n" - " .word gUnknown_Debug_083F8813\n" - " .word gTasks\n" - " .word debug_80C6FA8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6FA8() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r1, ._674\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " add r4, r1, #0\n" - " cmp r0, #0\n" - " beq ._672 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\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 r0, ._674 + 4\n" - " bl SetMainCallback2\n" - " ldr r1, ._674 + 8\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._674 + 12\n" - " str r1, [r0]\n" - " b ._703\n" - "._675:\n" - " .align 2, 0\n" - "._674:\n" - " .word gMain\n" - " .word debug_80C370C+1\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._672:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._676 @cond_branch\n" - " ldr r4, ._678\n" - " ldr r0, [r4]\n" - " ldrh r1, [r0]\n" - " mov r0, #0x0\n" - " b ._677\n" - "._679:\n" - " .align 2, 0\n" - "._678:\n" - " .word gUnknown_Debug_2038A20\n" - "._676:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._680 @cond_branch\n" - " ldr r4, ._682\n" - " ldr r0, [r4]\n" - " ldrh r1, [r0]\n" - " mov r0, #0x1\n" - "._677:\n" - " bl debug_80C3878\n" - " ldr r1, [r4]\n" - " strh r0, [r1]\n" - " ldr r1, ._682 + 4\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._682 + 8\n" - " str r1, [r0]\n" - " b ._703\n" - "._683:\n" - " .align 2, 0\n" - "._682:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTasks\n" - " .word debug_80C71FC+1\n" - "._680:\n" - " mov r3, #0x1\n" - " and r3, r3, r2\n" - " cmp r3, #0\n" - " beq ._684 @cond_branch\n" - " ldr r0, ._686\n" - " ldr r1, [r0]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0x5]\n" - " ldr r1, ._686 + 4\n" - " ldr r2, ._686 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._686 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._686 + 16\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._686 + 20\n" - " str r1, [r0]\n" - " b ._703\n" - "._687:\n" - " .align 2, 0\n" - "._686:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x4167\n" - " .word gTasks\n" - " .word debug_80C7294+1\n" - "._684:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._689 @cond_branch\n" - " ldr r1, ._691\n" - " ldr r2, [r1]\n" - " ldrb r0, [r2, #0x7]\n" - " cmp r0, #0xd\n" - " bhi ._689 @cond_branch\n" - " lsl r0, r0, #0x1\n" - " ldr r2, ._691 + 4\n" - " add r0, r0, r2\n" - " strh r3, [r0]\n" - " ldr r1, [r1]\n" - " ldrb r0, [r1, #0x7]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1, #0x7]\n" - " b ._695\n" - "._692:\n" - " .align 2, 0\n" - "._691:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x5000102\n" - "._689:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._694 @cond_branch\n" - " ldr r2, ._696\n" - " ldr r1, [r2]\n" - " ldrb r0, [r1, #0x7]\n" - " cmp r0, #0\n" - " beq ._694 @cond_branch\n" - " lsl r0, r0, #0x1\n" - " ldr r1, ._696 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r1, [r2]\n" - " ldrb r0, [r1, #0x7]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0x7]\n" - " b ._695\n" - "._697:\n" - " .align 2, 0\n" - "._696:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x5000102\n" - "._694:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._698 @cond_branch\n" - " ldr r4, ._701\n" - " ldr r2, [r4]\n" - " ldrb r0, [r2, #0x9]\n" - " mov r1, #0x1\n" - " eor r0, r0, r1\n" - " strb r0, [r2, #0x9]\n" - " ldr r1, [r4]\n" - " ldrb r0, [r1, #0x9]\n" - " cmp r0, #0\n" - " beq ._699 @cond_branch\n" - " ldrh r0, [r1]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " bl GetMonSpritePalFromOtIdPersonality\n" - " ldr r1, [r4]\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x14\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x11\n" - " add r1, r1, r2\n" - " lsr r1, r1, #0x10\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - " b ._700\n" - "._702:\n" - " .align 2, 0\n" - "._701:\n" - " .word gUnknown_Debug_2038A20\n" - "._699:\n" - " ldrh r0, [r1]\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " bl GetMonSpritePalFromOtIdPersonality\n" - " ldr r1, [r4]\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x14\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x11\n" - " add r1, r1, r2\n" - " lsr r1, r1, #0x10\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - "._700:\n" - " ldr r5, ._704\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " ldr r4, ._704 + 4\n" - " add r0, r0, r4\n" - " ldr r2, ._704 + 8\n" - " add r1, r4, r2\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " ldr r1, ._704 + 12\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - "._695:\n" - " ldr r1, ._704 + 16\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._704 + 20\n" - " str r1, [r0]\n" - " b ._703\n" - "._705:\n" - " .align 2, 0\n" - "._704:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gPlttBufferUnfaded+0x200\n" - " .word 0xffffff00\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C6EE8+1\n" - "._698:\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._706 @cond_branch\n" - " bl StopCryAndClearCrySongs\n" - " ldr r0, ._707\n" - " ldr r0, [r0]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x0\n" - " bl PlayCry1\n" - "._706:\n" - " ldr r2, ._707\n" - " ldr r1, [r2]\n" - " ldrb r0, [r1, #0x8]\n" - " add r0, r0, #0x4\n" - " strb r0, [r1, #0x8]\n" - " ldr r3, [r2]\n" - " ldrb r1, [r3, #0x8]\n" - " mov r0, #0x1f\n" - " and r0, r0, r1\n" - " strb r0, [r3, #0x8]\n" - " ldr r0, [r2]\n" - " ldrb r1, [r0, #0x7]\n" - " lsl r1, r1, #0x1\n" - " ldr r2, ._707 + 4\n" - " add r1, r1, r2\n" - " ldr r2, ._707 + 8\n" - " ldrb r0, [r0, #0x8]\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r2\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - "._703:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._708:\n" - " .align 2, 0\n" - "._707:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x5000142\n" - " .word gUnknown_Debug_083F8790\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C71FC() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r6, ._709\n" - " ldr r4, ._709 + 4\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl DestroySprite\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl DestroySprite\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x4]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl sub_809D510\n" - " ldr r1, ._709 + 8\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._709 + 12\n" - " str r1, [r0]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._710:\n" - " .align 2, 0\n" - "._709:\n" - " .word gSprites\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTasks\n" - " .word debug_80C6CB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7294() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r0, ._713\n" - " ldrh r2, [r0, #0x2e]\n" - " mov r1, #0x1\n" - " and r1, r1, r2\n" - " add r3, r0, #0\n" - " cmp r1, #0\n" - " beq ._711 @cond_branch\n" - " ldr r0, ._713 + 4\n" - " ldr r1, [r0]\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0x5]\n" - " ldr r1, ._713 + 8\n" - " ldr r2, ._713 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._713 + 16\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " b ._712\n" - "._714:\n" - " .align 2, 0\n" - "._713:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - "._711:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._715 @cond_branch\n" - " ldr r6, ._717\n" - " ldr r0, [r6]\n" - " strb r1, [r0, #0x5]\n" - " ldr r1, ._717 + 4\n" - " ldr r2, ._717 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._717 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, [r6]\n" - " add r0, r0, #0x10\n" - " ldr r4, ._717 + 16\n" - " add r1, r4, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r6]\n" - " add r0, r0, #0x10\n" - " ldr r5, ._717 + 20\n" - " add r1, r5, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, [r6]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x5\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r4, r4, r2\n" - " add r1, r1, r4\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, [r6]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x5\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r5, r5, r2\n" - " add r1, r1, r5\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - "._712:\n" - " ldr r1, ._717 + 24\n" - " lsl r0, r7, #0x2\n" - " add r0, r0, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._717 + 28\n" - " str r1, [r0]\n" - " b ._754\n" - "._718:\n" - " .align 2, 0\n" - "._717:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - " .word gPlttBufferUnfaded+0x100\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C6EE8+1\n" - "._715:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._720 @cond_branch\n" - " ldr r0, ._722\n" - " ldr r1, [r0]\n" - " ldrb r0, [r1, #0xa]\n" - " cmp r0, #0x1\n" - " bhi ._720 @cond_branch\n" - " add r0, r0, #0x1\n" - " strb r0, [r1, #0xa]\n" - " b ._754\n" - "._723:\n" - " .align 2, 0\n" - "._722:\n" - " .word gUnknown_Debug_2038A20\n" - "._720:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._725 @cond_branch\n" - " ldr r0, ._727\n" - " ldr r1, [r0]\n" - " ldrb r0, [r1, #0xa]\n" - " cmp r0, #0\n" - " beq ._725 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0xa]\n" - " b ._754\n" - "._728:\n" - " .align 2, 0\n" - "._727:\n" - " .word gUnknown_Debug_2038A20\n" - "._725:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._729 @cond_branch\n" - " ldr r0, ._734\n" - " ldr r2, [r0]\n" - " ldrb r0, [r2, #0xa]\n" - " cmp r0, #0x1\n" - " beq ._730 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._731 @cond_branch\n" - " cmp r0, #0\n" - " beq ._732 @cond_branch\n" - " b ._754\n" - "._735:\n" - " .align 2, 0\n" - "._734:\n" - " .word gUnknown_Debug_2038A20\n" - "._731:\n" - " cmp r0, #0x2\n" - " beq ._736 @cond_branch\n" - " b ._754\n" - "._732:\n" - " ldrb r3, [r2, #0xc]\n" - " lsl r1, r3, #0x1b\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._761 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " mov r1, #0x20\n" - " neg r1, r1\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strb r1, [r2, #0xc]\n" - " b ._761\n" - "._730:\n" - " ldrh r3, [r2, #0xc]\n" - " lsl r1, r3, #0x16\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._761 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " ldr r1, ._742\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strh r1, [r2, #0xc]\n" - " b ._761\n" - "._743:\n" - " .align 2, 0\n" - "._742:\n" - " .word 0xfffffc1f\n" - "._736:\n" - " ldrb r3, [r2, #0xd]\n" - " lsl r1, r3, #0x19\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._761 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, #0x7d\n" - " neg r1, r1\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strb r1, [r2, #0xd]\n" - " b ._761\n" - "._729:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._754 @cond_branch\n" - " ldr r0, ._751\n" - " ldr r3, [r0]\n" - " ldrb r0, [r3, #0xa]\n" - " cmp r0, #0x1\n" - " beq ._747 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._748 @cond_branch\n" - " cmp r0, #0\n" - " beq ._749 @cond_branch\n" - " b ._754\n" - "._752:\n" - " .align 2, 0\n" - "._751:\n" - " .word gUnknown_Debug_2038A20\n" - "._748:\n" - " cmp r0, #0x2\n" - " beq ._753 @cond_branch\n" - " b ._754\n" - "._749:\n" - " ldrb r2, [r3, #0xc]\n" - " mov r0, #0x1f\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._761 @cond_branch\n" - " lsl r0, r2, #0x1b\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " mov r1, #0x20\n" - " neg r1, r1\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3, #0xc]\n" - " b ._761\n" - "._747:\n" - " ldrh r2, [r3, #0xc]\n" - " mov r0, #0xf8\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._761 @cond_branch\n" - " lsl r0, r2, #0x16\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " ldr r1, ._759\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strh r1, [r3, #0xc]\n" - " b ._761\n" - "._760:\n" - " .align 2, 0\n" - "._759:\n" - " .word 0xfffffc1f\n" - "._753:\n" - " ldrb r2, [r3, #0xd]\n" - " mov r0, #0x7c\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._761 @cond_branch\n" - " lsl r0, r2, #0x19\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, #0x7d\n" - " neg r1, r1\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3, #0xd]\n" - "._761:\n" - " ldr r0, ._762\n" - " lsl r1, r7, #0x2\n" - " add r1, r1, r7\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._762 + 4\n" - " str r0, [r1]\n" - "._754:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._763:\n" - " .align 2, 0\n" - "._762:\n" - " .word gTasks\n" - " .word debug_80C74E4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C74E4() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r0, ._764\n" - " ldr r3, [r0]\n" - " ldrb r0, [r3, #0xc]\n" - " lsl r0, r0, #0x1b\n" - " lsr r0, r0, #0x1b\n" - " ldrh r2, [r3, #0xc]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x2\n" - " and r1, r1, r2\n" - " add r0, r0, r1\n" - " ldrb r1, [r3, #0xd]\n" - " lsl r1, r1, #0x19\n" - " lsr r1, r1, #0x1b\n" - " lsl r1, r1, #0xa\n" - " add r0, r0, r1\n" - " ldr r6, ._764 + 4\n" - " ldrb r1, [r3, #0x7]\n" - " add r1, r1, #0x81\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r6\n" - " strh r0, [r1]\n" - " ldr r1, ._764 + 8\n" - " mov r8, r1\n" - " ldrb r1, [r3, #0x7]\n" - " add r1, r1, #0x81\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r8\n" - " strh r0, [r1]\n" - " ldrb r1, [r3, #0x6]\n" - " lsl r1, r1, #0x4\n" - " ldrb r2, [r3, #0x7]\n" - " ldr r4, ._764 + 12\n" - " add r2, r2, r4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r6\n" - " strh r0, [r1]\n" - " ldrb r1, [r3, #0x6]\n" - " lsl r1, r1, #0x4\n" - " ldrb r2, [r3, #0x7]\n" - " add r2, r2, r4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r8\n" - " strh r0, [r1]\n" - " mov r1, #0xe\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r1, ._764 + 16\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._764 + 20\n" - " str r1, [r0]\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._765:\n" - " .align 2, 0\n" - "._764:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gPlttBufferUnfaded\n" - " .word gPlttBufferFaded\n" - " .word 0x101\n" - " .word gTasks\n" - " .word debug_80C7294+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7584() -{ - asm( - " push {r4, lr}\n" - " add r2, r0, #0\n" - " ldr r0, ._771\n" - " ldr r3, [r0]\n" - " ldrb r1, [r3, #0x5]\n" - " add r4, r0, #0\n" - " cmp r1, #0\n" - " beq ._766 @cond_branch\n" - " mov r1, #0x2e\n" - " ldsh r0, [r2, r1]\n" - " cmp r0, #0x1\n" - " beq ._767 @cond_branch\n" - " cmp r0, #0x1\n" - " ble ._768 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._769 @cond_branch\n" - "._768:\n" - " ldrb r0, [r3, #0xc]\n" - " lsl r0, r0, #0x1b\n" - " b ._773\n" - "._772:\n" - " .align 2, 0\n" - "._771:\n" - " .word gUnknown_Debug_2038A20\n" - "._767:\n" - " ldrh r0, [r3, #0xc]\n" - " lsl r0, r0, #0x16\n" - " b ._773\n" - "._769:\n" - " ldrb r0, [r3, #0xd]\n" - " lsl r0, r0, #0x19\n" - "._773:\n" - " lsr r0, r0, #0x1b\n" - " lsl r0, r0, #0x2\n" - " strh r0, [r2, #0x24]\n" - " mov r1, #0x2e\n" - " ldsh r0, [r2, r1]\n" - " lsl r0, r0, #0x3\n" - " strh r0, [r2, #0x26]\n" - " ldrh r0, [r2, #0x30]\n" - " add r3, r0, #1\n" - " strh r3, [r2, #0x30]\n" - " mov r0, #0x2e\n" - " ldsh r1, [r2, r0]\n" - " ldr r0, [r4]\n" - " ldrb r0, [r0, #0xa]\n" - " cmp r1, r0\n" - " bne ._775 @cond_branch\n" - " mov r0, #0x8\n" - " and r3, r3, r0\n" - " cmp r3, #0\n" - " bne ._775 @cond_branch\n" - "._766:\n" - " add r0, r2, #0\n" - " add r0, r0, #0x3e\n" - " ldrb r1, [r0]\n" - " mov r2, #0x4\n" - " orr r1, r1, r2\n" - " strb r1, [r0]\n" - " b ._776\n" - "._775:\n" - " add r2, r2, #0x3e\n" - " ldrb r1, [r2]\n" - " mov r0, #0x5\n" - " neg r0, r0\n" - " and r0, r0, r1\n" - " strb r0, [r2]\n" - "._776:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void InitSeeTrainers() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " bl debug_80C35DC\n" - " ldr r1, ._777\n" - " ldr r2, ._777 + 4\n" - " ldr r0, ._777 + 8\n" - " str r1, [r0]\n" - " str r2, [r0, #0x4]\n" - " ldr r1, ._777 + 12\n" - " str r1, [r0, #0x8]\n" - " ldr r0, [r0, #0x8]\n" - " ldr r0, ._777 + 16\n" - " mov r1, #0x80\n" - " mov r2, #0x60\n" - " bl LoadPalette\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r5, #0x0\n" - " str r5, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._777 + 20\n" - " mov r6, #0x0\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " ldr r1, ._777 + 24\n" - " mov r0, #0x3f\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1f\n" - " strh r0, [r1]\n" - " add r1, r1, #0x6\n" - " mov r0, #0xf1\n" - " strh r0, [r1]\n" - " ldr r0, ._777 + 28\n" - " strh r5, [r0]\n" - " add r1, r1, #0x4\n" - " mov r0, #0x7\n" - " strh r0, [r1]\n" - " ldr r3, ._777 + 32\n" - " ldrh r2, [r3]\n" - " strh r5, [r3]\n" - " ldr r4, ._777 + 36\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " ldr r0, ._777 + 40\n" - " bl SetVBlankCallback\n" - " ldr r0, ._777 + 44\n" - " bl SetMainCallback2\n" - " ldr r1, ._777 + 48\n" - " ldr r2, ._777 + 52\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r2, ._777 + 56\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " sub r1, r1, #0xa\n" - " mov r2, #0xcd\n" - " lsl r2, r2, #0x6\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._777 + 60\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " ldr r1, ._777 + 64\n" - " ldr r0, ._777 + 68\n" - " str r0, [r1]\n" - " strh r5, [r0]\n" - " strb r6, [r0, #0x2]\n" - " strb r6, [r0, #0x3]\n" - " strb r6, [r0, #0x5]\n" - " strb r6, [r0, #0x7]\n" - " strb r6, [r0, #0xa]\n" - " strb r6, [r0, #0x8]\n" - " ldr r4, ._777 + 72\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " ldr r6, ._777 + 76\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " strh r5, [r0, #0x2e]\n" - " mov r1, #0x0\n" - " bl StartSpriteAnim\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " mov r1, #0x1\n" - " strh r1, [r0, #0x2e]\n" - " bl StartSpriteAnim\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " mov r1, #0x2\n" - " strh r1, [r0, #0x2e]\n" - " bl StartSpriteAnim\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._778:\n" - " .align 2, 0\n" - "._777:\n" - " .word byte_83F88EC\n" - " .word 0x600e000\n" - " .word 0x40000d4\n" - " .word 0x80000400\n" - " .word word_83F888C\n" - " .word 0x4000040\n" - " .word 0x4000048\n" - " .word 0x4000052\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word 0x4000008\n" - " .word 0x1f0b\n" - " .word 0x1e0a\n" - " .word debug_80C777C+1\n" - " .word gUnknown_Debug_2038A20\n" - " .word +0x2018000\n" - " .word gSpriteTemplate_83F8874\n" - " .word gSprites\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C777C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xffffffec\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r1, ._784\n" - " mov r0, sp\n" - " mov r2, #0x12\n" - " bl memcpy\n" - " mov r0, #0x9\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0xa\n" - " mov r2, #0x9\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0xe\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._784 + 4\n" - " mov r1, #0xf\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._784 + 8\n" - " mov r1, #0x19\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._784 + 12\n" - " mov r1, #0xf\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0xa\n" - " mov r1, #0x8\n" - " mov r2, #0x1d\n" - " mov r3, #0xc\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r2, #0x0\n" - " ldr r4, ._784 + 16\n" - " ldr r0, ._784 + 20\n" - " add r3, r0, #0\n" - "._779:\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, r4\n" - " add r1, r2, r3\n" - " strh r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0xe\n" - " bls ._779 @cond_branch\n" - " mov r2, #0x0\n" - " ldr r5, ._784 + 24\n" - " lsl r6, r7, #0x2\n" - " mov r8, r6\n" - " ldr r4, ._784 + 28\n" - " ldr r0, ._784 + 32\n" - " add r3, r0, #0\n" - "._780:\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, r4\n" - " add r1, r2, r3\n" - " strh r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0xe\n" - " bls ._780 @cond_branch\n" - " add r0, r5, #0\n" - " mov r1, #0x14\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " mov r0, #0xa\n" - " mov r1, #0xd\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r1, sp\n" - " mov r0, #0x23\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r4, ._784 + 36\n" - " mov r5, #0x93\n" - " lsl r5, r5, #0x8\n" - " add r3, r5, #0\n" - "._781:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._781 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0x24\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r5, ._784 + 40\n" - " ldr r4, ._784 + 44\n" - " mov r0, #0x93\n" - " lsl r0, r0, #0x8\n" - " add r3, r0, #0\n" - "._782:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._782 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0x25\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r4, ._784 + 48\n" - " mov r0, #0x93\n" - " lsl r0, r0, #0x8\n" - " add r3, r0, #0\n" - "._783:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._783 @cond_branch\n" - " add r0, r5, #0\n" - " mov r1, #0xf\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " ldr r1, ._784 + 52\n" - " ldr r2, ._784 + 56\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r5, ._784 + 60\n" - " add r0, r5, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._784 + 64\n" - " mov r6, r8\n" - " add r0, r6, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._784 + 68\n" - " str r1, [r0]\n" - " add sp, sp, #0x14\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._785:\n" - " .align 2, 0\n" - "._784:\n" - " .word gUnknown_Debug_083F8815\n" - " .word gUnknown_Debug_083F87D0\n" - " .word gUnknown_Debug_083F87D8\n" - " .word gUnknown_Debug_083F87E0\n" - " .word 0x600fa56\n" - " .word 0xa311\n" - " .word gUnknown_Debug_083F87F4\n" - " .word 0x600f256\n" - " .word 0x8301\n" - " .word 0x600f396\n" - " .word gUnknown_Debug_083F8801\n" - " .word 0x600f3d6\n" - " .word 0x600f416\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - " .word gTasks\n" - " .word debug_80C7934+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7934() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xfffffff8\n" - " mov r8, r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " ldr r5, ._786\n" - " ldr r6, [r5]\n" - " ldrh r2, [r6]\n" - " lsl r0, r2, #0x3\n" - " ldr r1, ._786 + 4\n" - " add r0, r0, r1\n" - " ldr r1, ._786 + 8\n" - " lsl r2, r2, #0x2\n" - " add r2, r2, r1\n" - " ldrb r1, [r2]\n" - " ldrb r2, [r2, #0x1]\n" - " ldr r4, ._786 + 12\n" - " ldr r3, [r4]\n" - " ldr r4, [r4, #0x4]\n" - " str r4, [sp]\n" - " ldrh r4, [r6]\n" - " str r4, [sp, #0x4]\n" - " bl DecompressPicFromTable_2\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._786 + 16\n" - " add r0, r0, r1\n" - " bl LoadCompressedObjectPalette\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x1\n" - " bl GetMonSpriteTemplate_803C5A0\n" - " ldr r0, ._786 + 20\n" - " mov r1, #0x28\n" - " mov r2, #0x28\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " ldr r1, [r5]\n" - " mov r6, #0x0\n" - " strb r0, [r1, #0x2]\n" - " ldr r4, ._786 + 24\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r1, r4, #0\n" - " add r1, r1, #0x1c\n" - " add r0, r0, r1\n" - " ldr r1, ._786 + 28\n" - " str r1, [r0]\n" - " ldrb r0, [r2, #0x2]\n" - " lsl r1, r0, #0x4\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r4\n" - " ldrb r2, [r1, #0x5]\n" - " mov r0, #0xd\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " strb r0, [r1, #0x5]\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x1a\n" - " mov r2, #0x5\n" - " bl debug_80C376C\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r4\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " strb r0, [r2, #0x6]\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " ldr r4, ._786 + 32\n" - " add r0, r0, r4\n" - " ldr r2, ._786 + 36\n" - " add r1, r4, r2\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " ldr r1, ._786 + 40\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, ._786 + 44\n" - " mov r2, r8\n" - " lsl r0, r2, #0x2\n" - " add r0, r0, r8\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._786 + 48\n" - " str r1, [r0]\n" - " ldr r0, [r5]\n" - " strb r6, [r0, #0x9]\n" - " add sp, sp, #0x8\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._787:\n" - " .align 2, 0\n" - "._786:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTrainerFrontPicTable\n" - " .word gTrainerFrontPicCoords\n" - " .word gUnknown_081FAF4C\n" - " .word gTrainerFrontPicPaletteTable\n" - " .word gUnknown_02024E8C\n" - " .word gSprites\n" - " .word debug_69+1\n" - " .word gPlttBufferUnfaded+0x200\n" - " .word 0xffffff00\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C7A54+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7A54() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " lsl r6, r6, #0x18\n" - " lsr r6, r6, #0x18\n" - " ldr r4, ._788\n" - " ldr r5, ._788 + 4\n" - " ldr r1, [r5]\n" - " add r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, ._788 + 8\n" - " add r4, r4, r0\n" - " ldr r3, [r5]\n" - " ldrb r0, [r3, #0x7]\n" - " add r0, r0, #0x81\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r4\n" - " ldrh r4, [r0]\n" - " mov r1, #0x1f\n" - " and r1, r1, r4\n" - " ldrb r2, [r3, #0xc]\n" - " mov r0, #0x20\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strb r0, [r3, #0xc]\n" - " ldr r3, [r5]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x2\n" - " and r1, r1, r4\n" - " ldrh r2, [r3, #0xc]\n" - " ldr r0, ._788 + 12\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strh r0, [r3, #0xc]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x7\n" - " and r1, r1, r4\n" - " lsr r1, r1, #0x8\n" - " ldrb r2, [r3, #0xd]\n" - " mov r0, #0x7d\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strb r0, [r3, #0xd]\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0xd]\n" - " mov r0, #0x7f\n" - " and r0, r0, r1\n" - " strb r0, [r2, #0xd]\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x7]\n" - " add r0, r0, #0x1\n" - " mov r1, #0xb\n" - " mov r2, #0xa\n" - " mov r3, #0x2\n" - " bl debug_80C68CC\n" - " ldr r0, ._788 + 16\n" - " mov r1, #0xd\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xe\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r1, ._788 + 20\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._788 + 24\n" - " str r1, [r0]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._789:\n" - " .align 2, 0\n" - "._788:\n" - " .word gPlttBufferUnfaded+0x100\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0xffffff00\n" - " .word 0xfffffc1f\n" - " .word gUnknown_Debug_083F8813\n" - " .word gTasks\n" - " .word debug_80C7B14+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7B14() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r1, ._792\n" - " ldrh r3, [r1, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r3\n" - " add r4, r1, #0\n" - " cmp r0, #0\n" - " beq ._790 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\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 r0, ._792 + 4\n" - " bl SetMainCallback2\n" - " ldr r1, ._792 + 8\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._792 + 12\n" - " str r1, [r0]\n" - " b ._821\n" - "._793:\n" - " .align 2, 0\n" - "._792:\n" - " .word gMain\n" - " .word debug_80C370C+1\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._790:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._794 @cond_branch\n" - " ldr r4, ._796\n" - " ldr r0, [r4]\n" - " ldrh r1, [r0]\n" - " mov r0, #0x0\n" - " b ._795\n" - "._797:\n" - " .align 2, 0\n" - "._796:\n" - " .word gUnknown_Debug_2038A20\n" - "._794:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._798 @cond_branch\n" - " ldr r4, ._800\n" - " ldr r0, [r4]\n" - " ldrh r1, [r0]\n" - " mov r0, #0x1\n" - "._795:\n" - " bl debug_80C38B4\n" - " ldr r1, [r4]\n" - " strh r0, [r1]\n" - " ldr r1, ._800 + 4\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._800 + 8\n" - " str r1, [r0]\n" - " b ._821\n" - "._801:\n" - " .align 2, 0\n" - "._800:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTasks\n" - " .word debug_80C7D44+1\n" - "._798:\n" - " mov r2, #0x1\n" - " and r2, r2, r3\n" - " cmp r2, #0\n" - " beq ._802 @cond_branch\n" - " ldr r0, ._804\n" - " ldr r1, [r0]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0x5]\n" - " ldr r1, ._804 + 4\n" - " ldr r2, ._804 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._804 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._804 + 16\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._804 + 20\n" - " str r1, [r0]\n" - " b ._821\n" - "._805:\n" - " .align 2, 0\n" - "._804:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x4167\n" - " .word gTasks\n" - " .word debug_80C7DDC+1\n" - "._802:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " ldr r3, ._809\n" - " cmp r0, #0\n" - " beq ._807 @cond_branch\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x7]\n" - " cmp r0, #0xd\n" - " bhi ._807 @cond_branch\n" - " lsl r0, r0, #0x1\n" - " ldr r1, ._809 + 4\n" - " add r0, r0, r1\n" - " strh r2, [r0]\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x7]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1, #0x7]\n" - " b ._813\n" - "._810:\n" - " .align 2, 0\n" - "._809:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x5000102\n" - "._807:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._812 @cond_branch\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x7]\n" - " cmp r0, #0\n" - " beq ._812 @cond_branch\n" - " lsl r0, r0, #0x1\n" - " ldr r2, ._814\n" - " add r0, r0, r2\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x7]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0x7]\n" - " b ._813\n" - "._815:\n" - " .align 2, 0\n" - "._814:\n" - " .word 0x5000102\n" - "._812:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._816 @cond_branch\n" - " ldr r4, ._819\n" - " ldr r2, [r4]\n" - " ldrb r0, [r2, #0x9]\n" - " mov r1, #0x1\n" - " eor r0, r0, r1\n" - " strb r0, [r2, #0x9]\n" - " ldr r1, [r4]\n" - " ldrb r0, [r1, #0x9]\n" - " cmp r0, #0\n" - " beq ._817 @cond_branch\n" - " ldrh r0, [r1]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " bl GetMonSpritePalFromOtIdPersonality\n" - " ldr r1, [r4]\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x14\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x11\n" - " add r1, r1, r2\n" - " lsr r1, r1, #0x10\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - " b ._818\n" - "._820:\n" - " .align 2, 0\n" - "._819:\n" - " .word gUnknown_Debug_2038A20\n" - "._817:\n" - " ldrh r0, [r1]\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " bl GetMonSpritePalFromOtIdPersonality\n" - " ldr r1, [r4]\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x14\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x11\n" - " add r1, r1, r2\n" - " lsr r1, r1, #0x10\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - "._818:\n" - " ldr r5, ._822\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " ldr r4, ._822 + 4\n" - " add r0, r0, r4\n" - " ldr r2, ._822 + 8\n" - " add r1, r4, r2\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " ldr r1, ._822 + 12\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - "._813:\n" - " ldr r1, ._822 + 16\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._822 + 20\n" - " str r1, [r0]\n" - " b ._821\n" - "._823:\n" - " .align 2, 0\n" - "._822:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gPlttBufferUnfaded+0x200\n" - " .word 0xffffff00\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C7A54+1\n" - "._816:\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x8]\n" - " add r0, r0, #0x4\n" - " strb r0, [r1, #0x8]\n" - " ldr r2, [r3]\n" - " ldrb r1, [r2, #0x8]\n" - " mov r0, #0x1f\n" - " and r0, r0, r1\n" - " strb r0, [r2, #0x8]\n" - " ldr r0, [r3]\n" - " ldrb r1, [r0, #0x7]\n" - " lsl r1, r1, #0x1\n" - " ldr r2, ._824\n" - " add r1, r1, r2\n" - " ldr r2, ._824 + 4\n" - " ldrb r0, [r0, #0x8]\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r2\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - "._821:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._825:\n" - " .align 2, 0\n" - "._824:\n" - " .word 0x5000142\n" - " .word gUnknown_Debug_083F8790\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7D44() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r6, ._826\n" - " ldr r4, ._826 + 4\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl DestroySprite\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl DestroySprite\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x4]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl sub_809D510\n" - " ldr r1, ._826 + 8\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._826 + 12\n" - " str r1, [r0]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._827:\n" - " .align 2, 0\n" - "._826:\n" - " .word gSprites\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTasks\n" - " .word debug_80C7934+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7DDC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r0, ._830\n" - " ldrh r2, [r0, #0x2e]\n" - " mov r1, #0x1\n" - " and r1, r1, r2\n" - " add r3, r0, #0\n" - " cmp r1, #0\n" - " beq ._828 @cond_branch\n" - " ldr r0, ._830 + 4\n" - " ldr r1, [r0]\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0x5]\n" - " ldr r1, ._830 + 8\n" - " ldr r2, ._830 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._830 + 16\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " b ._829\n" - "._831:\n" - " .align 2, 0\n" - "._830:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - "._828:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._832 @cond_branch\n" - " ldr r6, ._834\n" - " ldr r0, [r6]\n" - " strb r1, [r0, #0x5]\n" - " ldr r1, ._834 + 4\n" - " ldr r2, ._834 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._834 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, [r6]\n" - " add r0, r0, #0x10\n" - " ldr r4, ._834 + 16\n" - " add r1, r4, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r6]\n" - " add r0, r0, #0x10\n" - " ldr r5, ._834 + 20\n" - " add r1, r5, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, [r6]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x5\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r4, r4, r2\n" - " add r1, r1, r4\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, [r6]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x5\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r5, r5, r2\n" - " add r1, r1, r5\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - "._829:\n" - " ldr r1, ._834 + 24\n" - " lsl r0, r7, #0x2\n" - " add r0, r0, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._834 + 28\n" - " str r1, [r0]\n" - " b ._871\n" - "._835:\n" - " .align 2, 0\n" - "._834:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - " .word gPlttBufferUnfaded+0x100\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C7A54+1\n" - "._832:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._837 @cond_branch\n" - " ldr r0, ._839\n" - " ldr r1, [r0]\n" - " ldrb r0, [r1, #0xa]\n" - " cmp r0, #0x1\n" - " bhi ._837 @cond_branch\n" - " add r0, r0, #0x1\n" - " strb r0, [r1, #0xa]\n" - " b ._871\n" - "._840:\n" - " .align 2, 0\n" - "._839:\n" - " .word gUnknown_Debug_2038A20\n" - "._837:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._842 @cond_branch\n" - " ldr r0, ._844\n" - " ldr r1, [r0]\n" - " ldrb r0, [r1, #0xa]\n" - " cmp r0, #0\n" - " beq ._842 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0xa]\n" - " b ._871\n" - "._845:\n" - " .align 2, 0\n" - "._844:\n" - " .word gUnknown_Debug_2038A20\n" - "._842:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._846 @cond_branch\n" - " ldr r0, ._851\n" - " ldr r2, [r0]\n" - " ldrb r0, [r2, #0xa]\n" - " cmp r0, #0x1\n" - " beq ._847 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._848 @cond_branch\n" - " cmp r0, #0\n" - " beq ._849 @cond_branch\n" - " b ._871\n" - "._852:\n" - " .align 2, 0\n" - "._851:\n" - " .word gUnknown_Debug_2038A20\n" - "._848:\n" - " cmp r0, #0x2\n" - " beq ._853 @cond_branch\n" - " b ._871\n" - "._849:\n" - " ldrb r3, [r2, #0xc]\n" - " lsl r1, r3, #0x1b\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._878 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " mov r1, #0x20\n" - " neg r1, r1\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strb r1, [r2, #0xc]\n" - " b ._878\n" - "._847:\n" - " ldrh r3, [r2, #0xc]\n" - " lsl r1, r3, #0x16\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._878 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " ldr r1, ._859\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strh r1, [r2, #0xc]\n" - " b ._878\n" - "._860:\n" - " .align 2, 0\n" - "._859:\n" - " .word 0xfffffc1f\n" - "._853:\n" - " ldrb r3, [r2, #0xd]\n" - " lsl r1, r3, #0x19\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._878 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, #0x7d\n" - " neg r1, r1\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strb r1, [r2, #0xd]\n" - " b ._878\n" - "._846:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._871 @cond_branch\n" - " ldr r0, ._868\n" - " ldr r3, [r0]\n" - " ldrb r0, [r3, #0xa]\n" - " cmp r0, #0x1\n" - " beq ._864 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._865 @cond_branch\n" - " cmp r0, #0\n" - " beq ._866 @cond_branch\n" - " b ._871\n" - "._869:\n" - " .align 2, 0\n" - "._868:\n" - " .word gUnknown_Debug_2038A20\n" - "._865:\n" - " cmp r0, #0x2\n" - " beq ._870 @cond_branch\n" - " b ._871\n" - "._866:\n" - " ldrb r2, [r3, #0xc]\n" - " mov r0, #0x1f\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._878 @cond_branch\n" - " lsl r0, r2, #0x1b\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " mov r1, #0x20\n" - " neg r1, r1\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3, #0xc]\n" - " b ._878\n" - "._864:\n" - " ldrh r2, [r3, #0xc]\n" - " mov r0, #0xf8\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._878 @cond_branch\n" - " lsl r0, r2, #0x16\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " ldr r1, ._876\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strh r1, [r3, #0xc]\n" - " b ._878\n" - "._877:\n" - " .align 2, 0\n" - "._876:\n" - " .word 0xfffffc1f\n" - "._870:\n" - " ldrb r2, [r3, #0xd]\n" - " mov r0, #0x7c\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._878 @cond_branch\n" - " lsl r0, r2, #0x19\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, #0x7d\n" - " neg r1, r1\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3, #0xd]\n" - "._878:\n" - " ldr r0, ._879\n" - " lsl r1, r7, #0x2\n" - " add r1, r1, r7\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._879 + 4\n" - " str r0, [r1]\n" - "._871:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._880:\n" - " .align 2, 0\n" - "._879:\n" - " .word gTasks\n" - " .word debug_80C802C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C802C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r0, ._881\n" - " ldr r3, [r0]\n" - " ldrb r0, [r3, #0xc]\n" - " lsl r0, r0, #0x1b\n" - " lsr r0, r0, #0x1b\n" - " ldrh r2, [r3, #0xc]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x2\n" - " and r1, r1, r2\n" - " add r0, r0, r1\n" - " ldrb r1, [r3, #0xd]\n" - " lsl r1, r1, #0x19\n" - " lsr r1, r1, #0x1b\n" - " lsl r1, r1, #0xa\n" - " add r0, r0, r1\n" - " ldr r6, ._881 + 4\n" - " ldrb r1, [r3, #0x7]\n" - " add r1, r1, #0x81\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r6\n" - " strh r0, [r1]\n" - " ldr r1, ._881 + 8\n" - " mov r8, r1\n" - " ldrb r1, [r3, #0x7]\n" - " add r1, r1, #0x81\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r8\n" - " strh r0, [r1]\n" - " ldrb r1, [r3, #0x6]\n" - " lsl r1, r1, #0x4\n" - " ldrb r2, [r3, #0x7]\n" - " ldr r4, ._881 + 12\n" - " add r2, r2, r4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r6\n" - " strh r0, [r1]\n" - " ldrb r1, [r3, #0x6]\n" - " lsl r1, r1, #0x4\n" - " ldrb r2, [r3, #0x7]\n" - " add r2, r2, r4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r8\n" - " strh r0, [r1]\n" - " mov r1, #0xe\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r1, ._881 + 16\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._881 + 20\n" - " str r1, [r0]\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._882:\n" - " .align 2, 0\n" - "._881:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gPlttBufferUnfaded\n" - " .word gPlttBufferFaded\n" - " .word 0x101\n" - " .word gTasks\n" - " .word debug_80C7DDC+1\n" - "\n" - ); -} - #endif |