summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_1.s72
-rw-r--r--asm/battle_9.s171
-rw-r--r--asm/battle_anim_812C144.s76
-rw-r--r--asm/battle_anim_813F0F4.s78
-rw-r--r--asm/current.s14
-rw-r--r--asm/cute_sketch.s1
-rw-r--r--asm/dark.s2013
-rw-r--r--asm/fight.s1749
-rw-r--r--asm/flying.s30
-rw-r--r--asm/ghost.s16
-rw-r--r--asm/ground.s30
-rw-r--r--asm/ice.s48
-rw-r--r--asm/nakamura_debug_menu.s4686
-rw-r--r--asm/nohara_debug_menu.s2198
-rw-r--r--asm/normal.s50
-rw-r--r--asm/pokemon_storage_system.s13848
-rw-r--r--asm/psychic.s2183
-rw-r--r--asm/rock.s1643
-rw-r--r--asm/taya_debug_window.s2054
-rw-r--r--asm/tomomichi_debug_menu.s8100
-rw-r--r--asm/unk_debug_menu_3.s747
-rw-r--r--asm/unk_text_8095904.s256
-rw-r--r--asm/watanabe_debug_menu.s9578
-rw-r--r--asm/water.s10
24 files changed, 27959 insertions, 21692 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s
index 980bd6a65..cd925e10d 100644
--- a/asm/battle_1.s
+++ b/asm/battle_1.s
@@ -794,6 +794,77 @@ _0800DAB0: .4byte 0x0600d000
_0800DAB4: .4byte gBattleTerrainPalette_BattleTower
thumb_func_end DrawMainBattleBackground
+.if DEBUG
+ thumb_func_start sub_800DAB8
+sub_800DAB8:
+.syntax divided
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffffc
+ ldr r0, ._113 @ gUnknown_08D00000
+ mov r1, #0xc0
+ lsl r1, r1, #0x13
+ bl LZDecompressVram
+ ldr r0, ._113 + 4 @ gUnknown_08D00524
+ ldr r4, ._113 + 8 @ 0x600c000
+ mov r2, #0x80
+ lsl r2, r2, #0x4
+ add r1, r4, #0
+ bl CpuSet
+ ldr r0, ._113 + 12 @ gUnknown_08D004E0
+ mov r1, #0x0
+ mov r2, #0x40
+ bl LoadCompressedPalette
+ bl sub_800D74C
+ bl DrawMainBattleBackground
+ ldr r0, ._113 + 16 @ gBattleTypeFlags
+ ldrh r1, [r0]
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._112 @cond_branch
+ ldr r0, ._113 + 20 @ 0x6000600
+ mov r1, #0x0
+ add r2, r4, #0
+ mov r3, #0x1
+ bl debug_sub_8008218
+ ldr r5, ._113 + 24 @ 0x101
+ mov r4, #0x1
+ str r4, [sp]
+ add r0, r5, #0
+ mov r1, #0x3
+ mov r2, #0x1
+ mov r3, #0x3
+ bl debug_sub_8008264
+ str r4, [sp]
+ add r0, r5, #0
+ mov r1, #0x3
+ mov r2, #0x15
+ mov r3, #0x3
+ bl debug_sub_8008264
+ str r4, [sp]
+ add r0, r5, #0
+ mov r1, #0x3
+ mov r2, #0x29
+ mov r3, #0x3
+ bl debug_sub_8008264
+._112:
+ add sp, sp, #0x4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._114:
+ .align 2, 0
+._113:
+ .word gUnknown_08D00000
+ .word gUnknown_08D00524
+ .word 0x600c000
+ .word gUnknown_08D004E0
+ .word gBattleTypeFlags
+ .word 0x6000600
+ .word 0x101
+.syntax unified
+ thumb_func_end sub_800DAB8
+.else
thumb_func_start sub_800DAB8
sub_800DAB8: @ 800DAB8
push {lr}
@@ -820,6 +891,7 @@ _0800DAEC: .4byte gUnknown_08D00524
_0800DAF0: .4byte 0x0600c000
_0800DAF4: .4byte gUnknown_08D004E0
thumb_func_end sub_800DAB8
+.endif
thumb_func_start sub_800DAF8
sub_800DAF8: @ 800DAF8
diff --git a/asm/battle_9.s b/asm/battle_9.s
index 9dbb7c619..3f162df12 100644
--- a/asm/battle_9.s
+++ b/asm/battle_9.s
@@ -1387,6 +1387,176 @@ _08036AFE:
bx r1
thumb_func_end AI_ShouldSwitch
+.if DEBUG
+ thumb_func_start sub_8036B0C
+sub_8036B0C:
+.syntax divided
+ push {r4, r5, r6, lr}
+ ldr r5, ._205 @ gBattleTypeFlags
+ ldrh r1, [r5]
+ mov r0, #0x8
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._197 @cond_branch
+ b ._216
+._197:
+ bl AI_ShouldSwitch
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._199 @cond_branch
+ b ._200
+._199:
+ ldr r4, ._205 + 4 @ 0x2000000
+ ldr r0, ._205 + 8 @ gActiveBank
+ ldrb r0, [r0]
+ bl GetBankIdentity
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x19
+ ldr r1, ._205 + 12 @ 0x160c8
+ add r0, r0, r1
+ add r0, r0, r4
+ ldrb r0, [r0]
+ cmp r0, #0x6
+ bne ._201 @cond_branch
+ bl sub_8036CD4
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ bne ._211 @cond_branch
+ ldrh r1, [r5]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._203 @cond_branch
+ mov r0, #0x1
+ bl GetBankByIdentity
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r6, r5, #0
+ b ._204
+._206:
+ .align 2, 0
+._205:
+ .word gBattleTypeFlags
+ .word 0x2000000
+ .word gActiveBank
+ .word 0x160c8
+._203:
+ mov r0, #0x1
+ bl GetBankByIdentity
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ mov r0, #0x3
+ bl GetBankByIdentity
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+._204:
+ mov r4, #0x0
+._212:
+ mov r0, #0x64
+ mul r0, r0, r4
+ ldr r1, ._214 @ gEnemyParty
+ add r0, r0, r1
+ mov r1, #0x39
+ bl GetMonData
+ cmp r0, #0
+ beq ._210 @cond_branch
+ ldr r1, ._214 + 4 @ gBattlePartyID
+ lsl r0, r6, #0x1
+ add r0, r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ beq ._210 @cond_branch
+ lsl r0, r5, #0x1
+ add r0, r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ beq ._210 @cond_branch
+ ldr r1, ._214 + 8 @ 0x2000000
+ ldr r2, ._214 + 12 @ 0x16068
+ add r0, r6, r2
+ add r0, r0, r1
+ ldrb r0, [r0]
+ cmp r4, r0
+ beq ._210 @cond_branch
+ add r0, r5, r2
+ add r0, r0, r1
+ ldrb r0, [r0]
+ cmp r4, r0
+ bne ._211 @cond_branch
+._210:
+ add r4, r4, #0x1
+ cmp r4, #0x5
+ ble ._212 @cond_branch
+._211:
+ ldr r0, ._214 + 16 @ gActiveBank
+ ldrb r0, [r0]
+ bl GetBankIdentity
+ ldr r1, ._214 + 8 @ 0x2000000
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x19
+ ldr r3, ._214 + 20 @ 0x160c8
+ add r0, r0, r3
+ add r0, r0, r1
+ strb r4, [r0]
+._201:
+ ldr r4, ._214 + 16 @ gActiveBank
+ ldrb r0, [r4]
+ bl GetBankIdentity
+ ldr r2, ._214 + 8 @ 0x2000000
+ ldrb r1, [r4]
+ ldr r3, ._214 + 12 @ 0x16068
+ add r1, r1, r3
+ add r1, r1, r2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x19
+ add r3, r3, #0x60
+ add r0, r0, r3
+ add r0, r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ b ._217
+._215:
+ .align 2, 0
+._214:
+ .word gEnemyParty
+ .word gBattlePartyID
+ .word 0x2000000
+ .word 0x16068
+ .word gActiveBank
+ .word 0x160c8
+._200:
+ ldr r0, ._218 @ gUnknown_02023A14
+ ldrb r1, [r0]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._216 @cond_branch
+ bl AI_ShouldUseItem
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._217 @cond_branch
+._216:
+ ldr r0, ._218 + 4 @ gActiveBank
+ ldrb r0, [r0]
+ mov r2, #0x1
+ eor r2, r2, r0
+ lsl r2, r2, #0x8
+ mov r0, #0x1
+ mov r1, #0x0
+ bl Emitcmd33
+._217:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._219:
+ .align 2, 0
+._218:
+ .word gUnknown_02023A14+0x50
+ .word gActiveBank
+.syntax unified
+ thumb_func_end sub_8036B0C
+.else
thumb_func_start sub_8036B0C
sub_8036B0C: @ 8036B0C
push {r4-r6,lr}
@@ -1540,6 +1710,7 @@ _08036C40:
.align 2, 0
_08036C48: .4byte gActiveBank
thumb_func_end sub_8036B0C
+.endif
thumb_func_start sub_8036C4C
sub_8036C4C: @ 8036C4C
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s
index 03ffc0eda..d748a78f1 100644
--- a/asm/battle_anim_812C144.s
+++ b/asm/battle_anim_812C144.s
@@ -128,7 +128,7 @@ sub_812C220: @ 812C220
adds r4, r0, 0
movs r0, 0x5A
strh r0, [r4, 0x2E]
- ldr r0, _0812C258 @ =sub_80782D8
+ ldr r0, _0812C258 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
movs r0, 0x7
strh r0, [r4, 0x30]
@@ -151,7 +151,7 @@ sub_812C220: @ 812C220
pop {r0}
bx r0
.align 2, 0
-_0812C258: .4byte sub_80782D8
+_0812C258: .4byte WaitAnimForDuration
_0812C25C: .4byte sub_812C268
_0812C260: .4byte REG_BLDCNT
_0812C264: .4byte REG_BLDALPHA
@@ -234,7 +234,7 @@ sub_812C2BC: @ 812C2BC
subs r1, r6
lsls r1, 16
asrs r1, 16
- bl sub_80790F0
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 23
@@ -262,7 +262,7 @@ _0812C31A:
strh r0, [r5, 0x2E]
strh r7, [r5, 0x32]
strh r6, [r5, 0x36]
- ldr r0, _0812C350 @ =sub_8078B34
+ ldr r0, _0812C350 @ =StartTranslateAnimSpriteByDeltas
str r0, [r5, 0x1C]
ldr r1, _0812C354 @ =DestroyAnimSprite
adds r0, r5, 0
@@ -274,7 +274,7 @@ _0812C31A:
.align 2, 0
_0812C348: .4byte gAnimBankTarget
_0812C34C: .4byte gBattleAnimArgs
-_0812C350: .4byte sub_8078B34
+_0812C350: .4byte StartTranslateAnimSpriteByDeltas
_0812C354: .4byte DestroyAnimSprite
thumb_func_end sub_812C2BC
@@ -795,7 +795,7 @@ sub_812C720: @ 812C720
sub sp, 0x4
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _0812C784 @ =gAnimBankTarget
ldrb r0, [r0]
mov r5, sp
@@ -803,7 +803,7 @@ sub_812C720: @ 812C720
movs r1, 0
mov r2, sp
adds r3, r5, 0
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldr r0, _0812C788 @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -830,7 +830,7 @@ _0812C754:
ldr r0, _0812C790 @ =0x0000ffce
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
ldr r0, _0812C794 @ =sub_812C798
str r0, [r4, 0x1C]
add sp, 0x4
@@ -849,7 +849,7 @@ _0812C794: .4byte sub_812C798
sub_812C798: @ 812C798
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _0812C7BA
@@ -857,7 +857,7 @@ sub_812C798: @ 812C798
movs r0, 0x1E
strh r0, [r4, 0x2E]
strh r1, [r4, 0x30]
- ldr r0, _0812C7C0 @ =sub_80782D8
+ ldr r0, _0812C7C0 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _0812C7C4 @ =sub_812C7C8
adds r0, r4, 0
@@ -867,7 +867,7 @@ _0812C7BA:
pop {r0}
bx r0
.align 2, 0
-_0812C7C0: .4byte sub_80782D8
+_0812C7C0: .4byte WaitAnimForDuration
_0812C7C4: .4byte sub_812C7C8
thumb_func_end sub_812C798
@@ -2301,7 +2301,7 @@ sub_812D294: @ 812D294
bne _0812D2A8
adds r0, r5, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
_0812D2A8:
ldrh r0, [r5, 0x2E]
adds r0, 0x1
@@ -2376,7 +2376,7 @@ _0812D2F0:
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
- ldr r0, _0812D34C @ =sub_8078B34
+ ldr r0, _0812D34C @ =StartTranslateAnimSpriteByDeltas
str r0, [r5, 0x1C]
_0812D33C:
pop {r4,r5}
@@ -2385,7 +2385,7 @@ _0812D33C:
.align 2, 0
_0812D344: .4byte DestroyAnimSprite
_0812D348: .4byte gAnimBankTarget
-_0812D34C: .4byte sub_8078B34
+_0812D34C: .4byte StartTranslateAnimSpriteByDeltas
thumb_func_end sub_812D294
thumb_func_start sub_812D350
@@ -2915,7 +2915,7 @@ sub_812D724: @ 812D724
_0812D736:
adds r0, r4, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
movs r0, 0x90
lsls r0, 4
strh r0, [r4, 0x30]
@@ -3227,7 +3227,7 @@ _0812D9A2:
cmp r0, 0
beq _0812D9F0
ldr r3, _0812D9E4 @ =gSprites
- ldr r4, _0812D9E8 @ =gObjectBankIDs
+ ldr r4, _0812D9E8 @ =gBankSpriteIds
ldr r2, _0812D9D4 @ =gAnimBankAttacker
ldrb r0, [r2]
adds r0, r4
@@ -3248,11 +3248,11 @@ _0812D9D8: .4byte 0x040000d4
_0812D9DC: .4byte 0x84000200
_0812D9E0: .4byte gSharedMem + 0x19348
_0812D9E4: .4byte gSprites
-_0812D9E8: .4byte gObjectBankIDs
+_0812D9E8: .4byte gBankSpriteIds
_0812D9EC: .4byte gSpriteAffineAnimTable_81E7C18
_0812D9F0:
ldr r3, _0812DA34 @ =gSprites
- ldr r4, _0812DA38 @ =gObjectBankIDs
+ ldr r4, _0812DA38 @ =gBankSpriteIds
ldr r2, _0812DA3C @ =gAnimBankAttacker
ldrb r0, [r2]
adds r0, r4
@@ -3288,7 +3288,7 @@ _0812DA2A:
b _0812DAFA
.align 2, 0
_0812DA34: .4byte gSprites
-_0812DA38: .4byte gObjectBankIDs
+_0812DA38: .4byte gBankSpriteIds
_0812DA3C: .4byte gAnimBankAttacker
_0812DA40: .4byte gSpriteAffineAnimTable_81E7BEC
_0812DA44: .4byte gTasks
@@ -3401,7 +3401,7 @@ c3_80DFBE4: @ 812DB18
lsrs r0, 24
ldr r4, _0812DB48 @ =gBattleAnimArgs
ldr r3, _0812DB4C @ =gSprites
- ldr r2, _0812DB50 @ =gObjectBankIDs
+ ldr r2, _0812DB50 @ =gBankSpriteIds
ldr r1, _0812DB54 @ =gAnimBankAttacker
ldrb r1, [r1]
adds r1, r2
@@ -3422,7 +3422,7 @@ c3_80DFBE4: @ 812DB18
.align 2, 0
_0812DB48: .4byte gBattleAnimArgs
_0812DB4C: .4byte gSprites
-_0812DB50: .4byte gObjectBankIDs
+_0812DB50: .4byte gBankSpriteIds
_0812DB54: .4byte gAnimBankAttacker
thumb_func_end c3_80DFBE4
@@ -4626,7 +4626,7 @@ sub_812E4F0: @ 812E4F0
bne _0812E50E
adds r0, r4, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
ldrh r0, [r4, 0x2E]
adds r0, 0x1
strh r0, [r4, 0x2E]
@@ -7672,7 +7672,7 @@ sub_812FC68: @ 812FC68
lsls r0, 3
mov r1, r8
adds r4, r0, r1
- ldr r1, _0812FCCC @ =gObjectBankIDs
+ ldr r1, _0812FCCC @ =gBankSpriteIds
ldr r2, _0812FCD0 @ =gAnimBankAttacker
ldrb r0, [r2]
adds r0, r1
@@ -7709,7 +7709,7 @@ _0812FCAC:
b _0812FD4C
.align 2, 0
_0812FCC8: .4byte gTasks
-_0812FCCC: .4byte gObjectBankIDs
+_0812FCCC: .4byte gBankSpriteIds
_0812FCD0: .4byte gAnimBankAttacker
_0812FCD4: .4byte gBattleAnimArgs
_0812FCD8: .4byte 0xffff8000
@@ -8939,7 +8939,7 @@ _081305C6:
adds r0, r1
lsls r0, 2
adds r0, r4
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
mov r1, r10
ldrb r0, [r1]
bl GetBankSide
@@ -9023,7 +9023,7 @@ _081306D6:
lsls r0, 2
ldr r1, _08130708 @ =gSprites
adds r0, r1
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -9042,7 +9042,7 @@ _0813070C:
lsls r0, 2
ldr r1, _0813072C @ =gSprites
adds r0, r1
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _081307AA
@@ -10151,7 +10151,7 @@ sub_8130F5C: @ 8130F5C
bne _08130F80
adds r0, r4, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _08130F7C @ =gAnimBankAttacker
b _08130F82
.align 2, 0
@@ -10356,11 +10356,11 @@ _081310FA:
strh r0, [r4, 0x34]
strh r1, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
b _081311CA
_08131110:
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _081311DE
@@ -10694,7 +10694,7 @@ _08131384:
cmp r0, 0
beq _081313C6
ldr r3, _081313F8 @ =gSprites
- ldr r2, _081313FC @ =gObjectBankIDs
+ ldr r2, _081313FC @ =gBankSpriteIds
ldrb r0, [r4]
adds r0, r2
ldrb r1, [r0]
@@ -10744,7 +10744,7 @@ _081313E8:
.align 2, 0
_081313F4: .4byte gAnimBankAttacker
_081313F8: .4byte gSprites
-_081313FC: .4byte gObjectBankIDs
+_081313FC: .4byte gBankSpriteIds
_08131400: .4byte gSpriteAffineAnimTable_81E7C18
_08131404: .4byte sub_8131408
thumb_func_end sub_81312E4
@@ -12326,7 +12326,7 @@ _08132084: .4byte gAnimBankAttacker
_08132088: .4byte gAnimBankTarget
_0813208C: .4byte gTasks
_08132090:
- ldr r1, _081320CC @ =gObjectBankIDs
+ ldr r1, _081320CC @ =gBankSpriteIds
ldr r0, _081320D0 @ =gAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
@@ -12357,7 +12357,7 @@ _08132090:
ldrsh r1, [r2, r3]
b _0813215E
.align 2, 0
-_081320CC: .4byte gObjectBankIDs
+_081320CC: .4byte gBankSpriteIds
_081320D0: .4byte gAnimBankAttacker
_081320D4: .4byte gSprites
_081320D8:
@@ -12385,7 +12385,7 @@ _081320EC:
strh r1, [r0, 0x26]
b _08132188
_08132104:
- ldr r1, _08132144 @ =gObjectBankIDs
+ ldr r1, _08132144 @ =gBankSpriteIds
ldr r0, _08132148 @ =gAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
@@ -12418,7 +12418,7 @@ _08132104:
bgt _08132188
b _08132162
.align 2, 0
-_08132144: .4byte gObjectBankIDs
+_08132144: .4byte gBankSpriteIds
_08132148: .4byte gAnimBankAttacker
_0813214C: .4byte gSprites
_08132150:
@@ -12438,7 +12438,7 @@ _08132162:
strh r0, [r2, 0x26]
b _08132188
_0813216A:
- ldr r1, _08132190 @ =gObjectBankIDs
+ ldr r1, _08132190 @ =gBankSpriteIds
ldr r0, _08132194 @ =gAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
@@ -12457,7 +12457,7 @@ _08132188:
pop {r0}
bx r0
.align 2, 0
-_08132190: .4byte gObjectBankIDs
+_08132190: .4byte gBankSpriteIds
_08132194: .4byte gAnimBankAttacker
_08132198: .4byte gSprites
thumb_func_end sub_8131FFC
diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s
index ccb4854af..a2e942ec9 100644
--- a/asm/battle_anim_813F0F4.s
+++ b/asm/battle_anim_813F0F4.s
@@ -818,7 +818,7 @@ sub_813F798: @ 813F798
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- ldr r1, _0813F7C4 @ =gObjectBankIDs
+ ldr r1, _0813F7C4 @ =gBankSpriteIds
ldr r0, _0813F7C8 @ =gAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
@@ -838,7 +838,7 @@ sub_813F798: @ 813F798
beq _0813F7D6
b _0813F838
.align 2, 0
-_0813F7C4: .4byte gObjectBankIDs
+_0813F7C4: .4byte gBankSpriteIds
_0813F7C8: .4byte gAnimBankAttacker
_0813F7CC: .4byte gTasks
_0813F7D0:
@@ -909,7 +909,7 @@ sub_813F844: @ 813F844
sub sp, 0xC
lsls r0, 24
lsrs r5, r0, 24
- ldr r1, _0813F87C @ =gObjectBankIDs
+ ldr r1, _0813F87C @ =gBankSpriteIds
ldr r4, _0813F880 @ =gAnimBankAttacker
ldrb r0, [r4]
adds r1, r0, r1
@@ -929,7 +929,7 @@ sub_813F844: @ 813F844
ldr r1, _0813F888 @ =gPlayerParty
b _0813F89C
.align 2, 0
-_0813F87C: .4byte gObjectBankIDs
+_0813F87C: .4byte gBankSpriteIds
_0813F880: .4byte gAnimBankAttacker
_0813F884: .4byte gBattlePartyID
_0813F888: .4byte gPlayerParty
@@ -1256,7 +1256,7 @@ sub_813FA94: @ 813FA94
ldr r0, _0813FB68 @ =sub_813FD90
str r0, [r4]
ldr r3, _0813FB6C @ =gSharedMem + 0x17840
- ldr r1, _0813FB70 @ =gObjectBankIDs
+ ldr r1, _0813FB70 @ =gBankSpriteIds
mov r2, r8
ldrb r0, [r2]
adds r0, r1
@@ -1299,7 +1299,7 @@ _0813FB60: .4byte gSprites
_0813FB64: .4byte gAnimBankTarget
_0813FB68: .4byte sub_813FD90
_0813FB6C: .4byte gSharedMem + 0x17840
-_0813FB70: .4byte gObjectBankIDs
+_0813FB70: .4byte gBankSpriteIds
_0813FB74: .4byte gTasks
_0813FB78: .4byte sub_813FB7C
thumb_func_end sub_813FA94
@@ -1419,7 +1419,7 @@ _0813FBE0:
str r0, [r4]
movs r0, 0
bl GetBankByIdentity
- ldr r1, _0813FCB0 @ =gObjectBankIDs
+ ldr r1, _0813FCB0 @ =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
adds r0, r1
@@ -1450,7 +1450,7 @@ _0813FCA0: .4byte gBallSpriteTemplates
_0813FCA4: .4byte gSprites
_0813FCA8: .4byte gAnimBankTarget
_0813FCAC: .4byte SpriteCallbackDummy
-_0813FCB0: .4byte gObjectBankIDs
+_0813FCB0: .4byte gBankSpriteIds
_0813FCB4: .4byte gTasks
_0813FCB8: .4byte sub_813FCBC
thumb_func_end sub_813FBB8
@@ -1463,7 +1463,7 @@ sub_813FCBC: @ 813FCBC
ldr r6, _0813FD1C @ =gSprites
movs r0, 0
bl GetBankByIdentity
- ldr r1, _0813FD20 @ =gObjectBankIDs
+ ldr r1, _0813FD20 @ =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
adds r0, r1
@@ -1505,7 +1505,7 @@ _0813FD16:
bx r0
.align 2, 0
_0813FD1C: .4byte gSprites
-_0813FD20: .4byte gObjectBankIDs
+_0813FD20: .4byte gBankSpriteIds
_0813FD24: .4byte gTasks
_0813FD28: .4byte sub_813FD90
_0813FD2C: .4byte sub_813FD34
@@ -1520,7 +1520,7 @@ sub_813FD34: @ 813FD34
ldr r6, _0813FD88 @ =gSprites
movs r0, 0
bl GetBankByIdentity
- ldr r4, _0813FD8C @ =gObjectBankIDs
+ ldr r4, _0813FD8C @ =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -1554,7 +1554,7 @@ _0813FD80:
bx r0
.align 2, 0
_0813FD88: .4byte gSprites
-_0813FD8C: .4byte gObjectBankIDs
+_0813FD8C: .4byte gBankSpriteIds
thumb_func_end sub_813FD34
thumb_func_start sub_813FD90
@@ -1572,7 +1572,7 @@ sub_813FD90: @ 813FD90
ldr r0, _0813FDB8 @ =0x0000ffd8
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
ldr r0, _0813FDBC @ =sub_813FDC0
str r0, [r4, 0x1C]
pop {r4}
@@ -1588,7 +1588,7 @@ sub_813FDC0: @ 813FDC0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _0813FE5A
@@ -1688,7 +1688,7 @@ sub_813FE70: @ 813FE70
ldr r0, _0813FEB8 @ =sub_813FEC8
str r0, [r4, 0x1C]
ldr r2, _0813FEBC @ =gSprites
- ldr r1, _0813FEC0 @ =gObjectBankIDs
+ ldr r1, _0813FEC0 @ =gBankSpriteIds
ldr r0, _0813FEC4 @ =gAnimBankTarget
ldrb r0, [r0]
adds r0, r1
@@ -1707,7 +1707,7 @@ _0813FEAC:
_0813FEB4: .4byte TaskDummy
_0813FEB8: .4byte sub_813FEC8
_0813FEBC: .4byte gSprites
-_0813FEC0: .4byte gObjectBankIDs
+_0813FEC0: .4byte gBankSpriteIds
_0813FEC4: .4byte gAnimBankTarget
thumb_func_end sub_813FE70
@@ -1715,7 +1715,7 @@ _0813FEC4: .4byte gAnimBankTarget
sub_813FEC8: @ 813FEC8
push {r4-r7,lr}
adds r7, r0, 0
- ldr r1, _0813FF0C @ =gObjectBankIDs
+ ldr r1, _0813FF0C @ =gBankSpriteIds
ldr r0, _0813FF10 @ =gAnimBankTarget
ldrb r0, [r0]
adds r0, r1
@@ -1748,7 +1748,7 @@ _0813FEFA:
beq _0813FF1E
b _0813FFDC
.align 2, 0
-_0813FF0C: .4byte gObjectBankIDs
+_0813FF0C: .4byte gBankSpriteIds
_0813FF10: .4byte gAnimBankTarget
_0813FF14: .4byte gTasks
_0813FF18:
@@ -2478,7 +2478,7 @@ _08140490:
cmp r1, r0
bne _081404CC
ldr r5, _081404D8 @ =gSprites
- ldr r4, _081404DC @ =gObjectBankIDs
+ ldr r4, _081404DC @ =gBankSpriteIds
ldrb r0, [r7]
adds r0, r4
ldrb r1, [r0]
@@ -2509,7 +2509,7 @@ _081404CC:
.align 2, 0
_081404D4: .4byte 0x0000013b
_081404D8: .4byte gSprites
-_081404DC: .4byte gObjectBankIDs
+_081404DC: .4byte gBankSpriteIds
_081404E0: .4byte sub_81404E4
thumb_func_end sub_8140454
@@ -2697,7 +2697,7 @@ sub_81405F4: @ 81405F4
bl sub_8141314
_08140646:
ldr r6, _081406B4 @ =gSprites
- ldr r5, _081406B8 @ =gObjectBankIDs
+ ldr r5, _081406B8 @ =gBankSpriteIds
ldr r4, _081406B0 @ =gAnimBankTarget
ldrb r0, [r4]
adds r0, r5
@@ -2748,7 +2748,7 @@ _081406A8: .4byte sub_81406BC
_081406AC: .4byte gLastUsedItem
_081406B0: .4byte gAnimBankTarget
_081406B4: .4byte gSprites
-_081406B8: .4byte gObjectBankIDs
+_081406B8: .4byte gBankSpriteIds
thumb_func_end sub_81405F4
thumb_func_start sub_81406BC
@@ -2770,7 +2770,7 @@ sub_81406BC: @ 81406BC
strb r0, [r2]
_081406DA:
ldr r4, _08140708 @ =gSprites
- ldr r3, _0814070C @ =gObjectBankIDs
+ ldr r3, _0814070C @ =gBankSpriteIds
ldr r2, _08140710 @ =gAnimBankTarget
ldrb r0, [r2]
adds r0, r3
@@ -2792,7 +2792,7 @@ _081406DA:
b _08140734
.align 2, 0
_08140708: .4byte gSprites
-_0814070C: .4byte gObjectBankIDs
+_0814070C: .4byte gBankSpriteIds
_08140710: .4byte gAnimBankTarget
_08140714:
ldr r6, _0814079C @ =0xfffffee0
@@ -2822,7 +2822,7 @@ _08140734:
cmp r5, 0
beq _08140796
ldr r4, _081407A0 @ =gSprites
- ldr r3, _081407A4 @ =gObjectBankIDs
+ ldr r3, _081407A4 @ =gBankSpriteIds
ldr r2, _081407A8 @ =gAnimBankTarget
ldrb r0, [r2]
adds r0, r3
@@ -2867,7 +2867,7 @@ _08140796:
.align 2, 0
_0814079C: .4byte 0xfffffee0
_081407A0: .4byte gSprites
-_081407A4: .4byte gObjectBankIDs
+_081407A4: .4byte gBankSpriteIds
_081407A8: .4byte gAnimBankTarget
_081407AC: .4byte gSharedMem + 0x17840
_081407B0: .4byte sub_81405C8
@@ -4581,7 +4581,7 @@ sub_814151C: @ 814151C
lsrs r7, r0, 24
movs r0, 0
mov r8, r0
- ldr r0, _08141550 @ =gObjectBankIDs
+ ldr r0, _08141550 @ =gBankSpriteIds
ldr r3, _08141554 @ =gAnimBankAttacker
ldrb r2, [r3]
adds r0, r2, r0
@@ -4601,7 +4601,7 @@ sub_814151C: @ 814151C
beq _08141562
b _081416B6
.align 2, 0
-_08141550: .4byte gObjectBankIDs
+_08141550: .4byte gBankSpriteIds
_08141554: .4byte gAnimBankAttacker
_08141558: .4byte gTasks
_0814155C:
@@ -4882,7 +4882,7 @@ _08141744:
.align 2, 0
_08141778: .4byte REG_BLDALPHA
_0814177C:
- ldr r1, _081417C0 @ =gObjectBankIDs
+ ldr r1, _081417C0 @ =gBankSpriteIds
ldr r3, _081417C4 @ =gAnimBankAttacker
ldrb r0, [r3]
adds r0, r1
@@ -4916,7 +4916,7 @@ _081417B8:
pop {r0}
bx r0
.align 2, 0
-_081417C0: .4byte gObjectBankIDs
+_081417C0: .4byte gBankSpriteIds
_081417C4: .4byte gAnimBankAttacker
_081417C8: .4byte gSprites
_081417CC: .4byte 0x06010000
@@ -5479,7 +5479,7 @@ sub_8141C30: @ 8141C30
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
movs r0, 0x1E
strh r0, [r4, 0x2E]
movs r0, 0x1
@@ -5508,8 +5508,8 @@ sub_8141C30: @ 8141C30
ldr r0, _08141CA8 @ =0x0000ffe0
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_80786EC
- ldr r1, _08141CAC @ =gObjectBankIDs
+ bl InitAnimSpriteTranslationOverDuration
+ ldr r1, _08141CAC @ =gBankSpriteIds
ldr r0, _08141CB0 @ =gAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
@@ -5529,7 +5529,7 @@ sub_8141C30: @ 8141C30
.align 2, 0
_08141CA4: .4byte gBattleAnimArgs
_08141CA8: .4byte 0x0000ffe0
-_08141CAC: .4byte gObjectBankIDs
+_08141CAC: .4byte gBankSpriteIds
_08141CB0: .4byte gAnimBankAttacker
_08141CB4: .4byte gSprites
_08141CB8: .4byte sub_8141CBC
@@ -5540,7 +5540,7 @@ sub_8141CBC: @ 8141CBC
push {lr}
adds r3, r0, 0
ldr r2, _08141CE4 @ =gSprites
- ldr r1, _08141CE8 @ =gObjectBankIDs
+ ldr r1, _08141CE8 @ =gBankSpriteIds
ldr r0, _08141CEC @ =gAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
@@ -5560,7 +5560,7 @@ _08141CE0:
bx r0
.align 2, 0
_08141CE4: .4byte gSprites
-_08141CE8: .4byte gObjectBankIDs
+_08141CE8: .4byte gBankSpriteIds
_08141CEC: .4byte gAnimBankAttacker
_08141CF0: .4byte sub_8141CF4
thumb_func_end sub_8141CBC
@@ -5569,7 +5569,7 @@ _08141CF0: .4byte sub_8141CF4
sub_8141CF4: @ 8141CF4
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _08141D16
@@ -5596,7 +5596,7 @@ sub_8141D20: @ 8141D20
push {r4,r5,lr}
adds r4, r0, 0
ldr r5, _08141D70 @ =gSprites
- ldr r3, _08141D74 @ =gObjectBankIDs
+ ldr r3, _08141D74 @ =gBankSpriteIds
ldr r2, _08141D78 @ =gAnimBankAttacker
ldrb r0, [r2]
adds r0, r3
@@ -5633,7 +5633,7 @@ _08141D68:
bx r0
.align 2, 0
_08141D70: .4byte gSprites
-_08141D74: .4byte gObjectBankIDs
+_08141D74: .4byte gBankSpriteIds
_08141D78: .4byte gAnimBankAttacker
thumb_func_end sub_8141D20
diff --git a/asm/current.s b/asm/current.s
index 4ef537dc3..fa3fec58a 100644
--- a/asm/current.s
+++ b/asm/current.s
@@ -12,7 +12,7 @@ sub_80D648C: @ 80D648C
push {r4-r6,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r5, _080D6500 @ =gBattleAnimArgs
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E]
@@ -34,7 +34,7 @@ sub_80D648C: @ 80D648C
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x38]
ldrh r0, [r5, 0xA]
@@ -74,7 +74,7 @@ _080D6510: .4byte sub_80D6514
sub_80D6514: @ 80D6514
push {r4,lr}
adds r4, r0, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
bne _080D657E
@@ -442,7 +442,7 @@ _080D67F6:
ldr r0, _080D6810 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E]
- ldr r0, _080D6814 @ =sub_80782D8
+ ldr r0, _080D6814 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080D6818 @ =DestroyAnimSprite
adds r0, r4, 0
@@ -452,7 +452,7 @@ _080D67F6:
bx r0
.align 2, 0
_080D6810: .4byte gBattleAnimArgs
-_080D6814: .4byte sub_80782D8
+_080D6814: .4byte WaitAnimForDuration
_080D6818: .4byte DestroyAnimSprite
thumb_func_end sub_80D679C
@@ -998,7 +998,7 @@ sub_80D6BB8: @ 80D6BB8
strh r0, [r4, 0x36]
strh r6, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldr r1, _080D6CB0 @ =sub_80D6D00
adds r0, r4, 0
bl StoreSpriteCallbackInData
@@ -1062,7 +1062,7 @@ _080D6CC6:
sub_80D6CCC: @ 80D6CCC
push {r4,lr}
adds r4, r0, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _080D6CF4
diff --git a/asm/cute_sketch.s b/asm/cute_sketch.s
index 8cb6cdbd8..bc72a6ef5 100644
--- a/asm/cute_sketch.s
+++ b/asm/cute_sketch.s
@@ -5,7 +5,6 @@
.text
-
thumb_func_start sub_80FCB5C
sub_80FCB5C: @ 80FCB5C
push {r4-r7,lr}
diff --git a/asm/dark.s b/asm/dark.s
deleted file mode 100644
index 9f6ad3278..000000000
--- a/asm/dark.s
+++ /dev/null
@@ -1,2013 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .syntax unified
-
- .text
-
- @ dark
-
- thumb_func_start sub_80DFF1C
-sub_80DFF1C: @ 80DFF1C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080DFF50 @ =gBattleAnimArgs
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrb r1, [r5, 0x4]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x32]
- ldr r0, _080DFF54 @ =sub_80DFF58
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DFF50: .4byte gBattleAnimArgs
-_080DFF54: .4byte sub_80DFF58
- thumb_func_end sub_80DFF1C
-
- thumb_func_start sub_80DFF58
-sub_80DFF58: @ 80DFF58
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _080DFF8E
- ldr r0, _080DFF94 @ =sub_80DFF98
- str r0, [r2, 0x1C]
-_080DFF8E:
- pop {r0}
- bx r0
- .align 2, 0
-_080DFF94: .4byte sub_80DFF98
- thumb_func_end sub_80DFF58
-
- thumb_func_start sub_80DFF98
-sub_80DFF98: @ 80DFF98
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x36]
- ldrh r0, [r3, 0x2E]
- subs r1, r0
- strh r1, [r3, 0x36]
- ldrh r0, [r3, 0x38]
- ldrh r2, [r3, 0x30]
- subs r0, r2
- strh r0, [r3, 0x38]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r3, 0x24]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _080DFFCA
- adds r0, r3, 0
- bl move_anim_8074EE0
-_080DFFCA:
- pop {r0}
- bx r0
- thumb_func_end sub_80DFF98
-
- thumb_func_start sub_80DFFD0
-sub_80DFFD0: @ 80DFFD0
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, _080DFFE4 @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _080DFFEC
- ldr r0, _080DFFE8 @ =gAnimBankAttacker
- b _080DFFEE
- .align 2, 0
-_080DFFE4: .4byte gBattleAnimArgs
-_080DFFE8: .4byte gAnimBankAttacker
-_080DFFEC:
- ldr r0, _080E001C @ =gAnimBankTarget
-_080DFFEE:
- ldrb r5, [r0]
- movs r6, 0x14
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x4
- ldr r7, _080E0020 @ =0x000003ff
- adds r0, r7, 0
- ands r1, r0
- ldr r0, _080E0024 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _080E004C
- cmp r0, 0x1
- bgt _080E0028
- cmp r0, 0
- beq _080E0032
- b _080E00A0
- .align 2, 0
-_080E001C: .4byte gAnimBankTarget
-_080E0020: .4byte 0x000003ff
-_080E0024: .4byte 0xfffffc00
-_080E0028:
- cmp r0, 0x2
- beq _080E0066
- cmp r0, 0x3
- beq _080E007E
- b _080E00A0
-_080E0032:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r4, 0x22]
- b _080E00A0
-_080E004C:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x10
- strh r0, [r4, 0x22]
- b _080E00A0
-_080E0066:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- b _080E0094
-_080E007E:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x10
-_080E0094:
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r6, 0xEC
-_080E00A0:
- movs r0, 0x20
- strh r0, [r4, 0x2E]
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- adds r0, 0xC
- strh r0, [r4, 0x36]
- ldr r0, _080E00C8 @ =0x0000fff4
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldr r0, _080E00CC @ =sub_80E00D0
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E00C8: .4byte 0x0000fff4
-_080E00CC: .4byte sub_80E00D0
- thumb_func_end sub_80DFFD0
-
- thumb_func_start sub_80E00D0
-sub_80E00D0: @ 80E00D0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080E00E4
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080E00E4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E00D0
-
- thumb_func_start sub_80E00EC
-sub_80E00EC: @ 80E00EC
- push {r4-r7,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080E0150 @ =gTasks
- adds r5, r1, r0
- ldr r4, _080E0154 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- strh r1, [r5, 0x12]
- strh r0, [r5, 0x10]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r5, 0x24]
- adds r0, 0x20
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080E015C
- ldr r0, _080E0158 @ =0x0000fff4
- b _080E015E
- .align 2, 0
-_080E0150: .4byte gTasks
-_080E0154: .4byte gAnimBankAttacker
-_080E0158: .4byte 0x0000fff4
-_080E015C:
- ldr r0, _080E01A8 @ =0x0000ffc0
-_080E015E:
- strh r0, [r5, 0x18]
- ldr r0, _080E01AC @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankIdentity_permutated
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _080E01C4
- add r4, sp, 0xC
- adds r0, r4, 0
- bl sub_8078914
- ldr r0, _080E01B0 @ =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, _080E01B4 @ =REG_BLDCNT
- ldr r2, _080E01B8 @ =0x00003f42
- adds r0, r2, 0
- strh r0, [r1]
- ldrb r1, [r4, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- ldr r0, _080E01BC @ =REG_BG1VOFS
- str r0, [sp]
- movs r7, 0x2
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080E01F4
- ldr r1, _080E01C0 @ =gBattle_BG2_X
- b _080E01EE
- .align 2, 0
-_080E01A8: .4byte 0x0000ffc0
-_080E01AC: .4byte gAnimBankAttacker
-_080E01B0: .4byte gBattle_BG1_Y
-_080E01B4: .4byte REG_BLDCNT
-_080E01B8: .4byte 0x00003f42
-_080E01BC: .4byte REG_BG1VOFS
-_080E01C0: .4byte gBattle_BG2_X
-_080E01C4:
- ldr r0, _080E0278 @ =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, _080E027C @ =REG_BLDCNT
- ldr r2, _080E0280 @ =0x00003f44
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
- ldr r0, _080E0284 @ =REG_BG2VOFS
- str r0, [sp]
- movs r7, 0x4
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080E01F4
- ldr r1, _080E0288 @ =gBattle_BG1_X
-_080E01EE:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
-_080E01F4:
- ldr r0, _080E028C @ =0xa2600001
- str r0, [sp, 0x4]
- mov r2, sp
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- mov r0, sp
- strb r1, [r0, 0x9]
- strh r1, [r5, 0x1E]
- movs r0, 0x10
- strh r0, [r5, 0x20]
- strh r1, [r5, 0x8]
- strh r1, [r5, 0xA]
- strh r1, [r5, 0xC]
- movs r0, 0x3
- bl sub_80E08CC
- movs r3, 0
- ldr r4, _080E0290 @ =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r4, r0
-_080E0220:
- lsls r1, r3, 1
- adds r2, r1, r4
- ldrh r0, [r5, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r5, 0x1C]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _080E0220
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldr r1, _080E0294 @ =REG_WINOUT
- movs r0, 0x3F
- eors r7, r0
- movs r2, 0xFC
- lsls r2, 6
- adds r0, r2, 0
- orrs r7, r0
- strh r7, [r1]
- subs r1, 0x2
- adds r2, 0x3F
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080E0298 @ =gBattle_WIN0H
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E029C @ =gBattle_WIN0V
- movs r0, 0xA0
- strh r0, [r1]
- ldr r0, _080E02A0 @ =sub_80E02A4
- str r0, [r5]
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0278: .4byte gBattle_BG2_Y
-_080E027C: .4byte REG_BLDCNT
-_080E0280: .4byte 0x00003f44
-_080E0284: .4byte REG_BG2VOFS
-_080E0288: .4byte gBattle_BG1_X
-_080E028C: .4byte 0xa2600001
-_080E0290: .4byte gScanlineEffectRegBuffers
-_080E0294: .4byte REG_WINOUT
-_080E0298: .4byte gBattle_WIN0H
-_080E029C: .4byte gBattle_WIN0V
-_080E02A0: .4byte sub_80E02A4
- thumb_func_end sub_80E00EC
-
- thumb_func_start sub_80E02A4
-sub_80E02A4: @ 80E02A4
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E02C8 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080E02BE
- b _080E03B6
-_080E02BE:
- lsls r0, 2
- ldr r1, _080E02CC @ =_080E02D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E02C8: .4byte gTasks
-_080E02CC: .4byte _080E02D0
- .align 2, 0
-_080E02D0:
- .4byte _080E02E4
- .4byte _080E0344
- .4byte _080E035E
- .4byte _080E039C
- .4byte _080E03B0
-_080E02E4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E03B6
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E0314
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0xC
- beq _080E0322
- adds r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _080E0322
-_080E0314:
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- beq _080E0322
- subs r0, r1, 0x1
- strh r0, [r4, 0x20]
-_080E0322:
- ldr r2, _080E0340 @ =REG_BLDALPHA
- ldrh r0, [r4, 0x20]
- lsls r0, 8
- ldrh r1, [r4, 0x1E]
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xC
- bne _080E03B6
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bne _080E03B6
- b _080E03A2
- .align 2, 0
-_080E0340: .4byte REG_BLDALPHA
-_080E0344:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_80E079C
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bge _080E03B6
- b _080E03A2
-_080E035E:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_80E079C
- ldrh r1, [r4, 0x24]
- adds r1, 0x4
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r2, r0, 0x4
- strh r2, [r4, 0x26]
- lsls r1, 16
- lsls r0, r2, 16
- cmp r1, r0
- blt _080E0380
- strh r2, [r4, 0x24]
-_080E0380:
- ldr r3, _080E0398 @ =gBattle_WIN0H
- ldrh r2, [r4, 0x24]
- lsls r0, r2, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r3]
- lsls r2, 16
- lsls r1, 16
- cmp r2, r1
- bne _080E03B6
- b _080E03A2
- .align 2, 0
-_080E0398: .4byte gBattle_WIN0H
-_080E039C:
- ldr r1, _080E03AC @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080E03A2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E03B6
- .align 2, 0
-_080E03AC: .4byte gScanlineEffect
-_080E03B0:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080E03B6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E02A4
-
- thumb_func_start sub_80E03BC
-sub_80E03BC: @ 80E03BC
- push {r4-r7,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080E03E4 @ =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _080E03D8
- b _080E05F2
-_080E03D8:
- lsls r0, 2
- ldr r1, _080E03E8 @ =_080E03EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E03E4: .4byte gTasks
-_080E03E8: .4byte _080E03EC
- .align 2, 0
-_080E03EC:
- .4byte _080E0400
- .4byte _080E048C
- .4byte _080E04D0
- .4byte _080E053C
- .4byte _080E05A4
-_080E0400:
- bl IsContest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E043C
- ldr r0, _080E042C @ =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E0430 @ =gBattle_WIN0V
- strh r1, [r0]
- ldr r0, _080E0434 @ =REG_WININ
- ldr r2, _080E0438 @ =0x00003f3f
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080E05F2
- .align 2, 0
-_080E042C: .4byte gBattle_WIN0H
-_080E0430: .4byte gBattle_WIN0V
-_080E0434: .4byte REG_WININ
-_080E0438: .4byte 0x00003f3f
-_080E043C:
- ldr r0, _080E045C @ =gAnimBankTarget
- ldrb r0, [r0]
- bl GetBankIdentity_permutated
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _080E046C
- ldr r1, _080E0460 @ =REG_BLDCNT
- ldr r2, _080E0464 @ =0x00003f42
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E0468 @ =gBattle_BG2_X
- b _080E0476
- .align 2, 0
-_080E045C: .4byte gAnimBankTarget
-_080E0460: .4byte REG_BLDCNT
-_080E0464: .4byte 0x00003f42
-_080E0468: .4byte gBattle_BG2_X
-_080E046C:
- ldr r1, _080E0480 @ =REG_BLDCNT
- ldr r2, _080E0484 @ =0x00003f44
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E0488 @ =gBattle_BG1_X
-_080E0476:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
- b _080E0590
- .align 2, 0
-_080E0480: .4byte REG_BLDCNT
-_080E0484: .4byte 0x00003f44
-_080E0488: .4byte gBattle_BG1_X
-_080E048C:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080E04B4
- mov r0, sp
- bl sub_8078914
- ldr r0, _080E04B0 @ =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- mov r0, sp
- ldrb r1, [r0, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- b _080E04C4
- .align 2, 0
-_080E04B0: .4byte gBattle_BG1_Y
-_080E04B4:
- ldr r0, _080E04CC @ =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
-_080E04C4:
- movs r0, 0x3
- bl sub_80E08CC
- b _080E0590
- .align 2, 0
-_080E04CC: .4byte gBattle_BG2_Y
-_080E04D0:
- ldr r4, _080E051C @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- subs r1, r0, 0x4
- strh r1, [r5, 0x24]
- adds r0, 0x4
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080E0524
- ldr r0, _080E0520 @ =0x0000fff4
- b _080E0526
- .align 2, 0
-_080E051C: .4byte gAnimBankTarget
-_080E0520: .4byte 0x0000fff4
-_080E0524:
- ldr r0, _080E0538 @ =0x0000ffc0
-_080E0526:
- strh r0, [r5, 0x18]
- ldrh r0, [r5, 0x18]
- strh r0, [r5, 0x10]
- strh r0, [r5, 0x12]
- movs r0, 0xC
- strh r0, [r5, 0x1E]
- movs r0, 0x8
- strh r0, [r5, 0x20]
- b _080E0590
- .align 2, 0
-_080E0538: .4byte 0x0000ffc0
-_080E053C:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0x1
- bne _080E054C
- ldr r0, _080E0548 @ =REG_BG1VOFS
- b _080E054E
- .align 2, 0
-_080E0548: .4byte REG_BG1VOFS
-_080E054C:
- ldr r0, _080E0598 @ =REG_BG2VOFS
-_080E054E:
- str r0, [sp, 0xC]
- movs r3, 0
- add r4, sp, 0xC
- ldr r6, _080E059C @ =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r7, r6, r0
-_080E055C:
- lsls r1, r3, 1
- adds r2, r1, r6
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r2]
- adds r1, r7
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _080E055C
- ldr r1, _080E05A0 @ =0xa2600001
- str r1, [r4, 0x4]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r4, 0x8]
- strb r2, [r4, 0x9]
- ldr r0, [sp, 0xC]
- ldr r2, [r4, 0x8]
- bl ScanlineEffect_SetParams
-_080E0590:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080E05F2
- .align 2, 0
-_080E0598: .4byte REG_BG2VOFS
-_080E059C: .4byte gScanlineEffectRegBuffers
-_080E05A0: .4byte 0xa2600001
-_080E05A4:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080E05BC
- ldr r1, _080E05B4 @ =REG_WINOUT
- ldr r2, _080E05B8 @ =0x00003f3d
- b _080E05C0
- .align 2, 0
-_080E05B4: .4byte REG_WINOUT
-_080E05B8: .4byte 0x00003f3d
-_080E05BC:
- ldr r1, _080E05FC @ =REG_WINOUT
- ldr r2, _080E0600 @ =0x00003f3b
-_080E05C0:
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E0604 @ =REG_WININ
- ldr r2, _080E0608 @ =0x00003f3f
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080E060C @ =gBattle_WIN0H
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E0610 @ =gBattle_WIN0V
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0
- strh r0, [r5, 0x8]
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- ldr r1, _080E0614 @ =REG_BLDALPHA
- ldr r2, _080E0618 @ =0x0000080c
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080E061C @ =sub_80E0620
- str r0, [r5]
-_080E05F2:
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E05FC: .4byte REG_WINOUT
-_080E0600: .4byte 0x00003f3b
-_080E0604: .4byte REG_WININ
-_080E0608: .4byte 0x00003f3f
-_080E060C: .4byte gBattle_WIN0H
-_080E0610: .4byte gBattle_WIN0V
-_080E0614: .4byte REG_BLDALPHA
-_080E0618: .4byte 0x0000080c
-_080E061C: .4byte sub_80E0620
- thumb_func_end sub_80E03BC
-
- thumb_func_start sub_80E0620
-sub_80E0620: @ 80E0620
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E0644 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080E063A
- b _080E0784
-_080E063A:
- lsls r0, 2
- ldr r1, _080E0648 @ =_080E064C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E0644: .4byte gTasks
-_080E0648: .4byte _080E064C
- .align 2, 0
-_080E064C:
- .4byte _080E0660
- .4byte _080E068C
- .4byte _080E06F4
- .4byte _080E0754
- .4byte _080E0768
-_080E0660:
- ldrh r0, [r4, 0x12]
- adds r0, 0x8
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x16]
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _080E0676
- strh r2, [r4, 0x12]
-_080E0676:
- adds r0, r4, 0
- bl sub_80E079C
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _080E068A
- b _080E0784
-_080E068A:
- b _080E075A
-_080E068C:
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- subs r0, r1
- cmp r0, 0x3F
- bgt _080E06A8
- ldrh r0, [r4, 0x24]
- subs r0, 0x4
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- adds r0, 0x4
- strh r0, [r4, 0x26]
- b _080E06AC
-_080E06A8:
- movs r0, 0x1
- strh r0, [r4, 0xA]
-_080E06AC:
- ldr r2, _080E06F0 @ =gBattle_WIN0H
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x10]
- adds r0, 0x8
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x14]
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _080E06CE
- strh r2, [r4, 0x10]
-_080E06CE:
- adds r0, r4, 0
- bl sub_80E079C
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080E0784
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080E0784
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080E075A
- .align 2, 0
-_080E06F0: .4byte gBattle_WIN0H
-_080E06F4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E0784
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E0724
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080E0732
- subs r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _080E0732
-_080E0724:
- ldrh r1, [r4, 0x20]
- movs r3, 0x20
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _080E0732
- adds r0, r1, 0x1
- strh r0, [r4, 0x20]
-_080E0732:
- ldr r2, _080E0750 @ =REG_BLDALPHA
- ldrh r0, [r4, 0x20]
- lsls r0, 8
- ldrh r1, [r4, 0x1E]
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E0784
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bne _080E0784
- b _080E075A
- .align 2, 0
-_080E0750: .4byte REG_BLDALPHA
-_080E0754:
- ldr r1, _080E0764 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080E075A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E0784
- .align 2, 0
-_080E0764: .4byte gScanlineEffect
-_080E0768:
- ldr r0, _080E078C @ =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E0790 @ =gBattle_WIN0V
- strh r1, [r0]
- ldr r0, _080E0794 @ =REG_WININ
- ldr r3, _080E0798 @ =0x00003f3f
- adds r1, r3, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080E0784:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E078C: .4byte gBattle_WIN0H
-_080E0790: .4byte gBattle_WIN0V
-_080E0794: .4byte REG_WININ
-_080E0798: .4byte 0x00003f3f
- thumb_func_end sub_80E0620
-
- thumb_func_start sub_80E079C
-sub_80E079C: @ 80E079C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrh r0, [r6, 0x12]
- ldrh r4, [r6, 0x10]
- subs r0, r4
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- beq _080E0890
- movs r2, 0x22
- ldrsh r0, [r6, r2]
- bl __divsi3
- mov r8, r0
- movs r3, 0x14
- ldrsh r0, [r6, r3]
- lsls r5, r0, 8
- lsls r0, r4, 16
- movs r4, 0
- cmp r0, 0
- ble _080E07FC
- ldr r0, _080E0888 @ =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, _080E088C @ =gScanlineEffect
-_080E07D0:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r3, r0
- add r3, r12
- adds r1, r2, 0
- subs r1, 0x9F
- ldrh r0, [r6, 0x1C]
- subs r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- cmp r2, r0
- blt _080E07D0
-_080E07FC:
- ldrh r4, [r6, 0x10]
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- bgt _080E0846
- ldr r0, _080E0888 @ =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, _080E088C @ =gScanlineEffect
-_080E0810:
- asrs r4, r3, 16
- cmp r4, 0
- blt _080E0832
- asrs r1, r5, 8
- subs r1, r4
- lsls r3, r4, 1
- ldrb r2, [r7, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- add r3, r12
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r6, 0x1C]
- adds r1, r2
- strh r1, [r3]
-_080E0832:
- add r5, r8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _080E0810
-_080E0846:
- movs r3, 0x1C
- ldrsh r0, [r6, r3]
- adds r0, 0x9F
- lsls r2, r4, 16
- asrs r1, r2, 16
- subs r5, r0, r1
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- bge _080E08BE
- ldr r7, _080E0888 @ =gScanlineEffectRegBuffers
- ldr r4, _080E088C @ =gScanlineEffect
-_080E085E:
- asrs r3, r2, 16
- cmp r3, 0
- blt _080E0876
- lsls r2, r3, 1
- ldrb r1, [r4, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- strh r5, [r2]
- subs r5, 0x1
-_080E0876:
- adds r0, r3, 0x1
- lsls r2, r0, 16
- asrs r1, r2, 16
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- blt _080E085E
- b _080E08BE
- .align 2, 0
-_080E0888: .4byte gScanlineEffectRegBuffers
-_080E088C: .4byte gScanlineEffect
-_080E0890:
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- adds r5, r0, 0
- adds r5, 0x9F
- movs r4, 0
- ldr r3, _080E08C8 @ =gScanlineEffectRegBuffers
- movs r2, 0xF0
- lsls r2, 3
- adds r6, r3, r2
-_080E08A2:
- lsls r0, r4, 16
- asrs r0, 16
- lsls r2, r0, 1
- adds r1, r2, r3
- strh r5, [r1]
- adds r2, r6
- strh r5, [r2]
- subs r5, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _080E08A2
-_080E08BE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E08C8: .4byte gScanlineEffectRegBuffers
- thumb_func_end sub_80E079C
-
- thumb_func_start sub_80E08CC
-sub_80E08CC: @ 80E08CC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- ldr r7, _080E0914 @ =gSprites
- movs r1, 0x3
- ands r0, r1
- lsls r5, r0, 2
- movs r0, 0xD
- negs r0, r0
- adds r6, r0, 0
-_080E08E2:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080E0902
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1, 0x5]
- ands r0, r6
- orrs r0, r5
- strb r0, [r1, 0x5]
-_080E0902:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080E08E2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0914: .4byte gSprites
- thumb_func_end sub_80E08CC
-
- thumb_func_start sub_80E0918
-sub_80E0918: @ 80E0918
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r6, _080E09B8 @ =gAnimBankAttacker
- ldrb r0, [r6]
- bl GetBankIdentity_permutated
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- ldrb r0, [r6]
- adds r1, r4, 0
- bl sub_8076034
- ldr r0, _080E09BC @ =gSprites
- mov r9, r0
- ldr r0, _080E09C0 @ =gObjectBankIDs
- mov r8, r0
- ldrb r0, [r6]
- add r0, r8
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r7, 0x5
- negs r7, r7
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080E09A2
- ldrb r0, [r6]
- eors r0, r5
- movs r1, 0x1
- eors r4, r1
- adds r1, r4, 0
- bl sub_8076034
- ldrb r0, [r6]
- eors r0, r5
- add r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
-_080E09A2:
- mov r0, r10
- bl DestroyAnimVisualTask
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E09B8: .4byte gAnimBankAttacker
-_080E09BC: .4byte gSprites
-_080E09C0: .4byte gObjectBankIDs
- thumb_func_end sub_80E0918
-
- thumb_func_start sub_80E09C4
-sub_80E09C4: @ 80E09C4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _080E0A0C @ =gAnimBankAttacker
- ldrb r0, [r4]
- bl GetBankIdentity_permutated
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r5, 0
- bl sub_8076464
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080E0A00
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_8076464
-_080E0A00:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0A0C: .4byte gAnimBankAttacker
- thumb_func_end sub_80E09C4
-
- thumb_func_start sub_80E0A10
-sub_80E0A10: @ 80E0A10
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080E0A40 @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrb r1, [r1, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _080E0A44 @ =sub_8078600
- str r0, [r4, 0x1C]
- ldr r1, _080E0A48 @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0A40: .4byte gBattleAnimArgs
-_080E0A44: .4byte sub_8078600
-_080E0A48: .4byte DestroyAnimSprite
- thumb_func_end sub_80E0A10
-
- thumb_func_start sub_80E0A4C
-sub_80E0A4C: @ 80E0A4C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r7, 0
- ldr r0, _080E0B50 @ =gBattle_WIN0H
- strh r7, [r0]
- ldr r0, _080E0B54 @ =gBattle_WIN0V
- strh r7, [r0]
- ldr r1, _080E0B58 @ =REG_WININ
- ldr r2, _080E0B5C @ =0x00003f3f
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080E0B60 @ =0x00003f3d
- adds r0, r3, 0
- strh r0, [r1]
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E0B64 @ =REG_BLDCNT
- ldr r2, _080E0B68 @ =0x00003f42
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080E0B6C @ =0x00000c08
- adds r0, r3, 0
- strh r0, [r1]
- ldr r5, _080E0B70 @ =REG_BG1CNT
- ldrb r1, [r5]
- movs r0, 0x4
- negs r0, r0
- mov r8, r0
- ands r0, r1
- strb r0, [r5]
- ldrb r1, [r5, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r5, 0x1]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080E0AC4
- ldrb r0, [r5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r5]
-_080E0AC4:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080E0B40
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080E0B40
- ldr r4, _080E0B74 @ =gAnimBankAttacker
- ldrb r0, [r4]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080E0AF4
- ldrb r0, [r4]
- bl GetBankIdentity
- lsls r0, 24
- cmp r0, 0
- bne _080E0B40
-_080E0AF4:
- ldrb r0, [r4]
- movs r6, 0x2
- eors r0, r6
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E0B40
- ldr r3, _080E0B78 @ =gSprites
- ldr r1, _080E0B7C @ =gObjectBankIDs
- ldrb r0, [r4]
- eors r0, r6
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldrb r1, [r5]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5]
- movs r7, 0x1
-_080E0B40:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080E0B84
- ldr r0, _080E0B80 @ =gSharedMem + 0x19348
- ldrh r5, [r0]
- b _080E0BCC
- .align 2, 0
-_080E0B50: .4byte gBattle_WIN0H
-_080E0B54: .4byte gBattle_WIN0V
-_080E0B58: .4byte REG_WININ
-_080E0B5C: .4byte 0x00003f3f
-_080E0B60: .4byte 0x00003f3d
-_080E0B64: .4byte REG_BLDCNT
-_080E0B68: .4byte 0x00003f42
-_080E0B6C: .4byte 0x00000c08
-_080E0B70: .4byte REG_BG1CNT
-_080E0B74: .4byte gAnimBankAttacker
-_080E0B78: .4byte gSprites
-_080E0B7C: .4byte gObjectBankIDs
-_080E0B80: .4byte gSharedMem + 0x19348
-_080E0B84:
- ldr r4, _080E0BA4 @ =gAnimBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080E0BB0
- ldr r1, _080E0BA8 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E0BAC @ =gEnemyParty
- b _080E0BC0
- .align 2, 0
-_080E0BA4: .4byte gAnimBankAttacker
-_080E0BA8: .4byte gBattlePartyID
-_080E0BAC: .4byte gEnemyParty
-_080E0BB0:
- ldr r1, _080E0C58 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E0C5C @ =gPlayerParty
-_080E0BC0:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
-_080E0BCC:
- movs r0, 0
- bl GetAnimBankSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080E0C60 @ =gAnimBankAttacker
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_807A4A0
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r2, _080E0C64 @ =0x040000d4
- add r0, sp, 0xC
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080E0C68 @ =0x85000400
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _080E0C6C @ =gUnknown_08D1D574
- bl LZDecompressVram
- ldr r0, _080E0C70 @ =gUnknown_08D1D410
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _080E0C74 @ =gUnknown_08D1D54C
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r2, _080E0C78 @ =gBattle_BG1_X
- ldr r0, _080E0C7C @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- negs r0, r0
- adds r0, 0x60
- strh r0, [r2]
- ldr r2, _080E0C80 @ =gBattle_BG1_Y
- ldrh r0, [r1, 0x22]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- ldr r2, _080E0C84 @ =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080E0C88
- adds r0, r1, 0
- movs r1, 0
- bl sub_8079108
- b _080E0C94
- .align 2, 0
-_080E0C58: .4byte gBattlePartyID
-_080E0C5C: .4byte gPlayerParty
-_080E0C60: .4byte gAnimBankAttacker
-_080E0C64: .4byte 0x040000d4
-_080E0C68: .4byte 0x85000400
-_080E0C6C: .4byte gUnknown_08D1D574
-_080E0C70: .4byte gUnknown_08D1D410
-_080E0C74: .4byte gUnknown_08D1D54C
-_080E0C78: .4byte gBattle_BG1_X
-_080E0C7C: .4byte gSprites
-_080E0C80: .4byte gBattle_BG1_Y
-_080E0C84: .4byte gBattleAnimArgs
-_080E0C88:
- lsls r0, r1, 4
- ldrh r3, [r2, 0x4]
- movs r1, 0x10
- movs r2, 0xB
- bl BlendPalette
-_080E0C94:
- ldr r1, _080E0CC4 @ =gTasks
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- ldr r2, _080E0CC8 @ =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0xE]
- strh r7, [r0, 0x14]
- ldr r1, _080E0CCC @ =sub_80E0CD0
- str r1, [r0]
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0CC4: .4byte gTasks
-_080E0CC8: .4byte gBattleAnimArgs
-_080E0CCC: .4byte sub_80E0CD0
- thumb_func_end sub_80E0A4C
-
- thumb_func_start sub_80E0CD0
-sub_80E0CD0: @ 80E0CD0
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080E0DF0 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x4
- movs r5, 0
- strh r0, [r4, 0x1C]
- ldr r2, _080E0DF4 @ =gBattle_BG1_X
- ldrh r3, [r2]
- subs r1, r3, 0x4
- strh r1, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x80
- bne _080E0DE8
- strh r5, [r4, 0x1C]
- adds r0, r3, 0
- adds r0, 0x7C
- strh r0, [r2]
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080E0DE8
- movs r0, 0
- bl sub_8076464
- ldr r0, _080E0DF8 @ =gBattle_WIN0H
- strh r5, [r0]
- ldr r0, _080E0DFC @ =gBattle_WIN0V
- strh r5, [r0]
- ldr r0, _080E0E00 @ =REG_WININ
- ldr r2, _080E0E04 @ =0x00003f3f
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080E0D40
- ldr r2, _080E0E08 @ =REG_BG1CNT
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080E0D40:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- eors r0, r1
- strh r0, [r2]
- ldr r0, _080E0E0C @ =REG_BLDCNT
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _080E0E10 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080E0D84
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_8079108
-_080E0D84:
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp, 0x4]
- str r5, [sp, 0xC]
- ldr r1, _080E0E14 @ =0x040000d4
- add r0, sp, 0xC
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080E0E18 @ =0x85000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080E0DE2
- ldr r2, _080E0E1C @ =gObjectBankIDs
- ldr r0, _080E0E20 @ =gAnimBankAttacker
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080E0DE2:
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_080E0DE8:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0DF0: .4byte gTasks
-_080E0DF4: .4byte gBattle_BG1_X
-_080E0DF8: .4byte gBattle_WIN0H
-_080E0DFC: .4byte gBattle_WIN0V
-_080E0E00: .4byte REG_WININ
-_080E0E04: .4byte 0x00003f3f
-_080E0E08: .4byte REG_BG1CNT
-_080E0E0C: .4byte REG_BLDCNT
-_080E0E10: .4byte gSprites
-_080E0E14: .4byte 0x040000d4
-_080E0E18: .4byte 0x85000200
-_080E0E1C: .4byte gObjectBankIDs
-_080E0E20: .4byte gAnimBankAttacker
- thumb_func_end sub_80E0CD0
-
- thumb_func_start sub_80E0E24
-sub_80E0E24: @ 80E0E24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080E0E44 @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0x7
- bhi _080E0E88
- lsls r0, r1, 2
- ldr r1, _080E0E48 @ =_080E0E4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E0E44: .4byte gBattleAnimArgs
-_080E0E48: .4byte _080E0E4C
- .align 2, 0
-_080E0E4C:
- .4byte _080E0E6C
- .4byte _080E0E6C
- .4byte _080E0E6C
- .4byte _080E0E6C
- .4byte _080E0E78
- .4byte _080E0E7C
- .4byte _080E0E80
- .4byte _080E0E84
-_080E0E6C:
- ldrb r0, [r2]
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r2, r0, 24
- b _080E0E8A
-_080E0E78:
- movs r4, 0
- b _080E0E90
-_080E0E7C:
- movs r4, 0x2
- b _080E0E90
-_080E0E80:
- movs r4, 0x1
- b _080E0E90
-_080E0E84:
- movs r4, 0x3
- b _080E0E90
-_080E0E88:
- movs r2, 0xFF
-_080E0E8A:
- movs r0, 0
- cmp r0, 0
- beq _080E0EB6
-_080E0E90:
- adds r0, r4, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080E0EB4
- ldr r0, _080E0EB0 @ =gObjectBankIDs
- adds r0, r4, r0
- ldrb r2, [r0]
- b _080E0EB6
- .align 2, 0
-_080E0EB0: .4byte gObjectBankIDs
-_080E0EB4:
- movs r2, 0xFF
-_080E0EB6:
- cmp r2, 0xFF
- beq _080E0ED2
- ldr r1, _080E0EE0 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- ldr r1, _080E0EE4 @ =gBattleAnimArgs
- ldrb r1, [r1, 0x2]
- bl sub_8079108
-_080E0ED2:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0EE0: .4byte gSprites
-_080E0EE4: .4byte gBattleAnimArgs
- thumb_func_end sub_80E0E24
-
- thumb_func_start sub_80E0EE8
-sub_80E0EE8: @ 80E0EE8
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080E0F14 @ =gAnimMoveTurn
- ldrb r0, [r2]
- cmp r0, 0x1
- bhi _080E0EFC
- ldr r1, _080E0F18 @ =gBattleAnimArgs
- movs r0, 0
- strh r0, [r1, 0xE]
-_080E0EFC:
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080E0F08
- ldr r1, _080E0F18 @ =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080E0F08:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080E0F14: .4byte gAnimMoveTurn
-_080E0F18: .4byte gBattleAnimArgs
- thumb_func_end sub_80E0EE8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fight.s b/asm/fight.s
deleted file mode 100644
index e8e3299af..000000000
--- a/asm/fight.s
+++ /dev/null
@@ -1,1749 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .syntax unified
-
- .text
-
- @ fight
-
- thumb_func_start unc_080B08A0
-unc_080B08A0: @ 80D8FF0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D9020 @ =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_807867C
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0xF
- strh r0, [r4, 0x2E]
- ldr r0, _080D9024 @ =sub_80782D8
- str r0, [r4, 0x1C]
- ldr r1, _080D9028 @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9020: .4byte gBattleAnimArgs
-_080D9024: .4byte sub_80782D8
-_080D9028: .4byte DestroyAnimSprite
- thumb_func_end unc_080B08A0
-
- thumb_func_start sub_80D902C
-sub_80D902C: @ 80D902C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D9070 @ =gBattleAnimArgs
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080D9054
- ldr r0, _080D9074 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080D9054
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x6]
- negs r0, r0
- strh r0, [r4, 0x6]
-_080D9054:
- ldr r4, _080D9070 @ =gBattleAnimArgs
- ldrb r1, [r4, 0xC]
- adds r0, r5, 0
- bl StartSpriteAnim
- movs r0, 0
- strh r0, [r4, 0xC]
- adds r0, r5, 0
- bl sub_8079534
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9070: .4byte gBattleAnimArgs
-_080D9074: .4byte gAnimBankAttacker
- thumb_func_end sub_80D902C
-
- thumb_func_start sub_80D9078
-sub_80D9078: @ 80D9078
- push {r4,lr}
- adds r4, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080D9094
- ldr r0, _080D90A0 @ =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0x6]
- negs r1, r1
- strh r1, [r0, 0x6]
-_080D9094:
- adds r0, r4, 0
- bl sub_80D902C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D90A0: .4byte gBattleAnimArgs
- thumb_func_end sub_80D9078
-
- thumb_func_start sub_80D90A4
-sub_80D90A4: @ 80D90A4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D90C4 @ =gBattleAnimArgs
- ldrb r1, [r4, 0x8]
- bl StartSpriteAnim
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D90C8
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- b _080D90D0
- .align 2, 0
-_080D90C4: .4byte gBattleAnimArgs
-_080D90C8:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8078764
-_080D90D0:
- ldr r0, _080D90E8 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0x2E]
- ldr r0, _080D90EC @ =sub_80782D8
- str r0, [r5, 0x1C]
- ldr r1, _080D90F0 @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D90E8: .4byte gBattleAnimArgs
-_080D90EC: .4byte sub_80782D8
-_080D90F0: .4byte DestroyAnimSprite
- thumb_func_end sub_80D90A4
-
- thumb_func_start sub_80D90F4
-sub_80D90F4: @ 80D90F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- ldr r0, _080D9110 @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r9, r0
- cmp r1, 0
- bne _080D9118
- ldr r0, _080D9114 @ =gAnimBankAttacker
- b _080D911A
- .align 2, 0
-_080D9110: .4byte gBattleAnimArgs
-_080D9114: .4byte gAnimBankAttacker
-_080D9118:
- ldr r0, _080D9260 @ =gAnimBankTarget
-_080D911A:
- ldrb r0, [r0]
- mov r8, r0
- mov r4, r9
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _080D9138
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- strh r0, [r4, 0x4]
-_080D9138:
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl StartSpriteAnim
- mov r0, r8
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- mov r0, r8
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- mov r0, r8
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- lsls r1, 15
- lsrs r6, r1, 16
- mov r0, r8
- movs r1, 0
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080D9182
- adds r0, 0x3
-_080D9182:
- lsls r4, r0, 14
- lsrs r4, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- bl __modsi3
- lsls r0, 16
- lsrs r6, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- asrs r4, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r4, r0, 16
- bl Random
- movs r7, 0x1
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _080D91C4
- lsls r0, r6, 16
- negs r0, r0
- lsrs r6, r0, 16
-_080D91C4:
- bl Random
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _080D91D6
- lsls r0, r4, 16
- negs r0, r0
- lsrs r4, r0, 16
-_080D91D6:
- ldr r0, _080D9264 @ =gBanksBySide
- add r0, r8
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080D91EC
- lsls r0, r4, 16
- ldr r1, _080D9268 @ =0xfff00000
- adds r0, r1
- lsrs r4, r0, 16
-_080D91EC:
- lsls r0, r6, 16
- asrs r0, 16
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r3, [r5, 0x22]
- adds r0, r3
- strh r0, [r5, 0x22]
- mov r1, r9
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x2E]
- ldr r0, _080D926C @ =gBattleAnimSpriteTemplate_83DB4A8
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r3, 0x22
- ldrsh r2, [r5, r3]
- adds r3, r5, 0
- adds r3, 0x43
- ldrb r3, [r3]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3C]
- cmp r0, 0x40
- beq _080D9250
- movs r0, 0x3C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080D9270 @ =gSprites
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r2, 0x3C
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _080D9274 @ =SpriteCallbackDummy
- str r1, [r0]
-_080D9250:
- ldr r0, _080D9278 @ =sub_80D927C
- str r0, [r5, 0x1C]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9260: .4byte gAnimBankTarget
-_080D9264: .4byte gBanksBySide
-_080D9268: .4byte 0xfff00000
-_080D926C: .4byte gBattleAnimSpriteTemplate_83DB4A8
-_080D9270: .4byte gSprites
-_080D9274: .4byte SpriteCallbackDummy
-_080D9278: .4byte sub_80D927C
- thumb_func_end sub_80D90F4
-
- thumb_func_start sub_80D927C
-sub_80D927C: @ 80D927C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080D92C4
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0x40
- beq _080D92B8
- ldr r4, _080D92C0 @ =gSprites
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- movs r0, 0x3C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_080D92B8:
- adds r0, r5, 0
- bl DestroyAnimSprite
- b _080D92C8
- .align 2, 0
-_080D92C0: .4byte gSprites
-_080D92C4:
- subs r0, r1, 0x1
- strh r0, [r5, 0x2E]
-_080D92C8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D927C
-
- thumb_func_start sub_80D92D0
-sub_80D92D0: @ 80D92D0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- movs r0, 0x1E
- strh r0, [r4, 0x2E]
- ldr r0, _080D92F0 @ =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D92F4
- ldrh r0, [r4, 0x20]
- subs r0, 0x14
- strh r0, [r4, 0x32]
- b _080D9306
- .align 2, 0
-_080D92F0: .4byte gBattleAnimArgs
-_080D92F4:
- ldrh r0, [r4, 0x20]
- adds r0, 0x14
- strh r0, [r4, 0x32]
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_080D9306:
- ldrh r0, [r4, 0x22]
- subs r0, 0x14
- strh r0, [r4, 0x36]
- ldr r0, _080D9320 @ =sub_8078B34
- str r0, [r4, 0x1C]
- ldr r1, _080D9324 @ =sub_80D9328
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9320: .4byte sub_8078B34
-_080D9324: .4byte sub_80D9328
- thumb_func_end sub_80D92D0
-
- thumb_func_start sub_80D9328
-sub_80D9328: @ 80D9328
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _080D9368
- ldrh r2, [r5, 0x20]
- ldrh r4, [r5, 0x24]
- subs r0, r2, r4
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x22]
- ldrh r3, [r5, 0x26]
- subs r0, r1, r3
- strh r0, [r5, 0x36]
- movs r0, 0x8
- strh r0, [r5, 0x2E]
- adds r2, r4
- strh r2, [r5, 0x20]
- adds r1, r3
- strh r1, [r5, 0x22]
- strh r6, [r5, 0x26]
- strh r6, [r5, 0x24]
- ldr r0, _080D9370 @ =sub_8078B34
- str r0, [r5, 0x1C]
- ldr r1, _080D9374 @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData
-_080D9368:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9370: .4byte sub_8078B34
-_080D9374: .4byte DestroyAnimSprite
- thumb_func_end sub_80D9328
-
- thumb_func_start sub_80D9378
-sub_80D9378: @ 80D9378
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _080D93F4 @ =gAnimBankAttacker
- ldrb r1, [r0]
- movs r0, 0x2
- ldr r2, _080D93F8 @ =gAnimBankTarget
- eors r0, r1
- ldrb r1, [r2]
- cmp r0, r1
- bne _080D93A4
- ldrb r0, [r2]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080D93A4
- ldr r1, _080D93FC @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1]
-_080D93A4:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r0, _080D93F4 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080D93C2
- ldr r1, _080D93FC @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D93C2:
- ldr r4, _080D93FC @ =gBattleAnimArgs
- ldrh r0, [r4, 0x6]
- movs r5, 0
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x3A]
- strh r5, [r6, 0x3C]
- ldr r0, _080D9400 @ =sub_80D9404
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D93F4: .4byte gAnimBankAttacker
-_080D93F8: .4byte gAnimBankTarget
-_080D93FC: .4byte gBattleAnimArgs
-_080D9400: .4byte sub_80D9404
- thumb_func_end sub_80D9378
-
- thumb_func_start sub_80D9404
-sub_80D9404: @ 80D9404
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080D9430
- ldrh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- strh r0, [r4, 0x3C]
- b _080D9436
-_080D9430:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080D9436:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9404
-
- thumb_func_start sub_80D943C
-sub_80D943C: @ 80D943C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r5, _080D9468 @ =gBattleAnimArgs
- ldrb r1, [r5, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldr r0, _080D946C @ =sub_80782D8
- str r0, [r4, 0x1C]
- ldr r1, _080D9470 @ =sub_80D9474
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9468: .4byte gBattleAnimArgs
-_080D946C: .4byte sub_80782D8
-_080D9470: .4byte sub_80D9474
- thumb_func_end sub_80D943C
-
- thumb_func_start sub_80D9474
-sub_80D9474: @ 80D9474
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- ldr r0, _080D94A0 @ =sub_80782D8
- str r0, [r4, 0x1C]
- ldr r1, _080D94A4 @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D94A0: .4byte sub_80782D8
-_080D94A4: .4byte DestroyAnimSprite
- thumb_func_end sub_80D9474
-
- thumb_func_start sub_80D94A8
-sub_80D94A8: @ 80D94A8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r0, _080D94C4 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, _080D94C8 @ =sub_80D94CC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D94C4: .4byte gBattleAnimArgs
-_080D94C8: .4byte sub_80D94CC
- thumb_func_end sub_80D94A8
-
- thumb_func_start sub_80D94CC
-sub_80D94CC: @ 80D94CC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- subs r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080D9510
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- ldr r4, _080D9518 @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- ldr r0, _080D951C @ =sub_8078B34
- str r0, [r5, 0x1C]
- ldr r1, _080D9520 @ =sub_80D9524
- adds r0, r5, 0
- bl StoreSpriteCallbackInData
-_080D9510:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9518: .4byte gAnimBankTarget
-_080D951C: .4byte sub_8078B34
-_080D9520: .4byte sub_80D9524
- thumb_func_end sub_80D94CC
-
- thumb_func_start sub_80D9524
-sub_80D9524: @ 80D9524
- push {lr}
- movs r1, 0xF
- strh r1, [r0, 0x2E]
- ldr r1, _080D9538 @ =sub_80782D8
- str r1, [r0, 0x1C]
- ldr r1, _080D953C @ =DestroyAnimSprite
- bl StoreSpriteCallbackInData
- pop {r0}
- bx r0
- .align 2, 0
-_080D9538: .4byte sub_80782D8
-_080D953C: .4byte DestroyAnimSprite
- thumb_func_end sub_80D9524
-
- thumb_func_start sub_80D9540
-sub_80D9540: @ 80D9540
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D956C
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r1, _080D9568 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080D95C8
- .align 2, 0
-_080D9568: .4byte gBattleAnimArgs
-_080D956C:
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- cmp r0, 0x64
- ble _080D95BA
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080D95BA:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- ble _080D95C8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080D95C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9540
-
- thumb_func_start sub_80D95D0
-sub_80D95D0: @ 80D95D0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D95E4 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D95EC
- ldr r4, _080D95E8 @ =gAnimBankAttacker
- b _080D95EE
- .align 2, 0
-_080D95E4: .4byte gBattleAnimArgs
-_080D95E8: .4byte gAnimBankAttacker
-_080D95EC:
- ldr r4, _080D9634 @ =gAnimBankTarget
-_080D95EE:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r1, _080D9638 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- movs r2, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r1, 0x4]
- ldrh r3, [r5, 0x22]
- adds r0, r3
- strh r0, [r5, 0x22]
- strh r2, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x32]
- strh r2, [r5, 0x34]
- ldr r0, _080D963C @ =sub_80D9640
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9634: .4byte gAnimBankTarget
-_080D9638: .4byte gBattleAnimArgs
-_080D963C: .4byte sub_80D9640
- thumb_func_end sub_80D95D0
-
- thumb_func_start sub_80D9640
-sub_80D9640: @ 80D9640
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- cmp r2, 0
- beq _080D9652
- cmp r2, 0x1
- beq _080D9676
- b _080D96B0
-_080D9652:
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080D96B0
- movs r2, 0x32
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080D966E
- adds r0, r1, 0
- bl DestroyAnimSprite
- b _080D96B0
-_080D966E:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _080D96B0
-_080D9676:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D969E
- movs r0, 0
- strh r0, [r1, 0x30]
- ldrh r0, [r1, 0x34]
- adds r0, 0x1
- strh r0, [r1, 0x34]
- ands r0, r2
- lsls r0, 16
- cmp r0, 0
- beq _080D969A
- movs r0, 0x2
- b _080D969C
-_080D969A:
- ldr r0, _080D96B4 @ =0x0000fffe
-_080D969C:
- strh r0, [r1, 0x24]
-_080D969E:
- ldrh r0, [r1, 0x32]
- subs r0, 0x1
- strh r0, [r1, 0x32]
- lsls r0, 16
- cmp r0, 0
- bne _080D96B0
- adds r0, r1, 0
- bl DestroyAnimSprite
-_080D96B0:
- pop {r0}
- bx r0
- .align 2, 0
-_080D96B4: .4byte 0x0000fffe
- thumb_func_end sub_80D9640
-
- thumb_func_start sub_80D96B8
-sub_80D96B8: @ 80D96B8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080D96DC @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D96E4
- ldr r4, _080D96E0 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r6, 0x4]
- adds r0, r2
- b _080D96F6
- .align 2, 0
-_080D96DC: .4byte gBattleAnimArgs
-_080D96E0: .4byte gAnimBankAttacker
-_080D96E4:
- ldr r4, _080D9740 @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
-_080D96F6:
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x22]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- ldr r3, _080D9744 @ =gBattleAnimArgs
- movs r4, 0x2
- ldrsh r0, [r3, r4]
- lsls r0, 4
- adds r1, r0
- ldr r4, _080D9748 @ =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, _080D974C @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- movs r1, 0
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- cmp r0, 0x1
- beq _080D9764
- cmp r0, 0x1
- bgt _080D9750
- cmp r0, 0
- beq _080D975A
- b _080D978A
- .align 2, 0
-_080D9740: .4byte gAnimBankTarget
-_080D9744: .4byte gBattleAnimArgs
-_080D9748: .4byte 0x000003ff
-_080D974C: .4byte 0xfffffc00
-_080D9750:
- cmp r0, 0x2
- beq _080D9774
- cmp r0, 0x3
- beq _080D9784
- b _080D978A
-_080D975A:
- ldr r0, _080D9760 @ =0x0000fffd
- b _080D9784
- .align 2, 0
-_080D9760: .4byte 0x0000fffd
-_080D9764:
- movs r0, 0x3
- strh r0, [r5, 0x3A]
- ldr r0, _080D9770 @ =0x0000fffd
- strh r0, [r5, 0x3C]
- b _080D9792
- .align 2, 0
-_080D9770: .4byte 0x0000fffd
-_080D9774:
- ldr r0, _080D9780 @ =0x0000fffd
- strh r0, [r5, 0x3A]
- movs r0, 0x3
- strh r0, [r5, 0x3C]
- b _080D9792
- .align 2, 0
-_080D9780: .4byte 0x0000fffd
-_080D9784:
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x3C]
- b _080D9792
-_080D978A:
- adds r0, r5, 0
- bl DestroyAnimSprite
- b _080D9796
-_080D9792:
- ldr r0, _080D979C @ =sub_80D97A0
- str r0, [r5, 0x1C]
-_080D9796:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D979C: .4byte sub_80D97A0
- thumb_func_end sub_80D96B8
-
- thumb_func_start sub_80D97A0
-sub_80D97A0: @ 80D97A0
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x3A]
- ldrh r2, [r1, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x3C]
- ldrh r2, [r1, 0x22]
- adds r0, r2
- strh r0, [r1, 0x22]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _080D97C8
- adds r0, r1, 0
- bl DestroyAnimSprite
-_080D97C8:
- pop {r0}
- bx r0
- thumb_func_end sub_80D97A0
-
- thumb_func_start sub_80D97CC
-sub_80D97CC: @ 80D97CC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D9818 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D9828
- ldr r4, _080D981C @ =gBankAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r0, _080D9820 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- ldr r0, _080D9824 @ =gAnimBankTarget
- b _080D9844
- .align 2, 0
-_080D9818: .4byte gBattleAnimArgs
-_080D981C: .4byte gBankAttacker
-_080D9820: .4byte gAnimBankAttacker
-_080D9824: .4byte gAnimBankTarget
-_080D9828:
- ldr r0, _080D9860 @ =gAnimBankTarget
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- ldr r0, _080D9864 @ =gAnimBankAttacker
-_080D9844:
- ldrb r0, [r0]
- strh r0, [r5, 0x3C]
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r0, 0xC
- strh r0, [r5, 0x30]
- movs r0, 0x8
- strh r0, [r5, 0x32]
- ldr r0, _080D9868 @ =sub_80D986C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9860: .4byte gAnimBankTarget
-_080D9864: .4byte gAnimBankAttacker
-_080D9868: .4byte sub_80D986C
- thumb_func_end sub_80D97CC
-
- thumb_func_start sub_80D986C
-sub_80D986C: @ 80D986C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB4
- bne _080D98C6
- ldr r1, _080D98CC @ =REG_BLDCNT
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080D98D0 @ =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- ldr r0, _080D98D4 @ =sub_8078BB8
- str r0, [r4, 0x1C]
-_080D98C6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D98CC: .4byte REG_BLDCNT
-_080D98D0: .4byte move_anim_8074EE0
-_080D98D4: .4byte sub_8078BB8
- thumb_func_end sub_80D986C
-
- thumb_func_start sub_80D98D8
-sub_80D98D8: @ 80D98D8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D9924 @ =gBattleAnimArgs
- ldrh r0, [r4]
- strh r0, [r5, 0x20]
- movs r2, 0x78
- strh r2, [r5, 0x22]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- adds r0, 0x36
- adds r1, r5, 0
- adds r1, 0x38
- lsls r2, 8
- bl sub_8079BF4
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x3A]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- lsls r0, 2
- adds r1, r0
- ldr r3, _080D9928 @ =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D992C @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r0, _080D9930 @ =sub_80D9934
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9924: .4byte gBattleAnimArgs
-_080D9928: .4byte 0x000003ff
-_080D992C: .4byte 0xfffffc00
-_080D9930: .4byte sub_80D9934
- thumb_func_end sub_80D98D8
-
- thumb_func_start sub_80D9934
-sub_80D9934: @ 80D9934
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _080D9986
- movs r2, 0x36
- ldrsh r0, [r7, r2]
- movs r2, 0x38
- ldrsh r1, [r7, r2]
- bl sub_8079BFC
- adds r4, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r7, r1]
- subs r4, r0
- adds r0, r7, 0
- adds r0, 0x36
- adds r1, r7, 0
- adds r1, 0x38
- adds r2, r4, 0
- bl sub_8079BF4
- asrs r4, 8
- strh r4, [r7, 0x22]
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x8
- negs r0, r0
- cmp r4, r0
- bge _080D997E
- adds r0, r7, 0
- bl DestroyAnimSprite
- b _080D99DC
-_080D997E:
- ldrh r0, [r7, 0x2E]
- subs r0, 0x1
- strh r0, [r7, 0x2E]
- b _080D99DC
-_080D9986:
- ldr r4, _080D99E8 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBankPosition
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r2, _080D99EC @ =gAnimBankTarget
- mov r8, r2
- ldrb r0, [r2]
- movs r1, 0x2
- bl GetBankPosition
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- subs r4, r6
- strh r4, [r7, 0x2E]
- lsrs r0, 24
- subs r0, r5
- strh r0, [r7, 0x30]
- ldrh r0, [r7, 0x20]
- lsls r0, 4
- strh r0, [r7, 0x32]
- ldrh r0, [r7, 0x22]
- lsls r0, 4
- strh r0, [r7, 0x34]
- ldr r0, _080D99F0 @ =sub_80D99F4
- str r0, [r7, 0x1C]
-_080D99DC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D99E8: .4byte gAnimBankAttacker
-_080D99EC: .4byte gAnimBankTarget
-_080D99F0: .4byte sub_80D99F4
- thumb_func_end sub_80D9934
-
- thumb_func_start sub_80D99F4
-sub_80D99F4: @ 80D99F4
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x34]
- adds r1, r3
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r3, r1, 20
- strh r3, [r2, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _080D9A2E
- adds r1, r3, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _080D9A2E
- cmp r1, 0x78
- ble _080D9A34
-_080D9A2E:
- adds r0, r2, 0
- bl DestroyAnimSprite
-_080D9A34:
- pop {r0}
- bx r0
- thumb_func_end sub_80D99F4
-
- thumb_func_start sub_80D9A38
-sub_80D9A38: @ 80D9A38
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D9A6C @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D9A7C
- ldr r4, _080D9A70 @ =gBankAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r0, _080D9A74 @ =gAnimBankTarget
- ldrb r4, [r0]
- ldr r0, _080D9A78 @ =gAnimBankAttacker
- b _080D9A82
- .align 2, 0
-_080D9A6C: .4byte gBattleAnimArgs
-_080D9A70: .4byte gBankAttacker
-_080D9A74: .4byte gAnimBankTarget
-_080D9A78: .4byte gAnimBankAttacker
-_080D9A7C:
- ldr r0, _080D9AB4 @ =gAnimBankAttacker
- ldrb r4, [r0]
- ldr r0, _080D9AB8 @ =gAnimBankTarget
-_080D9A82:
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080D9ABC
- ldrb r2, [r5, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x8
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x47
- b _080D9AD6
- .align 2, 0
-_080D9AB4: .4byte gAnimBankAttacker
-_080D9AB8: .4byte gAnimBankTarget
-_080D9ABC:
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080D9ADC
- ldrb r2, [r5, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x18
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x57
-_080D9AD6:
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
-_080D9ADC:
- movs r0, 0x10
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- adds r0, r4, 0
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- adds r0, r4, 0
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080D9B1C @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData
- ldr r0, _080D9B20 @ =sub_8078BB8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9B1C: .4byte DestroyAnimSprite
-_080D9B20: .4byte sub_8078BB8
- thumb_func_end sub_80D9A38
-
- thumb_func_start sub_80D9B24
-sub_80D9B24: @ 80D9B24
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080D9B3A
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080D9B3A:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9B24
-
- thumb_func_start sub_80D9B48
-sub_80D9B48: @ 80D9B48
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _080D9BC4 @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r1, _080D9BC8 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1]
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x36]
- ldr r0, _080D9BCC @ =gAnimMoveTurn
- ldrb r6, [r0]
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080D9B92
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080D9B92:
- movs r0, 0x1
- ands r6, r0
- cmp r6, 0
- beq _080D9BA6
- ldrh r0, [r5, 0x32]
- negs r0, r0
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
-_080D9BA6:
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r5, 0x32]
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x34]
- strh r0, [r5, 0x26]
- ldr r0, _080D9BD0 @ =sub_80D9B24
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9BC4: .4byte gAnimBankTarget
-_080D9BC8: .4byte gBattleAnimArgs
-_080D9BCC: .4byte gAnimMoveTurn
-_080D9BD0: .4byte sub_80D9B24
- thumb_func_end sub_80D9B48
-
- thumb_func_start sub_80D9BD4
-sub_80D9BD4: @ 80D9BD4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D9BEC @ =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D9BF0
- adds r0, r4, 0
- movs r1, 0
- bl sub_80787B0
- b _080D9BF8
- .align 2, 0
-_080D9BEC: .4byte gBattleAnimArgs
-_080D9BF0:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8078764
-_080D9BF8:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080D9C0C
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- b _080D9C22
-_080D9C0C:
- ldr r0, _080D9C34 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080D9C22
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080D9C22:
- ldr r0, _080D9C38 @ =sub_8078600
- str r0, [r4, 0x1C]
- ldr r1, _080D9C3C @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9C34: .4byte gAnimBankAttacker
-_080D9C38: .4byte sub_8078600
-_080D9C3C: .4byte DestroyAnimSprite
- thumb_func_end sub_80D9BD4
-
- thumb_func_start sub_80D9C40
-sub_80D9C40: @ 80D9C40
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D9C7A
- ldrh r0, [r4, 0x30]
- adds r0, 0x28
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _080D9C7A
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080D9C7A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9C40
-
- thumb_func_start sub_80D9C80
-sub_80D9C80: @ 80D9C80
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080D9CB0 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080D9CB8
- cmp r0, 0x1
- bgt _080D9CD2
- cmp r0, 0
- bne _080D9CD2
- movs r0, 0
- bl sub_80789D4
- ldr r0, _080D9CB4 @ =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x18]
- b _080D9CCA
- .align 2, 0
-_080D9CB0: .4byte gTasks
-_080D9CB4: .4byte gBattleAnimArgs
-_080D9CB8:
- ldrh r0, [r4, 0x18]
- subs r0, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080D9CDE
-_080D9CCA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D9CDE
-_080D9CD2:
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r1, [r4, 0x1A]
- adds r0, r1
- strh r0, [r4, 0x1A]
-_080D9CDE:
- movs r2, 0xB0
- lsls r2, 4
- adds r0, r2, 0
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- strh r0, [r4, 0x1C]
- ldr r0, _080D9D0C @ =gAnimBankTarget
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080D9D14
- ldr r1, _080D9D10 @ =gBattle_BG3_X
- ldrh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- adds r7, r1, 0
- b _080D9D24
- .align 2, 0
-_080D9D0C: .4byte gAnimBankTarget
-_080D9D10: .4byte gBattle_BG3_X
-_080D9D14:
- ldr r2, _080D9D64 @ =gBattle_BG3_X
- ldrh r1, [r4, 0x1A]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- adds r7, r2, 0
-_080D9D24:
- ldr r3, _080D9D68 @ =gBattle_BG3_Y
- ldrh r2, [r4, 0x1C]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- movs r0, 0xFF
- ldrb r1, [r4, 0x1A]
- movs r5, 0
- strh r1, [r4, 0x1A]
- ands r0, r2
- strh r0, [r4, 0x1C]
- ldr r0, _080D9D6C @ =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080D9D5C
- strh r5, [r7]
- strh r5, [r3]
- movs r0, 0x1
- bl sub_80789D4
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080D9D5C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9D64: .4byte gBattle_BG3_X
-_080D9D68: .4byte gBattle_BG3_Y
-_080D9D6C: .4byte gBattleAnimArgs
- thumb_func_end sub_80D9C80
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/flying.s b/asm/flying.s
index ce3fb050b..1862e3218 100644
--- a/asm/flying.s
+++ b/asm/flying.s
@@ -174,7 +174,7 @@ sub_80DA16C: @ 80DA16C
push {r4-r6,lr}
adds r6, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _080DA1D8 @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -211,7 +211,7 @@ _080DA18C:
adds r0, r4
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldr r0, _080DA1E4 @ =sub_80785E4
str r0, [r6, 0x1C]
ldr r1, _080DA1E8 @ =sub_80DA1EC
@@ -232,7 +232,7 @@ _080DA1E8: .4byte sub_80DA1EC
sub_80DA1EC: @ 80DA1EC
push {r4,lr}
adds r4, r0, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _080DA200
@@ -331,7 +331,7 @@ _080DA2B0:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
_080DA2C2:
ldr r4, _080DA2F4 @ =gBattleAnimArgs
ldrh r0, [r4, 0x4]
@@ -342,7 +342,7 @@ _080DA2C2:
ldrh r3, [r5, 0x36]
adds r0, r3
strh r0, [r5, 0x36]
- ldr r0, _080DA2F8 @ =sub_8078B34
+ ldr r0, _080DA2F8 @ =StartTranslateAnimSpriteByDeltas
str r0, [r5, 0x1C]
ldr r1, _080DA2FC @ =DestroyAnimSprite
adds r0, r5, 0
@@ -356,7 +356,7 @@ _080DA2C2:
.align 2, 0
_080DA2F0: .4byte gAnimBankTarget
_080DA2F4: .4byte gBattleAnimArgs
-_080DA2F8: .4byte sub_8078B34
+_080DA2F8: .4byte StartTranslateAnimSpriteByDeltas
_080DA2FC: .4byte DestroyAnimSprite
thumb_func_end sub_80DA208
@@ -365,7 +365,7 @@ sub_80DA300: @ 80DA300
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r1, _080DA33C @ =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
@@ -483,7 +483,7 @@ _080DA3C2:
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldr r0, _080DA40C @ =sub_80DA410
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -503,7 +503,7 @@ sub_80DA410: @ 80DA410
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
ldrh r1, [r4, 0x34]
lsrs r0, r1, 8
cmp r0, 0xC8
@@ -1743,7 +1743,7 @@ sub_80DAD30: @ 80DAD30
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, _080DAD80 @ =sub_807941C
+ ldr r0, _080DAD80 @ =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -1751,7 +1751,7 @@ sub_80DAD30: @ 80DAD30
.align 2, 0
_080DAD78: .4byte gAnimBankTarget
_080DAD7C: .4byte gAnimBankAttacker
-_080DAD80: .4byte sub_807941C
+_080DAD80: .4byte TranslateAnimSpriteToTargetMonLocation
thumb_func_end sub_80DAD30
thumb_func_start sub_80DAD84
@@ -2086,7 +2086,7 @@ sub_80DB000: @ 80DB000
bne _080DB01C
adds r0, r5, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080DB024
.align 2, 0
_080DB018: .4byte gBattleAnimArgs
@@ -2291,7 +2291,7 @@ sub_80DB194: @ 80DB194
_080DB1A6:
adds r0, r4, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
movs r0, 0
bl GetAnimBankSpriteId
ldr r2, _080DB1D4 @ =gSprites
@@ -2414,7 +2414,7 @@ sub_80DB288: @ 80DB288
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r1, _080DB2C4 @ =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
@@ -2934,7 +2934,7 @@ sub_80DB5E4: @ 80DB5E4
asrs r5, 16
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80790F0
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
diff --git a/asm/ghost.s b/asm/ghost.s
index 2934f6dbd..b5620910b 100644
--- a/asm/ghost.s
+++ b/asm/ghost.s
@@ -12,7 +12,7 @@ sub_80DDB6C: @ 80DDB6C
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _080DDBC8 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E]
@@ -63,7 +63,7 @@ sub_80DDBD8: @ 80DDBD8
adds r4, r0, 0
bl sub_80DDCC8
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _080DDBF8
@@ -123,7 +123,7 @@ sub_80DDC4C: @ 80DDC4C
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
movs r1, 0x38
ldrsh r0, [r4, r1]
movs r1, 0xA
@@ -2539,7 +2539,7 @@ sub_80DEF3C: @ 80DEF3C
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _080DEF68 @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -2627,7 +2627,7 @@ _080DEFAA:
bne _080DF00C
movs r0, 0x1E
strh r0, [r3, 0x2E]
- ldr r0, _080DF004 @ =sub_80782D8
+ ldr r0, _080DF004 @ =WaitAnimForDuration
str r0, [r3, 0x1C]
ldr r1, _080DF008 @ =sub_80DF018
adds r0, r3, 0
@@ -2636,7 +2636,7 @@ _080DEFAA:
.align 2, 0
_080DEFFC: .4byte 0x000003ff
_080DF000: .4byte 0xfffffc00
-_080DF004: .4byte sub_80782D8
+_080DF004: .4byte WaitAnimForDuration
_080DF008: .4byte sub_80DF018
_080DF00C:
movs r0, 0x28
@@ -3257,7 +3257,7 @@ sub_80DF49C: @ 80DF49C
movs r2, 0x4
orrs r1, r2
strb r1, [r3]
- ldr r2, _080DF4E0 @ =gObjectBankIDs
+ ldr r2, _080DF4E0 @ =gBankSpriteIds
ldr r1, _080DF4E4 @ =gAnimBankAttacker
ldrb r1, [r1]
adds r1, r2
@@ -3286,7 +3286,7 @@ sub_80DF49C: @ 80DF49C
strh r1, [r0, 0x22]
bx lr
.align 2, 0
-_080DF4E0: .4byte gObjectBankIDs
+_080DF4E0: .4byte gBankSpriteIds
_080DF4E4: .4byte gAnimBankAttacker
_080DF4E8: .4byte gBattleAnimArgs
_080DF4EC: .4byte sub_80DF4F4
diff --git a/asm/ground.s b/asm/ground.s
index 3d4b69a9f..ac3f909b5 100644
--- a/asm/ground.s
+++ b/asm/ground.s
@@ -42,7 +42,7 @@ sub_80E0F1C: @ 80E0F1C
ldr r0, _080E0F7C @ =0x0000ffd8
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
ldr r0, _080E0F80 @ =sub_80E0F84
str r0, [r4, 0x1C]
pop {r4,r5}
@@ -59,7 +59,7 @@ _080E0F80: .4byte sub_80E0F84
sub_80E0F84: @ 80E0F84
push {r4,r5,lr}
adds r5, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080E0FD8
@@ -92,7 +92,7 @@ sub_80E0F84: @ 80E0F84
movs r0, 0x28
strh r0, [r5, 0x38]
adds r0, r5, 0
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
ldr r0, _080E0FE4 @ =sub_80E0FE8
str r0, [r5, 0x1C]
_080E0FD8:
@@ -108,7 +108,7 @@ _080E0FE4: .4byte sub_80E0FE8
sub_80E0FE8: @ 80E0FE8
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080E0FFC
@@ -157,7 +157,7 @@ _080E1024:
ldrh r4, [r4, 0x6]
adds r0, r4
strh r0, [r6, 0x36]
- ldr r0, _080E1070 @ =sub_8078B34
+ ldr r0, _080E1070 @ =StartTranslateAnimSpriteByDeltas
str r0, [r6, 0x1C]
ldr r1, _080E1074 @ =DestroyAnimSprite
adds r0, r6, 0
@@ -169,7 +169,7 @@ _080E1024:
_080E1064: .4byte gAnimBankAttacker
_080E1068: .4byte gBattleAnimArgs
_080E106C: .4byte gAnimBankTarget
-_080E1070: .4byte sub_8078B34
+_080E1070: .4byte StartTranslateAnimSpriteByDeltas
_080E1074: .4byte DestroyAnimSprite
thumb_func_end sub_80E1004
@@ -180,7 +180,7 @@ sub_80E1078: @ 80E1078
push {r7}
adds r6, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r4, _080E10F8 @ =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
@@ -224,7 +224,7 @@ _080E10D0:
strh r0, [r6, 0x32]
adds r0, r7, r4
strh r0, [r6, 0x36]
- ldr r0, _080E1100 @ =sub_8078B34
+ ldr r0, _080E1100 @ =StartTranslateAnimSpriteByDeltas
str r0, [r6, 0x1C]
ldr r1, _080E1104 @ =move_anim_8074EE0
adds r0, r6, 0
@@ -237,7 +237,7 @@ _080E10D0:
.align 2, 0
_080E10F8: .4byte gAnimBankTarget
_080E10FC: .4byte gBattleAnimArgs
-_080E1100: .4byte sub_8078B34
+_080E1100: .4byte StartTranslateAnimSpriteByDeltas
_080E1104: .4byte move_anim_8074EE0
thumb_func_end sub_80E1078
@@ -1105,7 +1105,7 @@ _080E1762:
ldrh r0, [r7, 0x8]
strh r0, [r5, 0x38]
adds r0, r5, 0
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
ldr r0, _080E17AC @ =sub_80E17B0
str r0, [r5, 0x1C]
pop {r4-r7}
@@ -1120,7 +1120,7 @@ _080E17AC: .4byte sub_80E17B0
sub_80E17B0: @ 80E17B0
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080E17C4
@@ -1188,7 +1188,7 @@ _080E17EA:
bl StoreSpriteCallbackInData
ldrh r0, [r4, 0x4]
strh r0, [r6, 0x2E]
- ldr r0, _080E1860 @ =sub_80782D8
+ ldr r0, _080E1860 @ =WaitAnimForDuration
str r0, [r6, 0x1C]
pop {r4-r6}
pop {r0}
@@ -1200,7 +1200,7 @@ _080E1850: .4byte gBattleAnimArgs
_080E1854: .4byte 0x000003ff
_080E1858: .4byte 0xfffffc00
_080E185C: .4byte DestroyAnimSprite
-_080E1860: .4byte sub_80782D8
+_080E1860: .4byte WaitAnimForDuration
thumb_func_end sub_80E17CC
thumb_func_start sub_80E1864
@@ -1270,7 +1270,7 @@ _080E18CE:
adds r1, r4, 0
adds r1, 0x8
adds r1, r0
- ldr r0, _080E1904 @ =gObjectBankIDs
+ ldr r0, _080E1904 @ =gBankSpriteIds
adds r0, r5, r0
ldrb r0, [r0]
strh r0, [r1]
@@ -1285,7 +1285,7 @@ _080E18F8:
bls _080E18CE
b _080E1924
.align 2, 0
-_080E1904: .4byte gObjectBankIDs
+_080E1904: .4byte gBankSpriteIds
_080E1908:
ldrb r0, [r6]
bl GetAnimBankSpriteId
diff --git a/asm/ice.s b/asm/ice.s
index 032da59c3..51140d998 100644
--- a/asm/ice.s
+++ b/asm/ice.s
@@ -325,7 +325,7 @@ sub_80D792C: @ 80D792C
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _080D7960 @ =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x2
@@ -371,7 +371,7 @@ _080D7976:
ldr r1, _080D79AC @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData
- ldr r0, _080D79B0 @ =sub_8078B34
+ ldr r0, _080D79B0 @ =StartTranslateAnimSpriteByDeltas
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
@@ -380,7 +380,7 @@ _080D7976:
_080D79A4: .4byte gBattleAnimArgs
_080D79A8: .4byte gAnimBankTarget
_080D79AC: .4byte DestroyAnimSprite
-_080D79B0: .4byte sub_8078B34
+_080D79B0: .4byte StartTranslateAnimSpriteByDeltas
thumb_func_end sub_80D792C
thumb_func_start sub_80D79B4
@@ -406,7 +406,7 @@ _080D79D0:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldr r0, _080D7A1C @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -480,7 +480,7 @@ sub_80D7A64: @ 80D7A64
sub sp, 0x10
adds r5, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r6, _080D7AAC @ =gBattleAnimArgs
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
@@ -519,7 +519,7 @@ _080D7AB4:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
_080D7AC6:
ldr r0, _080D7AE4 @ =gAnimBankAttacker
ldrb r0, [r0]
@@ -795,7 +795,7 @@ sub_80D7CD4: @ 80D7CD4
sub sp, 0x10
adds r5, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r1, _080D7D18 @ =gBattleAnimArgs
ldrh r0, [r1, 0x8]
strh r0, [r5, 0x2E]
@@ -832,7 +832,7 @@ _080D7D20:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
_080D7D32:
ldr r0, _080D7D54 @ =gAnimBankAttacker
ldrb r0, [r0]
@@ -1036,7 +1036,7 @@ _080D7EAC:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldr r0, _080D7EF0 @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -1094,7 +1094,7 @@ sub_80D7F10: @ 80D7F10
bne _080D7F34
adds r0, r5, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080D7F72
.align 2, 0
_080D7F30: .4byte gBattleAnimArgs
@@ -1106,7 +1106,7 @@ _080D7F34:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -1152,7 +1152,7 @@ _080D7F92:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -1221,7 +1221,7 @@ _080D800C:
adds r0, r1
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
movs r0, 0x40
strh r0, [r5, 0x38]
ldr r1, _080D8044 @ =sub_80D8048
@@ -1241,7 +1241,7 @@ _080D8044: .4byte sub_80D8048
sub_80D8048: @ 80D8048
push {r4,lr}
adds r4, r0, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
bne _080D80D2
@@ -1696,14 +1696,14 @@ sub_80D83E0: @ 80D83E0
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, _080D8410 @ =sub_807941C
+ ldr r0, _080D8410 @ =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080D840C: .4byte gAnimBankAttacker
-_080D8410: .4byte sub_807941C
+_080D8410: .4byte TranslateAnimSpriteToTargetMonLocation
thumb_func_end sub_80D83E0
thumb_func_start sub_80D8414
@@ -2227,7 +2227,7 @@ _080D8824:
strb r0, [r1]
_080D8858:
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldr r0, _080D8870 @ =sub_80D8874
str r0, [r5, 0x1C]
pop {r3}
@@ -2263,7 +2263,7 @@ _080D8894:
b _080D8AD0
_080D8896:
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
ldr r1, _080D88C0 @ =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -2361,13 +2361,13 @@ _080D893A:
ands r0, r1
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
b _080D8AD0
.align 2, 0
_080D8964: .4byte gSineTable
_080D8968:
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
ldr r1, _080D89C8 @ =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -2519,7 +2519,7 @@ _080D8A7A:
_080D8A90: .4byte 0x0000fff0
_080D8A94:
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _080D8AD0
@@ -3026,7 +3026,7 @@ _080D8E6A:
bl StartSpriteAffineAnim
adds r0, r5, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r6, _080D8ED0 @ =gBattleAnimArgs
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
@@ -3060,7 +3060,7 @@ _080D8E92:
ldrh r0, [r6, 0xA]
strh r0, [r5, 0x38]
adds r0, r5, 0
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
ldr r0, _080D8EDC @ =sub_80D8EE0
str r0, [r5, 0x1C]
pop {r4-r6}
@@ -3078,7 +3078,7 @@ _080D8EDC: .4byte sub_80D8EE0
sub_80D8EE0: @ 80D8EE0
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080D8F02
diff --git a/asm/nakamura_debug_menu.s b/asm/nakamura_debug_menu.s
new file mode 100644
index 000000000..21092fe4b
--- /dev/null
+++ b/asm/nakamura_debug_menu.s
@@ -0,0 +1,4686 @@
+.if DEBUG
+
+ .include "constants/gba_constants.inc"
+ .include "include/macros.inc"
+
+ .text
+
+ thumb_func_start debug_sub_815F1B8
+debug_sub_815F1B8:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0xe
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._1 @ _843E3DC
+ mov r0, #0x10
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xe
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0xf
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ add sp, sp, #0x8
+ pop {r0}
+ bx r0
+._2:
+ .align 2, 0
+._1:
+ .word _843E3DC
+
+ thumb_func_end debug_sub_815F1B8
+
+ thumb_func_start InitNakamuraDebugMenu
+InitNakamuraDebugMenu:
+ push {lr}
+ bl debug_sub_815F1B8
+ ldr r1, ._3 @ gMenuCallback
+ ldr r0, ._3 + 4 @ debug_sub_815F214
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._4:
+ .align 2, 0
+._3:
+ .word gMenuCallback
+ .word debug_sub_815F214+1
+
+ thumb_func_end InitNakamuraDebugMenu
+
+ thumb_func_start debug_sub_815F214
+debug_sub_815F214:
+ push {r4, lr}
+ ldr r4, ._9 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._5 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ bl Menu_MoveCursor
+._5:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._6 @cond_branch
+ mov r0, #0x1
+ bl Menu_MoveCursor
+._6:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._7 @cond_branch
+ ldr r4, ._9 + 4 @ _843E3DC
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x15
+ add r4, r4, #0x4
+ add r0, r0, r4
+ ldr r4, [r0]
+ bl Menu_DestroyCursor
+ bl _call_via_r4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._12
+._10:
+ .align 2, 0
+._9:
+ .word gMain
+ .word _843E3DC
+._7:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._11 @cond_branch
+ mov r0, #0x0
+ b ._12
+._11:
+ bl CloseMenu
+ mov r0, #0x1
+._12:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_815F214
+
+ thumb_func_start debug_sub_815F284
+debug_sub_815F284:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r0, ._14 @ gPaletteFade
+ ldrb r1, [r0, #0x7]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._13 @cond_branch
+ bl debug_sub_81381B4
+ mov r0, #0x5
+ mov r1, #0x0
+ bl OpenPartyMenu
+ add r0, r4, #0
+ bl DestroyTask
+._13:
+ pop {r4}
+ pop {r0}
+ bx r0
+._15:
+ .align 2, 0
+._14:
+ .word gPaletteFade
+
+ thumb_func_end debug_sub_815F284
+
+ thumb_func_start debug_sub_815F2B4
+debug_sub_815F2B4:
+ push {lr}
+ add sp, sp, #0xfffffffc
+ bl CloseMenu
+ bl Menu_EraseScreen
+ ldr r1, ._16 @ gMain
+ ldr r0, ._16 + 4 @ sub_805469C
+ str r0, [r1, #0x8]
+ ldr r0, ._16 + 8 @ debug_sub_815F284
+ mov r1, #0x0
+ bl CreateTask
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x0
+ str r1, [sp]
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ mov r0, #0x1
+ add sp, sp, #0x4
+ pop {r1}
+ bx r1
+._17:
+ .align 2, 0
+._16:
+ .word gMain
+ .word sub_805469C+1
+ .word debug_sub_815F284+1
+
+ thumb_func_end debug_sub_815F2B4
+
+ thumb_func_start debug_sub_815F2F4
+debug_sub_815F2F4:
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6, r7}
+ add sp, sp, #0xfffffffc
+ bl CloseMenu
+ mov r7, #0x1
+._34:
+ lsl r1, r7, #0x2
+ add r0, r1, r7
+ lsl r2, r0, #0x5
+ ldr r3, ._24 @ gSaveBlock1
+ add r0, r2, r3
+ ldr r5, ._24 + 4 @ 0x1a08
+ add r0, r0, r5
+ ldrb r0, [r0]
+ mov r9, r1
+ add r1, r7, #1
+ str r1, [sp]
+ cmp r0, #0
+ beq ._18 @cond_branch
+ b ._19
+._18:
+ mov r5, #0x0
+ ldr r6, ._24 + 8 @ gSaveBlock2
+ add r4, r7, #0
+ sub r4, r4, #0x46
+ ldr r3, ._24 + 12 @ gSaveBlock1
+._21:
+ add r1, r5, r2
+ add r1, r1, r3
+ add r0, r5, r6
+ ldrb r0, [r0]
+ strb r0, [r1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0xff
+ beq ._20 @cond_branch
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x6
+ bls ._21 @cond_branch
+._20:
+ cmp r5, #0x7
+ bne ._22 @cond_branch
+ add r0, r2, #6
+ b ._23
+._25:
+ .align 2, 0
+._24:
+ .word gSaveBlock1
+ .word 0x1a08
+ .word gSaveBlock2
+ .word gSaveBlock1+0x1a0a
+._22:
+ add r0, r5, r2
+._23:
+ add r0, r0, r3
+ strb r4, [r0]
+ ldr r1, ._35 @ gSaveBlock1
+ ldr r2, ._35 + 4 @ 0x1a08
+ add r2, r2, r1
+ mov sl, r2
+ mov r3, r9
+ add r0, r3, r7
+ lsl r6, r0, #0x5
+ add r1, r6, r1
+ ldr r5, ._35 + 4 @ 0x1a08
+ add r5, r5, r1
+ mov r8, r5
+._30:
+ bl Random
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x4b
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0xe
+ ldr r1, ._35 + 8 @ _843E424
+ add r0, r0, r1
+ ldrb r0, [r0]
+ mov r2, r8
+ strb r0, [r2]
+ mov r5, #0x0
+ cmp r5, r7
+ bcs ._28 @cond_branch
+ mov r3, sl
+ ldrb r3, [r3]
+ cmp r0, r3
+ beq ._28 @cond_branch
+ ldr r4, ._35 @ gSaveBlock1
+ add r0, r6, r4
+ ldr r2, ._35 + 4 @ 0x1a08
+ add r3, r0, r2
+._29:
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r7
+ bcs ._28 @cond_branch
+ lsl r0, r5, #0x2
+ add r0, r0, r5
+ lsl r0, r0, #0x5
+ add r0, r0, r4
+ add r0, r0, r2
+ ldrb r1, [r3]
+ ldrb r0, [r0]
+ cmp r1, r0
+ bne ._29 @cond_branch
+._28:
+ cmp r5, r7
+ bne ._30 @cond_branch
+ bl Random
+ mov r5, r9
+ add r4, r5, r7
+ lsl r4, r4, #0x5
+ ldr r1, ._35 @ gSaveBlock1
+ add r3, r4, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x1
+ ldr r2, ._35 + 12 @ 0x1a09
+ add r3, r3, r2
+ and r0, r0, r1
+ lsl r0, r0, #0x4
+ ldrb r1, [r3]
+ mov r5, #0x11
+ neg r5, r5
+ add r2, r5, #0
+ and r1, r1, r2
+ orr r1, r1, r0
+ strb r1, [r3]
+ mov r5, #0x0
+ ldr r6, ._35 + 16 @ gSaveBlock1
+._31:
+ bl Random
+ add r1, r5, r4
+ add r1, r1, r6
+ strb r0, [r1]
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x3
+ bls ._31 @cond_branch
+ mov r5, #0x0
+ mov r1, r9
+ add r0, r1, r7
+ lsl r4, r0, #0x5
+ ldr r3, ._35 + 20 @ gSaveBlock1
+ mov r2, #0x0
+ add r6, r3, #0
+ add r6, r6, #0x10
+._32:
+ add r1, r5, r4
+ add r0, r1, r3
+ strb r2, [r0]
+ add r1, r1, r6
+ strb r2, [r1]
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0xf
+ bls ._32 @cond_branch
+ add r0, r7, #0
+ bl unref_sub_80BCD7C
+._19:
+ ldr r2, [sp]
+ lsl r0, r2, #0x18
+ lsr r7, r0, #0x18
+ cmp r7, #0x13
+ bhi ._33 @cond_branch
+ b ._34
+._33:
+ mov r0, #0x1
+ add sp, sp, #0x4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._36:
+ .align 2, 0
+._35:
+ .word gSaveBlock1
+ .word 0x1a08
+ .word _843E424
+ .word 0x1a09
+ .word gSaveBlock1+0x1a11
+ .word gSaveBlock1+0x1a1a
+
+ thumb_func_end debug_sub_815F2F4
+
+ thumb_func_start debug_sub_815F470
+debug_sub_815F470:
+ push {r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ add r7, r1, #0
+ mov ip, r2
+ ldr r2, ._39 @ gSaveBlock1
+ ldr r0, ._39 + 4 @ _nakamuraData0
+ ldrb r1, [r0]
+ lsl r0, r1, #0x2
+ add r0, r0, r1
+ lsl r0, r0, #0x5
+ add r0, r0, r2
+ ldr r1, ._39 + 8 @ 0x1a08
+ add r0, r0, r1
+ ldrb r4, [r0]
+ mov r2, #0x0
+ ldr r3, ._39 + 12 @ _843E424
+ add r5, r3, #0
+._41:
+ lsl r1, r2, #0x2
+ add r0, r1, r5
+ ldrb r0, [r0]
+ cmp r0, r4
+ bne ._37 @cond_branch
+ add r0, r1, #1
+ add r0, r0, r3
+ ldrb r0, [r0]
+ strb r0, [r6]
+ add r0, r1, #2
+ add r0, r0, r3
+ ldrb r0, [r0]
+ strb r0, [r7]
+ add r0, r1, #3
+ add r0, r0, r3
+ ldrb r0, [r0]
+ mov r1, ip
+ strb r0, [r1]
+ b ._38
+._40:
+ .align 2, 0
+._39:
+ .word gSaveBlock1
+ .word _nakamuraData0
+ .word 0x1a08
+ .word _843E424
+._37:
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x4a
+ bls ._41 @cond_branch
+._38:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_815F470
+
+ thumb_func_start debug_sub_815F4D8
+debug_sub_815F4D8:
+ push {r4, r5, r6, r7, lr}
+ add sp, sp, #0xfffffffc
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0xa
+ mov r3, #0xa
+ bl Menu_BlankWindowRect
+ ldr r6, ._43 @ gStringVar1
+ ldr r7, ._43 + 4 @ _nakamuraData0
+ ldrb r1, [r7]
+ add r0, r6, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r2, ._43 + 8 @ gSaveBlock1
+ ldrb r1, [r7]
+ lsl r0, r1, #0x2
+ add r0, r0, r1
+ lsl r0, r0, #0x5
+ add r0, r0, r2
+ ldr r1, ._43 + 12 @ 0x1a08
+ add r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._42 @cond_branch
+ mov r4, sp
+ add r4, r4, #0x1
+ mov r5, sp
+ add r5, r5, #0x2
+ mov r0, sp
+ add r1, r4, #0
+ add r2, r5, #0
+ bl debug_sub_815F470
+ ldrb r1, [r7]
+ add r0, r6, #0
+ bl sub_80BC190
+ add r0, r6, #0
+ mov r1, #0x1
+ mov r2, #0x3
+ bl Menu_PrintText
+ ldr r0, ._43 + 16 @ Str_843E550
+ mov r1, #0x1
+ mov r2, #0x5
+ bl Menu_PrintText
+ mov r0, sp
+ ldrb r1, [r0]
+ add r0, r6, #0
+ mov r2, #0x0
+ mov r3, #0x3
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0x2
+ mov r2, #0x5
+ bl Menu_PrintText
+ ldr r0, ._43 + 20 @ Str_843E552
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldrb r1, [r4]
+ add r0, r6, #0
+ mov r2, #0x0
+ mov r3, #0x3
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0x3
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldr r0, ._43 + 24 @ Str_843E554
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintText
+ ldrb r1, [r5]
+ add r0, r6, #0
+ mov r2, #0x0
+ mov r3, #0x3
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0x3
+ mov r2, #0x9
+ bl Menu_PrintText
+._42:
+ add sp, sp, #0x4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._44:
+ .align 2, 0
+._43:
+ .word gStringVar1
+ .word _nakamuraData0
+ .word gSaveBlock1
+ .word 0x1a08
+ .word Str_843E550
+ .word Str_843E552
+ .word Str_843E554
+
+ thumb_func_end debug_sub_815F4D8
+
+ thumb_func_start debug_sub_815F5C4
+debug_sub_815F5C4:
+ push {lr}
+ ldr r0, ._48 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x20
+ and r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ cmp r2, #0
+ beq ._45 @cond_branch
+ ldr r1, ._48 + 4 @ _nakamuraData0
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._46 @cond_branch
+ mov r0, #0x13
+ b ._50
+._49:
+ .align 2, 0
+._48:
+ .word gMain
+ .word _nakamuraData0
+._46:
+ sub r0, r0, #0x1
+ b ._50
+._45:
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._51 @cond_branch
+ ldr r1, ._54 @ _nakamuraData0
+ ldrb r0, [r1]
+ cmp r0, #0x13
+ bne ._52 @cond_branch
+ strb r2, [r1]
+ b ._53
+._55:
+ .align 2, 0
+._54:
+ .word _nakamuraData0
+._52:
+ add r0, r0, #0x1
+._50:
+ strb r0, [r1]
+._53:
+ bl debug_sub_815F4D8
+ mov r0, #0x0
+ b ._58
+._51:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._57 @cond_branch
+ mov r0, #0x0
+ b ._58
+._57:
+ bl CloseMenu
+ mov r0, #0x1
+._58:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_815F5C4
+
+ thumb_func_start debug_sub_815F62C
+debug_sub_815F62C:
+ push {lr}
+ ldr r1, ._59 @ _nakamuraData0
+ mov r0, #0x0
+ strb r0, [r1]
+ ldr r1, ._59 + 4 @ gMenuCallback
+ ldr r0, ._59 + 8 @ debug_sub_815F5C4
+ str r0, [r1]
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xb
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ bl debug_sub_815F4D8
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._60:
+ .align 2, 0
+._59:
+ .word _nakamuraData0
+ .word gMenuCallback
+ .word debug_sub_815F5C4+1
+
+ thumb_func_end debug_sub_815F62C
+
+ thumb_func_start debug_sub_815F668
+debug_sub_815F668:
+ push {r4, r5, r6, lr}
+ ldr r0, ._61 @ _nakamuraData0
+ ldrb r0, [r0]
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x5
+ ldr r0, ._61 + 4 @ gSaveBlock1
+ add r1, r1, r0
+ ldrb r4, [r1, #0x3]
+ lsl r4, r4, #0x18
+ ldrb r0, [r1, #0x2]
+ lsl r0, r0, #0x10
+ orr r4, r4, r0
+ ldrb r0, [r1, #0x1]
+ lsl r0, r0, #0x8
+ orr r4, r4, r0
+ ldrb r0, [r1]
+ orr r4, r4, r0
+ ldr r5, ._61 + 8 @ gStringVar1
+ ldr r6, ._61 + 12 @ 0x186a0
+ add r0, r4, #0
+ add r1, r6, #0
+ bl __udivsi3
+ add r1, r0, #0
+ add r0, r5, #0
+ mov r2, #0x2
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r5, #0
+ mov r1, #0x2
+ mov r2, #0x7
+ bl Menu_PrintText
+ add r0, r4, #0
+ add r1, r6, #0
+ bl __umodsi3
+ add r1, r0, #0
+ add r0, r5, #0
+ mov r2, #0x2
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r5, #0
+ mov r1, #0x7
+ mov r2, #0x7
+ bl Menu_PrintText
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._62:
+ .align 2, 0
+._61:
+ .word _nakamuraData0
+ .word gSaveBlock1+0x1a11
+ .word gStringVar1
+ .word 0x186a0
+
+ thumb_func_end debug_sub_815F668
+
+ thumb_func_start debug_sub_815F6E4
+debug_sub_815F6E4:
+ push {r4, lr}
+ mov r0, #0x2
+ mov r1, #0x3
+ mov r2, #0xb
+ mov r3, #0x4
+ bl Menu_BlankWindowRect
+ ldr r4, ._63 @ gStringVar1
+ ldr r0, ._63 + 4 @ _nakamuraData0
+ ldrb r0, [r0]
+ lsl r1, r0, #0x2
+ add r1, r1, r0
+ lsl r1, r1, #0x5
+ ldr r0, ._63 + 8 @ gSaveBlock1
+ add r1, r1, r0
+ add r0, r4, #0
+ mov r2, #0x7
+ bl StringCopyN
+ mov r1, #0xff
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #0x2
+ mov r2, #0x3
+ bl Menu_PrintText
+ pop {r4}
+ pop {r0}
+ bx r0
+._64:
+ .align 2, 0
+._63:
+ .word gStringVar1
+ .word _nakamuraData0
+ .word gSaveBlock1+0x1a0a
+
+ thumb_func_end debug_sub_815F6E4
+
+ thumb_func_start debug_sub_815F72C
+debug_sub_815F72C:
+ push {r4, r5, lr}
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0xb
+ mov r3, #0xa
+ bl Menu_BlankWindowRect
+ ldr r4, ._66 @ gStringVar1
+ ldr r5, ._66 + 4 @ _nakamuraData0
+ ldrb r1, [r5]
+ add r0, r4, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x2
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r2, ._66 + 8 @ gSaveBlock1
+ ldrb r1, [r5]
+ lsl r0, r1, #0x2
+ add r0, r0, r1
+ lsl r0, r0, #0x5
+ add r0, r0, r2
+ ldr r1, ._66 + 12 @ 0x1a08
+ add r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._65 @cond_branch
+ bl debug_sub_815F6E4
+ bl debug_sub_815F668
+._65:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._67:
+ .align 2, 0
+._66:
+ .word gStringVar1
+ .word _nakamuraData0
+ .word gSaveBlock1
+ .word 0x1a08
+
+ thumb_func_end debug_sub_815F72C
+
+ thumb_func_start debug_sub_815F788
+debug_sub_815F788:
+ push {lr}
+ mov r0, #0x2
+ mov r1, #0x5
+ mov r2, #0xb
+ mov r3, #0x6
+ bl Menu_BlankWindowRect
+ ldr r0, ._68 @ Str_843E574
+ ldr r1, ._68 + 4 @ _nakamuraData2
+ ldrb r1, [r1]
+ add r1, r1, #0x2
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ mov r2, #0x5
+ bl Menu_PrintText
+ pop {r0}
+ bx r0
+._69:
+ .align 2, 0
+._68:
+ .word Str_843E574
+ .word _nakamuraData2
+
+ thumb_func_end debug_sub_815F788
+
+ thumb_func_start debug_sub_815F7B4
+debug_sub_815F7B4:
+ push {lr}
+ ldr r0, ._72 @ _nakamuraData1
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._70 @cond_branch
+ mov r0, #0xb
+ mov r1, #0x1
+ mov r2, #0xb
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ b ._71
+._73:
+ .align 2, 0
+._72:
+ .word _nakamuraData1
+._70:
+ ldr r0, ._74 @ _nakamuraData3
+ ldrb r0, [r0]
+ lsl r0, r0, #0x1
+ ldr r1, ._74 + 4 @ Str_843E576
+ add r0, r0, r1
+ mov r1, #0xb
+ mov r2, #0x1
+ bl Menu_PrintText
+._71:
+ pop {r0}
+ bx r0
+._75:
+ .align 2, 0
+._74:
+ .word _nakamuraData3
+ .word Str_843E576
+
+ thumb_func_end debug_sub_815F7B4
+
+ thumb_func_start debug_sub_815F7F0
+debug_sub_815F7F0:
+ push {r4, r5, lr}
+ ldr r1, ._78 @ _nakamuraData0
+ ldrb r2, [r1]
+ lsl r1, r2, #0x2
+ add r1, r1, r2
+ lsl r1, r1, #0x5
+ ldr r2, ._78 + 4 @ gSaveBlock1
+ add r3, r1, r2
+ ldrb r1, [r3, #0x3]
+ lsl r2, r1, #0x18
+ ldrb r1, [r3, #0x2]
+ lsl r1, r1, #0x10
+ orr r2, r2, r1
+ ldrb r1, [r3, #0x1]
+ lsl r1, r1, #0x8
+ orr r2, r2, r1
+ ldrb r1, [r3]
+ orr r2, r2, r1
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r4, #0x9
+ ldr r0, ._78 + 8 @ _nakamuraData2
+ ldrb r0, [r0]
+ cmp r4, r0
+ ble ._76 @cond_branch
+ add r5, r0, #0
+._77:
+ lsl r0, r1, #0x2
+ add r0, r0, r1
+ lsl r1, r0, #0x1
+ lsl r0, r4, #0x18
+ mov r4, #0xff
+ lsl r4, r4, #0x18
+ add r0, r0, r4
+ lsr r4, r0, #0x18
+ asr r0, r0, #0x18
+ cmp r0, r5
+ bgt ._77 @cond_branch
+._76:
+ add r2, r2, r1
+ lsr r0, r2, #0x18
+ strb r0, [r3, #0x3]
+ mov r0, #0xff
+ lsl r0, r0, #0x10
+ and r0, r0, r2
+ lsr r0, r0, #0x10
+ strb r0, [r3, #0x2]
+ mov r0, #0xff
+ lsl r0, r0, #0x8
+ and r0, r0, r2
+ lsr r0, r0, #0x8
+ strb r0, [r3, #0x1]
+ strb r2, [r3]
+ bl debug_sub_815F668
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._79:
+ .align 2, 0
+._78:
+ .word _nakamuraData0
+ .word gSaveBlock1+0x1a11
+ .word _nakamuraData2
+
+ thumb_func_end debug_sub_815F7F0
+
+ thumb_func_start debug_sub_815F86C
+debug_sub_815F86C:
+ push {r4, r5, r6, lr}
+ lsl r0, r0, #0x18
+ ldr r1, ._84 @ _nakamuraData0
+ ldrb r2, [r1]
+ lsl r1, r2, #0x2
+ add r1, r1, r2
+ lsl r1, r1, #0x5
+ ldr r2, ._84 + 4 @ gSaveBlock1
+ add r5, r1, r2
+ mov r2, #0x0
+ mov r3, #0x0
+ lsr r6, r0, #0x18
+ asr r0, r0, #0x18
+ cmp r0, #0x64
+ bne ._80 @cond_branch
+ ldr r0, ._84 + 8 @ _nakamuraData2
+ ldrb r1, [r0]
+ cmp r1, #0x6
+ bhi ._100 @cond_branch
+ mov r2, #0xff
+._82:
+ add r0, r5, r1
+ strb r2, [r0]
+ add r0, r1, #1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ cmp r1, #0x6
+ bls ._82 @cond_branch
+ b ._100
+._85:
+ .align 2, 0
+._84:
+ .word _nakamuraData0
+ .word gSaveBlock1+0x1a0a
+ .word _nakamuraData2
+._80:
+ ldr r0, ._87 @ _nakamuraData3
+ ldrb r0, [r0]
+ cmp r0, #0x4
+ bhi ._98 @cond_branch
+ lsl r0, r0, #0x2
+ ldr r1, ._87 + 4 @
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._88:
+ .align 2, 0
+._87:
+ .word _nakamuraData3
+ .word ._89
+._89:
+ .word ._90
+ .word ._91
+ .word ._92
+ .word ._93
+ .word ._94
+._90:
+ mov r3, #0x1
+ mov r2, #0x50
+ b ._98
+._91:
+ mov r3, #0x51
+ mov r2, #0xa0
+ b ._98
+._92:
+ mov r3, #0xbb
+ mov r2, #0xd4
+ b ._98
+._93:
+ mov r3, #0xd5
+ mov r2, #0xee
+ b ._98
+._94:
+ mov r3, #0xa1
+ mov r2, #0xaa
+._98:
+ ldr r4, ._101 @ _nakamuraData2
+ ldrb r1, [r4]
+ add r1, r5, r1
+ ldrb r0, [r1]
+ add r0, r0, r6
+ strb r0, [r1]
+ ldrb r0, [r4]
+ add r1, r5, r0
+ ldrb r0, [r1]
+ cmp r0, r3
+ bcs ._99 @cond_branch
+ strb r2, [r1]
+._99:
+ ldrb r0, [r4]
+ add r1, r5, r0
+ ldrb r0, [r1]
+ cmp r0, r2
+ bls ._100 @cond_branch
+ strb r3, [r1]
+._100:
+ bl debug_sub_815F6E4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._102:
+ .align 2, 0
+._101:
+ .word _nakamuraData2
+
+ thumb_func_end debug_sub_815F86C
+
+ thumb_func_start debug_sub_815F930
+debug_sub_815F930:
+ push {r4, r5, lr}
+ ldr r0, ._107 @ _nakamuraData1
+ ldrb r2, [r0]
+ mov r4, #0xa
+ cmp r2, #0
+ bne ._103 @cond_branch
+ mov r4, #0x7
+._103:
+ ldr r5, ._107 + 4 @ gMain
+ ldrh r1, [r5, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._104 @cond_branch
+ cmp r2, #0
+ beq ._105 @cond_branch
+ mov r0, #0x1
+ bl debug_sub_815F7F0
+ b ._136
+._108:
+ .align 2, 0
+._107:
+ .word _nakamuraData1
+ .word gMain
+._105:
+ mov r0, #0x1
+ b ._113
+._104:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._110 @cond_branch
+ cmp r2, #0
+ beq ._111 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ bl debug_sub_815F7F0
+ b ._136
+._111:
+ mov r0, #0x1
+ neg r0, r0
+ b ._113
+._110:
+ mov r0, #0x20
+ and r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ cmp r3, #0
+ beq ._114 @cond_branch
+ ldr r1, ._117 @ _nakamuraData2
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._115 @cond_branch
+ sub r0, r4, #1
+ b ._116
+._118:
+ .align 2, 0
+._117:
+ .word _nakamuraData2
+._115:
+ sub r0, r0, #0x1
+._116:
+ strb r0, [r1]
+._125:
+ bl debug_sub_815F788
+ b ._136
+._114:
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._120 @cond_branch
+ ldr r2, ._123 @ _nakamuraData2
+ ldrb r1, [r2]
+ sub r0, r4, #1
+ cmp r1, r0
+ bne ._121 @cond_branch
+ strb r3, [r2]
+ b ._125
+._124:
+ .align 2, 0
+._123:
+ .word _nakamuraData2
+._121:
+ add r0, r1, #1
+ strb r0, [r2]
+ b ._125
+._120:
+ ldrh r1, [r5, #0x2e]
+ mov r0, #0x4
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._126 @cond_branch
+ cmp r2, #0
+ bne ._127 @cond_branch
+ ldr r4, ._129 @ _nakamuraData3
+ ldrb r0, [r4]
+ add r0, r0, #0x1
+ mov r1, #0x5
+ bl __modsi3
+ strb r0, [r4]
+._127:
+ bl debug_sub_815F7B4
+ b ._136
+._130:
+ .align 2, 0
+._129:
+ .word _nakamuraData3
+._126:
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._131 @cond_branch
+ mov r0, #0x2
+ mov r1, #0x5
+ mov r2, #0xb
+ mov r3, #0x6
+ bl Menu_BlankWindowRect
+ mov r0, #0xb
+ mov r1, #0x1
+ mov r2, #0xb
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ ldr r1, ._133 @ gMenuCallback
+ ldr r0, ._133 + 4 @ debug_sub_815FA38
+ str r0, [r1]
+ b ._136
+._134:
+ .align 2, 0
+._133:
+ .word gMenuCallback
+ .word debug_sub_815FA38+1
+._131:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._136 @cond_branch
+ cmp r2, #0
+ bne ._136 @cond_branch
+ mov r0, #0x64
+._113:
+ bl debug_sub_815F86C
+._136:
+ mov r0, #0x0
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_815F930
+
+ thumb_func_start debug_sub_815FA38
+debug_sub_815FA38:
+ push {r4, lr}
+ ldr r0, ._139 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._137 @cond_branch
+ mov r0, #0x2
+ neg r0, r0
+ b ._138
+._140:
+ .align 2, 0
+._139:
+ .word gMain
+._137:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._141 @cond_branch
+ mov r0, #0x2
+._138:
+ bl Menu_MoveCursor
+._161:
+ mov r0, #0x0
+ b ._142
+._141:
+ mov r0, #0x20
+ and r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ cmp r2, #0
+ beq ._143 @cond_branch
+ ldr r1, ._146 @ _nakamuraData0
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._144 @cond_branch
+ mov r0, #0x13
+ b ._148
+._147:
+ .align 2, 0
+._146:
+ .word _nakamuraData0
+._144:
+ sub r0, r0, #0x1
+ b ._148
+._143:
+ mov r0, #0x10
+ and r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0
+ beq ._149 @cond_branch
+ ldr r1, ._152 @ _nakamuraData0
+ ldrb r0, [r1]
+ cmp r0, #0x13
+ bne ._150 @cond_branch
+ strb r2, [r1]
+ b ._151
+._153:
+ .align 2, 0
+._152:
+ .word _nakamuraData0
+._150:
+ add r0, r0, #0x1
+._148:
+ strb r0, [r1]
+._151:
+ bl debug_sub_815F72C
+ b ._161
+._149:
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._155 @cond_branch
+ ldr r1, ._159 @ _nakamuraData0
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq ._161 @cond_branch
+ ldr r2, ._159 + 4 @ gSaveBlock1
+ add r1, r0, #0
+ lsl r0, r1, #0x2
+ add r0, r0, r1
+ lsl r0, r0, #0x5
+ add r0, r0, r2
+ ldr r1, ._159 + 8 @ 0x1a08
+ add r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._161 @cond_branch
+ bl Menu_GetCursorPos
+ ldr r1, ._159 + 12 @ _nakamuraData1
+ strb r0, [r1]
+ ldr r0, ._159 + 16 @ _nakamuraData2
+ strb r4, [r0]
+ bl debug_sub_815F788
+ bl debug_sub_815F7B4
+ ldr r1, ._159 + 20 @ gMenuCallback
+ ldr r0, ._159 + 24 @ debug_sub_815F930
+ str r0, [r1]
+ b ._161
+._160:
+ .align 2, 0
+._159:
+ .word _nakamuraData0
+ .word gSaveBlock1
+ .word 0x1a08
+ .word _nakamuraData1
+ .word _nakamuraData2
+ .word gMenuCallback
+ .word debug_sub_815F930+1
+._155:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._161 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+._142:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_815FA38
+
+ thumb_func_start debug_sub_815FB1C
+debug_sub_815FB1C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ ldr r0, ._162 @ _nakamuraData0
+ mov r1, #0x0
+ strb r1, [r0]
+ ldr r0, ._162 + 4 @ _nakamuraData3
+ strb r1, [r0]
+ ldr r1, ._162 + 8 @ gMenuCallback
+ ldr r0, ._162 + 12 @ debug_sub_815FA38
+ str r0, [r1]
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xc
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ bl debug_sub_815F72C
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xb
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x3
+ bl InitMenu
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._163:
+ .align 2, 0
+._162:
+ .word _nakamuraData0
+ .word _nakamuraData3
+ .word gMenuCallback
+ .word debug_sub_815FA38+1
+
+ thumb_func_end debug_sub_815FB1C
+
+ thumb_func_start debug_sub_815FB78
+debug_sub_815FB78:
+ push {lr}
+ ldr r0, ._166 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._164 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ b ._165
+._167:
+ .align 2, 0
+._166:
+ .word gMain
+._164:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._168 @cond_branch
+ mov r0, #0x1
+._165:
+ bl Menu_MoveCursor
+ mov r0, #0x0
+ b ._177
+._168:
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._170 @cond_branch
+ bl CloseMenu
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0
+ beq ._171 @cond_branch
+ cmp r0, #0x1
+ beq ._172 @cond_branch
+ b ._175
+._171:
+ bl debug_sub_814A714
+ b ._175
+._172:
+ bl ClearRoamerData
+ bl ClearRoamerLocationData
+ b ._175
+._170:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._176 @cond_branch
+ mov r0, #0x0
+ b ._177
+._176:
+ bl CloseMenu
+._175:
+ mov r0, #0x1
+._177:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_815FB78
+
+ thumb_func_start debug_sub_815FBE8
+debug_sub_815FBE8:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ ldr r1, ._178 @ gMenuCallback
+ ldr r0, ._178 + 4 @ debug_sub_815FB78
+ str r0, [r1]
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ ldr r4, ._178 + 8 @ gStringVar1
+ add r0, r4, #0
+ bl debug_sub_814A73C
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xb
+ mov r3, #0x9
+ bl Menu_DrawStdWindowFrame
+ add r0, r4, #0
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._178 + 12 @ Str_843E580
+ mov r1, #0x2
+ mov r2, #0x3
+ bl Menu_PrintText
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xa
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x3
+ bl InitMenu
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._179:
+ .align 2, 0
+._178:
+ .word gMenuCallback
+ .word debug_sub_815FB78+1
+ .word gStringVar1
+ .word Str_843E580
+
+ thumb_func_end debug_sub_815FBE8
+
+ thumb_func_start debug_sub_815FC54
+debug_sub_815FC54:
+ push {r4, r5, r6, r7, lr}
+ mov r3, #0x0
+ ldr r7, ._181 @ gSaveBlock1
+ mov r6, #0xe8
+ lsl r6, r6, #0x3
+ ldr r5, ._181 + 4 @ 0x3e7
+ ldr r4, ._181 + 8 @ 0x742
+._180:
+ lsl r1, r3, #0x2
+ add r1, r1, r7
+ add r2, r3, #0
+ add r2, r2, #0x85
+ add r0, r1, r6
+ strh r2, [r0]
+ add r1, r1, r4
+ strh r5, [r1]
+ add r0, r3, #1
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ cmp r3, #0x2a
+ bls ._180 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._182:
+ .align 2, 0
+._181:
+ .word gSaveBlock1
+ .word 0x3e7
+ .word 0x742
+
+ thumb_func_end debug_sub_815FC54
+
+ thumb_func_start debug_sub_815FC94
+debug_sub_815FC94:
+ push {lr}
+ bl ClearDecorationInventories
+ bl debug_sub_814A3A8
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_815FC94
+
+ thumb_func_start debug_sub_815FCB4
+debug_sub_815FCB4:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ mov r7, #0x0
+ ldr r5, ._188 @ gMapHeader
+ ldr r0, [r5]
+ ldr r0, [r0, #0x4]
+ mov r1, #0x3
+ bl __divsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ add r1, r0, #0
+ mul r1, r1, r4
+ lsl r1, r1, #0x10
+ lsr r6, r1, #0x10
+ add r0, r6, r0
+ mov r9, r5
+ cmp r6, r0
+ bge ._183 @cond_branch
+ mov r8, r0
+._187:
+ mov r4, #0x0
+ mov r1, r9
+ ldr r0, [r1]
+ ldr r0, [r0]
+ add r5, r6, #1
+ cmp r4, r0
+ bge ._184 @cond_branch
+ ldr r0, ._188 @ gMapHeader
+ mov r9, r0
+._186:
+ add r0, r4, #7
+ add r1, r6, #7
+ bl MapGridGetMetatileBehaviorAt
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl sub_805759C
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bne ._185 @cond_branch
+ add r0, r7, #1
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+._185:
+ add r0, r4, #1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r0, ._188 @ gMapHeader
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r4, r0
+ blt ._186 @cond_branch
+._184:
+ lsl r0, r5, #0x10
+ lsr r6, r0, #0x10
+ cmp r6, r8
+ blt ._187 @cond_branch
+._183:
+ add r0, r7, #0
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._189:
+ .align 2, 0
+._188:
+ .word gMapHeader
+
+ thumb_func_end debug_sub_815FCB4
+
+ thumb_func_start debug_sub_815FD40
+debug_sub_815FD40:
+ push {r4, r5, r6, r7, lr}
+ add sp, sp, #0xfffffffc
+ mov r6, #0x0
+ mov r4, sp
+ add r4, r4, #0x2
+ mov r0, sp
+ add r1, r4, #0
+ bl GetXYCoordsOneStepInFrontOfPlayer
+ mov r1, sp
+ mov r0, sp
+ ldrh r0, [r0]
+ sub r0, r0, #0x7
+ strh r0, [r1]
+ ldrh r0, [r4]
+ sub r0, r0, #0x7
+ strh r0, [r4]
+ mov r5, #0x0
+ ldr r1, ._192 @ gMapHeader
+ ldr r0, [r1]
+ ldr r0, [r0, #0x4]
+ add r7, r4, #0
+ cmp r6, r0
+ bge ._190 @cond_branch
+._199:
+ mov r4, #0x0
+ ldr r0, [r1]
+ b ._191
+._193:
+ .align 2, 0
+._192:
+ .word gMapHeader
+._198:
+ add r0, r4, #7
+ add r1, r5, #7
+ bl MapGridGetMetatileBehaviorAt
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl sub_805759C
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bne ._196 @cond_branch
+ add r0, r6, #1
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ mov r0, sp
+ mov r1, #0x0
+ ldsh r0, [r0, r1]
+ cmp r0, r4
+ bne ._196 @cond_branch
+ mov r1, #0x0
+ ldsh r0, [r7, r1]
+ cmp r0, r5
+ bne ._196 @cond_branch
+ add r0, r6, #0
+ b ._197
+._196:
+ add r0, r4, #1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r0, ._200 @ gMapHeader
+ ldr r0, [r0]
+._191:
+ ldr r0, [r0]
+ cmp r4, r0
+ blt ._198 @cond_branch
+ add r0, r5, #1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ ldr r1, ._200 @ gMapHeader
+ ldr r0, [r1]
+ ldr r0, [r0, #0x4]
+ cmp r5, r0
+ blt ._199 @cond_branch
+._190:
+ add r0, r6, #1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+._197:
+ add sp, sp, #0x4
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._201:
+ .align 2, 0
+._200:
+ .word gMapHeader
+
+ thumb_func_end debug_sub_815FD40
+
+ thumb_func_start debug_sub_815FDE4
+debug_sub_815FDE4:
+ push {lr}
+ ldr r0, ._205 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._202 @cond_branch
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._203 @cond_branch
+._202:
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ bl CloseMenu
+ mov r0, #0x1
+ b ._204
+._206:
+ .align 2, 0
+._205:
+ .word gMain
+._203:
+ mov r0, #0x0
+._204:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_815FDE4
+
+ thumb_func_start debug_sub_815FE1C
+debug_sub_815FE1C:
+ push {r4, r5, r6, r7, lr}
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x10
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._210 @ Str_843E58D
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r6, ._210 + 4 @ gStringVar1
+ mov r0, #0x0
+ bl debug_sub_815FCB4
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r6, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0x5
+ mov r2, #0x3
+ bl Menu_PrintText
+ mov r0, #0x1
+ bl debug_sub_815FCB4
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r6, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0x5
+ mov r2, #0x5
+ bl Menu_PrintText
+ mov r0, #0x2
+ bl debug_sub_815FCB4
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r6, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0x5
+ mov r2, #0x7
+ bl Menu_PrintText
+ mov r0, #0x0
+ bl debug_sub_8092344
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r6, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0xb
+ mov r2, #0x3
+ bl Menu_PrintText
+ mov r0, #0x1
+ bl debug_sub_8092344
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r6, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0xb
+ mov r2, #0x5
+ bl Menu_PrintText
+ mov r0, #0x2
+ bl debug_sub_8092344
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r6, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r6, #0
+ mov r1, #0xb
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldr r0, ._210 + 8 @ gSaveBlock1
+ ldr r1, ._210 + 12 @ 0x2dd6
+ add r0, r0, r1
+ ldrh r0, [r0]
+ bl FeebasSeedRng
+ mov r0, #0x0
+ bl debug_sub_815FCB4
+ add r4, r0, #0
+ mov r0, #0x1
+ bl debug_sub_815FCB4
+ add r5, r0, #0
+ mov r0, #0x2
+ bl debug_sub_815FCB4
+ add r4, r4, r5
+ add r0, r0, r4
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ mov r5, #0x0
+._209:
+ bl FeebasRandom
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ add r1, r7, #0
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ cmp r1, #0
+ bne ._207 @cond_branch
+ add r1, r7, #0
+._207:
+ sub r0, r1, #1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x2
+ bls ._208 @cond_branch
+ add r0, r6, #0
+ mov r2, #0x1
+ mov r3, #0x4
+ bl ConvertIntToDecimalStringN
+ add r0, r5, #0
+ mov r1, #0x3
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ lsl r4, r0, #0x2
+ add r4, r4, r0
+ add r4, r4, #0x2
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r5, #0
+ mov r1, #0x3
+ bl __udivsi3
+ add r2, r0, #0
+ lsl r2, r2, #0x19
+ mov r0, #0xb0
+ lsl r0, r0, #0x14
+ add r2, r2, r0
+ lsr r2, r2, #0x18
+ add r0, r6, #0
+ add r1, r4, #0
+ bl Menu_PrintText
+ add r0, r5, #1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+._208:
+ cmp r5, #0x6
+ bne ._209 @cond_branch
+ ldr r4, ._210 + 4 @ gStringVar1
+ bl debug_sub_815FD40
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r4, #0
+ mov r2, #0x1
+ mov r3, #0x4
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x2
+ mov r2, #0x11
+ bl Menu_PrintText
+ ldr r1, ._210 + 16 @ gMenuCallback
+ ldr r0, ._210 + 20 @ debug_sub_815FDE4
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._211:
+ .align 2, 0
+._210:
+ .word Str_843E58D
+ .word gStringVar1
+ .word gSaveBlock1
+ .word 0x2dd6
+ .word gMenuCallback
+ .word debug_sub_815FDE4+1
+
+ thumb_func_end debug_sub_815FE1C
+
+ thumb_func_start debug_sub_815FFDC
+debug_sub_815FFDC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ mov r0, #0xe
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0x0
+ mov r1, #0xe
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._214 @ Str_843E5D4
+ mov r1, #0x1
+ mov r2, #0xf
+ bl Menu_PrintText
+ mov r5, #0x0
+ ldr r0, ._214 + 4 @ _nakamuraStatic0
+ mov r8, r0
+._216:
+ mov r0, #0x64
+ add r1, r5, #0
+ mul r1, r1, r0
+ ldr r0, ._214 + 8 @ gPlayerParty
+ add r6, r1, r0
+ add r0, r6, #0
+ mov r1, #0xb
+ bl GetMonData
+ lsl r1, r5, #0x2
+ mov r2, r8
+ add r4, r1, r2
+ strh r0, [r4]
+ lsl r0, r0, #0x10
+ add r7, r1, #0
+ cmp r0, #0
+ beq ._212 @cond_branch
+ add r0, r6, #0
+ mov r1, #0x38
+ bl GetMonData
+ strb r0, [r4, #0x2]
+ add r0, r5, #0
+ bl debug_sub_816009C
+ add r0, r5, #0
+ bl debug_sub_81600D0
+ add r0, r5, #0
+ bl debug_sub_816013C
+ b ._213
+._215:
+ .align 2, 0
+._214:
+ .word Str_843E5D4
+ .word _nakamuraStatic0
+ .word gPlayerParty
+._212:
+ mov r0, #0x1
+ strb r0, [r4, #0x2]
+._213:
+ mov r0, r8
+ add r1, r7, r0
+ mov r0, #0x0
+ strb r0, [r1, #0x3]
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x5
+ bls ._216 @cond_branch
+ ldr r1, ._217 @ _nakamuraData4
+ mov r0, #0x0
+ strb r0, [r1]
+ mov r0, #0xf
+ mov r1, #0x1
+ mov r2, #0xff
+ bl PrintTriangleCursorWithPalette
+ ldr r1, ._217 + 4 @ gMenuCallback
+ ldr r0, ._217 + 8 @ debug_sub_8160498
+ str r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._218:
+ .align 2, 0
+._217:
+ .word _nakamuraData4
+ .word gMenuCallback
+ .word debug_sub_8160498+1
+
+ thumb_func_end debug_sub_815FFDC
+
+ thumb_func_start debug_sub_816009C
+debug_sub_816009C:
+ push {lr}
+ add r2, r0, #0
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ ldr r1, ._219 @ _nakamuraStatic0
+ lsl r0, r2, #0x2
+ add r0, r0, r1
+ mov r3, #0x0
+ ldsh r1, [r0, r3]
+ mov r0, #0xb
+ mul r0, r0, r1
+ ldr r1, ._219 + 4 @ gSpeciesNames
+ add r0, r0, r1
+ lsl r2, r2, #0x1
+ add r2, r2, #0x1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ mov r1, #0x10
+ bl Menu_PrintText
+ pop {r0}
+ bx r0
+._220:
+ .align 2, 0
+._219:
+ .word _nakamuraStatic0
+ .word gSpeciesNames
+
+ thumb_func_end debug_sub_816009C
+
+ thumb_func_start debug_sub_81600D0
+debug_sub_81600D0:
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffffc
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r5, r4, #0
+ ldr r1, ._223 @ Str_843E5F0
+ mov r0, sp
+ mov r2, #0x2
+ bl memcpy
+ mov r0, #0x64
+ mul r0, r0, r4
+ ldr r1, ._223 + 4 @ gPlayerParty
+ add r0, r0, r1
+ bl GetMonGender
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0
+ bne ._221 @cond_branch
+ ldr r0, ._223 + 8 @ gOtherText_MaleSymbol2
+ b ._222
+._224:
+ .align 2, 0
+._223:
+ .word Str_843E5F0
+ .word gPlayerParty
+ .word gOtherText_MaleSymbol2
+._221:
+ cmp r0, #0xfe
+ bne ._225 @cond_branch
+ ldr r0, ._227 @ gOtherText_FemaleSymbolAndLv
+._222:
+ lsl r2, r4, #0x1
+ add r2, r2, #0x1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ mov r1, #0x17
+ bl Menu_PrintText
+ b ._226
+._228:
+ .align 2, 0
+._227:
+ .word gOtherText_FemaleSymbolAndLv
+._225:
+ lsl r2, r5, #0x1
+ add r2, r2, #0x1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ mov r0, sp
+ mov r1, #0x17
+ bl Menu_PrintText
+._226:
+ add sp, sp, #0x4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_81600D0
+
+ thumb_func_start debug_sub_816013C
+debug_sub_816013C:
+ push {r4, r5, lr}
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ ldr r5, ._229 @ gStringVar1
+ ldr r1, ._229 + 4 @ _nakamuraStatic0
+ lsl r0, r4, #0x2
+ add r0, r0, r1
+ mov r1, #0x2
+ ldrsb r1, [r0, r1]
+ add r0, r5, #0
+ mov r2, #0x1
+ mov r3, #0x3
+ bl ConvertIntToDecimalStringN
+ lsl r4, r4, #0x1
+ add r4, r4, #0x1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r5, #0
+ mov r1, #0x1a
+ add r2, r4, #0
+ bl Menu_PrintText
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._230:
+ .align 2, 0
+._229:
+ .word gStringVar1
+ .word _nakamuraStatic0
+
+ thumb_func_end debug_sub_816013C
+
+ thumb_func_start debug_sub_816017C
+debug_sub_816017C:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ lsl r3, r4, #0x1
+ add r1, r3, #1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r3, r3, #0x2
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x18
+ mov r0, #0x10
+ mov r2, #0x1c
+ bl Menu_BlankWindowRect
+ ldr r1, ._232 @ _nakamuraStatic0
+ lsl r0, r4, #0x2
+ add r0, r0, r1
+ mov r1, #0x0
+ ldsh r0, [r0, r1]
+ cmp r0, #0
+ beq ._231 @cond_branch
+ add r0, r4, #0
+ bl debug_sub_816009C
+ add r0, r4, #0
+ bl debug_sub_81600D0
+ add r0, r4, #0
+ bl debug_sub_816013C
+._231:
+ mov r0, #0x5
+ bl debug_sub_81603B8
+ pop {r4}
+ pop {r0}
+ bx r0
+._233:
+ .align 2, 0
+._232:
+ .word _nakamuraStatic0
+
+ thumb_func_end debug_sub_816017C
+
+ thumb_func_start debug_sub_81601C8
+debug_sub_81601C8:
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffff0
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r1, ._239 @ _nakamuraStatic0
+ lsl r0, r5, #0x2
+ add r2, r0, r1
+ mov r4, #0x0
+ ldsh r0, [r2, r4]
+ cmp r0, #0
+ bne ._236 @cond_branch
+ ldrb r0, [r2, #0x3]
+ cmp r0, #0
+ bne ._236 @cond_branch
+ cmp r3, #0x1
+ bne ._236 @cond_branch
+ mov r0, #0x8a
+ lsl r0, r0, #0x1
+ strh r0, [r2]
+._236:
+ lsl r0, r5, #0x2
+ add r4, r0, r1
+ lsl r0, r3, #0x18
+ asr r0, r0, #0x18
+ ldrh r1, [r4]
+ add r2, r0, r1
+ mov r3, #0x0
+ strh r2, [r4]
+ lsl r1, r2, #0x10
+ mov r0, #0xcd
+ lsl r0, r0, #0x11
+ cmp r1, r0
+ ble ._237 @cond_branch
+ ldr r1, ._239 + 4 @ 0xfffffe65
+ add r0, r2, r1
+ strh r0, [r4]
+._237:
+ ldrh r1, [r4]
+ mov r2, #0x0
+ ldsh r0, [r4, r2]
+ cmp r0, #0
+ bge ._238 @cond_branch
+ ldr r2, ._239 + 8 @ 0x19b
+ add r0, r1, r2
+ strh r0, [r4]
+._238:
+ mov r0, #0x64
+ mul r0, r0, r5
+ ldr r1, ._239 + 12 @ gPlayerParty
+ add r0, r0, r1
+ ldrh r1, [r4]
+ ldrb r2, [r4, #0x2]
+ str r3, [sp]
+ str r3, [sp, #0x4]
+ str r3, [sp, #0x8]
+ str r3, [sp, #0xc]
+ mov r3, #0x20
+ bl CreateMon
+ mov r0, #0x1
+ strb r0, [r4, #0x3]
+ add sp, sp, #0x10
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._240:
+ .align 2, 0
+._239:
+ .word _nakamuraStatic0
+ .word 0xfffffe65
+ .word 0x19b
+ .word gPlayerParty
+
+ thumb_func_end debug_sub_81601C8
+
+ thumb_func_start debug_sub_8160258
+debug_sub_8160258:
+ push {lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ ldr r1, ._242 @ _nakamuraStatic0
+ lsl r0, r2, #0x2
+ add r0, r0, r1
+ mov r1, #0x0
+ ldsh r0, [r0, r1]
+ cmp r0, #0
+ beq ._241 @cond_branch
+ add r0, r2, #0
+ bl debug_sub_816062C
+._241:
+ pop {r0}
+ bx r0
+._243:
+ .align 2, 0
+._242:
+ .word _nakamuraStatic0
+
+ thumb_func_end debug_sub_8160258
+
+ thumb_func_start debug_sub_816027C
+debug_sub_816027C:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add r4, r0, #0
+ lsl r1, r1, #0x18
+ lsr r2, r1, #0x18
+ ldr r1, ._247 @ _nakamuraStatic0
+ lsl r0, r4, #0x2
+ add r3, r0, r1
+ mov r1, #0x0
+ ldsh r0, [r3, r1]
+ cmp r0, #0
+ beq ._244 @cond_branch
+ lsl r0, r2, #0x18
+ asr r0, r0, #0x18
+ ldrb r1, [r3, #0x2]
+ add r0, r0, r1
+ strb r0, [r3, #0x2]
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ cmp r0, #0x64
+ ble ._245 @cond_branch
+ mov r0, #0x1
+ strb r0, [r3, #0x2]
+._245:
+ mov r0, #0x2
+ ldrsb r0, [r3, r0]
+ cmp r0, #0
+ bgt ._246 @cond_branch
+ mov r0, #0x64
+ strb r0, [r3, #0x2]
+._246:
+ mov r0, #0x64
+ mul r4, r4, r0
+ ldr r0, ._247 + 4 @ gPlayerParty
+ add r4, r4, r0
+ ldr r2, ._247 + 8 @ gBaseStats
+ mov r0, #0x0
+ ldsh r1, [r3, r0]
+ lsl r0, r1, #0x3
+ sub r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r2
+ ldrb r1, [r0, #0x13]
+ mov r0, #0xca
+ lsl r0, r0, #0x1
+ add r2, r1, #0
+ mul r2, r2, r0
+ mov r0, #0x2
+ ldrsb r0, [r3, r0]
+ lsl r0, r0, #0x2
+ ldr r1, ._247 + 12 @ gExperienceTables
+ add r0, r0, r1
+ add r2, r2, r0
+ add r0, r4, #0
+ mov r1, #0x19
+ bl SetMonData
+ add r0, r4, #0
+ bl debug_sub_803F55C
+._244:
+ pop {r4}
+ pop {r0}
+ bx r0
+._248:
+ .align 2, 0
+._247:
+ .word _nakamuraStatic0
+ .word gPlayerParty
+ .word gBaseStats
+ .word gExperienceTables
+
+ thumb_func_end debug_sub_816027C
+
+ thumb_func_start debug_sub_8160308
+debug_sub_8160308:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ add sp, sp, #0xffffff8c
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ mov r2, #0x0
+._252:
+ add r1, r2, #1
+ lsl r0, r1, #0x18
+ lsr r5, r0, #0x18
+ mov r8, r1
+ cmp r5, #0x5
+ bhi ._249 @cond_branch
+ mov r0, #0x64
+ mov r9, r0
+ mov r0, r9
+ mul r0, r0, r2
+ ldr r7, ._254 @ gPlayerParty
+ add r6, r0, r7
+._251:
+ add r0, r6, #0
+ mov r1, #0xb
+ mov r2, #0x0
+ bl GetMonData
+ cmp r0, #0
+ bne ._250 @cond_branch
+ add r0, sp, #0x10
+ add r1, r6, #0
+ mov r2, #0x64
+ bl memcpy
+ mov r4, r9
+ mul r4, r4, r5
+ add r4, r4, r7
+ add r0, r6, #0
+ add r1, r4, #0
+ mov r2, #0x64
+ bl memcpy
+ add r0, r4, #0
+ add r1, sp, #0x10
+ mov r2, #0x64
+ bl memcpy
+._250:
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x5
+ bls ._251 @cond_branch
+._249:
+ mov r1, r8
+ lsl r0, r1, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x4
+ bls ._252 @cond_branch
+ bl CalculatePlayerPartyCount
+ ldr r4, ._254 + 4 @ gPlayerPartyCount
+ ldrb r1, [r4]
+ cmp r1, #0
+ bne ._253 @cond_branch
+ ldr r0, ._254 @ gPlayerParty
+ str r1, [sp]
+ str r1, [sp, #0x4]
+ str r1, [sp, #0x8]
+ str r1, [sp, #0xc]
+ mov r1, #0x1
+ mov r2, #0xa
+ mov r3, #0x20
+ bl CreateMon
+ mov r0, #0x1
+ strb r0, [r4]
+._253:
+ add sp, sp, #0x74
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._255:
+ .align 2, 0
+._254:
+ .word gPlayerParty
+ .word gPlayerPartyCount
+
+ thumb_func_end debug_sub_8160308
+
+ thumb_func_start debug_sub_81603B8
+debug_sub_81603B8:
+ push {r4, r5, r6, r7, lr}
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ mov r0, #0x5
+ bl PlaySE
+ ldr r7, ._259 @ _nakamuraData4
+ ldrb r4, [r7]
+ add r0, r4, #0
+ mov r1, #0x6
+ bl __udivsi3
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r0, r4, #0
+ mov r1, #0x6
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r0, ._259 + 4 @ _843E5D1
+ add r0, r5, r0
+ ldrb r2, [r0]
+ lsl r3, r4, #0x1
+ add r1, r3, #1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r3, r3, #0x2
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x18
+ add r0, r2, #0
+ bl Menu_BlankWindowRect
+ cmp r6, #0
+ bne ._256 @cond_branch
+ cmp r4, #0
+ beq ._257 @cond_branch
+ ldrb r0, [r7]
+ sub r0, r0, #0x1
+ b ._258
+._260:
+ .align 2, 0
+._259:
+ .word _nakamuraData4
+ .word _843E5D1
+._257:
+ lsl r0, r5, #0x1
+ add r0, r0, r5
+ lsl r0, r0, #0x1
+ add r0, r0, #0x5
+._258:
+ strb r0, [r7]
+._256:
+ ldr r1, ._264 @ _nakamuraData4
+ cmp r6, #0x1
+ bne ._261 @cond_branch
+ cmp r4, #0x5
+ beq ._262 @cond_branch
+ ldrb r0, [r1]
+ add r0, r0, #0x1
+ b ._263
+._265:
+ .align 2, 0
+._264:
+ .word _nakamuraData4
+._262:
+ lsl r0, r5, #0x1
+ add r0, r0, r5
+ lsl r0, r0, #0x1
+._263:
+ strb r0, [r1]
+._261:
+ cmp r6, #0x2
+ bne ._266 @cond_branch
+ cmp r5, #0
+ beq ._267 @cond_branch
+ ldrb r0, [r1]
+ sub r0, r0, #0x6
+ b ._268
+._267:
+ add r0, r4, #0
+ add r0, r0, #0xc
+._268:
+ strb r0, [r1]
+._266:
+ cmp r6, #0x3
+ bne ._271 @cond_branch
+ cmp r5, #0x2
+ beq ._270 @cond_branch
+ ldrb r0, [r1]
+ add r0, r0, #0x6
+ strb r0, [r1]
+ b ._271
+._270:
+ strb r4, [r1]
+._271:
+ ldrb r4, [r1]
+ add r0, r4, #0
+ mov r1, #0x6
+ bl __udivsi3
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r0, r4, #0
+ mov r1, #0x6
+ bl __umodsi3
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ ldr r0, ._272 @ _843E5D1
+ add r0, r5, r0
+ ldrb r0, [r0]
+ lsr r1, r1, #0x17
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ mov r2, #0xff
+ bl PrintTriangleCursorWithPalette
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._273:
+ .align 2, 0
+._272:
+ .word _843E5D1
+
+ thumb_func_end debug_sub_81603B8
+
+ thumb_func_start debug_sub_8160498
+debug_sub_8160498:
+ push {r4, lr}
+ ldr r1, ._276 @ gMain
+ ldrh r2, [r1, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._274 @cond_branch
+ mov r0, #0x0
+ b ._281
+._277:
+ .align 2, 0
+._276:
+ .word gMain
+._274:
+ mov r0, #0x80
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._278 @cond_branch
+ mov r0, #0x1
+ b ._281
+._278:
+ mov r0, #0x20
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._280 @cond_branch
+ mov r0, #0x2
+ b ._281
+._280:
+ mov r0, #0x10
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._282 @cond_branch
+ mov r0, #0x3
+._281:
+ bl debug_sub_81603B8
+ mov r0, #0x0
+ b ._311
+._282:
+ ldrh r1, [r1, #0x30]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._284 @cond_branch
+ ldr r4, ._289 @ _nakamuraData4
+ ldrb r0, [r4]
+ cmp r0, #0x5
+ bhi ._285 @cond_branch
+ mov r1, #0x1
+ bl debug_sub_81601C8
+._285:
+ ldrb r0, [r4]
+ sub r0, r0, #0x6
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x5
+ bhi ._286 @cond_branch
+ ldrb r0, [r4]
+ mov r1, #0x6
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl debug_sub_8160258
+._286:
+ ldrb r0, [r4]
+ sub r0, r0, #0xc
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x5
+ bhi ._306 @cond_branch
+ ldrb r0, [r4]
+ mov r1, #0x6
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ b ._300
+._290:
+ .align 2, 0
+._289:
+ .word _nakamuraData4
+._284:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._291 @cond_branch
+ ldr r4, ._294 @ _nakamuraData4
+ ldrb r0, [r4]
+ cmp r0, #0x5
+ bhi ._304 @cond_branch
+ mov r1, #0x1
+ neg r1, r1
+ b ._293
+._295:
+ .align 2, 0
+._294:
+ .word _nakamuraData4
+._291:
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._296 @cond_branch
+ ldr r4, ._301 @ _nakamuraData4
+ ldrb r0, [r4]
+ cmp r0, #0x5
+ bhi ._297 @cond_branch
+ mov r1, #0xa
+ bl debug_sub_81601C8
+._297:
+ ldrb r0, [r4]
+ sub r0, r0, #0x6
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x5
+ bhi ._298 @cond_branch
+ ldrb r0, [r4]
+ mov r1, #0x6
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl debug_sub_8160258
+._298:
+ ldrb r0, [r4]
+ sub r0, r0, #0xc
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x5
+ bhi ._306 @cond_branch
+ ldrb r0, [r4]
+ mov r1, #0x6
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ b ._300
+._302:
+ .align 2, 0
+._301:
+ .word _nakamuraData4
+._296:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._303 @cond_branch
+ ldr r4, ._308 @ _nakamuraData4
+ ldrb r0, [r4]
+ cmp r0, #0x5
+ bhi ._304 @cond_branch
+ mov r1, #0xa
+ neg r1, r1
+._293:
+ bl debug_sub_81601C8
+._304:
+ ldrb r0, [r4]
+ sub r0, r0, #0x6
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x5
+ bhi ._305 @cond_branch
+ ldrb r0, [r4]
+ mov r1, #0x6
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl debug_sub_8160258
+._305:
+ ldrb r0, [r4]
+ sub r0, r0, #0xc
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x5
+ bhi ._306 @cond_branch
+ ldrb r0, [r4]
+ mov r1, #0x6
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ neg r1, r1
+._300:
+ bl debug_sub_816027C
+._306:
+ ldrb r0, [r4]
+ mov r1, #0x6
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl debug_sub_816017C
+ mov r0, #0x0
+ b ._311
+._309:
+ .align 2, 0
+._308:
+ .word _nakamuraData4
+._303:
+ mov r0, #0x8
+ and r0, r0, r2
+ cmp r0, #0
+ bne ._310 @cond_branch
+ mov r0, #0x0
+ b ._311
+._310:
+ bl debug_sub_8160308
+ bl CloseMenu
+ mov r0, #0x1
+._311:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8160498
+
+ thumb_func_start debug_sub_816062C
+debug_sub_816062C:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ add sp, sp, #0xfffffff0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r8, r0
+ mov r0, #0x64
+ mov r4, r8
+ mul r4, r4, r0
+ ldr r0, ._316 @ gPlayerParty
+ add r4, r4, r0
+ add r0, r4, #0
+ mov r1, #0xb
+ bl GetMonData
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ add r0, r4, #0
+ bl GetMonGender
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ ldr r1, ._316 + 4 @ gBaseStats
+ lsl r0, r7, #0x3
+ sub r0, r0, r7
+ lsl r0, r0, #0x2
+ add r0, r0, r1
+ ldrb r6, [r0, #0x10]
+ cmp r6, #0
+ beq ._313 @cond_branch
+ cmp r6, #0xfe
+ beq ._313 @cond_branch
+ cmp r6, #0xff
+ bne ._314 @cond_branch
+._313:
+ mov r0, #0x64
+ mov r1, r8
+ mul r1, r1, r0
+ add r0, r1, #0
+ ldr r1, ._316 @ gPlayerParty
+ add r0, r0, r1
+ bl GetMonGender
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._320
+._317:
+ .align 2, 0
+._316:
+ .word gPlayerParty
+ .word gBaseStats
+._314:
+ cmp r2, #0
+ beq ._318 @cond_branch
+ cmp r2, #0xfe
+ beq ._319 @cond_branch
+ mov r0, #0x0
+ b ._320
+._318:
+ mov r6, #0xfe
+ b ._321
+._319:
+ mov r6, #0x0
+._321:
+ mov r0, r8
+ lsl r0, r0, #0x2
+ mov r9, r0
+._322:
+ bl Random
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ bl Random
+ lsl r0, r0, #0x10
+ orr r5, r5, r0
+ add r0, r7, #0
+ add r1, r5, #0
+ bl GetGenderFromSpeciesAndPersonality
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, r6
+ bne ._322 @cond_branch
+ mov r0, #0x64
+ mov r4, r8
+ mul r4, r4, r0
+ ldr r0, ._323 @ gPlayerParty
+ add r4, r4, r0
+ add r0, r4, #0
+ mov r1, #0x42
+ bl GetMonData
+ ldr r0, ._323 + 4 @ _nakamuraStatic0
+ add r0, r0, r9
+ ldrh r1, [r0]
+ ldrb r2, [r0, #0x2]
+ mov r0, #0x1
+ str r0, [sp]
+ str r5, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ add r0, r4, #0
+ mov r3, #0x20
+ bl CreateMon
+ add r0, r6, #0
+._320:
+ add sp, sp, #0x10
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._324:
+ .align 2, 0
+._323:
+ .word gPlayerParty
+ .word _nakamuraStatic0
+
+ thumb_func_end debug_sub_816062C
+
+ thumb_func_start debug_sub_8160714
+debug_sub_8160714:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ add sp, sp, #0xfffffff0
+ add r6, r0, #0
+ mov r9, r1
+ mov r7, #0x0
+ mov r0, #0x0
+ mov r8, r0
+ mov r2, #0x0
+ mov r5, #0x0
+._329:
+ add r4, r5, #1
+ lsl r1, r4, #0x18
+ lsr r1, r1, #0x18
+ mov r0, r9
+ str r2, [sp, #0xc]
+ bl GetPokeblockData
+ add r1, r0, #0
+ lsl r0, r5, #0x1
+ add r0, r0, sp
+ strh r1, [r0]
+ ldr r2, [sp, #0xc]
+ cmp r5, #0x5
+ beq ._328 @cond_branch
+ lsl r0, r1, #0x10
+ asr r1, r0, #0x10
+ cmp r1, #0
+ ble ._326 @cond_branch
+ add r0, r7, #1
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._326:
+ cmp r1, #0
+ bge ._327 @cond_branch
+ mov r0, r8
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r8, r0
+._327:
+ cmp r1, #0
+ bne ._328 @cond_branch
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+._328:
+ lsl r0, r4, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x5
+ bls ._329 @cond_branch
+ mov r0, sp
+ mov r1, #0x0
+ ldsh r0, [r0, r1]
+ cmp r0, #0x31
+ bgt ._333 @cond_branch
+ mov r0, sp
+ ldrh r0, [r0, #0x2]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ cmp r0, #0x31
+ bgt ._333 @cond_branch
+ mov r0, sp
+ mov r4, #0x4
+ ldsh r0, [r0, r4]
+ cmp r0, #0x31
+ bgt ._333 @cond_branch
+ mov r0, sp
+ mov r1, #0x6
+ ldsh r0, [r0, r1]
+ cmp r0, #0x31
+ bgt ._333 @cond_branch
+ mov r0, sp
+ mov r4, #0x8
+ ldsh r0, [r0, r4]
+ cmp r0, #0x31
+ ble ._334 @cond_branch
+._333:
+ ldr r1, ._336 @ ContestStatsText_GoldPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0xe
+ b ._400
+._337:
+ .align 2, 0
+._336:
+ .word ContestStatsText_GoldPokeBlock
+._334:
+ cmp r7, #0x4
+ bne ._338 @cond_branch
+ ldr r1, ._340 @ ContestStatsText_WhitePokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0xd
+ b ._400
+._341:
+ .align 2, 0
+._340:
+ .word ContestStatsText_WhitePokeBlock
+._338:
+ mov r3, #0x0
+ mov r5, #0x0
+._343:
+ lsl r0, r5, #0x1
+ add r0, r0, sp
+ mov r1, #0x0
+ ldsh r0, [r0, r1]
+ cmp r0, #0x2
+ bne ._342 @cond_branch
+ add r0, r3, #1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+._342:
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x4
+ bls ._343 @cond_branch
+ cmp r3, #0x3
+ beq ._345 @cond_branch
+ cmp r2, #0x5
+ beq ._345 @cond_branch
+ mov r4, r8
+ cmp r4, #0x4
+ bne ._346 @cond_branch
+._345:
+ ldr r1, ._348 @ ContestStatsText_BlackPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0xc
+ b ._400
+._349:
+ .align 2, 0
+._348:
+ .word ContestStatsText_BlackPokeBlock
+._346:
+ cmp r7, #0x3
+ bne ._350 @cond_branch
+ ldr r1, ._352 @ ContestStatsText_GrayPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0xb
+ b ._400
+._353:
+ .align 2, 0
+._352:
+ .word ContestStatsText_GrayPokeBlock
+._350:
+ cmp r7, #0x2
+ beq ._354 @cond_branch
+ mov r0, r8
+ cmp r0, #0x2
+ bne ._377 @cond_branch
+._354:
+ mov r3, #0x6
+ mov r2, #0x0
+ mov r5, #0x0
+._359:
+ lsl r0, r5, #0x1
+ add r0, r0, sp
+ mov r1, #0x0
+ ldsh r0, [r0, r1]
+ cmp r0, #0
+ beq ._358 @cond_branch
+ cmp r3, #0x6
+ bne ._357 @cond_branch
+ add r3, r5, #0
+ b ._358
+._357:
+ add r2, r5, #0
+._358:
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x4
+ bls ._359 @cond_branch
+ lsl r0, r3, #0x1
+ mov r4, sp
+ add r1, r4, r0
+ lsl r0, r2, #0x1
+ add r0, r0, sp
+ mov r4, #0x0
+ ldsh r1, [r1, r4]
+ mov r4, #0x0
+ ldsh r0, [r0, r4]
+ cmp r1, r0
+ blt ._360 @cond_branch
+ add r2, r3, #0
+._360:
+ cmp r2, #0
+ bne ._361 @cond_branch
+ ldr r1, ._363 @ ContestStatsText_PurplePokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x6
+ b ._400
+._364:
+ .align 2, 0
+._363:
+ .word ContestStatsText_PurplePokeBlock
+._361:
+ cmp r2, #0x1
+ bne ._365 @cond_branch
+ ldr r1, ._367 @ ContestStatsText_IndigoPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x7
+ b ._400
+._368:
+ .align 2, 0
+._367:
+ .word ContestStatsText_IndigoPokeBlock
+._365:
+ cmp r2, #0x2
+ bne ._369 @cond_branch
+ ldr r1, ._371 @ ContestStatsText_BrownPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x8
+ b ._400
+._372:
+ .align 2, 0
+._371:
+ .word ContestStatsText_BrownPokeBlock
+._369:
+ cmp r2, #0x3
+ bne ._373 @cond_branch
+ ldr r1, ._375 @ ContestStatsText_LiteBluePokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x9
+ b ._400
+._376:
+ .align 2, 0
+._375:
+ .word ContestStatsText_LiteBluePokeBlock
+._373:
+ cmp r2, #0x4
+ bne ._377 @cond_branch
+ ldr r1, ._379 @ ContestStatsText_OlivePokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0xa
+ b ._400
+._380:
+ .align 2, 0
+._379:
+ .word ContestStatsText_OlivePokeBlock
+._377:
+ cmp r7, #0x1
+ beq ._381 @cond_branch
+ mov r0, r8
+ cmp r0, #0x1
+ bne ._399 @cond_branch
+._381:
+ mov r0, sp
+ mov r1, #0x0
+ ldsh r0, [r0, r1]
+ cmp r0, #0
+ beq ._383 @cond_branch
+ ldr r1, ._385 @ ContestStatsText_RedPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x1
+ b ._400
+._386:
+ .align 2, 0
+._385:
+ .word ContestStatsText_RedPokeBlock
+._383:
+ mov r0, sp
+ ldrh r0, [r0, #0x2]
+ cmp r0, #0
+ beq ._387 @cond_branch
+ ldr r1, ._389 @ ContestStatsText_BluePokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x2
+ b ._400
+._390:
+ .align 2, 0
+._389:
+ .word ContestStatsText_BluePokeBlock
+._387:
+ mov r0, sp
+ mov r4, #0x4
+ ldsh r0, [r0, r4]
+ cmp r0, #0
+ beq ._391 @cond_branch
+ ldr r1, ._393 @ ContestStatsText_PinkPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x3
+ b ._400
+._394:
+ .align 2, 0
+._393:
+ .word ContestStatsText_PinkPokeBlock
+._391:
+ mov r0, sp
+ mov r1, #0x6
+ ldsh r0, [r0, r1]
+ cmp r0, #0
+ beq ._395 @cond_branch
+ ldr r1, ._397 @ ContestStatsText_GreenPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x4
+ b ._400
+._398:
+ .align 2, 0
+._397:
+ .word ContestStatsText_GreenPokeBlock
+._395:
+ mov r0, sp
+ mov r4, #0x8
+ ldsh r0, [r0, r4]
+ cmp r0, #0
+ beq ._399 @cond_branch
+ ldr r1, ._401 @ ContestStatsText_YellowPokeBlock
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x5
+ b ._400
+._402:
+ .align 2, 0
+._401:
+ .word ContestStatsText_YellowPokeBlock
+._399:
+ ldr r1, ._403 @ gOtherText_FiveQuestions
+ add r0, r6, #0
+ bl StringCopy
+ mov r0, #0x0
+._400:
+ add sp, sp, #0x10
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._404:
+ .align 2, 0
+._403:
+ .word gOtherText_FiveQuestions
+
+ thumb_func_end debug_sub_8160714
+
+ thumb_func_start debug_sub_816097C
+debug_sub_816097C:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add r7, r0, #0
+ lsl r1, r1, #0x10
+ lsr r5, r1, #0x10
+ mov r6, #0x0
+ mov r1, #0x0
+._405:
+ add r0, r7, r6
+ strb r1, [r0]
+ add r0, r6, #1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x3
+ bls ._405 @cond_branch
+ mov r0, #0xff
+ strb r0, [r7, #0x4]
+ lsl r0, r5, #0x10
+ asr r0, r0, #0x10
+ cmp r0, #0
+ bne ._406 @cond_branch
+ mov r0, #0xa1
+ strb r0, [r7, #0x3]
+ b ._414
+._406:
+ cmp r0, #0
+ ble ._408 @cond_branch
+ mov r4, #0x64
+ mov r0, #0x0
+ mov r8, r0
+ mov r6, #0x0
+._412:
+ lsl r5, r5, #0x10
+ asr r0, r5, #0x10
+ lsl r4, r4, #0x10
+ asr r1, r4, #0x10
+ bl __divsi3
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r1, r8
+ cmp r1, #0
+ bne ._410 @cond_branch
+ cmp r6, #0x2
+ beq ._410 @cond_branch
+ cmp r2, #0
+ beq ._411 @cond_branch
+._410:
+ add r1, r6, r7
+ add r0, r2, #0
+ sub r0, r0, #0x5f
+ strb r0, [r1, #0x1]
+ mov r0, #0x1
+ mov r8, r0
+._411:
+ asr r0, r5, #0x10
+ asr r4, r4, #0x10
+ add r1, r4, #0
+ bl __modsi3
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r4, #0
+ mov r1, #0xa
+ bl __divsi3
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, r6, #1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x2
+ bls ._412 @cond_branch
+ b ._414
+._408:
+ cmp r0, #0
+ bge ._414 @cond_branch
+ neg r0, r0
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ mov r4, #0x64
+ mov r1, #0x0
+ mov r8, r1
+ mov r6, #0x0
+._419:
+ lsl r5, r5, #0x10
+ asr r0, r5, #0x10
+ lsl r4, r4, #0x10
+ asr r1, r4, #0x10
+ bl __divsi3
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r1, r8
+ lsl r0, r1, #0x10
+ add r3, r0, #0
+ cmp r3, #0
+ bne ._416 @cond_branch
+ cmp r6, #0x2
+ beq ._416 @cond_branch
+ cmp r2, #0
+ beq ._417 @cond_branch
+._416:
+ add r1, r6, r7
+ add r0, r2, #0
+ sub r0, r0, #0x5f
+ strb r0, [r1, #0x1]
+ cmp r3, #0
+ bne ._418 @cond_branch
+ mov r0, #0xae
+ strb r0, [r1]
+._418:
+ mov r0, #0x1
+ mov r8, r0
+._417:
+ asr r0, r5, #0x10
+ asr r4, r4, #0x10
+ add r1, r4, #0
+ bl __modsi3
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r4, #0
+ mov r1, #0xa
+ bl __divsi3
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, r6, #1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x2
+ bls ._419 @cond_branch
+._414:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_816097C
+
+ thumb_func_start debug_sub_8160A80
+debug_sub_8160A80:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add r2, r0, #0
+ ldr r1, ._422 @ _nakamuraStatic18
+ cmp r0, #0
+ bne ._420 @cond_branch
+ ldr r4, ._422 + 4 @ gStringVar1
+ ldrb r1, [r1, #0x1]
+ add r0, r4, #0
+ bl debug_sub_816097C
+ add r0, r4, #0
+ mov r1, #0x8
+ mov r2, #0x3
+ bl Menu_PrintText
+ b ._440
+._423:
+ .align 2, 0
+._422:
+ .word _nakamuraStatic18
+ .word gStringVar1
+._420:
+ cmp r0, #0x1
+ bne ._424 @cond_branch
+ ldr r4, ._426 @ gStringVar1
+ ldrb r1, [r1, #0x2]
+ add r0, r4, #0
+ bl debug_sub_816097C
+ add r0, r4, #0
+ mov r1, #0x8
+ mov r2, #0x5
+ bl Menu_PrintText
+ b ._440
+._427:
+ .align 2, 0
+._426:
+ .word gStringVar1
+._424:
+ cmp r0, #0x2
+ bne ._428 @cond_branch
+ ldr r4, ._430 @ gStringVar1
+ ldrb r1, [r1, #0x3]
+ add r0, r4, #0
+ bl debug_sub_816097C
+ add r0, r4, #0
+ mov r1, #0x8
+ mov r2, #0x7
+ bl Menu_PrintText
+ b ._440
+._431:
+ .align 2, 0
+._430:
+ .word gStringVar1
+._428:
+ cmp r0, #0x3
+ bne ._432 @cond_branch
+ ldr r4, ._434 @ gStringVar1
+ ldrb r1, [r1, #0x4]
+ add r0, r4, #0
+ bl debug_sub_816097C
+ add r0, r4, #0
+ mov r1, #0x8
+ mov r2, #0x9
+ bl Menu_PrintText
+ b ._440
+._435:
+ .align 2, 0
+._434:
+ .word gStringVar1
+._432:
+ cmp r0, #0x4
+ bne ._436 @cond_branch
+ ldr r4, ._438 @ gStringVar1
+ ldrb r1, [r1, #0x5]
+ add r0, r4, #0
+ bl debug_sub_816097C
+ add r0, r4, #0
+ mov r1, #0x8
+ mov r2, #0xb
+ bl Menu_PrintText
+ b ._440
+._439:
+ .align 2, 0
+._438:
+ .word gStringVar1
+._436:
+ cmp r2, #0x5
+ bne ._440 @cond_branch
+ ldr r4, ._441 @ gStringVar1
+ ldrb r1, [r1, #0x6]
+ add r0, r4, #0
+ bl debug_sub_816097C
+ add r0, r4, #0
+ mov r1, #0x8
+ mov r2, #0xd
+ bl Menu_PrintText
+._440:
+ pop {r4}
+ pop {r0}
+ bx r0
+._442:
+ .align 2, 0
+._441:
+ .word gStringVar1
+
+ thumb_func_end debug_sub_8160A80
+
+ thumb_func_start debug_sub_8160B50
+debug_sub_8160B50:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add r3, r0, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r4, r1, #0
+ ldr r2, ._445 @ _nakamuraStatic18
+ cmp r0, #0
+ bne ._443 @cond_branch
+ ldrb r0, [r2, #0x1]
+ add r0, r0, r1
+ strb r0, [r2, #0x1]
+ b ._455
+._446:
+ .align 2, 0
+._445:
+ .word _nakamuraStatic18
+._443:
+ cmp r0, #0x1
+ bne ._447 @cond_branch
+ ldrb r0, [r2, #0x2]
+ add r0, r0, r1
+ strb r0, [r2, #0x2]
+ b ._455
+._447:
+ cmp r0, #0x2
+ bne ._449 @cond_branch
+ ldrb r0, [r2, #0x3]
+ add r0, r0, r1
+ strb r0, [r2, #0x3]
+ b ._455
+._449:
+ cmp r0, #0x3
+ bne ._451 @cond_branch
+ ldrb r0, [r2, #0x4]
+ add r0, r0, r1
+ strb r0, [r2, #0x4]
+ b ._455
+._451:
+ cmp r0, #0x4
+ bne ._453 @cond_branch
+ ldrb r0, [r2, #0x5]
+ add r0, r0, r1
+ strb r0, [r2, #0x5]
+ b ._455
+._453:
+ cmp r3, #0x5
+ bne ._455 @cond_branch
+ ldrb r0, [r2, #0x6]
+ add r0, r0, r4
+ strb r0, [r2, #0x6]
+._455:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_8160B50
+
+ thumb_func_start debug_sub_8160BB0
+debug_sub_8160BB0:
+ push {r4, r5, lr}
+ ldr r5, ._456 @ gStringVar1
+ ldr r4, ._456 + 4 @ _nakamuraStatic18
+ add r0, r5, #0
+ add r1, r4, #0
+ bl debug_sub_8160714
+ strb r0, [r4]
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0x8
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._457:
+ .align 2, 0
+._456:
+ .word gStringVar1
+ .word _nakamuraStatic18
+
+ thumb_func_end debug_sub_8160BB0
+
+ thumb_func_start debug_sub_8160BE4
+debug_sub_8160BE4:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xc
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ bl debug_sub_8160BB0
+ ldr r0, ._459 @ gContestStatsText_Spicy
+ mov r1, #0x2
+ mov r2, #0x3
+ bl Menu_PrintText
+ ldr r0, ._459 + 4 @ gContestStatsText_Dry
+ mov r1, #0x2
+ mov r2, #0x5
+ bl Menu_PrintText
+ ldr r0, ._459 + 8 @ gContestStatsText_Sweet
+ mov r1, #0x2
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldr r0, ._459 + 12 @ gContestStatsText_Bitter
+ mov r1, #0x2
+ mov r2, #0x9
+ bl Menu_PrintText
+ ldr r0, ._459 + 16 @ gContestStatsText_Sour
+ mov r1, #0x2
+ mov r2, #0xb
+ bl Menu_PrintText
+ ldr r0, ._459 + 20 @ gContestStatsText_Tasty
+ mov r1, #0x2
+ mov r2, #0xd
+ bl Menu_PrintText
+ mov r4, #0x0
+._458:
+ add r0, r4, #0
+ bl debug_sub_8160A80
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x5
+ bls ._458 @cond_branch
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xb
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x6
+ bl InitMenu
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+._460:
+ .align 2, 0
+._459:
+ .word gContestStatsText_Spicy
+ .word gContestStatsText_Dry
+ .word gContestStatsText_Sweet
+ .word gContestStatsText_Bitter
+ .word gContestStatsText_Sour
+ .word gContestStatsText_Tasty
+
+ thumb_func_end debug_sub_8160BE4
+
+ thumb_func_start debug_sub_8160C7C
+debug_sub_8160C7C:
+ push {r4, lr}
+ ldr r2, ._469 @ _nakamuraStatic18
+ mov r1, #0x0
+ ldrb r0, [r2]
+ cmp r0, #0xc
+ bne ._467 @cond_branch
+ ldrb r0, [r2, #0x1]
+ cmp r0, #0x2
+ bne ._462 @cond_branch
+ mov r1, #0x1
+._462:
+ ldrb r0, [r2, #0x3]
+ cmp r0, #0x2
+ bne ._463 @cond_branch
+ add r0, r1, #1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+._463:
+ ldrb r0, [r2, #0x4]
+ cmp r0, #0x2
+ bne ._464 @cond_branch
+ add r0, r1, #1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+._464:
+ ldrb r0, [r2, #0x2]
+ cmp r0, #0x2
+ bne ._465 @cond_branch
+ add r0, r1, #1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+._465:
+ ldrb r0, [r2, #0x5]
+ cmp r0, #0x2
+ bne ._466 @cond_branch
+ add r0, r1, #1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+._466:
+ cmp r1, #0x3
+ beq ._467 @cond_branch
+ mov r0, #0x2
+ strb r0, [r2, #0x1]
+ strb r0, [r2, #0x3]
+ strb r0, [r2, #0x4]
+._467:
+ add r0, r2, #0
+ bl sub_810CA34
+ bl debug_sub_8160BB0
+ mov r4, #0x0
+._468:
+ add r0, r4, #0
+ bl debug_sub_8160A80
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x5
+ bls ._468 @cond_branch
+ pop {r4}
+ pop {r0}
+ bx r0
+._470:
+ .align 2, 0
+._469:
+ .word _nakamuraStatic18
+
+ thumb_func_end debug_sub_8160C7C
+
+ thumb_func_start debug_sub_8160CF4
+debug_sub_8160CF4:
+ push {lr}
+ ldr r2, ._473 @ gMain
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._471 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ b ._472
+._474:
+ .align 2, 0
+._473:
+ .word gMain
+._471:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._475 @cond_branch
+ mov r0, #0x1
+._472:
+ bl Menu_MoveCursor
+ mov r0, #0x0
+ b ._484
+._475:
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._477 @cond_branch
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ neg r1, r1
+ b ._478
+._477:
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._479 @cond_branch
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+._478:
+ bl debug_sub_8160B50
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl debug_sub_8160A80
+ bl debug_sub_8160BB0
+ mov r0, #0x0
+ b ._484
+._479:
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._481 @cond_branch
+ bl debug_sub_8160C7C
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x0
+ b ._484
+._481:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._483 @cond_branch
+ mov r0, #0x0
+ b ._484
+._483:
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ bl CloseMenu
+ mov r0, #0x1
+._484:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8160CF4
+
+ thumb_func_start debug_sub_8160D98
+debug_sub_8160D98:
+ push {lr}
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ bl debug_sub_8160BE4
+ ldr r1, ._485 @ gMenuCallback
+ ldr r0, ._485 + 4 @ debug_sub_8160CF4
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._486:
+ .align 2, 0
+._485:
+ .word gMenuCallback
+ .word debug_sub_8160CF4+1
+
+ thumb_func_end debug_sub_8160D98
+
+ thumb_func_start debug_sub_8160DC0
+debug_sub_8160DC0:
+ push {lr}
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x16
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._487 @ gOtherText_Slash
+ mov r1, #0xb
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._487 + 4 @ Str_843E5F2
+ mov r1, #0x2
+ mov r2, #0x3
+ bl Menu_PrintText
+ ldr r0, ._487 + 8 @ Str_843E5FB
+ mov r1, #0x2
+ mov r2, #0x5
+ bl Menu_PrintText
+ ldr r0, ._487 + 12 @ Str_843E606
+ mov r1, #0x2
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldr r0, ._487 + 16 @ Str_843E611
+ mov r1, #0x2
+ mov r2, #0x9
+ bl Menu_PrintText
+ ldr r0, ._487 + 20 @ Str_843E61C
+ mov r1, #0x2
+ mov r2, #0xb
+ bl Menu_PrintText
+ ldr r0, ._487 + 24 @ Str_843E627
+ mov r1, #0x2
+ mov r2, #0xd
+ bl Menu_PrintText
+ ldr r0, ._487 + 28 @ Str_843E637
+ mov r1, #0x2
+ mov r2, #0xf
+ bl Menu_PrintText
+ ldr r0, ._487 + 32 @ Str_843E632
+ mov r1, #0x2
+ mov r2, #0x11
+ bl Menu_PrintText
+ pop {r0}
+ bx r0
+._488:
+ .align 2, 0
+._487:
+ .word gOtherText_Slash
+ .word Str_843E5F2
+ .word Str_843E5FB
+ .word Str_843E606
+ .word Str_843E611
+ .word Str_843E61C
+ .word Str_843E627
+ .word Str_843E637
+ .word Str_843E632
+
+ thumb_func_end debug_sub_8160DC0
+
+ thumb_func_start debug_sub_8160E50
+debug_sub_8160E50:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0xa
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ ldr r5, ._489 @ gStringVar1
+ add r0, r6, #0
+ mov r1, #0x2
+ add r2, r5, #0
+ bl GetMonData
+ add r0, r5, #0
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ mov r0, #0xc
+ mov r1, #0x1
+ mov r2, #0x15
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ add r0, r6, #0
+ mov r1, #0xb
+ bl GetMonData
+ mov r1, #0xb
+ mul r0, r0, r1
+ ldr r1, ._489 + 4 @ gSpeciesNames
+ add r0, r0, r1
+ mov r1, #0xc
+ mov r2, #0x1
+ bl Menu_PrintText
+ add r0, r6, #0
+ mov r1, #0x1a
+ bl GetMonData
+ add r4, r0, #0
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x0
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, #0xd
+ mov r1, #0x3
+ mov r2, #0x11
+ mov r3, #0x4
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0x3
+ bl Menu_PrintText
+ add r0, r6, #0
+ mov r1, #0x1b
+ bl GetMonData
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r4, r4, r1
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, #0xd
+ mov r1, #0x5
+ mov r2, #0x11
+ mov r3, #0x6
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0x5
+ bl Menu_PrintText
+ add r0, r6, #0
+ mov r1, #0x1c
+ bl GetMonData
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r4, r4, r1
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, #0xd
+ mov r1, #0x7
+ mov r2, #0x11
+ mov r3, #0x8
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0x7
+ bl Menu_PrintText
+ add r0, r6, #0
+ mov r1, #0x1d
+ bl GetMonData
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r4, r4, r1
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, #0xd
+ mov r1, #0x9
+ mov r2, #0x11
+ mov r3, #0xa
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0x9
+ bl Menu_PrintText
+ add r0, r6, #0
+ mov r1, #0x1e
+ bl GetMonData
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r4, r4, r1
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, #0xd
+ mov r1, #0xb
+ mov r2, #0x11
+ mov r3, #0xc
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0xb
+ bl Menu_PrintText
+ add r0, r6, #0
+ mov r1, #0x1f
+ bl GetMonData
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r4, r4, r1
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, #0xd
+ mov r1, #0xd
+ mov r2, #0x11
+ mov r3, #0xe
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0xd
+ bl Menu_PrintText
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x0
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, #0xd
+ mov r1, #0xf
+ mov r2, #0x11
+ mov r3, #0x10
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0xf
+ bl Menu_PrintText
+ add r0, r6, #0
+ mov r1, #0x20
+ bl GetMonData
+ add r1, r0, #0
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, #0xd
+ mov r1, #0x11
+ mov r2, #0x11
+ mov r3, #0x12
+ bl Menu_BlankWindowRect
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0x11
+ bl Menu_PrintText
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._490:
+ .align 2, 0
+._489:
+ .word gStringVar1
+ .word gSpeciesNames
+
+ thumb_func_end debug_sub_8160E50
+
+ thumb_func_start debug_sub_8161028
+debug_sub_8161028:
+ push {r4, r5, r6, lr}
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ bne ._491 @cond_branch
+ ldr r0, ._496 @ _nakamuraData5
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne ._492 @cond_branch
+ mov r5, #0x5
+._494:
+ lsl r0, r5, #0x10
+ asr r4, r0, #0x10
+ mov r0, #0x64
+ mul r0, r0, r4
+ ldr r1, ._496 + 4 @ gPlayerParty
+ add r0, r0, r1
+ mov r1, #0xb
+ bl GetMonData
+ cmp r0, #0
+ bne ._493 @cond_branch
+ sub r0, r4, #1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r0, #0
+ bge ._494 @cond_branch
+._492:
+ ldr r1, ._496 @ _nakamuraData5
+ ldrb r0, [r1]
+ add r0, r0, r6
+ strb r0, [r1]
+ b ._506
+._497:
+ .align 2, 0
+._496:
+ .word _nakamuraData5
+ .word gPlayerParty
+._491:
+ cmp r1, #0x1
+ bne ._506 @cond_branch
+ ldr r4, ._501 @ _nakamuraData5
+ ldrb r0, [r4]
+ add r0, r0, r6
+ strb r0, [r4]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x6
+ bne ._499 @cond_branch
+ mov r0, #0x0
+ b ._500
+._502:
+ .align 2, 0
+._501:
+ .word _nakamuraData5
+._493:
+ ldr r0, ._504 @ _nakamuraData5
+ strb r5, [r0]
+ b ._506
+._505:
+ .align 2, 0
+._504:
+ .word _nakamuraData5
+._499:
+ ldrb r1, [r4]
+ mov r0, #0x64
+ mul r0, r0, r1
+ ldr r1, ._507 @ gPlayerParty
+ add r0, r0, r1
+ mov r1, #0xb
+ bl GetMonData
+ cmp r0, #0
+ bne ._506 @cond_branch
+._500:
+ strb r0, [r4]
+._506:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._508:
+ .align 2, 0
+._507:
+ .word gPlayerParty
+
+ thumb_func_end debug_sub_8161028
+
+ thumb_func_start debug_sub_81610BC
+debug_sub_81610BC:
+ push {lr}
+ ldr r0, ._511 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._509 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ b ._510
+._512:
+ .align 2, 0
+._511:
+ .word gMain
+._509:
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._513 @cond_branch
+ mov r0, #0x1
+._510:
+ bl debug_sub_8161028
+ ldr r0, ._515 @ _nakamuraData5
+ ldrb r1, [r0]
+ mov r0, #0x64
+ mul r0, r0, r1
+ ldr r1, ._515 + 4 @ gPlayerParty
+ add r0, r0, r1
+ bl debug_sub_8160E50
+ mov r0, #0x0
+ b ._518
+._516:
+ .align 2, 0
+._515:
+ .word _nakamuraData5
+ .word gPlayerParty
+._513:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._517 @cond_branch
+ mov r0, #0x0
+ b ._518
+._517:
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ bl CloseMenu
+ mov r0, #0x1
+._518:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_81610BC
+
+ thumb_func_start DebugMenu_EffortValues
+DebugMenu_EffortValues:
+ push {lr}
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ ldr r1, ._519 @ _nakamuraData5
+ mov r0, #0x0
+ strb r0, [r1]
+ bl debug_sub_8160DC0
+ ldr r0, ._519 + 4 @ gPlayerParty
+ bl debug_sub_8160E50
+ ldr r1, ._519 + 8 @ gMenuCallback
+ ldr r0, ._519 + 12 @ debug_sub_81610BC
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._520:
+ .align 2, 0
+._519:
+ .word _nakamuraData5
+ .word gPlayerParty
+ .word gMenuCallback
+ .word debug_sub_81610BC+1
+
+ thumb_func_end DebugMenu_EffortValues
+
+ thumb_func_start debug_sub_8161160
+debug_sub_8161160:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ mov r7, #0x0
+ ldr r2, ._523 @ _nakamuraData6
+ ldr r1, ._523 + 4 @ _nakamuraData8
+ ldrh r0, [r2]
+ ldrh r3, [r1]
+ cmp r0, r3
+ bhi ._521 @cond_branch
+ add r6, r0, #0
+ ldrh r5, [r1]
+ b ._522
+._524:
+ .align 2, 0
+._523:
+ .word _nakamuraData6
+ .word _nakamuraData8
+._521:
+ ldrh r6, [r1]
+ ldrh r5, [r2]
+._522:
+ mov r4, #0x0
+ ldr r0, ._529 @ _nakamuraDataA
+ ldrh r0, [r0]
+ cmp r4, r0
+ bcs ._525 @cond_branch
+ ldr r0, ._529 + 4 @ _nakamuraDataC
+ mov r8, r0
+._528:
+ bl Random
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, r8
+ ldrh r1, [r2]
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, r6
+ bcc ._527 @cond_branch
+ cmp r0, r5
+ bhi ._527 @cond_branch
+ add r0, r7, #1
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+._527:
+ add r4, r4, #0x1
+ ldr r0, ._529 @ _nakamuraDataA
+ ldrh r0, [r0]
+ cmp r4, r0
+ bcc ._528 @cond_branch
+._525:
+ add r0, r7, #0
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._530:
+ .align 2, 0
+._529:
+ .word _nakamuraDataA
+ .word _nakamuraDataC
+
+ thumb_func_end debug_sub_8161160
+
+ thumb_func_start debug_sub_81611D8
+debug_sub_81611D8:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xf
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._531 @ Str_843E642
+ mov r1, #0x2
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r0, ._531 + 4 @ Str_843E647
+ mov r1, #0x2
+ mov r2, #0x3
+ bl Menu_PrintText
+ ldr r0, ._531 + 8 @ Str_843E65A
+ mov r1, #0x2
+ mov r2, #0x5
+ bl Menu_PrintText
+ ldr r0, ._531 + 12 @ Str_843E64C
+ mov r1, #0x2
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldr r0, ._531 + 16 @ Str_843E651
+ mov r1, #0x2
+ mov r2, #0x9
+ bl Menu_PrintText
+ ldr r0, ._531 + 20 @ Str_843E655
+ mov r1, #0xd
+ mov r2, #0x9
+ bl Menu_PrintText
+ ldr r4, ._531 + 24 @ Str_843E658
+ add r0, r4, #0
+ mov r1, #0xc
+ mov r2, #0x1
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0xc
+ mov r2, #0x3
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0xc
+ mov r2, #0x5
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0xc
+ mov r2, #0x7
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0xc
+ mov r2, #0x9
+ bl Menu_PrintText
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xe
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x4
+ bl InitMenu
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+._532:
+ .align 2, 0
+._531:
+ .word Str_843E642
+ .word Str_843E647
+ .word Str_843E65A
+ .word Str_843E64C
+ .word Str_843E651
+ .word Str_843E655
+ .word Str_843E658
+
+ thumb_func_end debug_sub_81611D8
+
+ thumb_func_start debug_sub_8161290
+debug_sub_8161290:
+ push {r4, lr}
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ ldr r4, ._533 @ gStringVar1
+ add r0, r4, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x8
+ mov r2, #0x9
+ bl Menu_PrintText
+ pop {r4}
+ pop {r0}
+ bx r0
+._534:
+ .align 2, 0
+._533:
+ .word gStringVar1
+
+ thumb_func_end debug_sub_8161290
+
+ thumb_func_start debug_sub_81612B8
+debug_sub_81612B8:
+ push {r4, r5, lr}
+ add r4, r2, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ lsl r1, r1, #0x18
+ asr r1, r1, #0x18
+ ldrh r2, [r0]
+ add r1, r1, r2
+ strh r1, [r0]
+ ldr r5, ._535 @ gStringVar1
+ ldrh r1, [r0]
+ add r0, r5, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r5, #0
+ mov r1, #0x8
+ add r2, r4, #0
+ bl Menu_PrintText
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._536:
+ .align 2, 0
+._535:
+ .word gStringVar1
+
+ thumb_func_end debug_sub_81612B8
+
+ thumb_func_start debug_sub_81612EC
+debug_sub_81612EC:
+ push {r4, r5, lr}
+ ldr r2, ._540 @ gMain
+ ldrh r1, [r2, #0x2c]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ mov r5, #0x1
+ cmp r0, #0
+ beq ._537 @cond_branch
+ mov r5, #0x64
+._537:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._538 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ b ._539
+._541:
+ .align 2, 0
+._540:
+ .word gMain
+._538:
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._542 @cond_branch
+ mov r0, #0x1
+._539:
+ bl Menu_MoveCursor
+._565:
+ mov r0, #0x0
+ b ._543
+._542:
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._544 @cond_branch
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+ cmp r4, #0
+ bne ._545 @cond_branch
+ ldr r0, ._550 @ _nakamuraData6
+ neg r1, r5
+ mov r2, #0x1
+ bl debug_sub_81612B8
+._545:
+ cmp r4, #0x1
+ bne ._546 @cond_branch
+ ldr r0, ._550 + 4 @ _nakamuraData8
+ neg r1, r5
+ mov r2, #0x3
+ bl debug_sub_81612B8
+._546:
+ cmp r4, #0x2
+ bne ._547 @cond_branch
+ ldr r0, ._550 + 8 @ _nakamuraDataC
+ neg r1, r5
+ mov r2, #0x5
+ bl debug_sub_81612B8
+._547:
+ cmp r4, #0x3
+ bne ._565 @cond_branch
+ ldr r0, ._550 + 12 @ _nakamuraDataA
+ neg r1, r5
+ mov r2, #0x7
+ bl debug_sub_81612B8
+ b ._565
+._551:
+ .align 2, 0
+._550:
+ .word _nakamuraData6
+ .word _nakamuraData8
+ .word _nakamuraDataC
+ .word _nakamuraDataA
+._544:
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._552 @cond_branch
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+ cmp r4, #0
+ bne ._553 @cond_branch
+ ldr r0, ._558 @ _nakamuraData6
+ add r1, r5, #0
+ mov r2, #0x1
+ bl debug_sub_81612B8
+._553:
+ cmp r4, #0x1
+ bne ._554 @cond_branch
+ ldr r0, ._558 + 4 @ _nakamuraData8
+ add r1, r5, #0
+ mov r2, #0x3
+ bl debug_sub_81612B8
+._554:
+ cmp r4, #0x2
+ bne ._555 @cond_branch
+ ldr r0, ._558 + 8 @ _nakamuraDataC
+ add r1, r5, #0
+ mov r2, #0x5
+ bl debug_sub_81612B8
+._555:
+ cmp r4, #0x3
+ bne ._565 @cond_branch
+ ldr r0, ._558 + 12 @ _nakamuraDataA
+ add r1, r5, #0
+ mov r2, #0x7
+ bl debug_sub_81612B8
+ b ._565
+._559:
+ .align 2, 0
+._558:
+ .word _nakamuraData6
+ .word _nakamuraData8
+ .word _nakamuraDataC
+ .word _nakamuraDataA
+._552:
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._560 @cond_branch
+ ldr r0, ._563 @ _nakamuraDataC
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq ._565 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ bl debug_sub_8161160
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl debug_sub_8161290
+ b ._565
+._564:
+ .align 2, 0
+._563:
+ .word _nakamuraDataC
+._560:
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._565 @cond_branch
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ bl CloseMenu
+ mov r0, #0x1
+._543:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_81612EC
+
+ thumb_func_start DebugMenu_RandomNumberTest
+DebugMenu_RandomNumberTest:
+ push {lr}
+ ldr r0, ._566 @ _nakamuraData6
+ mov r1, #0x0
+ strh r1, [r0]
+ ldr r0, ._566 + 4 @ _nakamuraData8
+ strh r1, [r0]
+ ldr r0, ._566 + 8 @ _nakamuraDataC
+ strh r1, [r0]
+ ldr r0, ._566 + 12 @ _nakamuraDataA
+ strh r1, [r0]
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_EraseWindowRect
+ bl debug_sub_81611D8
+ ldr r1, ._566 + 16 @ gMenuCallback
+ ldr r0, ._566 + 20 @ debug_sub_81612EC
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._567:
+ .align 2, 0
+._566:
+ .word _nakamuraData6
+ .word _nakamuraData8
+ .word _nakamuraDataC
+ .word _nakamuraDataA
+ .word gMenuCallback
+ .word debug_sub_81612EC+1
+
+ thumb_func_end DebugMenu_RandomNumberTest
+
+ .align 2, 0
+
+.endif
diff --git a/asm/nohara_debug_menu.s b/asm/nohara_debug_menu.s
new file mode 100644
index 000000000..1bc077b90
--- /dev/null
+++ b/asm/nohara_debug_menu.s
@@ -0,0 +1,2198 @@
+.if DEBUG
+
+ .include "constants/gba_constants.inc"
+ .include "include/macros.inc"
+
+ .text
+
+ thumb_func_start InitNoharaDebugMenu
+InitNoharaDebugMenu:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x13
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._1 @ gUnknown_Debug_083C4938
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x12
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._1 + 4 @ gMenuCallback
+ ldr r0, ._1 + 8 @ debug_sub_808F414
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._2:
+ .align 2, 0
+._1:
+ .word gUnknown_Debug_083C4938
+ .word gMenuCallback
+ .word debug_sub_808F414+1
+
+ thumb_func_end InitNoharaDebugMenu
+
+ thumb_func_start debug_sub_808F414
+debug_sub_808F414:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ beq ._3 @cond_branch
+ add r0, r0, #0x1
+ cmp r1, r0
+ beq ._4 @cond_branch
+ ldr r2, ._6 @ gMenuCallback
+ ldr r0, ._6 + 4 @ gUnknown_Debug_083C4938
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+._3:
+ mov r0, #0x0
+ b ._5
+._7:
+ .align 2, 0
+._6:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C4938
+._4:
+ bl CloseMenu
+ mov r0, #0x1
+._5:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808F414
+
+ thumb_func_start NoharaDebugMenu_TV
+NoharaDebugMenu_TV:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ ldr r1, ._8 @ gDebug_03000726
+ mov r0, #0x0
+ strb r0, [r1]
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xa
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._8 + 4 @ gUnknown_Debug_083C4B8C
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x9
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._8 + 8 @ gMenuCallback
+ ldr r0, ._8 + 12 @ debug_sub_808F4AC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._9:
+ .align 2, 0
+._8:
+ .word gDebug_03000726
+ .word gUnknown_Debug_083C4B8C
+ .word gMenuCallback
+ .word debug_sub_808F4AC+1
+
+ thumb_func_end NoharaDebugMenu_TV
+
+ thumb_func_start debug_sub_808F4AC
+debug_sub_808F4AC:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ beq ._10 @cond_branch
+ add r0, r0, #0x1
+ cmp r1, r0
+ beq ._11 @cond_branch
+ ldr r2, ._13 @ gMenuCallback
+ ldr r0, ._13 + 4 @ gUnknown_Debug_083C4B8C
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+._10:
+ mov r0, #0x0
+ b ._12
+._14:
+ .align 2, 0
+._13:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C4B8C
+._11:
+ bl CloseMenu
+ mov r0, #0x1
+._12:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808F4AC
+
+ thumb_func_start debug_sub_808F4EC
+debug_sub_808F4EC:
+ push {lr}
+ bl debug_sub_808F6BC
+ ldr r0, ._15 @ gUnknown_Debug_083C4980
+ bl sub_8071F40
+ mov r0, #0x3
+ mov r1, #0x3
+ mov r2, #0x1
+ bl DisplayYesNoMenu
+ ldr r1, ._15 + 4 @ gMenuCallback
+ ldr r0, ._15 + 8 @ debug_sub_808F648
+ str r0, [r1]
+ pop {r0}
+ bx r0
+._16:
+ .align 2, 0
+._15:
+ .word gUnknown_Debug_083C4980
+ .word gMenuCallback
+ .word debug_sub_808F648+1
+
+ thumb_func_end debug_sub_808F4EC
+
+ thumb_func_start debug_sub_808F518
+debug_sub_808F518:
+ push {r4, lr}
+ mov r2, #0x0
+ ldr r4, ._20 @ gSaveBlock1
+ ldr r3, ._20 + 4 @ 0x2738
+._19:
+ lsl r0, r2, #0x3
+ add r0, r0, r2
+ lsl r0, r0, #0x2
+ add r1, r0, r4
+ add r0, r1, r3
+ ldrb r0, [r0]
+ sub r0, r0, #0x15
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x13
+ bhi ._18 @cond_branch
+ ldr r0, ._20 + 8 @ 0x2739
+ add r1, r1, r0
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._18 @cond_branch
+ mov r0, #0x1
+ strb r0, [r1]
+._18:
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x17
+ bls ._19 @cond_branch
+ pop {r4}
+ pop {r0}
+ bx r0
+._21:
+ .align 2, 0
+._20:
+ .word gSaveBlock1
+ .word 0x2738
+ .word 0x2739
+
+ thumb_func_end debug_sub_808F518
+
+ thumb_func_start debug_sub_808F560
+debug_sub_808F560:
+ push {r4, lr}
+ mov r1, #0x0
+ ldr r4, ._23 @ gSaveBlock1
+ ldr r3, ._23 + 4 @ 0x2739
+ mov r2, #0x0
+._22:
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r0, r0, #0x2
+ add r0, r0, r4
+ add r0, r0, r3
+ strb r2, [r0]
+ add r0, r1, #1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ cmp r1, #0x17
+ bls ._22 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+._24:
+ .align 2, 0
+._23:
+ .word gSaveBlock1
+ .word 0x2739
+
+ thumb_func_end debug_sub_808F560
+
+ thumb_func_start debug_sub_808F594
+debug_sub_808F594:
+ push {r4, r5, r6, lr}
+ mov r2, #0x0
+ ldr r6, ._27 @ gSaveBlock1
+ ldr r5, ._27 + 4 @ 0x2738
+ ldr r4, ._27 + 8 @ 0x2739
+ mov r3, #0x1
+._26:
+ lsl r0, r2, #0x3
+ add r0, r0, r2
+ lsl r0, r0, #0x2
+ add r1, r0, r6
+ add r0, r1, r5
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._25 @cond_branch
+ add r0, r1, r4
+ strb r3, [r0]
+._25:
+ add r0, r2, #1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x17
+ bls ._26 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._28:
+ .align 2, 0
+._27:
+ .word gSaveBlock1
+ .word 0x2738
+ .word 0x2739
+
+ thumb_func_end debug_sub_808F594
+
+ thumb_func_start debug_sub_808F5D8
+debug_sub_808F5D8:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ mov r4, #0x0
+ ldr r6, ._30 @ gStringVar1
+ ldr r7, ._30 + 4 @ gUnknown_Debug_083C4BD4
+ add r0, r7, #1
+ mov r8, r0
+._29:
+ ldr r5, ._30 + 8 @ gSpecialVar_0x8004
+ strh r4, [r5]
+ bl GetSlotMachineId
+ add r1, r0, #0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r6, #0
+ mov r2, #0x0
+ mov r3, #0x1
+ bl ConvertIntToDecimalStringN
+ lsl r0, r4, #0x1
+ add r0, r0, r4
+ lsl r0, r0, #0x2
+ add r1, r0, r7
+ ldrb r1, [r1]
+ add r0, r0, r8
+ ldrb r2, [r0]
+ add r0, r6, #0
+ bl Menu_PrintText
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0xb
+ bls ._29 @cond_branch
+ mov r0, #0x0
+ strh r0, [r5]
+ ldr r1, ._30 + 12 @ gMenuCallback
+ ldr r0, ._30 + 16 @ debug_sub_8090278
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._31:
+ .align 2, 0
+._30:
+ .word gStringVar1
+ .word gUnknown_Debug_083C4BD4
+ .word gSpecialVar_0x8004
+ .word gMenuCallback
+ .word debug_sub_8090278+1
+
+ thumb_func_end debug_sub_808F5D8
+
+ thumb_func_start debug_sub_808F648
+debug_sub_808F648:
+ push {lr}
+ ldr r0, ._35 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._32 @cond_branch
+ mov r0, #0xa
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xd
+ bl Menu_EraseWindowRect
+ ldr r0, ._35 + 4 @ gDebug_03000726
+ ldrb r1, [r0]
+ mov r2, #0x1
+ eor r1, r1, r2
+ strb r1, [r0]
+ cmp r1, #0
+ beq ._33 @cond_branch
+ bl debug_sub_808F7B4
+ b ._40
+._36:
+ .align 2, 0
+._35:
+ .word gMain
+ .word gDebug_03000726
+._33:
+ bl debug_sub_808F6BC
+ b ._40
+._32:
+ bl Menu_ProcessInputNoWrap_
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._43 @cond_branch
+ cmp r1, r0
+ bgt ._39 @cond_branch
+ sub r0, r0, #0x1
+ cmp r1, r0
+ beq ._40 @cond_branch
+ b ._43
+._39:
+ cmp r1, #0
+ beq ._42 @cond_branch
+ b ._43
+._40:
+ mov r0, #0x0
+ b ._44
+._42:
+ bl debug_sub_808F518
+._43:
+ bl CloseMenu
+ mov r0, #0x1
+._44:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808F648
+
+ thumb_func_start debug_sub_808F6BC
+debug_sub_808F6BC:
+ push {r4, r5, r6, lr}
+ mov r4, #0x0
+ ldr r5, ._48 @ gStringVar1
+ ldr r6, ._48 + 4 @ gSaveBlock1
+._45:
+ lsl r0, r4, #0x3
+ add r0, r0, r4
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ ldr r1, ._48 + 8 @ 0x2738
+ add r0, r0, r1
+ ldrb r1, [r0]
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ lsl r1, r4, #0x19
+ mov r0, #0xa0
+ lsl r0, r0, #0x14
+ add r1, r1, r0
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0x0
+ bl Menu_PrintText
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x4
+ bls ._45 @cond_branch
+ mov r4, #0x5
+ ldr r5, ._48 @ gStringVar1
+ ldr r6, ._48 + 4 @ gSaveBlock1
+._50:
+ lsl r0, r4, #0x3
+ add r0, r0, r4
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ ldr r1, ._48 + 8 @ 0x2738
+ add r0, r0, r1
+ ldrb r1, [r0]
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ cmp r4, #0xe
+ bhi ._46 @cond_branch
+ lsl r1, r4, #0x19
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0x3
+ bl Menu_PrintText
+ b ._47
+._49:
+ .align 2, 0
+._48:
+ .word gStringVar1
+ .word gSaveBlock1
+ .word 0x2738
+._46:
+ lsl r1, r4, #0x19
+ mov r0, #0xec
+ lsl r0, r0, #0x18
+ add r1, r1, r0
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0x6
+ bl Menu_PrintText
+._47:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x17
+ bls ._50 @cond_branch
+ mov r4, #0x0
+ ldr r5, ._53 @ gStringVar1
+._55:
+ ldr r0, ._53 + 4 @ gSaveBlock1
+ lsl r1, r4, #0x2
+ add r1, r1, r0
+ ldr r0, ._53 + 8 @ 0x2abc
+ add r1, r1, r0
+ ldrb r1, [r1]
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ cmp r4, #0x7
+ bhi ._51 @cond_branch
+ lsl r1, r4, #0x19
+ mov r0, #0xa0
+ lsl r0, r0, #0x14
+ add r1, r1, r0
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0x9
+ bl Menu_PrintText
+ b ._52
+._54:
+ .align 2, 0
+._53:
+ .word gStringVar1
+ .word gSaveBlock1
+ .word 0x2abc
+._51:
+ lsl r1, r4, #0x19
+ mov r0, #0xfa
+ lsl r0, r0, #0x18
+ add r1, r1, r0
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0xc
+ bl Menu_PrintText
+._52:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0xf
+ bls ._55 @cond_branch
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808F6BC
+
+ thumb_func_start debug_sub_808F7B4
+debug_sub_808F7B4:
+ push {r4, r5, r6, lr}
+ mov r4, #0x0
+ ldr r5, ._59 @ gStringVar1
+ ldr r6, ._59 + 4 @ gSaveBlock1
+._56:
+ lsl r0, r4, #0x3
+ add r0, r0, r4
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ ldr r1, ._59 + 8 @ 0x2739
+ add r0, r0, r1
+ ldrb r1, [r0]
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ lsl r1, r4, #0x19
+ mov r0, #0xa0
+ lsl r0, r0, #0x14
+ add r1, r1, r0
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0x0
+ bl Menu_PrintText
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x4
+ bls ._56 @cond_branch
+ mov r4, #0x5
+ ldr r5, ._59 @ gStringVar1
+ ldr r6, ._59 + 4 @ gSaveBlock1
+._61:
+ lsl r0, r4, #0x3
+ add r0, r0, r4
+ lsl r0, r0, #0x2
+ add r0, r0, r6
+ ldr r1, ._59 + 8 @ 0x2739
+ add r0, r0, r1
+ ldrb r1, [r0]
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ cmp r4, #0xe
+ bhi ._57 @cond_branch
+ lsl r1, r4, #0x19
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0x3
+ bl Menu_PrintText
+ b ._58
+._60:
+ .align 2, 0
+._59:
+ .word gStringVar1
+ .word gSaveBlock1
+ .word 0x2739
+._57:
+ lsl r1, r4, #0x19
+ mov r0, #0xec
+ lsl r0, r0, #0x18
+ add r1, r1, r0
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0x6
+ bl Menu_PrintText
+._58:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x17
+ bls ._61 @cond_branch
+ mov r4, #0x0
+ ldr r5, ._64 @ gStringVar1
+._66:
+ ldr r0, ._64 + 4 @ gSaveBlock1
+ lsl r1, r4, #0x2
+ add r1, r1, r0
+ ldr r0, ._64 + 8 @ 0x2abd
+ add r1, r1, r0
+ ldrb r1, [r1]
+ add r0, r5, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ cmp r4, #0x7
+ bhi ._62 @cond_branch
+ lsl r1, r4, #0x19
+ mov r0, #0xa0
+ lsl r0, r0, #0x14
+ add r1, r1, r0
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0x9
+ bl Menu_PrintText
+ b ._63
+._65:
+ .align 2, 0
+._64:
+ .word gStringVar1
+ .word gSaveBlock1
+ .word 0x2abd
+._62:
+ lsl r1, r4, #0x19
+ mov r0, #0xfa
+ lsl r0, r0, #0x18
+ add r1, r1, r0
+ lsr r1, r1, #0x18
+ add r0, r5, #0
+ mov r2, #0xc
+ bl Menu_PrintText
+._63:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0xf
+ bls ._66 @cond_branch
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808F7B4
+
+ thumb_func_start debug_sub_808F8AC
+debug_sub_808F8AC:
+ push {lr}
+ ldr r0, ._67 @ 0x832
+ bl FlagSet
+ ldr r0, ._67 + 4 @ 0x818
+ bl FlagSet
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._68:
+ .align 2, 0
+._67:
+ .word 0x832
+ .word 0x818
+
+ thumb_func_end debug_sub_808F8AC
+
+ thumb_func_start debug_sub_808F8CC
+debug_sub_808F8CC:
+ push {r4, lr}
+ ldr r1, ._69 @ gDebug_03000724
+ mov r0, #0x0
+ strb r0, [r1]
+ ldr r0, ._69 + 4 @ gUnknown_Debug_083C49CA
+ bl sub_8071F40
+ mov r0, #0xd
+ mov r1, #0x6
+ mov r2, #0x1a
+ mov r3, #0x8
+ bl Menu_BlankWindowRect
+ ldr r0, ._69 + 8 @ gUnknown_Debug_083C4ACC
+ ldr r0, [r0]
+ mov r1, #0xe
+ mov r2, #0x7
+ bl Menu_PrintText
+ mov r0, #0x16
+ mov r1, #0x1
+ mov r2, #0x18
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ ldr r4, ._69 + 12 @ gStringVar1
+ add r0, r4, #0
+ mov r1, #0x0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x17
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r1, ._69 + 16 @ gMenuCallback
+ ldr r0, ._69 + 20 @ debug_sub_808F93C
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+._70:
+ .align 2, 0
+._69:
+ .word gDebug_03000724
+ .word gUnknown_Debug_083C49CA
+ .word gUnknown_Debug_083C4ACC
+ .word gStringVar1
+ .word gMenuCallback
+ .word debug_sub_808F93C+1
+
+ thumb_func_end debug_sub_808F8CC
+
+ thumb_func_start debug_sub_808F93C
+debug_sub_808F93C:
+ push {r4, lr}
+ mov r2, #0x0
+ ldr r0, ._83 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._71 @cond_branch
+ ldr r1, ._83 + 4 @ gDebug_03000725
+ ldrb r0, [r1]
+ add r0, r0, #0x1
+ strb r0, [r1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x18
+ bne ._72 @cond_branch
+ strb r2, [r1]
+._72:
+ mov r0, #0x5
+ bl PlaySE
+ mov r2, #0x1
+._71:
+ ldr r0, ._83 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._73 @cond_branch
+ ldr r1, ._83 + 4 @ gDebug_03000725
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._74 @cond_branch
+ mov r0, #0x18
+ strb r0, [r1]
+._74:
+ ldrb r0, [r1]
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ mov r0, #0x5
+ bl PlaySE
+ mov r2, #0x1
+._73:
+ ldr r0, ._83 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._75 @cond_branch
+ ldr r1, ._83 + 8 @ gDebug_03000724
+ ldrb r0, [r1]
+ add r0, r0, #0x1
+ strb r0, [r1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0xc
+ bne ._76 @cond_branch
+ mov r0, #0x0
+ strb r0, [r1]
+._76:
+ mov r0, #0x5
+ bl PlaySE
+ mov r2, #0x1
+._75:
+ ldr r0, ._83 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._77 @cond_branch
+ ldr r1, ._83 + 8 @ gDebug_03000724
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._78 @cond_branch
+ mov r0, #0xc
+ strb r0, [r1]
+._78:
+ ldrb r0, [r1]
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ mov r0, #0x5
+ bl PlaySE
+ mov r2, #0x1
+._77:
+ cmp r2, #0
+ beq ._79 @cond_branch
+ mov r0, #0xd
+ mov r1, #0x6
+ mov r2, #0x1a
+ mov r3, #0x8
+ bl Menu_BlankWindowRect
+ ldr r1, ._83 + 12 @ gUnknown_Debug_083C4ACC
+ ldr r0, ._83 + 8 @ gDebug_03000724
+ ldrb r0, [r0]
+ lsl r0, r0, #0x2
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov r1, #0xe
+ mov r2, #0x7
+ bl Menu_PrintText
+ mov r0, #0x16
+ mov r1, #0x1
+ mov r2, #0x18
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ ldr r4, ._83 + 16 @ gStringVar1
+ ldr r0, ._83 + 4 @ gDebug_03000725
+ ldrb r1, [r0]
+ add r0, r4, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x17
+ mov r2, #0x1
+ bl Menu_PrintText
+._79:
+ ldr r4, ._83 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._80 @cond_branch
+ mov r0, #0x15
+ bl PlaySE
+ ldr r0, ._83 + 4 @ gDebug_03000725
+ ldrb r0, [r0]
+ ldr r2, ._83 + 20 @ gUnknown_Debug_083C4ABD
+ ldr r1, ._83 + 8 @ gDebug_03000724
+ ldrb r1, [r1]
+ add r1, r1, r2
+ ldrb r1, [r1]
+ bl debug_sub_808FA88
+._80:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0xa
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._81 @cond_branch
+ mov r0, #0x0
+ b ._82
+._84:
+ .align 2, 0
+._83:
+ .word gMain
+ .word gDebug_03000725
+ .word gDebug_03000724
+ .word gUnknown_Debug_083C4ACC
+ .word gStringVar1
+ .word gUnknown_Debug_083C4ABD
+._81:
+ ldr r0, ._85 @ gSaveBlock1
+ bl sub_80BF588
+ bl CloseMenu
+ mov r0, #0x1
+._82:
+ pop {r4}
+ pop {r1}
+ bx r1
+._86:
+ .align 2, 0
+._85:
+ .word gSaveBlock1+0x2738
+
+ thumb_func_end debug_sub_808F93C
+
+ thumb_func_start debug_sub_808FA88
+debug_sub_808FA88:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ add sp, sp, #0xffffffcc
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r7, r1, #0x18
+ bl GetLeadMonIndex
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r9, r0
+ ldr r3, ._92 @ gSaveBlock1
+ lsl r4, r6, #0x3
+ add r2, r4, r6
+ lsl r2, r2, #0x2
+ add r0, r2, r3
+ ldr r5, ._92 + 4 @ 0x2738
+ add r1, r0, r5
+ strb r7, [r1]
+ ldr r1, ._92 + 8 @ 0x2739
+ add r0, r0, r1
+ mov r1, #0x1
+ strb r1, [r0]
+ mov r1, #0x0
+ ldr r0, ._92 + 12 @ 0x273a
+ add r5, r3, r0
+ mov r3, #0x1
+._87:
+ add r0, r1, r2
+ add r0, r0, r5
+ strb r3, [r0]
+ add r0, r1, #1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ cmp r1, #0x21
+ bls ._87 @cond_branch
+ add r0, r7, #0
+ bl GetTVChannelByShowType
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add r1, r0, #0
+ cmp r0, #0x3
+ beq ._88 @cond_branch
+ cmp r0, #0x3
+ bgt ._89 @cond_branch
+ cmp r0, #0x2
+ beq ._90 @cond_branch
+ b ._95
+._93:
+ .align 2, 0
+._92:
+ .word gSaveBlock1
+ .word 0x2738
+ .word 0x2739
+ .word 0x273a
+._89:
+ cmp r1, #0x4
+ bne ._95 @cond_branch
+._90:
+ add r0, r4, r6
+ lsl r0, r0, #0x2
+ ldr r1, ._96 @ gSaveBlock1
+ add r0, r0, r1
+ bl sub_80BE160
+ b ._95
+._97:
+ .align 2, 0
+._96:
+ .word gSaveBlock1+0x2738
+._88:
+ add r0, r4, r6
+ lsl r0, r0, #0x2
+ ldr r1, ._100 @ gSaveBlock1
+ add r0, r0, r1
+ bl sub_80BE138
+._95:
+ sub r0, r7, #1
+ cmp r0, #0x28
+ bls ._98 @cond_branch
+ b ._173
+._98:
+ lsl r0, r0, #0x2
+ ldr r1, ._100 + 4 @
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._101:
+ .align 2, 0
+._100:
+ .word gSaveBlock1+0x2738
+ .word ._102
+._102:
+ .word ._104
+ .word ._104
+ .word ._105
+ .word ._173
+ .word ._107
+ .word ._108
+ .word ._109
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._123
+ .word ._124
+ .word ._125
+ .word ._126
+ .word ._127
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._173
+ .word ._143
+._104:
+ add r0, r4, r6
+ lsl r0, r0, #0x2
+ ldr r1, ._145 @ gSaveBlock1
+ add r4, r0, r1
+ mov r2, #0x1
+ strh r2, [r4, #0x2]
+ add r1, r1, #0x10
+ add r0, r0, r1
+ ldr r1, ._145 + 4 @ gSaveBlock2
+ bl StringCopy
+ mov r0, #0x5
+ strb r0, [r4, #0x18]
+ b ._173
+._146:
+ .align 2, 0
+._145:
+ .word gSaveBlock1+0x2738
+ .word gSaveBlock2
+._105:
+ add r4, r4, r6
+ lsl r4, r4, #0x2
+ ldr r6, ._148 @ gSaveBlock1
+ add r1, r4, r6
+ mov r8, r1
+ mov r0, #0x1
+ strh r0, [r1, #0x2]
+ add r0, r6, #5
+ add r0, r4, r0
+ ldr r1, ._148 + 4 @ gSaveBlock2
+ bl StringCopy
+ mov r0, #0x64
+ mov r5, r9
+ mul r5, r5, r0
+ ldr r0, ._148 + 8 @ gPlayerParty
+ add r5, r5, r0
+ add r6, r6, #0x10
+ add r4, r4, r6
+ add r0, r5, #0
+ mov r1, #0x2
+ add r2, r4, #0
+ bl GetMonData
+ mov r0, #0x5
+ mov r1, r8
+ strb r0, [r1, #0xd]
+ add r0, r5, #0
+ mov r1, #0x3
+ bl GetMonData
+ mov r5, r8
+ strb r0, [r5, #0xe]
+ b ._173
+._149:
+ .align 2, 0
+._148:
+ .word gSaveBlock1+0x2738
+ .word gSaveBlock2
+ .word gPlayerParty
+._107:
+ mov r0, #0x64
+ mov r1, r9
+ mul r1, r1, r0
+ mov r8, r1
+ ldr r0, ._151 @ gPlayerParty
+ add r8, r8, r0
+ mov r0, r8
+ mov r1, #0xb
+ bl GetMonData
+ add r4, r4, r6
+ lsl r4, r4, #0x2
+ ldr r5, ._151 + 4 @ gSaveBlock1
+ add r6, r4, r5
+ strh r0, [r6, #0x2]
+ mov r0, #0x1
+ strh r0, [r6, #0x1c]
+ add r0, r5, #0
+ add r0, r0, #0xf
+ add r0, r4, r0
+ ldr r1, ._151 + 8 @ gSaveBlock2
+ bl StringCopy
+ add r5, r5, #0x4
+ add r4, r4, r5
+ mov r0, r8
+ mov r1, #0x2
+ add r2, r4, #0
+ bl GetMonData
+ mov r0, #0x5
+ strb r0, [r6, #0x1e]
+ mov r0, r8
+ mov r1, #0x3
+ bl GetMonData
+ strb r0, [r6, #0x1f]
+ b ._173
+._152:
+ .align 2, 0
+._151:
+ .word gPlayerParty
+ .word gSaveBlock1+0x2738
+ .word gSaveBlock2
+._108:
+ add r4, r4, r6
+ lsl r4, r4, #0x2
+ ldr r6, ._154 @ gSaveBlock1
+ add r5, r4, r6
+ mov r8, r5
+ mov r0, #0x1
+ strh r0, [r5, #0x2]
+ add r0, r6, #0
+ add r0, r0, #0x16
+ add r0, r4, r0
+ ldr r1, ._154 + 4 @ gSaveBlock2
+ bl StringCopy
+ mov r0, #0x64
+ mov r5, r9
+ mul r5, r5, r0
+ ldr r0, ._154 + 8 @ gPlayerParty
+ add r5, r5, r0
+ add r6, r6, #0x8
+ add r4, r4, r6
+ add r0, r5, #0
+ mov r1, #0x2
+ add r2, r4, #0
+ bl GetMonData
+ mov r0, #0x5
+ mov r1, r8
+ strb r0, [r1, #0x1e]
+ add r0, r5, #0
+ mov r1, #0x3
+ bl GetMonData
+ mov r5, r8
+ strb r0, [r5, #0x1f]
+ b ._173
+._155:
+ .align 2, 0
+._154:
+ .word gSaveBlock1+0x2738
+ .word gSaveBlock2
+ .word gPlayerParty
+._109:
+ add r4, r4, r6
+ lsl r4, r4, #0x2
+ ldr r5, ._157 @ gSaveBlock1
+ add r6, r4, r5
+ mov r0, #0x1
+ strh r0, [r6, #0xa]
+ strh r0, [r6, #0x14]
+ add r0, r5, #2
+ add r0, r4, r0
+ ldr r1, ._157 + 4 @ gSaveBlock2
+ mov r8, r1
+ bl StringCopy
+ add r5, r5, #0xc
+ add r4, r4, r5
+ add r0, r4, #0
+ mov r1, r8
+ bl StringCopy
+ mov r0, #0x5
+ strb r0, [r6, #0x1d]
+ b ._173
+._158:
+ .align 2, 0
+._157:
+ .word gSaveBlock1+0x2738
+ .word gSaveBlock2
+._143:
+ add r0, r4, r6
+ lsl r0, r0, #0x2
+ ldr r1, ._160 @ gSaveBlock1
+ add r0, r0, r1
+ mov r1, #0x1
+ strh r1, [r0, #0xc]
+ strh r1, [r0, #0x16]
+ b ._173
+._161:
+ .align 2, 0
+._160:
+ .word gSaveBlock1+0x2738
+._123:
+ add r4, r4, r6
+ lsl r4, r4, #0x2
+ ldr r0, ._163 @ gSaveBlock1
+ add r4, r4, r0
+ ldr r1, ._163 + 4 @ gUnknown_Debug_083C4C64
+ mov r0, sp
+ mov r2, #0x8
+ bl memcpy
+ add r5, sp, #0x8
+ ldr r1, ._163 + 8 @ gUnknown_Debug_083C4C6C
+ add r0, r5, #0
+ mov r2, #0xb
+ bl memcpy
+ mov r0, #0xff
+ strb r0, [r4, #0x12]
+ add r0, r4, #0
+ add r0, r0, #0x13
+ mov r1, sp
+ bl StringCopy
+ add r0, r4, #4
+ add r1, r5, #0
+ bl StringCopy
+ mov r0, #0xc
+ strb r0, [r4, #0xf]
+ mov r0, #0x28
+ strh r0, [r4, #0x10]
+ mov r0, #0x5
+ strb r0, [r4, #0x2]
+ strb r0, [r4, #0x3]
+ b ._173
+._164:
+ .align 2, 0
+._163:
+ .word gSaveBlock1+0x2738
+ .word gUnknown_Debug_083C4C64
+ .word gUnknown_Debug_083C4C6C
+._124:
+ add r0, r4, r6
+ lsl r0, r0, #0x2
+ ldr r1, ._168 @ gSaveBlock1
+ add r5, r0, r1
+ add r4, sp, #0x14
+ ldr r1, ._168 + 4 @ gUnknown_Debug_083C4C64
+ add r0, r4, #0
+ mov r2, #0x8
+ bl memcpy
+ add r1, r4, #0
+ mov r3, #0xfe
+ mov r2, #0x2
+ add r0, r5, #0
+ add r0, r0, #0x10
+._165:
+ strh r3, [r0]
+ sub r0, r0, #0x2
+ sub r2, r2, #0x1
+ cmp r2, #0
+ bge ._165 @cond_branch
+ mov r0, #0x1
+ strb r0, [r5, #0x2]
+ mov r0, #0x28
+ strb r0, [r5, #0x12]
+ add r0, r5, #0
+ add r0, r0, #0x13
+ add r3, r5, #6
+ mov r6, #0x1e
+ add r2, r5, #0
+ add r2, r2, #0xa
+._166:
+ strh r6, [r2]
+ sub r2, r2, #0x2
+ cmp r2, r3
+ bge ._166 @cond_branch
+ bl StringCopy
+ mov r0, #0x5
+ strb r0, [r5, #0x3]
+ b ._173
+._169:
+ .align 2, 0
+._168:
+ .word gSaveBlock1+0x2738
+ .word gUnknown_Debug_083C4C64
+._125:
+ add r4, r4, r6
+ lsl r4, r4, #0x2
+ ldr r0, ._171 @ gSaveBlock1
+ add r4, r4, r0
+ add r5, sp, #0x1c
+ ldr r1, ._171 + 4 @ gUnknown_Debug_083C4C64
+ add r0, r5, #0
+ mov r2, #0x8
+ bl memcpy
+ mov r0, #0x28
+ strh r0, [r4, #0xc]
+ strh r0, [r4, #0xe]
+ mov r0, #0x3
+ strb r0, [r4, #0x12]
+ mov r0, #0xff
+ strb r0, [r4, #0x10]
+ mov r0, #0x1
+ strb r0, [r4, #0x11]
+ add r0, r4, #0
+ add r0, r0, #0x13
+ add r1, r5, #0
+ bl StringCopy
+ mov r0, #0x5
+ strb r0, [r4, #0x2]
+ b ._173
+._172:
+ .align 2, 0
+._171:
+ .word gSaveBlock1+0x2738
+ .word gUnknown_Debug_083C4C64
+._126:
+ add r4, r4, r6
+ lsl r4, r4, #0x2
+ ldr r0, ._174 @ gSaveBlock1
+ add r4, r4, r0
+ add r5, sp, #0x24
+ ldr r1, ._174 + 4 @ gUnknown_Debug_083C4C64
+ add r0, r5, #0
+ mov r2, #0x8
+ bl memcpy
+ mov r0, #0xff
+ strb r0, [r4, #0x2]
+ mov r0, #0x0
+ strb r0, [r4, #0x3]
+ mov r0, #0x28
+ strh r0, [r4, #0x4]
+ add r0, r4, #0
+ add r0, r0, #0x13
+ add r1, r5, #0
+ bl StringCopy
+ mov r0, #0x5
+ strb r0, [r4, #0x6]
+ b ._173
+._175:
+ .align 2, 0
+._174:
+ .word gSaveBlock1+0x2738
+ .word gUnknown_Debug_083C4C64
+._127:
+ add r4, r4, r6
+ lsl r4, r4, #0x2
+ ldr r0, ._176 @ gSaveBlock1
+ add r4, r4, r0
+ add r5, sp, #0x2c
+ ldr r1, ._176 + 4 @ gUnknown_Debug_083C4C64
+ add r0, r5, #0
+ mov r2, #0x8
+ bl memcpy
+ ldr r0, ._176 + 8 @ 0xffff
+ strh r0, [r4, #0x2]
+ mov r0, #0x1
+ neg r0, r0
+ strh r0, [r4, #0x6]
+ mov r0, #0x28
+ strh r0, [r4, #0x4]
+ strh r0, [r4, #0x8]
+ mov r0, #0x3
+ strb r0, [r4, #0xa]
+ add r0, r4, #0
+ add r0, r0, #0x13
+ add r1, r5, #0
+ bl StringCopy
+ mov r0, #0x5
+ strb r0, [r4, #0xb]
+._173:
+ add sp, sp, #0x34
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._177:
+ .align 2, 0
+._176:
+ .word gSaveBlock1+0x2738
+ .word gUnknown_Debug_083C4C64
+ .word 0xffff
+
+ thumb_func_end debug_sub_808FA88
+
+ thumb_func_start debug_sub_808FEBC
+debug_sub_808FEBC:
+ push {lr}
+ bl ClearTVShowData
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808FEBC
+
+ thumb_func_start debug_sub_808FECC
+debug_sub_808FECC:
+ push {r4, lr}
+ ldr r1, ._178 @ gDebug_03000724
+ mov r0, #0x0
+ strb r0, [r1]
+ ldr r0, ._178 + 4 @ gUnknown_Debug_083C49CA
+ bl sub_8071F40
+ mov r0, #0xd
+ mov r1, #0x6
+ mov r2, #0x17
+ mov r3, #0x8
+ bl Menu_BlankWindowRect
+ ldr r0, ._178 + 8 @ gUnknown_Debug_083C4B24
+ ldr r0, [r0]
+ mov r1, #0xe
+ mov r2, #0x7
+ bl Menu_PrintText
+ mov r0, #0x16
+ mov r1, #0x1
+ mov r2, #0x18
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ ldr r4, ._178 + 12 @ gStringVar1
+ add r0, r4, #0
+ mov r1, #0x0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x17
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r1, ._178 + 16 @ gMenuCallback
+ ldr r0, ._178 + 20 @ debug_sub_808FF3C
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+._179:
+ .align 2, 0
+._178:
+ .word gDebug_03000724
+ .word gUnknown_Debug_083C49CA
+ .word gUnknown_Debug_083C4B24
+ .word gStringVar1
+ .word gMenuCallback
+ .word debug_sub_808FF3C+1
+
+ thumb_func_end debug_sub_808FECC
+
+ thumb_func_start debug_sub_808FF3C
+debug_sub_808FF3C:
+ push {r4, lr}
+ mov r2, #0x0
+ ldr r0, ._192 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._180 @cond_branch
+ ldr r1, ._192 + 4 @ gDebug_03000725
+ ldrb r0, [r1]
+ add r0, r0, #0x1
+ strb r0, [r1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x10
+ bne ._181 @cond_branch
+ strb r2, [r1]
+._181:
+ mov r0, #0x5
+ bl PlaySE
+ mov r2, #0x1
+._180:
+ ldr r0, ._192 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._182 @cond_branch
+ ldr r1, ._192 + 4 @ gDebug_03000725
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._183 @cond_branch
+ mov r0, #0x10
+ strb r0, [r1]
+._183:
+ ldrb r0, [r1]
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ mov r0, #0x5
+ bl PlaySE
+ mov r2, #0x1
+._182:
+ ldr r0, ._192 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._184 @cond_branch
+ ldr r1, ._192 + 8 @ gDebug_03000724
+ ldrb r0, [r1]
+ add r0, r0, #0x1
+ strb r0, [r1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x3
+ bne ._185 @cond_branch
+ mov r0, #0x0
+ strb r0, [r1]
+._185:
+ mov r0, #0x5
+ bl PlaySE
+ mov r2, #0x1
+._184:
+ ldr r0, ._192 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._186 @cond_branch
+ ldr r1, ._192 + 8 @ gDebug_03000724
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._187 @cond_branch
+ mov r0, #0x3
+ strb r0, [r1]
+._187:
+ ldrb r0, [r1]
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ mov r0, #0x5
+ bl PlaySE
+ mov r2, #0x1
+._186:
+ cmp r2, #0
+ beq ._188 @cond_branch
+ mov r0, #0xd
+ mov r1, #0x6
+ mov r2, #0x17
+ mov r3, #0x8
+ bl Menu_BlankWindowRect
+ ldr r1, ._192 + 12 @ gUnknown_Debug_083C4B24
+ ldr r0, ._192 + 8 @ gDebug_03000724
+ ldrb r0, [r0]
+ lsl r0, r0, #0x2
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov r1, #0xe
+ mov r2, #0x7
+ bl Menu_PrintText
+ mov r0, #0x16
+ mov r1, #0x1
+ mov r2, #0x18
+ mov r3, #0x2
+ bl Menu_BlankWindowRect
+ ldr r4, ._192 + 16 @ gStringVar1
+ ldr r0, ._192 + 4 @ gDebug_03000725
+ ldrb r1, [r0]
+ add r0, r4, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x17
+ mov r2, #0x1
+ bl Menu_PrintText
+._188:
+ ldr r4, ._192 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._189 @cond_branch
+ mov r0, #0x15
+ bl PlaySE
+ ldr r0, ._192 + 4 @ gDebug_03000725
+ ldrb r0, [r0]
+ ldr r2, ._192 + 20 @ gUnknown_Debug_083C4B20
+ ldr r1, ._192 + 8 @ gDebug_03000724
+ ldrb r1, [r1]
+ add r1, r1, r2
+ ldrb r1, [r1]
+ bl debug_sub_8090080
+._189:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0xa
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._190 @cond_branch
+ mov r0, #0x0
+ b ._191
+._193:
+ .align 2, 0
+._192:
+ .word gMain
+ .word gDebug_03000725
+ .word gDebug_03000724
+ .word gUnknown_Debug_083C4B24
+ .word gStringVar1
+ .word gUnknown_Debug_083C4B20
+._190:
+ bl sub_80BEC40
+ bl CloseMenu
+ mov r0, #0x1
+._191:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808FF3C
+
+ thumb_func_start debug_sub_8090080
+debug_sub_8090080:
+ lsl r0, r0, #0x18
+ ldr r2, ._194 @ gSaveBlock1
+ lsr r0, r0, #0x16
+ add r0, r0, r2
+ ldr r3, ._194 + 4 @ 0x2abc
+ add r2, r0, r3
+ strb r1, [r2]
+ ldr r1, ._194 + 8 @ 0x2abd
+ add r2, r0, r1
+ mov r1, #0x1
+ strb r1, [r2]
+ add r3, r3, #0x2
+ add r0, r0, r3
+ mov r1, #0x4
+ strh r1, [r0]
+ bx lr
+._195:
+ .align 2, 0
+._194:
+ .word gSaveBlock1
+ .word 0x2abc
+ .word 0x2abd
+
+ thumb_func_end debug_sub_8090080
+
+ thumb_func_start debug_sub_80900AC
+debug_sub_80900AC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ mov r7, #0x0
+ mov r5, #0x0
+ ldr r0, ._202 @ gSaveBlock1
+ mov r8, r0
+._198:
+ lsl r0, r5, #0x3
+ add r0, r0, r5
+ lsl r0, r0, #0x2
+ mov r1, r8
+ add r6, r0, r1
+ ldr r1, ._202 + 4 @ 0x2738
+ add r0, r6, r1
+ ldrb r4, [r0]
+ cmp r4, #0
+ bne ._196 @cond_branch
+ cmp r7, #0xc
+ bne ._197 @cond_branch
+ mov r7, #0x0
+._197:
+ ldr r0, ._202 + 8 @ gUnknown_Debug_083C4ABD
+ add r0, r7, r0
+ ldrb r1, [r0]
+ add r0, r5, #0
+ bl debug_sub_808FA88
+ ldr r1, ._202 + 12 @ 0x2739
+ add r0, r6, r1
+ strb r4, [r0]
+ add r0, r7, #1
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._196:
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x17
+ bls ._198 @cond_branch
+ mov r7, #0x0
+ mov r5, #0x0
+._201:
+ ldr r0, ._202 @ gSaveBlock1
+ lsl r1, r5, #0x2
+ add r1, r1, r0
+ ldr r0, ._202 + 16 @ 0x2abc
+ add r1, r1, r0
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._199 @cond_branch
+ cmp r7, #0x3
+ bne ._200 @cond_branch
+ mov r7, #0x0
+._200:
+ ldr r0, ._202 + 20 @ gUnknown_Debug_083C4B20
+ add r0, r7, r0
+ ldrb r1, [r0]
+ add r0, r5, #0
+ bl debug_sub_8090080
+ add r0, r7, #1
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+._199:
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0xf
+ bls ._201 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._203:
+ .align 2, 0
+._202:
+ .word gSaveBlock1
+ .word 0x2738
+ .word gUnknown_Debug_083C4ABD
+ .word 0x2739
+ .word 0x2abc
+ .word gUnknown_Debug_083C4B20
+
+ thumb_func_end debug_sub_80900AC
+
+ thumb_func_start NoharaDebugMenu_Fan
+NoharaDebugMenu_Fan:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xb
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._204 @ gUnknown_Debug_083C4D28
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xa
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._204 + 4 @ gMenuCallback
+ ldr r0, ._204 + 8 @ debug_sub_80901A4
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._205:
+ .align 2, 0
+._204:
+ .word gUnknown_Debug_083C4D28
+ .word gMenuCallback
+ .word debug_sub_80901A4+1
+
+ thumb_func_end NoharaDebugMenu_Fan
+
+ thumb_func_start debug_sub_80901A4
+debug_sub_80901A4:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ beq ._206 @cond_branch
+ add r0, r0, #0x1
+ cmp r1, r0
+ beq ._207 @cond_branch
+ ldr r2, ._209 @ gMenuCallback
+ ldr r0, ._209 + 4 @ gUnknown_Debug_083C4D28
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+._206:
+ mov r0, #0x0
+ b ._208
+._210:
+ .align 2, 0
+._209:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C4D28
+._207:
+ bl CloseMenu
+ mov r0, #0x1
+._208:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_80901A4
+
+ thumb_func_start debug_sub_80901E4
+debug_sub_80901E4:
+ push {lr}
+ bl ResetFanClub
+ bl sub_810FAA0
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_80901E4
+
+ thumb_func_start debug_sub_80901F8
+debug_sub_80901F8:
+ push {lr}
+ bl sub_810FB9C
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._211 @ gUnknown_Debug_083C4CA8
+ ldr r1, ._211 + 4 @ gUnknown_083F8408
+ add r0, r0, r1
+ ldrb r0, [r0]
+ sub r0, r0, #0x8
+ lsl r0, r0, #0x2
+ add r0, r0, r2
+ ldr r0, [r0]
+ mov r1, #0xe
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldr r1, ._211 + 8 @ gMenuCallback
+ ldr r0, ._211 + 12 @ debug_sub_8090278
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._212:
+ .align 2, 0
+._211:
+ .word gUnknown_Debug_083C4CA8
+ .word gUnknown_083F8408
+ .word gMenuCallback
+ .word debug_sub_8090278+1
+
+ thumb_func_end debug_sub_80901F8
+
+ thumb_func_start debug_sub_8090238
+debug_sub_8090238:
+ push {lr}
+ bl sub_810FC18
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ ldr r2, ._213 @ gUnknown_Debug_083C4CA8
+ ldr r1, ._213 + 4 @ gUnknown_083F8410
+ add r0, r0, r1
+ ldrb r0, [r0]
+ sub r0, r0, #0x8
+ lsl r0, r0, #0x2
+ add r0, r0, r2
+ ldr r0, [r0]
+ mov r1, #0xe
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldr r1, ._213 + 8 @ gMenuCallback
+ ldr r0, ._213 + 12 @ debug_sub_8090278
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._214:
+ .align 2, 0
+._213:
+ .word gUnknown_Debug_083C4CA8
+ .word gUnknown_083F8410
+ .word gMenuCallback
+ .word debug_sub_8090278+1
+
+ thumb_func_end debug_sub_8090238
+
+ thumb_func_start debug_sub_8090278
+debug_sub_8090278:
+ push {lr}
+ ldr r0, ._217 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._215 @cond_branch
+ mov r0, #0x0
+ b ._216
+._218:
+ .align 2, 0
+._217:
+ .word gMain
+._215:
+ bl CloseMenu
+ mov r0, #0x1
+._216:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8090278
+
+ thumb_func_start debug_sub_809029C
+debug_sub_809029C:
+ push {r4, lr}
+ ldr r4, ._219 @ gStringVar1
+ ldr r0, ._219 + 4 @ gSaveBlock1
+ ldr r1, ._219 + 8 @ 0x13c2
+ add r0, r0, r1
+ ldrh r0, [r0]
+ mov r1, #0x7f
+ and r1, r1, r0
+ add r0, r4, #0
+ mov r2, #0x0
+ mov r3, #0x2
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x10
+ mov r2, #0x7
+ bl Menu_PrintText
+ ldr r1, ._219 + 12 @ gMenuCallback
+ ldr r0, ._219 + 16 @ debug_sub_8090278
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r4}
+ pop {r1}
+ bx r1
+._220:
+ .align 2, 0
+._219:
+ .word gStringVar1
+ .word gSaveBlock1
+ .word 0x13c2
+ .word gMenuCallback
+ .word debug_sub_8090278+1
+
+ thumb_func_end debug_sub_809029C
+
+ thumb_func_start debug_sub_80902E4
+debug_sub_80902E4:
+ push {lr}
+ ldr r1, ._221 @ gSaveBlock2
+ ldrh r0, [r1, #0xe]
+ add r0, r0, #0x6
+ strh r0, [r1, #0xe]
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._222:
+ .align 2, 0
+._221:
+ .word gSaveBlock2
+
+ thumb_func_end debug_sub_80902E4
+
+ thumb_func_start debug_sub_80902FC
+debug_sub_80902FC:
+ push {lr}
+ mov r0, #0x0
+ bl sub_810FB10
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_80902FC
+
+ thumb_func_start debug_sub_8090310
+debug_sub_8090310:
+ push {lr}
+ mov r0, #0x1
+ bl sub_810FB10
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8090310
+
+ thumb_func_start debug_sub_8090324
+debug_sub_8090324:
+ push {lr}
+ mov r0, #0x2
+ bl sub_810FB10
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8090324
+
+ thumb_func_start debug_sub_8090338
+debug_sub_8090338:
+ push {lr}
+ mov r0, #0x3
+ bl sub_810FB10
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8090338
+
+ thumb_func_start NoharaDebugMenu_BattleVSDad
+NoharaDebugMenu_BattleVSDad:
+ push {lr}
+ ldr r0, ._223 @ 0x4085
+ mov r1, #0x6
+ bl VarSet
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._224:
+ .align 2, 0
+._223:
+ .word 0x4085
+
+ thumb_func_end NoharaDebugMenu_BattleVSDad
+
+ thumb_func_start NoharaDebugMenu_DadAfterBattle
+NoharaDebugMenu_DadAfterBattle:
+ push {lr}
+ ldr r0, ._225 @ 0x4085
+ mov r1, #0x7
+ bl VarSet
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._226:
+ .align 2, 0
+._225:
+ .word 0x4085
+
+ thumb_func_end NoharaDebugMenu_DadAfterBattle
+
+ thumb_func_start NoharaDebugMenu_SootopolisCity
+NoharaDebugMenu_SootopolisCity:
+ push {lr}
+ mov r0, #0x81
+ bl FlagSet
+ mov r0, #0x71
+ bl FlagSet
+ ldr r0, ._227 @ 0x32f
+ bl FlagClear
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._228:
+ .align 2, 0
+._227:
+ .word 0x32f
+
+ thumb_func_end NoharaDebugMenu_SootopolisCity
+
+ thumb_func_start NoharaDebugMenu_Embark
+NoharaDebugMenu_Embark:
+ push {lr}
+ ldr r0, ._229 @ 0x2e3
+ bl FlagClear
+ ldr r0, ._229 + 4 @ 0x4090
+ mov r1, #0x1
+ bl VarSet
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._230:
+ .align 2, 0
+._229:
+ .word 0x2e3
+ .word 0x4090
+
+ thumb_func_end NoharaDebugMenu_Embark
+
+ thumb_func_start NoharaDebugMenu_Yes9999
+NoharaDebugMenu_Yes9999:
+ push {lr}
+ ldr r0, ._231 @ 0x4048
+ ldr r1, ._231 + 4 @ 0x270f
+ bl VarSet
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._232:
+ .align 2, 0
+._231:
+ .word 0x4048
+ .word 0x270f
+
+ thumb_func_end NoharaDebugMenu_Yes9999
+
+ thumb_func_start NoharaDebugMenu_LegendsFlagOn
+NoharaDebugMenu_LegendsFlagOn:
+ push {lr}
+ mov r0, #0xe4
+ bl FlagSet
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end NoharaDebugMenu_LegendsFlagOn
+
+ thumb_func_start NoharaDebugMenu_AddNumWinningStreaks
+NoharaDebugMenu_AddNumWinningStreaks:
+ push {lr}
+ ldr r0, ._235 @ gSaveBlock2
+ ldr r1, ._235 + 4 @ 0x572
+ add r2, r0, r1
+ ldrh r1, [r2]
+ cmp r1, #0x31
+ bhi ._233 @cond_branch
+ mov r0, #0x32
+ b ._244
+._236:
+ .align 2, 0
+._235:
+ .word gSaveBlock2
+ .word 0x572
+._233:
+ cmp r1, #0x63
+ bhi ._237 @cond_branch
+ mov r0, #0x64
+ b ._244
+._237:
+ ldr r0, ._241 @ 0x3e7
+ cmp r1, r0
+ bhi ._239 @cond_branch
+ add r0, r0, #0x1
+ b ._244
+._242:
+ .align 2, 0
+._241:
+ .word 0x3e7
+._239:
+ ldr r0, ._245 @ 0x1387
+ cmp r1, r0
+ bhi ._243 @cond_branch
+ ldr r0, ._245 + 4 @ 0x2706
+ b ._244
+._246:
+ .align 2, 0
+._245:
+ .word 0x1387
+ .word 0x2706
+._243:
+ ldr r0, ._248 @ 0x2705
+ cmp r1, r0
+ bhi ._247 @cond_branch
+ add r0, r0, #0xa
+._244:
+ strh r0, [r2]
+._247:
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._249:
+ .align 2, 0
+._248:
+ .word 0x2705
+
+ thumb_func_end NoharaDebugMenu_AddNumWinningStreaks
+
+ .align 2, 0
+
+.endif
diff --git a/asm/normal.s b/asm/normal.s
index fffbc3870..732c049ab 100644
--- a/asm/normal.s
+++ b/asm/normal.s
@@ -1214,7 +1214,7 @@ _080E25A0:
bcs _080E25F4
ldr r2, _080E2604 @ =gSprites
mov r12, r2
- ldr r6, _080E2608 @ =gObjectBankIDs
+ ldr r6, _080E2608 @ =gBankSpriteIds
movs r7, 0x3
negs r7, r7
_080E25D2:
@@ -1245,14 +1245,14 @@ _080E25FA:
.align 2, 0
_080E2600: .4byte gNoOfAllBanks
_080E2604: .4byte gSprites
-_080E2608: .4byte gObjectBankIDs
+_080E2608: .4byte gBankSpriteIds
thumb_func_end sub_80E255C
thumb_func_start sub_80E260C
sub_80E260C: @ 80E260C
push {r4-r6,lr}
ldr r6, _080E2680 @ =gSprites
- ldr r4, _080E2684 @ =gObjectBankIDs
+ ldr r4, _080E2684 @ =gBankSpriteIds
ldr r5, _080E2688 @ =gAnimBankAttacker
ldrb r0, [r5]
adds r0, r4
@@ -1309,7 +1309,7 @@ sub_80E260C: @ 80E260C
b _080E26B0
.align 2, 0
_080E2680: .4byte gSprites
-_080E2684: .4byte gObjectBankIDs
+_080E2684: .4byte gBankSpriteIds
_080E2688: .4byte gAnimBankAttacker
_080E268C: .4byte gAnimBankTarget
_080E2690: .4byte gBattleAnimArgs
@@ -1471,7 +1471,7 @@ sub_80E27A0: @ 80E27A0
bne _080E27C4
adds r0, r5, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E27CC
.align 2, 0
_080E27C0: .4byte gBattleAnimArgs
@@ -1506,7 +1506,7 @@ sub_80E27E8: @ 80E27E8
bne _080E280C
adds r0, r5, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E2814
.align 2, 0
_080E2808: .4byte gBattleAnimArgs
@@ -1586,7 +1586,7 @@ _080E288C:
bne _080E28AC
adds r0, r4, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E28B4
.align 2, 0
_080E28A8: .4byte gBattleAnimArgs
@@ -1694,7 +1694,7 @@ sub_80E2978: @ 80E2978
bne _080E2994
adds r0, r4, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E299C
.align 2, 0
_080E2990: .4byte gBattleAnimArgs
@@ -1709,7 +1709,7 @@ _080E299C:
ldr r1, _080E29B8 @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData
- ldr r0, _080E29BC @ =sub_80782D8
+ ldr r0, _080E29BC @ =WaitAnimForDuration
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
@@ -1717,7 +1717,7 @@ _080E299C:
.align 2, 0
_080E29B4: .4byte gBattleAnimArgs
_080E29B8: .4byte DestroyAnimSprite
-_080E29BC: .4byte sub_80782D8
+_080E29BC: .4byte WaitAnimForDuration
thumb_func_end sub_80E2978
thumb_func_start sub_80E29C0
@@ -1733,7 +1733,7 @@ sub_80E29C0: @ 80E29C0
bne _080E29E4
adds r0, r5, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E29EC
.align 2, 0
_080E29E0: .4byte gBattleAnimArgs
@@ -2532,7 +2532,7 @@ _080E2FDC:
cmp r0, 0x1
bne _080E3028
ldr r3, _080E3060 @ =gSprites
- ldr r1, _080E3064 @ =gObjectBankIDs
+ ldr r1, _080E3064 @ =gBankSpriteIds
ldrb r0, [r5]
eors r0, r6
adds r0, r1
@@ -2580,7 +2580,7 @@ _080E3054: .4byte 0x00000c08
_080E3058: .4byte REG_BG1CNT
_080E305C: .4byte gAnimBankAttacker
_080E3060: .4byte gSprites
-_080E3064: .4byte gObjectBankIDs
+_080E3064: .4byte gBankSpriteIds
_080E3068: .4byte gSharedMem + 0x19348
_080E306C:
ldr r4, _080E308C @ =gAnimBankAttacker
@@ -2809,7 +2809,7 @@ _080E3208:
ldrsh r0, [r4, r3]
cmp r0, 0x1
bne _080E3288
- ldr r2, _080E32D8 @ =gObjectBankIDs
+ ldr r2, _080E32D8 @ =gBankSpriteIds
ldr r0, _080E32DC @ =gAnimBankAttacker
ldrb r1, [r0]
movs r0, 0x2
@@ -2862,7 +2862,7 @@ _080E32C8: .4byte REG_BLDCNT
_080E32CC: .4byte gSprites
_080E32D0: .4byte 0x040000d4
_080E32D4: .4byte 0x85000200
-_080E32D8: .4byte gObjectBankIDs
+_080E32D8: .4byte gBankSpriteIds
_080E32DC: .4byte gAnimBankAttacker
thumb_func_end sub_80E3194
@@ -3069,7 +3069,7 @@ _080E345E:
cmp r0, 0x1
bne _080E34A4
ldr r1, _080E34D8 @ =gSprites
- ldr r0, _080E34DC @ =gObjectBankIDs
+ ldr r0, _080E34DC @ =gBankSpriteIds
add r0, r8
ldrb r0, [r0]
lsls r2, r0, 4
@@ -3115,7 +3115,7 @@ _080E34CC: .4byte REG_BLDCNT
_080E34D0: .4byte 0x00003f42
_080E34D4: .4byte REG_BG1CNT
_080E34D8: .4byte gSprites
-_080E34DC: .4byte gObjectBankIDs
+_080E34DC: .4byte gBankSpriteIds
_080E34E0: .4byte gSharedMem + 0x19348
_080E34E4:
adds r0, r5, 0
@@ -3149,7 +3149,7 @@ _080E3516:
lsls r0, 16
lsrs r4, r0, 16
_080E3522:
- ldr r6, _080E3570 @ =gObjectBankIDs
+ ldr r6, _080E3570 @ =gBankSpriteIds
adds r0, r5, r6
ldrb r1, [r0]
adds r0, r5, 0
@@ -3184,7 +3184,7 @@ _080E3550:
.align 2, 0
_080E3568: .4byte gBattlePartyID
_080E356C: .4byte gPlayerParty
-_080E3570: .4byte gObjectBankIDs
+_080E3570: .4byte gBankSpriteIds
_080E3574: .4byte gBattleStatMask1_Tilemap
_080E3578:
ldr r0, _080E35B0 @ =gBattleStatMask2_Tilemap
@@ -3344,7 +3344,7 @@ _080E3692:
mov r3, sp
ldrh r3, [r3, 0x20]
strh r3, [r1, 0x14]
- ldr r0, _080E36D8 @ =gObjectBankIDs
+ ldr r0, _080E36D8 @ =gBankSpriteIds
add r0, r8
ldrb r0, [r0]
strh r0, [r1, 0x16]
@@ -3364,7 +3364,7 @@ _080E3692:
bl PlaySE12WithPanning
b _080E36F4
.align 2, 0
-_080E36D8: .4byte gObjectBankIDs
+_080E36D8: .4byte gBankSpriteIds
_080E36DC: .4byte sub_80E3704
_080E36E0:
movs r0, 0x40
@@ -4040,7 +4040,7 @@ _080E3BE6:
lsls r0, 24
cmp r0, 0
beq _080E3C24
- ldr r0, _080E3C44 @ =gObjectBankIDs
+ ldr r0, _080E3C44 @ =gBankSpriteIds
adds r0, r4, r0
ldrb r0, [r0]
lsls r2, r0, 4
@@ -4074,7 +4074,7 @@ _080E3C24:
.align 2, 0
_080E3C3C: .4byte gSprites
_080E3C40: .4byte gAnimBankAttacker
-_080E3C44: .4byte gObjectBankIDs
+_080E3C44: .4byte gBankSpriteIds
_080E3C48: .4byte gBattleAnimArgs
thumb_func_end sub_80E3BDC
@@ -4236,7 +4236,7 @@ _080E3D8A:
lsls r0, 16
lsrs r4, r0, 16
_080E3D96:
- ldr r5, _080E3E50 @ =gObjectBankIDs
+ ldr r5, _080E3E50 @ =gBankSpriteIds
adds r0, r7, r5
ldrb r1, [r0]
adds r0, r7, 0
@@ -4322,7 +4322,7 @@ _080E3DE6:
.align 2, 0
_080E3E48: .4byte gBattlePartyID
_080E3E4C: .4byte gPlayerParty
-_080E3E50: .4byte gObjectBankIDs
+_080E3E50: .4byte gBankSpriteIds
_080E3E54: .4byte gBattle_BG1_X
_080E3E58: .4byte gBattle_BG1_Y
_080E3E5C: .4byte gTasks
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 5b5dfbdd5..cee93a9e4 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -5,13652 +5,11 @@
.text
- thumb_func_start sub_8095ADC
-sub_8095ADC: @ 8095ADC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- movs r5, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r6, r0, 5
-_08095AF0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- ldr r1, _08095B20 @ =gPokemonStorage + 0x4
- adds r0, r1
- adds r0, r6, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08095B0C
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08095B0C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _08095AF0
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095B20: .4byte gPokemonStorage + 0x4
- thumb_func_end sub_8095ADC
-
- thumb_func_start sub_8095B24
-sub_8095B24: @ 8095B24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r5, r0, 5
-_08095B36:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- ldr r1, _08095B54 @ =gPokemonStorage + 0x4
- adds r0, r1
- adds r0, r5, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _08095B58
- lsls r0, r4, 16
- asrs r0, 16
- b _08095B66
- .align 2, 0
-_08095B54: .4byte gPokemonStorage + 0x4
-_08095B58:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _08095B36
- movs r0, 0x1
- negs r0, r0
-_08095B66:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095B24
-
- thumb_func_start GetNumValidDaycarePartyMons
-GetNumValidDaycarePartyMons: @ 8095B6C
- push {r4-r6,lr}
- movs r5, 0
- movs r6, 0
-_08095B72:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08095BB0 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095B9A
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _08095B9A
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08095B9A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08095B72
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095BB0: .4byte gPlayerParty
- thumb_func_end GetNumValidDaycarePartyMons
-
- thumb_func_start CountAlivePartyMonsExceptOne
-CountAlivePartyMonsExceptOne: @ 8095BB4
- push {r4-r7,lr}
- lsls r0, 24
- movs r5, 0
- movs r6, 0
- lsrs r7, r0, 24
-_08095BBE:
- cmp r5, r7
- beq _08095BF6
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08095C0C @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095BF6
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _08095BF6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08095BF6
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08095BF6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08095BBE
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08095C0C: .4byte gPlayerParty
- thumb_func_end CountAlivePartyMonsExceptOne
-
- thumb_func_start CountAlivePartyMonsExceptSelectedOne
-CountAlivePartyMonsExceptSelectedOne: @ 8095C10
- push {lr}
- ldr r0, _08095C24 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl CountAlivePartyMonsExceptOne
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08095C24: .4byte gSpecialVar_0x8004
- thumb_func_end CountAlivePartyMonsExceptSelectedOne
-
- thumb_func_start StorageSystemGetPartySize
-StorageSystemGetPartySize: @ 8095C28
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_08095C2E:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _08095C5C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095C46
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08095C46:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x5
- bls _08095C2E
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08095C5C: .4byte gPlayerParty
- thumb_func_end StorageSystemGetPartySize
-
- thumb_func_start unref_sub_8095C60
-unref_sub_8095C60: @ 8095C60
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r2, 16
- lsrs r4, 16
- bl StringCopy
- adds r1, r0, 0
- adds r5, r4
- cmp r1, r5
- bcs _08095C7E
- movs r0, 0
-_08095C76:
- strb r0, [r1]
- adds r1, 0x1
- cmp r1, r5
- bcc _08095C76
-_08095C7E:
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8095C60
-
- thumb_func_start sub_8095C8C
-sub_8095C8C: @ 8095C8C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- adds r7, r3, 0
- ldr r5, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- ldr r0, [sp, 0x24]
- mov r9, r0
- ldr r0, [sp, 0x28]
- ldr r3, [sp, 0x2C]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- mov r0, r9
- lsls r0, 17
- mov r9, r0
- lsrs r2, 11
- adds r2, r1
- lsls r2, 1
- adds r6, r2
- adds r0, r4, 0
- muls r0, r3
- adds r0, r5
- lsls r0, 1
- adds r7, r0
- movs r4, 0
- cmp r4, r8
- bcs _08095CFC
- mov r0, r9
- lsrs r0, 1
- mov r9, r0
- lsls r5, r3, 1
-_08095CE2:
- adds r0, r7, 0
- adds r1, r6, 0
- mov r3, r9
- lsrs r2, r3, 16
- bl CpuSet
- adds r6, 0x40
- adds r7, r5
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r8
- bcc _08095CE2
-_08095CFC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8095C8C
-
- thumb_func_start unref_sub_8095D08
-unref_sub_8095D08: @ 8095D08
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsrs r2, 11
- adds r2, r1
- lsls r2, 1
- adds r4, r2
- lsls r3, 17
- lsrs r0, r3, 16
- str r0, [sp, 0x4]
- movs r0, 0
- cmp r0, r10
- bcs _08095DB2
- movs r6, 0x80
- lsls r6, 5
- mov r5, sp
- ldr r7, _08095D74 @ =0x040000d4
- lsrs r3, 17
- mov r9, r3
- mov r1, r9
- movs r2, 0x81
- lsls r2, 24
- orrs r1, r2
- mov r9, r1
-_08095D4E:
- adds r3, r4, 0
- ldr r2, [sp, 0x4]
- movs r1, 0x40
- adds r1, r4
- mov r8, r1
- adds r0, 0x1
- mov r12, r0
- cmp r2, r6
- bhi _08095D78
- movs r0, 0
- strh r0, [r5]
- mov r2, sp
- str r2, [r7]
- str r4, [r7, 0x4]
- mov r0, r9
- str r0, [r7, 0x8]
- ldr r0, [r7, 0x8]
- b _08095DA6
- .align 2, 0
-_08095D74: .4byte 0x040000d4
-_08095D78:
- movs r4, 0
- strh r4, [r5]
- ldr r1, _08095DC4 @ =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- ldr r0, _08095DC8 @ =0x81000800
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r6
- subs r2, r6
- cmp r2, r6
- bhi _08095D78
- strh r4, [r5]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r2, 1
- movs r2, 0x81
- lsls r2, 24
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08095DA6:
- mov r4, r8
- mov r1, r12
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, r10
- bcc _08095D4E
-_08095DB2:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095DC4: .4byte 0x040000d4
-_08095DC8: .4byte 0x81000800
- thumb_func_end unref_sub_8095D08
-
- thumb_func_start StorageSystemGetNextMonIndex
-StorageSystemGetNextMonIndex: @ 8095DCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r0, r3, 24
- cmp r0, 0
- beq _08095DE8
- cmp r0, 0x2
- bne _08095DEC
-_08095DE8:
- movs r2, 0x1
- b _08095DEE
-_08095DEC:
- ldr r2, _08095E38 @ =0x0000ffff
-_08095DEE:
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08095E44
- lsls r0, r1, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _08095E90
- cmp r1, r7
- bgt _08095E90
-_08095E10:
- asrs r4, r0, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- add r0, r8
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _08095E3C
- asrs r0, r6, 16
- adds r0, r4, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _08095E90
- cmp r2, r7
- ble _08095E10
- b _08095E90
- .align 2, 0
-_08095E38: .4byte 0x0000ffff
-_08095E3C:
- adds r0, r4, 0
- b _08095E94
-_08095E40:
- adds r0, r5, 0
- b _08095E94
-_08095E44:
- lsls r0, r1, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _08095E90
- cmp r1, r7
- bgt _08095E90
-_08095E5C:
- asrs r5, r0, 16
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 4
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08095E80
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetBoxMonData
- cmp r0, 0
- beq _08095E40
-_08095E80:
- asrs r0, r6, 16
- adds r0, r5, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _08095E90
- cmp r2, r7
- ble _08095E5C
-_08095E90:
- movs r0, 0x1
- negs r0, r0
-_08095E94:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end StorageSystemGetNextMonIndex
-
- thumb_func_start StorageSystemClearMessageWindow
-StorageSystemClearMessageWindow: @ 8095EA0
- push {lr}
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl Menu_BlankWindowRect
- pop {r0}
- bx r0
- thumb_func_end StorageSystemClearMessageWindow
-
- thumb_func_start Task_PokemonStorageSystem
-Task_PokemonStorageSystem: @ 8095EB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08095ED8 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _08095ECE
- b _080960F4
-_08095ECE:
- lsls r0, 2
- ldr r1, _08095EDC @ =_08095EE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08095ED8: .4byte gTasks
-_08095EDC: .4byte _08095EE0
- .align 2, 0
-_08095EE0:
- .4byte _08095EF4
- .4byte _08095F1C
- .4byte _08095F30
- .4byte _08096042
- .4byte _080960DC
-_08095EF4:
- ldrb r0, [r4, 0xA]
- bl StorageSystemCreatePrimaryMenu
- bl Menu_DisplayDialogueFrame
- ldr r1, _08095F18 @ =gUnknown_083B600C
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xF
- bl Menu_PrintText
- b _08095F28
- .align 2, 0
-_08095F18: .4byte gUnknown_083B600C
-_08095F1C:
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- bne _08095F28
- b _080960F4
-_08095F28:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080960F4
-_08095F30:
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0xC]
- movs r3, 0xC
- ldrsh r1, [r4, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08095FC8
- cmp r1, r0
- bgt _08095F52
- subs r0, 0x1
- cmp r1, r0
- beq _08095F58
- b _08095FE8
-_08095F52:
- cmp r1, 0x3
- beq _08095FC8
- b _08095FE8
-_08095F58:
- ldrh r3, [r4, 0xA]
- strh r3, [r4, 0xE]
- ldr r2, _08095FC0 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08095F76
- subs r0, r3, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- cmp r0, 0
- bge _08095F76
- movs r0, 0x3
- strh r0, [r4, 0xE]
-_08095F76:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08095F92
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08095F92
- movs r0, 0
- strh r0, [r4, 0xE]
-_08095F92:
- lsls r0, r3, 16
- asrs r0, 16
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _08095FA2
- b _080960F4
-_08095FA2:
- strh r2, [r4, 0xA]
- bl StorageSystemClearMessageWindow
- ldr r0, _08095FC4 @ =gUnknown_083B600C
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x2
- movs r2, 0xF
- bl Menu_PrintText
- b _080960F4
- .align 2, 0
-_08095FC0: .4byte gMain
-_08095FC4: .4byte gUnknown_083B600C
-_08095FC8:
- bl Menu_DestroyCursor
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x9
- bl Menu_EraseWindowRect
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- b _080960F4
-_08095FE8:
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _08096008
- bl StorageSystemGetPartySize
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08096008
- bl StorageSystemClearMessageWindow
- ldr r0, _08096004 @ =gPCText_PartyFull2
- b _08096022
- .align 2, 0
-_08096004: .4byte gPCText_PartyFull2
-_08096008:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08096034
- bl StorageSystemGetPartySize
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08096034
- bl StorageSystemClearMessageWindow
- ldr r0, _08096030 @ =gPCText_OnlyOne
-_08096022:
- movs r1, 0x2
- movs r2, 0xF
- bl Menu_PrintText
- movs r0, 0x3
- strh r0, [r4, 0x8]
- b _080960F4
- .align 2, 0
-_08096030: .4byte gPCText_OnlyOne
-_08096034:
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080960F4
-_08096042:
- ldr r0, _08096088 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r3, 0x3
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080960B8
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08096090
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bge _0809606A
- strh r3, [r4, 0xA]
-_0809606A:
- movs r0, 0x1
- negs r0, r0
- bl Menu_MoveCursor
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- bl StorageSystemClearMessageWindow
- ldr r1, _0809608C @ =gUnknown_083B600C
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- b _080960C2
- .align 2, 0
-_08096088: .4byte gMain
-_0809608C: .4byte gUnknown_083B600C
-_08096090:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080960F4
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080960A8
- strh r2, [r4, 0xA]
-_080960A8:
- movs r0, 0x1
- bl Menu_MoveCursor
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
-_080960B8:
- bl StorageSystemClearMessageWindow
- ldr r1, _080960D8 @ =gUnknown_083B600C
- movs r2, 0xA
- ldrsh r0, [r4, r2]
-_080960C2:
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xF
- bl Menu_PrintText
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080960F4
- .align 2, 0
-_080960D8: .4byte gUnknown_083B600C
-_080960DC:
- ldr r0, _080960FC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080960F4
- ldrb r0, [r4, 0xC]
- bl task_intro_29
- adds r0, r5, 0
- bl DestroyTask
-_080960F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080960FC: .4byte gPaletteFade
- thumb_func_end Task_PokemonStorageSystem
-
- thumb_func_start ShowPokemonStorageSystem
-ShowPokemonStorageSystem: @ 8096100
- push {lr}
- ldr r0, _08096128 @ =Task_PokemonStorageSystem
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809612C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .align 2, 0
-_08096128: .4byte Task_PokemonStorageSystem
-_0809612C: .4byte gTasks
- thumb_func_end ShowPokemonStorageSystem
-
- thumb_func_start sub_8096130
-sub_8096130: @ 8096130
- push {lr}
- ldr r0, _0809615C @ =Task_PokemonStorageSystem
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08096160 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- ldr r0, _08096164 @ =gUnknown_02038474
- ldrb r0, [r0]
- strh r0, [r1, 0xA]
- bl pal_fill_black
- pop {r0}
- bx r0
- .align 2, 0
-_0809615C: .4byte Task_PokemonStorageSystem
-_08096160: .4byte gTasks
-_08096164: .4byte gUnknown_02038474
- thumb_func_end sub_8096130
-
- thumb_func_start StorageSystemCreatePrimaryMenu
-StorageSystemCreatePrimaryMenu: @ 8096168
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x9
- bl Menu_DrawStdWindowFrame
- ldr r3, _080961A4 @ =gUnknown_083B600C
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl Menu_PrintItems
- str r4, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080961A4: .4byte gUnknown_083B600C
- thumb_func_end StorageSystemCreatePrimaryMenu
-
- thumb_func_start sub_80961A8
-sub_80961A8: @ 80961A8
- push {lr}
- ldr r1, _080961C4 @ =gUnknown_02038474
- ldr r0, _080961C8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- strb r0, [r1]
- ldr r1, _080961CC @ =gFieldCallback
- ldr r0, _080961D0 @ =sub_8096130
- str r0, [r1]
- ldr r0, _080961D4 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080961C4: .4byte gUnknown_02038474
-_080961C8: .4byte gUnknown_083B6DB4
-_080961CC: .4byte gFieldCallback
-_080961D0: .4byte sub_8096130
-_080961D4: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80961A8
-
- thumb_func_start ResetPokemonStorageSystem
-ResetPokemonStorageSystem: @ 80961D8
- push {r4-r7,lr}
- ldr r1, _08096258 @ =gPokemonStorage
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- adds r7, r1, 0x4
-_080961E4:
- movs r4, 0
- lsls r1, r5, 2
- adds r1, r5
- lsls r0, r1, 4
- subs r0, r1
- lsls r6, r0, 5
-_080961F0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- adds r0, r7
- adds r0, r6, r0
- bl ZeroBoxMonData
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _080961F0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _080961E4
- movs r5, 0
-_08096214:
- lsls r0, r5, 3
- adds r0, r5
- ldr r6, _0809625C @ =gPokemonStorage + 0x8344
- adds r0, r6
- ldr r1, _08096260 @ =gPCText_BOX
- bl StringCopy
- adds r4, r5, 0x1
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- lsls r4, 16
- lsrs r5, r4, 16
- cmp r5, 0xD
- bls _08096214
- movs r5, 0
- adds r3, r6, 0
- adds r3, 0x7E
- movs r2, 0x3
-_0809623E:
- adds r0, r5, r3
- adds r1, r5, 0
- ands r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _0809623E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096258: .4byte gPokemonStorage
-_0809625C: .4byte gPokemonStorage + 0x8344
-_08096260: .4byte gPCText_BOX
- thumb_func_end ResetPokemonStorageSystem
-
- thumb_func_start sub_8096264
-sub_8096264: @ 8096264
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x20
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r9, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _080962F4 @ =gBoxSelectionPopupPalette
- str r0, [sp, 0x18]
- ldr r1, _080962F8 @ =0xffff0000
- add r5, sp, 0x18
- ldr r0, [r5, 0x4]
- ands r0, r1
- orrs r0, r6
- str r0, [r5, 0x4]
- mov r1, sp
- ldr r0, _080962FC @ =gBoxSelectionPopupCenterTiles
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1, 0x4]
- strh r4, [r1, 0x6]
- ldr r0, _08096300 @ =gBoxSelectionPopupSidesTiles
- str r0, [sp, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- strh r0, [r1, 0xC]
- adds r0, r4, 0x1
- strh r0, [r1, 0xE]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- bl LoadSpritePalette
- mov r0, sp
- bl LoadSpriteSheets
- ldr r0, _08096304 @ =gUnknown_02038478
- mov r1, r8
- str r1, [r0]
- movs r0, 0x90
- lsls r0, 2
- add r0, r8
- strh r4, [r0]
- ldr r0, _08096308 @ =0x00000242
- add r0, r8
- strh r6, [r0]
- ldr r0, _0809630C @ =0x0000023e
- add r8, r0
- mov r0, r9
- mov r1, r8
- strb r0, [r1]
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080962F4: .4byte gBoxSelectionPopupPalette
-_080962F8: .4byte 0xffff0000
-_080962FC: .4byte gBoxSelectionPopupCenterTiles
-_08096300: .4byte gBoxSelectionPopupSidesTiles
-_08096304: .4byte gUnknown_02038478
-_08096308: .4byte 0x00000242
-_0809630C: .4byte 0x0000023e
- thumb_func_end sub_8096264
-
- thumb_func_start sub_8096310
-sub_8096310: @ 8096310
- push {r4,r5,lr}
- ldr r4, _08096344 @ =gUnknown_02038478
- ldr r0, [r4]
- ldr r1, _08096348 @ =0x00000242
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- movs r5, 0x90
- lsls r5, 2
- adds r0, r5
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, r5
- ldrh r0, [r0]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096344: .4byte gUnknown_02038478
-_08096348: .4byte 0x00000242
- thumb_func_end sub_8096310
-
- thumb_func_start sub_809634C
-sub_809634C: @ 809634C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80963D0
- pop {r0}
- bx r0
- thumb_func_end sub_809634C
-
- thumb_func_start sub_809635C
-sub_809635C: @ 809635C
- push {lr}
- bl sub_809658C
- pop {r0}
- bx r0
- thumb_func_end sub_809635C
-
- thumb_func_start sub_8096368
-sub_8096368: @ 8096368
- push {lr}
- ldr r0, _08096380 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08096384
- movs r0, 0x5
- bl PlaySE
- movs r0, 0xC9
- b _080963CC
- .align 2, 0
-_08096380: .4byte gMain
-_08096384:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080963A4
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080963A0 @ =gUnknown_02038478
- ldr r0, [r0]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- b _080963CC
- .align 2, 0
-_080963A0: .4byte gUnknown_02038478
-_080963A4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080963B8
- movs r0, 0x5
- bl PlaySE
- bl sub_809662C
- b _080963CA
-_080963B8:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080963CA
- movs r0, 0x5
- bl PlaySE
- bl sub_80965F8
-_080963CA:
- movs r0, 0xC8
-_080963CC:
- pop {r1}
- bx r1
- thumb_func_end sub_8096368
-
- thumb_func_start sub_80963D0
-sub_80963D0: @ 80963D0
- push {r4-r6,lr}
- sub sp, 0x3C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x34]
- str r1, [sp, 0x38]
- movs r1, 0xC0
- lsls r1, 24
- ldr r0, [sp, 0x34]
- orrs r0, r1
- str r0, [sp, 0x34]
- ldr r1, _08096564 @ =0xffff0fff
- add r4, sp, 0x34
- ldr r0, [r4, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 5
- orrs r0, r1
- str r0, [r4, 0x4]
- add r1, sp, 0x1C
- movs r2, 0
- strh r2, [r1]
- mov r0, sp
- adds r0, 0x1E
- strh r2, [r0]
- str r4, [sp, 0x20]
- ldr r0, _08096568 @ =gDummySpriteAnimTable
- str r0, [sp, 0x24]
- str r2, [sp, 0x28]
- ldr r0, _0809656C @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x2C]
- ldr r0, _08096570 @ =SpriteCallbackDummy
- str r0, [sp, 0x30]
- add r0, sp, 0x4
- movs r2, 0x18
- bl memcpy
- ldr r6, _08096574 @ =gUnknown_02038478
- ldr r0, [r6]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r1
- strb r5, [r0]
- add r2, sp, 0x4
- ldr r1, [r6]
- movs r5, 0x90
- lsls r5, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r3, _08096578 @ =0x00000242
- adds r1, r3
- ldrh r0, [r1]
- strh r0, [r2, 0x2]
- adds r0, r2, 0
- movs r1, 0xA0
- movs r2, 0x60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809657C @ =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r2, [r4, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x80
- orrs r0, r2
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- ands r1, r0
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4, 0x3]
- add r1, sp, 0x4
- adds r3, r5
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r1]
- ldr r0, _08096580 @ =gSpriteAnimTable_83B604C
- str r0, [sp, 0xC]
- movs r4, 0
-_08096488:
- ldr r0, [r6]
- ldr r1, _08096584 @ =0x0000023e
- adds r0, r1
- ldrb r3, [r0]
- add r0, sp, 0x4
- movs r1, 0x7C
- movs r2, 0x50
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, [r6]
- lsls r3, r4, 2
- adds r2, 0x4
- adds r2, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809657C @ =gSprites
- adds r1, r0, r1
- str r1, [r2]
- movs r5, 0
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _080964C2
- movs r0, 0xC4
- strh r0, [r1, 0x20]
- movs r5, 0x2
-_080964C2:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080964E6
- ldr r1, [r6]
- adds r1, 0x4
- adds r1, r3
- ldr r2, [r1]
- movs r0, 0x70
- strh r0, [r2, 0x22]
- ldr r2, [r1]
- ldrb r1, [r2, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080964E6:
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r3
- ldr r0, [r0]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08096488
- movs r4, 0
- ldr r5, _08096574 @ =gUnknown_02038478
-_08096504:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 19
- movs r3, 0xF8
- lsls r3, 15
- adds r0, r3
- lsrs r0, 16
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r1, [r5]
- ldr r3, _08096584 @ =0x0000023e
- adds r1, r3
- ldrb r1, [r1]
- str r1, [sp]
- movs r1, 0x58
- movs r3, 0
- bl sub_809A9A0
- adds r2, r0, 0
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, 0x20
- adds r0, r1
- str r2, [r0]
- cmp r2, 0
- beq _0809654C
- movs r1, 0x1
- cmp r4, 0
- bne _08096544
- movs r3, 0x1
- negs r3, r3
- adds r1, r3, 0
-_08096544:
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- ldr r0, _08096588 @ =sub_8096784
- str r0, [r1, 0x1C]
-_0809654C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08096504
- bl sub_809665C
- add sp, 0x3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08096564: .4byte 0xffff0fff
-_08096568: .4byte gDummySpriteAnimTable
-_0809656C: .4byte gDummySpriteAffineAnimTable
-_08096570: .4byte SpriteCallbackDummy
-_08096574: .4byte gUnknown_02038478
-_08096578: .4byte 0x00000242
-_0809657C: .4byte gSprites
-_08096580: .4byte gSpriteAnimTable_83B604C
-_08096584: .4byte 0x0000023e
-_08096588: .4byte sub_8096784
- thumb_func_end sub_80963D0
-
- thumb_func_start sub_809658C
-sub_809658C: @ 809658C
- push {r4-r6,lr}
- ldr r4, _080965F4 @ =gUnknown_02038478
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _080965A2
- bl DestroySprite
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_080965A2:
- movs r5, 0
- adds r6, r4, 0
-_080965A6:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0x4
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080965C2
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080965C2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080965A6
- movs r5, 0
-_080965CE:
- ldr r0, _080965F4 @ =gUnknown_02038478
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x20
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080965E2
- bl DestroySprite
-_080965E2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080965CE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080965F4: .4byte gUnknown_02038478
- thumb_func_end sub_809658C
-
- thumb_func_start sub_80965F8
-sub_80965F8: @ 80965F8
- push {lr}
- ldr r2, _08096628 @ =gUnknown_02038478
- ldr r1, [r2]
- movs r0, 0x8F
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bls _0809661E
- ldr r0, [r2]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0809661E:
- bl sub_809665C
- pop {r0}
- bx r0
- .align 2, 0
-_08096628: .4byte gUnknown_02038478
- thumb_func_end sub_80965F8
-
- thumb_func_start sub_809662C
-sub_809662C: @ 809662C
- push {lr}
- ldr r0, _08096644 @ =gUnknown_02038478
- ldr r2, [r0]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096648
- subs r1, r0, 0x1
- b _0809664A
- .align 2, 0
-_08096644: .4byte gUnknown_02038478
-_08096648:
- movs r1, 0xD
-_0809664A:
- movs r3, 0x8F
- lsls r3, 2
- adds r0, r2, r3
- strb r1, [r0]
- bl sub_809665C
- pop {r0}
- bx r0
- thumb_func_end sub_809662C
-
- thumb_func_start sub_809665C
-sub_809665C: @ 809665C
- push {r4-r7,lr}
- ldr r5, _080966B4 @ =gUnknown_02038478
- ldr r0, [r5]
- movs r4, 0x8F
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl sub_8095ADC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _080966B8 @ =gStringVar1
- movs r6, 0xFC
- strb r6, [r2]
- movs r0, 0x4
- strb r0, [r2, 0x1]
- movs r0, 0xF
- strb r0, [r2, 0x2]
- movs r0, 0x1
- strb r0, [r2, 0x3]
- movs r0, 0xE
- strb r0, [r2, 0x4]
- adds r2, 0x5
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- ldr r0, _080966BC @ =gPokemonStorage + 0x8344
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0xFE
- strb r0, [r2]
- strb r6, [r2, 0x1]
- movs r0, 0x11
- strb r0, [r2, 0x2]
- cmp r7, 0x9
- bhi _080966C0
- movs r0, 0x28
- b _080966C2
- .align 2, 0
-_080966B4: .4byte gUnknown_02038478
-_080966B8: .4byte gStringVar1
-_080966BC: .4byte gPokemonStorage + 0x8344
-_080966C0:
- movs r0, 0x22
-_080966C2:
- strb r0, [r2, 0x3]
- adds r2, 0x4
- adds r0, r2, 0
- adds r1, r7, 0
- bl ConvertIntToDecimalString
- adds r2, r0, 0
- movs r0, 0xBA
- strb r0, [r2]
- movs r0, 0xA4
- strb r0, [r2, 0x1]
- movs r0, 0xA1
- strb r0, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r0, _080966F0 @ =gStringVar1
- movs r1, 0
- movs r2, 0x1
- bl sub_80966F4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080966F0: .4byte gStringVar1
- thumb_func_end sub_809665C
-
- thumb_func_start sub_80966F4
-sub_80966F4: @ 80966F4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08096764 @ =gUnknown_02038478
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- bl GetSpriteTileStartByTag
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 11
- lsls r4, 8
- ldr r2, _08096768 @ =0x06010000
- adds r4, r2
- adds r6, r4
- lsls r5, 5
- adds r6, r5
- ldr r0, _0809676C @ =gUnknown_083B6DB8
- ldr r5, [r0]
- mov r1, sp
- ldr r2, _08096770 @ =0x00001111
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _08096774 @ =0x040000d4
- str r1, [r4]
- str r5, [r4, 0x4]
- ldr r0, _08096778 @ =0x81000200
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0809677C @ =gWindowTemplate_81E6D38
- adds r1, r5, 0
- mov r2, r8
- bl Text_InitWindow8004E3C
- str r5, [r4]
- str r6, [r4, 0x4]
- ldr r0, _08096780 @ =0x80000200
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08096764: .4byte gUnknown_02038478
-_08096768: .4byte 0x06010000
-_0809676C: .4byte gUnknown_083B6DB8
-_08096770: .4byte 0x00001111
-_08096774: .4byte 0x040000d4
-_08096778: .4byte 0x81000200
-_0809677C: .4byte gWindowTemplate_81E6D38
-_08096780: .4byte 0x80000200
- thumb_func_end sub_80966F4
-
- thumb_func_start sub_8096784
-sub_8096784: @ 8096784
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080967B4
- strh r2, [r1, 0x30]
- ldrh r0, [r1, 0x2E]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080967B4
- strh r2, [r1, 0x32]
- strh r2, [r1, 0x24]
-_080967B4:
- pop {r0}
- bx r0
- thumb_func_end sub_8096784
-
- thumb_func_start task_intro_29
-task_intro_29: @ 80967B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080967D0 @ =gUnknown_0203847D
- strb r0, [r1]
- ldr r1, _080967D4 @ =gSharedMem
- strb r0, [r1, 0x5]
- ldr r0, _080967D8 @ =sub_8096884
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080967D0: .4byte gUnknown_0203847D
-_080967D4: .4byte gSharedMem
-_080967D8: .4byte sub_8096884
- thumb_func_end task_intro_29
-
- thumb_func_start sub_80967DC
-sub_80967DC: @ 80967DC
- ldr r0, _08096800 @ =REG_BG0HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08096800: .4byte REG_BG0HOFS
- thumb_func_end sub_80967DC
-
- thumb_func_start sub_8096804
-sub_8096804: @ 8096804
- push {lr}
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r1, _0809683C @ =gReservedSpriteTileCount
- movs r2, 0xA0
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08096840 @ =gSharedMem + 0x20
- adds r1, r0, 0
- adds r1, 0x8
- movs r2, 0x8
- bl sub_809CFDC
- ldr r1, _08096844 @ =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0809683C: .4byte gReservedSpriteTileCount
-_08096840: .4byte gSharedMem + 0x20
-_08096844: .4byte gKeyRepeatStartDelay
- thumb_func_end sub_8096804
-
- thumb_func_start sub_8096848
-sub_8096848: @ 8096848
- push {lr}
- bl sub_809B0D4
- ldr r2, _08096868 @ =gUnknown_0203847C
- movs r1, 0
- ldr r0, _0809686C @ =gSharedMem
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- bne _0809685C
- movs r1, 0x1
-_0809685C:
- strb r1, [r2]
- ldr r1, _08096870 @ =gUnknown_0203847E
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08096868: .4byte gUnknown_0203847C
-_0809686C: .4byte gSharedMem
-_08096870: .4byte gUnknown_0203847E
- thumb_func_end sub_8096848
-
- thumb_func_start sub_8096874
-sub_8096874: @ 8096874
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- thumb_func_end sub_8096874
-
- thumb_func_start sub_8096884
-sub_8096884: @ 8096884
- push {lr}
- ldr r0, _080968A0 @ =gMain
- ldr r1, _080968A4 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08096894
- b _08096986
-_08096894:
- lsls r0, 2
- ldr r1, _080968A8 @ =_080968AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080968A0: .4byte gMain
-_080968A4: .4byte 0x0000043c
-_080968A8: .4byte _080968AC
- .align 2, 0
-_080968AC:
- .4byte _080968D4
- .4byte _080968E8
- .4byte _080968F4
- .4byte _08096904
- .4byte _0809690E
- .4byte _08096918
- .4byte _0809691E
- .4byte _08096924
- .4byte _0809692A
- .4byte _08096964
-_080968D4:
- movs r0, 0
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- bl sub_8096804
- b _0809697A
-_080968E8:
- ldr r0, _080968F0 @ =gWindowTemplate_81E6D00
- bl Text_LoadWindowTemplate
- b _0809697A
- .align 2, 0
-_080968F0: .4byte gWindowTemplate_81E6D00
-_080968F4:
- ldr r0, _08096900 @ =gWindowTemplate_81E6D00
- bl InitMenuWindow
- bl Menu_EraseScreen
- b _0809697A
- .align 2, 0
-_08096900: .4byte gWindowTemplate_81E6D00
-_08096904:
- bl sub_80967DC
- bl sub_8096848
- b _0809697A
-_0809690E:
- bl sub_8098B48
- bl sub_809AA24
- b _0809697A
-_08096918:
- bl sub_8097DE0
- b _0809697A
-_0809691E:
- bl sub_8097E70
- b _0809697A
-_08096924:
- bl sub_8098400
- b _0809697A
-_0809692A:
- ldr r0, _08096950 @ =gPokemonStorage
- ldrb r0, [r0]
- bl sub_8099BF8
- ldr r2, _08096954 @ =gSharedMem
- ldr r1, _08096958 @ =0x000012bc
- adds r0, r2, r1
- movs r1, 0xA
- strh r1, [r0]
- ldr r1, _0809695C @ =0x000012be
- adds r2, r1
- ldr r1, _08096960 @ =0x0000dacb
- strh r1, [r2]
- bl sub_80F727C
- bl sub_80F7404
- b _0809697A
- .align 2, 0
-_08096950: .4byte gPokemonStorage
-_08096954: .4byte gSharedMem
-_08096958: .4byte 0x000012bc
-_0809695C: .4byte 0x000012be
-_08096960: .4byte 0x0000dacb
-_08096964:
- bl sub_8096874
- ldr r0, _0809698C @ =sub_8096BF0
- bl sub_8096BE0
- ldr r0, _08096990 @ =sub_8096B38
- bl SetMainCallback2
- ldr r0, _08096994 @ =sub_8096AFC
- bl SetVBlankCallback
-_0809697A:
- ldr r1, _08096998 @ =gMain
- ldr r0, _0809699C @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08096986:
- pop {r0}
- bx r0
- .align 2, 0
-_0809698C: .4byte sub_8096BF0
-_08096990: .4byte sub_8096B38
-_08096994: .4byte sub_8096AFC
-_08096998: .4byte gMain
-_0809699C: .4byte 0x0000043c
- thumb_func_end sub_8096884
-
- thumb_func_start sub_80969A0
-sub_80969A0: @ 80969A0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080969BC @ =gMain
- ldr r1, _080969C0 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _080969B2
- b _08096AE4
-_080969B2:
- lsls r0, 2
- ldr r1, _080969C4 @ =_080969C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080969BC: .4byte gMain
-_080969C0: .4byte 0x0000043c
-_080969C4: .4byte _080969C8
- .align 2, 0
-_080969C8:
- .4byte _080969F4
- .4byte _08096A34
- .4byte _08096A40
- .4byte _08096A50
- .4byte _08096A56
- .4byte _08096A60
- .4byte _08096A66
- .4byte _08096A6C
- .4byte _08096A72
- .4byte _08096AAC
- .4byte _08096AC8
-_080969F4:
- movs r0, 0
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- ldr r1, _08096A28 @ =gSharedMem
- ldr r0, _08096A2C @ =gUnknown_0203847D
- ldrb r0, [r0]
- strb r0, [r1, 0x5]
- bl sub_8096804
- ldr r4, _08096A30 @ =gUnknown_0203847F
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _08096A1A
- bl sub_809BBC0
-_08096A1A:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08096AD8
- bl sub_809BD14
- b _08096AD8
- .align 2, 0
-_08096A28: .4byte gSharedMem
-_08096A2C: .4byte gUnknown_0203847D
-_08096A30: .4byte gUnknown_0203847F
-_08096A34:
- ldr r0, _08096A3C @ =gWindowTemplate_81E6D00
- bl Text_LoadWindowTemplate
- b _08096AD8
- .align 2, 0
-_08096A3C: .4byte gWindowTemplate_81E6D00
-_08096A40:
- ldr r0, _08096A4C @ =gWindowTemplate_81E6D00
- bl InitMenuWindow
- bl Menu_EraseScreen
- b _08096AD8
- .align 2, 0
-_08096A4C: .4byte gWindowTemplate_81E6D00
-_08096A50:
- bl sub_80967DC
- b _08096AD8
-_08096A56:
- bl sub_8098B48
- bl sub_809AA98
- b _08096AD8
-_08096A60:
- bl sub_8097DE0
- b _08096AD8
-_08096A66:
- bl sub_8097E70
- b _08096AD8
-_08096A6C:
- bl sub_8098400
- b _08096AD8
-_08096A72:
- ldr r0, _08096A98 @ =gPokemonStorage
- ldrb r0, [r0]
- bl sub_8099BF8
- ldr r2, _08096A9C @ =gSharedMem
- ldr r1, _08096AA0 @ =0x000012bc
- adds r0, r2, r1
- movs r1, 0xA
- strh r1, [r0]
- ldr r1, _08096AA4 @ =0x000012be
- adds r2, r1
- ldr r1, _08096AA8 @ =0x0000dacb
- strh r1, [r2]
- bl sub_80F727C
- bl sub_80F7404
- b _08096AD8
- .align 2, 0
-_08096A98: .4byte gPokemonStorage
-_08096A9C: .4byte gSharedMem
-_08096AA0: .4byte 0x000012bc
-_08096AA4: .4byte 0x000012be
-_08096AA8: .4byte 0x0000dacb
-_08096AAC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08096AC4 @ =sub_8096AFC
- bl SetVBlankCallback
- b _08096AD8
- .align 2, 0
-_08096AC4: .4byte sub_8096AFC
-_08096AC8:
- bl sub_8096874
- ldr r0, _08096AEC @ =sub_8096C68
- bl sub_8096BE0
- ldr r0, _08096AF0 @ =sub_8096B38
- bl SetMainCallback2
-_08096AD8:
- ldr r1, _08096AF4 @ =gMain
- ldr r0, _08096AF8 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08096AE4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096AEC: .4byte sub_8096C68
-_08096AF0: .4byte sub_8096B38
-_08096AF4: .4byte gMain
-_08096AF8: .4byte 0x0000043c
- thumb_func_end sub_80969A0
-
- thumb_func_start sub_8096AFC
-sub_8096AFC: @ 8096AFC
- push {lr}
- ldr r2, _08096B2C @ =REG_BG2HOFS
- ldr r1, _08096B30 @ =gSharedMem
- ldr r3, _08096B34 @ =0x000008b4
- adds r0, r1, r3
- ldrh r0, [r0]
- strh r0, [r2]
- adds r2, 0x4
- ldrh r0, [r1, 0xA]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_809CFF0
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_08096B2C: .4byte REG_BG2HOFS
-_08096B30: .4byte gSharedMem
-_08096B34: .4byte 0x000008b4
- thumb_func_end sub_8096AFC
-
- thumb_func_start sub_8096B38
-sub_8096B38: @ 8096B38
- push {lr}
- ldr r0, _08096B58 @ =gSharedMem
- ldr r0, [r0]
- bl _call_via_r0
- bl sub_8097E44
- bl sub_8098734
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_08096B58: .4byte gSharedMem
- thumb_func_end sub_8096B38
-
- thumb_func_start sub_8096B5C
-sub_8096B5C: @ 8096B5C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r4, _08096B70 @ =gSharedMem
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- beq _08096B74
- cmp r0, 0x1
- beq _08096BAC
- b _08096BCC
- .align 2, 0
-_08096B70: .4byte gSharedMem
-_08096B74:
- ldr r1, _08096B98 @ =0x00002690
- adds r0, r4, r1
- ldr r0, [r0]
- ldr r2, _08096B9C @ =0x0000268d
- adds r1, r4, r2
- ldrb r1, [r1]
- ldr r3, _08096BA0 @ =0x0000268c
- adds r2, r4, r3
- ldrb r2, [r2]
- ldr r3, _08096BA4 @ =sub_80969A0
- ldr r5, _08096BA8 @ =0x0000268e
- adds r4, r5
- ldrb r4, [r4]
- str r4, [sp]
- bl ShowPokemonSummaryScreen
- b _08096BCC
- .align 2, 0
-_08096B98: .4byte 0x00002690
-_08096B9C: .4byte 0x0000268d
-_08096BA0: .4byte 0x0000268c
-_08096BA4: .4byte sub_80969A0
-_08096BA8: .4byte 0x0000268e
-_08096BAC:
- ldr r0, _08096BD4 @ =gPokemonStorage
- ldrb r2, [r0]
- lsls r1, r2, 3
- adds r1, r2
- ldr r2, _08096BD8 @ =0x00008344
- adds r0, r2
- adds r1, r0
- movs r0, 0
- str r0, [sp]
- ldr r0, _08096BDC @ =sub_80969A0
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DoNamingScreen
-_08096BCC:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096BD4: .4byte gPokemonStorage
-_08096BD8: .4byte 0x00008344
-_08096BDC: .4byte sub_80969A0
- thumb_func_end sub_8096B5C
-
- thumb_func_start sub_8096BE0
-sub_8096BE0: @ 8096BE0
- ldr r1, _08096BEC @ =gSharedMem
- str r0, [r1]
- movs r0, 0
- strb r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_08096BEC: .4byte gSharedMem
- thumb_func_end sub_8096BE0
-
- thumb_func_start sub_8096BF0
-sub_8096BF0: @ 8096BF0
- push {r4,lr}
- ldr r4, _08096C04 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0x1
- beq _08096C16
- cmp r0, 0x1
- bgt _08096C08
- cmp r0, 0
- beq _08096C0E
- b _08096C5C
- .align 2, 0
-_08096C04: .4byte gSharedMem
-_08096C08:
- cmp r0, 0x2
- beq _08096C4C
- b _08096C5C
-_08096C0E:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- b _08096C38
-_08096C16:
- movs r0, 0x2
- bl PlaySE
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08096C48 @ =0x0000dad0
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5CD4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
-_08096C38:
- movs r2, 0
- bl BlendPalettes
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08096C5C
- .align 2, 0
-_08096C48: .4byte 0x0000dad0
-_08096C4C:
- bl sub_80C5DCC
- lsls r0, 24
- cmp r0, 0
- beq _08096C5C
- ldr r0, _08096C64 @ =sub_8096C84
- bl sub_8096BE0
-_08096C5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096C64: .4byte sub_8096C84
- thumb_func_end sub_8096BF0
-
- thumb_func_start sub_8096C68
-sub_8096C68: @ 8096C68
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08096C7A
- ldr r0, _08096C80 @ =sub_8096C84
- bl sub_8096BE0
-_08096C7A:
- pop {r0}
- bx r0
- .align 2, 0
-_08096C80: .4byte sub_8096C84
- thumb_func_end sub_8096C68
-
- thumb_func_start sub_8096C84
-sub_8096C84: @ 8096C84
- push {r4,lr}
- ldr r0, _08096C9C @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bls _08096C90
- b _08096FBA
-_08096C90:
- lsls r0, 2
- ldr r1, _08096CA0 @ =_08096CA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096C9C: .4byte gSharedMem
-_08096CA0: .4byte _08096CA4
- .align 2, 0
-_08096CA4:
- .4byte _08096CC0
- .4byte _08096EE0
- .4byte _08096F1C
- .4byte _08096F60
- .4byte _08096F80
- .4byte _08096F8A
- .4byte _08096FA4
-_08096CC0:
- bl sub_809CA40
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0xF
- bls _08096CD0
- b _08096FBA
-_08096CD0:
- lsls r0, 2
- ldr r1, _08096CDC @ =_08096CE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096CDC: .4byte _08096CE0
- .align 2, 0
-_08096CE0:
- .4byte _08096D20
- .4byte _08096FBA
- .4byte _08096FBA
- .4byte _08096D94
- .4byte _08096D34
- .4byte _08096D5C
- .4byte _08096DAC
- .4byte _08096DC0
- .4byte _08096DD4
- .4byte _08096DFC
- .4byte _08096E30
- .4byte _08096EB8
- .4byte _08096E70
- .4byte _08096E8C
- .4byte _08096ECC
- .4byte _08096DA0
-_08096D20:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _08096D30 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096D30: .4byte gSharedMem
-_08096D34:
- ldr r4, _08096D48 @ =gSharedMem
- ldrb r0, [r4, 0x5]
- cmp r0, 0x2
- beq _08096D4C
- movs r0, 0x10
- bl sub_8098898
- movs r0, 0x3
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096D48: .4byte gSharedMem
-_08096D4C:
- bl sub_809B0D4
- ldr r0, _08096D58 @ =sub_8096FC8
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D58: .4byte sub_8096FC8
-_08096D5C:
- ldr r4, _08096D88 @ =gSharedMem
- ldrb r0, [r4, 0x5]
- cmp r0, 0x2
- beq _08096D66
- b _08096FBA
-_08096D66:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08096D80
- ldr r1, _08096D8C @ =0x000011f2
- adds r0, r4, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _08096E4C
-_08096D80:
- ldr r0, _08096D90 @ =sub_8097004
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D88: .4byte gSharedMem
-_08096D8C: .4byte 0x000011f2
-_08096D90: .4byte sub_8097004
-_08096D94:
- ldr r0, _08096D9C @ =sub_8097BA0
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D9C: .4byte sub_8097BA0
-_08096DA0:
- ldr r0, _08096DA8 @ =sub_8097CC0
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DA8: .4byte sub_8097CC0
-_08096DAC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096DBC @ =sub_809789C
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DBC: .4byte sub_809789C
-_08096DC0:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096DD0 @ =sub_8097078
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DD0: .4byte sub_8097078
-_08096DD4:
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08096DF0 @ =gSharedMem
- ldr r0, _08096DF4 @ =gPokemonStorage
- ldrb r0, [r0]
- adds r0, 0x1
- ldr r2, _08096DF8 @ =0x000008b2
- adds r1, r4, r2
- strh r0, [r1]
- cmp r0, 0xD
- ble _08096E18
- movs r0, 0
- b _08096E16
- .align 2, 0
-_08096DF0: .4byte gSharedMem
-_08096DF4: .4byte gPokemonStorage
-_08096DF8: .4byte 0x000008b2
-_08096DFC:
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08096E24 @ =gSharedMem
- ldr r0, _08096E28 @ =gPokemonStorage
- ldrb r0, [r0]
- subs r0, 0x1
- ldr r2, _08096E2C @ =0x000008b2
- adds r1, r4, r2
- strh r0, [r1]
- cmp r0, 0
- bge _08096E18
- movs r0, 0xD
-_08096E16:
- strh r0, [r1]
-_08096E18:
- ldrb r0, [r1]
- bl sub_8099C70
- movs r0, 0x2
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096E24: .4byte gSharedMem
-_08096E28: .4byte gPokemonStorage
-_08096E2C: .4byte 0x000008b2
-_08096E30:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _08096E96
- ldr r4, _08096E54 @ =gSharedMem
- ldr r1, _08096E58 @ =0x000011f2
- adds r0, r4, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _08096E5C
-_08096E4C:
- movs r0, 0x5
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096E54: .4byte gSharedMem
-_08096E58: .4byte 0x000011f2
-_08096E5C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096E6C @ =sub_809746C
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096E6C: .4byte sub_809746C
-_08096E70:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _08096E96
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096E88 @ =sub_80972A8
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096E88: .4byte sub_80972A8
-_08096E8C:
- bl sub_809BEBC
- lsls r0, 24
- cmp r0, 0
- bne _08096EA4
-_08096E96:
- ldr r1, _08096EA0 @ =gSharedMem
- movs r0, 0x4
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096EA0: .4byte gSharedMem
-_08096EA4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EB4 @ =c3_0808DC50
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EB4: .4byte c3_0808DC50
-_08096EB8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EC8 @ =sub_8097390
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EC8: .4byte sub_8097390
-_08096ECC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EDC @ =sub_80972FC
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EDC: .4byte sub_80972FC
-_08096EE0:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _08096FBA
- bl sub_809BF48
- lsls r0, 24
- cmp r0, 0
- beq _08096EFA
- bl sub_80986E8
- b _08096EFE
-_08096EFA:
- bl sub_8098710
-_08096EFE:
- ldr r4, _08096F14 @ =gSharedMem
- ldr r2, _08096F18 @ =0x000011f6
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096F0E
- bl BoxSetMosaic
-_08096F0E:
- movs r0, 0
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096F14: .4byte gSharedMem
-_08096F18: .4byte 0x000011f6
-_08096F1C:
- bl sub_8099D34
- lsls r0, 24
- cmp r0, 0
- bne _08096FBA
- ldr r1, _08096F50 @ =gPokemonStorage
- ldr r0, _08096F54 @ =gSharedMem
- ldr r2, _08096F58 @ =0x000008b2
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, _08096F5C @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096F70
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- bne _08096F70
- bl sub_809B440
- bl BoxSetMosaic
- b _08096F70
- .align 2, 0
-_08096F50: .4byte gPokemonStorage
-_08096F54: .4byte gSharedMem
-_08096F58: .4byte 0x000008b2
-_08096F5C: .4byte gUnknown_0203847C
-_08096F60:
- ldr r0, _08096F78 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08096FBA
- bl sub_8098A5C
-_08096F70:
- ldr r1, _08096F7C @ =gSharedMem
- movs r0, 0
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096F78: .4byte gMain
-_08096F7C: .4byte gSharedMem
-_08096F80:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _08096F92
-_08096F8A:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_08096F92:
- bl sub_8098898
- ldr r1, _08096FA0 @ =gSharedMem
- movs r0, 0x6
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096FA0: .4byte gSharedMem
-_08096FA4:
- ldr r0, _08096FC0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08096FBA
- bl sub_8098A5C
- ldr r0, _08096FC4 @ =sub_8096C84
- bl sub_8096BE0
-_08096FBA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096FC0: .4byte gMain
-_08096FC4: .4byte sub_8096C84
- thumb_func_end sub_8096C84
-
- thumb_func_start sub_8096FC8
-sub_8096FC8: @ 8096FC8
- push {r4,lr}
- ldr r4, _08096FD8 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08096FDC
- cmp r0, 0x1
- beq _08096FE8
- b _08096FF8
- .align 2, 0
-_08096FD8: .4byte gSharedMem
-_08096FDC:
- bl sub_809880C
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08096FF8
-_08096FE8:
- bl sub_8098830
- lsls r0, 24
- cmp r0, 0
- bne _08096FF8
- ldr r0, _08097000 @ =sub_8096C84
- bl sub_8096BE0
-_08096FF8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097000: .4byte sub_8096C84
- thumb_func_end sub_8096FC8
-
- thumb_func_start sub_8097004
-sub_8097004: @ 8097004
- push {r4,lr}
- ldr r4, _08097018 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0x1
- beq _0809702E
- cmp r0, 0x1
- bgt _0809701C
- cmp r0, 0
- beq _08097022
- b _0809706A
- .align 2, 0
-_08097018: .4byte gSharedMem
-_0809701C:
- cmp r0, 0x2
- beq _0809704C
- b _0809706A
-_08097022:
- movs r0, 0x5
- bl PlaySE
- bl add_to_c3_somehow
- b _08097044
-_0809702E:
- bl sub_80985CC
- lsls r0, 24
- cmp r0, 0
- bne _0809706A
- bl sub_809B0F4
- lsls r0, 24
- lsrs r0, 24
- bl sub_809B0C0
-_08097044:
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809706A
-_0809704C:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _0809706A
- ldr r1, _08097070 @ =0x000011f6
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097064
- bl BoxSetMosaic
-_08097064:
- ldr r0, _08097074 @ =sub_8096C84
- bl sub_8096BE0
-_0809706A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097070: .4byte 0x000011f6
-_08097074: .4byte sub_8096C84
- thumb_func_end sub_8097004
-
- thumb_func_start sub_8097078
-sub_8097078: @ 8097078
- push {r4,lr}
- ldr r0, _08097090 @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0x5
- bls _08097084
- b _0809729A
-_08097084:
- lsls r0, 2
- ldr r1, _08097094 @ =_08097098
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097090: .4byte gSharedMem
-_08097094: .4byte _08097098
- .align 2, 0
-_08097098:
- .4byte _080970B0
- .4byte _080970C8
- .4byte _08097258
- .4byte _0809726C
- .4byte _08097262
- .4byte _08097284
-_080970B0:
- movs r0, 0x4
- bl sub_8098898
- bl sub_809CE84
- ldr r1, _080970C4 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_080970C4: .4byte gSharedMem
-_080970C8:
- bl sub_809CF30
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bls _080970D8
- b _0809729A
-_080970D8:
- lsls r0, 2
- ldr r1, _080970E4 @ =_080970E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080970E4: .4byte _080970E8
- .align 2, 0
-_080970E8:
- .4byte _08097110
- .4byte _08097110
- .4byte _08097190
- .4byte _08097178
- .4byte _08097120
- .4byte _08097158
- .4byte _08097140
- .4byte _08097230
- .4byte _080971CC
- .4byte _08097244
-_08097110:
- bl sub_8098A5C
- ldr r0, _0809711C @ =sub_8096C84
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809711C: .4byte sub_8096C84
-_08097120:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _080971D6
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _0809713C @ =sub_80972A8
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809713C: .4byte sub_80972A8
-_08097140:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097154 @ =sub_80972FC
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097154: .4byte sub_80972FC
-_08097158:
- bl sub_809BEBC
- lsls r0, 24
- cmp r0, 0
- beq _080971D6
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097174 @ =c3_0808DC50
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097174: .4byte c3_0808DC50
-_08097178:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _0809718C @ =sub_8097390
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809718C: .4byte sub_8097390
-_08097190:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _080971D6
- ldr r4, _080971C0 @ =gSharedMem
- ldr r1, _080971C4 @ =0x000011f2
- adds r0, r4, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _08097210
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _080971C8 @ =sub_809746C
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_080971C0: .4byte gSharedMem
-_080971C4: .4byte 0x000011f2
-_080971C8: .4byte sub_809746C
-_080971CC:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- beq _080971E4
-_080971D6:
- ldr r1, _080971E0 @ =gSharedMem
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_080971E0: .4byte gSharedMem
-_080971E4:
- ldr r4, _080971F8 @ =gSharedMem
- ldr r1, _080971FC @ =0x000011f9
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097200
- movs r0, 0x4
- strb r0, [r4, 0x4]
- b _0809729A
- .align 2, 0
-_080971F8: .4byte gSharedMem
-_080971FC: .4byte 0x000011f9
-_08097200:
- ldr r1, _08097218 @ =0x000011f2
- adds r0, r4, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0809721C
-_08097210:
- movs r0, 0x3
- strb r0, [r4, 0x4]
- b _0809729A
- .align 2, 0
-_08097218: .4byte 0x000011f2
-_0809721C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0809722C @ =sub_8097594
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809722C: .4byte sub_8097594
-_08097230:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08097240 @ =sub_8097788
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097240: .4byte sub_8097788
-_08097244:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08097254 @ =sub_80977E4
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097254: .4byte sub_80977E4
-_08097258:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _08097274
-_08097262:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x11
- b _08097274
-_0809726C:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_08097274:
- bl sub_8098898
- ldr r1, _08097280 @ =gSharedMem
- movs r0, 0x5
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_08097280: .4byte gSharedMem
-_08097284:
- ldr r0, _080972A0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0809729A
- bl sub_8098A5C
- ldr r0, _080972A4 @ =sub_8096C84
- bl sub_8096BE0
-_0809729A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080972A0: .4byte gMain
-_080972A4: .4byte sub_8096C84
- thumb_func_end sub_8097078
-
- thumb_func_start sub_80972A8
-sub_80972A8: @ 80972A8
- push {r4,lr}
- ldr r4, _080972B8 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080972BC
- cmp r0, 0x1
- beq _080972CA
- b _080972F2
- .align 2, 0
-_080972B8: .4byte gSharedMem
-_080972BC:
- movs r0, 0
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _080972F2
-_080972CA:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _080972F2
- ldr r0, _080972E4 @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080972EC
- ldr r0, _080972E8 @ =sub_8097858
- bl sub_8096BE0
- b _080972F2
- .align 2, 0
-_080972E4: .4byte gUnknown_0203847C
-_080972E8: .4byte sub_8097858
-_080972EC:
- ldr r0, _080972F8 @ =sub_8096C84
- bl sub_8096BE0
-_080972F2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080972F8: .4byte sub_8096C84
- thumb_func_end sub_80972A8
-
- thumb_func_start sub_80972FC
-sub_80972FC: @ 80972FC
- push {r4,lr}
- ldr r4, _0809730C @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08097310
- cmp r0, 0x1
- beq _0809731E
- b _08097346
- .align 2, 0
-_0809730C: .4byte gSharedMem
-_08097310:
- movs r0, 0x1
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097346
-_0809731E:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097346
- ldr r0, _08097338 @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097340
- ldr r0, _0809733C @ =sub_8097858
- bl sub_8096BE0
- b _08097346
- .align 2, 0
-_08097338: .4byte gUnknown_0203847C
-_0809733C: .4byte sub_8097858
-_08097340:
- ldr r0, _0809734C @ =sub_8096C84
- bl sub_8096BE0
-_08097346:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809734C: .4byte sub_8096C84
- thumb_func_end sub_80972FC
-
- thumb_func_start c3_0808DC50
-c3_0808DC50: @ 8097350
- push {r4,lr}
- ldr r4, _08097360 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08097364
- cmp r0, 0x1
- beq _08097372
- b _08097386
- .align 2, 0
-_08097360: .4byte gSharedMem
-_08097364:
- movs r0, 0x2
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097386
-_08097372:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097386
- bl BoxSetMosaic
- ldr r0, _0809738C @ =sub_8096C84
- bl sub_8096BE0
-_08097386:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809738C: .4byte sub_8096C84
- thumb_func_end c3_0808DC50
-
- thumb_func_start sub_8097390
-sub_8097390: @ 8097390
- push {lr}
- ldr r0, _080973A4 @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0x5
- bhi _08097462
- lsls r0, 2
- ldr r1, _080973A8 @ =_080973AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080973A4: .4byte gSharedMem
-_080973A8: .4byte _080973AC
- .align 2, 0
-_080973AC:
- .4byte _080973C4
- .4byte _080973FC
- .4byte _0809741C
- .4byte _0809742C
- .4byte _0809743E
- .4byte _0809745C
-_080973C4:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _080973E4
- movs r0, 0xE
- bl sub_8098898
- ldr r1, _080973E0 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_080973E0: .4byte gSharedMem
-_080973E4:
- bl sub_809B0E0
- movs r0, 0
- bl sub_809B100
- ldr r1, _080973F8 @ =gSharedMem
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_080973F8: .4byte gSharedMem
-_080973FC:
- ldr r0, _08097414 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097462
- bl sub_8098A5C
- ldr r0, _08097418 @ =sub_8096C84
- bl sub_8096BE0
- b _08097462
- .align 2, 0
-_08097414: .4byte gMain
-_08097418: .4byte sub_8096C84
-_0809741C:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- bl sub_809880C
- b _0809744C
-_0809742C:
- bl sub_8098830
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- movs r0, 0x1
- bl sub_809B100
- b _0809744C
-_0809743E:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- bl sub_80987DC
-_0809744C:
- ldr r1, _08097458 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_08097458: .4byte gSharedMem
-_0809745C:
- ldr r0, _08097468 @ =sub_8097004
- bl sub_8096BE0
-_08097462:
- pop {r0}
- bx r0
- .align 2, 0
-_08097468: .4byte sub_8097004
- thumb_func_end sub_8097390
-
- thumb_func_start sub_809746C
-sub_809746C: @ 809746C
- push {r4,lr}
- ldr r0, _08097484 @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0x4
- bls _08097478
- b _08097584
-_08097478:
- lsls r0, 2
- ldr r1, _08097488 @ =_0809748C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097484: .4byte gSharedMem
-_08097488: .4byte _0809748C
- .align 2, 0
-_0809748C:
- .4byte _080974A0
- .4byte _080974D8
- .4byte _08097534
- .4byte _08097548
- .4byte _0809756C
-_080974A0:
- movs r0, 0x6
- bl sub_8098898
- ldr r4, _080974C8 @ =gSharedMem + 0x2370
- ldr r2, _080974CC @ =0x0000daca
- adds r0, r4, 0
- movs r1, 0x7
- movs r3, 0x3
- bl sub_8096264
- ldr r0, _080974D0 @ =gUnknown_0203847E
- ldrb r0, [r0]
- bl sub_809634C
- ldr r0, _080974D4 @ =0xffffdc90
- adds r4, r0
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097584
- .align 2, 0
-_080974C8: .4byte gSharedMem + 0x2370
-_080974CC: .4byte 0x0000daca
-_080974D0: .4byte gUnknown_0203847E
-_080974D4: .4byte 0xffffdc90
-_080974D8:
- bl sub_8096368
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xC8
- beq _08097584
- cmp r4, 0xC9
- bne _080974F6
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- b _0809755E
-_080974F6:
- adds r0, r4, 0
- bl sub_809B62C
- lsls r0, 24
- cmp r0, 0
- beq _08097518
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- ldr r1, _08097514 @ =gSharedMem
- movs r0, 0x2
- b _08097522
- .align 2, 0
-_08097514: .4byte gSharedMem
-_08097518:
- movs r0, 0x8
- bl sub_8098898
- ldr r1, _0809752C @ =gSharedMem
- movs r0, 0x4
-_08097522:
- strb r0, [r1, 0x4]
- ldr r0, _08097530 @ =gUnknown_0203847E
- strb r4, [r0]
- b _08097584
- .align 2, 0
-_0809752C: .4byte gSharedMem
-_08097530: .4byte gUnknown_0203847E
-_08097534:
- bl party_compaction
- bl sub_8099310
- ldr r1, _08097544 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- b _08097582
- .align 2, 0
-_08097544: .4byte gSharedMem
-_08097548:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _08097584
- bl sub_809B6BC
- bl BoxSetMosaic
- bl sub_80987DC
-_0809755E:
- ldr r0, _08097568 @ =sub_8096C84
- bl sub_8096BE0
- b _08097584
- .align 2, 0
-_08097568: .4byte sub_8096C84
-_0809756C:
- ldr r0, _0809758C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08097584
- movs r0, 0x6
- bl sub_8098898
- ldr r1, _08097590 @ =gSharedMem
- movs r0, 0x1
-_08097582:
- strb r0, [r1, 0x4]
-_08097584:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809758C: .4byte gMain
-_08097590: .4byte gSharedMem
- thumb_func_end sub_809746C
-
- thumb_func_start sub_8097594
-sub_8097594: @ 8097594
- push {r4,lr}
- ldr r0, _080975AC @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0xD
- bls _080975A0
- b _0809777A
-_080975A0:
- lsls r0, 2
- ldr r1, _080975B0 @ =_080975B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080975AC: .4byte gSharedMem
-_080975B0: .4byte _080975B4
- .align 2, 0
-_080975B4:
- .4byte _080975EC
- .4byte _08097600
- .4byte _0809763A
- .4byte _0809766E
- .4byte _0809767A
- .4byte _08097690
- .4byte _080976C8
- .4byte _080976E0
- .4byte _080976EC
- .4byte _080976F0
- .4byte _08097704
- .4byte _08097720
- .4byte _08097732
- .4byte _08097764
-_080975EC:
- movs r0, 0x9
- bl sub_8098898
- movs r0, 0x1
- bl sub_8098A38
- ldr r1, _0809761C @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
-_08097600:
- bl Menu_ProcessInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0809762C
- cmp r1, 0
- bgt _08097620
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097626
- b _0809777A
- .align 2, 0
-_0809761C: .4byte gSharedMem
-_08097620:
- cmp r1, 0x1
- beq _08097626
- b _0809777A
-_08097626:
- bl sub_8098A5C
- b _080976E0
-_0809762C:
- bl sub_8098A5C
- bl sub_809B7D4
- bl sub_809B6DC
- b _08097744
-_0809763A:
- bl sub_809B960
- bl sub_809B734
- lsls r0, 24
- cmp r0, 0
- beq _0809764A
- b _0809777A
-_0809764A:
- ldr r4, _08097650 @ =gSharedMem
- b _0809765A
- .align 2, 0
-_08097650: .4byte gSharedMem
-_08097654:
- cmp r0, 0
- bne _0809765A
- b _08097758
-_0809765A:
- bl sub_809B960
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _08097654
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809777A
-_0809766E:
- bl sub_809B760
- bl sub_809801C
- movs r0, 0xA
- b _08097740
-_0809767A:
- ldr r0, _0809768C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08097688
- b _0809777A
-_08097688:
- movs r0, 0xB
- b _08097740
- .align 2, 0
-_0809768C: .4byte gMain
-_08097690:
- ldr r0, _080976B4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- ldr r0, _080976B8 @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080976BC
- bl party_compaction
- bl sub_8099310
- b _08097744
- .align 2, 0
-_080976B4: .4byte gMain
-_080976B8: .4byte gUnknown_0203847C
-_080976BC:
- ldr r1, _080976C4 @ =gSharedMem
- movs r0, 0x7
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_080976C4: .4byte gSharedMem
-_080976C8:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _0809777A
- bl sub_809B440
- bl BoxSetMosaic
- bl sub_80987DC
- b _08097744
-_080976E0:
- ldr r0, _080976E8 @ =sub_8096C84
- bl sub_8096BE0
- b _0809777A
- .align 2, 0
-_080976E8: .4byte sub_8096C84
-_080976EC:
- movs r0, 0xA
- b _08097740
-_080976F0:
- ldr r0, _08097700 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- movs r0, 0x15
- b _08097740
- .align 2, 0
-_08097700: .4byte gMain
-_08097704:
- ldr r0, _0809771C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- bl sub_8099958
- b _08097744
- .align 2, 0
-_0809771C: .4byte gMain
-_08097720:
- bl sub_8099990
- lsls r0, 24
- cmp r0, 0
- bne _0809777A
- bl sub_809B7AC
- movs r0, 0x13
- b _08097740
-_08097732:
- ldr r0, _08097750 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- movs r0, 0x14
-_08097740:
- bl sub_8098898
-_08097744:
- ldr r1, _08097754 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_08097750: .4byte gMain
-_08097754: .4byte gSharedMem
-_08097758:
- ldr r1, _08097760 @ =gSharedMem
- movs r0, 0x8
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_08097760: .4byte gSharedMem
-_08097764:
- ldr r0, _08097780 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- ldr r0, _08097784 @ =sub_8096C84
- bl sub_8096BE0
-_0809777A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097780: .4byte gMain
-_08097784: .4byte sub_8096C84
- thumb_func_end sub_8097594
-
- thumb_func_start sub_8097788
-sub_8097788: @ 8097788
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0809779C @ =gSharedMem
- ldrb r4, [r5, 0x4]
- cmp r4, 0
- beq _080977A0
- cmp r4, 0x1
- beq _080977BC
- b _080977D4
- .align 2, 0
-_0809779C: .4byte gSharedMem
-_080977A0:
- bl sub_809BC18
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _080977D4
-_080977BC:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080977D4
- ldr r0, _080977DC @ =gUnknown_0203847F
- strb r1, [r0]
- strb r1, [r5, 0x6]
- ldr r0, _080977E0 @ =sub_8096B5C
- bl SetMainCallback2
-_080977D4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080977DC: .4byte gUnknown_0203847F
-_080977E0: .4byte sub_8096B5C
- thumb_func_end sub_8097788
-
- thumb_func_start sub_80977E4
-sub_80977E4: @ 80977E4
- push {r4,lr}
- ldr r4, _080977F4 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080977F8
- cmp r0, 0x1
- beq _08097824
- b _0809784C
- .align 2, 0
-_080977F4: .4byte gSharedMem
-_080977F8:
- movs r0, 0xC
- bl sub_8098898
- ldr r0, _08097820 @ =0x000011f7
- adds r2, r4, r0
- ldrb r1, [r2]
- movs r3, 0x96
- lsls r3, 5
- adds r0, r4, r3
- strb r1, [r0]
- ldrb r0, [r2]
- movs r1, 0xB0
- movs r2, 0x10
- bl sub_80F7418
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809784C
- .align 2, 0
-_08097820: .4byte 0x000011f7
-_08097824:
- bl sub_80F7500
- lsls r0, 24
- cmp r0, 0
- bne _0809784C
- bl sub_80F7470
- bl sub_8098A5C
- movs r1, 0x96
- lsls r1, 5
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_809BDD8
- bl sub_809801C
- ldr r0, _08097854 @ =sub_8096C84
- bl sub_8096BE0
-_0809784C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097854: .4byte sub_8096C84
- thumb_func_end sub_80977E4
-
- thumb_func_start sub_8097858
-sub_8097858: @ 8097858
- push {r4,lr}
- ldr r4, _08097868 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0809786C
- cmp r0, 0x1
- beq _0809787C
- b _08097890
- .align 2, 0
-_08097868: .4byte gSharedMem
-_0809786C:
- bl party_compaction
- bl sub_8099310
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097890
-_0809787C:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _08097890
- bl sub_80987DC
- ldr r0, _08097898 @ =sub_8096C84
- bl sub_8096BE0
-_08097890:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097898: .4byte sub_8096C84
- thumb_func_end sub_8097858
-
- thumb_func_start sub_809789C
-sub_809789C: @ 809789C
- push {r4,lr}
- ldr r4, _080978AC @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080978B0
- cmp r0, 0x1
- beq _080978C2
- b _08097968
- .align 2, 0
-_080978AC: .4byte gSharedMem
-_080978B0:
- movs r0, 0x1
- bl sub_8098898
- bl sub_809CE84
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097968
-_080978C2:
- bl sub_809CF30
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _08097968
- lsls r0, 2
- ldr r1, _080978DC @ =_080978E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080978DC: .4byte _080978E0
- .align 2, 0
-_080978E0:
- .4byte _08097914
- .4byte _08097914
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097958
- .4byte _08097940
- .4byte _0809792C
-_08097914:
- movs r0, 0x1
- bl sub_809A860
- bl sub_8098A5C
- ldr r0, _08097928 @ =sub_8096C84
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_08097928: .4byte sub_8096C84
-_0809792C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0809793C @ =sub_8097B44
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_0809793C: .4byte sub_8097B44
-_08097940:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097954 @ =sub_8097974
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_08097954: .4byte sub_8097974
-_08097958:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097970 @ =sub_8097A64
- bl sub_8096BE0
-_08097968:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097970: .4byte sub_8097A64
- thumb_func_end sub_809789C
-
- thumb_func_start sub_8097974
-sub_8097974: @ 8097974
- push {r4,r5,lr}
- ldr r5, _08097988 @ =gSharedMem
- ldrb r0, [r5, 0x4]
- cmp r0, 0x1
- beq _080979A2
- cmp r0, 0x1
- bgt _0809798C
- cmp r0, 0
- beq _08097996
- b _08097A5A
- .align 2, 0
-_08097988: .4byte gSharedMem
-_0809798C:
- cmp r0, 0x2
- beq _080979FC
- cmp r0, 0x3
- beq _08097A44
- b _08097A5A
-_08097996:
- bl sub_8098A80
- movs r0, 0x2
- bl sub_8098898
- b _08097A3C
-_080979A2:
- bl sub_809CF30
- ldr r1, _080979CC @ =0x00000d5e
- adds r4, r5, r1
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080979D4
- movs r0, 0x1
- bl sub_809A860
- bl sub_8098A5C
- ldr r0, _080979D0 @ =sub_8096C84
- bl sub_8096BE0
- b _08097A5A
- .align 2, 0
-_080979CC: .4byte 0x00000d5e
-_080979D0: .4byte sub_8096C84
-_080979D4:
- cmp r0, r1
- blt _08097A5A
- cmp r0, 0xF
- bgt _08097A5A
- cmp r0, 0xC
- blt _08097A5A
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- subs r0, 0xC
- strh r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8098AA8
- movs r0, 0x3
- bl sub_8098898
- b _08097A3C
-_080979FC:
- bl sub_809CF30
- movs r1, 0xD6
- lsls r1, 4
- adds r4, r5, r1
- strh r0, [r4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _08097A5A
- adds r0, 0x1
- cmp r1, r0
- bne _08097A24
- bl sub_8098A5C
- movs r0, 0
- strb r0, [r5, 0x4]
- b _08097A5A
-_08097A24:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldrh r0, [r4]
- subs r0, 0x10
- strh r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8099DCC
-_08097A3C:
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097A5A
-_08097A44:
- bl sub_8099E08
- lsls r0, 24
- cmp r0, 0
- bne _08097A5A
- movs r0, 0x1
- bl sub_809A860
- ldr r0, _08097A60 @ =sub_8096C84
- bl sub_8096BE0
-_08097A5A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097A60: .4byte sub_8096C84
- thumb_func_end sub_8097974
-
- thumb_func_start sub_8097A64
-sub_8097A64: @ 8097A64
- push {r4,r5,lr}
- ldr r5, _08097A78 @ =gSharedMem
- ldrb r0, [r5, 0x4]
- cmp r0, 0x1
- beq _08097AB0
- cmp r0, 0x1
- bgt _08097A7C
- cmp r0, 0
- beq _08097A86
- b _08097B32
- .align 2, 0
-_08097A78: .4byte gSharedMem
-_08097A7C:
- cmp r0, 0x2
- beq _08097B00
- cmp r0, 0x3
- beq _08097B18
- b _08097B32
-_08097A86:
- movs r0, 0x5
- bl sub_8098898
- ldr r1, _08097AA4 @ =0x00002370
- adds r0, r5, r1
- ldr r2, _08097AA8 @ =0x0000daca
- movs r1, 0x7
- movs r3, 0x3
- bl sub_8096264
- ldr r0, _08097AAC @ =gPokemonStorage
- ldrb r0, [r0]
- bl sub_809634C
- b _08097B0A
- .align 2, 0
-_08097AA4: .4byte 0x00002370
-_08097AA8: .4byte 0x0000daca
-_08097AAC: .4byte gPokemonStorage
-_08097AB0:
- bl sub_8096368
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08097AF4 @ =0x000008b2
- adds r4, r5, r2
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0xC8
- beq _08097B32
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0xC9
- beq _08097AE4
- adds r1, r0, 0
- ldr r0, _08097AF8 @ =gPokemonStorage
- ldrb r0, [r0]
- cmp r1, r0
- bne _08097B0A
-_08097AE4:
- movs r0, 0x1
- bl sub_809A860
- ldr r0, _08097AFC @ =sub_8096C84
- bl sub_8096BE0
- b _08097B32
- .align 2, 0
-_08097AF4: .4byte 0x000008b2
-_08097AF8: .4byte gPokemonStorage
-_08097AFC: .4byte sub_8096C84
-_08097B00:
- ldr r1, _08097B14 @ =0x000008b2
- adds r0, r5, r1
- ldrb r0, [r0]
- bl sub_8099C70
-_08097B0A:
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097B32
- .align 2, 0
-_08097B14: .4byte 0x000008b2
-_08097B18:
- bl sub_8099D34
- lsls r0, 24
- cmp r0, 0
- bne _08097B32
- ldr r1, _08097B38 @ =gPokemonStorage
- ldr r2, _08097B3C @ =0x000008b2
- adds r0, r5, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, _08097B40 @ =sub_8096C84
- bl sub_8096BE0
-_08097B32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097B38: .4byte gPokemonStorage
-_08097B3C: .4byte 0x000008b2
-_08097B40: .4byte sub_8096C84
- thumb_func_end sub_8097A64
-
- thumb_func_start sub_8097B44
-sub_8097B44: @ 8097B44
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08097B58 @ =gSharedMem
- ldrb r4, [r5, 0x4]
- cmp r4, 0
- beq _08097B5C
- cmp r4, 0x1
- beq _08097B78
- b _08097B8E
- .align 2, 0
-_08097B58: .4byte gSharedMem
-_08097B5C:
- bl sub_809BB90
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097B8E
-_08097B78:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08097B8E
- ldr r0, _08097B98 @ =gUnknown_0203847F
- strb r4, [r0]
- strb r4, [r5, 0x6]
- ldr r0, _08097B9C @ =sub_8096B5C
- bl SetMainCallback2
-_08097B8E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097B98: .4byte gUnknown_0203847F
-_08097B9C: .4byte sub_8096B5C
- thumb_func_end sub_8097B44
-
- thumb_func_start sub_8097BA0
-sub_8097BA0: @ 8097BA0
- push {r4,lr}
- ldr r0, _08097BB8 @ =gSharedMem
- ldrb r1, [r0, 0x4]
- adds r4, r0, 0
- cmp r1, 0x4
- bls _08097BAE
- b _08097CB0
-_08097BAE:
- lsls r0, r1, 2
- ldr r1, _08097BBC @ =_08097BC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097BB8: .4byte gSharedMem
-_08097BBC: .4byte _08097BC0
- .align 2, 0
-_08097BC0:
- .4byte _08097BD4
- .4byte _08097C18
- .4byte _08097C2C
- .4byte _08097C74
- .4byte _08097C98
-_08097BD4:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08097BF8
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_8098898
- ldr r1, _08097BF4 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097BF4: .4byte gSharedMem
-_08097BF8:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_8098898
- movs r0, 0
- bl sub_8098A38
- ldr r1, _08097C14 @ =gSharedMem
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C14: .4byte gSharedMem
-_08097C18:
- ldr r0, _08097C28 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097CB0
- b _08097C4A
- .align 2, 0
-_08097C28: .4byte gMain
-_08097C2C:
- bl Menu_ProcessInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08097C5C
- cmp r1, 0
- bgt _08097C46
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097C4A
- b _08097CB0
-_08097C46:
- cmp r1, 0x1
- bne _08097CB0
-_08097C4A:
- bl sub_8098A5C
- ldr r0, _08097C58 @ =sub_8096C84
- bl sub_8096BE0
- b _08097CB0
- .align 2, 0
-_08097C58: .4byte sub_8096C84
-_08097C5C:
- movs r0, 0x3
- bl PlaySE
- bl sub_8098A5C
- ldr r1, _08097C70 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C70: .4byte gSharedMem
-_08097C74:
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08097C94 @ =0x0000dad0
- strh r0, [r4, 0xE]
- movs r0, 0x14
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5E38
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C94: .4byte 0x0000dad0
-_08097C98:
- bl sub_80C5F98
- lsls r0, 24
- cmp r0, 0
- beq _08097CB0
- bl CalculatePlayerPartyCount
- ldr r1, _08097CB8 @ =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, _08097CBC @ =sub_80961A8
- bl SetMainCallback2
-_08097CB0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097CB8: .4byte gPlayerPartyCount
-_08097CBC: .4byte sub_80961A8
- thumb_func_end sub_8097BA0
-
- thumb_func_start sub_8097CC0
-sub_8097CC0: @ 8097CC0
- push {r4,lr}
- ldr r0, _08097CD8 @ =gSharedMem
- ldrb r1, [r0, 0x4]
- adds r4, r0, 0
- cmp r1, 0x4
- bls _08097CCE
- b _08097DD0
-_08097CCE:
- lsls r0, r1, 2
- ldr r1, _08097CDC @ =_08097CE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097CD8: .4byte gSharedMem
-_08097CDC: .4byte _08097CE0
- .align 2, 0
-_08097CE0:
- .4byte _08097CF4
- .4byte _08097D38
- .4byte _08097D4C
- .4byte _08097D94
- .4byte _08097DB8
-_08097CF4:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08097D18
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_8098898
- ldr r1, _08097D14 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D14: .4byte gSharedMem
-_08097D18:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x12
- bl sub_8098898
- movs r0, 0
- bl sub_8098A38
- ldr r1, _08097D34 @ =gSharedMem
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D34: .4byte gSharedMem
-_08097D38:
- ldr r0, _08097D48 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097DD0
- b _08097D6C
- .align 2, 0
-_08097D48: .4byte gMain
-_08097D4C:
- bl Menu_ProcessInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08097D6C
- cmp r1, 0
- bgt _08097D66
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097D7C
- b _08097DD0
-_08097D66:
- cmp r1, 0x1
- beq _08097D7C
- b _08097DD0
-_08097D6C:
- bl sub_8098A5C
- ldr r0, _08097D78 @ =sub_8096C84
- bl sub_8096BE0
- b _08097DD0
- .align 2, 0
-_08097D78: .4byte sub_8096C84
-_08097D7C:
- movs r0, 0x3
- bl PlaySE
- bl sub_8098A5C
- ldr r1, _08097D90 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D90: .4byte gSharedMem
-_08097D94:
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08097DB4 @ =0x0000dad0
- strh r0, [r4, 0xE]
- movs r0, 0x14
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5E38
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097DD0
- .align 2, 0
-_08097DB4: .4byte 0x0000dad0
-_08097DB8:
- bl sub_80C5F98
- lsls r0, 24
- cmp r0, 0
- beq _08097DD0
- bl CalculatePlayerPartyCount
- ldr r1, _08097DD8 @ =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, _08097DDC @ =sub_80961A8
- bl SetMainCallback2
-_08097DD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097DD8: .4byte gPlayerPartyCount
-_08097DDC: .4byte sub_80961A8
- thumb_func_end sub_8097CC0
-
- thumb_func_start sub_8097DE0
-sub_8097DE0: @ 8097DE0
- push {lr}
- ldr r1, _08097E1C @ =gSharedMem
- movs r0, 0
- strb r0, [r1, 0x7]
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- ldr r1, _08097E20 @ =REG_BG3CNT
- ldr r2, _08097E24 @ =0x00001e0f
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08097E28 @ =gPokemonStorageScrollingBGTile
- ldr r2, _08097E2C @ =0x0600e000
- ldr r0, _08097E30 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08097E34 @ =0x80000010
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _08097E38 @ =gPokemonStorageScrollingBGTilemap
- ldr r1, _08097E3C @ =0x0600f000
- bl LZ77UnCompVram
- ldr r0, _08097E40 @ =gPokemonStorageScrollingBGPalette
- movs r1, 0xD0
- movs r2, 0x10
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_08097E1C: .4byte gSharedMem
-_08097E20: .4byte REG_BG3CNT
-_08097E24: .4byte 0x00001e0f
-_08097E28: .4byte gPokemonStorageScrollingBGTile
-_08097E2C: .4byte 0x0600e000
-_08097E30: .4byte 0x040000d4
-_08097E34: .4byte 0x80000010
-_08097E38: .4byte gPokemonStorageScrollingBGTilemap
-_08097E3C: .4byte 0x0600f000
-_08097E40: .4byte gPokemonStorageScrollingBGPalette
- thumb_func_end sub_8097DE0
-
- thumb_func_start sub_8097E44
-sub_8097E44: @ 8097E44
- push {lr}
- ldr r1, _08097E6C @ =gSharedMem
- ldrb r0, [r1, 0x7]
- adds r0, 0x1
- strb r0, [r1, 0x7]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08097E66
- movs r0, 0
- strb r0, [r1, 0x7]
- ldrh r0, [r1, 0x8]
- subs r0, 0x1
- strh r0, [r1, 0x8]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_08097E66:
- pop {r0}
- bx r0
- .align 2, 0
-_08097E6C: .4byte gSharedMem
- thumb_func_end sub_8097E44
-
- thumb_func_start sub_8097E70
-sub_8097E70: @ 8097E70
- push {r4,lr}
- sub sp, 0x10
- ldr r0, _08097F2C @ =gPSSMenuHeader_Gfx
- ldr r1, _08097F30 @ =0x06005000
- bl LZ77UnCompVram
- ldr r0, _08097F34 @ =gPSSMenuHeader_Tilemap
- ldr r4, _08097F38 @ =gUnknown_02039760
- adds r1, r4, 0
- bl LZ77UnCompWram
- ldr r0, _08097F3C @ =0x06007800
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xA
- str r1, [sp, 0x8]
- movs r1, 0x14
- str r1, [sp, 0xC]
- movs r1, 0
- movs r2, 0
- adds r3, r4, 0
- bl sub_809D034
- ldr r0, _08097F40 @ =gPSSMenu1_Pal
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F44 @ =gPSSMenu2_Pal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F48 @ =gUnknown_083B6D74
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F4C @ =gUnknown_083B6D94
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _08097F50 @ =gUnknownPalette_81E6692+0x2
- adds r0, r4, 0
- movs r1, 0xF1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xF2
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0xF3
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x16
- movs r1, 0xF4
- movs r2, 0x4
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x12
- movs r1, 0xF6
- movs r2, 0x4
- bl LoadPalette
- adds r4, 0x2
- adds r0, r4, 0
- movs r1, 0xFF
- movs r2, 0x2
- bl LoadPalette
- ldr r0, _08097F54 @ =gWaveformSpritePalette
- bl LoadSpritePalette
- bl sub_80980D4
- bl sub_8097F58
- bl sub_8097FB8
- bl sub_809801C
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097F2C: .4byte gPSSMenuHeader_Gfx
-_08097F30: .4byte 0x06005000
-_08097F34: .4byte gPSSMenuHeader_Tilemap
-_08097F38: .4byte gUnknown_02039760
-_08097F3C: .4byte 0x06007800
-_08097F40: .4byte gPSSMenu1_Pal
-_08097F44: .4byte gPSSMenu2_Pal
-_08097F48: .4byte gUnknown_083B6D74
-_08097F4C: .4byte gUnknown_083B6D94
-_08097F50: .4byte gUnknownPalette_81E6692+0x2
-_08097F54: .4byte gWaveformSpritePalette
- thumb_func_end sub_8097E70
-
- thumb_func_start sub_8097F58
-sub_8097F58: @ 8097F58
- push {r4,lr}
- ldr r1, _08097FA4 @ =0x0000dace
- movs r0, 0xD
- movs r2, 0
- bl sub_80F7940
- ldr r4, _08097FA8 @ =gSharedMem
- ldr r1, _08097FAC @ =0x000012ac
- adds r3, r4, r1
- str r0, [r3]
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- ldr r0, [r3]
- adds r0, 0x43
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r3]
- movs r0, 0x28
- strh r0, [r1, 0x20]
- ldr r1, [r3]
- movs r0, 0x95
- strh r0, [r1, 0x22]
- movs r0, 0xD
- bl GetSpriteTileStartByTag
- ldr r1, _08097FB0 @ =0x000012b8
- adds r4, r1
- lsls r0, 16
- lsrs r0, 11
- ldr r1, _08097FB4 @ =0x06010000
- adds r0, r1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097FA4: .4byte 0x0000dace
-_08097FA8: .4byte gSharedMem
-_08097FAC: .4byte 0x000012ac
-_08097FB0: .4byte 0x000012b8
-_08097FB4: .4byte 0x06010000
- thumb_func_end sub_8097F58
-
- thumb_func_start sub_8097FB8
-sub_8097FB8: @ 8097FB8
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _0809800C @ =gWaveformSpriteSheet
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r4, 0
- ldr r5, _08098010 @ =gSharedMem + 0x12B0
-_08097FD0:
- lsls r1, r4, 6
- subs r1, r4
- adds r1, 0x8
- lsls r1, 16
- asrs r1, 16
- ldr r0, _08098014 @ =gSpriteTemplate_83B6EFC
- movs r2, 0x9
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r4, 2
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08098018 @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08097FD0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809800C: .4byte gWaveformSpriteSheet
-_08098010: .4byte gSharedMem + 0x12B0
-_08098014: .4byte gSpriteTemplate_83B6EFC
-_08098018: .4byte gSprites
- thumb_func_end sub_8097FB8
-
- thumb_func_start sub_809801C
-sub_809801C: @ 809801C
- push {lr}
- ldr r1, _0809803C @ =gSharedMem
- ldr r2, _08098040 @ =0x000011f0
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- bl sub_80981F0
- bl sub_80982B4
- bl sub_8098350
- pop {r0}
- bx r0
- .align 2, 0
-_0809803C: .4byte gSharedMem
-_08098040: .4byte 0x000011f0
- thumb_func_end sub_809801C
-
- thumb_func_start BoxSetMosaic
-BoxSetMosaic: @ 8098044
- push {lr}
- bl sub_809801C
- ldr r0, _08098084 @ =gSharedMem
- movs r1, 0x9C
- lsls r1, 6
- adds r3, r0, r1
- ldr r2, [r3]
- cmp r2, 0
- beq _08098080
- ldrb r0, [r2, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r3]
- movs r0, 0xA
- strh r0, [r1, 0x2E]
- ldr r1, [r3]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- ldr r1, [r3]
- ldr r0, _08098088 @ =sub_8098090
- str r0, [r1, 0x1C]
- ldr r2, _0809808C @ =REG_MOSAIC
- ldr r0, [r3]
- ldrh r0, [r0, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
-_08098080:
- pop {r0}
- bx r0
- .align 2, 0
-_08098084: .4byte gSharedMem
-_08098088: .4byte sub_8098090
-_0809808C: .4byte REG_MOSAIC
- thumb_func_end BoxSetMosaic
-
- thumb_func_start sub_8098090
-sub_8098090: @ 8098090
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- ldrh r1, [r3, 0x30]
- subs r0, r1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bge _080980A6
- movs r0, 0
- strh r0, [r3, 0x2E]
-_080980A6:
- ldr r2, _080980CC @ =REG_MOSAIC
- ldrh r0, [r3, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080980C8
- ldrb r0, [r3, 0x1]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r3, 0x1]
- ldr r0, _080980D0 @ =SpriteCallbackDummy
- str r0, [r3, 0x1C]
-_080980C8:
- pop {r0}
- bx r0
- .align 2, 0
-_080980CC: .4byte REG_MOSAIC
-_080980D0: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098090
-
- thumb_func_start sub_80980D4
-sub_80980D4: @ 80980D4
- push {r4,r5,lr}
- sub sp, 0x28
- ldr r0, _08098150 @ =gUnknown_083B6DCC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- ldr r0, _08098154 @ =gUnknown_083B6DD4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- mov r1, sp
- ldr r0, _08098158 @ =gSpriteTemplate_83B6DDC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r1, 0
- add r5, sp, 0x18
- ldr r4, _0809815C @ =gSharedMem + 0x2784
- movs r3, 0
- ldr r2, _08098160 @ =0x000007ff
-_08098102:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _08098102
- movs r1, 0
- ldr r3, _08098164 @ =gSharedMem + 0x2704
- movs r2, 0
-_08098116:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _08098116
- ldr r0, _08098168 @ =gSharedMem
- movs r1, 0x9C
- lsls r1, 6
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- adds r0, r5, 0
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080981C4
- add r0, sp, 0x20
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080981C4
- b _080981B0
- .align 2, 0
-_08098150: .4byte gUnknown_083B6DCC
-_08098154: .4byte gUnknown_083B6DD4
-_08098158: .4byte gSpriteTemplate_83B6DDC
-_0809815C: .4byte gSharedMem + 0x2784
-_08098160: .4byte 0x000007ff
-_08098164: .4byte gSharedMem + 0x2704
-_08098168: .4byte gSharedMem
-_0809816C:
- ldr r2, _0809819C @ =gSharedMem
- movs r0, 0x9C
- lsls r0, 6
- adds r3, r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080981A0 @ =gSprites
- adds r0, r1
- str r0, [r3]
- lsls r0, r4, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldr r3, _080981A4 @ =0x000026fa
- adds r1, r2, r3
- strh r0, [r1]
- ldr r4, _080981A8 @ =0x000026fc
- adds r2, r4
- lsls r0, r5, 5
- ldr r1, _080981AC @ =0x06010000
- adds r0, r1
- str r0, [r2]
- b _080981C4
- .align 2, 0
-_0809819C: .4byte gSharedMem
-_080981A0: .4byte gSprites
-_080981A4: .4byte 0x000026fa
-_080981A8: .4byte 0x000026fc
-_080981AC: .4byte 0x06010000
-_080981B0:
- mov r0, sp
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _0809816C
-_080981C4:
- ldr r0, _080981E8 @ =gSharedMem
- movs r2, 0x9C
- lsls r2, 6
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _080981DE
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- ldr r0, _080981EC @ =0x0000dac7
- bl FreeSpritePaletteByTag
-_080981DE:
- add sp, 0x28
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080981E8: .4byte gSharedMem
-_080981EC: .4byte 0x0000dac7
- thumb_func_end sub_80980D4
-
- thumb_func_start sub_80981F0
-sub_80981F0: @ 80981F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r1, 0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r6, _08098274 @ =gSharedMem
- movs r0, 0x9C
- lsls r0, 6
- adds r0, r6
- mov r8, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080982A6
- cmp r4, 0
- beq _0809829C
- lsls r0, r4, 3
- ldr r1, _08098278 @ =gMonFrontPicTable
- adds r0, r1
- ldr r2, _0809827C @ =gMonFrontPicCoords
- lsls r1, r4, 2
- adds r1, r2
- ldrb r1, [r1]
- ldr r2, _08098280 @ =0x00004784
- adds r3, r6, r2
- ldr r2, _08098284 @ =0x00002784
- adds r5, r6, r2
- str r5, [sp]
- str r4, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r2, 0x1
- bl HandleLoadSpecialPokePic
- ldr r1, _08098288 @ =0x000011e8
- adds r0, r6, r1
- ldr r0, [r0]
- ldr r2, _0809828C @ =0x00002704
- adds r4, r6, r2
- adds r1, r4, 0
- bl LZ77UnCompWram
- ldr r1, _08098290 @ =0x000026fc
- adds r0, r6, r1
- ldr r1, [r0]
- ldr r2, _08098294 @ =0x04000200
- adds r0, r5, 0
- bl CpuSet
- ldr r2, _08098298 @ =0x000026fa
- adds r0, r6, r2
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _080982A6
- .align 2, 0
-_08098274: .4byte gSharedMem
-_08098278: .4byte gMonFrontPicTable
-_0809827C: .4byte gMonFrontPicCoords
-_08098280: .4byte 0x00004784
-_08098284: .4byte 0x00002784
-_08098288: .4byte 0x000011e8
-_0809828C: .4byte 0x00002704
-_08098290: .4byte 0x000026fc
-_08098294: .4byte 0x04000200
-_08098298: .4byte 0x000026fa
-_0809829C:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080982A6:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80981F0
-
- thumb_func_start sub_80982B4
-sub_80982B4: @ 80982B4
- push {r4,lr}
- ldr r4, _080982E4 @ =gSharedMem
- ldr r1, _080982E8 @ =0x000011f0
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080982F4
- ldr r2, _080982EC @ =0x000011f7
- adds r0, r4, r2
- ldrb r0, [r0]
- adds r2, 0xC1
- adds r1, r4, r2
- ldr r1, [r1]
- bl sub_80F7A10
- ldr r1, _080982F0 @ =0x000012ac
- adds r0, r4, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _08098302
- .align 2, 0
-_080982E4: .4byte gSharedMem
-_080982E8: .4byte 0x000011f0
-_080982EC: .4byte 0x000011f7
-_080982F0: .4byte 0x000012ac
-_080982F4:
- ldr r2, _08098348 @ =0x000012ac
- adds r0, r4, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_08098302:
- strb r0, [r1]
- movs r0, 0
- movs r1, 0xB
- movs r2, 0x9
- movs r3, 0x11
- bl Menu_EraseWindowRect
- ldr r4, _0809834C @ =gSharedMem + 0x127A
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x10
- bl Menu_PrintText
- adds r0, r4, 0
- subs r0, 0x6B
- movs r1, 0x1
- movs r2, 0xB
- bl Menu_PrintText
- adds r0, r4, 0
- subs r0, 0x46
- movs r1, 0
- movs r2, 0xD
- bl Menu_PrintText
- subs r4, 0x21
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xF
- bl Menu_PrintText
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08098348: .4byte 0x000012ac
-_0809834C: .4byte gSharedMem + 0x127A
- thumb_func_end sub_80982B4
-
- thumb_func_start sub_8098350
-sub_8098350: @ 8098350
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, _080983A0 @ =gSharedMem
- ldr r1, _080983A4 @ =0x000011f0
- adds r0, r5, r1
- ldrh r2, [r0]
- cmp r2, 0
- beq _080983B4
- ldr r0, _080983A8 @ =0x06007800
- ldr r3, _080983AC @ =gUnknown_02039760
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x1
- movs r2, 0
- bl sub_809D034
- movs r4, 0
- ldr r0, _080983B0 @ =0x000012b0
- adds r5, r0
-_08098382:
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnimIfDifferent
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08098382
- b _080983EC
- .align 2, 0
-_080983A0: .4byte gSharedMem
-_080983A4: .4byte 0x000011f0
-_080983A8: .4byte 0x06007800
-_080983AC: .4byte gUnknown_02039760
-_080983B0: .4byte 0x000012b0
-_080983B4:
- ldr r0, _080983F4 @ =0x06007800
- ldr r3, _080983F8 @ =gUnknown_02039760
- movs r1, 0xA
- str r1, [sp]
- str r2, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x1
- movs r2, 0
- bl sub_809D034
- movs r4, 0
- ldr r1, _080983FC @ =0x000012b0
- adds r5, r1
-_080983D4:
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- lsls r1, r4, 25
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080983D4
-_080983EC:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080983F4: .4byte 0x06007800
-_080983F8: .4byte gUnknown_02039760
-_080983FC: .4byte 0x000012b0
- thumb_func_end sub_8098350
-
- thumb_func_start sub_8098400
-sub_8098400: @ 8098400
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0809847C @ =REG_BG1CNT
- ldr r2, _08098480 @ =0x00000f01
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08098484 @ =gPSSMenuMisc_Gfx
- ldr r1, _08098488 @ =0x06006800
- bl LZ77UnCompVram
- ldr r0, _0809848C @ =gPSSMenuMisc_Tilemap
- ldr r5, _08098490 @ =gSharedMem + 0xA8
- adds r1, r5, 0
- bl LZ77UnCompWram
- ldr r0, _08098494 @ =gPSSMenu3_Pal
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08098498 @ =gPSSMenu4_Pal
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _0809849C @ =0x06007800
- add r1, sp, 0x10
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080984A0 @ =0x040000d4
- str r1, [r0]
- str r4, [r0, 0x4]
- ldr r1, _080984A4 @ =0x81000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8098780
- ldr r0, _080984A8 @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080984AC
- movs r0, 0x1
- bl sub_8098690
- movs r0, 0x1
- bl sub_8099200
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x16
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0
- adds r3, r5, 0
- bl sub_809D034
- b _080984CC
- .align 2, 0
-_0809847C: .4byte REG_BG1CNT
-_08098480: .4byte 0x00000f01
-_08098484: .4byte gPSSMenuMisc_Gfx
-_08098488: .4byte 0x06006800
-_0809848C: .4byte gPSSMenuMisc_Tilemap
-_08098490: .4byte gSharedMem + 0xA8
-_08098494: .4byte gPSSMenu3_Pal
-_08098498: .4byte gPSSMenu4_Pal
-_0809849C: .4byte 0x06007800
-_080984A0: .4byte 0x040000d4
-_080984A4: .4byte 0x81000400
-_080984A8: .4byte gUnknown_0203847C
-_080984AC:
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0
- adds r3, r5, 0
- bl sub_809D034
- movs r0, 0x1
- bl sub_8098690
-_080984CC:
- ldr r0, _080984E0 @ =gSharedMem
- ldr r1, _080984E4 @ =0x000008af
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080984E0: .4byte gSharedMem
-_080984E4: .4byte 0x000008af
- thumb_func_end sub_8098400
-
- thumb_func_start sub_80984E8
-sub_80984E8: @ 80984E8
- push {lr}
- ldr r1, _08098510 @ =gSharedMem
- ldr r0, _08098514 @ =0x000008a8
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x14
- strh r0, [r2]
- ldr r0, _08098518 @ =0x000008aa
- adds r2, r1, r0
- movs r0, 0x2
- strh r0, [r2]
- ldr r0, _0809851C @ =0x000008ad
- adds r1, r0
- strb r3, [r1]
- movs r0, 0
- bl sub_8099200
- pop {r0}
- bx r0
- .align 2, 0
-_08098510: .4byte gSharedMem
-_08098514: .4byte 0x000008a8
-_08098518: .4byte 0x000008aa
-_0809851C: .4byte 0x000008ad
- thumb_func_end sub_80984E8
-
- thumb_func_start sub_8098520
-sub_8098520: @ 8098520
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r3, _08098578 @ =gSharedMem
- ldr r0, _0809857C @ =0x000008ad
- adds r5, r3, r0
- ldrb r0, [r5]
- cmp r0, 0x14
- beq _08098592
- ldr r0, _08098580 @ =0x000008a8
- adds r1, r3, r0
- ldrh r0, [r1]
- subs r0, 0x1
- movs r4, 0
- strh r0, [r1]
- ldr r0, _08098584 @ =0x000008aa
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ldr r0, _08098588 @ =0x06007800
- adds r3, 0xA8
- str r4, [sp]
- ldrh r1, [r1]
- str r1, [sp, 0x4]
- movs r1, 0xC
- str r1, [sp, 0x8]
- ldrh r1, [r2]
- str r1, [sp, 0xC]
- movs r1, 0xA
- movs r2, 0
- bl sub_809D034
- movs r0, 0x8
- bl sub_80994A8
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _0809858C
- movs r0, 0x1
- b _08098594
- .align 2, 0
-_08098578: .4byte gSharedMem
-_0809857C: .4byte 0x000008ad
-_08098580: .4byte 0x000008a8
-_08098584: .4byte 0x000008aa
-_08098588: .4byte 0x06007800
-_0809858C:
- ldr r1, _0809859C @ =gUnknown_0203847C
- movs r0, 0x1
- strb r0, [r1]
-_08098592:
- movs r0, 0
-_08098594:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809859C: .4byte gUnknown_0203847C
- thumb_func_end sub_8098520
-
- thumb_func_start add_to_c3_somehow
-add_to_c3_somehow: @ 80985A0
- ldr r1, _080985BC @ =gSharedMem
- ldr r0, _080985C0 @ =0x000008a8
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- ldr r0, _080985C4 @ =0x000008aa
- adds r2, r1, r0
- movs r0, 0x16
- strh r0, [r2]
- ldr r0, _080985C8 @ =0x000008ad
- adds r1, r0
- strb r3, [r1]
- bx lr
- .align 2, 0
-_080985BC: .4byte gSharedMem
-_080985C0: .4byte 0x000008a8
-_080985C4: .4byte 0x000008aa
-_080985C8: .4byte 0x000008ad
- thumb_func_end add_to_c3_somehow
-
- thumb_func_start sub_80985CC
-sub_80985CC: @ 80985CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- ldr r3, _08098640 @ =gSharedMem
- ldr r0, _08098644 @ =0x000008ad
- adds r6, r3, r0
- ldrb r0, [r6]
- cmp r0, 0x14
- beq _0809867A
- ldr r2, _08098648 @ =0x000008a8
- adds r1, r3, r2
- ldrh r0, [r1]
- adds r0, 0x1
- movs r2, 0
- mov r9, r2
- strh r0, [r1]
- ldr r0, _0809864C @ =0x000008aa
- adds r4, r3, r0
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldr r5, _08098650 @ =0x06007800
- adds r3, 0xA8
- mov r8, r3
- str r2, [sp]
- ldrh r0, [r1]
- str r0, [sp, 0x4]
- movs r7, 0xC
- str r7, [sp, 0x8]
- ldrh r0, [r4]
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_809D034
- ldrh r2, [r4]
- movs r4, 0x1
- str r4, [sp]
- adds r0, r5, 0
- movs r1, 0xA
- movs r3, 0xC
- bl sub_809D16C
- movs r0, 0x8
- negs r0, r0
- bl sub_80994A8
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _08098654
- movs r0, 0x1
- b _0809867C
- .align 2, 0
-_08098640: .4byte gSharedMem
-_08098644: .4byte 0x000008ad
-_08098648: .4byte 0x000008a8
-_0809864C: .4byte 0x000008aa
-_08098650: .4byte 0x06007800
-_08098654:
- ldr r0, _0809868C @ =gUnknown_0203847C
- movs r1, 0
- strb r1, [r0]
- bl sub_809954C
- bl party_compaction
- str r7, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0x15
- movs r2, 0
- mov r3, r8
- bl sub_809D034
-_0809867A:
- movs r0, 0
-_0809867C:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809868C: .4byte gUnknown_0203847C
- thumb_func_end sub_80985CC
-
- thumb_func_start sub_8098690
-sub_8098690: @ 8098690
- push {lr}
- sub sp, 0x10
- lsls r0, 24
- cmp r0, 0
- beq _080986C0
- ldr r0, _080986B8 @ =0x06007800
- ldr r3, _080986BC @ =gSharedMem + 0xA8
- movs r1, 0xC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x15
- movs r2, 0
- bl sub_809D034
- b _080986DA
- .align 2, 0
-_080986B8: .4byte 0x06007800
-_080986BC: .4byte gSharedMem + 0xA8
-_080986C0:
- ldr r0, _080986E0 @ =0x06007800
- ldr r3, _080986E4 @ =gSharedMem + 0xA8
- movs r1, 0xC
- str r1, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x15
- movs r2, 0
- bl sub_809D034
-_080986DA:
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080986E0: .4byte 0x06007800
-_080986E4: .4byte gSharedMem + 0xA8
- thumb_func_end sub_8098690
-
- thumb_func_start sub_80986E8
-sub_80986E8: @ 80986E8
- ldr r1, _08098704 @ =gSharedMem
- ldr r2, _08098708 @ =0x000008af
- adds r0, r1, r2
- movs r3, 0x1
- strb r3, [r0]
- movs r0, 0x8B
- lsls r0, 4
- adds r2, r1, r0
- movs r0, 0x1E
- strb r0, [r2]
- ldr r2, _0809870C @ =0x000008b1
- adds r1, r2
- strb r3, [r1]
- bx lr
- .align 2, 0
-_08098704: .4byte gSharedMem
-_08098708: .4byte 0x000008af
-_0809870C: .4byte 0x000008b1
- thumb_func_end sub_80986E8
-
- thumb_func_start sub_8098710
-sub_8098710: @ 8098710
- push {lr}
- ldr r0, _0809872C @ =gSharedMem
- ldr r2, _08098730 @ =0x000008af
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08098728
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- bl sub_8098690
-_08098728:
- pop {r0}
- bx r0
- .align 2, 0
-_0809872C: .4byte gSharedMem
-_08098730: .4byte 0x000008af
- thumb_func_end sub_8098710
-
- thumb_func_start sub_8098734
-sub_8098734: @ 8098734
- push {lr}
- ldr r2, _08098774 @ =gSharedMem
- ldr r1, _08098778 @ =0x000008af
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098770
- movs r0, 0x8B
- lsls r0, 4
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bls _08098770
- movs r0, 0
- strb r0, [r1]
- movs r3, 0
- ldr r0, _0809877C @ =0x000008b1
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08098768
- movs r3, 0x1
-_08098768:
- strb r3, [r1]
- ldrb r0, [r1]
- bl sub_8098690
-_08098770:
- pop {r0}
- bx r0
- .align 2, 0
-_08098774: .4byte gSharedMem
-_08098778: .4byte 0x000008af
-_0809877C: .4byte 0x000008b1
- thumb_func_end sub_8098734
-
- thumb_func_start sub_8098780
-sub_8098780: @ 8098780
- push {r4-r6,lr}
- sub sp, 0x10
- movs r4, 0x1
- ldr r6, _080987D4 @ =gSharedMem + 0xA8
- movs r5, 0x80
- lsls r5, 9
-_0809878C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080987D8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080987A0
- movs r0, 0x1
-_080987A0:
- movs r1, 0x10
- cmp r0, 0
- beq _080987A8
- movs r1, 0xC
-_080987A8:
- lsrs r2, r5, 16
- str r1, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0x7
- adds r3, r6, 0
- bl sub_809D104
- movs r0, 0xC0
- lsls r0, 10
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x5
- ble _0809878C
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080987D4: .4byte gSharedMem + 0xA8
-_080987D8: .4byte gPlayerParty
- thumb_func_end sub_8098780
-
- thumb_func_start sub_80987DC
-sub_80987DC: @ 80987DC
- push {lr}
- sub sp, 0x10
- bl sub_8098780
- ldr r0, _08098804 @ =0x06007800
- ldr r3, _08098808 @ =gSharedMem + 0xA8
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xC
- str r1, [sp, 0x8]
- movs r1, 0x16
- str r1, [sp, 0xC]
- movs r1, 0xA
- movs r2, 0
- bl sub_809D034
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_08098804: .4byte 0x06007800
-_08098808: .4byte gSharedMem + 0xA8
- thumb_func_end sub_80987DC
-
- thumb_func_start sub_809880C
-sub_809880C: @ 809880C
- push {lr}
- ldr r0, _08098828 @ =gSharedMem
- ldr r1, _0809882C @ =0x000008ae
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x6
- bl PlaySE
- bl sub_80984E8
- pop {r0}
- bx r0
- .align 2, 0
-_08098828: .4byte gSharedMem
-_0809882C: .4byte 0x000008ae
- thumb_func_end sub_809880C
-
- thumb_func_start sub_8098830
-sub_8098830: @ 8098830
- push {r4,r5,lr}
- ldr r5, _08098848 @ =gSharedMem
- ldr r0, _0809884C @ =0x000008ae
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _08098866
- cmp r0, 0x1
- bgt _08098850
- cmp r0, 0
- beq _08098856
- b _08098890
- .align 2, 0
-_08098848: .4byte gSharedMem
-_0809884C: .4byte 0x000008ae
-_08098850:
- cmp r0, 0x2
- beq _0809888C
- b _08098890
-_08098856:
- bl sub_8098520
- lsls r0, 24
- cmp r0, 0
- bne _08098890
- bl sub_809B068
- b _0809887E
-_08098866:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _08098890
- ldr r1, _08098888 @ =0x000011f6
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809887E
- bl BoxSetMosaic
-_0809887E:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08098890
- .align 2, 0
-_08098888: .4byte 0x000011f6
-_0809888C:
- movs r0, 0
- b _08098892
-_08098890:
- movs r0, 0x1
-_08098892:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8098830
-
-.section .text_8098A38
-
- thumb_func_start sub_8098A38
-sub_8098A38: @ 8098A38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0
- bl DisplayYesNoMenu
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl Menu_MoveCursor
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8098A38
-
- thumb_func_start sub_8098A5C
-sub_8098A5C: @ 8098A5C
- push {lr}
- bl Menu_DestroyCursor
- movs r0, 0xA
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl Menu_EraseWindowRect
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1D
- movs r3, 0xF
- bl Menu_EraseWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_8098A5C
-
- thumb_func_start sub_8098A80
-sub_8098A80: @ 8098A80
- push {lr}
- bl sub_809CDCC
- movs r0, 0xC
- bl sub_809CDEC
- movs r0, 0xD
- bl sub_809CDEC
- movs r0, 0xE
- bl sub_809CDEC
- movs r0, 0xF
- bl sub_809CDEC
- bl sub_809CE84
- pop {r0}
- bx r0
- thumb_func_end sub_8098A80
-
- thumb_func_start sub_8098AA8
-sub_8098AA8: @ 8098AA8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_809CDCC
- cmp r4, 0x1
- beq _08098AE6
- cmp r4, 0x1
- bgt _08098AC2
- cmp r4, 0
- beq _08098ACC
- b _08098B32
-_08098AC2:
- cmp r5, 0x2
- beq _08098B00
- cmp r5, 0x3
- beq _08098B1A
- b _08098B32
-_08098ACC:
- movs r0, 0x10
- bl sub_809CDEC
- movs r0, 0x11
- bl sub_809CDEC
- movs r0, 0x12
- bl sub_809CDEC
- movs r0, 0x13
- bl sub_809CDEC
- b _08098B32
-_08098AE6:
- movs r0, 0x14
- bl sub_809CDEC
- movs r0, 0x15
- bl sub_809CDEC
- movs r0, 0x16
- bl sub_809CDEC
- movs r0, 0x17
- bl sub_809CDEC
- b _08098B32
-_08098B00:
- movs r0, 0x18
- bl sub_809CDEC
- movs r0, 0x19
- bl sub_809CDEC
- movs r0, 0x1A
- bl sub_809CDEC
- movs r0, 0x1B
- bl sub_809CDEC
- b _08098B32
-_08098B1A:
- movs r0, 0x1C
- bl sub_809CDEC
- movs r0, 0x1D
- bl sub_809CDEC
- movs r0, 0x1E
- bl sub_809CDEC
- movs r0, 0x1F
- bl sub_809CDEC
-_08098B32:
- bl sub_809CE84
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8098AA8
-
- thumb_func_start get_preferred_box
-get_preferred_box: @ 8098B3C
- ldr r0, _08098B44 @ =gPokemonStorage
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098B44: .4byte gPokemonStorage
- thumb_func_end get_preferred_box
-
- thumb_func_start sub_8098B48
-sub_8098B48: @ 8098B48
- push {r4,r5,lr}
- bl sub_809D51C
- movs r2, 0
- ldr r1, _08098BD8 @ =gUnknown_083B6DB4
- ldr r0, [r1]
- ldr r4, _08098BDC @ =0x000010d0
- adds r3, r0, r4
- movs r4, 0
- adds r5, r1, 0
-_08098B5C:
- lsls r0, r2, 1
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _08098B5C
- movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 5
- adds r3, r0, r1
- movs r1, 0
-_08098B7A:
- lsls r0, r2, 1
- adds r0, r3, r0
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _08098B7A
- movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r4, _08098BE0 @ =0x00001038
- adds r3, r0, r4
- movs r1, 0
-_08098B96:
- lsls r0, r2, 2
- adds r0, r3, r0
- str r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _08098B96
- movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08098BE4 @ =0x00001050
- adds r3, r0, r1
- movs r1, 0
-_08098BB2:
- lsls r0, r2, 2
- adds r0, r3, r0
- str r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _08098BB2
- ldr r0, [r5]
- ldr r2, _08098BE8 @ =0x00001034
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r4, _08098BEC @ =0x00000d5c
- adds r0, r4
- strh r2, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08098BD8: .4byte gUnknown_083B6DB4
-_08098BDC: .4byte 0x000010d0
-_08098BE0: .4byte 0x00001038
-_08098BE4: .4byte 0x00001050
-_08098BE8: .4byte 0x00001034
-_08098BEC: .4byte 0x00000d5c
- thumb_func_end sub_8098B48
-
- thumb_func_start sub_8098BF0
-sub_8098BF0: @ 8098BF0
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, _08098C38 @ =gUnknown_083B6DB4
- ldr r5, [r0]
- ldr r0, _08098C3C @ =0x000025b4
- adds r4, r5, r0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x7
- str r1, [sp, 0x4]
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_8099AFC
- ldr r1, _08098C40 @ =0x00001034
- adds r5, r1
- str r0, [r5]
- ldr r1, _08098C44 @ =sub_80999C4
- str r1, [r0, 0x1C]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098C38: .4byte gUnknown_083B6DB4
-_08098C3C: .4byte 0x000025b4
-_08098C40: .4byte 0x00001034
-_08098C44: .4byte sub_80999C4
- thumb_func_end sub_8098BF0
-
- thumb_func_start sub_8098C48
-sub_8098C48: @ 8098C48
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _08098CCC @ =gPokemonStorage + 0x4
- adds r6, r0, r1
- movs r0, 0
- mov r8, r0
- movs r7, 0
-_08098C6A:
- movs r5, 0
- adds r1, r7, 0x1
- mov r9, r1
-_08098C70:
- adds r0, r6, 0
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08098CD8
- adds r0, r6, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- lsls r2, r5, 1
- adds r2, r5
- lsls r2, 19
- movs r3, 0xC8
- lsls r3, 15
- adds r2, r3
- asrs r2, 16
- lsls r3, r7, 1
- adds r3, r7
- lsls r3, 19
- movs r0, 0xB0
- lsls r0, 14
- adds r3, r0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x12
- subs r0, r5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r4, 0
- asrs r3, 16
- bl sub_8099AFC
- ldr r1, _08098CD0 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- mov r3, r8
- lsls r2, r3, 2
- ldr r3, _08098CD4 @ =0x00001050
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- b _08098CE8
- .align 2, 0
-_08098CCC: .4byte gPokemonStorage + 0x4
-_08098CD0: .4byte gUnknown_083B6DB4
-_08098CD4: .4byte 0x00001050
-_08098CD8:
- ldr r0, _08098D18 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, _08098D1C @ =0x00001050
- adds r0, r3
- adds r0, r1
- str r4, [r0]
-_08098CE8:
- adds r6, 0x50
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08098C70
- mov r1, r9
- lsls r0, r1, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _08098C6A
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098D18: .4byte gUnknown_083B6DB4
-_08098D1C: .4byte 0x00001050
- thumb_func_end sub_8098C48
-
- thumb_func_start sub_8098D20
-sub_8098D20: @ 8098D20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r2, r1, 4
- subs r2, r1
- lsls r2, 5
- lsls r0, r4, 2
- mov r9, r0
- adds r0, r4
- lsls r0, 4
- ldr r1, _08098DD4 @ =gPokemonStorage + 0x4
- adds r0, r1
- adds r7, r2, r0
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _08098DC4
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- lsls r5, r0, 1
- adds r5, r0
- lsls r5, 19
- movs r1, 0xC8
- lsls r1, 15
- adds r5, r1
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 19
- movs r2, 0xB0
- lsls r2, 14
- adds r4, r2
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x12
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r8
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_8099AFC
- ldr r1, _08098DD8 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _08098DDC @ =0x00001050
- adds r1, r2
- add r1, r9
- str r0, [r1]
-_08098DC4:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098DD4: .4byte gPokemonStorage + 0x4
-_08098DD8: .4byte gUnknown_083B6DB4
-_08098DDC: .4byte 0x00001050
- thumb_func_end sub_8098D20
-
- thumb_func_start sub_8098DE0
-sub_8098DE0: @ 8098DE0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- ldr r0, _08098E18 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08098E1C @ =0x00001050
- adds r3, r0, r1
- movs r6, 0x1
- ldr r5, _08098E20 @ =sub_8098E68
-_08098DF4:
- lsls r0, r2, 2
- adds r1, r3, r0
- ldr r0, [r1]
- cmp r0, 0
- beq _08098E08
- strh r4, [r0, 0x32]
- ldr r0, [r1]
- strh r6, [r0, 0x36]
- ldr r0, [r1]
- str r5, [r0, 0x1C]
-_08098E08:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _08098DF4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098E18: .4byte gUnknown_083B6DB4
-_08098E1C: .4byte 0x00001050
-_08098E20: .4byte sub_8098E68
- thumb_func_end sub_8098DE0
-
- thumb_func_start sub_8098E24
-sub_8098E24: @ 8098E24
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08098E40
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- b _08098E56
-_08098E40:
- ldr r0, _08098E5C @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r3, _08098E60 @ =0x00001178
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrh r0, [r2, 0x34]
- strh r0, [r2, 0x20]
- ldr r0, _08098E64 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08098E56:
- pop {r0}
- bx r0
- .align 2, 0
-_08098E5C: .4byte gUnknown_083B6DB4
-_08098E60: .4byte 0x00001178
-_08098E64: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098E24
-
- thumb_func_start sub_8098E68
-sub_8098E68: @ 8098E68
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x36]
- movs r3, 0x36
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08098E7C
- subs r0, r1, 0x1
- strh r0, [r2, 0x36]
- b _08098E98
-_08098E7C:
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x38]
- subs r0, 0x45
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB6
- bls _08098E98
- ldr r0, _08098E9C @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08098E98:
- pop {r0}
- bx r0
- .align 2, 0
-_08098E9C: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098E68
-
- thumb_func_start sub_8098EA0
-sub_8098EA0: @ 8098EA0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r0, _08098ED8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08098EDC @ =0x00001050
- adds r7, r0, r1
-_08098EB0:
- lsls r0, r5, 2
- adds r4, r7, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _08098EC2
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_08098EC2:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _08098EB0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098ED8: .4byte gUnknown_083B6DB4
-_08098EDC: .4byte 0x00001050
- thumb_func_end sub_8098EA0
-
- thumb_func_start sub_8098EE0
-sub_8098EE0: @ 8098EE0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x8]
- lsls r2, 16
- movs r0, 0x2C
- str r0, [sp, 0x10]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 19
- movs r1, 0xC8
- lsls r1, 15
- adds r0, r1
- lsrs r0, 16
- mov r10, r0
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsrs r3, r2, 16
- str r3, [sp, 0xC]
- asrs r2, 16
- adds r1, r0, 0
- muls r1, r2
- mov r4, r10
- subs r1, r4, r1
- movs r0, 0x12
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x14]
- mov r9, r0
- ldr r0, _08098FF8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r2, _08098FFC @ =0x0000117d
- adds r2, r0
- mov r8, r2
- ldr r3, _08099000 @ =0x00001050
- adds r3, r0, r3
- str r3, [sp, 0x20]
- lsls r1, 16
- str r1, [sp, 0x1C]
-_08098F42:
- mov r4, r8
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r7, r6, 2
- adds r1, r7, r6
- lsls r1, 4
- ldr r2, _08099004 @ =gPokemonStorage + 0x4
- adds r4, r1, r2
- adds r0, r4
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _08098FC8
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r0, r4
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- ldr r2, [sp, 0x10]
- lsls r3, r2, 16
- asrs r3, 16
- movs r0, 0x2
- str r0, [sp]
- ldr r4, [sp, 0x18]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- ldr r4, [sp, 0x1C]
- asrs r2, r4, 16
- bl sub_8099AFC
- ldr r2, [sp, 0x20]
- adds r1, r2, r7
- str r0, [r1]
- cmp r0, 0
- beq _08098FC8
- mov r3, sp
- ldrh r3, [r3, 0x8]
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- mov r4, sp
- ldrh r4, [r4, 0xC]
- strh r4, [r0, 0x32]
- ldr r0, [r1]
- mov r2, r10
- strh r2, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, _08099008 @ =sub_8098E24
- str r0, [r1, 0x1C]
- ldr r0, [sp, 0x14]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
-_08098FC8:
- adds r0, r6, 0x6
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [sp, 0x10]
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x4
- bls _08098F42
- ldr r0, [sp, 0x14]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08098FF8: .4byte gUnknown_083B6DB4
-_08098FFC: .4byte 0x0000117d
-_08099000: .4byte 0x00001050
-_08099004: .4byte gPokemonStorage + 0x4
-_08099008: .4byte sub_8098E24
- thumb_func_end sub_8098EE0
-
- thumb_func_start sub_809900C
-sub_809900C: @ 809900C
- push {r4-r6,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _08099058 @ =gUnknown_083B6DB4
- ldr r5, [r4]
- ldr r3, _0809905C @ =0x0000117c
- adds r2, r5, r3
- movs r3, 0
- strb r3, [r2]
- ldr r6, _08099060 @ =0x0000117d
- adds r2, r5, r6
- strb r0, [r2]
- ldr r2, _08099064 @ =0x0000117b
- adds r0, r5, r2
- strb r1, [r0]
- subs r6, 0xB
- adds r2, r5, r6
- movs r0, 0x20
- strh r0, [r2]
- lsls r1, 24
- asrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- negs r0, r0
- adds r6, 0x4
- adds r2, r5, r6
- strh r0, [r2]
- ldr r2, _08099068 @ =0x00001178
- adds r0, r5, r2
- strh r3, [r0]
- cmp r1, 0
- ble _08099070
- ldr r3, _0809906C @ =0x0000117a
- adds r1, r5, r3
- movs r0, 0
- b _08099076
- .align 2, 0
-_08099058: .4byte gUnknown_083B6DB4
-_0809905C: .4byte 0x0000117c
-_08099060: .4byte 0x0000117d
-_08099064: .4byte 0x0000117b
-_08099068: .4byte 0x00001178
-_0809906C: .4byte 0x0000117a
-_08099070:
- ldr r6, _080990A0 @ =0x0000117a
- adds r1, r5, r6
- movs r0, 0x5
-_08099076:
- strb r0, [r1]
- ldr r2, [r4]
- ldr r1, _080990A0 @ =0x0000117a
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x64
- ldr r3, _080990A4 @ =0x00001174
- adds r1, r2, r3
- strh r0, [r1]
- ldr r6, _080990A8 @ =0x00001176
- adds r2, r6
- movs r1, 0
- ldrsh r0, [r2, r1]
- bl sub_8098DE0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080990A0: .4byte 0x0000117a
-_080990A4: .4byte 0x00001174
-_080990A8: .4byte 0x00001176
- thumb_func_end sub_809900C
-
- thumb_func_start sub_80990AC
-sub_80990AC: @ 80990AC
- push {r4-r6,lr}
- ldr r0, _080990D4 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r0, _080990D8 @ =0x00001172
- adds r3, r4, r0
- ldrh r0, [r3]
- cmp r0, 0
- beq _080990C0
- subs r0, 0x1
- strh r0, [r3]
-_080990C0:
- ldr r1, _080990DC @ =0x0000117c
- adds r6, r4, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _08099138
- cmp r0, 0x1
- bgt _080990E0
- cmp r0, 0
- beq _080990E8
- b _080991F0
- .align 2, 0
-_080990D4: .4byte gUnknown_083B6DB4
-_080990D8: .4byte 0x00001172
-_080990DC: .4byte 0x0000117c
-_080990E0:
- cmp r0, 0x2
- bne _080990E6
- b _080991E0
-_080990E6:
- b _080991F0
-_080990E8:
- ldr r2, _0809912C @ =0x00001174
- adds r5, r4, r2
- ldr r3, _08099130 @ =0x00001176
- adds r0, r4, r3
- ldrh r0, [r0]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBA
- bhi _08099104
- b _080991F8
-_08099104:
- adds r2, 0x6
- adds r0, r4, r2
- ldrb r0, [r0]
- bl sub_8098EA0
- ldr r3, _08099134 @ =0x0000117b
- adds r0, r4, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _080991F8
- .align 2, 0
-_0809912C: .4byte 0x00001174
-_08099130: .4byte 0x00001176
-_08099134: .4byte 0x0000117b
-_08099138:
- ldr r2, _08099194 @ =0x00001174
- adds r1, r4, r2
- ldr r5, _08099198 @ =0x00001176
- adds r2, r4, r5
- ldrh r0, [r2]
- ldrh r5, [r1]
- adds r0, r5
- strh r0, [r1]
- ldr r0, _0809919C @ =0x0000117a
- adds r5, r4, r0
- ldrb r0, [r5]
- ldrh r1, [r3]
- movs r3, 0
- ldrsh r2, [r2, r3]
- bl sub_8098EE0
- ldr r2, _080991A0 @ =0x00001178
- adds r1, r4, r2
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- ldr r1, _080991A4 @ =0x0000117b
- adds r0, r4, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- ble _08099178
- ldrb r0, [r5]
- cmp r0, 0x5
- beq _08099182
-_08099178:
- cmp r1, 0
- bge _080991B0
- ldrb r0, [r5]
- cmp r0, 0
- bne _080991B0
-_08099182:
- ldr r0, _080991A8 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r2, _080991AC @ =0x0000117c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080991F8
- .align 2, 0
-_08099194: .4byte 0x00001174
-_08099198: .4byte 0x00001176
-_0809919C: .4byte 0x0000117a
-_080991A0: .4byte 0x00001178
-_080991A4: .4byte 0x0000117b
-_080991A8: .4byte gUnknown_083B6DB4
-_080991AC: .4byte 0x0000117c
-_080991B0:
- ldr r0, _080991D0 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r5, _080991D4 @ =0x0000117a
- adds r3, r1, r5
- ldr r2, _080991D8 @ =0x0000117b
- adds r0, r1, r2
- ldrb r0, [r0]
- ldrb r5, [r3]
- adds r0, r5
- movs r2, 0
- strb r0, [r3]
- ldr r0, _080991DC @ =0x0000117c
- adds r1, r0
- strb r2, [r1]
- b _080991F8
- .align 2, 0
-_080991D0: .4byte gUnknown_083B6DB4
-_080991D4: .4byte 0x0000117a
-_080991D8: .4byte 0x0000117b
-_080991DC: .4byte 0x0000117c
-_080991E0:
- ldr r1, _080991F4 @ =0x00001178
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080991F8
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080991F0:
- movs r0, 0
- b _080991FA
- .align 2, 0
-_080991F4: .4byte 0x00001178
-_080991F8:
- movs r0, 0x1
-_080991FA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80990AC
-
- thumb_func_start sub_8099200
-sub_8099200: @ 8099200
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _080992A0 @ =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x68
- movs r3, 0x40
- bl sub_8099AFC
- ldr r1, _080992A4 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _080992A8 @ =0x00001038
- adds r1, r2
- str r0, [r1]
- movs r7, 0x1
- movs r6, 0x1
-_08099246:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _080992A0 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080992AC
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- subs r0, r6, 0x1
- lsls r3, r0, 1
- adds r3, r0
- lsls r3, 19
- movs r0, 0x80
- lsls r0, 13
- adds r3, r0
- asrs r3, 16
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x98
- bl sub_8099AFC
- ldr r1, _080992A4 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- lsls r2, r6, 2
- ldr r3, _080992A8 @ =0x00001038
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- b _080992BA
- .align 2, 0
-_080992A0: .4byte gPlayerParty
-_080992A4: .4byte gUnknown_083B6DB4
-_080992A8: .4byte 0x00001038
-_080992AC:
- ldr r0, _08099308 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0809930C @ =0x00001038
- adds r0, r2
- adds r0, r1
- str r5, [r0]
-_080992BA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _08099246
- mov r3, r8
- cmp r3, 0
- bne _080992FA
- movs r6, 0
- cmp r6, r7
- bcs _080992FA
- ldr r0, _08099308 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809930C @ =0x00001038
- adds r3, r0, r1
- movs r4, 0x4
-_080992DA:
- lsls r1, r6, 2
- adds r1, r3, r1
- ldr r2, [r1]
- ldrh r0, [r2, 0x22]
- subs r0, 0xA0
- strh r0, [r2, 0x22]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _080992DA
-_080992FA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099308: .4byte gUnknown_083B6DB4
-_0809930C: .4byte 0x00001038
- thumb_func_end sub_8099200
-
- thumb_func_start sub_8099310
-sub_8099310: @ 8099310
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _08099368 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r0, _0809936C @ =0x00001171
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- movs r6, 0
- mov r8, r2
- ldr r7, _0809936C @ =0x00001171
- add r7, r8
-_0809932C:
- lsls r1, r5, 2
- ldr r0, _08099370 @ =0x00001038
- add r0, r8
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _08099354
- cmp r5, r6
- beq _0809934E
- adds r1, r6, 0
- bl sub_8099388
- movs r0, 0
- str r0, [r4]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
-_0809934E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08099354:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0809932C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099368: .4byte gUnknown_083B6DB4
-_0809936C: .4byte 0x00001171
-_08099370: .4byte 0x00001038
- thumb_func_end sub_8099310
-
- thumb_func_start sub_8099374
-sub_8099374: @ 8099374
- ldr r0, _08099380 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099384 @ =0x00001171
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08099380: .4byte gUnknown_083B6DB4
-_08099384: .4byte 0x00001171
- thumb_func_end sub_8099374
-
- thumb_func_start sub_8099388
-sub_8099388: @ 8099388
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- strh r1, [r2, 0x30]
- cmp r1, 0
- bne _0809939C
- movs r3, 0x68
- movs r4, 0x40
- b _080993AE
-_0809939C:
- movs r3, 0x98
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 19
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
-_080993AE:
- ldrh r0, [r2, 0x20]
- lsls r0, 3
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x22]
- lsls r0, 3
- strh r0, [r2, 0x34]
- lsls r1, r3, 3
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- subs r0, r1, r0
- cmp r0, 0
- bge _080993C8
- adds r0, 0x7
-_080993C8:
- asrs r0, 3
- strh r0, [r2, 0x36]
- lsls r0, r4, 16
- asrs r0, 13
- movs r3, 0x34
- ldrsh r1, [r2, r3]
- subs r0, r1
- cmp r0, 0
- bge _080993DC
- adds r0, 0x7
-_080993DC:
- asrs r0, 3
- strh r0, [r2, 0x38]
- movs r0, 0x8
- strh r0, [r2, 0x3A]
- ldr r0, _080993F0 @ =sub_80993F4
- str r0, [r2, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080993F0: .4byte sub_80993F4
- thumb_func_end sub_8099388
-
- thumb_func_start sub_80993F4
-sub_80993F4: @ 80993F4
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08099424
- ldrh r0, [r3, 0x36]
- ldrh r4, [r3, 0x32]
- adds r0, r4
- strh r0, [r3, 0x32]
- ldrh r1, [r3, 0x38]
- ldrh r4, [r3, 0x34]
- adds r1, r4
- strh r1, [r3, 0x34]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r3, 0x20]
- lsls r1, 16
- asrs r1, 19
- strh r1, [r3, 0x22]
- subs r0, r2, 0x1
- strh r0, [r3, 0x3A]
- b _08099468
-_08099424:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08099434
- movs r0, 0x68
- strh r0, [r3, 0x20]
- movs r0, 0x40
- b _08099446
-_08099434:
- movs r0, 0x98
- strh r0, [r3, 0x20]
- movs r4, 0x30
- ldrsh r1, [r3, r4]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x10
-_08099446:
- strh r0, [r3, 0x22]
- ldr r0, _08099470 @ =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- ldr r0, _08099474 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r1, 2
- ldr r4, _08099478 @ =0x00001038
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldr r0, _0809947C @ =0x00001171
- adds r2, r0
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
-_08099468:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099470: .4byte SpriteCallbackDummy
-_08099474: .4byte gUnknown_083B6DB4
-_08099478: .4byte 0x00001038
-_0809947C: .4byte 0x00001171
- thumb_func_end sub_80993F4
-
- thumb_func_start sub_8099480
-sub_8099480: @ 8099480
- push {r4,lr}
- ldr r0, _080994A0 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _080994A4 @ =0x00001034
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _08099498
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_08099498:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080994A0: .4byte gUnknown_083B6DB4
-_080994A4: .4byte 0x00001034
- thumb_func_end sub_8099480
-
- thumb_func_start sub_80994A8
-sub_80994A8: @ 80994A8
- push {r4-r6,lr}
- movs r3, 0
- ldr r1, _080994FC @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _08099500 @ =0x00001038
- adds r5, r1, r2
- lsls r0, 16
- asrs r4, r0, 16
- movs r6, 0x5
- negs r6, r6
-_080994BC:
- lsls r0, r3, 2
- adds r2, r5, r0
- ldr r1, [r2]
- cmp r1, 0
- beq _0809950E
- ldrh r0, [r1, 0x22]
- adds r0, r4, r0
- strh r0, [r1, 0x22]
- ldr r2, [r2]
- ldrh r1, [r2, 0x26]
- ldrh r0, [r2, 0x22]
- adds r1, r0
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0xC0
- bls _08099504
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0809950E
- .align 2, 0
-_080994FC: .4byte gUnknown_083B6DB4
-_08099500: .4byte 0x00001038
-_08099504:
- adds r2, 0x3E
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2]
-_0809950E:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080994BC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80994A8
-
- thumb_func_start sub_8099520
-sub_8099520: @ 8099520
- push {r4,lr}
- lsls r0, 24
- ldr r1, _08099544 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- lsrs r0, 22
- ldr r2, _08099548 @ =0x00001038
- adds r1, r2
- adds r4, r1, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _0809953E
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_0809953E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099544: .4byte gUnknown_083B6DB4
-_08099548: .4byte 0x00001038
- thumb_func_end sub_8099520
-
- thumb_func_start sub_809954C
-sub_809954C: @ 809954C
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, _0809957C @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099580 @ =0x00001038
- adds r6, r0, r1
-_08099558:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _0809956A
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_0809956A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08099558
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809957C: .4byte gUnknown_083B6DB4
-_08099580: .4byte 0x00001038
- thumb_func_end sub_809954C
-
- thumb_func_start sub_8099584
-sub_8099584: @ 8099584
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- cmp r4, 0
- bne _080995B4
- ldr r3, _080995AC @ =gUnknown_083B6DB4
- ldr r0, [r3]
- ldr r5, _080995B0 @ =0x00001034
- adds r2, r0, r5
- lsls r1, 2
- adds r5, 0x4
- adds r0, r5
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- str r4, [r0]
- b _080995D0
- .align 2, 0
-_080995AC: .4byte gUnknown_083B6DB4
-_080995B0: .4byte 0x00001034
-_080995B4:
- cmp r4, 0x1
- bne _080995F4
- ldr r3, _080995FC @ =gUnknown_083B6DB4
- ldr r0, [r3]
- ldr r1, _08099600 @ =0x00001034
- adds r2, r0, r1
- lsls r1, r5, 2
- ldr r4, _08099604 @ =0x00001050
- adds r0, r4
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- movs r1, 0
- str r1, [r0]
-_080995D0:
- ldr r2, [r3]
- ldr r5, _08099600 @ =0x00001034
- adds r2, r5
- ldr r1, [r2]
- ldr r0, _08099608 @ =sub_80999C4
- str r0, [r1, 0x1C]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080995F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080995FC: .4byte gUnknown_083B6DB4
-_08099600: .4byte 0x00001034
-_08099604: .4byte 0x00001050
-_08099608: .4byte sub_80999C4
- thumb_func_end sub_8099584
-
- thumb_func_start sub_809960C
-sub_809960C: @ 809960C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r0, 0xE
- bne _08099654
- ldr r4, _08099648 @ =gUnknown_083B6DB4
- ldr r0, [r4]
- lsls r1, r6, 2
- ldr r2, _0809964C @ =0x00001038
- adds r3, r0, r2
- adds r3, r1
- ldr r1, _08099650 @ =0x00001034
- adds r0, r1
- ldr r2, [r0]
- str r2, [r3]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r3]
- adds r0, 0x43
- movs r1, 0xB
- strb r1, [r0]
- b _0809968A
- .align 2, 0
-_08099648: .4byte gUnknown_083B6DB4
-_0809964C: .4byte 0x00001038
-_08099650: .4byte 0x00001034
-_08099654:
- ldr r5, _080996A0 @ =gUnknown_083B6DB4
- ldr r0, [r5]
- lsls r1, r6, 2
- ldr r2, _080996A4 @ =0x00001050
- adds r3, r0, r2
- adds r3, r1
- ldr r1, _080996A8 @ =0x00001034
- adds r0, r1
- ldr r2, [r0]
- str r2, [r3]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r4, [r3]
- adds r0, r6, 0
- movs r1, 0x6
- bl __umodsi3
- movs r1, 0x12
- subs r1, r0
- adds r4, 0x43
- strb r1, [r4]
- adds r4, r5, 0
-_0809968A:
- ldr r1, [r4]
- ldr r2, _080996A8 @ =0x00001034
- adds r1, r2
- ldr r2, [r1]
- ldr r0, _080996AC @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- movs r0, 0
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080996A0: .4byte gUnknown_083B6DB4
-_080996A4: .4byte 0x00001050
-_080996A8: .4byte 0x00001034
-_080996AC: .4byte SpriteCallbackDummy
- thumb_func_end sub_809960C
-
- thumb_func_start sub_80996B0
-sub_80996B0: @ 80996B0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0xE
- bne _080996D8
- ldr r3, _080996CC @ =gUnknown_083B6DB4
- ldr r1, [r3]
- ldr r0, _080996D0 @ =0x000010c8
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _080996D4 @ =0x00001038
- b _080996E4
- .align 2, 0
-_080996CC: .4byte gUnknown_083B6DB4
-_080996D0: .4byte 0x000010c8
-_080996D4: .4byte 0x00001038
-_080996D8:
- ldr r3, _08099704 @ =gUnknown_083B6DB4
- ldr r1, [r3]
- ldr r0, _08099708 @ =0x000010c8
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _0809970C @ =0x00001050
-_080996E4:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- ldr r1, [r3]
- ldr r2, _08099710 @ =0x00001034
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, _08099714 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- ldr r4, _08099718 @ =0x00001170
- adds r1, r4
- movs r0, 0
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099704: .4byte gUnknown_083B6DB4
-_08099708: .4byte 0x000010c8
-_0809970C: .4byte 0x00001050
-_08099710: .4byte 0x00001034
-_08099714: .4byte SpriteCallbackDummy
-_08099718: .4byte 0x00001170
- thumb_func_end sub_80996B0
-
- thumb_func_start sub_809971C
-sub_809971C: @ 809971C
- push {r4-r7,lr}
- ldr r0, _08099730 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r0, _08099734 @ =0x00001170
- adds r7, r2, r0
- ldrb r0, [r7]
- cmp r0, 0x10
- bne _08099738
- movs r0, 0
- b _08099800
- .align 2, 0
-_08099730: .4byte gUnknown_083B6DB4
-_08099734: .4byte 0x00001170
-_08099738:
- adds r0, 0x1
- strb r0, [r7]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809975E
- ldr r1, _08099808 @ =0x000010c8
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- subs r0, 0x1
- strh r0, [r1, 0x22]
- ldr r4, _0809980C @ =0x00001034
- adds r0, r2, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
-_0809975E:
- ldr r0, _08099808 @ =0x000010c8
- adds r5, r2, r0
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r3, _08099810 @ =gSineTable
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bge _08099778
- adds r0, 0xF
-_08099778:
- asrs r0, 4
- strh r0, [r1, 0x24]
- ldr r0, _0809980C @ =0x00001034
- adds r6, r2, r0
- ldr r1, [r6]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _08099792
- adds r0, 0xF
-_08099792:
- asrs r0, 4
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrb r0, [r7]
- cmp r0, 0x8
- bne _080997DE
- ldr r4, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- movs r2, 0xC
- ands r2, r0
- ldrb r3, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r3
- orrs r0, r2
- strb r0, [r4, 0x5]
- ldr r2, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- adds r0, 0x43
- ldrb r0, [r0]
- adds r2, 0x43
- strb r0, [r2]
- ldr r0, [r5]
- ldr r2, [r0]
- ldrb r0, [r2, 0x5]
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x5]
- ldr r0, [r5]
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080997DE:
- ldrb r0, [r7]
- cmp r0, 0x10
- bne _080997FE
- ldr r1, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- str r0, [r6]
- ldr r0, [r5]
- str r1, [r0]
- ldr r1, [r6]
- ldr r0, _08099814 @ =sub_80999C4
- str r0, [r1, 0x1C]
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r0, _08099818 @ =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_080997FE:
- movs r0, 0x1
-_08099800:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08099808: .4byte 0x000010c8
-_0809980C: .4byte 0x00001034
-_08099810: .4byte gSineTable
-_08099814: .4byte sub_80999C4
-_08099818: .4byte SpriteCallbackDummy
- thumb_func_end sub_809971C
-
- thumb_func_start sub_809981C
-sub_809981C: @ 809981C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0x1
- beq _08099858
- cmp r0, 0x1
- bgt _08099836
- cmp r0, 0
- beq _0809983C
- b _080998C0
-_08099836:
- cmp r2, 0x2
- beq _0809987C
- b _080998C0
-_0809983C:
- ldr r3, _0809984C @ =gUnknown_083B6DB4
- ldr r1, [r3]
- ldr r0, _08099850 @ =0x000010cc
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08099854 @ =0x00001038
- b _08099864
- .align 2, 0
-_0809984C: .4byte gUnknown_083B6DB4
-_08099850: .4byte 0x000010cc
-_08099854: .4byte 0x00001038
-_08099858:
- ldr r3, _08099870 @ =gUnknown_083B6DB4
- ldr r1, [r3]
- ldr r0, _08099874 @ =0x000010cc
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08099878 @ =0x00001050
-_08099864:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- adds r0, r3, 0
- b _0809988A
- .align 2, 0
-_08099870: .4byte gUnknown_083B6DB4
-_08099874: .4byte 0x000010cc
-_08099878: .4byte 0x00001050
-_0809987C:
- ldr r0, _080998C8 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r3, _080998CC @ =0x000010cc
- adds r2, r1, r3
- ldr r4, _080998D0 @ =0x00001034
- adds r1, r4
- str r1, [r2]
-_0809988A:
- ldr r0, [r0]
- ldr r1, _080998CC @ =0x000010cc
- adds r4, r0, r1
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _080998C0
- bl InitSpriteAffineAnim
- ldr r0, [r4]
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r0, [r4]
- ldr r1, [r0]
- ldr r0, _080998D4 @ =gSpriteAffineAnimTable_83B6F5C
- str r0, [r1, 0x10]
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAffineAnim
-_080998C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080998C8: .4byte gUnknown_083B6DB4
-_080998CC: .4byte 0x000010cc
-_080998D0: .4byte 0x00001034
-_080998D4: .4byte gSpriteAffineAnimTable_83B6F5C
- thumb_func_end sub_809981C
-
- thumb_func_start sub_80998D8
-sub_80998D8: @ 80998D8
- push {lr}
- ldr r0, _080998FC @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099900 @ =0x000010cc
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0
- beq _080998F8
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _08099904
-_080998F8:
- movs r0, 0
- b _0809991A
- .align 2, 0
-_080998FC: .4byte gUnknown_083B6DB4
-_08099900: .4byte 0x000010cc
-_08099904:
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08099918
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r3]
-_08099918:
- movs r0, 0x1
-_0809991A:
- pop {r1}
- bx r1
- thumb_func_end sub_80998D8
-
- thumb_func_start sub_8099920
-sub_8099920: @ 8099920
- push {r4,lr}
- ldr r0, _08099950 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099954 @ =0x000010cc
- adds r4, r0, r1
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0809994A
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- ldr r0, [r0]
- bl sub_8099BE0
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_0809994A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099950: .4byte gUnknown_083B6DB4
-_08099954: .4byte 0x000010cc
- thumb_func_end sub_8099920
-
- thumb_func_start sub_8099958
-sub_8099958: @ 8099958
- push {lr}
- ldr r0, _08099988 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809998C @ =0x000010cc
- adds r3, r0, r1
- ldr r0, [r3]
- ldr r0, [r0]
- cmp r0, 0
- beq _08099982
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08099982:
- pop {r0}
- bx r0
- .align 2, 0
-_08099988: .4byte gUnknown_083B6DB4
-_0809998C: .4byte 0x000010cc
- thumb_func_end sub_8099958
-
- thumb_func_start sub_8099990
-sub_8099990: @ 8099990
- push {lr}
- ldr r0, _080999A4 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _080999A8 @ =0x000010cc
- adds r2, r0, r1
- ldr r0, [r2]
- cmp r0, 0
- bne _080999AC
- movs r0, 0
- b _080999C0
- .align 2, 0
-_080999A4: .4byte gUnknown_083B6DB4
-_080999A8: .4byte 0x000010cc
-_080999AC:
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080999BE
- movs r0, 0
- str r0, [r2]
-_080999BE:
- movs r0, 0x1
-_080999C0:
- pop {r1}
- bx r1
- thumb_func_end sub_8099990
-
- thumb_func_start sub_80999C4
-sub_80999C4: @ 80999C4
- ldr r1, _080999E4 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- movs r2, 0x8E
- lsls r2, 5
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r2, [r1]
- ldrh r1, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r1, r2
- adds r1, 0x4
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080999E4: .4byte gUnknown_083B6DB4
- thumb_func_end sub_80999C4
-
- thumb_func_start sub_80999E8
-sub_80999E8: @ 80999E8
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, _08099A58 @ =gUnknown_083B6DB4
- ldr r0, [r1]
- movs r2, 0x89
- lsls r2, 5
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, r3
- beq _08099A20
- adds r6, r2, 0
- movs r5, 0x89
- lsls r5, 5
-_08099A08:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _08099A20
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _08099A08
-_08099A20:
- cmp r4, 0x28
- bne _08099A60
- movs r4, 0
- ldr r0, [r2]
- movs r5, 0x89
- lsls r5, 5
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _08099A4E
- adds r6, r2, 0
-_08099A36:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _08099A4E
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _08099A36
-_08099A4E:
- cmp r4, 0x28
- bne _08099A60
- ldr r0, _08099A5C @ =0x0000ffff
- b _08099A94
- .align 2, 0
-_08099A58: .4byte gUnknown_083B6DB4
-_08099A5C: .4byte 0x0000ffff
-_08099A60:
- ldr r1, [r2]
- lsls r2, r4, 1
- movs r5, 0x89
- lsls r5, 5
- adds r0, r1, r5
- adds r0, r2
- strh r3, [r0]
- ldr r0, _08099A9C @ =0x000010d0
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r4, 20
- lsrs r4, 16
- ldr r1, _08099AA0 @ =gMonIconTable
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 5
- ldr r2, _08099AA4 @ =0x06010000
- adds r1, r2
- ldr r2, _08099AA8 @ =0x04000080
- bl CpuSet
- adds r0, r4, 0
-_08099A94:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08099A9C: .4byte 0x000010d0
-_08099AA0: .4byte gMonIconTable
-_08099AA4: .4byte 0x06010000
-_08099AA8: .4byte 0x04000080
- thumb_func_end sub_80999E8
-
- thumb_func_start sub_8099AAC
-sub_8099AAC: @ 8099AAC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r3, 0
- ldr r0, _08099AE4 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 5
- adds r5, r0, r1
- subs r1, 0x50
- adds r4, r0, r1
- ldr r0, _08099AE8 @ =0x0000ffff
- adds r7, r0, 0
-_08099AC6:
- lsls r1, r3, 1
- adds r2, r5, r1
- ldrh r0, [r2]
- cmp r0, r6
- bne _08099AEC
- adds r1, r4, r1
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ands r0, r7
- cmp r0, 0
- bne _08099AF6
- strh r0, [r2]
- b _08099AF6
- .align 2, 0
-_08099AE4: .4byte gUnknown_083B6DB4
-_08099AE8: .4byte 0x0000ffff
-_08099AEC:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x27
- bls _08099AC6
-_08099AF6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099AAC
-
- thumb_func_start sub_8099AFC
-sub_8099AFC: @ 8099AFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x18]
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r9, r5
- mov r2, sp
- ldr r0, _08099BAC @ =gSpriteTemplate_83B6F14
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- adds r0, r6, 0
- bl mon_icon_convert_unown_species_id
- mov r10, r0
- mov r6, r10
- mov r2, sp
- ldr r1, _08099BB0 @ =gMonIconPaletteIndices
- adds r1, r6, r1
- ldr r3, _08099BB4 @ =0x0000dac0
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2, 0x2]
- adds r0, r6, 0
- bl sub_80999E8
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- ldr r0, _08099BB8 @ =0x0000ffff
- cmp r5, r0
- beq _08099BCE
- ldr r7, [sp, 0x18]
- lsls r1, r7, 16
- asrs r1, 16
- mov r0, r8
- lsls r2, r0, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08099BC8
- ldr r1, _08099BBC @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r2, _08099BC0 @ =0x000003ff
- ands r2, r5
- ldrh r3, [r0, 0x4]
- ldr r1, _08099BC4 @ =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- movs r1, 0x3
- ands r4, r1
- lsls r3, r4, 2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r3
- strb r1, [r0, 0x5]
- mov r1, r10
- strh r1, [r0, 0x2E]
- b _08099BD0
- .align 2, 0
-_08099BAC: .4byte gSpriteTemplate_83B6F14
-_08099BB0: .4byte gMonIconPaletteIndices
-_08099BB4: .4byte 0x0000dac0
-_08099BB8: .4byte 0x0000ffff
-_08099BBC: .4byte gSprites
-_08099BC0: .4byte 0x000003ff
-_08099BC4: .4byte 0xfffffc00
-_08099BC8:
- adds r0, r6, 0
- bl sub_8099AAC
-_08099BCE:
- movs r0, 0
-_08099BD0:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8099AFC
-
- thumb_func_start sub_8099BE0
-sub_8099BE0: @ 8099BE0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- bl sub_8099AAC
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8099BE0
-
- thumb_func_start sub_8099BF8
-sub_8099BF8: @ 8099BF8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08099C50 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099C54 @ =0x000008ba
- adds r2, r0, r1
- movs r1, 0
- strb r1, [r2]
- ldr r2, _08099C58 @ =0x000008b4
- adds r0, r2
- strh r1, [r0]
- str r1, [sp]
- ldr r1, _08099C5C @ =0x040000d4
- mov r0, sp
- str r0, [r1]
- ldr r0, _08099C60 @ =0x0600d000
- str r0, [r1, 0x4]
- ldr r0, _08099C64 @ =0x85000400
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8099EB0
- adds r0, r4, 0
- bl sub_809A23C
- bl sub_809A6DC
- adds r0, r4, 0
- bl sub_8098C48
- ldr r1, _08099C68 @ =REG_BG2CNT
- ldr r2, _08099C6C @ =0x00005a0a
- adds r0, r2, 0
- strh r0, [r1]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099C50: .4byte gUnknown_083B6DB4
-_08099C54: .4byte 0x000008ba
-_08099C58: .4byte 0x000008b4
-_08099C5C: .4byte 0x040000d4
-_08099C60: .4byte 0x0600d000
-_08099C64: .4byte 0x85000400
-_08099C68: .4byte REG_BG2CNT
-_08099C6C: .4byte 0x00005a0a
- thumb_func_end sub_8099BF8
-
- thumb_func_start sub_8099C70
-sub_8099C70: @ 8099C70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- bl sub_8099D90
- lsls r0, 24
- asrs r4, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8099EB0
- ldr r0, _08099D10 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 1
- ldr r3, _08099D14 @ =0x000008b6
- adds r1, r2, r3
- strh r0, [r1]
- ldr r0, _08099D18 @ =0x000008b8
- adds r1, r2, r0
- movs r0, 0x20
- strh r0, [r1]
- ldr r1, _08099D1C @ =0x000008bb
- adds r0, r2, r1
- strb r5, [r0]
- movs r1, 0
- cmp r4, 0
- bgt _08099CAE
- movs r1, 0x5
-_08099CAE:
- ldr r3, _08099D20 @ =0x000008bc
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _08099D24 @ =0x000008be
- adds r0, r2, r1
- strh r4, [r0]
- movs r1, 0x38
- cmp r4, 0
- ble _08099CC6
- movs r3, 0x84
- lsls r3, 1
- adds r1, r3, 0
-_08099CC6:
- movs r3, 0x8C
- lsls r3, 4
- adds r0, r2, r3
- strh r1, [r0]
- movs r1, 0
- cmp r4, 0
- bgt _08099CD6
- movs r1, 0x5
-_08099CD6:
- ldr r3, _08099D28 @ =0x000008c2
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _08099D2C @ =0x000008c4
- adds r0, r2, r1
- strh r4, [r0]
- adds r3, 0x4
- adds r1, r2, r3
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08099D30 @ =0x000008c8
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809900C
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809A3D0
- adds r0, r4, 0
- bl sub_809A774
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099D10: .4byte gUnknown_083B6DB4
-_08099D14: .4byte 0x000008b6
-_08099D18: .4byte 0x000008b8
-_08099D1C: .4byte 0x000008bb
-_08099D20: .4byte 0x000008bc
-_08099D24: .4byte 0x000008be
-_08099D28: .4byte 0x000008c2
-_08099D2C: .4byte 0x000008c4
-_08099D30: .4byte 0x000008c8
- thumb_func_end sub_8099C70
-
- thumb_func_start sub_8099D34
-sub_8099D34: @ 8099D34
- push {r4,lr}
- bl sub_80990AC
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08099D78 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r0, _08099D7C @ =0x000008b8
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0
- beq _08099D88
- ldr r4, _08099D80 @ =0x000008b4
- adds r2, r1, r4
- adds r4, 0x2
- adds r0, r1, r4
- ldrh r0, [r0]
- ldrh r1, [r2]
- adds r0, r1
- ldr r1, _08099D84 @ =0x000001ff
- ands r0, r1
- strh r0, [r2]
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- cmp r0, 0
- bne _08099D74
- bl sub_809A598
- bl sub_809A810
-_08099D74:
- movs r0, 0x1
- b _08099D8A
- .align 2, 0
-_08099D78: .4byte gUnknown_083B6DB4
-_08099D7C: .4byte 0x000008b8
-_08099D80: .4byte 0x000008b4
-_08099D84: .4byte 0x000001ff
-_08099D88:
- adds r0, r2, 0
-_08099D8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099D34
-
- thumb_func_start sub_8099D90
-sub_8099D90: @ 8099D90
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- cmp r1, r4
- beq _08099DBA
-_08099DA4:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _08099DB0
- movs r1, 0
-_08099DB0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r1, r4
- bne _08099DA4
-_08099DBA:
- movs r0, 0x1
- negs r0, r0
- cmp r2, 0x6
- bhi _08099DC4
- movs r0, 0x1
-_08099DC4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099D90
-
- thumb_func_start sub_8099DCC
-sub_8099DCC: @ 8099DCC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08099DF8 @ =gPokemonStorage
- ldr r2, _08099DFC @ =0x000083c2
- adds r1, r2
- adds r0, r1
- movs r1, 0
- strb r4, [r0]
- ldr r0, _08099E00 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r2, _08099E04 @ =0x00001032
- adds r0, r2
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099DF8: .4byte gPokemonStorage
-_08099DFC: .4byte 0x000083c2
-_08099E00: .4byte gUnknown_083B6DB4
-_08099E04: .4byte 0x00001032
- thumb_func_end sub_8099DCC
-
- thumb_func_start sub_8099E08
-sub_8099E08: @ 8099E08
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08099E24 @ =gUnknown_083B6DB4
- ldr r5, [r0]
- ldr r0, _08099E28 @ =0x00001032
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _08099E54
- cmp r0, 0x1
- bgt _08099E2C
- cmp r0, 0
- beq _08099E36
- b _08099EA6
- .align 2, 0
-_08099E24: .4byte gUnknown_083B6DB4
-_08099E28: .4byte 0x00001032
-_08099E2C:
- cmp r0, 0x2
- beq _08099E90
- cmp r0, 0x3
- beq _08099EA2
- b _08099EA6
-_08099E36:
- ldr r1, _08099E4C @ =0x00000d08
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r1, _08099E50 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08099E9A
- .align 2, 0
-_08099E4C: .4byte 0x00000d08
-_08099E50: .4byte 0x0000ffff
-_08099E54:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08099EA6
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8099EB0
- bl sub_809A654
- ldr r1, _08099E88 @ =0x00000d08
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r1, _08099E8C @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08099E9A
- .align 2, 0
-_08099E88: .4byte 0x00000d08
-_08099E8C: .4byte 0x0000ffff
-_08099E90:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08099EA6
-_08099E9A:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08099EA6
-_08099EA2:
- movs r0, 0
- b _08099EA8
-_08099EA6:
- movs r0, 0x1
-_08099EA8:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8099E08
-
- thumb_func_start sub_8099EB0
-sub_8099EB0: @ 8099EB0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r1, 0
- beq _08099ED8
- ldr r0, _08099F38 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r2, 0
- ldr r3, _08099F3C @ =0x000008ba
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _08099ED0
- movs r2, 0x1
-_08099ED0:
- strb r2, [r1]
- ldr r0, _08099F40 @ =0x0600d000
- bl sub_809A14C
-_08099ED8:
- ldr r0, _08099F44 @ =gPokemonStorage
- ldr r1, _08099F48 @ =0x000083c2
- adds r0, r1
- adds r0, r4, r0
- ldrb r4, [r0]
- lsls r4, 4
- ldr r0, _08099F4C @ =gWallpaperTable
- adds r4, r0
- ldr r0, [r4, 0xC]
- ldr r1, _08099F38 @ =gUnknown_083B6DB4
- ldr r5, [r1]
- ldr r2, _08099F3C @ =0x000008ba
- adds r6, r5, r2
- ldrb r2, [r6]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 20
- movs r3, 0x80
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x60
- bl LoadPalette
- ldr r0, [r4, 0x8]
- ldr r1, _08099F50 @ =0x00000d62
- adds r5, r1
- adds r1, r5, 0
- bl LZ77UnCompWram
- ldr r0, _08099F40 @ =0x0600d000
- lsls r2, r7, 24
- asrs r2, 24
- ldrb r3, [r6]
- adds r1, r5, 0
- bl sub_8099F58
- ldr r0, [r4]
- ldrb r1, [r6]
- lsls r1, 13
- ldr r2, _08099F54 @ =0x06008000
- adds r1, r2
- bl LZ77UnCompVram
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099F38: .4byte gUnknown_083B6DB4
-_08099F3C: .4byte 0x000008ba
-_08099F40: .4byte 0x0600d000
-_08099F44: .4byte gPokemonStorage
-_08099F48: .4byte 0x000083c2
-_08099F4C: .4byte gWallpaperTable
-_08099F50: .4byte 0x00000d62
-_08099F54: .4byte 0x06008000
- thumb_func_end sub_8099EB0
-
- thumb_func_start sub_8099F58
-sub_8099F58: @ 8099F58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r9, r0
- adds r5, r1, 0
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, r3, 8
- str r0, [sp]
- lsls r0, r3, 1
- adds r0, r3
- adds r0, 0x4
- lsls r0, 28
- lsrs r0, 16
- str r0, [sp, 0x4]
- ldr r0, _08099FB8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099FBC @ =0x000008b4
- adds r0, r1
- ldrh r1, [r0]
- lsrs r1, 3
- adds r1, 0xA
- lsrs r0, r2, 24
- mov r8, r0
- asrs r2, 24
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- movs r0, 0x3F
- ands r1, r0
- str r1, [sp, 0x8]
- adds r2, r1, 0
- cmp r2, 0xC
- bgt _08099FC0
- movs r6, 0x14
- movs r3, 0
- lsls r0, r2, 1
- adds r0, 0x80
- mov r1, r9
- adds r4, r1, r0
- movs r7, 0
- b _0809A020
- .align 2, 0
-_08099FB8: .4byte gUnknown_083B6DB4
-_08099FBC: .4byte 0x000008b4
-_08099FC0:
- cmp r2, 0x1F
- bgt _08099FE6
- movs r0, 0x20
- subs r0, r2
- lsls r0, 16
- movs r1, 0x14
- lsrs r6, r0, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r0, r2, 1
- adds r0, 0x80
- mov r2, r9
- adds r4, r2, r0
- movs r7, 0x88
- lsls r7, 4
- add r7, r9
- b _0809A020
-_08099FE6:
- cmp r2, 0x2C
- bgt _08099FFE
- movs r6, 0x14
- movs r3, 0
- lsls r0, r2, 1
- movs r1, 0x84
- lsls r1, 4
- adds r0, r1
- mov r2, r9
- adds r4, r2, r0
- movs r7, 0
- b _0809A020
-_08099FFE:
- movs r0, 0x40
- subs r0, r2
- lsls r0, 16
- movs r1, 0x14
- lsrs r6, r0, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r0, r2, 1
- movs r1, 0x84
- lsls r1, 4
- adds r0, r1
- mov r2, r9
- adds r4, r2, r0
- mov r7, r9
- adds r7, 0x80
-_0809A020:
- movs r1, 0
- mov r0, r8
- lsls r0, 24
- str r0, [sp, 0x14]
- lsls r0, r6, 16
- asrs r0, 16
- mov r8, r0
- lsls r3, 16
- str r3, [sp, 0xC]
- asrs r2, r3, 16
- str r2, [sp, 0x10]
-_0809A036:
- movs r3, 0
- adds r0, r4, 0
- adds r0, 0x40
- str r0, [sp, 0x18]
- adds r2, r7, 0
- adds r2, 0x40
- str r2, [sp, 0x1C]
- adds r1, 0x1
- mov r10, r1
- cmp r3, r8
- bge _0809A07A
- ldr r0, _0809A0D4 @ =0x00000fff
- mov r12, r0
- movs r6, 0xF0
- lsls r6, 8
-_0809A054:
- ldrh r2, [r5]
- mov r0, r12
- ands r0, r2
- ldr r1, [sp]
- adds r0, r1, r0
- adds r1, r6, 0
- ands r1, r2
- ldr r2, [sp, 0x4]
- adds r1, r2, r1
- orrs r1, r0
- lsls r0, r3, 1
- adds r0, r4
- strh r1, [r0]
- adds r5, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r8
- blt _0809A054
-_0809A07A:
- movs r3, 0
- ldr r0, [sp, 0x10]
- cmp r3, r0
- bge _0809A0B4
- ldr r1, _0809A0D4 @ =0x00000fff
- mov r12, r1
- movs r6, 0xF0
- lsls r6, 8
- ldr r2, [sp, 0xC]
- asrs r4, r2, 16
-_0809A08E:
- ldrh r2, [r5]
- mov r0, r12
- ands r0, r2
- ldr r1, [sp]
- adds r0, r1, r0
- adds r1, r6, 0
- ands r1, r2
- ldr r2, [sp, 0x4]
- adds r1, r2, r1
- orrs r1, r0
- lsls r0, r3, 1
- adds r0, r7
- strh r1, [r0]
- adds r5, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- blt _0809A08E
-_0809A0B4:
- ldr r4, [sp, 0x18]
- ldr r7, [sp, 0x1C]
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- cmp r1, 0x11
- bls _0809A036
- ldr r0, [sp, 0x14]
- asrs r2, r0, 24
- cmp r2, 0
- beq _0809A13A
- cmp r2, 0
- ble _0809A0D8
- ldr r1, [sp, 0x8]
- adds r1, 0x14
- b _0809A0DC
- .align 2, 0
-_0809A0D4: .4byte 0x00000fff
-_0809A0D8:
- ldr r1, [sp, 0x8]
- subs r1, 0x4
-_0809A0DC:
- movs r0, 0x3F
- ands r1, r0
- adds r4, r1, 0
- adds r0, r4, 0
- cmp r0, 0x1F
- bgt _0809A0EE
- lsls r0, 1
- adds r0, 0x80
- b _0809A0F6
-_0809A0EE:
- lsls r0, 1
- movs r2, 0x84
- lsls r2, 4
- adds r0, r2
-_0809A0F6:
- mov r1, r9
- adds r2, r1, r0
- movs r3, 0
- movs r6, 0
-_0809A0FE:
- movs r1, 0
- adds r5, r3, 0x1
- lsls r3, r4, 16
-_0809A104:
- strh r6, [r2]
- adds r2, 0x40
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x11
- bls _0809A104
- asrs r0, r3, 16
- adds r4, r0, 0x1
- movs r0, 0x3F
- ands r4, r0
- adds r0, r4, 0
- cmp r0, 0x1F
- bgt _0809A126
- lsls r0, 1
- adds r0, 0x80
- b _0809A12E
-_0809A126:
- lsls r0, 1
- movs r2, 0x84
- lsls r2, 4
- adds r0, r2
-_0809A12E:
- mov r1, r9
- adds r2, r1, r0
- lsls r0, r5, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0809A0FE
-_0809A13A:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099F58
-
- thumb_func_start sub_809A14C
-sub_809A14C: @ 809A14C
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, _0809A174 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809A178 @ =0x000008b4
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 3
- adds r3, r0, 0
- adds r3, 0x1E
- movs r0, 0x3F
- ands r3, r0
- adds r0, r3, 0
- cmp r0, 0x1F
- bgt _0809A17C
- lsls r0, 1
- movs r6, 0x98
- lsls r6, 3
- adds r0, r6
- b _0809A184
- .align 2, 0
-_0809A174: .4byte gUnknown_083B6DB4
-_0809A178: .4byte 0x000008b4
-_0809A17C:
- lsls r0, 1
- movs r1, 0xC8
- lsls r1, 4
- adds r0, r1
-_0809A184:
- adds r2, r0
- movs r0, 0
- movs r5, 0
- movs r4, 0x3F
-_0809A18C:
- strh r5, [r2]
- adds r2, 0x2
- adds r3, 0x1
- ands r3, r4
- adds r1, r3, 0
- cmp r1, 0
- bne _0809A19E
- ldr r6, _0809A1B8 @ =0xfffff7c0
- adds r2, r6
-_0809A19E:
- cmp r1, 0x20
- bne _0809A1A8
- movs r1, 0xF8
- lsls r1, 3
- adds r2, r1
-_0809A1A8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _0809A18C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A1B8: .4byte 0xfffff7c0
- thumb_func_end sub_809A14C
-
- thumb_func_start sub_809A1BC
-sub_809A1BC: @ 809A1BC
- push {r4-r6,lr}
- sub sp, 0x8
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _0809A228 @ =gUnknown_083B6DB8
- ldr r5, [r0]
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, _0809A22C @ =0x040000d4
- str r1, [r4]
- str r5, [r4, 0x4]
- movs r6, 0x80
- lsls r6, 1
- ldr r0, _0809A230 @ =0x81000100
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0809A234 @ =gWindowTemplate_81E6D38
- adds r1, r5, 0
- str r3, [sp, 0x4]
- bl Text_InitWindow8004E3C
- str r5, [r4]
- ldr r3, [sp, 0x4]
- str r3, [r4, 0x4]
- ldr r1, _0809A238 @ =0x80000040
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r0, r5, r6
- str r0, [r4]
- adds r0, r3, 0
- adds r0, 0x80
- str r0, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r0, r5, 0
- adds r0, 0x80
- str r0, [r4]
- adds r6, r3, r6
- str r6, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- adds r5, r0
- str r5, [r4]
- adds r3, r0
- str r3, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A228: .4byte gUnknown_083B6DB8
-_0809A22C: .4byte 0x040000d4
-_0809A230: .4byte 0x81000100
-_0809A234: .4byte gWindowTemplate_81E6D38
-_0809A238: .4byte 0x80000040
- thumb_func_end sub_809A1BC
-
- thumb_func_start sub_809A23C
-sub_809A23C: @ 809A23C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _0809A384 @ =gUnknown_083B6DB4
- ldr r5, [r0]
- ldr r1, _0809A388 @ =0x000008ca
- adds r7, r5, r1
- str r7, [sp, 0x18]
- mov r2, sp
- adds r2, 0x18
- str r2, [sp, 0x20]
- ldr r0, _0809A38C @ =0x00030200
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r3, _0809A390 @ =0x00000ccc
- adds r0, r5, r3
- str r0, [sp]
- ldr r4, _0809A394 @ =0x0000dac8
- strh r4, [r1, 0x4]
- str r0, [sp, 0x8]
- ldr r6, _0809A398 @ =0xffffdac9
- strh r6, [r1, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x8
- bl memset
- ldr r0, _0809A39C @ =gPokemonStorage
- mov r9, r0
- ldr r0, _0809A3A0 @ =0x000083c2
- add r0, r9
- add r0, r8
- ldrb r1, [r0]
- ldr r2, _0809A3A4 @ =gUnknown_083BB0A8
- lsls r1, 2
- adds r0, r1, r2
- ldrh r3, [r0]
- ldr r6, _0809A3A8 @ =0x00000ce8
- adds r0, r5, r6
- strh r3, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrh r1, [r1]
- ldr r2, _0809A3AC @ =0x00000cea
- adds r0, r5, r2
- strh r1, [r0]
- mov r0, sp
- bl LoadSpritePalettes
- ldr r3, _0809A3B0 @ =0x00000d08
- adds r6, r5, r3
- movs r0, 0xFC
- lsls r0, 2
- str r0, [r6]
- adds r0, r4, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- movs r2, 0x87
- lsls r2, 1
- mov r10, r2
- add r1, r10
- ldr r3, _0809A3B4 @ =0x00000cec
- adds r2, r5, r3
- strh r1, [r2]
- movs r4, 0x80
- lsls r4, 9
- adds r1, r4, 0
- lsls r1, r0
- ldr r0, [r6]
- orrs r0, r1
- str r0, [r6]
- ldr r0, _0809A3B8 @ =0x0000dac9
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- add r1, r10
- ldr r2, _0809A3BC @ =0x00000cee
- adds r5, r2
- strh r1, [r5]
- lsls r4, r0
- ldr r0, [r6]
- orrs r0, r4
- str r0, [r6]
- mov r3, r8
- lsls r4, r3, 3
- add r4, r8
- ldr r6, _0809A3C0 @ =0x00008344
- add r9, r6
- add r4, r9
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_809A1BC
- ldr r0, [sp, 0x20]
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl sub_8072CA4
- lsls r0, 24
- lsrs r0, 24
- bl sub_809A6D0
- movs r4, 0
- lsls r0, 16
- asrs r6, r0, 16
-_0809A328:
- lsls r1, r4, 5
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0809A3C4 @ =gSpriteTemplate_83BB2B8
- movs r2, 0x1C
- movs r3, 0x17
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _0809A384 @ =gUnknown_083B6DB4
- ldr r5, [r0]
- lsls r0, r4, 2
- movs r3, 0xCF
- lsls r3, 4
- adds r2, r5, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809A3C8 @ =gSprites
- adds r0, r1
- str r0, [r2]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _0809A328
- ldr r6, _0809A3CC @ =0x00000cca
- adds r1, r5, r6
- movs r0, 0
- strb r0, [r1]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A384: .4byte gUnknown_083B6DB4
-_0809A388: .4byte 0x000008ca
-_0809A38C: .4byte 0x00030200
-_0809A390: .4byte 0x00000ccc
-_0809A394: .4byte 0x0000dac8
-_0809A398: .4byte 0xffffdac9
-_0809A39C: .4byte gPokemonStorage
-_0809A3A0: .4byte 0x000083c2
-_0809A3A4: .4byte gUnknown_083BB0A8
-_0809A3A8: .4byte 0x00000ce8
-_0809A3AC: .4byte 0x00000cea
-_0809A3B0: .4byte 0x00000d08
-_0809A3B4: .4byte 0x00000cec
-_0809A3B8: .4byte 0x0000dac9
-_0809A3BC: .4byte 0x00000cee
-_0809A3C0: .4byte 0x00008344
-_0809A3C4: .4byte gSpriteTemplate_83BB2B8
-_0809A3C8: .4byte gSprites
-_0809A3CC: .4byte 0x00000cca
- thumb_func_end sub_809A23C
-
- thumb_func_start sub_809A3D0
-sub_809A3D0: @ 809A3D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r3, _0809A43C @ =gUnknown_083B6DB4
- ldr r5, [r3]
- ldr r1, _0809A440 @ =0x000008ca
- adds r0, r5, r1
- str r0, [sp, 0x18]
- add r2, sp, 0x18
- ldr r4, _0809A444 @ =0x0000ffff
- mov r9, r4
- movs r6, 0xC0
- lsls r6, 10
- mov r8, r6
- ldr r0, _0809A448 @ =0x00030200
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r0, _0809A44C @ =gSpriteTemplate_83BB2B8
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- movs r1, 0
- ldr r7, _0809A450 @ =0x00000cca
- adds r4, r5, r7
- ldrb r0, [r4]
- adds r6, r2, 0
- cmp r0, 0
- bne _0809A41E
- movs r1, 0x1
-_0809A41E:
- strb r1, [r4]
- cmp r1, 0
- bne _0809A458
- ldr r0, [r6, 0x4]
- mov r1, r9
- ands r0, r1
- mov r4, r8
- orrs r0, r4
- str r0, [r6, 0x4]
- ldr r7, _0809A454 @ =0x00000cec
- adds r0, r5, r7
- ldrh r0, [r0]
- mov r8, r0
- b _0809A478
- .align 2, 0
-_0809A43C: .4byte gUnknown_083B6DB4
-_0809A440: .4byte 0x000008ca
-_0809A444: .4byte 0x0000ffff
-_0809A448: .4byte 0x00030200
-_0809A44C: .4byte gSpriteTemplate_83BB2B8
-_0809A450: .4byte 0x00000cca
-_0809A454: .4byte 0x00000cec
-_0809A458:
- ldr r0, [r6, 0x4]
- mov r1, r9
- ands r0, r1
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r6, 0x4]
- ldr r4, _0809A570 @ =0x00000cec
- adds r0, r5, r4
- ldrh r0, [r0]
- mov r8, r0
- mov r1, sp
- movs r0, 0x4
- strh r0, [r1]
- ldr r0, _0809A574 @ =0x0000dac9
- strh r0, [r1, 0x2]
-_0809A478:
- ldr r0, [r3]
- ldr r7, _0809A578 @ =0x000008ca
- adds r0, r7
- ldr r1, [sp, 0x28]
- lsls r5, r1, 3
- adds r5, r1
- ldr r4, _0809A57C @ =gPokemonStorage + 0x8344
- adds r5, r4
- adds r1, r5, 0
- bl sub_809A1BC
- adds r0, r6, 0
- bl LoadSpriteSheet
- adds r4, 0x7E
- ldr r3, [sp, 0x28]
- adds r4, r3, r4
- ldrb r0, [r4]
- lsls r0, 2
- ldr r1, _0809A580 @ =gUnknown_083BB0A8
- adds r0, r1
- mov r1, r8
- movs r2, 0x4
- bl LoadPalette
- adds r0, r5, 0
- bl sub_8072CA4
- lsls r0, 24
- lsrs r0, 24
- bl sub_809A6D0
- lsls r0, 16
- mov r4, r10
- lsls r2, r4, 24
- asrs r2, 24
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 6
- lsrs r6, r0, 16
- str r6, [sp, 0x20]
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x24]
- movs r7, 0
- negs r2, r2
- mov r9, r2
- movs r0, 0x1
- mov r10, r0
-_0809A4DE:
- lsls r1, r7, 5
- mov r8, r1
- ldr r3, [sp, 0x24]
- lsls r1, r3, 16
- asrs r1, 16
- add r1, r8
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x1C
- movs r3, 0x17
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809A584 @ =gUnknown_083B6DB4
- ldr r4, [r1]
- lsls r6, r7, 2
- ldr r1, _0809A588 @ =0x00000cf8
- adds r2, r4, r1
- adds r2, r6
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809A58C @ =gSprites
- adds r1, r0
- str r1, [r2]
- mov r3, r9
- lsls r5, r3, 1
- add r5, r9
- lsls r5, 1
- strh r5, [r1, 0x2E]
- ldr r1, [r2]
- ldr r3, [sp, 0x20]
- lsls r0, r3, 16
- asrs r0, 16
- add r0, r8
- strh r0, [r1, 0x30]
- ldr r0, [r2]
- mov r1, r10
- strh r1, [r0, 0x32]
- ldr r0, [r2]
- ldr r1, _0809A590 @ =sub_809A5E8
- str r1, [r0, 0x1C]
- lsls r1, r7, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r3, 0xCF
- lsls r3, 4
- adds r4, r3
- adds r4, r6
- ldr r0, [r4]
- strh r5, [r0, 0x2E]
- ldr r0, [r4]
- mov r6, r10
- strh r6, [r0, 0x30]
- ldr r1, [r4]
- ldr r0, _0809A594 @ =sub_809A61C
- str r0, [r1, 0x1C]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _0809A4DE
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A570: .4byte 0x00000cec
-_0809A574: .4byte 0x0000dac9
-_0809A578: .4byte 0x000008ca
-_0809A57C: .4byte gPokemonStorage + 0x8344
-_0809A580: .4byte gUnknown_083BB0A8
-_0809A584: .4byte gUnknown_083B6DB4
-_0809A588: .4byte 0x00000cf8
-_0809A58C: .4byte gSprites
-_0809A590: .4byte sub_809A5E8
-_0809A594: .4byte sub_809A61C
- thumb_func_end sub_809A3D0
-
- thumb_func_start sub_809A598
-sub_809A598: @ 809A598
- push {lr}
- ldr r0, _0809A5B0 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809A5B4 @ =0x00000cca
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809A5B8
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- b _0809A5BE
- .align 2, 0
-_0809A5B0: .4byte gUnknown_083B6DB4
-_0809A5B4: .4byte 0x00000cca
-_0809A5B8:
- movs r0, 0x3
- bl FreeSpriteTilesByTag
-_0809A5BE:
- ldr r0, _0809A5E0 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r3, 0xCF
- lsls r3, 4
- adds r2, r0, r3
- adds r3, 0x8
- adds r1, r0, r3
- ldr r1, [r1]
- str r1, [r2]
- ldr r2, _0809A5E4 @ =0x00000cf4
- adds r1, r0, r2
- adds r3, 0x4
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0809A5E0: .4byte gUnknown_083B6DB4
-_0809A5E4: .4byte 0x00000cf4
- thumb_func_end sub_809A598
-
- thumb_func_start sub_809A5E8
-sub_809A5E8: @ 809A5E8
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x32]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _0809A5FC
- subs r0, r1, 0x1
- strh r0, [r2, 0x32]
- b _0809A614
-_0809A5FC:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x30
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _0809A614
- ldr r0, _0809A618 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_0809A614:
- pop {r0}
- bx r0
- .align 2, 0
-_0809A618: .4byte SpriteCallbackDummy
- thumb_func_end sub_809A5E8
-
- thumb_func_start sub_809A61C
-sub_809A61C: @ 809A61C
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _0809A630
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- b _0809A64E
-_0809A630:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x32]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC0
- bls _0809A64E
- adds r0, r2, 0
- bl DestroySprite
-_0809A64E:
- pop {r0}
- bx r0
- thumb_func_end sub_809A61C
-
- thumb_func_start sub_809A654
-sub_809A654: @ 809A654
- push {lr}
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809A690 @ =gPokemonStorage
- ldr r2, _0809A694 @ =0x000083c2
- adds r1, r2
- adds r0, r1
- ldrb r1, [r0]
- ldr r0, _0809A698 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r3, _0809A69C @ =0x00000cca
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809A6A8
- lsls r0, r1, 2
- ldr r1, _0809A6A0 @ =gUnknown_083BB0A8
- adds r0, r1
- adds r3, 0x22
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, _0809A6A4 @ =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
- b _0809A6C0
- .align 2, 0
-_0809A690: .4byte gPokemonStorage
-_0809A694: .4byte 0x000083c2
-_0809A698: .4byte gUnknown_083B6DB4
-_0809A69C: .4byte 0x00000cca
-_0809A6A0: .4byte gUnknown_083BB0A8
-_0809A6A4: .4byte gPlttBufferUnfaded
-_0809A6A8:
- lsls r0, r1, 2
- ldr r1, _0809A6C4 @ =gUnknown_083BB0A8
- adds r0, r1
- ldr r3, _0809A6C8 @ =0x00000cee
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, _0809A6CC @ =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
-_0809A6C0:
- pop {r0}
- bx r0
- .align 2, 0
-_0809A6C4: .4byte gUnknown_083BB0A8
-_0809A6C8: .4byte 0x00000cee
-_0809A6CC: .4byte gPlttBufferUnfaded
- thumb_func_end sub_809A654
-
- thumb_func_start sub_809A6D0
-sub_809A6D0: @ 809A6D0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- movs r0, 0xB0
- subs r0, r1
- bx lr
- thumb_func_end sub_809A6D0
-
- thumb_func_start sub_809A6DC
-sub_809A6DC: @ 809A6DC
- push {r4,r5,lr}
- ldr r0, _0809A760 @ =gUnknown_083BB288
- bl LoadSpriteSheet
- ldr r0, _0809A764 @ =gUnknown_083BB290
- bl LoadSpritePalette
- movs r5, 0
-_0809A6EC:
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 19
- movs r0, 0xB8
- lsls r0, 15
- adds r1, r0
- asrs r1, 16
- ldr r0, _0809A768 @ =gSpriteTemplate_83BB2F0
- movs r2, 0x1C
- movs r3, 0x15
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0809A73E
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809A76C @ =gSprites
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0x1
- cmp r5, 0
- bne _0809A72C
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809A72C:
- strh r0, [r4, 0x34]
- ldr r0, _0809A770 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- lsls r1, r5, 2
- movs r2, 0xD0
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- str r4, [r0]
-_0809A73E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0809A6EC
- bl sub_809BF2C
- lsls r0, 24
- cmp r0, 0
- beq _0809A758
- movs r0, 0x1
- bl sub_809A860
-_0809A758:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A760: .4byte gUnknown_083BB288
-_0809A764: .4byte gUnknown_083BB290
-_0809A768: .4byte gSpriteTemplate_83BB2F0
-_0809A76C: .4byte gSprites
-_0809A770: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809A6DC
-
- thumb_func_start sub_809A774
-sub_809A774: @ 809A774
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r2, 0
- ldr r7, _0809A7C4 @ =gUnknown_083B6DB4
- ldr r0, [r7]
- movs r1, 0xD0
- lsls r1, 4
- adds r3, r0, r1
- movs r5, 0
- movs r4, 0x2
-_0809A78A:
- lsls r1, r2, 2
- adds r1, r3, r1
- ldr r0, [r1]
- strh r5, [r0, 0x24]
- ldr r0, [r1]
- strh r4, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _0809A78A
- lsls r0, r6, 24
- cmp r0, 0
- bge _0809A7CC
- ldr r1, [r7]
- movs r2, 0xD0
- lsls r2, 4
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, _0809A7C8 @ =0x00000d04
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0x48
- b _0809A7E8
- .align 2, 0
-_0809A7C4: .4byte gUnknown_083B6DB4
-_0809A7C8: .4byte 0x00000d04
-_0809A7CC:
- ldr r1, [r7]
- movs r2, 0xD0
- lsls r2, 4
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, _0809A80C @ =0x00000d04
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0xF8
-_0809A7E8:
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- strh r2, [r0, 0x32]
- ldr r1, [r7]
- movs r2, 0xD0
- lsls r2, 4
- adds r0, r1, r2
- ldr r2, [r0]
- movs r0, 0
- strh r0, [r2, 0x3C]
- ldr r0, _0809A80C @ =0x00000d04
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x1
- strh r0, [r1, 0x3C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A80C: .4byte 0x00000d04
- thumb_func_end sub_809A774
-
- thumb_func_start sub_809A810
-sub_809A810: @ 809A810
- push {r4-r6,lr}
- movs r3, 0
- ldr r0, _0809A85C @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0xD0
- lsls r1, 4
- adds r4, r0, r1
- movs r5, 0
- movs r6, 0x5
- negs r6, r6
-_0809A824:
- lsls r1, r3, 2
- adds r1, r4, r1
- ldr r2, [r1]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 3
- adds r0, 0x5C
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- strh r5, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _0809A824
- movs r0, 0x1
- bl sub_809A860
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A85C: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809A810
-
- thumb_func_start sub_809A860
-sub_809A860: @ 809A860
- push {r4,r5,lr}
- lsls r0, 24
- cmp r0, 0
- beq _0809A89C
- movs r2, 0
- ldr r0, _0809A898 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0xD0
- lsls r1, 4
- adds r4, r0, r1
- movs r3, 0
- movs r5, 0x1
-_0809A878:
- lsls r1, r2, 2
- adds r1, r4, r1
- ldr r0, [r1]
- strh r5, [r0, 0x2E]
- ldr r0, [r1]
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- strh r3, [r0, 0x32]
- ldr r0, [r1]
- strh r3, [r0, 0x36]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _0809A878
- b _0809A8BC
- .align 2, 0
-_0809A898: .4byte gUnknown_083B6DB4
-_0809A89C:
- movs r2, 0
- ldr r0, _0809A8C4 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r3, 0xD0
- lsls r3, 4
- adds r1, r0, r3
- movs r3, 0
-_0809A8AA:
- lsls r0, r2, 2
- adds r0, r1, r0
- ldr r0, [r0]
- strh r3, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _0809A8AA
-_0809A8BC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A8C4: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809A860
-
- thumb_func_start sub_809A8C8
-sub_809A8C8: @ 809A8C8
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bhi _0809A994
- lsls r0, 2
- ldr r1, _0809A8E0 @ =_0809A8E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A8E0: .4byte _0809A8E4
- .align 2, 0
-_0809A8E4:
- .4byte _0809A8F8
- .4byte _0809A8FE
- .4byte _0809A92C
- .4byte _0809A932
- .4byte _0809A984
-_0809A8F8:
- movs r0, 0
- strh r0, [r2, 0x24]
- b _0809A994
-_0809A8FE:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0809A994
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- ldrh r3, [r2, 0x24]
- adds r0, r3
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _0809A994
- strh r1, [r2, 0x32]
- strh r1, [r2, 0x24]
- b _0809A994
-_0809A92C:
- movs r0, 0x3
- strh r0, [r2, 0x2E]
- b _0809A994
-_0809A932:
- ldr r0, _0809A97C @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r0, _0809A980 @ =0x000008b6
- adds r1, r0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2, 0x20]
- subs r0, 0x49
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAE
- bls _0809A958
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
-_0809A958:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _0809A994
- ldrh r0, [r2, 0x32]
- strh r0, [r2, 0x20]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x4
- strh r0, [r2, 0x2E]
- b _0809A994
- .align 2, 0
-_0809A97C: .4byte gUnknown_083B6DB4
-_0809A980: .4byte 0x000008b6
-_0809A984:
- ldr r0, _0809A998 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809A99C @ =0x000008b6
- adds r0, r1
- ldrh r1, [r2, 0x20]
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r2, 0x20]
-_0809A994:
- pop {r0}
- bx r0
- .align 2, 0
-_0809A998: .4byte gUnknown_083B6DB4
-_0809A99C: .4byte 0x000008b6
- thumb_func_end sub_809A8C8
-
- thumb_func_start sub_809A9A0
-sub_809A9A0: @ 809A9A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, [sp, 0x18]
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0809AA0C @ =gSpriteTemplate_83BB2F0
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0809AA18
- movs r1, 0x1
- ands r1, r7
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, _0809AA10 @ =gSprites
- adds r6, r4, r5
- adds r0, r6, 0
- bl StartSpriteAnim
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x5]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _0809AA14 @ =SpriteCallbackDummy
- str r0, [r4]
- adds r0, r6, 0
- b _0809AA1A
- .align 2, 0
-_0809AA0C: .4byte gSpriteTemplate_83BB2F0
-_0809AA10: .4byte gSprites
-_0809AA14: .4byte SpriteCallbackDummy
-_0809AA18:
- movs r0, 0
-_0809AA1A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809A9A0
-
- thumb_func_start sub_809AA24
-sub_809AA24: @ 809AA24
- push {lr}
- ldr r0, _0809AA38 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- cmp r1, 0x1
- beq _0809AA40
- ldr r1, _0809AA3C @ =gUnknown_020384E4
- movs r0, 0
- strb r0, [r1]
- b _0809AA44
- .align 2, 0
-_0809AA38: .4byte gUnknown_083B6DB4
-_0809AA3C: .4byte gUnknown_020384E4
-_0809AA40:
- ldr r0, _0809AA78 @ =gUnknown_020384E4
- strb r1, [r0]
-_0809AA44:
- ldr r0, _0809AA7C @ =gUnknown_020384E5
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0809AA80 @ =gUnknown_020384E6
- strb r1, [r0]
- ldr r0, _0809AA84 @ =gUnknown_020384E7
- strb r1, [r0]
- ldr r0, _0809AA88 @ =gUnknown_020384E8
- strb r1, [r0]
- ldr r0, _0809AA8C @ =gUnknown_020384E9
- strb r1, [r0]
- bl sub_809B0D4
- bl sub_809CC04
- ldr r0, _0809AA90 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809AA94 @ =0x000011e2
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bl sub_809BF74
- pop {r0}
- bx r0
- .align 2, 0
-_0809AA78: .4byte gUnknown_020384E4
-_0809AA7C: .4byte gUnknown_020384E5
-_0809AA80: .4byte gUnknown_020384E6
-_0809AA84: .4byte gUnknown_020384E7
-_0809AA88: .4byte gUnknown_020384E8
-_0809AA8C: .4byte gUnknown_020384E9
-_0809AA90: .4byte gUnknown_083B6DB4
-_0809AA94: .4byte 0x000011e2
- thumb_func_end sub_809AA24
-
- thumb_func_start sub_809AA98
-sub_809AA98: @ 809AA98
- push {lr}
- bl sub_809CC04
- bl sub_809C028
- ldr r0, _0809AAC0 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809AAC4 @ =0x000011e2
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _0809AAC8 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809AABA
- bl sub_8098BF0
-_0809AABA:
- pop {r0}
- bx r0
- .align 2, 0
-_0809AAC0: .4byte gUnknown_083B6DB4
-_0809AAC4: .4byte 0x000011e2
-_0809AAC8: .4byte gUnknown_020384E6
- thumb_func_end sub_809AA98
-
- thumb_func_start sub_809AACC
-sub_809AACC: @ 809AACC
- push {r4-r6,lr}
- adds r4, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x4
- bhi _0809AB84
- lsls r0, 2
- ldr r1, _0809AAE8 @ =_0809AAEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809AAE8: .4byte _0809AAEC
- .align 2, 0
-_0809AAEC:
- .4byte _0809AB00
- .4byte _0809AB2E
- .4byte _0809AB56
- .4byte _0809AB5E
- .4byte _0809AB7C
-_0809AB00:
- adds r0, r5, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x64
- strh r1, [r4]
- adds r0, r5, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x20
- strh r1, [r6]
- b _0809AB84
-_0809AB2E:
- cmp r5, 0
- bne _0809AB3A
- movs r0, 0x68
- strh r0, [r4]
- movs r0, 0x34
- b _0809AB82
-_0809AB3A:
- cmp r5, 0x6
- bne _0809AB46
- movs r0, 0x98
- strh r0, [r4]
- movs r0, 0x84
- b _0809AB82
-_0809AB46:
- movs r0, 0x98
- strh r0, [r4]
- subs r1, r5, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- b _0809AB82
-_0809AB56:
- movs r0, 0xA2
- strh r0, [r4]
- movs r0, 0xC
- b _0809AB82
-_0809AB5E:
- ldr r0, _0809AB78 @ =gUnknown_020384E6
- ldrb r0, [r0]
- movs r1, 0xE
- cmp r0, 0
- beq _0809AB6A
- movs r1, 0x8
-_0809AB6A:
- strh r1, [r6]
- movs r0, 0x58
- muls r0, r5
- adds r0, 0x78
- strh r0, [r4]
- b _0809AB84
- .align 2, 0
-_0809AB78: .4byte gUnknown_020384E6
-_0809AB7C:
- movs r0, 0xA0
- strh r0, [r4]
- movs r0, 0x60
-_0809AB82:
- strh r0, [r6]
-_0809AB84:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809AACC
-
- thumb_func_start sub_809AB8C
-sub_809AB8C: @ 809AB8C
- push {lr}
- ldr r0, _0809ABB4 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809ABC0
- cmp r0, 0x1
- bne _0809ABF8
- ldr r0, _0809ABB8 @ =gUnknown_020384E5
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809ABBC @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- b _0809ABEA
- .align 2, 0
-_0809ABB4: .4byte gUnknown_020384E4
-_0809ABB8: .4byte gUnknown_020384E5
-_0809ABBC: .4byte gPlayerParty
-_0809ABC0:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _0809ABF0 @ =gUnknown_020384E5
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809ABF4 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- movs r1, 0xB
- bl GetBoxMonData
-_0809ABEA:
- lsls r0, 16
- lsrs r0, 16
- b _0809ABFA
- .align 2, 0
-_0809ABF0: .4byte gUnknown_020384E5
-_0809ABF4: .4byte gPokemonStorage + 0x4
-_0809ABF8:
- movs r0, 0
-_0809ABFA:
- pop {r1}
- bx r1
- thumb_func_end sub_809AB8C
-
- thumb_func_start sub_809AC00
-sub_809AC00: @ 809AC00
- push {r4-r6,lr}
- ldr r0, _0809AC14 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r0, _0809AC18 @ =0x000011dc
- adds r1, r4, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0809AC1C
- movs r0, 0
- b _0809AD2C
- .align 2, 0
-_0809AC14: .4byte gUnknown_083B6DB4
-_0809AC18: .4byte 0x000011dc
-_0809AC1C:
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0809AD0C
- ldr r1, _0809ACF4 @ =0x000011c8
- adds r3, r4, r1
- ldr r2, _0809ACF8 @ =0x000011d0
- adds r1, r4, r2
- ldr r0, [r3]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r3]
- ldr r6, _0809ACFC @ =0x000011cc
- adds r2, r4, r6
- ldr r0, _0809AD00 @ =0x000011d4
- adds r1, r4, r0
- ldr r0, [r2]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r2]
- movs r1, 0x8E
- lsls r1, 5
- adds r5, r4, r1
- ldr r1, [r5]
- ldr r0, [r3]
- asrs r0, 8
- strh r0, [r1, 0x20]
- ldr r1, [r5]
- ldr r0, [r2]
- asrs r0, 8
- strh r0, [r1, 0x22]
- ldr r1, [r5]
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x80
- lsls r3, 1
- cmp r0, r3
- ble _0809AC78
- ldr r6, _0809AD04 @ =0xffffff00
- adds r0, r2, r6
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x40
- strh r0, [r1, 0x20]
-_0809AC78:
- ldr r1, [r5]
- ldrh r2, [r1, 0x20]
- movs r6, 0x20
- ldrsh r0, [r1, r6]
- cmp r0, 0x3F
- bgt _0809AC90
- movs r0, 0x40
- subs r0, r2
- lsls r0, 16
- asrs r0, 16
- subs r0, r3, r0
- strh r0, [r1, 0x20]
-_0809AC90:
- ldr r1, [r5]
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0xB0
- ble _0809ACA8
- adds r0, r2, 0
- subs r0, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r0, 0x10
- strh r0, [r1, 0x22]
-_0809ACA8:
- ldr r2, [r5]
- ldrh r3, [r2, 0x22]
- movs r6, 0x22
- ldrsh r0, [r2, r6]
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _0809ACC4
- subs r0, r1, r3
- movs r1, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r2, 0x22]
-_0809ACC4:
- ldr r0, _0809AD08 @ =0x000011e3
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809AD2A
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _0809AD2A
- ldr r2, [r5]
- adds r2, 0x3F
- ldrb r3, [r2]
- lsrs r1, r3, 1
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 1
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _0809AD2A
- .align 2, 0
-_0809ACF4: .4byte 0x000011c8
-_0809ACF8: .4byte 0x000011d0
-_0809ACFC: .4byte 0x000011cc
-_0809AD00: .4byte 0x000011d4
-_0809AD04: .4byte 0xffffff00
-_0809AD08: .4byte 0x000011e3
-_0809AD0C:
- movs r1, 0x8E
- lsls r1, 5
- adds r2, r4, r1
- ldr r1, [r2]
- ldr r3, _0809AD34 @ =0x000011d8
- adds r0, r4, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- ldr r1, [r2]
- ldr r6, _0809AD38 @ =0x000011da
- adds r0, r4, r6
- ldrh r0, [r0]
- strh r0, [r1, 0x22]
- bl sub_809AFB8
-_0809AD2A:
- movs r0, 0x1
-_0809AD2C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AD34: .4byte 0x000011d8
-_0809AD38: .4byte 0x000011da
- thumb_func_end sub_809AC00
-
- thumb_func_start sub_809AD3C
-sub_809AD3C: @ 809AD3C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r6, sp
- adds r6, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl sub_809AACC
- ldr r0, _0809AD88 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- movs r2, 0x8F
- lsls r2, 5
- adds r0, r1, r2
- strb r4, [r0]
- ldr r3, _0809AD8C @ =0x000011e1
- adds r0, r1, r3
- strb r5, [r0]
- mov r0, sp
- ldrh r2, [r0]
- subs r3, 0x9
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r0, [r6]
- ldr r2, _0809AD90 @ =0x000011da
- adds r1, r2
- strh r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AD88: .4byte gUnknown_083B6DB4
-_0809AD8C: .4byte 0x000011e1
-_0809AD90: .4byte 0x000011da
- thumb_func_end sub_809AD3C
-
- thumb_func_start sub_809AD94
-sub_809AD94: @ 809AD94
- push {r4-r7,lr}
- ldr r0, _0809ADB0 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r3, _0809ADB4 @ =0x000011de
- adds r1, r2, r3
- ldrh r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- beq _0809ADBC
- ldr r0, _0809ADB8 @ =0x000011dc
- adds r1, r2, r0
- movs r0, 0xC
- b _0809ADC2
- .align 2, 0
-_0809ADB0: .4byte gUnknown_083B6DB4
-_0809ADB4: .4byte 0x000011de
-_0809ADB8: .4byte 0x000011dc
-_0809ADBC:
- ldr r3, _0809AE04 @ =0x000011dc
- adds r1, r2, r3
- movs r0, 0x6
-_0809ADC2:
- strh r0, [r1]
- ldr r2, [r4]
- ldr r0, _0809AE08 @ =0x000011e3
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809ADDA
- ldr r3, _0809AE04 @ =0x000011dc
- adds r0, r2, r3
- ldrh r0, [r0]
- lsrs r0, 1
- strb r0, [r1]
-_0809ADDA:
- ldr r1, _0809AE0C @ =0x000011de
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809AE14
- cmp r1, 0x1
- beq _0809AE30
- ldr r3, _0809AE10 @ =0x000011da
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- b _0809AE46
- .align 2, 0
-_0809AE04: .4byte 0x000011dc
-_0809AE08: .4byte 0x000011e3
-_0809AE0C: .4byte 0x000011de
-_0809AE10: .4byte 0x000011da
-_0809AE14:
- ldr r3, _0809AE2C @ =0x000011da
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _0809AE46
- .align 2, 0
-_0809AE2C: .4byte 0x000011da
-_0809AE30:
- ldr r3, _0809AE74 @ =0x000011da
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_0809AE46:
- subs r7, r1, r0
- ldr r2, [r4]
- ldr r3, _0809AE78 @ =0x000011df
- adds r0, r2, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809AE80
- cmp r1, 0x1
- beq _0809AE9C
- ldr r1, _0809AE7C @ =0x000011d8
- adds r0, r2, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- b _0809AEB2
- .align 2, 0
-_0809AE74: .4byte 0x000011da
-_0809AE78: .4byte 0x000011df
-_0809AE7C: .4byte 0x000011d8
-_0809AE80:
- ldr r3, _0809AE98 @ =0x000011d8
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _0809AEB2
- .align 2, 0
-_0809AE98: .4byte 0x000011d8
-_0809AE9C:
- ldr r3, _0809AF00 @ =0x000011d8
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_0809AEB2:
- subs r0, r1, r0
- lsls r7, 8
- lsls r0, 8
- ldr r4, [r4]
- ldr r3, _0809AF04 @ =0x000011d0
- adds r6, r4, r3
- ldr r1, _0809AF08 @ =0x000011dc
- adds r5, r4, r1
- ldrh r1, [r5]
- bl __divsi3
- str r0, [r6]
- ldr r2, _0809AF0C @ =0x000011d4
- adds r6, r4, r2
- ldrh r1, [r5]
- adds r0, r7, 0
- bl __divsi3
- str r0, [r6]
- ldr r3, _0809AF10 @ =0x000011c8
- adds r2, r4, r3
- movs r0, 0x8E
- lsls r0, 5
- adds r1, r4, r0
- ldr r0, [r1]
- movs r3, 0x20
- ldrsh r0, [r0, r3]
- lsls r0, 8
- str r0, [r2]
- ldr r0, _0809AF14 @ =0x000011cc
- adds r4, r0
- ldr r0, [r1]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- lsls r0, 8
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AF00: .4byte 0x000011d8
-_0809AF04: .4byte 0x000011d0
-_0809AF08: .4byte 0x000011dc
-_0809AF0C: .4byte 0x000011d4
-_0809AF10: .4byte 0x000011c8
-_0809AF14: .4byte 0x000011cc
- thumb_func_end sub_809AD94
-
- thumb_func_start sub_809AF18
-sub_809AF18: @ 809AF18
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_809AD3C
- bl sub_809AD94
- ldr r0, _0809AFA4 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809AF46
- ldr r0, _0809AFA8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
-_0809AF46:
- cmp r4, 0x1
- bne _0809AF70
- ldr r0, _0809AFAC @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _0809AF70
- ldr r0, _0809AFA8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r2, _0809AFB0 @ =0x000011e2
- adds r1, r0, r2
- strb r4, [r1]
- ldr r1, _0809AFB4 @ =0x000011c4
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_0809AF70:
- cmp r4, 0
- beq _0809AF9E
- cmp r4, 0
- blt _0809AF9E
- cmp r4, 0x3
- bgt _0809AF9E
- ldr r0, _0809AFA8 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r0, _0809AFB4 @ =0x000011c4
- adds r2, r0
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- ldr r2, [r2]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x5]
-_0809AF9E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AFA4: .4byte gUnknown_020384E6
-_0809AFA8: .4byte gUnknown_083B6DB4
-_0809AFAC: .4byte gUnknown_020384E4
-_0809AFB0: .4byte 0x000011e2
-_0809AFB4: .4byte 0x000011c4
- thumb_func_end sub_809AF18
-
- thumb_func_start sub_809AFB8
-sub_809AFB8: @ 809AFB8
- push {r4,r5,lr}
- ldr r5, _0809B000 @ =gUnknown_020384E4
- ldr r0, _0809B004 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- movs r1, 0x8F
- lsls r1, 5
- adds r0, r4, r1
- ldrb r0, [r0]
- strb r0, [r5]
- ldr r1, _0809B008 @ =gUnknown_020384E5
- ldr r2, _0809B00C @ =0x000011e1
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, _0809B010 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809AFEA
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_0809AFEA:
- bl sub_809BF74
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x1
- beq _0809B020
- cmp r0, 0x1
- bgt _0809B014
- cmp r0, 0
- beq _0809B034
- b _0809B05E
- .align 2, 0
-_0809B000: .4byte gUnknown_020384E4
-_0809B004: .4byte gUnknown_083B6DB4
-_0809B008: .4byte gUnknown_020384E5
-_0809B00C: .4byte 0x000011e1
-_0809B010: .4byte gUnknown_020384E6
-_0809B014:
- cmp r0, 0x2
- bne _0809B05E
- movs r0, 0x1
- bl sub_809A860
- b _0809B05E
-_0809B020:
- ldr r2, _0809B030 @ =0x000011c4
- adds r0, r4, r2
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0xC
- strb r1, [r0]
- b _0809B05E
- .align 2, 0
-_0809B030: .4byte 0x000011c4
-_0809B034:
- ldr r0, _0809B064 @ =0x000011c4
- adds r2, r4, r0
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- adds r0, 0x43
- movs r1, 0x14
- strb r1, [r0]
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0809B05E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B064: .4byte 0x000011c4
- thumb_func_end sub_809AFB8
-
- thumb_func_start sub_809B068
-sub_809B068: @ 809B068
- push {lr}
- ldr r0, _0809B078 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809B07C
- movs r3, 0
- b _0809B08A
- .align 2, 0
-_0809B078: .4byte gUnknown_020384E6
-_0809B07C:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- bls _0809B08A
- movs r3, 0x5
-_0809B08A:
- ldr r0, _0809B0B8 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809B0AA
- ldr r0, _0809B0BC @ =0x000011e3
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_0809B0AA:
- movs r0, 0x1
- adds r1, r3, 0
- bl sub_809AF18
- pop {r0}
- bx r0
- .align 2, 0
-_0809B0B8: .4byte gUnknown_083B6DB4
-_0809B0BC: .4byte 0x000011e3
- thumb_func_end sub_809B068
-
- thumb_func_start sub_809B0C0
-sub_809B0C0: @ 809B0C0
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_809AF18
- pop {r0}
- bx r0
- thumb_func_end sub_809B0C0
-
- thumb_func_start sub_809B0D4
-sub_809B0D4: @ 809B0D4
- ldr r1, _0809B0DC @ =gUnknown_020384EA
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0809B0DC: .4byte gUnknown_020384EA
- thumb_func_end sub_809B0D4
-
- thumb_func_start sub_809B0E0
-sub_809B0E0: @ 809B0E0
- ldr r0, _0809B0EC @ =gUnknown_020384EA
- ldr r1, _0809B0F0 @ =gUnknown_020384E5
- ldrb r1, [r1]
- strb r1, [r0]
- bx lr
- .align 2, 0
-_0809B0EC: .4byte gUnknown_020384EA
-_0809B0F0: .4byte gUnknown_020384E5
- thumb_func_end sub_809B0E0
-
- thumb_func_start sub_809B0F4
-sub_809B0F4: @ 809B0F4
- ldr r0, _0809B0FC @ =gUnknown_020384EA
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809B0FC: .4byte gUnknown_020384EA
- thumb_func_end sub_809B0F4
-
- thumb_func_start sub_809B100
-sub_809B100: @ 809B100
- lsls r0, 24
- ldr r1, _0809B120 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _0809B124 @ =0x000012a4
- adds r3, r1, r2
- ldr r2, _0809B128 @ =gUnknown_083BBBC8
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, _0809B12C @ =0x000012a8
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0809B120: .4byte gUnknown_083B6DB4
-_0809B124: .4byte 0x000012a4
-_0809B128: .4byte gUnknown_083BBBC8
-_0809B12C: .4byte 0x000012a8
- thumb_func_end sub_809B100
-
- thumb_func_start sub_809B130
-sub_809B130: @ 809B130
- push {lr}
- ldr r0, _0809B148 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809B14C @ =0x000012a4
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809B148: .4byte gUnknown_083B6DB4
-_0809B14C: .4byte 0x000012a4
- thumb_func_end sub_809B130
-
- thumb_func_start sub_809B150
-sub_809B150: @ 809B150
- push {r4,r5,lr}
- ldr r0, _0809B16C @ =gUnknown_083B6DB4
- ldr r5, [r0]
- ldr r0, _0809B170 @ =0x000012a8
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _0809B1A0
- cmp r0, 0x1
- bgt _0809B174
- cmp r0, 0
- beq _0809B17E
- b _0809B1CE
- .align 2, 0
-_0809B16C: .4byte gUnknown_083B6DB4
-_0809B170: .4byte 0x000012a8
-_0809B174:
- cmp r0, 0x2
- beq _0809B1BE
- cmp r0, 0x3
- beq _0809B186
- b _0809B1CE
-_0809B17E:
- ldr r0, _0809B18C @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809B190
-_0809B186:
- movs r0, 0
- b _0809B1D0
- .align 2, 0
-_0809B18C: .4byte gUnknown_020384E6
-_0809B190:
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- b _0809B1C8
-_0809B1A0:
- bl sub_809B324
- lsls r0, 24
- cmp r0, 0
- bne _0809B1CE
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- bl sub_809B384
- b _0809B1C8
-_0809B1BE:
- bl sub_809B358
- lsls r0, 24
- cmp r0, 0
- bne _0809B1CE
-_0809B1C8:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0809B1CE:
- movs r0, 0x1
-_0809B1D0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B150
-
- thumb_func_start sub_809B1D8
-sub_809B1D8: @ 809B1D8
- push {r4,r5,lr}
- ldr r0, _0809B1F4 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r0, _0809B1F8 @ =0x000012a8
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _0809B220
- cmp r0, 0x1
- bgt _0809B1FC
- cmp r0, 0
- beq _0809B202
- b _0809B244
- .align 2, 0
-_0809B1F4: .4byte gUnknown_083B6DB4
-_0809B1F8: .4byte 0x000012a8
-_0809B1FC:
- cmp r0, 0x2
- beq _0809B240
- b _0809B244
-_0809B202:
- bl sub_809B324
- lsls r0, 24
- cmp r0, 0
- bne _0809B244
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- bl sub_809B3E0
- b _0809B238
-_0809B220:
- bl sub_809B358
- lsls r0, 24
- cmp r0, 0
- bne _0809B244
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_0809B238:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0809B244
-_0809B240:
- movs r0, 0
- b _0809B246
-_0809B244:
- movs r0, 0x1
-_0809B246:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B1D8
-
- thumb_func_start sub_809B24C
-sub_809B24C: @ 809B24C
- push {r4,r5,lr}
- ldr r0, _0809B268 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r0, _0809B26C @ =0x000012a8
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _0809B2E0
- cmp r0, 0x1
- bgt _0809B270
- cmp r0, 0
- beq _0809B276
- b _0809B31C
- .align 2, 0
-_0809B268: .4byte gUnknown_083B6DB4
-_0809B26C: .4byte 0x000012a8
-_0809B270:
- cmp r0, 0x2
- beq _0809B318
- b _0809B31C
-_0809B276:
- ldr r0, _0809B290 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809B298
- cmp r0, 0x1
- bne _0809B318
- ldr r2, _0809B294 @ =0x000012a9
- adds r1, r4, r2
- movs r0, 0xE
- b _0809B2A0
- .align 2, 0
-_0809B290: .4byte gUnknown_020384E4
-_0809B294: .4byte 0x000012a9
-_0809B298:
- bl get_preferred_box
- ldr r2, _0809B2D0 @ =0x000012a9
- adds r1, r4, r2
-_0809B2A0:
- strb r0, [r1]
- ldr r0, _0809B2D4 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r2, _0809B2D0 @ =0x000012a9
- adds r0, r4, r2
- ldrb r0, [r0]
- ldr r1, _0809B2D8 @ =gUnknown_020384E5
- ldrb r1, [r1]
- bl sub_80996B0
- ldr r0, _0809B2DC @ =0x000012a8
- adds r4, r0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0809B31C
- .align 2, 0
-_0809B2D0: .4byte 0x000012a9
-_0809B2D4: .4byte gUnknown_083B6DB4
-_0809B2D8: .4byte gUnknown_020384E5
-_0809B2DC: .4byte 0x000012a8
-_0809B2E0:
- bl sub_809971C
- lsls r0, 24
- cmp r0, 0
- bne _0809B31C
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- ldr r2, _0809B310 @ =0x000012a9
- adds r0, r4, r2
- ldrb r0, [r0]
- ldr r1, _0809B314 @ =gUnknown_020384E5
- ldrb r1, [r1]
- bl diegohint1
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0809B31C
- .align 2, 0
-_0809B310: .4byte 0x000012a9
-_0809B314: .4byte gUnknown_020384E5
-_0809B318:
- movs r0, 0
- b _0809B31E
-_0809B31C:
- movs r0, 0x1
-_0809B31E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B24C
-
- thumb_func_start sub_809B324
-sub_809B324: @ 809B324
- push {lr}
- ldr r0, _0809B348 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0809B33E
- cmp r0, 0x8
- beq _0809B34C
-_0809B33E:
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _0809B350
- .align 2, 0
-_0809B348: .4byte gUnknown_083B6DB4
-_0809B34C:
- movs r0, 0
- b _0809B352
-_0809B350:
- movs r0, 0x1
-_0809B352:
- pop {r1}
- bx r1
- thumb_func_end sub_809B324
-
- thumb_func_start sub_809B358
-sub_809B358: @ 809B358
- push {lr}
- ldr r0, _0809B378 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0809B37C
- ldrh r0, [r1, 0x26]
- subs r0, 0x1
- strh r0, [r1, 0x26]
- movs r0, 0x1
- b _0809B37E
- .align 2, 0
-_0809B378: .4byte gUnknown_083B6DB4
-_0809B37C:
- movs r0, 0
-_0809B37E:
- pop {r1}
- bx r1
- thumb_func_end sub_809B358
-
- thumb_func_start sub_809B384
-sub_809B384: @ 809B384
- push {r4,lr}
- ldr r0, _0809B3AC @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809B3B4
- cmp r0, 0x1
- bne _0809B3D2
- ldr r4, _0809B3B0 @ =gUnknown_020384E5
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_809B44C
- ldrb r1, [r4]
- movs r0, 0
- bl sub_8099584
- b _0809B3CC
- .align 2, 0
-_0809B3AC: .4byte gUnknown_020384E4
-_0809B3B0: .4byte gUnknown_020384E5
-_0809B3B4:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _0809B3D8 @ =gUnknown_020384E5
- ldrb r1, [r4]
- bl sub_809B44C
- ldrb r1, [r4]
- movs r0, 0x1
- bl sub_8099584
-_0809B3CC:
- ldr r1, _0809B3DC @ =gUnknown_020384E6
- movs r0, 0x1
- strb r0, [r1]
-_0809B3D2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B3D8: .4byte gUnknown_020384E5
-_0809B3DC: .4byte gUnknown_020384E6
- thumb_func_end sub_809B384
-
- thumb_func_start sub_809B3E0
-sub_809B3E0: @ 809B3E0
- push {r4,r5,lr}
- ldr r0, _0809B408 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809B410
- cmp r0, 0x1
- bne _0809B432
- ldr r4, _0809B40C @ =gUnknown_020384E5
- ldrb r1, [r4]
- movs r0, 0xE
- bl diegohint2
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_809960C
- b _0809B42C
- .align 2, 0
-_0809B408: .4byte gUnknown_020384E4
-_0809B40C: .4byte gUnknown_020384E5
-_0809B410:
- bl get_preferred_box
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0809B438 @ =gUnknown_020384E5
- ldrb r1, [r5]
- adds r0, r4, 0
- bl diegohint2
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_809960C
-_0809B42C:
- ldr r1, _0809B43C @ =gUnknown_020384E6
- movs r0, 0
- strb r0, [r1]
-_0809B432:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B438: .4byte gUnknown_020384E5
-_0809B43C: .4byte gUnknown_020384E6
- thumb_func_end sub_809B3E0
-
- thumb_func_start sub_809B440
-sub_809B440: @ 809B440
- push {lr}
- bl sub_809BF74
- pop {r0}
- bx r0
- thumb_func_end sub_809B440
-
- thumb_func_start sub_809B44C
-sub_809B44C: @ 809B44C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r4, 0xE
- bne _0809B488
- ldr r0, _0809B478 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809B47C @ =0x000025b4
- adds r0, r1
- ldr r3, _0809B480 @ =gPlayerParty
- ldr r1, _0809B484 @ =gUnknown_020384E5
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- b _0809B4AA
- .align 2, 0
-_0809B478: .4byte gUnknown_083B6DB4
-_0809B47C: .4byte 0x000025b4
-_0809B480: .4byte gPlayerParty
-_0809B484: .4byte gUnknown_020384E5
-_0809B488:
- lsls r1, r4, 2
- adds r1, r4
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 4
- ldr r2, _0809B4C0 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- ldr r1, _0809B4C4 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _0809B4C8 @ =0x000025b4
- adds r1, r2
- bl sub_803B4B4
-_0809B4AA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809B548
- ldr r0, _0809B4CC @ =gUnknown_020384E7
- strb r4, [r0]
- ldr r0, _0809B4D0 @ =gUnknown_020384E8
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B4C0: .4byte gPokemonStorage + 0x4
-_0809B4C4: .4byte gUnknown_083B6DB4
-_0809B4C8: .4byte 0x000025b4
-_0809B4CC: .4byte gUnknown_020384E7
-_0809B4D0: .4byte gUnknown_020384E8
- thumb_func_end sub_809B44C
-
- thumb_func_start diegohint2
-diegohint2: @ 809B4D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r6, 0xE
- bne _0809B508
- ldr r1, _0809B4FC @ =gPlayerParty
- movs r0, 0x64
- muls r0, r5
- adds r0, r1
- ldr r1, _0809B500 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _0809B504 @ =0x000025b4
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _0809B536
- .align 2, 0
-_0809B4FC: .4byte gPlayerParty
-_0809B500: .4byte gUnknown_083B6DB4
-_0809B504: .4byte 0x000025b4
-_0809B508:
- ldr r0, _0809B53C @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r0, _0809B540 @ =0x000025b4
- adds r4, r0
- adds r0, r4, 0
- bl BoxMonRestorePP
- ldr r3, _0809B544 @ =gPokemonStorage
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 4
- lsls r2, r6, 2
- adds r2, r6
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 5
- adds r0, r1
- adds r0, r3
- adds r0, 0x4
- adds r1, r4, 0
- movs r2, 0x50
- bl memcpy
-_0809B536:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B53C: .4byte gUnknown_083B6DB4
-_0809B540: .4byte 0x000025b4
-_0809B544: .4byte gPokemonStorage
- thumb_func_end diegohint2
-
- thumb_func_start sub_809B548
-sub_809B548: @ 809B548
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r0, 0xE
- bne _0809B568
- movs r0, 0x64
- muls r0, r2
- ldr r1, _0809B564 @ =gPlayerParty
- adds r0, r1
- bl ZeroMonData
- b _0809B582
- .align 2, 0
-_0809B564: .4byte gPlayerParty
-_0809B568:
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809B588 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- bl ZeroBoxMonData
-_0809B582:
- pop {r0}
- bx r0
- .align 2, 0
-_0809B588: .4byte gPokemonStorage + 0x4
- thumb_func_end sub_809B548
-
- thumb_func_start diegohint1
-diegohint1: @ 809B58C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r5, 0xE
- bne _0809B5C0
- ldr r0, _0809B5B4 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809B5B8 @ =0x00002618
- adds r0, r1
- ldr r2, _0809B5BC @ =gPlayerParty
- movs r1, 0x64
- muls r1, r6
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _0809B5E2
- .align 2, 0
-_0809B5B4: .4byte gUnknown_083B6DB4
-_0809B5B8: .4byte 0x00002618
-_0809B5BC: .4byte gPlayerParty
-_0809B5C0:
- lsls r1, r5, 2
- adds r1, r5
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 4
- ldr r2, _0809B614 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- ldr r1, _0809B618 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _0809B61C @ =0x00002618
- adds r1, r2
- bl sub_803B4B4
-_0809B5E2:
- adds r0, r5, 0
- adds r1, r6, 0
- bl diegohint2
- ldr r0, _0809B618 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r0, _0809B620 @ =0x000025b4
- adds r4, r1, r0
- ldr r2, _0809B61C @ =0x00002618
- adds r1, r2
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- movs r1, 0
- bl sub_809C04C
- ldr r0, _0809B624 @ =gUnknown_020384E7
- strb r5, [r0]
- ldr r0, _0809B628 @ =gUnknown_020384E8
- strb r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B614: .4byte gPokemonStorage + 0x4
-_0809B618: .4byte gUnknown_083B6DB4
-_0809B61C: .4byte 0x00002618
-_0809B620: .4byte 0x000025b4
-_0809B624: .4byte gUnknown_020384E7
-_0809B628: .4byte gUnknown_020384E8
- thumb_func_end diegohint1
-
- thumb_func_start sub_809B62C
-sub_809B62C: @ 809B62C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl sub_8095B24
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0809B64A
- movs r0, 0
- b _0809B6AC
-_0809B64A:
- ldr r5, _0809B668 @ =gUnknown_020384E6
- ldrb r0, [r5]
- cmp r0, 0
- beq _0809B66C
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- bl sub_8099480
- movs r0, 0
- strb r0, [r5]
- b _0809B686
- .align 2, 0
-_0809B668: .4byte gUnknown_020384E6
-_0809B66C:
- ldr r5, _0809B6B4 @ =gUnknown_020384E5
- ldrb r1, [r5]
- movs r0, 0xE
- bl sub_809B44C
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- ldrb r0, [r5]
- bl sub_8099520
-_0809B686:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _0809B698
- lsrs r0, r4, 24
- bl sub_8098D20
-_0809B698:
- ldr r0, _0809B6B8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x1
-_0809B6AC:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809B6B4: .4byte gUnknown_020384E5
-_0809B6B8: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809B62C
-
- thumb_func_start sub_809B6BC
-sub_809B6BC: @ 809B6BC
- push {lr}
- ldr r0, _0809B6D8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- bl sub_809BF74
- pop {r0}
- bx r0
- .align 2, 0
-_0809B6D8: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809B6BC
-
- thumb_func_start sub_809B6DC
-sub_809B6DC: @ 809B6DC
- push {lr}
- ldr r0, _0809B6EC @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809B6F0
- movs r2, 0x2
- b _0809B700
- .align 2, 0
-_0809B6EC: .4byte gUnknown_020384E6
-_0809B6F0:
- ldr r0, _0809B720 @ =gUnknown_020384E4
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0x1
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r2, r0, 31
-_0809B700:
- ldr r0, _0809B724 @ =gUnknown_020384E5
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_809981C
- ldr r0, _0809B728 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r2, _0809B72C @ =0x000026e4
- adds r0, r1, r2
- ldr r2, _0809B730 @ =0x000011fa
- adds r1, r2
- bl StringCopy
- pop {r0}
- bx r0
- .align 2, 0
-_0809B720: .4byte gUnknown_020384E4
-_0809B724: .4byte gUnknown_020384E5
-_0809B728: .4byte gUnknown_083B6DB4
-_0809B72C: .4byte 0x000026e4
-_0809B730: .4byte 0x000011fa
- thumb_func_end sub_809B6DC
-
- thumb_func_start sub_809B734
-sub_809B734: @ 809B734
- push {lr}
- bl sub_80998D8
- lsls r0, 24
- cmp r0, 0
- beq _0809B744
- movs r0, 0x1
- b _0809B758
-_0809B744:
- ldr r0, _0809B75C @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0
-_0809B758:
- pop {r1}
- bx r1
- .align 2, 0
-_0809B75C: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809B734
-
- thumb_func_start sub_809B760
-sub_809B760: @ 809B760
- push {lr}
- bl sub_8099920
- ldr r1, _0809B774 @ =gUnknown_020384E6
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809B778
- movs r0, 0
- strb r0, [r1]
- b _0809B79E
- .align 2, 0
-_0809B774: .4byte gUnknown_020384E6
-_0809B778:
- ldr r0, _0809B788 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809B78C
- movs r2, 0xE
- b _0809B794
- .align 2, 0
-_0809B788: .4byte gUnknown_020384E4
-_0809B78C:
- bl get_preferred_box
- lsls r0, 24
- lsrs r2, r0, 24
-_0809B794:
- ldr r0, _0809B7A8 @ =gUnknown_020384E5
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_809B548
-_0809B79E:
- bl sub_809BF74
- pop {r0}
- bx r0
- .align 2, 0
-_0809B7A8: .4byte gUnknown_020384E5
- thumb_func_end sub_809B760
-
- thumb_func_start sub_809B7AC
-sub_809B7AC: @ 809B7AC
- push {lr}
- ldr r0, _0809B7CC @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809B7C8
- ldr r0, _0809B7D0 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
-_0809B7C8:
- pop {r0}
- bx r0
- .align 2, 0
-_0809B7CC: .4byte gUnknown_020384E6
-_0809B7D0: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809B7AC
-
- thumb_func_start sub_809B7D4
-sub_809B7D4: @ 809B7D4
- push {r4-r6,lr}
- ldr r0, _0809B804 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809B81C
- ldr r0, _0809B808 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r1, _0809B80C @ =0x00002618
- adds r0, r4, r1
- ldr r2, _0809B810 @ =0x000025b4
- adds r1, r4, r2
- movs r2, 0x64
- bl memcpy
- ldr r0, _0809B814 @ =0x00002682
- adds r1, r4, r0
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, _0809B818 @ =0x00002683
- adds r4, r1
- movs r0, 0x1
- negs r0, r0
- strb r0, [r4]
- b _0809B8A6
- .align 2, 0
-_0809B804: .4byte gUnknown_020384E6
-_0809B808: .4byte gUnknown_083B6DB4
-_0809B80C: .4byte 0x00002618
-_0809B810: .4byte 0x000025b4
-_0809B814: .4byte 0x00002682
-_0809B818: .4byte 0x00002683
-_0809B81C:
- ldr r0, _0809B84C @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809B864
- ldr r0, _0809B850 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r2, _0809B854 @ =0x00002618
- adds r0, r4, r2
- ldr r3, _0809B858 @ =gPlayerParty
- ldr r1, _0809B85C @ =gUnknown_020384E5
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- ldr r0, _0809B860 @ =0x00002682
- adds r4, r0
- movs r0, 0xE
- b _0809B896
- .align 2, 0
-_0809B84C: .4byte gUnknown_020384E4
-_0809B850: .4byte gUnknown_083B6DB4
-_0809B854: .4byte 0x00002618
-_0809B858: .4byte gPlayerParty
-_0809B85C: .4byte gUnknown_020384E5
-_0809B860: .4byte 0x00002682
-_0809B864:
- ldr r5, _0809B8FC @ =gPokemonStorage
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _0809B900 @ =gUnknown_020384E5
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- adds r2, r5, 0x4
- adds r1, r2
- adds r0, r1
- ldr r1, _0809B904 @ =gUnknown_083B6DB4
- ldr r4, [r1]
- ldr r2, _0809B908 @ =0x00002618
- adds r1, r4, r2
- bl sub_803B4B4
- ldrb r0, [r5]
- ldr r1, _0809B90C @ =0x00002682
- adds r4, r1
-_0809B896:
- strb r0, [r4]
- ldr r0, _0809B904 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809B900 @ =gUnknown_020384E5
- ldrb r1, [r1]
- ldr r2, _0809B910 @ =0x00002683
- adds r0, r2
- strb r1, [r0]
-_0809B8A6:
- ldr r0, _0809B904 @ =gUnknown_083B6DB4
- ldr r6, [r0]
- ldr r0, _0809B914 @ =0x0000267e
- adds r4, r6, r0
- movs r0, 0
- strb r0, [r4]
- ldr r1, _0809B918 @ =0x0000267f
- adds r5, r6, r1
- strb r0, [r5]
- ldr r0, _0809B91C @ =0x00002686
- adds r2, r6, r0
- movs r0, 0x39
- strh r0, [r2]
- ldr r0, _0809B920 @ =0x00002688
- adds r1, r6, r0
- ldr r0, _0809B924 @ =0x00000123
- strh r0, [r1]
- ldr r0, _0809B928 @ =0x0000268a
- adds r1, r6, r0
- ldr r0, _0809B92C @ =0x00000163
- strh r0, [r1]
- ldr r1, _0809B908 @ =0x00002618
- adds r0, r6, r1
- movs r1, 0x50
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- movs r2, 0x1
- ands r1, r2
- strb r1, [r4]
- lsrs r0, 17
- movs r1, 0x1
- ands r0, r1
- strb r0, [r5]
- ldrh r0, [r4]
- cmp r0, 0
- beq _0809B934
- ldr r2, _0809B930 @ =0x0000267d
- adds r1, r6, r2
- movs r0, 0
- strb r0, [r1]
- b _0809B940
- .align 2, 0
-_0809B8FC: .4byte gPokemonStorage
-_0809B900: .4byte gUnknown_020384E5
-_0809B904: .4byte gUnknown_083B6DB4
-_0809B908: .4byte 0x00002618
-_0809B90C: .4byte 0x00002682
-_0809B910: .4byte 0x00002683
-_0809B914: .4byte 0x0000267e
-_0809B918: .4byte 0x0000267f
-_0809B91C: .4byte 0x00002686
-_0809B920: .4byte 0x00002688
-_0809B924: .4byte 0x00000123
-_0809B928: .4byte 0x0000268a
-_0809B92C: .4byte 0x00000163
-_0809B930: .4byte 0x0000267d
-_0809B934:
- ldr r2, _0809B954 @ =0x0000267d
- adds r0, r6, r2
- strb r1, [r0]
- subs r2, 0x1
- adds r0, r6, r2
- strb r1, [r0]
-_0809B940:
- ldr r0, _0809B958 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809B95C @ =0x00002684
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B954: .4byte 0x0000267d
-_0809B958: .4byte gUnknown_083B6DB4
-_0809B95C: .4byte 0x00002684
- thumb_func_end sub_809B7D4
-
- thumb_func_start sub_809B960
-sub_809B960: @ 809B960
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0809B988 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r3, _0809B98C @ =0x0000267d
- adds r1, r2, r3
- ldrb r1, [r1]
- mov r12, r0
- cmp r1, 0
- beq _0809B994
- ldr r7, _0809B990 @ =0x0000267c
- adds r0, r2, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _0809BB5C
- .align 2, 0
-_0809B988: .4byte gUnknown_083B6DB4
-_0809B98C: .4byte 0x0000267d
-_0809B990: .4byte 0x0000267c
-_0809B994:
- ldr r1, _0809B9A4 @ =0x00002684
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809B9A8
- cmp r0, 0x1
- beq _0809BA84
- b _0809BB58
- .align 2, 0
-_0809B9A4: .4byte 0x00002684
-_0809B9A8:
- movs r5, 0
- movs r6, 0
-_0809B9AC:
- mov r2, r12
- ldr r4, [r2]
- ldr r3, _0809BA28 @ =0x00002682
- adds r0, r4, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bne _0809B9CC
- ldr r7, _0809BA2C @ =0x00002683
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, r5
- beq _0809BA02
-_0809B9CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0809BA30 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0809BA34 @ =0x00002686
- adds r2, r4, r1
- movs r1, 0x50
- bl GetMonData
- lsls r0, 16
- lsrs r3, r0, 16
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0809B9F0
- ldr r2, _0809BA38 @ =0x0000267e
- adds r0, r4, r2
- strb r6, [r0]
-_0809B9F0:
- movs r0, 0x2
- ands r3, r0
- ldr r7, _0809BA3C @ =gUnknown_083B6DB4
- mov r12, r7
- cmp r3, 0
- beq _0809BA02
- ldr r1, _0809BA40 @ =0x0000267f
- adds r0, r4, r1
- strb r6, [r0]
-_0809BA02:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0809B9AC
- mov r3, r12
- ldr r2, [r3]
- ldr r7, _0809BA38 @ =0x0000267e
- adds r0, r2, r7
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809BA4C
- ldr r1, _0809BA44 @ =0x0000267d
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r3, _0809BA48 @ =0x0000267c
- b _0809BB54
- .align 2, 0
-_0809BA28: .4byte 0x00002682
-_0809BA2C: .4byte 0x00002683
-_0809BA30: .4byte gPlayerParty
-_0809BA34: .4byte 0x00002686
-_0809BA38: .4byte 0x0000267e
-_0809BA3C: .4byte gUnknown_083B6DB4
-_0809BA40: .4byte 0x0000267f
-_0809BA44: .4byte 0x0000267d
-_0809BA48: .4byte 0x0000267c
-_0809BA4C:
- movs r7, 0x9A
- lsls r7, 6
- adds r0, r2, r7
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0809BA68 @ =0x00002681
- adds r0, r2, r3
- strb r1, [r0]
- adds r7, 0x4
- adds r1, r2, r7
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0809BB58
- .align 2, 0
-_0809BA68: .4byte 0x00002681
-_0809BA6C:
- ldr r1, _0809BA7C @ =0x0000267d
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r7, _0809BA80 @ =0x0000267c
- adds r0, r2, r7
- strb r3, [r0]
- b _0809BB3C
- .align 2, 0
-_0809BA7C: .4byte 0x0000267d
-_0809BA80: .4byte 0x0000267c
-_0809BA84:
- movs r5, 0
- mov r9, r12
- adds r4, r2, 0
- movs r0, 0x9A
- lsls r0, 6
- adds r6, r4, r0
- ldr r1, _0809BB6C @ =0x0000267f
- adds r1, r4
- mov r8, r1
- ldr r2, _0809BB70 @ =0x0000ffff
- mov r10, r2
-_0809BA9A:
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r3, _0809BB74 @ =0x00002681
- adds r1, r4, r3
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809BB78 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- movs r1, 0x50
- ldr r7, _0809BB7C @ =0x00002686
- adds r2, r4, r7
- bl GetBoxMonData
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _0809BB00
- ldr r1, _0809BB80 @ =0x00002682
- adds r0, r4, r1
- ldrh r0, [r0]
- ldrh r2, [r6]
- mov r1, r10
- ands r1, r0
- mov r0, r10
- ands r0, r2
- cmp r1, r0
- beq _0809BB00
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0809BAF2
- ldr r2, _0809BB84 @ =0x0000267e
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
-_0809BAF2:
- movs r0, 0x2
- ands r3, r0
- cmp r3, 0
- beq _0809BB00
- movs r0, 0
- mov r3, r8
- strb r0, [r3]
-_0809BB00:
- mov r7, r9
- ldr r2, [r7]
- ldr r0, _0809BB74 @ =0x00002681
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- ldr r7, _0809BB88 @ =gUnknown_083B6DB4
- mov r12, r7
- cmp r0, 0x1D
- ble _0809BB32
- strb r3, [r1]
- movs r0, 0x9A
- lsls r0, 6
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xD
- bgt _0809BA6C
-_0809BB32:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _0809BA9A
-_0809BB3C:
- mov r1, r12
- ldr r2, [r1]
- ldr r3, _0809BB84 @ =0x0000267e
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809BB58
- ldr r7, _0809BB8C @ =0x0000267d
- adds r0, r2, r7
- movs r1, 0x1
- strb r1, [r0]
- subs r3, 0x2
-_0809BB54:
- adds r0, r2, r3
- strb r1, [r0]
-_0809BB58:
- movs r0, 0x1
- negs r0, r0
-_0809BB5C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809BB6C: .4byte 0x0000267f
-_0809BB70: .4byte 0x0000ffff
-_0809BB74: .4byte 0x00002681
-_0809BB78: .4byte gPokemonStorage + 0x4
-_0809BB7C: .4byte 0x00002686
-_0809BB80: .4byte 0x00002682
-_0809BB84: .4byte 0x0000267e
-_0809BB88: .4byte gUnknown_083B6DB4
-_0809BB8C: .4byte 0x0000267d
- thumb_func_end sub_809B960
-
- thumb_func_start sub_809BB90
-sub_809BB90: @ 809BB90
- push {lr}
- ldr r0, _0809BBB0 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BBAA
- ldr r0, _0809BBB4 @ =gUnknown_02038480
- ldr r1, _0809BBB8 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _0809BBBC @ =0x000025b4
- adds r1, r2
- movs r2, 0x64
- bl memcpy
-_0809BBAA:
- pop {r0}
- bx r0
- .align 2, 0
-_0809BBB0: .4byte gUnknown_020384E6
-_0809BBB4: .4byte gUnknown_02038480
-_0809BBB8: .4byte gUnknown_083B6DB4
-_0809BBBC: .4byte 0x000025b4
- thumb_func_end sub_809BB90
-
- thumb_func_start sub_809BBC0
-sub_809BBC0: @ 809BBC0
- push {lr}
- ldr r0, _0809BBE4 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BC08
- ldr r0, _0809BBE8 @ =gUnknown_020384E7
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _0809BBF8
- ldr r0, _0809BBEC @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809BBF0 @ =0x000025b4
- adds r0, r1
- ldr r1, _0809BBF4 @ =gUnknown_02038480
- movs r2, 0x64
- bl memcpy
- b _0809BC08
- .align 2, 0
-_0809BBE4: .4byte gUnknown_020384E6
-_0809BBE8: .4byte gUnknown_020384E7
-_0809BBEC: .4byte gUnknown_083B6DB4
-_0809BBF0: .4byte 0x000025b4
-_0809BBF4: .4byte gUnknown_02038480
-_0809BBF8:
- ldr r0, _0809BC0C @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809BC10 @ =0x000025b4
- adds r0, r1
- ldr r1, _0809BC14 @ =gUnknown_02038480
- movs r2, 0x50
- bl memcpy
-_0809BC08:
- pop {r0}
- bx r0
- .align 2, 0
-_0809BC0C: .4byte gUnknown_083B6DB4
-_0809BC10: .4byte 0x000025b4
-_0809BC14: .4byte gUnknown_02038480
- thumb_func_end sub_809BBC0
-
- thumb_func_start sub_809BC18
-sub_809BC18: @ 809BC18
- push {r4,r5,lr}
- ldr r0, _0809BC48 @ =gUnknown_020384E6
- ldrb r5, [r0]
- cmp r5, 0
- beq _0809BC64
- bl sub_809BB90
- ldr r0, _0809BC4C @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r0, _0809BC50 @ =0x00002690
- adds r1, r2, r0
- ldr r0, _0809BC54 @ =gUnknown_02038480
- str r0, [r1]
- ldr r1, _0809BC58 @ =0x0000268d
- adds r0, r2, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0809BC5C @ =0x0000268c
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, _0809BC60 @ =0x0000268e
- adds r2, r0
- strb r1, [r2]
- b _0809BCF2
- .align 2, 0
-_0809BC48: .4byte gUnknown_020384E6
-_0809BC4C: .4byte gUnknown_083B6DB4
-_0809BC50: .4byte 0x00002690
-_0809BC54: .4byte gUnknown_02038480
-_0809BC58: .4byte 0x0000268d
-_0809BC5C: .4byte 0x0000268c
-_0809BC60: .4byte 0x0000268e
-_0809BC64:
- ldr r0, _0809BC9C @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809BCBC
- ldr r0, _0809BCA0 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r2, _0809BCA4 @ =0x00002690
- adds r1, r4, r2
- ldr r0, _0809BCA8 @ =gPlayerParty
- str r0, [r1]
- ldr r0, _0809BCAC @ =gUnknown_020384E5
- ldrb r1, [r0]
- ldr r3, _0809BCB0 @ =0x0000268d
- adds r0, r4, r3
- strb r1, [r0]
- bl StorageSystemGetPartySize
- subs r0, 0x1
- ldr r2, _0809BCB4 @ =0x0000268c
- adds r1, r4, r2
- strb r0, [r1]
- ldr r3, _0809BCB8 @ =0x0000268e
- adds r4, r3
- strb r5, [r4]
- b _0809BCF2
- .align 2, 0
-_0809BC9C: .4byte gUnknown_020384E4
-_0809BCA0: .4byte gUnknown_083B6DB4
-_0809BCA4: .4byte 0x00002690
-_0809BCA8: .4byte gPlayerParty
-_0809BCAC: .4byte gUnknown_020384E5
-_0809BCB0: .4byte 0x0000268d
-_0809BCB4: .4byte 0x0000268c
-_0809BCB8: .4byte 0x0000268e
-_0809BCBC:
- ldr r0, _0809BCF8 @ =gUnknown_083B6DB4
- ldr r3, [r0]
- ldr r0, _0809BCFC @ =0x00002690
- adds r4, r3, r0
- ldr r2, _0809BD00 @ =gPokemonStorage
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r2, 0x4
- adds r0, r2
- str r0, [r4]
- ldr r0, _0809BD04 @ =gUnknown_020384E5
- ldrb r1, [r0]
- ldr r2, _0809BD08 @ =0x0000268d
- adds r0, r3, r2
- strb r1, [r0]
- ldr r0, _0809BD0C @ =0x0000268c
- adds r1, r3, r0
- movs r0, 0x1D
- strb r0, [r1]
- ldr r1, _0809BD10 @ =0x0000268e
- adds r3, r1
- movs r0, 0x5
- strb r0, [r3]
-_0809BCF2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809BCF8: .4byte gUnknown_083B6DB4
-_0809BCFC: .4byte 0x00002690
-_0809BD00: .4byte gPokemonStorage
-_0809BD04: .4byte gUnknown_020384E5
-_0809BD08: .4byte 0x0000268d
-_0809BD0C: .4byte 0x0000268c
-_0809BD10: .4byte 0x0000268e
- thumb_func_end sub_809BC18
-
- thumb_func_start sub_809BD14
-sub_809BD14: @ 809BD14
- push {lr}
- ldr r0, _0809BD24 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BD28
- bl sub_809BBC0
- b _0809BD30
- .align 2, 0
-_0809BD24: .4byte gUnknown_020384E6
-_0809BD28:
- ldr r0, _0809BD34 @ =gUnknown_020384E5
- ldr r1, _0809BD38 @ =gSharedMem + 0x18000
- ldrb r1, [r1, 0x9]
- strb r1, [r0]
-_0809BD30:
- pop {r0}
- bx r0
- .align 2, 0
-_0809BD34: .4byte gUnknown_020384E5
-_0809BD38: .4byte gSharedMem + 0x18000
- thumb_func_end sub_809BD14
-
- thumb_func_start party_compaction
-party_compaction: @ 809BD3C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r7, _0809BD88 @ =0x0000ffff
- movs r6, 0
- movs r5, 0
- movs r0, 0x64
- mov r9, r0
- ldr r1, _0809BD8C @ =gPlayerParty
- mov r8, r1
- subs r0, 0x65
- mov r10, r0
-_0809BD58:
- mov r0, r9
- muls r0, r6
- mov r1, r8
- adds r4, r0, r1
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- cmp r0, 0
- beq _0809BD90
- cmp r6, r5
- beq _0809BD80
- mov r0, r9
- muls r0, r5
- add r0, r8
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
-_0809BD80:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- b _0809BD9A
- .align 2, 0
-_0809BD88: .4byte 0x0000ffff
-_0809BD8C: .4byte gPlayerParty
-_0809BD90:
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, r10
- bne _0809BD9A
- adds r7, r6, 0
-_0809BD9A:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _0809BD58
- lsls r7, 16
- cmp r5, 0x5
- bhi _0809BDC2
- movs r6, 0x64
- ldr r4, _0809BDD4 @ =gPlayerParty
-_0809BDAE:
- adds r0, r5, 0
- muls r0, r6
- adds r0, r4
- bl ZeroMonData
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0809BDAE
-_0809BDC2:
- asrs r0, r7, 16
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809BDD4: .4byte gPlayerParty
- thumb_func_end party_compaction
-
- thumb_func_start sub_809BDD8
-sub_809BDD8: @ 809BDD8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- ldr r1, _0809BE04 @ =gUnknown_083B6DB4
- ldr r2, [r1]
- ldr r3, _0809BE08 @ =0x000011f7
- adds r1, r2, r3
- strb r0, [r1]
- ldr r0, _0809BE0C @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BE14
- ldr r1, _0809BE10 @ =0x000025b4
- adds r0, r2, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
- b _0809BE68
- .align 2, 0
-_0809BE04: .4byte gUnknown_083B6DB4
-_0809BE08: .4byte 0x000011f7
-_0809BE0C: .4byte gUnknown_020384E6
-_0809BE10: .4byte 0x000025b4
-_0809BE14:
- ldr r4, _0809BE70 @ =gUnknown_020384E4
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1
- bne _0809BE34
- ldr r0, _0809BE74 @ =gUnknown_020384E5
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809BE78 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
-_0809BE34:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _0809BE68
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _0809BE74 @ =gUnknown_020384E5
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809BE7C @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetBoxMonData
-_0809BE68:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809BE70: .4byte gUnknown_020384E4
-_0809BE74: .4byte gUnknown_020384E5
-_0809BE78: .4byte gPlayerParty
-_0809BE7C: .4byte gPokemonStorage + 0x4
- thumb_func_end sub_809BDD8
-
- thumb_func_start sub_809BE80
-sub_809BE80: @ 809BE80
- push {lr}
- ldr r0, _0809BEA8 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809BEB4
- ldr r0, _0809BEAC @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809BEB4
- ldr r0, _0809BEB0 @ =gUnknown_020384E5
- ldrb r0, [r0]
- bl CountAlivePartyMonsExceptOne
- lsls r0, 24
- cmp r0, 0
- bne _0809BEB4
- movs r0, 0x1
- b _0809BEB6
- .align 2, 0
-_0809BEA8: .4byte gUnknown_020384E4
-_0809BEAC: .4byte gUnknown_020384E6
-_0809BEB0: .4byte gUnknown_020384E5
-_0809BEB4:
- movs r0, 0
-_0809BEB6:
- pop {r1}
- bx r1
- thumb_func_end sub_809BE80
-
- thumb_func_start sub_809BEBC
-sub_809BEBC: @ 809BEBC
- push {lr}
- ldr r0, _0809BF00 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BF18
- ldr r0, _0809BF04 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809BEFC
- ldr r0, _0809BF08 @ =gUnknown_020384E5
- ldrb r0, [r0]
- bl CountAlivePartyMonsExceptOne
- lsls r0, 24
- cmp r0, 0
- bne _0809BEFC
- ldr r0, _0809BF0C @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r2, _0809BF10 @ =0x000011f9
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809BF18
- ldr r2, _0809BF14 @ =0x000025b4
- adds r0, r1, r2
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0809BF18
-_0809BEFC:
- movs r0, 0x1
- b _0809BF1A
- .align 2, 0
-_0809BF00: .4byte gUnknown_020384E6
-_0809BF04: .4byte gUnknown_020384E4
-_0809BF08: .4byte gUnknown_020384E5
-_0809BF0C: .4byte gUnknown_083B6DB4
-_0809BF10: .4byte 0x000011f9
-_0809BF14: .4byte 0x000025b4
-_0809BF18:
- movs r0, 0
-_0809BF1A:
- pop {r1}
- bx r1
- thumb_func_end sub_809BEBC
-
- thumb_func_start sub_809BF20
-sub_809BF20: @ 809BF20
- ldr r0, _0809BF28 @ =gUnknown_020384E6
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809BF28: .4byte gUnknown_020384E6
- thumb_func_end sub_809BF20
-
- thumb_func_start sub_809BF2C
-sub_809BF2C: @ 809BF2C
- push {lr}
- movs r1, 0
- ldr r0, _0809BF44 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- bne _0809BF3E
- movs r1, 0x1
-_0809BF3E:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809BF44: .4byte gUnknown_020384E4
- thumb_func_end sub_809BF2C
-
- thumb_func_start sub_809BF48
-sub_809BF48: @ 809BF48
- push {lr}
- movs r1, 0
- ldr r0, _0809BF6C @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _0809BF66
- ldr r0, _0809BF70 @ =gUnknown_020384E5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809BF66
- movs r1, 0x1
-_0809BF66:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809BF6C: .4byte gUnknown_020384E4
-_0809BF70: .4byte gUnknown_020384E5
- thumb_func_end sub_809BF48
-
- thumb_func_start sub_809BF74
-sub_809BF74: @ 809BF74
- push {r4,lr}
- ldr r0, _0809BFA8 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- movs r2, 0
- ldr r3, _0809BFAC @ =gUnknown_020384E6
- ldrb r0, [r3]
- cmp r0, 0
- bne _0809BF86
- movs r2, 0x1
-_0809BF86:
- ldr r4, _0809BFB0 @ =0x000011f6
- adds r0, r1, r4
- strb r2, [r0]
- ldrb r0, [r3]
- cmp r0, 0
- bne _0809C018
- ldr r0, _0809BFB4 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _0809BFBE
- cmp r0, 0x1
- bgt _0809BFB8
- cmp r0, 0
- beq _0809BFEE
- b _0809C018
- .align 2, 0
-_0809BFA8: .4byte gUnknown_083B6DB4
-_0809BFAC: .4byte gUnknown_020384E6
-_0809BFB0: .4byte 0x000011f6
-_0809BFB4: .4byte gUnknown_020384E4
-_0809BFB8:
- cmp r0, 0x3
- bgt _0809C018
- b _0809BFE4
-_0809BFBE:
- ldr r1, _0809BFDC @ =gUnknown_020384E5
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _0809BFE4
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809BFE0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl sub_809C04C
- b _0809C018
- .align 2, 0
-_0809BFDC: .4byte gUnknown_020384E5
-_0809BFE0: .4byte gPlayerParty
-_0809BFE4:
- movs r0, 0
- movs r1, 0x2
- bl sub_809C04C
- b _0809C018
-_0809BFEE:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _0809C020 @ =gUnknown_020384E5
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809C024 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- movs r1, 0x1
- bl sub_809C04C
-_0809C018:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C020: .4byte gUnknown_020384E5
-_0809C024: .4byte gPokemonStorage + 0x4
- thumb_func_end sub_809BF74
-
- thumb_func_start sub_809C028
-sub_809C028: @ 809C028
- push {lr}
- ldr r0, _0809C03C @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809C044
- ldr r0, _0809C040 @ =gUnknown_02038480
- movs r1, 0
- bl sub_809C04C
- b _0809C048
- .align 2, 0
-_0809C03C: .4byte gUnknown_020384E6
-_0809C040: .4byte gUnknown_02038480
-_0809C044:
- bl sub_809BF74
-_0809C048:
- pop {r0}
- bx r0
- thumb_func_end sub_809C028
-
- thumb_func_start sub_809C04C
-sub_809C04C: @ 809C04C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809C0FC @ =gUnknown_083B6DB4
- ldr r6, [r0]
- ldr r2, _0809C100 @ =0x000011f2
- adds r2, r6
- mov r8, r2
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r2]
- cmp r1, 0
- bne _0809C120
- adds r0, r7, 0
- movs r1, 0x41
- bl GetMonData
- ldr r2, _0809C104 @ =0x000011f0
- adds r1, r6, r2
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _0809C08C
- b _0809C1EC
-_0809C08C:
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- ldr r2, _0809C108 @ =0x000011f9
- adds r1, r6, r2
- strb r0, [r1]
- ldr r0, _0809C10C @ =0x000011fa
- adds r4, r6, r0
- adds r0, r7, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- adds r0, r7, 0
- movs r1, 0x38
- bl GetMonData
- ldr r2, _0809C110 @ =0x000011f8
- adds r1, r6, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x8
- bl GetMonData
- ldr r2, _0809C114 @ =0x000011f7
- adds r1, r6, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0
- bl GetMonData
- ldr r2, _0809C118 @ =0x000011ec
- adds r1, r6, r2
- str r0, [r1]
- adds r0, r7, 0
- bl GetMonSpritePal
- ldr r2, _0809C11C @ =0x000011e8
- adds r1, r6, r2
- str r0, [r1]
- adds r0, r7, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0xC
- bl GetMonData
- b _0809C1B2
- .align 2, 0
-_0809C0FC: .4byte gUnknown_083B6DB4
-_0809C100: .4byte 0x000011f2
-_0809C104: .4byte 0x000011f0
-_0809C108: .4byte 0x000011f9
-_0809C10C: .4byte 0x000011fa
-_0809C110: .4byte 0x000011f8
-_0809C114: .4byte 0x000011f7
-_0809C118: .4byte 0x000011ec
-_0809C11C: .4byte 0x000011e8
-_0809C120:
- cmp r1, 0x1
- bne _0809C1D4
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonData
- ldr r2, _0809C1B8 @ =0x000011f0
- adds r5, r6, r2
- strh r0, [r5]
- lsls r0, 16
- cmp r0, 0
- beq _0809C1EC
- adds r0, r7, 0
- movs r1, 0x1
- bl GetBoxMonData
- mov r9, r0
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetBoxMonData
- ldr r2, _0809C1BC @ =0x000011f9
- adds r1, r6, r2
- strb r0, [r1]
- ldr r0, _0809C1C0 @ =0x000011fa
- adds r4, r6, r0
- adds r0, r7, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetBoxMonData
- adds r0, r4, 0
- bl StringGetEnd10
- adds r0, r7, 0
- bl GetLevelFromBoxMonExp
- ldr r2, _0809C1C4 @ =0x000011f8
- adds r1, r6, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x8
- bl GetBoxMonData
- ldr r2, _0809C1C8 @ =0x000011f7
- adds r1, r6, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r2, r0, 0
- ldr r0, _0809C1CC @ =0x000011ec
- adds r4, r6, r0
- str r2, [r4]
- ldrh r0, [r5]
- mov r1, r9
- bl GetMonSpritePalFromOtIdPersonality
- ldr r2, _0809C1D0 @ =0x000011e8
- adds r1, r6, r2
- str r0, [r1]
- ldrh r0, [r5]
- ldr r1, [r4]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonData
-_0809C1B2:
- mov r1, r8
- strh r0, [r1]
- b _0809C1DE
- .align 2, 0
-_0809C1B8: .4byte 0x000011f0
-_0809C1BC: .4byte 0x000011f9
-_0809C1C0: .4byte 0x000011fa
-_0809C1C4: .4byte 0x000011f8
-_0809C1C8: .4byte 0x000011f7
-_0809C1CC: .4byte 0x000011ec
-_0809C1D0: .4byte 0x000011e8
-_0809C1D4:
- ldr r2, _0809C220 @ =0x000011f0
- adds r0, r6, r2
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r0]
-_0809C1DE:
- ldr r0, _0809C224 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r2, _0809C220 @ =0x000011f0
- adds r0, r4, r2
- ldrh r1, [r0]
- cmp r1, 0
- bne _0809C23C
-_0809C1EC:
- ldr r0, _0809C224 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r0, _0809C228 @ =0x000011fa
- adds r2, r1, r0
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, _0809C22C @ =0x0000120f
- adds r2, r1, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r2]
- ldr r0, _0809C230 @ =0x00001234
- adds r2, r1, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r2]
- ldr r0, _0809C234 @ =0x00001259
- adds r2, r1, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r2]
- ldr r2, _0809C238 @ =0x0000127a
- adds r1, r2
- strb r0, [r1]
- b _0809C43E
- .align 2, 0
-_0809C220: .4byte 0x000011f0
-_0809C224: .4byte gUnknown_083B6DB4
-_0809C228: .4byte 0x000011fa
-_0809C22C: .4byte 0x0000120f
-_0809C230: .4byte 0x00001234
-_0809C234: .4byte 0x00001259
-_0809C238: .4byte 0x0000127a
-_0809C23C:
- ldr r2, _0809C28C @ =0x000011f9
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809C2A4
- ldr r0, _0809C290 @ =0x0000120f
- adds r7, r4, r0
- movs r0, 0xFC
- strb r0, [r7]
- movs r0, 0x4
- strb r0, [r7, 0x1]
- movs r0, 0xF
- strb r0, [r7, 0x2]
- movs r0, 0
- strb r0, [r7, 0x3]
- movs r0, 0x1
- strb r0, [r7, 0x4]
- ldr r1, _0809C294 @ =0x00001214
- adds r7, r4, r1
- adds r2, 0x1
- adds r1, r4, r2
- adds r0, r7, 0
- bl StringCopy
- ldr r0, _0809C298 @ =0x00001234
- adds r1, r4, r0
- movs r0, 0xFF
- strb r0, [r1]
- ldr r2, _0809C29C @ =0x00001259
- adds r1, r4, r2
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- ldr r0, _0809C2A0 @ =0x0000127a
- adds r1, r4, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- b _0809C43E
- .align 2, 0
-_0809C28C: .4byte 0x000011f9
-_0809C290: .4byte 0x0000120f
-_0809C294: .4byte 0x00001214
-_0809C298: .4byte 0x00001234
-_0809C29C: .4byte 0x00001259
-_0809C2A0: .4byte 0x0000127a
-_0809C2A4:
- cmp r1, 0x20
- beq _0809C2AC
- cmp r1, 0x1D
- bne _0809C2B0
-_0809C2AC:
- movs r1, 0xFF
- str r1, [sp]
-_0809C2B0:
- ldr r0, _0809C388 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r2, _0809C38C @ =0x0000120f
- adds r7, r4, r2
- movs r0, 0xFC
- mov r9, r0
- strb r0, [r7]
- movs r1, 0x4
- mov r8, r1
- strb r1, [r7, 0x1]
- movs r2, 0xF
- strb r2, [r7, 0x2]
- movs r0, 0
- strb r0, [r7, 0x3]
- movs r6, 0x1
- strb r6, [r7, 0x4]
- ldr r1, _0809C390 @ =0x00001214
- adds r7, r4, r1
- ldr r2, _0809C394 @ =0x000011fa
- adds r1, r4, r2
- adds r0, r7, 0
- bl StringCopy
- ldr r0, _0809C398 @ =0x00001234
- adds r7, r4, r0
- mov r1, r9
- strb r1, [r7]
- mov r2, r8
- strb r2, [r7, 0x1]
- movs r0, 0xF
- strb r0, [r7, 0x2]
- movs r1, 0
- strb r1, [r7, 0x3]
- strb r6, [r7, 0x4]
- mov r2, r9
- strb r2, [r7, 0x5]
- movs r0, 0x13
- mov r10, r0
- strb r0, [r7, 0x6]
- movs r1, 0x7
- strb r1, [r7, 0x7]
- movs r0, 0xBA
- strb r0, [r7, 0x8]
- ldr r2, _0809C39C @ =0x0000123d
- adds r7, r4, r2
- ldr r1, _0809C3A0 @ =0x000011f0
- adds r0, r4, r1
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, _0809C3A4 @ =gSpeciesNames
- adds r1, r0
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- mov r2, r9
- strb r2, [r7]
- mov r0, r10
- strb r0, [r7, 0x1]
- movs r0, 0x50
- strb r0, [r7, 0x2]
- movs r0, 0xFF
- strb r0, [r7, 0x3]
- ldr r1, _0809C3A8 @ =0x00001259
- adds r7, r4, r1
- strb r2, [r7]
- mov r2, r8
- strb r2, [r7, 0x1]
- movs r0, 0xF
- strb r0, [r7, 0x2]
- movs r1, 0
- strb r1, [r7, 0x3]
- strb r6, [r7, 0x4]
- mov r2, r9
- strb r2, [r7, 0x5]
- mov r0, r10
- strb r0, [r7, 0x6]
- movs r6, 0x8
- strb r6, [r7, 0x7]
- ldr r1, _0809C3AC @ =0x00001261
- adds r7, r4, r1
- movs r0, 0x34
- strb r0, [r7]
- ldr r2, _0809C3B0 @ =0x00001262
- adds r7, r4, r2
- ldr r0, _0809C3B4 @ =0x000011f8
- adds r4, r0
- ldrb r1, [r4]
- adds r0, r7, 0
- movs r2, 0x22
- movs r3, 0x1
- bl sub_8072C14
- adds r7, r0, 0
- mov r1, r9
- strb r1, [r7]
- movs r0, 0x11
- strb r0, [r7, 0x1]
- strb r6, [r7, 0x2]
- adds r7, 0x3
- ldr r2, [sp]
- cmp r2, 0
- beq _0809C3B8
- cmp r2, 0xFE
- beq _0809C3D0
- b _0809C3EA
- .align 2, 0
-_0809C388: .4byte gUnknown_083B6DB4
-_0809C38C: .4byte 0x0000120f
-_0809C390: .4byte 0x00001214
-_0809C394: .4byte 0x000011fa
-_0809C398: .4byte 0x00001234
-_0809C39C: .4byte 0x0000123d
-_0809C3A0: .4byte 0x000011f0
-_0809C3A4: .4byte gSpeciesNames
-_0809C3A8: .4byte 0x00001259
-_0809C3AC: .4byte 0x00001261
-_0809C3B0: .4byte 0x00001262
-_0809C3B4: .4byte 0x000011f8
-_0809C3B8:
- mov r0, r9
- strb r0, [r7]
- mov r1, r8
- strb r1, [r7, 0x1]
- strb r1, [r7, 0x2]
- mov r2, sp
- ldrb r2, [r2]
- strb r2, [r7, 0x3]
- movs r0, 0x5
- strb r0, [r7, 0x4]
- movs r0, 0xB5
- b _0809C3E6
-_0809C3D0:
- mov r0, r9
- strb r0, [r7]
- mov r1, r8
- strb r1, [r7, 0x1]
- movs r0, 0x6
- strb r0, [r7, 0x2]
- movs r2, 0
- strb r2, [r7, 0x3]
- movs r0, 0x7
- strb r0, [r7, 0x4]
- movs r0, 0xB6
-_0809C3E6:
- strb r0, [r7, 0x5]
- adds r7, 0x6
-_0809C3EA:
- movs r5, 0xFF
- strb r5, [r7]
- ldr r0, _0809C450 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r1, _0809C454 @ =0x0000127a
- adds r7, r2, r1
- ldr r0, _0809C458 @ =0x000011f2
- adds r3, r2, r0
- ldrh r0, [r3]
- cmp r0, 0
- beq _0809C43C
- movs r4, 0xFC
- strb r4, [r7]
- movs r1, 0x4
- strb r1, [r7, 0x1]
- movs r0, 0xF
- strb r0, [r7, 0x2]
- movs r0, 0
- strb r0, [r7, 0x3]
- movs r0, 0x1
- strb r0, [r7, 0x4]
- ldr r0, _0809C45C @ =0x0000127f
- adds r7, r2, r0
- strb r4, [r7]
- movs r0, 0x6
- strb r0, [r7, 0x1]
- strb r1, [r7, 0x2]
- ldr r1, _0809C460 @ =0x00001282
- adds r7, r2, r1
- ldrh r0, [r3]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- strb r4, [r7]
- movs r0, 0x7
- strb r0, [r7, 0x1]
- adds r7, 0x2
-_0809C43C:
- strb r5, [r7]
-_0809C43E:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C450: .4byte gUnknown_083B6DB4
-_0809C454: .4byte 0x0000127a
-_0809C458: .4byte 0x000011f2
-_0809C45C: .4byte 0x0000127f
-_0809C460: .4byte 0x00001282
- thumb_func_end sub_809C04C
-
- thumb_func_start sub_809C464
-sub_809C464: @ 809C464
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _0809C4D8 @ =gUnknown_020384E4
- ldrb r0, [r0]
- mov r8, r0
- ldr r2, _0809C4DC @ =gUnknown_020384E5
- ldrb r4, [r2]
- ldr r0, _0809C4E0 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r0, _0809C4E4 @ =0x000011de
- adds r7, r1, r0
- movs r0, 0
- strb r0, [r7]
- ldr r3, _0809C4E8 @ =0x000011df
- adds r5, r1, r3
- strb r0, [r5]
- adds r3, 0x4
- adds r6, r1, r3
- strb r0, [r6]
- ldr r0, _0809C4EC @ =gMain
- mov r12, r0
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _0809C4A0
- b _0809C62A
-_0809C4A0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809C4F0
- movs r1, 0x1
- mov r9, r1
- lsls r0, r4, 24
- movs r3, 0xC0
- lsls r3, 19
- adds r0, r3
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x1D
- bgt _0809C4BE
- b _0809C648
-_0809C4BE:
- movs r1, 0x3
- mov r8, r1
- subs r0, 0x1E
- lsls r0, 24
- asrs r0, 24
- bl __divsi3
- lsls r0, 24
- lsrs r4, r0, 24
- mov r3, r9
- strb r3, [r7]
- strb r3, [r6]
- b _0809C648
- .align 2, 0
-_0809C4D8: .4byte gUnknown_020384E4
-_0809C4DC: .4byte gUnknown_020384E5
-_0809C4E0: .4byte gUnknown_083B6DB4
-_0809C4E4: .4byte 0x000011de
-_0809C4E8: .4byte 0x000011df
-_0809C4EC: .4byte gMain
-_0809C4F0:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809C524
- movs r0, 0x1
- mov r9, r0
- movs r0, 0
- ldrsb r0, [r3, r0]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 24
- cmp r0, 0
- beq _0809C514
- lsls r0, r4, 24
- movs r1, 0xFF
- lsls r1, 24
- b _0809C63C
-_0809C514:
- movs r0, 0xFF
- strb r0, [r5]
- lsls r0, r4, 24
- movs r3, 0xA0
- lsls r3, 19
- adds r0, r3
- lsrs r4, r0, 24
- b _0809C648
-_0809C524:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809C554
- movs r0, 0x1
- mov r9, r0
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, 0x1
- movs r1, 0x6
- bl __modsi3
- cmp r0, 0
- beq _0809C548
- lsls r0, r4, 24
- movs r1, 0x80
- lsls r1, 17
- b _0809C63C
-_0809C548:
- mov r3, r9
- strb r3, [r5]
- lsls r0, r4, 24
- movs r1, 0xFB
- lsls r1, 24
- b _0809C63C
-_0809C554:
- mov r3, r12
- ldrh r1, [r3, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0809C56A
- movs r0, 0x1
- mov r9, r0
- movs r1, 0x2
- mov r8, r1
- b _0809C646
-_0809C56A:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C5D4
- bl sub_809CAB0
- lsls r0, 24
- cmp r0, 0
- beq _0809C5D4
- ldr r0, _0809C588 @ =gUnknown_020384E9
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809C58C
- movs r0, 0x8
- b _0809C658
- .align 2, 0
-_0809C588: .4byte gUnknown_020384E9
-_0809C58C:
- movs r0, 0
- bl sub_809CE4C
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _0809C5D4
- lsls r0, 2
- ldr r1, _0809C5A8 @ =_0809C5AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C5A8: .4byte _0809C5AC
- .align 2, 0
-_0809C5AC:
- .4byte _0809C5C0
- .4byte _0809C5C4
- .4byte _0809C5C8
- .4byte _0809C5CC
- .4byte _0809C5D0
-_0809C5C0:
- movs r0, 0xB
- b _0809C658
-_0809C5C4:
- movs r0, 0xC
- b _0809C658
-_0809C5C8:
- movs r0, 0xD
- b _0809C658
-_0809C5CC:
- movs r0, 0xE
- b _0809C658
-_0809C5D0:
- movs r0, 0xF
- b _0809C658
-_0809C5D4:
- ldr r2, _0809C5E4 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809C5E8
- movs r0, 0x10
- b _0809C658
- .align 2, 0
-_0809C5E4: .4byte gMain
-_0809C5E8:
- ldr r0, _0809C600 @ =gSaveBlock2
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0809C612
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0809C604
- movs r0, 0xA
- b _0809C658
- .align 2, 0
-_0809C600: .4byte gSaveBlock2
-_0809C604:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _0809C612
- movs r0, 0x9
- b _0809C658
-_0809C612:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809C624
- bl sub_809CD88
- movs r0, 0
- b _0809C658
-_0809C624:
- movs r3, 0
- mov r9, r3
- b _0809C656
-_0809C62A:
- movs r0, 0x1
- mov r9, r0
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x5
- ble _0809C642
- lsls r0, r4, 24
- movs r1, 0xFA
- lsls r1, 24
-_0809C63C:
- adds r0, r1
- lsrs r4, r0, 24
- b _0809C648
-_0809C642:
- movs r3, 0x2
- mov r8, r3
-_0809C646:
- movs r4, 0
-_0809C648:
- mov r0, r9
- cmp r0, 0
- beq _0809C656
- mov r0, r8
- adds r1, r4, 0
- bl sub_809AF18
-_0809C656:
- mov r0, r9
-_0809C658:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809C464
-
- thumb_func_start sub_809C664
-sub_809C664: @ 809C664
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0809C6D8 @ =gUnknown_020384E4
- ldrb r0, [r0]
- mov r10, r0
- ldr r7, _0809C6DC @ =gUnknown_020384E5
- ldrb r4, [r7]
- ldr r2, _0809C6E0 @ =gUnknown_083B6DB4
- ldr r5, [r2]
- ldr r1, _0809C6E4 @ =0x000011df
- adds r0, r5, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0809C6E8 @ =0x000011de
- adds r0, r5, r3
- strb r1, [r0]
- adds r3, 0x5
- adds r0, r5, r3
- strb r1, [r0]
- mov r9, r1
- mov r8, r1
- ldr r1, _0809C6EC @ =gMain
- ldrh r3, [r1, 0x30]
- movs r0, 0x40
- ands r0, r3
- adds r6, r7, 0
- mov r12, r2
- adds r2, r1, 0
- cmp r0, 0
- beq _0809C6A8
- b _0809C81C
-_0809C6A8:
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _0809C6F0
- lsls r0, r4, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x6
- ble _0809C6C2
- movs r4, 0
-_0809C6C2:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r6, r1]
- cmp r0, r1
- bne _0809C6D0
- b _0809C83C
-_0809C6D0:
- movs r2, 0x1
- mov r8, r2
- b _0809C842
- .align 2, 0
-_0809C6D8: .4byte gUnknown_020384E4
-_0809C6DC: .4byte gUnknown_020384E5
-_0809C6E0: .4byte gUnknown_083B6DB4
-_0809C6E4: .4byte 0x000011df
-_0809C6E8: .4byte 0x000011de
-_0809C6EC: .4byte gMain
-_0809C6F0:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _0809C714
- ldrb r1, [r6]
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0
- beq _0809C714
- movs r3, 0x1
- mov r8, r3
- ldr r2, _0809C710 @ =0x000011e2
- adds r0, r5, r2
- strb r1, [r0]
- movs r4, 0
- b _0809C83C
- .align 2, 0
-_0809C710: .4byte 0x000011e2
-_0809C714:
- ldrh r1, [r2, 0x30]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809C748
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0
- bne _0809C73C
- movs r3, 0x1
- mov r8, r3
- mov r1, r12
- ldr r0, [r1]
- ldr r2, _0809C738 @ =0x000011e2
- adds r0, r2
- ldrb r4, [r0]
- b _0809C83C
- .align 2, 0
-_0809C738: .4byte 0x000011e2
-_0809C73C:
- movs r3, 0x6
- mov r8, r3
- movs r0, 0
- mov r10, r0
- movs r4, 0
- b _0809C83C
-_0809C748:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C7D0
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x6
- bne _0809C76E
- mov r1, r12
- ldr r0, [r1]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- bne _0809C768
- movs r0, 0x4
- b _0809C84C
-_0809C768:
- movs r2, 0x1
- mov r9, r2
- b _0809C7D0
-_0809C76E:
- bl sub_809CAB0
- lsls r0, 24
- cmp r0, 0
- beq _0809C7D0
- ldr r0, _0809C784 @ =gUnknown_020384E9
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809C788
- movs r0, 0x8
- b _0809C84C
- .align 2, 0
-_0809C784: .4byte gUnknown_020384E9
-_0809C788:
- movs r0, 0
- bl sub_809CE4C
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _0809C7D0
- lsls r0, 2
- ldr r1, _0809C7A4 @ =_0809C7A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C7A4: .4byte _0809C7A8
- .align 2, 0
-_0809C7A8:
- .4byte _0809C7BC
- .4byte _0809C7C0
- .4byte _0809C7C4
- .4byte _0809C7C8
- .4byte _0809C7CC
-_0809C7BC:
- movs r0, 0xB
- b _0809C84C
-_0809C7C0:
- movs r0, 0xC
- b _0809C84C
-_0809C7C4:
- movs r0, 0xD
- b _0809C84C
-_0809C7C8:
- movs r0, 0xE
- b _0809C84C
-_0809C7CC:
- movs r0, 0xF
- b _0809C84C
-_0809C7D0:
- ldr r2, _0809C7EC @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809C7F8
- ldr r0, _0809C7F0 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- bne _0809C7F4
- movs r0, 0x10
- b _0809C84C
- .align 2, 0
-_0809C7EC: .4byte gMain
-_0809C7F0: .4byte gUnknown_083B6DB4
-_0809C7F4:
- movs r3, 0x1
- mov r9, r3
-_0809C7F8:
- mov r0, r9
- cmp r0, 0
- beq _0809C80A
- movs r1, 0x6
- mov r8, r1
- movs r2, 0
- mov r10, r2
- movs r4, 0
- b _0809C83C
-_0809C80A:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809C83C
- bl sub_809CD88
- movs r0, 0
- b _0809C84C
-_0809C81C:
- lsls r0, r4, 24
- movs r3, 0xFF
- lsls r3, 24
- adds r0, r3
- lsrs r4, r0, 24
- cmp r0, 0
- bge _0809C82C
- movs r4, 0x6
-_0809C82C:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r7, r1]
- cmp r0, r1
- beq _0809C83C
- movs r0, 0x1
- mov r8, r0
-_0809C83C:
- mov r1, r8
- cmp r1, 0
- beq _0809C84A
-_0809C842:
- mov r0, r10
- adds r1, r4, 0
- bl sub_809AF18
-_0809C84A:
- mov r0, r8
-_0809C84C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809C664
-
thumb_func_start sub_809C85C
+@ u8 sub_809C85C(void)
sub_809C85C: @ 809C85C
push {r4-r6,lr}
- ldr r0, _0809C894 @ =gUnknown_083B6DB4
+ ldr r0, _0809C894 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r1, _0809C898 @ =0x000011df
adds r0, r2, r1
@@ -13677,7 +36,7 @@ sub_809C85C: @ 809C85C
movs r5, 0x2
b _0809C922
.align 2, 0
-_0809C894: .4byte gUnknown_083B6DB4
+_0809C894: .4byte gPokemonStorageSystemPtr
_0809C898: .4byte 0x000011df
_0809C89C: .4byte 0x000011de
_0809C8A0: .4byte 0x000011e3
@@ -13771,6 +130,7 @@ _0809C93E:
thumb_func_end sub_809C85C
thumb_func_start sub_809C944
+@ u8 sub_809C944(void)
sub_809C944: @ 809C944
push {r4-r7,lr}
ldr r0, _0809C988 @ =gUnknown_020384E4
@@ -13778,7 +138,7 @@ sub_809C944: @ 809C944
mov r12, r0
ldr r7, _0809C98C @ =gUnknown_020384E5
ldrb r3, [r7]
- ldr r0, _0809C990 @ =gUnknown_083B6DB4
+ ldr r0, _0809C990 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r0, _0809C994 @ =0x000011df
adds r5, r1, r0
@@ -13808,7 +168,7 @@ sub_809C944: @ 809C944
.align 2, 0
_0809C988: .4byte gUnknown_020384E4
_0809C98C: .4byte gUnknown_020384E5
-_0809C990: .4byte gUnknown_083B6DB4
+_0809C990: .4byte gPokemonStorageSystemPtr
_0809C994: .4byte 0x000011df
_0809C998: .4byte 0x000011de
_0809C99C: .4byte gMain
@@ -13963,6 +323,149 @@ sub_809CA8C: @ 809CA8C
bx r0
thumb_func_end sub_809CA8C
+.if DEBUG
+ thumb_func_start debug_sub_80AA40C
+debug_sub_80AA40C:
+.syntax divided
+ push {lr}
+ bl sub_809AB8C
+ lsl r0, r0, #0x10
+ cmp r0, #0
+ beq ._2084 @cond_branch
+ bl sub_809CDCC
+ mov r0, #0x20
+ bl sub_809CDEC
+ mov r0, #0x6
+ bl sub_809CDEC
+ mov r0, #0x1
+ b ._2085
+._2084:
+ mov r0, #0x0
+._2085:
+ pop {r1}
+ bx r1
+.syntax unified
+ thumb_func_end debug_sub_80AA40C
+.endif
+
+.if DEBUG
+ thumb_func_start sub_809CAB0
+sub_809CAB0:
+.syntax divided
+ push {lr}
+ ldr r0, ._2088 @ unk_2038790
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._2086 @cond_branch
+ bl debug_sub_80AA40C
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._2110
+._2089:
+ .align 2, 0
+._2088:
+ .word unk_2038790
+._2086:
+ bl sub_809CDCC
+ bl sub_809AB8C
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ ldr r0, ._2094 @ gPokemonStorageSystemPtr
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x5]
+ cmp r0, #0x1
+ beq ._2090 @cond_branch
+ cmp r0, #0x1
+ bgt ._2091 @cond_branch
+ cmp r0, #0
+ beq ._2092 @cond_branch
+ b ._2108
+._2095:
+ .align 2, 0
+._2094:
+ .word gPokemonStorageSystemPtr
+._2091:
+ cmp r0, #0x2
+ beq ._2096 @cond_branch
+ b ._2108
+._2090:
+ cmp r1, #0
+ beq ._2108 @cond_branch
+ mov r0, #0x1
+ bl sub_809CDEC
+ b ._2109
+._2092:
+ cmp r1, #0
+ beq ._2108 @cond_branch
+ mov r0, #0x2
+ bl sub_809CDEC
+ b ._2109
+._2096:
+ ldr r0, ._2105 @ gUnknown_020384E6
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq ._2102 @cond_branch
+ cmp r1, #0
+ beq ._2103 @cond_branch
+ mov r0, #0x4
+ bl sub_809CDEC
+ b ._2109
+._2106:
+ .align 2, 0
+._2105:
+ .word gUnknown_020384E6
+._2103:
+ mov r0, #0x5
+ bl sub_809CDEC
+ b ._2109
+._2102:
+ cmp r1, #0
+ beq ._2108 @cond_branch
+ mov r0, #0x3
+ bl sub_809CDEC
+ b ._2109
+._2108:
+ mov r0, #0x0
+ b ._2110
+._2109:
+ mov r0, #0x6
+ bl sub_809CDEC
+ ldr r0, ._2114 @ gPokemonStorageSystemPtr
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x5]
+ cmp r0, #0x2
+ bne ._2113 @cond_branch
+ ldr r0, ._2114 + 4 @ gUnknown_020384E4
+ ldrb r0, [r0]
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ cmp r0, #0
+ bne ._2112 @cond_branch
+ mov r0, #0x2
+ bl sub_809CDEC
+ b ._2113
+._2115:
+ .align 2, 0
+._2114:
+ .word gPokemonStorageSystemPtr
+ .word gUnknown_020384E4
+._2112:
+ mov r0, #0x1
+ bl sub_809CDEC
+._2113:
+ mov r0, #0x8
+ bl sub_809CDEC
+ mov r0, #0x7
+ bl sub_809CDEC
+ mov r0, #0x0
+ bl sub_809CDEC
+ mov r0, #0x1
+._2110:
+ pop {r1}
+ bx r1
+.syntax unified
+ thumb_func_end sub_809CAB0
+.else
thumb_func_start sub_809CAB0
sub_809CAB0: @ 809CAB0
push {lr}
@@ -13970,7 +473,7 @@ sub_809CAB0: @ 809CAB0
bl sub_809AB8C
lsls r0, 16
lsrs r1, r0, 16
- ldr r0, _0809CAD4 @ =gUnknown_083B6DB4
+ ldr r0, _0809CAD4 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0x1
@@ -13981,7 +484,7 @@ sub_809CAB0: @ 809CAB0
beq _0809CAEA
b _0809CB24
.align 2, 0
-_0809CAD4: .4byte gUnknown_083B6DB4
+_0809CAD4: .4byte gPokemonStorageSystemPtr
_0809CAD8:
cmp r0, 0x2
beq _0809CAF6
@@ -14026,7 +529,7 @@ _0809CB24:
_0809CB28:
movs r0, 0x6
bl sub_809CDEC
- ldr r0, _0809CB4C @ =gUnknown_083B6DB4
+ ldr r0, _0809CB4C @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0x2
@@ -14041,7 +544,7 @@ _0809CB28:
bl sub_809CDEC
b _0809CB5A
.align 2, 0
-_0809CB4C: .4byte gUnknown_083B6DB4
+_0809CB4C: .4byte gPokemonStorageSystemPtr
_0809CB50: .4byte gUnknown_020384E4
_0809CB54:
movs r0, 0x1
@@ -14058,10 +561,11 @@ _0809CB6E:
pop {r1}
bx r1
thumb_func_end sub_809CAB0
+.endif
thumb_func_start sub_809CB74
sub_809CB74: @ 809CB74
- ldr r1, _0809CB90 @ =gUnknown_083B6DB4
+ ldr r1, _0809CB90 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
movs r2, 0x8E
lsls r2, 5
@@ -14075,7 +579,7 @@ sub_809CB74: @ 809CB74
strh r1, [r0, 0x22]
bx lr
.align 2, 0
-_0809CB90: .4byte gUnknown_083B6DB4
+_0809CB90: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809CB74
thumb_func_start unref_sub_809CB94
@@ -14157,7 +661,7 @@ sub_809CC04: @ 809CC04
bl LoadSpritePalettes
ldr r0, _0809CCB8 @ =0x0000dac6
bl IndexOfSpritePaletteTag
- ldr r1, _0809CCBC @ =gUnknown_083B6DB4
+ ldr r1, _0809CCBC @ =gPokemonStorageSystemPtr
ldr r6, [r1]
ldr r4, _0809CCC0 @ =0x000011e4
adds r7, r6, r4
@@ -14219,7 +723,7 @@ sub_809CC04: @ 809CC04
_0809CCB0: .4byte gHandCursorSpriteSheets
_0809CCB4: .4byte gHandCursorSpritePalettes
_0809CCB8: .4byte 0x0000dac6
-_0809CCBC: .4byte gUnknown_083B6DB4
+_0809CCBC: .4byte gPokemonStorageSystemPtr
_0809CCC0: .4byte 0x000011e4
_0809CCC4: .4byte 0x0000dad1
_0809CCC8: .4byte 0x000011e5
@@ -14259,7 +763,7 @@ _0809CD08:
lsrs r2, r0, 24
cmp r2, 0x40
beq _0809CD6C
- ldr r0, _0809CD5C @ =gUnknown_083B6DB4
+ ldr r0, _0809CD5C @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809CD60 @ =0x000011c4
adds r4, r0, r1
@@ -14291,12 +795,12 @@ _0809CD08:
b _0809CD78
.align 2, 0
_0809CD58: .4byte gSpriteTemplate_83BBC88
-_0809CD5C: .4byte gUnknown_083B6DB4
+_0809CD5C: .4byte gPokemonStorageSystemPtr
_0809CD60: .4byte 0x000011c4
_0809CD64: .4byte gSprites
_0809CD68: .4byte gUnknown_020384E4
_0809CD6C:
- ldr r0, _0809CD80 @ =gUnknown_083B6DB4
+ ldr r0, _0809CD80 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r2, _0809CD84 @ =0x000011c4
adds r0, r2
@@ -14308,7 +812,7 @@ _0809CD78:
pop {r0}
bx r0
.align 2, 0
-_0809CD80: .4byte gUnknown_083B6DB4
+_0809CD80: .4byte gPokemonStorageSystemPtr
_0809CD84: .4byte 0x000011c4
thumb_func_end sub_809CC04
@@ -14323,7 +827,7 @@ sub_809CD88: @ 809CD88
movs r1, 0x1
_0809CD96:
strb r1, [r2]
- ldr r0, _0809CDC4 @ =gUnknown_083B6DB4
+ ldr r0, _0809CDC4 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r3, 0x8E
lsls r3, 5
@@ -14344,13 +848,15 @@ _0809CD96:
bx r0
.align 2, 0
_0809CDC0: .4byte gUnknown_020384E9
-_0809CDC4: .4byte gUnknown_083B6DB4
+_0809CDC4: .4byte gPokemonStorageSystemPtr
_0809CDC8: .4byte 0x000011e4
thumb_func_end sub_809CD88
+// file boundary here
+
thumb_func_start sub_809CDCC
sub_809CDCC: @ 809CDCC
- ldr r0, _0809CDE0 @ =gUnknown_083B6DB4
+ ldr r0, _0809CDE0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r2, _0809CDE4 @ =0x000011b8
adds r1, r0, r2
@@ -14361,7 +867,7 @@ sub_809CDCC: @ 809CDCC
strb r2, [r0]
bx lr
.align 2, 0
-_0809CDE0: .4byte gUnknown_083B6DB4
+_0809CDE0: .4byte gPokemonStorageSystemPtr
_0809CDE4: .4byte 0x000011b8
_0809CDE8: .4byte 0x000011b9
thumb_func_end sub_809CDCC
@@ -14371,7 +877,7 @@ sub_809CDEC: @ 809CDEC
push {r4,r5,lr}
lsls r0, 24
lsrs r3, r0, 24
- ldr r0, _0809CE3C @ =gUnknown_083B6DB4
+ ldr r0, _0809CE3C @ =gPokemonStorageSystemPtr
ldr r5, [r0]
ldr r0, _0809CE40 @ =0x000011b8
adds r4, r5, r0
@@ -14410,7 +916,7 @@ _0809CE36:
pop {r0}
bx r0
.align 2, 0
-_0809CE3C: .4byte gUnknown_083B6DB4
+_0809CE3C: .4byte gPokemonStorageSystemPtr
_0809CE40: .4byte 0x000011b8
_0809CE44: .4byte gUnknown_083BBCA0
_0809CE48: .4byte 0x000011b9
@@ -14421,7 +927,7 @@ sub_809CE4C: @ 809CE4C
push {lr}
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _0809CE70 @ =gUnknown_083B6DB4
+ ldr r0, _0809CE70 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r3, _0809CE74 @ =0x000011b8
adds r0, r1, r3
@@ -14436,7 +942,7 @@ sub_809CE4C: @ 809CE4C
ldrsb r0, [r1, r0]
b _0809CE80
.align 2, 0
-_0809CE70: .4byte gUnknown_083B6DB4
+_0809CE70: .4byte gPokemonStorageSystemPtr
_0809CE74: .4byte 0x000011b8
_0809CE78: .4byte 0x00001184
_0809CE7C:
@@ -14455,7 +961,7 @@ sub_809CE84: @ 809CE84
mov r4, r8
push {r4-r6}
sub sp, 0x8
- ldr r0, _0809CF20 @ =gUnknown_083B6DB4
+ ldr r0, _0809CF20 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r0, _0809CF24 @ =0x000011b8
adds r0, r4
@@ -14525,7 +1031,7 @@ sub_809CE84: @ 809CE84
pop {r0}
bx r0
.align 2, 0
-_0809CF20: .4byte gUnknown_083B6DB4
+_0809CF20: .4byte gPokemonStorageSystemPtr
_0809CF24: .4byte 0x000011b8
_0809CF28: .4byte 0x000011bc
_0809CF2C: .4byte 0x000011b9
@@ -14583,7 +1089,7 @@ _0809CF8E:
cmp r5, r0
beq _0809CFB2
bl Menu_DestroyCursor
- ldr r0, _0809CFD0 @ =gUnknown_083B6DB4
+ ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r2, _0809CFD4 @ =0x000011ba
adds r0, r1, r2
@@ -14597,7 +1103,7 @@ _0809CF8E:
_0809CFB2:
cmp r5, 0
blt _0809CFC4
- ldr r0, _0809CFD0 @ =gUnknown_083B6DB4
+ ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
lsls r1, r5, 3
ldr r2, _0809CFD8 @ =0x00001184
@@ -14611,7 +1117,7 @@ _0809CFC4:
pop {r1}
bx r1
.align 2, 0
-_0809CFD0: .4byte gUnknown_083B6DB4
+_0809CFD0: .4byte gPokemonStorageSystemPtr
_0809CFD4: .4byte 0x000011ba
_0809CFD8: .4byte 0x00001184
thumb_func_end sub_809CF30
diff --git a/asm/psychic.s b/asm/psychic.s
deleted file mode 100644
index f91ce950e..000000000
--- a/asm/psychic.s
+++ /dev/null
@@ -1,2183 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .syntax unified
-
- .text
-
- @ psychic
-
- thumb_func_start sub_80DB74C
-sub_80DB74C: @ 80DB74C
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, _080DB804 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080DB768
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080DB77E
-_080DB768:
- ldrb r1, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r6, 0x5]
- adds r1, r6, 0
- adds r1, 0x43
- movs r0, 0xC8
- strb r0, [r1]
-_080DB77E:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080DB7DA
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r4, 0
- bl GetBankIdentity_permutated
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080DB7BC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8076034
-_080DB7BC:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r7
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080DB7DA
- movs r0, 0x1
- eors r5, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8076034
-_080DB7DA:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080DB810
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080DB810
- ldr r0, _080DB804 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080DB808
- movs r0, 0x48
- strh r0, [r6, 0x20]
- movs r0, 0x50
- b _080DB84A
- .align 2, 0
-_080DB804: .4byte gAnimBankAttacker
-_080DB808:
- movs r0, 0xB0
- strh r0, [r6, 0x20]
- movs r0, 0x28
- b _080DB84A
-_080DB810:
- ldr r5, _080DB880 @ =gAnimBankAttacker
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080DB826
- ldr r1, _080DB884 @ =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080DB826:
- ldrb r0, [r5]
- movs r1, 0
- bl GetBankPosition
- lsls r0, 24
- ldr r4, _080DB884 @ =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
-_080DB84A:
- strh r0, [r6, 0x22]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080DB85C
- ldrh r0, [r6, 0x22]
- adds r0, 0x9
- strh r0, [r6, 0x22]
-_080DB85C:
- ldr r0, _080DB884 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r6, 0x2E]
- ldr r1, _080DB888 @ =sub_80DB88C
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB880: .4byte gAnimBankAttacker
-_080DB884: .4byte gBattleAnimArgs
-_080DB888: .4byte sub_80DB88C
- thumb_func_end sub_80DB74C
-
- thumb_func_start sub_80DB88C
-sub_80DB88C: @ 80DB88C
- push {lr}
- adds r3, r0, 0
- ldr r2, _080DB8B0 @ =REG_BLDALPHA
- ldrh r1, [r3, 0x34]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r0, r1
- strh r0, [r2]
- ldrh r1, [r3, 0x34]
- movs r2, 0x34
- ldrsh r0, [r3, r2]
- cmp r0, 0xD
- bne _080DB8B8
- ldr r0, _080DB8B4 @ =sub_80DB8C0
- str r0, [r3, 0x1C]
- b _080DB8BC
- .align 2, 0
-_080DB8B0: .4byte REG_BLDALPHA
-_080DB8B4: .4byte sub_80DB8C0
-_080DB8B8:
- adds r0, r1, 0x1
- strh r0, [r3, 0x34]
-_080DB8BC:
- pop {r0}
- bx r0
- thumb_func_end sub_80DB88C
-
- thumb_func_start sub_80DB8C0
-sub_80DB8C0: @ 80DB8C0
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080DB91E
- movs r0, 0
- strh r0, [r3, 0x30]
- ldrh r4, [r3, 0x2E]
- ldr r1, _080DB924 @ =gPlttBufferFaded
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 1
- adds r0, r1
- ldrh r7, [r0]
- movs r5, 0x8
- adds r6, r1, 0
- adds r1, r4, 0x7
- lsls r0, r4, 1
- adds r0, r6
- adds r2, r0, 0
- adds r2, 0x10
- lsls r1, 1
- adds r1, r6
-_080DB8F6:
- ldrh r0, [r1]
- strh r0, [r2]
- subs r1, 0x2
- subs r2, 0x2
- subs r5, 0x1
- cmp r5, 0
- bgt _080DB8F6
- adds r0, r4, 0x1
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _080DB91E
- ldr r0, _080DB928 @ =sub_80DB92C
- str r0, [r3, 0x1C]
-_080DB91E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB924: .4byte gPlttBufferFaded
-_080DB928: .4byte sub_80DB92C
- thumb_func_end sub_80DB8C0
-
- thumb_func_start sub_80DB92C
-sub_80DB92C: @ 80DB92C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r2, _080DB9D4 @ =REG_BLDALPHA
- ldrh r1, [r5, 0x34]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080DB9CC
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080DB9BC
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080DB98E
- ldr r2, _080DB9D8 @ =gSprites
- ldr r0, _080DB9DC @ =gObjectBankIDs
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_080DB98E:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r6
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080DB9BC
- ldr r2, _080DB9D8 @ =gSprites
- ldr r0, _080DB9DC @ =gObjectBankIDs
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_080DB9BC:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080DB9E0 @ =sub_80DB9E4
- str r0, [r5, 0x1C]
-_080DB9CC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB9D4: .4byte REG_BLDALPHA
-_080DB9D8: .4byte gSprites
-_080DB9DC: .4byte gObjectBankIDs
-_080DB9E0: .4byte sub_80DB9E4
- thumb_func_end sub_80DB92C
-
- thumb_func_start sub_80DB9E4
-sub_80DB9E4: @ 80DB9E4
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080DBA3C
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl GetBankIdentity_permutated
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080DBA22
- adds r0, r5, 0
- bl sub_8076464
-_080DBA22:
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080DBA3C
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_8076464
-_080DBA3C:
- ldr r0, _080DBA48 @ =DestroyAnimSprite
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBA48: .4byte DestroyAnimSprite
- thumb_func_end sub_80DB9E4
-
- thumb_func_start sub_80DBA4C
-sub_80DBA4C: @ 80DBA4C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DBAD8
- ldr r5, _080DBA98 @ =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- movs r6, 0
- cmp r0, 0
- bne _080DBA66
- movs r6, 0x1
-_080DBA66:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080DBAAE
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080DBAAE
- ldr r0, _080DBA9C @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080DBAA0
- ldrh r0, [r5]
- movs r1, 0x48
- subs r1, r0
- strh r1, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x50
- strh r0, [r4, 0x22]
- b _080DBAD0
- .align 2, 0
-_080DBA98: .4byte gBattleAnimArgs
-_080DBA9C: .4byte gAnimBankAttacker
-_080DBAA0:
- ldrh r0, [r5]
- adds r0, 0xB0
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x28
- strh r0, [r4, 0x22]
- b _080DBAD0
-_080DBAAE:
- ldr r0, _080DBAC4 @ =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DBAC8
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80787B0
- b _080DBAD0
- .align 2, 0
-_080DBAC4: .4byte gBattleAnimArgs
-_080DBAC8:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8078764
-_080DBAD0:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080DBAEC
-_080DBAD8:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080DBAEC
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080DBAEC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80DBA4C
-
- thumb_func_start sub_80DBAF4
-sub_80DBAF4: @ 80DBAF4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080DBB3C @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080DBB44
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xA
- strh r0, [r5, 0x22]
- ldr r0, _080DBB40 @ =0x0000ffff
- b _080DBB52
- .align 2, 0
-_080DBB3C: .4byte gAnimBankAttacker
-_080DBB40: .4byte 0x0000ffff
-_080DBB44:
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- subs r0, 0xA
- strh r0, [r5, 0x22]
- movs r0, 0x1
-_080DBB52:
- strh r0, [r5, 0x30]
- ldr r1, _080DBB68 @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData
- ldr r0, _080DBB6C @ =sub_8078600
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBB68: .4byte DestroyAnimSprite
-_080DBB6C: .4byte sub_8078600
- thumb_func_end sub_80DBAF4
-
- thumb_func_start sub_80DBB70
-sub_80DBB70: @ 80DBB70
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, _080DBBF4 @ =gAnimBankAttacker
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- lsls r1, 15
- lsrs r4, r1, 16
- ldrb r0, [r6]
- movs r1, 0
- bl sub_807A100
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- negs r1, r1
- lsls r1, 16
- lsrs r7, r1, 16
- ldrb r0, [r6]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DBBB6
- lsls r0, r4, 16
- negs r0, r0
- lsrs r4, r0, 16
-_080DBBB6:
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _080DBBE2
- movs r0, 0x10
- strh r0, [r5, 0x22]
-_080DBBE2:
- ldr r1, _080DBBF8 @ =sub_80DBC00
- adds r0, r5, 0
- bl StoreSpriteCallbackInData
- ldr r0, _080DBBFC @ =sub_8078600
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBBF4: .4byte gAnimBankAttacker
-_080DBBF8: .4byte sub_80DBC00
-_080DBBFC: .4byte sub_8078600
- thumb_func_end sub_80DBB70
-
- thumb_func_start sub_80DBC00
-sub_80DBC00: @ 80DBC00
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080DBC2C @ =gUnknown_083DA888
- str r0, [r4, 0x10]
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- ldr r0, _080DBC30 @ =sub_80DBC34
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBC2C: .4byte gUnknown_083DA888
-_080DBC30: .4byte sub_80DBC34
- thumb_func_end sub_80DBC00
-
- thumb_func_start sub_80DBC34
-sub_80DBC34: @ 80DBC34
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DBC46
- cmp r0, 0x1
- beq _080DBC74
- b _080DBC8C
-_080DBC46:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DBC8C
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x12
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080DBC8C
-_080DBC74:
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080DBC8C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080DBC8C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DBC34
-
- thumb_func_start sub_80DBC94
-sub_80DBC94: @ 80DBC94
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080DBCC4 @ =gTasks
- adds r4, r0
- movs r0, 0
- bl GetAnimBankSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x8]
- ldr r2, _080DBCC8 @ =gUnknown_083DA8A4
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080DBCCC @ =sub_80DBCD0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBCC4: .4byte gTasks
-_080DBCC8: .4byte gUnknown_083DA8A4
-_080DBCCC: .4byte sub_80DBCD0
- thumb_func_end sub_80DBC94
-
- thumb_func_start sub_80DBCD0
-sub_80DBCD0: @ 80DBCD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080DBCF8 @ =gTasks
- adds r0, r1
- bl sub_807992C
- lsls r0, 24
- cmp r0, 0
- bne _080DBCF0
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080DBCF0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBCF8: .4byte gTasks
- thumb_func_end sub_80DBCD0
-
- thumb_func_start sub_80DBCFC
-sub_80DBCFC: @ 80DBCFC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DBD48 @ =gTasks
- adds r4, r1, r0
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldr r0, _080DBD4C @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- movs r1, 0x8
- cmp r0, 0
- beq _080DBD30
- movs r1, 0x4
-_080DBD30:
- strh r1, [r4, 0xE]
- ldrb r1, [r4, 0x8]
- ldr r2, _080DBD50 @ =gUnknown_083DA8C4
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080DBD54 @ =sub_80DBD58
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBD48: .4byte gTasks
-_080DBD4C: .4byte gAnimBankAttacker
-_080DBD50: .4byte gUnknown_083DA8C4
-_080DBD54: .4byte sub_80DBD58
- thumb_func_end sub_80DBCFC
-
- thumb_func_start sub_80DBD58
-sub_80DBD58: @ 80DBD58
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080DBD78 @ =gTasks
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DBD7C
- cmp r0, 0x1
- beq _080DBD98
- b _080DBDF6
- .align 2, 0
-_080DBD78: .4byte gTasks
-_080DBD7C:
- adds r0, r4, 0
- bl sub_807992C
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080DBDF6
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _080DBDF6
-_080DBD98:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DBDC0
- ldr r2, _080DBDBC @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x8
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _080DBDF6
- .align 2, 0
-_080DBDBC: .4byte gSprites
-_080DBDC0:
- ldr r3, _080DBDFC @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- ldrb r0, [r4, 0x8]
- bl sub_8078F40
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080DBDF6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBDFC: .4byte gSprites
- thumb_func_end sub_80DBD58
-
- thumb_func_start sub_80DBE00
-sub_80DBE00: @ 80DBE00
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DBE84 @ =gTasks
- adds r5, r1, r0
- movs r0, 0
- movs r7, 0x10
- strh r7, [r5, 0xE]
- strh r0, [r5, 0x10]
- ldr r4, _080DBE88 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r0, [r4]
- movs r1, 0
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, r6
- bcs _080DBE6A
- adds r1, r6, 0
-_080DBE6A:
- strh r1, [r5, 0x20]
- ldr r1, _080DBE8C @ =REG_BLDCNT
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080DBE90 @ =REG_BLDALPHA
- strh r7, [r0]
- ldr r0, _080DBE94 @ =sub_80DBE98
- str r0, [r5]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBE84: .4byte gTasks
-_080DBE88: .4byte gAnimBankAttacker
-_080DBE8C: .4byte REG_BLDCNT
-_080DBE90: .4byte REG_BLDALPHA
-_080DBE94: .4byte sub_80DBE98
- thumb_func_end sub_80DBE00
-
- thumb_func_start sub_80DBE98
-sub_80DBE98: @ 80DBE98
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DBEBC @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080DBF98
- cmp r1, 0x1
- bgt _080DBEC0
- cmp r1, 0
- beq _080DBECE
- b _080DC014
- .align 2, 0
-_080DBEBC: .4byte gTasks
-_080DBEC0:
- cmp r1, 0x2
- bne _080DBEC6
- b _080DBFF4
-_080DBEC6:
- cmp r1, 0x3
- bne _080DBECC
- b _080DC004
-_080DBECC:
- b _080DC014
-_080DBECE:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bgt _080DBEDE
- b _080DC014
-_080DBEDE:
- strh r1, [r4, 0xA]
- ldr r0, _080DBF1C @ =gSpriteTemplate_83DA8DC
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- adds r1, 0x8
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- strh r2, [r0]
- cmp r2, 0x40
- beq _080DBF82
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080DBF3C
- cmp r0, 0x1
- bgt _080DBF20
- cmp r0, 0
- beq _080DBF2A
- b _080DBF82
- .align 2, 0
-_080DBF1C: .4byte gSpriteTemplate_83DA8DC
-_080DBF20:
- cmp r0, 0x2
- beq _080DBF54
- cmp r0, 0x3
- beq _080DBF6C
- b _080DBF82
-_080DBF2A:
- ldr r0, _080DBF38 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- b _080DBF7A
- .align 2, 0
-_080DBF38: .4byte gSprites
-_080DBF3C:
- ldr r0, _080DBF50 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- b _080DBF80
- .align 2, 0
-_080DBF50: .4byte gSprites
-_080DBF54:
- ldr r1, _080DBF68 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x26]
- b _080DBF82
- .align 2, 0
-_080DBF68: .4byte gSprites
-_080DBF6C:
- ldr r0, _080DBF94 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_080DBF7A:
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_080DBF80:
- strh r0, [r1, 0x26]
-_080DBF82:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080DC014
- b _080DBFF4
- .align 2, 0
-_080DBF94: .4byte gSprites
-_080DBF98:
- ldrh r0, [r4, 0xA]
- ands r1, r0
- cmp r1, 0
- beq _080DBFA8
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _080DBFAE
-_080DBFA8:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
-_080DBFAE:
- ldr r2, _080DBFFC @ =REG_BLDALPHA
- ldrh r0, [r4, 0x10]
- lsls r0, 8
- ldrh r1, [r4, 0xE]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- bne _080DC014
- movs r5, 0x8
- adds r6, r4, 0
- adds r6, 0x8
-_080DBFCE:
- lsls r0, r5, 1
- adds r1, r6, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x40
- beq _080DBFEA
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DC000 @ =gSprites
- adds r0, r1
- bl DestroySprite
-_080DBFEA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xC
- bls _080DBFCE
-_080DBFF4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080DC014
- .align 2, 0
-_080DBFFC: .4byte REG_BLDALPHA
-_080DC000: .4byte gSprites
-_080DC004:
- ldr r0, _080DC01C @ =REG_BLDALPHA
- movs r1, 0
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080DC014:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC01C: .4byte REG_BLDALPHA
- thumb_func_end sub_80DBE98
-
- thumb_func_start sub_80DC020
-sub_80DC020: @ 80DC020
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- subs r0, 0xA
- cmp r1, r0
- ble _080DC04A
- ldrh r0, [r4, 0x30]
- movs r1, 0x1
- ands r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080DC04A:
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080DC05C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080DC05C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC020
-
- thumb_func_start sub_80DC068
-sub_80DC068: @ 80DC068
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080DC0A4 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080DC094
- ldr r4, _080DC0A8 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_080DC094:
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x2E]
- ldr r0, _080DC0AC @ =sub_80DC020
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC0A4: .4byte gBattleAnimArgs
-_080DC0A8: .4byte gAnimBankAttacker
-_080DC0AC: .4byte sub_80DC020
- thumb_func_end sub_80DC068
-
- thumb_func_start sub_80DC0B0
-sub_80DC0B0: @ 80DC0B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DC10C @ =gTasks
- adds r5, r1, r0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080DC154
- ldr r0, _080DC110 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _080DC120
- ldr r0, _080DC114 @ =0x0000fff6
- strh r0, [r5, 0x1C]
- ldr r4, _080DC118 @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080DC11C @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- b _080DC1DE
- .align 2, 0
-_080DC10C: .4byte gTasks
-_080DC110: .4byte gBattleAnimArgs
-_080DC114: .4byte 0x0000fff6
-_080DC118: .4byte gAnimBankTarget
-_080DC11C: .4byte gAnimBankAttacker
-_080DC120:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, _080DC14C @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080DC150 @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- b _080DC1D2
- .align 2, 0
-_080DC14C: .4byte gAnimBankAttacker
-_080DC150: .4byte gAnimBankTarget
-_080DC154:
- ldr r0, _080DC198 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _080DC1A8
- ldr r0, _080DC19C @ =0x0000fff6
- strh r0, [r5, 0x1C]
- ldr r4, _080DC1A0 @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080DC1A4 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- b _080DC1DE
- .align 2, 0
-_080DC198: .4byte gBattleAnimArgs
-_080DC19C: .4byte 0x0000fff6
-_080DC1A0: .4byte gAnimBankTarget
-_080DC1A4: .4byte gAnimBankAttacker
-_080DC1A8:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, _080DC1F0 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080DC1F4 @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
-_080DC1D2:
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_807A100
- subs r0, 0x8
-_080DC1DE:
- strh r0, [r5, 0x24]
- movs r0, 0x6
- strh r0, [r5, 0xA]
- ldr r0, _080DC1F8 @ =sub_80DC1FC
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC1F0: .4byte gAnimBankAttacker
-_080DC1F4: .4byte gAnimBankTarget
-_080DC1F8: .4byte sub_80DC1FC
- thumb_func_end sub_80DC0B0
-
- thumb_func_start sub_80DC1FC
-sub_80DC1FC: @ 80DC1FC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DC21C @ =gTasks
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0
- beq _080DC220
- cmp r1, 0x1
- beq _080DC294
- b _080DC2A8
- .align 2, 0
-_080DC21C: .4byte gTasks
-_080DC220:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080DC2A8
- strh r1, [r5, 0xA]
- ldr r0, _080DC28C @ =gSpriteTemplate_83DA9AC
- movs r2, 0x1E
- ldrsh r1, [r5, r2]
- movs r3, 0x20
- ldrsh r2, [r5, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080DC274
- ldr r0, _080DC290 @ =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x22]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x36]
- ldrh r0, [r5, 0x1C]
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldrb r0, [r5, 0xC]
- movs r1, 0x3
- ands r1, r0
- adds r0, r4, 0
- bl StartSpriteAffineAnim
-_080DC274:
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _080DC2A8
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080DC2A8
- .align 2, 0
-_080DC28C: .4byte gSpriteTemplate_83DA9AC
-_080DC290: .4byte gSprites
-_080DC294:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _080DC2A8
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080DC2A8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC1FC
-
- thumb_func_start sub_80DC2B0
-sub_80DC2B0: @ 80DC2B0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080DC2CE
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_080DC2CE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC2B0
-
- thumb_func_start sub_80DC2D4
-sub_80DC2D4: @ 80DC2D4
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DC30C @ =gTasks
- adds r4, r1, r0
- ldr r0, _080DC310 @ =gAnimBankTarget
- ldrb r0, [r0]
- bl sub_8077FC0
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r1, 0
- subs r0, 0x20
- strh r0, [r4, 0x24]
- ldr r0, _080DC314 @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- beq _080DC32A
- cmp r0, 0x1
- bgt _080DC318
- cmp r0, 0
- beq _080DC31E
- b _080DC346
- .align 2, 0
-_080DC30C: .4byte gTasks
-_080DC310: .4byte gAnimBankTarget
-_080DC314: .4byte gBattleAnimArgs
-_080DC318:
- cmp r0, 0x2
- beq _080DC336
- b _080DC346
-_080DC31E:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0x40
- b _080DC33E
-_080DC32A:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- b _080DC33E
-_080DC336:
- movs r0, 0x4
- strh r0, [r4, 0x1E]
- strh r0, [r4, 0x20]
- movs r0, 0
-_080DC33E:
- strh r0, [r4, 0x22]
- adds r0, r1, 0
- adds r0, 0x20
- strh r0, [r4, 0x26]
-_080DC346:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _080DC352
- movs r0, 0
- strh r0, [r4, 0x24]
-_080DC352:
- ldr r0, _080DC36C @ =gAnimBankTarget
- ldrb r0, [r0]
- bl GetBankIdentity_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DC378
- ldr r0, _080DC370 @ =gBattle_BG1_X
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, _080DC374 @ =REG_BG1HOFS
- b _080DC380
- .align 2, 0
-_080DC36C: .4byte gAnimBankTarget
-_080DC370: .4byte gBattle_BG1_X
-_080DC374: .4byte REG_BG1HOFS
-_080DC378:
- ldr r0, _080DC3E0 @ =gBattle_BG2_X
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, _080DC3E4 @ =REG_BG2HOFS
-_080DC380:
- str r0, [sp]
- ldrh r1, [r4, 0x24]
- lsls r3, r1, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- bgt _080DC3BA
- ldr r5, _080DC3E8 @ =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_080DC39A:
- asrs r3, 16
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r4, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r4, 0x1C]
- strh r0, [r1]
- adds r3, 0x1
- lsls r3, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- ble _080DC39A
-_080DC3BA:
- ldr r0, _080DC3EC @ =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldr r0, _080DC3F0 @ =sub_80DC3F4
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC3E0: .4byte gBattle_BG2_X
-_080DC3E4: .4byte REG_BG2HOFS
-_080DC3E8: .4byte gScanlineEffectRegBuffers
-_080DC3EC: .4byte 0xa2600001
-_080DC3F0: .4byte sub_80DC3F4
- thumb_func_end sub_80DC2D4
-
- thumb_func_start sub_80DC3F4
-sub_80DC3F4: @ 80DC3F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DC41C @ =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080DC4CE
- cmp r0, 0x1
- bgt _080DC420
- cmp r0, 0
- beq _080DC426
- b _080DC4E6
- .align 2, 0
-_080DC41C: .4byte gTasks
-_080DC420:
- cmp r0, 0x2
- beq _080DC4E0
- b _080DC4E6
-_080DC426:
- ldrh r3, [r5, 0x22]
- ldrh r4, [r5, 0x24]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bgt _080DC4BE
- ldr r0, _080DC470 @ =gSineTable
- mov r9, r0
- movs r7, 0x3
- ldr r1, _080DC474 @ =gScanlineEffectRegBuffers
- mov r12, r1
- movs r2, 0xF0
- lsls r2, 3
- add r2, r12
- mov r8, r2
-_080DC448:
- lsls r2, r3, 16
- asrs r0, r2, 15
- add r0, r9
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r3, 0x20
- ldrsh r1, [r5, r3]
- asrs r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r3, r0, 16
- adds r6, r2, 0
- cmp r3, 0
- ble _080DC478
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- adds r0, r3, r0
- b _080DC484
- .align 2, 0
-_080DC470: .4byte gSineTable
-_080DC474: .4byte gScanlineEffectRegBuffers
-_080DC478:
- cmp r3, 0
- bge _080DC488
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- subs r0, r3, r0
-_080DC484:
- lsls r0, 16
- lsrs r1, r0, 16
-_080DC488:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- mov r0, r12
- adds r4, r3, r0
- ldrh r0, [r5, 0x1C]
- lsls r1, 16
- asrs r1, 16
- adds r0, r1, r0
- strh r0, [r4]
- add r3, r8
- ldrh r0, [r5, 0x1C]
- adds r1, r0
- strh r1, [r3]
- asrs r0, r6, 16
- ldrh r1, [r5, 0x1E]
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r2, r0
- ble _080DC448
-_080DC4BE:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- ble _080DC4E6
- b _080DC4D4
-_080DC4CE:
- ldr r1, _080DC4DC @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080DC4D4:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080DC4E6
- .align 2, 0
-_080DC4DC: .4byte gScanlineEffect
-_080DC4E0:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080DC4E6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC3F4
-
- thumb_func_start sub_80DC4F4
-sub_80DC4F4: @ 80DC4F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080DC528 @ =gTasks
- adds r7, r0, r1
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r5, r0, 24
- mov r10, r5
- adds r6, r5, 0
- cmp r6, 0xFF
- bne _080DC52C
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080DC5D6
- .align 2, 0
-_080DC528: .4byte gTasks
-_080DC52C:
- ldr r1, _080DC550 @ =gBattleAnimArgs
- ldrb r0, [r1]
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- lsrs r1, r0, 16
- mov r9, r1
- asrs r0, 16
- cmp r0, 0
- bge _080DC554
- adds r0, r5, 0
- bl FreeOamMatrix
- mov r0, r8
- bl DestroyAnimVisualTask
- b _080DC5D6
- .align 2, 0
-_080DC550: .4byte gBattleAnimArgs
-_080DC554:
- ldr r2, _080DC5E4 @ =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r2, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, _080DC5E8 @ =SpriteCallbackDummy
- str r1, [r0]
- adds r4, r2
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1F
- ands r6, r0
- lsls r2, r6, 1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x3]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r1, r4, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- ldr r1, _080DC5EC @ =gBattleAnimArgs
- ldrb r0, [r1]
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x22]
- mov r0, r10
- strh r0, [r7, 0x24]
- mov r1, r9
- strh r1, [r7, 0x26]
- ldr r0, _080DC5F0 @ =sub_80DC5F4
- str r0, [r7]
-_080DC5D6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC5E4: .4byte gSprites
-_080DC5E8: .4byte SpriteCallbackDummy
-_080DC5EC: .4byte gBattleAnimArgs
-_080DC5F0: .4byte sub_80DC5F4
- thumb_func_end sub_80DC4F4
-
- thumb_func_start sub_80DC5F4
-sub_80DC5F4: @ 80DC5F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080DC618 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080DC678
- cmp r0, 0x1
- bgt _080DC61C
- cmp r0, 0
- beq _080DC626
- b _080DC6F8
- .align 2, 0
-_080DC618: .4byte gTasks
-_080DC61C:
- cmp r0, 0x2
- beq _080DC6C8
- cmp r0, 0x3
- beq _080DC6E8
- b _080DC6F8
-_080DC626:
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, _080DC674 @ =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8079AB8
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x30
- bne _080DC6F8
- b _080DC6DA
- .align 2, 0
-_080DC674: .4byte gSineTable
-_080DC678:
- ldrh r0, [r4, 0xA]
- subs r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, _080DC6C4 @ =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8079AB8
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080DC6F8
- b _080DC6DA
- .align 2, 0
-_080DC6C4: .4byte gSineTable
-_080DC6C8:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DC6E4 @ =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
-_080DC6DA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080DC6F8
- .align 2, 0
-_080DC6E4: .4byte gSprites
-_080DC6E8:
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bl FreeOamMatrix
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080DC6F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC5F4
-
- thumb_func_start sub_80DC700
-sub_80DC700: @ 80DC700
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080DC778
- cmp r0, 0x1
- bgt _080DC716
- cmp r0, 0
- beq _080DC720
- b _080DC818
-_080DC716:
- cmp r0, 0x2
- beq _080DC7AA
- cmp r0, 0x3
- beq _080DC808
- b _080DC818
-_080DC720:
- ldr r4, _080DC76C @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080DC74E
- ldrh r0, [r5, 0x22]
- adds r0, 0xC
- strh r0, [r5, 0x22]
-_080DC74E:
- movs r0, 0x8
- strh r0, [r5, 0x30]
- ldr r1, _080DC770 @ =REG_BLDCNT
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080DC774 @ =REG_BLDALPHA
- ldrh r1, [r5, 0x30]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r0, r1
- strh r0, [r2]
- b _080DC7A2
- .align 2, 0
-_080DC76C: .4byte gAnimBankAttacker
-_080DC770: .4byte REG_BLDCNT
-_080DC774: .4byte REG_BLDALPHA
-_080DC778:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DC818
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xCB
- bl PlaySE12WithPanning
- adds r0, r5, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
-_080DC7A2:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080DC818
-_080DC7AA:
- ldrh r0, [r5, 0x32]
- adds r1, r0, 0x1
- strh r1, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080DC7E8
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x30]
- subs r1, 0x1
- strh r1, [r5, 0x30]
- ldr r2, _080DC804 @ =REG_BLDALPHA
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080DC7E8
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080DC7E8:
- movs r0, 0xE0
- lsls r0, 2
- adds r2, r0, 0
- ldrh r1, [r5, 0x34]
- adds r2, r1
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r5, 0x26]
- subs r0, r1
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r5, 0x34]
- b _080DC818
- .align 2, 0
-_080DC804: .4byte REG_BLDALPHA
-_080DC808:
- ldr r0, _080DC820 @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r5, 0
- bl DestroyAnimSprite
-_080DC818:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC820: .4byte REG_BLDCNT
- thumb_func_end sub_80DC700
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rock.s b/asm/rock.s
deleted file mode 100644
index 98afb53e6..000000000
--- a/asm/rock.s
+++ /dev/null
@@ -1,1643 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .syntax unified
-
- .text
-
- @ rock
-
- thumb_func_start sub_80DCE9C
-sub_80DCE9C: @ 80DCE9C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080DCF08 @ =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080DCEBC
- ldr r0, _080DCF0C @ =gAnimBankTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_807A3FC
-_080DCEBC:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r4, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xE
- strh r0, [r5, 0x22]
- ldrb r1, [r6, 0x2]
- adds r0, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0
- bl AnimateSprite
- strh r4, [r5, 0x2E]
- strh r4, [r5, 0x30]
- movs r0, 0x4
- strh r0, [r5, 0x32]
- movs r0, 0x10
- strh r0, [r5, 0x34]
- ldr r0, _080DCF10 @ =0x0000ffba
- strh r0, [r5, 0x36]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x38]
- ldr r1, _080DCF14 @ =sub_80DCF1C
- adds r0, r5, 0
- bl StoreSpriteCallbackInData
- ldr r1, _080DCF18 @ =sub_8078278
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCF08: .4byte gBattleAnimArgs
-_080DCF0C: .4byte gAnimBankTarget
-_080DCF10: .4byte 0x0000ffba
-_080DCF14: .4byte sub_80DCF1C
-_080DCF18: .4byte sub_8078278
- thumb_func_end sub_80DCE9C
-
- thumb_func_start sub_80DCF1C
-sub_80DCF1C: @ 80DCF1C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x38]
- ldrh r2, [r4, 0x20]
- adds r0, r1, r2
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r0, 0x4
- strh r0, [r4, 0x32]
- movs r0, 0x20
- strh r0, [r4, 0x34]
- ldr r0, _080DCF54 @ =0x0000ffe8
- strh r0, [r4, 0x36]
- ldr r1, _080DCF58 @ =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- ldr r1, _080DCF5C @ =sub_8078278
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCF54: .4byte 0x0000ffe8
-_080DCF58: .4byte move_anim_8074EE0
-_080DCF5C: .4byte sub_8078278
- thumb_func_end sub_80DCF1C
-
- thumb_func_start sub_80DCF60
-sub_80DCF60: @ 80DCF60
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080DCF88 @ =gBattleAnimArgs
- ldrb r1, [r4, 0xA]
- bl StartSpriteAnim
- adds r0, r5, 0
- bl AnimateSprite
- ldr r0, _080DCF8C @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080DCF90
- ldrh r0, [r5, 0x20]
- ldrh r1, [r4]
- subs r0, r1
- b _080DCF96
- .align 2, 0
-_080DCF88: .4byte gBattleAnimArgs
-_080DCF8C: .4byte gAnimBankAttacker
-_080DCF90:
- ldrh r0, [r4]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_080DCF96:
- strh r0, [r5, 0x20]
- ldr r3, _080DCFD8 @ =gBattleAnimArgs
- ldrh r2, [r3, 0x2]
- ldrh r0, [r5, 0x22]
- adds r2, r0
- movs r4, 0
- strh r2, [r5, 0x22]
- ldrh r0, [r3, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r1, [r3, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- strh r2, [r5, 0x34]
- ldrh r0, [r3, 0x6]
- adds r2, r0
- strh r2, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078A5C
- strh r4, [r5, 0x34]
- strh r4, [r5, 0x36]
- ldr r0, _080DCFDC @ =sub_8078394
- str r0, [r5, 0x1C]
- ldr r1, _080DCFE0 @ =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCFD8: .4byte gBattleAnimArgs
-_080DCFDC: .4byte sub_8078394
-_080DCFE0: .4byte move_anim_8074EE0
- thumb_func_end sub_80DCF60
-
- thumb_func_start sub_80DCFE4
-sub_80DCFE4: @ 80DCFE4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080DCFFC @ =gBattleAnimArgs
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DD000
- adds r0, r4, 0
- movs r1, 0
- bl sub_80787B0
- b _080DD008
- .align 2, 0
-_080DCFFC: .4byte gBattleAnimArgs
-_080DD000:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8078764
-_080DD008:
- ldr r1, _080DD024 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, _080DD028 @ =sub_80DD02C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD024: .4byte gBattleAnimArgs
-_080DD028: .4byte sub_80DD02C
- thumb_func_end sub_80DCFE4
-
- thumb_func_start sub_80DD02C
-sub_80DD02C: @ 80DD02C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080DD072
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080DD072:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DD02C
-
- thumb_func_start do_boulder_dust
-do_boulder_dust: @ 80DD078
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r1, _080DD154 @ =REG_BLDCNT
- ldr r2, _080DD158 @ =0x00003f42
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _080DD15C @ =REG_BG1CNT
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080DD0C4
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080DD0C4:
- ldr r0, _080DD160 @ =gBattle_BG1_X
- strh r5, [r0]
- ldr r0, _080DD164 @ =gBattle_BG1_Y
- strh r5, [r0]
- ldr r0, _080DD168 @ =REG_BG1HOFS
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- str r5, [sp, 0xC]
- ldr r2, _080DD16C @ =0x040000d4
- add r0, sp, 0xC
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080DD170 @ =0x85000400
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _080DD174 @ =gBattleAnimBackgroundTilemap_SandstormBrew
- bl LZDecompressVram
- ldr r0, _080DD178 @ =gBattleAnimBackgroundImage_SandstormBrew
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _080DD17C @ =gBattleAnimSpritePalette_261
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080DD120
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080DD120:
- ldr r0, _080DD180 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080DD13A
- ldr r0, _080DD184 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080DD13A
- movs r5, 0x1
-_080DD13A:
- ldr r0, _080DD188 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- strh r5, [r1, 0x8]
- ldr r0, _080DD18C @ =sub_80DD190
- str r0, [r1]
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD154: .4byte REG_BLDCNT
-_080DD158: .4byte 0x00003f42
-_080DD15C: .4byte REG_BG1CNT
-_080DD160: .4byte gBattle_BG1_X
-_080DD164: .4byte gBattle_BG1_Y
-_080DD168: .4byte REG_BG1HOFS
-_080DD16C: .4byte 0x040000d4
-_080DD170: .4byte 0x85000400
-_080DD174: .4byte gBattleAnimBackgroundTilemap_SandstormBrew
-_080DD178: .4byte gBattleAnimBackgroundImage_SandstormBrew
-_080DD17C: .4byte gBattleAnimSpritePalette_261
-_080DD180: .4byte gBattleAnimArgs
-_080DD184: .4byte gAnimBankAttacker
-_080DD188: .4byte gTasks
-_080DD18C: .4byte sub_80DD190
- thumb_func_end do_boulder_dust
-
- thumb_func_start sub_80DD190
-sub_80DD190: @ 80DD190
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080DD1C0 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r3, r1, 0
- cmp r0, 0
- bne _080DD1CC
- ldr r1, _080DD1C4 @ =gBattle_BG1_X
- ldr r5, _080DD1C8 @ =0x0000fffa
- adds r0, r5, 0
- ldrh r2, [r1]
- adds r0, r2
- b _080DD1D2
- .align 2, 0
-_080DD1C0: .4byte gTasks
-_080DD1C4: .4byte gBattle_BG1_X
-_080DD1C8: .4byte 0x0000fffa
-_080DD1CC:
- ldr r1, _080DD204 @ =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
-_080DD1D2:
- strh r0, [r1]
- adds r4, r1, 0
- ldr r1, _080DD208 @ =gBattle_BG1_Y
- ldr r5, _080DD20C @ =0x0000ffff
- adds r0, r5, 0
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- lsls r2, r7, 2
- adds r0, r2, r7
- lsls r0, 3
- adds r0, r3
- movs r5, 0x20
- ldrsh r0, [r0, r5]
- mov r8, r2
- adds r2, r1, 0
- cmp r0, 0x4
- bls _080DD1F8
- b _080DD37C
-_080DD1F8:
- lsls r0, 2
- ldr r1, _080DD210 @ =_080DD214
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DD204: .4byte gBattle_BG1_X
-_080DD208: .4byte gBattle_BG1_Y
-_080DD20C: .4byte 0x0000ffff
-_080DD210: .4byte _080DD214
- .align 2, 0
-_080DD214:
- .4byte _080DD228
- .4byte _080DD270
- .4byte _080DD292
- .4byte _080DD2D4
- .4byte _080DD358
-_080DD228:
- mov r1, r8
- adds r0, r1, r7
- lsls r0, 3
- adds r3, r0, r3
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _080DD242
- b _080DD37C
-_080DD242:
- strh r4, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- adds r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080DD26C @ =REG_BLDALPHA
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r2, 0x1E
- ldrsh r0, [r3, r2]
- cmp r0, 0x7
- beq _080DD260
- b _080DD37C
-_080DD260:
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r4, [r3, 0x1E]
- b _080DD37C
- .align 2, 0
-_080DD26C: .4byte REG_BLDALPHA
-_080DD270:
- mov r5, r8
- adds r0, r5, r7
- lsls r0, 3
- adds r1, r0, r3
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x65
- bne _080DD37C
- movs r0, 0x7
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _080DD37C
-_080DD292:
- mov r1, r8
- adds r0, r1, r7
- lsls r0, 3
- adds r3, r0, r3
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080DD37C
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- subs r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080DD2D0 @ =REG_BLDALPHA
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r2, 0x1E
- ldrsh r1, [r3, r2]
- cmp r1, 0
- bne _080DD37C
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r1, [r3, 0x1E]
- b _080DD37C
- .align 2, 0
-_080DD2D0: .4byte REG_BLDALPHA
-_080DD2D4:
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp]
- movs r3, 0x80
- lsls r3, 6
- add r5, sp, 0xC
- movs r6, 0
- ldr r1, _080DD38C @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- mov r9, r5
- ldr r0, _080DD390 @ =0x85000400
- mov r12, r0
- movs r0, 0x85
- lsls r0, 24
- mov r10, r0
-_080DD2F6:
- str r6, [sp, 0xC]
- mov r0, r9
- str r0, [r1]
- str r2, [r1, 0x4]
- mov r0, r12
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080DD2F6
- str r6, [sp, 0xC]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r10
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080DD38C @ =0x040000d4
- str r5, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080DD394 @ =0x85000200
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080DD344
- ldr r2, _080DD398 @ =REG_BG1CNT
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080DD344:
- ldr r0, _080DD39C @ =gTasks
- mov r5, r8
- adds r1, r5, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r4, _080DD3A0 @ =gBattle_BG1_X
- ldr r2, _080DD3A4 @ =gBattle_BG1_Y
-_080DD358:
- movs r1, 0
- strh r1, [r4]
- strh r1, [r2]
- ldr r0, _080DD3A8 @ =REG_BLDCNT
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r2, _080DD398 @ =REG_BG1CNT
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_080DD37C:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD38C: .4byte 0x040000d4
-_080DD390: .4byte 0x85000400
-_080DD394: .4byte 0x85000200
-_080DD398: .4byte REG_BG1CNT
-_080DD39C: .4byte gTasks
-_080DD3A0: .4byte gBattle_BG1_X
-_080DD3A4: .4byte gBattle_BG1_Y
-_080DD3A8: .4byte REG_BLDCNT
- thumb_func_end sub_80DD190
-
- thumb_func_start sub_80DD3AC
-sub_80DD3AC: @ 80DD3AC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080DD428
- ldr r4, _080DD3F0 @ =gBattleAnimArgs
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080DD3F8
- ldr r0, _080DD3F4 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080DD3F8
- movs r0, 0x98
- lsls r0, 1
- strh r0, [r5, 0x20]
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
- movs r0, 0x1
- strh r0, [r5, 0x38]
- ldrb r1, [r5, 0x3]
- subs r0, 0x40
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r5, 0x3]
- b _080DD3FC
- .align 2, 0
-_080DD3F0: .4byte gBattleAnimArgs
-_080DD3F4: .4byte gAnimBankAttacker
-_080DD3F8:
- ldr r0, _080DD41C @ =0x0000ffc0
- strh r0, [r5, 0x20]
-_080DD3FC:
- ldr r4, _080DD420 @ =gBattleAnimArgs
- ldrh r0, [r4]
- strh r0, [r5, 0x22]
- ldr r1, _080DD424 @ =gUnknown_083DAD10
- adds r0, r5, 0
- bl SetSubspriteTables
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080DD484
- .align 2, 0
-_080DD41C: .4byte 0x0000ffc0
-_080DD420: .4byte gBattleAnimArgs
-_080DD424: .4byte gUnknown_083DAD10
-_080DD428:
- ldrh r1, [r5, 0x30]
- ldrh r3, [r5, 0x34]
- adds r1, r3
- ldrh r2, [r5, 0x32]
- ldrh r0, [r5, 0x36]
- adds r2, r0
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r3, [r5, 0x24]
- adds r0, r3
- strh r0, [r5, 0x24]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r3, [r5, 0x26]
- adds r0, r3
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r5, 0x34]
- ands r2, r0
- strh r2, [r5, 0x36]
- movs r1, 0x38
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080DD46E
- movs r2, 0x20
- ldrsh r0, [r5, r2]
- movs r3, 0x24
- ldrsh r1, [r5, r3]
- adds r0, r1
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- ble _080DD484
- b _080DD480
-_080DD46E:
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080DD484
-_080DD480:
- ldr r0, _080DD48C @ =DestroyAnimSprite
- str r0, [r5, 0x1C]
-_080DD484:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD48C: .4byte DestroyAnimSprite
- thumb_func_end sub_80DD3AC
-
- thumb_func_start sub_80DD490
-sub_80DD490: @ 80DD490
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080DD4C8 @ =gBattleAnimArgs
- ldrb r1, [r5, 0x8]
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl sub_80787B0
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldr r0, _080DD4CC @ =sub_8078B34
- str r0, [r4, 0x1C]
- ldr r1, _080DD4D0 @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD4C8: .4byte gBattleAnimArgs
-_080DD4CC: .4byte sub_8078B34
-_080DD4D0: .4byte DestroyAnimSprite
- thumb_func_end sub_80DD490
-
- thumb_func_start sub_80DD4D4
-sub_80DD4D4: @ 80DD4D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DD554 @ =gTasks
- adds r6, r1, r0
- ldr r5, _080DD558 @ =gAnimBankAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0xC0
- lsls r1, 13
- adds r0, r1
- lsrs r7, r0, 16
- ldr r4, _080DD55C @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xC0
- lsls r2, 13
- adds r0, r2
- lsrs r0, 16
- mov r8, r0
- ldrb r1, [r5]
- movs r0, 0x2
- eors r0, r1
- ldrb r4, [r4]
- cmp r0, r4
- bne _080DD544
- mov r8, r7
-_080DD544:
- bl sub_80DD8BC
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _080DD560
- movs r0, 0x20
- b _080DD566
- .align 2, 0
-_080DD554: .4byte gTasks
-_080DD558: .4byte gAnimBankAttacker
-_080DD55C: .4byte gAnimBankTarget
-_080DD560:
- lsls r1, r5, 3
- movs r0, 0x30
- subs r0, r1
-_080DD566:
- strh r0, [r6, 0x18]
- movs r4, 0
- strh r4, [r6, 0x8]
- strh r4, [r6, 0x1E]
- strh r4, [r6, 0x1A]
- movs r0, 0x1
- strh r0, [r6, 0x20]
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bge _080DD57E
- adds r0, 0x7
-_080DD57E:
- asrs r0, 3
- subs r0, 0x1
- strh r0, [r6, 0x1C]
- mov r2, r9
- lsls r0, r2, 3
- strh r0, [r6, 0xC]
- lsls r0, r7, 3
- strh r0, [r6, 0xE]
- mov r1, r10
- subs r0, r1, r2
- lsls r0, 3
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x10]
- mov r1, r8
- subs r0, r1, r7
- lsls r0, 3
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x12]
- strh r4, [r6, 0x14]
- strh r4, [r6, 0x16]
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r4, r0, 0
- lsls r4, 24
- asrs r4, 8
- lsrs r4, 16
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- lsls r0, 24
- strh r4, [r6, 0x22]
- asrs r0, 24
- lsls r4, 16
- asrs r4, 16
- subs r0, r4
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x24]
- strh r5, [r6, 0xA]
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x26]
- ldr r0, _080DD600 @ =sub_80DD604
- str r0, [r6]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD600: .4byte sub_80DD604
- thumb_func_end sub_80DD4D4
-
- thumb_func_start sub_80DD604
-sub_80DD604: @ 80DD604
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DD628 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080DD61E
- b _080DD76C
-_080DD61E:
- lsls r0, 2
- ldr r1, _080DD62C @ =_080DD630
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DD628: .4byte gTasks
-_080DD62C: .4byte _080DD630
- .align 2, 0
-_080DD630:
- .4byte _080DD644
- .4byte _080DD6A8
- .4byte _080DD6B0
- .4byte _080DD70C
- .4byte _080DD75E
-_080DD644:
- ldrh r2, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- subs r2, r0
- strh r2, [r4, 0x14]
- ldrh r0, [r4, 0x16]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x16]
- ldr r3, _080DD6A4 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- lsls r2, 16
- asrs r2, 19
- strh r2, [r0, 0x24]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080DD694
- movs r0, 0x14
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080DD694:
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xA2
- bl PlaySE12WithPanning
- b _080DD76C
- .align 2, 0
-_080DD6A4: .4byte gSprites
-_080DD6A8:
- ldrh r0, [r4, 0x1E]
- subs r0, 0x1
- strh r0, [r4, 0x1E]
- b _080DD750
-_080DD6B0:
- ldrh r0, [r4, 0x1A]
- subs r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080DD6D0
- ldrh r0, [r4, 0x10]
- ldrh r2, [r4, 0x14]
- adds r0, r2
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x16]
- adds r0, r1
- strh r0, [r4, 0x16]
- b _080DD6DA
-_080DD6D0:
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x16]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080DD6DA:
- ldr r2, _080DD708 @ =gSprites
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x24]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x26]
- b _080DD76C
- .align 2, 0
-_080DD708: .4byte gSprites
-_080DD70C:
- ldrh r0, [r4, 0x10]
- ldrh r2, [r4, 0xC]
- adds r0, r2
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1C
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080DD74A
- movs r0, 0
- strh r0, [r4, 0x1A]
- adds r0, r4, 0
- bl sub_80DD774
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- strh r1, [r4, 0x22]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xAF
- bl PlaySE12WithPanning
-_080DD74A:
- ldrh r0, [r4, 0x18]
- subs r0, 0x1
- strh r0, [r4, 0x18]
-_080DD750:
- lsls r0, 16
- cmp r0, 0
- bne _080DD76C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080DD76C
-_080DD75E:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DD76C
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080DD76C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DD604
-
- thumb_func_start sub_80DD774
-sub_80DD774: @ 80DD774
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bhi _080DD864
- lsls r0, 2
- ldr r1, _080DD790 @ =_080DD794
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DD790: .4byte _080DD794
- .align 2, 0
-_080DD794:
- .4byte _080DD7A8
- .4byte _080DD7B4
- .4byte _080DD7B4
- .4byte _080DD7C0
- .4byte _080DD7CC
-_080DD7A8:
- ldr r3, _080DD7B0 @ =gSpriteTemplate_83DAD78
- movs r5, 0
- b _080DD7D0
- .align 2, 0
-_080DD7B0: .4byte gSpriteTemplate_83DAD78
-_080DD7B4:
- ldr r3, _080DD7BC @ =gSpriteTemplate_83DAD90
- movs r5, 0x50
- b _080DD7D0
- .align 2, 0
-_080DD7BC: .4byte gSpriteTemplate_83DAD90
-_080DD7C0:
- ldr r3, _080DD7C8 @ =gSpriteTemplate_83DAD90
- movs r5, 0x40
- b _080DD7D0
- .align 2, 0
-_080DD7C8: .4byte gSpriteTemplate_83DAD90
-_080DD7CC:
- ldr r3, _080DD86C @ =gSpriteTemplate_83DAD90
- movs r5, 0x30
-_080DD7D0:
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 19
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r4, 0xE]
- lsls r2, 16
- asrs r2, 19
- lsls r2, 16
- movs r6, 0x20
- ldrsh r0, [r4, r6]
- lsls r0, 2
- adds r1, r0
- lsls r1, 16
- lsrs r6, r1, 16
- asrs r1, 16
- lsrs r7, r2, 16
- asrs r2, 16
- adds r0, r3, 0
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080DD85C
- ldr r1, _080DD870 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x12
- strh r1, [r0, 0x2E]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 2
- adds r2, r6, r2
- movs r6, 0xA
- ldrsh r3, [r4, r6]
- lsls r1, r3, 1
- adds r1, r3
- adds r2, r1
- strh r2, [r0, 0x32]
- strh r7, [r0, 0x36]
- movs r1, 0xA
- ldrsh r2, [r4, r1]
- lsls r2, 1
- movs r3, 0x10
- negs r3, r3
- adds r1, r3, 0
- subs r1, r2
- strh r1, [r0, 0x38]
- ldrh r3, [r0, 0x4]
- lsls r2, r3, 22
- lsrs r2, 22
- adds r2, r5
- ldr r5, _080DD874 @ =0x000003ff
- adds r1, r5, 0
- ands r2, r1
- ldr r1, _080DD878 @ =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- bl sub_80786EC
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
-_080DD85C:
- movs r6, 0x20
- ldrsh r0, [r4, r6]
- negs r0, r0
- strh r0, [r4, 0x20]
-_080DD864:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD86C: .4byte gSpriteTemplate_83DAD90
-_080DD870: .4byte gSprites
-_080DD874: .4byte 0x000003ff
-_080DD878: .4byte 0xfffffc00
- thumb_func_end sub_80DD774
-
- thumb_func_start sub_80DD87C
-sub_80DD87C: @ 80DD87C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080DD8AE
- ldr r0, _080DD8B4 @ =sub_80DD604
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080DD8A8
- ldr r0, _080DD8B8 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1E]
- subs r0, 0x1
- strh r0, [r1, 0x1E]
-_080DD8A8:
- adds r0, r4, 0
- bl DestroySprite
-_080DD8AE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD8B4: .4byte sub_80DD604
-_080DD8B8: .4byte gTasks
- thumb_func_end sub_80DD87C
-
- thumb_func_start sub_80DD8BC
-sub_80DD8BC: @ 80DD8BC
- push {lr}
- ldr r0, _080DD8E4 @ =gAnimDisableStructPtr
- ldr r0, [r0]
- ldrb r1, [r0, 0x11]
- lsrs r0, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x4
- bls _080DD8DE
- movs r1, 0x1
-_080DD8DE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080DD8E4: .4byte gAnimDisableStructPtr
- thumb_func_end sub_80DD8BC
-
- thumb_func_start sub_80DD8E8
-sub_80DD8E8: @ 80DD8E8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080DD920 @ =gBattleAnimArgs
- ldrb r1, [r5, 0x8]
- bl StartSpriteAnim
- ldrh r0, [r5]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- ldrh r1, [r5, 0x4]
- subs r0, r1
- strh r0, [r4, 0x34]
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, _080DD924 @ =sub_80DD928
- str r0, [r4, 0x1C]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD920: .4byte gBattleAnimArgs
-_080DD924: .4byte sub_80DD928
- thumb_func_end sub_80DD8E8
-
- thumb_func_start sub_80DD928
-sub_80DD928: @ 80DD928
- push {lr}
- adds r2, r0, 0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- ldrh r1, [r2, 0x34]
- movs r3, 0x34
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080DD960
- ldrh r3, [r2, 0x32]
- adds r0, r1, r3
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r1, r0
- strh r1, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r1, 16
- cmp r1, 0
- ble _080DD972
- movs r0, 0
- strh r0, [r2, 0x34]
- b _080DD972
-_080DD960:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080DD972
- adds r0, r2, 0
- bl DestroyAnimSprite
-_080DD972:
- pop {r0}
- bx r0
- thumb_func_end sub_80DD928
-
- thumb_func_start sub_80DD978
-sub_80DD978: @ 80DD978
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080DD9A0 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DD994
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080DD994:
- adds r0, r4, 0
- bl sub_807941C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD9A0: .4byte gAnimBankAttacker
- thumb_func_end sub_80DD978
-
- thumb_func_start sub_80DD9A4
-sub_80DD9A4: @ 80DD9A4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080DD9F0 @ =gAnimBankTarget
- ldrb r0, [r5]
- movs r1, 0
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBankPosition
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DD9F4 @ =gBattleAnimArgs
- ldrh r3, [r2]
- ldrh r5, [r4, 0x20]
- adds r1, r3, r5
- strh r1, [r4, 0x20]
- ldrh r1, [r2, 0x2]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r3, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x38]
- ldrb r1, [r2, 0x6]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _080DD9F8 @ =sub_80DD9FC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD9F0: .4byte gAnimBankTarget
-_080DD9F4: .4byte gBattleAnimArgs
-_080DD9F8: .4byte sub_80DD9FC
- thumb_func_end sub_80DD9A4
-
- thumb_func_start sub_80DD9FC
-sub_80DD9FC: @ 80DD9FC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x8
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl __divsi3
- ldrh r1, [r4, 0x24]
- adds r1, r0
- strh r1, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- subs r1, r0
- strh r1, [r4, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x8C
- ble _080DDA46
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080DDA46:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DD9FC
-
- thumb_func_start sub_80DDA4C
-sub_80DDA4C: @ 80DDA4C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080DDA84 @ =gAnimMoveDmg
- ldr r0, [r2]
- cmp r0, 0x20
- bgt _080DDA60
- ldr r1, _080DDA88 @ =gBattleAnimArgs
- movs r0, 0
- strh r0, [r1, 0xE]
-_080DDA60:
- ldr r2, [r2]
- adds r0, r2, 0
- subs r0, 0x21
- cmp r0, 0x20
- bhi _080DDA70
- ldr r1, _080DDA88 @ =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080DDA70:
- cmp r2, 0x41
- ble _080DDA7A
- ldr r1, _080DDA88 @ =gBattleAnimArgs
- movs r0, 0x2
- strh r0, [r1, 0xE]
-_080DDA7A:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080DDA84: .4byte gAnimMoveDmg
-_080DDA88: .4byte gBattleAnimArgs
- thumb_func_end sub_80DDA4C
-
- thumb_func_start sub_80DDA8C
-sub_80DDA8C: @ 80DDA8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080DDAE8 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080DDAAE
- movs r0, 0
- bl sub_80789D4
- movs r0, 0xC8
- strh r0, [r5, 0xA]
-_080DDAAE:
- ldr r4, _080DDAEC @ =gBattle_BG3_Y
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- ldrh r0, [r5, 0xA]
- subs r0, 0x3
- strh r0, [r5, 0xA]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x78
- bne _080DDADA
- movs r0, 0x1
- bl sub_80789D4
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080DDADA:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDAE8: .4byte gTasks
-_080DDAEC: .4byte gBattle_BG3_Y
- thumb_func_end sub_80DDA8C
-
- thumb_func_start sub_80DDAF0
-sub_80DDAF0: @ 80DDAF0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080DDB5C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DDB1C
- movs r0, 0
- bl sub_80789D4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, _080DDB60 @ =gBattle_BG3_Y
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
-_080DDB1C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x50
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0xA]
- ldr r6, _080DDB60 @ =gBattle_BG3_Y
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r0, 0x4
- bl Cos
- ldrh r4, [r4, 0xC]
- adds r0, r4
- strh r0, [r6]
- ldr r0, _080DDB64 @ =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- ldr r0, _080DDB68 @ =0x00000fff
- cmp r1, r0
- bne _080DDB54
- movs r0, 0
- strh r0, [r6]
- movs r0, 0x1
- bl sub_80789D4
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080DDB54:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDB5C: .4byte gTasks
-_080DDB60: .4byte gBattle_BG3_Y
-_080DDB64: .4byte gBattleAnimArgs
-_080DDB68: .4byte 0x00000fff
- thumb_func_end sub_80DDAF0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/taya_debug_window.s b/asm/taya_debug_window.s
new file mode 100644
index 000000000..68d27390d
--- /dev/null
+++ b/asm/taya_debug_window.s
@@ -0,0 +1,2054 @@
+.if DEBUG
+
+ .include "constants/gba_constants.inc"
+ .include "include/macros.inc"
+
+ .text
+
+ thumb_func_start TayaDebugMenu_Trend
+TayaDebugMenu_Trend:
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6, r7}
+ add sp, sp, #0xffffffd8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1e
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r5, ._3 @ gSaveBlock1
+ mov r7, #0x0
+ mov r0, #0x1
+ add r0, r0, sp
+ mov sl, r0
+ mov r9, sp
+ mov r0, #0x0
+ mov r8, r0
+ add r6, sp, #0x20
+._2:
+ ldrb r1, [r5, #0x1]
+ mov r0, #0x40
+ and r0, r0, r1
+ mov r1, #0xa1
+ cmp r0, #0
+ beq ._1 @cond_branch
+ mov r1, #0xa2
+._1:
+ mov r0, r9
+ strb r1, [r0]
+ ldrh r1, [r5, #0x4]
+ add r0, r6, #0
+ bl EasyChat_GetWordText
+ mov r0, sl
+ add r1, r6, #0
+ mov r2, #0x0
+ mov r3, #0x7
+ bl StringCopyPadded
+ add r4, r0, #0
+ ldrh r1, [r5, #0x6]
+ add r0, r6, #0
+ bl EasyChat_GetWordText
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #0x0
+ mov r3, #0x8
+ bl StringCopyPadded
+ add r4, r0, #0
+ ldrb r1, [r5]
+ lsl r1, r1, #0x19
+ lsr r1, r1, #0x19
+ mov r2, #0x1
+ mov r3, #0x3
+ bl ConvertIntToDecimalStringN
+ add r4, r0, #0
+ mov r0, r8
+ strb r0, [r4]
+ add r4, r4, #0x1
+ ldrh r1, [r5]
+ lsl r1, r1, #0x12
+ lsr r1, r1, #0x19
+ add r0, r4, #0
+ mov r2, #0x1
+ mov r3, #0x3
+ bl ConvertIntToDecimalStringN
+ add r4, r0, #0
+ mov r0, r8
+ strb r0, [r4]
+ add r4, r4, #0x1
+ ldrh r1, [r5, #0x2]
+ add r0, r4, #0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ lsl r2, r7, #0x1
+ add r2, r2, #0x1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ mov r0, sp
+ mov r1, #0x1
+ bl Menu_PrintText
+ add r5, r5, #0x8
+ add r0, r7, #1
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ cmp r7, #0x4
+ bls ._2 @cond_branch
+ ldr r1, ._3 + 4 @ gMenuCallback
+ ldr r0, ._3 + 8 @ debug_sub_8090808
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x28
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._4:
+ .align 2, 0
+._3:
+ .word gSaveBlock1+0x2dd4
+ .word gMenuCallback
+ .word debug_sub_8090808+1
+
+ thumb_func_end TayaDebugMenu_Trend
+
+ thumb_func_start debug_sub_8090808
+debug_sub_8090808:
+ push {lr}
+ ldr r0, ._7 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x3
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._5 @cond_branch
+ mov r0, #0x0
+ b ._6
+._8:
+ .align 2, 0
+._7:
+ .word gMain
+._5:
+ bl Menu_EraseScreen
+ bl CloseMenu
+ mov r0, #0x1
+._6:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8090808
+
+ thumb_func_start TayaDebugMenu_TrendR
+TayaDebugMenu_TrendR:
+ push {r4, r5, r6, r7, lr}
+ mov r0, #0x0
+ ldr r7, ._11 @ gSaveBlock1
+._10:
+ mov r4, #0x0
+ lsl r5, r0, #0x3
+ add r6, r0, #1
+._9:
+ bl Random
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x16
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl sub_80EB72C
+ lsl r1, r4, #0x1
+ add r1, r1, r5
+ add r1, r1, r7
+ strh r0, [r1]
+ add r0, r4, #1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x1
+ bls ._9 @cond_branch
+ lsl r0, r6, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x4
+ bls ._10 @cond_branch
+ bl Menu_EraseScreen
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._12:
+ .align 2, 0
+._11:
+ .word gSaveBlock1+0x2dd8
+
+ thumb_func_end TayaDebugMenu_TrendR
+
+ thumb_func_start debug_sub_8090880
+debug_sub_8090880:
+ push {lr}
+ bl UpdatePaletteFade
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._13 @cond_branch
+ mov r0, #0x0
+ b ._14
+._13:
+ bl sub_80E60D8
+ mov r0, #0x1
+._14:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8090880
+
+ thumb_func_start debug_sub_809089C
+debug_sub_809089C:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ beq ._15 @cond_branch
+ add r0, r0, #0x1
+ cmp r1, r0
+ bne ._16 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+ b ._17
+._16:
+ ldr r2, ._19 @ gSpecialVar_0x8004
+ ldr r0, ._19 + 4 @ gUnknown_Debug_083C4EC0
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r2]
+ sub r0, r0, #0x5
+ cmp r0, #0x7
+ bhi ._27 @cond_branch
+ lsl r0, r0, #0x2
+ ldr r1, ._19 + 8 @
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._20:
+ .align 2, 0
+._19:
+ .word gSpecialVar_0x8004
+ .word gUnknown_Debug_083C4EC0
+ .word ._21
+._21:
+ .word ._29
+ .word ._27
+ .word ._29
+ .word ._29
+ .word ._27
+ .word ._27
+ .word ._29
+ .word ._29
+._29:
+ ldr r0, ._30 @ gSpecialVar_0x8005
+ mov r1, #0x0
+ strh r1, [r0]
+ ldr r0, ._30 + 4 @ gSpecialVar_0x8006
+ strh r1, [r0]
+._27:
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FadeScreen
+ ldr r1, ._30 + 8 @ gMenuCallback
+ ldr r0, ._30 + 12 @ debug_sub_8090880
+ str r0, [r1]
+._15:
+ mov r0, #0x0
+._17:
+ pop {r1}
+ bx r1
+._31:
+ .align 2, 0
+._30:
+ .word gSpecialVar_0x8005
+ .word gSpecialVar_0x8006
+ .word gMenuCallback
+ .word debug_sub_8090880+1
+
+ thumb_func_end debug_sub_809089C
+
+ thumb_func_start TayaDebugMenu_SimpleText
+TayaDebugMenu_SimpleText:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xc
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._32 @ gUnknown_Debug_083C4EC0
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xb
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._32 + 4 @ gMenuCallback
+ ldr r0, ._32 + 8 @ debug_sub_809089C
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._33:
+ .align 2, 0
+._32:
+ .word gUnknown_Debug_083C4EC0
+ .word gMenuCallback
+ .word debug_sub_809089C+1
+
+ thumb_func_end TayaDebugMenu_SimpleText
+
+ thumb_func_start debug_sub_8090984
+debug_sub_8090984:
+ push {r4, r5, r6, r7, lr}
+ bl Menu_ProcessInput
+ lsl r2, r0, #0x18
+ asr r1, r2, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ beq ._34 @cond_branch
+ add r0, r0, #0x1
+ cmp r1, r0
+ beq ._46 @cond_branch
+ cmp r1, #0x4
+ bgt ._36 @cond_branch
+ lsr r0, r2, #0x18
+ bl debug_sub_810B32C
+ b ._46
+._34:
+ mov r0, #0x0
+ b ._38
+._36:
+ cmp r1, #0x5
+ bne ._39 @cond_branch
+ bl sub_80F7F30
+ b ._46
+._39:
+ cmp r1, #0x6
+ bne ._41 @cond_branch
+ mov r4, #0x0
+ ldr r0, ._44 @ gSaveBlock1
+ add r1, r0, #2
+ mov ip, r1
+ ldr r7, ._44 + 4 @ gUnknown_Debug_083C4F08
+ ldr r1, ._44 + 8 @ 0xfffffd94
+ add r6, r0, r1
+ add r5, r0, #0
+ add r5, r5, #0xe
+._42:
+ lsl r1, r4, #0x1
+ mov r0, ip
+ add r3, r1, r0
+ add r0, r1, r7
+ ldrh r2, [r0]
+ strh r2, [r3]
+ add r0, r1, r5
+ strh r2, [r0]
+ add r1, r6, r1
+ strh r2, [r1]
+ add r0, r4, #1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x2
+ bls ._42 @cond_branch
+ b ._46
+._45:
+ .align 2, 0
+._44:
+ .word gSaveBlock1+0x2d94
+ .word gUnknown_Debug_083C4F08
+ .word 0xfffffd94
+._41:
+ cmp r1, #0x7
+ bne ._46 @cond_branch
+ mov r4, #0x0
+._47:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl sub_80EB890
+ add r0, r4, #1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x20
+ bls ._47 @cond_branch
+._46:
+ bl CloseMenu
+ mov r0, #0x1
+._38:
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_8090984
+
+ thumb_func_start TayaDebugMenu_OldMan
+TayaDebugMenu_OldMan:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xa
+ mov r3, #0x11
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._48 @ gUnknown_Debug_083C4F54
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0x8
+ bl Menu_PrintItems
+ bl GetCurrentMauvilleOldMan
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp]
+ mov r0, #0x9
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x8
+ bl InitMenu
+ ldr r1, ._48 + 4 @ gMenuCallback
+ ldr r0, ._48 + 8 @ debug_sub_8090984
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._49:
+ .align 2, 0
+._48:
+ .word gUnknown_Debug_083C4F54
+ .word gMenuCallback
+ .word debug_sub_8090984+1
+
+ thumb_func_end TayaDebugMenu_OldMan
+
+ thumb_func_start TayaDebugMenu_LanettesPC
+TayaDebugMenu_LanettesPC:
+ push {lr}
+ bl Menu_EraseScreen
+ bl ShowPokemonStorageSystem
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+
+ thumb_func_end TayaDebugMenu_LanettesPC
+
+ thumb_func_start TayaDebugMenu_TownFlags
+TayaDebugMenu_TownFlags:
+ push {lr}
+ ldr r0, ._50 @ 0x80f
+ bl FlagSet
+ mov r0, #0x81
+ lsl r0, r0, #0x4
+ bl FlagSet
+ ldr r0, ._50 + 4 @ 0x811
+ bl FlagSet
+ ldr r0, ._50 + 8 @ 0x812
+ bl FlagSet
+ ldr r0, ._50 + 12 @ 0x813
+ bl FlagSet
+ ldr r0, ._50 + 16 @ 0x814
+ bl FlagSet
+ ldr r0, ._50 + 20 @ 0x815
+ bl FlagSet
+ ldr r0, ._50 + 24 @ 0x816
+ bl FlagSet
+ ldr r0, ._50 + 28 @ 0x817
+ bl FlagSet
+ ldr r0, ._50 + 32 @ 0x818
+ bl FlagSet
+ ldr r0, ._50 + 36 @ 0x819
+ bl FlagSet
+ ldr r0, ._50 + 40 @ 0x81a
+ bl FlagSet
+ ldr r0, ._50 + 44 @ 0x81b
+ bl FlagSet
+ ldr r0, ._50 + 48 @ 0x81c
+ bl FlagSet
+ ldr r0, ._50 + 52 @ 0x81d
+ bl FlagSet
+ ldr r0, ._50 + 56 @ 0x81e
+ bl FlagSet
+ ldr r0, ._50 + 60 @ 0x848
+ bl FlagSet
+ ldr r0, ._50 + 64 @ 0x849
+ bl FlagSet
+ ldr r0, ._50 + 68 @ 0x84a
+ bl FlagSet
+ ldr r0, ._50 + 72 @ 0x854
+ bl FlagSet
+ ldr r0, ._50 + 76 @ 0x855
+ bl FlagSet
+ ldr r0, ._50 + 80 @ 0x856
+ bl FlagSet
+ ldr r0, ._50 + 84 @ 0x857
+ bl FlagSet
+ ldr r0, ._50 + 88 @ 0x858
+ bl FlagSet
+ ldr r0, ._50 + 92 @ 0x859
+ bl FlagSet
+ ldr r0, ._50 + 96 @ 0x85a
+ bl FlagSet
+ ldr r0, ._50 + 100 @ 0x85b
+ bl FlagSet
+ ldr r0, ._50 + 104 @ 0x85c
+ bl FlagSet
+ ldr r0, ._50 + 108 @ 0x83c
+ bl FlagSet
+ ldr r0, ._50 + 112 @ 0x83d
+ bl FlagSet
+ ldr r0, ._50 + 116 @ 0x83e
+ bl FlagSet
+ ldr r0, ._50 + 120 @ 0x83f
+ bl FlagSet
+ mov r0, #0x84
+ lsl r0, r0, #0x4
+ bl FlagSet
+ ldr r0, ._50 + 124 @ 0x841
+ bl FlagSet
+ ldr r0, ._50 + 128 @ 0x842
+ bl FlagSet
+ ldr r0, ._50 + 132 @ 0x843
+ bl FlagSet
+ ldr r0, ._50 + 136 @ 0x844
+ bl FlagSet
+ ldr r0, ._50 + 140 @ 0x845
+ bl FlagSet
+ ldr r0, ._50 + 144 @ 0x846
+ bl FlagSet
+ ldr r0, ._50 + 148 @ 0x847
+ bl FlagSet
+ ldr r0, ._50 + 152 @ 0x83b
+ bl FlagSet
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._51:
+ .align 2, 0
+._50:
+ .word 0x80f
+ .word 0x811
+ .word 0x812
+ .word 0x813
+ .word 0x814
+ .word 0x815
+ .word 0x816
+ .word 0x817
+ .word 0x818
+ .word 0x819
+ .word 0x81a
+ .word 0x81b
+ .word 0x81c
+ .word 0x81d
+ .word 0x81e
+ .word 0x848
+ .word 0x849
+ .word 0x84a
+ .word 0x854
+ .word 0x855
+ .word 0x856
+ .word 0x857
+ .word 0x858
+ .word 0x859
+ .word 0x85a
+ .word 0x85b
+ .word 0x85c
+ .word 0x83c
+ .word 0x83d
+ .word 0x83e
+ .word 0x83f
+ .word 0x841
+ .word 0x842
+ .word 0x843
+ .word 0x844
+ .word 0x845
+ .word 0x846
+ .word 0x847
+ .word 0x83b
+
+ thumb_func_end TayaDebugMenu_TownFlags
+
+ thumb_func_start TayaDebugMenu_AwardARibbon
+TayaDebugMenu_AwardARibbon:
+ push {lr}
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x10
+ mov r2, #0x0
+ bl BlendPalettes
+ ldr r0, ._52 @ debug_sub_80915BC
+ bl SetMainCallback2
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._53:
+ .align 2, 0
+._52:
+ .word debug_sub_80915BC+1
+
+ thumb_func_end TayaDebugMenu_AwardARibbon
+
+ thumb_func_start debug_sub_8090C44
+debug_sub_8090C44:
+ push {r4, r5, lr}
+ ldr r4, ._54 @ gSharedMem
+ sub r5, r4, #1
+ ldrh r1, [r5, #0x8]
+ add r0, r4, #0
+ mov r2, #0x2
+ mov r3, #0x5
+ bl ConvertIntToDecimalStringN
+ add r0, r4, #0
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ add r0, r4, #0
+ mov r1, #0x0
+ mov r2, #0x5
+ bl StringFill
+ ldrb r0, [r5]
+ add r0, r0, r4
+ mov r1, #0x79
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #0x1
+ mov r2, #0x3
+ bl Menu_PrintText
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._55:
+ .align 2, 0
+._54:
+ .word gSharedMem+1
+
+ thumb_func_end debug_sub_8090C44
+
+ thumb_func_start debug_sub_8090C88
+debug_sub_8090C88:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add sp, sp, #0xfffffffc
+ mov r0, #0x1
+ mov r8, r0
+ ldr r2, ._59 @ gMain
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x20
+ and r0, r0, r1
+ add r3, r2, #0
+ cmp r0, #0
+ beq ._57 @cond_branch
+ ldr r1, ._59 + 4 @ gSharedMem
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq ._57 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ b ._62
+._60:
+ .align 2, 0
+._59:
+ .word gMain
+ .word gSharedMem
+._67:
+ add r0, r0, #0x1
+ strb r0, [r1]
+ b ._62
+._77:
+ strh r1, [r7, #0x8]
+ b ._62
+._79:
+ ldr r0, ._64 @ gSharedMem
+ ldrh r0, [r0, #0x8]
+ bl SetLotteryNumber16_Unused
+._78:
+ bl CloseMenu
+ mov r0, #0x1
+ b ._63
+._65:
+ .align 2, 0
+._64:
+ .word gSharedMem
+._57:
+ ldrh r1, [r3, #0x2e]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._66 @cond_branch
+ ldr r1, ._81 @ gSharedMem
+ ldrb r0, [r1]
+ cmp r0, #0x3
+ bls ._67 @cond_branch
+._66:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._68 @cond_branch
+ ldr r0, ._81 @ gSharedMem
+ ldrh r1, [r0, #0x8]
+ str r1, [r0, #0xc]
+ ldr r1, ._81 + 4 @ 0x2710
+ strh r1, [r0, #0x10]
+ mov r4, #0x0
+ ldrb r1, [r0]
+ add r7, r0, #0
+ cmp r4, r1
+ bcs ._69 @cond_branch
+ add r5, r7, #0
+ add r6, r1, #0
+._70:
+ ldrh r0, [r5, #0x10]
+ mov r1, #0xa
+ str r3, [sp]
+ bl __udivsi3
+ strh r0, [r5, #0x10]
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r3, [sp]
+ cmp r4, r6
+ bcc ._70 @cond_branch
+._69:
+ ldrh r1, [r7, #0x10]
+ ldr r0, [r7, #0xc]
+ add r0, r0, r1
+ str r0, [r7, #0xc]
+ ldr r1, ._81 + 8 @ 0xffff
+ cmp r0, r1
+ ble ._71 @cond_branch
+ str r1, [r7, #0xc]
+._71:
+ ldrh r0, [r7, #0x8]
+ ldr r1, [r7, #0xc]
+ cmp r0, r1
+ bne ._77 @cond_branch
+._68:
+ ldrh r1, [r3, #0x30]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._73 @cond_branch
+ ldr r0, ._81 @ gSharedMem
+ ldrh r1, [r0, #0x8]
+ str r1, [r0, #0xc]
+ ldr r1, ._81 + 4 @ 0x2710
+ strh r1, [r0, #0x10]
+ mov r4, #0x0
+ ldrb r1, [r0]
+ add r7, r0, #0
+ cmp r4, r1
+ bcs ._74 @cond_branch
+ add r5, r7, #0
+ add r6, r1, #0
+._75:
+ ldrh r0, [r5, #0x10]
+ mov r1, #0xa
+ str r3, [sp]
+ bl __udivsi3
+ strh r0, [r5, #0x10]
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r3, [sp]
+ cmp r4, r6
+ bcc ._75 @cond_branch
+._74:
+ add r2, r7, #0
+ ldrh r1, [r2, #0x10]
+ ldr r0, [r2, #0xc]
+ sub r0, r0, r1
+ str r0, [r2, #0xc]
+ cmp r0, #0
+ bge ._76 @cond_branch
+ mov r0, #0x0
+ str r0, [r2, #0xc]
+._76:
+ ldrh r0, [r2, #0x8]
+ ldr r1, [r2, #0xc]
+ cmp r0, r1
+ bne ._77 @cond_branch
+._73:
+ ldrh r2, [r3, #0x2e]
+ mov r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ bne ._78 @cond_branch
+ mov r0, #0x1
+ and r0, r0, r2
+ cmp r0, #0
+ bne ._79 @cond_branch
+ mov r0, #0x0
+ mov r8, r0
+._62:
+ mov r0, r8
+ cmp r0, #0
+ beq ._80 @cond_branch
+ bl debug_sub_8090C44
+._80:
+ mov r0, #0x0
+._63:
+ add sp, sp, #0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._82:
+ .align 2, 0
+._81:
+ .word gSharedMem
+ .word 0x2710
+ .word 0xffff
+
+ thumb_func_end debug_sub_8090C88
+
+ thumb_func_start TayaDebugMenu_PKMNLottery
+TayaDebugMenu_PKMNLottery:
+ push {lr}
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x6
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ bl RetrieveLotteryNumber
+ ldr r2, ._83 @ gSharedMem
+ ldr r0, ._83 + 4 @ gSpecialVar_Result
+ ldrh r0, [r0]
+ mov r1, #0x0
+ strh r0, [r2, #0x8]
+ strb r1, [r2]
+ bl debug_sub_8090C44
+ ldr r1, ._83 + 8 @ gMenuCallback
+ ldr r0, ._83 + 12 @ debug_sub_8090C88
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._84:
+ .align 2, 0
+._83:
+ .word gSharedMem
+ .word gSpecialVar_Result
+ .word gMenuCallback
+ .word debug_sub_8090C88+1
+
+ thumb_func_end TayaDebugMenu_PKMNLottery
+
+ thumb_func_start TayaDebugMenu_Trainer
+TayaDebugMenu_Trainer:
+ push {r4, r5, lr}
+ mov r4, #0x0
+ ldr r5, ._86 @ gTrainerEyeTrainers
+._85:
+ lsl r0, r4, #0x4
+ add r0, r0, r5
+ ldrh r0, [r0]
+ bl SetTrainerFlag
+ add r0, r4, #1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x37
+ bls ._85 @cond_branch
+ ldr r0, ._86 + 4 @ 0x109
+ bl SetTrainerFlag
+ mov r0, #0x85
+ lsl r0, r0, #0x1
+ bl SetTrainerFlag
+ ldr r0, ._86 + 8 @ 0x10b
+ bl SetTrainerFlag
+ mov r0, #0x86
+ lsl r0, r0, #0x1
+ bl SetTrainerFlag
+ ldr r0, ._86 + 12 @ 0x10d
+ bl SetTrainerFlag
+ mov r0, #0x87
+ lsl r0, r0, #0x1
+ bl SetTrainerFlag
+ ldr r0, ._86 + 16 @ 0x10f
+ bl SetTrainerFlag
+ mov r0, #0x88
+ lsl r0, r0, #0x1
+ bl SetTrainerFlag
+ ldr r0, ._86 + 20 @ 0x105
+ bl SetTrainerFlag
+ mov r0, #0x83
+ lsl r0, r0, #0x1
+ bl SetTrainerFlag
+ ldr r0, ._86 + 24 @ 0x107
+ bl SetTrainerFlag
+ mov r0, #0x84
+ lsl r0, r0, #0x1
+ bl SetTrainerFlag
+ ldr r0, ._86 + 28 @ 0x14f
+ bl SetTrainerFlag
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+._87:
+ .align 2, 0
+._86:
+ .word gTrainerEyeTrainers
+ .word 0x109
+ .word 0x10b
+ .word 0x10d
+ .word 0x10f
+ .word 0x105
+ .word 0x107
+ .word 0x14f
+
+ thumb_func_end TayaDebugMenu_Trainer
+
+ thumb_func_start TayaDebugMenu_PokenavD
+TayaDebugMenu_PokenavD:
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6, r7}
+ add sp, sp, #0xffffffe4
+ bl Menu_DisplayDialogueFrame
+ mov r0, #0x0
+ mov sl, r0
+ mov r6, #0x1
+ mov r7, #0xff
+ mov r1, #0x3
+ mov r9, r1
+._93:
+ ldr r4, ._94 @ gSharedMem
+ add r0, r4, #0
+ ldr r1, ._94 + 4 @ gUnknown_Debug_083C4F94
+ bl StringCopy
+ mov r5, sl
+ add r5, r5, #0x1
+ add r1, r5, r4
+ mov r0, #0xff
+ strb r0, [r1]
+ add r0, r4, #0
+ mov r1, #0x2
+ mov r2, #0xf
+ bl Menu_PrintText
+ mov r0, #0x0
+ mov r8, r0
+ str r5, [sp, #0x14]
+ mov r1, sl
+ lsl r1, r1, #0x2
+ str r1, [sp, #0x18]
+._91:
+ bl Random
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ add r0, r0, #0x1
+ str r0, [sp, #0x10]
+ bl Random
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x64
+ bl __umodsi3
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ bl Random
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0xc1
+ lsl r1, r1, #0x1
+ bl __umodsi3
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ cmp r3, #0xfb
+ bls ._89 @cond_branch
+ add r0, r3, #0
+ add r0, r0, #0x19
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ ldr r0, ._94 + 8 @ 0x19b
+ cmp r3, r0
+ bls ._89 @cond_branch
+ mov r3, #0x1
+._89:
+ ldr r0, [sp, #0x18]
+ add r0, r0, sl
+ lsl r4, r0, #0x4
+ sub r4, r4, r0
+ lsl r4, r4, #0x5
+ mov r1, r8
+ lsl r0, r1, #0x2
+ add r0, r0, r8
+ lsl r0, r0, #0x4
+ ldr r1, ._94 + 12 @ gPokemonStorage
+ add r0, r0, r1
+ add r4, r4, r0
+ lsl r2, r5, #0x18
+ lsr r2, r2, #0x18
+ mov r0, #0x0
+ str r0, [sp]
+ str r0, [sp, #0x4]
+ str r6, [sp, #0x8]
+ ldr r0, [sp, #0x10]
+ str r0, [sp, #0xc]
+ add r0, r4, #0
+ add r1, r3, #0
+ mov r3, #0x20
+ bl CreateBoxMon
+ bl Random
+ add r1, r7, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x16
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r7, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x17
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r7, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x18
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r7, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x21
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r7, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x2f
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r7, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x30
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ add r1, r1, #0x1
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x32
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ add r1, r1, #0x1
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x33
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ add r1, r1, #0x1
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x34
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ add r1, r1, #0x1
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x36
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ mov r1, r9
+ and r1, r1, r0
+ add r1, r1, #0x1
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x35
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x43
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x44
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x45
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x46
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x47
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x48
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x49
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x4a
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x4b
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x4c
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x4d
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ bl Random
+ add r1, r6, #0
+ and r1, r1, r0
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ mov r1, #0x4e
+ add r2, sp, #0x10
+ bl SetBoxMonData
+ mov r0, r8
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r8, r0
+ cmp r0, #0x1d
+ bhi ._90 @cond_branch
+ b ._91
+._90:
+ ldr r1, [sp, #0x14]
+ lsl r0, r1, #0x10
+ lsr r0, r0, #0x10
+ mov sl, r0
+ cmp r0, #0xd
+ bhi ._92 @cond_branch
+ b ._93
+._92:
+ bl TayaDebugMenu_TownFlags
+ bl TayaDebugMenu_Trainer
+ bl CloseMenu
+ mov r0, #0x1
+ add sp, sp, #0x1c
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._95:
+ .align 2, 0
+._94:
+ .word gSharedMem
+ .word gUnknown_Debug_083C4F94
+ .word 0x19b
+ .word gPokemonStorage+0x4
+
+ thumb_func_end TayaDebugMenu_PokenavD
+
+ thumb_func_start TayaDebugMenu_8091190
+TayaDebugMenu_8091190:
+ push {r4, r5, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r3, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r3, r0
+ beq ._96 @cond_branch
+ add r0, r0, #0x1
+ cmp r3, r0
+ beq ._97 @cond_branch
+ ldr r2, ._99 @ gMenuCallback
+ ldr r1, ._99 + 4 @ gUnknown_Debug_83C5068
+ ldr r0, ._99 + 8 @ unk_2030224
+ ldrb r0, [r0]
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ lsl r0, r0, #0x3
+ add r0, r0, r1
+ ldr r1, [r0]
+ lsl r0, r3, #0x3
+ add r0, r0, r1
+ ldr r0, [r0, #0x4]
+ str r0, [r2]
+._106:
+ mov r0, #0x0
+ b ._98
+._100:
+ .align 2, 0
+._99:
+ .word gMenuCallback
+ .word gUnknown_Debug_83C5068
+ .word unk_2030224
+._96:
+ ldr r3, ._107 @ unk_2030224
+ ldrb r4, [r3]
+ ldr r2, ._107 + 4 @ gMain
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x20
+ and r0, r0, r1
+ add r5, r3, #0
+ cmp r0, #0
+ beq ._102 @cond_branch
+ sub r0, r4, #1
+ strb r0, [r5]
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bge ._102 @cond_branch
+ mov r0, #0x1
+ strb r0, [r5]
+._102:
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._104 @cond_branch
+ ldrb r0, [r5]
+ add r0, r0, #0x1
+ strb r0, [r5]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bls ._104 @cond_branch
+ mov r0, #0x0
+ strb r0, [r5]
+._104:
+ lsl r0, r4, #0x18
+ asr r0, r0, #0x18
+ mov r1, #0x0
+ ldrsb r1, [r5, r1]
+ cmp r0, r1
+ beq ._106 @cond_branch
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xb
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r4, ._107 + 8 @ gUnknown_Debug_83C5068
+ mov r0, #0x0
+ ldrsb r0, [r5, r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r4
+ ldrb r2, [r0, #0x4]
+ ldr r3, [r0]
+ mov r0, #0x1
+ mov r1, #0x1
+ bl Menu_PrintItems
+ mov r0, #0x0
+ ldrsb r0, [r5, r0]
+ lsl r0, r0, #0x3
+ add r0, r0, r4
+ ldrb r3, [r0, #0x4]
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xa
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ bl InitMenu
+ b ._106
+._108:
+ .align 2, 0
+._107:
+ .word unk_2030224
+ .word gMain
+ .word gUnknown_Debug_83C5068
+._97:
+ bl CloseMenu
+ mov r0, #0x1
+._98:
+ add sp, sp, #0x8
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end TayaDebugMenu_8091190
+
+ thumb_func_start InitTayaDebugWindow
+InitTayaDebugWindow:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ ldr r1, ._109 @ unk_2030224
+ mov r0, #0x0
+ strb r0, [r1]
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xb
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._109 + 4 @ gUnknown_Debug_83C5068
+ ldr r3, [r0]
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xa
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._109 + 8 @ gMenuCallback
+ ldr r0, ._109 + 12 @ TayaDebugMenu_8091190
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._110:
+ .align 2, 0
+._109:
+ .word unk_2030224
+ .word gUnknown_Debug_83C5068
+ .word gMenuCallback
+ .word TayaDebugMenu_8091190+1
+
+ thumb_func_end InitTayaDebugWindow
+
+ thumb_func_start debug_sub_80912D8
+debug_sub_80912D8:
+ push {lr}
+ ldr r0, ._113 @ gPaletteFade
+ ldrb r1, [r0, #0x7]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._111 @cond_branch
+ mov r0, #0x0
+ b ._112
+._114:
+ .align 2, 0
+._113:
+ .word gPaletteFade
+._111:
+ ldr r0, ._115 @ debug_sub_8110F28
+ bl SetMainCallback2
+ mov r0, #0x1
+._112:
+ pop {r1}
+ bx r1
+._116:
+ .align 2, 0
+._115:
+ .word debug_sub_8110F28+1
+
+ thumb_func_end debug_sub_80912D8
+
+ thumb_func_start debug_sub_8091300
+debug_sub_8091300:
+ push {lr}
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FadeScreen
+ ldr r1, ._117 @ gMenuCallback
+ ldr r0, ._117 + 4 @ debug_sub_80912D8
+ str r0, [r1]
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+._118:
+ .align 2, 0
+._117:
+ .word gMenuCallback
+ .word debug_sub_80912D8+1
+
+ thumb_func_end debug_sub_8091300
+
+ thumb_func_start debug_sub_8091320
+debug_sub_8091320:
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_8091320
+
+ thumb_func_start debug_sub_8091334
+debug_sub_8091334:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6, r7}
+ bl AnimateSprites
+ bl BuildOamBuffer
+ ldr r3, ._123 @ gSharedMem
+ add r0, r3, #0
+ add r0, r0, #0x52
+ ldrb r4, [r0]
+ cmp r4, #0
+ beq ._119 @cond_branch
+ cmp r4, #0x1
+ bne ._120 @cond_branch
+ b ._121
+._120:
+ b ._162
+._124:
+ .align 2, 0
+._123:
+ .word gSharedMem
+._119:
+ add r5, r3, #0
+ add r5, r5, #0x55
+ strb r4, [r5]
+ ldr r2, ._131 @ gMain
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ mov r9, r2
+ cmp r0, #0
+ beq ._126 @cond_branch
+ add r1, r3, #0
+ add r1, r1, #0x54
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq ._126 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ mov r0, #0x1
+ strb r0, [r5]
+._126:
+ mov r0, r9
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ ldr r5, ._131 + 4 @ gSharedMem
+ cmp r0, #0
+ beq ._133 @cond_branch
+ add r0, r5, #0
+ add r0, r0, #0x53
+ ldrb r0, [r0]
+ cmp r0, #0x2
+ beq ._128 @cond_branch
+ add r1, r5, #0
+ add r1, r1, #0x54
+ ldrb r0, [r1]
+ cmp r0, #0x4
+ bhi ._133 @cond_branch
+ b ._130
+._132:
+ .align 2, 0
+._131:
+ .word gMain
+ .word gSharedMem
+._128:
+ add r1, r5, #0
+ add r1, r1, #0x54
+ ldrb r0, [r1]
+ cmp r0, #0x3
+ bhi ._133 @cond_branch
+._130:
+ add r0, r0, #0x1
+ strb r0, [r1]
+ add r1, r1, #0x1
+ mov r0, #0x1
+ strb r0, [r1]
+._133:
+ mov r2, r9
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._135 @cond_branch
+ add r1, r5, #0
+ add r1, r1, #0x53
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq ._135 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ add r1, r1, #0x2
+ mov r0, #0x1
+ strb r0, [r1]
+._135:
+ mov r3, r9
+ ldrh r1, [r3, #0x2e]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._140 @cond_branch
+ add r0, r5, #0
+ add r0, r0, #0x54
+ ldrb r0, [r0]
+ cmp r0, #0x5
+ beq ._137 @cond_branch
+ add r1, r5, #0
+ add r1, r1, #0x53
+ ldrb r0, [r1]
+ cmp r0, #0x1
+ bhi ._140 @cond_branch
+ b ._139
+._137:
+ add r1, r5, #0
+ add r1, r1, #0x53
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne ._140 @cond_branch
+._139:
+ add r0, r0, #0x1
+ strb r0, [r1]
+ add r1, r1, #0x2
+ mov r0, #0x1
+ strb r0, [r1]
+._140:
+ add r0, r5, #0
+ add r0, r0, #0x55
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne ._141 @cond_branch
+ mov r0, r9
+ ldrh r2, [r0, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r2
+ cmp r0, #0
+ beq ._142 @cond_branch
+ ldr r2, ._145 @ gUnknown_Debug_083C50EC
+ add r3, r5, #0
+ add r3, r3, #0x53
+ add r0, r5, #0
+ add r0, r0, #0x54
+ ldrb r1, [r0]
+ lsl r0, r1, #0x1
+ add r0, r0, r1
+ ldrb r3, [r3]
+ add r0, r0, r3
+ lsl r0, r0, #0x3
+ add r0, r0, r2
+ ldrh r0, [r0, #0x4]
+ sub r0, r0, #0x32
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x4
+ bhi ._143 @cond_branch
+ add r1, r5, #0
+ add r1, r1, #0x56
+ mov r0, #0x4
+ b ._144
+._146:
+ .align 2, 0
+._145:
+ .word gUnknown_Debug_083C50EC
+._143:
+ add r1, r5, #0
+ add r1, r1, #0x56
+ mov r0, #0x1
+._144:
+ strb r0, [r1]
+ add r1, r5, #0
+ add r1, r1, #0x52
+ mov r0, #0x1
+ strb r0, [r1]
+ b ._162
+._142:
+ mov r0, #0x2
+ and r0, r0, r2
+ cmp r0, #0
+ bne ._148 @cond_branch
+ b ._162
+._148:
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x10
+ mov r2, #0x0
+ bl BlendPalettes
+ ldr r0, ._151 @ sub_80546F0
+ bl SetMainCallback2
+ b ._162
+._152:
+ .align 2, 0
+._151:
+ .word sub_80546F0+1
+._121:
+ add r5, r3, #0
+ add r5, r5, #0x55
+ mov r0, #0x0
+ strb r0, [r5]
+ ldr r2, ._159 @ gMain
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ mov r9, r2
+ cmp r0, #0
+ beq ._154 @cond_branch
+ add r2, r3, #0
+ add r2, r2, #0x53
+ add r0, r3, #0
+ add r0, r0, #0x54
+ ldrb r1, [r0]
+ lsl r0, r1, #0x1
+ add r0, r0, r1
+ ldrb r2, [r2]
+ add r0, r0, r2
+ add r2, r0, r3
+ add r0, r3, #0
+ add r0, r0, #0x56
+ ldrb r1, [r2]
+ ldrb r0, [r0]
+ cmp r1, r0
+ bcs ._154 @cond_branch
+ add r0, r1, #1
+ strb r0, [r2]
+ strb r4, [r5]
+._154:
+ mov r2, r9
+ ldrh r1, [r2, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ ldr r5, ._159 + 4 @ gSharedMem
+ cmp r0, #0
+ beq ._156 @cond_branch
+ add r2, r5, #0
+ add r2, r2, #0x53
+ add r0, r5, #0
+ add r0, r0, #0x54
+ ldrb r1, [r0]
+ lsl r0, r1, #0x1
+ add r0, r0, r1
+ ldrb r2, [r2]
+ add r0, r0, r2
+ add r1, r0, r5
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq ._156 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+ add r1, r5, #0
+ add r1, r1, #0x55
+ mov r0, #0x1
+ strb r0, [r1]
+._156:
+ add r6, r5, #0
+ add r0, r6, #0
+ add r0, r0, #0x55
+ ldrb r7, [r0]
+ cmp r7, #0
+ beq ._157 @cond_branch
+._141:
+ bl debug_sub_80916AC
+ b ._162
+._160:
+ .align 2, 0
+._159:
+ .word gMain
+ .word gSharedMem
+._157:
+ mov r3, r9
+ ldrh r1, [r3, #0x2e]
+ mov r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._161 @cond_branch
+ ldr r0, ._164 @ gPlayerParty
+ ldr r1, ._164 + 4 @ gUnknown_Debug_083C50EC
+ mov ip, r1
+ mov r2, #0x53
+ add r2, r2, r6
+ mov r8, r2
+ add r4, r6, #0
+ add r4, r4, #0x54
+ ldrb r2, [r4]
+ lsl r1, r2, #0x1
+ add r1, r1, r2
+ mov r3, r8
+ ldrb r3, [r3]
+ add r1, r1, r3
+ lsl r1, r1, #0x3
+ add r1, r1, ip
+ ldrh r1, [r1, #0x4]
+ bl GetMonData
+ ldrb r2, [r4]
+ lsl r1, r2, #0x1
+ add r1, r1, r2
+ mov r2, r8
+ ldrb r2, [r2]
+ add r1, r1, r2
+ add r1, r1, r6
+ strb r0, [r1]
+ bl debug_sub_80916AC
+ add r0, r6, #0
+ add r0, r0, #0x52
+ strb r7, [r0]
+._161:
+ mov r3, r9
+ ldrh r1, [r3, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._162 @cond_branch
+ ldr r2, ._164 + 4 @ gUnknown_Debug_083C50EC
+ add r0, r6, #0
+ add r0, r0, #0x53
+ ldrb r4, [r0]
+ add r0, r0, #0x1
+ ldrb r1, [r0]
+ lsl r0, r1, #0x1
+ add r3, r0, r1
+ add r0, r3, r4
+ lsl r0, r0, #0x3
+ add r1, r0, r2
+ ldrh r0, [r1, #0x4]
+ cmp r0, #0
+ beq ._163 @cond_branch
+ ldr r0, ._164 @ gPlayerParty
+ ldrh r1, [r1, #0x4]
+ add r2, r4, r6
+ add r2, r3, r2
+ bl SetMonData
+._163:
+ add r0, r5, #0
+ add r0, r0, #0x52
+ strb r7, [r0]
+._162:
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._165:
+ .align 2, 0
+._164:
+ .word gPlayerParty
+ .word gUnknown_Debug_083C50EC
+
+ thumb_func_end debug_sub_8091334
+
+ thumb_func_start debug_sub_80915BC
+debug_sub_80915BC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ ldr r0, ._168 @ 0x4000010
+ mov r1, #0x0
+ strh r1, [r0]
+ add r0, r0, #0x2
+ strh r1, [r0]
+ mov r1, #0x0
+ ldr r0, ._168 + 4 @ gUnknown_Debug_083C50EC
+ mov r8, r0
+ ldr r7, ._168 + 8 @ gSharedMem
+._171:
+ mov r4, #0x0
+ lsl r0, r1, #0x1
+ add r6, r1, #1
+ add r5, r0, r1
+._170:
+ add r0, r5, r4
+ lsl r0, r0, #0x3
+ add r0, r0, r8
+ ldrh r1, [r0, #0x4]
+ cmp r1, #0
+ beq ._166 @cond_branch
+ ldr r0, ._168 + 12 @ gPlayerParty
+ bl GetMonData
+ add r1, r4, r5
+ add r1, r1, r7
+ strb r0, [r1]
+ b ._167
+._169:
+ .align 2, 0
+._168:
+ .word 0x4000010
+ .word gUnknown_Debug_083C50EC
+ .word gSharedMem
+ .word gPlayerParty
+._166:
+ add r0, r4, r5
+ add r0, r0, r7
+ strb r1, [r0]
+._167:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x2
+ bls ._170 @cond_branch
+ lsl r0, r6, #0x18
+ lsr r1, r0, #0x18
+ cmp r1, #0x5
+ bls ._171 @cond_branch
+ ldr r4, ._172 @ gWindowTemplate_81E7224
+ add r0, r4, #0
+ bl Text_LoadWindowTemplate
+ add r0, r4, #0
+ bl InitMenuWindow
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x3
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._172 + 4 @ gUnknown_Debug_083C517C
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ mov r0, #0x0
+ mov r1, #0x4
+ mov r2, #0x1d
+ mov r3, #0x11
+ bl Menu_DrawStdWindowFrame
+ mov r0, #0x0
+ mov r1, #0x12
+ mov r2, #0x1d
+ mov r3, #0x15
+ bl Menu_DrawStdWindowFrame
+ mov r1, #0x80
+ lsl r1, r1, #0x13
+ mov r2, #0x8a
+ lsl r2, r2, #0x5
+ add r0, r2, #0
+ strh r0, [r1]
+ ldr r2, ._172 + 8 @ gSharedMem
+ add r0, r2, #0
+ add r0, r0, #0x53
+ mov r1, #0x0
+ strb r1, [r0]
+ add r0, r0, #0x1
+ strb r1, [r0]
+ sub r0, r0, #0x2
+ strb r1, [r0]
+ bl debug_sub_80916AC
+ ldr r0, ._172 + 12 @ debug_sub_8091320
+ bl SetVBlankCallback
+ ldr r0, ._172 + 16 @ debug_sub_8091334
+ bl SetMainCallback2
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._173:
+ .align 2, 0
+._172:
+ .word gWindowTemplate_81E7224
+ .word gUnknown_Debug_083C517C
+ .word gSharedMem
+ .word debug_sub_8091320+1
+ .word debug_sub_8091334+1
+
+ thumb_func_end debug_sub_80915BC
+
+ thumb_func_start debug_sub_80916AC
+debug_sub_80916AC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6, r7}
+ add sp, sp, #0xfffffffc
+ mov r6, #0x0
+ ldr r0, ._177 @ gSharedMem
+ mov sl, r0
+ mov r1, #0x0
+ mov r8, r1
+._182:
+ ldr r2, ._177 + 4 @ gSharedMem
+ mov r5, #0x0
+ lsl r0, r6, #0x1
+ mov r9, r0
+ add r1, r6, #1
+ str r1, [sp]
+._181:
+ mov r0, sl
+ add r0, r0, #0x53
+ ldrb r0, [r0]
+ cmp r0, r5
+ bne ._175 @cond_branch
+ ldr r1, ._177 + 8 @ gSharedMem
+ ldrb r0, [r1]
+ cmp r0, r6
+ bne ._175 @cond_branch
+ mov r0, #0xef
+ b ._176
+._178:
+ .align 2, 0
+._177:
+ .word gSharedMem
+ .word gSharedMem+0x12
+ .word gSharedMem+0x54
+._175:
+ mov r0, r8
+ strb r0, [r2]
+ add r2, r2, #0x1
+._176:
+ strb r0, [r2]
+ add r2, r2, #0x1
+ mov r1, r9
+ add r4, r1, r6
+ add r0, r4, r5
+ lsl r0, r0, #0x3
+ ldr r1, ._183 @ gUnknown_Debug_083C50EC
+ add r0, r0, r1
+ ldr r1, [r0]
+ add r0, r2, #0
+ bl StringCopy
+ add r2, r0, #0
+ mov r0, r8
+ strb r0, [r2]
+ add r2, r2, #0x1
+ ldr r7, ._183 + 4 @ gSharedMem
+ add r4, r5, r4
+ add r4, r4, r7
+ ldrb r1, [r4]
+ add r0, r2, #0
+ mov r2, #0x0
+ mov r3, #0x1
+ bl ConvertIntToDecimalStringN
+ add r2, r0, #0
+ mov r1, r8
+ strb r1, [r2]
+ add r2, r2, #0x1
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x2
+ bhi ._179 @cond_branch
+ cmp r6, #0x5
+ bne ._181 @cond_branch
+ cmp r5, #0x2
+ bne ._181 @cond_branch
+._179:
+ sub r1, r2, #1
+ mov r0, #0xff
+ strb r0, [r1]
+ mov r2, r9
+ add r2, r2, #0x5
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ add r0, r7, #0
+ add r0, r0, #0x12
+ mov r1, #0x1
+ bl Menu_PrintText
+ ldr r1, [sp]
+ lsl r0, r1, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x5
+ bls ._182 @cond_branch
+ add sp, sp, #0x4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._184:
+ .align 2, 0
+._183:
+ .word gUnknown_Debug_083C50EC
+ .word gSharedMem
+
+ thumb_func_end debug_sub_80916AC
+
+ .align 2, 0
+
+.endif
diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s
new file mode 100644
index 000000000..c0dfe38e0
--- /dev/null
+++ b/asm/tomomichi_debug_menu.s
@@ -0,0 +1,8100 @@
+.if DEBUG
+
+ .include "constants/gba_constants.inc"
+ .include "include/macros.inc"
+
+ thumb_func_start InitTomomichiDebugWindow
+InitTomomichiDebugWindow:
+ push {lr}
+ bl debug_sub_808B874
+ mov r0, #0x0
+ pop {r1}
+ bx r1
+
+ thumb_func_end InitTomomichiDebugWindow
+
+ thumb_func_start debug_sub_808B868
+debug_sub_808B868:
+ push {lr}
+ bl c2_exit_to_overworld_1_continue_scripts_restart_music
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808B868
+
+ thumb_func_start debug_sub_808B874
+debug_sub_808B874:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xd
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._1 @ gUnknown_Debug_083C0CBA
+ mov r0, #0x1
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ ldr r0, ._1 + 4 @ gDebug_0300071D
+ ldrb r0, [r0]
+ str r0, [sp]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._1 + 8 @ gMenuCallback
+ ldr r0, ._1 + 12 @ debug_sub_808B8C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._2:
+ .align 2, 0
+._1:
+ .word gUnknown_Debug_083C0CBA
+ .word gDebug_0300071D
+ .word gMenuCallback
+ .word debug_sub_808B8C8+1
+
+ thumb_func_end debug_sub_808B874
+
+ thumb_func_start debug_sub_808B8C8
+debug_sub_808B8C8:
+ push {r4, lr}
+ ldr r4, ._7 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._3 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ bl Menu_MoveCursor
+ ldr r1, ._7 + 4 @ gDebug_0300071D
+ strb r0, [r1]
+._3:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._4 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ bl Menu_MoveCursor
+ ldr r1, ._7 + 4 @ gDebug_0300071D
+ strb r0, [r1]
+._4:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._5 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._7 + 8 @ gUnknown_Debug_083C0CBA
+ ldr r0, ._7 + 4 @ gDebug_0300071D
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r1, r1, #0x4
+ add r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._10
+._8:
+ .align 2, 0
+._7:
+ .word gMain
+ .word gDebug_0300071D
+ .word gUnknown_Debug_083C0CBA
+._5:
+ mov r0, #0xa
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._9 @cond_branch
+ mov r0, #0x0
+ b ._10
+._9:
+ bl CloseMenu
+ mov r0, #0x1
+._10:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808B8C8
+
+ thumb_func_start TomomichiDebugMenu_ContestGraphics
+TomomichiDebugMenu_ContestGraphics:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x14
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._11 @ gUnknown_Debug_083C0CF4
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r3, ._11 + 4 @ gUnknown_Debug_083C0D2C
+ mov r0, #0x2
+ mov r1, #0x3
+ mov r2, #0x4
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x13
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x4
+ bl InitMenu
+ ldr r1, ._11 + 8 @ gMenuCallback
+ ldr r0, ._11 + 12 @ debug_sub_808BC48
+ str r0, [r1]
+ ldr r0, ._11 + 16 @ gDebug_03000700
+ mov r2, #0x1
+ strh r2, [r0]
+ ldr r1, ._11 + 20 @ gDebug_03000704
+ ldr r0, ._11 + 24 @ 0x6f33
+ str r0, [r1]
+ ldr r0, ._11 + 28 @ gDebug_03000708
+ str r4, [r0]
+ ldr r0, ._11 + 32 @ gDebug_0300070C
+ strb r2, [r0]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._12:
+ .align 2, 0
+._11:
+ .word gUnknown_Debug_083C0CF4
+ .word gUnknown_Debug_083C0D2C
+ .word gMenuCallback
+ .word debug_sub_808BC48+1
+ .word gDebug_03000700
+ .word gDebug_03000704
+ .word 0x6f33
+ .word gDebug_03000708
+ .word gDebug_0300070C
+
+ thumb_func_end TomomichiDebugMenu_ContestGraphics
+
+ thumb_func_start TomomichiDebugMenu_ArtMusGraphics
+TomomichiDebugMenu_ArtMusGraphics:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x14
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._13 @ gUnknown_Debug_083C0D4C
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r3, ._13 + 4 @ gUnknown_Debug_083C0D83
+ mov r0, #0x2
+ mov r1, #0x3
+ mov r2, #0x4
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x13
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x4
+ bl InitMenu
+ ldr r1, ._13 + 8 @ gMenuCallback
+ ldr r0, ._13 + 12 @ debug_sub_808BCBC
+ str r0, [r1]
+ ldr r0, ._13 + 16 @ gDebug_03000700
+ mov r2, #0x1
+ strh r2, [r0]
+ ldr r1, ._13 + 20 @ gDebug_03000704
+ ldr r0, ._13 + 24 @ 0x6f33
+ str r0, [r1]
+ ldr r0, ._13 + 28 @ gDebug_03000708
+ str r4, [r0]
+ ldr r0, ._13 + 32 @ gDebug_0300070D
+ strb r2, [r0]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._14:
+ .align 2, 0
+._13:
+ .word gUnknown_Debug_083C0D4C
+ .word gUnknown_Debug_083C0D83
+ .word gMenuCallback
+ .word debug_sub_808BCBC+1
+ .word gDebug_03000700
+ .word gDebug_03000704
+ .word 0x6f33
+ .word gDebug_03000708
+ .word gDebug_0300070D
+
+ thumb_func_end TomomichiDebugMenu_ArtMusGraphics
+
+ thumb_func_start TomomichiDebugMenu_PreviewData
+TomomichiDebugMenu_PreviewData:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x14
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._15 @ gUnknown_Debug_083C0DA4
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r3, ._15 + 4 @ gUnknown_Debug_083C0DD4
+ mov r0, #0x2
+ mov r1, #0x3
+ mov r2, #0x4
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x13
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x4
+ bl InitMenu
+ ldr r1, ._15 + 8 @ gMenuCallback
+ ldr r0, ._15 + 12 @ debug_sub_808BD30
+ str r0, [r1]
+ ldr r0, ._15 + 16 @ gDebug_03000700
+ mov r2, #0x1
+ strh r2, [r0]
+ ldr r1, ._15 + 20 @ gDebug_03000704
+ ldr r0, ._15 + 24 @ 0x6f33
+ str r0, [r1]
+ ldr r0, ._15 + 28 @ gDebug_03000708
+ str r4, [r0]
+ ldr r0, ._15 + 32 @ gDebug_0300070E
+ strb r2, [r0]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._16:
+ .align 2, 0
+._15:
+ .word gUnknown_Debug_083C0DA4
+ .word gUnknown_Debug_083C0DD4
+ .word gMenuCallback
+ .word debug_sub_808BD30+1
+ .word gDebug_03000700
+ .word gDebug_03000704
+ .word 0x6f33
+ .word gDebug_03000708
+ .word gDebug_0300070E
+
+ thumb_func_end TomomichiDebugMenu_PreviewData
+
+ thumb_func_start TomomichiDebugMenu_TrickHouse
+TomomichiDebugMenu_TrickHouse:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0x7
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._17 @ gUnknown_Debug_083C0DF4
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r3, ._17 + 4 @ gUnknown_Debug_083C0E15
+ mov r0, #0x2
+ mov r1, #0x3
+ mov r2, #0x2
+ bl Menu_PrintItems
+ ldr r0, ._17 + 8 @ gDebug_0300071E
+ ldrb r0, [r0]
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x2
+ bl InitMenu
+ ldr r1, ._17 + 12 @ gMenuCallback
+ ldr r0, ._17 + 16 @ debug_sub_808BDA4
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._18:
+ .align 2, 0
+._17:
+ .word gUnknown_Debug_083C0DF4
+ .word gUnknown_Debug_083C0E15
+ .word gDebug_0300071E
+ .word gMenuCallback
+ .word debug_sub_808BDA4+1
+
+ thumb_func_end TomomichiDebugMenu_TrickHouse
+
+ thumb_func_start TomomichiDebugMenu_ControlEvents
+TomomichiDebugMenu_ControlEvents:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._19 @ gUnknown_Debug_083C0E32
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x2
+ bl Menu_PrintItems
+ ldr r0, ._19 + 4 @ gDebug_0300071F
+ ldrb r0, [r0]
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x2
+ bl InitMenu
+ ldr r1, ._19 + 8 @ gMenuCallback
+ ldr r0, ._19 + 12 @ debug_sub_808BE2C
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._20:
+ .align 2, 0
+._19:
+ .word gUnknown_Debug_083C0E32
+ .word gDebug_0300071F
+ .word gMenuCallback
+ .word debug_sub_808BE2C+1
+
+ thumb_func_end TomomichiDebugMenu_ControlEvents
+
+ thumb_func_start TomomichiDebugMenu_ControlFlags
+TomomichiDebugMenu_ControlFlags:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._21 @ gUnknown_Debug_083C0E7F
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ ldr r0, ._21 + 4 @ gDebug_03000720
+ ldrb r0, [r0]
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._21 + 8 @ gMenuCallback
+ ldr r0, ._21 + 12 @ debug_sub_808BEB4
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._22:
+ .align 2, 0
+._21:
+ .word gUnknown_Debug_083C0E7F
+ .word gDebug_03000720
+ .word gMenuCallback
+ .word debug_sub_808BEB4+1
+
+ thumb_func_end TomomichiDebugMenu_ControlFlags
+
+ thumb_func_start TomomichiDebugMenu_ControlWorks
+TomomichiDebugMenu_ControlWorks:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._23 @ gUnknown_Debug_083C0EF1
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x6
+ bl Menu_PrintItems
+ ldr r0, ._23 + 4 @ gDebug_03000721
+ ldrb r0, [r0]
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x6
+ bl InitMenu
+ ldr r1, ._23 + 8 @ gMenuCallback
+ ldr r0, ._23 + 12 @ debug_sub_808BF3C
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._24:
+ .align 2, 0
+._23:
+ .word gUnknown_Debug_083C0EF1
+ .word gDebug_03000721
+ .word gMenuCallback
+ .word debug_sub_808BF3C+1
+
+ thumb_func_end TomomichiDebugMenu_ControlWorks
+
+ thumb_func_start debug_sub_808BC48
+debug_sub_808BC48:
+ push {r4, lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ cmp r0, #0x1
+ beq ._25 @cond_branch
+ cmp r0, #0x1
+ bgt ._26 @cond_branch
+ cmp r0, #0
+ beq ._27 @cond_branch
+ b ._32
+._26:
+ cmp r0, #0x2
+ beq ._29 @cond_branch
+ b ._32
+._27:
+ bl debug_sub_808ED0C
+ b ._32
+._25:
+ bl debug_sub_808ED9C
+ b ._32
+._29:
+ bl debug_sub_808EE3C
+._32:
+ mov r0, #0x0
+ bl debug_sub_808EF8C
+ lsl r0, r4, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ beq ._36 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ bne ._34 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+ b ._35
+._34:
+ cmp r1, #0x3
+ bne ._36 @cond_branch
+ ldr r0, ._37 @ gMenuCallback
+ ldr r1, ._37 + 4 @ gUnknown_Debug_083C0D2C
+ ldr r1, [r1, #0x1c]
+ str r1, [r0]
+._36:
+ mov r0, #0x0
+._35:
+ pop {r4}
+ pop {r1}
+ bx r1
+._38:
+ .align 2, 0
+._37:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C0D2C
+
+ thumb_func_end debug_sub_808BC48
+
+ thumb_func_start debug_sub_808BCBC
+debug_sub_808BCBC:
+ push {r4, lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ cmp r0, #0x1
+ beq ._39 @cond_branch
+ cmp r0, #0x1
+ bgt ._40 @cond_branch
+ cmp r0, #0
+ beq ._41 @cond_branch
+ b ._46
+._40:
+ cmp r0, #0x2
+ beq ._43 @cond_branch
+ b ._46
+._41:
+ bl debug_sub_808ED0C
+ b ._46
+._39:
+ bl debug_sub_808ED9C
+ b ._46
+._43:
+ bl debug_sub_808EE9C
+._46:
+ mov r0, #0x1
+ bl debug_sub_808EF8C
+ lsl r0, r4, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ beq ._50 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ bne ._48 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+ b ._49
+._48:
+ cmp r1, #0x3
+ bne ._50 @cond_branch
+ ldr r0, ._51 @ gMenuCallback
+ ldr r1, ._51 + 4 @ gUnknown_Debug_083C0D83
+ ldr r1, [r1, #0x1c]
+ str r1, [r0]
+._50:
+ mov r0, #0x0
+._49:
+ pop {r4}
+ pop {r1}
+ bx r1
+._52:
+ .align 2, 0
+._51:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C0D83
+
+ thumb_func_end debug_sub_808BCBC
+
+ thumb_func_start debug_sub_808BD30
+debug_sub_808BD30:
+ push {r4, lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ cmp r0, #0x1
+ beq ._53 @cond_branch
+ cmp r0, #0x1
+ bgt ._54 @cond_branch
+ cmp r0, #0
+ beq ._55 @cond_branch
+ b ._60
+._54:
+ cmp r0, #0x2
+ beq ._57 @cond_branch
+ b ._60
+._55:
+ bl debug_sub_808ED0C
+ b ._60
+._53:
+ bl debug_sub_808ED9C
+ b ._60
+._57:
+ bl debug_sub_808EF14
+._60:
+ mov r0, #0x2
+ bl debug_sub_808EF8C
+ lsl r0, r4, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ beq ._64 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ bne ._62 @cond_branch
+ bl CloseMenu
+ mov r0, #0x1
+ b ._63
+._62:
+ cmp r1, #0x3
+ bne ._64 @cond_branch
+ ldr r0, ._65 @ gMenuCallback
+ ldr r1, ._65 + 4 @ gUnknown_Debug_083C0DD4
+ ldr r1, [r1, #0x1c]
+ str r1, [r0]
+._64:
+ mov r0, #0x0
+._63:
+ pop {r4}
+ pop {r1}
+ bx r1
+._66:
+ .align 2, 0
+._65:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C0DD4
+
+ thumb_func_end debug_sub_808BD30
+
+ thumb_func_start debug_sub_808BDA4
+debug_sub_808BDA4:
+ push {r4, lr}
+ ldr r4, ._71 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._67 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ bl Menu_MoveCursor
+ ldr r1, ._71 + 4 @ gDebug_0300071E
+ strb r0, [r1]
+._67:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._68 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ bl Menu_MoveCursor
+ ldr r1, ._71 + 4 @ gDebug_0300071E
+ strb r0, [r1]
+._68:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._69 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._71 + 8 @ gUnknown_Debug_083C0E15
+ ldr r0, ._71 + 4 @ gDebug_0300071E
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r1, r1, #0x4
+ add r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._74
+._72:
+ .align 2, 0
+._71:
+ .word gMain
+ .word gDebug_0300071E
+ .word gUnknown_Debug_083C0E15
+._69:
+ mov r0, #0xa
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._73 @cond_branch
+ mov r0, #0x0
+ b ._74
+._73:
+ bl CloseMenu
+ mov r0, #0x1
+._74:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808BDA4
+
+ thumb_func_start debug_sub_808BE2C
+debug_sub_808BE2C:
+ push {r4, lr}
+ ldr r4, ._79 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._75 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ bl Menu_MoveCursor
+ ldr r1, ._79 + 4 @ gDebug_0300071F
+ strb r0, [r1]
+._75:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._76 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ bl Menu_MoveCursor
+ ldr r1, ._79 + 4 @ gDebug_0300071F
+ strb r0, [r1]
+._76:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._77 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._79 + 8 @ gUnknown_Debug_083C0E32
+ ldr r0, ._79 + 4 @ gDebug_0300071F
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r1, r1, #0x4
+ add r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._82
+._80:
+ .align 2, 0
+._79:
+ .word gMain
+ .word gDebug_0300071F
+ .word gUnknown_Debug_083C0E32
+._77:
+ mov r0, #0xa
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._81 @cond_branch
+ mov r0, #0x0
+ b ._82
+._81:
+ bl CloseMenu
+ mov r0, #0x1
+._82:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808BE2C
+
+ thumb_func_start debug_sub_808BEB4
+debug_sub_808BEB4:
+ push {r4, lr}
+ ldr r4, ._87 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._83 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ bl Menu_MoveCursor
+ ldr r1, ._87 + 4 @ gDebug_03000720
+ strb r0, [r1]
+._83:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._84 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ bl Menu_MoveCursor
+ ldr r1, ._87 + 4 @ gDebug_03000720
+ strb r0, [r1]
+._84:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._85 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._87 + 8 @ gUnknown_Debug_083C0E7F
+ ldr r0, ._87 + 4 @ gDebug_03000720
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r1, r1, #0x4
+ add r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._90
+._88:
+ .align 2, 0
+._87:
+ .word gMain
+ .word gDebug_03000720
+ .word gUnknown_Debug_083C0E7F
+._85:
+ mov r0, #0xa
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._89 @cond_branch
+ mov r0, #0x0
+ b ._90
+._89:
+ bl CloseMenu
+ mov r0, #0x1
+._90:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808BEB4
+
+ thumb_func_start debug_sub_808BF3C
+debug_sub_808BF3C:
+ push {r4, lr}
+ ldr r4, ._95 @ gMain
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x40
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._91 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ neg r0, r0
+ bl Menu_MoveCursor
+ ldr r1, ._95 + 4 @ gDebug_03000721
+ strb r0, [r1]
+._91:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x80
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._92 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ mov r0, #0x1
+ bl Menu_MoveCursor
+ ldr r1, ._95 + 4 @ gDebug_03000721
+ strb r0, [r1]
+._92:
+ ldrh r1, [r4, #0x2e]
+ mov r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._93 @cond_branch
+ mov r0, #0x5
+ bl PlaySE
+ ldr r1, ._95 + 8 @ gUnknown_Debug_083C0EF1
+ ldr r0, ._95 + 4 @ gDebug_03000721
+ ldrb r0, [r0]
+ lsl r0, r0, #0x3
+ add r1, r1, #0x4
+ add r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ b ._98
+._96:
+ .align 2, 0
+._95:
+ .word gMain
+ .word gDebug_03000721
+ .word gUnknown_Debug_083C0EF1
+._93:
+ mov r0, #0xa
+ and r0, r0, r1
+ cmp r0, #0
+ bne ._97 @cond_branch
+ mov r0, #0x0
+ b ._98
+._97:
+ bl CloseMenu
+ mov r0, #0x1
+._98:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808BF3C
+
+ thumb_func_start debug_sub_808BFC4
+debug_sub_808BFC4:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._99 @ gUnknown_Debug_083C0F79
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._99 + 4 @ gMenuCallback
+ ldr r0, ._99 + 8 @ debug_sub_808C064
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._100:
+ .align 2, 0
+._99:
+ .word gUnknown_Debug_083C0F79
+ .word gMenuCallback
+ .word debug_sub_808C064+1
+
+ thumb_func_end debug_sub_808BFC4
+
+ thumb_func_start debug_sub_808C014
+debug_sub_808C014:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._101 @ gUnknown_Debug_083C0FFC
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x6
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x6
+ bl InitMenu
+ ldr r1, ._101 + 4 @ gMenuCallback
+ ldr r0, ._101 + 8 @ debug_sub_808C0A8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._102:
+ .align 2, 0
+._101:
+ .word gUnknown_Debug_083C0FFC
+ .word gMenuCallback
+ .word debug_sub_808C0A8+1
+
+ thumb_func_end debug_sub_808C014
+
+ thumb_func_start debug_sub_808C064
+debug_sub_808C064:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._103 @cond_branch
+ mov r0, #0x0
+ b ._106
+._103:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._105 @cond_branch
+ ldr r2, ._107 @ gMenuCallback
+ ldr r0, ._107 + 4 @ gUnknown_Debug_083C0F79
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._106
+._108:
+ .align 2, 0
+._107:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C0F79
+._105:
+ bl CloseMenu
+ mov r0, #0x1
+._106:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808C064
+
+ thumb_func_start debug_sub_808C0A8
+debug_sub_808C0A8:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._109 @cond_branch
+ mov r0, #0x0
+ b ._112
+._109:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._111 @cond_branch
+ ldr r2, ._113 @ gMenuCallback
+ ldr r0, ._113 + 4 @ gUnknown_Debug_083C0FFC
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._112
+._114:
+ .align 2, 0
+._113:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C0FFC
+._111:
+ bl CloseMenu
+ mov r0, #0x1
+._112:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808C0A8
+
+ thumb_func_start debug_sub_808C0EC
+debug_sub_808C0EC:
+ push {lr}
+ ldr r0, ._115 @ DebugScript_081C1CFE
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._116:
+ .align 2, 0
+._115:
+ .word DebugScript_081C1CFE
+
+ thumb_func_end debug_sub_808C0EC
+
+ thumb_func_start debug_sub_808C104
+debug_sub_808C104:
+ push {lr}
+ ldr r0, ._117 @ DebugScript_081C1D07
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._118:
+ .align 2, 0
+._117:
+ .word DebugScript_081C1D07
+
+ thumb_func_end debug_sub_808C104
+
+ thumb_func_start debug_sub_808C11C
+debug_sub_808C11C:
+ push {lr}
+ ldr r0, ._119 @ DebugScript_081C1D1E
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._120:
+ .align 2, 0
+._119:
+ .word DebugScript_081C1D1E
+
+ thumb_func_end debug_sub_808C11C
+
+ thumb_func_start debug_sub_808C134
+debug_sub_808C134:
+ push {lr}
+ ldr r0, ._121 @ DebugScript_081C1D24
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._122:
+ .align 2, 0
+._121:
+ .word DebugScript_081C1D24
+
+ thumb_func_end debug_sub_808C134
+
+ thumb_func_start debug_sub_808C14C
+debug_sub_808C14C:
+ push {lr}
+ ldr r0, ._123 @ DebugScript_081C1D2A
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._124:
+ .align 2, 0
+._123:
+ .word DebugScript_081C1D2A
+
+ thumb_func_end debug_sub_808C14C
+
+ thumb_func_start debug_sub_808C164
+debug_sub_808C164:
+ push {lr}
+ ldr r0, ._125 @ DebugScript_081C1D35
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._126:
+ .align 2, 0
+._125:
+ .word DebugScript_081C1D35
+
+ thumb_func_end debug_sub_808C164
+
+ thumb_func_start debug_sub_808C17C
+debug_sub_808C17C:
+ push {lr}
+ ldr r0, ._127 @ DebugScript_081C1D46
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._128:
+ .align 2, 0
+._127:
+ .word DebugScript_081C1D46
+
+ thumb_func_end debug_sub_808C17C
+
+ thumb_func_start debug_sub_808C194
+debug_sub_808C194:
+ push {lr}
+ ldr r0, ._129 @ DebugScript_081C221F
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._130:
+ .align 2, 0
+._129:
+ .word DebugScript_081C221F
+
+ thumb_func_end debug_sub_808C194
+
+ thumb_func_start debug_sub_808C1AC
+debug_sub_808C1AC:
+ push {lr}
+ ldr r0, ._131 @ DebugScript_081C23E2
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._132:
+ .align 2, 0
+._131:
+ .word DebugScript_081C23E2
+
+ thumb_func_end debug_sub_808C1AC
+
+ thumb_func_start debug_sub_808C1C4
+debug_sub_808C1C4:
+ push {lr}
+ ldr r0, ._133 @ DebugScript_081C23E6
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._134:
+ .align 2, 0
+._133:
+ .word DebugScript_081C23E6
+
+ thumb_func_end debug_sub_808C1C4
+
+ thumb_func_start debug_sub_808C1DC
+debug_sub_808C1DC:
+ push {lr}
+ ldr r0, ._135 @ DebugScript_081C23F6
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._136:
+ .align 2, 0
+._135:
+ .word DebugScript_081C23F6
+
+ thumb_func_end debug_sub_808C1DC
+
+ thumb_func_start debug_sub_808C1F4
+debug_sub_808C1F4:
+ push {lr}
+ ldr r0, ._137 @ DebugScript_081C2482
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._138:
+ .align 2, 0
+._137:
+ .word DebugScript_081C2482
+
+ thumb_func_end debug_sub_808C1F4
+
+ thumb_func_start debug_sub_808C20C
+debug_sub_808C20C:
+ push {lr}
+ ldr r0, ._139 @ DebugScript_081C23FD
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._140:
+ .align 2, 0
+._139:
+ .word DebugScript_081C23FD
+
+ thumb_func_end debug_sub_808C20C
+
+ thumb_func_start debug_sub_808C224
+debug_sub_808C224:
+ push {lr}
+ ldr r0, ._141 @ DebugScript_081C2518
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._142:
+ .align 2, 0
+._141:
+ .word DebugScript_081C2518
+
+ thumb_func_end debug_sub_808C224
+
+ thumb_func_start debug_sub_808C23C
+debug_sub_808C23C:
+ push {lr}
+ ldr r0, ._143 @ DebugScript_081C2507
+ bl ScriptContext1_SetupScript
+ bl CloseMenu
+ mov r0, #0x1
+ pop {r1}
+ bx r1
+._144:
+ .align 2, 0
+._143:
+ .word DebugScript_081C2507
+
+ thumb_func_end debug_sub_808C23C
+
+ thumb_func_start TomomichiDebugMenu_ContestGraphics_Show
+TomomichiDebugMenu_ContestGraphics_Show:
+ push {lr}
+ add sp, sp, #0xfffffffc
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x0
+ str r1, [sp]
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldr r1, ._145 @ gMenuCallback
+ ldr r0, ._145 + 4 @ debug_sub_808C280
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x4
+ pop {r1}
+ bx r1
+._146:
+ .align 2, 0
+._145:
+ .word gMenuCallback
+ .word debug_sub_808C280+1
+
+ thumb_func_end TomomichiDebugMenu_ContestGraphics_Show
+
+ thumb_func_start debug_sub_808C280
+debug_sub_808C280:
+ push {lr}
+ bl UpdatePaletteFade
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._147 @cond_branch
+ mov r0, #0x0
+ b ._148
+._147:
+ bl CloseMenu
+ mov r0, #0x0
+ bl debug_sub_808F168
+ ldr r0, ._149 @ CB2_ContestPainting
+ bl SetMainCallback2
+ ldr r1, ._149 + 4 @ gMain
+ ldr r0, ._149 + 8 @ debug_sub_808B868
+ str r0, [r1, #0x8]
+ mov r0, #0x1
+._148:
+ pop {r1}
+ bx r1
+._150:
+ .align 2, 0
+._149:
+ .word CB2_ContestPainting+1
+ .word gMain
+ .word debug_sub_808B868+1
+
+ thumb_func_end debug_sub_808C280
+
+ thumb_func_start TomomichiDebugMenu_MuseumGraphics_Show
+TomomichiDebugMenu_MuseumGraphics_Show:
+ push {lr}
+ add sp, sp, #0xfffffffc
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x0
+ str r1, [sp]
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldr r1, ._151 @ gMenuCallback
+ ldr r0, ._151 + 4 @ debug_sub_808C2E4
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x4
+ pop {r1}
+ bx r1
+._152:
+ .align 2, 0
+._151:
+ .word gMenuCallback
+ .word debug_sub_808C2E4+1
+
+ thumb_func_end TomomichiDebugMenu_MuseumGraphics_Show
+
+ thumb_func_start debug_sub_808C2E4
+debug_sub_808C2E4:
+ push {lr}
+ bl UpdatePaletteFade
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._153 @cond_branch
+ mov r0, #0x0
+ b ._154
+._153:
+ bl CloseMenu
+ mov r0, #0x1
+ bl debug_sub_808F168
+ ldr r0, ._155 @ CB2_ContestPainting
+ bl SetMainCallback2
+ ldr r1, ._155 + 4 @ gMain
+ ldr r0, ._155 + 8 @ debug_sub_808B868
+ str r0, [r1, #0x8]
+ mov r0, #0x1
+._154:
+ pop {r1}
+ bx r1
+._156:
+ .align 2, 0
+._155:
+ .word CB2_ContestPainting+1
+ .word gMain
+ .word debug_sub_808B868+1
+
+ thumb_func_end debug_sub_808C2E4
+
+ thumb_func_start debug_sub_808C31C
+debug_sub_808C31C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._157 @ gUnknown_Debug_083C2828
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._157 + 4 @ gMenuCallback
+ ldr r0, ._157 + 8 @ debug_sub_808C36C
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._158:
+ .align 2, 0
+._157:
+ .word gUnknown_Debug_083C2828
+ .word gMenuCallback
+ .word debug_sub_808C36C+1
+
+ thumb_func_end debug_sub_808C31C
+
+ thumb_func_start debug_sub_808C36C
+debug_sub_808C36C:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._159 @cond_branch
+ mov r0, #0x0
+ b ._162
+._159:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._161 @cond_branch
+ ldr r2, ._163 @ gMenuCallback
+ ldr r0, ._163 + 4 @ gUnknown_Debug_083C2828
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._162
+._164:
+ .align 2, 0
+._163:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C2828
+._161:
+ bl CloseMenu
+ mov r0, #0x1
+._162:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808C36C
+
+ thumb_func_start debug_sub_808C3B0
+debug_sub_808C3B0:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._165 @ gUnknown_Debug_083C2938
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r0, ._165 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._165 + 8 @ gMenuCallback
+ ldr r0, ._165 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._166:
+ .align 2, 0
+._165:
+ .word gUnknown_Debug_083C2938
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C3B0
+
+ thumb_func_start debug_sub_808C408
+debug_sub_808C408:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._167 @ gUnknown_Debug_083C2A48
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._167 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._167 + 8 @ gMenuCallback
+ ldr r0, ._167 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._168:
+ .align 2, 0
+._167:
+ .word gUnknown_Debug_083C2A48
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C408
+
+ thumb_func_start debug_sub_808C460
+debug_sub_808C460:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._169 @ gUnknown_Debug_083C2B4C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._169 + 4 @ gDebug_0300070F
+ mov r0, #0x2
+ strb r0, [r1]
+ ldr r1, ._169 + 8 @ gMenuCallback
+ ldr r0, ._169 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._170:
+ .align 2, 0
+._169:
+ .word gUnknown_Debug_083C2B4C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C460
+
+ thumb_func_start debug_sub_808C4B8
+debug_sub_808C4B8:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._171 @ gUnknown_Debug_083C2C80
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._171 + 4 @ gDebug_0300070F
+ mov r0, #0x3
+ strb r0, [r1]
+ ldr r1, ._171 + 8 @ gMenuCallback
+ ldr r0, ._171 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._172:
+ .align 2, 0
+._171:
+ .word gUnknown_Debug_083C2C80
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C4B8
+
+ thumb_func_start debug_sub_808C510
+debug_sub_808C510:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._173 @ gUnknown_Debug_083C2D8C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._173 + 4 @ gDebug_0300070F
+ mov r0, #0x4
+ strb r0, [r1]
+ ldr r1, ._173 + 8 @ gMenuCallback
+ ldr r0, ._173 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._174:
+ .align 2, 0
+._173:
+ .word gUnknown_Debug_083C2D8C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C510
+
+ thumb_func_start debug_sub_808C568
+debug_sub_808C568:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._175 @ gUnknown_Debug_083C2EB0
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._175 + 4 @ gDebug_0300070F
+ mov r0, #0x5
+ strb r0, [r1]
+ ldr r1, ._175 + 8 @ gMenuCallback
+ ldr r0, ._175 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._176:
+ .align 2, 0
+._175:
+ .word gUnknown_Debug_083C2EB0
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C568
+
+ thumb_func_start debug_sub_808C5C0
+debug_sub_808C5C0:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._177 @ gUnknown_Debug_083C2FE0
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._177 + 4 @ gDebug_0300070F
+ mov r0, #0x6
+ strb r0, [r1]
+ ldr r1, ._177 + 8 @ gMenuCallback
+ ldr r0, ._177 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._178:
+ .align 2, 0
+._177:
+ .word gUnknown_Debug_083C2FE0
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C5C0
+
+ thumb_func_start debug_sub_808C618
+debug_sub_808C618:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._179 @ gUnknown_Debug_083C3100
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._179 + 4 @ gDebug_0300070F
+ mov r0, #0x7
+ strb r0, [r1]
+ ldr r1, ._179 + 8 @ gMenuCallback
+ ldr r0, ._179 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._180:
+ .align 2, 0
+._179:
+ .word gUnknown_Debug_083C3100
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C618
+
+ thumb_func_start debug_sub_808C670
+debug_sub_808C670:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x7
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._181 @ gUnknown_Debug_083C3194
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x3
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x3
+ bl InitMenu
+ ldr r1, ._181 + 4 @ gDebug_0300070F
+ mov r0, #0x8
+ strb r0, [r1]
+ ldr r1, ._181 + 8 @ gMenuCallback
+ ldr r0, ._181 + 12 @ debug_sub_808C6C8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._182:
+ .align 2, 0
+._181:
+ .word gUnknown_Debug_083C3194
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808C6C8+1
+
+ thumb_func_end debug_sub_808C670
+
+ thumb_func_start debug_sub_808C6C8
+debug_sub_808C6C8:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._186 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808C714
+ ldrb r0, [r5]
+ bl debug_sub_808C764
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._183 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._184 @cond_branch
+._183:
+ mov r0, #0x0
+ b ._185
+._187:
+ .align 2, 0
+._186:
+ .word gDebug_0300070F
+._184:
+ bl CloseMenu
+ mov r0, #0x1
+._185:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808C6C8
+
+ thumb_func_start debug_sub_808C714
+debug_sub_808C714:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._191 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._190 @cond_branch
+ ldr r0, ._191 + 4 @ gUnknown_Debug_83C31E6
+ lsl r1, r2, #0x3
+ add r1, r1, r2
+ add r1, r1, r3
+ lsl r1, r1, #0x1
+ add r1, r1, r0
+ ldrh r4, [r1]
+ add r0, r4, #0
+ bl FlagGet
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._189 @cond_branch
+ add r0, r4, #0
+ bl FlagSet
+ b ._190
+._192:
+ .align 2, 0
+._191:
+ .word gMain
+ .word gUnknown_Debug_83C31E6
+._189:
+ add r0, r4, #0
+ bl FlagClear
+._190:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808C714
+
+ thumb_func_start debug_sub_808C764
+debug_sub_808C764:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._195 @ gUnknown_Debug_083C31DC
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._193 @cond_branch
+ ldr r0, ._195 + 4 @ gUnknown_Debug_83C31E6
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._194:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl FlagGet
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ neg r2, r0
+ orr r2, r2, r0
+ lsr r2, r2, #0x1f
+ mov r0, #0x1c
+ add r1, r4, #0
+ bl debug_sub_808F2E0
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._194 @cond_branch
+._193:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._196:
+ .align 2, 0
+._195:
+ .word gUnknown_Debug_083C31DC
+ .word gUnknown_Debug_83C31E6
+
+ thumb_func_end debug_sub_808C764
+
+ thumb_func_start debug_sub_808C7C8
+debug_sub_808C7C8:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._197 @ gUnknown_Debug_083C1CE8
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._197 + 4 @ gMenuCallback
+ ldr r0, ._197 + 8 @ debug_sub_808C818
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._198:
+ .align 2, 0
+._197:
+ .word gUnknown_Debug_083C1CE8
+ .word gMenuCallback
+ .word debug_sub_808C818+1
+
+ thumb_func_end debug_sub_808C7C8
+
+ thumb_func_start debug_sub_808C818
+debug_sub_808C818:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._199 @cond_branch
+ mov r0, #0x0
+ b ._202
+._199:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._201 @cond_branch
+ ldr r2, ._203 @ gMenuCallback
+ ldr r0, ._203 + 4 @ gUnknown_Debug_083C1CE8
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._202
+._204:
+ .align 2, 0
+._203:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C1CE8
+._201:
+ bl CloseMenu
+ mov r0, #0x1
+._202:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808C818
+
+ thumb_func_start debug_sub_808C85C
+debug_sub_808C85C:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._205 @ gUnknown_Debug_083C1E0C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r0, ._205 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._205 + 8 @ gMenuCallback
+ ldr r0, ._205 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._206:
+ .align 2, 0
+._205:
+ .word gUnknown_Debug_083C1E0C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808C85C
+
+ thumb_func_start debug_sub_808C8B4
+debug_sub_808C8B4:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._207 @ gUnknown_Debug_083C1F38
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._207 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._207 + 8 @ gMenuCallback
+ ldr r0, ._207 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._208:
+ .align 2, 0
+._207:
+ .word gUnknown_Debug_083C1F38
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808C8B4
+
+ thumb_func_start debug_sub_808C90C
+debug_sub_808C90C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._209 @ gUnknown_Debug_083C206C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._209 + 4 @ gDebug_0300070F
+ mov r0, #0x2
+ strb r0, [r1]
+ ldr r1, ._209 + 8 @ gMenuCallback
+ ldr r0, ._209 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._210:
+ .align 2, 0
+._209:
+ .word gUnknown_Debug_083C206C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808C90C
+
+ thumb_func_start debug_sub_808C964
+debug_sub_808C964:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._211 @ gUnknown_Debug_083C2190
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._211 + 4 @ gDebug_0300070F
+ mov r0, #0x3
+ strb r0, [r1]
+ ldr r1, ._211 + 8 @ gMenuCallback
+ ldr r0, ._211 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._212:
+ .align 2, 0
+._211:
+ .word gUnknown_Debug_083C2190
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808C964
+
+ thumb_func_start debug_sub_808C9BC
+debug_sub_808C9BC:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._213 @ gUnknown_Debug_083C2264
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x6
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x6
+ bl InitMenu
+ ldr r1, ._213 + 4 @ gDebug_0300070F
+ mov r0, #0x4
+ strb r0, [r1]
+ ldr r1, ._213 + 8 @ gMenuCallback
+ ldr r0, ._213 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._214:
+ .align 2, 0
+._213:
+ .word gUnknown_Debug_083C2264
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808C9BC
+
+ thumb_func_start debug_sub_808CA14
+debug_sub_808CA14:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._215 @ gUnknown_Debug_083C2370
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._215 + 4 @ gDebug_0300070F
+ mov r0, #0x5
+ strb r0, [r1]
+ ldr r1, ._215 + 8 @ gMenuCallback
+ ldr r0, ._215 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._216:
+ .align 2, 0
+._215:
+ .word gUnknown_Debug_083C2370
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808CA14
+
+ thumb_func_start debug_sub_808CA6C
+debug_sub_808CA6C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._217 @ gUnknown_Debug_083C248C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._217 + 4 @ gDebug_0300070F
+ mov r0, #0x6
+ strb r0, [r1]
+ ldr r1, ._217 + 8 @ gMenuCallback
+ ldr r0, ._217 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._218:
+ .align 2, 0
+._217:
+ .word gUnknown_Debug_083C248C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808CA6C
+
+ thumb_func_start debug_sub_808CAC4
+debug_sub_808CAC4:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._219 @ gUnknown_Debug_083C259C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._219 + 4 @ gDebug_0300070F
+ mov r0, #0x7
+ strb r0, [r1]
+ ldr r1, ._219 + 8 @ gMenuCallback
+ ldr r0, ._219 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._220:
+ .align 2, 0
+._219:
+ .word gUnknown_Debug_083C259C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808CAC4
+
+ thumb_func_start debug_sub_808CB1C
+debug_sub_808CB1C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._221 @ gUnknown_Debug_083C26C8
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._221 + 4 @ gDebug_0300070F
+ mov r0, #0x8
+ strb r0, [r1]
+ ldr r1, ._221 + 8 @ gMenuCallback
+ ldr r0, ._221 + 12 @ debug_sub_808CB74
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._222:
+ .align 2, 0
+._221:
+ .word gUnknown_Debug_083C26C8
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CB74+1
+
+ thumb_func_end debug_sub_808CB1C
+
+ thumb_func_start debug_sub_808CB74
+debug_sub_808CB74:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._226 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808CBC0
+ ldrb r0, [r5]
+ bl debug_sub_808CC10
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._223 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._224 @cond_branch
+._223:
+ mov r0, #0x0
+ b ._225
+._227:
+ .align 2, 0
+._226:
+ .word gDebug_0300070F
+._224:
+ bl CloseMenu
+ mov r0, #0x1
+._225:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808CB74
+
+ thumb_func_start debug_sub_808CBC0
+debug_sub_808CBC0:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._231 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._230 @cond_branch
+ ldr r0, ._231 + 4 @ gUnknown_Debug_083C271A
+ lsl r1, r2, #0x3
+ add r1, r1, r2
+ add r1, r1, r3
+ lsl r1, r1, #0x1
+ add r1, r1, r0
+ ldrh r4, [r1]
+ add r0, r4, #0
+ bl FlagGet
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._229 @cond_branch
+ add r0, r4, #0
+ bl FlagSet
+ b ._230
+._232:
+ .align 2, 0
+._231:
+ .word gMain
+ .word gUnknown_Debug_083C271A
+._229:
+ add r0, r4, #0
+ bl FlagClear
+._230:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808CBC0
+
+ thumb_func_start debug_sub_808CC10
+debug_sub_808CC10:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._235 @ gUnknown_Debug_083C2710
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._233 @cond_branch
+ ldr r0, ._235 + 4 @ gUnknown_Debug_083C271A
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._234:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl FlagGet
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ neg r2, r0
+ orr r2, r2, r0
+ lsr r2, r2, #0x1f
+ mov r0, #0x1c
+ add r1, r4, #0
+ bl debug_sub_808F2E0
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._234 @cond_branch
+._233:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._236:
+ .align 2, 0
+._235:
+ .word gUnknown_Debug_083C2710
+ .word gUnknown_Debug_083C271A
+
+ thumb_func_end debug_sub_808CC10
+
+ thumb_func_start debug_sub_808CC74
+debug_sub_808CC74:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0x7
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._237 @ gUnknown_Debug_083C1ADC
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x3
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x3
+ bl InitMenu
+ ldr r1, ._237 + 4 @ gMenuCallback
+ ldr r0, ._237 + 8 @ debug_sub_808CCC4
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._238:
+ .align 2, 0
+._237:
+ .word gUnknown_Debug_083C1ADC
+ .word gMenuCallback
+ .word debug_sub_808CCC4+1
+
+ thumb_func_end debug_sub_808CC74
+
+ thumb_func_start debug_sub_808CCC4
+debug_sub_808CCC4:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._239 @cond_branch
+ mov r0, #0x0
+ b ._242
+._239:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._241 @cond_branch
+ ldr r2, ._243 @ gMenuCallback
+ ldr r0, ._243 + 4 @ gUnknown_Debug_083C1ADC
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._242
+._244:
+ .align 2, 0
+._243:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C1ADC
+._241:
+ bl CloseMenu
+ mov r0, #0x1
+._242:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808CCC4
+
+ thumb_func_start debug_sub_808CD08
+debug_sub_808CD08:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x11
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._245 @ gUnknown_Debug_083C1B7C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x8
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x8
+ bl InitMenu
+ ldr r0, ._245 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._245 + 8 @ gMenuCallback
+ ldr r0, ._245 + 12 @ debug_sub_808CE10
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._246:
+ .align 2, 0
+._245:
+ .word gUnknown_Debug_083C1B7C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CE10+1
+
+ thumb_func_end debug_sub_808CD08
+
+ thumb_func_start debug_sub_808CD60
+debug_sub_808CD60:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x9
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._247 @ gUnknown_Debug_083C1BF0
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x4
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x4
+ bl InitMenu
+ ldr r1, ._247 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._247 + 8 @ gMenuCallback
+ ldr r0, ._247 + 12 @ debug_sub_808CE10
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._248:
+ .align 2, 0
+._247:
+ .word gUnknown_Debug_083C1BF0
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CE10+1
+
+ thumb_func_end debug_sub_808CD60
+
+ thumb_func_start debug_sub_808CDB8
+debug_sub_808CDB8:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x3
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._249 @ gUnknown_Debug_083C1C2C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x1
+ bl InitMenu
+ ldr r1, ._249 + 4 @ gDebug_0300070F
+ mov r0, #0x2
+ strb r0, [r1]
+ ldr r1, ._249 + 8 @ gMenuCallback
+ ldr r0, ._249 + 12 @ debug_sub_808CE10
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._250:
+ .align 2, 0
+._249:
+ .word gUnknown_Debug_083C1C2C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808CE10+1
+
+ thumb_func_end debug_sub_808CDB8
+
+ thumb_func_start debug_sub_808CE10
+debug_sub_808CE10:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._254 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808CE5C
+ ldrb r0, [r5]
+ bl debug_sub_808CEAC
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._251 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._252 @cond_branch
+._251:
+ mov r0, #0x0
+ b ._253
+._255:
+ .align 2, 0
+._254:
+ .word gDebug_0300070F
+._252:
+ bl CloseMenu
+ mov r0, #0x1
+._253:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808CE10
+
+ thumb_func_start debug_sub_808CE5C
+debug_sub_808CE5C:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._259 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._258 @cond_branch
+ ldr r0, ._259 + 4 @ gUnknown_Debug_083C1C38
+ lsl r1, r2, #0x3
+ add r1, r1, r2
+ add r1, r1, r3
+ lsl r1, r1, #0x1
+ add r1, r1, r0
+ ldrh r4, [r1]
+ add r0, r4, #0
+ bl FlagGet
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._257 @cond_branch
+ add r0, r4, #0
+ bl FlagSet
+ b ._258
+._260:
+ .align 2, 0
+._259:
+ .word gMain
+ .word gUnknown_Debug_083C1C38
+._257:
+ add r0, r4, #0
+ bl FlagClear
+._258:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808CE5C
+
+ thumb_func_start debug_sub_808CEAC
+debug_sub_808CEAC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._263 @ gUnknown_Debug_083C1C34
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._261 @cond_branch
+ ldr r0, ._263 + 4 @ gUnknown_Debug_083C1C38
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._262:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl FlagGet
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ neg r2, r0
+ orr r2, r2, r0
+ lsr r2, r2, #0x1f
+ mov r0, #0x1c
+ add r1, r4, #0
+ bl debug_sub_808F2E0
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._262 @cond_branch
+._261:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._264:
+ .align 2, 0
+._263:
+ .word gUnknown_Debug_083C1C34
+ .word gUnknown_Debug_083C1C38
+
+ thumb_func_end debug_sub_808CEAC
+
+ thumb_func_start debug_sub_808CF10
+debug_sub_808CF10:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._265 @ gUnknown_Debug_083C1330
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._265 + 4 @ gMenuCallback
+ ldr r0, ._265 + 8 @ debug_sub_808CF60
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._266:
+ .align 2, 0
+._265:
+ .word gUnknown_Debug_083C1330
+ .word gMenuCallback
+ .word debug_sub_808CF60+1
+
+ thumb_func_end debug_sub_808CF10
+
+ thumb_func_start debug_sub_808CF60
+debug_sub_808CF60:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._267 @cond_branch
+ mov r0, #0x0
+ b ._270
+._267:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._269 @cond_branch
+ ldr r2, ._271 @ gMenuCallback
+ ldr r0, ._271 + 4 @ gUnknown_Debug_083C1330
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._270
+._272:
+ .align 2, 0
+._271:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C1330
+._269:
+ bl CloseMenu
+ mov r0, #0x1
+._270:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808CF60
+
+ thumb_func_start debug_sub_808CFA4
+debug_sub_808CFA4:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x11
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._273 @ gUnknown_Debug_083C13D8
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x8
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x8
+ bl InitMenu
+ ldr r0, ._273 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._273 + 8 @ gMenuCallback
+ ldr r0, ._273 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._274:
+ .align 2, 0
+._273:
+ .word gUnknown_Debug_083C13D8
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808CFA4
+
+ thumb_func_start debug_sub_808CFFC
+debug_sub_808CFFC:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._275 @ gUnknown_Debug_083C1465
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._275 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._275 + 8 @ gMenuCallback
+ ldr r0, ._275 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._276:
+ .align 2, 0
+._275:
+ .word gUnknown_Debug_083C1465
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808CFFC
+
+ thumb_func_start debug_sub_808D054
+debug_sub_808D054:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._277 @ gUnknown_Debug_083C1503
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._277 + 4 @ gDebug_0300070F
+ mov r0, #0x2
+ strb r0, [r1]
+ ldr r1, ._277 + 8 @ gMenuCallback
+ ldr r0, ._277 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._278:
+ .align 2, 0
+._277:
+ .word gUnknown_Debug_083C1503
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808D054
+
+ thumb_func_start debug_sub_808D0AC
+debug_sub_808D0AC:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x9
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._279 @ gUnknown_Debug_083C158A
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x4
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x4
+ bl InitMenu
+ ldr r1, ._279 + 4 @ gDebug_0300070F
+ mov r0, #0x3
+ strb r0, [r1]
+ ldr r1, ._279 + 8 @ gMenuCallback
+ ldr r0, ._279 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._280:
+ .align 2, 0
+._279:
+ .word gUnknown_Debug_083C158A
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808D0AC
+
+ thumb_func_start debug_sub_808D104
+debug_sub_808D104:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._281 @ gUnknown_Debug_083C1647
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._281 + 4 @ gDebug_0300070F
+ mov r0, #0x4
+ strb r0, [r1]
+ ldr r1, ._281 + 8 @ gMenuCallback
+ ldr r0, ._281 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._282:
+ .align 2, 0
+._281:
+ .word gUnknown_Debug_083C1647
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808D104
+
+ thumb_func_start debug_sub_808D15C
+debug_sub_808D15C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._283 @ gUnknown_Debug_083C1712
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._283 + 4 @ gDebug_0300070F
+ mov r0, #0x5
+ strb r0, [r1]
+ ldr r1, ._283 + 8 @ gMenuCallback
+ ldr r0, ._283 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._284:
+ .align 2, 0
+._283:
+ .word gUnknown_Debug_083C1712
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808D15C
+
+ thumb_func_start debug_sub_808D1B4
+debug_sub_808D1B4:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._285 @ gUnknown_Debug_083C17F8
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._285 + 4 @ gDebug_0300070F
+ mov r0, #0x6
+ strb r0, [r1]
+ ldr r1, ._285 + 8 @ gMenuCallback
+ ldr r0, ._285 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._286:
+ .align 2, 0
+._285:
+ .word gUnknown_Debug_083C17F8
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808D1B4
+
+ thumb_func_start debug_sub_808D20C
+debug_sub_808D20C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._287 @ gUnknown_Debug_083C18B8
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._287 + 4 @ gDebug_0300070F
+ mov r0, #0x7
+ strb r0, [r1]
+ ldr r1, ._287 + 8 @ gMenuCallback
+ ldr r0, ._287 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._288:
+ .align 2, 0
+._287:
+ .word gUnknown_Debug_083C18B8
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808D20C
+
+ thumb_func_start debug_sub_808D264
+debug_sub_808D264:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._289 @ gDebug_0x83C1974
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x5
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x5
+ bl InitMenu
+ ldr r1, ._289 + 4 @ gDebug_0300070F
+ mov r0, #0x8
+ strb r0, [r1]
+ ldr r1, ._289 + 8 @ gMenuCallback
+ ldr r0, ._289 + 12 @ debug_sub_808D2BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._290:
+ .align 2, 0
+._289:
+ .word gDebug_0x83C1974
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D2BC+1
+
+ thumb_func_end debug_sub_808D264
+
+ thumb_func_start debug_sub_808D2BC
+debug_sub_808D2BC:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._294 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808D308
+ ldrb r0, [r5]
+ bl debug_sub_808D358
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._291 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._292 @cond_branch
+._291:
+ mov r0, #0x0
+ b ._293
+._295:
+ .align 2, 0
+._294:
+ .word gDebug_0300070F
+._292:
+ bl CloseMenu
+ mov r0, #0x1
+._293:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808D2BC
+
+ thumb_func_start debug_sub_808D308
+debug_sub_808D308:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._299 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._298 @cond_branch
+ ldr r0, ._299 + 4 @ gUnknown_Debug_083C19C6
+ lsl r1, r2, #0x3
+ add r1, r1, r2
+ add r1, r1, r3
+ lsl r1, r1, #0x1
+ add r1, r1, r0
+ ldrh r4, [r1]
+ add r0, r4, #0
+ bl FlagGet
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._297 @cond_branch
+ add r0, r4, #0
+ bl FlagSet
+ b ._298
+._300:
+ .align 2, 0
+._299:
+ .word gMain
+ .word gUnknown_Debug_083C19C6
+._297:
+ add r0, r4, #0
+ bl FlagClear
+._298:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808D308
+
+ thumb_func_start debug_sub_808D358
+debug_sub_808D358:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._303 @ gUnknown_Debug_083C19BC
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._301 @cond_branch
+ ldr r0, ._303 + 4 @ gUnknown_Debug_083C19C6
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._302:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl FlagGet
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ neg r2, r0
+ orr r2, r2, r0
+ lsr r2, r2, #0x1f
+ mov r0, #0x1c
+ add r1, r4, #0
+ bl debug_sub_808F2E0
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._302 @cond_branch
+._301:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._304:
+ .align 2, 0
+._303:
+ .word gUnknown_Debug_083C19BC
+ .word gUnknown_Debug_083C19C6
+
+ thumb_func_end debug_sub_808D358
+
+ thumb_func_start debug_sub_808D3BC
+debug_sub_808D3BC:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._305 @ gUnknown_Debug_083C105C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x2
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x2
+ bl InitMenu
+ ldr r1, ._305 + 4 @ gMenuCallback
+ ldr r0, ._305 + 8 @ debug_sub_808D40C
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._306:
+ .align 2, 0
+._305:
+ .word gUnknown_Debug_083C105C
+ .word gMenuCallback
+ .word debug_sub_808D40C+1
+
+ thumb_func_end debug_sub_808D3BC
+
+ thumb_func_start debug_sub_808D40C
+debug_sub_808D40C:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._307 @cond_branch
+ mov r0, #0x0
+ b ._310
+._307:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._309 @cond_branch
+ ldr r2, ._311 @ gMenuCallback
+ ldr r0, ._311 + 4 @ gUnknown_Debug_083C105C
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._310
+._312:
+ .align 2, 0
+._311:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C105C
+._309:
+ bl CloseMenu
+ mov r0, #0x1
+._310:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808D40C
+
+ thumb_func_start debug_sub_808D450
+debug_sub_808D450:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._313 @ gUnknown_Debug_083C10BD
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r0, ._313 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._313 + 8 @ gMenuCallback
+ ldr r0, ._313 + 12 @ debug_sub_808D500
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._314:
+ .align 2, 0
+._313:
+ .word gUnknown_Debug_083C10BD
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D500+1
+
+ thumb_func_end debug_sub_808D450
+
+ thumb_func_start debug_sub_808D4A8
+debug_sub_808D4A8:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._315 @ gUnknown_Debug_083C1149
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._315 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._315 + 8 @ gMenuCallback
+ ldr r0, ._315 + 12 @ debug_sub_808D500
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._316:
+ .align 2, 0
+._315:
+ .word gUnknown_Debug_083C1149
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D500+1
+
+ thumb_func_end debug_sub_808D4A8
+
+ thumb_func_start debug_sub_808D500
+debug_sub_808D500:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._320 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808D54C
+ ldrb r0, [r5]
+ bl debug_sub_808D59C
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._317 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._318 @cond_branch
+._317:
+ mov r0, #0x0
+ b ._319
+._321:
+ .align 2, 0
+._320:
+ .word gDebug_0300070F
+._318:
+ bl CloseMenu
+ mov r0, #0x1
+._319:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808D500
+
+ thumb_func_start debug_sub_808D54C
+debug_sub_808D54C:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._325 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._324 @cond_branch
+ ldr r0, ._325 + 4 @ gUnknown_Debug_083C1196
+ lsl r1, r2, #0x3
+ add r1, r1, r2
+ add r1, r1, r3
+ lsl r1, r1, #0x1
+ add r1, r1, r0
+ ldrh r4, [r1]
+ add r0, r4, #0
+ bl FlagGet
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._323 @cond_branch
+ add r0, r4, #0
+ bl FlagSet
+ b ._324
+._326:
+ .align 2, 0
+._325:
+ .word gMain
+ .word gUnknown_Debug_083C1196
+._323:
+ add r0, r4, #0
+ bl FlagClear
+._324:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808D54C
+
+ thumb_func_start debug_sub_808D59C
+debug_sub_808D59C:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._329 @ gUnknown_Debug_083C1194
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._327 @cond_branch
+ ldr r0, ._329 + 4 @ gUnknown_Debug_083C1196
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._328:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl FlagGet
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ neg r2, r0
+ orr r2, r2, r0
+ lsr r2, r2, #0x1f
+ mov r0, #0x1c
+ add r1, r4, #0
+ bl debug_sub_808F2E0
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._328 @cond_branch
+._327:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._330:
+ .align 2, 0
+._329:
+ .word gUnknown_Debug_083C1194
+ .word gUnknown_Debug_083C1196
+
+ thumb_func_end debug_sub_808D59C
+
+ thumb_func_start debug_sub_808D600
+debug_sub_808D600:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._331 @ gUnknown_Debug_083C11CC
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x2
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x2
+ bl InitMenu
+ ldr r1, ._331 + 4 @ gMenuCallback
+ ldr r0, ._331 + 8 @ debug_sub_808D650
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._332:
+ .align 2, 0
+._331:
+ .word gUnknown_Debug_083C11CC
+ .word gMenuCallback
+ .word debug_sub_808D650+1
+
+ thumb_func_end debug_sub_808D600
+
+ thumb_func_start debug_sub_808D650
+debug_sub_808D650:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._333 @cond_branch
+ mov r0, #0x0
+ b ._336
+._333:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._335 @cond_branch
+ ldr r2, ._337 @ gMenuCallback
+ ldr r0, ._337 + 4 @ gUnknown_Debug_083C11CC
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._336
+._338:
+ .align 2, 0
+._337:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C11CC
+._335:
+ bl CloseMenu
+ mov r0, #0x1
+._336:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808D650
+
+ thumb_func_start debug_sub_808D694
+debug_sub_808D694:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._339 @ gUnknown_Debug_083C1212
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r0, ._339 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._339 + 8 @ gMenuCallback
+ ldr r0, ._339 + 12 @ debug_sub_808D744
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._340:
+ .align 2, 0
+._339:
+ .word gUnknown_Debug_083C1212
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D744+1
+
+ thumb_func_end debug_sub_808D694
+
+ thumb_func_start debug_sub_808D6EC
+debug_sub_808D6EC:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._341 @ gUnknown_Debug_083C1288
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._341 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._341 + 8 @ gMenuCallback
+ ldr r0, ._341 + 12 @ debug_sub_808D744
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._342:
+ .align 2, 0
+._341:
+ .word gUnknown_Debug_083C1288
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D744+1
+
+ thumb_func_end debug_sub_808D6EC
+
+ thumb_func_start debug_sub_808D744
+debug_sub_808D744:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._346 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808D790
+ ldrb r0, [r5]
+ bl debug_sub_808D7E0
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._343 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._344 @cond_branch
+._343:
+ mov r0, #0x0
+ b ._345
+._347:
+ .align 2, 0
+._346:
+ .word gDebug_0300070F
+._344:
+ bl CloseMenu
+ mov r0, #0x1
+._345:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808D744
+
+ thumb_func_start debug_sub_808D790
+debug_sub_808D790:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._351 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._350 @cond_branch
+ ldr r0, ._351 + 4 @ gUnknown_Debug_083C12D2
+ lsl r1, r2, #0x3
+ add r1, r1, r2
+ add r1, r1, r3
+ lsl r1, r1, #0x1
+ add r1, r1, r0
+ ldrh r4, [r1]
+ add r0, r4, #0
+ bl FlagGet
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._349 @cond_branch
+ add r0, r4, #0
+ bl FlagSet
+ b ._350
+._352:
+ .align 2, 0
+._351:
+ .word gMain
+ .word gUnknown_Debug_083C12D2
+._349:
+ add r0, r4, #0
+ bl FlagClear
+._350:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808D790
+
+ thumb_func_start debug_sub_808D7E0
+debug_sub_808D7E0:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._355 @ gUnknown_Debug_083C12D0
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._353 @cond_branch
+ ldr r0, ._355 + 4 @ gUnknown_Debug_083C12D2
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._354:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl FlagGet
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ neg r2, r0
+ orr r2, r2, r0
+ lsr r2, r2, #0x1f
+ mov r0, #0x1c
+ add r1, r4, #0
+ bl debug_sub_808F2E0
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._354 @cond_branch
+._353:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._356:
+ .align 2, 0
+._355:
+ .word gUnknown_Debug_083C12D0
+ .word gUnknown_Debug_083C12D2
+
+ thumb_func_end debug_sub_808D7E0
+
+ thumb_func_start debug_sub_808D844
+debug_sub_808D844:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ mov r3, #0x3
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._357 @ gUnknown_Debug_083C1A78
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x1
+ bl InitMenu
+ ldr r1, ._357 + 4 @ gMenuCallback
+ ldr r0, ._357 + 8 @ debug_sub_808D894
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._358:
+ .align 2, 0
+._357:
+ .word gUnknown_Debug_083C1A78
+ .word gMenuCallback
+ .word debug_sub_808D894+1
+
+ thumb_func_end debug_sub_808D844
+
+ thumb_func_start debug_sub_808D894
+debug_sub_808D894:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r3, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r3, r0
+ bne ._359 @cond_branch
+ mov r0, #0x0
+ b ._362
+._359:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r3, r0
+ beq ._361 @cond_branch
+ ldr r2, ._363 @ gMenuCallback
+ ldr r1, ._363 + 4 @ gUnknown_Debug_083C1A78
+ lsl r0, r3, #0x3
+ add r0, r0, r1
+ ldr r0, [r0, #0x4]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._362
+._364:
+ .align 2, 0
+._363:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C1A78
+._361:
+ bl CloseMenu
+ mov r0, #0x1
+._362:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808D894
+
+ thumb_func_start debug_sub_808D8D8
+debug_sub_808D8D8:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._365 @ gUnknown_Debug_083C1A9C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x2
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x2
+ bl InitMenu
+ ldr r0, ._365 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._365 + 8 @ gMenuCallback
+ ldr r0, ._365 + 12 @ debug_sub_808D930
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._366:
+ .align 2, 0
+._365:
+ .word gUnknown_Debug_083C1A9C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808D930+1
+
+ thumb_func_end debug_sub_808D8D8
+
+ thumb_func_start debug_sub_808D930
+debug_sub_808D930:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._370 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808D97C
+ ldrb r0, [r5]
+ bl debug_sub_808D9CC
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._367 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._368 @cond_branch
+._367:
+ mov r0, #0x0
+ b ._369
+._371:
+ .align 2, 0
+._370:
+ .word gDebug_0300070F
+._368:
+ bl CloseMenu
+ mov r0, #0x1
+._369:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808D930
+
+ thumb_func_start debug_sub_808D97C
+debug_sub_808D97C:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._375 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._374 @cond_branch
+ ldr r0, ._375 + 4 @ gUnknown_Debug_083C1AAE
+ lsl r1, r2, #0x3
+ add r1, r1, r2
+ add r1, r1, r3
+ lsl r1, r1, #0x1
+ add r1, r1, r0
+ ldrh r4, [r1]
+ add r0, r4, #0
+ bl FlagGet
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ bne ._373 @cond_branch
+ add r0, r4, #0
+ bl FlagSet
+ b ._374
+._376:
+ .align 2, 0
+._375:
+ .word gMain
+ .word gUnknown_Debug_083C1AAE
+._373:
+ add r0, r4, #0
+ bl FlagClear
+._374:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808D97C
+
+ thumb_func_start debug_sub_808D9CC
+debug_sub_808D9CC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._379 @ gUnknown_Debug_083C1AAC
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._377 @cond_branch
+ ldr r0, ._379 + 4 @ gUnknown_Debug_083C1AAE
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._378:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl FlagGet
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ neg r2, r0
+ orr r2, r2, r0
+ lsr r2, r2, #0x1f
+ mov r0, #0x1c
+ add r1, r4, #0
+ bl debug_sub_808F2E0
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._378 @cond_branch
+._377:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._380:
+ .align 2, 0
+._379:
+ .word gUnknown_Debug_083C1AAC
+ .word gUnknown_Debug_083C1AAE
+
+ thumb_func_end debug_sub_808D9CC
+
+ thumb_func_start debug_sub_808DA30
+debug_sub_808DA30:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x3
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._381 @ gUnknown_Debug_083C103A
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x1
+ bl InitMenu
+ ldr r1, ._381 + 4 @ gMenuCallback
+ ldr r0, ._381 + 8 @ debug_sub_808DA80
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._382:
+ .align 2, 0
+._381:
+ .word gUnknown_Debug_083C103A
+ .word gMenuCallback
+ .word debug_sub_808DA80+1
+
+ thumb_func_end debug_sub_808DA30
+
+ thumb_func_start debug_sub_808DA80
+debug_sub_808DA80:
+ push {r4, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ bl debug_sub_808DAD4
+ bl debug_sub_808DABC
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._383 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._384 @cond_branch
+._383:
+ mov r0, #0x0
+ b ._385
+._384:
+ bl CloseMenu
+ mov r0, #0x1
+._385:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808DA80
+
+ thumb_func_start debug_sub_808DABC
+debug_sub_808DABC:
+ push {lr}
+ ldr r0, ._386 @ gSpecialVar_Result
+ ldrh r2, [r0]
+ mov r0, #0x18
+ mov r1, #0x1
+ bl debug_sub_808F31C
+ pop {r0}
+ bx r0
+._387:
+ .align 2, 0
+._386:
+ .word gSpecialVar_Result
+
+ thumb_func_end debug_sub_808DABC
+
+ thumb_func_start debug_sub_808DAD4
+debug_sub_808DAD4:
+ push {lr}
+ ldr r0, ._390 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._388 @cond_branch
+ mov r2, #0x1
+ b ._389
+._391:
+ .align 2, 0
+._390:
+ .word gMain
+._388:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._392 @cond_branch
+ ldr r2, ._393 @ 0xffff
+._389:
+ ldr r1, ._393 + 4 @ gSpecialVar_Result
+ ldrh r0, [r1]
+ add r0, r2, r0
+ strh r0, [r1]
+._392:
+ pop {r0}
+ bx r0
+._394:
+ .align 2, 0
+._393:
+ .word 0xffff
+ .word gSpecialVar_Result
+
+ thumb_func_end debug_sub_808DAD4
+
+ thumb_func_start debug_sub_808DB0C
+debug_sub_808DB0C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._395 @ gUnknown_Debug_083C3D08
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._395 + 4 @ gMenuCallback
+ ldr r0, ._395 + 8 @ debug_sub_808DB5C
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._396:
+ .align 2, 0
+._395:
+ .word gUnknown_Debug_083C3D08
+ .word gMenuCallback
+ .word debug_sub_808DB5C+1
+
+ thumb_func_end debug_sub_808DB0C
+
+ thumb_func_start debug_sub_808DB5C
+debug_sub_808DB5C:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._397 @cond_branch
+ mov r0, #0x0
+ b ._400
+._397:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._399 @cond_branch
+ ldr r2, ._401 @ gMenuCallback
+ ldr r0, ._401 + 4 @ gUnknown_Debug_083C3D08
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._400
+._402:
+ .align 2, 0
+._401:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C3D08
+._399:
+ bl CloseMenu
+ mov r0, #0x1
+._400:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808DB5C
+
+ thumb_func_start debug_sub_808DBA0
+debug_sub_808DBA0:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x11
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._403 @ gUnknown_Debug_083C432C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x8
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x8
+ bl InitMenu
+ ldr r0, ._403 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._403 + 8 @ gMenuCallback
+ ldr r0, ._403 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._404:
+ .align 2, 0
+._403:
+ .word gUnknown_Debug_083C432C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DBA0
+
+ thumb_func_start debug_sub_808DBF8
+debug_sub_808DBF8:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._405 @ gUnknown_Debug_083C436C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._405 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._405 + 8 @ gMenuCallback
+ ldr r0, ._405 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._406:
+ .align 2, 0
+._405:
+ .word gUnknown_Debug_083C436C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DBF8
+
+ thumb_func_start debug_sub_808DC50
+debug_sub_808DC50:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._407 @ gUnknown_Debug_083C43B4
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._407 + 4 @ gDebug_0300070F
+ mov r0, #0x2
+ strb r0, [r1]
+ ldr r1, ._407 + 8 @ gMenuCallback
+ ldr r0, ._407 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._408:
+ .align 2, 0
+._407:
+ .word gUnknown_Debug_083C43B4
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DC50
+
+ thumb_func_start debug_sub_808DCA8
+debug_sub_808DCA8:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._409 @ gUnknown_Debug_083C43FC
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._409 + 4 @ gDebug_0300070F
+ mov r0, #0x3
+ strb r0, [r1]
+ ldr r1, ._409 + 8 @ gMenuCallback
+ ldr r0, ._409 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._410:
+ .align 2, 0
+._409:
+ .word gUnknown_Debug_083C43FC
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DCA8
+
+ thumb_func_start debug_sub_808DD00
+debug_sub_808DD00:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._411 @ gUnknown_Debug_083C4444
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._411 + 4 @ gDebug_0300070F
+ mov r0, #0x4
+ strb r0, [r1]
+ ldr r1, ._411 + 8 @ gMenuCallback
+ ldr r0, ._411 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._412:
+ .align 2, 0
+._411:
+ .word gUnknown_Debug_083C4444
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DD00
+
+ thumb_func_start debug_sub_808DD58
+debug_sub_808DD58:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._413 @ gUnknown_Debug_083C448C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._413 + 4 @ gDebug_0300070F
+ mov r0, #0x5
+ strb r0, [r1]
+ ldr r1, ._413 + 8 @ gMenuCallback
+ ldr r0, ._413 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._414:
+ .align 2, 0
+._413:
+ .word gUnknown_Debug_083C448C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DD58
+
+ thumb_func_start debug_sub_808DDB0
+debug_sub_808DDB0:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._415 @ gUnknown_Debug_83C44C4
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x6
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x6
+ bl InitMenu
+ ldr r1, ._415 + 4 @ gDebug_0300070F
+ mov r0, #0x6
+ strb r0, [r1]
+ ldr r1, ._415 + 8 @ gMenuCallback
+ ldr r0, ._415 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._416:
+ .align 2, 0
+._415:
+ .word gUnknown_Debug_83C44C4
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DDB0
+
+ thumb_func_start debug_sub_808DE08
+debug_sub_808DE08:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._417 @ gUnknown_Debug_83C44EC
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._417 + 4 @ gDebug_0300070F
+ mov r0, #0x7
+ strb r0, [r1]
+ ldr r1, ._417 + 8 @ gMenuCallback
+ ldr r0, ._417 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._418:
+ .align 2, 0
+._417:
+ .word gUnknown_Debug_83C44EC
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DE08
+
+ thumb_func_start debug_sub_808DE60
+debug_sub_808DE60:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._419 @ gUnknown_Debug_083C4534
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._419 + 4 @ gDebug_0300070F
+ mov r0, #0x8
+ strb r0, [r1]
+ ldr r1, ._419 + 8 @ gMenuCallback
+ ldr r0, ._419 + 12 @ debug_sub_808DEB8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._420:
+ .align 2, 0
+._419:
+ .word gUnknown_Debug_083C4534
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808DEB8+1
+
+ thumb_func_end debug_sub_808DE60
+
+ thumb_func_start debug_sub_808DEB8
+debug_sub_808DEB8:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._424 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808DF64
+ ldrb r0, [r5]
+ bl debug_sub_808DF04
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._421 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._422 @cond_branch
+._421:
+ mov r0, #0x0
+ b ._423
+._425:
+ .align 2, 0
+._424:
+ .word gDebug_0300070F
+._422:
+ bl CloseMenu
+ mov r0, #0x1
+._423:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808DEB8
+
+ thumb_func_start debug_sub_808DF04
+debug_sub_808DF04:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._428 @ gUnknown_Debug_083C457C
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._426 @cond_branch
+ ldr r0, ._428 + 4 @ gUnknown_Debug_083C4586
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._427:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl VarGet
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ mov r0, #0x18
+ add r1, r4, #0
+ bl debug_sub_808F31C
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._427 @cond_branch
+._426:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._429:
+ .align 2, 0
+._428:
+ .word gUnknown_Debug_083C457C
+ .word gUnknown_Debug_083C4586
+
+ thumb_func_end debug_sub_808DF04
+
+ thumb_func_start debug_sub_808DF64
+debug_sub_808DF64:
+ push {r4, r5, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._432 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._430 @cond_branch
+ mov r5, #0x1
+ b ._431
+._433:
+ .align 2, 0
+._432:
+ .word gMain
+._430:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._434 @cond_branch
+ ldr r5, ._435 @ 0xffff
+._431:
+ ldr r1, ._435 + 4 @ gUnknown_Debug_083C4586
+ lsl r0, r2, #0x3
+ add r0, r0, r2
+ add r0, r0, r3
+ lsl r0, r0, #0x1
+ add r0, r0, r1
+ ldrh r4, [r0]
+ add r0, r4, #0
+ bl VarGet
+ add r1, r0, #0
+ add r1, r5, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r4, #0
+ bl VarSet
+._434:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._436:
+ .align 2, 0
+._435:
+ .word 0xffff
+ .word gUnknown_Debug_083C4586
+
+ thumb_func_end debug_sub_808DF64
+
+ thumb_func_start debug_sub_808DFC0
+debug_sub_808DFC0:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._437 @ gUnknown_Debug_083C377C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x6
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x6
+ bl InitMenu
+ ldr r1, ._437 + 4 @ gMenuCallback
+ ldr r0, ._437 + 8 @ debug_sub_808E010
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._438:
+ .align 2, 0
+._437:
+ .word gUnknown_Debug_083C377C
+ .word gMenuCallback
+ .word debug_sub_808E010+1
+
+ thumb_func_end debug_sub_808DFC0
+
+ thumb_func_start debug_sub_808E010
+debug_sub_808E010:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._439 @cond_branch
+ mov r0, #0x0
+ b ._442
+._439:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._441 @cond_branch
+ ldr r2, ._443 @ gMenuCallback
+ ldr r0, ._443 + 4 @ gUnknown_Debug_083C377C
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._442
+._444:
+ .align 2, 0
+._443:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C377C
+._441:
+ bl CloseMenu
+ mov r0, #0x1
+._442:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808E010
+
+ thumb_func_start debug_sub_808E054
+debug_sub_808E054:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._445 @ gUnknown_Debug_083C3AA0
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x6
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x6
+ bl InitMenu
+ ldr r0, ._445 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._445 + 8 @ gMenuCallback
+ ldr r0, ._445 + 12 @ debug_sub_808E264
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._446:
+ .align 2, 0
+._445:
+ .word gUnknown_Debug_083C3AA0
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E264+1
+
+ thumb_func_end debug_sub_808E054
+
+ thumb_func_start debug_sub_808E0AC
+debug_sub_808E0AC:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._447 @ gUnknown_Debug_83C3AE0
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x5
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x5
+ bl InitMenu
+ ldr r1, ._447 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._447 + 8 @ gMenuCallback
+ ldr r0, ._447 + 12 @ debug_sub_808E264
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._448:
+ .align 2, 0
+._447:
+ .word gUnknown_Debug_83C3AE0
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E264+1
+
+ thumb_func_end debug_sub_808E0AC
+
+ thumb_func_start debug_sub_808E104
+debug_sub_808E104:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._449 @ gUnknown_Debug_83C3B28
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._449 + 4 @ gDebug_0300070F
+ mov r0, #0x2
+ strb r0, [r1]
+ ldr r1, ._449 + 8 @ gMenuCallback
+ ldr r0, ._449 + 12 @ debug_sub_808E264
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._450:
+ .align 2, 0
+._449:
+ .word gUnknown_Debug_83C3B28
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E264+1
+
+ thumb_func_end debug_sub_808E104
+
+ thumb_func_start debug_sub_808E15C
+debug_sub_808E15C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._451 @ gUnknown_Debug_83C3B70
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x2
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x2
+ bl InitMenu
+ ldr r1, ._451 + 4 @ gDebug_0300070F
+ mov r0, #0x3
+ strb r0, [r1]
+ ldr r1, ._451 + 8 @ gMenuCallback
+ ldr r0, ._451 + 12 @ debug_sub_808E264
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._452:
+ .align 2, 0
+._451:
+ .word gUnknown_Debug_83C3B70
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E264+1
+
+ thumb_func_end debug_sub_808E15C
+
+ thumb_func_start debug_sub_808E1B4
+debug_sub_808E1B4:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._453 @ gUnknown_Debug_83C3BB8
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._453 + 4 @ gDebug_0300070F
+ mov r0, #0x4
+ strb r0, [r1]
+ ldr r1, ._453 + 8 @ gMenuCallback
+ ldr r0, ._453 + 12 @ debug_sub_808E264
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._454:
+ .align 2, 0
+._453:
+ .word gUnknown_Debug_83C3BB8
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E264+1
+
+ thumb_func_end debug_sub_808E1B4
+
+ thumb_func_start debug_sub_808E20C
+debug_sub_808E20C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._455 @ gUnknown_Debug_83C3C00
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x6
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x6
+ bl InitMenu
+ ldr r1, ._455 + 4 @ gDebug_0300070F
+ mov r0, #0x5
+ strb r0, [r1]
+ ldr r1, ._455 + 8 @ gMenuCallback
+ ldr r0, ._455 + 12 @ debug_sub_808E264
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._456:
+ .align 2, 0
+._455:
+ .word gUnknown_Debug_83C3C00
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E264+1
+
+ thumb_func_end debug_sub_808E20C
+
+ thumb_func_start debug_sub_808E264
+debug_sub_808E264:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._460 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808E310
+ ldrb r0, [r5]
+ bl debug_sub_808E2B0
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._457 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._458 @cond_branch
+._457:
+ mov r0, #0x0
+ b ._459
+._461:
+ .align 2, 0
+._460:
+ .word gDebug_0300070F
+._458:
+ bl CloseMenu
+ mov r0, #0x1
+._459:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808E264
+
+ thumb_func_start debug_sub_808E2B0
+debug_sub_808E2B0:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._464 @ gUnknown_Debug_083C3C48
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._462 @cond_branch
+ ldr r0, ._464 + 4 @ gUnknown_Debug_83C3C4E
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._463:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl VarGet
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ mov r0, #0x18
+ add r1, r4, #0
+ bl debug_sub_808F31C
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._463 @cond_branch
+._462:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._465:
+ .align 2, 0
+._464:
+ .word gUnknown_Debug_083C3C48
+ .word gUnknown_Debug_83C3C4E
+
+ thumb_func_end debug_sub_808E2B0
+
+ thumb_func_start debug_sub_808E310
+debug_sub_808E310:
+ push {r4, r5, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._468 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._466 @cond_branch
+ mov r5, #0x1
+ b ._467
+._469:
+ .align 2, 0
+._468:
+ .word gMain
+._466:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._470 @cond_branch
+ ldr r5, ._471 @ 0xffff
+._467:
+ ldr r1, ._471 + 4 @ gUnknown_Debug_83C3C4E
+ lsl r0, r2, #0x3
+ add r0, r0, r2
+ add r0, r0, r3
+ lsl r0, r0, #0x1
+ add r0, r0, r1
+ ldrh r4, [r0]
+ add r0, r4, #0
+ bl VarGet
+ add r1, r0, #0
+ add r1, r5, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r4, #0
+ bl VarSet
+._470:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._472:
+ .align 2, 0
+._471:
+ .word 0xffff
+ .word gUnknown_Debug_83C3C4E
+
+ thumb_func_end debug_sub_808E310
+
+ thumb_func_start debug_sub_808E36C
+debug_sub_808E36C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._473 @ gUnknown_Debug_083C32AC
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x5
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x5
+ bl InitMenu
+ ldr r1, ._473 + 4 @ gMenuCallback
+ ldr r0, ._473 + 8 @ debug_sub_808E3BC
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._474:
+ .align 2, 0
+._473:
+ .word gUnknown_Debug_083C32AC
+ .word gMenuCallback
+ .word debug_sub_808E3BC+1
+
+ thumb_func_end debug_sub_808E36C
+
+ thumb_func_start debug_sub_808E3BC
+debug_sub_808E3BC:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._475 @cond_branch
+ mov r0, #0x0
+ b ._478
+._475:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._477 @cond_branch
+ ldr r2, ._479 @ gMenuCallback
+ ldr r0, ._479 + 4 @ gUnknown_Debug_083C32AC
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._478
+._480:
+ .align 2, 0
+._479:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C32AC
+._477:
+ bl CloseMenu
+ mov r0, #0x1
+._478:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808E3BC
+
+ thumb_func_start debug_sub_808E400
+debug_sub_808E400:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x7
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._481 @ gUnknown_Debug_083C347C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x3
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x3
+ bl InitMenu
+ ldr r0, ._481 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._481 + 8 @ gMenuCallback
+ ldr r0, ._481 + 12 @ debug_sub_808E5B8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._482:
+ .align 2, 0
+._481:
+ .word gUnknown_Debug_083C347C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E5B8+1
+
+ thumb_func_end debug_sub_808E400
+
+ thumb_func_start debug_sub_808E458
+debug_sub_808E458:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._483 @ gUnknown_Debug_083C3494
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x2
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x2
+ bl InitMenu
+ ldr r1, ._483 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._483 + 8 @ gMenuCallback
+ ldr r0, ._483 + 12 @ debug_sub_808E5B8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._484:
+ .align 2, 0
+._483:
+ .word gUnknown_Debug_083C3494
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E5B8+1
+
+ thumb_func_end debug_sub_808E458
+
+ thumb_func_start debug_sub_808E4B0
+debug_sub_808E4B0:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._485 @ gUnknown_Debug_083C34A4
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x6
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x6
+ bl InitMenu
+ ldr r1, ._485 + 4 @ gDebug_0300070F
+ mov r0, #0x2
+ strb r0, [r1]
+ ldr r1, ._485 + 8 @ gMenuCallback
+ ldr r0, ._485 + 12 @ debug_sub_808E5B8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._486:
+ .align 2, 0
+._485:
+ .word gUnknown_Debug_083C34A4
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E5B8+1
+
+ thumb_func_end debug_sub_808E4B0
+
+ thumb_func_start debug_sub_808E508
+debug_sub_808E508:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._487 @ gUnknown_Debug_083C34D4
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r1, ._487 + 4 @ gDebug_0300070F
+ mov r0, #0x3
+ strb r0, [r1]
+ ldr r1, ._487 + 8 @ gMenuCallback
+ ldr r0, ._487 + 12 @ debug_sub_808E5B8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._488:
+ .align 2, 0
+._487:
+ .word gUnknown_Debug_083C34D4
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E5B8+1
+
+ thumb_func_end debug_sub_808E508
+
+ thumb_func_start debug_sub_808E560
+debug_sub_808E560:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xb
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._489 @ gUnknown_Debug_083C351C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x5
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x5
+ bl InitMenu
+ ldr r1, ._489 + 4 @ gDebug_0300070F
+ mov r0, #0x4
+ strb r0, [r1]
+ ldr r1, ._489 + 8 @ gMenuCallback
+ ldr r0, ._489 + 12 @ debug_sub_808E5B8
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._490:
+ .align 2, 0
+._489:
+ .word gUnknown_Debug_083C351C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E5B8+1
+
+ thumb_func_end debug_sub_808E560
+
+ thumb_func_start debug_sub_808E5B8
+debug_sub_808E5B8:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._494 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808E604
+ ldrb r0, [r5]
+ bl debug_sub_808E660
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._491 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._492 @cond_branch
+._491:
+ mov r0, #0x0
+ b ._493
+._495:
+ .align 2, 0
+._494:
+ .word gDebug_0300070F
+._492:
+ bl CloseMenu
+ mov r0, #0x1
+._493:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808E5B8
+
+ thumb_func_start debug_sub_808E604
+debug_sub_808E604:
+ push {r4, r5, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._498 @ gMain
+ ldrh r1, [r0, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._496 @cond_branch
+ mov r5, #0x1
+ b ._497
+._499:
+ .align 2, 0
+._498:
+ .word gMain
+._496:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._500 @cond_branch
+ ldr r5, ._501 @ 0xffff
+._497:
+ ldr r1, ._501 + 4 @ gUnknown_Debug_083C354A
+ lsl r0, r2, #0x3
+ add r0, r0, r2
+ add r0, r0, r3
+ lsl r0, r0, #0x1
+ add r0, r0, r1
+ ldrh r4, [r0]
+ add r0, r4, #0
+ bl VarGet
+ add r1, r0, #0
+ add r1, r5, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r4, #0
+ bl VarSet
+._500:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._502:
+ .align 2, 0
+._501:
+ .word 0xffff
+ .word gUnknown_Debug_083C354A
+
+ thumb_func_end debug_sub_808E604
+
+ thumb_func_start debug_sub_808E660
+debug_sub_808E660:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._505 @ gUnknown_Debug_083C3544
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._503 @cond_branch
+ ldr r0, ._505 + 4 @ gUnknown_Debug_083C354A
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._504:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl VarGet
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ mov r0, #0x18
+ add r1, r4, #0
+ bl debug_sub_808F31C
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._504 @cond_branch
+._503:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._506:
+ .align 2, 0
+._505:
+ .word gUnknown_Debug_083C3544
+ .word gUnknown_Debug_083C354A
+
+ thumb_func_end debug_sub_808E660
+
+ thumb_func_start debug_sub_808E6C0
+debug_sub_808E6C0:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._507 @ gUnknown_Debug_083C4644
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x2
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x2
+ bl InitMenu
+ ldr r1, ._507 + 4 @ gMenuCallback
+ ldr r0, ._507 + 8 @ debug_sub_808E710
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._508:
+ .align 2, 0
+._507:
+ .word gUnknown_Debug_083C4644
+ .word gMenuCallback
+ .word debug_sub_808E710+1
+
+ thumb_func_end debug_sub_808E6C0
+
+ thumb_func_start debug_sub_808E710
+debug_sub_808E710:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._509 @cond_branch
+ mov r0, #0x0
+ b ._512
+._509:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._511 @cond_branch
+ ldr r2, ._513 @ gMenuCallback
+ ldr r0, ._513 + 4 @ gUnknown_Debug_083C4644
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._512
+._514:
+ .align 2, 0
+._513:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C4644
+._511:
+ bl CloseMenu
+ mov r0, #0x1
+._512:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808E710
+
+ thumb_func_start debug_sub_808E754
+debug_sub_808E754:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._515 @ gUnknown_Debug_083C470C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r0, ._515 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._515 + 8 @ gMenuCallback
+ ldr r0, ._515 + 12 @ debug_sub_808E804
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._516:
+ .align 2, 0
+._515:
+ .word gUnknown_Debug_083C470C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E804+1
+
+ thumb_func_end debug_sub_808E754
+
+ thumb_func_start debug_sub_808E7AC
+debug_sub_808E7AC:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._517 @ gUnknown_Debug_083C4754C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._517 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._517 + 8 @ gMenuCallback
+ ldr r0, ._517 + 12 @ debug_sub_808E804
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._518:
+ .align 2, 0
+._517:
+ .word gUnknown_Debug_083C4754C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808E804+1
+
+ thumb_func_end debug_sub_808E7AC
+
+ thumb_func_start debug_sub_808E804
+debug_sub_808E804:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._522 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808E850
+ ldrb r0, [r5]
+ bl debug_sub_808E8AC
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._519 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._520 @cond_branch
+._519:
+ mov r0, #0x0
+ b ._521
+._523:
+ .align 2, 0
+._522:
+ .word gDebug_0300070F
+._520:
+ bl CloseMenu
+ mov r0, #0x1
+._521:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808E804
+
+ thumb_func_start debug_sub_808E850
+debug_sub_808E850:
+ push {r4, r5, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._526 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._524 @cond_branch
+ mov r5, #0x1
+ b ._525
+._527:
+ .align 2, 0
+._526:
+ .word gMain
+._524:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._528 @cond_branch
+ ldr r5, ._529 @ 0xffff
+._525:
+ ldr r1, ._529 + 4 @ gUnknown_Debug_083C478E
+ lsl r0, r2, #0x3
+ add r0, r0, r2
+ add r0, r0, r3
+ lsl r0, r0, #0x1
+ add r0, r0, r1
+ ldrh r4, [r0]
+ add r0, r4, #0
+ bl VarGet
+ add r1, r0, #0
+ add r1, r5, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r4, #0
+ bl VarSet
+._528:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._530:
+ .align 2, 0
+._529:
+ .word 0xffff
+ .word gUnknown_Debug_083C478E
+
+ thumb_func_end debug_sub_808E850
+
+ thumb_func_start debug_sub_808E8AC
+debug_sub_808E8AC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._533 @ gUnknown_Debug_083C478C
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._531 @cond_branch
+ ldr r0, ._533 + 4 @ gUnknown_Debug_083C478E
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._532:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl VarGet
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ mov r0, #0x18
+ add r1, r4, #0
+ bl debug_sub_808F31C
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._532 @cond_branch
+._531:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._534:
+ .align 2, 0
+._533:
+ .word gUnknown_Debug_083C478C
+ .word gUnknown_Debug_083C478E
+
+ thumb_func_end debug_sub_808E8AC
+
+ thumb_func_start debug_sub_808E90C
+debug_sub_808E90C:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ mov r3, #0x5
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._535 @ gUnknown_Debug_083C35C4
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x2
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x17
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x2
+ bl InitMenu
+ ldr r1, ._535 + 4 @ gMenuCallback
+ ldr r0, ._535 + 8 @ debug_sub_808E95C
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._536:
+ .align 2, 0
+._535:
+ .word gUnknown_Debug_083C35C4
+ .word gMenuCallback
+ .word debug_sub_808E95C+1
+
+ thumb_func_end debug_sub_808E90C
+
+ thumb_func_start debug_sub_808E95C
+debug_sub_808E95C:
+ push {lr}
+ bl Menu_ProcessInput
+ lsl r0, r0, #0x18
+ asr r1, r0, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r1, r0
+ bne ._537 @cond_branch
+ mov r0, #0x0
+ b ._540
+._537:
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._539 @cond_branch
+ ldr r2, ._541 @ gMenuCallback
+ ldr r0, ._541 + 4 @ gUnknown_Debug_083C35C4
+ lsl r1, r1, #0x3
+ add r0, r0, #0x4
+ add r1, r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ mov r0, #0x0
+ b ._540
+._542:
+ .align 2, 0
+._541:
+ .word gMenuCallback
+ .word gUnknown_Debug_083C35C4
+._539:
+ bl CloseMenu
+ mov r0, #0x1
+._540:
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808E95C
+
+ thumb_func_start debug_sub_808E9A0
+debug_sub_808E9A0:
+ push {r4, lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._543 @ gUnknown_Debug_083C369C
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x9
+ bl Menu_PrintItems
+ mov r4, #0x0
+ str r4, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x9
+ bl InitMenu
+ ldr r0, ._543 + 4 @ gDebug_0300070F
+ strb r4, [r0]
+ ldr r1, ._543 + 8 @ gMenuCallback
+ ldr r0, ._543 + 12 @ debug_sub_808EA50
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+._544:
+ .align 2, 0
+._543:
+ .word gUnknown_Debug_083C369C
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808EA50+1
+
+ thumb_func_end debug_sub_808E9A0
+
+ thumb_func_start debug_sub_808E9F8
+debug_sub_808E9F8:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1d
+ mov r3, #0xf
+ bl Menu_DrawStdWindowFrame
+ ldr r3, ._545 @ gUnknown_Debug_083C36E4
+ mov r0, #0x2
+ mov r1, #0x1
+ mov r2, #0x7
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0x1c
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x1
+ mov r3, #0x7
+ bl InitMenu
+ ldr r1, ._545 + 4 @ gDebug_0300070F
+ mov r0, #0x1
+ strb r0, [r1]
+ ldr r1, ._545 + 8 @ gMenuCallback
+ ldr r0, ._545 + 12 @ debug_sub_808EA50
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._546:
+ .align 2, 0
+._545:
+ .word gUnknown_Debug_083C36E4
+ .word gDebug_0300070F
+ .word gMenuCallback
+ .word debug_sub_808EA50+1
+
+ thumb_func_end debug_sub_808E9F8
+
+ thumb_func_start debug_sub_808EA50
+debug_sub_808EA50:
+ push {r4, r5, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ add r1, r0, #0
+ ldr r5, ._550 @ gDebug_0300070F
+ ldrb r0, [r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl debug_sub_808EAFC
+ ldrb r0, [r5]
+ bl debug_sub_808EA9C
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._547 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._548 @cond_branch
+._547:
+ mov r0, #0x0
+ b ._549
+._551:
+ .align 2, 0
+._550:
+ .word gDebug_0300070F
+._548:
+ bl CloseMenu
+ mov r0, #0x1
+._549:
+ pop {r4, r5}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808EA50
+
+ thumb_func_start debug_sub_808EA9C
+debug_sub_808EA9C:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r5, #0x0
+ ldr r0, ._554 @ gUnknown_Debug_083C371C
+ add r0, r1, r0
+ ldrb r2, [r0]
+ cmp r5, r2
+ bcs ._552 @cond_branch
+ ldr r0, ._554 + 4 @ gUnknown_Debug_083C371E
+ mov r8, r0
+ lsl r0, r1, #0x3
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ add r6, r2, #0
+._553:
+ lsl r0, r5, #0x1
+ add r4, r0, #1
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ add r0, r0, r7
+ add r0, r0, r8
+ ldrh r0, [r0]
+ bl VarGet
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ mov r0, #0x18
+ add r1, r4, #0
+ bl debug_sub_808F31C
+ add r0, r5, #1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ bcc ._553 @cond_branch
+._552:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._555:
+ .align 2, 0
+._554:
+ .word gUnknown_Debug_083C371C
+ .word gUnknown_Debug_083C371E
+
+ thumb_func_end debug_sub_808EA9C
+
+ thumb_func_start debug_sub_808EAFC
+debug_sub_808EAFC:
+ push {r4, r5, lr}
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ ldr r0, ._558 @ gMain
+ ldrh r1, [r0, #0x2e]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._556 @cond_branch
+ mov r5, #0x1
+ b ._557
+._559:
+ .align 2, 0
+._558:
+ .word gMain
+._556:
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._560 @cond_branch
+ ldr r5, ._561 @ 0xffff
+._557:
+ ldr r1, ._561 + 4 @ gUnknown_Debug_083C371E
+ lsl r0, r2, #0x3
+ add r0, r0, r2
+ add r0, r0, r3
+ lsl r0, r0, #0x1
+ add r0, r0, r1
+ ldrh r4, [r0]
+ add r0, r4, #0
+ bl VarGet
+ add r1, r0, #0
+ add r1, r5, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r4, #0
+ bl VarSet
+._560:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+._562:
+ .align 2, 0
+._561:
+ .word 0xffff
+ .word gUnknown_Debug_083C371E
+
+ thumb_func_end debug_sub_808EAFC
+
+ thumb_func_start debug_sub_808EB58
+debug_sub_808EB58:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xc
+ mov r3, #0x13
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._563 @ gUnknown_Debug_083C47B2
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r3, ._563 + 4 @ gUnknown_Debug_083C47F0
+ mov r0, #0x2
+ mov r1, #0x3
+ mov r2, #0x8
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xb
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x8
+ bl InitMenu
+ ldr r1, ._563 + 8 @ gMenuCallback
+ ldr r0, ._563 + 12 @ debug_sub_808EC10
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._564:
+ .align 2, 0
+._563:
+ .word gUnknown_Debug_083C47B2
+ .word gUnknown_Debug_083C47F0
+ .word gMenuCallback
+ .word debug_sub_808EC10+1
+
+ thumb_func_end debug_sub_808EB58
+
+ thumb_func_start debug_sub_808EBB4
+debug_sub_808EBB4:
+ push {lr}
+ add sp, sp, #0xfffffff8
+ bl Menu_EraseScreen
+ mov r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xd
+ mov r3, #0xd
+ bl Menu_DrawStdWindowFrame
+ ldr r0, ._565 @ gUnknown_Debug_083C4830
+ mov r1, #0x1
+ mov r2, #0x1
+ bl Menu_PrintText
+ ldr r3, ._565 + 4 @ gUnknown_Debug_083C4888
+ mov r0, #0x2
+ mov r1, #0x3
+ mov r2, #0x5
+ bl Menu_PrintItems
+ mov r0, #0x0
+ str r0, [sp]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x5
+ bl InitMenu
+ ldr r1, ._565 + 8 @ gMenuCallback
+ ldr r0, ._565 + 12 @ debug_sub_808EC5C
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x8
+ pop {r1}
+ bx r1
+._566:
+ .align 2, 0
+._565:
+ .word gUnknown_Debug_083C4830
+ .word gUnknown_Debug_083C4888
+ .word gMenuCallback
+ .word debug_sub_808EC5C+1
+
+ thumb_func_end debug_sub_808EBB4
+
+ thumb_func_start debug_sub_808EC10
+debug_sub_808EC10:
+ push {r4, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._568 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._568 @cond_branch
+ ldr r1, ._570 @ gSaveBlock1
+ lsl r0, r2, #0x18
+ asr r0, r0, #0x18
+ ldr r2, ._570 + 4 @ 0x13c8
+ add r1, r1, r2
+ strh r0, [r1]
+ bl CloseMenu
+ mov r0, #0x1
+ b ._569
+._571:
+ .align 2, 0
+._570:
+ .word gSaveBlock1
+ .word 0x13c8
+._568:
+ mov r0, #0x0
+._569:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808EC10
+
+ thumb_func_start debug_sub_808EC5C
+debug_sub_808EC5C:
+ push {r4, lr}
+ bl Menu_ProcessInput
+ add r4, r0, #0
+ lsl r4, r4, #0x18
+ lsr r4, r4, #0x18
+ bl Menu_GetCursorPos
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ lsl r4, r4, #0x18
+ asr r4, r4, #0x18
+ mov r0, #0x2
+ neg r0, r0
+ cmp r4, r0
+ beq ._573 @cond_branch
+ mov r0, #0x1
+ neg r0, r0
+ cmp r4, r0
+ beq ._573 @cond_branch
+ ldr r0, ._575 @ 0x40a7
+ lsl r1, r1, #0x18
+ asr r1, r1, #0x8
+ lsr r1, r1, #0x10
+ bl VarSet
+ bl CloseMenu
+ mov r0, #0x1
+ b ._574
+._576:
+ .align 2, 0
+._575:
+ .word 0x40a7
+._573:
+ mov r0, #0x0
+._574:
+ pop {r4}
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_808EC5C
+
+ thumb_func_start debug_sub_808ECA4
+debug_sub_808ECA4:
+ push {lr}
+ add sp, sp, #0xfffffffc
+ mov r0, #0x1
+ neg r0, r0
+ mov r1, #0x0
+ str r1, [sp]
+ mov r2, #0x0
+ mov r3, #0x10
+ bl BeginNormalPaletteFade
+ ldr r1, ._577 @ gMenuCallback
+ ldr r0, ._577 + 4 @ debug_sub_808ECD0
+ str r0, [r1]
+ mov r0, #0x0
+ add sp, sp, #0x4
+ pop {r1}
+ bx r1
+._578:
+ .align 2, 0
+._577:
+ .word gMenuCallback
+ .word debug_sub_808ECD0+1
+
+ thumb_func_end debug_sub_808ECA4
+
+ thumb_func_start debug_sub_808ECD0
+debug_sub_808ECD0:
+ push {lr}
+ bl UpdatePaletteFade
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._579 @cond_branch
+ mov r0, #0x0
+ b ._580
+._579:
+ bl CloseMenu
+ mov r0, #0x2
+ bl debug_sub_808F168
+ ldr r0, ._581 @ CB2_ContestPainting
+ bl SetMainCallback2
+ ldr r1, ._581 + 4 @ gMain
+ ldr r0, ._581 + 8 @ debug_sub_808B868
+ str r0, [r1, #0x8]
+ mov r0, #0x1
+._580:
+ pop {r1}
+ bx r1
+._582:
+ .align 2, 0
+._581:
+ .word CB2_ContestPainting+1
+ .word gMain
+ .word debug_sub_808B868+1
+
+ thumb_func_end debug_sub_808ECD0
+
+ thumb_func_start TomomichiDebugMenu_Config
+TomomichiDebugMenu_Config:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_end TomomichiDebugMenu_Config
+
+ thumb_func_start debug_sub_808ED0C
+debug_sub_808ED0C:
+ push {lr}
+ ldr r2, ._590 @ gMain
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._584 @cond_branch
+ ldr r1, ._590 + 4 @ gDebug_03000700
+ ldrh r0, [r1]
+ cmp r0, #0x1
+ beq ._584 @cond_branch
+ sub r0, r0, #0x1
+ strh r0, [r1]
+._584:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._586 @cond_branch
+ ldr r3, ._590 + 4 @ gDebug_03000700
+ ldrh r1, [r3]
+ ldr r0, ._590 + 8 @ 0x19b
+ cmp r1, r0
+ beq ._586 @cond_branch
+ add r0, r1, #1
+ strh r0, [r3]
+._586:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._587 @cond_branch
+ ldr r1, ._590 + 4 @ gDebug_03000700
+ ldrh r0, [r1]
+ cmp r0, #0xa
+ bls ._588 @cond_branch
+ sub r0, r0, #0xa
+ b ._589
+._591:
+ .align 2, 0
+._590:
+ .word gMain
+ .word gDebug_03000700
+ .word 0x19b
+._588:
+ mov r0, #0x1
+._589:
+ strh r0, [r1]
+._587:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._592 @cond_branch
+ ldr r2, ._595 @ gDebug_03000700
+ ldrh r1, [r2]
+ ldr r0, ._595 + 4 @ 0x191
+ cmp r1, r0
+ bhi ._593 @cond_branch
+ add r0, r1, #0
+ add r0, r0, #0xa
+ b ._594
+._596:
+ .align 2, 0
+._595:
+ .word gDebug_03000700
+ .word 0x191
+._593:
+ ldr r1, ._597 @ 0x19b
+ add r0, r1, #0
+._594:
+ strh r0, [r2]
+._592:
+ pop {r0}
+ bx r0
+._598:
+ .align 2, 0
+._597:
+ .word 0x19b
+
+ thumb_func_end debug_sub_808ED0C
+
+ thumb_func_start debug_sub_808ED9C
+debug_sub_808ED9C:
+ push {lr}
+ ldr r2, ._606 @ gMain
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._600 @cond_branch
+ ldr r1, ._606 + 4 @ gDebug_03000708
+ ldr r0, [r1]
+ cmp r0, #0
+ beq ._600 @cond_branch
+ sub r0, r0, #0x1
+ str r0, [r1]
+._600:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._602 @cond_branch
+ ldr r3, ._606 + 4 @ gDebug_03000708
+ ldr r1, [r3]
+ mov r0, #0x1
+ neg r0, r0
+ cmp r1, r0
+ beq ._602 @cond_branch
+ add r0, r1, #1
+ str r0, [r3]
+._602:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._603 @cond_branch
+ ldr r1, ._606 + 4 @ gDebug_03000708
+ ldr r0, [r1]
+ cmp r0, #0xf
+ bls ._604 @cond_branch
+ sub r0, r0, #0x10
+ b ._605
+._607:
+ .align 2, 0
+._606:
+ .word gMain
+ .word gDebug_03000708
+._604:
+ mov r0, #0x0
+._605:
+ str r0, [r1]
+._603:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._608 @cond_branch
+ ldr r3, ._611 @ gDebug_03000708
+ ldr r1, [r3]
+ mov r0, #0x11
+ neg r0, r0
+ cmp r1, r0
+ bhi ._609 @cond_branch
+ add r0, r1, #0
+ add r0, r0, #0x10
+ b ._610
+._612:
+ .align 2, 0
+._611:
+ .word gDebug_03000708
+._609:
+ mov r0, #0x1
+ neg r0, r0
+._610:
+ str r0, [r3]
+._608:
+ ldrh r2, [r2, #0x2e]
+ mov r1, #0xc0
+ lsl r1, r1, #0x2
+ add r0, r1, #0
+ and r0, r0, r2
+ cmp r0, r1
+ bne ._613 @cond_branch
+ ldr r1, ._614 @ gDebug_03000708
+ mov r0, #0x1
+ neg r0, r0
+ str r0, [r1]
+._613:
+ pop {r0}
+ bx r0
+._615:
+ .align 2, 0
+._614:
+ .word gDebug_03000708
+
+ thumb_func_end debug_sub_808ED9C
+
+ thumb_func_start debug_sub_808EE3C
+debug_sub_808EE3C:
+ push {lr}
+ ldr r2, ._622 @ gMain
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._617 @cond_branch
+ ldr r1, ._622 + 4 @ gDebug_0300070C
+ ldrb r0, [r1]
+ cmp r0, #0x1
+ beq ._617 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+._617:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._619 @cond_branch
+ ldr r1, ._622 + 4 @ gDebug_0300070C
+ ldrb r0, [r1]
+ cmp r0, #0x5
+ beq ._619 @cond_branch
+ add r0, r0, #0x1
+ strb r0, [r1]
+._619:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._620 @cond_branch
+ ldr r1, ._622 + 4 @ gDebug_0300070C
+ mov r0, #0x1
+ strb r0, [r1]
+._620:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._621 @cond_branch
+ ldr r1, ._622 + 4 @ gDebug_0300070C
+ mov r0, #0x5
+ strb r0, [r1]
+._621:
+ pop {r0}
+ bx r0
+._623:
+ .align 2, 0
+._622:
+ .word gMain
+ .word gDebug_0300070C
+
+ thumb_func_end debug_sub_808EE3C
+
+ thumb_func_start debug_sub_808EE9C
+debug_sub_808EE9C:
+ push {lr}
+ ldr r2, ._631 @ gMain
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._625 @cond_branch
+ ldr r1, ._631 + 4 @ gDebug_0300070D
+ ldrb r0, [r1]
+ cmp r0, #0x1
+ beq ._625 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+._625:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._627 @cond_branch
+ ldr r1, ._631 + 4 @ gDebug_0300070D
+ ldrb r0, [r1]
+ cmp r0, #0xf
+ beq ._627 @cond_branch
+ add r0, r0, #0x1
+ strb r0, [r1]
+._627:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._628 @cond_branch
+ ldr r1, ._631 + 4 @ gDebug_0300070D
+ ldrb r0, [r1]
+ cmp r0, #0xa
+ bls ._629 @cond_branch
+ sub r0, r0, #0xa
+ b ._630
+._632:
+ .align 2, 0
+._631:
+ .word gMain
+ .word gDebug_0300070D
+._629:
+ mov r0, #0x0
+._630:
+ strb r0, [r1]
+._628:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._633 @cond_branch
+ ldr r1, ._636 @ gDebug_0300070D
+ ldrb r0, [r1]
+ cmp r0, #0x5
+ bhi ._634 @cond_branch
+ add r0, r0, #0xa
+ b ._635
+._637:
+ .align 2, 0
+._636:
+ .word gDebug_0300070D
+._634:
+ mov r0, #0xf
+._635:
+ strb r0, [r1]
+._633:
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808EE9C
+
+ thumb_func_start debug_sub_808EF14
+debug_sub_808EF14:
+ push {lr}
+ ldr r2, ._645 @ gMain
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x20
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._639 @cond_branch
+ ldr r1, ._645 + 4 @ gDebug_0300070E
+ ldrb r0, [r1]
+ cmp r0, #0x1
+ beq ._639 @cond_branch
+ sub r0, r0, #0x1
+ strb r0, [r1]
+._639:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x10
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._641 @cond_branch
+ ldr r1, ._645 + 4 @ gDebug_0300070E
+ ldrb r0, [r1]
+ cmp r0, #0xf
+ beq ._641 @cond_branch
+ add r0, r0, #0x1
+ strb r0, [r1]
+._641:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x2
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._642 @cond_branch
+ ldr r1, ._645 + 4 @ gDebug_0300070E
+ ldrb r0, [r1]
+ cmp r0, #0xa
+ bls ._643 @cond_branch
+ sub r0, r0, #0xa
+ b ._644
+._646:
+ .align 2, 0
+._645:
+ .word gMain
+ .word gDebug_0300070E
+._643:
+ mov r0, #0x0
+._644:
+ strb r0, [r1]
+._642:
+ ldrh r1, [r2, #0x30]
+ mov r0, #0x80
+ lsl r0, r0, #0x1
+ and r0, r0, r1
+ cmp r0, #0
+ beq ._647 @cond_branch
+ ldr r1, ._650 @ gDebug_0300070E
+ ldrb r0, [r1]
+ cmp r0, #0x5
+ bhi ._648 @cond_branch
+ add r0, r0, #0xa
+ b ._649
+._651:
+ .align 2, 0
+._650:
+ .word gDebug_0300070E
+._648:
+ mov r0, #0xf
+._649:
+ strb r0, [r1]
+._647:
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_808EF14
+
+ thumb_func_start debug_sub_808EF8C
+debug_sub_808EF8C:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x2
+ bgt ._653 @cond_branch
+ cmp r6, #0
+ blt ._653 @cond_branch
+ mov r3, #0x0
+ ldr r0, ._656 @ gDebug_03000708
+ mov r8, r0
+ ldr r4, ._656 + 4 @ gDebug_03000710
+ mov r7, #0x7
+ mov r5, #0xf
+._658:
+ sub r0, r7, r3
+ lsl r0, r0, #0x2
+ mov r1, r8
+ ldr r2, [r1]
+ LSR r2, r0
+ and r2, r2, r5
+ cmp r2, #0x9
+ bhi ._654 @cond_branch
+ add r1, r3, r4
+ add r0, r2, #0
+ add r0, r0, #0xa1
+ b ._655
+._657:
+ .align 2, 0
+._656:
+ .word gDebug_03000708
+ .word gDebug_03000710
+._654:
+ add r1, r3, r4
+ add r0, r2, #0
+ sub r0, r0, #0x4f
+._655:
+ strb r0, [r1]
+ add r0, r3, #1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ cmp r3, #0x7
+ bls ._658 @cond_branch
+ ldr r0, ._666 @ gDebug_03000710
+ mov r1, #0xff
+ strb r1, [r0, #0x8]
+ mov r1, #0xc
+ mov r2, #0x5
+ bl Menu_PrintText
+._653:
+ mov r3, #0x0
+ ldr r7, ._666 @ gDebug_03000710
+ ldr r5, ._666 + 4 @ gDebug_03000700
+ ldr r2, ._666 + 8 @ gSpeciesNames
+ mov r8, r2
+ add r4, r7, #0
+ mov r2, #0x0
+._659:
+ add r1, r3, #1
+ add r0, r1, r4
+ strb r2, [r0]
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ cmp r3, #0x9
+ bls ._659 @cond_branch
+ mov r3, #0x0
+ ldrh r2, [r5]
+ mov r0, #0xb
+ add r1, r2, #0
+ mul r1, r1, r0
+ mov r2, r8
+ add r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._661 @cond_branch
+ ldr r0, ._666 @ gDebug_03000710
+ mov ip, r0
+ mov r5, r8
+ add r4, r1, #0
+._662:
+ add r1, r3, #1
+ mov r0, ip
+ add r2, r1, r0
+ add r0, r3, r4
+ add r0, r0, r5
+ ldrb r0, [r0]
+ strb r0, [r2]
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ add r0, r3, r4
+ add r0, r0, r5
+ ldrb r0, [r0]
+ cmp r0, #0xff
+ beq ._661 @cond_branch
+ cmp r3, #0x9
+ bls ._662 @cond_branch
+._661:
+ mov r0, #0xb1
+ strb r0, [r7]
+ mov r0, #0xb2
+ strb r0, [r7, #0xb]
+ mov r0, #0xff
+ strb r0, [r7, #0xc]
+ cmp r6, #0x2
+ bgt ._664 @cond_branch
+ cmp r6, #0
+ blt ._664 @cond_branch
+ add r0, r7, #0
+ mov r1, #0x8
+ mov r2, #0x1
+ bl Menu_PrintText
+ b ._665
+._667:
+ .align 2, 0
+._666:
+ .word gDebug_03000710
+ .word gDebug_03000700
+ .word gSpeciesNames
+._664:
+ ldr r0, ._672 @ gDebug_03000710
+ mov r1, #0xc
+ mov r2, #0x1
+ bl Menu_PrintText
+._665:
+ ldr r5, ._672 @ gDebug_03000710
+ mov r0, #0xff
+ strb r0, [r5, #0x3]
+ ldr r4, ._672 + 4 @ gDebug_03000700
+ ldrh r0, [r4]
+ mov r1, #0x64
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5]
+ ldrh r0, [r4]
+ mov r1, #0x64
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0xa
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x1]
+ ldrh r0, [r4]
+ mov r1, #0xa
+ bl __umodsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x2]
+ add r0, r5, #0
+ mov r1, #0xc
+ mov r2, #0x3
+ bl Menu_PrintText
+ cmp r6, #0x1
+ beq ._668 @cond_branch
+ cmp r6, #0x1
+ bgt ._669 @cond_branch
+ cmp r6, #0
+ beq ._670 @cond_branch
+ b ._679
+._673:
+ .align 2, 0
+._672:
+ .word gDebug_03000710
+ .word gDebug_03000700
+._669:
+ cmp r6, #0x2
+ beq ._674 @cond_branch
+ b ._679
+._670:
+ ldr r4, ._677 @ gDebug_0300070C
+ b ._676
+._678:
+ .align 2, 0
+._677:
+ .word gDebug_0300070C
+._668:
+ ldr r4, ._680 @ gDebug_0300070D
+._676:
+ ldrb r0, [r4]
+ mov r1, #0x64
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5]
+ ldrb r0, [r4]
+ mov r1, #0x64
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0xa
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x1]
+ ldrb r0, [r4]
+ mov r1, #0xa
+ bl __umodsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x2]
+ add r0, r5, #0
+ mov r1, #0xc
+ mov r2, #0x7
+ bl Menu_PrintText
+ b ._679
+._681:
+ .align 2, 0
+._680:
+ .word gDebug_0300070D
+._674:
+ ldr r4, ._682 @ gDebug_0300070E
+ ldrb r0, [r4]
+ mov r1, #0x64
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5]
+ ldrb r0, [r4]
+ mov r1, #0x64
+ bl __umodsi3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0xa
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x1]
+ ldrb r0, [r4]
+ mov r1, #0xa
+ bl __umodsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x2]
+ add r0, r5, #0
+ mov r1, #0xc
+ mov r2, #0x7
+ bl Menu_PrintText
+._679:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+._683:
+ .align 2, 0
+._682:
+ .word gDebug_0300070E
+
+ thumb_func_end debug_sub_808EF8C
+
+ thumb_func_start debug_sub_808F168
+debug_sub_808F168:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ ldr r4, ._686 @ 0x2015de0
+ ldr r0, ._686 + 4 @ gDebug_03000700
+ ldrh r0, [r0]
+ strh r0, [r4, #0x8]
+ ldr r0, ._686 + 8 @ gDebug_03000704
+ ldr r0, [r0]
+ str r0, [r4, #0x4]
+ ldr r0, ._686 + 12 @ gDebug_03000708
+ ldr r0, [r0]
+ str r0, [r4]
+ cmp r1, #0x5
+ bls ._684 @cond_branch
+ b ._707
+._684:
+ lsl r0, r1, #0x2
+ ldr r1, ._686 + 16 @
+ add r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+._687:
+ .align 2, 0
+._686:
+ .word 0x2015de0
+ .word gDebug_03000700
+ .word gDebug_03000704
+ .word gDebug_03000708
+ .word ._688
+._688:
+ .word ._689
+ .word ._690
+ .word ._691
+ .word ._692
+ .word ._693
+ .word ._694
+._689:
+ ldr r0, ._696 @ 0x2000000
+ ldr r2, ._696 + 4 @ 0x15ddf
+ add r1, r0, r2
+ mov r2, #0x0
+ strb r2, [r1]
+ ldr r1, ._696 + 8 @ 0x15dde
+ add r0, r0, r1
+ strb r2, [r0]
+ ldr r0, ._696 + 12 @ gDebug_0300070C
+ ldrb r0, [r0]
+ sub r0, r0, #0x1
+ strb r0, [r4, #0xa]
+ add r0, r4, #0
+ add r0, r0, #0x16
+ ldr r1, ._696 + 16 @ gUnknown_Debug_083C48BB
+ bl StringCopy
+ b ._704
+._697:
+ .align 2, 0
+._696:
+ .word 0x2000000
+ .word 0x15ddf
+ .word 0x15dde
+ .word gDebug_0300070C
+ .word gUnknown_Debug_083C48BB
+._690:
+ ldr r1, ._699 @ 0x2000000
+ ldr r0, ._699 + 4 @ 0x15ddf
+ add r2, r1, r0
+ mov r0, #0x0
+ strb r0, [r2]
+ ldr r2, ._699 + 8 @ 0x15dde
+ add r1, r1, r2
+ mov r0, #0x8
+ strb r0, [r1]
+ ldr r0, ._699 + 12 @ gDebug_0300070D
+ ldrb r0, [r0]
+ sub r0, r0, #0x1
+ b ._698
+._700:
+ .align 2, 0
+._699:
+ .word 0x2000000
+ .word 0x15ddf
+ .word 0x15dde
+ .word gDebug_0300070D
+._691:
+ ldr r1, ._702 @ 0x2000000
+ ldr r0, ._702 + 4 @ 0x15ddf
+ add r2, r1, r0
+ mov r0, #0x1
+ strb r0, [r2]
+ ldr r2, ._702 + 8 @ 0x15dde
+ add r1, r1, r2
+ mov r0, #0x8
+ strb r0, [r1]
+ ldr r0, ._702 + 12 @ gDebug_0300070E
+ ldrb r0, [r0]
+ sub r0, r0, #0x1
+ strb r0, [r4, #0xa]
+ b ._707
+._703:
+ .align 2, 0
+._702:
+ .word 0x2000000
+ .word 0x15ddf
+ .word 0x15dde
+ .word gDebug_0300070E
+._692:
+ ldr r1, ._705 @ 0x2000000
+ ldr r2, ._705 + 4 @ 0x15ddf
+ add r0, r1, r2
+ mov r2, #0x0
+ strb r2, [r0]
+ ldr r0, ._705 + 8 @ 0x15dde
+ add r1, r1, r0
+ mov r0, #0x8
+ strb r0, [r1]
+ strb r2, [r4, #0xa]
+ b ._704
+._706:
+ .align 2, 0
+._705:
+ .word 0x2000000
+ .word 0x15ddf
+ .word 0x15dde
+._693:
+ ldr r1, ._708 @ 0x2000000
+ ldr r0, ._708 + 4 @ 0x15ddf
+ add r2, r1, r0
+ mov r0, #0x0
+ strb r0, [r2]
+ ldr r2, ._708 + 8 @ 0x15dde
+ add r1, r1, r2
+ mov r0, #0x8
+ strb r0, [r1]
+ mov r0, #0x3
+._698:
+ strb r0, [r4, #0xa]
+._704:
+ add r0, r4, #0
+ add r0, r0, #0xb
+ ldr r1, ._708 + 12 @ gUnknown_Debug_083C48B0
+ bl StringCopy
+ b ._707
+._709:
+ .align 2, 0
+._708:
+ .word 0x2000000
+ .word 0x15ddf
+ .word 0x15dde
+ .word gUnknown_Debug_083C48B0
+._694:
+ ldr r1, ._710 @ 0x2000000
+ ldr r0, ._710 + 4 @ 0x15ddf
+ add r2, r1, r0
+ mov r0, #0x0
+ strb r0, [r2]
+ ldr r2, ._710 + 8 @ 0x15dde
+ add r1, r1, r2
+ mov r0, #0x8
+ strb r0, [r1]
+ mov r0, #0x9
+ strb r0, [r4, #0xa]
+ add r0, r4, #0
+ add r0, r0, #0xb
+ ldr r1, ._710 + 12 @ gUnknown_Debug_083C48B0
+ bl StringCopy
+._707:
+ pop {r4}
+ pop {r0}
+ bx r0
+._711:
+ .align 2, 0
+._710:
+ .word 0x2000000
+ .word 0x15ddf
+ .word 0x15dde
+ .word gUnknown_Debug_083C48B0
+
+ thumb_func_end debug_sub_808F168
+
+ thumb_func_start debug_sub_808F2E0
+debug_sub_808F2E0:
+ push {r4, lr}
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ lsl r2, r2, #0x18
+ cmp r2, #0
+ bne ._712 @cond_branch
+ ldr r1, ._714 @ gDebug_03000710
+ mov r0, #0xa1
+ b ._713
+._715:
+ .align 2, 0
+._714:
+ .word gDebug_03000710
+._712:
+ ldr r1, ._716 @ gDebug_03000710
+ mov r0, #0xa2
+._713:
+ strb r0, [r1]
+ mov r0, #0xff
+ strb r0, [r1, #0x1]
+ add r0, r1, #0
+ add r1, r4, #0
+ add r2, r3, #0
+ bl Menu_PrintText
+ pop {r4}
+ pop {r0}
+ bx r0
+._717:
+ .align 2, 0
+._716:
+ .word gDebug_03000710
+
+ thumb_func_end debug_sub_808F2E0
+
+ thumb_func_start debug_sub_808F31C
+debug_sub_808F31C:
+ push {r4, r5, r6, lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6}
+ mov r8, r0
+ mov r9, r1
+ add r4, r2, #0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r8, r0
+ mov r0, r9
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r9, r0
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ ldr r5, ._718 @ gDebug_03000710
+ ldr r6, ._718 + 4 @ 0x2710
+ add r0, r4, #0
+ add r1, r6, #0
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r6, #0xfa
+ lsl r6, r6, #0x2
+ add r1, r6, #0
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x1]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x64
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x2]
+ add r0, r4, #0
+ mov r1, #0x64
+ bl __umodsi3
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0xa
+ bl __udivsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x3]
+ add r0, r4, #0
+ mov r1, #0xa
+ bl __umodsi3
+ add r0, r0, #0xa1
+ strb r0, [r5, #0x4]
+ mov r0, #0xff
+ strb r0, [r5, #0x5]
+ add r0, r5, #0
+ mov r1, r8
+ mov r2, r9
+ bl Menu_PrintText
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._719:
+ .align 2, 0
+._718:
+ .word gDebug_03000710
+ .word 0x2710
+
+ thumb_func_end debug_sub_808F31C
+
+ thumb_func_start debug_nullsub_66
+debug_nullsub_66:
+ bx lr
+
+ thumb_func_end debug_nullsub_66
+
+ .align 2, 0
+
+.endif
diff --git a/asm/unk_debug_menu_3.s b/asm/unk_debug_menu_3.s
new file mode 100644
index 000000000..aa156a99b
--- /dev/null
+++ b/asm/unk_debug_menu_3.s
@@ -0,0 +1,747 @@
+.if DEBUG
+
+ .include "constants/gba_constants.inc"
+ .include "include/macros.inc"
+
+ .text
+
+ thumb_func_start debug_sub_813C404
+debug_sub_813C404:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ ldr r5, ._1 @ gUnknown_Debug_845DDB2
+ ldr r4, ._1 + 4 @ gUnknown_Debug_845DAE1
+ sub r5, r5, r4
+ add r1, r4, #0
+ add r2, r5, #0
+ bl memcpy
+ add r0, r6, #0
+ add r1, r4, #0
+ bl unref_sub_812620C
+ add r0, r5, #0
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._2:
+ .align 2, 0
+._1:
+ .word gUnknown_Debug_845DDB2
+ .word gUnknown_Debug_845DAE1
+
+ thumb_func_end debug_sub_813C404
+
+ thumb_func_start debug_sub_813C430
+debug_sub_813C430:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ ldr r5, ._3 @ gUnknown_Debug_845E402
+ ldr r4, ._3 + 4 @ gUnknown_Debug_845E3E0
+ sub r5, r5, r4
+ add r1, r4, #0
+ add r2, r5, #0
+ bl memcpy
+ add r0, r6, #0
+ add r1, r4, #0
+ bl unref_sub_812620C
+ add r0, r5, #0
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._4:
+ .align 2, 0
+._3:
+ .word gUnknown_Debug_845E402
+ .word gUnknown_Debug_845E3E0
+
+ thumb_func_end debug_sub_813C430
+
+ thumb_func_start debug_sub_813C45C
+debug_sub_813C45C:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ ldr r5, ._5 @ gUnknown_Debug_845E443
+ ldr r4, ._5 + 4 @ gUnknown_Debug_845E422
+ sub r5, r5, r4
+ add r1, r4, #0
+ add r2, r5, #0
+ bl memcpy
+ add r0, r6, #0
+ add r1, r4, #0
+ bl unref_sub_812620C
+ add r0, r5, #0
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._6:
+ .align 2, 0
+._5:
+ .word gUnknown_Debug_845E443
+ .word gUnknown_Debug_845E422
+
+ thumb_func_end debug_sub_813C45C
+
+ thumb_func_start debug_sub_813C488
+debug_sub_813C488:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ ldr r5, ._7 @ gUnknown_Debug_845E422
+ ldr r4, ._7 + 4 @ gUnknown_Debug_845E402
+ sub r5, r5, r4
+ add r1, r4, #0
+ add r2, r5, #0
+ bl memcpy
+ add r0, r6, #0
+ add r1, r4, #0
+ bl unref_sub_812620C
+ add r0, r5, #0
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._8:
+ .align 2, 0
+._7:
+ .word gUnknown_Debug_845E422
+ .word gUnknown_Debug_845E402
+
+ thumb_func_end debug_sub_813C488
+
+ thumb_func_start debug_sub_813C4B4
+debug_sub_813C4B4:
+ push {r4, lr}
+ ldr r4, ._9 @ gUnknown_Debug_845E619
+ ldr r1, ._9 + 4 @ gUnknown_Debug_845E606
+ sub r4, r4, r1
+ add r2, r4, #0
+ bl memcpy
+ add r0, r4, #0
+ pop {r4}
+ pop {r1}
+ bx r1
+._10:
+ .align 2, 0
+._9:
+ .word gUnknown_Debug_845E619
+ .word gUnknown_Debug_845E606
+
+ thumb_func_end debug_sub_813C4B4
+
+ thumb_func_start debug_sub_813C4D4
+debug_sub_813C4D4:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ ldr r5, ._11 @ gUnknown_Debug_845E712
+ ldr r4, ._11 + 4 @ gUnknown_Debug_845E619
+ sub r5, r5, r4
+ add r1, r4, #0
+ add r2, r5, #0
+ bl memcpy
+ add r0, r6, #0
+ add r1, r4, #0
+ bl unref_sub_81261B4
+ add r0, r5, #0
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._12:
+ .align 2, 0
+._11:
+ .word gUnknown_Debug_845E712
+ .word gUnknown_Debug_845E619
+
+ thumb_func_end debug_sub_813C4D4
+
+ thumb_func_start debug_sub_813C500
+debug_sub_813C500:
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ ldr r5, ._13 @ gUnknown_Debug_845E797
+ ldr r4, ._13 + 4 @ gUnknown_Debug_845E712
+ sub r5, r5, r4
+ add r1, r4, #0
+ add r2, r5, #0
+ bl memcpy
+ add r0, r6, #0
+ add r1, r4, #0
+ bl unref_sub_812620C
+ add r0, r5, #0
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._14:
+ .align 2, 0
+._13:
+ .word gUnknown_Debug_845E797
+ .word gUnknown_Debug_845E712
+
+ thumb_func_end debug_sub_813C500
+
+ thumb_func_start debug_sub_813C52C
+debug_sub_813C52C:
+ push {r4, r5, r6, lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5, r6}
+ mov r8, r0
+ lsl r5, r1, #0x10
+ lsr r0, r5, #0x10
+ mov r9, r0
+ ldr r6, ._15 @ gUnknown_Debug_845E7BB
+ ldr r4, ._15 + 4 @ gUnknown_Debug_845E797
+ sub r6, r6, r4
+ mov r0, r8
+ add r1, r4, #0
+ add r2, r6, #0
+ bl memcpy
+ ldr r0, ._15 + 8 @ gUnknown_Debug_845E7B5
+ sub r0, r0, r4
+ add r0, r0, r8
+ add r0, r0, #0x3
+ mov r1, r9
+ strb r1, [r0]
+ lsr r5, r5, #0x18
+ strb r5, [r0, #0x1]
+ mov r0, r8
+ add r1, r4, #0
+ bl unref_sub_812620C
+ add r0, r6, #0
+ pop {r3, r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._16:
+ .align 2, 0
+._15:
+ .word gUnknown_Debug_845E7BB
+ .word gUnknown_Debug_845E797
+ .word gUnknown_Debug_845E7B5
+
+ thumb_func_end debug_sub_813C52C
+
+ thumb_func_start debug_sub_813C580
+debug_sub_813C580:
+ push {lr}
+ mov r1, #0xd
+ bl debug_sub_813C52C
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_813C580
+
+ thumb_func_start debug_sub_813C58C
+debug_sub_813C58C:
+ push {lr}
+ mov r1, #0x4
+ bl debug_sub_813C52C
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_813C58C
+
+ thumb_func_start debug_sub_813C598
+debug_sub_813C598:
+ push {lr}
+ mov r1, #0x85
+ bl debug_sub_813C52C
+ pop {r1}
+ bx r1
+
+ thumb_func_end debug_sub_813C598
+
+ thumb_func_start debug_sub_813C5A4
+debug_sub_813C5A4:
+ push {lr}
+ ldr r1, ._17 @ 0x121
+ bl debug_sub_813C52C
+ pop {r1}
+ bx r1
+._18:
+ .align 2, 0
+._17:
+ .word 0x121
+
+ thumb_func_end debug_sub_813C5A4
+
+ thumb_func_start debug_sub_813C5B4
+debug_sub_813C5B4:
+ push {r4, r5, r6, r7, lr}
+ add r4, r0, #0
+ ldr r7, ._23 @ gSaveBlock1
+ ldr r0, ._23 + 4 @ gUnknown_Debug_845DDD6
+ ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2
+ sub r0, r0, r1
+ add r6, r0, r4
+ ldr r0, ._23 + 12 @ gUnknown_Debug_845E306
+ sub r5, r0, r1
+ ldr r0, ._23 + 16 @ Str_842E23C
+ mov r1, #0x0
+ mov r2, #0x0
+ bl debug_sub_80C2C18
+ mov r2, #0x0
+ ldr r3, ._23 + 20 @ 0xfff
+ mov r1, #0x0
+._19:
+ add r0, r4, r2
+ strb r1, [r0]
+ add r2, r2, #0x1
+ cmp r2, r3
+ ble ._19 @cond_branch
+ mov r2, #0x0
+ cmp r2, r5
+ bcs ._20 @cond_branch
+ ldr r3, ._23 + 8 @ gUnknown_Debug_845DDB2
+._21:
+ add r0, r4, r2
+ add r1, r2, r3
+ ldrb r1, [r1]
+ strb r1, [r0]
+ add r2, r2, #0x1
+ cmp r2, r5
+ bcc ._21 @cond_branch
+._20:
+ mov r2, #0x0
+ ldr r3, ._23 + 24 @ 0x52f
+._22:
+ add r0, r6, r2
+ add r1, r7, r2
+ ldrb r1, [r1]
+ strb r1, [r0]
+ add r2, r2, #0x1
+ cmp r2, r3
+ bls ._22 @cond_branch
+ bl ClearEnigmaBerries
+ ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2
+ add r0, r4, #0
+ bl unref_sub_81261B4
+ add r0, r5, #0
+ pop {r4, r5, r6, r7}
+ pop {r1}
+ bx r1
+._24:
+ .align 2, 0
+._23:
+ .word gSaveBlock1+0x3160
+ .word gUnknown_Debug_845DDD6
+ .word gUnknown_Debug_845DDB2
+ .word gUnknown_Debug_845E306
+ .word Str_842E23C
+ .word 0xfff
+ .word 0x52f
+
+ thumb_func_end debug_sub_813C5B4
+
+ thumb_func_start debug_sub_813C638
+debug_sub_813C638:
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ add sp, sp, #0xffffffec
+ mov r8, r0
+ add r4, r1, #0
+ add r5, r2, #0
+ add r6, r3, #0
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ lsl r6, r6, #0x10
+ lsr r6, r6, #0x10
+ bl ZeroMonData
+ mov r0, #0x0
+ str r0, [sp]
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ ldr r0, ._25 @ 0x270f
+ str r0, [sp, #0xc]
+ mov r0, r8
+ add r1, r4, #0
+ add r2, r5, #0
+ mov r3, #0x20
+ bl CreateMon
+ ldr r2, ._25 + 4 @ Str_842E240
+ mov r0, r8
+ mov r1, #0x7
+ bl SetMonData
+ ldr r2, ._25 + 8 @ Str_842E248
+ mov r0, r8
+ mov r1, #0x2
+ bl SetMonData
+ str r6, [sp, #0x10]
+ mov r0, r8
+ mov r1, #0xc
+ add r2, sp, #0x10
+ bl SetMonData
+ add sp, sp, #0x14
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+._26:
+ .align 2, 0
+._25:
+ .word 0x270f
+ .word Str_842E240
+ .word Str_842E248
+
+ thumb_func_end debug_sub_813C638
+
+ thumb_func_start debug_sub_813C6AC
+debug_sub_813C6AC:
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ add sp, sp, #0xfffffff8
+ add r6, r0, #0
+ add r5, r1, #0
+ add r0, r5, #0
+ bl ClearMailStruct
+ add r0, r6, #0
+ mov r1, #0xc
+ bl GetMonData
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r8, r0
+ bl ItemIsMail
+ lsl r0, r0, #0x18
+ cmp r0, #0
+ beq ._27 @cond_branch
+ add r4, r5, #0
+ add r4, r4, #0x12
+ add r7, r5, #0
+ add r7, r7, #0x1a
+ mov r1, #0x9
+ add r0, r5, #0
+ add r0, r0, #0x10
+._28:
+ strh r1, [r0]
+ sub r1, r1, #0x1
+ sub r0, r0, #0x2
+ cmp r0, r5
+ bge ._28 @cond_branch
+ add r0, r6, #0
+ mov r1, #0x7
+ mov r2, sp
+ bl GetMonData
+ add r0, r4, #0
+ mov r1, sp
+ mov r2, #0x8
+ bl StringCopyN
+ add r0, r6, #0
+ mov r1, #0x1
+ bl GetMonData
+ add r1, r7, #0
+ bl write_word_to_mem
+ add r0, r6, #0
+ mov r1, #0xb
+ bl GetMonData
+ add r4, r0, #0
+ lsl r4, r4, #0x10
+ lsr r4, r4, #0x10
+ add r0, r6, #0
+ mov r1, #0x0
+ bl GetMonData
+ add r1, r0, #0
+ add r0, r4, #0
+ bl SpeciesToMailSpecies
+ strh r0, [r5, #0x1e]
+ mov r0, r8
+ strh r0, [r5, #0x20]
+._27:
+ add sp, sp, #0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_end debug_sub_813C6AC
+
+ thumb_func_start debug_sub_813C740
+debug_sub_813C740:
+ push {r4, r5, r6, lr}
+ mov r6, sl
+ mov r5, r9
+ mov r4, r8
+ push {r4, r5, r6}
+ add sp, sp, #0xffffffd0
+ add r6, r0, #0
+ ldr r0, ._29 @ gUnknown_Debug_845E443
+ mov r8, r0
+ ldr r1, ._29 + 4 @ gUnknown_Debug_845E4EF
+ ldr r5, ._29 + 8 @ gEnemyParty
+ sub r1, r1, r0
+ mov r9, r1
+ add r0, r6, #0
+ mov r1, r8
+ mov r2, r9
+ bl memcpy
+ add r0, r5, #0
+ mov r1, #0x19
+ mov r2, #0x5
+ mov r3, #0x0
+ bl debug_sub_813C638
+ add r4, sp, #0x24
+ mov r0, #0x1
+ mov sl, r0
+ mov r1, sl
+ strb r1, [r4]
+ add r0, r5, #0
+ mov r1, #0x2d
+ add r2, r4, #0
+ bl SetMonData
+ mov r0, #0x3
+ strb r0, [r4]
+ add r0, r5, #0
+ mov r1, #0x20
+ add r2, r4, #0
+ bl SetMonData
+ mov r0, #0xff
+ strb r0, [r4]
+ add r0, r5, #0
+ mov r1, #0x23
+ add r2, r4, #0
+ bl SetMonData
+ ldr r1, ._29 + 12 @ Str_842E238
+ add r0, r4, #0
+ mov r2, #0xb
+ bl StringCopyN
+ add r0, r5, #0
+ mov r1, #0x2
+ add r2, r4, #0
+ bl SetMonData
+ mov r0, sl
+ strb r0, [r4]
+ add r0, r5, #0
+ mov r1, #0x3
+ add r2, r4, #0
+ bl SetMonData
+ ldr r0, ._29 + 16 @ gUnknown_Debug_845E467
+ add r0, r6, r0
+ mov r1, r8
+ sub r0, r0, r1
+ add r1, r5, #0
+ mov r2, #0x64
+ bl memcpy
+ ldr r0, ._29 + 20 @ gUnknown_Debug_845E4CB
+ add r6, r6, r0
+ mov r0, r8
+ sub r6, r6, r0
+ add r0, r6, #0
+ mov r1, sp
+ mov r2, #0x24
+ bl memcpy
+ mov r0, r9
+ add sp, sp, #0x30
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov r9, r4
+ mov sl, r5
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._30:
+ .align 2, 0
+._29:
+ .word gUnknown_Debug_845E443
+ .word gUnknown_Debug_845E4EF
+ .word gEnemyParty
+ .word Str_842E238
+ .word gUnknown_Debug_845E467
+ .word gUnknown_Debug_845E4CB
+
+ thumb_func_end debug_sub_813C740
+
+ thumb_func_start debug_sub_813C810
+debug_sub_813C810:
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ add sp, sp, #0xffffffdc
+ add r6, r0, #0
+ ldr r5, ._31 @ gUnknown_Debug_845E443
+ ldr r0, ._31 + 4 @ gUnknown_Debug_845E4EF
+ ldr r4, ._31 + 8 @ gEnemyParty
+ sub r0, r0, r5
+ mov r8, r0
+ add r0, r6, #0
+ add r1, r5, #0
+ mov r2, r8
+ bl memcpy
+ add r0, r4, #0
+ mov r1, #0xc9
+ mov r2, #0x15
+ mov r3, #0x82
+ bl debug_sub_813C638
+ add r0, r4, #0
+ mov r1, sp
+ bl debug_sub_813C6AC
+ ldr r0, ._31 + 12 @ gUnknown_Debug_845E467
+ add r0, r6, r0
+ sub r0, r0, r5
+ add r1, r4, #0
+ mov r2, #0x64
+ bl memcpy
+ ldr r0, ._31 + 16 @ gUnknown_Debug_845E4CB
+ add r0, r6, r0
+ sub r0, r0, r5
+ mov r1, sp
+ mov r2, #0x24
+ bl memcpy
+ add r0, r6, #0
+ add r1, r5, #0
+ bl unref_sub_812620C
+ mov r0, r8
+ add sp, sp, #0x24
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._32:
+ .align 2, 0
+._31:
+ .word gUnknown_Debug_845E443
+ .word gUnknown_Debug_845E4EF
+ .word gEnemyParty
+ .word gUnknown_Debug_845E467
+ .word gUnknown_Debug_845E4CB
+
+ thumb_func_end debug_sub_813C810
+
+ thumb_func_start debug_sub_813C888
+debug_sub_813C888:
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ add sp, sp, #0xffffffdc
+ add r6, r0, #0
+ ldr r5, ._33 @ gUnknown_Debug_845E443
+ ldr r0, ._33 + 4 @ gUnknown_Debug_845E4EF
+ ldr r4, ._33 + 8 @ gEnemyParty
+ sub r0, r0, r5
+ mov r8, r0
+ add r0, r6, #0
+ add r1, r5, #0
+ mov r2, r8
+ bl memcpy
+ add r0, r4, #0
+ mov r1, #0xc9
+ mov r2, #0x15
+ mov r3, #0x82
+ bl debug_sub_813C638
+ add r0, r4, #0
+ mov r1, sp
+ bl debug_sub_813C6AC
+ mov r0, #0x0
+ strh r0, [r4, #0x1c]
+ ldr r0, ._33 + 12 @ gUnknown_Debug_845E467
+ add r0, r6, r0
+ sub r0, r0, r5
+ add r1, r4, #0
+ mov r2, #0x64
+ bl memcpy
+ ldr r0, ._33 + 16 @ gUnknown_Debug_845E4CB
+ add r0, r6, r0
+ sub r0, r0, r5
+ mov r1, sp
+ mov r2, #0x24
+ bl memcpy
+ add r0, r6, #0
+ add r1, r5, #0
+ bl unref_sub_812620C
+ mov r0, r8
+ add sp, sp, #0x24
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._34:
+ .align 2, 0
+._33:
+ .word gUnknown_Debug_845E443
+ .word gUnknown_Debug_845E4EF
+ .word gEnemyParty
+ .word gUnknown_Debug_845E467
+ .word gUnknown_Debug_845E4CB
+
+ thumb_func_end debug_sub_813C888
+
+ thumb_func_start debug_sub_813C904
+debug_sub_813C904:
+ push {r4, lr}
+ ldr r4, ._35 @ gPlayerParty
+ add r0, r4, #0
+ mov r1, #0x5
+ mov r2, #0x32
+ mov r3, #0xb7
+ bl debug_sub_813C638
+ add r0, r4, #0
+ add r0, r0, #0x64
+ mov r1, #0x8
+ mov r2, #0x32
+ mov r3, #0xc4
+ bl debug_sub_813C638
+ add r4, r4, #0xc8
+ add r0, r4, #0
+ mov r1, #0x2
+ mov r2, #0x32
+ mov r3, #0x8d
+ bl debug_sub_813C638
+ pop {r4}
+ pop {r0}
+ bx r0
+._36:
+ .align 2, 0
+._35:
+ .word gPlayerParty
+
+ thumb_func_end debug_sub_813C904
+
+ thumb_func_start debug_sub_813C93C
+debug_sub_813C93C:
+ push {r4, r5, r6, lr}
+ add sp, sp, #0xffffff44
+ add r4, r0, #0
+ ldr r6, ._37 @ gUnknown_Debug_845E4EF
+ ldr r5, ._37 + 4 @ gUnknown_Debug_845E606
+ sub r5, r5, r6
+ add r1, r6, #0
+ add r2, r5, #0
+ bl memcpy
+ bl SavePlayerParty
+ bl debug_sub_813C904
+ ldr r1, ._37 + 8 @ Str_842E253
+ ldr r2, ._37 + 12 @ 0x270f
+ mov r0, sp
+ bl debug_sub_8075DB4
+ bl LoadPlayerParty
+ ldr r0, ._37 + 16 @ gUnknown_Debug_845E506
+ add r4, r4, r0
+ sub r4, r4, r6
+ add r0, r4, #0
+ mov r1, sp
+ mov r2, #0xbc
+ bl memcpy
+ add r0, r5, #0
+ add sp, sp, #0xbc
+ pop {r4, r5, r6}
+ pop {r1}
+ bx r1
+._38:
+ .align 2, 0
+._37:
+ .word gUnknown_Debug_845E4EF
+ .word gUnknown_Debug_845E606
+ .word Str_842E253+5 @ weird...
+ .word 0x270f
+ .word gUnknown_Debug_845E506
+
+ thumb_func_end debug_sub_813C93C
+
+ .align 2, 0
+
+.endif
diff --git a/asm/unk_text_8095904.s b/asm/unk_text_8095904.s
deleted file mode 100644
index 00c81faca..000000000
--- a/asm/unk_text_8095904.s
+++ /dev/null
@@ -1,256 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8095904
-sub_8095904: @ 8095904
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- str r0, [sp]
- adds r7, r1, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x3C]
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x4]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- ldr r0, [sp]
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r4, 0
- bne _08095988
- movs r5, 0
- cmp r5, r8
- bcs _08095A2E
-_0809593E:
- ldr r1, [sp]
- adds r0, r1, r5
- ldrb r2, [r0]
- ldr r0, _08095980 @ =0x0000fff0
- ands r0, r2
- lsls r0, 6
- movs r1, 0xF
- ands r2, r1
- lsls r2, 5
- adds r0, r2
- ldr r1, _08095984 @ =gFont3LatinGlyphs
- adds r4, r0, r1
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x10
- bl CpuSet
- movs r2, 0x80
- lsls r2, 2
- adds r0, r4, r2
- ldr r3, [sp, 0x4]
- adds r1, r7, r3
- movs r2, 0x10
- bl CpuSet
- adds r7, 0x20
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _0809593E
- b _08095A2E
- .align 2, 0
-_08095980: .4byte 0x0000fff0
-_08095984: .4byte gFont3LatinGlyphs
-_08095988:
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x8]
- lsls r0, r1, 28
- lsrs r0, 24
- str r0, [sp, 0xC]
- mov r2, r8
- lsls r0, r2, 21
- movs r1, 0
- lsrs r0, 1
- str r0, [sp, 0x10]
-_0809599E:
- movs r5, 0
- ldr r3, [sp, 0x4]
- adds r3, r7, r3
- str r3, [sp, 0x14]
- adds r0, r1, 0x1
- str r0, [sp, 0x18]
- cmp r5, r8
- bcs _08095A12
- movs r2, 0xF
- mov r12, r2
- lsls r1, 9
- ldr r0, _08095A40 @ =gFont3LatinGlyphs
- adds r1, r0
- mov r10, r1
-_080959BA:
- ldr r3, [sp]
- adds r0, r3, r5
- ldrb r1, [r0]
- ldr r0, _08095A44 @ =0x0000fff0
- ands r0, r1
- lsls r0, 6
- mov r2, r12
- ands r1, r2
- lsls r1, 5
- adds r0, r1
- mov r3, r10
- adds r4, r0, r3
- movs r6, 0
- adds r5, 0x1
-_080959D6:
- ldrb r0, [r4]
- movs r3, 0xF0
- ands r3, r0
- mov r2, r12
- ands r2, r0
- cmp r3, 0
- bne _080959E6
- ldr r3, [sp, 0xC]
-_080959E6:
- cmp r2, 0
- bne _080959EC
- ldr r2, [sp, 0x8]
-_080959EC:
- mov r0, r9
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r1, [sp, 0x40]
- adds r0, r1, r0
- orrs r3, r2
- strb r3, [r0]
- adds r4, 0x1
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1F
- bls _080959D6
- lsls r0, r5, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _080959BA
-_08095A12:
- ldr r0, [sp, 0x40]
- adds r1, r7, 0
- ldr r3, [sp, 0x10]
- lsrs r2, r3, 16
- bl CpuSet
- ldr r7, [sp, 0x14]
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x18]
- lsls r0, r1, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bls _0809599E
-_08095A2E:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095A40: .4byte gFont3LatinGlyphs
-_08095A44: .4byte 0x0000fff0
- thumb_func_end sub_8095904
-
- thumb_func_start unref_sub_8095A48
-unref_sub_8095A48: @ 8095A48
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- movs r6, 0
-_08095A60:
- movs r3, 0
- ldrb r0, [r4]
- adds r1, r0, 0
- adds r2, r0, 0
- cmp r1, 0xFF
- beq _08095ACE
-_08095A6C:
- mov r0, sp
- adds r0, r3
- adds r0, 0x8
- strb r2, [r0]
- adds r4, 0x1
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bhi _08095AA8
- ldrb r0, [r4]
- adds r1, r0, 0
- adds r2, r0, 0
- cmp r1, 0xFF
- bne _08095A6C
- cmp r3, 0
- beq _08095ACE
- movs r6, 0x1
- cmp r3, 0x3
- bhi _08095AA8
- movs r2, 0
-_08095A96:
- adds r0, r3, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- add r0, sp
- adds r0, 0x8
- strb r2, [r0]
- cmp r3, 0x3
- bls _08095A96
-_08095AA8:
- mov r1, sp
- adds r1, r3
- adds r1, 0x8
- movs r0, 0xFF
- strb r0, [r1]
- str r7, [sp]
- ldr r0, [sp, 0x28]
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r5, 0
- mov r2, r8
- movs r3, 0x80
- bl sub_8095904
- movs r0, 0x80
- lsls r0, 1
- adds r5, r0
- cmp r6, 0
- beq _08095A60
-_08095ACE:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_8095A48
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s
new file mode 100644
index 000000000..892c2262d
--- /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_GetName
+ 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
diff --git a/asm/water.s b/asm/water.s
index 45fb7f82a..2f0ebb8f8 100644
--- a/asm/water.s
+++ b/asm/water.s
@@ -2053,7 +2053,7 @@ sub_80D4AD0: @ 80D4AD0
strh r1, [r0, 0x36]
ldrh r1, [r6, 0x1A]
strh r1, [r0, 0x38]
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
adds r5, 0x1C
adds r4, r5
ldr r0, _080D4B38 @ =sub_80D4B3C
@@ -2075,7 +2075,7 @@ _080D4B38: .4byte sub_80D4B3C
sub_80D4B3C: @ 80D4B3C
push {r4-r6,lr}
adds r6, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080D4B96
@@ -2110,7 +2110,7 @@ sub_80D4B3C: @ 80D4B3C
mvns r1, r1
strh r1, [r6, 0x38]
adds r0, r6, 0
- bl sub_80786EC
+ bl InitAnimSpriteTranslationOverDuration
ldr r0, _080D4BA0 @ =sub_80D4BA4
str r0, [r6, 0x1C]
_080D4B96:
@@ -2126,7 +2126,7 @@ _080D4BA0: .4byte sub_80D4BA4
sub_80D4BA4: @ 80D4BA4
push {r4-r6,lr}
adds r5, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080D4BE0
@@ -2264,7 +2264,7 @@ sub_80D4CA4: @ 80D4CA4
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r5, _080D4CE0 @ =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2