#if DEBUG #include "global.h" EWRAM_DATA u8 unk_debug_ewram_0[56] = { 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 unk_debug_ewram_0\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x20\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x30\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 unk_debug_ewram_0+0x34\n" " .word +0x2018000\n" " .word 0x115\n" " .word unk_83F8868+0xc\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 GetMonSpritePal\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 unk_debug_ewram_0+0x34\n" "._699:\n" " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x9\n" " bl GetMonSpritePal\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\n" " .word +0x2018000\n" " .word unk_83F8868+0xc\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 GetMonSpritePal\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 unk_debug_ewram_0+0x34\n" "._817:\n" " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x9\n" " bl GetMonSpritePal\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\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 unk_debug_ewram_0+0x34\n" " .word gPlttBufferUnfaded\n" " .word gPlttBufferFaded\n" " .word 0x101\n" " .word gTasks\n" " .word debug_80C7DDC+1\n" "\n" ); } #endif