summaryrefslogtreecommitdiff
path: root/asm/watanabe_debug_menu.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/watanabe_debug_menu.s')
-rw-r--r--asm/watanabe_debug_menu.s9578
1 files changed, 9578 insertions, 0 deletions
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s
new file mode 100644
index 000000000..7f613b7a3
--- /dev/null
+++ b/asm/watanabe_debug_menu.s
@@ -0,0 +1,9578 @@
+.if DEBUG
+
+ .include "constants/gba_constants.inc"
+ .include "include/macros.inc"
+
+ .text
+
+ thumb_func_start debug_69
+debug_69:
+ bx lr
+
+ thumb_func_end debug_69
+
+ thumb_func_start debug_80C35DC
+debug_80C35DC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add sp, sp, #0xfffffff8
+ mov r0, #0x0
+ bl SetVBlankCallback
+ mov r0, #0x80
+ lsl r0, r0, #0x13
+ mov r1, #0x0
+ strh r1, [r0]
+ add r0, r0, #0xe
+ strh r1, [r0]
+ sub r0, r0, #0x2
+ strh r1, [r0]
+ sub r0, r0, #0x2
+ strh r1, [r0]
+ sub r0, r0, #0x2
+ strh r1, [r0]
+ add r0, r0, #0x14
+ strh r1, [r0]
+ add r0, r0, #0x2
+ strh r1, [r0]
+ sub r0, r0, #0x6
+ strh r1, [r0]
+ add r0, r0, #0x2
+ strh r1, [r0]
+ sub r0, r0, #0x6
+ strh r1, [r0]
+ add r0, r0, #0x2
+ strh r1, [r0]
+ sub r0, r0, #0x6
+ strh r1, [r0]
+ add r0, r0, #0x2
+ strh r1, [r0]
+ mov r3, #0xc0
+ lsl r3, r3, #0x13
+ mov r4, #0xc0
+ lsl r4, r4, #0x9
+ add r0, sp, #0x4
+ mov r8, r0
+ mov r2, sp
+ mov r6, #0x0
+ ldr r1, ._2 @ 0x40000d4
+ mov r5, #0x80
+ lsl r5, r5, #0x5
+ ldr r7, ._2 + 4 @ 0x81000800
+ mov r0, #0x81
+ lsl r0, r0, #0x18
+ mov ip, r0
+._1:
+ strh r6, [r2]
+ mov r0, sp
+ str r0, [r1]
+ str r3, [r1, #0x4]
+ str r7, [r1, #0x8]
+ ldr r0, [r1, #0x8]
+ add r3, r3, r5
+ sub r4, r4, r5
+ cmp r4, r5
+ bhi ._1 @cond_branch
+ strh r6, [r2]
+ mov r2, sp
+ str r2, [r1]
+ str r3, [r1, #0x4]
+ lsr r0, r4, #0x1
+ mov r2, ip
+ orr r0, r0, r2
+ str r0, [r1, #0x8]
+ ldr r0, [r1, #0x8]
+ mov r0, #0xe0
+ lsl r0, r0, #0x13
+ mov r3, #0x80
+ lsl r3, r3, #0x3
+ mov r4, #0x0
+ str r4, [sp, #0x4]
+ ldr r2, ._2 @ 0x40000d4
+ mov r1, r8
+ str r1, [r2]
+ str r0, [r2, #0x4]
+ lsr r0, r3, #0x2
+ mov r1, #0x85
+ lsl r1, r1, #0x18
+ orr r0, r0, r1
+ str r0, [r2, #0x8]
+ ldr r0, [r2, #0x8]
+ mov r1, #0xa0
+ lsl r1, r1, #0x13
+ mov r0, sp
+ strh r4, [r0]
+ str r0, [r2]
+ str r1, [r2, #0x4]
+ lsr r3, r3, #0x1
+ mov r0, #0x81
+ lsl r0, r0, #0x18
+ orr r3, r3, r0
+ str r3, [r2, #0x8]
+ ldr r0, [r2, #0x8]
+ bl ResetPaletteFade
+ bl ScanlineEffect_Stop
+ bl ResetTasks
+ bl ResetSpriteData
+ bl ResetPaletteFade
+ bl FreeAllSpritePalettes
+ ldr r0, ._2 + 8 @ stru_83F8828
+ bl LoadSpriteSheet
+ ldr r0, ._2 + 12 @ stru_83F8838
+ bl LoadSpritePalette
+ ldr r0, ._2 + 16 @ gWindowTemplate_81E6C3C
+ bl Text_LoadWindowTemplate
+ ldr r0, ._2 + 20 @ gWindowTemplate_81E6CE4
+ bl InitMenuWindow
+ add sp, sp, #0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._3:
+ .align 2, 0
+._2:
+ .word 0x40000d4
+ .word 0x81000800
+ .word stru_83F8828
+ .word stru_83F8838
+ .word gWindowTemplate_81E6C3C
+ .word gWindowTemplate_81E6CE4
+
+ thumb_func_end debug_80C35DC
+
+ thumb_func_start debug_80C36F4
+debug_80C36F4:
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C36F4
+
+ thumb_func_start debug_80C370C
+debug_80C370C:
+ push {lr}
+ ldr r0, ._6 @ gPaletteFade
+ ldrb r1, [r0, #0x7]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._4 @cond_branch
+ ldr r0, ._6 + 4 @ debug_80C36F4
+ bl SetMainCallback2
+ b ._5
+._7:
+ .align 2, 0
+._6:
+ .word gPaletteFade
+ .word debug_80C36F4+1
+._4:
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+._5:
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C370C
+
+ thumb_func_start debug_80C373C
+debug_80C373C:
+ push {lr}
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl DestroyTask
+ bl ScriptContext2_Disable
+ ldr r0, ._8 @ sub_80546F0
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+._9:
+ .align 2, 0
+._8:
+ .word sub_80546F0+1
+
+ thumb_func_end debug_80C373C
+
+ thumb_func_start debug_80C3758
+debug_80C3758:
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C3758
+
+ thumb_func_start debug_80C376C
+debug_80C376C:
+ push {r4, r5, r6, r7, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ lsl r1, r1, #0x18
+ lsr r7, r1, #0x18
+ lsl r2, r2, #0x18
+ lsr r6, r2, #0x18
+ mov r1, #0x0
+ mov r2, #0x0
+._10:
+ mov r3, sp
+ add r0, r3, r1
+ strb r2, [r0]
+ add r0, r1, #1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ cmp r1, #0x2
+ bls ._10 @cond_branch
+ mov r1, sp
+ mov r0, #0xff
+ strb r0, [r1, #0x3]
+ mov r4, #0x0
+ add r0, r5, #0
+ mov r1, #0x64
+ bl __udivsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0
+ beq ._11 @cond_branch
+ mov r1, sp
+ add r0, r0, #0xa1
+ strb r0, [r1]
+ mov r4, #0x1
+._11:
+ add r0, r5, #0
+ mov r1, #0x64
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0xa
+ bl __udivsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0
+ bne ._12 @cond_branch
+ cmp r4, #0
+ beq ._13 @cond_branch
+._12:
+ mov r1, sp
+ add r0, r0, #0xa1
+ strb r0, [r1, #0x1]
+._13:
+ mov r4, sp
+ add r0, r5, #0
+ mov r1, #0x64
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0xa
+ bl __umodsi3
+ add r0, r0, #0xa1
+ strb r0, [r4, #0x2]
+ mov r0, sp
+ add r1, r7, #0
+ add r2, r6, #0
+ bl Menu_PrintText
+ add sp, sp, #0x4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C376C
+
+ thumb_func_start debug_80C3800
+debug_80C3800:
+ push {r4, r5, r6, r7, lr}
+ add sp, sp, #0xfffffff4
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ lsl r1, r1, #0x18
+ lsr r6, r1, #0x18
+ lsl r2, r2, #0x18
+ lsr r5, r2, #0x18
+ mov r3, #0x0
+ ldr r2, ._18 @ gSpeciesNames
+ mov r1, #0x0
+._14:
+ mov r7, sp
+ add r0, r7, r3
+ strb r1, [r0]
+ add r0, r3, #1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ cmp r3, #0x9
+ bls ._14 @cond_branch
+ add r1, r7, r3
+ mov r0, #0xff
+ strb r0, [r1]
+ mov r3, #0x0
+ mov r0, #0xb
+ add r1, r4, #0
+ mul r1, r1, r0
+ add r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._16 @cond_branch
+ add r4, r2, #0
+ add r2, r1, #0
+._17:
+ mov r0, sp
+ add r1, r0, r3
+ add r0, r3, r2
+ add r0, r0, r4
+ ldrb r0, [r0]
+ strb r0, [r1]
+ add r0, r3, #1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ add r0, r3, r2
+ add r0, r0, r4
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._16 @cond_branch
+ cmp r3, #0x9
+ bls ._17 @cond_branch
+._16:
+ mov r0, sp
+ add r1, r6, #0
+ add r2, r5, #0
+ bl Menu_PrintText
+ add sp, sp, #0xc
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._19:
+ .align 2, 0
+._18:
+ .word gSpeciesNames
+
+ thumb_func_end debug_80C3800
+
+ thumb_func_start debug_80C3878
+debug_80C3878:
+ push {lr}
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ cmp r0, #0
+ beq ._20 @cond_branch
+ cmp r0, #0x1
+ beq ._21 @cond_branch
+._20:
+ cmp r1, #0x1
+ bls ._22 @cond_branch
+ sub r0, r1, #1
+ b ._23
+._22:
+ ldr r1, ._25 @ 0x19b
+ b ._28
+._26:
+ .align 2, 0
+._25:
+ .word 0x19b
+._21:
+ mov r0, #0xcd
+ lsl r0, r0, #0x1
+ cmp r1, r0
+ bhi ._27 @cond_branch
+ add r0, r1, #1
+._23:
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ b ._28
+._27:
+ mov r1, #0x1
+._28:
+ add r0, r1, #0
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_80C3878
+
+ thumb_func_start debug_80C38B4
+debug_80C38B4:
+ push {lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x10
+ lsr r0, r1, #0x10
+ cmp r2, #0
+ beq ._29 @cond_branch
+ cmp r2, #0x1
+ beq ._30 @cond_branch
+._29:
+ cmp r0, #0
+ beq ._31 @cond_branch
+ sub r0, r0, #0x1
+ b ._32
+._31:
+ mov r0, #0x52
+ b ._35
+._30:
+ cmp r0, #0x51
+ bhi ._34 @cond_branch
+ add r0, r0, #0x1
+._32:
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ b ._35
+._34:
+ mov r0, #0x0
+._35:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_80C38B4
+
+ thumb_func_start debug_80C38E4
+debug_80C38E4:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add sp, sp, #0xfffffffc
+ add r4, r2, #0
+ add r5, r3, #0
+ ldr r6, [sp, #0x1c]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r8, r0
+ lsl r1, r1, #0x18
+ lsr r7, r1, #0x18
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ lsl r6, r6, #0x18
+ lsr r6, r6, #0x18
+ ldr r1, ._37 @ gUnknown_Debug_083F7FD4
+ mov r0, sp
+ mov r2, #0x2
+ bl memcpy
+ add r0, r7, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ add r3, r5, #0
+ bl Menu_BlankWindowRect
+ cmp r6, #0
+ beq ._36 @cond_branch
+ mov r0, sp
+ add r1, r7, #0
+ mov r2, r8
+ bl Menu_PrintText
+._36:
+ add sp, sp, #0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._38:
+ .align 2, 0
+._37:
+ .word gUnknown_Debug_083F7FD4
+
+ thumb_func_end debug_80C38E4
+
+ thumb_func_start debug_80C393C
+debug_80C393C:
+ push {lr}
+ ldr r1, ._39 @ gUnknown_Debug_083F7FD6
+ mov r0, #0x1e
+ bl ProgramFlashSectorAndVerify
+ pop {r0}
+ bx r0
+._40:
+ .align 2, 0
+._39:
+ .word gUnknown_Debug_083F7FD6
+
+ thumb_func_end debug_80C393C
+
+ thumb_func_start InitWatanabeDebugMenu
+InitWatanabeDebugMenu:
+ push {r4, lr}
+ ldr r0, ._46 @ gMain
+ ldr r1, ._46 + 4 @ 0x43c
+ add r4, r0, r1
+ ldrb r0, [r4]
+ cmp r0, #0x1
+ beq ._41 @cond_branch
+ cmp r0, #0x1
+ ble ._42 @cond_branch
+ cmp r0, #0x2
+ beq ._43 @cond_branch
+ cmp r0, #0x3
+ beq ._44 @cond_branch
+._42:
+ bl save_serialize_map
+ bl sub_8125E2C
+ mov r0, #0x1
+ strb r0, [r4]
+ b ._51
+._47:
+ .align 2, 0
+._46:
+ .word gMain
+ .word 0x43c
+._41:
+ bl sub_8125E6C
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._51 @cond_branch
+ b ._49
+._43:
+ mov r0, #0x37
+ bl PlaySE
+._49:
+ ldrb r0, [r4]
+ add r0, r0, #0x1
+ strb r0, [r4]
+ b ._51
+._44:
+ bl IsSEPlaying
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._51 @cond_branch
+ bl ScriptContext2_Disable
+ ldr r0, ._52 @ sub_80546F0
+ bl SetMainCallback2
+._51:
+ pop {r4}
+ pop {r0}
+ bx r0
+._53:
+ .align 2, 0
+._52:
+ .word sub_80546F0+1
+
+ thumb_func_end InitWatanabeDebugMenu
+
+ thumb_func_start InitSizeComparison
+InitSizeComparison:
+ push {r4, lr}
+ add sp, sp, #0xfffffffc
+ bl debug_80C35DC
+ ldr r1, ._54 @ gReservedSpritePaletteCount
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r0, ._54 + 4 @ gUnknown_Debug_20389EC
+ mov r1, #0x80
+ lsl r1, r1, #0x1
+ mov r2, #0x20
+ bl LoadPalette
+ ldr r3, ._54 + 8 @ 0x4000208
+ ldrh r2, [r3]
+ mov r0, #0x0
+ strh r0, [r3]
+ ldr r4, ._54 + 12 @ 0x4000200
+ ldrh r0, [r4]
+ mov r1, #0x1
+ orr r0, r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x0
+ str r1, [sp]
+ mov r2, #0x10
+ mov r3, #0x0
+ bl BeginNormalPaletteFade
+ ldr r0, ._54 + 16 @ debug_80C3758
+ bl SetVBlankCallback
+ ldr r0, ._54 + 20 @ debug_80C370C
+ bl SetMainCallback2
+ mov r1, #0x80
+ lsl r1, r1, #0x13
+ mov r2, #0x8a
+ lsl r2, r2, #0x5
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r0, ._54 + 24 @ debug_80C3A50
+ mov r1, #0x0
+ bl CreateTask
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._54 + 28 @ gTasks
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ mov r0, #0xfc
+ strh r0, [r1, #0x8]
+ add sp, sp, #0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+._55:
+ .align 2, 0
+._54:
+ .word gReservedSpritePaletteCount
+ .word gUnknown_Debug_20389EC
+ .word 0x4000208
+ .word 0x4000200
+ .word debug_80C3758+1
+ .word debug_80C370C+1
+ .word debug_80C3A50+1
+ .word gTasks
+
+ thumb_func_end InitSizeComparison
+
+ thumb_func_start debug_80C3A50
+debug_80C3A50:
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6, r7}
+ add sp, sp, #0xffffffd8
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r1, ._56 @ gTasks
+ lsl r2, r0, #0x2
+ add r0, r2, r0
+ lsl r0, r0, #0x3
+ add r7, r0, r1
+ ldrh r0, [r7, #0x8]
+ str r0, [sp, #0x4]
+ bl NationalPokedexNumToSpecies
+ mov r1, sp
+ strh r0, [r1, #0x8]
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ str r2, [sp, #0xc]
+ lsr r2, r2, #0x10
+ mov r9, r2
+ ldr r3, ._56 + 4 @ gSaveBlock2
+ mov r8, r3
+ mov r0, #0x6
+ mov r1, #0x0
+ mov r2, #0x17
+ mov r3, #0x9
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x5
+ mov r3, #0x9
+ bl Menu_DrawStdWindowFrame
+ ldr r5, ._56 + 8 @ gUnknown_Debug_083F7FD6
+ add r0, r5, #0
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r4, ._56 + 12 @ gUnknown_Debug_083F7FDE
+ add r0, r4, #0
+ mov r1, #0x1
+ mov r2, #0x5
+ bl Menu_PrintText
+ mov r0, #0x18
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x9
+ bl Menu_DrawStdWindowFrame
+ add r0, r5, #0
+ mov r1, #0x19
+ mov r2, #0x1
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0x19
+ mov r2, #0x5
+ bl Menu_PrintText
+ mov r0, #0x0
+ mov r1, #0xa
+ mov r2, #0xb
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._56 + 16 @ gUnknown_Debug_083F7FE2
+ mov r1, #0x1
+ mov r2, #0xb
+ bl Menu_PrintText
+ ldr r0, ._56 + 20 @ gUnknown_Debug_083F7FED
+ mov r1, #0x1
+ mov r2, #0xd
+ bl Menu_PrintText
+ ldr r0, ._56 + 24 @ gUnknown_Debug_083F7FF6
+ mov r1, #0x1
+ mov r2, #0xf
+ bl Menu_PrintText
+ ldr r0, ._56 + 28 @ gUnknown_Debug_083F8001
+ mov r1, #0x1
+ mov r2, #0x11
+ bl Menu_PrintText
+ mov r0, #0xc
+ mov r1, #0xa
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._56 + 32 @ gUnknown_Debug_083F800C
+ mov r1, #0xd
+ mov r2, #0xb
+ bl Menu_PrintText
+ ldr r0, ._56 + 36 @ gUnknown_Debug_083F8019
+ mov r1, #0xd
+ mov r2, #0xd
+ bl Menu_PrintText
+ mov r0, #0xc
+ mov r1, #0x10
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._56 + 40 @ gUnknown_Debug_083F8022
+ mov r1, #0xd
+ mov r2, #0x11
+ bl Menu_PrintText
+ ldr r0, ._56 + 44 @ gUnknown_Debug_083F8028
+ mov r1, #0x18
+ mov r2, #0x11
+ bl Menu_PrintText
+ mov r0, r9
+ mov r1, #0x12
+ mov r2, #0x11
+ bl debug_80C3800
+ mov r1, r8
+ ldrb r0, [r1, #0x8]
+ mov r1, #0x98
+ mov r2, #0x28
+ mov r3, #0x0
+ bl sub_8091A4C
+ mov r2, sp
+ strh r0, [r2, #0x10]
+ add r3, r0, #0
+ lsl r3, r3, #0x10
+ str r3, [sp, #0x18]
+ lsr r0, r3, #0x10
+ str r0, [sp, #0x14]
+ lsl r4, r0, #0x4
+ add r4, r4, r0
+ lsl r4, r4, #0x2
+ ldr r1, ._56 + 48 @ gSprites
+ add r4, r4, r1
+ ldrb r1, [r4, #0x1]
+ mov r2, #0x4
+ neg r2, r2
+ mov sl, r2
+ mov r0, sl
+ and r0, r0, r1
+ mov r3, #0x1
+ orr r0, r0, r3
+ strb r0, [r4, #0x1]
+ ldrb r1, [r4, #0x3]
+ mov r0, #0x3f
+ neg r0, r0
+ mov r9, r0
+ and r0, r0, r1
+ mov r1, #0x4
+ orr r0, r0, r1
+ strb r0, [r4, #0x3]
+ ldrb r1, [r4, #0x5]
+ sub r2, r2, #0x9
+ mov r8, r2
+ mov r0, r8
+ and r0, r0, r1
+ mov r3, #0xf
+ and r0, r0, r3
+ strb r0, [r4, #0x5]
+ mov r0, #0x0
+ bl GetSpritePaletteTagByPaletteNum
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FreeSpritePaletteByTag
+ ldr r0, ._56 + 52 @ gPokedexEntries
+ ldr r1, [sp, #0x4]
+ lsl r5, r1, #0x3
+ add r5, r5, r1
+ lsl r5, r5, #0x2
+ add r5, r5, r0
+ ldrh r6, [r5, #0x20]
+ strh r6, [r4, #0x26]
+ ldrh r4, [r5, #0x1e]
+ str r4, [sp]
+ mov r0, #0x2
+ add r1, r4, #0
+ mov r2, #0x0
+ mov r3, #0x0
+ bl SetOamMatrix
+ mov r2, sp
+ ldrh r2, [r2, #0x14]
+ strh r2, [r7, #0xe]
+ strh r6, [r7, #0x10]
+ strh r4, [r7, #0x14]
+ ldr r0, [sp, #0x4]
+ mov r1, #0x58
+ mov r2, #0x28
+ mov r3, #0x1
+ bl sub_80918EC
+ mov r3, sp
+ strh r0, [r3, #0x1c]
+ lsl r0, r0, #0x10
+ str r0, [sp, #0x24]
+ lsr r1, r0, #0x10
+ str r1, [sp, #0x20]
+ lsl r4, r1, #0x4
+ add r4, r4, r1
+ lsl r4, r4, #0x2
+ ldr r2, ._56 + 48 @ gSprites
+ add r4, r4, r2
+ ldrb r0, [r4, #0x1]
+ mov r3, sl
+ and r3, r3, r0
+ mov r0, #0x1
+ orr r3, r3, r0
+ strb r3, [r4, #0x1]
+ ldrb r0, [r4, #0x3]
+ mov r1, r9
+ and r1, r1, r0
+ mov r0, #0x2
+ orr r1, r1, r0
+ strb r1, [r4, #0x3]
+ ldrb r0, [r4, #0x5]
+ mov r2, r8
+ and r2, r2, r0
+ mov r3, #0xf
+ and r2, r2, r3
+ strb r2, [r4, #0x5]
+ mov r0, #0x0
+ bl GetSpritePaletteTagByPaletteNum
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FreeSpritePaletteByTag
+ ldrh r0, [r5, #0x1c]
+ mov r8, r0
+ strh r0, [r4, #0x26]
+ ldrh r4, [r5, #0x1a]
+ str r4, [sp]
+ mov r0, #0x1
+ add r1, r4, #0
+ mov r2, #0x0
+ mov r3, #0x0
+ bl SetOamMatrix
+ mov r1, sp
+ ldrh r1, [r1, #0x20]
+ strh r1, [r7, #0xc]
+ mov r2, r8
+ strh r2, [r7, #0x12]
+ strh r4, [r7, #0x16]
+ mov r3, #0x0
+ strh r3, [r7, #0x18]
+ strh r3, [r7, #0x1a]
+ ldr r1, ._56 + 56 @ 0x4000048
+ ldr r2, ._56 + 60 @ 0x3f1f
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x2
+ mov r0, #0x1f
+ strh r0, [r1]
+ ldr r2, ._56 + 64 @ 0x4000040
+ mov r3, #0x18
+ ldsh r1, [r7, r3]
+ lsl r1, r1, #0x6
+ add r0, r1, #0
+ add r0, r0, #0x38
+ lsl r0, r0, #0x8
+ add r1, r1, #0x78
+ add r0, r0, r1
+ strh r0, [r2]
+ ldr r1, ._56 + 68 @ 0x4000044
+ ldr r2, ._56 + 72 @ 0x848
+ add r0, r2, #0
+ strh r0, [r1]
+ sub r1, r1, #0x2
+ ldr r3, ._56 + 76 @ 0x31bf
+ add r0, r3, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._56 + 80 @ 0x14f
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0xa
+ mov r0, #0xe1
+ strh r0, [r1]
+ ldr r0, ._56 + 84 @ 0x4000052
+ mov r3, #0x0
+ strh r3, [r0]
+ add r1, r1, #0x4
+ mov r0, #0x7
+ strh r0, [r1]
+ mov r2, #0x80
+ lsl r2, r2, #0x13
+ ldrh r0, [r2]
+ mov r3, #0xc0
+ lsl r3, r3, #0x7
+ add r1, r3, #0
+ orr r0, r0, r1
+ strh r0, [r2]
+ ldr r0, ._56 + 88 @ debug_80C3D2C
+ str r0, [r7]
+ add sp, sp, #0x28
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._57:
+ .align 2, 0
+._56:
+ .word gTasks
+ .word gSaveBlock2
+ .word gUnknown_Debug_083F7FD6+0x4
+ .word gUnknown_Debug_083F7FDE
+ .word gUnknown_Debug_083F7FE2
+ .word gUnknown_Debug_083F7FED
+ .word gUnknown_Debug_083F7FF6
+ .word gUnknown_Debug_083F8001
+ .word gUnknown_Debug_083F800C
+ .word gUnknown_Debug_083F8019
+ .word gUnknown_Debug_083F8022
+ .word gUnknown_Debug_083F8028
+ .word gSprites
+ .word gPokedexEntries
+ .word 0x4000048
+ .word 0x3f1f
+ .word 0x4000040
+ .word 0x4000044
+ .word 0x848
+ .word 0x31bf
+ .word 0x14f
+ .word 0x4000052
+ .word debug_80C3D2C+1
+
+ thumb_func_end debug_80C3A50
+
+ thumb_func_start debug_80C3D2C
+debug_80C3D2C:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r7, r6, #0
+ ldr r4, ._60 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._58 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x0
+ str r1, [sp]
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldr r0, ._60 + 4 @ debug_80C370C
+ bl SetMainCallback2
+ ldr r1, ._60 + 8 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._60 + 12 @ debug_80C373C
+ str r1, [r0]
+ b ._117
+._61:
+ .align 2, 0
+._60:
+ .word gMain
+ .word debug_80C370C+1
+ .word gTasks
+ .word debug_80C373C+1
+._58:
+ mov r5, #0x1
+ add r0, r5, #0
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._62 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._64 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldrh r1, [r0, #0x18]
+ mov r2, #0x1
+ eor r1, r1, r2
+ strh r1, [r0, #0x18]
+ b ._117
+._65:
+ .align 2, 0
+._64:
+ .word gTasks
+._62:
+ ldrh r1, [r4, #0x30]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._66 @cond_branch
+ ldr r1, ._70 @ gTasks
+ lsl r2, r6, #0x2
+ add r0, r2, r6
+ lsl r0, r0, #0x3
+ add r3, r0, r1
+ mov r5, #0x18
+ ldsh r0, [r3, r5]
+ mov r8, r1
+ cmp r0, #0
+ beq ._67 @cond_branch
+ ldrh r1, [r4, #0x2c]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._68 @cond_branch
+ ldrh r0, [r3, #0x14]
+ add r0, r0, #0x10
+ b ._69
+._71:
+ .align 2, 0
+._70:
+ .word gTasks
+._68:
+ ldrh r0, [r3, #0x14]
+ add r0, r0, #0x1
+._69:
+ strh r0, [r3, #0x14]
+ add r0, r2, r7
+ lsl r0, r0, #0x3
+ mov r2, r8
+ add r1, r0, r2
+ ldrh r0, [r1, #0x14]
+ mov r6, #0x80
+ lsl r6, r6, #0x8
+ cmp r0, r6
+ bhi ._72 @cond_branch
+ b ._117
+._72:
+ strh r6, [r1, #0x14]
+ b ._117
+._67:
+ ldrh r1, [r4, #0x2c]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._75 @cond_branch
+ ldrh r0, [r3, #0x16]
+ add r0, r0, #0x10
+ b ._76
+._75:
+ ldrh r0, [r3, #0x16]
+ add r0, r0, #0x1
+._76:
+ strh r0, [r3, #0x16]
+ add r0, r2, r7
+ lsl r0, r0, #0x3
+ mov r4, r8
+ add r1, r0, r4
+ ldrh r0, [r1, #0x16]
+ mov r6, #0x80
+ lsl r6, r6, #0x8
+ cmp r0, r6
+ bhi ._77 @cond_branch
+ b ._117
+._77:
+ strh r6, [r1, #0x16]
+ b ._117
+._66:
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._80 @cond_branch
+ ldr r1, ._84 @ gTasks
+ lsl r2, r6, #0x2
+ add r0, r2, r6
+ lsl r0, r0, #0x3
+ add r3, r0, r1
+ mov r5, #0x18
+ ldsh r0, [r3, r5]
+ mov r8, r1
+ cmp r0, #0
+ beq ._81 @cond_branch
+ ldrh r1, [r4, #0x2c]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._82 @cond_branch
+ ldrh r0, [r3, #0x14]
+ sub r0, r0, #0x10
+ b ._83
+._85:
+ .align 2, 0
+._84:
+ .word gTasks
+._82:
+ ldrh r0, [r3, #0x14]
+ sub r0, r0, #0x1
+._83:
+ strh r0, [r3, #0x14]
+ add r0, r2, r7
+ lsl r0, r0, #0x3
+ mov r2, r8
+ add r1, r0, r2
+ mov r4, #0x14
+ ldsh r0, [r1, r4]
+ cmp r0, #0xff
+ ble ._86 @cond_branch
+ b ._117
+._86:
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ strh r0, [r1, #0x14]
+ b ._117
+._81:
+ ldrh r1, [r4, #0x2c]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._89 @cond_branch
+ ldrh r0, [r3, #0x16]
+ sub r0, r0, #0x10
+ b ._90
+._89:
+ ldrh r0, [r3, #0x16]
+ sub r0, r0, #0x1
+._90:
+ strh r0, [r3, #0x16]
+ add r0, r2, r7
+ lsl r0, r0, #0x3
+ mov r5, r8
+ add r1, r0, r5
+ mov r2, #0x16
+ ldsh r0, [r1, r2]
+ cmp r0, #0xff
+ ble ._91 @cond_branch
+ b ._117
+._91:
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ strh r0, [r1, #0x16]
+ b ._117
+._80:
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._94 @cond_branch
+ ldr r0, ._97 @ gTasks
+ lsl r1, r6, #0x2
+ add r1, r1, r6
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ mov r4, #0x18
+ ldsh r0, [r1, r4]
+ cmp r0, #0
+ beq ._95 @cond_branch
+ ldrh r0, [r1, #0x10]
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x10]
+ b ._117
+._98:
+ .align 2, 0
+._97:
+ .word gTasks
+._95:
+ ldrh r0, [r1, #0x12]
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x12]
+ b ._117
+._94:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._100 @cond_branch
+ ldr r0, ._103 @ gTasks
+ lsl r1, r6, #0x2
+ add r1, r1, r6
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ mov r5, #0x18
+ ldsh r0, [r1, r5]
+ cmp r0, #0
+ beq ._101 @cond_branch
+ ldrh r0, [r1, #0x10]
+ add r0, r0, #0x1
+ strh r0, [r1, #0x10]
+ b ._117
+._104:
+ .align 2, 0
+._103:
+ .word gTasks
+._101:
+ ldrh r0, [r1, #0x12]
+ add r0, r0, #0x1
+ strh r0, [r1, #0x12]
+ b ._117
+._100:
+ mov r0, #0x8
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._106 @cond_branch
+ ldr r2, ._109 @ gTasks
+ lsl r3, r6, #0x2
+ add r0, r3, r6
+ lsl r0, r0, #0x3
+ add r6, r0, r2
+ ldrh r4, [r6, #0x8]
+ mov r0, #0x8
+ ldsh r1, [r6, r0]
+ ldr r0, ._109 + 4 @ 0x181
+ mov r8, r2
+ add r2, r3, #0
+ cmp r1, r0
+ bgt ._107 @cond_branch
+ add r0, r4, #1
+ strh r0, [r6, #0x8]
+ b ._108
+._110:
+ .align 2, 0
+._109:
+ .word gTasks
+ .word 0x181
+._107:
+ strh r5, [r6, #0x8]
+._108:
+ add r4, r2, r7
+ lsl r4, r4, #0x3
+ add r4, r4, r8
+ mov r2, #0xc
+ ldsh r1, [r4, r2]
+ b ._111
+._106:
+ mov r0, #0x4
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._112 @cond_branch
+ ldr r1, ._115 @ gTasks
+ lsl r2, r6, #0x2
+ add r0, r2, r6
+ lsl r0, r0, #0x3
+ add r3, r0, r1
+ ldrh r6, [r3, #0x8]
+ mov r4, #0x8
+ ldsh r0, [r3, r4]
+ mov r8, r1
+ cmp r0, #0x1
+ ble ._113 @cond_branch
+ sub r0, r6, #1
+ b ._114
+._116:
+ .align 2, 0
+._115:
+ .word gTasks
+._113:
+ mov r0, #0xc1
+ lsl r0, r0, #0x1
+._114:
+ strh r0, [r3, #0x8]
+ add r4, r2, r7
+ lsl r4, r4, #0x3
+ add r4, r4, r8
+ mov r5, #0xc
+ ldsh r1, [r4, r5]
+._111:
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ ldr r5, ._118 @ gSprites
+ add r0, r0, r5
+ bl DestroySprite
+ mov r0, #0xe
+ ldsh r1, [r4, r0]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r5
+ bl DestroySprite
+ ldr r0, ._118 + 4 @ debug_80C3A50
+ str r0, [r4]
+ b ._117
+._119:
+ .align 2, 0
+._118:
+ .word gSprites
+ .word debug_80C3A50+1
+._112:
+ ldr r0, ._120 @ gTasks
+ lsl r5, r7, #0x2
+ add r5, r5, r7
+ lsl r5, r5, #0x3
+ add r5, r5, r0
+ ldrh r4, [r5, #0x16]
+ ldrh r6, [r5, #0x12]
+ str r4, [sp]
+ mov r0, #0x1
+ add r1, r4, #0
+ mov r2, #0x0
+ mov r3, #0x0
+ bl SetOamMatrix
+ add r0, r4, #0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x4
+ bl debug_80C68CC
+ add r0, r6, #0
+ mov r1, #0x1
+ mov r2, #0x7
+ mov r3, #0x4
+ bl debug_80C68CC
+ ldr r2, ._120 + 4 @ gSprites
+ mov r8, r2
+ mov r4, #0xc
+ ldsh r1, [r5, r4]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r8
+ strh r6, [r0, #0x26]
+ ldrh r4, [r5, #0x14]
+ ldrh r6, [r5, #0x10]
+ str r4, [sp]
+ mov r0, #0x2
+ add r1, r4, #0
+ mov r2, #0x0
+ mov r3, #0x0
+ bl SetOamMatrix
+ add r0, r4, #0
+ mov r1, #0x19
+ mov r2, #0x3
+ mov r3, #0x4
+ bl debug_80C68CC
+ add r0, r6, #0
+ mov r1, #0x19
+ mov r2, #0x7
+ mov r3, #0x4
+ bl debug_80C68CC
+ mov r0, #0xe
+ ldsh r1, [r5, r0]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r8
+ strh r6, [r0, #0x26]
+ ldr r2, ._120 + 8 @ 0x4000040
+ mov r4, #0x18
+ ldsh r1, [r5, r4]
+ lsl r1, r1, #0x6
+ add r0, r1, #0
+ add r0, r0, #0x38
+ lsl r0, r0, #0x8
+ add r1, r1, #0x78
+ add r0, r0, r1
+ strh r0, [r2]
+._117:
+ add sp, sp, #0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._121:
+ .align 2, 0
+._120:
+ .word gTasks
+ .word gSprites
+ .word 0x4000040
+
+ thumb_func_end debug_80C3D2C
+
+ thumb_func_start debug_80C405C
+debug_80C405C:
+ push {r4, r5, lr}
+ add r4, r0, #0
+ lsl r1, r1, #0x10
+ lsr r5, r1, #0x10
+ mov r2, #0x0
+ mov r1, #0x0
+._122:
+ add r0, r4, r2
+ strb r1, [r0]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x9
+ bls ._122 @cond_branch
+ add r0, r4, r2
+ mov r1, #0xff
+ strb r1, [r0]
+ mov r0, #0xae
+ strb r0, [r4]
+ cmp r5, #0
+ beq ._125 @cond_branch
+ mov r2, #0x0
+ ldr r3, ._127 @ gSpeciesNames
+ mov r0, #0xb
+ add r1, r5, #0
+ mul r1, r1, r0
+ add r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._125 @cond_branch
+ add r5, r3, #0
+ add r3, r1, #0
+._126:
+ add r1, r4, r2
+ add r0, r2, r3
+ add r0, r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ add r0, r2, r3
+ add r0, r0, r5
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._125 @cond_branch
+ cmp r2, #0x9
+ bls ._126 @cond_branch
+._125:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._128:
+ .align 2, 0
+._127:
+ .word gSpeciesNames
+
+ thumb_func_end debug_80C405C
+
+ thumb_func_start debug_80C40C4
+debug_80C40C4:
+ push {r4, r5, r6, r7, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ mov r5, #0x0
+ mov r6, sp
+._135:
+ cmp r7, #0
+ beq ._129 @cond_branch
+ mov r0, #0x64
+ add r1, r5, #0
+ mul r1, r1, r0
+ ldr r0, ._132 @ gEnemyParty
+ add r4, r1, r0
+ add r0, r4, #0
+ mov r1, #0xb
+ bl GetMonData
+ cmp r0, #0
+ beq ._134 @cond_branch
+ add r0, r4, #0
+ bl CalculateMonStats
+ add r0, r4, #0
+ mov r1, #0x3a
+ bl GetMonData
+ strh r0, [r6]
+ add r0, r4, #0
+ mov r1, #0x39
+ mov r2, sp
+ bl SetMonData
+ b ._134
+._133:
+ .align 2, 0
+._132:
+ .word gEnemyParty
+._129:
+ mov r0, #0x64
+ add r1, r5, #0
+ mul r1, r1, r0
+ ldr r0, ._136 @ gPlayerParty
+ add r4, r1, r0
+ add r0, r4, #0
+ mov r1, #0xb
+ bl GetMonData
+ cmp r0, #0
+ beq ._134 @cond_branch
+ add r0, r4, #0
+ bl CalculateMonStats
+ add r0, r4, #0
+ mov r1, #0x3a
+ bl GetMonData
+ strh r0, [r6]
+ add r0, r4, #0
+ mov r1, #0x39
+ mov r2, sp
+ bl SetMonData
+._134:
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x5
+ bls ._135 @cond_branch
+ add sp, sp, #0x4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._137:
+ .align 2, 0
+._136:
+ .word gPlayerParty
+
+ thumb_func_end debug_80C40C4
+
+ thumb_func_start InitBattleForDebug
+InitBattleForDebug:
+ push {lr}
+ bl SavePlayerParty
+ ldr r1, ._138 @ gUnknown_Debug_2038A0C
+ ldr r0, ._138 + 4 @ gSaveBlock2
+ ldrb r2, [r0, #0x8]
+ mov r0, #0x0
+ strb r2, [r1, #0xd]
+ strb r0, [r1]
+ strb r0, [r1, #0x1]
+ strb r0, [r1, #0x2]
+ strb r0, [r1, #0x3]
+ strb r0, [r1, #0x4]
+ strb r0, [r1, #0x5]
+ strb r0, [r1, #0x6]
+ strb r0, [r1, #0x7]
+ strb r0, [r1, #0x8]
+ strb r0, [r1, #0xc]
+ ldr r1, ._138 + 8 @ byte_3005E30
+ str r0, [r1]
+ bl ZeroPlayerPartyMons
+ bl ZeroEnemyPartyMons
+ mov r0, #0x0
+ bl debug_80C4214
+ ldr r0, ._138 + 12 @ debug_80C47BC
+ mov r1, #0x0
+ bl CreateTask
+ pop {r0}
+ bx r0
+._139:
+ .align 2, 0
+._138:
+ .word gUnknown_Debug_2038A0C
+ .word gSaveBlock2
+ .word byte_3005E30
+ .word debug_80C47BC+1
+
+ thumb_func_end InitBattleForDebug
+
+ thumb_func_start debug_80C41A8
+debug_80C41A8:
+ push {lr}
+ ldr r1, ._140 @ gUnknown_Debug_2038A0C
+ mov r0, #0x0
+ strb r0, [r1, #0x1]
+ strb r0, [r1, #0x2]
+ bl ZeroPlayerPartyMons
+ bl ZeroEnemyPartyMons
+ mov r0, #0x0
+ bl debug_80C4214
+ ldr r0, ._140 + 4 @ debug_80C47BC
+ mov r1, #0x0
+ bl CreateTask
+ pop {r0}
+ bx r0
+._141:
+ .align 2, 0
+._140:
+ .word gUnknown_Debug_2038A0C
+ .word debug_80C47BC+1
+
+ thumb_func_end debug_80C41A8
+
+ thumb_func_start debug_80C41D4
+debug_80C41D4:
+ push {lr}
+ mov r0, #0x0
+ bl debug_80C40C4
+ mov r0, #0x0
+ bl debug_80C4214
+ ldr r0, ._142 @ debug_80C42B8
+ mov r1, #0x0
+ bl CreateTask
+ pop {r0}
+ bx r0
+._143:
+ .align 2, 0
+._142:
+ .word debug_80C42B8+1
+
+ thumb_func_end debug_80C41D4
+
+ thumb_func_start debug_80C41F4
+debug_80C41F4:
+ push {lr}
+ mov r0, #0x1
+ bl debug_80C40C4
+ mov r0, #0x1
+ bl debug_80C4214
+ ldr r0, ._144 @ debug_80C42B8
+ mov r1, #0x0
+ bl CreateTask
+ pop {r0}
+ bx r0
+._145:
+ .align 2, 0
+._144:
+ .word debug_80C42B8+1
+
+ thumb_func_end debug_80C41F4
+
+ thumb_func_start debug_80C4214
+debug_80C4214:
+ push {r4, r5, r6, lr}
+ bl debug_80C35DC
+ ldr r6, ._146 @ 0x4000040
+ mov r4, #0x0
+ strh r4, [r6]
+ ldr r5, ._146 + 4 @ 0x4000044
+ strh r4, [r5]
+ ldr r0, ._146 + 8 @ 0x4000042
+ strh r4, [r0]
+ add r0, r0, #0x4
+ strh r4, [r0]
+ ldr r1, ._146 + 12 @ 0x4000048
+ ldr r2, ._146 + 16 @ 0x1111
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x2
+ mov r0, #0x31
+ strh r0, [r1]
+ add r1, r1, #0x6
+ mov r0, #0xe1
+ strh r0, [r1]
+ ldr r0, ._146 + 20 @ 0x4000052
+ strh r4, [r0]
+ add r1, r1, #0x4
+ mov r0, #0x7
+ strh r0, [r1]
+ ldr r3, ._146 + 24 @ 0x4000208
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, ._146 + 28 @ 0x4000200
+ ldrh r0, [r4]
+ mov r1, #0x1
+ orr r0, r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r0, ._146 + 32 @ debug_80C3758
+ bl SetVBlankCallback
+ ldr r0, ._146 + 36 @ debug_80C370C
+ bl SetMainCallback2
+ mov r1, #0x80
+ lsl r1, r1, #0x13
+ ldr r2, ._146 + 40 @ 0x7140
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._146 + 44 @ 0x1ef
+ add r0, r1, #0
+ strh r0, [r6]
+ ldr r2, ._146 + 48 @ 0x819f
+ add r0, r2, #0
+ strh r0, [r5]
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._147:
+ .align 2, 0
+._146:
+ .word 0x4000040
+ .word 0x4000044
+ .word 0x4000042
+ .word 0x4000048
+ .word 0x1111
+ .word 0x4000052
+ .word 0x4000208
+ .word 0x4000200
+ .word debug_80C3758+1
+ .word debug_80C370C+1
+ .word 0x7140
+ .word 0x1ef
+ .word 0x819f
+
+ thumb_func_end debug_80C4214
+
+ thumb_func_start debug_80C42B8
+debug_80C42B8:
+ push {r4, r5, lr}
+ add sp, sp, #0xffffffe4
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r1, ._150 @ gUnknown_Debug_083F8194
+ mov r0, sp
+ mov r2, #0xc
+ bl memcpy
+ add r4, sp, #0xc
+ ldr r1, ._150 + 4 @ gUnknown_Debug_083F81A0
+ add r0, r4, #0
+ mov r2, #0xd
+ bl memcpy
+ mov r0, #0x0
+ mov r1, #0x10
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r0, sp
+ mov r1, #0x1
+ mov r2, #0x11
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0x14
+ mov r2, #0x11
+ bl Menu_PrintText
+ bl debug_80C4694
+ bl debug_80C4704
+ ldr r0, ._150 + 8 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._148 @cond_branch
+ ldr r0, ._150 + 12 @ gTasks
+ lsl r1, r5, #0x2
+ add r1, r1, r5
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._150 + 16 @ debug_80C44EC
+ b ._149
+._151:
+ .align 2, 0
+._150:
+ .word gUnknown_Debug_083F8194
+ .word gUnknown_Debug_083F81A0
+ .word gUnknown_Debug_2038A0C
+ .word gTasks
+ .word debug_80C44EC+1
+._148:
+ ldr r0, ._152 @ gTasks
+ lsl r1, r5, #0x2
+ add r1, r1, r5
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._152 + 4 @ debug_80C4348
+._149:
+ str r0, [r1]
+ add sp, sp, #0x1c
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._153:
+ .align 2, 0
+._152:
+ .word gTasks
+ .word debug_80C4348+1
+
+ thumb_func_end debug_80C42B8
+
+ thumb_func_start debug_80C4348
+debug_80C4348:
+ push {r4, lr}
+ add sp, sp, #0xfffffffc
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r0, ._154 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x19
+ mov r1, #0xc0
+ lsl r1, r1, #0x12
+ add r0, r0, r1
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ str r1, [sp]
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r1, ._154 + 4 @ 0x4000042
+ ldr r2, ._154 + 8 @ 0x177
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ add r2, r2, #0x8
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._154 + 12 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._154 + 16 @ debug_80C43A8
+ str r1, [r0]
+ add sp, sp, #0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+._155:
+ .align 2, 0
+._154:
+ .word gUnknown_Debug_2038A0C
+ .word 0x4000042
+ .word 0x177
+ .word gTasks
+ .word debug_80C43A8+1
+
+ thumb_func_end debug_80C4348
+
+ thumb_func_start debug_80C43A8
+debug_80C43A8:
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r1, ._158 @ gMain
+ ldrh r2, [r1, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r2
+ add r3, r1, #0
+ cmp r0, #0
+ beq ._156 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._158 + 4 @ gUnknown_Debug_2038A0C
+ ldrb r1, [r0, #0x1]
+ mov r0, #0x64
+ mul r0, r0, r1
+ ldr r1, ._158 + 8 @ gPlayerParty
+ add r0, r0, r1
+ ldr r1, ._158 + 12 @ debug_80C41D4
+ bl debug_sub_80A433C
+ add r0, r4, #0
+ bl DestroyTask
+ b ._180
+._159:
+ .align 2, 0
+._158:
+ .word gMain
+ .word gUnknown_Debug_2038A0C
+ .word gPlayerParty
+ .word debug_80C41D4+1
+._156:
+ mov r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._160 @cond_branch
+ ldr r0, ._162 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._162 + 4 @ debug_80C4F48
+ str r0, [r1]
+ b ._180
+._163:
+ .align 2, 0
+._162:
+ .word gTasks
+ .word debug_80C4F48+1
+._160:
+ mov r0, #0x8
+ and r0, r0, r2
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ cmp r1, #0
+ beq ._164 @cond_branch
+ bl debug_80C4774
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._180 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ bl CalculatePlayerPartyCount
+ bl CalculateEnemyPartyCount
+ ldr r0, ._167 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._167 + 4 @ debug_80C4D14
+ str r0, [r1]
+ b ._180
+._168:
+ .align 2, 0
+._167:
+ .word gTasks
+ .word debug_80C4D14+1
+._164:
+ mov r0, #0x88
+ lsl r0, r0, #0x1
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._169 @cond_branch
+ str r1, [sp]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r0, ._171 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._171 + 4 @ debug_80C44EC
+ str r0, [r1]
+ b ._180
+._172:
+ .align 2, 0
+._171:
+ .word gTasks
+ .word debug_80C44EC+1
+._169:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._174 @cond_branch
+ ldr r1, ._176 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r1, #0x1]
+ cmp r0, #0
+ beq ._174 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1, #0x1]
+ b ._175
+._177:
+ .align 2, 0
+._176:
+ .word gUnknown_Debug_2038A0C
+._174:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._180 @cond_branch
+ ldr r5, ._181 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r5, #0x1]
+ cmp r0, #0x4
+ bhi ._180 @cond_branch
+ add r1, r0, #0
+ mov r0, #0x64
+ mul r0, r0, r1
+ ldr r1, ._181 + 4 @ gPlayerParty
+ add r0, r0, r1
+ mov r1, #0xb
+ bl GetMonData
+ cmp r0, #0
+ beq ._180 @cond_branch
+ ldrb r0, [r5, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r5, #0x1]
+._175:
+ ldr r1, ._181 + 8 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._181 + 12 @ debug_80C4348
+ str r1, [r0]
+._180:
+ add sp, sp, #0x4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._182:
+ .align 2, 0
+._181:
+ .word gUnknown_Debug_2038A0C
+ .word gPlayerParty
+ .word gTasks
+ .word debug_80C4348+1
+
+ thumb_func_end debug_80C43A8
+
+ thumb_func_start debug_80C44EC
+debug_80C44EC:
+ push {r4, lr}
+ add sp, sp, #0xfffffffc
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r0, ._183 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x2]
+ lsl r0, r0, #0x19
+ mov r1, #0xc0
+ lsl r1, r1, #0x12
+ add r0, r0, r1
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ str r1, [sp]
+ mov r1, #0x10
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r1, ._183 + 4 @ 0x4000042
+ ldr r2, ._183 + 8 @ 0x79ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._183 + 12 @ 0x17f
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._183 + 16 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._183 + 20 @ debug_80C4550
+ str r1, [r0]
+ add sp, sp, #0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+._184:
+ .align 2, 0
+._183:
+ .word gUnknown_Debug_2038A0C
+ .word 0x4000042
+ .word 0x79ef
+ .word 0x17f
+ .word gTasks
+ .word debug_80C4550+1
+
+ thumb_func_end debug_80C44EC
+
+ thumb_func_start debug_80C4550
+debug_80C4550:
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r1, ._187 @ gMain
+ ldrh r2, [r1, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r2
+ add r3, r1, #0
+ cmp r0, #0
+ beq ._185 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r0, ._187 + 4 @ gUnknown_Debug_2038A0C
+ ldrb r1, [r0, #0x2]
+ mov r0, #0x64
+ mul r0, r0, r1
+ ldr r1, ._187 + 8 @ gEnemyParty
+ add r0, r0, r1
+ ldr r1, ._187 + 12 @ debug_80C41F4
+ bl debug_sub_80A433C
+ add r0, r4, #0
+ bl DestroyTask
+ b ._209
+._188:
+ .align 2, 0
+._187:
+ .word gMain
+ .word gUnknown_Debug_2038A0C
+ .word gEnemyParty
+ .word debug_80C41F4+1
+._185:
+ mov r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._189 @cond_branch
+ ldr r0, ._191 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._191 + 4 @ debug_80C4F48
+ str r0, [r1]
+ b ._209
+._192:
+ .align 2, 0
+._191:
+ .word gTasks
+ .word debug_80C4F48+1
+._189:
+ mov r0, #0x8
+ and r0, r0, r2
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ cmp r1, #0
+ beq ._193 @cond_branch
+ bl debug_80C4774
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._209 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ bl CalculatePlayerPartyCount
+ bl CalculateEnemyPartyCount
+ ldr r0, ._196 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._196 + 4 @ debug_80C4D14
+ str r0, [r1]
+ b ._209
+._197:
+ .align 2, 0
+._196:
+ .word gTasks
+ .word debug_80C4D14+1
+._193:
+ mov r0, #0x88
+ lsl r0, r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._198 @cond_branch
+ str r1, [sp]
+ mov r0, #0x0
+ mov r1, #0x10
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r0, ._200 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._200 + 4 @ debug_80C4348
+ str r0, [r1]
+ b ._209
+._201:
+ .align 2, 0
+._200:
+ .word gTasks
+ .word debug_80C4348+1
+._198:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._203 @cond_branch
+ ldr r1, ._205 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r1, #0x2]
+ cmp r0, #0
+ beq ._203 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1, #0x2]
+ b ._204
+._206:
+ .align 2, 0
+._205:
+ .word gUnknown_Debug_2038A0C
+._203:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._209 @cond_branch
+ ldr r5, ._210 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r5, #0x2]
+ cmp r0, #0x4
+ bhi ._209 @cond_branch
+ add r1, r0, #0
+ mov r0, #0x64
+ mul r0, r0, r1
+ ldr r1, ._210 + 4 @ gEnemyParty
+ add r0, r0, r1
+ mov r1, #0xb
+ bl GetMonData
+ cmp r0, #0
+ beq ._209 @cond_branch
+ ldrb r0, [r5, #0x2]
+ add r0, r0, #0x1
+ strb r0, [r5, #0x2]
+._204:
+ ldr r1, ._210 + 8 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._210 + 12 @ debug_80C44EC
+ str r1, [r0]
+._209:
+ add sp, sp, #0x4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._211:
+ .align 2, 0
+._210:
+ .word gUnknown_Debug_2038A0C
+ .word gEnemyParty
+ .word gTasks
+ .word debug_80C44EC+1
+
+ thumb_func_end debug_80C4550
+
+ thumb_func_start debug_80C4694
+debug_80C4694:
+ push {r4, r5, lr}
+ add sp, sp, #0xffffffe4
+ ldr r1, ._213 @ gUnknown_Debug_083F81AD
+ mov r0, sp
+ mov r2, #0xd
+ bl memcpy
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ mov r0, sp
+ mov r1, #0x2
+ mov r2, #0x1
+ bl Menu_PrintText
+ mov r4, #0x0
+ add r5, sp, #0x10
+._212:
+ mov r0, #0x64
+ mul r0, r0, r4
+ ldr r1, ._213 + 4 @ gPlayerParty
+ add r0, r0, r1
+ mov r1, #0xb
+ bl GetMonData
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r5, #0
+ bl debug_80C405C
+ lsl r2, r4, #0x19
+ mov r0, #0xc0
+ lsl r0, r0, #0x12
+ add r2, r2, r0
+ lsr r2, r2, #0x18
+ add r0, r5, #0
+ mov r1, #0x2
+ bl Menu_PrintText
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x5
+ bls ._212 @cond_branch
+ add sp, sp, #0x1c
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._214:
+ .align 2, 0
+._213:
+ .word gUnknown_Debug_083F81AD
+ .word gPlayerParty
+
+ thumb_func_end debug_80C4694
+
+ thumb_func_start debug_80C4704
+debug_80C4704:
+ push {r4, r5, lr}
+ add sp, sp, #0xffffffe4
+ ldr r1, ._216 @ gUnknown_Debug_083F81BA
+ mov r0, sp
+ mov r2, #0xd
+ bl memcpy
+ mov r0, #0xf
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ mov r0, sp
+ mov r1, #0x11
+ mov r2, #0x1
+ bl Menu_PrintText
+ mov r4, #0x0
+ add r5, sp, #0x10
+._215:
+ mov r0, #0x64
+ mul r0, r0, r4
+ ldr r1, ._216 + 4 @ gEnemyParty
+ add r0, r0, r1
+ mov r1, #0xb
+ bl GetMonData
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r5, #0
+ bl debug_80C405C
+ lsl r2, r4, #0x19
+ mov r0, #0xc0
+ lsl r0, r0, #0x12
+ add r2, r2, r0
+ lsr r2, r2, #0x18
+ add r0, r5, #0
+ mov r1, #0x11
+ bl Menu_PrintText
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x5
+ bls ._215 @cond_branch
+ add sp, sp, #0x1c
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._217:
+ .align 2, 0
+._216:
+ .word gUnknown_Debug_083F81BA
+ .word gEnemyParty
+
+ thumb_func_end debug_80C4704
+
+ thumb_func_start debug_80C4774
+debug_80C4774:
+ push {r4, lr}
+ ldr r0, ._221 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0xc]
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x64
+ add r4, r0, #0
+ mul r4, r4, r1
+ ldr r0, ._221 + 4 @ gPlayerParty
+ add r0, r4, r0
+ mov r1, #0xb
+ bl GetMonData
+ cmp r0, #0
+ beq ._219 @cond_branch
+ ldr r0, ._221 + 8 @ gEnemyParty
+ add r0, r4, r0
+ mov r1, #0xb
+ bl GetMonData
+ cmp r0, #0
+ beq ._219 @cond_branch
+ mov r0, #0x1
+ b ._220
+._222:
+ .align 2, 0
+._221:
+ .word gUnknown_Debug_2038A0C
+ .word gPlayerParty
+ .word gEnemyParty
+._219:
+ mov r0, #0x0
+._220:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_80C4774
+
+ thumb_func_start debug_80C47BC
+debug_80C47BC:
+ push {r4, r5, r6, r7, lr}
+ add sp, sp, #0xffffffc0
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r1, ._224 @ gUnknown_Debug_083F81C7
+ mov r0, sp
+ mov r2, #0xf
+ bl memcpy
+ add r4, sp, #0x10
+ ldr r1, ._224 + 4 @ gUnknown_Debug_083F81A0
+ add r0, r4, #0
+ mov r2, #0xd
+ bl memcpy
+ add r6, sp, #0x20
+ ldr r1, ._224 + 8 @ gUnknown_Debug_083F81D6
+ add r0, r6, #0
+ mov r2, #0xf
+ bl memcpy
+ add r5, sp, #0x30
+ ldr r1, ._224 + 12 @ gUnknown_Debug_083F81E5
+ add r0, r5, #0
+ mov r2, #0x10
+ bl memcpy
+ mov r0, #0x0
+ mov r1, #0x10
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r0, sp
+ mov r1, #0x1
+ mov r2, #0x11
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0x14
+ mov r2, #0x11
+ bl Menu_PrintText
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ add r0, r6, #0
+ mov r1, #0x2
+ mov r2, #0x1
+ bl Menu_PrintText
+ mov r4, #0x0
+ ldr r6, ._224 + 16 @ gUnknown_Debug_083F8068
+._223:
+ lsl r0, r4, #0x3
+ add r0, r0, r6
+ ldr r0, [r0]
+ lsl r2, r4, #0x19
+ mov r1, #0xc0
+ lsl r1, r1, #0x12
+ add r2, r2, r1
+ lsr r2, r2, #0x18
+ mov r1, #0x2
+ bl Menu_PrintText
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x4
+ bls ._223 @cond_branch
+ mov r0, #0xf
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ add r0, r5, #0
+ mov r1, #0x11
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._224 + 20 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x4]
+ bl debug_80C4C44
+ ldr r1, ._224 + 24 @ gTasks
+ lsl r0, r7, #0x2
+ add r0, r0, r7
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._224 + 28 @ debug_80C48A0
+ str r1, [r0]
+ add sp, sp, #0x40
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._225:
+ .align 2, 0
+._224:
+ .word gUnknown_Debug_083F81C7
+ .word gUnknown_Debug_083F81A0
+ .word gUnknown_Debug_083F81D6
+ .word gUnknown_Debug_083F81E5
+ .word gUnknown_Debug_083F8068
+ .word gUnknown_Debug_2038A0C
+ .word gTasks
+ .word debug_80C48A0+1
+
+ thumb_func_end debug_80C47BC
+
+ thumb_func_start debug_80C48A0
+debug_80C48A0:
+ push {r4, lr}
+ add sp, sp, #0xfffffffc
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r0, ._226 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x3]
+ lsl r0, r0, #0x19
+ mov r1, #0xc0
+ lsl r1, r1, #0x12
+ add r0, r0, r1
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ str r1, [sp]
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r1, ._226 + 4 @ 0x4000042
+ ldr r2, ._226 + 8 @ 0x177
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ add r2, r2, #0x8
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._226 + 12 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._226 + 16 @ debug_80C4900
+ str r1, [r0]
+ add sp, sp, #0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+._227:
+ .align 2, 0
+._226:
+ .word gUnknown_Debug_2038A0C
+ .word 0x4000042
+ .word 0x177
+ .word gTasks
+ .word debug_80C4900+1
+
+ thumb_func_end debug_80C48A0
+
+ thumb_func_start debug_80C4900
+debug_80C4900:
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r1, ._230 @ gMain
+ ldrh r2, [r1, #0x2e]
+ mov r0, #0x2
+ and r0, r0, r2
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r3, r1, #0
+ cmp r4, #0
+ beq ._228 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ mov r4, #0x0
+ str r4, [sp]
+ mov r1, #0x0
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldr r0, ._230 + 4 @ debug_80C370C
+ bl SetMainCallback2
+ bl LoadPlayerParty
+ ldr r1, ._230 + 8 @ gSaveBlock2
+ ldr r0, ._230 + 12 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0xd]
+ strb r0, [r1, #0x8]
+ ldr r0, ._230 + 16 @ gBattleTypeFlags
+ mov r1, #0x0
+ strh r4, [r0]
+ ldr r0, ._230 + 20 @ gUnknown_02023A14_50
+ strb r1, [r0]
+ ldr r1, ._230 + 24 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._230 + 28 @ debug_80C373C
+ b ._229
+._231:
+ .align 2, 0
+._230:
+ .word gMain
+ .word debug_80C370C+1
+ .word gSaveBlock2
+ .word gUnknown_Debug_2038A0C
+ .word gBattleTypeFlags
+ .word gUnknown_02023A14_50
+ .word gTasks
+ .word debug_80C373C+1
+._228:
+ mov r0, #0x8
+ and r0, r0, r2
+ cmp r0, #0
+ bne ._232 @cond_branch
+ mov r0, #0x1
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._233 @cond_branch
+._232:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._236 @ gBattleTypeFlags
+ ldr r3, ._236 + 4 @ gUnknown_Debug_083F8068
+ ldr r2, ._236 + 8 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r2, #0x3]
+ lsl r0, r0, #0x3
+ add r0, r0, r3
+ ldrb r0, [r0, #0x4]
+ strh r0, [r1]
+ ldr r1, ._236 + 12 @ gUnknown_02023A14_50
+ mov r0, #0x8
+ strb r0, [r1]
+ ldrb r0, [r2, #0x3]
+ lsl r0, r0, #0x3
+ add r0, r0, r3
+ ldrb r0, [r0, #0x5]
+ strb r0, [r2, #0xc]
+ ldrb r0, [r2, #0x3]
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bhi ._234 @cond_branch
+ str r4, [sp]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r0, ._236 + 16 @ gTasks
+ lsl r1, r5, #0x2
+ add r1, r1, r5
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._236 + 20 @ debug_80C4A60
+ str r0, [r1]
+ b ._247
+._237:
+ .align 2, 0
+._236:
+ .word gBattleTypeFlags
+ .word gUnknown_Debug_083F8068
+ .word gUnknown_Debug_2038A0C
+ .word gUnknown_02023A14_50
+ .word gTasks
+ .word debug_80C4A60+1
+._234:
+ ldr r0, ._239 @ gTasks
+ lsl r1, r5, #0x2
+ add r1, r1, r5
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._239 + 4 @ debug_80C4F48
+ str r0, [r1]
+ b ._247
+._240:
+ .align 2, 0
+._239:
+ .word gTasks
+ .word debug_80C4F48+1
+._233:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._242 @cond_branch
+ ldr r1, ._244 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r1, #0x3]
+ cmp r0, #0
+ beq ._242 @cond_branch
+ sub r0, r0, #0x1
+ b ._243
+._245:
+ .align 2, 0
+._244:
+ .word gUnknown_Debug_2038A0C
+._242:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._247 @cond_branch
+ ldr r1, ._248 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r1, #0x3]
+ cmp r0, #0x1
+ bhi ._247 @cond_branch
+ add r0, r0, #0x1
+._243:
+ strb r0, [r1, #0x3]
+ ldr r1, ._248 + 4 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._248 + 8 @ debug_80C48A0
+._229:
+ str r1, [r0]
+._247:
+ add sp, sp, #0x4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._249:
+ .align 2, 0
+._248:
+ .word gUnknown_Debug_2038A0C
+ .word gTasks
+ .word debug_80C48A0+1
+
+ thumb_func_end debug_80C4900
+
+ thumb_func_start debug_80C4A60
+debug_80C4A60:
+ push {r4, lr}
+ add sp, sp, #0xfffffffc
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r0, ._250 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x19
+ mov r1, #0xc0
+ lsl r1, r1, #0x12
+ add r0, r0, r1
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ str r1, [sp]
+ mov r1, #0x10
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r1, ._250 + 4 @ 0x4000042
+ ldr r2, ._250 + 8 @ 0x79ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._250 + 12 @ 0x17f
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._250 + 16 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._250 + 20 @ debug_80C4AC4
+ str r1, [r0]
+ add sp, sp, #0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+._251:
+ .align 2, 0
+._250:
+ .word gUnknown_Debug_2038A0C
+ .word 0x4000042
+ .word 0x79ef
+ .word 0x17f
+ .word gTasks
+ .word debug_80C4AC4+1
+
+ thumb_func_end debug_80C4A60
+
+ thumb_func_start debug_80C4AC4
+debug_80C4AC4:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r7, ._255 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r7, #0x4]
+ mov ip, r0
+ ldrb r5, [r7, #0x5]
+ mov r1, ip
+ add r0, r1, r5
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ ldr r2, ._255 + 4 @ gMain
+ mov r8, r2
+ ldrh r2, [r2, #0x2e]
+ mov r3, #0x1
+ and r3, r3, r2
+ add r4, r7, #0
+ cmp r3, #0
+ beq ._252 @cond_branch
+ ldr r0, ._255 + 8 @ gUnknown_Debug_083F80D8
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r1, [r1]
+ ldr r3, ._255 + 12 @ byte_3005E30
+ ldr r2, [r3]
+ add r0, r2, #0
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._253 @cond_branch
+ ldr r0, ._255 + 16 @ 0xffff
+ eor r1, r1, r0
+ and r2, r2, r1
+ b ._254
+._256:
+ .align 2, 0
+._255:
+ .word gUnknown_Debug_2038A0C
+ .word gMain
+ .word gUnknown_Debug_083F80D8
+ .word byte_3005E30
+ .word 0xffff
+._253:
+ orr r2, r2, r1
+._254:
+ str r2, [r3]
+ ldrb r0, [r4, #0x4]
+ bl debug_80C4C44
+ ldr r1, ._258 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._258 + 4 @ debug_80C4A60
+ str r1, [r0]
+ b ._274
+._259:
+ .align 2, 0
+._258:
+ .word gTasks
+ .word debug_80C4A60+1
+._252:
+ mov r0, #0x2
+ and r0, r0, r2
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0
+ beq ._260 @cond_branch
+ str r3, [sp]
+ mov r0, #0x0
+ mov r1, #0x10
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r0, ._262 @ gTasks
+ lsl r1, r6, #0x2
+ add r1, r1, r6
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._262 + 4 @ debug_80C48A0
+ b ._261
+._263:
+ .align 2, 0
+._262:
+ .word gTasks
+ .word debug_80C48A0+1
+._260:
+ mov r0, #0x8
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._264 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._266 @ gTrainerBattleOpponent
+ mov r2, #0x80
+ lsl r2, r2, #0x3
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._266 + 4 @ 0x2017000
+ ldrb r2, [r1, #0x1]
+ mov r0, #0x11
+ neg r0, r0
+ and r0, r0, r2
+ strb r0, [r1, #0x1]
+ mov r0, #0xac
+ strb r0, [r1, #0x2]
+ mov r0, #0xff
+ strb r0, [r1, #0x3]
+ strb r4, [r1, #0x9]
+ strb r4, [r1, #0xa]
+ strb r4, [r1, #0xb]
+ strb r4, [r1, #0xc]
+ ldr r1, ._266 + 8 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._266 + 12 @ debug_80C4F48
+ str r1, [r0]
+ b ._274
+._267:
+ .align 2, 0
+._266:
+ .word gTrainerBattleOpponent
+ .word 0x2017000
+ .word gTasks
+ .word debug_80C4F48+1
+._264:
+ mov r0, r8
+ ldrh r1, [r0, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._268 @cond_branch
+ lsl r0, r5, #0x18
+ cmp r0, #0
+ beq ._269 @cond_branch
+ sub r0, r5, #1
+ strb r0, [r7, #0x5]
+ b ._277
+._269:
+ mov r1, ip
+ lsl r0, r1, #0x18
+ cmp r0, #0
+ beq ._277 @cond_branch
+ mov r0, ip
+ sub r0, r0, #0x1
+ b ._272
+._268:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._274 @cond_branch
+ lsl r0, r5, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x8
+ bhi ._274 @cond_branch
+ cmp r0, #0x4
+ bhi ._275 @cond_branch
+ add r0, r5, #1
+ strb r0, [r7, #0x5]
+ b ._277
+._275:
+ mov r2, ip
+ lsl r0, r2, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x3
+ bhi ._277 @cond_branch
+ mov r0, ip
+ add r0, r0, #0x1
+._272:
+ strb r0, [r7, #0x4]
+ ldrb r0, [r7, #0x4]
+ bl debug_80C4C44
+._277:
+ ldr r0, ._278 @ gTasks
+ lsl r1, r6, #0x2
+ add r1, r1, r6
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._278 + 4 @ debug_80C4A60
+._261:
+ str r0, [r1]
+._274:
+ add sp, sp, #0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._279:
+ .align 2, 0
+._278:
+ .word gTasks
+ .word debug_80C4A60+1
+
+ thumb_func_end debug_80C4AC4
+
+ thumb_func_start debug_80C4C44
+debug_80C4C44:
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6, r7}
+ add sp, sp, #0xfffffff0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov sl, r0
+ mov r2, #0x0
+ mov r5, sp
+._290:
+ mov r0, sl
+ add r6, r2, r0
+ add r4, r6, #0
+ add r1, r2, #1
+ mov r8, r1
+ cmp r4, #0x9
+ bgt ._280 @cond_branch
+ mov r3, #0x0
+ ldr r1, ._288 @ gUnknown_Debug_083F80D8
+ lsl r0, r4, #0x3
+ add r0, r0, r1
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ ldr r7, ._288 + 4 @ byte_3005E30
+ mov r9, r7
+ lsl r2, r2, #0x1
+ mov ip, r2
+ cmp r0, #0xff
+ beq ._282 @cond_branch
+ add r7, r1, #0
+._283:
+ add r0, r3, #3
+ mov r1, sp
+ add r2, r1, r0
+ lsl r1, r6, #0x3
+ add r1, r1, r7
+ ldr r0, [r1]
+ add r0, r0, r3
+ ldrb r0, [r0]
+ strb r0, [r2]
+ add r0, r3, #1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ ldr r0, [r1]
+ add r0, r0, r3
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._282 @cond_branch
+ cmp r3, #0xb
+ bls ._283 @cond_branch
+._282:
+ cmp r3, #0xb
+ bhi ._284 @cond_branch
+ mov r1, #0x0
+._285:
+ add r0, r3, #3
+ add r0, r0, sp
+ strb r1, [r0]
+ add r0, r3, #1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ cmp r3, #0xb
+ bls ._285 @cond_branch
+._284:
+ mov r0, #0xff
+ strb r0, [r5, #0xe]
+ mov r0, #0xfc
+ strb r0, [r5]
+ mov r2, #0x1
+ strb r2, [r5, #0x1]
+ add r1, r2, #0
+ LSL r1, r4
+ mov r3, r9
+ ldr r0, [r3]
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._286 @cond_branch
+ mov r0, #0x3
+ strb r0, [r5, #0x2]
+ b ._287
+._289:
+ .align 2, 0
+._288:
+ .word gUnknown_Debug_083F80D8
+ .word byte_3005E30
+._286:
+ strb r2, [r5, #0x2]
+._287:
+ mov r2, ip
+ add r2, r2, #0x3
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ mov r0, sp
+ mov r1, #0x11
+ bl Menu_PrintText
+._280:
+ mov r7, r8
+ lsl r0, r7, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x5
+ bls ._290 @cond_branch
+ add sp, sp, #0x10
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C4C44
+
+ thumb_func_start debug_80C4D14
+debug_80C4D14:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xffffffd0
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r1, ._291 @ gUnknown_Debug_083F81C7
+ mov r0, sp
+ mov r2, #0xf
+ bl memcpy
+ add r5, sp, #0x10
+ ldr r1, ._291 + 4 @ gUnknown_Debug_083F81F5
+ add r0, r5, #0
+ mov r2, #0xd
+ bl memcpy
+ add r6, sp, #0x20
+ ldr r1, ._291 + 8 @ gUnknown_Debug_083F8202
+ add r0, r6, #0
+ mov r2, #0xf
+ bl memcpy
+ mov r0, #0x0
+ mov r1, #0x10
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r0, sp
+ mov r1, #0x1
+ mov r2, #0x11
+ bl Menu_PrintText
+ add r0, r5, #0
+ mov r1, #0x14
+ mov r2, #0x11
+ bl Menu_PrintText
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ add r0, r6, #0
+ mov r1, #0x2
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._291 + 12 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x6]
+ bl debug_80C4F00
+ mov r0, #0xf
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r1, ._291 + 16 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._291 + 20 @ debug_80C4DB8
+ str r1, [r0]
+ add sp, sp, #0x30
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._292:
+ .align 2, 0
+._291:
+ .word gUnknown_Debug_083F81C7
+ .word gUnknown_Debug_083F81F5
+ .word gUnknown_Debug_083F8202
+ .word gUnknown_Debug_2038A0C
+ .word gTasks
+ .word debug_80C4DB8+1
+
+ thumb_func_end debug_80C4D14
+
+ thumb_func_start debug_80C4DB8
+debug_80C4DB8:
+ push {r4, lr}
+ add sp, sp, #0xfffffffc
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r0, ._293 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x7]
+ lsl r0, r0, #0x19
+ mov r1, #0xc0
+ lsl r1, r1, #0x12
+ add r0, r0, r1
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ str r1, [sp]
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r1, ._293 + 4 @ 0x4000042
+ ldr r2, ._293 + 8 @ 0x177
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ add r2, r2, #0x8
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._293 + 12 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._293 + 16 @ debug_80C4E18
+ str r1, [r0]
+ add sp, sp, #0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+._294:
+ .align 2, 0
+._293:
+ .word gUnknown_Debug_2038A0C
+ .word 0x4000042
+ .word 0x177
+ .word gTasks
+ .word debug_80C4E18+1
+
+ thumb_func_end debug_80C4DB8
+
+ thumb_func_start debug_80C4E18
+debug_80C4E18:
+ push {r4, r5, r6, r7, lr}
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r5, ._297 @ gUnknown_Debug_2038A0C
+ ldrb r3, [r5, #0x6]
+ ldrb r2, [r5, #0x7]
+ add r0, r3, r2
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r7, ._297 + 4 @ gMain
+ ldrh r1, [r7, #0x2e]
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._295 @cond_branch
+ ldr r0, ._297 + 8 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._297 + 12 @ debug_80C42B8
+ b ._296
+._298:
+ .align 2, 0
+._297:
+ .word gUnknown_Debug_2038A0C
+ .word gMain
+ .word gTasks
+ .word debug_80C42B8+1
+._295:
+ mov r0, #0x8
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._299 @cond_branch
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._300 @cond_branch
+._299:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r2, ._302 @ gBattleTerrain
+ ldr r1, ._302 + 4 @ gUnknown_Debug_083F814C
+ lsl r0, r6, #0x3
+ add r0, r0, r1
+ ldrb r0, [r0, #0x4]
+ strb r0, [r2]
+ ldr r1, ._302 + 8 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._302 + 12 @ debug_80C5158
+ str r1, [r0]
+ b ._310
+._303:
+ .align 2, 0
+._302:
+ .word gBattleTerrain
+ .word gUnknown_Debug_083F814C
+ .word gTasks
+ .word debug_80C5158+1
+._300:
+ ldrh r1, [r7, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._304 @cond_branch
+ lsl r0, r2, #0x18
+ cmp r0, #0
+ beq ._305 @cond_branch
+ sub r0, r2, #1
+ strb r0, [r5, #0x7]
+ b ._313
+._305:
+ lsl r0, r3, #0x18
+ cmp r0, #0
+ beq ._313 @cond_branch
+ sub r0, r3, #1
+ b ._308
+._304:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._310 @cond_branch
+ lsl r0, r2, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x7
+ bhi ._310 @cond_branch
+ cmp r0, #0x4
+ bhi ._311 @cond_branch
+ add r0, r2, #1
+ strb r0, [r5, #0x7]
+ b ._313
+._311:
+ lsl r0, r3, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x2
+ bhi ._313 @cond_branch
+ add r0, r3, #1
+._308:
+ strb r0, [r5, #0x6]
+ ldrb r0, [r5, #0x6]
+ bl debug_80C4F00
+._313:
+ ldr r0, ._314 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._314 + 4 @ debug_80C4DB8
+._296:
+ str r0, [r1]
+._310:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._315:
+ .align 2, 0
+._314:
+ .word gTasks
+ .word debug_80C4DB8+1
+
+ thumb_func_end debug_80C4E18
+
+ thumb_func_start debug_80C4F00
+debug_80C4F00:
+ push {r4, r5, r6, lr}
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ mov r0, #0x1
+ mov r1, #0x3
+ mov r2, #0xd
+ mov r3, #0xe
+ bl Menu_BlankWindowRect
+ mov r4, #0x0
+ ldr r6, ._318 @ gUnknown_Debug_083F814C
+._317:
+ cmp r4, #0x8
+ bhi ._316 @cond_branch
+ add r0, r4, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r6
+ ldr r0, [r0]
+ lsl r2, r4, #0x19
+ mov r1, #0xc0
+ lsl r1, r1, #0x12
+ add r2, r2, r1
+ lsr r2, r2, #0x18
+ mov r1, #0x2
+ bl Menu_PrintText
+._316:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x5
+ bls ._317 @cond_branch
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._319:
+ .align 2, 0
+._318:
+ .word gUnknown_Debug_083F814C
+
+ thumb_func_end debug_80C4F00
+
+ thumb_func_start debug_80C4F48
+debug_80C4F48:
+ push {r4, r5, r6, lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6}
+ add sp, sp, #0xffffffc4
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r1, ._320 @ gUnknown_Debug_083F8211
+ mov r0, sp
+ mov r2, #0x11
+ bl memcpy
+ add r6, sp, #0x14
+ ldr r1, ._320 + 4 @ gUnknown_Debug_083F81A0
+ add r0, r6, #0
+ mov r2, #0xd
+ bl memcpy
+ add r5, sp, #0x24
+ ldr r1, ._320 + 8 @ gUnknown_Debug_083F8222
+ add r0, r5, #0
+ mov r2, #0xd
+ bl memcpy
+ add r0, sp, #0x34
+ mov r9, r0
+ ldr r1, ._320 + 12 @ gUnknown_Debug_083F822F
+ mov r2, #0x4
+ bl memcpy
+ add r0, sp, #0x38
+ mov r8, r0
+ ldr r1, ._320 + 16 @ gUnknown_Debug_083F8233
+ mov r2, #0x4
+ bl memcpy
+ mov r0, #0x0
+ mov r1, #0x10
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r0, sp
+ mov r1, #0x1
+ mov r2, #0x11
+ bl Menu_PrintText
+ add r0, r6, #0
+ mov r1, #0x14
+ mov r2, #0x11
+ bl Menu_PrintText
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ add r0, r5, #0
+ mov r1, #0x2
+ mov r2, #0x1
+ bl Menu_PrintText
+ mov r0, #0x1
+ mov r1, #0x3
+ mov r2, #0xd
+ mov r3, #0xe
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0x2
+ mov r2, #0x1
+ bl Menu_PrintText
+ mov r0, r9
+ mov r1, #0x2
+ mov r2, #0x3
+ bl Menu_PrintText
+ mov r0, r8
+ mov r1, #0x2
+ mov r2, #0x5
+ bl Menu_PrintText
+ mov r0, #0xf
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r1, ._320 + 20 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._320 + 24 @ debug_80C5038
+ str r1, [r0]
+ add sp, sp, #0x3c
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._321:
+ .align 2, 0
+._320:
+ .word gUnknown_Debug_083F8211
+ .word gUnknown_Debug_083F81A0
+ .word gUnknown_Debug_083F8222
+ .word gUnknown_Debug_083F822F
+ .word gUnknown_Debug_083F8233
+ .word gTasks
+ .word debug_80C5038+1
+
+ thumb_func_end debug_80C4F48
+
+ thumb_func_start debug_80C5038
+debug_80C5038:
+ push {r4, lr}
+ add sp, sp, #0xfffffffc
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r0, ._322 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x8]
+ lsl r0, r0, #0x19
+ mov r1, #0xc0
+ lsl r1, r1, #0x12
+ add r0, r0, r1
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ str r1, [sp]
+ mov r2, #0x1
+ mov r3, #0xe
+ bl debug_80C38E4
+ ldr r1, ._322 + 4 @ 0x4000042
+ ldr r2, ._322 + 8 @ 0x177
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ add r2, r2, #0x8
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._322 + 12 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._322 + 16 @ debug_80C5098
+ str r1, [r0]
+ add sp, sp, #0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+._323:
+ .align 2, 0
+._322:
+ .word gUnknown_Debug_2038A0C
+ .word 0x4000042
+ .word 0x177
+ .word gTasks
+ .word debug_80C5098+1
+
+ thumb_func_end debug_80C5038
+
+ thumb_func_start debug_80C5098
+debug_80C5098:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r1, ._326 @ gMain
+ ldrh r2, [r1, #0x2e]
+ mov r0, #0x2
+ and r0, r0, r2
+ add r3, r1, #0
+ cmp r0, #0
+ beq ._324 @cond_branch
+ ldr r0, ._326 + 4 @ gTasks
+ lsl r1, r4, #0x2
+ add r1, r1, r4
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._326 + 8 @ debug_80C47BC
+ str r0, [r1]
+ b ._339
+._327:
+ .align 2, 0
+._326:
+ .word gMain
+ .word gTasks
+ .word debug_80C47BC+1
+._324:
+ mov r0, #0x8
+ and r0, r0, r2
+ cmp r0, #0
+ bne ._328 @cond_branch
+ mov r0, #0x1
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._329 @cond_branch
+._328:
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._331 @ gSaveBlock2
+ ldr r0, ._331 + 4 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r0, #0x8]
+ strb r0, [r1, #0x8]
+ ldr r1, ._331 + 8 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._331 + 12 @ debug_80C42B8
+ b ._330
+._332:
+ .align 2, 0
+._331:
+ .word gSaveBlock2
+ .word gUnknown_Debug_2038A0C
+ .word gTasks
+ .word debug_80C42B8+1
+._329:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._334 @cond_branch
+ ldr r1, ._336 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r1, #0x8]
+ cmp r0, #0
+ beq ._334 @cond_branch
+ sub r0, r0, #0x1
+ b ._335
+._337:
+ .align 2, 0
+._336:
+ .word gUnknown_Debug_2038A0C
+._334:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._339 @cond_branch
+ ldr r1, ._340 @ gUnknown_Debug_2038A0C
+ ldrb r0, [r1, #0x8]
+ cmp r0, #0
+ bne ._339 @cond_branch
+ add r0, r0, #0x1
+._335:
+ strb r0, [r1, #0x8]
+ ldr r1, ._340 + 4 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._340 + 8 @ debug_80C5038
+._330:
+ str r1, [r0]
+._339:
+ pop {r4}
+ pop {r0}
+ bx r0
+._341:
+ .align 2, 0
+._340:
+ .word gUnknown_Debug_2038A0C
+ .word gTasks
+ .word debug_80C5038+1
+
+ thumb_func_end debug_80C5098
+
+ thumb_func_start debug_80C5158
+debug_80C5158:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._342 @ gTasks
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ ldr r0, ._342 + 4 @ debug_80C5174
+ str r0, [r1]
+ bx lr
+._343:
+ .align 2, 0
+._342:
+ .word gTasks
+ .word debug_80C5174+1
+
+ thumb_func_end debug_80C5158
+
+ thumb_func_start debug_80C5174
+debug_80C5174:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._344 @ gTasks
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ ldr r0, ._344 + 4 @ debug_80C5190
+ str r0, [r1]
+ bx lr
+._345:
+ .align 2, 0
+._344:
+ .word gTasks
+ .word debug_80C5190+1
+
+ thumb_func_end debug_80C5174
+
+ thumb_func_start debug_80C5190
+debug_80C5190:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._346 @ gTasks
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ ldr r0, ._346 + 4 @ debug_80C51AC
+ str r0, [r1]
+ bx lr
+._347:
+ .align 2, 0
+._346:
+ .word gTasks
+ .word debug_80C51AC+1
+
+ thumb_func_end debug_80C5190
+
+ thumb_func_start debug_80C51AC
+debug_80C51AC:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._348 @ gTasks
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ ldr r0, ._348 + 4 @ debug_80C51C8
+ str r0, [r1]
+ bx lr
+._349:
+ .align 2, 0
+._348:
+ .word gTasks
+ .word debug_80C51C8+1
+
+ thumb_func_end debug_80C51AC
+
+ thumb_func_start debug_80C51C8
+debug_80C51C8:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._350 @ gTasks
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ ldr r0, ._350 + 4 @ debug_80C51E4
+ str r0, [r1]
+ bx lr
+._351:
+ .align 2, 0
+._350:
+ .word gTasks
+ .word debug_80C51E4+1
+
+ thumb_func_end debug_80C51C8
+
+ thumb_func_start debug_80C51E4
+debug_80C51E4:
+ push {lr}
+ bl sub_80408BC
+ ldr r0, ._352 @ gMain
+ ldr r1, ._352 + 4 @ debug_80C41A8
+ str r1, [r0, #0x8]
+ ldr r0, ._352 + 8 @ unref_sub_800D684
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+._353:
+ .align 2, 0
+._352:
+ .word gMain
+ .word debug_80C41A8+1
+ .word unref_sub_800D684+1
+
+ thumb_func_end debug_80C51E4
+
+ thumb_func_start debug_80C5208
+debug_80C5208:
+ push {r4, r5, r6, lr}
+ ldr r1, ._355 @ gUnknown_Debug_2038A1C
+ ldr r0, ._355 + 4 @ 0x2018000
+ str r0, [r1]
+ mov r3, #0x0
+ add r6, r1, #0
+ ldr r4, ._355 + 8 @ gSaveBlock2
+ add r5, r6, #0
+ mov r2, #0x0
+._354:
+ ldr r0, [r5]
+ lsl r1, r3, #0x2
+ add r0, r0, #0x64
+ add r0, r0, r1
+ str r2, [r0]
+ add r0, r3, #1
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ cmp r3, #0x3f
+ bls ._354 @cond_branch
+ ldr r2, [r6]
+ mov r0, #0xfc
+ str r0, [r2, #0x64]
+ ldrb r1, [r4, #0xa]
+ ldrb r0, [r4, #0xb]
+ lsl r0, r0, #0x8
+ orr r1, r1, r0
+ ldrb r0, [r4, #0xc]
+ lsl r0, r0, #0x10
+ orr r1, r1, r0
+ ldrb r0, [r4, #0xd]
+ lsl r0, r0, #0x18
+ orr r1, r1, r0
+ str r1, [r2, #0x70]
+ bl Random
+ add r4, r0, #0
+ bl Random
+ ldr r1, [r6]
+ lsl r4, r4, #0x10
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ orr r4, r4, r0
+ str r4, [r1, #0x74]
+ mov r0, #0x1
+ str r0, [r1, #0x68]
+ str r0, [r1, #0x6c]
+ bl debug_80C5C94
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._356:
+ .align 2, 0
+._355:
+ .word gUnknown_Debug_2038A1C
+ .word 0x2018000
+ .word gSaveBlock2
+
+ thumb_func_end debug_80C5208
+
+ thumb_func_start debug_80C527C
+debug_80C527C:
+ push {r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ mov r5, #0x0
+ ldr r7, ._359 @ gPlayerPartyCount
+._361:
+ mov r0, #0x64
+ add r1, r5, #0
+ mul r1, r1, r0
+ ldr r0, ._359 + 4 @ gPlayerParty
+ add r4, r1, r0
+ add r0, r4, #0
+ mov r1, #0xb
+ mov r2, #0x0
+ bl GetMonData
+ cmp r0, #0
+ bne ._357 @cond_branch
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #0x64
+ bl memcpy
+ add r0, r5, #1
+ strb r0, [r7]
+ mov r0, #0x0
+ b ._358
+._360:
+ .align 2, 0
+._359:
+ .word gPlayerPartyCount
+ .word gPlayerParty
+._357:
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x5
+ bls ._361 @cond_branch
+ ldr r0, ._362 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ bl SendMonToPC
+ mov r0, #0x1
+._358:
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._363:
+ .align 2, 0
+._362:
+ .word gUnknown_Debug_2038A1C
+
+ thumb_func_end debug_80C527C
+
+ thumb_func_start InitCreatePokemon
+InitCreatePokemon:
+ push {r4, r5, lr}
+ add sp, sp, #0xffffffd4
+ ldr r1, ._364 @ gUnknown_Debug_083F8733
+ add r0, sp, #0x4
+ mov r2, #0x25
+ bl memcpy
+ bl debug_80C35DC
+ mov r0, #0x1
+ neg r0, r0
+ mov r4, #0x0
+ str r4, [sp]
+ mov r1, #0x0
+ mov r2, #0x10
+ mov r3, #0x0
+ bl BeginNormalPaletteFade
+ ldr r0, ._364 + 4 @ 0x4000050
+ mov r5, #0x0
+ strh r4, [r0]
+ add r0, r0, #0x2
+ strh r4, [r0]
+ add r0, r0, #0x2
+ strh r4, [r0]
+ ldr r3, ._364 + 8 @ 0x4000208
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, ._364 + 12 @ 0x4000200
+ ldrh r0, [r4]
+ mov r1, #0x1
+ orr r0, r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, ._364 + 16 @ 0x4000004
+ ldrh r0, [r2]
+ mov r1, #0x8
+ orr r0, r0, r1
+ strh r0, [r2]
+ ldr r0, ._364 + 20 @ debug_80C3758
+ bl SetVBlankCallback
+ ldr r0, ._364 + 24 @ debug_80C370C
+ bl SetMainCallback2
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x3
+ bl Menu_DrawStdWindowFrame
+ add r0, sp, #0x4
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ mov r1, #0x80
+ lsl r1, r1, #0x13
+ mov r2, #0x8a
+ lsl r2, r2, #0x5
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r0, ._364 + 28 @ debug_80C53A4
+ mov r1, #0x0
+ bl CreateTask
+ bl debug_80C5208
+ ldr r1, ._364 + 32 @ gUnknown_Debug_2038A1C
+ ldr r0, [r1]
+ mov r2, #0xb4
+ lsl r2, r2, #0x1
+ add r0, r0, r2
+ strb r5, [r0]
+ ldr r0, [r1]
+ ldr r1, ._364 + 36 @ 0x169
+ add r0, r0, r1
+ strb r5, [r0]
+ add sp, sp, #0x2c
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._365:
+ .align 2, 0
+._364:
+ .word gUnknown_Debug_083F8733
+ .word 0x4000050
+ .word 0x4000208
+ .word 0x4000200
+ .word 0x4000004
+ .word debug_80C3758+1
+ .word debug_80C370C+1
+ .word debug_80C53A4+1
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+
+ thumb_func_end InitCreatePokemon
+
+ thumb_func_start debug_80C53A4
+debug_80C53A4:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._366 @ gTasks
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ ldr r0, ._366 + 4 @ debug_80C53C0
+ str r0, [r1]
+ bx lr
+._367:
+ .align 2, 0
+._366:
+ .word gTasks
+ .word debug_80C53C0+1
+
+ thumb_func_end debug_80C53A4
+
+ thumb_func_start debug_80C53C0
+debug_80C53C0:
+ push {r4, lr}
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl debug_80C6384
+ mov r0, #0x0
+ bl debug_80C627C
+ ldr r1, ._368 @ gTasks
+ lsl r0, r4, #0x2
+ add r0, r0, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._368 + 4 @ debug_80C53F0
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+._369:
+ .align 2, 0
+._368:
+ .word gTasks
+ .word debug_80C53F0+1
+
+ thumb_func_end debug_80C53C0
+
+ thumb_func_start debug_80C53F0
+debug_80C53F0:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r0, ._372 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r2, #0x1
+ and r2, r2, r1
+ add r4, r0, #0
+ cmp r2, #0
+ beq ._370 @cond_branch
+ ldr r0, ._372 + 4 @ gUnknown_Debug_2038A1C
+ ldr r3, [r0]
+ mov r0, #0xb2
+ lsl r0, r0, #0x1
+ add r2, r3, r0
+ ldr r1, ._372 + 8 @ gUnknown_Debug_083F8698
+ mov r4, #0xb4
+ lsl r4, r4, #0x1
+ add r0, r3, r4
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r6, ._372 + 12 @ 0x169
+ add r1, r3, r6
+ ldrb r1, [r1]
+ ldr r0, [r0]
+ add r0, r0, r1
+ ldrb r1, [r0]
+ lsl r1, r1, #0x2
+ add r0, r3, #0
+ add r0, r0, #0x64
+ add r0, r0, r1
+ ldr r0, [r0]
+ str r0, [r2]
+ mov r0, #0xb5
+ lsl r0, r0, #0x1
+ add r1, r3, r0
+ mov r0, #0x0
+ strb r0, [r1]
+ bl debug_80C643C
+ ldr r1, ._372 + 16 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._372 + 20 @ debug_80C55E4
+ b ._375
+._373:
+ .align 2, 0
+._372:
+ .word gMain
+ .word gUnknown_Debug_2038A1C
+ .word gUnknown_Debug_083F8698
+ .word 0x169
+ .word gTasks
+ .word debug_80C55E4+1
+._370:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._374 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ str r2, [sp]
+ mov r1, #0x0
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldr r0, ._376 @ debug_80C370C
+ bl SetMainCallback2
+ ldr r1, ._376 + 4 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._376 + 8 @ debug_80C373C
+ b ._375
+._377:
+ .align 2, 0
+._376:
+ .word debug_80C370C+1
+ .word gTasks
+ .word debug_80C373C+1
+._374:
+ mov r0, #0x8
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._378 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ bl debug_80C5FFC
+ ldr r0, ._381 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ bl debug_80C527C
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ mov r0, #0x3
+ mov r1, #0x8
+ mov r2, #0x1a
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ cmp r4, #0
+ beq ._379 @cond_branch
+ ldr r0, ._381 + 4 @ gUnknown_Debug_083F872A
+ mov r1, #0x4
+ mov r2, #0x9
+ bl Menu_PrintText
+ b ._380
+._382:
+ .align 2, 0
+._381:
+ .word gUnknown_Debug_2038A1C
+ .word gUnknown_Debug_083F872A
+._379:
+ ldr r0, ._384 @ gUnknown_Debug_083F8720
+ mov r1, #0x4
+ mov r2, #0x9
+ bl Menu_PrintText
+._380:
+ ldr r0, ._384 + 4 @ gTasks
+ lsl r1, r5, #0x2
+ add r1, r1, r5
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._384 + 8 @ debug_80C5708
+ str r0, [r1]
+ b ._400
+._385:
+ .align 2, 0
+._384:
+ .word gUnknown_Debug_083F8720
+ .word gTasks
+ .word debug_80C5708+1
+._378:
+ mov r0, #0x4
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._386 @cond_branch
+ ldr r0, ._388 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ ldr r4, [r0, #0x64]
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ add r0, r4, #0
+ mov r1, #0x2
+ bl GetSetPokedexFlag
+ add r0, r4, #0
+ mov r1, #0x3
+ bl GetSetPokedexFlag
+ mov r0, #0x5
+ bl PlaySE
+ b ._400
+._389:
+ .align 2, 0
+._388:
+ .word gUnknown_Debug_2038A1C
+._386:
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._390 @cond_branch
+ mov r0, #0x2
+ bl debug_80C627C
+ b ._400
+._390:
+ mov r0, #0x80
+ and r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ cmp r3, #0
+ beq ._392 @cond_branch
+ mov r0, #0x1
+ bl debug_80C627C
+ b ._400
+._392:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._395 @cond_branch
+ ldr r2, ._397 @ gUnknown_Debug_2038A1C
+ ldr r0, [r2]
+ mov r6, #0xb4
+ lsl r6, r6, #0x1
+ add r1, r0, r6
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq ._395 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ ldr r0, [r2]
+ ldr r1, ._397 + 4 @ 0x169
+ add r0, r0, r1
+ strb r3, [r0]
+ b ._396
+._398:
+ .align 2, 0
+._397:
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+._395:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._400 @cond_branch
+ ldr r3, ._401 @ gUnknown_Debug_2038A1C
+ ldr r0, [r3]
+ mov r4, #0xb4
+ lsl r4, r4, #0x1
+ add r2, r0, r4
+ ldrb r0, [r2]
+ cmp r0, #0x4
+ bhi ._400 @cond_branch
+ add r0, r0, #0x1
+ mov r1, #0x0
+ strb r0, [r2]
+ ldr r0, [r3]
+ ldr r6, ._401 + 4 @ 0x169
+ add r0, r0, r6
+ strb r1, [r0]
+._396:
+ ldr r1, ._401 + 8 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._401 + 12 @ debug_80C53C0
+._375:
+ str r1, [r0]
+._400:
+ add sp, sp, #0x4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._402:
+ .align 2, 0
+._401:
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+ .word gTasks
+ .word debug_80C53C0+1
+
+ thumb_func_end debug_80C53F0
+
+ thumb_func_start debug_80C55E4
+debug_80C55E4:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ add r6, r3, #0
+ ldr r1, ._405 @ gUnknown_Debug_083F8698
+ ldr r2, ._405 + 4 @ gUnknown_Debug_2038A1C
+ ldr r0, [r2]
+ mov ip, r0
+ mov r0, #0xb4
+ lsl r0, r0, #0x1
+ add r0, r0, ip
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._405 + 8 @ 0x169
+ add r1, r1, ip
+ ldrb r1, [r1]
+ ldr r0, [r0]
+ add r0, r0, r1
+ ldrb r5, [r0]
+ add r7, r5, #0
+ ldr r1, ._405 + 12 @ gMain
+ ldrh r4, [r1, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r4
+ mov r8, r2
+ add r2, r1, #0
+ cmp r0, #0
+ beq ._403 @cond_branch
+ ldr r0, ._405 + 16 @ gTasks
+ lsl r1, r3, #0x2
+ add r1, r1, r3
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._405 + 20 @ debug_80C53C0
+ str r0, [r1]
+ b ._422
+._406:
+ .align 2, 0
+._405:
+ .word gUnknown_Debug_083F8698
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+ .word gMain
+ .word gTasks
+ .word debug_80C53C0+1
+._403:
+ mov r0, #0x2
+ and r0, r0, r4
+ cmp r0, #0
+ beq ._407 @cond_branch
+ lsl r1, r5, #0x2
+ mov r0, ip
+ add r0, r0, #0x64
+ add r0, r0, r1
+ mov r1, #0xb2
+ lsl r1, r1, #0x1
+ add r1, r1, ip
+ ldr r1, [r1]
+ str r1, [r0]
+ ldr r1, ._409 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._409 + 4 @ debug_80C53C0
+ str r1, [r0]
+ b ._422
+._410:
+ .align 2, 0
+._409:
+ .word gTasks
+ .word debug_80C53C0+1
+._407:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._411 @cond_branch
+ mov r0, #0x1
+ b ._412
+._411:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._413 @cond_branch
+ mov r0, #0x2
+._412:
+ bl debug_80C6544
+ bl debug_80C643C
+ b ._422
+._413:
+ ldr r0, ._419 @ gUnknown_Debug_083F8554
+ lsl r1, r7, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r1, [r1]
+ ldrb r0, [r1, #0x9]
+ cmp r0, #0xff
+ beq ._422 @cond_branch
+ mov r0, #0x20
+ and r0, r0, r4
+ cmp r0, #0
+ beq ._417 @cond_branch
+ mov r0, #0xb5
+ lsl r0, r0, #0x1
+ add ip, ip, r0
+ mov r0, ip
+ ldrb r3, [r0]
+ ldrb r0, [r1, #0x9]
+ sub r0, r0, #0x1
+ cmp r3, r0
+ bge ._417 @cond_branch
+ add r0, r3, #1
+ mov r1, ip
+ strb r0, [r1]
+ bl debug_80C643C
+ b ._422
+._420:
+ .align 2, 0
+._419:
+ .word gUnknown_Debug_083F8554
+._417:
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._422 @cond_branch
+ mov r2, r8
+ ldr r0, [r2]
+ mov r2, #0xb5
+ lsl r2, r2, #0x1
+ add r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq ._422 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ bl debug_80C643C
+._422:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C55E4
+
+ thumb_func_start debug_80C5708
+debug_80C5708:
+ push {lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ ldr r0, ._424 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._423 @cond_branch
+ ldr r0, ._424 + 4 @ gTasks
+ lsl r1, r2, #0x2
+ add r1, r1, r2
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._424 + 8 @ debug_80C53C0
+ str r0, [r1]
+._423:
+ pop {r0}
+ bx r0
+._425:
+ .align 2, 0
+._424:
+ .word gMain
+ .word gTasks
+ .word debug_80C53C0+1
+
+ thumb_func_end debug_80C5708
+
+ thumb_func_start debug_80C5738
+debug_80C5738:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ add r6, r0, #0
+ lsl r1, r1, #0x18
+ lsr r4, r1, #0x18
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ mov r8, r2
+ cmp r4, #0xfe
+ bne ._426 @cond_branch
+ ldr r1, ._428 @ gUnknown_Debug_083F850A
+ mov r2, #0x7
+ bl debug_80C689C
+ add r0, r6, #7
+ ldr r7, ._428 + 4 @ gUnknown_Debug_2038A1C
+ ldr r1, [r7]
+ add r1, r1, #0xf0
+ ldr r1, [r1]
+ mov r2, #0x3
+ mov r3, #0x1
+ bl debug_80C6678
+ mov r4, #0x0
+ strb r4, [r6, #0x13]
+ strb r4, [r6, #0x14]
+ add r0, r6, #0
+ add r0, r0, #0x15
+ ldr r1, ._428 + 8 @ gUnknown_Debug_083F8514
+ mov r2, #0x7
+ bl debug_80C689C
+ add r0, r6, #0
+ add r0, r0, #0x1c
+ ldr r1, [r7]
+ add r1, r1, #0xf4
+ ldr r1, [r1]
+ mov r2, #0x3
+ mov r3, #0x1
+ bl debug_80C6678
+ add r0, r6, #0
+ add r0, r0, #0x28
+ strb r4, [r0]
+ add r0, r0, #0x1
+ strb r4, [r0]
+ add r0, r0, #0x1
+ ldr r1, ._428 + 12 @ gUnknown_Debug_083F851C
+ mov r2, #0x9
+ bl debug_80C689C
+ add r0, r6, #0
+ add r0, r0, #0x31
+ ldr r1, [r7]
+ add r1, r1, #0xf8
+._431:
+ ldr r1, [r1]
+ mov r2, #0x3
+ mov r3, #0x1
+ bl debug_80C6678
+ b ._517
+._429:
+ .align 2, 0
+._428:
+ .word gUnknown_Debug_083F850A
+ .word gUnknown_Debug_2038A1C
+ .word gUnknown_Debug_083F8514
+ .word gUnknown_Debug_083F851C
+._426:
+ cmp r4, #0xfd
+ bne ._430 @cond_branch
+ ldr r1, ._432 @ gUnknown_Debug_083F8524
+ add r0, r6, #0
+ mov r2, #0x9
+ bl debug_80C689C
+ add r0, r6, #0
+ add r0, r0, #0x9
+ ldr r7, ._432 + 4 @ gUnknown_Debug_2038A1C
+ ldr r1, [r7]
+ add r1, r1, #0xfc
+ ldr r1, [r1]
+ mov r2, #0x3
+ mov r3, #0x1
+ bl debug_80C6678
+ mov r4, #0x0
+ strb r4, [r6, #0x15]
+ strb r4, [r6, #0x16]
+ add r0, r6, #0
+ add r0, r0, #0x17
+ ldr r1, ._432 + 8 @ gUnknown_Debug_083F852D
+ mov r2, #0x9
+ bl debug_80C689C
+ add r0, r6, #0
+ add r0, r0, #0x20
+ ldr r1, [r7]
+ mov r2, #0x80
+ lsl r2, r2, #0x1
+ add r1, r1, r2
+ ldr r1, [r1]
+ mov r2, #0x3
+ mov r3, #0x1
+ bl debug_80C6678
+ add r0, r6, #0
+ add r0, r0, #0x2c
+ strb r4, [r0]
+ add r0, r0, #0x1
+ strb r4, [r0]
+ add r0, r0, #0x1
+ ldr r1, ._432 + 12 @ gUnknown_Debug_083F8537
+ mov r2, #0x9
+ bl debug_80C689C
+ add r0, r6, #0
+ add r0, r0, #0x37
+ ldr r1, [r7]
+ mov r3, #0x82
+ lsl r3, r3, #0x1
+ add r1, r1, r3
+ b ._431
+._433:
+ .align 2, 0
+._432:
+ .word gUnknown_Debug_083F8524
+ .word gUnknown_Debug_2038A1C
+ .word gUnknown_Debug_083F852D
+ .word gUnknown_Debug_083F8537
+._430:
+ mov r1, #0x0
+ lsl r5, r4, #0x3
+ mov r2, #0x0
+._434:
+ add r0, r6, r1
+ strb r2, [r0]
+ add r0, r1, #1
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ cmp r1, #0xb
+ bls ._434 @cond_branch
+ ldr r0, ._437 @ gUnknown_Debug_083F8554
+ add r0, r5, r0
+ ldr r1, [r0]
+ add r0, r6, #0
+ mov r2, #0xb
+ bl debug_80C689C
+ mov r1, #0xc
+ mov r2, #0xff
+._435:
+ add r0, r6, r1
+ strb r2, [r0]
+ add r0, r1, #1
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ cmp r1, #0xff
+ bls ._435 @cond_branch
+ ldr r0, ._437 @ gUnknown_Debug_083F8554
+ add r0, r0, #0x4
+ add r0, r5, r0
+ ldr r0, [r0]
+ ldrb r2, [r0, #0x9]
+ lsl r0, r2, #0x1a
+ lsr r5, r0, #0x18
+ cmp r4, #0x22
+ bhi ._436 @cond_branch
+ lsl r0, r4, #0x2
+ ldr r1, ._437 + 4 @
+ add r1, r0, r1
+ ldr r1, [r1]
+ add r7, r0, #0
+ mov pc, r1
+._438:
+ .align 2, 0
+._437:
+ .word gUnknown_Debug_083F8554
+ .word ._439
+._439:
+ .word ._440
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._445
+ .word ._446
+ .word ._450
+ .word ._450
+ .word ._450
+ .word ._450
+ .word ._451
+ .word ._452
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._472
+ .word ._473
+ .word ._474
+._436:
+ mov r0, #0xff
+ strb r0, [r6]
+ b ._517
+._440:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r1, ._477 @ gUnknown_Debug_2038A1C
+ mov r9, r1
+ ldr r1, [r1]
+ add r1, r1, #0x64
+ add r1, r1, r7
+ ldr r1, [r1]
+ mov r3, r8
+ bl debug_80C6678
+ add r1, r5, r6
+ mov r0, #0x0
+ strb r0, [r1, #0xa]
+ mov r0, #0xfc
+ strb r0, [r1, #0xb]
+ mov r0, #0x1
+ strb r0, [r1, #0xc]
+ mov r2, r8
+ strb r2, [r1, #0xd]
+ add r4, r5, #0
+ add r4, r4, #0xe
+ add r4, r6, r4
+ mov r3, r9
+ ldr r0, [r3]
+ add r0, r0, #0x64
+ add r0, r0, r7
+ ldrh r0, [r0]
+ bl NationalPokedexNumToSpecies
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0xb
+ mul r1, r1, r0
+ ldr r0, ._477 + 4 @ gSpeciesNames
+ add r1, r1, r0
+ add r0, r4, #0
+ mov r2, #0xa
+ bl debug_80C689C
+ b ._517
+._478:
+ .align 2, 0
+._477:
+ .word gUnknown_Debug_2038A1C
+ .word gSpeciesNames
+._445:
+ ldr r0, ._483 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ add r0, r0, #0x64
+ add r0, r0, r7
+ ldr r0, [r0]
+ cmp r0, #0x1
+ beq ._479 @cond_branch
+ cmp r0, #0x1
+ bcc ._480 @cond_branch
+ cmp r0, #0x2
+ beq ._481 @cond_branch
+ b ._517
+._484:
+ .align 2, 0
+._483:
+ .word gUnknown_Debug_2038A1C
+._480:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r1, ._486 @ gUnknown_Debug_083F8546
+ b ._488
+._487:
+ .align 2, 0
+._486:
+ .word gUnknown_Debug_083F8546
+._479:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r1, ._489 @ gUnknown_Debug_083F8541
+ b ._488
+._490:
+ .align 2, 0
+._489:
+ .word gUnknown_Debug_083F8541
+._481:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r1, ._492 @ gUnknown_Debug_083F8544
+._488:
+ mov r2, #0x2
+ bl debug_80C689C
+ b ._517
+._493:
+ .align 2, 0
+._492:
+ .word gUnknown_Debug_083F8544
+._450:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r4, ._495 @ gUnknown_Debug_2038A1C
+ ldr r1, [r4]
+ add r1, r1, #0x64
+ add r1, r1, r7
+ ldr r1, [r1]
+ mov r3, r8
+ bl debug_80C6678
+ add r1, r5, r6
+ mov r0, #0x0
+ strb r0, [r1, #0xa]
+ mov r0, #0xfc
+ strb r0, [r1, #0xb]
+ mov r0, #0x1
+ strb r0, [r1, #0xc]
+ mov r0, r8
+ strb r0, [r1, #0xd]
+ add r0, r5, #0
+ add r0, r0, #0xe
+ add r0, r6, r0
+ ldr r1, [r4]
+ add r1, r1, #0x64
+ add r1, r1, r7
+ ldr r2, [r1]
+ mov r1, #0xd
+ mul r1, r1, r2
+ ldr r2, ._495 + 4 @ gMoveNames
+ add r1, r1, r2
+ b ._494
+._496:
+ .align 2, 0
+._495:
+ .word gUnknown_Debug_2038A1C
+ .word gMoveNames
+._451:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r4, ._499 @ gUnknown_Debug_2038A1C
+ ldr r1, [r4]
+ add r1, r1, #0x64
+ add r1, r1, r7
+ ldr r1, [r1]
+ mov r3, r8
+ bl debug_80C6678
+ add r1, r5, r6
+ mov r0, #0x0
+ strb r0, [r1, #0xa]
+ mov r0, #0xfc
+ strb r0, [r1, #0xb]
+ mov r0, #0x1
+ strb r0, [r1, #0xc]
+ mov r2, r8
+ strb r2, [r1, #0xd]
+ ldr r0, [r4]
+ add r0, r0, #0x64
+ add r0, r0, r7
+ ldr r0, [r0]
+ cmp r0, #0
+ beq ._497 @cond_branch
+ add r4, r5, #0
+ add r4, r4, #0xe
+ add r4, r6, r4
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl ItemId_GetItem
+ add r1, r0, #0
+ add r0, r4, #0
+ b ._498
+._500:
+ .align 2, 0
+._499:
+ .word gUnknown_Debug_2038A1C
+._497:
+ add r0, r5, #0
+ add r0, r0, #0xe
+ add r0, r6, r0
+ ldr r1, ._502 @ gUnknown_Debug_083F8541
+._498:
+ mov r2, #0x9
+ bl debug_80C689C
+ b ._517
+._503:
+ .align 2, 0
+._502:
+ .word gUnknown_Debug_083F8541
+._452:
+ add r6, r6, #0xc
+ ldr r4, ._505 @ gUnknown_Debug_2038A1C
+ ldr r0, [r4]
+ ldr r0, [r0, #0x64]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl NationalPokedexNumToSpecies
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ ldr r1, [r4]
+ add r1, r1, #0x64
+ add r1, r1, r7
+ ldrb r1, [r1]
+ bl GetAbilityBySpecies
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0xd
+ mul r1, r1, r0
+ ldr r0, ._505 + 4 @ gAbilityNames
+ add r1, r1, r0
+ add r0, r6, #0
+._494:
+ mov r2, #0xc
+ bl debug_80C689C
+ b ._517
+._506:
+ .align 2, 0
+._505:
+ .word gUnknown_Debug_2038A1C
+ .word gAbilityNames
+._474:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r2, ._508 @ gUnknown_Debug_083F86E8
+ ldr r1, ._508 + 4 @ gUnknown_Debug_2038A1C
+ ldr r1, [r1]
+ add r1, r1, #0x64
+ add r1, r1, r7
+ ldr r1, [r1]
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ ldr r1, [r1]
+ b ._514
+._509:
+ .align 2, 0
+._508:
+ .word gUnknown_Debug_083F86E8
+ .word gUnknown_Debug_2038A1C
+._472:
+ add r0, r6, #0
+ add r0, r0, #0xc
+ ldr r1, ._511 @ gUnknown_Debug_2038A1C
+ ldr r1, [r1]
+ add r1, r1, #0x64
+ add r1, r1, r7
+ ldr r1, [r1]
+ mov r3, r8
+ bl debug_80C6678
+ b ._517
+._512:
+ .align 2, 0
+._511:
+ .word gUnknown_Debug_2038A1C
+._473:
+ ldr r0, ._515 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ add r0, r0, #0x64
+ add r0, r0, r7
+ ldr r0, [r0]
+ cmp r0, #0
+ beq ._513 @cond_branch
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r1, ._515 + 4 @ gUnknown_Debug_083F854A
+ b ._514
+._516:
+ .align 2, 0
+._515:
+ .word gUnknown_Debug_2038A1C
+ .word gUnknown_Debug_083F854A
+._513:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r1, ._518 @ gUnknown_Debug_083F854D
+._514:
+ mov r2, #0x4
+ bl debug_80C689C
+ b ._517
+._519:
+ .align 2, 0
+._518:
+ .word gUnknown_Debug_083F854D
+._446:
+ add r0, r6, #0
+ add r0, r0, #0xa
+ ldr r2, ._520 @ gNatureNames
+ ldr r1, ._520 + 4 @ gUnknown_Debug_2038A1C
+ ldr r1, [r1]
+ add r1, r1, #0x64
+ add r1, r1, r7
+ ldr r1, [r1]
+ lsl r1, r1, #0x2
+ add r1, r1, r2
+ ldr r1, [r1]
+ mov r2, #0x5
+ bl debug_80C689C
+._517:
+ mov r0, #0x0
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._521:
+ .align 2, 0
+._520:
+ .word gNatureNames
+ .word gUnknown_Debug_2038A1C
+
+ thumb_func_end debug_80C5738
+
+ thumb_func_start debug_80C5B60
+debug_80C5B60:
+ lsl r0, r0, #0x18
+ ldr r1, ._522 @ gUnknown_Debug_2038A1C
+ ldr r1, [r1]
+ lsr r0, r0, #0x16
+ add r1, r1, #0x64
+ add r1, r1, r0
+ ldr r0, [r1]
+ bx lr
+._523:
+ .align 2, 0
+._522:
+ .word gUnknown_Debug_2038A1C
+
+ thumb_func_end debug_80C5B60
+
+ thumb_func_start debug_80C5B74
+debug_80C5B74:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ lsl r1, r1, #0x18
+ lsr r2, r1, #0x18
+ cmp r2, #0x18
+ bhi ._540 @cond_branch
+ lsl r0, r2, #0x2
+ ldr r1, ._526 @
+ add r1, r0, r1
+ ldr r1, [r1]
+ add r3, r0, #0
+ mov pc, r1
+._527:
+ .align 2, 0
+._526:
+ .word ._525
+._525:
+ .word ._532
+ .word ._529
+ .word ._530
+ .word ._532
+ .word ._532
+ .word ._540
+ .word ._540
+ .word ._540
+ .word ._540
+ .word ._540
+ .word ._540
+ .word ._540
+ .word ._540
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+ .word ._552
+._540:
+ ldr r0, ._554 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ lsl r1, r2, #0x2
+ add r0, r0, #0x64
+ add r0, r0, r1
+ str r6, [r0]
+ b ._562
+._555:
+ .align 2, 0
+._554:
+ .word gUnknown_Debug_2038A1C
+._532:
+ ldr r0, ._557 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ add r0, r0, #0x64
+ add r0, r0, r3
+ str r6, [r0]
+ bl debug_80C5C94
+ b ._562
+._558:
+ .align 2, 0
+._557:
+ .word gUnknown_Debug_2038A1C
+._529:
+ ldr r4, ._560 @ gUnknown_Debug_2038A1C
+ ldr r1, [r4]
+ add r0, r1, #0
+ add r0, r0, #0x64
+ add r0, r0, r3
+ str r6, [r0]
+ ldr r0, [r1, #0x64]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl NationalPokedexNumToSpecies
+ ldr r5, [r4]
+ ldr r4, ._560 + 4 @ gExperienceTables
+ lsl r2, r6, #0x2
+ ldr r3, ._560 + 8 @ gBaseStats
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ lsl r1, r0, #0x3
+ sub r1, r1, r0
+ lsl r1, r1, #0x2
+ add r1, r1, r3
+ ldrb r1, [r1, #0x13]
+ mov r0, #0xca
+ lsl r0, r0, #0x1
+ mul r0, r0, r1
+ add r2, r2, r0
+ add r2, r2, r4
+ ldr r0, [r2]
+ str r0, [r5, #0x6c]
+ bl debug_80C5C94
+ b ._562
+._561:
+ .align 2, 0
+._560:
+ .word gUnknown_Debug_2038A1C
+ .word gExperienceTables
+ .word gBaseStats
+._530:
+ ldr r0, ._563 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ add r0, r0, #0x64
+ add r0, r0, r3
+ str r6, [r0]
+ bl debug_80C5DEC
+ b ._562
+._564:
+ .align 2, 0
+._563:
+ .word gUnknown_Debug_2038A1C
+._552:
+ ldr r0, ._565 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ add r0, r0, #0x64
+ add r0, r0, r3
+ str r6, [r0]
+ bl debug_80C5EF4
+._562:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._566:
+ .align 2, 0
+._565:
+ .word gUnknown_Debug_2038A1C
+
+ thumb_func_end debug_80C5B74
+
+ thumb_func_start debug_80C5C94
+debug_80C5C94:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xfffffff0
+ ldr r6, ._567 @ gUnknown_Debug_2038A1C
+ ldr r2, [r6]
+ add r0, r2, #0
+ add r0, r0, #0x98
+ ldr r4, [r0]
+ mov r1, #0x1f
+ and r4, r4, r1
+ add r0, r0, #0x8
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0x5
+ orr r4, r4, r0
+ add r0, r2, #0
+ add r0, r0, #0xa8
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0xa
+ orr r4, r4, r0
+ add r0, r2, #0
+ add r0, r0, #0xb0
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0xf
+ orr r4, r4, r0
+ add r0, r2, #0
+ add r0, r0, #0xb8
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0x14
+ orr r4, r4, r0
+ add r0, r2, #0
+ add r0, r0, #0xc0
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0x19
+ orr r4, r4, r0
+ ldr r0, [r2, #0x64]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl NationalPokedexNumToSpecies
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ ldr r0, [r6]
+ ldr r2, [r0, #0x68]
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ mov r5, #0x1
+ str r5, [sp]
+ ldr r3, [r0, #0x74]
+ str r3, [sp, #0x4]
+ str r5, [sp, #0x8]
+ ldr r3, [r0, #0x70]
+ str r3, [sp, #0xc]
+ add r3, r4, #0
+ bl CreateMon
+ ldr r0, [r6]
+ bl GetMonGender
+ ldr r1, [r6]
+ add r0, r0, #0x2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [r1, #0x78]
+ add r0, r1, #0
+ bl GetNature
+ ldr r1, [r6]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [r1, #0x7c]
+ add r0, r1, #0
+ mov r1, #0xd
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ add r1, r0, #0
+ add r1, r1, #0x80
+ str r2, [r1]
+ mov r1, #0xe
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ add r1, r0, #0
+ add r1, r1, #0x84
+ str r2, [r1]
+ mov r1, #0xf
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ add r1, r0, #0
+ add r1, r1, #0x88
+ str r2, [r1]
+ mov r1, #0x10
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ add r1, r0, #0
+ add r1, r1, #0x8c
+ str r2, [r1]
+ mov r1, #0x19
+ bl GetMonData
+ add r1, r0, #0
+ ldr r0, [r6]
+ str r1, [r0, #0x6c]
+ mov r1, #0x3a
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ add r1, r0, #0
+ add r1, r1, #0xf0
+ str r2, [r1]
+ mov r1, #0x3b
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ add r1, r0, #0
+ add r1, r1, #0xf4
+ str r2, [r1]
+ mov r1, #0x3c
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ add r1, r0, #0
+ add r1, r1, #0xf8
+ str r2, [r1]
+ mov r1, #0x3d
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ add r1, r0, #0
+ add r1, r1, #0xfc
+ str r2, [r1]
+ mov r1, #0x3e
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r6]
+ mov r3, #0x80
+ lsl r3, r3, #0x1
+ add r1, r0, r3
+ str r2, [r1]
+ mov r1, #0x3f
+ bl GetMonData
+ ldr r1, [r6]
+ mov r2, #0x82
+ lsl r2, r2, #0x1
+ add r1, r1, r2
+ str r0, [r1]
+ add sp, sp, #0x10
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._568:
+ .align 2, 0
+._567:
+ .word gUnknown_Debug_2038A1C
+
+ thumb_func_end debug_80C5C94
+
+ thumb_func_start debug_80C5DEC
+debug_80C5DEC:
+ push {r4, lr}
+ add sp, sp, #0xfffffffc
+ mov r0, #0x0
+ str r0, [sp]
+ ldr r4, ._569 @ gUnknown_Debug_2038A1C
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0x6c
+ mov r1, #0x19
+ bl SetMonData
+ ldr r0, [r4]
+ mov r1, #0xd
+ mov r2, sp
+ bl SetMonData
+ ldr r0, [r4]
+ mov r1, #0xe
+ mov r2, sp
+ bl SetMonData
+ ldr r0, [r4]
+ mov r1, #0xf
+ mov r2, sp
+ bl SetMonData
+ ldr r0, [r4]
+ mov r1, #0x10
+ mov r2, sp
+ bl SetMonData
+ ldr r0, [r4]
+ bl CalculateMonStats
+ ldr r0, [r4]
+ bl GiveMonInitialMoveset
+ ldr r0, [r4]
+ mov r1, #0x38
+ bl GetMonData
+ add r1, r0, #0
+ ldr r0, [r4]
+ str r1, [r0, #0x68]
+ mov r1, #0xd
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0x80
+ str r2, [r1]
+ mov r1, #0xe
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0x84
+ str r2, [r1]
+ mov r1, #0xf
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0x88
+ str r2, [r1]
+ mov r1, #0x10
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0x8c
+ str r2, [r1]
+ mov r1, #0x3a
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0xf0
+ str r2, [r1]
+ mov r1, #0x3b
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0xf4
+ str r2, [r1]
+ mov r1, #0x3c
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0xf8
+ str r2, [r1]
+ mov r1, #0x3d
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0xfc
+ str r2, [r1]
+ mov r1, #0x3e
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ mov r3, #0x80
+ lsl r3, r3, #0x1
+ add r1, r0, r3
+ str r2, [r1]
+ mov r1, #0x3f
+ bl GetMonData
+ ldr r1, [r4]
+ mov r2, #0x82
+ lsl r2, r2, #0x1
+ add r1, r1, r2
+ str r0, [r1]
+ add sp, sp, #0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+._570:
+ .align 2, 0
+._569:
+ .word gUnknown_Debug_2038A1C
+
+ thumb_func_end debug_80C5DEC
+
+ thumb_func_start debug_80C5EF4
+debug_80C5EF4:
+ push {r4, lr}
+ ldr r4, ._571 @ gUnknown_Debug_2038A1C
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0x98
+ mov r1, #0x27
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0x9c
+ mov r1, #0x1a
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xa0
+ mov r1, #0x28
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xa4
+ mov r1, #0x1b
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xa8
+ mov r1, #0x29
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xac
+ mov r1, #0x1c
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xb0
+ mov r1, #0x2a
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xb4
+ mov r1, #0x1d
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xb8
+ mov r1, #0x2b
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xbc
+ mov r1, #0x1e
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xc0
+ mov r1, #0x2c
+ bl SetMonData
+ ldr r0, [r4]
+ add r2, r0, #0
+ add r2, r2, #0xc4
+ mov r1, #0x1f
+ bl SetMonData
+ ldr r0, [r4]
+ bl CalculateMonStats
+ ldr r0, [r4]
+ mov r1, #0x3a
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0xf0
+ str r2, [r1]
+ mov r1, #0x3b
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0xf4
+ str r2, [r1]
+ mov r1, #0x3c
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0xf8
+ str r2, [r1]
+ mov r1, #0x3d
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r0, #0
+ add r1, r1, #0xfc
+ str r2, [r1]
+ mov r1, #0x3e
+ bl GetMonData
+ add r2, r0, #0
+ ldr r0, [r4]
+ mov r3, #0x80
+ lsl r3, r3, #0x1
+ add r1, r0, r3
+ str r2, [r1]
+ mov r1, #0x3f
+ bl GetMonData
+ ldr r1, [r4]
+ mov r2, #0x82
+ lsl r2, r2, #0x1
+ add r1, r1, r2
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+._572:
+ .align 2, 0
+._571:
+ .word gUnknown_Debug_2038A1C
+
+ thumb_func_end debug_80C5EF4
+
+ thumb_func_start debug_80C5FFC
+debug_80C5FFC:
+ push {r4, r5, r6, r7, lr}
+ add sp, sp, #0xffffffe0
+ ldr r1, ._578 @ gUnknown_Debug_083F8758
+ add r0, sp, #0x10
+ mov r2, #0x4
+ bl memcpy
+ add r7, sp, #0x14
+ ldr r1, ._578 + 4 @ gUnknown_Debug_083F875C
+ add r0, r7, #0
+ mov r2, #0x8
+ bl memcpy
+ ldr r5, ._578 + 8 @ gUnknown_Debug_2038A1C
+ ldr r2, [r5]
+ add r0, r2, #0
+ add r0, r0, #0x98
+ ldr r4, [r0]
+ mov r1, #0x1f
+ and r4, r4, r1
+ add r0, r0, #0x8
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0x5
+ orr r4, r4, r0
+ add r0, r2, #0
+ add r0, r0, #0xa8
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0xa
+ orr r4, r4, r0
+ add r0, r2, #0
+ add r0, r0, #0xb0
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0xf
+ orr r4, r4, r0
+ add r0, r2, #0
+ add r0, r0, #0xb8
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0x14
+ orr r4, r4, r0
+ add r0, r2, #0
+ add r0, r0, #0xc0
+ ldr r0, [r0]
+ and r0, r0, r1
+ lsl r0, r0, #0x19
+ orr r4, r4, r0
+ ldr r0, [r2, #0x64]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl NationalPokedexNumToSpecies
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ ldr r0, [r5]
+ ldr r2, [r0, #0x68]
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ mov r6, #0x1
+ str r6, [sp]
+ ldr r3, [r0, #0x74]
+ str r3, [sp, #0x4]
+ str r6, [sp, #0x8]
+ ldr r3, [r0, #0x70]
+ str r3, [sp, #0xc]
+ add r3, r4, #0
+ bl CreateMon
+ ldr r2, [r5]
+ add r0, r2, #0
+ add r0, r0, #0x80
+ ldr r0, [r0]
+ cmp r0, #0
+ beq ._573 @cond_branch
+ lsl r1, r0, #0x10
+ lsr r1, r1, #0x10
+ add r0, r2, #0
+ mov r2, #0x0
+ bl SetMonMoveSlot
+._573:
+ ldr r2, [r5]
+ add r0, r2, #0
+ add r0, r0, #0x84
+ ldr r0, [r0]
+ cmp r0, #0
+ beq ._574 @cond_branch
+ lsl r1, r0, #0x10
+ lsr r1, r1, #0x10
+ add r0, r2, #0
+ mov r2, #0x1
+ bl SetMonMoveSlot
+._574:
+ ldr r2, [r5]
+ add r0, r2, #0
+ add r0, r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #0
+ beq ._575 @cond_branch
+ lsl r1, r0, #0x10
+ lsr r1, r1, #0x10
+ add r0, r2, #0
+ mov r2, #0x2
+ bl SetMonMoveSlot
+._575:
+ ldr r2, [r5]
+ add r0, r2, #0
+ add r0, r0, #0x8c
+ ldr r0, [r0]
+ cmp r0, #0
+ beq ._576 @cond_branch
+ lsl r1, r0, #0x10
+ lsr r1, r1, #0x10
+ add r0, r2, #0
+ mov r2, #0x3
+ bl SetMonMoveSlot
+._576:
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0x6c
+ mov r1, #0x19
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0x98
+ mov r1, #0x27
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0x9c
+ mov r1, #0x1a
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xa0
+ mov r1, #0x28
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xa4
+ mov r1, #0x1b
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xa8
+ mov r1, #0x29
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xac
+ mov r1, #0x1c
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xb0
+ mov r1, #0x2a
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xb4
+ mov r1, #0x1d
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xb8
+ mov r1, #0x2b
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xbc
+ mov r1, #0x1e
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xc0
+ mov r1, #0x2c
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xc4
+ mov r1, #0x1f
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xc8
+ mov r1, #0x16
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xcc
+ mov r1, #0x17
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xd0
+ mov r1, #0x18
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xd4
+ mov r1, #0x21
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xd8
+ mov r1, #0x2f
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xdc
+ mov r1, #0x30
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xe0
+ mov r1, #0x20
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xe4
+ mov r1, #0x22
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0x90
+ mov r1, #0xc
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0x94
+ mov r1, #0x2e
+ bl SetMonData
+ ldr r0, [r5]
+ add r1, r0, #0
+ add r1, r1, #0xec
+ ldr r2, [r1]
+ lsl r2, r2, #0x3
+ ldr r1, ._578 + 12 @ gUnknown_Debug_083F86E8
+ add r2, r2, r1
+ mov r1, #0x37
+ bl SetMonData
+ ldr r0, [r5]
+ add r2, r0, #0
+ add r2, r2, #0xe8
+ mov r1, #0x2d
+ bl SetMonData
+ ldr r1, [r5]
+ add r0, r1, #0
+ add r0, r0, #0xe8
+ ldr r0, [r0]
+ cmp r0, #0
+ beq ._577 @cond_branch
+ add r0, r1, #0
+ mov r1, #0x2
+ add r2, sp, #0x10
+ bl SetMonData
+ add r2, sp, #0x1c
+ strb r6, [r2]
+ ldr r0, [r5]
+ mov r1, #0x3
+ bl SetMonData
+._577:
+ ldr r0, [r5]
+ mov r1, #0x7
+ add r2, r7, #0
+ bl SetMonData
+ mov r2, sp
+ add r2, r2, #0x1e
+ mov r0, #0xff
+ strh r0, [r2]
+ ldr r0, [r5]
+ mov r1, #0x23
+ bl SetMonData
+ ldr r0, [r5]
+ bl CalculateMonStats
+ add sp, sp, #0x20
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._579:
+ .align 2, 0
+._578:
+ .word gUnknown_Debug_083F8758
+ .word gUnknown_Debug_083F875C
+ .word gUnknown_Debug_2038A1C
+ .word gUnknown_Debug_083F86E8+0x4
+
+ thumb_func_end debug_80C5FFC
+
+ thumb_func_start debug_80C627C
+debug_80C627C:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xfffffff8
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r6, r4, #0
+ ldr r1, ._584 @ gUnknown_Debug_083F7FD4
+ mov r0, sp
+ mov r2, #0x2
+ bl memcpy
+ add r5, sp, #0x4
+ ldr r1, ._584 + 4 @ gUnknown_Debug_083F8764
+ add r0, r5, #0
+ mov r2, #0x2
+ bl memcpy
+ cmp r4, #0x1
+ beq ._580 @cond_branch
+ cmp r4, #0x1
+ bgt ._581 @cond_branch
+ cmp r4, #0
+ beq ._582 @cond_branch
+ b ._595
+._585:
+ .align 2, 0
+._584:
+ .word gUnknown_Debug_083F7FD4
+ .word gUnknown_Debug_083F8764
+._581:
+ cmp r6, #0x2
+ beq ._586 @cond_branch
+ b ._595
+._582:
+ ldr r0, ._589 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ ldr r1, ._589 + 4 @ 0x169
+ add r0, r0, r1
+ b ._588
+._590:
+ .align 2, 0
+._589:
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+._580:
+ ldr r4, ._593 @ gUnknown_Debug_2038A1C
+ ldr r3, [r4]
+ ldr r1, ._593 + 4 @ 0x169
+ add r0, r3, r1
+ ldrb r2, [r0]
+ ldr r1, ._593 + 8 @ gUnknown_Debug_083F8698
+ mov r6, #0xb4
+ lsl r6, r6, #0x1
+ add r0, r3, r6
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldrb r0, [r0, #0x4]
+ sub r0, r0, #0x1
+ cmp r2, r0
+ bge ._595 @cond_branch
+ lsl r2, r2, #0x19
+ mov r0, #0xa0
+ lsl r0, r0, #0x13
+ add r2, r2, r0
+ lsr r2, r2, #0x18
+ add r0, r5, #0
+ mov r1, #0x1
+ bl Menu_PrintText
+ ldr r0, [r4]
+ ldr r2, ._593 + 4 @ 0x169
+ add r1, r0, r2
+ ldrb r0, [r1]
+ add r0, r0, #0x1
+ strb r0, [r1]
+ ldr r0, [r4]
+ add r0, r0, r2
+._588:
+ ldrb r2, [r0]
+ lsl r2, r2, #0x19
+ mov r6, #0xa0
+ lsl r6, r6, #0x13
+ add r2, r2, r6
+ lsr r2, r2, #0x18
+ mov r0, sp
+ mov r1, #0x1
+ bl Menu_PrintText
+ b ._595
+._594:
+ .align 2, 0
+._593:
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+ .word gUnknown_Debug_083F8698
+._586:
+ ldr r4, ._596 @ gUnknown_Debug_2038A1C
+ ldr r0, [r4]
+ ldr r2, ._596 + 4 @ 0x169
+ add r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq ._595 @cond_branch
+ add r2, r0, #0
+ lsl r2, r2, #0x19
+ mov r6, #0xa0
+ lsl r6, r6, #0x13
+ add r2, r2, r6
+ lsr r2, r2, #0x18
+ add r0, r5, #0
+ mov r1, #0x1
+ bl Menu_PrintText
+ ldr r0, [r4]
+ ldr r2, ._596 + 4 @ 0x169
+ add r1, r0, r2
+ ldrb r0, [r1]
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ ldr r0, [r4]
+ add r0, r0, r2
+ ldrb r2, [r0]
+ lsl r2, r2, #0x19
+ add r2, r2, r6
+ lsr r2, r2, #0x18
+ mov r0, sp
+ mov r1, #0x1
+ bl Menu_PrintText
+._595:
+ add sp, sp, #0x8
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._597:
+ .align 2, 0
+._596:
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+
+ thumb_func_end debug_80C627C
+
+ thumb_func_start debug_80C6384
+debug_80C6384:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ mov r0, #0x0
+ mov r1, #0x4
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r5, #0x0
+ ldr r3, ._600 @ gUnknown_Debug_083F8698
+ ldr r1, ._600 + 4 @ gUnknown_Debug_2038A1C
+ ldr r0, [r1]
+ mov r2, #0xb4
+ lsl r2, r2, #0x1
+ add r0, r0, r2
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r3
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._598 @cond_branch
+ add r4, r1, #0
+ ldr r0, ._600 + 8 @ 0x16b
+ mov r9, r0
+ mov r8, r3
+ add r7, r2, #0
+ mov r6, #0x1
+._599:
+ ldr r0, [r4]
+ add r0, r0, r9
+ mov r1, #0xfc
+ strb r1, [r0]
+ ldr r0, [r4]
+ add r1, r1, #0x70
+ add r0, r0, r1
+ strb r6, [r0]
+ ldr r0, [r4]
+ ldr r2, ._600 + 12 @ 0x16d
+ add r0, r0, r2
+ strb r6, [r0]
+ ldr r1, [r4]
+ add r2, r2, #0x1
+ add r0, r1, r2
+ add r1, r1, r7
+ ldrb r1, [r1]
+ lsl r1, r1, #0x3
+ add r1, r1, r8
+ ldr r1, [r1]
+ add r1, r1, r5
+ ldrb r1, [r1]
+ mov r2, #0x1
+ bl debug_80C5738
+ ldr r0, [r4]
+ add r0, r0, r9
+ lsl r2, r5, #0x19
+ mov r1, #0xa0
+ lsl r1, r1, #0x13
+ add r2, r2, r1
+ lsr r2, r2, #0x18
+ mov r1, #0x2
+ bl Menu_PrintText
+ add r0, r5, #1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ ldr r0, [r4]
+ add r0, r0, r7
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r8
+ ldr r0, [r0]
+ add r0, r0, r5
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ bne ._599 @cond_branch
+._598:
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._601:
+ .align 2, 0
+._600:
+ .word gUnknown_Debug_083F8698
+ .word gUnknown_Debug_2038A1C
+ .word 0x16b
+ .word 0x16d
+
+ thumb_func_end debug_80C6384
+
+ thumb_func_start debug_80C643C
+debug_80C643C:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ mov r0, #0x2
+ mov r1, #0x5
+ mov r2, #0x1c
+ mov r3, #0x12
+ bl Menu_BlankWindowRect
+ mov r5, #0x0
+ ldr r6, ._605 @ gUnknown_Debug_083F8698
+ ldr r1, ._605 + 4 @ gUnknown_Debug_2038A1C
+ ldr r0, [r1]
+ mov r3, #0xb4
+ lsl r3, r3, #0x1
+ add r0, r0, r3
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r6
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._602 @cond_branch
+ add r4, r1, #0
+ mov r0, #0x1
+ mov r8, r0
+._607:
+ ldr r0, [r4]
+ ldr r7, ._605 + 8 @ 0x16b
+ add r2, r0, r7
+ mov r0, #0xfc
+ strb r0, [r2]
+ ldr r0, [r4]
+ mov r2, #0xb6
+ lsl r2, r2, #0x1
+ add r0, r0, r2
+ mov r7, r8
+ strb r7, [r0]
+ ldr r2, [r4]
+ ldr r7, ._605 + 12 @ 0x169
+ add r0, r2, r7
+ ldrb r0, [r0]
+ cmp r5, r0
+ bne ._603 @cond_branch
+ ldr r0, ._605 + 16 @ 0x16d
+ add r2, r2, r0
+ mov r0, #0x2
+ strb r0, [r2]
+ ldr r1, [r1]
+ mov r2, #0xb7
+ lsl r2, r2, #0x1
+ add r0, r1, r2
+ add r1, r1, r3
+ ldrb r1, [r1]
+ lsl r1, r1, #0x3
+ add r1, r1, r6
+ ldr r1, [r1]
+ add r1, r1, r5
+ ldrb r1, [r1]
+ mov r2, #0x2
+ bl debug_80C5738
+ b ._604
+._606:
+ .align 2, 0
+._605:
+ .word gUnknown_Debug_083F8698
+ .word gUnknown_Debug_2038A1C
+ .word 0x16b
+ .word 0x169
+ .word 0x16d
+._603:
+ ldr r3, ._608 @ 0x16d
+ add r0, r2, r3
+ mov r7, r8
+ strb r7, [r0]
+ ldr r1, [r1]
+ mov r2, #0xb7
+ lsl r2, r2, #0x1
+ add r0, r1, r2
+ ldr r2, ._608 + 4 @ gUnknown_Debug_083F8698
+ sub r3, r3, #0x5
+ add r1, r1, r3
+ ldrb r1, [r1]
+ lsl r1, r1, #0x3
+ add r1, r1, r2
+ ldr r1, [r1]
+ add r1, r1, r5
+ ldrb r1, [r1]
+ mov r2, #0x1
+ bl debug_80C5738
+._604:
+ ldr r0, [r4]
+ ldr r7, ._608 + 8 @ 0x16b
+ add r0, r0, r7
+ lsl r2, r5, #0x19
+ mov r1, #0xa0
+ lsl r1, r1, #0x13
+ add r2, r2, r1
+ lsr r2, r2, #0x18
+ mov r1, #0x2
+ bl Menu_PrintText
+ add r0, r5, #1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ ldr r6, ._608 + 4 @ gUnknown_Debug_083F8698
+ add r1, r4, #0
+ ldr r0, [r4]
+ mov r3, #0xb4
+ lsl r3, r3, #0x1
+ add r0, r0, r3
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r6
+ ldr r0, [r0]
+ add r0, r0, r5
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ bne ._607 @cond_branch
+._602:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._609:
+ .align 2, 0
+._608:
+ .word 0x16d
+ .word gUnknown_Debug_083F8698
+ .word 0x16b
+
+ thumb_func_end debug_80C643C
+
+ thumb_func_start debug_80C6544
+debug_80C6544:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r9, r0
+ ldr r0, ._614 @ gUnknown_Debug_083F8698
+ mov r8, r0
+ ldr r6, ._614 + 4 @ gUnknown_Debug_2038A1C
+ ldr r1, [r6]
+ mov r5, #0xb4
+ lsl r5, r5, #0x1
+ add r0, r1, r5
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r8
+ ldr r4, ._614 + 8 @ 0x169
+ add r1, r1, r4
+ ldrb r1, [r1]
+ ldr r0, [r0]
+ add r0, r0, r1
+ ldrb r0, [r0]
+ bl debug_80C5B60
+ add r7, r0, #0
+ ldr r2, ._614 + 12 @ gUnknown_Debug_083F8554
+ ldr r3, [r6]
+ add r5, r3, r5
+ ldrb r0, [r5]
+ lsl r0, r0, #0x3
+ add r0, r0, r8
+ add r4, r3, r4
+ ldrb r1, [r4]
+ ldr r0, [r0]
+ add r0, r0, r1
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r2, r2, #0x4
+ add r0, r0, r2
+ ldr r1, [r0]
+ ldr r5, [r1]
+ ldr r4, [r1, #0x4]
+ ldr r2, ._614 + 16 @ gUnknown_Debug_083F8768
+ mov r6, #0xb5
+ lsl r6, r6, #0x1
+ add r0, r3, r6
+ ldrb r0, [r0]
+ lsl r0, r0, #0x2
+ add r0, r0, r2
+ ldr r3, [r0]
+ ldrb r0, [r1, #0x8]
+ cmp r0, #0
+ bne ._623 @cond_branch
+ mov r0, r9
+ cmp r0, #0x1
+ beq ._611 @cond_branch
+ cmp r0, #0x2
+ beq ._612 @cond_branch
+ b ._623
+._615:
+ .align 2, 0
+._614:
+ .word gUnknown_Debug_083F8698
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+ .word gUnknown_Debug_083F8554
+ .word gUnknown_Debug_083F8768
+._611:
+ sub r0, r4, r3
+ cmp r7, r0
+ bcs ._616 @cond_branch
+ add r7, r7, r3
+ b ._623
+._616:
+ cmp r7, r4
+ bcc ._622 @cond_branch
+ b ._619
+._612:
+ add r0, r5, r3
+ cmp r7, r0
+ bls ._620 @cond_branch
+ sub r7, r7, r3
+ b ._623
+._620:
+ cmp r7, r5
+ bls ._622 @cond_branch
+._619:
+ add r7, r5, #0
+ b ._623
+._622:
+ add r7, r4, #0
+._623:
+ ldr r1, ._624 @ gUnknown_Debug_083F8698
+ ldr r0, ._624 + 4 @ gUnknown_Debug_2038A1C
+ ldr r2, [r0]
+ mov r3, #0xb4
+ lsl r3, r3, #0x1
+ add r0, r2, r3
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r6, ._624 + 8 @ 0x169
+ add r1, r2, r6
+ ldrb r1, [r1]
+ ldr r0, [r0]
+ add r0, r0, r1
+ ldrb r1, [r0]
+ add r0, r7, #0
+ bl debug_80C5B74
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._625:
+ .align 2, 0
+._624:
+ .word gUnknown_Debug_083F8698
+ .word gUnknown_Debug_2038A1C
+ .word 0x169
+
+ thumb_func_end debug_80C6544
+
+ thumb_func_start debug_80C6630
+debug_80C6630:
+ push {r4, r5, lr}
+ add r4, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x18
+ mov r0, #0xfc
+ strb r0, [r4]
+ add r4, r4, #0x1
+ mov r0, #0x1
+ strb r0, [r4]
+ add r4, r4, #0x1
+ cmp r2, #0x2
+ bne ._626 @cond_branch
+ ldr r0, ._629 @ gUnknown_Debug_2038A1C
+ ldr r0, [r0]
+ mov r5, #0xb5
+ lsl r5, r5, #0x1
+ add r0, r0, r5
+ ldrb r0, [r0]
+ cmp r3, r0
+ beq ._627 @cond_branch
+ strb r2, [r4]
+ b ._628
+._630:
+ .align 2, 0
+._629:
+ .word gUnknown_Debug_2038A1C
+._627:
+ mov r0, #0x4
+._626:
+ strb r0, [r4]
+._628:
+ add r0, r1, #0
+ add r0, r0, #0xa1
+ strb r0, [r4, #0x1]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C6630
+
+ thumb_func_start debug_80C6678
+debug_80C6678:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ mov r9, r0
+ add r6, r1, #0
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x18
+ mov r8, r3
+ mov r7, #0x0
+ sub r0, r2, #1
+ cmp r0, #0x9
+ bhi ._644 @cond_branch
+ lsl r0, r0, #0x2
+ ldr r1, ._633 @
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._634:
+ .align 2, 0
+._633:
+ .word ._632
+._632:
+ .word ._635
+ .word ._636
+ .word ._637
+ .word ._638
+ .word ._639
+ .word ._640
+ .word ._641
+ .word ._642
+ .word ._643
+ .word ._644
+._644:
+ mov r0, r9
+ add r4, r0, r7
+ ldr r5, ._645 @ 0x3b9aca00
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x9
+ bl debug_80C6630
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._643:
+ mov r1, r9
+ add r4, r1, r7
+ ldr r5, ._645 + 4 @ 0x5f5e100
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x8
+ bl debug_80C6630
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._642:
+ mov r0, r9
+ add r4, r0, r7
+ ldr r5, ._645 + 8 @ 0x989680
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x7
+ bl debug_80C6630
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._641:
+ mov r1, r9
+ add r4, r1, r7
+ ldr r5, ._645 + 12 @ 0xf4240
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x6
+ bl debug_80C6630
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._640:
+ mov r0, r9
+ add r4, r0, r7
+ ldr r5, ._645 + 16 @ 0x186a0
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x5
+ bl debug_80C6630
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._639:
+ mov r1, r9
+ add r4, r1, r7
+ ldr r5, ._645 + 20 @ 0x2710
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x4
+ bl debug_80C6630
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._638:
+ mov r0, r9
+ add r4, r0, r7
+ mov r5, #0xfa
+ lsl r5, r5, #0x2
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x3
+ bl debug_80C6630
+ add r0, r6, #0
+ add r1, r5, #0
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._637:
+ mov r1, r9
+ add r4, r1, r7
+ add r0, r6, #0
+ mov r1, #0x64
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x2
+ bl debug_80C6630
+ add r0, r6, #0
+ mov r1, #0x64
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._636:
+ mov r0, r9
+ add r4, r0, r7
+ add r0, r6, #0
+ mov r1, #0xa
+ bl __udivsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r0, r4, #0
+ mov r2, r8
+ mov r3, #0x1
+ bl debug_80C6630
+ add r0, r6, #0
+ mov r1, #0xa
+ bl __umodsi3
+ add r6, r0, #0
+ add r0, r7, #4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._635:
+ mov r1, r9
+ add r0, r1, r7
+ lsl r1, r6, #0x18
+ lsr r1, r1, #0x18
+ mov r2, r8
+ mov r3, #0x0
+ bl debug_80C6630
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._646:
+ .align 2, 0
+._645:
+ .word 0x3b9aca00
+ .word 0x5f5e100
+ .word 0x989680
+ .word 0xf4240
+ .word 0x186a0
+ .word 0x2710
+
+ thumb_func_end debug_80C6678
+
+ thumb_func_start debug_80C689C
+debug_80C689C:
+ push {r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ mov r3, #0x0
+ ldrb r0, [r4]
+ b ._647
+._649:
+ add r1, r5, r3
+ add r0, r4, r3
+ ldrb r0, [r0]
+ strb r0, [r1]
+ add r0, r3, #1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ add r0, r4, r3
+ ldrb r0, [r0]
+._647:
+ cmp r0, #0xff
+ beq ._648 @cond_branch
+ cmp r3, r2
+ bcc ._649 @cond_branch
+._648:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C689C
+
+ thumb_func_start debug_80C68CC
+debug_80C68CC:
+ push {r4, r5, r6, r7, lr}
+ add sp, sp, #0xfffffff8
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ lsl r1, r1, #0x18
+ lsr r6, r1, #0x18
+ lsl r2, r2, #0x18
+ lsr r5, r2, #0x18
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x18
+ mov r2, #0x0
+ mov r1, #0x0
+._650:
+ mov r7, sp
+ add r0, r7, r2
+ strb r1, [r0]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x3
+ bls ._650 @cond_branch
+ mov r1, sp
+ mov r0, #0xff
+ strb r0, [r1, #0x4]
+ cmp r3, #0x2
+ beq ._651 @cond_branch
+ cmp r3, #0x2
+ bgt ._652 @cond_branch
+ cmp r3, #0x1
+ beq ._653 @cond_branch
+ b ._654
+._652:
+ cmp r3, #0x3
+ beq ._655 @cond_branch
+._654:
+ mov r1, sp
+ lsr r0, r4, #0xc
+ strb r0, [r1]
+._655:
+ mov r1, sp
+ mov r0, #0xf0
+ lsl r0, r0, #0x4
+ and r0, r0, r4
+ lsr r0, r0, #0x8
+ strb r0, [r1, #0x1]
+._651:
+ mov r1, sp
+ mov r0, #0xf0
+ and r0, r0, r4
+ lsr r0, r0, #0x4
+ strb r0, [r1, #0x2]
+._653:
+ mov r2, sp
+ mov r1, #0xf
+ add r0, r4, #0
+ and r0, r0, r1
+ strb r0, [r2, #0x3]
+ mov r2, #0x0
+._658:
+ mov r0, sp
+ add r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, #0x9
+ bhi ._656 @cond_branch
+ add r0, r0, #0xa1
+ b ._657
+._656:
+ add r0, r0, #0xb1
+._657:
+ strb r0, [r1]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x3
+ bls ._658 @cond_branch
+ mov r0, #0x4
+ sub r0, r0, r3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add r0, r0, sp
+ add r1, r6, #0
+ add r2, r5, #0
+ bl Menu_PrintText
+ add sp, sp, #0x8
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C68CC
+
+ thumb_func_start InitSeePokemonGraphics
+InitSeePokemonGraphics:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xfffffff8
+ bl debug_80C35DC
+ ldr r1, ._659 @ byte_83F88EC
+ ldr r2, ._659 + 4 @ 0x600e000
+ ldr r0, ._659 + 8 @ 0x40000d4
+ str r1, [r0]
+ str r2, [r0, #0x4]
+ ldr r1, ._659 + 12 @ 0x80000400
+ str r1, [r0, #0x8]
+ ldr r0, [r0, #0x8]
+ ldr r0, ._659 + 16 @ word_83F888C
+ mov r1, #0x80
+ mov r2, #0x60
+ bl LoadPalette
+ ldr r1, ._659 + 20 @ 0x7fff
+ add r0, sp, #0x4
+ strh r1, [r0]
+ mov r1, #0x0
+ mov r2, #0x2
+ bl LoadPalette
+ mov r0, #0x1
+ neg r0, r0
+ mov r5, #0x0
+ str r5, [sp]
+ mov r1, #0x0
+ mov r2, #0x10
+ mov r3, #0x0
+ bl BeginNormalPaletteFade
+ ldr r0, ._659 + 24 @ 0x4000040
+ mov r6, #0x0
+ strh r5, [r0]
+ add r0, r0, #0x4
+ strh r5, [r0]
+ sub r0, r0, #0x2
+ strh r5, [r0]
+ add r0, r0, #0x4
+ strh r5, [r0]
+ ldr r1, ._659 + 28 @ 0x4000048
+ mov r0, #0x3f
+ strh r0, [r1]
+ add r1, r1, #0x2
+ mov r0, #0x1f
+ strh r0, [r1]
+ add r1, r1, #0x6
+ mov r0, #0xf1
+ strh r0, [r1]
+ ldr r0, ._659 + 32 @ 0x4000052
+ strh r5, [r0]
+ add r1, r1, #0x4
+ mov r0, #0x7
+ strh r0, [r1]
+ ldr r3, ._659 + 36 @ 0x4000208
+ ldrh r2, [r3]
+ strh r5, [r3]
+ ldr r4, ._659 + 40 @ 0x4000200
+ ldrh r0, [r4]
+ mov r1, #0x1
+ orr r0, r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r0, ._659 + 44 @ debug_80C3758
+ bl SetVBlankCallback
+ ldr r0, ._659 + 48 @ debug_80C370C
+ bl SetMainCallback2
+ bl sub_809D51C
+ ldr r1, ._659 + 52 @ 0x4000008
+ ldr r2, ._659 + 56 @ 0x1f0b
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x2
+ ldr r2, ._659 + 60 @ 0x1e0a
+ add r0, r2, #0
+ strh r0, [r1]
+ sub r1, r1, #0xa
+ mov r2, #0xcd
+ lsl r2, r2, #0x6
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r0, ._659 + 64 @ debug_80C6B00
+ mov r1, #0x0
+ bl CreateTask
+ ldr r1, ._659 + 68 @ gUnknown_Debug_2038A20
+ ldr r0, ._659 + 72 @ 0x2018000
+ str r0, [r1]
+ ldr r1, ._659 + 76 @ 0x115
+ strh r1, [r0]
+ strb r6, [r0, #0x2]
+ strb r6, [r0, #0x3]
+ strb r6, [r0, #0x5]
+ strb r6, [r0, #0x7]
+ strb r6, [r0, #0xa]
+ strb r6, [r0, #0x8]
+ ldr r4, ._659 + 80 @ gSpriteTemplate_83F8874
+ add r0, r4, #0
+ mov r1, #0x6c
+ mov r2, #0x74
+ mov r3, #0x0
+ bl CreateSprite
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ ldr r6, ._659 + 84 @ gSprites
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ strh r5, [r0, #0x2e]
+ mov r1, #0x0
+ bl StartSpriteAnim
+ add r0, r4, #0
+ mov r1, #0x6c
+ mov r2, #0x74
+ mov r3, #0x0
+ bl CreateSprite
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ mov r1, #0x1
+ strh r1, [r0, #0x2e]
+ bl StartSpriteAnim
+ add r0, r4, #0
+ mov r1, #0x6c
+ mov r2, #0x74
+ mov r3, #0x0
+ bl CreateSprite
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ mov r1, #0x2
+ strh r1, [r0, #0x2e]
+ bl StartSpriteAnim
+ add sp, sp, #0x8
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._660:
+ .align 2, 0
+._659:
+ .word byte_83F88EC
+ .word 0x600e000
+ .word 0x40000d4
+ .word 0x80000400
+ .word word_83F888C
+ .word 0x7fff
+ .word 0x4000040
+ .word 0x4000048
+ .word 0x4000052
+ .word 0x4000208
+ .word 0x4000200
+ .word debug_80C3758+1
+ .word debug_80C370C+1
+ .word 0x4000008
+ .word 0x1f0b
+ .word 0x1e0a
+ .word debug_80C6B00+1
+ .word gUnknown_Debug_2038A20
+ .word 0x2018000
+ .word 0x115
+ .word gSpriteTemplate_83F8874
+ .word gSprites
+
+ thumb_func_end InitSeePokemonGraphics
+
+ thumb_func_start debug_80C6B00
+debug_80C6B00:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add sp, sp, #0xffffffec
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r1, ._666 @ gUnknown_Debug_083F8815
+ mov r0, sp
+ mov r2, #0x12
+ bl memcpy
+ mov r0, #0xa
+ mov r1, #0x0
+ mov r2, #0xf
+ mov r3, #0x7
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x9
+ mov r3, #0x9
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0x0
+ mov r1, #0xa
+ mov r2, #0x9
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0x10
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x7
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._666 + 4 @ gUnknown_Debug_083F87D0
+ mov r1, #0x11
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._666 + 8 @ gUnknown_Debug_083F87D8
+ mov r1, #0x1b
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._666 + 12 @ gUnknown_Debug_083F87E0
+ mov r1, #0x11
+ mov r2, #0x5
+ bl Menu_PrintText
+ mov r0, #0xa
+ mov r1, #0x8
+ mov r2, #0x1d
+ mov r3, #0xc
+ bl Menu_DrawStdWindowFrame
+ mov r2, #0x0
+ ldr r4, ._666 + 16 @ 0x600fa56
+ ldr r0, ._666 + 20 @ 0xa311
+ add r3, r0, #0
+._661:
+ lsl r0, r2, #0x1
+ add r0, r0, r4
+ add r1, r2, r3
+ strh r1, [r0]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0xe
+ bls ._661 @cond_branch
+ mov r2, #0x0
+ ldr r5, ._666 + 24 @ gUnknown_Debug_083F87F4
+ lsl r6, r7, #0x2
+ mov r8, r6
+ ldr r4, ._666 + 28 @ 0x600f256
+ ldr r0, ._666 + 32 @ 0x8301
+ add r3, r0, #0
+._662:
+ lsl r0, r2, #0x1
+ add r0, r0, r4
+ add r1, r2, r3
+ strh r1, [r0]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0xe
+ bls ._662 @cond_branch
+ add r0, r5, #0
+ mov r1, #0x14
+ mov r2, #0xa
+ bl Menu_PrintText
+ mov r0, #0xa
+ mov r1, #0xd
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r1, sp
+ mov r0, #0x23
+ strb r0, [r1]
+ mov r2, #0x0
+ ldr r4, ._666 + 36 @ 0x600f396
+ mov r5, #0x93
+ lsl r5, r5, #0x8
+ add r3, r5, #0
+._663:
+ lsl r1, r2, #0x1
+ add r1, r1, r4
+ mov r6, sp
+ add r0, r6, r2
+ ldrb r0, [r0]
+ add r0, r0, r3
+ strh r0, [r1]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x11
+ bls ._663 @cond_branch
+ mov r1, sp
+ mov r0, #0x24
+ strb r0, [r1]
+ mov r2, #0x0
+ ldr r5, ._666 + 40 @ gUnknown_Debug_083F8801
+ ldr r4, ._666 + 44 @ 0x600f3d6
+ mov r0, #0x93
+ lsl r0, r0, #0x8
+ add r3, r0, #0
+._664:
+ lsl r1, r2, #0x1
+ add r1, r1, r4
+ mov r6, sp
+ add r0, r6, r2
+ ldrb r0, [r0]
+ add r0, r0, r3
+ strh r0, [r1]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x11
+ bls ._664 @cond_branch
+ mov r1, sp
+ mov r0, #0x25
+ strb r0, [r1]
+ mov r2, #0x0
+ ldr r4, ._666 + 48 @ 0x600f416
+ mov r0, #0x93
+ lsl r0, r0, #0x8
+ add r3, r0, #0
+._665:
+ lsl r1, r2, #0x1
+ add r1, r1, r4
+ mov r6, sp
+ add r0, r6, r2
+ ldrb r0, [r0]
+ add r0, r0, r3
+ strh r0, [r1]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x11
+ bls ._665 @cond_branch
+ add r0, r5, #0
+ mov r1, #0xf
+ mov r2, #0x11
+ bl Menu_PrintText
+ ldr r1, ._666 + 52 @ 0x4000040
+ ldr r2, ._666 + 56 @ 0x51ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r5, ._666 + 60 @ 0x699f
+ add r0, r5, #0
+ strh r0, [r1]
+ ldr r1, ._666 + 64 @ gTasks
+ mov r6, r8
+ add r0, r6, r7
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._666 + 68 @ debug_80C6CB8
+ str r1, [r0]
+ add sp, sp, #0x14
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._667:
+ .align 2, 0
+._666:
+ .word gUnknown_Debug_083F8815
+ .word gUnknown_Debug_083F87D0
+ .word gUnknown_Debug_083F87D8
+ .word gUnknown_Debug_083F87E0
+ .word 0x600fa56
+ .word 0xa311
+ .word gUnknown_Debug_083F87F4
+ .word 0x600f256
+ .word 0x8301
+ .word 0x600f396
+ .word gUnknown_Debug_083F8801
+ .word 0x600f3d6
+ .word 0x600f416
+ .word 0x4000040
+ .word 0x51ef
+ .word 0x699f
+ .word gTasks
+ .word debug_80C6CB8+1
+
+ thumb_func_end debug_80C6B00
+
+ thumb_func_start debug_80C6CB8
+debug_80C6CB8:
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6, r7}
+ add sp, sp, #0xfffffff4
+ mov sl, r0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov sl, r0
+ ldr r5, ._668 @ gUnknown_Debug_2038A20
+ ldr r4, [r5]
+ ldrh r2, [r4]
+ lsl r0, r2, #0x3
+ ldr r1, ._668 + 4 @ gMonFrontPicTable
+ add r0, r0, r1
+ ldr r1, ._668 + 8 @ gMonFrontPicCoords
+ lsl r2, r2, #0x2
+ add r2, r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, #0x1]
+ ldr r3, ._668 + 12 @ gUnknown_081FAF4C
+ mov r8, r3
+ ldr r6, [r3]
+ str r6, [sp, #0x8]
+ ldr r3, [r3, #0x4]
+ str r3, [sp]
+ ldrh r3, [r4]
+ str r3, [sp, #0x4]
+ add r3, r6, #0
+ bl DecompressPicFromTable_2
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ lsl r0, r0, #0x3
+ ldr r7, ._668 + 16 @ gMonPaletteTable
+ add r0, r0, r7
+ bl LoadCompressedObjectPalette
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ mov r1, #0x1
+ bl GetMonSpriteTemplate_803C56C
+ ldr r0, ._668 + 20 @ gUnknown_02024E8C
+ mov r1, #0x28
+ mov r2, #0x28
+ mov r3, #0x0
+ bl CreateSprite
+ ldr r1, [r5]
+ strb r0, [r1, #0x2]
+ ldr r2, [r5]
+ ldrb r1, [r2, #0x2]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ ldr r1, ._668 + 24 @ gSprites
+ add r0, r0, r1
+ ldr r3, ._668 + 28 @ debug_69
+ mov r9, r3
+ str r3, [r0]
+ ldrb r0, [r2, #0x2]
+ lsl r1, r0, #0x4
+ add r1, r1, r0
+ lsl r1, r1, #0x2
+ ldr r6, ._668 + 32 @ gSprites
+ add r1, r1, r6
+ ldrb r2, [r1, #0x5]
+ mov r6, #0xd
+ neg r6, r6
+ add r0, r6, #0
+ and r0, r0, r2
+ strb r0, [r1, #0x5]
+ ldr r4, [r5]
+ ldrh r2, [r4]
+ lsl r0, r2, #0x3
+ ldr r1, ._668 + 36 @ gMonBackPicTable
+ add r0, r0, r1
+ ldr r1, ._668 + 40 @ gMonBackPicCoords
+ lsl r2, r2, #0x2
+ add r2, r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, #0x1]
+ mov r7, r8
+ ldr r3, [r7, #0x8]
+ str r3, [sp]
+ ldrh r3, [r4]
+ str r3, [sp, #0x4]
+ ldr r3, [sp, #0x8]
+ bl DecompressPicFromTable_2
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ lsl r0, r0, #0x3
+ ldr r1, ._668 + 16 @ gMonPaletteTable
+ add r0, r0, r1
+ bl LoadCompressedObjectPalette
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ mov r1, #0x2
+ bl GetMonSpriteTemplate_803C56C
+ ldr r0, ._668 + 20 @ gUnknown_02024E8C
+ mov r1, #0x28
+ mov r2, #0x78
+ mov r3, #0x0
+ bl CreateSprite
+ ldr r1, [r5]
+ strb r0, [r1, #0x3]
+ ldr r2, [r5]
+ ldrb r1, [r2, #0x3]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ ldr r3, ._668 + 24 @ gSprites
+ add r0, r0, r3
+ mov r7, r9
+ str r7, [r0]
+ ldrb r1, [r2, #0x3]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ ldr r1, ._668 + 32 @ gSprites
+ add r0, r0, r1
+ ldrb r1, [r0, #0x5]
+ and r6, r6, r1
+ strb r6, [r0, #0x5]
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ ldr r1, ._668 + 44 @ sub_809D62C
+ mov r2, #0x0
+ str r2, [sp]
+ str r2, [sp, #0x4]
+ mov r2, #0x68
+ mov r3, #0x2c
+ bl CreateMonIcon
+ ldr r1, [r5]
+ strb r0, [r1, #0x4]
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ bl SpeciesToNationalPokedexNum
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #0xff
+ lsl r2, r2, #0x2
+ mov r1, #0x2
+ bl sub_8091738
+ ldr r1, ._668 + 48 @ 0x600f858
+ ldr r3, ._668 + 52 @ 0xf3fc
+ add r0, r3, #0
+ strh r0, [r1]
+ add r1, r1, #0x2
+ ldr r6, ._668 + 56 @ 0xf3fd
+ add r0, r6, #0
+ strh r0, [r1]
+ add r1, r1, #0x3e
+ ldr r7, ._668 + 60 @ 0xf3fe
+ add r0, r7, #0
+ strh r0, [r1]
+ add r1, r1, #0x2
+ ldr r2, ._668 + 64 @ 0xf3ff
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ mov r1, #0x11
+ mov r2, #0x3
+ bl debug_80C3800
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ mov r1, #0x1a
+ mov r2, #0x5
+ bl debug_80C376C
+ ldr r2, [r5]
+ ldrb r1, [r2, #0x2]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ ldr r3, ._668 + 32 @ gSprites
+ add r0, r0, r3
+ ldrb r0, [r0, #0x5]
+ lsr r0, r0, #0x4
+ strb r0, [r2, #0x6]
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x5
+ ldr r4, ._668 + 68 @ gPlttBufferUnfaded
+ add r0, r0, r4
+ ldr r6, ._668 + 72 @ 0xffffff00
+ add r1, r4, r6
+ mov r2, #0x10
+ bl CpuSet
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x5
+ add r0, r0, r4
+ ldr r1, ._668 + 76 @ gPlttBufferFaded
+ mov r2, #0x10
+ bl CpuSet
+ ldr r1, ._668 + 80 @ gTasks
+ mov r7, sl
+ lsl r0, r7, #0x2
+ add r0, r0, sl
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._668 + 84 @ debug_80C6EE8
+ str r1, [r0]
+ ldr r0, [r5]
+ mov r1, #0x0
+ strb r1, [r0, #0x9]
+ bl StopCryAndClearCrySongs
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ mov r1, #0x0
+ bl PlayCry1
+ add sp, sp, #0xc
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._669:
+ .align 2, 0
+._668:
+ .word gUnknown_Debug_2038A20
+ .word gMonFrontPicTable
+ .word gMonFrontPicCoords
+ .word gUnknown_081FAF4C
+ .word gMonPaletteTable
+ .word gUnknown_02024E8C
+ .word gSprites+0x1c
+ .word debug_69+1
+ .word gSprites
+ .word gMonBackPicTable
+ .word gMonBackPicCoords
+ .word sub_809D62C+1
+ .word 0x600f858
+ .word 0xf3fc
+ .word 0xf3fd
+ .word 0xf3fe
+ .word 0xf3ff
+ .word gPlttBufferUnfaded+0x200
+ .word 0xffffff00
+ .word gPlttBufferFaded+0x100
+ .word gTasks
+ .word debug_80C6EE8+1
+
+ thumb_func_end debug_80C6CB8
+
+ thumb_func_start debug_80C6EE8
+debug_80C6EE8:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ lsl r6, r6, #0x18
+ lsr r6, r6, #0x18
+ ldr r4, ._670 @ gPlttBufferUnfaded
+ ldr r5, ._670 + 4 @ gUnknown_Debug_2038A20
+ ldr r1, [r5]
+ add r1, r1, #0x10
+ add r0, r4, #0
+ mov r2, #0x10
+ bl CpuSet
+ ldr r0, ._670 + 8 @ 0xffffff00
+ add r4, r4, r0
+ ldr r3, [r5]
+ ldrb r0, [r3, #0x7]
+ add r0, r0, #0x81
+ lsl r0, r0, #0x1
+ add r0, r0, r4
+ ldrh r4, [r0]
+ mov r1, #0x1f
+ and r1, r1, r4
+ ldrb r2, [r3, #0xc]
+ mov r0, #0x20
+ neg r0, r0
+ and r0, r0, r2
+ orr r0, r0, r1
+ strb r0, [r3, #0xc]
+ ldr r3, [r5]
+ mov r1, #0xf8
+ lsl r1, r1, #0x2
+ and r1, r1, r4
+ ldrh r2, [r3, #0xc]
+ ldr r0, ._670 + 12 @ 0xfffffc1f
+ and r0, r0, r2
+ orr r0, r0, r1
+ strh r0, [r3, #0xc]
+ mov r1, #0xf8
+ lsl r1, r1, #0x7
+ and r1, r1, r4
+ lsr r1, r1, #0x8
+ ldrb r2, [r3, #0xd]
+ mov r0, #0x7d
+ neg r0, r0
+ and r0, r0, r2
+ orr r0, r0, r1
+ strb r0, [r3, #0xd]
+ ldr r2, [r5]
+ ldrb r1, [r2, #0xd]
+ mov r0, #0x7f
+ and r0, r0, r1
+ strb r0, [r2, #0xd]
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x7]
+ add r0, r0, #0x1
+ mov r1, #0xb
+ mov r2, #0xa
+ mov r3, #0x2
+ bl debug_80C68CC
+ ldr r0, ._670 + 16 @ gUnknown_Debug_083F8813
+ mov r1, #0xd
+ mov r2, #0xa
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0xe
+ mov r2, #0xa
+ mov r3, #0x4
+ bl debug_80C68CC
+ ldr r1, ._670 + 20 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._670 + 24 @ debug_80C6FA8
+ str r1, [r0]
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._671:
+ .align 2, 0
+._670:
+ .word gPlttBufferUnfaded+0x100
+ .word gUnknown_Debug_2038A20
+ .word 0xffffff00
+ .word 0xfffffc1f
+ .word gUnknown_Debug_083F8813
+ .word gTasks
+ .word debug_80C6FA8+1
+
+ thumb_func_end debug_80C6EE8
+
+ thumb_func_start debug_80C6FA8
+debug_80C6FA8:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r1, ._674 @ gMain
+ ldrh r2, [r1, #0x2e]
+ mov r0, #0x2
+ and r0, r0, r2
+ add r4, r1, #0
+ cmp r0, #0
+ beq ._672 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x0
+ str r1, [sp]
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldr r0, ._674 + 4 @ debug_80C370C
+ bl SetMainCallback2
+ ldr r1, ._674 + 8 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._674 + 12 @ debug_80C373C
+ str r1, [r0]
+ b ._703
+._675:
+ .align 2, 0
+._674:
+ .word gMain
+ .word debug_80C370C+1
+ .word gTasks
+ .word debug_80C373C+1
+._672:
+ ldrh r1, [r4, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._676 @cond_branch
+ ldr r4, ._678 @ gUnknown_Debug_2038A20
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ mov r0, #0x0
+ b ._677
+._679:
+ .align 2, 0
+._678:
+ .word gUnknown_Debug_2038A20
+._676:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._680 @cond_branch
+ ldr r4, ._682 @ gUnknown_Debug_2038A20
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ mov r0, #0x1
+._677:
+ bl debug_80C3878
+ ldr r1, [r4]
+ strh r0, [r1]
+ ldr r1, ._682 + 4 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._682 + 8 @ debug_80C71FC
+ str r1, [r0]
+ b ._703
+._683:
+ .align 2, 0
+._682:
+ .word gUnknown_Debug_2038A20
+ .word gTasks
+ .word debug_80C71FC+1
+._680:
+ mov r3, #0x1
+ and r3, r3, r2
+ cmp r3, #0
+ beq ._684 @cond_branch
+ ldr r0, ._686 @ gUnknown_Debug_2038A20
+ ldr r1, [r0]
+ mov r0, #0x1
+ strb r0, [r1, #0x5]
+ ldr r1, ._686 + 4 @ 0x4000040
+ ldr r2, ._686 + 8 @ 0x51ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._686 + 12 @ 0x4167
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._686 + 16 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._686 + 20 @ debug_80C7294
+ str r1, [r0]
+ b ._703
+._687:
+ .align 2, 0
+._686:
+ .word gUnknown_Debug_2038A20
+ .word 0x4000040
+ .word 0x51ef
+ .word 0x4167
+ .word gTasks
+ .word debug_80C7294+1
+._684:
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._689 @cond_branch
+ ldr r1, ._691 @ gUnknown_Debug_2038A20
+ ldr r2, [r1]
+ ldrb r0, [r2, #0x7]
+ cmp r0, #0xd
+ bhi ._689 @cond_branch
+ lsl r0, r0, #0x1
+ ldr r2, ._691 + 4 @ 0x5000102
+ add r0, r0, r2
+ strh r3, [r0]
+ ldr r1, [r1]
+ ldrb r0, [r1, #0x7]
+ add r0, r0, #0x1
+ strb r0, [r1, #0x7]
+ b ._695
+._692:
+ .align 2, 0
+._691:
+ .word gUnknown_Debug_2038A20
+ .word 0x5000102
+._689:
+ ldrh r1, [r4, #0x30]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._694 @cond_branch
+ ldr r2, ._696 @ gUnknown_Debug_2038A20
+ ldr r1, [r2]
+ ldrb r0, [r1, #0x7]
+ cmp r0, #0
+ beq ._694 @cond_branch
+ lsl r0, r0, #0x1
+ ldr r1, ._696 + 4 @ 0x5000102
+ add r0, r0, r1
+ mov r1, #0x0
+ strh r1, [r0]
+ ldr r1, [r2]
+ ldrb r0, [r1, #0x7]
+ sub r0, r0, #0x1
+ strb r0, [r1, #0x7]
+ b ._695
+._697:
+ .align 2, 0
+._696:
+ .word gUnknown_Debug_2038A20
+ .word 0x5000102
+._694:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x8
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._698 @cond_branch
+ ldr r4, ._701 @ gUnknown_Debug_2038A20
+ ldr r2, [r4]
+ ldrb r0, [r2, #0x9]
+ mov r1, #0x1
+ eor r0, r0, r1
+ strb r0, [r2, #0x9]
+ ldr r1, [r4]
+ ldrb r0, [r1, #0x9]
+ cmp r0, #0
+ beq ._699 @cond_branch
+ ldrh r0, [r1]
+ mov r1, #0x0
+ mov r2, #0x0
+ bl GetMonSpritePalFromOtIdPersonality
+ ldr r1, [r4]
+ ldrb r1, [r1, #0x6]
+ lsl r1, r1, #0x14
+ mov r2, #0x80
+ lsl r2, r2, #0x11
+ add r1, r1, r2
+ lsr r1, r1, #0x10
+ mov r2, #0x20
+ bl LoadCompressedPalette
+ b ._700
+._702:
+ .align 2, 0
+._701:
+ .word gUnknown_Debug_2038A20
+._699:
+ ldrh r0, [r1]
+ mov r1, #0x0
+ mov r2, #0x9
+ bl GetMonSpritePalFromOtIdPersonality
+ ldr r1, [r4]
+ ldrb r1, [r1, #0x6]
+ lsl r1, r1, #0x14
+ mov r2, #0x80
+ lsl r2, r2, #0x11
+ add r1, r1, r2
+ lsr r1, r1, #0x10
+ mov r2, #0x20
+ bl LoadCompressedPalette
+._700:
+ ldr r5, ._704 @ gUnknown_Debug_2038A20
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x5
+ ldr r4, ._704 + 4 @ gPlttBufferUnfaded
+ add r0, r0, r4
+ ldr r2, ._704 + 8 @ 0xffffff00
+ add r1, r4, r2
+ mov r2, #0x10
+ bl CpuSet
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x5
+ add r0, r0, r4
+ ldr r1, ._704 + 12 @ gPlttBufferFaded
+ mov r2, #0x10
+ bl CpuSet
+._695:
+ ldr r1, ._704 + 16 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._704 + 20 @ debug_80C6EE8
+ str r1, [r0]
+ b ._703
+._705:
+ .align 2, 0
+._704:
+ .word gUnknown_Debug_2038A20
+ .word gPlttBufferUnfaded+0x200
+ .word 0xffffff00
+ .word gPlttBufferFaded+0x100
+ .word gTasks
+ .word debug_80C6EE8+1
+._698:
+ mov r0, #0x4
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._706 @cond_branch
+ bl StopCryAndClearCrySongs
+ ldr r0, ._707 @ gUnknown_Debug_2038A20
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ mov r1, #0x0
+ bl PlayCry1
+._706:
+ ldr r2, ._707 @ gUnknown_Debug_2038A20
+ ldr r1, [r2]
+ ldrb r0, [r1, #0x8]
+ add r0, r0, #0x4
+ strb r0, [r1, #0x8]
+ ldr r3, [r2]
+ ldrb r1, [r3, #0x8]
+ mov r0, #0x1f
+ and r0, r0, r1
+ strb r0, [r3, #0x8]
+ ldr r0, [r2]
+ ldrb r1, [r0, #0x7]
+ lsl r1, r1, #0x1
+ ldr r2, ._707 + 4 @ 0x5000142
+ add r1, r1, r2
+ ldr r2, ._707 + 8 @ gUnknown_Debug_083F8790
+ ldrb r0, [r0, #0x8]
+ lsl r0, r0, #0x1
+ add r0, r0, r2
+ ldrh r0, [r0]
+ strh r0, [r1]
+._703:
+ add sp, sp, #0x4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._708:
+ .align 2, 0
+._707:
+ .word gUnknown_Debug_2038A20
+ .word 0x5000142
+ .word gUnknown_Debug_083F8790
+
+ thumb_func_end debug_80C6FA8
+
+ thumb_func_start debug_80C71FC
+debug_80C71FC:
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ ldr r6, ._709 @ gSprites
+ ldr r4, ._709 + 4 @ gUnknown_Debug_2038A20
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x2]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ ldrb r0, [r0, #0x5]
+ lsr r0, r0, #0x4
+ bl GetSpritePaletteTagByPaletteNum
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FreeSpritePaletteByTag
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x2]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ bl DestroySprite
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x3]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ ldrb r0, [r0, #0x5]
+ lsr r0, r0, #0x4
+ bl GetSpritePaletteTagByPaletteNum
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FreeSpritePaletteByTag
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x3]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ bl DestroySprite
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x4]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ bl sub_809D510
+ ldr r1, ._709 + 8 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._709 + 12 @ debug_80C6CB8
+ str r1, [r0]
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._710:
+ .align 2, 0
+._709:
+ .word gSprites
+ .word gUnknown_Debug_2038A20
+ .word gTasks
+ .word debug_80C6CB8+1
+
+ thumb_func_end debug_80C71FC
+
+ thumb_func_start debug_80C7294
+debug_80C7294:
+ push {r4, r5, r6, r7, lr}
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r0, ._713 @ gMain
+ ldrh r2, [r0, #0x2e]
+ mov r1, #0x1
+ and r1, r1, r2
+ add r3, r0, #0
+ cmp r1, #0
+ beq ._711 @cond_branch
+ ldr r0, ._713 + 4 @ gUnknown_Debug_2038A20
+ ldr r1, [r0]
+ mov r0, #0x0
+ strb r0, [r1, #0x5]
+ ldr r1, ._713 + 8 @ 0x4000040
+ ldr r2, ._713 + 12 @ 0x51ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._713 + 16 @ 0x699f
+ add r0, r2, #0
+ strh r0, [r1]
+ b ._712
+._714:
+ .align 2, 0
+._713:
+ .word gMain
+ .word gUnknown_Debug_2038A20
+ .word 0x4000040
+ .word 0x51ef
+ .word 0x699f
+._711:
+ mov r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._715 @cond_branch
+ ldr r6, ._717 @ gUnknown_Debug_2038A20
+ ldr r0, [r6]
+ strb r1, [r0, #0x5]
+ ldr r1, ._717 + 4 @ 0x4000040
+ ldr r2, ._717 + 8 @ 0x51ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._717 + 12 @ 0x699f
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r0, [r6]
+ add r0, r0, #0x10
+ ldr r4, ._717 + 16 @ gPlttBufferUnfaded
+ add r1, r4, #0
+ mov r2, #0x10
+ bl CpuSet
+ ldr r0, [r6]
+ add r0, r0, #0x10
+ ldr r5, ._717 + 20 @ gPlttBufferFaded
+ add r1, r5, #0
+ mov r2, #0x10
+ bl CpuSet
+ ldr r1, [r6]
+ add r0, r1, #0
+ add r0, r0, #0x10
+ ldrb r1, [r1, #0x6]
+ lsl r1, r1, #0x5
+ mov r2, #0x80
+ lsl r2, r2, #0x1
+ add r4, r4, r2
+ add r1, r1, r4
+ mov r2, #0x10
+ bl CpuSet
+ ldr r1, [r6]
+ add r0, r1, #0
+ add r0, r0, #0x10
+ ldrb r1, [r1, #0x6]
+ lsl r1, r1, #0x5
+ mov r2, #0x80
+ lsl r2, r2, #0x1
+ add r5, r5, r2
+ add r1, r1, r5
+ mov r2, #0x10
+ bl CpuSet
+._712:
+ ldr r1, ._717 + 24 @ gTasks
+ lsl r0, r7, #0x2
+ add r0, r0, r7
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._717 + 28 @ debug_80C6EE8
+ str r1, [r0]
+ b ._754
+._718:
+ .align 2, 0
+._717:
+ .word gUnknown_Debug_2038A20
+ .word 0x4000040
+ .word 0x51ef
+ .word 0x699f
+ .word gPlttBufferUnfaded+0x100
+ .word gPlttBufferFaded+0x100
+ .word gTasks
+ .word debug_80C6EE8+1
+._715:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._720 @cond_branch
+ ldr r0, ._722 @ gUnknown_Debug_2038A20
+ ldr r1, [r0]
+ ldrb r0, [r1, #0xa]
+ cmp r0, #0x1
+ bhi ._720 @cond_branch
+ add r0, r0, #0x1
+ strb r0, [r1, #0xa]
+ b ._754
+._723:
+ .align 2, 0
+._722:
+ .word gUnknown_Debug_2038A20
+._720:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._725 @cond_branch
+ ldr r0, ._727 @ gUnknown_Debug_2038A20
+ ldr r1, [r0]
+ ldrb r0, [r1, #0xa]
+ cmp r0, #0
+ beq ._725 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1, #0xa]
+ b ._754
+._728:
+ .align 2, 0
+._727:
+ .word gUnknown_Debug_2038A20
+._725:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._729 @cond_branch
+ ldr r0, ._734 @ gUnknown_Debug_2038A20
+ ldr r2, [r0]
+ ldrb r0, [r2, #0xa]
+ cmp r0, #0x1
+ beq ._730 @cond_branch
+ cmp r0, #0x1
+ bgt ._731 @cond_branch
+ cmp r0, #0
+ beq ._732 @cond_branch
+ b ._754
+._735:
+ .align 2, 0
+._734:
+ .word gUnknown_Debug_2038A20
+._731:
+ cmp r0, #0x2
+ beq ._736 @cond_branch
+ b ._754
+._732:
+ ldrb r3, [r2, #0xc]
+ lsl r1, r3, #0x1b
+ lsr r0, r1, #0x1b
+ cmp r0, #0x1e
+ bhi ._761 @cond_branch
+ add r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ mov r1, #0x20
+ neg r1, r1
+ and r1, r1, r3
+ orr r1, r1, r0
+ strb r1, [r2, #0xc]
+ b ._761
+._730:
+ ldrh r3, [r2, #0xc]
+ lsl r1, r3, #0x16
+ lsr r0, r1, #0x1b
+ cmp r0, #0x1e
+ bhi ._761 @cond_branch
+ add r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ lsl r0, r0, #0x5
+ ldr r1, ._742 @ 0xfffffc1f
+ and r1, r1, r3
+ orr r1, r1, r0
+ strh r1, [r2, #0xc]
+ b ._761
+._743:
+ .align 2, 0
+._742:
+ .word 0xfffffc1f
+._736:
+ ldrb r3, [r2, #0xd]
+ lsl r1, r3, #0x19
+ lsr r0, r1, #0x1b
+ cmp r0, #0x1e
+ bhi ._761 @cond_branch
+ add r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ lsl r0, r0, #0x2
+ mov r1, #0x7d
+ neg r1, r1
+ and r1, r1, r3
+ orr r1, r1, r0
+ strb r1, [r2, #0xd]
+ b ._761
+._729:
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._754 @cond_branch
+ ldr r0, ._751 @ gUnknown_Debug_2038A20
+ ldr r3, [r0]
+ ldrb r0, [r3, #0xa]
+ cmp r0, #0x1
+ beq ._747 @cond_branch
+ cmp r0, #0x1
+ bgt ._748 @cond_branch
+ cmp r0, #0
+ beq ._749 @cond_branch
+ b ._754
+._752:
+ .align 2, 0
+._751:
+ .word gUnknown_Debug_2038A20
+._748:
+ cmp r0, #0x2
+ beq ._753 @cond_branch
+ b ._754
+._749:
+ ldrb r2, [r3, #0xc]
+ mov r0, #0x1f
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._761 @cond_branch
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x1b
+ sub r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ mov r1, #0x20
+ neg r1, r1
+ and r1, r1, r2
+ orr r1, r1, r0
+ strb r1, [r3, #0xc]
+ b ._761
+._747:
+ ldrh r2, [r3, #0xc]
+ mov r0, #0xf8
+ lsl r0, r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._761 @cond_branch
+ lsl r0, r2, #0x16
+ lsr r0, r0, #0x1b
+ sub r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ lsl r0, r0, #0x5
+ ldr r1, ._759 @ 0xfffffc1f
+ and r1, r1, r2
+ orr r1, r1, r0
+ strh r1, [r3, #0xc]
+ b ._761
+._760:
+ .align 2, 0
+._759:
+ .word 0xfffffc1f
+._753:
+ ldrb r2, [r3, #0xd]
+ mov r0, #0x7c
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._761 @cond_branch
+ lsl r0, r2, #0x19
+ lsr r0, r0, #0x1b
+ sub r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ lsl r0, r0, #0x2
+ mov r1, #0x7d
+ neg r1, r1
+ and r1, r1, r2
+ orr r1, r1, r0
+ strb r1, [r3, #0xd]
+._761:
+ ldr r0, ._762 @ gTasks
+ lsl r1, r7, #0x2
+ add r1, r1, r7
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._762 + 4 @ debug_80C74E4
+ str r0, [r1]
+._754:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._763:
+ .align 2, 0
+._762:
+ .word gTasks
+ .word debug_80C74E4+1
+
+ thumb_func_end debug_80C7294
+
+ thumb_func_start debug_80C74E4
+debug_80C74E4:
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ add r5, r0, #0
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ ldr r0, ._764 @ gUnknown_Debug_2038A20
+ ldr r3, [r0]
+ ldrb r0, [r3, #0xc]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1b
+ ldrh r2, [r3, #0xc]
+ mov r1, #0xf8
+ lsl r1, r1, #0x2
+ and r1, r1, r2
+ add r0, r0, r1
+ ldrb r1, [r3, #0xd]
+ lsl r1, r1, #0x19
+ lsr r1, r1, #0x1b
+ lsl r1, r1, #0xa
+ add r0, r0, r1
+ ldr r6, ._764 + 4 @ gPlttBufferUnfaded
+ ldrb r1, [r3, #0x7]
+ add r1, r1, #0x81
+ lsl r1, r1, #0x1
+ add r1, r1, r6
+ strh r0, [r1]
+ ldr r1, ._764 + 8 @ gPlttBufferFaded
+ mov r8, r1
+ ldrb r1, [r3, #0x7]
+ add r1, r1, #0x81
+ lsl r1, r1, #0x1
+ add r1, r1, r8
+ strh r0, [r1]
+ ldrb r1, [r3, #0x6]
+ lsl r1, r1, #0x4
+ ldrb r2, [r3, #0x7]
+ ldr r4, ._764 + 12 @ 0x101
+ add r2, r2, r4
+ add r1, r1, r2
+ lsl r1, r1, #0x1
+ add r1, r1, r6
+ strh r0, [r1]
+ ldrb r1, [r3, #0x6]
+ lsl r1, r1, #0x4
+ ldrb r2, [r3, #0x7]
+ add r2, r2, r4
+ add r1, r1, r2
+ lsl r1, r1, #0x1
+ add r1, r1, r8
+ strh r0, [r1]
+ mov r1, #0xe
+ mov r2, #0xa
+ mov r3, #0x4
+ bl debug_80C68CC
+ ldr r1, ._764 + 16 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._764 + 20 @ debug_80C7294
+ str r1, [r0]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._765:
+ .align 2, 0
+._764:
+ .word gUnknown_Debug_2038A20
+ .word gPlttBufferUnfaded
+ .word gPlttBufferFaded
+ .word 0x101
+ .word gTasks
+ .word debug_80C7294+1
+
+ thumb_func_end debug_80C74E4
+
+ thumb_func_start debug_80C7584
+debug_80C7584:
+ push {r4, lr}
+ add r2, r0, #0
+ ldr r0, ._771 @ gUnknown_Debug_2038A20
+ ldr r3, [r0]
+ ldrb r1, [r3, #0x5]
+ add r4, r0, #0
+ cmp r1, #0
+ beq ._766 @cond_branch
+ mov r1, #0x2e
+ ldsh r0, [r2, r1]
+ cmp r0, #0x1
+ beq ._767 @cond_branch
+ cmp r0, #0x1
+ ble ._768 @cond_branch
+ cmp r0, #0x2
+ beq ._769 @cond_branch
+._768:
+ ldrb r0, [r3, #0xc]
+ lsl r0, r0, #0x1b
+ b ._773
+._772:
+ .align 2, 0
+._771:
+ .word gUnknown_Debug_2038A20
+._767:
+ ldrh r0, [r3, #0xc]
+ lsl r0, r0, #0x16
+ b ._773
+._769:
+ ldrb r0, [r3, #0xd]
+ lsl r0, r0, #0x19
+._773:
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x2
+ strh r0, [r2, #0x24]
+ mov r1, #0x2e
+ ldsh r0, [r2, r1]
+ lsl r0, r0, #0x3
+ strh r0, [r2, #0x26]
+ ldrh r0, [r2, #0x30]
+ add r3, r0, #1
+ strh r3, [r2, #0x30]
+ mov r0, #0x2e
+ ldsh r1, [r2, r0]
+ ldr r0, [r4]
+ ldrb r0, [r0, #0xa]
+ cmp r1, r0
+ bne ._775 @cond_branch
+ mov r0, #0x8
+ and r3, r3, r0
+ cmp r3, #0
+ bne ._775 @cond_branch
+._766:
+ add r0, r2, #0
+ add r0, r0, #0x3e
+ ldrb r1, [r0]
+ mov r2, #0x4
+ orr r1, r1, r2
+ strb r1, [r0]
+ b ._776
+._775:
+ add r2, r2, #0x3e
+ ldrb r1, [r2]
+ mov r0, #0x5
+ neg r0, r0
+ and r0, r0, r1
+ strb r0, [r2]
+._776:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_80C7584
+
+ thumb_func_start InitSeeTrainers
+InitSeeTrainers:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xfffffffc
+ bl debug_80C35DC
+ ldr r1, ._777 @ byte_83F88EC
+ ldr r2, ._777 + 4 @ 0x600e000
+ ldr r0, ._777 + 8 @ 0x40000d4
+ str r1, [r0]
+ str r2, [r0, #0x4]
+ ldr r1, ._777 + 12 @ 0x80000400
+ str r1, [r0, #0x8]
+ ldr r0, [r0, #0x8]
+ ldr r0, ._777 + 16 @ word_83F888C
+ mov r1, #0x80
+ mov r2, #0x60
+ bl LoadPalette
+ mov r0, #0x1
+ neg r0, r0
+ mov r5, #0x0
+ str r5, [sp]
+ mov r1, #0x0
+ mov r2, #0x10
+ mov r3, #0x0
+ bl BeginNormalPaletteFade
+ ldr r0, ._777 + 20 @ 0x4000040
+ mov r6, #0x0
+ strh r5, [r0]
+ add r0, r0, #0x4
+ strh r5, [r0]
+ sub r0, r0, #0x2
+ strh r5, [r0]
+ add r0, r0, #0x4
+ strh r5, [r0]
+ ldr r1, ._777 + 24 @ 0x4000048
+ mov r0, #0x3f
+ strh r0, [r1]
+ add r1, r1, #0x2
+ mov r0, #0x1f
+ strh r0, [r1]
+ add r1, r1, #0x6
+ mov r0, #0xf1
+ strh r0, [r1]
+ ldr r0, ._777 + 28 @ 0x4000052
+ strh r5, [r0]
+ add r1, r1, #0x4
+ mov r0, #0x7
+ strh r0, [r1]
+ ldr r3, ._777 + 32 @ 0x4000208
+ ldrh r2, [r3]
+ strh r5, [r3]
+ ldr r4, ._777 + 36 @ 0x4000200
+ ldrh r0, [r4]
+ mov r1, #0x1
+ orr r0, r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r0, ._777 + 40 @ debug_80C3758
+ bl SetVBlankCallback
+ ldr r0, ._777 + 44 @ debug_80C370C
+ bl SetMainCallback2
+ ldr r1, ._777 + 48 @ 0x4000008
+ ldr r2, ._777 + 52 @ 0x1f0b
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x2
+ ldr r2, ._777 + 56 @ 0x1e0a
+ add r0, r2, #0
+ strh r0, [r1]
+ sub r1, r1, #0xa
+ mov r2, #0xcd
+ lsl r2, r2, #0x6
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r0, ._777 + 60 @ debug_80C777C
+ mov r1, #0x0
+ bl CreateTask
+ ldr r1, ._777 + 64 @ gUnknown_Debug_2038A20
+ ldr r0, ._777 + 68 @ 0x2018000
+ str r0, [r1]
+ strh r5, [r0]
+ strb r6, [r0, #0x2]
+ strb r6, [r0, #0x3]
+ strb r6, [r0, #0x5]
+ strb r6, [r0, #0x7]
+ strb r6, [r0, #0xa]
+ strb r6, [r0, #0x8]
+ ldr r4, ._777 + 72 @ gSpriteTemplate_83F8874
+ add r0, r4, #0
+ mov r1, #0x6c
+ mov r2, #0x74
+ mov r3, #0x0
+ bl CreateSprite
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ ldr r6, ._777 + 76 @ gSprites
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ strh r5, [r0, #0x2e]
+ mov r1, #0x0
+ bl StartSpriteAnim
+ add r0, r4, #0
+ mov r1, #0x6c
+ mov r2, #0x74
+ mov r3, #0x0
+ bl CreateSprite
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ mov r1, #0x1
+ strh r1, [r0, #0x2e]
+ bl StartSpriteAnim
+ add r0, r4, #0
+ mov r1, #0x6c
+ mov r2, #0x74
+ mov r3, #0x0
+ bl CreateSprite
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ mov r1, #0x2
+ strh r1, [r0, #0x2e]
+ bl StartSpriteAnim
+ add sp, sp, #0x4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._778:
+ .align 2, 0
+._777:
+ .word byte_83F88EC
+ .word 0x600e000
+ .word 0x40000d4
+ .word 0x80000400
+ .word word_83F888C
+ .word 0x4000040
+ .word 0x4000048
+ .word 0x4000052
+ .word 0x4000208
+ .word 0x4000200
+ .word debug_80C3758+1
+ .word debug_80C370C+1
+ .word 0x4000008
+ .word 0x1f0b
+ .word 0x1e0a
+ .word debug_80C777C+1
+ .word gUnknown_Debug_2038A20
+ .word 0x2018000
+ .word gSpriteTemplate_83F8874
+ .word gSprites
+
+ thumb_func_end InitSeeTrainers
+
+ thumb_func_start debug_80C777C
+debug_80C777C:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add sp, sp, #0xffffffec
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r1, ._784 @ gUnknown_Debug_083F8815
+ mov r0, sp
+ mov r2, #0x12
+ bl memcpy
+ mov r0, #0x9
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0x7
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x9
+ mov r3, #0x9
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0x0
+ mov r1, #0xa
+ mov r2, #0x9
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0xe
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x7
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._784 + 4 @ gUnknown_Debug_083F87D0
+ mov r1, #0xf
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._784 + 8 @ gUnknown_Debug_083F87D8
+ mov r1, #0x19
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._784 + 12 @ gUnknown_Debug_083F87E0
+ mov r1, #0xf
+ mov r2, #0x5
+ bl Menu_PrintText
+ mov r0, #0xa
+ mov r1, #0x8
+ mov r2, #0x1d
+ mov r3, #0xc
+ bl Menu_DrawStdWindowFrame
+ mov r2, #0x0
+ ldr r4, ._784 + 16 @ 0x600fa56
+ ldr r0, ._784 + 20 @ 0xa311
+ add r3, r0, #0
+._779:
+ lsl r0, r2, #0x1
+ add r0, r0, r4
+ add r1, r2, r3
+ strh r1, [r0]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0xe
+ bls ._779 @cond_branch
+ mov r2, #0x0
+ ldr r5, ._784 + 24 @ gUnknown_Debug_083F87F4
+ lsl r6, r7, #0x2
+ mov r8, r6
+ ldr r4, ._784 + 28 @ 0x600f256
+ ldr r0, ._784 + 32 @ 0x8301
+ add r3, r0, #0
+._780:
+ lsl r0, r2, #0x1
+ add r0, r0, r4
+ add r1, r2, r3
+ strh r1, [r0]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0xe
+ bls ._780 @cond_branch
+ add r0, r5, #0
+ mov r1, #0x14
+ mov r2, #0xa
+ bl Menu_PrintText
+ mov r0, #0xa
+ mov r1, #0xd
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ mov r1, sp
+ mov r0, #0x23
+ strb r0, [r1]
+ mov r2, #0x0
+ ldr r4, ._784 + 36 @ 0x600f396
+ mov r5, #0x93
+ lsl r5, r5, #0x8
+ add r3, r5, #0
+._781:
+ lsl r1, r2, #0x1
+ add r1, r1, r4
+ mov r6, sp
+ add r0, r6, r2
+ ldrb r0, [r0]
+ add r0, r0, r3
+ strh r0, [r1]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x11
+ bls ._781 @cond_branch
+ mov r1, sp
+ mov r0, #0x24
+ strb r0, [r1]
+ mov r2, #0x0
+ ldr r5, ._784 + 40 @ gUnknown_Debug_083F8801
+ ldr r4, ._784 + 44 @ 0x600f3d6
+ mov r0, #0x93
+ lsl r0, r0, #0x8
+ add r3, r0, #0
+._782:
+ lsl r1, r2, #0x1
+ add r1, r1, r4
+ mov r6, sp
+ add r0, r6, r2
+ ldrb r0, [r0]
+ add r0, r0, r3
+ strh r0, [r1]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x11
+ bls ._782 @cond_branch
+ mov r1, sp
+ mov r0, #0x25
+ strb r0, [r1]
+ mov r2, #0x0
+ ldr r4, ._784 + 48 @ 0x600f416
+ mov r0, #0x93
+ lsl r0, r0, #0x8
+ add r3, r0, #0
+._783:
+ lsl r1, r2, #0x1
+ add r1, r1, r4
+ mov r6, sp
+ add r0, r6, r2
+ ldrb r0, [r0]
+ add r0, r0, r3
+ strh r0, [r1]
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x11
+ bls ._783 @cond_branch
+ add r0, r5, #0
+ mov r1, #0xf
+ mov r2, #0x11
+ bl Menu_PrintText
+ ldr r1, ._784 + 52 @ 0x4000040
+ ldr r2, ._784 + 56 @ 0x51ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r5, ._784 + 60 @ 0x699f
+ add r0, r5, #0
+ strh r0, [r1]
+ ldr r1, ._784 + 64 @ gTasks
+ mov r6, r8
+ add r0, r6, r7
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._784 + 68 @ debug_80C7934
+ str r1, [r0]
+ add sp, sp, #0x14
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._785:
+ .align 2, 0
+._784:
+ .word gUnknown_Debug_083F8815
+ .word gUnknown_Debug_083F87D0
+ .word gUnknown_Debug_083F87D8
+ .word gUnknown_Debug_083F87E0
+ .word 0x600fa56
+ .word 0xa311
+ .word gUnknown_Debug_083F87F4
+ .word 0x600f256
+ .word 0x8301
+ .word 0x600f396
+ .word gUnknown_Debug_083F8801
+ .word 0x600f3d6
+ .word 0x600f416
+ .word 0x4000040
+ .word 0x51ef
+ .word 0x699f
+ .word gTasks
+ .word debug_80C7934+1
+
+ thumb_func_end debug_80C777C
+
+ thumb_func_start debug_80C7934
+debug_80C7934:
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ add sp, sp, #0xfffffff8
+ mov r8, r0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r8, r0
+ ldr r5, ._786 @ gUnknown_Debug_2038A20
+ ldr r6, [r5]
+ ldrh r2, [r6]
+ lsl r0, r2, #0x3
+ ldr r1, ._786 + 4 @ gTrainerFrontPicTable
+ add r0, r0, r1
+ ldr r1, ._786 + 8 @ gTrainerFrontPicCoords
+ lsl r2, r2, #0x2
+ add r2, r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, #0x1]
+ ldr r4, ._786 + 12 @ gUnknown_081FAF4C
+ ldr r3, [r4]
+ ldr r4, [r4, #0x4]
+ str r4, [sp]
+ ldrh r4, [r6]
+ str r4, [sp, #0x4]
+ bl DecompressPicFromTable_2
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ lsl r0, r0, #0x3
+ ldr r1, ._786 + 16 @ gTrainerFrontPicPaletteTable
+ add r0, r0, r1
+ bl LoadCompressedObjectPalette
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ mov r1, #0x1
+ bl GetMonSpriteTemplate_803C5A0
+ ldr r0, ._786 + 20 @ gUnknown_02024E8C
+ mov r1, #0x28
+ mov r2, #0x28
+ mov r3, #0x0
+ bl CreateSprite
+ ldr r1, [r5]
+ mov r6, #0x0
+ strb r0, [r1, #0x2]
+ ldr r4, ._786 + 24 @ gSprites
+ ldr r2, [r5]
+ ldrb r1, [r2, #0x2]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r1, r4, #0
+ add r1, r1, #0x1c
+ add r0, r0, r1
+ ldr r1, ._786 + 28 @ debug_69
+ str r1, [r0]
+ ldrb r0, [r2, #0x2]
+ lsl r1, r0, #0x4
+ add r1, r1, r0
+ lsl r1, r1, #0x2
+ add r1, r1, r4
+ ldrb r2, [r1, #0x5]
+ mov r0, #0xd
+ neg r0, r0
+ and r0, r0, r2
+ strb r0, [r1, #0x5]
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ mov r1, #0x1a
+ mov r2, #0x5
+ bl debug_80C376C
+ ldr r2, [r5]
+ ldrb r1, [r2, #0x2]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r4
+ ldrb r0, [r0, #0x5]
+ lsr r0, r0, #0x4
+ strb r0, [r2, #0x6]
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x5
+ ldr r4, ._786 + 32 @ gPlttBufferUnfaded
+ add r0, r0, r4
+ ldr r2, ._786 + 36 @ 0xffffff00
+ add r1, r4, r2
+ mov r2, #0x10
+ bl CpuSet
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x5
+ add r0, r0, r4
+ ldr r1, ._786 + 40 @ gPlttBufferFaded
+ mov r2, #0x10
+ bl CpuSet
+ ldr r1, ._786 + 44 @ gTasks
+ mov r2, r8
+ lsl r0, r2, #0x2
+ add r0, r0, r8
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._786 + 48 @ debug_80C7A54
+ str r1, [r0]
+ ldr r0, [r5]
+ strb r6, [r0, #0x9]
+ add sp, sp, #0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._787:
+ .align 2, 0
+._786:
+ .word gUnknown_Debug_2038A20
+ .word gTrainerFrontPicTable
+ .word gTrainerFrontPicCoords
+ .word gUnknown_081FAF4C
+ .word gTrainerFrontPicPaletteTable
+ .word gUnknown_02024E8C
+ .word gSprites
+ .word debug_69+1
+ .word gPlttBufferUnfaded+0x200
+ .word 0xffffff00
+ .word gPlttBufferFaded+0x100
+ .word gTasks
+ .word debug_80C7A54+1
+
+ thumb_func_end debug_80C7934
+
+ thumb_func_start debug_80C7A54
+debug_80C7A54:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ lsl r6, r6, #0x18
+ lsr r6, r6, #0x18
+ ldr r4, ._788 @ gPlttBufferUnfaded
+ ldr r5, ._788 + 4 @ gUnknown_Debug_2038A20
+ ldr r1, [r5]
+ add r1, r1, #0x10
+ add r0, r4, #0
+ mov r2, #0x10
+ bl CpuSet
+ ldr r0, ._788 + 8 @ 0xffffff00
+ add r4, r4, r0
+ ldr r3, [r5]
+ ldrb r0, [r3, #0x7]
+ add r0, r0, #0x81
+ lsl r0, r0, #0x1
+ add r0, r0, r4
+ ldrh r4, [r0]
+ mov r1, #0x1f
+ and r1, r1, r4
+ ldrb r2, [r3, #0xc]
+ mov r0, #0x20
+ neg r0, r0
+ and r0, r0, r2
+ orr r0, r0, r1
+ strb r0, [r3, #0xc]
+ ldr r3, [r5]
+ mov r1, #0xf8
+ lsl r1, r1, #0x2
+ and r1, r1, r4
+ ldrh r2, [r3, #0xc]
+ ldr r0, ._788 + 12 @ 0xfffffc1f
+ and r0, r0, r2
+ orr r0, r0, r1
+ strh r0, [r3, #0xc]
+ mov r1, #0xf8
+ lsl r1, r1, #0x7
+ and r1, r1, r4
+ lsr r1, r1, #0x8
+ ldrb r2, [r3, #0xd]
+ mov r0, #0x7d
+ neg r0, r0
+ and r0, r0, r2
+ orr r0, r0, r1
+ strb r0, [r3, #0xd]
+ ldr r2, [r5]
+ ldrb r1, [r2, #0xd]
+ mov r0, #0x7f
+ and r0, r0, r1
+ strb r0, [r2, #0xd]
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x7]
+ add r0, r0, #0x1
+ mov r1, #0xb
+ mov r2, #0xa
+ mov r3, #0x2
+ bl debug_80C68CC
+ ldr r0, ._788 + 16 @ gUnknown_Debug_083F8813
+ mov r1, #0xd
+ mov r2, #0xa
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0xe
+ mov r2, #0xa
+ mov r3, #0x4
+ bl debug_80C68CC
+ ldr r1, ._788 + 20 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._788 + 24 @ debug_80C7B14
+ str r1, [r0]
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._789:
+ .align 2, 0
+._788:
+ .word gPlttBufferUnfaded+0x100
+ .word gUnknown_Debug_2038A20
+ .word 0xffffff00
+ .word 0xfffffc1f
+ .word gUnknown_Debug_083F8813
+ .word gTasks
+ .word debug_80C7B14+1
+
+ thumb_func_end debug_80C7A54
+
+ thumb_func_start debug_80C7B14
+debug_80C7B14:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r1, ._792 @ gMain
+ ldrh r3, [r1, #0x2e]
+ mov r0, #0x2
+ and r0, r0, r3
+ add r4, r1, #0
+ cmp r0, #0
+ beq ._790 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x0
+ str r1, [sp]
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldr r0, ._792 + 4 @ debug_80C370C
+ bl SetMainCallback2
+ ldr r1, ._792 + 8 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._792 + 12 @ debug_80C373C
+ str r1, [r0]
+ b ._821
+._793:
+ .align 2, 0
+._792:
+ .word gMain
+ .word debug_80C370C+1
+ .word gTasks
+ .word debug_80C373C+1
+._790:
+ ldrh r1, [r4, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._794 @cond_branch
+ ldr r4, ._796 @ gUnknown_Debug_2038A20
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ mov r0, #0x0
+ b ._795
+._797:
+ .align 2, 0
+._796:
+ .word gUnknown_Debug_2038A20
+._794:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._798 @cond_branch
+ ldr r4, ._800 @ gUnknown_Debug_2038A20
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ mov r0, #0x1
+._795:
+ bl debug_80C38B4
+ ldr r1, [r4]
+ strh r0, [r1]
+ ldr r1, ._800 + 4 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._800 + 8 @ debug_80C7D44
+ str r1, [r0]
+ b ._821
+._801:
+ .align 2, 0
+._800:
+ .word gUnknown_Debug_2038A20
+ .word gTasks
+ .word debug_80C7D44+1
+._798:
+ mov r2, #0x1
+ and r2, r2, r3
+ cmp r2, #0
+ beq ._802 @cond_branch
+ ldr r0, ._804 @ gUnknown_Debug_2038A20
+ ldr r1, [r0]
+ mov r0, #0x1
+ strb r0, [r1, #0x5]
+ ldr r1, ._804 + 4 @ 0x4000040
+ ldr r2, ._804 + 8 @ 0x51ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._804 + 12 @ 0x4167
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r1, ._804 + 16 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._804 + 20 @ debug_80C7DDC
+ str r1, [r0]
+ b ._821
+._805:
+ .align 2, 0
+._804:
+ .word gUnknown_Debug_2038A20
+ .word 0x4000040
+ .word 0x51ef
+ .word 0x4167
+ .word gTasks
+ .word debug_80C7DDC+1
+._802:
+ mov r0, #0x10
+ and r0, r0, r1
+ ldr r3, ._809 @ gUnknown_Debug_2038A20
+ cmp r0, #0
+ beq ._807 @cond_branch
+ ldr r1, [r3]
+ ldrb r0, [r1, #0x7]
+ cmp r0, #0xd
+ bhi ._807 @cond_branch
+ lsl r0, r0, #0x1
+ ldr r1, ._809 + 4 @ 0x5000102
+ add r0, r0, r1
+ strh r2, [r0]
+ ldr r1, [r3]
+ ldrb r0, [r1, #0x7]
+ add r0, r0, #0x1
+ strb r0, [r1, #0x7]
+ b ._813
+._810:
+ .align 2, 0
+._809:
+ .word gUnknown_Debug_2038A20
+ .word 0x5000102
+._807:
+ ldrh r1, [r4, #0x30]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._812 @cond_branch
+ ldr r1, [r3]
+ ldrb r0, [r1, #0x7]
+ cmp r0, #0
+ beq ._812 @cond_branch
+ lsl r0, r0, #0x1
+ ldr r2, ._814 @ 0x5000102
+ add r0, r0, r2
+ mov r1, #0x0
+ strh r1, [r0]
+ ldr r1, [r3]
+ ldrb r0, [r1, #0x7]
+ sub r0, r0, #0x1
+ strb r0, [r1, #0x7]
+ b ._813
+._815:
+ .align 2, 0
+._814:
+ .word 0x5000102
+._812:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x8
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._816 @cond_branch
+ ldr r4, ._819 @ gUnknown_Debug_2038A20
+ ldr r2, [r4]
+ ldrb r0, [r2, #0x9]
+ mov r1, #0x1
+ eor r0, r0, r1
+ strb r0, [r2, #0x9]
+ ldr r1, [r4]
+ ldrb r0, [r1, #0x9]
+ cmp r0, #0
+ beq ._817 @cond_branch
+ ldrh r0, [r1]
+ mov r1, #0x0
+ mov r2, #0x0
+ bl GetMonSpritePalFromOtIdPersonality
+ ldr r1, [r4]
+ ldrb r1, [r1, #0x6]
+ lsl r1, r1, #0x14
+ mov r2, #0x80
+ lsl r2, r2, #0x11
+ add r1, r1, r2
+ lsr r1, r1, #0x10
+ mov r2, #0x20
+ bl LoadCompressedPalette
+ b ._818
+._820:
+ .align 2, 0
+._819:
+ .word gUnknown_Debug_2038A20
+._817:
+ ldrh r0, [r1]
+ mov r1, #0x0
+ mov r2, #0x9
+ bl GetMonSpritePalFromOtIdPersonality
+ ldr r1, [r4]
+ ldrb r1, [r1, #0x6]
+ lsl r1, r1, #0x14
+ mov r2, #0x80
+ lsl r2, r2, #0x11
+ add r1, r1, r2
+ lsr r1, r1, #0x10
+ mov r2, #0x20
+ bl LoadCompressedPalette
+._818:
+ ldr r5, ._822 @ gUnknown_Debug_2038A20
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x5
+ ldr r4, ._822 + 4 @ gPlttBufferUnfaded
+ add r0, r0, r4
+ ldr r2, ._822 + 8 @ 0xffffff00
+ add r1, r4, r2
+ mov r2, #0x10
+ bl CpuSet
+ ldr r0, [r5]
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x5
+ add r0, r0, r4
+ ldr r1, ._822 + 12 @ gPlttBufferFaded
+ mov r2, #0x10
+ bl CpuSet
+._813:
+ ldr r1, ._822 + 16 @ gTasks
+ lsl r0, r6, #0x2
+ add r0, r0, r6
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._822 + 20 @ debug_80C7A54
+ str r1, [r0]
+ b ._821
+._823:
+ .align 2, 0
+._822:
+ .word gUnknown_Debug_2038A20
+ .word gPlttBufferUnfaded+0x200
+ .word 0xffffff00
+ .word gPlttBufferFaded+0x100
+ .word gTasks
+ .word debug_80C7A54+1
+._816:
+ ldr r1, [r3]
+ ldrb r0, [r1, #0x8]
+ add r0, r0, #0x4
+ strb r0, [r1, #0x8]
+ ldr r2, [r3]
+ ldrb r1, [r2, #0x8]
+ mov r0, #0x1f
+ and r0, r0, r1
+ strb r0, [r2, #0x8]
+ ldr r0, [r3]
+ ldrb r1, [r0, #0x7]
+ lsl r1, r1, #0x1
+ ldr r2, ._824 @ 0x5000142
+ add r1, r1, r2
+ ldr r2, ._824 + 4 @ gUnknown_Debug_083F8790
+ ldrb r0, [r0, #0x8]
+ lsl r0, r0, #0x1
+ add r0, r0, r2
+ ldrh r0, [r0]
+ strh r0, [r1]
+._821:
+ add sp, sp, #0x4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._825:
+ .align 2, 0
+._824:
+ .word 0x5000142
+ .word gUnknown_Debug_083F8790
+
+ thumb_func_end debug_80C7B14
+
+ thumb_func_start debug_80C7D44
+debug_80C7D44:
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ ldr r6, ._826 @ gSprites
+ ldr r4, ._826 + 4 @ gUnknown_Debug_2038A20
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x2]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ ldrb r0, [r0, #0x5]
+ lsr r0, r0, #0x4
+ bl GetSpritePaletteTagByPaletteNum
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FreeSpritePaletteByTag
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x2]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ bl DestroySprite
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x3]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ ldrb r0, [r0, #0x5]
+ lsr r0, r0, #0x4
+ bl GetSpritePaletteTagByPaletteNum
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FreeSpritePaletteByTag
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x3]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ bl DestroySprite
+ ldr r0, [r4]
+ ldrb r1, [r0, #0x4]
+ lsl r0, r1, #0x4
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ bl sub_809D510
+ ldr r1, ._826 + 8 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._826 + 12 @ debug_80C7934
+ str r1, [r0]
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._827:
+ .align 2, 0
+._826:
+ .word gSprites
+ .word gUnknown_Debug_2038A20
+ .word gTasks
+ .word debug_80C7934+1
+
+ thumb_func_end debug_80C7D44
+
+ thumb_func_start debug_80C7DDC
+debug_80C7DDC:
+ push {r4, r5, r6, r7, lr}
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r0, ._830 @ gMain
+ ldrh r2, [r0, #0x2e]
+ mov r1, #0x1
+ and r1, r1, r2
+ add r3, r0, #0
+ cmp r1, #0
+ beq ._828 @cond_branch
+ ldr r0, ._830 + 4 @ gUnknown_Debug_2038A20
+ ldr r1, [r0]
+ mov r0, #0x0
+ strb r0, [r1, #0x5]
+ ldr r1, ._830 + 8 @ 0x4000040
+ ldr r2, ._830 + 12 @ 0x51ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._830 + 16 @ 0x699f
+ add r0, r2, #0
+ strh r0, [r1]
+ b ._829
+._831:
+ .align 2, 0
+._830:
+ .word gMain
+ .word gUnknown_Debug_2038A20
+ .word 0x4000040
+ .word 0x51ef
+ .word 0x699f
+._828:
+ mov r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._832 @cond_branch
+ ldr r6, ._834 @ gUnknown_Debug_2038A20
+ ldr r0, [r6]
+ strb r1, [r0, #0x5]
+ ldr r1, ._834 + 4 @ 0x4000040
+ ldr r2, ._834 + 8 @ 0x51ef
+ add r0, r2, #0
+ strh r0, [r1]
+ add r1, r1, #0x4
+ ldr r2, ._834 + 12 @ 0x699f
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r0, [r6]
+ add r0, r0, #0x10
+ ldr r4, ._834 + 16 @ gPlttBufferUnfaded
+ add r1, r4, #0
+ mov r2, #0x10
+ bl CpuSet
+ ldr r0, [r6]
+ add r0, r0, #0x10
+ ldr r5, ._834 + 20 @ gPlttBufferFaded
+ add r1, r5, #0
+ mov r2, #0x10
+ bl CpuSet
+ ldr r1, [r6]
+ add r0, r1, #0
+ add r0, r0, #0x10
+ ldrb r1, [r1, #0x6]
+ lsl r1, r1, #0x5
+ mov r2, #0x80
+ lsl r2, r2, #0x1
+ add r4, r4, r2
+ add r1, r1, r4
+ mov r2, #0x10
+ bl CpuSet
+ ldr r1, [r6]
+ add r0, r1, #0
+ add r0, r0, #0x10
+ ldrb r1, [r1, #0x6]
+ lsl r1, r1, #0x5
+ mov r2, #0x80
+ lsl r2, r2, #0x1
+ add r5, r5, r2
+ add r1, r1, r5
+ mov r2, #0x10
+ bl CpuSet
+._829:
+ ldr r1, ._834 + 24 @ gTasks
+ lsl r0, r7, #0x2
+ add r0, r0, r7
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._834 + 28 @ debug_80C7A54
+ str r1, [r0]
+ b ._871
+._835:
+ .align 2, 0
+._834:
+ .word gUnknown_Debug_2038A20
+ .word 0x4000040
+ .word 0x51ef
+ .word 0x699f
+ .word gPlttBufferUnfaded+0x100
+ .word gPlttBufferFaded+0x100
+ .word gTasks
+ .word debug_80C7A54+1
+._832:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._837 @cond_branch
+ ldr r0, ._839 @ gUnknown_Debug_2038A20
+ ldr r1, [r0]
+ ldrb r0, [r1, #0xa]
+ cmp r0, #0x1
+ bhi ._837 @cond_branch
+ add r0, r0, #0x1
+ strb r0, [r1, #0xa]
+ b ._871
+._840:
+ .align 2, 0
+._839:
+ .word gUnknown_Debug_2038A20
+._837:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._842 @cond_branch
+ ldr r0, ._844 @ gUnknown_Debug_2038A20
+ ldr r1, [r0]
+ ldrb r0, [r1, #0xa]
+ cmp r0, #0
+ beq ._842 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1, #0xa]
+ b ._871
+._845:
+ .align 2, 0
+._844:
+ .word gUnknown_Debug_2038A20
+._842:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._846 @cond_branch
+ ldr r0, ._851 @ gUnknown_Debug_2038A20
+ ldr r2, [r0]
+ ldrb r0, [r2, #0xa]
+ cmp r0, #0x1
+ beq ._847 @cond_branch
+ cmp r0, #0x1
+ bgt ._848 @cond_branch
+ cmp r0, #0
+ beq ._849 @cond_branch
+ b ._871
+._852:
+ .align 2, 0
+._851:
+ .word gUnknown_Debug_2038A20
+._848:
+ cmp r0, #0x2
+ beq ._853 @cond_branch
+ b ._871
+._849:
+ ldrb r3, [r2, #0xc]
+ lsl r1, r3, #0x1b
+ lsr r0, r1, #0x1b
+ cmp r0, #0x1e
+ bhi ._878 @cond_branch
+ add r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ mov r1, #0x20
+ neg r1, r1
+ and r1, r1, r3
+ orr r1, r1, r0
+ strb r1, [r2, #0xc]
+ b ._878
+._847:
+ ldrh r3, [r2, #0xc]
+ lsl r1, r3, #0x16
+ lsr r0, r1, #0x1b
+ cmp r0, #0x1e
+ bhi ._878 @cond_branch
+ add r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ lsl r0, r0, #0x5
+ ldr r1, ._859 @ 0xfffffc1f
+ and r1, r1, r3
+ orr r1, r1, r0
+ strh r1, [r2, #0xc]
+ b ._878
+._860:
+ .align 2, 0
+._859:
+ .word 0xfffffc1f
+._853:
+ ldrb r3, [r2, #0xd]
+ lsl r1, r3, #0x19
+ lsr r0, r1, #0x1b
+ cmp r0, #0x1e
+ bhi ._878 @cond_branch
+ add r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ lsl r0, r0, #0x2
+ mov r1, #0x7d
+ neg r1, r1
+ and r1, r1, r3
+ orr r1, r1, r0
+ strb r1, [r2, #0xd]
+ b ._878
+._846:
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._871 @cond_branch
+ ldr r0, ._868 @ gUnknown_Debug_2038A20
+ ldr r3, [r0]
+ ldrb r0, [r3, #0xa]
+ cmp r0, #0x1
+ beq ._864 @cond_branch
+ cmp r0, #0x1
+ bgt ._865 @cond_branch
+ cmp r0, #0
+ beq ._866 @cond_branch
+ b ._871
+._869:
+ .align 2, 0
+._868:
+ .word gUnknown_Debug_2038A20
+._865:
+ cmp r0, #0x2
+ beq ._870 @cond_branch
+ b ._871
+._866:
+ ldrb r2, [r3, #0xc]
+ mov r0, #0x1f
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._878 @cond_branch
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x1b
+ sub r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ mov r1, #0x20
+ neg r1, r1
+ and r1, r1, r2
+ orr r1, r1, r0
+ strb r1, [r3, #0xc]
+ b ._878
+._864:
+ ldrh r2, [r3, #0xc]
+ mov r0, #0xf8
+ lsl r0, r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._878 @cond_branch
+ lsl r0, r2, #0x16
+ lsr r0, r0, #0x1b
+ sub r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ lsl r0, r0, #0x5
+ ldr r1, ._876 @ 0xfffffc1f
+ and r1, r1, r2
+ orr r1, r1, r0
+ strh r1, [r3, #0xc]
+ b ._878
+._877:
+ .align 2, 0
+._876:
+ .word 0xfffffc1f
+._870:
+ ldrb r2, [r3, #0xd]
+ mov r0, #0x7c
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._878 @cond_branch
+ lsl r0, r2, #0x19
+ lsr r0, r0, #0x1b
+ sub r0, r0, #0x1
+ mov r1, #0x1f
+ and r0, r0, r1
+ lsl r0, r0, #0x2
+ mov r1, #0x7d
+ neg r1, r1
+ and r1, r1, r2
+ orr r1, r1, r0
+ strb r1, [r3, #0xd]
+._878:
+ ldr r0, ._879 @ gTasks
+ lsl r1, r7, #0x2
+ add r1, r1, r7
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ ldr r0, ._879 + 4 @ debug_80C802C
+ str r0, [r1]
+._871:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._880:
+ .align 2, 0
+._879:
+ .word gTasks
+ .word debug_80C802C+1
+
+ thumb_func_end debug_80C7DDC
+
+ thumb_func_start debug_80C802C
+debug_80C802C:
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ add r5, r0, #0
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ ldr r0, ._881 @ gUnknown_Debug_2038A20
+ ldr r3, [r0]
+ ldrb r0, [r3, #0xc]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1b
+ ldrh r2, [r3, #0xc]
+ mov r1, #0xf8
+ lsl r1, r1, #0x2
+ and r1, r1, r2
+ add r0, r0, r1
+ ldrb r1, [r3, #0xd]
+ lsl r1, r1, #0x19
+ lsr r1, r1, #0x1b
+ lsl r1, r1, #0xa
+ add r0, r0, r1
+ ldr r6, ._881 + 4 @ gPlttBufferUnfaded
+ ldrb r1, [r3, #0x7]
+ add r1, r1, #0x81
+ lsl r1, r1, #0x1
+ add r1, r1, r6
+ strh r0, [r1]
+ ldr r1, ._881 + 8 @ gPlttBufferFaded
+ mov r8, r1
+ ldrb r1, [r3, #0x7]
+ add r1, r1, #0x81
+ lsl r1, r1, #0x1
+ add r1, r1, r8
+ strh r0, [r1]
+ ldrb r1, [r3, #0x6]
+ lsl r1, r1, #0x4
+ ldrb r2, [r3, #0x7]
+ ldr r4, ._881 + 12 @ 0x101
+ add r2, r2, r4
+ add r1, r1, r2
+ lsl r1, r1, #0x1
+ add r1, r1, r6
+ strh r0, [r1]
+ ldrb r1, [r3, #0x6]
+ lsl r1, r1, #0x4
+ ldrb r2, [r3, #0x7]
+ add r2, r2, r4
+ add r1, r1, r2
+ lsl r1, r1, #0x1
+ add r1, r1, r8
+ strh r0, [r1]
+ mov r1, #0xe
+ mov r2, #0xa
+ mov r3, #0x4
+ bl debug_80C68CC
+ ldr r1, ._881 + 16 @ gTasks
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, ._881 + 20 @ debug_80C7DDC
+ str r1, [r0]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._882:
+ .align 2, 0
+._881:
+ .word gUnknown_Debug_2038A20
+ .word gPlttBufferUnfaded
+ .word gPlttBufferFaded
+ .word 0x101
+ .word gTasks
+ .word debug_80C7DDC+1
+
+ thumb_func_end debug_80C802C
+
+ .align 2, 0
+
+.endif