summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2017-04-06 23:05:23 +0100
committerYamaArashi <YamaArashi@users.noreply.github.com>2017-04-06 23:50:08 -0700
commit598bb72f090789f2ac30b5eab6516de40e00ec88 (patch)
tree99bdbcaf49b35d2c7fa6c1afdeec7ac1b3fa506b
parentd64a33589fdc99087cf4438a9869d0e0d9428b92 (diff)
split out use_pokeblock.s and battle_anim_8137220.s
-rw-r--r--asm/battle_anim_8137220.s5125
-rw-r--r--asm/use_pokeblock.s2113
-rw-r--r--data/battle_anim_8137220.s64
-rw-r--r--data/use_pokeblock.s63
-rw-r--r--ld_script.txt6
5 files changed, 7369 insertions, 2 deletions
diff --git a/asm/battle_anim_8137220.s b/asm/battle_anim_8137220.s
new file mode 100644
index 000000000..f0ced0fd9
--- /dev/null
+++ b/asm/battle_anim_8137220.s
@@ -0,0 +1,5125 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start unref_sub_8137220
+unref_sub_8137220: @ 8137220
+ bx lr
+ thumb_func_end unref_sub_8137220
+
+ thumb_func_start sub_8137224
+sub_8137224: @ 8137224
+ ldr r1, _08137250 @ =gUnknown_03004330
+ ldr r0, _08137254 @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08137258 @ =sub_813726C
+ str r1, [r0]
+ ldr r1, _0813725C @ =0x02000000
+ ldr r2, _08137260 @ =0x000160a8
+ adds r0, r1, r2
+ movs r2, 0
+ strb r2, [r0]
+ ldr r3, _08137264 @ =0x000160a9
+ adds r0, r1, r3
+ strb r2, [r0]
+ adds r3, 0x1
+ adds r0, r1, r3
+ strb r2, [r0]
+ ldr r0, _08137268 @ =0x000160ab
+ adds r1, r0
+ strb r2, [r1]
+ bx lr
+ .align 2, 0
+_08137250: .4byte gUnknown_03004330
+_08137254: .4byte gUnknown_02024A60
+_08137258: .4byte sub_813726C
+_0813725C: .4byte 0x02000000
+_08137260: .4byte 0x000160a8
+_08137264: .4byte 0x000160a9
+_08137268: .4byte 0x000160ab
+ thumb_func_end sub_8137224
+
+ thumb_func_start sub_813726C
+sub_813726C: @ 813726C
+ push {lr}
+ ldr r2, _081372A0 @ =gUnknown_02024A64
+ ldr r1, _081372A4 @ =gBitTable
+ ldr r0, _081372A8 @ =gUnknown_02024A60
+ ldrb r3, [r0]
+ lsls r0, r3, 2
+ adds r0, r1
+ ldr r1, [r2]
+ ldr r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ beq _081372B8
+ ldr r0, _081372AC @ =gUnknown_02023A60
+ lsls r1, r3, 9
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0x38
+ bhi _081372B4
+ ldr r0, _081372B0 @ =gUnknown_084061A4
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ bl _call_via_r0
+ b _081372B8
+ .align 2, 0
+_081372A0: .4byte gUnknown_02024A64
+_081372A4: .4byte gBitTable
+_081372A8: .4byte gUnknown_02024A60
+_081372AC: .4byte gUnknown_02023A60
+_081372B0: .4byte gUnknown_084061A4
+_081372B4:
+ bl dp01_tbl5_exec_completed
+_081372B8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813726C
+
+ thumb_func_start sub_81372BC
+sub_81372BC: @ 81372BC
+ push {r4-r6,lr}
+ ldr r1, _081372D8 @ =0x02000000
+ ldr r2, _081372DC @ =0x000160a8
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ adds r5, r1, 0
+ cmp r0, 0x5
+ bls _081372CE
+ b _08137410
+_081372CE:
+ lsls r0, 2
+ ldr r1, _081372E0 @ =_081372E4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081372D8: .4byte 0x02000000
+_081372DC: .4byte 0x000160a8
+_081372E0: .4byte _081372E4
+ .align 2, 0
+_081372E4:
+ .4byte _081372FC
+ .4byte _0813730E
+ .4byte _08137344
+ .4byte _08137368
+ .4byte _081373AC
+ .4byte _081373E8
+_081372FC:
+ ldr r0, _0813733C @ =0x000160aa
+ adds r1, r5, r0
+ movs r0, 0x40
+ strb r0, [r1]
+ ldr r2, _08137340 @ =0x000160a8
+ adds r1, r5, r2
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_0813730E:
+ ldr r0, _0813733C @ =0x000160aa
+ adds r6, r5, r0
+ ldrb r0, [r6]
+ subs r0, 0x1
+ strb r0, [r6]
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _08137410
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl dp01_build_cmdbuf_x21_a_bb
+ bl dp01_tbl5_exec_completed
+ ldr r2, _08137340 @ =0x000160a8
+ adds r1, r5, r2
+ b _0813738C
+ .align 2, 0
+_0813733C: .4byte 0x000160aa
+_08137340: .4byte 0x000160a8
+_08137344:
+ ldr r2, _08137364 @ =0x000160aa
+ adds r6, r5, r2
+ ldrb r0, [r6]
+ subs r0, 0x1
+ strb r0, [r6]
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _08137410
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ movs r1, 0
+ b _0813737E
+ .align 2, 0
+_08137364: .4byte 0x000160aa
+_08137368:
+ ldr r2, _081373A0 @ =0x000160aa
+ adds r6, r5, r2
+ ldrb r0, [r6]
+ subs r0, 0x1
+ strb r0, [r6]
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _08137410
+ movs r0, 0x1
+ movs r1, 0x9
+_0813737E:
+ movs r2, 0
+ bl dp01_build_cmdbuf_x21_a_bb
+ bl dp01_tbl5_exec_completed
+ ldr r0, _081373A4 @ =0x000160a8
+ adds r1, r5, r0
+_0813738C:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r1, _081373A8 @ =0x000160a9
+ adds r0, r5, r1
+ strb r4, [r0]
+ movs r0, 0x40
+ strb r0, [r6]
+ b _08137410
+ .align 2, 0
+_081373A0: .4byte 0x000160aa
+_081373A4: .4byte 0x000160a8
+_081373A8: .4byte 0x000160a9
+_081373AC:
+ ldr r2, _081373E0 @ =0x000160aa
+ adds r4, r5, r2
+ ldrb r0, [r4]
+ subs r0, 0x1
+ strb r0, [r4]
+ lsls r0, 24
+ cmp r0, 0
+ bne _08137410
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0
+ bl nullsub_8
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_802E3E4
+ movs r0, 0x40
+ strb r0, [r4]
+ ldr r0, _081373E4 @ =0x000160a8
+ adds r1, r5, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08137410
+ .align 2, 0
+_081373E0: .4byte 0x000160aa
+_081373E4: .4byte 0x000160a8
+_081373E8:
+ ldr r2, _08137418 @ =0x000160aa
+ adds r1, r5, r2
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ cmp r0, 0
+ bne _08137410
+ movs r0, 0x5
+ bl PlaySE
+ bl sub_814A7FC
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0
+ bl dp01_build_cmdbuf_x21_a_bb
+ bl dp01_tbl5_exec_completed
+_08137410:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137418: .4byte 0x000160aa
+ thumb_func_end sub_81372BC
+
+ thumb_func_start sub_813741C
+sub_813741C: @ 813741C
+ push {lr}
+ ldr r2, _08137444 @ =gSprites
+ ldr r1, _08137448 @ =gUnknown_02024BE0
+ ldr r0, _0813744C @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _08137450 @ =SpriteCallbackDummy
+ cmp r1, r0
+ bne _08137440
+ bl dp01_tbl5_exec_completed
+_08137440:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137444: .4byte gSprites
+_08137448: .4byte gUnknown_02024BE0
+_0813744C: .4byte gUnknown_02024A60
+_08137450: .4byte SpriteCallbackDummy
+ thumb_func_end sub_813741C
+
+ thumb_func_start sub_8137454
+sub_8137454: @ 8137454
+ push {lr}
+ ldr r0, _08137468 @ =gUnknown_03004210
+ ldrh r0, [r0, 0x16]
+ cmp r0, 0
+ bne _08137462
+ bl dp01_tbl5_exec_completed
+_08137462:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137468: .4byte gUnknown_03004210
+ thumb_func_end sub_8137454
+
+ thumb_func_start sub_813746C
+sub_813746C: @ 813746C
+ push {lr}
+ ldr r0, _0813749C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08137496
+ ldr r2, _081374A0 @ =gMain
+ ldr r0, _081374A4 @ =0x0000043d
+ adds r3, r2, r0
+ ldrb r1, [r3]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r3]
+ ldr r0, _081374A8 @ =gUnknown_030042D0
+ ldr r0, [r0]
+ str r0, [r2]
+ ldr r0, [r2, 0x8]
+ bl SetMainCallback2
+_08137496:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813749C: .4byte gPaletteFade
+_081374A0: .4byte gMain
+_081374A4: .4byte 0x0000043d
+_081374A8: .4byte gUnknown_030042D0
+ thumb_func_end sub_813746C
+
+ thumb_func_start bx_wait_t5
+bx_wait_t5: @ 81374AC
+ push {lr}
+ ldr r0, _081374C0 @ =gUnknown_02024E6D
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _081374BA
+ bl dp01_tbl5_exec_completed
+_081374BA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081374C0: .4byte gUnknown_02024E6D
+ thumb_func_end bx_wait_t5
+
+ thumb_func_start sub_81374C4
+sub_81374C4: @ 81374C4
+ push {lr}
+ ldr r0, _081374EC @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _081374E8
+ ldr r1, _081374F0 @ =gUnknown_03004330
+ ldr r0, _081374F4 @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _081374F8 @ =sub_81374FC
+ str r1, [r0]
+ bl nullsub_14
+ bl PrepareBagForWallyTutorial
+_081374E8:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081374EC: .4byte gPaletteFade
+_081374F0: .4byte gUnknown_03004330
+_081374F4: .4byte gUnknown_02024A60
+_081374F8: .4byte sub_81374FC
+ thumb_func_end sub_81374C4
+
+ thumb_func_start sub_81374FC
+sub_81374FC: @ 81374FC
+ push {lr}
+ ldr r0, _08137528 @ =gMain
+ ldr r1, [r0, 0x4]
+ ldr r0, _0813752C @ =sub_800F808
+ cmp r1, r0
+ bne _08137522
+ ldr r0, _08137530 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08137522
+ ldr r0, _08137534 @ =gScriptItemId
+ ldrh r1, [r0]
+ movs r0, 0x1
+ bl dp01_build_cmdbuf_x23_aa_0
+ bl dp01_tbl5_exec_completed
+_08137522:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137528: .4byte gMain
+_0813752C: .4byte sub_800F808
+_08137530: .4byte gPaletteFade
+_08137534: .4byte gScriptItemId
+ thumb_func_end sub_81374FC
+
+ thumb_func_start sub_8137538
+sub_8137538: @ 8137538
+ push {r4-r7,lr}
+ ldr r5, _0813768C @ =gUnknown_02024A60
+ ldrb r2, [r5]
+ lsls r3, r2, 1
+ adds r0, r3, r2
+ lsls r0, 2
+ ldr r4, _08137690 @ =0x02017810
+ adds r0, r4
+ ldrb r1, [r0]
+ movs r7, 0x88
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08137568
+ ldr r0, _08137694 @ =gUnknown_02024A6A
+ adds r0, r3, r0
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _08137698 @ =gPlayerParty
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_8141828
+_08137568:
+ ldrb r0, [r5]
+ movs r6, 0x2
+ adds r2, r6, 0
+ eors r2, r0
+ lsls r3, r2, 1
+ adds r0, r3, r2
+ lsls r0, 2
+ adds r0, r4
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08137596
+ ldr r0, _08137694 @ =gUnknown_02024A6A
+ adds r0, r3, r0
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _08137698 @ =gPlayerParty
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_8141828
+_08137596:
+ ldrb r2, [r5]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r4
+ ldrb r1, [r0]
+ movs r3, 0x8
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08137684
+ adds r1, r6, 0
+ eors r1, r2
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrb r1, [r0]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08137684
+ bl IsDoubleBattle
+ lsls r0, 24
+ cmp r0, 0
+ beq _08137626
+ ldr r0, _0813769C @ =gBattleTypeFlags
+ ldrh r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _08137626
+ ldr r1, _081376A0 @ =gUnknown_0300434C
+ ldrb r0, [r5]
+ eors r0, r6
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _081376A4 @ =gSprites
+ adds r0, r1
+ bl DestroySprite
+ ldr r4, _081376A8 @ =gUnknown_03004340
+ ldrb r0, [r5]
+ adds r1, r6, 0
+ eors r1, r0
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ ldr r2, _08137694 @ =gUnknown_02024A6A
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0x64
+ muls r1, r2
+ ldr r2, _08137698 @ =gPlayerParty
+ adds r1, r2
+ movs r2, 0
+ bl sub_8045A5C
+ ldrb r0, [r5]
+ eors r0, r6
+ bl sub_804777C
+ ldrb r0, [r5]
+ eors r0, r6
+ adds r0, r4
+ ldrb r0, [r0]
+ bl sub_8043DFC
+_08137626:
+ ldr r1, _081376A0 @ =gUnknown_0300434C
+ ldr r4, _0813768C @ =gUnknown_02024A60
+ ldrb r0, [r4]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _081376A4 @ =gSprites
+ adds r0, r1
+ bl DestroySprite
+ ldr r5, _081376A8 @ =gUnknown_03004340
+ ldrb r1, [r4]
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ ldr r2, _08137694 @ =gUnknown_02024A6A
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0x64
+ muls r1, r2
+ ldr r2, _08137698 @ =gPlayerParty
+ adds r1, r2
+ movs r2, 0
+ bl sub_8045A5C
+ ldrb r0, [r4]
+ bl sub_804777C
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_8043DFC
+ ldr r2, _081376AC @ =0x02017840
+ ldrb r1, [r2, 0x9]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x9]
+ ldr r1, _081376B0 @ =gUnknown_03004330
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _081376B4 @ =sub_81376B8
+ str r1, [r0]
+_08137684:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813768C: .4byte gUnknown_02024A60
+_08137690: .4byte 0x02017810
+_08137694: .4byte gUnknown_02024A6A
+_08137698: .4byte gPlayerParty
+_0813769C: .4byte gBattleTypeFlags
+_081376A0: .4byte gUnknown_0300434C
+_081376A4: .4byte gSprites
+_081376A8: .4byte gUnknown_03004340
+_081376AC: .4byte 0x02017840
+_081376B0: .4byte gUnknown_03004330
+_081376B4: .4byte sub_81376B8
+ thumb_func_end sub_8137538
+
+ thumb_func_start sub_81376B8
+sub_81376B8: @ 81376B8
+ push {r4-r7,lr}
+ movs r4, 0
+ ldr r2, _0813778C @ =gSprites
+ ldr r0, _08137790 @ =gUnknown_03004340
+ ldr r7, _08137794 @ =gUnknown_02024A60
+ ldrb r3, [r7]
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _08137798 @ =SpriteCallbackDummy
+ cmp r1, r0
+ bne _081376DC
+ movs r4, 0x1
+_081376DC:
+ cmp r4, 0
+ beq _08137784
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ ldr r5, _0813779C @ =0x02017810
+ adds r2, r0, r5
+ ldrb r1, [r2, 0x1]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08137784
+ movs r6, 0x2
+ adds r1, r6, 0
+ eors r1, r3
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r1, [r0, 0x1]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08137784
+ ldrb r1, [r2]
+ movs r3, 0x7F
+ adds r0, r3, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldrb r0, [r7]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ ldrb r2, [r1, 0x1]
+ subs r4, 0x3
+ adds r0, r4, 0
+ ands r0, r2
+ strb r0, [r1, 0x1]
+ ldrb r0, [r7]
+ adds r1, r6, 0
+ eors r1, r0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r1, [r0]
+ ands r3, r1
+ strb r3, [r0]
+ ldrb r0, [r7]
+ adds r1, r6, 0
+ eors r1, r0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r1, [r0, 0x1]
+ ands r4, r1
+ strb r4, [r0, 0x1]
+ ldr r4, _081377A0 @ =0x000027f9
+ adds r0, r4, 0
+ bl FreeSpriteTilesByTag
+ adds r0, r4, 0
+ bl FreeSpritePaletteByTag
+ ldr r0, _081377A4 @ =c3_0802FDF4
+ movs r1, 0xA
+ bl CreateTask
+ ldr r2, _081377A8 @ =gUnknown_02024A6A
+ ldrb r1, [r7]
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r2, [r0]
+ movs r0, 0x64
+ muls r0, r2
+ ldr r2, _081377AC @ =gPlayerParty
+ adds r0, r2
+ bl sub_80324F8
+ bl dp01_tbl5_exec_completed
+_08137784:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813778C: .4byte gSprites
+_08137790: .4byte gUnknown_03004340
+_08137794: .4byte gUnknown_02024A60
+_08137798: .4byte SpriteCallbackDummy
+_0813779C: .4byte 0x02017810
+_081377A0: .4byte 0x000027f9
+_081377A4: .4byte c3_0802FDF4
+_081377A8: .4byte gUnknown_02024A6A
+_081377AC: .4byte gPlayerParty
+ thumb_func_end sub_81376B8
+
+ thumb_func_start sub_81377B0
+sub_81377B0: @ 81377B0
+ push {r4-r6,lr}
+ ldr r5, _081377F0 @ =gUnknown_02024A60
+ ldrb r0, [r5]
+ ldr r6, _081377F4 @ =gUnknown_03004340
+ adds r1, r0, r6
+ ldrb r1, [r1]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8045C78
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r0, [r0]
+ bl sub_8043DFC
+ lsls r4, 16
+ asrs r1, r4, 16
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _081377F8
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r2, 0
+ bl sub_80440EC
+ b _08137812
+ .align 2, 0
+_081377F0: .4byte gUnknown_02024A60
+_081377F4: .4byte gUnknown_03004340
+_081377F8:
+ ldr r2, _08137818 @ =gUnknown_02024A6A
+ ldrb r1, [r5]
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r2, [r0]
+ movs r0, 0x64
+ muls r0, r2
+ ldr r2, _0813781C @ =gPlayerParty
+ adds r0, r2
+ bl sub_80324F8
+ bl dp01_tbl5_exec_completed
+_08137812:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137818: .4byte gUnknown_02024A6A
+_0813781C: .4byte gPlayerParty
+ thumb_func_end sub_81377B0
+
+ thumb_func_start bx_blink_t5
+bx_blink_t5: @ 8137820
+ push {r4,lr}
+ ldr r1, _0813785C @ =gUnknown_02024BE0
+ ldr r0, _08137860 @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ ldr r2, _08137864 @ =gSprites
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, r0, r2
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x20
+ bne _0813786C
+ movs r3, 0
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ subs r0, 0x5
+ ands r0, r1
+ strb r0, [r2]
+ ldr r0, _08137868 @ =gUnknown_02024E6D
+ strb r3, [r0]
+ bl dp01_tbl5_exec_completed
+ b _08137896
+ .align 2, 0
+_0813785C: .4byte gUnknown_02024BE0
+_08137860: .4byte gUnknown_02024A60
+_08137864: .4byte gSprites
+_08137868: .4byte gUnknown_02024E6D
+_0813786C:
+ ldrh r0, [r4, 0x30]
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _08137890
+ adds r3, r4, 0
+ adds r3, 0x3E
+ ldrb r2, [r3]
+ lsls r0, r2, 29
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+_08137890:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+_08137896:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end bx_blink_t5
+
+ thumb_func_start sub_813789C
+sub_813789C: @ 813789C
+ push {r4-r6,lr}
+ ldr r6, _081378F4 @ =gUnknown_02024A60
+ ldrb r2, [r6]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, _081378F8 @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _081378EC
+ ldr r5, _081378FC @ =gUnknown_02024BE0
+ adds r0, r2, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _08137900 @ =gSprites
+ adds r0, r4
+ bl FreeSpriteOamMatrix
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl DestroySprite
+ ldr r1, _08137904 @ =gUnknown_03004340
+ ldrb r0, [r6]
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_8043DB0
+ bl dp01_tbl5_exec_completed
+_081378EC:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081378F4: .4byte gUnknown_02024A60
+_081378F8: .4byte 0x02017810
+_081378FC: .4byte gUnknown_02024BE0
+_08137900: .4byte gSprites
+_08137904: .4byte gUnknown_03004340
+ thumb_func_end sub_813789C
+
+ thumb_func_start sub_8137908
+sub_8137908: @ 8137908
+ push {lr}
+ ldr r2, _08137930 @ =gSprites
+ ldr r1, _08137934 @ =gUnknown_02024BE0
+ ldr r0, _08137938 @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _0813793C @ =SpriteCallbackDummy
+ cmp r1, r0
+ bne _0813792C
+ bl dp01_tbl5_exec_completed
+_0813792C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137930: .4byte gSprites
+_08137934: .4byte gUnknown_02024BE0
+_08137938: .4byte gUnknown_02024A60
+_0813793C: .4byte SpriteCallbackDummy
+ thumb_func_end sub_8137908
+
+ thumb_func_start sub_8137940
+sub_8137940: @ 8137940
+ push {lr}
+ ldr r0, _08137964 @ =gUnknown_02024A60
+ ldrb r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08137968 @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _0813795E
+ bl dp01_tbl5_exec_completed
+_0813795E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137964: .4byte gUnknown_02024A60
+_08137968: .4byte 0x02017810
+ thumb_func_end sub_8137940
+
+ thumb_func_start dp01_tbl5_exec_completed
+dp01_tbl5_exec_completed: @ 813796C
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, _081379AC @ =gUnknown_03004330
+ ldr r4, _081379B0 @ =gUnknown_02024A60
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _081379B4 @ =sub_813726C
+ str r1, [r0]
+ ldr r0, _081379B8 @ =gBattleTypeFlags
+ ldrh r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _081379C0
+ bl GetMultiplayerId
+ mov r1, sp
+ strb r0, [r1]
+ movs r0, 0x2
+ movs r1, 0x4
+ mov r2, sp
+ bl dp01_prepare_buffer_wireless_probably
+ ldr r1, _081379BC @ =gUnknown_02023A60
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r0, r1
+ movs r1, 0x38
+ strb r1, [r0]
+ b _081379D2
+ .align 2, 0
+_081379AC: .4byte gUnknown_03004330
+_081379B0: .4byte gUnknown_02024A60
+_081379B4: .4byte sub_813726C
+_081379B8: .4byte gBattleTypeFlags
+_081379BC: .4byte gUnknown_02023A60
+_081379C0:
+ ldr r2, _081379DC @ =gUnknown_02024A64
+ ldr r1, _081379E0 @ =gBitTable
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, [r2]
+ bics r0, r1
+ str r0, [r2]
+_081379D2:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081379DC: .4byte gUnknown_02024A64
+_081379E0: .4byte gBitTable
+ thumb_func_end dp01_tbl5_exec_completed
+
+ thumb_func_start unref_sub_81379E4
+unref_sub_81379E4: @ 81379E4
+ push {lr}
+ ldr r0, _08137A08 @ =gUnknown_02024A60
+ ldrb r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08137A0C @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _08137A02
+ bl dp01_tbl5_exec_completed
+_08137A02:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137A08: .4byte gUnknown_02024A60
+_08137A0C: .4byte 0x02017810
+ thumb_func_end unref_sub_81379E4
+
+ thumb_func_start dp01t_00_5_getattr
+dp01t_00_5_getattr: @ 8137A10
+ push {r4-r6,lr}
+ sub sp, 0x100
+ movs r6, 0
+ ldr r1, _08137A3C @ =gUnknown_02023A60
+ ldr r0, _08137A40 @ =gUnknown_02024A60
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08137A48
+ ldr r0, _08137A44 @ =gUnknown_02024A6A
+ lsls r1, r2, 1
+ adds r1, r0
+ ldrb r0, [r1]
+ mov r1, sp
+ bl sub_8137A84
+ adds r6, r0, 0
+ b _08137A6A
+ .align 2, 0
+_08137A3C: .4byte gUnknown_02023A60
+_08137A40: .4byte gUnknown_02024A60
+_08137A44: .4byte gUnknown_02024A6A
+_08137A48:
+ ldrb r4, [r1]
+ movs r5, 0
+_08137A4C:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _08137A62
+ lsls r0, r5, 24
+ lsrs r0, 24
+ mov r2, sp
+ adds r1, r2, r6
+ bl sub_8137A84
+ adds r6, r0
+_08137A62:
+ lsrs r4, 1
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _08137A4C
+_08137A6A:
+ lsls r1, r6, 16
+ lsrs r1, 16
+ movs r0, 0x1
+ mov r2, sp
+ bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
+ bl dp01_tbl5_exec_completed
+ add sp, 0x100
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end dp01t_00_5_getattr
+
+ thumb_func_start sub_8137A84
+sub_8137A84: @ 8137A84
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x90
+ adds r7, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r6, 0
+ ldr r2, _08137AB8 @ =gUnknown_02023A60
+ ldr r3, _08137ABC @ =gUnknown_02024A60
+ ldrb r0, [r3]
+ lsls r0, 9
+ adds r1, r2, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x3B
+ bls _08137AAE
+ bl _0813821A
+_08137AAE:
+ lsls r0, 2
+ ldr r1, _08137AC0 @ =_08137AC4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08137AB8: .4byte gUnknown_02023A60
+_08137ABC: .4byte gUnknown_02024A60
+_08137AC0: .4byte _08137AC4
+ .align 2, 0
+_08137AC4:
+ .4byte _08137BB4
+ .4byte _08137DD8
+ .4byte _08137DE8
+ .4byte _08137DF8
+ .4byte _08137E60
+ .4byte _08137E60
+ .4byte _08137E60
+ .4byte _08137E60
+ .4byte _08137E7C
+ .4byte _08137EB8
+ .4byte _08137EB8
+ .4byte _08137EB8
+ .4byte _08137EB8
+ .4byte _0813821A
+ .4byte _0813821A
+ .4byte _0813821A
+ .4byte _0813821A
+ .4byte _08137ED4
+ .4byte _08137EE4
+ .4byte _08137F14
+ .4byte _08137F24
+ .4byte _08137F34
+ .4byte _08137F44
+ .4byte _08137F54
+ .4byte _08137F64
+ .4byte _08137F74
+ .4byte _08137F84
+ .4byte _08137F94
+ .4byte _08137FA4
+ .4byte _08137FB4
+ .4byte _08137FC4
+ .4byte _08137FD4
+ .4byte _08138024
+ .4byte _08138034
+ .4byte _08138044
+ .4byte _08138054
+ .4byte _08138064
+ .4byte _08138074
+ .4byte _08138084
+ .4byte _08138094
+ .4byte _081380A4
+ .4byte _081380D8
+ .4byte _081380E8
+ .4byte _081380F8
+ .4byte _08138108
+ .4byte _08138118
+ .4byte _08138128
+ .4byte _08138138
+ .4byte _08138148
+ .4byte _08138168
+ .4byte _08138178
+ .4byte _08138188
+ .4byte _08138198
+ .4byte _081381A8
+ .4byte _081381B8
+ .4byte _081381C8
+ .4byte _081381D8
+ .4byte _081381E8
+ .4byte _081381F8
+ .4byte _08138208
+_08137BB4:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08137DC8 @ =gPlayerParty
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1, 0x2E]
+ movs r6, 0
+ add r0, sp, 0x24
+ mov r9, r0
+ movs r1, 0x3B
+ add r1, sp
+ mov r10, r1
+ mov r2, sp
+ adds r2, 0x2B
+ str r2, [sp, 0x80]
+ mov r0, sp
+ adds r0, 0x2A
+ str r0, [sp, 0x7C]
+ mov r1, sp
+ adds r1, 0x68
+ str r1, [sp, 0x8C]
+ adds r2, 0x5
+ str r2, [sp, 0x84]
+ adds r0, 0x12
+ str r0, [sp, 0x88]
+ mov r8, r4
+ add r4, sp, 0xC
+_08137C00:
+ adds r1, r6, 0
+ adds r1, 0xD
+ mov r0, r8
+ bl GetMonData
+ strh r0, [r4]
+ adds r1, r6, 0
+ adds r1, 0x11
+ mov r0, r8
+ bl GetMonData
+ mov r2, r9
+ adds r1, r2, r6
+ strb r0, [r1]
+ adds r4, 0x2
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08137C00
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08137DC8 @ =gPlayerParty
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x15
+ bl GetMonData
+ mov r1, r10
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ ldr r2, [sp, 0x80]
+ strb r0, [r2]
+ adds r0, r4, 0
+ movs r1, 0x19
+ bl GetMonData
+ str r0, [sp, 0x44]
+ adds r0, r4, 0
+ movs r1, 0x27
+ bl GetMonData
+ mov r3, sp
+ movs r5, 0x1F
+ ands r0, r5
+ ldrb r2, [r3, 0x14]
+ movs r1, 0x20
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x14]
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl GetMonData
+ mov r3, sp
+ movs r6, 0x1F
+ ands r0, r6
+ lsls r0, 5
+ ldrh r2, [r3, 0x14]
+ ldr r1, _08137DCC @ =0xfffffc1f
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r3, 0x14]
+ adds r0, r4, 0
+ movs r1, 0x29
+ bl GetMonData
+ mov r3, sp
+ ands r0, r5
+ lsls r0, 2
+ ldrb r2, [r3, 0x15]
+ movs r1, 0x7D
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x15]
+ adds r0, r4, 0
+ movs r1, 0x2A
+ bl GetMonData
+ movs r1, 0x1F
+ ands r1, r0
+ lsls r1, 15
+ ldr r0, [sp, 0x14]
+ ldr r2, _08137DD0 @ =0xfff07fff
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x14]
+ adds r0, r4, 0
+ movs r1, 0x2B
+ bl GetMonData
+ mov r3, sp
+ ands r0, r6
+ lsls r0, 4
+ ldrh r2, [r3, 0x16]
+ ldr r1, _08137DD4 @ =0xfffffe0f
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r3, 0x16]
+ adds r0, r4, 0
+ movs r1, 0x2C
+ bl GetMonData
+ mov r3, sp
+ ands r0, r5
+ lsls r0, 1
+ ldrb r2, [r3, 0x17]
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x17]
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetMonData
+ str r0, [sp, 0x48]
+ adds r0, r4, 0
+ movs r1, 0x37
+ bl GetMonData
+ str r0, [sp, 0x4C]
+ adds r0, r4, 0
+ movs r1, 0x38
+ bl GetMonData
+ ldr r1, [sp, 0x7C]
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x39
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1, 0x28]
+ adds r0, r4, 0
+ movs r1, 0x3A
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1, 0x2C]
+ adds r0, r4, 0
+ movs r1, 0x3B
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1, 0x2]
+ adds r0, r4, 0
+ movs r1, 0x3C
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x3D
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1, 0x6]
+ adds r0, r4, 0
+ movs r1, 0x3E
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x3F
+ bl GetMonData
+ mov r1, sp
+ strh r0, [r1, 0xA]
+ adds r0, r4, 0
+ movs r1, 0x2D
+ bl GetMonData
+ mov r3, sp
+ movs r1, 0x1
+ ands r0, r1
+ lsls r0, 6
+ ldrb r2, [r3, 0x17]
+ movs r1, 0x41
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x17]
+ adds r0, r4, 0
+ movs r1, 0x2E
+ bl GetMonData
+ mov r3, sp
+ lsls r0, 7
+ ldrb r2, [r3, 0x17]
+ movs r1, 0x7F
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x17]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl GetMonData
+ str r0, [sp, 0x54]
+ adds r0, r4, 0
+ movs r1, 0x2
+ ldr r2, [sp, 0x8C]
+ bl GetMonData
+ ldr r0, [sp, 0x84]
+ ldr r1, [sp, 0x8C]
+ bl StringCopy10
+ adds r0, r4, 0
+ movs r1, 0x7
+ ldr r2, [sp, 0x88]
+ bl GetMonData
+ mov r2, sp
+ movs r6, 0
+_08137DB8:
+ adds r0, r7, r6
+ adds r1, r2, r6
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r6, 0x1
+ cmp r6, 0x57
+ bls _08137DB8
+ b _0813821A
+ .align 2, 0
+_08137DC8: .4byte gPlayerParty
+_08137DCC: .4byte 0xfffffc1f
+_08137DD0: .4byte 0xfff07fff
+_08137DD4: .4byte 0xfffffe0f
+_08137DD8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137DE4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0xB
+ b _08138152
+ .align 2, 0
+_08137DE4: .4byte gPlayerParty
+_08137DE8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137DF4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0xC
+ b _08138152
+ .align 2, 0
+_08137DF4: .4byte gPlayerParty
+_08137DF8:
+ movs r6, 0
+ add r2, sp, 0x58
+ mov r9, r2
+ add r0, sp, 0x60
+ mov r10, r0
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _08137E5C @ =gPlayerParty
+ adds r4, r1, r0
+ mov r8, r9
+_08137E0E:
+ adds r1, r6, 0
+ adds r1, 0xD
+ adds r0, r4, 0
+ bl GetMonData
+ mov r1, r8
+ strh r0, [r1]
+ adds r1, r6, 0
+ adds r1, 0x11
+ adds r0, r4, 0
+ bl GetMonData
+ mov r2, r10
+ adds r1, r2, r6
+ strb r0, [r1]
+ movs r0, 0x2
+ add r8, r0
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08137E0E
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137E5C @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x15
+ bl GetMonData
+ mov r1, r9
+ strb r0, [r1, 0xC]
+ mov r2, r9
+ movs r6, 0
+_08137E4C:
+ adds r0, r7, r6
+ adds r1, r2, r6
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r6, 0x1
+ cmp r6, 0xF
+ bls _08137E4C
+ b _0813821A
+ .align 2, 0
+_08137E5C: .4byte gPlayerParty
+_08137E60:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137E78 @ =gPlayerParty
+ adds r0, r1
+ ldrb r1, [r3]
+ lsls r1, 9
+ adds r2, 0x1
+ adds r1, r2
+ ldrb r1, [r1]
+ adds r1, 0x9
+ b _08138152
+ .align 2, 0
+_08137E78: .4byte gPlayerParty
+_08137E7C:
+ movs r6, 0
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r2, _08137EB4 @ =gPlayerParty
+ mov r8, r2
+_08137E88:
+ adds r1, r6, 0
+ adds r1, 0x11
+ mov r2, r8
+ adds r0, r4, r2
+ bl GetMonData
+ adds r1, r7, r6
+ strb r0, [r1]
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08137E88
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137EB4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x15
+ bl GetMonData
+ adds r1, r7, r6
+ strb r0, [r1]
+ adds r6, 0x1
+ b _0813821A
+ .align 2, 0
+_08137EB4: .4byte gPlayerParty
+_08137EB8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137ED0 @ =gPlayerParty
+ adds r0, r1
+ ldrb r1, [r3]
+ lsls r1, 9
+ adds r2, 0x1
+ adds r1, r2
+ ldrb r1, [r1]
+ adds r1, 0x8
+ b _08138212
+ .align 2, 0
+_08137ED0: .4byte gPlayerParty
+_08137ED4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137EE0 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x1
+ b _08137EEE
+ .align 2, 0
+_08137EE0: .4byte gPlayerParty
+_08137EE4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F10 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x19
+_08137EEE:
+ bl GetMonData
+ adds r1, r0, 0
+ strb r1, [r7]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ lsrs r0, 8
+ strb r0, [r7, 0x1]
+ movs r0, 0xFF
+ lsls r0, 16
+ ands r0, r1
+ lsrs r0, 16
+ strb r0, [r7, 0x2]
+ movs r6, 0x3
+ b _0813821A
+ .align 2, 0
+_08137F10: .4byte gPlayerParty
+_08137F14:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F20 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x1A
+ b _08138212
+ .align 2, 0
+_08137F20: .4byte gPlayerParty
+_08137F24:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F30 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x1B
+ b _08138212
+ .align 2, 0
+_08137F30: .4byte gPlayerParty
+_08137F34:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F40 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x1C
+ b _08138212
+ .align 2, 0
+_08137F40: .4byte gPlayerParty
+_08137F44:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F50 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x1D
+ b _08138212
+ .align 2, 0
+_08137F50: .4byte gPlayerParty
+_08137F54:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F60 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x1E
+ b _08138212
+ .align 2, 0
+_08137F60: .4byte gPlayerParty
+_08137F64:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F70 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x1F
+ b _08138212
+ .align 2, 0
+_08137F70: .4byte gPlayerParty
+_08137F74:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F80 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x20
+ b _08138212
+ .align 2, 0
+_08137F80: .4byte gPlayerParty
+_08137F84:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137F90 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x22
+ b _08138212
+ .align 2, 0
+_08137F90: .4byte gPlayerParty
+_08137F94:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137FA0 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x23
+ b _08138212
+ .align 2, 0
+_08137FA0: .4byte gPlayerParty
+_08137FA4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137FB0 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x24
+ b _08138212
+ .align 2, 0
+_08137FB0: .4byte gPlayerParty
+_08137FB4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137FC0 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x25
+ b _08138212
+ .align 2, 0
+_08137FC0: .4byte gPlayerParty
+_08137FC4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08137FD0 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x26
+ b _08138212
+ .align 2, 0
+_08137FD0: .4byte gPlayerParty
+_08137FD4:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08138020 @ =gPlayerParty
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x27
+ bl GetMonData
+ strb r0, [r7]
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl GetMonData
+ strb r0, [r7, 0x1]
+ adds r0, r4, 0
+ movs r1, 0x29
+ bl GetMonData
+ strb r0, [r7, 0x2]
+ adds r0, r4, 0
+ movs r1, 0x2A
+ bl GetMonData
+ strb r0, [r7, 0x3]
+ adds r0, r4, 0
+ movs r1, 0x2B
+ bl GetMonData
+ strb r0, [r7, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x2C
+ bl GetMonData
+ strb r0, [r7, 0x5]
+ movs r6, 0x6
+ b _0813821A
+ .align 2, 0
+_08138020: .4byte gPlayerParty
+_08138024:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138030 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x27
+ b _08138212
+ .align 2, 0
+_08138030: .4byte gPlayerParty
+_08138034:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138040 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x28
+ b _08138212
+ .align 2, 0
+_08138040: .4byte gPlayerParty
+_08138044:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138050 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x29
+ b _08138212
+ .align 2, 0
+_08138050: .4byte gPlayerParty
+_08138054:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138060 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2A
+ b _08138212
+ .align 2, 0
+_08138060: .4byte gPlayerParty
+_08138064:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138070 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2B
+ b _08138212
+ .align 2, 0
+_08138070: .4byte gPlayerParty
+_08138074:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138080 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2C
+ b _08138212
+ .align 2, 0
+_08138080: .4byte gPlayerParty
+_08138084:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138090 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0
+ b _081380AE
+ .align 2, 0
+_08138090: .4byte gPlayerParty
+_08138094:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081380A0 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x9
+ b _08138152
+ .align 2, 0
+_081380A0: .4byte gPlayerParty
+_081380A4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081380D4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x37
+_081380AE:
+ bl GetMonData
+ adds r1, r0, 0
+ strb r1, [r7]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ lsrs r0, 8
+ strb r0, [r7, 0x1]
+ movs r0, 0xFF
+ lsls r0, 16
+ ands r0, r1
+ lsrs r0, 16
+ strb r0, [r7, 0x2]
+ lsrs r0, r1, 24
+ strb r0, [r7, 0x3]
+ movs r6, 0x4
+ b _0813821A
+ .align 2, 0
+_081380D4: .4byte gPlayerParty
+_081380D8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081380E4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x38
+ b _08138212
+ .align 2, 0
+_081380E4: .4byte gPlayerParty
+_081380E8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081380F4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x39
+ b _08138152
+ .align 2, 0
+_081380F4: .4byte gPlayerParty
+_081380F8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138104 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x3A
+ b _08138152
+ .align 2, 0
+_08138104: .4byte gPlayerParty
+_08138108:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138114 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x3B
+ b _08138152
+ .align 2, 0
+_08138114: .4byte gPlayerParty
+_08138118:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138124 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x3C
+ b _08138152
+ .align 2, 0
+_08138124: .4byte gPlayerParty
+_08138128:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138134 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x3D
+ b _08138152
+ .align 2, 0
+_08138134: .4byte gPlayerParty
+_08138138:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138144 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x3E
+ b _08138152
+ .align 2, 0
+_08138144: .4byte gPlayerParty
+_08138148:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138164 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x3F
+_08138152:
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ strb r0, [r7]
+ lsrs r0, 8
+ strb r0, [r7, 0x1]
+ movs r6, 0x2
+ b _0813821A
+ .align 2, 0
+_08138164: .4byte gPlayerParty
+_08138168:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138174 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x16
+ b _08138212
+ .align 2, 0
+_08138174: .4byte gPlayerParty
+_08138178:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138184 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x17
+ b _08138212
+ .align 2, 0
+_08138184: .4byte gPlayerParty
+_08138188:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138194 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x18
+ b _08138212
+ .align 2, 0
+_08138194: .4byte gPlayerParty
+_08138198:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081381A4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x21
+ b _08138212
+ .align 2, 0
+_081381A4: .4byte gPlayerParty
+_081381A8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081381B4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2F
+ b _08138212
+ .align 2, 0
+_081381B4: .4byte gPlayerParty
+_081381B8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081381C4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x30
+ b _08138212
+ .align 2, 0
+_081381C4: .4byte gPlayerParty
+_081381C8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081381D4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x32
+ b _08138212
+ .align 2, 0
+_081381D4: .4byte gPlayerParty
+_081381D8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081381E4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x33
+ b _08138212
+ .align 2, 0
+_081381E4: .4byte gPlayerParty
+_081381E8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081381F4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x34
+ b _08138212
+ .align 2, 0
+_081381F4: .4byte gPlayerParty
+_081381F8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138204 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x35
+ b _08138212
+ .align 2, 0
+_08138204: .4byte gPlayerParty
+_08138208:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813822C @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x36
+_08138212:
+ bl GetMonData
+ strb r0, [r7]
+ movs r6, 0x1
+_0813821A:
+ adds r0, r6, 0
+ add sp, 0x90
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0813822C: .4byte gPlayerParty
+ thumb_func_end sub_8137A84
+
+ thumb_func_start sub_8138230
+sub_8138230: @ 8138230
+ push {lr}
+ bl sub_802ECF0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8138230
+
+ thumb_func_start sub_813823C
+sub_813823C: @ 813823C
+ push {r4,r5,lr}
+ ldr r1, _08138260 @ =gUnknown_02023A60
+ ldr r0, _08138264 @ =gUnknown_02024A60
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _0813826C
+ ldr r0, _08138268 @ =gUnknown_02024A6A
+ lsls r1, r2, 1
+ adds r1, r0
+ ldrb r0, [r1]
+ bl sub_8138294
+ b _0813828A
+ .align 2, 0
+_08138260: .4byte gUnknown_02023A60
+_08138264: .4byte gUnknown_02024A60
+_08138268: .4byte gUnknown_02024A6A
+_0813826C:
+ ldrb r4, [r1]
+ movs r5, 0
+_08138270:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _0813827E
+ adds r0, r5, 0
+ bl sub_8138294
+_0813827E:
+ lsrs r4, 1
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _08138270
+_0813828A:
+ bl dp01_tbl5_exec_completed
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813823C
+
+ thumb_func_start sub_8138294
+sub_8138294: @ 8138294
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x34
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _081382CC @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ lsls r0, 9
+ ldr r2, _081382D0 @ =gUnknown_02023A63
+ adds r3, r0, r2
+ adds r6, r3, 0
+ subs r1, r2, 0x2
+ adds r0, r1
+ ldrb r0, [r0]
+ adds r7, r2, 0
+ cmp r0, 0x3B
+ bls _081382C0
+ bl _08138C5A
+_081382C0:
+ lsls r0, 2
+ ldr r1, _081382D4 @ =_081382D8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081382CC: .4byte gUnknown_02024A60
+_081382D0: .4byte gUnknown_02023A63
+_081382D4: .4byte _081382D8
+ .align 2, 0
+_081382D8:
+ .4byte _081383C8
+ .4byte _08138560
+ .4byte _08138580
+ .4byte _081385A0
+ .4byte _081385F8
+ .4byte _081385F8
+ .4byte _081385F8
+ .4byte _081385F8
+ .4byte _08138620
+ .4byte _08138684
+ .4byte _08138684
+ .4byte _08138684
+ .4byte _08138684
+ .4byte _08138C5A
+ .4byte _08138C5A
+ .4byte _08138C5A
+ .4byte _08138C5A
+ .4byte _081386B4
+ .4byte _081386D4
+ .4byte _081386F4
+ .4byte _08138714
+ .4byte _08138734
+ .4byte _08138754
+ .4byte _08138774
+ .4byte _08138794
+ .4byte _081387B4
+ .4byte _081387D4
+ .4byte _081387F4
+ .4byte _08138814
+ .4byte _08138834
+ .4byte _08138854
+ .4byte _08138874
+ .4byte _081388E4
+ .4byte _08138904
+ .4byte _08138924
+ .4byte _08138944
+ .4byte _08138964
+ .4byte _08138984
+ .4byte _081389A4
+ .4byte _081389C4
+ .4byte _081389E4
+ .4byte _08138A04
+ .4byte _08138A24
+ .4byte _08138A44
+ .4byte _08138A64
+ .4byte _08138A84
+ .4byte _08138AA4
+ .4byte _08138AC4
+ .4byte _08138AE4
+ .4byte _08138B04
+ .4byte _08138B24
+ .4byte _08138B44
+ .4byte _08138B64
+ .4byte _08138B84
+ .4byte _08138BA4
+ .4byte _08138BC4
+ .4byte _08138BE4
+ .4byte _08138C04
+ .4byte _08138C24
+ .4byte _08138C44
+_081383C8:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _0813855C @ =gPlayerParty
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ adds r2, r6, 0
+ bl SetMonData
+ adds r2, r6, 0
+ adds r2, 0x2E
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl SetMonData
+ movs r0, 0
+ mov r8, r0
+ movs r0, 0x3B
+ adds r0, r6
+ mov r10, r0
+ adds r0, r6, 0
+ adds r0, 0x2B
+ str r0, [sp, 0x20]
+ adds r0, 0x19
+ str r0, [sp, 0x28]
+ adds r0, 0x4
+ str r0, [sp, 0x2C]
+ adds r0, 0x4
+ str r0, [sp, 0x30]
+ subs r0, 0x22
+ str r0, [sp, 0x1C]
+ subs r0, 0x2
+ str r0, [sp, 0x18]
+ adds r0, 0x4
+ str r0, [sp, 0x24]
+ adds r0, r6, 0x2
+ str r0, [sp, 0x4]
+ adds r0, r6, 0x4
+ str r0, [sp, 0x8]
+ adds r0, r6, 0x6
+ str r0, [sp, 0xC]
+ adds r0, 0x2
+ str r0, [sp, 0x10]
+ adds r0, 0x2
+ str r0, [sp, 0x14]
+ mov r9, r4
+ adds r7, r6, 0
+ adds r7, 0x24
+ adds r4, r6, 0
+ adds r4, 0xC
+_0813842E:
+ mov r1, r8
+ adds r1, 0xD
+ mov r0, r9
+ adds r2, r4, 0
+ bl SetMonData
+ mov r1, r8
+ adds r1, 0x11
+ mov r0, r9
+ adds r2, r7, 0
+ bl SetMonData
+ adds r7, 0x1
+ adds r4, 0x2
+ movs r0, 0x1
+ add r8, r0
+ mov r0, r8
+ cmp r0, 0x3
+ ble _0813842E
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _0813855C @ =gPlayerParty
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x15
+ mov r2, r10
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x20
+ ldr r2, [sp, 0x20]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x19
+ ldr r2, [sp, 0x28]
+ bl SetMonData
+ ldrb r0, [r6, 0x14]
+ lsls r0, 27
+ lsrs r0, 27
+ mov r1, sp
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x27
+ mov r2, sp
+ bl SetMonData
+ mov r1, sp
+ ldrh r0, [r6, 0x14]
+ lsls r0, 22
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x28
+ mov r2, sp
+ bl SetMonData
+ mov r1, sp
+ ldrb r0, [r6, 0x15]
+ lsls r0, 25
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x29
+ mov r2, sp
+ bl SetMonData
+ mov r1, sp
+ ldr r0, [r6, 0x14]
+ lsls r0, 12
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x2A
+ mov r2, sp
+ bl SetMonData
+ mov r1, sp
+ ldrh r0, [r6, 0x16]
+ lsls r0, 23
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x2B
+ mov r2, sp
+ bl SetMonData
+ mov r1, sp
+ ldrb r0, [r6, 0x17]
+ lsls r0, 26
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x2C
+ mov r2, sp
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0
+ ldr r2, [sp, 0x2C]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x37
+ ldr r2, [sp, 0x30]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x38
+ ldr r2, [sp, 0x1C]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x39
+ ldr r2, [sp, 0x18]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x3A
+ ldr r2, [sp, 0x24]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x3B
+ ldr r2, [sp, 0x4]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x3C
+ ldr r2, [sp, 0x8]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x3D
+ ldr r2, [sp, 0xC]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x3E
+ ldr r2, [sp, 0x10]
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0x3F
+ ldr r2, [sp, 0x14]
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813855C: .4byte gPlayerParty
+_08138560:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138578 @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _0813857C @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0xB
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138578: .4byte gPlayerParty
+_0813857C: .4byte gUnknown_02024A60
+_08138580:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138598 @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _0813859C @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0xC
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138598: .4byte gPlayerParty
+_0813859C: .4byte gUnknown_02024A60
+_081385A0:
+ movs r0, 0
+ mov r8, r0
+ movs r0, 0xC
+ adds r0, r3
+ mov r9, r0
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _081385F4 @ =gPlayerParty
+ adds r7, r1, r0
+ adds r6, r3, 0
+ adds r6, 0x8
+ adds r4, r3, 0
+_081385BA:
+ mov r1, r8
+ adds r1, 0xD
+ adds r0, r7, 0
+ adds r2, r4, 0
+ bl SetMonData
+ mov r1, r8
+ adds r1, 0x11
+ adds r0, r7, 0
+ adds r2, r6, 0
+ bl SetMonData
+ adds r6, 0x1
+ adds r4, 0x2
+ movs r0, 0x1
+ add r8, r0
+ mov r0, r8
+ cmp r0, 0x3
+ ble _081385BA
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081385F4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x15
+ mov r2, r9
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081385F4: .4byte gPlayerParty
+_081385F8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138614 @ =gPlayerParty
+ adds r0, r1
+ ldr r3, _08138618 @ =gUnknown_02023A60
+ ldr r1, _0813861C @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r1, r3, 0x1
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ adds r1, 0x9
+ b _0813869C
+ .align 2, 0
+_08138614: .4byte gPlayerParty
+_08138618: .4byte gUnknown_02023A60
+_0813861C: .4byte gUnknown_02024A60
+_08138620:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _0813867C @ =gPlayerParty
+ adds r4, r0
+ ldr r5, _08138680 @ =gUnknown_02024A60
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r2, r7
+ adds r0, r4, 0
+ movs r1, 0x11
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x1
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x12
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x2
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x13
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x3
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x14
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x4
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x15
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813867C: .4byte gPlayerParty
+_08138680: .4byte gUnknown_02024A60
+_08138684:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081386A8 @ =gPlayerParty
+ adds r0, r1
+ ldr r3, _081386AC @ =gUnknown_02023A60
+ ldr r1, _081386B0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r1, r3, 0x1
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ adds r1, 0x8
+_0813869C:
+ adds r3, 0x3
+ adds r2, r3
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081386A8: .4byte gPlayerParty
+_081386AC: .4byte gUnknown_02023A60
+_081386B0: .4byte gUnknown_02024A60
+_081386B4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081386CC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _081386D0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081386CC: .4byte gPlayerParty
+_081386D0: .4byte gUnknown_02024A60
+_081386D4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081386EC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _081386F0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x19
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081386EC: .4byte gPlayerParty
+_081386F0: .4byte gUnknown_02024A60
+_081386F4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813870C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138710 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1A
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813870C: .4byte gPlayerParty
+_08138710: .4byte gUnknown_02024A60
+_08138714:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813872C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138730 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1B
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813872C: .4byte gPlayerParty
+_08138730: .4byte gUnknown_02024A60
+_08138734:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813874C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138750 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1C
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813874C: .4byte gPlayerParty
+_08138750: .4byte gUnknown_02024A60
+_08138754:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813876C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138770 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1D
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813876C: .4byte gPlayerParty
+_08138770: .4byte gUnknown_02024A60
+_08138774:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813878C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138790 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1E
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813878C: .4byte gPlayerParty
+_08138790: .4byte gUnknown_02024A60
+_08138794:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081387AC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _081387B0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1F
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081387AC: .4byte gPlayerParty
+_081387B0: .4byte gUnknown_02024A60
+_081387B4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081387CC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _081387D0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x20
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081387CC: .4byte gPlayerParty
+_081387D0: .4byte gUnknown_02024A60
+_081387D4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081387EC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _081387F0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x22
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081387EC: .4byte gPlayerParty
+_081387F0: .4byte gUnknown_02024A60
+_081387F4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813880C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138810 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x23
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813880C: .4byte gPlayerParty
+_08138810: .4byte gUnknown_02024A60
+_08138814:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813882C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138830 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x24
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813882C: .4byte gPlayerParty
+_08138830: .4byte gUnknown_02024A60
+_08138834:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813884C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138850 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x25
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813884C: .4byte gPlayerParty
+_08138850: .4byte gUnknown_02024A60
+_08138854:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813886C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138870 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x26
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813886C: .4byte gPlayerParty
+_08138870: .4byte gUnknown_02024A60
+_08138874:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _081388DC @ =gPlayerParty
+ adds r4, r0
+ ldr r5, _081388E0 @ =gUnknown_02024A60
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r2, r7
+ adds r0, r4, 0
+ movs r1, 0x27
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x1
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x2
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x29
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x3
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x2A
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x4
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x2B
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x5
+ adds r2, r0
+ adds r0, r4, 0
+ b _08138994
+ .align 2, 0
+_081388DC: .4byte gPlayerParty
+_081388E0: .4byte gUnknown_02024A60
+_081388E4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081388FC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138900 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x27
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081388FC: .4byte gPlayerParty
+_08138900: .4byte gUnknown_02024A60
+_08138904:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813891C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138920 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x28
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813891C: .4byte gPlayerParty
+_08138920: .4byte gUnknown_02024A60
+_08138924:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813893C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138940 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x29
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813893C: .4byte gPlayerParty
+_08138940: .4byte gUnknown_02024A60
+_08138944:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813895C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138960 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x2A
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813895C: .4byte gPlayerParty
+_08138960: .4byte gUnknown_02024A60
+_08138964:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813897C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138980 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x2B
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813897C: .4byte gPlayerParty
+_08138980: .4byte gUnknown_02024A60
+_08138984:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0813899C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _081389A0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+_08138994:
+ movs r1, 0x2C
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_0813899C: .4byte gPlayerParty
+_081389A0: .4byte gUnknown_02024A60
+_081389A4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081389BC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _081389C0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081389BC: .4byte gPlayerParty
+_081389C0: .4byte gUnknown_02024A60
+_081389C4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081389DC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _081389E0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x9
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081389DC: .4byte gPlayerParty
+_081389E0: .4byte gUnknown_02024A60
+_081389E4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _081389FC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138A00 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x37
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_081389FC: .4byte gPlayerParty
+_08138A00: .4byte gUnknown_02024A60
+_08138A04:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138A1C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138A20 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x38
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138A1C: .4byte gPlayerParty
+_08138A20: .4byte gUnknown_02024A60
+_08138A24:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138A3C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138A40 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x39
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138A3C: .4byte gPlayerParty
+_08138A40: .4byte gUnknown_02024A60
+_08138A44:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138A5C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138A60 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3A
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138A5C: .4byte gPlayerParty
+_08138A60: .4byte gUnknown_02024A60
+_08138A64:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138A7C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138A80 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3B
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138A7C: .4byte gPlayerParty
+_08138A80: .4byte gUnknown_02024A60
+_08138A84:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138A9C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138AA0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3C
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138A9C: .4byte gPlayerParty
+_08138AA0: .4byte gUnknown_02024A60
+_08138AA4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138ABC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138AC0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3D
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138ABC: .4byte gPlayerParty
+_08138AC0: .4byte gUnknown_02024A60
+_08138AC4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138ADC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138AE0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3E
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138ADC: .4byte gPlayerParty
+_08138AE0: .4byte gUnknown_02024A60
+_08138AE4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138AFC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138B00 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3F
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138AFC: .4byte gPlayerParty
+_08138B00: .4byte gUnknown_02024A60
+_08138B04:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138B1C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138B20 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x16
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138B1C: .4byte gPlayerParty
+_08138B20: .4byte gUnknown_02024A60
+_08138B24:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138B3C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138B40 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x17
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138B3C: .4byte gPlayerParty
+_08138B40: .4byte gUnknown_02024A60
+_08138B44:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138B5C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138B60 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x18
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138B5C: .4byte gPlayerParty
+_08138B60: .4byte gUnknown_02024A60
+_08138B64:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138B7C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138B80 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x21
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138B7C: .4byte gPlayerParty
+_08138B80: .4byte gUnknown_02024A60
+_08138B84:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138B9C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138BA0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x2F
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138B9C: .4byte gPlayerParty
+_08138BA0: .4byte gUnknown_02024A60
+_08138BA4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138BBC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138BC0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x30
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138BBC: .4byte gPlayerParty
+_08138BC0: .4byte gUnknown_02024A60
+_08138BC4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138BDC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138BE0 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x32
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138BDC: .4byte gPlayerParty
+_08138BE0: .4byte gUnknown_02024A60
+_08138BE4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138BFC @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138C00 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x33
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138BFC: .4byte gPlayerParty
+_08138C00: .4byte gUnknown_02024A60
+_08138C04:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138C1C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138C20 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x34
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138C1C: .4byte gPlayerParty
+_08138C20: .4byte gUnknown_02024A60
+_08138C24:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138C3C @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138C40 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x35
+ bl SetMonData
+ b _08138C5A
+ .align 2, 0
+_08138C3C: .4byte gPlayerParty
+_08138C40: .4byte gUnknown_02024A60
+_08138C44:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08138C84 @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08138C88 @ =gUnknown_02024A60
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x36
+ bl SetMonData
+_08138C5A:
+ ldr r2, _08138C8C @ =gUnknown_02024A6A
+ ldr r0, _08138C88 @ =gUnknown_02024A60
+ ldrb r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r2, [r0]
+ movs r0, 0x64
+ muls r0, r2
+ ldr r2, _08138C84 @ =gPlayerParty
+ adds r0, r2
+ bl sub_80324F8
+ add sp, 0x34
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08138C84: .4byte gPlayerParty
+_08138C88: .4byte gUnknown_02024A60
+_08138C8C: .4byte gUnknown_02024A6A
+ thumb_func_end sub_8138294
+
+ thumb_func_start sub_8138C90
+sub_8138C90: @ 8138C90
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8138C90
+
+ thumb_func_start sub_8138C9C
+sub_8138C9C: @ 8138C9C
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8138C9C
+
+ thumb_func_start sub_8138CA8
+sub_8138CA8: @ 8138CA8
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8138CA8
+
+ thumb_func_start sub_8138CB4
+sub_8138CB4: @ 8138CB4
+ push {r4-r6,lr}
+ ldr r0, _08138CE0 @ =gUnknown_02023A60
+ ldr r6, _08138CE4 @ =gUnknown_02024A60
+ ldrb r2, [r6]
+ lsls r1, r2, 9
+ adds r0, 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08138CF0
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x1
+ bl move_anim_start_t4
+ ldr r0, _08138CE8 @ =gUnknown_03004330
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _08138CEC @ =sub_813789C
+ str r0, [r1]
+ b _08138D26
+ .align 2, 0
+_08138CE0: .4byte gUnknown_02023A60
+_08138CE4: .4byte gUnknown_02024A60
+_08138CE8: .4byte gUnknown_03004330
+_08138CEC: .4byte sub_813789C
+_08138CF0:
+ ldr r5, _08138D2C @ =gUnknown_02024BE0
+ adds r0, r2, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _08138D30 @ =gSprites
+ adds r0, r4
+ bl FreeSpriteOamMatrix
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl DestroySprite
+ ldr r1, _08138D34 @ =gUnknown_03004340
+ ldrb r0, [r6]
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_8043DB0
+ bl dp01_tbl5_exec_completed
+_08138D26:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08138D2C: .4byte gUnknown_02024BE0
+_08138D30: .4byte gSprites
+_08138D34: .4byte gUnknown_03004340
+ thumb_func_end sub_8138CB4
+
+ thumb_func_start sub_8138D38
+sub_8138D38: @ 8138D38
+ push {r4-r6,lr}
+ ldr r4, _08138DE0 @ =gUnknown_02024A60
+ ldrb r1, [r4]
+ movs r0, 0x2
+ bl sub_8031AF4
+ ldrb r0, [r4]
+ bl battle_get_per_side_status
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0x2
+ bl GetMonSpriteTemplate_803C5A0
+ ldr r0, _08138DE4 @ =gUnknown_02024E8C
+ ldr r1, _08138DE8 @ =gTrainerBackPicCoords
+ ldrb r1, [r1, 0x8]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 15
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0x50
+ movs r3, 0x1E
+ bl CreateSprite
+ ldr r6, _08138DEC @ =gUnknown_02024BE0
+ ldrb r1, [r4]
+ adds r1, r6
+ strb r0, [r1]
+ ldr r5, _08138DF0 @ =gSprites
+ ldrb r3, [r4]
+ adds r0, r3, r6
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ lsls r3, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0xF0
+ strh r1, [r0, 0x24]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _08138DF4 @ =0x0000fffe
+ strh r1, [r0, 0x2E]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r5, 0x1C
+ adds r0, r5
+ ldr r1, _08138DF8 @ =sub_80313A0
+ str r1, [r0]
+ ldr r1, _08138DFC @ =gUnknown_03004330
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08138E00 @ =sub_813741C
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08138DE0: .4byte gUnknown_02024A60
+_08138DE4: .4byte gUnknown_02024E8C
+_08138DE8: .4byte gTrainerBackPicCoords
+_08138DEC: .4byte gUnknown_02024BE0
+_08138DF0: .4byte gSprites
+_08138DF4: .4byte 0x0000fffe
+_08138DF8: .4byte sub_80313A0
+_08138DFC: .4byte gUnknown_03004330
+_08138E00: .4byte sub_813741C
+ thumb_func_end sub_8138D38
+
+ thumb_func_start sub_8138E04
+sub_8138E04: @ 8138E04
+ push {r4-r6,lr}
+ ldr r4, _08138EAC @ =gUnknown_02024A60
+ ldrb r1, [r4]
+ movs r0, 0x2
+ bl sub_8031AF4
+ ldrb r0, [r4]
+ bl battle_get_per_side_status
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0x2
+ bl GetMonSpriteTemplate_803C5A0
+ ldr r0, _08138EB0 @ =gUnknown_02024E8C
+ ldr r1, _08138EB4 @ =gTrainerBackPicCoords
+ ldrb r1, [r1, 0x8]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 15
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0x50
+ movs r3, 0x1E
+ bl CreateSprite
+ ldr r6, _08138EB8 @ =gUnknown_02024BE0
+ ldrb r1, [r4]
+ adds r1, r6
+ strb r0, [r1]
+ ldr r5, _08138EBC @ =gSprites
+ ldrb r3, [r4]
+ adds r0, r3, r6
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ lsls r3, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _08138EC0 @ =0x0000ffa0
+ strh r1, [r0, 0x24]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x2
+ strh r1, [r0, 0x2E]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r5, 0x1C
+ adds r0, r5
+ ldr r1, _08138EC4 @ =sub_80313A0
+ str r1, [r0]
+ ldr r1, _08138EC8 @ =gUnknown_03004330
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08138ECC @ =sub_8137908
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08138EAC: .4byte gUnknown_02024A60
+_08138EB0: .4byte gUnknown_02024E8C
+_08138EB4: .4byte gTrainerBackPicCoords
+_08138EB8: .4byte gUnknown_02024BE0
+_08138EBC: .4byte gSprites
+_08138EC0: .4byte 0x0000ffa0
+_08138EC4: .4byte sub_80313A0
+_08138EC8: .4byte gUnknown_03004330
+_08138ECC: .4byte sub_8137908
+ thumb_func_end sub_8138E04
+
+ thumb_func_start sub_8138ED0
+sub_8138ED0: @ 8138ED0
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8138ED0
+
+ thumb_func_start sub_8138EDC
+sub_8138EDC: @ 8138EDC
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8138EDC
+
+ thumb_func_start sub_8138EE8
+sub_8138EE8: @ 8138EE8
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8138EE8
+
+ thumb_func_start sub_8138EF4
+sub_8138EF4: @ 8138EF4
+ push {r4,r5,lr}
+ ldr r1, _08138F30 @ =0x02017840
+ movs r0, 0x4
+ strb r0, [r1, 0x8]
+ ldr r1, _08138F34 @ =gUnknown_02024E6D
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r5, _08138F38 @ =gUnknown_02024A60
+ ldrb r4, [r5]
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r3, 0x4
+ bl move_anim_start_t4
+ ldr r1, _08138F3C @ =gUnknown_03004330
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08138F40 @ =bx_wait_t5
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08138F30: .4byte 0x02017840
+_08138F34: .4byte gUnknown_02024E6D
+_08138F38: .4byte gUnknown_02024A60
+_08138F3C: .4byte gUnknown_03004330
+_08138F40: .4byte bx_wait_t5
+ thumb_func_end sub_8138EF4
+
+ thumb_func_start sub_8138F44
+sub_8138F44: @ 8138F44
+ push {r4,r5,lr}
+ ldr r1, _08138F88 @ =gUnknown_02023A60
+ ldr r5, _08138F8C @ =gUnknown_02024A60
+ ldrb r0, [r5]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r1, [r0]
+ ldr r0, _08138F90 @ =0x02017840
+ strb r1, [r0, 0x8]
+ ldr r1, _08138F94 @ =gUnknown_02024E6D
+ movs r0, 0x1
+ strb r0, [r1]
+ ldrb r4, [r5]
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r3, 0x4
+ bl move_anim_start_t4
+ ldr r1, _08138F98 @ =gUnknown_03004330
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08138F9C @ =bx_wait_t5
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08138F88: .4byte gUnknown_02023A60
+_08138F8C: .4byte gUnknown_02024A60
+_08138F90: .4byte 0x02017840
+_08138F94: .4byte gUnknown_02024E6D
+_08138F98: .4byte gUnknown_03004330
+_08138F9C: .4byte bx_wait_t5
+ thumb_func_end sub_8138F44
+
+ thumb_func_start sub_8138FA0
+sub_8138FA0: @ 8138FA0
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8138FA0
+
+ thumb_func_start sub_8138FAC
+sub_8138FAC: @ 8138FAC
+ push {r4-r6,lr}
+ ldr r0, _08139080 @ =gUnknown_02023A60
+ mov r12, r0
+ ldr r6, _08139084 @ =gUnknown_02024A60
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r0, 0x1
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ mov r1, r12
+ adds r1, 0x2
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ ldr r5, _08139088 @ =gUnknown_0202F7C4
+ mov r1, r12
+ adds r1, 0x3
+ adds r2, r1
+ ldrb r1, [r2]
+ strb r1, [r5]
+ ldr r4, _0813908C @ =gUnknown_0202F7BC
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0x4
+ adds r1, r2, r1
+ ldrb r3, [r1]
+ mov r1, r12
+ adds r1, 0x5
+ adds r2, r1
+ ldrb r1, [r2]
+ lsls r1, 8
+ orrs r3, r1
+ strh r3, [r4]
+ ldr r4, _08139090 @ =gUnknown_0202F7B8
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0x6
+ adds r1, r2, r1
+ ldrb r3, [r1]
+ mov r1, r12
+ adds r1, 0x7
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r3, r1
+ mov r1, r12
+ adds r1, 0x8
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ lsls r1, 16
+ orrs r3, r1
+ mov r1, r12
+ adds r1, 0x9
+ adds r2, r1
+ ldrb r1, [r2]
+ lsls r1, 24
+ orrs r3, r1
+ str r3, [r4]
+ ldr r3, _08139094 @ =gUnknown_0202F7BE
+ ldrb r1, [r6]
+ lsls r1, 9
+ mov r2, r12
+ adds r2, 0xA
+ adds r1, r2
+ ldrb r1, [r1]
+ strb r1, [r3]
+ ldr r4, _08139098 @ =gUnknown_0202F7C0
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0xC
+ adds r1, r2, r1
+ ldrb r3, [r1]
+ mov r1, r12
+ adds r1, 0xD
+ adds r2, r1
+ ldrb r1, [r2]
+ lsls r1, 8
+ orrs r3, r1
+ strh r3, [r4]
+ ldr r3, _0813909C @ =gUnknown_0202F7B4
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0x10
+ adds r2, r1
+ str r2, [r3]
+ ldr r3, _081390A0 @ =gUnknown_02024E70
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r3
+ ldr r2, [r2]
+ str r2, [r1]
+ ldrb r1, [r5]
+ bl sub_8031720
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _081390A4
+ bl dp01_tbl5_exec_completed
+ b _081390BE
+ .align 2, 0
+_08139080: .4byte gUnknown_02023A60
+_08139084: .4byte gUnknown_02024A60
+_08139088: .4byte gUnknown_0202F7C4
+_0813908C: .4byte gUnknown_0202F7BC
+_08139090: .4byte gUnknown_0202F7B8
+_08139094: .4byte gUnknown_0202F7BE
+_08139098: .4byte gUnknown_0202F7C0
+_0813909C: .4byte gUnknown_0202F7B4
+_081390A0: .4byte gUnknown_02024E70
+_081390A4:
+ ldrb r1, [r6]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _081390C4 @ =0x02017810
+ adds r0, r1
+ strb r2, [r0, 0x4]
+ ldr r1, _081390C8 @ =gUnknown_03004330
+ ldrb r0, [r6]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _081390CC @ =sub_81390D0
+ str r1, [r0]
+_081390BE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081390C4: .4byte 0x02017810
+_081390C8: .4byte gUnknown_03004330
+_081390CC: .4byte sub_81390D0
+ thumb_func_end sub_8138FAC
+
+ thumb_func_start sub_81390D0
+sub_81390D0: @ 81390D0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r2, _0813910C @ =gUnknown_02023A60
+ ldr r5, _08139110 @ =gUnknown_02024A60
+ ldrb r3, [r5]
+ lsls r1, r3, 9
+ adds r0, r2, 0x1
+ mov r8, r0
+ adds r0, r1, r0
+ ldrb r4, [r0]
+ adds r7, r2, 0x2
+ adds r1, r7
+ ldrb r0, [r1]
+ lsls r0, 8
+ orrs r4, r0
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ ldr r6, _08139114 @ =0x02017810
+ adds r0, r6
+ ldrb r2, [r0, 0x4]
+ cmp r2, 0x1
+ beq _08139150
+ cmp r2, 0x1
+ bgt _08139118
+ cmp r2, 0
+ beq _08139122
+ b _081391FC
+ .align 2, 0
+_0813910C: .4byte gUnknown_02023A60
+_08139110: .4byte gUnknown_02024A60
+_08139114: .4byte 0x02017810
+_08139118:
+ cmp r2, 0x2
+ beq _08139176
+ cmp r2, 0x3
+ beq _081391C4
+ b _081391FC
+_08139122:
+ lsls r0, r3, 2
+ adds r1, r6, 0
+ subs r1, 0x10
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08139140
+ adds r0, r3, 0
+ adds r1, r3, 0
+ adds r2, r3, 0
+ movs r3, 0x5
+ bl move_anim_start_t4
+_08139140:
+ ldrb r0, [r5]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ b _081391FC
+_08139150:
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _081391FC
+ movs r0, 0
+ bl sub_80326EC
+ adds r0, r4, 0
+ bl move_anim_start_t1
+ ldrb r0, [r5]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ movs r0, 0x2
+ strb r0, [r1, 0x4]
+ b _081391FC
+_08139176:
+ ldr r0, _081391BC @ =gUnknown_0202F7AC
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, _081391C0 @ =gUnknown_0202F7B1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _081391FC
+ movs r0, 0x1
+ bl sub_80326EC
+ ldrb r2, [r5]
+ lsls r0, r2, 2
+ adds r1, r6, 0
+ subs r1, 0x10
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _081391AA
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x6
+ bl move_anim_start_t4
+_081391AA:
+ ldrb r0, [r5]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ movs r0, 0x3
+ strb r0, [r1, 0x4]
+ b _081391FC
+ .align 2, 0
+_081391BC: .4byte gUnknown_0202F7AC
+_081391C0: .4byte gUnknown_0202F7B1
+_081391C4:
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _081391FC
+ bl sub_8031F24
+ ldrb r0, [r5]
+ lsls r2, r0, 9
+ mov r3, r8
+ adds r1, r2, r3
+ ldrb r1, [r1]
+ adds r2, r7
+ ldrb r2, [r2]
+ lsls r2, 8
+ orrs r1, r2
+ bl sub_80324BC
+ ldrb r1, [r5]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ strb r4, [r0, 0x4]
+ bl dp01_tbl5_exec_completed
+_081391FC:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81390D0
+
+ thumb_func_start sub_8139208
+sub_8139208: @ 8139208
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r0, _08139254 @ =gUnknown_030042A4
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _08139258 @ =gUnknown_030042A0
+ strh r1, [r0]
+ ldr r5, _0813925C @ =gUnknown_02024A60
+ ldrb r0, [r5]
+ lsls r0, 9
+ ldr r1, _08139260 @ =gUnknown_02023A62
+ adds r4, r0, r1
+ ldrh r0, [r4]
+ cmp r0, 0x2
+ bne _0813922A
+ bl sub_814A7FC
+_0813922A:
+ ldrh r0, [r4]
+ bl sub_8120AA8
+ ldr r0, _08139264 @ =gUnknown_03004210
+ ldr r1, _08139268 @ =gUnknown_020238CC
+ movs r2, 0xF
+ str r2, [sp]
+ movs r2, 0x90
+ movs r3, 0x2
+ bl sub_8002EB0
+ ldr r1, _0813926C @ =gUnknown_03004330
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08139270 @ =sub_8137454
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139254: .4byte gUnknown_030042A4
+_08139258: .4byte gUnknown_030042A0
+_0813925C: .4byte gUnknown_02024A60
+_08139260: .4byte gUnknown_02023A62
+_08139264: .4byte gUnknown_03004210
+_08139268: .4byte gUnknown_020238CC
+_0813926C: .4byte gUnknown_03004330
+_08139270: .4byte sub_8137454
+ thumb_func_end sub_8139208
+
+ thumb_func_start dp01t_11_5_message_for_player_only
+dp01t_11_5_message_for_player_only: @ 8139274
+ push {lr}
+ ldr r0, _0813928C @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _08139290
+ bl sub_8139208
+ b _08139294
+ .align 2, 0
+_0813928C: .4byte gUnknown_02024A60
+_08139290:
+ bl dp01_tbl5_exec_completed
+_08139294:
+ pop {r0}
+ bx r0
+ thumb_func_end dp01t_11_5_message_for_player_only
+
+ thumb_func_start sub_8139298
+sub_8139298: @ 8139298
+ push {r4,r5,lr}
+ sub sp, 0x8
+ ldr r0, _0813934C @ =gUnknown_030042A4
+ movs r2, 0
+ strh r2, [r0]
+ ldr r1, _08139350 @ =gUnknown_030042A0
+ movs r0, 0xA0
+ strh r0, [r1]
+ ldr r4, _08139354 @ =gUnknown_03004210
+ movs r5, 0
+ strb r2, [r4, 0x6]
+ movs r0, 0x1B
+ str r0, [sp]
+ movs r0, 0x12
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0xA
+ movs r2, 0x2
+ movs r3, 0xF
+ bl FillWindowRect_DefaultPalette
+ movs r0, 0x10
+ str r0, [sp]
+ movs r0, 0x24
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0xA
+ movs r2, 0x2
+ movs r3, 0x23
+ bl FillWindowRect_DefaultPalette
+ ldr r1, _08139358 @ =gUnknown_03004330
+ ldr r0, _0813935C @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08139360 @ =sub_81372BC
+ str r1, [r0]
+ ldr r1, _08139364 @ =gUnknown_08400CF3
+ movs r2, 0xC8
+ lsls r2, 1
+ movs r0, 0x23
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r3, 0x12
+ bl InitWindow
+ adds r0, r4, 0
+ bl sub_8002F44
+ ldr r1, _08139368 @ =0x0000ffff
+ ldr r3, _0813936C @ =0x00002d9f
+ str r5, [sp]
+ movs r0, 0
+ movs r2, 0xC
+ bl sub_814A5C0
+ movs r4, 0
+_0813930C:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl nullsub_8
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0813930C
+ movs r0, 0
+ movs r1, 0
+ bl sub_802E3E4
+ ldr r0, _08139370 @ =gUnknown_08400CCC
+ bl get_battle_strings_
+ ldr r4, _08139354 @ =gUnknown_03004210
+ ldr r1, _08139374 @ =gUnknown_020238CC
+ movs r2, 0xDC
+ lsls r2, 1
+ movs r0, 0x23
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r3, 0x2
+ bl InitWindow
+ adds r0, r4, 0
+ bl sub_8002F44
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813934C: .4byte gUnknown_030042A4
+_08139350: .4byte gUnknown_030042A0
+_08139354: .4byte gUnknown_03004210
+_08139358: .4byte gUnknown_03004330
+_0813935C: .4byte gUnknown_02024A60
+_08139360: .4byte sub_81372BC
+_08139364: .4byte gUnknown_08400CF3
+_08139368: .4byte 0x0000ffff
+_0813936C: .4byte 0x00002d9f
+_08139370: .4byte gUnknown_08400CCC
+_08139374: .4byte gUnknown_020238CC
+ thumb_func_end sub_8139298
+
+ thumb_func_start sub_8139378
+sub_8139378: @ 8139378
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139378
+
+ thumb_func_start sub_8139384
+sub_8139384: @ 8139384
+ push {r4,r5,lr}
+ ldr r5, _08139398 @ =0x02000000
+ ldr r0, _0813939C @ =0x000160a9
+ adds r4, r5, r0
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _081393A0
+ cmp r0, 0x1
+ beq _081393B2
+ b _081393DE
+ .align 2, 0
+_08139398: .4byte 0x02000000
+_0813939C: .4byte 0x000160a9
+_081393A0:
+ bl sub_80304A8
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r4]
+ ldr r0, _081393E4 @ =0x000160ab
+ adds r1, r5, r0
+ movs r0, 0x50
+ strb r0, [r1]
+_081393B2:
+ ldr r1, _081393E8 @ =0x02000000
+ ldr r0, _081393E4 @ =0x000160ab
+ adds r1, r0
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ cmp r0, 0
+ bne _081393DE
+ bl sub_814A7FC
+ movs r0, 0x5
+ bl PlaySE
+ movs r2, 0x80
+ lsls r2, 1
+ movs r0, 0x1
+ movs r1, 0xA
+ bl dp01_build_cmdbuf_x21_a_bb
+ bl dp01_tbl5_exec_completed
+_081393DE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081393E4: .4byte 0x000160ab
+_081393E8: .4byte 0x02000000
+ thumb_func_end sub_8139384
+
+ thumb_func_start sub_81393EC
+sub_81393EC: @ 81393EC
+ push {lr}
+ sub sp, 0x4
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _0813941C @ =gUnknown_03004330
+ ldr r2, _08139420 @ =gUnknown_02024A60
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08139424 @ =sub_81374C4
+ str r1, [r0]
+ ldr r1, _08139428 @ =gUnknown_02024E6C
+ ldrb r0, [r2]
+ strb r0, [r1]
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813941C: .4byte gUnknown_03004330
+_08139420: .4byte gUnknown_02024A60
+_08139424: .4byte sub_81374C4
+_08139428: .4byte gUnknown_02024E6C
+ thumb_func_end sub_81393EC
+
+ thumb_func_start sub_813942C
+sub_813942C: @ 813942C
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813942C
+
+ thumb_func_start sub_8139438
+sub_8139438: @ 8139438
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139438
+
+ thumb_func_start sub_8139444
+sub_8139444: @ 8139444
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ movs r0, 0
+ bl load_gfxc_health_bar
+ ldr r3, _081394BC @ =gUnknown_02023A60
+ ldr r0, _081394C0 @ =gUnknown_02024A60
+ mov r9, r0
+ ldrb r4, [r0]
+ lsls r2, r4, 9
+ adds r0, r3, 0x2
+ adds r0, r2, r0
+ ldrb r1, [r0]
+ adds r3, 0x3
+ adds r2, r3
+ ldrb r0, [r2]
+ lsls r0, 8
+ orrs r1, r0
+ lsls r1, 16
+ asrs r7, r1, 16
+ ldr r0, _081394C4 @ =0x00007fff
+ cmp r7, r0
+ beq _081394D4
+ ldr r6, _081394C8 @ =gUnknown_02024A6A
+ lsls r0, r4, 1
+ adds r0, r6
+ ldrh r0, [r0]
+ movs r5, 0x64
+ muls r0, r5
+ ldr r4, _081394CC @ =gPlayerParty
+ adds r0, r4
+ movs r1, 0x3A
+ bl GetMonData
+ mov r8, r0
+ mov r1, r9
+ ldrb r0, [r1]
+ lsls r0, 1
+ adds r0, r6
+ ldrh r0, [r0]
+ muls r0, r5
+ adds r0, r4
+ movs r1, 0x39
+ bl GetMonData
+ adds r3, r0, 0
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r1, _081394D0 @ =gUnknown_03004340
+ adds r1, r0, r1
+ ldrb r1, [r1]
+ str r7, [sp]
+ mov r2, r8
+ bl sub_8043D84
+ b _0813950E
+ .align 2, 0
+_081394BC: .4byte gUnknown_02023A60
+_081394C0: .4byte gUnknown_02024A60
+_081394C4: .4byte 0x00007fff
+_081394C8: .4byte gUnknown_02024A6A
+_081394CC: .4byte gPlayerParty
+_081394D0: .4byte gUnknown_03004340
+_081394D4:
+ ldr r1, _0813952C @ =gUnknown_02024A6A
+ lsls r0, r4, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08139530 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x3A
+ bl GetMonData
+ adds r2, r0, 0
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r4, _08139534 @ =gUnknown_03004340
+ adds r1, r0, r4
+ ldrb r1, [r1]
+ str r7, [sp]
+ movs r3, 0
+ bl sub_8043D84
+ mov r1, r9
+ ldrb r0, [r1]
+ adds r0, r4
+ ldrb r0, [r0]
+ movs r1, 0
+ movs r2, 0
+ bl sub_80440EC
+_0813950E:
+ ldr r1, _08139538 @ =gUnknown_03004330
+ ldr r0, _0813953C @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08139540 @ =sub_81377B0
+ str r1, [r0]
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813952C: .4byte gUnknown_02024A6A
+_08139530: .4byte gPlayerParty
+_08139534: .4byte gUnknown_03004340
+_08139538: .4byte gUnknown_03004330
+_0813953C: .4byte gUnknown_02024A60
+_08139540: .4byte sub_81377B0
+ thumb_func_end sub_8139444
+
+ thumb_func_start sub_8139544
+sub_8139544: @ 8139544
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139544
+
+ thumb_func_start sub_8139550
+sub_8139550: @ 8139550
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139550
+
+ thumb_func_start sub_813955C
+sub_813955C: @ 813955C
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813955C
+
+ thumb_func_start sub_8139568
+sub_8139568: @ 8139568
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139568
+
+ thumb_func_start sub_8139574
+sub_8139574: @ 8139574
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139574
+
+ thumb_func_start sub_8139580
+sub_8139580: @ 8139580
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139580
+
+ thumb_func_start sub_813958C
+sub_813958C: @ 813958C
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813958C
+
+ thumb_func_start sub_8139598
+sub_8139598: @ 8139598
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139598
+
+ thumb_func_start sub_81395A4
+sub_81395A4: @ 81395A4
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81395A4
+
+ thumb_func_start sub_81395B0
+sub_81395B0: @ 81395B0
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81395B0
+
+ thumb_func_start sub_81395BC
+sub_81395BC: @ 81395BC
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81395BC
+
+ thumb_func_start sub_81395C8
+sub_81395C8: @ 81395C8
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81395C8
+
+ thumb_func_start sub_81395D4
+sub_81395D4: @ 81395D4
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81395D4
+
+ thumb_func_start sub_81395E0
+sub_81395E0: @ 81395E0
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81395E0
+
+ thumb_func_start sub_81395EC
+sub_81395EC: @ 81395EC
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81395EC
+
+ thumb_func_start sub_81395F8
+sub_81395F8: @ 81395F8
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81395F8
+
+ thumb_func_start sub_8139604
+sub_8139604: @ 8139604
+ push {r4,lr}
+ ldr r3, _0813962C @ =gSprites
+ ldr r2, _08139630 @ =gUnknown_02024BE0
+ ldr r4, _08139634 @ =gUnknown_02024A60
+ ldrb r0, [r4]
+ adds r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ lsls r0, 29
+ cmp r0, 0
+ bge _08139638
+ bl dp01_tbl5_exec_completed
+ b _08139662
+ .align 2, 0
+_0813962C: .4byte gSprites
+_08139630: .4byte gUnknown_02024BE0
+_08139634: .4byte gUnknown_02024A60
+_08139638:
+ ldr r1, _08139668 @ =gUnknown_02024E6D
+ movs r0, 0x1
+ strb r0, [r1]
+ ldrb r0, [r4]
+ adds r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0
+ strh r1, [r0, 0x30]
+ ldrb r0, [r4]
+ bl sub_8047858
+ ldr r1, _0813966C @ =gUnknown_03004330
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08139670 @ =bx_blink_t5
+ str r1, [r0]
+_08139662:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139668: .4byte gUnknown_02024E6D
+_0813966C: .4byte gUnknown_03004330
+_08139670: .4byte bx_blink_t5
+ thumb_func_end sub_8139604
+
+ thumb_func_start sub_8139674
+sub_8139674: @ 8139674
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139674
+
+ thumb_func_start sub_8139680
+sub_8139680: @ 8139680
+ push {lr}
+ ldr r2, _081396A8 @ =gUnknown_02023A60
+ ldr r0, _081396AC @ =gUnknown_02024A60
+ ldrb r1, [r0]
+ lsls r1, 9
+ adds r0, r2, 0x1
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r2, 0x2
+ adds r1, r2
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ bl PlaySE
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081396A8: .4byte gUnknown_02023A60
+_081396AC: .4byte gUnknown_02024A60
+ thumb_func_end sub_8139680
+
+ thumb_func_start sub_81396B0
+sub_81396B0: @ 81396B0
+ push {lr}
+ ldr r2, _081396D8 @ =gUnknown_02023A60
+ ldr r0, _081396DC @ =gUnknown_02024A60
+ ldrb r1, [r0]
+ lsls r1, 9
+ adds r0, r2, 0x1
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r2, 0x2
+ adds r1, r2
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ bl PlayFanfare
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081396D8: .4byte gUnknown_02023A60
+_081396DC: .4byte gUnknown_02024A60
+ thumb_func_end sub_81396B0
+
+ thumb_func_start sub_81396E0
+sub_81396E0: @ 81396E0
+ push {lr}
+ ldr r1, _08139710 @ =gUnknown_02024A6A
+ ldr r0, _08139714 @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08139718 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0xB
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x19
+ bl PlayCry1
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139710: .4byte gUnknown_02024A6A
+_08139714: .4byte gUnknown_02024A60
+_08139718: .4byte gPlayerParty
+ thumb_func_end sub_81396E0
+
+ thumb_func_start dp01t_2E_5_battle_intro
+dp01t_2E_5_battle_intro: @ 813971C
+ push {lr}
+ ldr r1, _08139744 @ =gUnknown_02023A60
+ ldr r0, _08139748 @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_80E43C0
+ ldr r2, _0813974C @ =gUnknown_02024DE8
+ ldrh r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r2]
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139744: .4byte gUnknown_02023A60
+_08139748: .4byte gUnknown_02024A60
+_0813974C: .4byte gUnknown_02024DE8
+ thumb_func_end dp01t_2E_5_battle_intro
+
+ thumb_func_start sub_8139750
+sub_8139750: @ 8139750
+ push {r4-r7,lr}
+ ldr r6, _08139880 @ =gUnknown_02024BE0
+ ldr r7, _08139884 @ =gUnknown_02024A60
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r5, _08139888 @ =gSprites
+ adds r0, r5
+ bl oamt_add_pos2_onto_pos1
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x32
+ strh r1, [r0, 0x2E]
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _0813988C @ =0x0000ffd8
+ strh r1, [r0, 0x32]
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrh r1, [r0, 0x22]
+ strh r1, [r0, 0x36]
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r5, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _08139890 @ =sub_8078B34
+ str r1, [r0]
+ ldrb r2, [r7]
+ adds r0, r2, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x38]
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _08139894 @ =sub_8030E38
+ bl oamt_set_x3A_32
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r0, _08139898 @ =0x0000d6f8
+ bl AllocSpritePalette
+ adds r4, r0, 0
+ lsls r4, 24
+ ldr r0, _0813989C @ =gTrainerBackPicPaletteTable
+ ldr r0, [r0, 0x10]
+ lsrs r4, 20
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r4, r2
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r4
+ strb r0, [r1, 0x5]
+ ldr r0, _081398A0 @ =sub_8139A2C
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _081398A4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r4
+ ldrb r0, [r7]
+ strh r0, [r1, 0x8]
+ ldrb r3, [r7]
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ ldr r2, _081398A8 @ =0x02017810
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08139864
+ ldr r0, _081398AC @ =gUnknown_02024E68
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r4
+ ldr r1, _081398B0 @ =sub_8044CA0
+ str r1, [r0]
+_08139864:
+ adds r2, 0x30
+ ldrb r0, [r2, 0x9]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2, 0x9]
+ ldr r1, _081398B4 @ =gUnknown_03004330
+ ldrb r0, [r7]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _081398B8 @ =nullsub_91
+ str r1, [r0]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139880: .4byte gUnknown_02024BE0
+_08139884: .4byte gUnknown_02024A60
+_08139888: .4byte gSprites
+_0813988C: .4byte 0x0000ffd8
+_08139890: .4byte sub_8078B34
+_08139894: .4byte sub_8030E38
+_08139898: .4byte 0x0000d6f8
+_0813989C: .4byte gTrainerBackPicPaletteTable
+_081398A0: .4byte sub_8139A2C
+_081398A4: .4byte gTasks
+_081398A8: .4byte 0x02017810
+_081398AC: .4byte gUnknown_02024E68
+_081398B0: .4byte sub_8044CA0
+_081398B4: .4byte gUnknown_03004330
+_081398B8: .4byte nullsub_91
+ thumb_func_end sub_8139750
+
+ thumb_func_start sub_81398BC
+sub_81398BC: @ 81398BC
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ adds r6, r0, 0
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r0, r6, 2
+ ldr r1, _08139A00 @ =0x02017800
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x2]
+ ldr r0, _08139A04 @ =gUnknown_02024A6A
+ lsls r2, r6, 1
+ adds r2, r0
+ ldr r0, _08139A08 @ =gUnknown_02023A60
+ lsls r1, r6, 9
+ adds r0, 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ strh r0, [r2]
+ ldrh r1, [r2]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08139A0C @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0xB
+ bl GetMonData
+ mov r8, r0
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ ldr r0, _08139A10 @ =sub_80312F0
+ bl CreateInvisibleSpriteWithCallback
+ ldr r1, _08139A14 @ =gUnknown_0300434C
+ mov r9, r1
+ add r9, r6
+ mov r1, r9
+ strb r0, [r1]
+ adds r0, r6, 0
+ bl battle_get_per_side_status
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, r8
+ bl GetMonSpriteTemplate_803C56C
+ ldr r0, _08139A18 @ =gUnknown_02024E8C
+ mov r10, r0
+ adds r0, r6, 0
+ movs r1, 0x2
+ bl sub_8077ABC
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ adds r0, r6, 0
+ bl sub_8077F68
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r6, 0
+ bl sub_8079E90
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ mov r0, r10
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl CreateSprite
+ ldr r4, _08139A1C @ =gUnknown_02024BE0
+ adds r4, r6, r4
+ strb r0, [r4]
+ ldr r5, _08139A20 @ =gSprites
+ mov r0, r9
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r1, [r4]
+ strh r1, [r0, 0x30]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r6, [r0, 0x2E]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ mov r1, r8
+ strh r1, [r0, 0x32]
+ ldrb r0, [r4]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ lsls r3, r6, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _08139A24 @ =gUnknown_02024E84
+ adds r6, r1
+ ldrb r1, [r6]
+ bl StartSpriteAnim
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r5, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _08139A28 @ =SpriteCallbackDummy
+ str r1, [r0]
+ movs r0, 0
+ movs r1, 0xFF
+ bl sub_8046400
+ mov r1, r9
+ ldrb r2, [r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r5
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x2E]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139A00: .4byte 0x02017800
+_08139A04: .4byte gUnknown_02024A6A
+_08139A08: .4byte gUnknown_02023A60
+_08139A0C: .4byte gPlayerParty
+_08139A10: .4byte sub_80312F0
+_08139A14: .4byte gUnknown_0300434C
+_08139A18: .4byte gUnknown_02024E8C
+_08139A1C: .4byte gUnknown_02024BE0
+_08139A20: .4byte gSprites
+_08139A24: .4byte gUnknown_02024E84
+_08139A28: .4byte SpriteCallbackDummy
+ thumb_func_end sub_81398BC
+
+ thumb_func_start sub_8139A2C
+sub_8139A2C: @ 8139A2C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _08139A4C @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r1, r0, r1
+ ldrh r2, [r1, 0xA]
+ movs r3, 0xA
+ ldrsh r0, [r1, r3]
+ cmp r0, 0x1E
+ bgt _08139A50
+ adds r0, r2, 0x1
+ strh r0, [r1, 0xA]
+ b _08139A86
+ .align 2, 0
+_08139A4C: .4byte gTasks
+_08139A50:
+ ldr r4, _08139A8C @ =gUnknown_02024A60
+ ldrb r5, [r4]
+ ldrh r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08139A90 @ =gUnknown_02023A60
+ ldrb r1, [r4]
+ lsls r2, r1, 9
+ adds r0, 0x1
+ adds r2, r0
+ ldr r0, _08139A94 @ =gUnknown_02024A6A
+ lsls r1, 1
+ adds r1, r0
+ ldrh r0, [r1]
+ strb r0, [r2]
+ ldrb r0, [r4]
+ bl sub_81398BC
+ ldr r1, _08139A98 @ =gUnknown_03004330
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08139A9C @ =sub_8137538
+ str r1, [r0]
+ strb r5, [r4]
+ adds r0, r6, 0
+ bl DestroyTask
+_08139A86:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139A8C: .4byte gUnknown_02024A60
+_08139A90: .4byte gUnknown_02023A60
+_08139A94: .4byte gUnknown_02024A6A
+_08139A98: .4byte gUnknown_03004330
+_08139A9C: .4byte sub_8137538
+ thumb_func_end sub_8139A2C
+
+ thumb_func_start sub_8139AA0
+sub_8139AA0: @ 8139AA0
+ push {r4,r5,lr}
+ ldr r1, _08139AC8 @ =gUnknown_02023A60
+ ldr r0, _08139ACC @ =gUnknown_02024A60
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08139AD0
+ adds r0, r2, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _08139AD0
+ bl dp01_tbl5_exec_completed
+ b _08139B0A
+ .align 2, 0
+_08139AC8: .4byte gUnknown_02023A60
+_08139ACC: .4byte gUnknown_02024A60
+_08139AD0:
+ ldr r5, _08139B10 @ =gUnknown_02024A60
+ ldrb r1, [r5]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08139B14 @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0]
+ ldrb r0, [r5]
+ lsls r4, r0, 9
+ ldr r3, _08139B18 @ =gUnknown_02023A64
+ adds r1, r4, r3
+ subs r2, r3, 0x3
+ adds r2, r4, r2
+ ldrb r2, [r2]
+ subs r3, 0x2
+ adds r4, r3
+ ldrb r3, [r4]
+ bl sub_8044804
+ ldr r2, _08139B1C @ =gUnknown_02024E68
+ ldrb r1, [r5]
+ adds r1, r2
+ strb r0, [r1]
+ bl dp01_tbl5_exec_completed
+_08139B0A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139B10: .4byte gUnknown_02024A60
+_08139B14: .4byte 0x02017810
+_08139B18: .4byte gUnknown_02023A64
+_08139B1C: .4byte gUnknown_02024E68
+ thumb_func_end sub_8139AA0
+
+ thumb_func_start sub_8139B20
+sub_8139B20: @ 8139B20
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139B20
+
+ thumb_func_start sub_8139B2C
+sub_8139B2C: @ 8139B2C
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139B2C
+
+ thumb_func_start sub_8139B38
+sub_8139B38: @ 8139B38
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139B38
+
+ thumb_func_start sub_8139B44
+sub_8139B44: @ 8139B44
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r5, _08139B7C @ =gUnknown_02023A60
+ ldr r6, _08139B80 @ =gUnknown_02024A60
+ ldrb r2, [r6]
+ lsls r1, r2, 9
+ adds r0, r5, 0x1
+ adds r0, r1, r0
+ ldrb r3, [r0]
+ adds r0, r5, 0x2
+ adds r0, r1, r0
+ ldrb r4, [r0]
+ adds r5, 0x3
+ adds r1, r5
+ ldrb r0, [r1]
+ lsls r0, 8
+ orrs r4, r0
+ str r4, [sp]
+ adds r0, r2, 0
+ adds r1, r2, 0
+ bl move_anim_start_t3
+ lsls r0, 24
+ cmp r0, 0
+ beq _08139B84
+ bl dp01_tbl5_exec_completed
+ b _08139B90
+ .align 2, 0
+_08139B7C: .4byte gUnknown_02023A60
+_08139B80: .4byte gUnknown_02024A60
+_08139B84:
+ ldr r0, _08139B98 @ =gUnknown_03004330
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _08139B9C @ =sub_8137940
+ str r0, [r1]
+_08139B90:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139B98: .4byte gUnknown_03004330
+_08139B9C: .4byte sub_8137940
+ thumb_func_end sub_8139B44
+
+ thumb_func_start sub_8139BA0
+sub_8139BA0: @ 8139BA0
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139BA0
+
+ thumb_func_start sub_8139BAC
+sub_8139BAC: @ 8139BAC
+ push {lr}
+ bl dp01_tbl5_exec_completed
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139BAC
+
+ thumb_func_start sub_8139BB8
+sub_8139BB8: @ 8139BB8
+ push {r4,lr}
+ ldr r2, _08139BFC @ =gUnknown_02024D26
+ ldr r1, _08139C00 @ =gUnknown_02023A60
+ ldr r4, _08139C04 @ =gUnknown_02024A60
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ movs r0, 0x5
+ bl FadeOutMapMusic
+ movs r0, 0x3
+ bl BeginFastPaletteFade
+ bl dp01_tbl5_exec_completed
+ ldr r0, _08139C08 @ =gBattleTypeFlags
+ ldrh r1, [r0]
+ movs r0, 0x6
+ ands r0, r1
+ cmp r0, 0x2
+ bne _08139BF4
+ ldr r0, _08139C0C @ =gUnknown_03004330
+ ldrb r1, [r4]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _08139C10 @ =sub_813746C
+ str r0, [r1]
+_08139BF4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08139BFC: .4byte gUnknown_02024D26
+_08139C00: .4byte gUnknown_02023A60
+_08139C04: .4byte gUnknown_02024A60
+_08139C08: .4byte gBattleTypeFlags
+_08139C0C: .4byte gUnknown_03004330
+_08139C10: .4byte sub_813746C
+ thumb_func_end sub_8139BB8
+
+ thumb_func_start nullsub_80
+nullsub_80: @ 8139C14
+ bx lr
+ thumb_func_end nullsub_80
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
new file mode 100644
index 000000000..a9913b6d0
--- /dev/null
+++ b/asm/use_pokeblock.s
@@ -0,0 +1,2113 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8136130
+sub_8136130: @ 8136130
+ push {r4,r5,lr}
+ ldr r4, _0813615C @ =gUnknown_02039304
+ ldr r2, _08136160 @ =gUnknown_083DFEC4
+ ldr r3, [r2]
+ ldr r5, _08136164 @ =0x0000d164
+ adds r2, r3, r5
+ str r2, [r4]
+ str r0, [r2, 0x8]
+ str r1, [r2, 0x4]
+ ldr r0, _08136168 @ =0x0000d162
+ adds r3, r0
+ movs r0, 0x2
+ strb r0, [r3]
+ ldr r0, _0813616C @ =sub_8136294
+ bl launch_c3_walk_stairs_and_run_once
+ ldr r0, _08136170 @ =sub_8136244
+ bl SetMainCallback2
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813615C: .4byte gUnknown_02039304
+_08136160: .4byte gUnknown_083DFEC4
+_08136164: .4byte 0x0000d164
+_08136168: .4byte 0x0000d162
+_0813616C: .4byte sub_8136294
+_08136170: .4byte sub_8136244
+ thumb_func_end sub_8136130
+
+ thumb_func_start sub_8136174
+sub_8136174: @ 8136174
+ push {r4,r5,lr}
+ ldr r5, _081361C4 @ =gUnknown_02039304
+ ldr r1, [r5]
+ ldr r0, _081361C8 @ =gUnknown_0203930C
+ ldr r0, [r0]
+ str r0, [r1, 0x8]
+ ldr r0, _081361CC @ =gUnknown_02039308
+ ldr r0, [r0]
+ str r0, [r1, 0x4]
+ ldr r4, _081361D0 @ =gUnknown_02039310
+ ldrb r0, [r4]
+ bl sub_81370E4
+ strb r0, [r4]
+ ldr r5, [r5]
+ movs r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bls _0813619E
+ movs r1, 0x1
+_0813619E:
+ adds r0, r5, 0
+ adds r0, 0x56
+ strb r1, [r0]
+ ldr r0, _081361D4 @ =gUnknown_083DFEC4
+ ldr r0, [r0]
+ ldr r1, _081361D8 @ =0x0000d162
+ adds r0, r1
+ movs r1, 0x2
+ strb r1, [r0]
+ ldr r0, _081361DC @ =sub_8136294
+ bl launch_c3_walk_stairs_and_run_once
+ ldr r0, _081361E0 @ =sub_81361E4
+ bl SetMainCallback2
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081361C4: .4byte gUnknown_02039304
+_081361C8: .4byte gUnknown_0203930C
+_081361CC: .4byte gUnknown_02039308
+_081361D0: .4byte gUnknown_02039310
+_081361D4: .4byte gUnknown_083DFEC4
+_081361D8: .4byte 0x0000d162
+_081361DC: .4byte sub_8136294
+_081361E0: .4byte sub_81361E4
+ thumb_func_end sub_8136174
+
+ thumb_func_start sub_81361E4
+sub_81361E4: @ 81361E4
+ push {r4,lr}
+ ldr r4, _08136220 @ =gUnknown_02039304
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl _call_via_r0
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ ldr r4, [r4]
+ ldr r1, [r4]
+ ldr r0, _08136224 @ =sub_81365C8
+ cmp r1, r0
+ bne _0813621A
+ movs r0, 0x80
+ lsls r0, 19
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, r4, 0
+ adds r0, 0x50
+ strb r1, [r0]
+ ldr r0, _08136228 @ =sub_813622C
+ bl SetMainCallback2
+_0813621A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136220: .4byte gUnknown_02039304
+_08136224: .4byte sub_81365C8
+_08136228: .4byte sub_813622C
+ thumb_func_end sub_81361E4
+
+ thumb_func_start sub_813622C
+sub_813622C: @ 813622C
+ push {lr}
+ bl sub_81368A4
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813622C
+
+ thumb_func_start sub_8136244
+sub_8136244: @ 8136244
+ push {lr}
+ ldr r0, _08136260 @ =gUnknown_02039304
+ ldr r0, [r0]
+ ldr r0, [r0]
+ bl _call_via_r0
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136260: .4byte gUnknown_02039304
+ thumb_func_end sub_8136244
+
+ thumb_func_start sub_8136264
+sub_8136264: @ 8136264
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ movs r0, 0x6
+ bl sub_80F5CDC
+ bl sub_8089668
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8136264
+
+ thumb_func_start launch_c3_walk_stairs_and_run_once
+launch_c3_walk_stairs_and_run_once: @ 8136280
+ ldr r1, _08136290 @ =gUnknown_02039304
+ ldr r1, [r1]
+ str r0, [r1]
+ adds r1, 0x50
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_08136290: .4byte gUnknown_02039304
+ thumb_func_end launch_c3_walk_stairs_and_run_once
+
+ thumb_func_start sub_8136294
+sub_8136294: @ 8136294
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r1, _081362B4 @ =gUnknown_02039304
+ ldr r0, [r1]
+ adds r0, 0x50
+ ldrb r0, [r0]
+ adds r3, r1, 0
+ cmp r0, 0x16
+ bls _081362A8
+ b _0813657A
+_081362A8:
+ lsls r0, 2
+ ldr r1, _081362B8 @ =_081362BC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081362B4: .4byte gUnknown_02039304
+_081362B8: .4byte _081362BC
+ .align 2, 0
+_081362BC:
+ .4byte _08136318
+ .4byte _08136354
+ .4byte _0813635E
+ .4byte _08136366
+ .4byte _08136374
+ .4byte _08136380
+ .4byte _0813638C
+ .4byte _081363B8
+ .4byte _081363C8
+ .4byte _081363DC
+ .4byte _081363EE
+ .4byte _08136404
+ .4byte _08136448
+ .4byte _08136464
+ .4byte _08136488
+ .4byte _08136494
+ .4byte _0813649A
+ .4byte _081364D8
+ .4byte _081364FC
+ .4byte _08136508
+ .4byte _08136520
+ .4byte _08136538
+ .4byte _0813656C
+_08136318:
+ bl is_c1_link_related_active
+ ldr r1, _08136344 @ =gUnknown_083DFEC4
+ ldr r1, [r1]
+ ldr r2, _08136348 @ =0x00006dac
+ adds r1, r2
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _08136330
+ b _0813657A
+_08136330:
+ ldr r4, _0813634C @ =gUnknown_02039304
+ ldr r0, [r4]
+ adds r0, 0x55
+ strb r1, [r0]
+ ldr r0, _08136350 @ =sub_81365A0
+ bl launch_c3_walk_stairs_and_run_once
+ ldr r1, [r4]
+ b _08136528
+ .align 2, 0
+_08136344: .4byte gUnknown_083DFEC4
+_08136348: .4byte 0x00006dac
+_0813634C: .4byte gUnknown_02039304
+_08136350: .4byte sub_81365A0
+_08136354:
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ b _08136524
+_0813635E:
+ movs r0, 0
+ bl SetVBlankCallback
+ b _08136524
+_08136366:
+ ldr r0, _08136370 @ =gWindowConfig_81E7080
+ bl SetUpWindowConfig
+ b _08136524
+ .align 2, 0
+_08136370: .4byte gWindowConfig_81E7080
+_08136374:
+ ldr r0, _0813637C @ =gWindowConfig_81E7080
+ bl MultistepInitMenuWindowBegin
+ b _08136524
+ .align 2, 0
+_0813637C: .4byte gWindowConfig_81E7080
+_08136380:
+ bl MultistepInitMenuWindowContinue
+ cmp r0, 0
+ bne _0813638A
+ b _0813657A
+_0813638A:
+ b _08136524
+_0813638C:
+ ldr r0, _081363AC @ =gUnknown_083DFEC4
+ ldr r1, [r0]
+ ldr r4, _081363B0 @ =0x000076aa
+ adds r0, r1, r4
+ movs r2, 0
+ strb r2, [r0]
+ ldr r4, _081363B4 @ =0x000087e0
+ adds r0, r1, r4
+ str r2, [r0]
+ movs r0, 0xC3
+ lsls r0, 2
+ adds r1, r0
+ movs r0, 0x20
+ strh r0, [r1]
+ ldr r1, [r3]
+ b _08136528
+ .align 2, 0
+_081363AC: .4byte gUnknown_083DFEC4
+_081363B0: .4byte 0x000076aa
+_081363B4: .4byte 0x000087e0
+_081363B8:
+ bl sub_80F2688
+ ldr r0, _081363D8 @ =gUnknown_02039304
+ ldr r1, [r0]
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_081363C8:
+ bl sub_80F26BC
+ lsls r0, 24
+ cmp r0, 0
+ beq _081363D4
+ b _0813657A
+_081363D4:
+ b _08136524
+ .align 2, 0
+_081363D8: .4byte gUnknown_02039304
+_081363DC:
+ movs r0, 0x1
+ bl sub_80F2C80
+ ldr r0, _08136400 @ =gUnknown_02039304
+ ldr r1, [r0]
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_081363EE:
+ movs r0, 0x1
+ bl sub_80F2CBC
+ lsls r0, 24
+ cmp r0, 0
+ beq _081363FC
+ b _0813657A
+_081363FC:
+ b _08136524
+ .align 2, 0
+_08136400: .4byte gUnknown_02039304
+_08136404:
+ ldr r1, _08136434 @ =gKeyRepeatStartDelay
+ movs r0, 0x14
+ strh r0, [r1]
+ bl CalculatePlayerPartyCount
+ ldr r1, _08136438 @ =gUnknown_083DFEC4
+ ldr r4, [r1]
+ ldr r2, _0813643C @ =0x00008828
+ adds r1, r4, r2
+ movs r5, 0
+ strb r0, [r1]
+ ldr r1, _08136440 @ =0x00009344
+ adds r0, r4, r1
+ strb r5, [r0]
+ subs r2, 0xC0
+ adds r0, r4, r2
+ str r5, [r0]
+ bl sub_80F4BD0
+ ldr r0, _08136444 @ =0x0000d160
+ adds r4, r0
+ strh r5, [r4]
+ b _08136524
+ .align 2, 0
+_08136434: .4byte gKeyRepeatStartDelay
+_08136438: .4byte gUnknown_083DFEC4
+_0813643C: .4byte 0x00008828
+_08136440: .4byte 0x00009344
+_08136444: .4byte 0x0000d160
+_08136448:
+ bl sub_80F1778
+ lsls r0, 24
+ cmp r0, 0
+ beq _08136454
+ b _0813657A
+_08136454:
+ ldr r0, _08136460 @ =REG_BG2VOFS
+ movs r1, 0x6
+ strh r1, [r0]
+ adds r0, 0x4
+ strh r1, [r0]
+ b _08136524
+ .align 2, 0
+_08136460: .4byte REG_BG2VOFS
+_08136464:
+ movs r0, 0
+ bl sub_80F2E18
+ ldr r0, _0813647C @ =gUnknown_083DFEC4
+ ldr r0, [r0]
+ ldr r1, _08136480 @ =0x00008768
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, _08136484 @ =0x0000ffd8
+ strh r0, [r1, 0x26]
+ b _08136524
+ .align 2, 0
+_0813647C: .4byte gUnknown_083DFEC4
+_08136480: .4byte 0x00008768
+_08136484: .4byte 0x0000ffd8
+_08136488:
+ bl sub_80F170C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813657A
+ b _08136524
+_08136494:
+ bl sub_80F33A8
+ b _08136524
+_0813649A:
+ ldr r1, _081364C4 @ =0x0600f800
+ movs r2, 0
+ str r2, [sp]
+ ldr r0, _081364C8 @ =0x040000d4
+ mov r4, sp
+ str r4, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _081364CC @ =0x85000200
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ ldr r0, _081364D0 @ =REG_BG1VOFS
+ strh r2, [r0]
+ subs r0, 0x2
+ strh r2, [r0]
+ ldr r1, _081364D4 @ =REG_BG1CNT
+ movs r2, 0xF8
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, [r3]
+ b _08136528
+ .align 2, 0
+_081364C4: .4byte 0x0600f800
+_081364C8: .4byte 0x040000d4
+_081364CC: .4byte 0x85000200
+_081364D0: .4byte REG_BG1VOFS
+_081364D4: .4byte REG_BG1CNT
+_081364D8:
+ ldr r0, _081364F0 @ =gUnknown_083DFEC4
+ ldr r1, [r0]
+ ldr r4, _081364F4 @ =0x00008ff0
+ adds r0, r1, r4
+ ldr r2, _081364F8 @ =0x00009004
+ adds r1, r2
+ bl sub_80F567C
+ bl sub_80F5B38
+ b _08136524
+ .align 2, 0
+_081364F0: .4byte gUnknown_083DFEC4
+_081364F4: .4byte 0x00008ff0
+_081364F8: .4byte 0x00009004
+_081364FC:
+ bl sub_80F5B50
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813657A
+ b _08136524
+_08136508:
+ ldr r0, _08136518 @ =gUnknown_083DFEC4
+ ldr r0, [r0]
+ ldr r4, _0813651C @ =0x00009004
+ adds r0, r4
+ bl sub_80F556C
+ b _08136524
+ .align 2, 0
+_08136518: .4byte gUnknown_083DFEC4
+_0813651C: .4byte 0x00009004
+_08136520:
+ bl sub_80F1934
+_08136524:
+ ldr r0, _08136534 @ =gUnknown_02039304
+ ldr r1, [r0]
+_08136528:
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0813657A
+ .align 2, 0
+_08136534: .4byte gUnknown_02039304
+_08136538:
+ ldr r1, _08136584 @ =REG_WIN0H
+ movs r0, 0xF0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0x9B
+ strh r0, [r1]
+ ldr r0, _08136588 @ =REG_WIN0V
+ ldr r2, _0813658C @ =0x00003273
+ adds r1, r2, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ ldr r1, _08136590 @ =REG_WININ
+ ldr r4, _08136594 @ =0x00003f3f
+ adds r0, r4, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0x1B
+ strh r0, [r1]
+ subs r1, 0x38
+ movs r0, 0x28
+ strh r0, [r1]
+ subs r1, 0x12
+ ldr r2, _08136598 @ =0x00007f40
+ adds r0, r2, 0
+ strh r0, [r1]
+_0813656C:
+ ldr r0, [r3]
+ adds r0, 0x55
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, _0813659C @ =sub_81365C8
+ bl launch_c3_walk_stairs_and_run_once
+_0813657A:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136584: .4byte REG_WIN0H
+_08136588: .4byte REG_WIN0V
+_0813658C: .4byte 0x00003273
+_08136590: .4byte REG_WININ
+_08136594: .4byte 0x00003f3f
+_08136598: .4byte 0x00007f40
+_0813659C: .4byte sub_81365C8
+ thumb_func_end sub_8136294
+
+ thumb_func_start sub_81365A0
+sub_81365A0: @ 81365A0
+ push {r4,lr}
+ ldr r1, _081365C4 @ =gUnknown_02039304
+ ldr r0, [r1]
+ adds r0, 0x55
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _081365BE
+ adds r4, r1, 0
+_081365B0:
+ bl sub_8136294
+ ldr r0, [r4]
+ adds r0, 0x55
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _081365B0
+_081365BE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081365C4: .4byte gUnknown_02039304
+ thumb_func_end sub_81365A0
+
+ thumb_func_start sub_81365C8
+sub_81365C8: @ 81365C8
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, _081365E0 @ =gUnknown_02039304
+ ldr r0, [r4]
+ adds r0, 0x50
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _081365E4
+ cmp r1, 0x1
+ beq _0813660C
+ b _08136626
+ .align 2, 0
+_081365E0: .4byte gUnknown_02039304
+_081365E4:
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r0, _08136608 @ =sub_8136264
+ bl SetVBlankCallback
+ ldr r1, [r4]
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08136626
+ .align 2, 0
+_08136608: .4byte sub_8136264
+_0813660C:
+ ldr r0, _08136630 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08136626
+ bl sub_80F3C94
+ bl sub_80F3D00
+ ldr r0, _08136634 @ =sub_8136638
+ bl launch_c3_walk_stairs_and_run_once
+_08136626:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136630: .4byte gPaletteFade
+_08136634: .4byte sub_8136638
+ thumb_func_end sub_81365C8
+
+ thumb_func_start sub_8136638
+sub_8136638: @ 8136638
+ push {r4,lr}
+ ldr r0, _08136654 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ ldrb r0, [r0]
+ cmp r0, 0x7
+ bls _08136648
+ b _081367FA
+_08136648:
+ lsls r0, 2
+ ldr r1, _08136658 @ =_0813665C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08136654: .4byte gUnknown_02039304
+_08136658: .4byte _0813665C
+ .align 2, 0
+_0813665C:
+ .4byte _0813667C
+ .4byte _08136748
+ .4byte _08136754
+ .4byte _08136774
+ .4byte _081367FA
+ .4byte _08136780
+ .4byte _08136798
+ .4byte _081367E0
+_0813667C:
+ ldr r2, _081366A4 @ =gMain
+ ldrh r1, [r2, 0x2C]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _081366AC
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_80F5060
+ bl move_anim_execute
+ ldr r0, _081366A8 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ movs r1, 0x1
+ b _081367F8
+ .align 2, 0
+_081366A4: .4byte gMain
+_081366A8: .4byte gUnknown_02039304
+_081366AC:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _081366D4
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0
+ bl sub_80F5060
+ bl move_anim_execute
+ ldr r0, _081366D0 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ movs r1, 0x1
+ b _081367F8
+ .align 2, 0
+_081366D0: .4byte gUnknown_02039304
+_081366D4:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _081366F4
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _081366F0 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ movs r1, 0x3
+ b _081367F8
+ .align 2, 0
+_081366F0: .4byte gUnknown_02039304
+_081366F4:
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _081366FE
+ b _081367FA
+_081366FE:
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _08136728 @ =gUnknown_083DFEC4
+ ldr r0, [r0]
+ ldr r2, _0813672C @ =0x000087dc
+ adds r1, r0, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ ldr r2, _08136730 @ =0x000087da
+ adds r0, r2
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ subs r0, 0x1
+ cmp r1, r0
+ bne _08136738
+ ldr r0, _08136734 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ movs r1, 0x3
+ b _081367F8
+ .align 2, 0
+_08136728: .4byte gUnknown_083DFEC4
+_0813672C: .4byte 0x000087dc
+_08136730: .4byte 0x000087da
+_08136734: .4byte gUnknown_02039304
+_08136738:
+ ldr r0, _08136744 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ movs r1, 0x5
+ b _081367F8
+ .align 2, 0
+_08136744: .4byte gUnknown_02039304
+_08136748:
+ bl gpu_sync_bg_show
+ lsls r0, 24
+ cmp r0, 0
+ bne _081367FA
+ b _08136784
+_08136754:
+ bl sub_8055870
+ adds r4, r0, 0
+ cmp r4, 0
+ bne _081367FA
+ bl sub_80F1934
+ bl sub_80F3D00
+ ldr r0, _08136770 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ strb r4, [r0]
+ b _081367FA
+ .align 2, 0
+_08136770: .4byte gUnknown_02039304
+_08136774:
+ ldr r0, _0813677C @ =sub_8136B44
+ bl launch_c3_walk_stairs_and_run_once
+ b _081367FA
+ .align 2, 0
+_0813677C: .4byte sub_8136B44
+_08136780:
+ bl sub_8136BB8
+_08136784:
+ ldr r0, _08136794 @ =gUnknown_02039304
+ ldr r1, [r0]
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _081367FA
+ .align 2, 0
+_08136794: .4byte gUnknown_02039304
+_08136798:
+ bl sub_8136C40
+ lsls r0, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ beq _081367B8
+ cmp r1, 0
+ bgt _081367B2
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _081367F0
+ b _081367FA
+_081367B2:
+ cmp r1, 0x1
+ bne _081367FA
+ b _081367F0
+_081367B8:
+ bl sub_8137058
+ lsls r0, 24
+ cmp r0, 0
+ beq _081367D4
+ bl sub_8136D60
+ ldr r0, _081367D0 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ movs r1, 0x7
+ b _081367F8
+ .align 2, 0
+_081367D0: .4byte gUnknown_02039304
+_081367D4:
+ ldr r0, _081367DC @ =sub_8136808
+ bl launch_c3_walk_stairs_and_run_once
+ b _081367FA
+ .align 2, 0
+_081367DC: .4byte sub_8136808
+_081367E0:
+ ldr r0, _08136800 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _081367FA
+ bl sub_8136D8C
+_081367F0:
+ ldr r0, _08136804 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ movs r1, 0
+_081367F8:
+ strb r1, [r0]
+_081367FA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136800: .4byte gMain
+_08136804: .4byte gUnknown_02039304
+ thumb_func_end sub_8136638
+
+ thumb_func_start sub_8136808
+sub_8136808: @ 8136808
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r5, _08136820 @ =gUnknown_02039304
+ ldr r0, [r5]
+ adds r0, 0x50
+ ldrb r4, [r0]
+ cmp r4, 0
+ beq _08136824
+ cmp r4, 0x1
+ beq _08136874
+ b _0813688C
+ .align 2, 0
+_08136820: .4byte gUnknown_02039304
+_08136824:
+ ldr r0, _08136860 @ =gUnknown_083DFEC4
+ ldr r0, [r0]
+ ldr r1, _08136864 @ =0x000087dc
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_81370A4
+ ldr r1, _08136868 @ =gUnknown_02039310
+ strb r0, [r1]
+ ldr r1, _0813686C @ =gUnknown_02039308
+ ldr r2, [r5]
+ ldr r0, [r2, 0x4]
+ str r0, [r1]
+ ldr r1, _08136870 @ =gUnknown_0203930C
+ ldr r0, [r2, 0x8]
+ str r0, [r1]
+ movs r0, 0x1
+ negs r0, r0
+ str r4, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, [r5]
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0813688C
+ .align 2, 0
+_08136860: .4byte gUnknown_083DFEC4
+_08136864: .4byte 0x000087dc
+_08136868: .4byte gUnknown_02039310
+_0813686C: .4byte gUnknown_02039308
+_08136870: .4byte gUnknown_0203930C
+_08136874:
+ ldr r0, _08136894 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0813688C
+ ldr r0, _08136898 @ =gMain
+ ldr r1, _0813689C @ =sub_8136174
+ str r1, [r0, 0x8]
+ ldr r0, _081368A0 @ =sub_8147ADC
+ bl SetMainCallback2
+_0813688C:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136894: .4byte gPaletteFade
+_08136898: .4byte gMain
+_0813689C: .4byte sub_8136174
+_081368A0: .4byte sub_8147ADC
+ thumb_func_end sub_8136808
+
+ thumb_func_start sub_81368A4
+sub_81368A4: @ 81368A4
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, _081368C4 @ =gUnknown_02039304
+ ldr r0, [r1]
+ adds r0, 0x50
+ ldrb r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x6
+ bls _081368B8
+ b _081369B8
+_081368B8:
+ lsls r0, 2
+ ldr r1, _081368C8 @ =_081368CC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081368C4: .4byte gUnknown_02039304
+_081368C8: .4byte _081368CC
+ .align 2, 0
+_081368CC:
+ .4byte _081368E8
+ .4byte _08136922
+ .4byte _0813692E
+ .4byte _0813694C
+ .4byte _0813695A
+ .4byte _0813696C
+ .4byte _08136998
+_081368E8:
+ ldr r0, _0813690C @ =gUnknown_083DFEC4
+ ldr r0, [r0]
+ ldr r1, _08136910 @ =0x000087dc
+ adds r0, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ ldr r0, _08136914 @ =gUnknown_02039310
+ ldrb r0, [r0]
+ cmp r1, r0
+ beq _08136918
+ ldr r0, [r4]
+ adds r0, 0x56
+ ldrb r0, [r0]
+ bl sub_80F5060
+ ldr r1, [r4]
+ b _08136986
+ .align 2, 0
+_0813690C: .4byte gUnknown_083DFEC4
+_08136910: .4byte 0x000087dc
+_08136914: .4byte gUnknown_02039310
+_08136918:
+ ldr r0, [r4]
+ adds r0, 0x50
+ movs r1, 0x3
+ strb r1, [r0]
+ b _081369B8
+_08136922:
+ bl gpu_sync_bg_show
+ lsls r0, 24
+ cmp r0, 0
+ bne _081369B8
+ b _08136982
+_0813692E:
+ bl sub_8055870
+ adds r4, r0, 0
+ cmp r4, 0
+ bne _081369B8
+ bl sub_80F1934
+ ldr r0, _08136948 @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x50
+ strb r4, [r0]
+ b _081369B8
+ .align 2, 0
+_08136948: .4byte gUnknown_02039304
+_0813694C:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ b _08136982
+_0813695A:
+ movs r1, 0x80
+ lsls r1, 19
+ ldr r2, _08136968 @ =0x00007f40
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, [r4]
+ b _08136986
+ .align 2, 0
+_08136968: .4byte 0x00007f40
+_0813696C:
+ ldr r0, _08136990 @ =sub_8136264
+ bl SetVBlankCallback
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+_08136982:
+ ldr r0, _08136994 @ =gUnknown_02039304
+ ldr r1, [r0]
+_08136986:
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _081369B8
+ .align 2, 0
+_08136990: .4byte sub_8136264
+_08136994: .4byte gUnknown_02039304
+_08136998:
+ ldr r0, _081369C0 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _081369B8
+ bl sub_80F3C94
+ bl sub_80F3D00
+ ldr r0, _081369C4 @ =sub_81369CC
+ bl launch_c3_walk_stairs_and_run_once
+ ldr r0, _081369C8 @ =sub_8136244
+ bl SetMainCallback2
+_081369B8:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081369C0: .4byte gPaletteFade
+_081369C4: .4byte sub_81369CC
+_081369C8: .4byte sub_8136244
+ thumb_func_end sub_81368A4
+
+ thumb_func_start sub_81369CC
+sub_81369CC: @ 81369CC
+ push {r4-r6,lr}
+ ldr r1, _081369E8 @ =gUnknown_02039304
+ ldr r0, [r1]
+ adds r0, 0x50
+ ldrb r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bls _081369DE
+ b _08136B32
+_081369DE:
+ lsls r0, 2
+ ldr r1, _081369EC @ =_081369F0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081369E8: .4byte gUnknown_02039304
+_081369EC: .4byte _081369F0
+ .align 2, 0
+_081369F0:
+ .4byte _08136A08
+ .4byte _08136A48
+ .4byte _08136A5C
+ .4byte _08136AAC
+ .4byte _08136AEC
+ .4byte _08136B0E
+_08136A08:
+ ldr r3, [r4]
+ ldr r2, _08136A38 @ =gPlayerParty
+ str r2, [r3, 0xC]
+ ldr r0, _08136A3C @ =gUnknown_083DFEC4
+ ldr r1, [r0]
+ ldr r5, _08136A40 @ =0x000087dc
+ adds r0, r1, r5
+ movs r5, 0
+ ldrsh r0, [r0, r5]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, _08136A44 @ =0x0000893e
+ adds r1, r0
+ ldrb r0, [r1]
+ lsls r0, 27
+ lsrs r0, 27
+ movs r1, 0x64
+ muls r0, r1
+ adds r0, r2
+ str r0, [r3, 0xC]
+ bl move_anim_execute
+ b _08136B02
+ .align 2, 0
+_08136A38: .4byte gPlayerParty
+_08136A3C: .4byte gUnknown_083DFEC4
+_08136A40: .4byte 0x000087dc
+_08136A44: .4byte 0x0000893e
+_08136A48:
+ ldr r0, _08136A58 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _08136B32
+ b _08136B02
+ .align 2, 0
+_08136A58: .4byte gMain
+_08136A5C:
+ bl sub_8136EF0
+ ldr r6, _08136A98 @ =gUnknown_02039304
+ ldr r0, [r6]
+ adds r0, 0x5C
+ ldr r1, _08136A9C @ =gUnknown_083DFEC4
+ ldr r4, [r1]
+ ldr r1, _08136AA0 @ =0x00009040
+ adds r5, r4, r1
+ adds r1, r5, 0
+ bl sub_80F567C
+ ldr r1, _08136AA4 @ =0x00008fe9
+ adds r0, r4, r1
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08136AA8 @ =0x00009004
+ adds r0, r1
+ adds r4, r0
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80F5550
+ bl sub_8137138
+ ldr r1, [r6]
+ b _08136B04
+ .align 2, 0
+_08136A98: .4byte gUnknown_02039304
+_08136A9C: .4byte gUnknown_083DFEC4
+_08136AA0: .4byte 0x00009040
+_08136AA4: .4byte 0x00008fe9
+_08136AA8: .4byte 0x00009004
+_08136AAC:
+ bl sub_80F555C
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _08136B32
+ ldr r0, _08136AE0 @ =gUnknown_083DFEC4
+ ldr r0, [r0]
+ ldr r5, _08136AE4 @ =0x000087dc
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_81370A4
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80F7224
+ bl sub_80F3D00
+ ldr r1, _08136AE8 @ =gUnknown_02039304
+ ldr r0, [r1]
+ adds r0, 0x52
+ strb r4, [r0]
+ ldr r1, [r1]
+ b _08136B04
+ .align 2, 0
+_08136AE0: .4byte gUnknown_083DFEC4
+_08136AE4: .4byte 0x000087dc
+_08136AE8: .4byte gUnknown_02039304
+_08136AEC:
+ ldr r1, [r4]
+ adds r1, 0x52
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x10
+ bls _08136B32
+ bl sub_8136C6C
+_08136B02:
+ ldr r1, [r4]
+_08136B04:
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08136B32
+_08136B0E:
+ ldr r0, _08136B38 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _08136B32
+ bl sub_8136D00
+ lsls r0, 24
+ cmp r0, 0
+ bne _08136B32
+ ldr r0, _08136B3C @ =gScriptItemId
+ ldrb r0, [r0]
+ bl sub_810CA6C
+ ldr r0, _08136B40 @ =sub_8136B44
+ bl launch_c3_walk_stairs_and_run_once
+_08136B32:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136B38: .4byte gMain
+_08136B3C: .4byte gScriptItemId
+_08136B40: .4byte sub_8136B44
+ thumb_func_end sub_81369CC
+
+ thumb_func_start sub_8136B44
+sub_8136B44: @ 8136B44
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, _08136B60 @ =gUnknown_02039304
+ ldr r0, [r4]
+ adds r2, r0, 0
+ adds r2, 0x50
+ ldrb r1, [r2]
+ cmp r1, 0x1
+ beq _08136B80
+ cmp r1, 0x1
+ bgt _08136B64
+ cmp r1, 0
+ beq _08136B6E
+ b _08136BAE
+ .align 2, 0
+_08136B60: .4byte gUnknown_02039304
+_08136B64:
+ cmp r1, 0x2
+ beq _08136B98
+ cmp r1, 0x3
+ beq _08136BA8
+ b _08136BAE
+_08136B6E:
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _08136B9C
+_08136B80:
+ ldr r0, _08136B94 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08136BAE
+ movs r0, 0x2
+ strb r0, [r2]
+ b _08136BAE
+ .align 2, 0
+_08136B94: .4byte gPaletteFade
+_08136B98:
+ bl sub_80F5BDC
+_08136B9C:
+ ldr r1, [r4]
+ adds r1, 0x50
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08136BAE
+_08136BA8:
+ ldr r0, [r0, 0x4]
+ bl SetMainCallback2
+_08136BAE:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8136B44
+
+ thumb_func_start sub_8136BB8
+sub_8136BB8: @ 8136BB8
+ push {r4,lr}
+ ldr r0, _08136C28 @ =gUnknown_083DFEC4
+ ldr r0, [r0]
+ ldr r1, _08136C2C @ =0x000087dc
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_81370A4
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _08136C30 @ =gPlayerParty
+ adds r0, r1
+ ldr r4, _08136C34 @ =gUnknown_02039304
+ ldr r2, [r4]
+ adds r2, 0x10
+ movs r1, 0x2
+ bl GetMonData
+ ldr r0, [r4]
+ adds r0, 0x10
+ bl StringGetEnd10
+ ldr r0, [r4]
+ adds r0, 0x10
+ ldr r1, _08136C38 @ =gOtherText_GetsAPokeBlock
+ bl StringAppend
+ ldr r0, _08136C3C @ =gWindowConfig_81E709C
+ bl BasicInitMenuWindow
+ movs r0, 0
+ movs r1, 0x10
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ ldr r0, [r4]
+ adds r0, 0x10
+ movs r1, 0x1
+ movs r2, 0x11
+ bl MenuPrint
+ movs r0, 0x17
+ movs r1, 0xA
+ movs r2, 0x1
+ bl DisplayYesNoMenu
+ movs r0, 0
+ bl MoveMenuCursor
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136C28: .4byte gUnknown_083DFEC4
+_08136C2C: .4byte 0x000087dc
+_08136C30: .4byte gPlayerParty
+_08136C34: .4byte gUnknown_02039304
+_08136C38: .4byte gOtherText_GetsAPokeBlock
+_08136C3C: .4byte gWindowConfig_81E709C
+ thumb_func_end sub_8136BB8
+
+ thumb_func_start sub_8136C40
+sub_8136C40: @ 8136C40
+ push {r4,lr}
+ bl ProcessMenuInputNoWrap
+ lsls r0, 24
+ asrs r4, r0, 24
+ movs r1, 0x80
+ lsls r1, 17
+ adds r0, r1
+ lsrs r0, 24
+ cmp r0, 0x2
+ bhi _08136C60
+ bl MenuZeroFillScreen
+ ldr r0, _08136C68 @ =gWindowConfig_81E7080
+ bl BasicInitMenuWindow
+_08136C60:
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08136C68: .4byte gWindowConfig_81E7080
+ thumb_func_end sub_8136C40
+
+ thumb_func_start sub_8136C6C
+sub_8136C6C: @ 8136C6C
+ push {lr}
+ ldr r0, _08136C8C @ =gWindowConfig_81E709C
+ bl BasicInitMenuWindow
+ movs r0, 0
+ movs r1, 0x10
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ ldr r3, _08136C90 @ =gUnknown_02039304
+ ldr r0, [r3]
+ adds r0, 0x53
+ movs r1, 0
+ b _08136C9C
+ .align 2, 0
+_08136C8C: .4byte gWindowConfig_81E709C
+_08136C90: .4byte gUnknown_02039304
+_08136C94:
+ ldr r0, [r3]
+ adds r0, 0x53
+ ldrb r1, [r0]
+ adds r1, 0x1
+_08136C9C:
+ strb r1, [r0]
+ ldr r2, [r3]
+ adds r1, r2, 0
+ adds r1, 0x53
+ ldrb r0, [r1]
+ cmp r0, 0x4
+ bhi _08136CDC
+ adds r0, r2, 0
+ adds r0, 0x61
+ ldrb r1, [r1]
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08136C94
+ ldr r0, _08136CD8 @ =gUnknown_02039304
+ ldr r2, [r0]
+ adds r1, r2, 0
+ adds r1, 0x53
+ ldrb r0, [r1]
+ cmp r0, 0x4
+ bhi _08136CDC
+ adds r0, r2, 0
+ adds r0, 0x10
+ ldrb r1, [r1]
+ adds r2, 0x61
+ adds r2, r1
+ ldrb r2, [r2]
+ bl sub_8136DC0
+ b _08136CEE
+ .align 2, 0
+_08136CD8: .4byte gUnknown_02039304
+_08136CDC:
+ ldr r0, _08136CFC @ =gUnknown_02039304
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x10
+ adds r1, 0x53
+ ldrb r1, [r1]
+ movs r2, 0
+ bl sub_8136DC0
+_08136CEE:
+ ldr r0, _08136CFC @ =gUnknown_02039304
+ ldr r0, [r0]
+ adds r0, 0x10
+ bl sub_8136DA0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136CFC: .4byte gUnknown_02039304
+ thumb_func_end sub_8136C6C
+
+ thumb_func_start sub_8136D00
+sub_8136D00: @ 8136D00
+ push {r4,r5,lr}
+ ldr r4, _08136D30 @ =gUnknown_02039304
+ adds r3, r4, 0
+ movs r5, 0x5
+_08136D08:
+ ldr r0, [r3]
+ adds r0, 0x53
+ ldrb r1, [r0]
+ adds r1, 0x1
+ strb r1, [r0]
+ ldr r2, [r3]
+ adds r1, r2, 0
+ adds r1, 0x53
+ ldrb r0, [r1]
+ cmp r0, 0x4
+ bhi _08136D34
+ adds r0, r2, 0
+ adds r0, 0x61
+ ldrb r1, [r1]
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08136D3A
+ b _08136D08
+ .align 2, 0
+_08136D30: .4byte gUnknown_02039304
+_08136D34:
+ strb r5, [r1]
+ movs r0, 0
+ b _08136D5A
+_08136D3A:
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x10
+ adds r1, r2, 0
+ adds r1, 0x53
+ ldrb r1, [r1]
+ adds r2, 0x61
+ adds r2, r1
+ ldrb r2, [r2]
+ bl sub_8136DC0
+ ldr r0, [r4]
+ adds r0, 0x10
+ bl sub_8136DA0
+ movs r0, 0x1
+_08136D5A:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8136D00
+
+ thumb_func_start sub_8136D60
+sub_8136D60: @ 8136D60
+ push {lr}
+ ldr r0, _08136D84 @ =gWindowConfig_81E709C
+ bl BasicInitMenuWindow
+ movs r0, 0
+ movs r1, 0x10
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ ldr r0, _08136D88 @ =gOtherText_WontEat
+ movs r1, 0x1
+ movs r2, 0x11
+ bl MenuPrint
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136D84: .4byte gWindowConfig_81E709C
+_08136D88: .4byte gOtherText_WontEat
+ thumb_func_end sub_8136D60
+
+ thumb_func_start sub_8136D8C
+sub_8136D8C: @ 8136D8C
+ push {lr}
+ bl MenuZeroFillScreen
+ ldr r0, _08136D9C @ =gWindowConfig_81E7080
+ bl BasicInitMenuWindow
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136D9C: .4byte gWindowConfig_81E7080
+ thumb_func_end sub_8136D8C
+
+ thumb_func_start sub_8136DA0
+sub_8136DA0: @ 8136DA0
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ movs r1, 0x10
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0x11
+ bl MenuPrint
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8136DA0
+
+ thumb_func_start sub_8136DC0
+sub_8136DC0: @ 8136DC0
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r3, r1, 24
+ lsls r2, 16
+ lsrs r0, r2, 16
+ asrs r2, 16
+ cmp r2, 0
+ beq _08136DFC
+ cmp r2, 0
+ ble _08136DD8
+ movs r0, 0
+_08136DD8:
+ lsls r0, 16
+ ldr r1, _08136DF4 @ =gUnknown_08406134
+ lsls r0, r3, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl StringCopy
+ ldr r1, _08136DF8 @ =gOtherText_WasEnhanced
+ adds r0, r4, 0
+ bl StringAppend
+ b _08136E04
+ .align 2, 0
+_08136DF4: .4byte gUnknown_08406134
+_08136DF8: .4byte gOtherText_WasEnhanced
+_08136DFC:
+ ldr r1, _08136E0C @ =gOtherText_NothingChanged
+ adds r0, r4, 0
+ bl StringCopy
+_08136E04:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136E0C: .4byte gOtherText_NothingChanged
+ thumb_func_end sub_8136DC0
+
+ thumb_func_start sub_8136E10
+sub_8136E10: @ 8136E10
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ adds r5, r1, 0
+ movs r4, 0
+ ldr r7, _08136E3C @ =gUnknown_08406118
+_08136E1A:
+ lsls r0, r4, 2
+ adds r0, r7
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl GetMonData
+ adds r1, r5, r4
+ strb r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x4
+ bls _08136E1A
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136E3C: .4byte gUnknown_08406118
+ thumb_func_end sub_8136E10
+
+ thumb_func_start sub_8136E40
+sub_8136E40: @ 8136E40
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ mov r8, r0
+ adds r5, r1, 0
+ adds r0, r5, 0
+ movs r1, 0x30
+ bl GetMonData
+ cmp r0, 0xFF
+ beq _08136EDC
+ mov r0, r8
+ adds r1, r5, 0
+ bl sub_8136F74
+ movs r4, 0
+ mov r7, sp
+_08136E64:
+ ldr r1, _08136EE8 @ =gUnknown_08406118
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r6, [r0]
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl GetMonData
+ lsls r0, 24
+ lsrs r0, 24
+ strb r0, [r7]
+ ldr r1, _08136EEC @ =gUnknown_02039304
+ ldr r1, [r1]
+ lsls r2, r4, 1
+ adds r1, 0x66
+ adds r1, r2
+ ldrh r1, [r1]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r0, 0
+ bge _08136E92
+ movs r1, 0
+_08136E92:
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _08136E9C
+ movs r1, 0xFF
+_08136E9C:
+ strb r1, [r7]
+ adds r0, r5, 0
+ adds r1, r6, 0
+ mov r2, sp
+ bl SetMonData
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x4
+ bls _08136E64
+ adds r0, r5, 0
+ movs r1, 0x30
+ bl GetMonData
+ lsls r0, 24
+ lsrs r0, 24
+ mov r2, r8
+ ldrb r2, [r2, 0x6]
+ adds r1, r0, r2
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _08136ECE
+ movs r1, 0xFF
+_08136ECE:
+ mov r0, sp
+ strb r1, [r0]
+ adds r0, r5, 0
+ movs r1, 0x30
+ mov r2, sp
+ bl SetMonData
+_08136EDC:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136EE8: .4byte gUnknown_08406118
+_08136EEC: .4byte gUnknown_02039304
+ thumb_func_end sub_8136E40
+
+ thumb_func_start sub_8136EF0
+sub_8136EF0: @ 8136EF0
+ push {r4,r5,lr}
+ ldr r5, _08136F60 @ =gPlayerParty
+ ldr r0, _08136F64 @ =gUnknown_083DFEC4
+ ldr r1, [r0]
+ ldr r2, _08136F68 @ =0x000087dc
+ adds r0, r1, r2
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, _08136F6C @ =0x0000893e
+ adds r1, r0
+ ldrb r0, [r1]
+ lsls r0, 27
+ lsrs r0, 27
+ movs r1, 0x64
+ muls r0, r1
+ adds r5, r0, r5
+ ldr r4, _08136F70 @ =gUnknown_02039304
+ ldr r1, [r4]
+ adds r1, 0x57
+ adds r0, r5, 0
+ bl sub_8136E10
+ ldr r0, [r4]
+ ldr r0, [r0, 0x8]
+ adds r1, r5, 0
+ bl sub_8136E40
+ ldr r1, [r4]
+ adds r1, 0x5C
+ adds r0, r5, 0
+ bl sub_8136E10
+ movs r3, 0
+_08136F36:
+ ldr r0, [r4]
+ adds r2, r0, 0
+ adds r2, 0x61
+ adds r2, r3
+ adds r1, r0, 0
+ adds r1, 0x5C
+ adds r1, r3
+ adds r0, 0x57
+ adds r0, r3
+ ldrb r1, [r1]
+ ldrb r0, [r0]
+ subs r1, r0
+ strb r1, [r2]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x4
+ bls _08136F36
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08136F60: .4byte gPlayerParty
+_08136F64: .4byte gUnknown_083DFEC4
+_08136F68: .4byte 0x000087dc
+_08136F6C: .4byte 0x0000893e
+_08136F70: .4byte gUnknown_02039304
+ thumb_func_end sub_8136EF0
+
+ thumb_func_start sub_8136F74
+sub_8136F74: @ 8136F74
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ mov r10, r1
+ ldr r1, _08136FBC @ =gUnknown_02039304
+ ldr r3, [r1]
+ ldrb r1, [r0, 0x1]
+ adds r2, r3, 0
+ adds r2, 0x66
+ strh r1, [r2]
+ ldrb r2, [r0, 0x5]
+ adds r1, r3, 0
+ adds r1, 0x68
+ strh r2, [r1]
+ ldrb r1, [r0, 0x4]
+ adds r2, r3, 0
+ adds r2, 0x6A
+ strh r1, [r2]
+ ldrb r2, [r0, 0x3]
+ adds r1, r3, 0
+ adds r1, 0x6C
+ strh r2, [r1]
+ ldrb r1, [r0, 0x2]
+ adds r0, r3, 0
+ adds r0, 0x6E
+ strh r1, [r0]
+ ldr r0, _08136FC0 @ =gUnknown_02039312
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ ble _08136FC4
+ movs r0, 0x1
+ b _08136FCA
+ .align 2, 0
+_08136FBC: .4byte gUnknown_02039304
+_08136FC0: .4byte gUnknown_02039312
+_08136FC4:
+ cmp r0, 0
+ bge _08137040
+ movs r0, 0xFF
+_08136FCA:
+ movs r2, 0
+ lsls r0, 24
+ mov r9, r0
+ ldr r0, _08137050 @ =gUnknown_02039304
+ mov r8, r0
+_08136FD4:
+ mov r0, r8
+ ldr r1, [r0]
+ lsls r0, r2, 24
+ asrs r6, r0, 24
+ lsls r7, r6, 1
+ adds r1, 0x66
+ adds r1, r7
+ movs r2, 0
+ ldrsh r4, [r1, r2]
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __modsi3
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ ble _0813700C
+ lsls r0, r5, 24
+ movs r1, 0x80
+ lsls r1, 17
+ adds r0, r1
+ lsrs r5, r0, 24
+_0813700C:
+ ldr r0, _08137054 @ =gUnknown_0840612C
+ adds r0, r6, r0
+ ldrb r1, [r0]
+ mov r0, r10
+ bl sub_8040A54
+ lsls r0, 24
+ asrs r2, r0, 24
+ cmp r0, r9
+ bne _08137034
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0x66
+ adds r0, r7
+ lsls r1, r5, 24
+ asrs r1, 24
+ muls r1, r2
+ ldrh r2, [r0]
+ adds r1, r2
+ strh r1, [r0]
+_08137034:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ asrs r0, 24
+ cmp r0, 0x4
+ ble _08136FD4
+_08137040:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08137050: .4byte gUnknown_02039304
+_08137054: .4byte gUnknown_0840612C
+ thumb_func_end sub_8136F74
+
+ thumb_func_start sub_8137058
+sub_8137058: @ 8137058
+ push {lr}
+ ldr r0, _0813708C @ =gPlayerParty
+ ldr r1, _08137090 @ =gUnknown_083DFEC4
+ ldr r2, [r1]
+ ldr r3, _08137094 @ =0x000087dc
+ adds r1, r2, r3
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ lsls r1, 2
+ adds r2, r1
+ ldr r1, _08137098 @ =0x0000893e
+ adds r2, r1
+ ldrb r1, [r2]
+ lsls r1, 27
+ lsrs r1, 27
+ movs r2, 0x64
+ muls r1, r2
+ adds r0, r1, r0
+ movs r1, 0x30
+ bl GetMonData
+ cmp r0, 0xFF
+ beq _0813709C
+ movs r0, 0
+ b _0813709E
+ .align 2, 0
+_0813708C: .4byte gPlayerParty
+_08137090: .4byte gUnknown_083DFEC4
+_08137094: .4byte 0x000087dc
+_08137098: .4byte 0x0000893e
+_0813709C:
+ movs r0, 0x1
+_0813709E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8137058
+
+ thumb_func_start sub_81370A4
+sub_81370A4: @ 81370A4
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+_081370AC:
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, _081370C8 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2D
+ bl GetMonData
+ cmp r0, 0
+ bne _081370D2
+ cmp r5, 0
+ bne _081370CC
+ adds r0, r4, 0
+ b _081370DE
+ .align 2, 0
+_081370C8: .4byte gPlayerParty
+_081370CC:
+ subs r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_081370D2:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x5
+ bls _081370AC
+ movs r0, 0
+_081370DE:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81370A4
+
+ thumb_func_start sub_81370E4
+sub_81370E4: @ 81370E4
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ movs r6, 0
+ cmp r6, r5
+ bcs _08137114
+_081370F2:
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, _08137120 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2D
+ bl GetMonData
+ cmp r0, 0
+ beq _0813710A
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_0813710A:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _081370F2
+_08137114:
+ subs r0, r5, r6
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08137120: .4byte gPlayerParty
+ thumb_func_end sub_81370E4
+
+ thumb_func_start sub_8137124
+sub_8137124: @ 8137124
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_81370A4
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8137124
+
+ thumb_func_start sub_8137138
+sub_8137138: @ 8137138
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r0, _081371C0 @ =gSpriteSheet_ConditionUpDown
+ bl LoadSpriteSheet
+ ldr r0, _081371C4 @ =gSpritePalette_ConditionUpDown
+ bl LoadSpritePalette
+ ldr r2, _081371C8 @ =gUnknown_02039304
+ ldr r0, [r2]
+ adds r0, 0x54
+ movs r1, 0
+ strb r1, [r0]
+ movs r4, 0
+ adds r5, r2, 0
+ ldr r6, _081371CC @ =gUnknown_08406158
+ adds r0, r6, 0x2
+ mov r8, r0
+ ldr r7, _081371D0 @ =gSprites + 0x1C
+_08137160:
+ ldr r0, [r5]
+ adds r0, 0x61
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _081371AC
+ lsls r2, r4, 2
+ adds r0, r2, r6
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ add r2, r8
+ movs r0, 0
+ ldrsh r2, [r2, r0]
+ ldr r0, _081371D4 @ =gSpriteTemplate_840618C
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _081371AC
+ ldr r0, [r5]
+ adds r0, 0x61
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _081371A2
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r7
+ ldr r1, _081371D8 @ =sub_81371DC
+ str r1, [r0]
+_081371A2:
+ ldr r1, [r5]
+ adds r1, 0x54
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_081371AC:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x4
+ bls _08137160
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081371C0: .4byte gSpriteSheet_ConditionUpDown
+_081371C4: .4byte gSpritePalette_ConditionUpDown
+_081371C8: .4byte gUnknown_02039304
+_081371CC: .4byte gUnknown_08406158
+_081371D0: .4byte gSprites + 0x1C
+_081371D4: .4byte gSpriteTemplate_840618C
+_081371D8: .4byte sub_81371DC
+ thumb_func_end sub_8137138
+
+ thumb_func_start sub_81371DC
+sub_81371DC: @ 81371DC
+ push {lr}
+ adds r1, r0, 0
+ movs r2, 0x2E
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x5
+ bgt _081371EE
+ ldrh r0, [r1, 0x26]
+ subs r0, 0x2
+ b _081371F6
+_081371EE:
+ cmp r0, 0xB
+ bgt _081371F8
+ ldrh r0, [r1, 0x26]
+ adds r0, 0x2
+_081371F6:
+ strh r0, [r1, 0x26]
+_081371F8:
+ ldrh r0, [r1, 0x2E]
+ adds r0, 0x1
+ strh r0, [r1, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3C
+ ble _08137218
+ adds r0, r1, 0
+ bl DestroySprite
+ ldr r0, _0813721C @ =gUnknown_02039304
+ ldr r1, [r0]
+ adds r1, 0x54
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+_08137218:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813721C: .4byte gUnknown_02039304
+ thumb_func_end sub_81371DC
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/data/battle_anim_8137220.s b/data/battle_anim_8137220.s
new file mode 100644
index 000000000..a2f7c1d74
--- /dev/null
+++ b/data/battle_anim_8137220.s
@@ -0,0 +1,64 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_084061A4:: @ 84061A4
+ .4byte dp01t_00_5_getattr
+ .4byte sub_8138230
+ .4byte sub_813823C
+ .4byte sub_8138C90
+ .4byte sub_8138C9C
+ .4byte sub_8138CA8
+ .4byte sub_8138CB4
+ .4byte sub_8138D38
+ .4byte sub_8138E04
+ .4byte sub_8138ED0
+ .4byte sub_8138EDC
+ .4byte sub_8138EE8
+ .4byte sub_8138EF4
+ .4byte sub_8138F44
+ .4byte sub_8138FA0
+ .4byte sub_8138FAC
+ .4byte sub_8139208
+ .4byte dp01t_11_5_message_for_player_only
+ .4byte sub_8139298
+ .4byte sub_8139378
+ .4byte sub_8139384
+ .4byte sub_81393EC
+ .4byte sub_813942C
+ .4byte sub_8139438
+ .4byte sub_8139444
+ .4byte sub_8139544
+ .4byte sub_8139550
+ .4byte sub_813955C
+ .4byte sub_8139568
+ .4byte sub_8139574
+ .4byte sub_8139580
+ .4byte sub_813958C
+ .4byte sub_8139598
+ .4byte sub_81395A4
+ .4byte sub_81395B0
+ .4byte sub_81395BC
+ .4byte sub_81395C8
+ .4byte sub_81395D4
+ .4byte sub_81395E0
+ .4byte sub_81395EC
+ .4byte sub_81395F8
+ .4byte sub_8139604
+ .4byte sub_8139674
+ .4byte sub_8139680
+ .4byte sub_81396B0
+ .4byte sub_81396E0
+ .4byte dp01t_2E_5_battle_intro
+ .4byte sub_8139750
+ .4byte sub_8139AA0
+ .4byte sub_8139B20
+ .4byte sub_8139B2C
+ .4byte sub_8139B38
+ .4byte sub_8139B44
+ .4byte sub_8139BA0
+ .4byte sub_8139BAC
+ .4byte sub_8139BB8
+ .4byte nullsub_80
diff --git a/data/use_pokeblock.s b/data/use_pokeblock.s
new file mode 100644
index 000000000..914b3570b
--- /dev/null
+++ b/data/use_pokeblock.s
@@ -0,0 +1,63 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+ConditionUpDownPalette:
+ .incbin "graphics/misc/condition_up_down.gbapal"
+
+ .align 2
+ConditionUpDownTiles:
+ .incbin "graphics/misc/condition_up_down.4bpp"
+
+gUnknown_08406118:: @ 8406118
+ .incbin "baserom.gba", 0x00406118, 0x14
+
+ .align 2
+gUnknown_0840612C:: @ 840612C
+ obj_pal 0x02030400, 0x0001
+
+ .align 2
+gUnknown_08406134:: @ 8406134
+ .4byte OtherText_Coolness
+ .4byte OtherText_Toughness
+ .4byte OtherText_Smartness
+ .4byte OtherText_Cuteness
+ .4byte OtherText_Beauty
+
+ .align 2
+gSpriteSheet_ConditionUpDown:: @ 8406148
+ obj_tiles ConditionUpDownTiles, 0x200, 0
+
+ .align 2
+gSpritePalette_ConditionUpDown:: @ 8406150
+ obj_pal ConditionUpDownPalette, 0
+
+gUnknown_08406158:: @ 8406158
+ .incbin "baserom.gba", 0x00406158, 0x14
+
+ .align 2
+gOamData_840616C:: @ 840616C
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8406174:: @ 8406174
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840617C:: @ 840617C
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8406184:: @ 8406184
+ .4byte gSpriteAnim_8406174
+ .4byte gSpriteAnim_840617C
+
+ .align 2
+gSpriteTemplate_840618C:: @ 840618C
+ spr_template 0, 0, gOamData_840616C, gSpriteAnimTable_8406184, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
diff --git a/ld_script.txt b/ld_script.txt
index 27ac3d630..9d6fa9891 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -228,7 +228,8 @@ SECTIONS {
asm/rom_81258BC.o(.text);
asm/roamer.o(.text);
asm/battle_tower.o(.text);
- asm/rom_8136130.o(.text);
+ asm/use_pokeblock.o(.text);
+ asm/battle_anim_8137220.o(.text);
src/player_pc.o(.text);
asm/player_pc.o(.text);
src/intro.o(.text);
@@ -422,7 +423,8 @@ SECTIONS {
data/rom_81258BC.o(.rodata);
data/roamer.o(.rodata);
data/battle_tower.o(.rodata);
- data/rom_8136130.o(.rodata);
+ data/use_pokeblock.o(.rodata);
+ data/battle_anim_8137220.o(.rodata);
data/player_pc.o(.rodata);
src/intro.o(.rodata);
data/battle_anim_813F0F4.o(.rodata);