summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-10-24 23:27:41 -0700
committerYamaArashi <shadow962@live.com>2016-10-24 23:27:41 -0700
commit427131714c72177bf4480f23a1ee60db6cc5b9ef (patch)
tree8fb5837ab4baa409b5eeb5f5a8503f842d6239b5
parente1191bfe667671cdcc1f77839769eae686245ac4 (diff)
split several files out of rom_8094928.s
-rw-r--r--Makefile6
-rw-r--r--asm/battle_anim_80A7E7C.s2589
-rw-r--r--asm/contest.s15732
-rw-r--r--asm/item.s1308
-rw-r--r--asm/item_menu.s9869
-rw-r--r--asm/matuda_debug_menu.s2877
-rw-r--r--asm/rom_8094928.s35746
-rw-r--r--asm/shop.s3425
-rw-r--r--ld_script.txt6
9 files changed, 35812 insertions, 35746 deletions
diff --git a/Makefile b/Makefile
index fb0315de8..ffa74b4aa 100644
--- a/Makefile
+++ b/Makefile
@@ -80,6 +80,12 @@ asm/pokedex.o \
asm/trainer_card.o \
asm/save_menu_util.o \
asm/rom_8094928.o \
+asm/item_menu.o \
+asm/battle_anim_80A7E7C.o \
+asm/item.o \
+asm/matuda_debug_menu.o \
+asm/contest.o \
+asm/shop.o \
asm/berry.o \
asm/script_menu.o \
asm/naming_screen.o \
diff --git a/asm/battle_anim_80A7E7C.s b/asm/battle_anim_80A7E7C.s
new file mode 100644
index 000000000..b305c7a42
--- /dev/null
+++ b/asm/battle_anim_80A7E7C.s
@@ -0,0 +1,2589 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80A7E7C
+sub_80A7E7C: @ 80A7E7C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _080A7E9C @ =gUnknown_03004B00
+ ldrb r0, [r4]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ bne _080A7EA0
+ adds r0, r5, 0
+ bl move_anim_task_del
+ b _080A7EDC
+ .align 2, 0
+_080A7E9C: .4byte gUnknown_03004B00
+_080A7EA0:
+ ldr r1, _080A7EE4 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r4, 0x2]
+ strh r1, [r0, 0x24]
+ ldrh r1, [r4, 0x4]
+ strh r1, [r0, 0x26]
+ ldr r1, _080A7EE8 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ strh r2, [r0, 0x8]
+ ldrh r1, [r4, 0x6]
+ strh r1, [r0, 0xA]
+ ldrh r1, [r4, 0x8]
+ strh r1, [r0, 0xC]
+ ldrh r1, [r4, 0x8]
+ strh r1, [r0, 0xE]
+ ldrh r1, [r4, 0x2]
+ strh r1, [r0, 0x10]
+ ldrh r1, [r4, 0x4]
+ strh r1, [r0, 0x12]
+ ldr r1, _080A7EEC @ =sub_80A7EF0
+ str r1, [r0]
+ adds r0, r5, 0
+ bl _call_via_r1
+_080A7EDC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7EE4: .4byte gSprites
+_080A7EE8: .4byte gTasks
+_080A7EEC: .4byte sub_80A7EF0
+ thumb_func_end sub_80A7E7C
+
+ thumb_func_start sub_80A7EF0
+sub_80A7EF0: @ 80A7EF0
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080A7F2C @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r3, r0, r1
+ ldrh r0, [r3, 0xE]
+ movs r2, 0xE
+ ldrsh r5, [r3, r2]
+ adds r7, r1, 0
+ cmp r5, 0
+ bne _080A7F96
+ ldr r2, _080A7F30 @ =gSprites
+ movs r6, 0x8
+ ldrsh r1, [r3, r6]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r2
+ movs r6, 0x24
+ ldrsh r0, [r1, r6]
+ adds r6, r2, 0
+ cmp r0, 0
+ bne _080A7F34
+ ldrh r0, [r3, 0x10]
+ strh r0, [r1, 0x24]
+ b _080A7F36
+ .align 2, 0
+_080A7F2C: .4byte gTasks
+_080A7F30: .4byte gSprites
+_080A7F34:
+ strh r5, [r1, 0x24]
+_080A7F36:
+ lsls r2, r4, 2
+ adds r0, r2, r4
+ lsls r0, 3
+ adds r3, r0, r7
+ movs r0, 0x8
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r6
+ movs r5, 0x26
+ ldrsh r0, [r1, r5]
+ cmp r0, 0
+ bne _080A7F56
+ ldrh r0, [r3, 0x12]
+ b _080A7F58
+_080A7F56:
+ movs r0, 0
+_080A7F58:
+ strh r0, [r1, 0x26]
+ adds r0, r2, r4
+ lsls r0, 3
+ adds r2, r0, r7
+ ldrh r0, [r2, 0xC]
+ strh r0, [r2, 0xE]
+ ldrh r0, [r2, 0xA]
+ subs r0, 0x1
+ strh r0, [r2, 0xA]
+ lsls r0, 16
+ asrs r3, r0, 16
+ cmp r3, 0
+ bne _080A7F9A
+ movs r0, 0x8
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ strh r3, [r0, 0x24]
+ movs r5, 0x8
+ ldrsh r1, [r2, r5]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ strh r3, [r0, 0x26]
+ adds r0, r4, 0
+ bl move_anim_task_del
+ b _080A7F9A
+_080A7F96:
+ subs r0, 0x1
+ strh r0, [r3, 0xE]
+_080A7F9A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7EF0
+
+ thumb_func_start sub_80A7FA0
+sub_80A7FA0: @ 80A7FA0
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r6, 0
+ ldr r2, _080A7FC8 @ =gUnknown_03004B00
+ ldrh r0, [r2]
+ movs r3, 0
+ ldrsh r1, [r2, r3]
+ cmp r1, 0x3
+ bgt _080A7FCC
+ lsls r0, 24
+ lsrs r0, 24
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0xFF
+ bne _080A8022
+ b _080A8026
+ .align 2, 0
+_080A7FC8: .4byte gUnknown_03004B00
+_080A7FCC:
+ cmp r1, 0x8
+ beq _080A8018
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ cmp r0, 0x5
+ beq _080A7FEC
+ cmp r0, 0x5
+ bgt _080A7FE2
+ cmp r0, 0x4
+ beq _080A7FE8
+ b _080A7FF4
+_080A7FE2:
+ cmp r0, 0x6
+ beq _080A7FF0
+ b _080A7FF4
+_080A7FE8:
+ movs r0, 0
+ b _080A7FF6
+_080A7FEC:
+ movs r0, 0x2
+ b _080A7FF6
+_080A7FF0:
+ movs r0, 0x1
+ b _080A7FF6
+_080A7FF4:
+ movs r0, 0x3
+_080A7FF6:
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A800C
+ movs r6, 0x1
+_080A800C:
+ ldr r0, _080A8014 @ =gUnknown_02024BE0
+ adds r0, r4, r0
+ b _080A8020
+ .align 2, 0
+_080A8014: .4byte gUnknown_02024BE0
+_080A8018:
+ ldr r1, _080A8030 @ =gUnknown_02024BE0
+ ldr r0, _080A8034 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ adds r0, r1
+_080A8020:
+ ldrb r3, [r0]
+_080A8022:
+ cmp r6, 0
+ beq _080A8038
+_080A8026:
+ adds r0, r5, 0
+ bl move_anim_task_del
+ b _080A8076
+ .align 2, 0
+_080A8030: .4byte gUnknown_02024BE0
+_080A8034: .4byte gUnknown_0202F7C8
+_080A8038:
+ ldr r1, _080A807C @ =gSprites
+ lsls r0, r3, 4
+ adds r0, r3
+ lsls r0, 2
+ adds r0, r1
+ ldr r2, _080A8080 @ =gUnknown_03004B00
+ ldrh r1, [r2, 0x2]
+ strh r1, [r0, 0x24]
+ ldrh r1, [r2, 0x4]
+ strh r1, [r0, 0x26]
+ ldr r1, _080A8084 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ strh r3, [r0, 0x8]
+ ldrh r1, [r2, 0x6]
+ strh r1, [r0, 0xA]
+ ldrh r1, [r2, 0x8]
+ strh r1, [r0, 0xC]
+ ldrh r1, [r2, 0x8]
+ strh r1, [r0, 0xE]
+ ldrh r1, [r2, 0x2]
+ strh r1, [r0, 0x10]
+ ldrh r1, [r2, 0x4]
+ strh r1, [r0, 0x12]
+ ldr r1, _080A8088 @ =sub_80A808C
+ str r1, [r0]
+ adds r0, r5, 0
+ bl _call_via_r1
+_080A8076:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A807C: .4byte gSprites
+_080A8080: .4byte gUnknown_03004B00
+_080A8084: .4byte gTasks
+_080A8088: .4byte sub_80A808C
+ thumb_func_end sub_80A7FA0
+
+ thumb_func_start sub_80A808C
+sub_80A808C: @ 80A808C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _080A80D0 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r3, r0, r1
+ ldrh r2, [r3, 0xE]
+ movs r4, 0xE
+ ldrsh r0, [r3, r4]
+ mov r12, r1
+ cmp r0, 0
+ bne _080A8144
+ ldr r2, _080A80D4 @ =gSprites
+ movs r7, 0x8
+ ldrsh r1, [r3, r7]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, r0, r2
+ movs r0, 0x24
+ ldrsh r1, [r4, r0]
+ ldrh r5, [r3, 0x10]
+ movs r7, 0x10
+ ldrsh r0, [r3, r7]
+ adds r7, r2, 0
+ cmp r1, r0
+ bne _080A80D8
+ negs r0, r5
+ strh r0, [r4, 0x24]
+ b _080A80DA
+ .align 2, 0
+_080A80D0: .4byte gTasks
+_080A80D4: .4byte gSprites
+_080A80D8:
+ strh r5, [r4, 0x24]
+_080A80DA:
+ lsls r3, r6, 2
+ adds r1, r3, r6
+ lsls r1, 3
+ add r1, r12
+ movs r0, 0x8
+ ldrsh r2, [r1, r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r4, r0, r7
+ movs r0, 0x26
+ ldrsh r2, [r4, r0]
+ mov r8, r2
+ ldrh r5, [r1, 0x12]
+ movs r2, 0x12
+ ldrsh r0, [r1, r2]
+ cmp r8, r0
+ bne _080A8104
+ negs r0, r5
+ strh r0, [r4, 0x26]
+ b _080A8106
+_080A8104:
+ strh r5, [r4, 0x26]
+_080A8106:
+ adds r0, r3, r6
+ lsls r0, 3
+ mov r4, r12
+ adds r3, r0, r4
+ ldrh r0, [r3, 0xC]
+ strh r0, [r3, 0xE]
+ ldrh r0, [r3, 0xA]
+ subs r0, 0x1
+ strh r0, [r3, 0xA]
+ lsls r0, 16
+ asrs r2, r0, 16
+ cmp r2, 0
+ bne _080A8148
+ movs r0, 0x8
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r7
+ strh r2, [r0, 0x24]
+ movs r4, 0x8
+ ldrsh r1, [r3, r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r7
+ strh r2, [r0, 0x26]
+ adds r0, r6, 0
+ bl move_anim_task_del
+ b _080A8148
+_080A8144:
+ subs r0, r2, 0x1
+ strh r0, [r3, 0xE]
+_080A8148:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A808C
+
+ thumb_func_start sub_80A8154
+sub_80A8154: @ 80A8154
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _080A8174 @ =gUnknown_03004B00
+ ldrb r0, [r4]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0xFF
+ bne _080A8178
+ adds r0, r5, 0
+ bl move_anim_task_del
+ b _080A81C6
+ .align 2, 0
+_080A8174: .4byte gUnknown_03004B00
+_080A8178:
+ ldr r0, _080A81CC @ =gSprites
+ lsls r1, r3, 4
+ adds r1, r3
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r4, 0x2]
+ ldrh r2, [r1, 0x24]
+ adds r0, r2
+ movs r2, 0
+ strh r0, [r1, 0x24]
+ ldrh r0, [r4, 0x4]
+ ldrh r6, [r1, 0x26]
+ adds r0, r6
+ strh r0, [r1, 0x26]
+ ldr r0, _080A81D0 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ strh r3, [r1, 0x8]
+ strh r2, [r1, 0xA]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r1, 0xC]
+ strh r2, [r1, 0xE]
+ ldrh r0, [r4, 0x8]
+ strh r0, [r1, 0x10]
+ movs r2, 0x2
+ ldrsh r0, [r4, r2]
+ lsls r0, 1
+ strh r0, [r1, 0x12]
+ movs r6, 0x4
+ ldrsh r0, [r4, r6]
+ lsls r0, 1
+ strh r0, [r1, 0x14]
+ ldr r2, _080A81D4 @ =sub_80A81D8
+ str r2, [r1]
+ adds r0, r5, 0
+ bl _call_via_r2
+_080A81C6:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A81CC: .4byte gSprites
+_080A81D0: .4byte gTasks
+_080A81D4: .4byte sub_80A81D8
+ thumb_func_end sub_80A8154
+
+ thumb_func_start sub_80A81D8
+sub_80A81D8: @ 80A81D8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080A8230 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r2, [r4, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r4, r3]
+ adds r6, r1, 0
+ cmp r0, 0
+ beq _080A81F6
+ b _080A8308
+_080A81F6:
+ ldrh r1, [r4, 0xA]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080A8238
+ ldr r2, _080A8234 @ =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r4, 0x12]
+ ldrh r3, [r0, 0x24]
+ adds r1, r3
+ strh r1, [r0, 0x24]
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r4, 0x14]
+ ldrh r3, [r0, 0x26]
+ adds r1, r3
+ strh r1, [r0, 0x26]
+ adds r3, r2, 0
+ b _080A8262
+ .align 2, 0
+_080A8230: .4byte gTasks
+_080A8234: .4byte gSprites
+_080A8238:
+ ldr r3, _080A82C4 @ =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrh r1, [r0, 0x24]
+ ldrh r2, [r4, 0x12]
+ subs r1, r2
+ strh r1, [r0, 0x24]
+ movs r2, 0x8
+ ldrsh r1, [r4, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrh r1, [r0, 0x26]
+ ldrh r2, [r4, 0x14]
+ subs r1, r2
+ strh r1, [r0, 0x26]
+_080A8262:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r6
+ ldrh r0, [r4, 0x10]
+ strh r0, [r4, 0xE]
+ ldrh r0, [r4, 0xA]
+ adds r2, r0, 0x1
+ strh r2, [r4, 0xA]
+ lsls r0, r2, 16
+ asrs r0, 16
+ movs r6, 0xC
+ ldrsh r1, [r4, r6]
+ cmp r0, r1
+ blt _080A830C
+ movs r0, 0x1
+ ands r2, r0
+ cmp r2, 0
+ beq _080A82C8
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r3
+ movs r2, 0x12
+ ldrsh r0, [r4, r2]
+ lsrs r2, r0, 31
+ adds r0, r2
+ asrs r0, 1
+ ldrh r6, [r1, 0x24]
+ adds r0, r6
+ strh r0, [r1, 0x24]
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r3
+ movs r2, 0x14
+ ldrsh r0, [r4, r2]
+ lsrs r2, r0, 31
+ adds r0, r2
+ asrs r0, 1
+ ldrh r3, [r1, 0x26]
+ adds r0, r3
+ strh r0, [r1, 0x26]
+ b _080A8300
+ .align 2, 0
+_080A82C4: .4byte gSprites
+_080A82C8:
+ movs r6, 0x8
+ ldrsh r0, [r4, r6]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r3
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ ldrh r0, [r2, 0x24]
+ subs r0, r1
+ strh r0, [r2, 0x24]
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r3
+ movs r3, 0x14
+ ldrsh r1, [r4, r3]
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ ldrh r0, [r2, 0x26]
+ subs r0, r1
+ strh r0, [r2, 0x26]
+_080A8300:
+ adds r0, r5, 0
+ bl move_anim_task_del
+ b _080A830C
+_080A8308:
+ subs r0, r2, 0x1
+ strh r0, [r4, 0xE]
+_080A830C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A81D8
+
+ thumb_func_start sub_80A8314
+sub_80A8314: @ 80A8314
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _080A8364 @ =gUnknown_03004B00
+ ldrb r0, [r5]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A8368 @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrh r2, [r5, 0x2]
+ strh r2, [r1, 0x24]
+ ldr r2, _080A836C @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r2
+ strh r0, [r1, 0x8]
+ ldrh r0, [r5, 0x2]
+ strh r0, [r1, 0xA]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r1, 0xC]
+ ldrh r0, [r5, 0x6]
+ strh r0, [r1, 0xE]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r1, 0x10]
+ ldr r2, _080A8370 @ =sub_80A8374
+ str r2, [r1]
+ adds r0, r4, 0
+ bl _call_via_r2
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8364: .4byte gUnknown_03004B00
+_080A8368: .4byte gSprites
+_080A836C: .4byte gTasks
+_080A8370: .4byte sub_80A8374
+ thumb_func_end sub_80A8314
+
+ thumb_func_start sub_80A8374
+sub_80A8374: @ 80A8374
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r2, _080A8400 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r3, r0, r2
+ ldrb r5, [r3, 0x8]
+ ldrh r4, [r3, 0xA]
+ ldrh r1, [r3, 0x18]
+ adds r0, r1, 0x1
+ strh r0, [r3, 0x18]
+ movs r7, 0xC
+ ldrsh r0, [r3, r7]
+ lsls r1, 16
+ asrs r1, 16
+ mov r12, r2
+ ldr r7, _080A8404 @ =gSprites
+ cmp r0, r1
+ bne _080A83C6
+ movs r0, 0
+ strh r0, [r3, 0x18]
+ lsls r0, r5, 4
+ adds r0, r5
+ lsls r0, 2
+ adds r1, r0, r7
+ ldrh r3, [r1, 0x24]
+ movs r0, 0x24
+ ldrsh r2, [r1, r0]
+ lsls r0, r4, 16
+ asrs r0, 16
+ cmp r2, r0
+ bne _080A83BE
+ negs r0, r2
+ lsls r0, 16
+ lsrs r4, r0, 16
+_080A83BE:
+ lsls r0, r4, 16
+ asrs r0, 16
+ adds r0, r3
+ strh r0, [r1, 0x24]
+_080A83C6:
+ lsls r2, r6, 2
+ adds r2, r6
+ lsls r2, 3
+ add r2, r12
+ strh r4, [r2, 0xA]
+ ldrh r1, [r2, 0xE]
+ ldrh r0, [r2, 0x1A]
+ adds r1, r0
+ strh r1, [r2, 0x1A]
+ lsls r0, r5, 4
+ adds r0, r5
+ lsls r0, 2
+ adds r0, r7
+ lsls r1, 16
+ asrs r1, 24
+ strh r1, [r0, 0x26]
+ ldrh r0, [r2, 0x10]
+ subs r0, 0x1
+ strh r0, [r2, 0x10]
+ lsls r0, 16
+ cmp r0, 0
+ bne _080A83F8
+ adds r0, r6, 0
+ bl move_anim_task_del
+_080A83F8:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8400: .4byte gTasks
+_080A8404: .4byte gSprites
+ thumb_func_end sub_80A8374
+
+ thumb_func_start sub_80A8408
+sub_80A8408: @ 80A8408
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r6, 0x1
+ ldr r4, _080A847C @ =gUnknown_03004B00
+ ldrb r0, [r4]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x5
+ ble _080A842C
+ movs r0, 0x5
+ strh r0, [r4, 0x8]
+_080A842C:
+ movs r1, 0
+ movs r2, 0x8
+ ldrsh r0, [r4, r2]
+ adds r3, r4, 0
+ ldr r2, _080A8480 @ =gTasks
+ mov r12, r2
+ lsls r4, r5, 2
+ ldr r2, _080A8484 @ =sub_80A8488
+ mov r8, r2
+ cmp r1, r0
+ bge _080A8452
+ adds r2, r0, 0
+_080A8444:
+ lsls r0, r6, 25
+ lsrs r6, r0, 24
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, r2
+ blt _080A8444
+_080A8452:
+ adds r0, r4, r5
+ lsls r0, 3
+ add r0, r12
+ strh r7, [r0, 0x8]
+ ldrh r1, [r3, 0x2]
+ strh r1, [r0, 0xA]
+ ldrh r1, [r3, 0x4]
+ strh r1, [r0, 0xC]
+ ldrh r1, [r3, 0x6]
+ strh r1, [r0, 0xE]
+ strh r6, [r0, 0x10]
+ mov r1, r8
+ str r1, [r0]
+ adds r0, r5, 0
+ bl _call_via_r8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A847C: .4byte gUnknown_03004B00
+_080A8480: .4byte gTasks
+_080A8484: .4byte sub_80A8488
+ thumb_func_end sub_80A8408
+
+ thumb_func_start sub_80A8488
+sub_80A8488: @ 80A8488
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0, 0
+ ldr r1, _080A84F8 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r5, r0, r1
+ ldrb r4, [r5, 0x8]
+ movs r1, 0x12
+ ldrsh r0, [r5, r1]
+ movs r2, 0xA
+ ldrsh r1, [r5, r2]
+ bl Sin
+ ldr r2, _080A84FC @ =gSprites
+ lsls r1, r4, 4
+ adds r1, r4
+ lsls r1, 2
+ adds r4, r1, r2
+ strh r0, [r4, 0x24]
+ movs r1, 0x12
+ ldrsh r0, [r5, r1]
+ movs r2, 0xC
+ ldrsh r1, [r5, r2]
+ bl Cos
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldrh r1, [r5, 0xC]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r0, [r5, 0x10]
+ ldrh r1, [r5, 0x12]
+ adds r0, r1
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r5, 0x12]
+ cmp r0, 0
+ bne _080A84E0
+ ldrh r0, [r5, 0xE]
+ subs r0, 0x1
+ strh r0, [r5, 0xE]
+_080A84E0:
+ movs r2, 0xE
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ bne _080A84F2
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ adds r0, r6, 0
+ bl move_anim_task_del
+_080A84F2:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A84F8: .4byte gTasks
+_080A84FC: .4byte gSprites
+ thumb_func_end sub_80A8488
+
+ thumb_func_start sub_80A8500
+sub_80A8500: @ 80A8500
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A8528 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A851C
+ ldr r1, _080A852C @ =gUnknown_03004B00
+ ldrh r0, [r1, 0x2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+_080A851C:
+ adds r0, r4, 0
+ bl sub_80A8408
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8528: .4byte gUnknown_0202F7C8
+_080A852C: .4byte gUnknown_03004B00
+ thumb_func_end sub_80A8500
+
+ thumb_func_start sub_80A8530
+sub_80A8530: @ 80A8530
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _080A8558 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A8560
+ ldr r1, _080A855C @ =gUnknown_03004B00
+ ldrh r0, [r1, 0x2]
+ negs r0, r0
+ b _080A8564
+ .align 2, 0
+_080A8558: .4byte gUnknown_0202F7C8
+_080A855C: .4byte gUnknown_03004B00
+_080A8560:
+ ldr r1, _080A8590 @ =gUnknown_03004B00
+ ldrh r0, [r1, 0x2]
+_080A8564:
+ strh r0, [r4, 0x30]
+ ldrh r2, [r1]
+ movs r0, 0
+ strh r2, [r4, 0x2E]
+ strh r0, [r4, 0x32]
+ ldr r1, _080A8594 @ =gUnknown_02024BE0
+ ldr r0, _080A8598 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r4, 0x34]
+ strh r2, [r4, 0x36]
+ ldr r1, _080A859C @ =sub_80A85A4
+ adds r0, r4, 0
+ bl oamt_set_x3A_32
+ ldr r0, _080A85A0 @ =sub_8078458
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8590: .4byte gUnknown_03004B00
+_080A8594: .4byte gUnknown_02024BE0
+_080A8598: .4byte gUnknown_0202F7C8
+_080A859C: .4byte sub_80A85A4
+_080A85A0: .4byte sub_8078458
+ thumb_func_end sub_80A8530
+
+ thumb_func_start sub_80A85A4
+sub_80A85A4: @ 80A85A4
+ push {lr}
+ ldrh r1, [r0, 0x36]
+ strh r1, [r0, 0x2E]
+ ldrh r1, [r0, 0x30]
+ negs r1, r1
+ strh r1, [r0, 0x30]
+ ldr r1, _080A85C0 @ =sub_8078458
+ str r1, [r0, 0x1C]
+ ldr r1, _080A85C4 @ =move_anim_8072740
+ bl oamt_set_x3A_32
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A85C0: .4byte sub_8078458
+_080A85C4: .4byte move_anim_8072740
+ thumb_func_end sub_80A85A4
+
+ thumb_func_start sub_80A85C8
+sub_80A85C8: @ 80A85C8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r5, _080A8608 @ =gUnknown_03004B00
+ ldrb r0, [r5, 0x4]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r2, [r5]
+ movs r1, 0
+ strh r2, [r4, 0x2E]
+ strh r1, [r4, 0x30]
+ ldrh r1, [r5, 0x2]
+ strh r1, [r4, 0x32]
+ strh r0, [r4, 0x34]
+ strh r2, [r4, 0x36]
+ ldr r1, _080A860C @ =sub_80A8614
+ adds r0, r4, 0
+ bl oamt_set_x3A_32
+ ldr r0, _080A8610 @ =sub_8078458
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8608: .4byte gUnknown_03004B00
+_080A860C: .4byte sub_80A8614
+_080A8610: .4byte sub_8078458
+ thumb_func_end sub_80A85C8
+
+ thumb_func_start sub_80A8614
+sub_80A8614: @ 80A8614
+ push {lr}
+ ldrh r1, [r0, 0x36]
+ strh r1, [r0, 0x2E]
+ ldrh r1, [r0, 0x32]
+ negs r1, r1
+ strh r1, [r0, 0x32]
+ ldr r1, _080A8630 @ =sub_8078458
+ str r1, [r0, 0x1C]
+ ldr r1, _080A8634 @ =move_anim_8072740
+ bl oamt_set_x3A_32
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8630: .4byte sub_8078458
+_080A8634: .4byte move_anim_8072740
+ thumb_func_end sub_80A8614
+
+ thumb_func_start sub_80A8638
+sub_80A8638: @ 80A8638
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ ldr r0, _080A8650 @ =gUnknown_03004B00
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _080A865C
+ ldr r1, _080A8654 @ =gUnknown_02024BE0
+ ldr r0, _080A8658 @ =gUnknown_0202F7C8
+ b _080A8660
+ .align 2, 0
+_080A8650: .4byte gUnknown_03004B00
+_080A8654: .4byte gUnknown_02024BE0
+_080A8658: .4byte gUnknown_0202F7C8
+_080A865C:
+ ldr r1, _080A86C0 @ =gUnknown_02024BE0
+ ldr r0, _080A86C4 @ =gUnknown_0202F7C9
+_080A8660:
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r7, [r0]
+ ldr r5, _080A86C8 @ =gUnknown_03004B00
+ ldrh r0, [r5, 0x4]
+ movs r3, 0
+ strh r0, [r6, 0x2E]
+ ldr r0, _080A86CC @ =gSprites
+ lsls r4, r7, 4
+ adds r4, r7
+ lsls r4, 2
+ adds r4, r0
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r6, 0x30]
+ ldrh r0, [r4, 0x20]
+ strh r0, [r6, 0x32]
+ ldrh r0, [r4, 0x26]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r6, 0x34]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r6, 0x36]
+ adds r0, r6, 0
+ str r3, [sp]
+ bl sub_8078A5C
+ ldr r3, [sp]
+ strh r3, [r6, 0x34]
+ strh r3, [r6, 0x36]
+ ldrh r0, [r4, 0x24]
+ strh r0, [r6, 0x38]
+ ldrh r0, [r4, 0x26]
+ strh r0, [r6, 0x3A]
+ adds r2, r6, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ movs r1, 0x2
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _080A86D0
+ strh r3, [r6, 0x32]
+ b _080A86D6
+ .align 2, 0
+_080A86C0: .4byte gUnknown_02024BE0
+_080A86C4: .4byte gUnknown_0202F7C9
+_080A86C8: .4byte gUnknown_03004B00
+_080A86CC: .4byte gSprites
+_080A86D0:
+ cmp r0, 0x2
+ bne _080A86D6
+ strh r3, [r6, 0x30]
+_080A86D6:
+ ldr r0, _080A86EC @ =gUnknown_03004B00
+ ldrh r1, [r0, 0x2]
+ lsls r0, r7, 8
+ orrs r0, r1
+ strh r0, [r6, 0x3C]
+ ldr r0, _080A86F0 @ =sub_80A86F4
+ str r0, [r6, 0x1C]
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A86EC: .4byte gUnknown_03004B00
+_080A86F0: .4byte sub_80A86F4
+ thumb_func_end sub_80A8638
+
+ thumb_func_start sub_80A86F4
+sub_80A86F4: @ 80A86F4
+ push {r4-r6,lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x3C]
+ lsls r1, r0, 24
+ lsrs r4, r1, 24
+ adds r5, r4, 0
+ lsls r0, 16
+ asrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, _080A8730 @ =gSprites
+ adds r3, r1, r0
+ ldrh r0, [r2, 0x2E]
+ movs r6, 0x2E
+ ldrsh r1, [r2, r6]
+ cmp r1, 0
+ bne _080A8734
+ cmp r4, 0x1
+ bhi _080A871E
+ strh r1, [r3, 0x24]
+_080A871E:
+ cmp r5, 0x2
+ beq _080A8726
+ cmp r5, 0
+ bne _080A8728
+_080A8726:
+ strh r1, [r3, 0x26]
+_080A8728:
+ adds r0, r2, 0
+ bl move_anim_8072740
+ b _080A875E
+ .align 2, 0
+_080A8730: .4byte gSprites
+_080A8734:
+ subs r0, 0x1
+ strh r0, [r2, 0x2E]
+ ldrh r1, [r2, 0x30]
+ ldrh r0, [r2, 0x34]
+ adds r1, r0
+ strh r1, [r2, 0x34]
+ ldrh r0, [r2, 0x32]
+ ldrh r4, [r2, 0x36]
+ adds r0, r4
+ strh r0, [r2, 0x36]
+ lsls r1, 16
+ asrs r1, 24
+ ldrh r6, [r2, 0x38]
+ adds r1, r6
+ strh r1, [r3, 0x24]
+ ldrh r0, [r2, 0x36]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r2, [r2, 0x3A]
+ adds r0, r2
+ strh r0, [r3, 0x26]
+_080A875E:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A86F4
+
+ thumb_func_start sub_80A8764
+sub_80A8764: @ 80A8764
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r0, _080A8778 @ =gUnknown_03004B00
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _080A8780
+ ldr r0, _080A877C @ =gUnknown_0202F7C8
+ b _080A8782
+ .align 2, 0
+_080A8778: .4byte gUnknown_03004B00
+_080A877C: .4byte gUnknown_0202F7C8
+_080A8780:
+ ldr r0, _080A8800 @ =gUnknown_0202F7C9
+_080A8782:
+ ldrb r2, [r0]
+ ldr r0, _080A8804 @ =gUnknown_02024BE0
+ adds r0, r2, r0
+ ldrb r6, [r0]
+ adds r0, r2, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A87AC
+ ldr r1, _080A8808 @ =gUnknown_03004B00
+ ldrh r0, [r1, 0x2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+ movs r2, 0x6
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ bne _080A87AC
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+_080A87AC:
+ ldr r2, _080A8808 @ =gUnknown_03004B00
+ ldrh r0, [r2, 0x8]
+ movs r4, 0
+ strh r0, [r5, 0x2E]
+ ldr r0, _080A880C @ =gSprites
+ lsls r1, r6, 4
+ adds r1, r6
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1, 0x20]
+ strh r0, [r5, 0x30]
+ ldrh r0, [r2, 0x2]
+ ldrh r3, [r1, 0x20]
+ adds r0, r3
+ strh r0, [r5, 0x32]
+ ldrh r0, [r1, 0x22]
+ strh r0, [r5, 0x34]
+ ldrh r0, [r2, 0x4]
+ ldrh r1, [r1, 0x22]
+ adds r0, r1
+ strh r0, [r5, 0x36]
+ adds r0, r5, 0
+ bl sub_8078A5C
+ strh r4, [r5, 0x34]
+ strh r4, [r5, 0x36]
+ strh r6, [r5, 0x38]
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r1, _080A8810 @ =move_anim_8072740
+ adds r0, r5, 0
+ bl oamt_set_x3A_32
+ ldr r0, _080A8814 @ =sub_80784A8
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8800: .4byte gUnknown_0202F7C9
+_080A8804: .4byte gUnknown_02024BE0
+_080A8808: .4byte gUnknown_03004B00
+_080A880C: .4byte gSprites
+_080A8810: .4byte move_anim_8072740
+_080A8814: .4byte sub_80784A8
+ thumb_func_end sub_80A8764
+
+ thumb_func_start sub_80A8818
+sub_80A8818: @ 80A8818
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ adds r2, r6, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _080A8838 @ =gUnknown_03004B00
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _080A8840
+ ldr r0, _080A883C @ =gUnknown_0202F7C8
+ b _080A8842
+ .align 2, 0
+_080A8838: .4byte gUnknown_03004B00
+_080A883C: .4byte gUnknown_0202F7C8
+_080A8840:
+ ldr r0, _080A88C0 @ =gUnknown_0202F7C9
+_080A8842:
+ ldrb r1, [r0]
+ ldr r0, _080A88C4 @ =gUnknown_02024BE0
+ adds r0, r1, r0
+ ldrb r7, [r0]
+ adds r0, r1, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A886C
+ ldr r1, _080A88C8 @ =gUnknown_03004B00
+ ldrh r0, [r1, 0x2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+ movs r2, 0x6
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ bne _080A886C
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+_080A886C:
+ ldr r5, _080A88C8 @ =gUnknown_03004B00
+ ldrh r0, [r5, 0x8]
+ strh r0, [r6, 0x2E]
+ ldr r0, _080A88CC @ =gSprites
+ lsls r4, r7, 4
+ adds r4, r7
+ lsls r4, 2
+ adds r4, r0
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r6, 0x30]
+ ldrh r1, [r5, 0x2]
+ adds r0, r1
+ strh r0, [r6, 0x32]
+ ldrh r0, [r4, 0x26]
+ ldrh r2, [r4, 0x22]
+ adds r0, r2
+ strh r0, [r6, 0x34]
+ ldrh r1, [r5, 0x4]
+ adds r0, r1
+ strh r0, [r6, 0x36]
+ adds r0, r6, 0
+ bl sub_8078A5C
+ ldrh r0, [r4, 0x24]
+ lsls r0, 8
+ strh r0, [r6, 0x34]
+ ldrh r0, [r4, 0x26]
+ lsls r0, 8
+ strh r0, [r6, 0x36]
+ strh r7, [r6, 0x38]
+ ldrh r0, [r5, 0xA]
+ strh r0, [r6, 0x3A]
+ lsls r0, 16
+ cmp r0, 0
+ bne _080A88D4
+ ldr r1, _080A88D0 @ =move_anim_8072740
+ adds r0, r6, 0
+ bl oamt_set_x3A_32
+ b _080A88DC
+ .align 2, 0
+_080A88C0: .4byte gUnknown_0202F7C9
+_080A88C4: .4byte gUnknown_02024BE0
+_080A88C8: .4byte gUnknown_03004B00
+_080A88CC: .4byte gSprites
+_080A88D0: .4byte move_anim_8072740
+_080A88D4:
+ ldr r1, _080A88E8 @ =sub_80A88F0
+ adds r0, r6, 0
+ bl oamt_set_x3A_32
+_080A88DC:
+ ldr r0, _080A88EC @ =sub_80784A8
+ str r0, [r6, 0x1C]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A88E8: .4byte sub_80A88F0
+_080A88EC: .4byte sub_80784A8
+ thumb_func_end sub_80A8818
+
+ thumb_func_start sub_80A88F0
+sub_80A88F0: @ 80A88F0
+ push {r4,lr}
+ ldr r4, _080A891C @ =gSprites
+ movs r1, 0x38
+ ldrsh r2, [r0, r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r4
+ movs r3, 0
+ strh r3, [r1, 0x24]
+ movs r1, 0x38
+ ldrsh r2, [r0, r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r4
+ strh r3, [r1, 0x26]
+ bl move_anim_8072740
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A891C: .4byte gSprites
+ thumb_func_end sub_80A88F0
+
+ thumb_func_start sub_80A8920
+sub_80A8920: @ 80A8920
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r5, _080A89A4 @ =gUnknown_03004B00
+ movs r0, 0x6
+ ldrsh r1, [r5, r0]
+ movs r0, 0x80
+ lsls r0, 8
+ bl __divsi3
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r0, _080A89A8 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A8952
+ ldrh r0, [r5, 0x2]
+ negs r0, r0
+ strh r0, [r5, 0x2]
+ ldrh r0, [r5, 0xA]
+ negs r0, r0
+ strh r0, [r5, 0xA]
+_080A8952:
+ ldrb r0, [r5]
+ bl obj_id_for_side_relative_to_move
+ ldr r1, _080A89AC @ =gTasks
+ lsls r4, r6, 2
+ adds r4, r6
+ lsls r4, 3
+ adds r4, r1
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x8]
+ movs r1, 0x2
+ ldrsh r0, [r5, r1]
+ lsls r0, 8
+ movs r2, 0x6
+ ldrsh r1, [r5, r2]
+ bl __divsi3
+ strh r0, [r4, 0xA]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0xC]
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0xE]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r4, 0x10]
+ movs r1, 0xA
+ ldrsh r0, [r5, r1]
+ lsls r0, 8
+ movs r2, 0xC
+ ldrsh r1, [r5, r2]
+ bl __divsi3
+ strh r0, [r4, 0x12]
+ ldrh r0, [r5, 0xC]
+ strh r0, [r4, 0x14]
+ strh r7, [r4, 0x16]
+ ldr r0, _080A89B0 @ =sub_80A89B4
+ str r0, [r4]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A89A4: .4byte gUnknown_03004B00
+_080A89A8: .4byte gUnknown_0202F7C8
+_080A89AC: .4byte gTasks
+_080A89B0: .4byte sub_80A89B4
+ thumb_func_end sub_80A8920
+
+ thumb_func_start sub_80A89B4
+sub_80A89B4: @ 80A89B4
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A8A0C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r5, r1, r2
+ ldrb r1, [r5, 0x8]
+ ldrh r0, [r5, 0xA]
+ ldrh r2, [r5, 0x1E]
+ adds r0, r2
+ strh r0, [r5, 0x1E]
+ ldr r2, _080A8A10 @ =gSprites
+ lsls r4, r1, 4
+ adds r4, r1
+ lsls r4, 2
+ adds r4, r2
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ ldrh r0, [r5, 0x1C]
+ lsrs r0, 8
+ movs r2, 0xC
+ ldrsh r1, [r5, r2]
+ bl Sin
+ strh r0, [r4, 0x26]
+ ldrh r0, [r5, 0x16]
+ ldrh r1, [r5, 0x1C]
+ adds r0, r1
+ strh r0, [r5, 0x1C]
+ ldrh r0, [r5, 0xE]
+ subs r0, 0x1
+ strh r0, [r5, 0xE]
+ lsls r0, 16
+ cmp r0, 0
+ bne _080A8A04
+ ldr r0, _080A8A14 @ =sub_80A8A18
+ str r0, [r5]
+_080A8A04:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8A0C: .4byte gTasks
+_080A8A10: .4byte gSprites
+_080A8A14: .4byte sub_80A8A18
+ thumb_func_end sub_80A89B4
+
+ thumb_func_start sub_80A8A18
+sub_80A8A18: @ 80A8A18
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ ldr r1, _080A8A3C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r1, [r4, 0x10]
+ movs r2, 0x10
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _080A8A40
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x10]
+ b _080A8A74
+ .align 2, 0
+_080A8A3C: .4byte gTasks
+_080A8A40:
+ ldrb r0, [r4, 0x8]
+ ldrh r2, [r4, 0x12]
+ ldrh r1, [r4, 0x20]
+ adds r2, r1
+ strh r2, [r4, 0x20]
+ ldr r3, _080A8A7C @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r3
+ lsls r2, 16
+ asrs r2, 24
+ ldrh r0, [r4, 0x1E]
+ lsls r0, 16
+ asrs r0, 24
+ adds r2, r0
+ strh r2, [r1, 0x24]
+ ldrh r0, [r4, 0x14]
+ subs r0, 0x1
+ strh r0, [r4, 0x14]
+ lsls r0, 16
+ cmp r0, 0
+ bne _080A8A74
+ adds r0, r5, 0
+ bl move_anim_task_del
+_080A8A74:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8A7C: .4byte gSprites
+ thumb_func_end sub_80A8A18
+
+ thumb_func_start sub_80A8A80
+sub_80A8A80: @ 80A8A80
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _080A8AA4 @ =gUnknown_03004B00
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x2
+ beq _080A8AAE
+ cmp r0, 0x2
+ bgt _080A8AA8
+ cmp r0, 0
+ blt _080A8AE0
+ ldrb r0, [r1]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r2, r0, 24
+ b _080A8AE8
+ .align 2, 0
+_080A8AA4: .4byte gUnknown_03004B00
+_080A8AA8:
+ cmp r0, 0x3
+ beq _080A8AB8
+ b _080A8AE0
+_080A8AAE:
+ ldr r5, _080A8AB4 @ =gUnknown_0202F7C8
+ b _080A8ABA
+ .align 2, 0
+_080A8AB4: .4byte gUnknown_0202F7C8
+_080A8AB8:
+ ldr r5, _080A8AD8 @ =gUnknown_0202F7C9
+_080A8ABA:
+ ldrb r0, [r5]
+ movs r4, 0x2
+ eors r0, r4
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A8AE0
+ ldr r1, _080A8ADC @ =gUnknown_02024BE0
+ ldrb r0, [r5]
+ eors r0, r4
+ adds r0, r1
+ ldrb r2, [r0]
+ b _080A8AE8
+ .align 2, 0
+_080A8AD8: .4byte gUnknown_0202F7C9
+_080A8ADC: .4byte gUnknown_02024BE0
+_080A8AE0:
+ adds r0, r6, 0
+ bl move_anim_task_del
+ b _080A8B28
+_080A8AE8:
+ ldr r1, _080A8B08 @ =gTasks
+ lsls r4, r6, 2
+ adds r0, r4, r6
+ lsls r0, 3
+ adds r5, r0, r1
+ strh r2, [r5, 0x8]
+ ldr r0, _080A8B0C @ =gUnknown_0202F7C9
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A8B14
+ ldr r0, _080A8B10 @ =gUnknown_03004B00
+ ldrh r0, [r0, 0x2]
+ b _080A8B1A
+ .align 2, 0
+_080A8B08: .4byte gTasks
+_080A8B0C: .4byte gUnknown_0202F7C9
+_080A8B10: .4byte gUnknown_03004B00
+_080A8B14:
+ ldr r0, _080A8B30 @ =gUnknown_03004B00
+ ldrh r0, [r0, 0x2]
+ negs r0, r0
+_080A8B1A:
+ strh r0, [r5, 0xA]
+ ldr r0, _080A8B34 @ =gTasks
+ adds r1, r4, r6
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080A8B38 @ =sub_80A8B3C
+ str r0, [r1]
+_080A8B28:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8B30: .4byte gUnknown_03004B00
+_080A8B34: .4byte gTasks
+_080A8B38: .4byte sub_80A8B3C
+ thumb_func_end sub_80A8A80
+
+ thumb_func_start sub_80A8B3C
+sub_80A8B3C: @ 80A8B3C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A8B80 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrb r2, [r1, 0x8]
+ ldr r3, _080A8B84 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ ldrh r1, [r1, 0xA]
+ ldrh r2, [r0, 0x24]
+ adds r1, r2
+ strh r1, [r0, 0x24]
+ movs r2, 0x24
+ ldrsh r1, [r0, r2]
+ movs r2, 0x20
+ ldrsh r0, [r0, r2]
+ adds r1, r0
+ adds r1, 0x20
+ movs r0, 0x98
+ lsls r0, 1
+ cmp r1, r0
+ bls _080A8B7A
+ adds r0, r4, 0
+ bl move_anim_task_del
+_080A8B7A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8B80: .4byte gTasks
+_080A8B84: .4byte gSprites
+ thumb_func_end sub_80A8B3C
+
+ thumb_func_start sub_80A8B88
+sub_80A8B88: @ 80A8B88
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r6, _080A8BD8 @ =gUnknown_0202F7C8
+ ldrb r0, [r6]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A8BA4
+ ldr r1, _080A8BDC @ =gUnknown_03004B00
+ ldrh r0, [r1, 0x2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+_080A8BA4:
+ ldr r4, _080A8BDC @ =gUnknown_03004B00
+ ldrb r0, [r4, 0x8]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A8BE0 @ =gTasks
+ lsls r3, r5, 2
+ adds r1, r3, r5
+ lsls r1, 3
+ adds r2, r1, r2
+ ldrh r1, [r4]
+ strh r1, [r2, 0x8]
+ ldrh r1, [r4, 0x2]
+ strh r1, [r2, 0xA]
+ ldrh r1, [r4, 0x4]
+ strh r1, [r2, 0xC]
+ ldrh r1, [r4, 0x6]
+ strh r1, [r2, 0xE]
+ strh r0, [r2, 0x10]
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080A8BE4
+ ldrb r0, [r6]
+ b _080A8BE8
+ .align 2, 0
+_080A8BD8: .4byte gUnknown_0202F7C8
+_080A8BDC: .4byte gUnknown_03004B00
+_080A8BE0: .4byte gTasks
+_080A8BE4:
+ ldr r0, _080A8C00 @ =gUnknown_0202F7C9
+ ldrb r0, [r0]
+_080A8BE8:
+ strh r0, [r2, 0x12]
+ ldr r1, _080A8C04 @ =gTasks
+ adds r0, r3, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0, 0x20]
+ ldr r1, _080A8C08 @ =sub_80A8C0C
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8C00: .4byte gUnknown_0202F7C9
+_080A8C04: .4byte gTasks
+_080A8C08: .4byte sub_80A8C0C
+ thumb_func_end sub_80A8B88
+
+ thumb_func_start sub_80A8C0C
+sub_80A8C0C: @ 80A8C0C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _080A8C5C @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrb r7, [r4, 0x10]
+ ldrh r0, [r4, 0xC]
+ ldrh r1, [r4, 0x1C]
+ adds r0, r1
+ lsls r1, r0, 16
+ strh r0, [r4, 0x1C]
+ lsrs r1, 24
+ mov r8, r1
+ mov r0, r8
+ movs r2, 0xA
+ ldrsh r1, [r4, r2]
+ bl Sin
+ lsls r0, 16
+ lsrs r5, r0, 16
+ mov r9, r5
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080A8C64
+ ldr r0, _080A8C60 @ =gSprites
+ lsls r2, r7, 4
+ adds r1, r2, r7
+ lsls r1, 2
+ adds r1, r0
+ strh r5, [r1, 0x24]
+ mov r9, r0
+ adds r4, r2, 0
+ b _080A8CAA
+ .align 2, 0
+_080A8C5C: .4byte gTasks
+_080A8C60: .4byte gSprites
+_080A8C64:
+ ldrb r0, [r4, 0x12]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A8C8C
+ ldr r1, _080A8C88 @ =gSprites
+ lsls r2, r7, 4
+ adds r0, r2, r7
+ lsls r0, 2
+ adds r3, r0, r1
+ lsls r0, r5, 16
+ asrs r0, 16
+ mov r9, r1
+ adds r4, r2, 0
+ cmp r0, 0
+ bge _080A8CA8
+ b _080A8CA6
+ .align 2, 0
+_080A8C88: .4byte gSprites
+_080A8C8C:
+ ldr r1, _080A8D2C @ =gSprites
+ lsls r2, r7, 4
+ adds r0, r2, r7
+ lsls r0, 2
+ adds r3, r0, r1
+ mov r4, r9
+ lsls r0, r4, 16
+ asrs r0, 16
+ mov r9, r1
+ adds r4, r2, 0
+ cmp r0, 0
+ bge _080A8CA6
+ negs r0, r0
+_080A8CA6:
+ negs r0, r0
+_080A8CA8:
+ strh r0, [r3, 0x26]
+_080A8CAA:
+ mov r5, r8
+ cmp r5, 0x7F
+ bls _080A8CCC
+ ldr r1, _080A8D30 @ =gTasks
+ lsls r2, r6, 2
+ adds r0, r2, r6
+ lsls r0, 3
+ adds r3, r0, r1
+ movs r5, 0x1E
+ ldrsh r0, [r3, r5]
+ adds r5, r1, 0
+ cmp r0, 0
+ bne _080A8CCC
+ movs r1, 0x20
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x1
+ beq _080A8CEE
+_080A8CCC:
+ mov r2, r8
+ cmp r2, 0x7E
+ bhi _080A8D20
+ ldr r1, _080A8D30 @ =gTasks
+ lsls r2, r6, 2
+ adds r0, r2, r6
+ lsls r0, 3
+ adds r3, r0, r1
+ movs r5, 0x1E
+ ldrsh r0, [r3, r5]
+ adds r5, r1, 0
+ cmp r0, 0x1
+ bne _080A8D20
+ movs r1, 0x20
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ bne _080A8D20
+_080A8CEE:
+ adds r1, r2, r6
+ lsls r1, 3
+ adds r1, r5
+ ldrh r0, [r1, 0x1E]
+ movs r2, 0x1
+ eors r0, r2
+ strh r0, [r1, 0x1E]
+ ldrh r0, [r1, 0x20]
+ eors r0, r2
+ strh r0, [r1, 0x20]
+ ldrh r0, [r1, 0xE]
+ subs r0, 0x1
+ strh r0, [r1, 0xE]
+ lsls r0, 16
+ asrs r3, r0, 16
+ cmp r3, 0
+ bne _080A8D20
+ adds r0, r4, r7
+ lsls r0, 2
+ add r0, r9
+ strh r3, [r0, 0x24]
+ strh r3, [r0, 0x26]
+ adds r0, r6, 0
+ bl move_anim_task_del
+_080A8D20:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8D2C: .4byte gSprites
+_080A8D30: .4byte gTasks
+ thumb_func_end sub_80A8C0C
+
+ thumb_func_start sub_80A8D34
+sub_80A8D34: @ 80A8D34
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r6, _080A8D80 @ =gUnknown_03004B00
+ ldrb r0, [r6, 0x6]
+ bl obj_id_for_side_relative_to_move
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldrb r1, [r6, 0x8]
+ adds r0, r5, 0
+ bl sub_8078E70
+ ldr r1, _080A8D84 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r6]
+ strh r1, [r0, 0x8]
+ ldrh r1, [r6, 0x2]
+ strh r1, [r0, 0xA]
+ ldrh r1, [r6, 0x4]
+ strh r1, [r0, 0xC]
+ ldrh r1, [r6, 0x4]
+ strh r1, [r0, 0xE]
+ strh r5, [r0, 0x10]
+ movs r1, 0x80
+ lsls r1, 1
+ strh r1, [r0, 0x1C]
+ strh r1, [r0, 0x1E]
+ ldr r1, _080A8D88 @ =sub_80A8D8C
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8D80: .4byte gUnknown_03004B00
+_080A8D84: .4byte gTasks
+_080A8D88: .4byte sub_80A8D8C
+ thumb_func_end sub_80A8D34
+
+ thumb_func_start sub_80A8D8C
+sub_80A8D8C: @ 80A8D8C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ ldr r1, _080A8DEC @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x8]
+ ldrh r1, [r4, 0x1C]
+ adds r0, r1
+ strh r0, [r4, 0x1C]
+ ldrh r0, [r4, 0xA]
+ ldrh r3, [r4, 0x1E]
+ adds r0, r3
+ strh r0, [r4, 0x1E]
+ ldrb r0, [r4, 0x10]
+ adds r6, r0, 0
+ movs r0, 0x1C
+ ldrsh r1, [r4, r0]
+ movs r3, 0x1E
+ ldrsh r2, [r4, r3]
+ adds r0, r6, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ ldrh r0, [r4, 0xC]
+ subs r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r1, r0, 16
+ cmp r1, 0
+ bne _080A8DFC
+ ldrh r2, [r4, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ ble _080A8DF0
+ ldrh r0, [r4, 0x8]
+ negs r0, r0
+ strh r0, [r4, 0x8]
+ ldrh r0, [r4, 0xA]
+ negs r0, r0
+ strh r0, [r4, 0xA]
+ strh r2, [r4, 0xC]
+ strh r1, [r4, 0xE]
+ b _080A8DFC
+ .align 2, 0
+_080A8DEC: .4byte gTasks
+_080A8DF0:
+ adds r0, r6, 0
+ bl sub_8078F40
+ adds r0, r5, 0
+ bl move_anim_task_del
+_080A8DFC:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A8D8C
+
+ thumb_func_start sub_80A8E04
+sub_80A8E04: @ 80A8E04
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r4, _080A8E40 @ =gUnknown_03004B00
+ ldrb r0, [r4, 0x4]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ movs r1, 0
+ bl sub_8078E70
+ ldr r1, _080A8E44 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r2, r0, r1
+ movs r1, 0
+ strh r1, [r2, 0xA]
+ ldrh r0, [r4]
+ strh r0, [r2, 0xC]
+ movs r3, 0x6
+ ldrsh r0, [r4, r3]
+ cmp r0, 0x1
+ beq _080A8E48
+ strh r1, [r2, 0xE]
+ b _080A8E54
+ .align 2, 0
+_080A8E40: .4byte gUnknown_03004B00
+_080A8E44: .4byte gTasks
+_080A8E48:
+ ldrh r0, [r4]
+ ldrh r1, [r4, 0x2]
+ adds r3, r0, 0
+ muls r3, r1
+ adds r0, r3, 0
+ strh r0, [r2, 0xE]
+_080A8E54:
+ ldr r1, _080A8E80 @ =gTasks
+ lsls r4, r7, 2
+ adds r0, r4, r7
+ lsls r0, 3
+ adds r5, r0, r1
+ ldr r6, _080A8E84 @ =gUnknown_03004B00
+ ldrh r0, [r6, 0x2]
+ strh r0, [r5, 0x10]
+ mov r0, r8
+ strh r0, [r5, 0x12]
+ ldrh r0, [r6, 0x6]
+ strh r0, [r5, 0x14]
+ bl sub_8076BE0
+ lsls r0, 24
+ mov r8, r4
+ cmp r0, 0
+ beq _080A8E88
+ movs r0, 0x1
+ strh r0, [r5, 0x16]
+ b _080A8EAC
+ .align 2, 0
+_080A8E80: .4byte gTasks
+_080A8E84: .4byte gUnknown_03004B00
+_080A8E88:
+ movs r1, 0x4
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _080A8E98
+ ldr r0, _080A8E94 @ =gUnknown_0202F7C8
+ b _080A8E9A
+ .align 2, 0
+_080A8E94: .4byte gUnknown_0202F7C8
+_080A8E98:
+ ldr r0, _080A8EF0 @ =gUnknown_0202F7C9
+_080A8E9A:
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ movs r1, 0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A8EAA
+ movs r1, 0x1
+_080A8EAA:
+ strh r1, [r5, 0x16]
+_080A8EAC:
+ ldr r0, _080A8EF4 @ =gTasks
+ mov r2, r8
+ adds r1, r2, r7
+ lsls r1, 3
+ adds r4, r1, r0
+ movs r3, 0x16
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ beq _080A8ED8
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A8ED8
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ negs r0, r0
+ strh r0, [r4, 0xE]
+ movs r2, 0x10
+ ldrsh r0, [r4, r2]
+ negs r0, r0
+ strh r0, [r4, 0x10]
+_080A8ED8:
+ ldr r0, _080A8EF4 @ =gTasks
+ mov r3, r8
+ adds r1, r3, r7
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080A8EF8 @ =sub_80A8FD8
+ str r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8EF0: .4byte gUnknown_0202F7C9
+_080A8EF4: .4byte gTasks
+_080A8EF8: .4byte sub_80A8FD8
+ thumb_func_end sub_80A8E04
+
+ thumb_func_start sub_80A8EFC
+sub_80A8EFC: @ 80A8EFC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _080A8F38 @ =gUnknown_03004B00
+ ldrb r0, [r4, 0x4]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ movs r1, 0
+ bl sub_8078E70
+ ldr r1, _080A8F3C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0xA]
+ ldrh r1, [r4]
+ strh r1, [r0, 0xC]
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080A8F44
+ ldr r0, _080A8F40 @ =gUnknown_0202F7C8
+ b _080A8F46
+ .align 2, 0
+_080A8F38: .4byte gUnknown_03004B00
+_080A8F3C: .4byte gTasks
+_080A8F40: .4byte gUnknown_0202F7C8
+_080A8F44:
+ ldr r0, _080A8F74 @ =gUnknown_0202F7C9
+_080A8F46:
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A8F58
+ ldrh r0, [r4, 0x2]
+ negs r0, r0
+ strh r0, [r4, 0x2]
+_080A8F58:
+ ldr r0, _080A8F78 @ =gUnknown_03004B00
+ movs r2, 0x6
+ ldrsh r1, [r0, r2]
+ adds r6, r0, 0
+ cmp r1, 0x1
+ beq _080A8F80
+ ldr r2, _080A8F7C @ =gTasks
+ lsls r3, r5, 2
+ adds r0, r3, r5
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0
+ strh r1, [r0, 0xE]
+ b _080A8F9A
+ .align 2, 0
+_080A8F74: .4byte gUnknown_0202F7C9
+_080A8F78: .4byte gUnknown_03004B00
+_080A8F7C: .4byte gTasks
+_080A8F80:
+ ldr r3, _080A8FD0 @ =gTasks
+ lsls r4, r5, 2
+ adds r0, r4, r5
+ lsls r0, 3
+ adds r0, r3
+ ldrh r2, [r6]
+ ldrh r1, [r6, 0x2]
+ adds r7, r2, 0
+ muls r7, r1
+ adds r1, r7, 0
+ strh r1, [r0, 0xE]
+ adds r2, r3, 0
+ adds r3, r4, 0
+_080A8F9A:
+ adds r1, r3, r5
+ lsls r1, 3
+ adds r1, r2
+ ldrh r0, [r6, 0x2]
+ strh r0, [r1, 0x10]
+ mov r0, r8
+ strh r0, [r1, 0x12]
+ ldrh r0, [r6, 0x6]
+ strh r0, [r1, 0x14]
+ movs r0, 0x1
+ strh r0, [r1, 0x16]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ negs r0, r0
+ strh r0, [r1, 0xE]
+ movs r7, 0x10
+ ldrsh r0, [r1, r7]
+ negs r0, r0
+ strh r0, [r1, 0x10]
+ ldr r0, _080A8FD4 @ =sub_80A8FD8
+ str r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A8FD0: .4byte gTasks
+_080A8FD4: .4byte sub_80A8FD8
+ thumb_func_end sub_80A8EFC
+
+ thumb_func_start sub_80A8FD8
+sub_80A8FD8: @ 80A8FD8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080A9030 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x10]
+ ldrh r1, [r4, 0xE]
+ adds r0, r1
+ strh r0, [r4, 0xE]
+ ldrb r0, [r4, 0x12]
+ movs r2, 0x80
+ lsls r2, 1
+ ldrh r3, [r4, 0xE]
+ adds r1, r2, 0
+ bl obj_id_set_rotscale
+ movs r2, 0x16
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _080A900C
+ ldrb r0, [r4, 0x12]
+ bl sub_8078F9C
+_080A900C:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0xC
+ ldrsh r1, [r4, r2]
+ cmp r0, r1
+ blt _080A9052
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _080A9034
+ cmp r0, 0x1
+ ble _080A903A
+ cmp r0, 0x2
+ beq _080A9042
+ b _080A903A
+ .align 2, 0
+_080A9030: .4byte gTasks
+_080A9034:
+ ldrb r0, [r4, 0x12]
+ bl sub_8078F40
+_080A903A:
+ adds r0, r5, 0
+ bl move_anim_task_del
+ b _080A9052
+_080A9042:
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ movs r2, 0x10
+ ldrsh r0, [r4, r2]
+ negs r0, r0
+ strh r0, [r4, 0x10]
+ movs r0, 0x1
+ strh r0, [r4, 0x14]
+_080A9052:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A8FD8
+
+ thumb_func_start sub_80A9058
+sub_80A9058: @ 80A9058
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, _080A9084 @ =gUnknown_03004B00
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ mov r8, r0
+ cmp r1, 0
+ bne _080A9090
+ ldr r4, _080A9088 @ =gTasks
+ lsls r5, r7, 2
+ adds r0, r5, r7
+ lsls r0, 3
+ adds r6, r0, r4
+ ldr r0, _080A908C @ =gUnknown_0202F7BC
+ ldrh r0, [r0]
+ movs r1, 0xC
+ bl __udivsi3
+ b _080A90A4
+ .align 2, 0
+_080A9084: .4byte gUnknown_03004B00
+_080A9088: .4byte gTasks
+_080A908C: .4byte gUnknown_0202F7BC
+_080A9090:
+ ldr r4, _080A912C @ =gTasks
+ lsls r5, r7, 2
+ adds r0, r5, r7
+ lsls r0, 3
+ adds r6, r0, r4
+ ldr r0, _080A9130 @ =gUnknown_0202F7B8
+ ldr r0, [r0]
+ movs r1, 0xC
+ bl __divsi3
+_080A90A4:
+ strh r0, [r6, 0x26]
+ lsls r0, 16
+ adds r1, r4, 0
+ cmp r0, 0
+ bgt _080A90B2
+ movs r0, 0x1
+ strh r0, [r6, 0x26]
+_080A90B2:
+ movs r2, 0x26
+ ldrsh r0, [r6, r2]
+ cmp r0, 0x10
+ ble _080A90BE
+ movs r0, 0x10
+ strh r0, [r6, 0x26]
+_080A90BE:
+ adds r4, r5, r7
+ lsls r4, 3
+ adds r4, r1
+ movs r0, 0x26
+ ldrsh r1, [r4, r0]
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ movs r5, 0
+ strh r1, [r4, 0x24]
+ ldrh r2, [r4, 0x26]
+ movs r0, 0x1
+ ands r0, r2
+ adds r1, r0
+ strh r1, [r4, 0x22]
+ strh r5, [r4, 0x20]
+ mov r1, r8
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x1C]
+ ldrh r0, [r1, 0x8]
+ strh r0, [r4, 0x1E]
+ movs r0, 0x1
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x16]
+ ldr r2, _080A9134 @ =gSprites
+ movs r0, 0x16
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0, 0x24]
+ strh r0, [r4, 0x18]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0, 0x26]
+ strh r0, [r4, 0x1A]
+ strh r5, [r4, 0x8]
+ mov r1, r8
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0xA]
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0xC]
+ ldr r0, _080A9138 @ =sub_80A913C
+ str r0, [r4]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A912C: .4byte gTasks
+_080A9130: .4byte gUnknown_0202F7B8
+_080A9134: .4byte gSprites
+_080A9138: .4byte sub_80A913C
+ thumb_func_end sub_80A9058
+
+ thumb_func_start sub_80A913C
+sub_80A913C: @ 80A913C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, _080A9190 @ =gTasks
+ adds r3, r0, r1
+ ldrh r0, [r3, 0x8]
+ adds r0, 0x1
+ strh r0, [r3, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0xA
+ ldrsh r1, [r3, r2]
+ cmp r0, r1
+ ble _080A921A
+ movs r0, 0
+ strh r0, [r3, 0x8]
+ ldrh r0, [r3, 0x20]
+ adds r1, r0, 0x1
+ movs r0, 0x1
+ ands r1, r0
+ strh r1, [r3, 0x20]
+ movs r2, 0x1C
+ ldrsh r0, [r3, r2]
+ cmp r0, 0
+ beq _080A91AE
+ cmp r1, 0
+ beq _080A9198
+ ldr r2, _080A9194 @ =gSprites
+ movs r0, 0x16
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r3, 0x22]
+ ldrh r2, [r3, 0x18]
+ adds r1, r2
+ b _080A91AC
+ .align 2, 0
+_080A9190: .4byte gTasks
+_080A9194: .4byte gSprites
+_080A9198:
+ ldr r2, _080A91D4 @ =gSprites
+ movs r0, 0x16
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r3, 0x18]
+ ldrh r2, [r3, 0x24]
+ subs r1, r2
+_080A91AC:
+ strh r1, [r0, 0x24]
+_080A91AE:
+ movs r1, 0x1E
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ beq _080A91E8
+ movs r2, 0x20
+ ldrsh r4, [r3, r2]
+ cmp r4, 0
+ beq _080A91D8
+ ldr r2, _080A91D4 @ =gSprites
+ movs r0, 0x16
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r3, 0x26]
+ strh r1, [r0, 0x26]
+ b _080A91E8
+ .align 2, 0
+_080A91D4: .4byte gSprites
+_080A91D8:
+ ldr r2, _080A9220 @ =gSprites
+ movs r0, 0x16
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r4, [r0, 0x26]
+_080A91E8:
+ ldrh r0, [r3, 0xC]
+ subs r0, 0x1
+ strh r0, [r3, 0xC]
+ lsls r0, 16
+ asrs r4, r0, 16
+ cmp r4, 0
+ bne _080A921A
+ ldr r2, _080A9220 @ =gSprites
+ movs r0, 0x16
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r4, [r0, 0x24]
+ movs r0, 0x16
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r4, [r0, 0x26]
+ adds r0, r5, 0
+ bl move_anim_task_del
+_080A921A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9220: .4byte gSprites
+ thumb_func_end sub_80A913C
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest.s b/asm/contest.s
new file mode 100644
index 000000000..447f5cf1d
--- /dev/null
+++ b/asm/contest.s
@@ -0,0 +1,15732 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start nullsub_89
+nullsub_89: @ 80AB1AC
+ bx lr
+ thumb_func_end nullsub_89
+
+ thumb_func_start sub_80AB1B0
+sub_80AB1B0: @ 80AB1B0
+ ldr r1, _080AB1B8 @ =gUnknown_0203869A
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080AB1B8: .4byte gUnknown_0203869A
+ thumb_func_end sub_80AB1B0
+
+ thumb_func_start sub_80AB1BC
+sub_80AB1BC: @ 80AB1BC
+ push {r4-r6,lr}
+ movs r6, 0x80
+ lsls r6, 19
+ movs r0, 0x40
+ strh r0, [r6]
+ ldr r4, _080AB260 @ =0x04000208
+ ldrh r3, [r4]
+ movs r2, 0
+ strh r2, [r4]
+ ldr r5, _080AB264 @ =0x04000200
+ ldrh r0, [r5]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r5]
+ strh r3, [r4]
+ ldr r1, _080AB268 @ =REG_DISPSTAT
+ movs r0, 0x8
+ strh r0, [r1]
+ adds r1, 0x4
+ movs r3, 0x98
+ lsls r3, 8
+ adds r0, r3, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r3, _080AB26C @ =0x00009e09
+ adds r0, r3, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r3, 0x9C
+ lsls r3, 8
+ adds r0, r3, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r3, _080AB270 @ =0x00003a03
+ adds r0, r3, 0
+ strh r0, [r1]
+ ldr r0, _080AB274 @ =REG_BLDCNT
+ strh r2, [r0]
+ adds r0, 0x2
+ strh r2, [r0]
+ adds r0, 0x2
+ strh r2, [r0]
+ subs r0, 0xC
+ ldr r3, _080AB278 @ =0x00003f3f
+ adds r1, r3, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ ldrh r0, [r6]
+ movs r3, 0xFE
+ lsls r3, 7
+ adds r1, r3, 0
+ orrs r0, r1
+ strh r0, [r6]
+ ldr r0, _080AB27C @ =gUnknown_030042A4
+ strh r2, [r0]
+ ldr r0, _080AB280 @ =gUnknown_030042A0
+ strh r2, [r0]
+ ldr r0, _080AB284 @ =gUnknown_030042C0
+ strh r2, [r0]
+ ldr r0, _080AB288 @ =gUnknown_030041B4
+ strh r2, [r0]
+ ldr r0, _080AB28C @ =gUnknown_03004288
+ strh r2, [r0]
+ ldr r0, _080AB290 @ =gUnknown_03004280
+ strh r2, [r0]
+ ldr r0, _080AB294 @ =gUnknown_030041B0
+ strh r2, [r0]
+ ldr r0, _080AB298 @ =gUnknown_030041B8
+ strh r2, [r0]
+ ldr r0, _080AB29C @ =gUnknown_030042C4
+ strh r2, [r0]
+ ldr r0, _080AB2A0 @ =gUnknown_03004240
+ strh r2, [r0]
+ ldr r0, _080AB2A4 @ =gUnknown_03004200
+ strh r2, [r0]
+ ldr r0, _080AB2A8 @ =gUnknown_03004244
+ strh r2, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB260: .4byte 0x04000208
+_080AB264: .4byte 0x04000200
+_080AB268: .4byte REG_DISPSTAT
+_080AB26C: .4byte 0x00009e09
+_080AB270: .4byte 0x00003a03
+_080AB274: .4byte REG_BLDCNT
+_080AB278: .4byte 0x00003f3f
+_080AB27C: .4byte gUnknown_030042A4
+_080AB280: .4byte gUnknown_030042A0
+_080AB284: .4byte gUnknown_030042C0
+_080AB288: .4byte gUnknown_030041B4
+_080AB28C: .4byte gUnknown_03004288
+_080AB290: .4byte gUnknown_03004280
+_080AB294: .4byte gUnknown_030041B0
+_080AB298: .4byte gUnknown_030041B8
+_080AB29C: .4byte gUnknown_030042C4
+_080AB2A0: .4byte gUnknown_03004240
+_080AB2A4: .4byte gUnknown_03004200
+_080AB2A8: .4byte gUnknown_03004244
+ thumb_func_end sub_80AB1BC
+
+ thumb_func_start sub_80AB2AC
+sub_80AB2AC: @ 80AB2AC
+ push {r4,r5,lr}
+ ldr r0, _080AB300 @ =gContestMiscGfx
+ movs r1, 0xC0
+ lsls r1, 19
+ bl LZDecompressVram
+ ldr r0, _080AB304 @ =gContestAudienceGfx
+ ldr r1, _080AB308 @ =0x06002000
+ bl LZDecompressVram
+ ldr r0, _080AB30C @ =gUnknown_08D1725C
+ ldr r1, _080AB310 @ =0x0600d000
+ bl LZDecompressVram
+ ldr r0, _080AB314 @ =gUnknown_08D17144
+ movs r2, 0x80
+ lsls r2, 2
+ movs r1, 0
+ bl LoadCompressedPalette
+ bl sub_80AB350
+ movs r4, 0
+ movs r5, 0xA0
+_080AB2DC:
+ ldr r0, _080AB318 @ =0x02018004
+ adds r0, r5, r0
+ ldr r1, _080AB31C @ =gUnknown_02038696
+ adds r1, r4, r1
+ ldrb r1, [r1]
+ adds r1, 0x5
+ lsls r1, 4
+ movs r2, 0x20
+ bl LoadPalette
+ adds r5, 0x20
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080AB2DC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB300: .4byte gContestMiscGfx
+_080AB304: .4byte gContestAudienceGfx
+_080AB308: .4byte 0x06002000
+_080AB30C: .4byte gUnknown_08D1725C
+_080AB310: .4byte 0x0600d000
+_080AB314: .4byte gUnknown_08D17144
+_080AB318: .4byte 0x02018004
+_080AB31C: .4byte gUnknown_02038696
+ thumb_func_end sub_80AB2AC
+
+ thumb_func_start sub_80AB320
+sub_80AB320: @ 80AB320
+ push {r4,lr}
+ ldr r4, _080AB340 @ =gWindowConfig_81E6FD8
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ ldr r0, _080AB344 @ =gUnknown_03004210
+ adds r1, r4, 0
+ bl InitWindowFromConfig
+ ldr r0, _080AB348 @ =gMenuWindow
+ ldr r1, _080AB34C @ =gWindowConfig_81E6FF4
+ bl InitWindowFromConfig
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB340: .4byte gWindowConfig_81E6FD8
+_080AB344: .4byte gUnknown_03004210
+_080AB348: .4byte gMenuWindow
+_080AB34C: .4byte gWindowConfig_81E6FF4
+ thumb_func_end sub_80AB320
+
+ thumb_func_start sub_80AB350
+sub_80AB350: @ 80AB350
+ push {r4,lr}
+ ldr r0, _080AB38C @ =gWindowConfig_81E6FD8
+ bl LoadFontDefaultPalette
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x2
+ bl FillPalette
+ movs r4, 0xA
+_080AB364:
+ adds r1, r4, 0
+ adds r1, 0xF0
+ ldr r0, _080AB390 @ =gPlttBufferUnfaded + 0x1E2
+ movs r2, 0x2
+ bl LoadPalette
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0xD
+ bls _080AB364
+ ldr r0, _080AB394 @ =0x00007e3f
+ movs r1, 0xF3
+ movs r2, 0x2
+ bl FillPalette
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB38C: .4byte gWindowConfig_81E6FD8
+_080AB390: .4byte gPlttBufferUnfaded + 0x1E2
+_080AB394: .4byte 0x00007e3f
+ thumb_func_end sub_80AB350
+
+ thumb_func_start sub_80AB398
+sub_80AB398: @ 80AB398
+ push {r4-r6,lr}
+ ldr r4, _080AB468 @ =0x02019204
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x5C
+ bl memset
+ movs r5, 0
+ adds r4, 0x2
+ movs r2, 0xFF
+_080AB3AC:
+ adds r1, r5, r4
+ ldrb r0, [r1]
+ orrs r0, r2
+ strb r0, [r1]
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080AB3AC
+ ldr r4, _080AB46C @ =0x02019260
+ movs r5, 0x3
+_080AB3BE:
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x1C
+ bl memset
+ adds r4, 0x1C
+ subs r5, 0x1
+ cmp r5, 0
+ bge _080AB3BE
+ ldr r4, _080AB470 @ =0x020192d0
+ movs r6, 0x4
+ negs r6, r6
+ movs r3, 0xFF
+ adds r2, r4, 0
+ subs r2, 0x65
+ movs r5, 0x3
+_080AB3DE:
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldrb r0, [r2, 0x8]
+ orrs r0, r3
+ strb r0, [r2, 0x8]
+ ldrb r0, [r2, 0x9]
+ orrs r0, r3
+ strb r0, [r2, 0x9]
+ adds r2, 0x1C
+ subs r5, 0x1
+ cmp r5, 0
+ bge _080AB3DE
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x14
+ bl memset
+ adds r0, r4, 0
+ adds r0, 0x14
+ movs r1, 0
+ movs r2, 0x44
+ bl memset
+ adds r0, r4, 0
+ adds r0, 0x58
+ movs r1, 0
+ movs r2, 0x4
+ bl memset
+ adds r0, r4, 0
+ adds r0, 0x68
+ movs r1, 0
+ movs r2, 0x10
+ bl memset
+ ldr r0, _080AB474 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080AB43A
+ movs r0, 0
+ bl sub_80B0F28
+_080AB43A:
+ movs r5, 0
+ movs r6, 0xFF
+ adds r3, r4, 0
+ subs r3, 0xB8
+ adds r2, r4, 0
+ subs r2, 0x57
+ ldr r4, _080AB478 @ =gUnknown_02038696
+_080AB448:
+ ldrb r0, [r2]
+ orrs r0, r6
+ strb r0, [r2]
+ adds r1, r3, r5
+ adds r0, r5, r4
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r2, 0x1C
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080AB448
+ bl sub_80B159C
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB468: .4byte 0x02019204
+_080AB46C: .4byte 0x02019260
+_080AB470: .4byte 0x020192d0
+_080AB474: .4byte gUnknown_0203869A
+_080AB478: .4byte gUnknown_02038696
+ thumb_func_end sub_80AB398
+
+ thumb_func_start sub_80AB47C
+sub_80AB47C: @ 80AB47C
+ push {r4-r7,lr}
+ sub sp, 0x4
+ ldr r0, _080AB498 @ =gMain
+ ldr r1, _080AB49C @ =0x0000043c
+ adds r4, r0, r1
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ beq _080AB554
+ cmp r0, 0x1
+ bgt _080AB4A0
+ cmp r0, 0
+ beq _080AB4AA
+ b _080AB5AE
+ .align 2, 0
+_080AB498: .4byte gMain
+_080AB49C: .4byte 0x0000043c
+_080AB4A0:
+ cmp r0, 0x2
+ beq _080AB55A
+ cmp r0, 0x3
+ beq _080AB578
+ b _080AB5AE
+_080AB4AA:
+ movs r0, 0
+ bl SetVBlankCallback
+ bl sub_80AB320
+ bl sub_80AB1BC
+ bl dp12_8087EA4
+ bl ResetPaletteFade
+ ldr r0, _080AB538 @ =gPaletteFade
+ ldrb r1, [r0, 0x8]
+ movs r2, 0x80
+ orrs r1, r2
+ strb r1, [r0, 0x8]
+ movs r2, 0xC0
+ lsls r2, 19
+ movs r3, 0xC0
+ lsls r3, 9
+ movs r5, 0
+ ldr r1, _080AB53C @ =0x040000d4
+ movs r4, 0x80
+ lsls r4, 5
+ ldr r6, _080AB540 @ =0x85000400
+ movs r7, 0x85
+ lsls r7, 24
+_080AB4E0:
+ str r5, [sp]
+ mov r0, sp
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r6, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r4
+ subs r3, r4
+ cmp r3, r4
+ bhi _080AB4E0
+ str r5, [sp]
+ mov r0, sp
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 2
+ orrs r0, r7
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ bl ResetSpriteData
+ bl ResetTasks
+ bl FreeAllSpritePalettes
+ ldr r1, _080AB544 @ =gReservedSpritePaletteCount
+ movs r0, 0x4
+ strb r0, [r1]
+ ldr r0, _080AB548 @ =0x02000000
+ movs r1, 0xC0
+ lsls r1, 9
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ bl sub_8040710
+ bl sub_80AB398
+ ldr r1, _080AB54C @ =gMain
+ ldr r0, _080AB550 @ =0x0000043c
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _080AB5AE
+ .align 2, 0
+_080AB538: .4byte gPaletteFade
+_080AB53C: .4byte 0x040000d4
+_080AB540: .4byte 0x85000400
+_080AB544: .4byte gReservedSpritePaletteCount
+_080AB548: .4byte 0x02000000
+_080AB54C: .4byte gMain
+_080AB550: .4byte 0x0000043c
+_080AB554:
+ bl sub_80AB350
+ b _080AB56C
+_080AB55A:
+ ldr r5, _080AB574 @ =0x0201925d
+ adds r0, r5, 0
+ bl sub_80AB70C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080AB5AE
+ movs r0, 0
+ strb r0, [r5]
+_080AB56C:
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r4]
+ b _080AB5AE
+ .align 2, 0
+_080AB574: .4byte 0x0201925d
+_080AB578:
+ bl sub_80B2184
+ ldr r0, _080AB5B8 @ =gUnknown_030042C0
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080AB5BC @ =gUnknown_030041B4
+ strh r1, [r0]
+ movs r0, 0x2
+ bl BeginFastPaletteFade
+ ldr r2, _080AB5C0 @ =gPaletteFade
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ ldr r0, _080AB5C4 @ =sub_80ABAC4
+ bl SetVBlankCallback
+ ldr r0, _080AB5C8 @ =sub_80AB5D4
+ movs r1, 0xA
+ bl CreateTask
+ ldr r1, _080AB5CC @ =0x02019204
+ strb r0, [r1, 0x8]
+ ldr r0, _080AB5D0 @ =sub_80ABAAC
+ bl SetMainCallback2
+_080AB5AE:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB5B8: .4byte gUnknown_030042C0
+_080AB5BC: .4byte gUnknown_030041B4
+_080AB5C0: .4byte gPaletteFade
+_080AB5C4: .4byte sub_80ABAC4
+_080AB5C8: .4byte sub_80AB5D4
+_080AB5CC: .4byte 0x02019204
+_080AB5D0: .4byte sub_80ABAAC
+ thumb_func_end sub_80AB47C
+
+ thumb_func_start sub_80AB5D4
+sub_80AB5D4: @ 80AB5D4
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _080AB5F8 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080AB5F4
+ ldr r0, _080AB5FC @ =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080AB600 @ =sub_80AB604
+ str r0, [r1]
+_080AB5F4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB5F8: .4byte gPaletteFade
+_080AB5FC: .4byte gTasks
+_080AB600: .4byte sub_80AB604
+ thumb_func_end sub_80AB5D4
+
+ thumb_func_start sub_80AB604
+sub_80AB604: @ 80AB604
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080AB648 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AB65C
+ ldr r2, _080AB64C @ =gPaletteFade
+ ldrb r1, [r2, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080AB66A
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ bl sub_80AF860
+ ldr r0, _080AB650 @ =sub_80AB678
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080AB654 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080AB658 @ =nullsub_89
+ str r1, [r0]
+ b _080AB66A
+ .align 2, 0
+_080AB648: .4byte gUnknown_0203869A
+_080AB64C: .4byte gPaletteFade
+_080AB650: .4byte sub_80AB678
+_080AB654: .4byte gTasks
+_080AB658: .4byte nullsub_89
+_080AB65C:
+ ldr r0, _080AB670 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080AB674 @ =sub_80AB960
+ str r0, [r1]
+_080AB66A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB670: .4byte gTasks
+_080AB674: .4byte sub_80AB960
+ thumb_func_end sub_80AB604
+
+ thumb_func_start sub_80AB678
+sub_80AB678: @ 80AB678
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080AB68C @ =sub_80C89DC
+ ldr r2, _080AB690 @ =sub_80AB694
+ bl SetTaskFuncWithFollowupFunc
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB68C: .4byte sub_80C89DC
+_080AB690: .4byte sub_80AB694
+ thumb_func_end sub_80AB678
+
+ thumb_func_start sub_80AB694
+sub_80AB694: @ 80AB694
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0x1
+ ldr r2, _080AB6AC @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r3, [r1, 0x8]
+ ldr r0, _080AB6B0 @ =sub_80AB6B4
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080AB6AC: .4byte gTasks
+_080AB6B0: .4byte sub_80AB6B4
+ thumb_func_end sub_80AB694
+
+ thumb_func_start sub_80AB6B4
+sub_80AB6B4: @ 80AB6B4
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r5, _080AB6F8 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r5
+ ldrh r1, [r0, 0x8]
+ subs r1, 0x1
+ strh r1, [r0, 0x8]
+ lsls r1, 16
+ cmp r1, 0
+ bgt _080AB6F2
+ bl GetMultiplayerId
+ adds r0, r4, 0
+ bl DestroyTask
+ ldr r0, _080AB6FC @ =0x02019204
+ ldrb r1, [r0, 0x8]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r5
+ ldr r1, _080AB700 @ =sub_80AB960
+ str r1, [r0]
+ ldr r1, _080AB704 @ =gRngValue
+ ldr r0, _080AB708 @ =gUnknown_03005D28
+ ldr r0, [r0]
+ str r0, [r1]
+_080AB6F2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB6F8: .4byte gTasks
+_080AB6FC: .4byte 0x02019204
+_080AB700: .4byte sub_80AB960
+_080AB704: .4byte gRngValue
+_080AB708: .4byte gUnknown_03005D28
+ thumb_func_end sub_80AB6B4
+
+ thumb_func_start sub_80AB70C
+sub_80AB70C: @ 80AB70C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x44
+ mov r10, r0
+ ldrb r0, [r0]
+ cmp r0, 0x6
+ bls _080AB722
+ b _080AB93C
+_080AB722:
+ lsls r0, 2
+ ldr r1, _080AB72C @ =_080AB730
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080AB72C: .4byte _080AB730
+ .align 2, 0
+_080AB730:
+ .4byte _080AB74C
+ .4byte _080AB7A0
+ .4byte _080AB7B0
+ .4byte _080AB800
+ .4byte _080AB814
+ .4byte _080AB844
+ .4byte _080AB8CC
+_080AB74C:
+ ldr r0, _080AB794 @ =gPaletteFade
+ ldrb r1, [r0, 0x8]
+ movs r2, 0x80
+ orrs r1, r2
+ strb r1, [r0, 0x8]
+ movs r2, 0xC0
+ lsls r2, 19
+ movs r3, 0xC0
+ lsls r3, 9
+ add r5, sp, 0x40
+ movs r6, 0
+ ldr r1, _080AB798 @ =0x040000d4
+ movs r4, 0x80
+ lsls r4, 5
+ mov r8, r5
+ ldr r7, _080AB79C @ =0x85000400
+ movs r0, 0x85
+ lsls r0, 24
+ mov r9, r0
+_080AB772:
+ str r6, [sp, 0x40]
+ mov r0, r8
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r4
+ subs r3, r4
+ cmp r3, r4
+ bhi _080AB772
+ str r6, [sp, 0x40]
+ str r5, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 2
+ mov r2, r9
+ orrs r0, r2
+ b _080AB7E6
+ .align 2, 0
+_080AB794: .4byte gPaletteFade
+_080AB798: .4byte 0x040000d4
+_080AB79C: .4byte 0x85000400
+_080AB7A0:
+ ldr r0, _080AB7AC @ =gContestMiscGfx
+ movs r1, 0xC0
+ lsls r1, 19
+ bl LZDecompressVram
+ b _080AB946
+ .align 2, 0
+_080AB7AC: .4byte gContestMiscGfx
+_080AB7B0:
+ ldr r0, _080AB7EC @ =gContestAudienceGfx
+ ldr r4, _080AB7F0 @ =0x06002000
+ adds r1, r4, 0
+ bl LZDecompressVram
+ ldr r3, _080AB7F4 @ =0x02015800
+ movs r5, 0x80
+ lsls r5, 6
+ ldr r1, _080AB7F8 @ =0x040000d4
+ ldr r6, _080AB7FC @ =0x84000400
+ movs r2, 0x80
+ lsls r2, 5
+ movs r7, 0x84
+ lsls r7, 24
+_080AB7CC:
+ str r4, [r1]
+ str r3, [r1, 0x4]
+ str r6, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r4, r2
+ adds r3, r2
+ subs r5, r2
+ cmp r5, r2
+ bhi _080AB7CC
+ str r4, [r1]
+ str r3, [r1, 0x4]
+ lsrs r0, r5, 2
+ orrs r0, r7
+_080AB7E6:
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ b _080AB946
+ .align 2, 0
+_080AB7EC: .4byte gContestAudienceGfx
+_080AB7F0: .4byte 0x06002000
+_080AB7F4: .4byte 0x02015800
+_080AB7F8: .4byte 0x040000d4
+_080AB7FC: .4byte 0x84000400
+_080AB800:
+ ldr r0, _080AB80C @ =gUnknown_08D1725C
+ ldr r1, _080AB810 @ =0x0600d000
+ bl LZDecompressVram
+ b _080AB946
+ .align 2, 0
+_080AB80C: .4byte gUnknown_08D1725C
+_080AB810: .4byte 0x0600d000
+_080AB814:
+ ldr r0, _080AB830 @ =gUnknown_08D17424
+ ldr r4, _080AB834 @ =0x0600e000
+ adds r1, r4, 0
+ bl LZDecompressVram
+ ldr r1, _080AB838 @ =0x02018a04
+ ldr r0, _080AB83C @ =0x040000d4
+ str r4, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _080AB840 @ =0x84000200
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ b _080AB946
+ .align 2, 0
+_080AB830: .4byte gUnknown_08D17424
+_080AB834: .4byte 0x0600e000
+_080AB838: .4byte 0x02018a04
+_080AB83C: .4byte 0x040000d4
+_080AB840: .4byte 0x84000200
+_080AB844:
+ ldr r0, _080AB8AC @ =gUnknown_08D17144
+ movs r2, 0x80
+ lsls r2, 2
+ movs r1, 0
+ bl LoadCompressedPalette
+ ldr r5, _080AB8B0 @ =gPlttBufferUnfaded + 0x100
+ ldr r6, _080AB8B4 @ =REG_BG0CNT
+ adds r0, r5, 0
+ mov r1, sp
+ adds r2, r6, 0
+ bl CpuSet
+ ldr r0, _080AB8B8 @ =gUnknown_02038695
+ mov r9, r0
+ ldrb r0, [r0]
+ adds r0, 0x5
+ lsls r0, 5
+ ldr r1, _080AB8BC @ =0xffffff00
+ adds r1, r5
+ mov r8, r1
+ add r0, r8
+ add r4, sp, 0x20
+ adds r1, r4, 0
+ adds r2, r6, 0
+ bl CpuSet
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl CpuSet
+ mov r2, r9
+ ldrb r1, [r2]
+ adds r1, 0x5
+ lsls r1, 5
+ add r1, r8
+ mov r0, sp
+ adds r2, r6, 0
+ bl CpuSet
+ ldr r1, _080AB8C0 @ =0x02018004
+ ldr r0, _080AB8C4 @ =0x040000d4
+ mov r2, r8
+ str r2, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _080AB8C8 @ =0x84000080
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ bl sub_80AB350
+ b _080AB946
+ .align 2, 0
+_080AB8AC: .4byte gUnknown_08D17144
+_080AB8B0: .4byte gPlttBufferUnfaded + 0x100
+_080AB8B4: .4byte REG_BG0CNT
+_080AB8B8: .4byte gUnknown_02038695
+_080AB8BC: .4byte 0xffffff00
+_080AB8C0: .4byte 0x02018004
+_080AB8C4: .4byte 0x040000d4
+_080AB8C8: .4byte 0x84000080
+_080AB8CC:
+ bl sub_80B1118
+ bl sub_80AFA5C
+ bl sub_80AEB30
+ bl sub_80AE8B4
+ ldr r1, _080AB924 @ =0x02019204
+ movs r4, 0
+ strb r0, [r1, 0x12]
+ bl sub_80AFE30
+ bl sub_80B0034
+ bl sub_80B00C8
+ bl sub_80B0324
+ bl sub_80B0518
+ ldr r1, _080AB928 @ =gUnknown_02024A72
+ strb r4, [r1]
+ movs r0, 0x1
+ strb r0, [r1, 0x1]
+ movs r3, 0x3
+ strb r3, [r1, 0x2]
+ movs r2, 0x2
+ strb r2, [r1, 0x3]
+ ldr r0, _080AB92C @ =gUnknown_020239F8
+ strh r4, [r0]
+ ldr r4, _080AB930 @ =gUnknown_02024C07
+ strb r2, [r4]
+ ldr r0, _080AB934 @ =gUnknown_02024C08
+ strb r3, [r0]
+ bl sub_80AE858
+ ldr r2, _080AB938 @ =gUnknown_02024BE0
+ ldrb r1, [r4]
+ adds r1, r2
+ strb r0, [r1]
+ bl sub_80B292C
+ b _080AB946
+ .align 2, 0
+_080AB924: .4byte 0x02019204
+_080AB928: .4byte gUnknown_02024A72
+_080AB92C: .4byte gUnknown_020239F8
+_080AB930: .4byte gUnknown_02024C07
+_080AB934: .4byte gUnknown_02024C08
+_080AB938: .4byte gUnknown_02024BE0
+_080AB93C:
+ movs r0, 0
+ mov r1, r10
+ strb r0, [r1]
+ movs r0, 0x1
+ b _080AB950
+_080AB946:
+ mov r2, r10
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r2]
+ movs r0, 0
+_080AB950:
+ add sp, 0x44
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AB70C
+
+ thumb_func_start sub_80AB960
+sub_80AB960: @ 80AB960
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r1, _080AB994 @ =gPaletteFade
+ ldrb r2, [r1, 0x8]
+ movs r0, 0x7F
+ ands r0, r2
+ strb r0, [r1, 0x8]
+ ldrb r1, [r1, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ bne _080AB990
+ ldr r0, _080AB998 @ =gTasks
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r0
+ strh r2, [r1, 0x8]
+ strh r2, [r1, 0xA]
+ ldr r0, _080AB99C @ =sub_80AB9A0
+ str r0, [r1]
+_080AB990:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB994: .4byte gPaletteFade
+_080AB998: .4byte gTasks
+_080AB99C: .4byte sub_80AB9A0
+ thumb_func_end sub_80AB960
+
+ thumb_func_start sub_80AB9A0
+sub_80AB9A0: @ 80AB9A0
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080AB9C4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ adds r2, r1, 0
+ cmp r0, 0x4
+ bhi _080ABA7C
+ lsls r0, 2
+ ldr r1, _080AB9C8 @ =_080AB9CC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080AB9C4: .4byte gTasks
+_080AB9C8: .4byte _080AB9CC
+ .align 2, 0
+_080AB9CC:
+ .4byte _080AB9E0
+ .4byte _080ABA0A
+ .4byte _080ABA28
+ .4byte _080ABA44
+ .4byte _080ABA7C
+_080AB9E0:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r4, r0, r2
+ ldrh r0, [r4, 0xA]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3C
+ ble _080ABA9C
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ movs r0, 0x61
+ movs r1, 0
+ bl PlaySE12WithPanning
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _080ABA9C
+_080ABA0A:
+ ldr r1, _080ABA24 @ =gUnknown_030041B4
+ ldrh r0, [r1]
+ adds r0, 0x7
+ strh r0, [r1]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xA0
+ ble _080ABA9C
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r2
+ b _080ABA68
+ .align 2, 0
+_080ABA24: .4byte gUnknown_030041B4
+_080ABA28:
+ bl sub_80B2280
+ ldr r0, _080ABA40 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _080ABA9C
+ .align 2, 0
+_080ABA40: .4byte gTasks
+_080ABA44:
+ ldr r3, _080ABA70 @ =REG_BG0CNT
+ ldrb r2, [r3]
+ movs r1, 0x4
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r2
+ strb r0, [r3]
+ ldr r2, _080ABA74 @ =REG_BG2CNT
+ ldrb r0, [r2]
+ ands r1, r0
+ strb r1, [r2]
+ bl sub_80B1B14
+ ldr r1, _080ABA78 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+_080ABA68:
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+ b _080ABA9C
+ .align 2, 0
+_080ABA70: .4byte REG_BG0CNT
+_080ABA74: .4byte REG_BG2CNT
+_080ABA78: .4byte gTasks
+_080ABA7C:
+ ldr r0, _080ABAA4 @ =0x02019204
+ ldrb r1, [r0, 0x6]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _080ABA9C
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r2
+ strh r1, [r0, 0x8]
+ strh r1, [r0, 0xA]
+ ldr r1, _080ABAA8 @ =sub_80ABB70
+ str r1, [r0]
+_080ABA9C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ABAA4: .4byte 0x02019204
+_080ABAA8: .4byte sub_80ABB70
+ thumb_func_end sub_80AB9A0
+
+ thumb_func_start sub_80ABAAC
+sub_80ABAAC: @ 80ABAAC
+ push {lr}
+ bl AnimateSprites
+ bl RunTasks
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80ABAAC
+
+ thumb_func_start sub_80ABAC4
+sub_80ABAC4: @ 80ABAC4
+ push {lr}
+ ldr r1, _080ABB3C @ =REG_BG0HOFS
+ ldr r0, _080ABB40 @ =gUnknown_030042A4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080ABB44 @ =gUnknown_030042A0
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080ABB48 @ =gUnknown_030042C0
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080ABB4C @ =gUnknown_030041B4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080ABB50 @ =gUnknown_03004288
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080ABB54 @ =gUnknown_03004280
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080ABB58 @ =gUnknown_030041B0
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080ABB5C @ =gUnknown_030041B8
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x22
+ ldr r0, _080ABB60 @ =gUnknown_030042C4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x4
+ ldr r0, _080ABB64 @ =gUnknown_03004240
+ ldrh r0, [r0]
+ strh r0, [r1]
+ subs r1, 0x2
+ ldr r0, _080ABB68 @ =gUnknown_03004200
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x4
+ ldr r0, _080ABB6C @ =gUnknown_03004244
+ ldrh r0, [r0]
+ strh r0, [r1]
+ bl TransferPlttBuffer
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl sub_8089668
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ABB3C: .4byte REG_BG0HOFS
+_080ABB40: .4byte gUnknown_030042A4
+_080ABB44: .4byte gUnknown_030042A0
+_080ABB48: .4byte gUnknown_030042C0
+_080ABB4C: .4byte gUnknown_030041B4
+_080ABB50: .4byte gUnknown_03004288
+_080ABB54: .4byte gUnknown_03004280
+_080ABB58: .4byte gUnknown_030041B0
+_080ABB5C: .4byte gUnknown_030041B8
+_080ABB60: .4byte gUnknown_030042C4
+_080ABB64: .4byte gUnknown_03004240
+_080ABB68: .4byte gUnknown_03004200
+_080ABB6C: .4byte gUnknown_03004244
+ thumb_func_end sub_80ABAC4
+
+ thumb_func_start sub_80ABB70
+sub_80ABB70: @ 80ABB70
+ push {r4-r6,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, _080ABBB0 @ =gUnknown_030042A0
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080ABBB4 @ =gUnknown_03004280
+ strh r1, [r0]
+ bl sub_80B0D7C
+ ldr r1, _080ABBB8 @ =gPlttBufferUnfaded
+ ldr r2, _080ABBBC @ =0x02018204
+ ldr r0, _080ABBC0 @ =0x040000d4
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ ldr r1, _080ABBC4 @ =0x84000100
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ ldr r0, _080ABBC8 @ =gUnknown_02038695
+ ldrb r0, [r0]
+ bl sub_80AF59C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080ABBD4
+ ldr r0, _080ABBCC @ =gUnknown_020238CC
+ ldr r1, _080ABBD0 @ =gUnknown_083CAF84
+ bl StringCopy
+ b _080ABBDC
+ .align 2, 0
+_080ABBB0: .4byte gUnknown_030042A0
+_080ABBB4: .4byte gUnknown_03004280
+_080ABBB8: .4byte gPlttBufferUnfaded
+_080ABBBC: .4byte 0x02018204
+_080ABBC0: .4byte 0x040000d4
+_080ABBC4: .4byte 0x84000100
+_080ABBC8: .4byte gUnknown_02038695
+_080ABBCC: .4byte gUnknown_020238CC
+_080ABBD0: .4byte gUnknown_083CAF84
+_080ABBD4:
+ ldr r0, _080ABC20 @ =gUnknown_020238CC
+ ldr r1, _080ABC24 @ =gUnknown_083CAFAE
+ bl StringCopy
+_080ABBDC:
+ ldr r5, _080ABC20 @ =gUnknown_020238CC
+ ldr r0, _080ABC28 @ =0x02019204
+ ldrb r1, [r0, 0x1]
+ adds r1, 0x1
+ adds r0, r5, 0
+ bl sub_80AE020
+ bl sub_80AF138
+ ldr r4, _080ABC2C @ =gStringVar4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080ABC30 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080ABC34 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080ABC38 @ =sub_80ABC3C
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ABC20: .4byte gUnknown_020238CC
+_080ABC24: .4byte gUnknown_083CAFAE
+_080ABC28: .4byte 0x02019204
+_080ABC2C: .4byte gStringVar4
+_080ABC30: .4byte gMenuWindow
+_080ABC34: .4byte gTasks
+_080ABC38: .4byte sub_80ABC3C
+ thumb_func_end sub_80ABB70
+
+ thumb_func_start sub_80ABC3C
+sub_80ABC3C: @ 80ABC3C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080ABC64 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080ABC5E
+ ldr r0, _080ABC68 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ABC6C @ =sub_80ABC70
+ str r0, [r1]
+_080ABC5E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ABC64: .4byte gMenuWindow
+_080ABC68: .4byte gTasks
+_080ABC6C: .4byte sub_80ABC70
+ thumb_func_end sub_80ABC3C
+
+ thumb_func_start sub_80ABC70
+sub_80ABC70: @ 80ABC70
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ ldr r0, _080ABCB0 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080ABC88
+ cmp r1, 0x2
+ bne _080ABCCE
+_080ABC88:
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _080ABCB4 @ =gUnknown_02038695
+ ldrb r0, [r0]
+ bl sub_80AF59C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080ABCC0
+ movs r0, 0x1
+ bl sub_80AFFE0
+ ldr r0, _080ABCB8 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ABCBC @ =sub_80ABCDC
+ b _080ABCCC
+ .align 2, 0
+_080ABCB0: .4byte gMain
+_080ABCB4: .4byte gUnknown_02038695
+_080ABCB8: .4byte gTasks
+_080ABCBC: .4byte sub_80ABCDC
+_080ABCC0:
+ ldr r0, _080ABCD4 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ABCD8 @ =sub_80AC0C8
+_080ABCCC:
+ str r0, [r1]
+_080ABCCE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ABCD4: .4byte gTasks
+_080ABCD8: .4byte sub_80AC0C8
+ thumb_func_end sub_80ABC70
+
+ thumb_func_start sub_80ABCDC
+sub_80ABCDC: @ 80ABCDC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x2C
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x28]
+ ldr r0, _080ABD80 @ =gUnknown_030042A0
+ movs r1, 0xA0
+ strh r1, [r0]
+ ldr r0, _080ABD84 @ =gUnknown_03004280
+ strh r1, [r0]
+ ldr r5, _080ABD88 @ =gUnknown_03004210
+ ldr r4, _080ABD8C @ =gUnknown_083CA340
+ ldrb r2, [r4]
+ ldrb r3, [r4, 0x1]
+ ldrb r0, [r4, 0x2]
+ str r0, [sp]
+ ldrb r0, [r4, 0x3]
+ str r0, [sp, 0x4]
+ adds r0, r5, 0
+ movs r1, 0
+ bl FillWindowRect_DefaultPalette
+ movs r6, 0
+ ldr r0, _080ABD90 @ =gUnknown_02038695
+ mov r8, r0
+ ldr r7, _080ABD94 @ =0x02019260
+ mov r9, r5
+ mov r10, r4
+_080ABD1C:
+ lsls r1, r6, 1
+ mov r3, r8
+ ldrb r2, [r3]
+ lsls r0, r2, 6
+ adds r1, r0
+ ldr r0, _080ABD98 @ =gUnknown_0203858E
+ adds r1, r0
+ ldrh r4, [r1]
+ add r5, sp, 0x8
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ adds r0, r7
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _080ABDA0
+ adds r0, r2, 0
+ bl sub_80B214C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080ABDA0
+ mov r2, r8
+ ldrb r1, [r2]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r7
+ ldrh r0, [r0, 0x8]
+ adds r1, r4, 0
+ bl AreMovesContestCombo
+ lsls r0, 24
+ cmp r0, 0
+ beq _080ABDA0
+ mov r3, r8
+ ldrb r1, [r3]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r7
+ ldrb r1, [r0, 0x15]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080ABDA0
+ add r0, sp, 0x8
+ ldr r1, _080ABD9C @ =gUnknownText_UnknownFormatting2
+ b _080ABDC6
+ .align 2, 0
+_080ABD80: .4byte gUnknown_030042A0
+_080ABD84: .4byte gUnknown_03004280
+_080ABD88: .4byte gUnknown_03004210
+_080ABD8C: .4byte gUnknown_083CA340
+_080ABD90: .4byte gUnknown_02038695
+_080ABD94: .4byte 0x02019260
+_080ABD98: .4byte gUnknown_0203858E
+_080ABD9C: .4byte gUnknownText_UnknownFormatting2
+_080ABDA0:
+ cmp r4, 0
+ beq _080ABDCC
+ mov r1, r8
+ ldrb r0, [r1]
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r7
+ ldrh r0, [r1, 0x8]
+ cmp r0, r4
+ bne _080ABDCC
+ ldr r0, _080ABE74 @ =gContestMoves
+ lsls r1, r4, 3
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0x3
+ beq _080ABDCC
+ add r0, sp, 0x8
+ ldr r1, _080ABE78 @ =gUnknownText_UnknownFormatting3
+_080ABDC6:
+ bl StringCopy
+ adds r5, r0, 0
+_080ABDCC:
+ movs r0, 0xD
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, _080ABE7C @ =gMoveNames
+ adds r1, r0
+ adds r0, r5, 0
+ bl StringCopy
+ lsls r1, r6, 2
+ adds r2, r1, r6
+ lsls r2, 18
+ movs r3, 0xC2
+ lsls r3, 18
+ adds r2, r3
+ lsrs r2, 16
+ mov r3, r10
+ adds r0, r1, r3
+ ldrb r3, [r0]
+ lsls r3, 3
+ adds r3, 0x4
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, _080ABE80 @ =gUnknown_083CA340 + 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ lsls r0, 3
+ str r0, [sp]
+ movs r0, 0x1
+ str r0, [sp, 0x4]
+ mov r0, r9
+ add r1, sp, 0x8
+ bl sub_8002E4C
+ mov r0, r9
+ bl sub_8002F44
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bhi _080ABE20
+ b _080ABD1C
+_080ABE20:
+ ldr r1, _080ABE84 @ =0x0000ffff
+ ldr r3, _080ABE88 @ =0x00002d9f
+ movs r0, 0x48
+ str r0, [sp]
+ movs r0, 0
+ movs r2, 0xC
+ bl sub_814A5C0
+ ldr r4, _080ABE8C @ =0x02019204
+ movs r0, 0
+ ldrsb r0, [r4, r0]
+ bl sub_80AC0AC
+ ldr r2, _080ABE90 @ =gUnknown_02038570
+ ldrb r1, [r4]
+ lsls r1, 1
+ ldr r0, _080ABE94 @ =gUnknown_02038695
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r2, 0x1E
+ adds r1, r2
+ ldrh r0, [r1]
+ bl sub_80AEBEC
+ ldr r1, _080ABE98 @ =gTasks
+ ldr r2, [sp, 0x28]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080ABE9C @ =sub_80ABEA0
+ str r1, [r0]
+ add sp, 0x2C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ABE74: .4byte gContestMoves
+_080ABE78: .4byte gUnknownText_UnknownFormatting3
+_080ABE7C: .4byte gMoveNames
+_080ABE80: .4byte gUnknown_083CA340 + 0x1
+_080ABE84: .4byte 0x0000ffff
+_080ABE88: .4byte 0x00002d9f
+_080ABE8C: .4byte 0x02019204
+_080ABE90: .4byte gUnknown_02038570
+_080ABE94: .4byte gUnknown_02038695
+_080ABE98: .4byte gTasks
+_080ABE9C: .4byte sub_80ABEA0
+ thumb_func_end sub_80ABCDC
+
+ thumb_func_start sub_80ABEA0
+sub_80ABEA0: @ 80ABEA0
+ push {r4-r7,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ ldr r3, _080ABEF4 @ =gMain
+ ldr r1, _080ABEF8 @ =gUnknown_02038570
+ ldr r0, _080ABEFC @ =gUnknown_02038695
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, 0x1E
+ adds r1, r0, r1
+ movs r2, 0x3
+_080ABEBA:
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _080ABEC6
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_080ABEC6:
+ adds r1, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080ABEBA
+ ldrh r0, [r3, 0x2E]
+ movs r5, 0x1
+ ands r5, r0
+ cmp r5, 0
+ beq _080ABF08
+ bl sub_814A7FC
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _080ABF00 @ =gTasks
+ lsls r1, r7, 2
+ adds r1, r7
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ABF04 @ =sub_80AC0C8
+ str r0, [r1]
+ b _080AC098
+ .align 2, 0
+_080ABEF4: .4byte gMain
+_080ABEF8: .4byte gUnknown_02038570
+_080ABEFC: .4byte gUnknown_02038695
+_080ABF00: .4byte gTasks
+_080ABF04: .4byte sub_80AC0C8
+_080ABF08:
+ ldrh r0, [r3, 0x30]
+ cmp r0, 0x20
+ bne _080ABF10
+ b _080AC098
+_080ABF10:
+ cmp r0, 0x20
+ bgt _080ABF1A
+ cmp r0, 0x2
+ beq _080ABF26
+ b _080AC098
+_080ABF1A:
+ cmp r0, 0x40
+ beq _080ABFEC
+ cmp r0, 0x80
+ bne _080ABF24
+ b _080AC048
+_080ABF24:
+ b _080AC098
+_080ABF26:
+ bl sub_814A904
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0
+ bl sub_80AFFE0
+ ldr r0, _080ABF64 @ =gUnknown_03004210
+ ldr r1, _080ABF68 @ =gUnknown_083CA340
+ ldrb r2, [r1]
+ ldrb r3, [r1, 0x1]
+ ldrb r4, [r1, 0x2]
+ str r4, [sp]
+ ldrb r1, [r1, 0x3]
+ str r1, [sp, 0x4]
+ movs r1, 0
+ bl FillWindowRect_DefaultPalette
+ ldr r0, _080ABF6C @ =gUnknown_02038695
+ ldrb r0, [r0]
+ bl sub_80AF59C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080ABF78
+ ldr r0, _080ABF70 @ =gUnknown_020238CC
+ ldr r1, _080ABF74 @ =gUnknown_083CAF84
+ bl StringCopy
+ b _080ABF80
+ .align 2, 0
+_080ABF64: .4byte gUnknown_03004210
+_080ABF68: .4byte gUnknown_083CA340
+_080ABF6C: .4byte gUnknown_02038695
+_080ABF70: .4byte gUnknown_020238CC
+_080ABF74: .4byte gUnknown_083CAF84
+_080ABF78:
+ ldr r0, _080ABFC8 @ =gUnknown_020238CC
+ ldr r1, _080ABFCC @ =gUnknown_083CAFAE
+ bl StringCopy
+_080ABF80:
+ ldr r5, _080ABFC8 @ =gUnknown_020238CC
+ ldr r0, _080ABFD0 @ =0x02019204
+ ldrb r1, [r0, 0x1]
+ adds r1, 0x1
+ adds r0, r5, 0
+ bl sub_80AE020
+ bl sub_80AF138
+ ldr r4, _080ABFD4 @ =gStringVar4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080ABFD8 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8003460
+ ldr r0, _080ABFDC @ =gUnknown_030042A0
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080ABFE0 @ =gUnknown_03004280
+ strh r1, [r0]
+ ldr r1, _080ABFE4 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080ABFE8 @ =sub_80ABC70
+ str r1, [r0]
+ b _080AC098
+ .align 2, 0
+_080ABFC8: .4byte gUnknown_020238CC
+_080ABFCC: .4byte gUnknown_083CAFAE
+_080ABFD0: .4byte 0x02019204
+_080ABFD4: .4byte gStringVar4
+_080ABFD8: .4byte gMenuWindow
+_080ABFDC: .4byte gUnknown_030042A0
+_080ABFE0: .4byte gUnknown_03004280
+_080ABFE4: .4byte gTasks
+_080ABFE8: .4byte sub_80ABC70
+_080ABFEC:
+ ldr r4, _080AC000 @ =0x02019204
+ movs r0, 0
+ ldrsb r0, [r4, r0]
+ bl nullsub_17
+ ldrb r0, [r4]
+ cmp r0, 0
+ bne _080AC004
+ subs r0, r6, 0x1
+ b _080AC006
+ .align 2, 0
+_080AC000: .4byte 0x02019204
+_080AC004:
+ subs r0, 0x1
+_080AC006:
+ strb r0, [r4]
+ ldr r4, _080AC03C @ =0x02019204
+ movs r0, 0
+ ldrsb r0, [r4, r0]
+ bl sub_80AC0AC
+ bl sub_80AED58
+ ldr r2, _080AC040 @ =gUnknown_02038570
+ ldrb r1, [r4]
+ lsls r1, 1
+ ldr r0, _080AC044 @ =gUnknown_02038695
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r2, 0x1E
+ adds r1, r2
+ ldrh r0, [r1]
+ bl sub_80AEBEC
+ cmp r6, 0x1
+ bls _080AC098
+ movs r0, 0x5
+ bl PlaySE
+ b _080AC098
+ .align 2, 0
+_080AC03C: .4byte 0x02019204
+_080AC040: .4byte gUnknown_02038570
+_080AC044: .4byte gUnknown_02038695
+_080AC048:
+ ldr r4, _080AC060 @ =0x02019204
+ movs r0, 0
+ ldrsb r0, [r4, r0]
+ bl nullsub_17
+ ldrb r1, [r4]
+ subs r0, r6, 0x1
+ cmp r1, r0
+ bne _080AC064
+ strb r5, [r4]
+ b _080AC068
+ .align 2, 0
+_080AC060: .4byte 0x02019204
+_080AC064:
+ adds r0, r1, 0x1
+ strb r0, [r4]
+_080AC068:
+ ldr r4, _080AC0A0 @ =0x02019204
+ movs r0, 0
+ ldrsb r0, [r4, r0]
+ bl sub_80AC0AC
+ bl sub_80AED58
+ ldr r2, _080AC0A4 @ =gUnknown_02038570
+ ldrb r1, [r4]
+ lsls r1, 1
+ ldr r0, _080AC0A8 @ =gUnknown_02038695
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r2, 0x1E
+ adds r1, r2
+ ldrh r0, [r1]
+ bl sub_80AEBEC
+ cmp r6, 0x1
+ bls _080AC098
+ movs r0, 0x5
+ bl PlaySE
+_080AC098:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AC0A0: .4byte 0x02019204
+_080AC0A4: .4byte gUnknown_02038570
+_080AC0A8: .4byte gUnknown_02038695
+ thumb_func_end sub_80ABEA0
+
+ thumb_func_start sub_80AC0AC
+sub_80AC0AC: @ 80AC0AC
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 28
+ movs r0, 0xB0
+ lsls r0, 23
+ adds r1, r0
+ lsrs r1, 24
+ movs r0, 0x4
+ bl sub_814A880
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AC0AC
+
+ thumb_func_start nullsub_17
+nullsub_17: @ 80AC0C4
+ bx lr
+ thumb_func_end nullsub_17
+
+ thumb_func_start sub_80AC0C8
+sub_80AC0C8: @ 80AC0C8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _080AC120 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AC13C
+ ldr r4, _080AC124 @ =gUnknown_02038695
+ ldrb r0, [r4]
+ bl sub_80AF15C
+ ldrb r2, [r4]
+ lsls r1, r2, 3
+ subs r1, r2
+ lsls r1, 2
+ ldr r2, _080AC128 @ =0x02019260
+ adds r1, r2
+ strh r0, [r1, 0x6]
+ ldr r4, _080AC12C @ =sub_80C8A38
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080AC130 @ =sub_80AC15C
+ adds r1, r4, 0
+ bl SetTaskFuncWithFollowupFunc
+ ldr r1, _080AC134 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080AC138 @ =nullsub_89
+ str r1, [r0]
+ bl sub_80AF860
+ movs r0, 0
+ bl sub_80AFFE0
+ b _080AC14E
+ .align 2, 0
+_080AC120: .4byte gUnknown_0203869A
+_080AC124: .4byte gUnknown_02038695
+_080AC128: .4byte 0x02019260
+_080AC12C: .4byte sub_80C8A38
+_080AC130: .4byte sub_80AC15C
+_080AC134: .4byte gTasks
+_080AC138: .4byte nullsub_89
+_080AC13C:
+ bl sub_80AF1B8
+ ldr r0, _080AC154 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080AC158 @ =sub_80AC188
+ str r0, [r1]
+_080AC14E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AC154: .4byte gTasks
+_080AC158: .4byte sub_80AC188
+ thumb_func_end sub_80AC0C8
+
+ thumb_func_start sub_80AC15C
+sub_80AC15C: @ 80AC15C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl DestroyTask
+ ldr r2, _080AC17C @ =gTasks
+ ldr r0, _080AC180 @ =0x02019204
+ ldrb r1, [r0, 0x8]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, _080AC184 @ =sub_80AC188
+ str r1, [r0]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AC17C: .4byte gTasks
+_080AC180: .4byte 0x02019204
+_080AC184: .4byte sub_80AC188
+ thumb_func_end sub_80AC15C
+
+ thumb_func_start sub_80AC188
+sub_80AC188: @ 80AC188
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ bl sub_80AF138
+ ldr r0, _080AC1E4 @ =gUnknown_030042A0
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080AC1E8 @ =gUnknown_03004280
+ strh r1, [r0]
+ movs r0, 0
+ bl sub_80AFFE0
+ ldr r1, _080AC1EC @ =gPlttBufferFaded
+ ldr r0, _080AC1F0 @ =0x02018604
+ movs r2, 0x80
+ lsls r2, 3
+ ldr r4, _080AC1F4 @ =0x040000d4
+ str r1, [r4]
+ str r0, [r4, 0x4]
+ lsrs r1, r2, 2
+ movs r3, 0x84
+ lsls r3, 24
+ orrs r1, r3
+ str r1, [r4, 0x8]
+ ldr r1, [r4, 0x8]
+ ldr r1, _080AC1F8 @ =0xfffffc00
+ adds r0, r1
+ movs r1, 0
+ bl LoadPalette
+ ldr r1, _080AC1FC @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ strh r1, [r0, 0xA]
+ ldr r1, _080AC200 @ =sub_80AC204
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AC1E4: .4byte gUnknown_030042A0
+_080AC1E8: .4byte gUnknown_03004280
+_080AC1EC: .4byte gPlttBufferFaded
+_080AC1F0: .4byte 0x02018604
+_080AC1F4: .4byte 0x040000d4
+_080AC1F8: .4byte 0xfffffc00
+_080AC1FC: .4byte gTasks
+_080AC200: .4byte sub_80AC204
+ thumb_func_end sub_80AC188
+
+ thumb_func_start sub_80AC204
+sub_80AC204: @ 80AC204
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080AC248 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _080AC242
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bne _080AC242
+ bl sub_80B1BDC
+ movs r0, 0x1
+ bl sub_80B25E4
+ ldr r0, _080AC24C @ =sub_80AC250
+ str r0, [r4]
+_080AC242:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AC248: .4byte gTasks
+_080AC24C: .4byte sub_80AC250
+ thumb_func_end sub_80AC204
+
+ thumb_func_start sub_80AC250
+sub_80AC250: @ 80AC250
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _080AC278 @ =0x02019204
+ ldrh r1, [r0, 0x6]
+ movs r0, 0x90
+ lsls r0, 2
+ ands r0, r1
+ cmp r0, 0
+ bne _080AC272
+ ldr r0, _080AC27C @ =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080AC280 @ =sub_80AC284
+ str r0, [r1]
+_080AC272:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AC278: .4byte 0x02019204
+_080AC27C: .4byte gTasks
+_080AC280: .4byte sub_80AC284
+ thumb_func_end sub_80AC250
+
+ thumb_func_start sub_80AC284
+sub_80AC284: @ 80AC284
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080AC2BC @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r2, r1, r2
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x13
+ ble _080AC2B6
+ ldr r1, _080AC2C0 @ =0x02019204
+ movs r0, 0
+ strb r0, [r1, 0x10]
+ ldr r0, _080AC2C4 @ =gRngValue
+ ldr r0, [r0]
+ str r0, [r1, 0x18]
+ movs r0, 0
+ strh r0, [r2, 0x8]
+ ldr r0, _080AC2C8 @ =sub_80AC2CC
+ str r0, [r2]
+_080AC2B6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AC2BC: .4byte gTasks
+_080AC2C0: .4byte 0x02019204
+_080AC2C4: .4byte gRngValue
+_080AC2C8: .4byte sub_80AC2CC
+ thumb_func_end sub_80AC284
+
+ thumb_func_start sub_80AC2CC
+sub_80AC2CC: @ 80AC2CC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r2, _080AC308 @ =0x02019204
+ ldrb r7, [r2, 0x11]
+ ldr r1, _080AC30C @ =gTasks
+ lsls r0, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r3, 0x8
+ ldrsh r0, [r0, r3]
+ adds r6, r2, 0
+ mov r12, r1
+ cmp r0, 0x3B
+ bls _080AC2FC
+ bl _080AD8CA
+_080AC2FC:
+ lsls r0, 2
+ ldr r1, _080AC310 @ =_080AC314
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080AC308: .4byte 0x02019204
+_080AC30C: .4byte gTasks
+_080AC310: .4byte _080AC314
+ .align 2, 0
+_080AC314:
+ .4byte _080AC404
+ .4byte _080AC4B4
+ .4byte _080AC4D4
+ .4byte _080AC534
+ .4byte _080AC5E8
+ .4byte _080AC638
+ .4byte _080AC6F8
+ .4byte _080AC730
+ .4byte _080AC77C
+ .4byte _080AC7F4
+ .4byte _080AD750
+ .4byte _080AD77C
+ .4byte _080AC98C
+ .4byte _080AC9C0
+ .4byte _080ACEC0
+ .4byte _080ACFD4
+ .4byte _080AD040
+ .4byte _080AD070
+ .4byte _080AD168
+ .4byte _080AD11A
+ .4byte _080AD7B8
+ .4byte _080AD868
+ .4byte _080AD88C
+ .4byte _080AC81E
+ .4byte _080AC8CC
+ .4byte _080ACAD8
+ .4byte _080ACAEE
+ .4byte _080ACBB0
+ .4byte _080ACBDC
+ .4byte _080ACC44
+ .4byte _080ACD2A
+ .4byte _080AD7E8
+ .4byte _080AD840
+ .4byte _080AD648
+ .4byte _080AD6D8
+ .4byte _080AC9EC
+ .4byte _080ACA24
+ .4byte _080ACA44
+ .4byte _080ACA84
+ .4byte _080ACC98
+ .4byte _080ACD00
+ .4byte _080AD1A4
+ .4byte _080AD8CA
+ .4byte _080AD514
+ .4byte _080AD8CA
+ .4byte _080ACFA8
+ .4byte _080AD0FA
+ .4byte _080AC96C
+ .4byte _080AC8F8
+ .4byte _080AC94C
+ .4byte _080ACAAE
+ .4byte _080ACDC8
+ .4byte _080ACE64
+ .4byte _080AD316
+ .4byte _080AD3D0
+ .4byte _080AD700
+ .4byte _080AD71C
+ .4byte _080AD53C
+ .4byte _080AD5D0
+ .4byte _080AD624
+_080AC404:
+ bl sub_80B0D7C
+ movs r6, 0
+ ldr r0, _080AC484 @ =0x02019204
+ adds r1, r0, 0
+ adds r1, 0xCC
+ ldrb r0, [r0, 0x10]
+ mov r4, r8
+ lsls r4, 2
+ mov r9, r4
+ ldrb r5, [r1]
+ cmp r0, r5
+ beq _080AC42C
+ adds r2, r1, 0
+ adds r1, r0, 0
+_080AC422:
+ adds r6, 0x1
+ adds r0, r6, r2
+ ldrb r0, [r0]
+ cmp r1, r0
+ bne _080AC422
+_080AC42C:
+ ldr r4, _080AC484 @ =0x02019204
+ strb r6, [r4, 0x11]
+ ldrb r7, [r4, 0x11]
+ ldr r0, _080AC488 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r5, 0x1
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080AC498
+ ldrb r0, [r4, 0x7]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4, 0x7]
+ bl sub_80AE074
+ lsls r0, 24
+ cmp r0, 0
+ beq _080AC458
+ ldrb r0, [r4, 0x11]
+ bl sub_80B114C
+_080AC458:
+ ldr r4, _080AC48C @ =sub_80C8C80
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080AC490 @ =sub_80AD8DC
+ adds r1, r4, 0
+ bl SetTaskFuncWithFollowupFunc
+ bl sub_80AF860
+ ldr r1, _080AC494 @ =gTasks
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC484: .4byte 0x02019204
+_080AC488: .4byte gUnknown_0203869A
+_080AC48C: .4byte sub_80C8C80
+_080AC490: .4byte sub_80AD8DC
+_080AC494: .4byte gTasks
+_080AC498:
+ adds r0, r7, 0
+ bl sub_80B114C
+ ldr r0, _080AC4B0 @ =gTasks
+ mov r1, r9
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x2
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC4B0: .4byte gTasks
+_080AC4B4:
+ ldrb r1, [r6, 0x7]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080AC4C2
+ bl _080AD8CA
+_080AC4C2:
+ mov r1, r8
+ lsls r0, r1, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x2
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+_080AC4D4:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080AC508 @ =0x02019260
+ adds r2, r0, r1
+ ldrb r1, [r2, 0xC]
+ movs r0, 0x6
+ ands r0, r1
+ cmp r0, 0
+ bne _080AC4F6
+ ldrb r1, [r2, 0xB]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0
+ beq _080AC50C
+_080AC4F6:
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x1F
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC508: .4byte 0x02019260
+_080AC50C:
+ bl sub_80AF138
+ adds r0, r7, 0
+ movs r1, 0
+ bl sub_80B0CDC
+ ldr r0, _080AC530 @ =gTasks
+ mov r3, r8
+ lsls r1, r3, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ strh r6, [r1, 0x1C]
+ movs r0, 0x3
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC530: .4byte gTasks
+_080AC534:
+ mov r4, r8
+ lsls r4, 2
+ mov r9, r4
+ ldr r4, _080AC5C4 @ =0x02019348
+ ldr r1, _080AC5C8 @ =gUnknown_02024E84
+ movs r2, 0
+ adds r0, r1, 0x3
+_080AC542:
+ strb r2, [r0]
+ subs r0, 0x1
+ cmp r0, r1
+ bge _080AC542
+ movs r6, 0x4
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x14
+ bl memset
+ ldr r5, _080AC5CC @ =0xfffffebc
+ adds r7, r4, r5
+ ldrb r0, [r7, 0x11]
+ bl sub_80B28F0
+ ldr r3, _080AC5D0 @ =gUnknown_02038570
+ ldrb r2, [r7, 0x11]
+ lsls r2, 6
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ adds r1, r3, 0
+ adds r1, 0x3C
+ adds r1, r2, r1
+ ldr r1, [r1]
+ adds r3, 0x38
+ adds r2, r3
+ ldr r2, [r2]
+ bl sub_80AE9FC
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r2, _080AC5D4 @ =gSprites
+ lsls r0, r5, 4
+ adds r0, r5
+ lsls r0, 2
+ adds r3, r0, r2
+ movs r1, 0x78
+ strh r1, [r3, 0x24]
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, _080AC5D8 @ =sub_80AD8FC
+ str r1, [r0]
+ ldr r0, _080AC5DC @ =gTasks
+ mov r4, r9
+ add r4, r8
+ lsls r4, 3
+ adds r4, r0
+ strh r5, [r4, 0xC]
+ ldr r1, _080AC5E0 @ =gUnknown_02024BE0
+ ldr r0, _080AC5E4 @ =gUnknown_02024C07
+ ldrb r0, [r0]
+ adds r0, r1
+ strb r5, [r0]
+ ldrb r0, [r7, 0x11]
+ bl sub_80B09E4
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_80B0BC4
+ strh r6, [r4, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC5C4: .4byte 0x02019348
+_080AC5C8: .4byte gUnknown_02024E84
+_080AC5CC: .4byte 0xfffffebc
+_080AC5D0: .4byte gUnknown_02038570
+_080AC5D4: .4byte gSprites
+_080AC5D8: .4byte sub_80AD8FC
+_080AC5DC: .4byte gTasks
+_080AC5E0: .4byte gUnknown_02024BE0
+_080AC5E4: .4byte gUnknown_02024C07
+_080AC5E8:
+ mov r1, r8
+ lsls r0, r1, 2
+ add r0, r8
+ lsls r0, 3
+ mov r3, r12
+ adds r2, r0, r3
+ ldrb r5, [r2, 0xC]
+ ldr r1, _080AC62C @ =gSprites
+ lsls r0, r5, 4
+ adds r0, r5
+ lsls r0, 2
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, _080AC630 @ =SpriteCallbackDummy
+ cmp r1, r0
+ beq _080AC60E
+ bl _080AD8CA
+_080AC60E:
+ lsls r0, r7, 2
+ ldr r1, _080AC634 @ =0x02019338
+ adds r0, r1
+ ldrb r1, [r0, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080AC622
+ bl _080AD8CA
+_080AC622:
+ movs r0, 0x5
+ strh r0, [r2, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC62C: .4byte gSprites
+_080AC630: .4byte SpriteCallbackDummy
+_080AC634: .4byte 0x02019338
+_080AC638:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080AC660 @ =0x02019260
+ adds r5, r0, r1
+ ldrb r1, [r5, 0xC]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AC664
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x21
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC660: .4byte 0x02019260
+_080AC664:
+ bl sub_80AF138
+ ldr r0, _080AC690 @ =gStringVar1
+ lsls r1, r7, 6
+ ldr r2, _080AC694 @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldrh r1, [r5, 0x6]
+ movs r0, 0xB1
+ lsls r0, 1
+ cmp r1, r0
+ bhi _080AC6A0
+ ldr r0, _080AC698 @ =gStringVar2
+ adds r2, r1, 0
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, _080AC69C @ =gMoveNames
+ adds r1, r2
+ bl StringCopy
+ b _080AC6B0
+ .align 2, 0
+_080AC690: .4byte gStringVar1
+_080AC694: .4byte gUnknown_02038572
+_080AC698: .4byte gStringVar2
+_080AC69C: .4byte gMoveNames
+_080AC6A0:
+ ldr r0, _080AC6E0 @ =gStringVar2
+ ldr r2, _080AC6E4 @ =gUnknown_083CC330
+ ldrb r1, [r5, 0xA]
+ lsls r1, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl StringCopy
+_080AC6B0:
+ ldr r4, _080AC6E8 @ =gStringVar4
+ ldr r1, _080AC6EC @ =gUnknown_083CAFD7
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080AC6F0 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080AC6F4 @ =gTasks
+ mov r5, r8
+ lsls r0, r5, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x6
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC6E0: .4byte gStringVar2
+_080AC6E4: .4byte gUnknown_083CC330
+_080AC6E8: .4byte gStringVar4
+_080AC6EC: .4byte gUnknown_083CAFD7
+_080AC6F0: .4byte gMenuWindow
+_080AC6F4: .4byte gTasks
+_080AC6F8:
+ ldr r0, _080AC724 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AC708
+ bl _080AD8CA
+_080AC708:
+ ldr r0, _080AC728 @ =0x02019204
+ adds r0, 0x5A
+ movs r1, 0
+ strb r1, [r0]
+ ldr r1, _080AC72C @ =gTasks
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x7
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC724: .4byte gMenuWindow
+_080AC728: .4byte 0x02019204
+_080AC72C: .4byte gTasks
+_080AC730:
+ ldrb r1, [r6, 0x11]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r1, r6, 0
+ adds r1, 0x5C
+ adds r0, r1
+ ldrh r0, [r0, 0x6]
+ bl sub_80B2760
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldrb r0, [r6, 0x11]
+ bl sub_80B2790
+ ldrb r0, [r6, 0x11]
+ bl sub_80B28F0
+ adds r0, r4, 0
+ bl sub_80B29B4
+ adds r0, r4, 0
+ bl move_anim_start_t1
+ ldr r1, _080AC778 @ =gTasks
+ mov r3, r8
+ lsls r0, r3, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x8
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC778: .4byte gTasks
+_080AC77C:
+ ldr r0, _080AC7B8 @ =gUnknown_0202F7AC
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, _080AC7BC @ =gUnknown_0202F7B1
+ ldrb r4, [r0]
+ cmp r4, 0
+ beq _080AC790
+ bl _080AD8CA
+_080AC790:
+ adds r0, r7, 0
+ bl unref_sub_80B28CC
+ ldr r1, _080AC7C0 @ =0x02019204
+ adds r0, r1, 0
+ adds r0, 0x5A
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080AC7C8
+ ldr r0, _080AC7C4 @ =gTasks
+ mov r5, r8
+ lsls r1, r5, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ strh r4, [r1, 0x1C]
+ movs r0, 0x9
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC7B8: .4byte gUnknown_0202F7AC
+_080AC7BC: .4byte gUnknown_0202F7B1
+_080AC7C0: .4byte 0x02019204
+_080AC7C4: .4byte gTasks
+_080AC7C8:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ adds r1, 0x5C
+ adds r0, r1
+ ldrb r1, [r0, 0x15]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _080AC7E2
+ adds r0, r7, 0
+ bl sub_80B03A8
+_080AC7E2:
+ bl unref_sub_80B20C4
+ ldr r0, _080AC7F0 @ =gTasks
+ mov r2, r8
+ lsls r1, r2, 2
+ b _080AC8E2
+ .align 2, 0
+_080AC7F0: .4byte gTasks
+_080AC7F4:
+ mov r3, r8
+ lsls r0, r3, 2
+ add r0, r8
+ lsls r0, 3
+ mov r4, r12
+ adds r2, r0, r4
+ ldrh r0, [r2, 0x1C]
+ adds r1, r0, 0x1
+ strh r1, [r2, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1E
+ bgt _080AC812
+ bl _080AD8CA
+_080AC812:
+ movs r0, 0
+ strh r0, [r2, 0x1C]
+ movs r0, 0x7
+ strh r0, [r2, 0x8]
+ bl _080AD8CA
+_080AC81E:
+ mov r5, r8
+ lsls r3, r5, 2
+ adds r0, r3, r5
+ lsls r0, 3
+ mov r1, r12
+ adds r4, r0, r1
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ lsls r2, r7, 3
+ subs r0, r2, r7
+ lsls r0, 2
+ ldr r1, _080AC858 @ =0x02019260
+ adds r6, r0, r1
+ ldrb r0, [r6, 0x13]
+ mov r9, r3
+ mov r10, r2
+ adds r3, r1, 0
+ cmp r0, 0xFF
+ beq _080AC85C
+ adds r1, r0, 0
+ adds r0, r7, 0
+ bl sub_80B146C
+ movs r0, 0xFF
+ strb r0, [r6, 0x13]
+ movs r0, 0x18
+ strh r0, [r4, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC858: .4byte 0x02019260
+_080AC85C:
+ ldrb r0, [r6, 0x14]
+ cmp r0, 0xFF
+ beq _080AC8C4
+ movs r6, 0
+ cmp r6, r7
+ beq _080AC86E
+ ldrb r0, [r3, 0x13]
+ cmp r0, 0xFF
+ bne _080AC886
+_080AC86E:
+ adds r6, 0x1
+ cmp r6, 0x3
+ bgt _080AC886
+ cmp r6, r7
+ beq _080AC86E
+ lsls r0, r6, 3
+ subs r0, r6
+ lsls r0, 2
+ adds r0, r3
+ ldrb r0, [r0, 0x13]
+ cmp r0, 0xFF
+ beq _080AC86E
+_080AC886:
+ cmp r6, 0x4
+ bne _080AC8B4
+ mov r2, r10
+ subs r4, r2, r7
+ lsls r4, 2
+ adds r4, r3
+ ldrb r1, [r4, 0x14]
+ adds r0, r7, 0
+ bl sub_80B146C
+ movs r0, 0xFF
+ strb r0, [r4, 0x14]
+ ldr r1, _080AC8B0 @ =gTasks
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x18
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC8B0: .4byte gTasks
+_080AC8B4:
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x30
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+_080AC8C4:
+ movs r0, 0x30
+ strh r0, [r4, 0x8]
+ bl _080AD8CA
+_080AC8CC:
+ ldr r0, _080AC8F0 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AC8DC
+ bl _080AD8CA
+_080AC8DC:
+ ldr r0, _080AC8F4 @ =gTasks
+ mov r3, r8
+ lsls r1, r3, 2
+_080AC8E2:
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x17
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC8F0: .4byte gMenuWindow
+_080AC8F4: .4byte gTasks
+_080AC8F8:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080AC914 @ =0x02019260
+ adds r0, r1
+ ldrb r0, [r0, 0x11]
+ movs r3, 0x3
+ ands r3, r0
+ cmp r3, 0x1
+ bne _080AC918
+ movs r0, 0x5
+ bl sub_80B1710
+ b _080AC934
+ .align 2, 0
+_080AC914: .4byte 0x02019260
+_080AC918:
+ cmp r3, 0x2
+ bne _080AC924
+ movs r0, 0x6
+ bl sub_80B1710
+ b _080AC934
+_080AC924:
+ cmp r3, 0x3
+ beq _080AC92E
+ mov r4, r8
+ lsls r0, r4, 2
+ b _080AC95E
+_080AC92E:
+ movs r0, 0x7
+ bl sub_80B1710
+_080AC934:
+ ldr r0, _080AC948 @ =gTasks
+ mov r5, r8
+ lsls r1, r5, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x31
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC948: .4byte gTasks
+_080AC94C:
+ ldrb r1, [r6, 0x6]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080AC95A
+ bl _080AD8CA
+_080AC95A:
+ mov r1, r8
+ lsls r0, r1, 2
+_080AC95E:
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x2F
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+_080AC96C:
+ movs r0, 0x1
+ bl sub_80B1FD0
+ ldr r0, _080AC988 @ =gTasks
+ mov r2, r8
+ lsls r1, r2, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0xC
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC988: .4byte gTasks
+_080AC98C:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080AC9B8 @ =0x02019260
+ adds r0, r1
+ movs r3, 0x2
+ ldrsh r1, [r0, r3]
+ movs r0, 0
+ adds r2, r7, 0
+ bl sub_80AFBA0
+ ldr r1, _080AC9BC @ =gTasks
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xD
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AC9B8: .4byte 0x02019260
+_080AC9BC: .4byte gTasks
+_080AC9C0:
+ ldrb r0, [r6, 0x11]
+ lsls r0, 2
+ movs r5, 0x9A
+ lsls r5, 1
+ adds r1, r6, r5
+ adds r0, r1
+ ldrb r1, [r0, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080AC9DA
+ bl _080AD8CA
+_080AC9DA:
+ mov r1, r8
+ lsls r0, r1, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x23
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+_080AC9EC:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080ACA1C @ =0x02019260
+ adds r0, r1
+ ldrb r1, [r0, 0x10]
+ movs r0, 0x30
+ ands r0, r1
+ cmp r0, 0x10
+ bne _080ACA06
+ movs r0, 0x8
+ bl sub_80B1710
+_080ACA06:
+ ldr r0, _080ACA20 @ =gTasks
+ mov r2, r8
+ lsls r1, r2, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x24
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACA1C: .4byte 0x02019260
+_080ACA20: .4byte gTasks
+_080ACA24:
+ ldrb r1, [r6, 0x6]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080ACA32
+ bl _080AD8CA
+_080ACA32:
+ mov r3, r8
+ lsls r0, r3, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x25
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+_080ACA44:
+ adds r0, r7, 0
+ movs r1, 0x1
+ bl sub_80AEE54
+ lsls r0, 24
+ cmp r0, 0
+ beq _080ACA70
+ ldr r1, _080ACA6C @ =gTasks
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x1C]
+ movs r1, 0x26
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACA6C: .4byte gTasks
+_080ACA70:
+ ldr r0, _080ACA80 @ =gTasks
+ mov r5, r8
+ lsls r1, r5, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ b _080ACAA6
+ .align 2, 0
+_080ACA80: .4byte gTasks
+_080ACA84:
+ mov r1, r8
+ lsls r0, r1, 2
+ add r0, r8
+ lsls r0, 3
+ mov r2, r12
+ adds r1, r0, r2
+ ldrh r0, [r1, 0x1C]
+ adds r0, 0x1
+ strh r0, [r1, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ bgt _080ACAA2
+ bl _080AD8CA
+_080ACAA2:
+ movs r0, 0
+ strh r0, [r1, 0x1C]
+_080ACAA6:
+ movs r0, 0x32
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+_080ACAAE:
+ adds r0, r7, 0
+ bl sub_80AF038
+ lsls r0, 24
+ cmp r0, 0
+ beq _080ACAC0
+ movs r0, 0x63
+ bl PlaySE
+_080ACAC0:
+ ldr r0, _080ACAD4 @ =gTasks
+ mov r3, r8
+ lsls r1, r3, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x19
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACAD4: .4byte gTasks
+_080ACAD8:
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0
+ strh r1, [r0, 0xA]
+ movs r1, 0x1A
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+_080ACAEE:
+ movs r2, 0
+ movs r4, 0
+ mov r5, r8
+ lsls r1, r5, 2
+ adds r0, r1, r5
+ lsls r0, 3
+ add r0, r12
+ movs r3, 0xA
+ ldrsh r6, [r0, r3]
+ mov r9, r1
+ cmp r6, 0x3
+ bgt _080ACB58
+ ldr r3, _080ACB24 @ =gUnknown_02038696
+ ldr r1, _080ACB28 @ =0x02019260
+_080ACB0A:
+ movs r4, 0
+ movs r2, 0
+ cmp r4, r7
+ beq _080ACB2C
+ ldrb r0, [r3]
+ cmp r0, r6
+ bne _080ACB2C
+ ldrb r0, [r1, 0x13]
+ cmp r0, 0xFF
+ beq _080ACB2C
+ movs r4, 0x1
+ b _080ACB60
+ .align 2, 0
+_080ACB24: .4byte gUnknown_02038696
+_080ACB28: .4byte 0x02019260
+_080ACB2C:
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _080ACB4E
+ cmp r2, r7
+ beq _080ACB2C
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ cmp r0, r6
+ bne _080ACB2C
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x13]
+ cmp r0, 0xFF
+ beq _080ACB2C
+ movs r4, 0x1
+_080ACB4E:
+ cmp r4, 0
+ bne _080ACB60
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080ACB0A
+_080ACB58:
+ lsls r0, r4, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ beq _080ACB98
+_080ACB60:
+ mov r5, r9
+ add r5, r8
+ lsls r5, 3
+ add r5, r12
+ ldr r0, _080ACB90 @ =gUnknown_02038696
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ strh r0, [r5, 0xA]
+ lsls r0, r2, 24
+ lsrs r0, 24
+ lsls r4, r2, 3
+ subs r4, r2
+ lsls r4, 2
+ ldr r1, _080ACB94 @ =0x02019260
+ adds r4, r1
+ ldrb r1, [r4, 0x13]
+ bl sub_80B146C
+ movs r0, 0xFF
+ strb r0, [r4, 0x13]
+ movs r0, 0x1B
+ strh r0, [r5, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACB90: .4byte gUnknown_02038696
+_080ACB94: .4byte 0x02019260
+_080ACB98:
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ strh r1, [r0, 0xA]
+ strh r1, [r0, 0x1C]
+ movs r1, 0x33
+ strh r1, [r0, 0x8]
+ bl sub_80AF120
+ bl _080AD8CA
+_080ACBB0:
+ ldr r0, _080ACBD4 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080ACBC0
+ bl _080AD8CA
+_080ACBC0:
+ ldr r0, _080ACBD8 @ =gTasks
+ mov r4, r8
+ lsls r1, r4, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x1C
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACBD4: .4byte gMenuWindow
+_080ACBD8: .4byte gTasks
+_080ACBDC:
+ movs r6, 0
+ mov r5, r8
+ lsls r0, r5, 2
+ adds r1, r0, r5
+ lsls r1, 3
+ add r1, r12
+ movs r3, 0xA
+ ldrsh r2, [r1, r3]
+ ldr r1, _080ACC38 @ =gUnknown_02038696
+ mov r9, r0
+ ldr r3, _080ACC3C @ =0x02019260
+ adds r5, r1, 0
+ ldrb r4, [r5]
+ cmp r2, r4
+ beq _080ACC08
+ adds r1, r2, 0
+ adds r2, r5, 0
+_080ACBFE:
+ adds r6, 0x1
+ adds r0, r6, r2
+ ldrb r0, [r0]
+ cmp r1, r0
+ bne _080ACBFE
+_080ACC08:
+ lsls r0, r6, 3
+ subs r0, r6
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0, 0xE]
+ ldrh r0, [r0, 0x2]
+ adds r0, r1
+ lsls r0, 16
+ asrs r0, 16
+ negs r1, r1
+ lsls r2, r6, 24
+ lsrs r2, 24
+ bl sub_80AFBA0
+ ldr r1, _080ACC40 @ =gTasks
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x1D
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACC38: .4byte gUnknown_02038696
+_080ACC3C: .4byte 0x02019260
+_080ACC40: .4byte gTasks
+_080ACC44:
+ movs r6, 0
+ mov r5, r8
+ lsls r0, r5, 2
+ adds r1, r0, r5
+ lsls r1, 3
+ add r1, r12
+ movs r2, 0xA
+ ldrsh r3, [r1, r2]
+ ldr r1, _080ACC90 @ =gUnknown_02038696
+ mov r9, r0
+ ldr r2, _080ACC94 @ =0x02019338
+ adds r5, r1, 0
+ ldrb r4, [r5]
+ cmp r3, r4
+ beq _080ACC6C
+_080ACC62:
+ adds r6, 0x1
+ adds r0, r6, r1
+ ldrb r0, [r0]
+ cmp r3, r0
+ bne _080ACC62
+_080ACC6C:
+ lsls r0, r6, 2
+ adds r0, r2
+ ldrb r1, [r0, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080ACC7E
+ bl _080AD8CA
+_080ACC7E:
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x27
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACC90: .4byte gUnknown_02038696
+_080ACC94: .4byte 0x02019338
+_080ACC98:
+ movs r6, 0
+ mov r5, r8
+ lsls r0, r5, 2
+ adds r1, r0, r5
+ lsls r1, 3
+ add r1, r12
+ movs r3, 0xA
+ ldrsh r2, [r1, r3]
+ ldr r1, _080ACCE8 @ =gUnknown_02038696
+ mov r9, r0
+ adds r5, r1, 0
+ ldrb r4, [r5]
+ cmp r2, r4
+ beq _080ACCC2
+ adds r1, r2, 0
+ adds r2, r5, 0
+_080ACCB8:
+ adds r6, 0x1
+ adds r0, r6, r2
+ ldrb r0, [r0]
+ cmp r1, r0
+ bne _080ACCB8
+_080ACCC2:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ bl sub_80AEE54
+ lsls r0, 24
+ cmp r0, 0
+ beq _080ACCF0
+ ldr r1, _080ACCEC @ =gTasks
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x1C]
+ movs r1, 0x28
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACCE8: .4byte gUnknown_02038696
+_080ACCEC: .4byte gTasks
+_080ACCF0:
+ ldr r0, _080ACCFC @ =gTasks
+ mov r1, r9
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ b _080ACD22
+ .align 2, 0
+_080ACCFC: .4byte gTasks
+_080ACD00:
+ mov r5, r8
+ lsls r0, r5, 2
+ add r0, r8
+ lsls r0, 3
+ mov r2, r12
+ adds r1, r0, r2
+ ldrh r0, [r1, 0x1C]
+ adds r0, 0x1
+ strh r0, [r1, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ bgt _080ACD1E
+ bl _080AD8CA
+_080ACD1E:
+ movs r0, 0
+ strh r0, [r1, 0x1C]
+_080ACD22:
+ movs r0, 0x1E
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+_080ACD2A:
+ movs r6, 0
+ ldr r2, _080ACD78 @ =gUnknown_02038696
+ ldrb r3, [r2]
+ mov r4, r8
+ lsls r1, r4, 2
+ adds r0, r1, r4
+ lsls r0, 3
+ mov r5, r12
+ adds r4, r0, r5
+ movs r5, 0xA
+ ldrsh r0, [r4, r5]
+ mov r9, r1
+ adds r5, r2, 0
+ cmp r3, r0
+ beq _080ACD5E
+ adds r3, r5, 0
+ adds r2, r4, 0
+_080ACD4C:
+ adds r6, 0x1
+ cmp r6, 0x3
+ bgt _080ACD5E
+ adds r0, r6, r3
+ ldrb r1, [r0]
+ movs r4, 0xA
+ ldrsh r0, [r2, r4]
+ cmp r1, r0
+ bne _080ACD4C
+_080ACD5E:
+ lsls r4, r6, 24
+ lsrs r0, r4, 24
+ bl sub_80AF038
+ lsls r0, 24
+ adds r5, r4, 0
+ cmp r0, 0
+ beq _080ACD7C
+ movs r0, 0x63
+ bl PlaySE
+ b _080ACD82
+ .align 2, 0
+_080ACD78: .4byte gUnknown_02038696
+_080ACD7C:
+ movs r0, 0x64
+ bl PlaySE
+_080ACD82:
+ lsls r0, r6, 3
+ subs r0, r6
+ lsls r0, 2
+ ldr r1, _080ACDC0 @ =0x02019260
+ adds r4, r0, r1
+ ldrb r1, [r4, 0x15]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080ACDA6
+ lsrs r0, r5, 24
+ bl sub_80B03A8
+ ldrb r1, [r4, 0x15]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x15]
+_080ACDA6:
+ ldr r0, _080ACDC4 @ =gTasks
+ mov r1, r9
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ movs r0, 0x1A
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACDC0: .4byte 0x02019260
+_080ACDC4: .4byte gTasks
+_080ACDC8:
+ mov r5, r8
+ lsls r2, r5, 2
+ adds r0, r2, r5
+ lsls r0, 3
+ mov r1, r12
+ adds r3, r0, r1
+ ldrh r0, [r3, 0x1C]
+ adds r1, r0, 0x1
+ strh r1, [r3, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ mov r9, r2
+ cmp r0, 0x9
+ bgt _080ACDE8
+ bl _080AD8CA
+_080ACDE8:
+ movs r0, 0
+ strh r0, [r3, 0x1C]
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080ACE48 @ =0x02019260
+ adds r2, r0, r1
+ ldrb r1, [r2, 0xC]
+ movs r0, 0x6
+ ands r0, r1
+ cmp r0, 0
+ bne _080ACE0A
+ ldrb r1, [r2, 0x11]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080ACE36
+_080ACE0A:
+ bl sub_80AF138
+ ldr r0, _080ACE4C @ =gStringVar1
+ lsls r1, r7, 6
+ ldr r2, _080ACE50 @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldr r4, _080ACE54 @ =gStringVar4
+ ldr r1, _080ACE58 @ =gUnknown_083CC103
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080ACE5C @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+_080ACE36:
+ ldr r0, _080ACE60 @ =gTasks
+ mov r1, r9
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x34
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACE48: .4byte 0x02019260
+_080ACE4C: .4byte gStringVar1
+_080ACE50: .4byte gUnknown_02038572
+_080ACE54: .4byte gStringVar4
+_080ACE58: .4byte gUnknown_083CC103
+_080ACE5C: .4byte gMenuWindow
+_080ACE60: .4byte gTasks
+_080ACE64:
+ ldr r0, _080ACE9C @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080ACE74
+ bl _080AD8CA
+_080ACE74:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080ACEA0 @ =0x02019260
+ adds r0, r1
+ ldrb r1, [r0, 0x15]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080ACEA8
+ ldr r0, _080ACEA4 @ =gTasks
+ mov r2, r8
+ lsls r1, r2, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x11
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACE9C: .4byte gMenuWindow
+_080ACEA0: .4byte 0x02019260
+_080ACEA4: .4byte gTasks
+_080ACEA8:
+ ldr r0, _080ACEBC @ =gTasks
+ mov r3, r8
+ lsls r1, r3, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0xE
+ strh r0, [r1, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACEBC: .4byte gTasks
+_080ACEC0:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080ACEE4 @ =0x02019260
+ adds r0, r1
+ ldrb r4, [r0, 0x16]
+ lsls r4, 24
+ lsrs r5, r4, 24
+ cmp r5, 0
+ beq _080ACF48
+ bl sub_80AF138
+ asrs r0, r4, 24
+ cmp r0, 0x1
+ bne _080ACEF0
+ ldr r0, _080ACEE8 @ =gMenuWindow
+ ldr r1, _080ACEEC @ =gUnknown_083CBD79
+ b _080ACEF8
+ .align 2, 0
+_080ACEE4: .4byte 0x02019260
+_080ACEE8: .4byte gMenuWindow
+_080ACEEC: .4byte gUnknown_083CBD79
+_080ACEF0:
+ cmp r0, 0x2
+ bne _080ACF10
+ ldr r0, _080ACF08 @ =gMenuWindow
+ ldr r1, _080ACF0C @ =gUnknown_083CBD9D
+_080ACEF8:
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r3, 0xF
+ str r3, [sp]
+ movs r3, 0x1
+ bl sub_8002EB0
+ b _080ACF22
+ .align 2, 0
+_080ACF08: .4byte gMenuWindow
+_080ACF0C: .4byte gUnknown_083CBD9D
+_080ACF10:
+ ldr r0, _080ACF3C @ =gMenuWindow
+ ldr r1, _080ACF40 @ =gUnknown_083CBDC6
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r3, 0xF
+ str r3, [sp]
+ movs r3, 0x1
+ bl sub_8002EB0
+_080ACF22:
+ movs r0, 0x3
+ bl sub_80B1710
+ ldr r1, _080ACF44 @ =gTasks
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x1C]
+ b _080ACF88
+ .align 2, 0
+_080ACF3C: .4byte gMenuWindow
+_080ACF40: .4byte gUnknown_083CBDC6
+_080ACF44: .4byte gTasks
+_080ACF48:
+ bl sub_80AF138
+ ldr r0, _080ACF90 @ =gStringVar1
+ lsls r1, r7, 6
+ ldr r2, _080ACF94 @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldr r4, _080ACF98 @ =gStringVar4
+ ldr r1, _080ACF9C @ =gUnknown_083CBD52
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080ACFA0 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ movs r0, 0x2
+ bl sub_80B1710
+ ldr r1, _080ACFA4 @ =gTasks
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x1C]
+_080ACF88:
+ movs r1, 0x2D
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACF90: .4byte gStringVar1
+_080ACF94: .4byte gUnknown_02038572
+_080ACF98: .4byte gStringVar4
+_080ACF9C: .4byte gUnknown_083CBD52
+_080ACFA0: .4byte gMenuWindow
+_080ACFA4: .4byte gTasks
+_080ACFA8:
+ ldrb r1, [r6, 0x6]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080ACFB6
+ bl _080AD8CA
+_080ACFB6:
+ ldrb r0, [r6, 0x11]
+ bl sub_80B09B0
+ ldr r1, _080ACFD0 @ =gTasks
+ mov r3, r8
+ lsls r0, r3, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xF
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080ACFD0: .4byte gTasks
+_080ACFD4:
+ ldr r0, _080AD034 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080ACFE4
+ bl _080AD8CA
+_080ACFE4:
+ ldr r1, _080AD038 @ =gTasks
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x1
+ strh r0, [r4, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x32
+ bgt _080AD002
+ bl _080AD8CA
+_080AD002:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080AD03C @ =0x02019260
+ adds r6, r0, r1
+ ldrb r1, [r6, 0x15]
+ movs r5, 0x10
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080AD02C
+ movs r1, 0x2
+ ldrsh r0, [r6, r1]
+ ldrb r1, [r6, 0x17]
+ adds r2, r7, 0
+ bl sub_80AFBA0
+ ldrh r0, [r6, 0x2]
+ ldrb r2, [r6, 0x17]
+ adds r0, r2
+ strh r0, [r6, 0x2]
+_080AD02C:
+ strh r5, [r4, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AD034: .4byte gMenuWindow
+_080AD038: .4byte gTasks
+_080AD03C: .4byte 0x02019260
+_080AD040:
+ lsls r0, r7, 2
+ ldr r1, _080AD06C @ =0x02019338
+ adds r0, r1
+ ldrb r1, [r0, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _080AD058
+ bl _080AD8CA
+_080AD058:
+ mov r3, r8
+ lsls r0, r3, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ strh r1, [r0, 0x1C]
+ movs r1, 0x11
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AD06C: .4byte 0x02019338
+_080AD070:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080AD0CC @ =0x02019260
+ adds r0, r1
+ ldrb r1, [r0, 0x15]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD0E8
+ bl sub_80AF138
+ ldr r0, _080AD0D0 @ =gStringVar1
+ lsls r1, r7, 6
+ ldr r2, _080AD0D4 @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldr r4, _080AD0D8 @ =gStringVar4
+ ldr r1, _080AD0DC @ =gUnknown_083CC075
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080AD0E0 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r0, _080AD0E4 @ =gTasks
+ mov r5, r8
+ lsls r4, r5, 2
+ add r4, r8
+ lsls r4, 3
+ adds r4, r0
+ movs r0, 0
+ strh r0, [r4, 0x1C]
+ bl sub_80B1710
+ movs r0, 0x2E
+ strh r0, [r4, 0x8]
+ bl _080AD8CA
+ .align 2, 0
+_080AD0CC: .4byte 0x02019260
+_080AD0D0: .4byte gStringVar1
+_080AD0D4: .4byte gUnknown_02038572
+_080AD0D8: .4byte gStringVar4
+_080AD0DC: .4byte gUnknown_083CC075
+_080AD0E0: .4byte gMenuWindow
+_080AD0E4: .4byte gTasks
+_080AD0E8:
+ mov r1, r8
+ lsls r0, r1, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x29
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+_080AD0FA:
+ ldrb r1, [r6, 0x6]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD108
+ bl _080AD8CA
+_080AD108:
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x13
+ strh r1, [r0, 0x8]
+ bl _080AD8CA
+_080AD11A:
+ ldr r0, _080AD15C @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AD12A
+ bl _080AD8CA
+_080AD12A:
+ lsls r4, r7, 3
+ subs r4, r7
+ lsls r4, 2
+ ldr r0, _080AD160 @ =0x02019260
+ adds r4, r0
+ movs r3, 0x2
+ ldrsh r0, [r4, r3]
+ ldrb r1, [r4, 0x18]
+ negs r1, r1
+ adds r2, r7, 0
+ bl sub_80AFBA0
+ ldrb r1, [r4, 0x18]
+ ldrh r0, [r4, 0x2]
+ subs r0, r1
+ strh r0, [r4, 0x2]
+ ldr r1, _080AD164 @ =gTasks
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x12
+ strh r1, [r0, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD15C: .4byte gMenuWindow
+_080AD160: .4byte 0x02019260
+_080AD164: .4byte gTasks
+_080AD168:
+ bl sub_80B0D7C
+ lsls r0, r7, 2
+ ldr r1, _080AD19C @ =0x02019338
+ adds r0, r1
+ ldrb r1, [r0, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0
+ beq _080AD182
+ b _080AD8CA
+_080AD182:
+ ldr r0, _080AD1A0 @ =gTasks
+ mov r5, r8
+ lsls r4, r5, 2
+ add r4, r8
+ lsls r4, 3
+ adds r4, r0
+ strh r6, [r4, 0x1C]
+ bl sub_80AF138
+ movs r0, 0x29
+ strh r0, [r4, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD19C: .4byte 0x02019338
+_080AD1A0: .4byte gTasks
+_080AD1A4:
+ ldr r2, _080AD1CC @ =0x02019328
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x1
+ ands r0, r1
+ adds r1, r2, 0
+ cmp r0, 0
+ beq _080AD1D0
+ ldr r0, [r1]
+ lsls r0, 20
+ lsrs r0, 29
+ cmp r7, r0
+ beq _080AD1D0
+ mov r1, r8
+ lsls r0, r1, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ movs r1, 0x39
+ strh r1, [r0, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD1CC: .4byte 0x02019328
+_080AD1D0:
+ ldrb r4, [r1]
+ lsls r2, r7, 3
+ subs r0, r2, r7
+ lsls r0, 2
+ subs r1, 0xC8
+ adds r5, r0, r1
+ ldrb r1, [r5, 0x11]
+ movs r0, 0x10
+ ands r0, r1
+ mov r10, r2
+ cmp r0, 0
+ beq _080AD204
+ movs r4, 0x1
+ ldr r0, _080AD1FC @ =gStringVar3
+ ldrh r2, [r5, 0x6]
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, _080AD200 @ =gMoveNames
+ adds r1, r2
+ bl StringCopy
+ b _080AD21E
+ .align 2, 0
+_080AD1FC: .4byte gStringVar3
+_080AD200: .4byte gMoveNames
+_080AD204:
+ ldr r0, _080AD270 @ =gStringVar3
+ ldr r3, _080AD274 @ =gUnknown_083CC2D8
+ ldr r2, _080AD278 @ =gContestMoves
+ ldrh r1, [r5, 0x6]
+ lsls r1, 3
+ adds r1, r2
+ ldrb r1, [r1, 0x1]
+ lsls r1, 29
+ lsrs r1, 27
+ adds r1, r3
+ ldr r1, [r1]
+ bl StringCopy
+_080AD21E:
+ lsls r0, r4, 24
+ cmp r0, 0
+ ble _080AD23A
+ mov r2, r10
+ subs r0, r2, r7
+ lsls r0, 2
+ ldr r1, _080AD27C @ =0x02019260
+ adds r0, r1
+ ldrb r1, [r0, 0x15]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD23A
+ movs r4, 0
+_080AD23A:
+ bl sub_80AF138
+ ldr r0, _080AD280 @ =gStringVar1
+ lsls r1, r7, 6
+ ldr r2, _080AD284 @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldr r3, _080AD288 @ =0x02019204
+ ldrb r0, [r3, 0x13]
+ lsls r1, r4, 24
+ asrs r2, r1, 24
+ adds r0, r2, r0
+ strb r0, [r3, 0x13]
+ lsls r0, 24
+ adds r4, r1, 0
+ cmp r0, 0
+ bge _080AD262
+ movs r0, 0
+ strb r0, [r3, 0x13]
+_080AD262:
+ cmp r2, 0
+ bne _080AD290
+ ldr r0, _080AD28C @ =gTasks
+ mov r3, r8
+ lsls r1, r3, 2
+ b _080AD6EC
+ .align 2, 0
+_080AD270: .4byte gStringVar3
+_080AD274: .4byte gUnknown_083CC2D8
+_080AD278: .4byte gContestMoves
+_080AD27C: .4byte 0x02019260
+_080AD280: .4byte gStringVar1
+_080AD284: .4byte gUnknown_02038572
+_080AD288: .4byte 0x02019204
+_080AD28C: .4byte gTasks
+_080AD290:
+ cmp r2, 0
+ bge _080AD2A8
+ ldr r0, _080AD2A0 @ =gStringVar4
+ ldr r1, _080AD2A4 @ =gUnknown_083CC0BC
+ bl StringExpandPlaceholders
+ b _080AD2D0
+ .align 2, 0
+_080AD2A0: .4byte gStringVar4
+_080AD2A4: .4byte gUnknown_083CC0BC
+_080AD2A8:
+ cmp r2, 0
+ ble _080AD2C8
+ movs r0, 0x13
+ ldrsb r0, [r3, r0]
+ cmp r0, 0x4
+ bgt _080AD2C8
+ ldr r0, _080AD2C0 @ =gStringVar4
+ ldr r1, _080AD2C4 @ =gUnknown_083CC0A0
+ bl StringExpandPlaceholders
+ b _080AD2D0
+ .align 2, 0
+_080AD2C0: .4byte gStringVar4
+_080AD2C4: .4byte gUnknown_083CC0A0
+_080AD2C8:
+ ldr r0, _080AD300 @ =gStringVar4
+ ldr r1, _080AD304 @ =gUnknown_083CC0E3
+ bl StringExpandPlaceholders
+_080AD2D0:
+ ldr r0, _080AD308 @ =gMenuWindow
+ ldr r1, _080AD300 @ =gStringVar4
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r3, 0xF
+ str r3, [sp]
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080AD30C @ =gTasks
+ mov r5, r8
+ lsls r0, r5, 2
+ add r0, r8
+ lsls r0, 3
+ adds r1, r0, r1
+ movs r0, 0
+ strh r0, [r1, 0x1C]
+ strh r0, [r1, 0x1E]
+ cmp r4, 0
+ bge _080AD310
+ movs r0, 0x35
+ strh r0, [r1, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD300: .4byte gStringVar4
+_080AD304: .4byte gUnknown_083CC0E3
+_080AD308: .4byte gMenuWindow
+_080AD30C: .4byte gTasks
+_080AD310:
+ movs r0, 0x36
+ strh r0, [r1, 0x8]
+ b _080AD8CA
+_080AD316:
+ mov r1, r8
+ lsls r0, r1, 2
+ add r0, r8
+ lsls r0, 3
+ mov r2, r12
+ adds r4, r0, r2
+ movs r3, 0x1C
+ ldrsh r2, [r4, r3]
+ cmp r2, 0x1
+ beq _080AD354
+ cmp r2, 0x1
+ bgt _080AD334
+ cmp r2, 0
+ beq _080AD33E
+ b _080AD8CA
+_080AD334:
+ cmp r2, 0x2
+ beq _080AD37C
+ cmp r2, 0x3
+ beq _080AD3B0
+ b _080AD8CA
+_080AD33E:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0x1
+ bl sub_80B1EA8
+ ldr r0, _080AD350 @ =0x00000187
+ bl PlayFanfare
+ b _080AD3A8
+ .align 2, 0
+_080AD350: .4byte 0x00000187
+_080AD354:
+ ldrb r0, [r6, 0x7]
+ ands r2, r0
+ cmp r2, 0
+ beq _080AD35E
+ b _080AD8CA
+_080AD35E:
+ ldr r0, _080AD378 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AD36C
+ b _080AD8CA
+_080AD36C:
+ movs r0, 0x1
+ negs r0, r0
+ bl sub_80B1CBC
+ b _080AD3A8
+ .align 2, 0
+_080AD378: .4byte gMenuWindow
+_080AD37C:
+ ldrb r1, [r6, 0x6]
+ movs r0, 0x20
+ ands r0, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _080AD38C
+ b _080AD8CA
+_080AD38C:
+ ldrh r0, [r4, 0x1E]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x1E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1D
+ bgt _080AD39C
+ b _080AD8CA
+_080AD39C:
+ strh r2, [r4, 0x1E]
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r1, 0
+ bl sub_80B1EA8
+_080AD3A8:
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x1
+ strh r0, [r4, 0x1C]
+ b _080AD8CA
+_080AD3B0:
+ ldr r0, _080AD3CC @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _080AD3C2
+ b _080AD8CA
+_080AD3C2:
+ strh r0, [r4, 0x1C]
+ strh r0, [r4, 0x1E]
+ movs r0, 0x2B
+ strh r0, [r4, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD3CC: .4byte gPaletteFade
+_080AD3D0:
+ mov r4, r8
+ lsls r1, r4, 2
+ adds r0, r1, r4
+ lsls r0, 3
+ add r0, r12
+ movs r5, 0x1C
+ ldrsh r0, [r0, r5]
+ mov r9, r1
+ cmp r0, 0x4
+ bls _080AD3E6
+ b _080AD8CA
+_080AD3E6:
+ lsls r0, 2
+ ldr r1, _080AD3F0 @ =_080AD3F4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080AD3F0: .4byte _080AD3F4
+ .align 2, 0
+_080AD3F4:
+ .4byte _080AD408
+ .4byte _080AD420
+ .4byte _080AD43E
+ .4byte _080AD4A0
+ .4byte _080AD4EC
+_080AD408:
+ ldr r0, _080AD41C @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AD416
+ b _080AD8CA
+_080AD416:
+ movs r0, 0x1
+ movs r1, 0x1
+ b _080AD4C8
+ .align 2, 0
+_080AD41C: .4byte gMenuWindow
+_080AD420:
+ ldrb r1, [r6, 0x7]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD42C
+ b _080AD8CA
+_080AD42C:
+ bl sub_80B1DDC
+ movs r0, 0xDF
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_80B1CBC
+ b _080AD4CC
+_080AD43E:
+ ldrb r1, [r6, 0x6]
+ movs r0, 0x20
+ ands r0, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _080AD44E
+ b _080AD8CA
+_080AD44E:
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ mov r1, r12
+ adds r3, r0, r1
+ ldrh r0, [r3, 0x1E]
+ adds r1, r0, 0x1
+ strh r1, [r3, 0x1E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1D
+ bgt _080AD468
+ b _080AD8CA
+_080AD468:
+ strh r2, [r3, 0x1E]
+ lsls r4, r7, 3
+ subs r4, r7
+ lsls r4, 2
+ adds r0, r6, 0
+ adds r0, 0x5C
+ adds r4, r0
+ movs r2, 0x2
+ ldrsh r0, [r4, r2]
+ movs r1, 0x92
+ lsls r1, 1
+ adds r5, r6, r1
+ movs r1, 0x2
+ ldrsb r1, [r5, r1]
+ adds r2, r7, 0
+ str r3, [sp, 0x4]
+ bl sub_80AFBA0
+ movs r0, 0x2
+ ldrsb r0, [r5, r0]
+ ldrh r2, [r4, 0x2]
+ adds r0, r2
+ strh r0, [r4, 0x2]
+ ldr r3, [sp, 0x4]
+ ldrh r0, [r3, 0x1C]
+ adds r0, 0x1
+ strh r0, [r3, 0x1C]
+ b _080AD8CA
+_080AD4A0:
+ lsls r0, r7, 2
+ ldr r2, _080AD4E0 @ =0x02019338
+ adds r0, r2
+ ldrb r1, [r0, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD4B2
+ b _080AD8CA
+_080AD4B2:
+ ldr r3, _080AD4E4 @ =0xfffffecc
+ adds r0, r2, r3
+ ldrb r1, [r0, 0x6]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD4C2
+ b _080AD8CA
+_080AD4C2:
+ movs r1, 0x1
+ negs r1, r1
+ movs r0, 0x1
+_080AD4C8:
+ bl sub_80B1EA8
+_080AD4CC:
+ ldr r0, _080AD4E8 @ =gTasks
+ mov r1, r9
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x1C]
+ adds r0, 0x1
+ strh r0, [r1, 0x1C]
+ b _080AD8CA
+ .align 2, 0
+_080AD4E0: .4byte 0x02019338
+_080AD4E4: .4byte 0xfffffecc
+_080AD4E8: .4byte gTasks
+_080AD4EC:
+ ldr r0, _080AD510 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _080AD4FE
+ b _080AD8CA
+_080AD4FE:
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ strh r1, [r0, 0x1C]
+ strh r1, [r0, 0x1E]
+ movs r1, 0x2B
+ strh r1, [r0, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD510: .4byte gPaletteFade
+_080AD514:
+ lsls r0, r7, 2
+ ldr r1, _080AD534 @ =0x02019338
+ adds r0, r1
+ ldrb r1, [r0, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD526
+ b _080AD8CA
+_080AD526:
+ bl sub_80AF138
+ ldr r0, _080AD538 @ =gTasks
+ mov r4, r8
+ lsls r1, r4, 2
+ b _080AD6EC
+ .align 2, 0
+_080AD534: .4byte 0x02019338
+_080AD538: .4byte gTasks
+_080AD53C:
+ bl sub_80AF138
+ ldr r0, _080AD5A8 @ =gStringVar3
+ ldr r4, _080AD5AC @ =0x02019328
+ ldr r1, [r4]
+ lsls r1, 20
+ lsrs r1, 29
+ lsls r1, 6
+ ldr r5, _080AD5B0 @ =gUnknown_02038572
+ adds r1, r5
+ bl StringCopy
+ ldr r0, _080AD5B4 @ =gStringVar1
+ lsls r1, r7, 6
+ adds r1, r5
+ bl StringCopy
+ ldr r0, _080AD5B8 @ =gStringVar2
+ lsls r1, r7, 3
+ subs r1, r7
+ lsls r1, 2
+ subs r4, 0xC8
+ adds r1, r4
+ ldrh r2, [r1, 0x6]
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, _080AD5BC @ =gMoveNames
+ adds r1, r2
+ bl StringCopy
+ ldr r4, _080AD5C0 @ =gStringVar4
+ ldr r1, _080AD5C4 @ =gUnknown_083CC14A
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080AD5C8 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080AD5CC @ =gTasks
+ mov r5, r8
+ lsls r0, r5, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x3A
+ strh r1, [r0, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD5A8: .4byte gStringVar3
+_080AD5AC: .4byte 0x02019328
+_080AD5B0: .4byte gUnknown_02038572
+_080AD5B4: .4byte gStringVar1
+_080AD5B8: .4byte gStringVar2
+_080AD5BC: .4byte gMoveNames
+_080AD5C0: .4byte gStringVar4
+_080AD5C4: .4byte gUnknown_083CC14A
+_080AD5C8: .4byte gMenuWindow
+_080AD5CC: .4byte gTasks
+_080AD5D0:
+ ldr r5, _080AD614 @ =gMenuWindow
+ adds r0, r5, 0
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AD5E0
+ b _080AD8CA
+_080AD5E0:
+ bl sub_80AF138
+ ldr r4, _080AD618 @ =gStringVar4
+ ldr r1, _080AD61C @ =gUnknown_083CC16E
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r0, 0xF
+ str r0, [sp]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080AD620 @ =gTasks
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x3B
+ strh r1, [r0, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD614: .4byte gMenuWindow
+_080AD618: .4byte gStringVar4
+_080AD61C: .4byte gUnknown_083CC16E
+_080AD620: .4byte gTasks
+_080AD624:
+ ldr r0, _080AD640 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AD632
+ b _080AD8CA
+_080AD632:
+ bl sub_80AF138
+ ldr r0, _080AD644 @ =gTasks
+ mov r3, r8
+ lsls r1, r3, 2
+ b _080AD6EC
+ .align 2, 0
+_080AD640: .4byte gMenuWindow
+_080AD644: .4byte gTasks
+_080AD648:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, _080AD6B4 @ =0x02019260
+ adds r4, r0, r1
+ ldrb r1, [r4, 0x15]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD664
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x15]
+_080AD664:
+ adds r0, r7, 0
+ bl sub_80B09B0
+ ldr r0, _080AD6B8 @ =gStringVar1
+ lsls r1, r7, 6
+ ldr r2, _080AD6BC @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldr r0, _080AD6C0 @ =gStringVar2
+ ldrh r2, [r4, 0x6]
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, _080AD6C4 @ =gMoveNames
+ adds r1, r2
+ bl StringCopy
+ ldr r4, _080AD6C8 @ =gStringVar4
+ ldr r1, _080AD6CC @ =gUnknown_083CBF60
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080AD6D0 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080AD6D4 @ =gTasks
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x22
+ strh r1, [r0, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD6B4: .4byte 0x02019260
+_080AD6B8: .4byte gStringVar1
+_080AD6BC: .4byte gUnknown_02038572
+_080AD6C0: .4byte gStringVar2
+_080AD6C4: .4byte gMoveNames
+_080AD6C8: .4byte gStringVar4
+_080AD6CC: .4byte gUnknown_083CBF60
+_080AD6D0: .4byte gMenuWindow
+_080AD6D4: .4byte gTasks
+_080AD6D8:
+ ldr r0, _080AD6F8 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AD6E6
+ b _080AD8CA
+_080AD6E6:
+ ldr r0, _080AD6FC @ =gTasks
+ mov r5, r8
+ lsls r1, r5, 2
+_080AD6EC:
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x37
+ strh r0, [r1, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD6F8: .4byte gMenuWindow
+_080AD6FC: .4byte gTasks
+_080AD700:
+ bl sub_80B1BDC
+ ldr r0, _080AD718 @ =gTasks
+ mov r2, r8
+ lsls r1, r2, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x38
+ strh r0, [r1, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD718: .4byte gTasks
+_080AD71C:
+ ldrb r1, [r6, 0x6]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _080AD72C
+ b _080AD8CA
+_080AD72C:
+ movs r0, 0x13
+ ldrsb r0, [r6, r0]
+ cmp r0, 0x4
+ ble _080AD73A
+ strb r1, [r6, 0x13]
+ bl sub_80B1928
+_080AD73A:
+ ldr r0, _080AD74C @ =gTasks
+ mov r3, r8
+ lsls r1, r3, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0xA
+ strh r0, [r1, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD74C: .4byte gTasks
+_080AD750:
+ mov r4, r8
+ lsls r2, r4, 2
+ add r2, r8
+ lsls r2, 3
+ add r2, r12
+ ldrb r5, [r2, 0xC]
+ ldr r1, _080AD774 @ =gSprites
+ lsls r0, r5, 4
+ adds r0, r5
+ lsls r0, 2
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _080AD778 @ =sub_80AD92C
+ str r1, [r0]
+ movs r0, 0xB
+ strh r0, [r2, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD774: .4byte gSprites
+_080AD778: .4byte sub_80AD92C
+_080AD77C:
+ mov r5, r8
+ lsls r0, r5, 2
+ add r0, r8
+ lsls r0, 3
+ mov r1, r12
+ adds r4, r0, r1
+ ldrb r5, [r4, 0xC]
+ ldr r1, _080AD7B4 @ =gSprites
+ lsls r0, r5, 4
+ adds r0, r5
+ lsls r0, 2
+ adds r6, r0, r1
+ adds r0, r6, 0
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ lsls r0, 29
+ cmp r0, 0
+ blt _080AD7A2
+ b _080AD8CA
+_080AD7A2:
+ adds r0, r6, 0
+ bl FreeSpriteOamMatrix
+ adds r0, r6, 0
+ bl DestroySprite
+ movs r0, 0x14
+ strh r0, [r4, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD7B4: .4byte gSprites
+_080AD7B8:
+ movs r6, 0
+ mov r2, r8
+ lsls r2, 2
+ mov r9, r2
+_080AD7C0:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ bl sub_80B0CDC
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080AD7C0
+ ldr r1, _080AD7E4 @ =gTasks
+ mov r0, r9
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x1C]
+ movs r1, 0x15
+ strh r1, [r0, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD7E4: .4byte gTasks
+_080AD7E8:
+ bl sub_80AF138
+ ldr r0, _080AD828 @ =gStringVar1
+ lsls r1, r7, 6
+ ldr r2, _080AD82C @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldr r4, _080AD830 @ =gStringVar4
+ ldr r1, _080AD834 @ =gUnknown_083CB00D
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080AD838 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080AD83C @ =gTasks
+ mov r3, r8
+ lsls r0, r3, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x20
+ strh r1, [r0, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD828: .4byte gStringVar1
+_080AD82C: .4byte gUnknown_02038572
+_080AD830: .4byte gStringVar4
+_080AD834: .4byte gUnknown_083CB00D
+_080AD838: .4byte gMenuWindow
+_080AD83C: .4byte gTasks
+_080AD840:
+ ldr r0, _080AD860 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080AD8CA
+ ldr r0, _080AD864 @ =gTasks
+ mov r4, r8
+ lsls r1, r4, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x15
+ strh r0, [r1, 0x8]
+ b _080AD8CA
+ .align 2, 0
+_080AD860: .4byte gMenuWindow
+_080AD864: .4byte gTasks
+_080AD868:
+ mov r5, r8
+ lsls r0, r5, 2
+ add r0, r8
+ lsls r0, 3
+ mov r2, r12
+ adds r1, r0, r2
+ ldrh r0, [r1, 0x1C]
+ adds r0, 0x1
+ strh r0, [r1, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1D
+ ble _080AD8CA
+ movs r0, 0
+ strh r0, [r1, 0x1C]
+ movs r0, 0x16
+ strh r0, [r1, 0x8]
+ b _080AD8CA
+_080AD88C:
+ ldrb r0, [r6, 0x10]
+ adds r0, 0x1
+ movs r1, 0
+ strb r0, [r6, 0x10]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x4
+ bne _080AD8B8
+ mov r3, r8
+ lsls r0, r3, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ strh r1, [r0, 0x8]
+ strh r1, [r0, 0xA]
+ strh r1, [r0, 0xC]
+ ldr r1, _080AD8B4 @ =sub_80AD960
+ str r1, [r0]
+ b _080AD8C4
+ .align 2, 0
+_080AD8B4: .4byte sub_80AD960
+_080AD8B8:
+ mov r4, r8
+ lsls r0, r4, 2
+ add r0, r8
+ lsls r0, 3
+ add r0, r12
+ strh r1, [r0, 0x8]
+_080AD8C4:
+ movs r0, 0
+ bl nullsub_18
+_080AD8CA:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AC2CC
+
+ thumb_func_start sub_80AD8DC
+sub_80AD8DC: @ 80AD8DC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _080AD8F8 @ =0x02019204
+ ldrb r2, [r3, 0x7]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r3, 0x7]
+ bl DestroyTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AD8F8: .4byte 0x02019204
+ thumb_func_end sub_80AD8DC
+
+ thumb_func_start sub_80AD8FC
+sub_80AD8FC: @ 80AD8FC
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x24]
+ movs r3, 0x24
+ ldrsh r2, [r1, r3]
+ cmp r2, 0
+ beq _080AD910
+ subs r0, 0x2
+ strh r0, [r1, 0x24]
+ b _080AD924
+_080AD910:
+ ldrh r0, [r1, 0x2E]
+ adds r0, 0x1
+ strh r0, [r1, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _080AD924
+ strh r2, [r1, 0x2E]
+ ldr r0, _080AD928 @ =SpriteCallbackDummy
+ str r0, [r1, 0x1C]
+_080AD924:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AD928: .4byte SpriteCallbackDummy
+ thumb_func_end sub_80AD8FC
+
+ thumb_func_start sub_80AD92C
+sub_80AD92C: @ 80AD92C
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x24]
+ subs r0, 0x6
+ strh r0, [r2, 0x24]
+ movs r1, 0x20
+ ldrsh r0, [r2, r1]
+ movs r3, 0x24
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ movs r1, 0x20
+ negs r1, r1
+ cmp r0, r1
+ bge _080AD956
+ ldr r0, _080AD95C @ =SpriteCallbackDummy
+ str r0, [r2, 0x1C]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_080AD956:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AD95C: .4byte SpriteCallbackDummy
+ thumb_func_end sub_80AD92C
+
+ thumb_func_start sub_80AD960
+sub_80AD960: @ 80AD960
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080AD984 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r5, r1, r2
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _080AD9F2
+ cmp r0, 0x1
+ bgt _080AD988
+ cmp r0, 0
+ beq _080AD98E
+ b _080ADA10
+ .align 2, 0
+_080AD984: .4byte gTasks
+_080AD988:
+ cmp r0, 0x2
+ beq _080ADA08
+ b _080ADA10
+_080AD98E:
+ ldr r0, _080AD9D8 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r6, 0x1
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080AD9E8
+ ldr r2, _080AD9DC @ =0x02019204
+ ldrb r0, [r2, 0x7]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2, 0x7]
+ bl sub_80AE074
+ lsls r0, 24
+ cmp r0, 0
+ beq _080AD9B8
+ bl sub_80AF2FC
+ bl sub_80AF3C0
+_080AD9B8:
+ ldr r4, _080AD9E0 @ =sub_80C8C80
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080AD9E4 @ =sub_80AD8DC
+ adds r1, r4, 0
+ bl SetTaskFuncWithFollowupFunc
+ bl sub_80AF860
+ strh r6, [r5, 0x8]
+ b _080ADA10
+ .align 2, 0
+_080AD9D8: .4byte gUnknown_0203869A
+_080AD9DC: .4byte 0x02019204
+_080AD9E0: .4byte sub_80C8C80
+_080AD9E4: .4byte sub_80AD8DC
+_080AD9E8:
+ bl sub_80AF2FC
+ bl sub_80AF3C0
+ b _080AD9FE
+_080AD9F2:
+ ldr r0, _080ADA04 @ =0x02019204
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ bne _080ADA10
+_080AD9FE:
+ movs r0, 0x2
+ strh r0, [r5, 0x8]
+ b _080ADA10
+ .align 2, 0
+_080ADA04: .4byte 0x02019204
+_080ADA08:
+ movs r0, 0
+ strh r0, [r5, 0x8]
+ ldr r0, _080ADA18 @ =sub_80ADA1C
+ str r0, [r5]
+_080ADA10:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADA18: .4byte sub_80ADA1C
+ thumb_func_end sub_80AD960
+
+ thumb_func_start sub_80ADA1C
+sub_80ADA1C: @ 80ADA1C
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ bl sub_80B1FD0
+ ldr r1, _080ADA44 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ strh r1, [r0, 0xA]
+ ldr r1, _080ADA48 @ =sub_80ADA4C
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADA44: .4byte gTasks
+_080ADA48: .4byte sub_80ADA4C
+ thumb_func_end sub_80ADA1C
+
+ thumb_func_start sub_80ADA4C
+sub_80ADA4C: @ 80ADA4C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080ADA70 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ movs r0, 0x8
+ ldrsh r5, [r4, r0]
+ cmp r5, 0x1
+ beq _080ADA92
+ cmp r5, 0x1
+ bgt _080ADA74
+ cmp r5, 0
+ beq _080ADA7A
+ b _080ADACE
+ .align 2, 0
+_080ADA70: .4byte gTasks
+_080ADA74:
+ cmp r5, 0x2
+ beq _080ADAC0
+ b _080ADACE
+_080ADA7A:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ ble _080ADACE
+ movs r0, 0x2
+ bl sub_80B25E4
+ strh r5, [r4, 0xA]
+ b _080ADAB2
+_080ADA92:
+ ldr r0, _080ADABC @ =0x02019204
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x2
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _080ADACE
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ ble _080ADACE
+ strh r1, [r4, 0xA]
+_080ADAB2:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _080ADACE
+ .align 2, 0
+_080ADABC: .4byte 0x02019204
+_080ADAC0:
+ bl sub_80AFF10
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ strh r0, [r4, 0xA]
+ ldr r0, _080ADAD4 @ =sub_80ADAD8
+ str r0, [r4]
+_080ADACE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADAD4: .4byte sub_80ADAD8
+ thumb_func_end sub_80ADA4C
+
+ thumb_func_start sub_80ADAD8
+sub_80ADAD8: @ 80ADAD8
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_80AFF28
+ lsls r0, 24
+ cmp r0, 0
+ beq _080ADAF6
+ ldr r0, _080ADAFC @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ADB00 @ =sub_80ADB04
+ str r0, [r1]
+_080ADAF6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADAFC: .4byte gTasks
+_080ADB00: .4byte sub_80ADB04
+ thumb_func_end sub_80ADAD8
+
+ thumb_func_start sub_80ADB04
+sub_80ADB04: @ 80ADB04
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080ADB30 @ =0x02018204
+ ldr r3, _080ADB34 @ =gPlttBufferUnfaded
+ ldr r1, _080ADB38 @ =0x040000d4
+ str r2, [r1]
+ str r3, [r1, 0x4]
+ ldr r2, _080ADB3C @ =0x84000100
+ str r2, [r1, 0x8]
+ ldr r1, [r1, 0x8]
+ ldr r2, _080ADB40 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r0, 0
+ strh r0, [r1, 0x8]
+ movs r0, 0x2
+ strh r0, [r1, 0xA]
+ ldr r0, _080ADB44 @ =sub_80ADB48
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080ADB30: .4byte 0x02018204
+_080ADB34: .4byte gPlttBufferUnfaded
+_080ADB38: .4byte 0x040000d4
+_080ADB3C: .4byte 0x84000100
+_080ADB40: .4byte gTasks
+_080ADB44: .4byte sub_80ADB48
+ thumb_func_end sub_80ADB04
+
+ thumb_func_start sub_80ADB48
+sub_80ADB48: @ 80ADB48
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080ADB80 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _080ADB7A
+ movs r0, 0
+ strh r0, [r1, 0x8]
+ ldrh r0, [r1, 0xA]
+ subs r0, 0x1
+ strh r0, [r1, 0xA]
+ lsls r0, 16
+ cmp r0, 0
+ bne _080ADB7A
+ ldr r0, _080ADB84 @ =sub_80ADB88
+ str r0, [r1]
+_080ADB7A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADB80: .4byte gTasks
+_080ADB84: .4byte sub_80ADB88
+ thumb_func_end sub_80ADB48
+
+ thumb_func_start sub_80ADB88
+sub_80ADB88: @ 80ADB88
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r6, _080ADBEC @ =gUnknown_02038695
+ ldrb r1, [r6]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ ldr r1, _080ADBF0 @ =0x02019260
+ adds r0, r1
+ ldrb r4, [r0, 0x1A]
+ bl sub_80AF138
+ ldr r0, _080ADBF4 @ =gStringVar1
+ ldrb r1, [r6]
+ lsls r1, 6
+ ldr r2, _080ADBF8 @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldr r6, _080ADBFC @ =gStringVar4
+ ldr r0, _080ADC00 @ =gUnknown_083CB2F0
+ lsls r4, 2
+ adds r4, r0
+ ldr r1, [r4]
+ adds r0, r6, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080ADC04 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r6, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080ADC08 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080ADC0C @ =sub_80ADC10
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADBEC: .4byte gUnknown_02038695
+_080ADBF0: .4byte 0x02019260
+_080ADBF4: .4byte gStringVar1
+_080ADBF8: .4byte gUnknown_02038572
+_080ADBFC: .4byte gStringVar4
+_080ADC00: .4byte gUnknown_083CB2F0
+_080ADC04: .4byte gMenuWindow
+_080ADC08: .4byte gTasks
+_080ADC0C: .4byte sub_80ADC10
+ thumb_func_end sub_80ADB88
+
+ thumb_func_start sub_80ADC10
+sub_80ADC10: @ 80ADC10
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080ADC40 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080ADC3A
+ ldr r1, _080ADC44 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ ldr r1, _080ADC48 @ =sub_80ADC4C
+ str r1, [r0]
+ bl sub_80B0D7C
+_080ADC3A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADC40: .4byte gMenuWindow
+_080ADC44: .4byte gTasks
+_080ADC48: .4byte sub_80ADC4C
+ thumb_func_end sub_80ADC10
+
+ thumb_func_start sub_80ADC4C
+sub_80ADC4C: @ 80ADC4C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080ADC7C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r0, [r4, 0x8]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1D
+ ble _080ADC76
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ bl sub_80AFF10
+ ldr r0, _080ADC80 @ =sub_80ADC84
+ str r0, [r4]
+_080ADC76:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADC7C: .4byte gTasks
+_080ADC80: .4byte sub_80ADC84
+ thumb_func_end sub_80ADC4C
+
+ thumb_func_start sub_80ADC84
+sub_80ADC84: @ 80ADC84
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_80AFF28
+ lsls r0, 24
+ cmp r0, 0
+ beq _080ADCA6
+ ldr r1, _080ADCAC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ ldr r1, _080ADCB0 @ =sub_80ADCB4
+ str r1, [r0]
+_080ADCA6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADCAC: .4byte gTasks
+_080ADCB0: .4byte sub_80ADCB4
+ thumb_func_end sub_80ADC84
+
+ thumb_func_start sub_80ADCB4
+sub_80ADCB4: @ 80ADCB4
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_80B2184
+ ldr r1, _080ADCD4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080ADCD8 @ =sub_80B237C
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADCD4: .4byte gTasks
+_080ADCD8: .4byte sub_80B237C
+ thumb_func_end sub_80ADCB4
+
+ thumb_func_start sub_80ADCDC
+sub_80ADCDC: @ 80ADCDC
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_80B2280
+ ldr r1, _080ADCFC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080ADD00 @ =sub_80ADD04
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADCFC: .4byte gTasks
+_080ADD00: .4byte sub_80ADD04
+ thumb_func_end sub_80ADCDC
+
+ thumb_func_start sub_80ADD04
+sub_80ADD04: @ 80ADD04
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r3, _080ADD40 @ =REG_BG0CNT
+ ldrb r2, [r3]
+ movs r1, 0x4
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r2
+ strb r0, [r3]
+ ldr r2, _080ADD44 @ =REG_BG2CNT
+ ldrb r0, [r2]
+ ands r1, r0
+ strb r1, [r2]
+ ldr r1, _080ADD48 @ =0x02019204
+ ldrb r0, [r1, 0x1]
+ adds r0, 0x1
+ strb r0, [r1, 0x1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _080ADD54
+ ldr r0, _080ADD4C @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ADD50 @ =sub_80ADDA4
+ b _080ADD64
+ .align 2, 0
+_080ADD40: .4byte REG_BG0CNT
+_080ADD44: .4byte REG_BG2CNT
+_080ADD48: .4byte 0x02019204
+_080ADD4C: .4byte gTasks
+_080ADD50: .4byte sub_80ADDA4
+_080ADD54:
+ bl sub_80B1B14
+ ldr r0, _080ADD6C @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ADD70 @ =sub_80ADD74
+_080ADD64:
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADD6C: .4byte gTasks
+_080ADD70: .4byte sub_80ADD74
+ thumb_func_end sub_80ADD04
+
+ thumb_func_start sub_80ADD74
+sub_80ADD74: @ 80ADD74
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _080ADD98 @ =0x02019204
+ ldrb r1, [r0, 0x6]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080ADD94
+ ldr r0, _080ADD9C @ =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ADDA0 @ =sub_80ABB70
+ str r0, [r1]
+_080ADD94:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADD98: .4byte 0x02019204
+_080ADD9C: .4byte gTasks
+_080ADDA0: .4byte sub_80ABB70
+ thumb_func_end sub_80ADD74
+
+ thumb_func_start sub_80ADDA4
+sub_80ADDA4: @ 80ADDA4
+ push {r4-r6,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, _080ADE24 @ =gUnknown_030042A0
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080ADE28 @ =gUnknown_03004280
+ strh r1, [r0]
+ ldr r3, _080ADE2C @ =0x02019260
+ ldr r2, _080ADE30 @ =gUnknown_02038680
+ movs r1, 0x3
+_080ADDBC:
+ ldrh r0, [r3, 0x4]
+ strh r0, [r2]
+ adds r3, 0x1C
+ adds r2, 0x2
+ subs r1, 0x1
+ cmp r1, 0
+ bge _080ADDBC
+ movs r5, 0
+ bl sub_80AF668
+ bl sub_80AF138
+ ldr r0, _080ADE34 @ =gUnknown_02038695
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ ldr r1, _080ADE2C @ =0x02019260
+ adds r0, r1
+ ldrh r0, [r0, 0x8]
+ bl sub_80BE23C
+ ldr r1, _080ADE38 @ =gUnknown_03005D28
+ ldr r0, _080ADE3C @ =gRngValue
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r4, _080ADE40 @ =gStringVar4
+ ldr r1, _080ADE44 @ =gUnknown_083CB02C
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r0, _080ADE48 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ ldr r1, _080ADE4C @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0xC]
+ ldr r1, _080ADE50 @ =sub_80ADE54
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADE24: .4byte gUnknown_030042A0
+_080ADE28: .4byte gUnknown_03004280
+_080ADE2C: .4byte 0x02019260
+_080ADE30: .4byte gUnknown_02038680
+_080ADE34: .4byte gUnknown_02038695
+_080ADE38: .4byte gUnknown_03005D28
+_080ADE3C: .4byte gRngValue
+_080ADE40: .4byte gStringVar4
+_080ADE44: .4byte gUnknown_083CB02C
+_080ADE48: .4byte gMenuWindow
+_080ADE4C: .4byte gTasks
+_080ADE50: .4byte sub_80ADE54
+ thumb_func_end sub_80ADDA4
+
+ thumb_func_start sub_80ADE54
+sub_80ADE54: @ 80ADE54
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080ADE98 @ =gMenuWindow
+ bl sub_80037A0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080ADE92
+ bl sub_80B2184
+ ldr r1, _080ADE9C @ =gUnknown_030042C0
+ movs r0, 0
+ strh r0, [r1]
+ ldr r1, _080ADEA0 @ =gUnknown_030041B4
+ movs r0, 0xA0
+ strh r0, [r1]
+ movs r0, 0x62
+ movs r1, 0
+ bl PlaySE12WithPanning
+ ldr r1, _080ADEA4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ ldr r1, _080ADEA8 @ =sub_80ADEAC
+ str r1, [r0]
+_080ADE92:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADE98: .4byte gMenuWindow
+_080ADE9C: .4byte gUnknown_030042C0
+_080ADEA0: .4byte gUnknown_030041B4
+_080ADEA4: .4byte gTasks
+_080ADEA8: .4byte sub_80ADEAC
+ thumb_func_end sub_80ADE54
+
+ thumb_func_start sub_80ADEAC
+sub_80ADEAC: @ 80ADEAC
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r1, _080ADEE0 @ =gUnknown_030041B4
+ ldrh r0, [r1]
+ subs r0, 0x7
+ strh r0, [r1]
+ lsls r0, 16
+ cmp r0, 0
+ bge _080ADEC4
+ movs r0, 0
+ strh r0, [r1]
+_080ADEC4:
+ ldrh r2, [r1]
+ cmp r2, 0
+ bne _080ADEDA
+ ldr r0, _080ADEE4 @ =gTasks
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080ADEE8 @ =sub_80ADEEC
+ str r0, [r1]
+ strh r2, [r1, 0x8]
+_080ADEDA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADEE0: .4byte gUnknown_030041B4
+_080ADEE4: .4byte gTasks
+_080ADEE8: .4byte sub_80ADEEC
+ thumb_func_end sub_80ADEAC
+
+ thumb_func_start sub_80ADEEC
+sub_80ADEEC: @ 80ADEEC
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080ADF20 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r0, [r4, 0x8]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x31
+ ble _080ADF40
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ ldr r0, _080ADF24 @ =gUnknown_0203869A
+ ldrb r0, [r0]
+ movs r1, 0x1
+ ands r1, r0
+ cmp r1, 0
+ beq _080ADF2C
+ ldr r0, _080ADF28 @ =sub_80ADF4C
+ b _080ADF3E
+ .align 2, 0
+_080ADF20: .4byte gTasks
+_080ADF24: .4byte gUnknown_0203869A
+_080ADF28: .4byte sub_80ADF4C
+_080ADF2C:
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _080ADF48 @ =sub_80ADFD8
+_080ADF3E:
+ str r0, [r4]
+_080ADF40:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADF48: .4byte sub_80ADFD8
+ thumb_func_end sub_80ADEEC
+
+ thumb_func_start sub_80ADF4C
+sub_80ADF4C: @ 80ADF4C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _080ADF88 @ =sub_80C8AD0
+ adds r0, r5, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080ADF8C @ =sub_80ADF98
+ adds r1, r5, 0
+ bl SetTaskFuncWithFollowupFunc
+ ldr r1, _080ADF90 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080ADF94 @ =nullsub_89
+ str r1, [r0]
+ bl sub_80AF860
+ movs r0, 0
+ bl sub_80AFFE0
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADF88: .4byte sub_80C8AD0
+_080ADF8C: .4byte sub_80ADF98
+_080ADF90: .4byte gTasks
+_080ADF94: .4byte nullsub_89
+ thumb_func_end sub_80ADF4C
+
+ thumb_func_start sub_80ADF98
+sub_80ADF98: @ 80ADF98
+ push {lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ bl DestroyTask
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r2, _080ADFCC @ =gTasks
+ ldr r0, _080ADFD0 @ =0x02019204
+ ldrb r1, [r0, 0x8]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, _080ADFD4 @ =sub_80ADFD8
+ str r1, [r0]
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080ADFCC: .4byte gTasks
+_080ADFD0: .4byte 0x02019204
+_080ADFD4: .4byte sub_80ADFD8
+ thumb_func_end sub_80ADF98
+
+ thumb_func_start sub_80ADFD8
+sub_80ADFD8: @ 80ADFD8
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _080AE000 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080ADFFC
+ adds r0, r2, 0
+ bl DestroyTask
+ ldr r0, _080AE004 @ =gUnknown_0300485C
+ ldr r1, _080AE008 @ =sub_80AE010
+ str r1, [r0]
+ ldr r0, _080AE00C @ =c2_exit_to_overworld_2_switch
+ bl SetMainCallback2
+_080ADFFC:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AE000: .4byte gPaletteFade
+_080AE004: .4byte gUnknown_0300485C
+_080AE008: .4byte sub_80AE010
+_080AE00C: .4byte c2_exit_to_overworld_2_switch
+ thumb_func_end sub_80ADFD8
+
+ thumb_func_start sub_80AE010
+sub_80AE010: @ 80AE010
+ push {lr}
+ bl ScriptContext2_Disable
+ bl EnableBothScriptContexts
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AE010
+
+ thumb_func_start sub_80AE020
+sub_80AE020: @ 80AE020
+ push {r4,lr}
+ adds r4, r0, 0
+ b _080AE028
+_080AE026:
+ adds r4, 0x1
+_080AE028:
+ ldrb r0, [r4]
+ cmp r0, 0xFF
+ beq _080AE04C
+ cmp r0, 0xFC
+ bne _080AE026
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0
+ bne _080AE026
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl ConvertIntToDecimalStringN
+ movs r1, 0xFF
+ strb r1, [r0]
+ adds r1, r4, 0x2
+ bl StringAppend
+_080AE04C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AE020
+
+ thumb_func_start sub_80AE054
+sub_80AE054: @ 80AE054
+ push {lr}
+ ldr r0, _080AE06C @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080AE068
+ ldr r1, _080AE070 @ =gUnknown_02038695
+ movs r0, 0x3
+ strb r0, [r1]
+_080AE068:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AE06C: .4byte gUnknown_0203869A
+_080AE070: .4byte gUnknown_02038695
+ thumb_func_end sub_80AE054
+
+ thumb_func_start sub_80AE074
+sub_80AE074: @ 80AE074
+ push {lr}
+ ldr r0, _080AE088 @ =gUnknown_02038695
+ ldr r1, _080AE08C @ =gUnknown_0203869B
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ beq _080AE090
+ movs r0, 0
+ b _080AE092
+ .align 2, 0
+_080AE088: .4byte gUnknown_02038695
+_080AE08C: .4byte gUnknown_0203869B
+_080AE090:
+ movs r0, 0x1
+_080AE092:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AE074
+
+ thumb_func_start sub_80AE098
+sub_80AE098: @ 80AE098
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r6, _080AE0F0 @ =gSaveBlock2
+ mov r0, sp
+ adds r1, r6, 0
+ bl StringCopy
+ mov r0, sp
+ bl StripExtCtrlCodes
+ ldr r0, _080AE0F4 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AE0CE
+ mov r0, sp
+ ldrb r2, [r0, 0x5]
+ mov r1, sp
+ movs r0, 0xFF
+ strb r0, [r1, 0x5]
+ mov r0, sp
+ strb r2, [r0, 0x7]
+_080AE0CE:
+ ldr r5, _080AE0F8 @ =gUnknown_02038695
+ ldrb r0, [r5]
+ lsls r0, 6
+ ldr r4, _080AE0FC @ =gUnknown_0203857D
+ adds r0, r4
+ mov r1, sp
+ movs r2, 0x8
+ bl memcpy
+ ldrb r0, [r6, 0x8]
+ cmp r0, 0
+ bne _080AE100
+ ldrb r0, [r5]
+ lsls r0, 6
+ adds r0, r4, r0
+ movs r1, 0xD8
+ b _080AE108
+ .align 2, 0
+_080AE0F0: .4byte gSaveBlock2
+_080AE0F4: .4byte gUnknown_0203869A
+_080AE0F8: .4byte gUnknown_02038695
+_080AE0FC: .4byte gUnknown_0203857D
+_080AE100:
+ ldrb r0, [r5]
+ lsls r0, 6
+ adds r0, r4, r0
+ movs r1, 0xD9
+_080AE108:
+ strb r1, [r0, 0x8]
+ ldr r5, _080AE17C @ =gUnknown_02038570
+ ldr r4, _080AE180 @ =gUnknown_02038695
+ ldrb r0, [r4]
+ lsls r0, 6
+ adds r1, r5, 0
+ adds r1, 0x18
+ adds r0, r1
+ movs r1, 0
+ str r1, [r0]
+ ldrb r0, [r4]
+ lsls r0, 6
+ adds r0, r5
+ adds r0, 0x2C
+ strb r1, [r0]
+ movs r0, 0x64
+ adds r1, r7, 0
+ muls r1, r0
+ ldr r0, _080AE184 @ =gPlayerParty
+ adds r6, r1, r0
+ adds r0, r6, 0
+ movs r1, 0xB
+ bl GetMonData
+ ldrb r1, [r4]
+ lsls r1, 6
+ adds r1, r5
+ strh r0, [r1]
+ adds r0, r6, 0
+ movs r1, 0x2
+ mov r2, sp
+ bl GetMonData
+ mov r0, sp
+ bl StringGetEnd10
+ ldr r0, _080AE188 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AE19A
+ mov r0, sp
+ bl StripExtCtrlCodes
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl GetMonData
+ cmp r0, 0x1
+ bne _080AE18C
+ mov r1, sp
+ movs r0, 0xFF
+ strb r0, [r1, 0x5]
+ movs r0, 0xFC
+ strb r0, [r1, 0xA]
+ b _080AE19A
+ .align 2, 0
+_080AE17C: .4byte gUnknown_02038570
+_080AE180: .4byte gUnknown_02038695
+_080AE184: .4byte gPlayerParty
+_080AE188: .4byte gUnknown_0203869A
+_080AE18C:
+ mov r0, sp
+ ldrb r2, [r0, 0x5]
+ mov r1, sp
+ movs r0, 0xFF
+ strb r0, [r1, 0x5]
+ mov r0, sp
+ strb r2, [r0, 0xA]
+_080AE19A:
+ ldr r5, _080AE2C4 @ =gUnknown_02038695
+ ldrb r0, [r5]
+ lsls r0, 6
+ ldr r1, _080AE2C8 @ =gUnknown_02038572
+ mov r8, r1
+ add r0, r8
+ mov r1, sp
+ movs r2, 0xB
+ bl memcpy
+ movs r0, 0x64
+ adds r4, r7, 0
+ muls r4, r0
+ ldr r0, _080AE2CC @ =gPlayerParty
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x16
+ bl GetMonData
+ mov r6, r8
+ subs r6, 0x2
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ adds r1, 0x26
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x17
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ adds r1, 0x27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x18
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ adds r1, 0x28
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x21
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ adds r1, 0x29
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x2F
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ adds r1, 0x2A
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x30
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ adds r1, 0x2B
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0xD
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ strh r0, [r1, 0x1E]
+ adds r0, r4, 0
+ movs r1, 0xE
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ strh r0, [r1, 0x20]
+ adds r0, r4, 0
+ movs r1, 0xF
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ strh r0, [r1, 0x22]
+ adds r0, r4, 0
+ movs r1, 0x10
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ adds r1, r6
+ strh r0, [r1, 0x24]
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ mov r2, r8
+ adds r2, 0x36
+ adds r1, r2
+ str r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl GetMonData
+ ldrb r1, [r5]
+ lsls r1, 6
+ movs r2, 0x3A
+ add r8, r2
+ add r1, r8
+ str r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl GetMonData
+ lsls r0, 16
+ lsrs r2, r0, 16
+ mov r8, r2
+ ldrb r0, [r5]
+ lsls r0, 6
+ adds r1, r0, r6
+ adds r0, r1, 0
+ adds r0, 0x26
+ ldrb r3, [r0]
+ adds r0, 0x1
+ ldrb r4, [r0]
+ adds r0, 0x1
+ ldrb r5, [r0]
+ adds r0, 0x1
+ ldrb r6, [r0]
+ adds r0, 0x1
+ ldrb r7, [r0]
+ cmp r2, 0xFE
+ bne _080AE2D0
+ adds r3, 0x14
+ b _080AE31E
+ .align 2, 0
+_080AE2C4: .4byte gUnknown_02038695
+_080AE2C8: .4byte gUnknown_02038572
+_080AE2CC: .4byte gPlayerParty
+_080AE2D0:
+ cmp r2, 0xFF
+ bne _080AE2E0
+ lsls r0, r4, 16
+ movs r1, 0xA0
+ lsls r1, 13
+ adds r0, r1
+ lsrs r4, r0, 16
+ b _080AE31E
+_080AE2E0:
+ movs r0, 0x80
+ lsls r0, 1
+ cmp r2, r0
+ bne _080AE2F4
+ lsls r0, r5, 16
+ movs r2, 0xA0
+ lsls r2, 13
+ adds r0, r2
+ lsrs r5, r0, 16
+ b _080AE31E
+_080AE2F4:
+ ldr r0, _080AE308 @ =0x00000101
+ cmp r2, r0
+ bne _080AE30C
+ lsls r0, r6, 16
+ movs r1, 0xA0
+ lsls r1, 13
+ adds r0, r1
+ lsrs r6, r0, 16
+ b _080AE31E
+ .align 2, 0
+_080AE308: .4byte 0x00000101
+_080AE30C:
+ movs r0, 0x81
+ lsls r0, 1
+ cmp r8, r0
+ bne _080AE31E
+ lsls r0, r7, 16
+ movs r2, 0xA0
+ lsls r2, 13
+ adds r0, r2
+ lsrs r7, r0, 16
+_080AE31E:
+ cmp r3, 0xFF
+ ble _080AE324
+ movs r3, 0xFF
+_080AE324:
+ lsls r0, r4, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _080AE32E
+ movs r4, 0xFF
+_080AE32E:
+ lsls r0, r5, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _080AE338
+ movs r5, 0xFF
+_080AE338:
+ lsls r0, r6, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _080AE342
+ movs r6, 0xFF
+_080AE342:
+ lsls r0, r7, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _080AE34C
+ movs r7, 0xFF
+_080AE34C:
+ ldr r2, _080AE390 @ =gUnknown_02038570
+ ldr r1, _080AE394 @ =gUnknown_02038695
+ ldrb r0, [r1]
+ lsls r0, 6
+ adds r0, r2
+ adds r0, 0x26
+ strb r3, [r0]
+ ldrb r0, [r1]
+ lsls r0, 6
+ adds r0, r2
+ adds r0, 0x27
+ strb r4, [r0]
+ ldrb r0, [r1]
+ lsls r0, 6
+ adds r0, r2
+ adds r0, 0x28
+ strb r5, [r0]
+ ldrb r0, [r1]
+ lsls r0, 6
+ adds r0, r2
+ adds r0, 0x29
+ strb r6, [r0]
+ ldrb r0, [r1]
+ lsls r0, 6
+ adds r0, r2
+ adds r0, 0x2A
+ strb r7, [r0]
+ add sp, 0x14
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AE390: .4byte gUnknown_02038570
+_080AE394: .4byte gUnknown_02038695
+ thumb_func_end sub_80AE098
+
+ thumb_func_start sub_80AE398
+sub_80AE398: @ 80AE398
+ push {r4-r7,lr}
+ sub sp, 0x40
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r7, r1, 24
+ movs r6, 0
+ bl sub_80AE054
+ movs r5, 0
+ ldr r2, _080AE470 @ =gUnknown_083C9408
+_080AE3AE:
+ ldrb r1, [r2, 0x1C]
+ lsls r0, r1, 30
+ lsrs r0, 30
+ cmp r7, r0
+ bne _080AE3FE
+ cmp r4, 0
+ bne _080AE3C2
+ lsls r0, r1, 29
+ cmp r0, 0
+ blt _080AE3F2
+_080AE3C2:
+ cmp r4, 0x1
+ bne _080AE3CE
+ ldrb r0, [r2, 0x1C]
+ lsls r0, 28
+ cmp r0, 0
+ blt _080AE3F2
+_080AE3CE:
+ cmp r4, 0x2
+ bne _080AE3DA
+ ldrb r0, [r2, 0x1C]
+ lsls r0, 27
+ cmp r0, 0
+ blt _080AE3F2
+_080AE3DA:
+ cmp r4, 0x3
+ bne _080AE3E6
+ ldrb r0, [r2, 0x1C]
+ lsls r0, 26
+ cmp r0, 0
+ blt _080AE3F2
+_080AE3E6:
+ cmp r4, 0x4
+ bne _080AE3FE
+ ldrb r0, [r2, 0x1C]
+ lsls r0, 25
+ cmp r0, 0
+ bge _080AE3FE
+_080AE3F2:
+ adds r0, r6, 0
+ adds r1, r0, 0x1
+ lsls r1, 24
+ lsrs r6, r1, 24
+ add r0, sp
+ strb r5, [r0]
+_080AE3FE:
+ adds r2, 0x40
+ adds r5, 0x1
+ cmp r5, 0x3B
+ ble _080AE3AE
+ mov r0, sp
+ adds r1, r0, r6
+ movs r0, 0xFF
+ strb r0, [r1]
+ movs r5, 0
+ ldr r7, _080AE470 @ =gUnknown_083C9408
+_080AE412:
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r6, 0
+ bl __modsi3
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _080AE474 @ =gUnknown_02038570
+ lsls r2, r5, 6
+ adds r2, r1
+ mov r1, sp
+ adds r4, r1, r0
+ ldrb r1, [r4]
+ lsls r1, 6
+ adds r1, r7
+ adds r0, r2, 0
+ movs r2, 0x40
+ bl memcpy
+ ldrb r0, [r4]
+ adds r2, r5, 0x1
+ subs r1, r6, 0x1
+ cmp r0, 0xFF
+ beq _080AE454
+ adds r3, r4, 0
+_080AE448:
+ ldrb r0, [r3, 0x1]
+ strb r0, [r3]
+ adds r3, 0x1
+ ldrb r0, [r3]
+ cmp r0, 0xFF
+ bne _080AE448
+_080AE454:
+ lsls r0, r1, 24
+ lsrs r6, r0, 24
+ adds r5, r2, 0
+ cmp r5, 0x2
+ ble _080AE412
+ ldr r0, _080AE478 @ =gUnknown_02038694
+ ldrb r0, [r0]
+ bl sub_80AE098
+ add sp, 0x40
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AE470: .4byte gUnknown_083C9408
+_080AE474: .4byte gUnknown_02038570
+_080AE478: .4byte gUnknown_02038694
+ thumb_func_end sub_80AE398
+
+ thumb_func_start sub_80AE47C
+sub_80AE47C: @ 80AE47C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2D
+ bl GetMonData
+ cmp r0, 0
+ beq _080AE48E
+ movs r0, 0x3
+ b _080AE50A
+_080AE48E:
+ adds r0, r4, 0
+ movs r1, 0x39
+ bl GetMonData
+ cmp r0, 0
+ bne _080AE49E
+ movs r0, 0x4
+ b _080AE50A
+_080AE49E:
+ ldr r0, _080AE4B0 @ =gUnknown_0203869C
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bhi _080AE4F2
+ lsls r0, 2
+ ldr r1, _080AE4B4 @ =_080AE4B8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080AE4B0: .4byte gUnknown_0203869C
+_080AE4B4: .4byte _080AE4B8
+ .align 2, 0
+_080AE4B8:
+ .4byte _080AE4CC
+ .4byte _080AE4D2
+ .4byte _080AE4D8
+ .4byte _080AE4DE
+ .4byte _080AE4E4
+_080AE4CC:
+ adds r0, r4, 0
+ movs r1, 0x32
+ b _080AE4E8
+_080AE4D2:
+ adds r0, r4, 0
+ movs r1, 0x33
+ b _080AE4E8
+_080AE4D8:
+ adds r0, r4, 0
+ movs r1, 0x34
+ b _080AE4E8
+_080AE4DE:
+ adds r0, r4, 0
+ movs r1, 0x35
+ b _080AE4E8
+_080AE4E4:
+ adds r0, r4, 0
+ movs r1, 0x36
+_080AE4E8:
+ bl GetMonData
+ lsls r0, 24
+ lsrs r1, r0, 24
+ b _080AE4F6
+_080AE4F2:
+ movs r0, 0
+ b _080AE50A
+_080AE4F6:
+ ldr r0, _080AE510 @ =gUnknown_0203869E
+ adds r2, r1, 0
+ ldrh r1, [r0]
+ movs r0, 0x2
+ cmp r2, r1
+ bhi _080AE50A
+ movs r0, 0
+ cmp r2, r1
+ bcc _080AE50A
+ movs r0, 0x1
+_080AE50A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AE510: .4byte gUnknown_0203869E
+ thumb_func_end sub_80AE47C
+
+ thumb_func_start sub_80AE514
+sub_80AE514: @ 80AE514
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ movs r5, 0
+ ldr r7, _080AE588 @ =gUnknown_083CA308
+ adds r0, r7, 0x1
+ mov r9, r0
+ ldr r6, _080AE58C @ =gUnknown_083CA310
+ adds r3, r6, 0x1
+ mov r8, r3
+_080AE52C:
+ ldr r4, _080AE590 @ =gUnknown_02038696
+ adds r4, r5, r4
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r1, r0, r7
+ ldrb r2, [r1]
+ mov r3, r9
+ adds r1, r0, r3
+ ldrb r3, [r1]
+ adds r0, r6
+ ldrb r0, [r0]
+ adds r0, 0x5
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ ldrb r0, [r4]
+ lsls r0, 1
+ add r0, r8
+ ldrb r0, [r0]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ ldr r0, _080AE594 @ =gUnknown_03004210
+ movs r1, 0
+ bl FillWindowRect_DefaultPalette
+ adds r0, r5, 0
+ bl sub_80AE5BC
+ adds r0, r5, 0
+ bl sub_80AE6CC
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _080AE52C
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AE588: .4byte gUnknown_083CA308
+_080AE58C: .4byte gUnknown_083CA310
+_080AE590: .4byte gUnknown_02038696
+_080AE594: .4byte gUnknown_03004210
+ thumb_func_end sub_80AE514
+
+ thumb_func_start sub_80AE598
+sub_80AE598: @ 80AE598
+ push {r4,r5,lr}
+ adds r5, r1, 0
+ lsls r4, r2, 24
+ lsrs r4, 24
+ ldr r1, _080AE5B8 @ =gUnknown_083CC59C
+ bl StringCopy
+ strb r4, [r0]
+ adds r0, 0x1
+ adds r1, r5, 0
+ bl StringCopy
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AE5B8: .4byte gUnknown_083CC59C
+ thumb_func_end sub_80AE598
+
+ thumb_func_start sub_80AE5BC
+sub_80AE5BC: @ 80AE5BC
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r0, r1, 24
+ movs r2, 0xA0
+ lsls r2, 20
+ adds r1, r2
+ lsrs r1, 24
+ bl sub_80AE5D4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AE5BC
+
+ thumb_func_start sub_80AE5D4
+sub_80AE5D4: @ 80AE5D4
+ push {r4-r7,lr}
+ sub sp, 0x8
+ adds r2, r1, 0
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r3, _080AE660 @ =gUnknown_020238CC
+ ldr r1, _080AE664 @ =gEmptyString_81E72B0
+ adds r0, r3, 0
+ bl sub_80AE598
+ adds r3, r0, 0
+ movs r0, 0xFC
+ strb r0, [r3]
+ movs r0, 0x6
+ strb r0, [r3, 0x1]
+ movs r0, 0x4
+ strb r0, [r3, 0x2]
+ adds r3, 0x3
+ movs r0, 0xBA
+ strb r0, [r3]
+ adds r3, 0x1
+ ldr r0, _080AE668 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080AE67C
+ ldr r1, _080AE66C @ =gLinkPlayers
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r2, r0, 2
+ adds r0, r2, r1
+ ldrh r6, [r0, 0x1A]
+ cmp r6, 0x1
+ bne _080AE67C
+ adds r1, 0x8
+ adds r1, r2, r1
+ adds r0, r3, 0
+ bl StringCopy
+ ldr r0, _080AE670 @ =gUnknown_03004210
+ ldr r1, _080AE660 @ =gUnknown_020238CC
+ ldr r2, _080AE674 @ =gUnknown_02038696
+ adds r2, r4, r2
+ ldrb r4, [r2]
+ movs r2, 0x16
+ muls r2, r4
+ movs r3, 0x94
+ lsls r3, 2
+ adds r2, r3
+ ldr r5, _080AE678 @ =gUnknown_083CA310
+ lsls r4, 1
+ adds r3, r4, r5
+ ldrb r3, [r3]
+ lsls r3, 27
+ movs r7, 0xFB
+ lsls r7, 24
+ adds r3, r7
+ lsrs r3, 24
+ adds r5, 0x1
+ adds r4, r5
+ ldrb r4, [r4]
+ lsls r4, 3
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ bl sub_8004D04
+ b _080AE6B0
+ .align 2, 0
+_080AE660: .4byte gUnknown_020238CC
+_080AE664: .4byte gEmptyString_81E72B0
+_080AE668: .4byte gUnknown_0203869A
+_080AE66C: .4byte gLinkPlayers
+_080AE670: .4byte gUnknown_03004210
+_080AE674: .4byte gUnknown_02038696
+_080AE678: .4byte gUnknown_083CA310
+_080AE67C:
+ lsls r1, r4, 6
+ ldr r0, _080AE6B8 @ =gUnknown_0203857D
+ adds r1, r0
+ adds r0, r3, 0
+ bl StringCopy
+ ldr r0, _080AE6BC @ =gUnknown_03004210
+ ldr r1, _080AE6C0 @ =gUnknown_020238CC
+ ldr r2, _080AE6C4 @ =gUnknown_02038696
+ adds r2, r4, r2
+ ldrb r4, [r2]
+ movs r2, 0x16
+ muls r2, r4
+ movs r3, 0x94
+ lsls r3, 2
+ adds r2, r3
+ ldr r5, _080AE6C8 @ =gUnknown_083CA310
+ lsls r4, 1
+ adds r3, r4, r5
+ ldrb r3, [r3]
+ adds r5, 0x1
+ adds r4, r5
+ ldrb r4, [r4]
+ str r4, [sp]
+ bl sub_8003460
+_080AE6B0:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AE6B8: .4byte gUnknown_0203857D
+_080AE6BC: .4byte gUnknown_03004210
+_080AE6C0: .4byte gUnknown_020238CC
+_080AE6C4: .4byte gUnknown_02038696
+_080AE6C8: .4byte gUnknown_083CA310
+ thumb_func_end sub_80AE5D4
+
+ thumb_func_start sub_80AE6CC
+sub_80AE6CC: @ 80AE6CC
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r0, r1, 24
+ movs r2, 0xA0
+ lsls r2, 20
+ adds r1, r2
+ lsrs r1, 24
+ bl sub_80AE6E4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AE6CC
+
+ thumb_func_start sub_80AE6E4
+sub_80AE6E4: @ 80AE6E4
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r2, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r3, _080AE75C @ =gUnknown_020238CC
+ movs r0, 0xFC
+ strb r0, [r3]
+ movs r0, 0x6
+ strb r0, [r3, 0x1]
+ movs r0, 0x4
+ strb r0, [r3, 0x2]
+ adds r3, 0x3
+ lsls r1, r4, 6
+ ldr r0, _080AE760 @ =gUnknown_02038572
+ adds r1, r0
+ adds r0, r3, 0
+ bl sub_80AE598
+ adds r3, r0, 0
+ movs r0, 0xFF
+ strb r0, [r3]
+ ldr r0, _080AE764 @ =gUnknown_03004210
+ ldr r1, _080AE75C @ =gUnknown_020238CC
+ ldr r2, _080AE768 @ =gUnknown_02038696
+ adds r4, r2
+ ldrb r4, [r4]
+ lsls r2, r4, 2
+ adds r2, r4
+ lsls r2, 18
+ movs r3, 0x80
+ lsls r3, 18
+ adds r2, r3
+ lsrs r2, 16
+ ldr r5, _080AE76C @ =gUnknown_083CA308
+ lsls r4, 1
+ adds r3, r4, r5
+ ldrb r3, [r3]
+ lsls r3, 27
+ movs r6, 0xFD
+ lsls r6, 24
+ adds r3, r6
+ lsrs r3, 24
+ adds r5, 0x1
+ adds r4, r5
+ ldrb r4, [r4]
+ lsls r4, 3
+ str r4, [sp]
+ movs r4, 0x1
+ str r4, [sp, 0x4]
+ bl sub_8004D04
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AE75C: .4byte gUnknown_020238CC
+_080AE760: .4byte gUnknown_02038572
+_080AE764: .4byte gUnknown_03004210
+_080AE768: .4byte gUnknown_02038696
+_080AE76C: .4byte gUnknown_083CA308
+ thumb_func_end sub_80AE6E4
+
+ thumb_func_start sub_80AE770
+sub_80AE770: @ 80AE770
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r1, 24
+ lsrs r0, r1, 24
+ cmp r0, 0x4
+ bhi _080AE7FC
+ lsls r0, 2
+ ldr r1, _080AE788 @ =_080AE78C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080AE788: .4byte _080AE78C
+ .align 2, 0
+_080AE78C:
+ .4byte _080AE7A0
+ .4byte _080AE7B8
+ .4byte _080AE7D0
+ .4byte _080AE7E0
+ .4byte _080AE7FC
+_080AE7A0:
+ ldr r0, _080AE7B4 @ =gUnknown_02038570
+ lsls r2, 6
+ adds r1, r2, r0
+ adds r3, r1, 0
+ adds r3, 0x26
+ ldrb r5, [r3]
+ adds r3, 0x4
+ ldrb r4, [r3]
+ adds r1, 0x27
+ b _080AE80E
+ .align 2, 0
+_080AE7B4: .4byte gUnknown_02038570
+_080AE7B8:
+ ldr r0, _080AE7CC @ =gUnknown_02038570
+ lsls r2, 6
+ adds r1, r2, r0
+ adds r3, r1, 0
+ adds r3, 0x27
+ ldrb r5, [r3]
+ subs r3, 0x1
+ ldrb r4, [r3]
+ adds r1, 0x28
+ b _080AE80E
+ .align 2, 0
+_080AE7CC: .4byte gUnknown_02038570
+_080AE7D0:
+ ldr r1, _080AE7DC @ =gUnknown_02038570
+ lsls r2, 6
+ adds r3, r2, r1
+ adds r0, r3, 0
+ adds r0, 0x28
+ b _080AE7EA
+ .align 2, 0
+_080AE7DC: .4byte gUnknown_02038570
+_080AE7E0:
+ ldr r1, _080AE7F8 @ =gUnknown_02038570
+ lsls r2, 6
+ adds r3, r2, r1
+ adds r0, r3, 0
+ adds r0, 0x29
+_080AE7EA:
+ ldrb r5, [r0]
+ subs r0, 0x1
+ ldrb r4, [r0]
+ adds r0, 0x2
+ ldrb r3, [r0]
+ adds r0, r1, 0
+ b _080AE810
+ .align 2, 0
+_080AE7F8: .4byte gUnknown_02038570
+_080AE7FC:
+ ldr r0, _080AE828 @ =gUnknown_02038570
+ lsls r2, 6
+ adds r1, r2, r0
+ adds r3, r1, 0
+ adds r3, 0x2A
+ ldrb r5, [r3]
+ subs r3, 0x1
+ ldrb r4, [r3]
+ adds r1, 0x26
+_080AE80E:
+ ldrb r3, [r1]
+_080AE810:
+ adds r1, r2, r0
+ adds r1, 0x2B
+ adds r0, r4, r3
+ ldrb r1, [r1]
+ adds r0, r1
+ asrs r0, 1
+ adds r0, r5, r0
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AE828: .4byte gUnknown_02038570
+ thumb_func_end sub_80AE770
+
+ thumb_func_start sub_80AE82C
+sub_80AE82C: @ 80AE82C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ ldr r6, _080AE854 @ =gUnknown_02038670
+_080AE836:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80AE770
+ lsls r1, r4, 1
+ adds r1, r6
+ strh r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AE836
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AE854: .4byte gUnknown_02038670
+ thumb_func_end sub_80AE82C
+
+ thumb_func_start sub_80AE858
+sub_80AE858: @ 80AE858
+ push {r4,r5,lr}
+ ldr r0, _080AE8A0 @ =gUnknown_083CA4BC
+ bl LoadCompressedObjectPic
+ ldr r0, _080AE8A4 @ =gContest2Pal
+ movs r1, 0x88
+ lsls r1, 1
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ ldr r0, _080AE8A8 @ =gSpriteTemplate_83CA4A4
+ movs r1, 0x70
+ movs r2, 0x24
+ movs r3, 0x1E
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _080AE8AC @ =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r5, r2, r4
+ ldrb r3, [r5, 0x5]
+ movs r1, 0xF
+ ands r1, r3
+ movs r3, 0x10
+ orrs r1, r3
+ strb r1, [r5, 0x5]
+ adds r4, 0x1C
+ adds r2, r4
+ ldr r1, _080AE8B0 @ =SpriteCallbackDummy
+ str r1, [r2]
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AE8A0: .4byte gUnknown_083CA4BC
+_080AE8A4: .4byte gContest2Pal
+_080AE8A8: .4byte gSpriteTemplate_83CA4A4
+_080AE8AC: .4byte gSprites
+_080AE8B0: .4byte SpriteCallbackDummy
+ thumb_func_end sub_80AE858
+
+ thumb_func_start sub_80AE8B4
+sub_80AE8B4: @ 80AE8B4
+ push {lr}
+ ldr r0, _080AE8F8 @ =gUnknown_083CA4C4
+ bl LoadCompressedObjectPic
+ ldr r0, _080AE8FC @ =gUnknown_083CA4CC
+ bl LoadCompressedObjectPalette
+ ldr r0, _080AE900 @ =gUnknown_083CA4D4
+ movs r1, 0x60
+ movs r2, 0xA
+ movs r3, 0x1D
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080AE904 @ =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r1
+ movs r1, 0x3E
+ adds r1, r2
+ mov r12, r1
+ ldrb r1, [r1]
+ movs r3, 0x4
+ orrs r1, r3
+ mov r3, r12
+ strb r1, [r3]
+ ldrh r1, [r2, 0x4]
+ lsls r1, 22
+ lsrs r1, 22
+ strh r1, [r2, 0x2E]
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AE8F8: .4byte gUnknown_083CA4C4
+_080AE8FC: .4byte gUnknown_083CA4CC
+_080AE900: .4byte gUnknown_083CA4D4
+_080AE904: .4byte gSprites
+ thumb_func_end sub_80AE8B4
+
+ thumb_func_start unref_sub_80AE908
+unref_sub_80AE908: @ 80AE908
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ sub sp, 0x8
+ ldr r0, _080AE9D4 @ =gUnknown_02038570
+ mov r9, r0
+ ldr r1, _080AE9D8 @ =gUnknown_02038695
+ mov r8, r1
+ ldrb r0, [r1]
+ lsls r0, 6
+ add r0, r9
+ ldrh r5, [r0]
+ lsls r6, r5, 3
+ ldr r0, _080AE9DC @ =gMonFrontPicTable
+ adds r0, r6, r0
+ ldr r2, _080AE9E0 @ =gMonFrontPicCoords
+ mov r10, r2
+ lsls r2, r5, 2
+ add r2, r10
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r4, _080AE9E4 @ =gUnknown_081FAF4C
+ ldr r4, [r4, 0x4]
+ str r4, [sp]
+ str r5, [sp, 0x4]
+ bl DecompressPicFromTable_2
+ ldr r0, _080AE9E8 @ =gMonPaletteTable
+ adds r6, r0
+ ldr r0, [r6]
+ movs r1, 0x88
+ lsls r1, 1
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ mov r1, r8
+ ldrb r0, [r1]
+ lsls r0, 6
+ add r0, r9
+ ldrh r0, [r0]
+ movs r1, 0x1
+ bl GetMonSpriteTemplate_803C56C
+ ldr r0, _080AE9EC @ =gUnknown_02024E8C
+ mov r2, r8
+ ldrb r1, [r2]
+ lsls r1, 6
+ add r1, r9
+ ldrh r1, [r1]
+ lsls r1, 2
+ add r1, r10
+ ldrb r1, [r1]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 15
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0x70
+ movs r3, 0x1E
+ bl CreateSprite
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _080AE9F0 @ =gSprites
+ lsls r3, r4, 4
+ adds r3, r4
+ lsls r3, 2
+ adds r0, r3, r5
+ ldrb r2, [r0, 0x5]
+ movs r1, 0xF
+ ands r1, r2
+ movs r2, 0x10
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ adds r1, r5, 0
+ adds r1, 0x1C
+ adds r1, r3, r1
+ ldr r2, _080AE9F4 @ =SpriteCallbackDummy
+ str r2, [r1]
+ adds r5, 0x10
+ adds r3, r5
+ ldr r1, _080AE9F8 @ =gSpriteAffineAnimTable_81E7C18
+ str r1, [r3]
+ movs r1, 0
+ bl StartSpriteAffineAnim
+ adds r0, r4, 0
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AE9D4: .4byte gUnknown_02038570
+_080AE9D8: .4byte gUnknown_02038695
+_080AE9DC: .4byte gMonFrontPicTable
+_080AE9E0: .4byte gMonFrontPicCoords
+_080AE9E4: .4byte gUnknown_081FAF4C
+_080AE9E8: .4byte gMonPaletteTable
+_080AE9EC: .4byte gUnknown_02024E8C
+_080AE9F0: .4byte gSprites
+_080AE9F4: .4byte SpriteCallbackDummy
+_080AE9F8: .4byte gSpriteAffineAnimTable_81E7C18
+ thumb_func_end unref_sub_80AE908
+
+ thumb_func_start sub_80AE9FC
+sub_80AE9FC: @ 80AE9FC
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0xC
+ mov r8, r1
+ adds r6, r2, 0
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_80B2778
+ mov r9, r0
+ mov r5, r9
+ lsls r0, r5, 3
+ ldr r1, _080AEACC @ =gMonBackPicTable
+ adds r0, r1
+ ldr r1, _080AEAD0 @ =gMonBackPicCoords
+ lsls r2, r5, 2
+ adds r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r4, _080AEAD4 @ =gUnknown_081FAF4C
+ ldr r4, [r4]
+ str r4, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ bl sub_800D334
+ adds r0, r5, 0
+ mov r1, r8
+ adds r2, r6, 0
+ bl species_and_otid_get_pal
+ movs r1, 0x90
+ lsls r1, 1
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ adds r0, r5, 0
+ movs r1, 0
+ bl GetMonSpriteTemplate_803C56C
+ ldr r4, _080AEAD8 @ =gUnknown_02024E8C
+ movs r0, 0x2
+ adds r1, r5, 0
+ movs r2, 0
+ bl sub_8077E44
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ movs r1, 0x70
+ movs r3, 0x1E
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, _080AEADC @ =gSprites
+ mov r8, r0
+ lsls r0, r7, 4
+ adds r0, r7
+ lsls r6, r0, 2
+ mov r0, r8
+ adds r4, r6, r0
+ ldrb r1, [r4, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ movs r1, 0x20
+ orrs r0, r1
+ movs r1, 0xD
+ negs r1, r1
+ ands r0, r1
+ movs r1, 0x8
+ orrs r0, r1
+ strb r0, [r4, 0x5]
+ movs r0, 0x2
+ bl sub_8079E90
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ mov r0, r8
+ adds r0, 0x1C
+ adds r0, r6, r0
+ ldr r1, _080AEAE0 @ =SpriteCallbackDummy
+ str r1, [r0]
+ ldrb r0, [r4, 0x5]
+ lsrs r0, 4
+ strh r0, [r4, 0x2E]
+ strh r5, [r4, 0x32]
+ adds r0, r5, 0
+ bl sub_80AEB1C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080AEAE8
+ mov r0, r8
+ adds r0, 0x10
+ adds r0, r6, r0
+ ldr r1, _080AEAE4 @ =gSpriteAffineAnimTable_81E7C18
+ b _080AEAF0
+ .align 2, 0
+_080AEACC: .4byte gMonBackPicTable
+_080AEAD0: .4byte gMonBackPicCoords
+_080AEAD4: .4byte gUnknown_081FAF4C
+_080AEAD8: .4byte gUnknown_02024E8C
+_080AEADC: .4byte gSprites
+_080AEAE0: .4byte SpriteCallbackDummy
+_080AEAE4: .4byte gSpriteAffineAnimTable_81E7C18
+_080AEAE8:
+ mov r0, r8
+ adds r0, 0x10
+ adds r0, r6, r0
+ ldr r1, _080AEB14 @ =gSpriteAffineAnimTable_81E7BEC
+_080AEAF0:
+ str r1, [r0]
+ lsls r0, r7, 4
+ adds r0, r7
+ lsls r0, 2
+ ldr r1, _080AEB18 @ =gSprites
+ adds r0, r1
+ movs r1, 0
+ bl StartSpriteAffineAnim
+ adds r0, r7, 0
+ add sp, 0xC
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AEB14: .4byte gSpriteAffineAnimTable_81E7BEC
+_080AEB18: .4byte gSprites
+ thumb_func_end sub_80AE9FC
+
+ thumb_func_start sub_80AEB1C
+sub_80AEB1C: @ 80AEB1C
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xC9
+ beq _080AEB2A
+ movs r0, 0x1
+ b _080AEB2C
+_080AEB2A:
+ movs r0, 0
+_080AEB2C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AEB1C
+
+ thumb_func_start sub_80AEB30
+sub_80AEB30: @ 80AEB30
+ push {lr}
+ ldr r0, _080AEB44 @ =0x0600c000
+ bl sub_80AEB4C
+ ldr r0, _080AEB48 @ =0x0600e000
+ bl sub_80AEB4C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AEB44: .4byte 0x0600c000
+_080AEB48: .4byte 0x0600e000
+ thumb_func_end sub_80AEB30
+
+ thumb_func_start sub_80AEB4C
+sub_80AEB4C: @ 80AEB4C
+ movs r1, 0xA0
+ lsls r1, 3
+ adds r2, r0, r1
+ ldr r1, _080AEB60 @ =0x040000d4
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ ldr r0, _080AEB64 @ =0x80000140
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ bx lr
+ .align 2, 0
+_080AEB60: .4byte 0x040000d4
+_080AEB64: .4byte 0x80000140
+ thumb_func_end sub_80AEB4C
+
+ thumb_func_start sub_80AEB68
+sub_80AEB68: @ 80AEB68
+ push {lr}
+ lsls r0, 16
+ lsls r1, 24
+ lsrs r3, r1, 24
+ ldr r2, _080AEB90 @ =gContestEffects
+ ldr r1, _080AEB94 @ =gContestMoves
+ lsrs r0, 13
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0x8
+ bhi _080AEBD0
+ lsls r0, 2
+ ldr r1, _080AEB98 @ =_080AEB9C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080AEB90: .4byte gContestEffects
+_080AEB94: .4byte gContestMoves
+_080AEB98: .4byte _080AEB9C
+ .align 2, 0
+_080AEB9C:
+ .4byte _080AEBC0
+ .4byte _080AEBC0
+ .4byte _080AEBC8
+ .4byte _080AEBC8
+ .4byte _080AEBD0
+ .4byte _080AEBD0
+ .4byte _080AEBD0
+ .4byte _080AEBD0
+ .4byte _080AEBC0
+_080AEBC0:
+ ldr r0, _080AEBC4 @ =0x00009082
+ b _080AEBD2
+ .align 2, 0
+_080AEBC4: .4byte 0x00009082
+_080AEBC8:
+ ldr r0, _080AEBCC @ =0x00009088
+ b _080AEBD2
+ .align 2, 0
+_080AEBCC: .4byte 0x00009088
+_080AEBD0:
+ ldr r0, _080AEBE8 @ =0x00009086
+_080AEBD2:
+ lsls r1, r3, 12
+ movs r2, 0x90
+ lsls r2, 8
+ adds r1, r2
+ lsls r0, 16
+ asrs r0, 16
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AEBE8: .4byte 0x00009086
+ thumb_func_end sub_80AEB68
+
+ thumb_func_start sub_80AEBEC
+sub_80AEBEC: @ 80AEBEC
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, _080AEC74 @ =gUnknown_03004210
+ movs r1, 0x10
+ str r1, [sp]
+ movs r1, 0x22
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r2, 0xB
+ movs r3, 0x1F
+ bl FillWindowRect_DefaultPalette
+ ldr r1, _080AEC78 @ =gContestMoves
+ lsls r0, r4, 3
+ adds r0, r1
+ ldrb r0, [r0, 0x1]
+ lsls r0, 29
+ lsrs r0, 29
+ ldr r1, _080AEC7C @ =0x00004040
+ cmp r0, 0
+ beq _080AEC34
+ adds r1, 0x5
+ cmp r0, 0x1
+ beq _080AEC34
+ adds r1, 0x5
+ cmp r0, 0x2
+ beq _080AEC34
+ adds r1, 0x40
+ cmp r0, 0x3
+ bne _080AEC34
+ subs r1, 0x20
+_080AEC34:
+ ldr r0, _080AEC74 @ =gUnknown_03004210
+ mov r8, r0
+ ldr r6, _080AEC78 @ =gContestMoves
+ lsls r5, r4, 3
+ ldr r7, _080AEC80 @ =gContestEffects
+ ldr r0, _080AEC84 @ =gUnknown_083CADD4
+ mov r9, r0
+ ldr r4, _080AEC88 @ =0x0600c816
+ ldr r3, _080AEC8C @ =0x0600c7d6
+ movs r2, 0x4
+_080AEC48:
+ strh r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x10
+ strh r0, [r4]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ adds r4, 0x2
+ adds r3, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080AEC48
+ adds r0, r5, r6
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r1, r0, r7
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0xFF
+ bne _080AEC90
+ movs r0, 0
+ b _080AEC9C
+ .align 2, 0
+_080AEC74: .4byte gUnknown_03004210
+_080AEC78: .4byte gContestMoves
+_080AEC7C: .4byte 0x00004040
+_080AEC80: .4byte gContestEffects
+_080AEC84: .4byte gUnknown_083CADD4
+_080AEC88: .4byte 0x0600c816
+_080AEC8C: .4byte 0x0600c7d6
+_080AEC90:
+ ldrb r0, [r1, 0x1]
+ movs r1, 0xA
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 24
+_080AEC9C:
+ cmp r0, 0x8
+ bls _080AECA2
+ movs r0, 0x8
+_080AECA2:
+ movs r2, 0
+ ldr r1, _080AECB8 @ =0x00005012
+ adds r4, r1, 0
+ adds r1, 0x23
+ adds r3, r1, 0
+ ldr r1, _080AECBC @ =0x0600c7ea
+_080AECAE:
+ cmp r2, r0
+ bge _080AECC0
+ strh r4, [r1]
+ b _080AECC2
+ .align 2, 0
+_080AECB8: .4byte 0x00005012
+_080AECBC: .4byte 0x0600c7ea
+_080AECC0:
+ strh r3, [r1]
+_080AECC2:
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, 0x7
+ ble _080AECAE
+ adds r0, r5, r6
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r1, r0, r7
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0xFF
+ bne _080AECDC
+ movs r0, 0
+ b _080AECE8
+_080AECDC:
+ ldrb r0, [r1, 0x2]
+ movs r1, 0xA
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 24
+_080AECE8:
+ cmp r0, 0x8
+ bls _080AECEE
+ movs r0, 0x8
+_080AECEE:
+ movs r2, 0
+ ldr r1, _080AED04 @ =0x00005014
+ adds r4, r1, 0
+ adds r1, 0x22
+ adds r3, r1, 0
+ ldr r1, _080AED08 @ =0x0600c82a
+_080AECFA:
+ cmp r2, r0
+ bge _080AED0C
+ strh r4, [r1]
+ b _080AED0E
+ .align 2, 0
+_080AED04: .4byte 0x00005014
+_080AED08: .4byte 0x0600c82a
+_080AED0C:
+ strh r3, [r1]
+_080AED0E:
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, 0x7
+ ble _080AECFA
+ adds r0, r5, r6
+ ldrb r0, [r0]
+ lsls r0, 2
+ add r0, r9
+ ldr r1, [r0]
+ movs r2, 0xD9
+ lsls r2, 2
+ movs r0, 0x23
+ str r0, [sp]
+ mov r0, r8
+ movs r3, 0xB
+ bl sub_8003460
+ ldr r1, _080AED50 @ =gUnknown_083CC5A2
+ ldr r2, _080AED54 @ =0x00000362
+ movs r0, 0x1F
+ str r0, [sp]
+ mov r0, r8
+ movs r3, 0x10
+ bl sub_8003460
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AED50: .4byte gUnknown_083CC5A2
+_080AED54: .4byte 0x00000362
+ thumb_func_end sub_80AEBEC
+
+ thumb_func_start sub_80AED58
+sub_80AED58: @ 80AED58
+ push {lr}
+ sub sp, 0x8
+ ldr r0, _080AED78 @ =gUnknown_03004210
+ movs r1, 0x1C
+ str r1, [sp]
+ movs r1, 0x28
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r2, 0xB
+ movs r3, 0x23
+ bl FillWindowRect_DefaultPalette
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AED78: .4byte gUnknown_03004210
+ thumb_func_end sub_80AED58
+
+ thumb_func_start sub_80AED7C
+sub_80AED7C: @ 80AED7C
+ push {r4-r6,lr}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 24
+ lsrs r4, r1, 24
+ ldr r0, _080AEDD8 @ =gUnknown_02038696
+ adds r0, r4, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ adds r0, 0x2
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r4, 0
+ bl sub_80AF59C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080AEDEC
+ cmp r6, 0
+ beq _080AEDEC
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_80AEB68
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r3, r5, 6
+ ldr r1, _080AEDDC @ =0x0600c028
+ adds r1, r3, r1
+ strh r0, [r1]
+ ldr r1, _080AEDE0 @ =0x0600c02a
+ adds r1, r3, r1
+ adds r2, r0, 0x1
+ strh r2, [r1]
+ ldr r1, _080AEDE4 @ =0x0600c068
+ adds r2, r3, r1
+ adds r1, r0, 0
+ adds r1, 0x10
+ strh r1, [r2]
+ ldr r1, _080AEDE8 @ =0x0600c06a
+ adds r3, r1
+ adds r0, 0x11
+ strh r0, [r3]
+ b _080AEE08
+ .align 2, 0
+_080AEDD8: .4byte gUnknown_02038696
+_080AEDDC: .4byte 0x0600c028
+_080AEDE0: .4byte 0x0600c02a
+_080AEDE4: .4byte 0x0600c068
+_080AEDE8: .4byte 0x0600c06a
+_080AEDEC:
+ lsls r1, r5, 6
+ ldr r0, _080AEE10 @ =0x0600c028
+ adds r0, r1, r0
+ movs r2, 0
+ strh r2, [r0]
+ ldr r0, _080AEE14 @ =0x0600c02a
+ adds r0, r1, r0
+ strh r2, [r0]
+ ldr r3, _080AEE18 @ =0x0600c068
+ adds r0, r1, r3
+ strh r2, [r0]
+ ldr r0, _080AEE1C @ =0x0600c06a
+ adds r1, r0
+ strh r2, [r1]
+_080AEE08:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AEE10: .4byte 0x0600c028
+_080AEE14: .4byte 0x0600c02a
+_080AEE18: .4byte 0x0600c068
+_080AEE1C: .4byte 0x0600c06a
+ thumb_func_end sub_80AED7C
+
+ thumb_func_start unref_sub_80AEE20
+unref_sub_80AEE20: @ 80AEE20
+ push {r4,lr}
+ movs r4, 0
+_080AEE24:
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ ldr r1, _080AEE48 @ =0x02019260
+ adds r0, r1
+ ldrh r0, [r0, 0x6]
+ adds r1, r4, 0
+ bl sub_80AED7C
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AEE24
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AEE48: .4byte 0x02019260
+ thumb_func_end unref_sub_80AEE20
+
+ thumb_func_start sub_80AEE4C
+sub_80AEE4C: @ 80AEE4C
+ ldr r0, _080AEE50 @ =0x00002034
+ bx lr
+ .align 2, 0
+_080AEE50: .4byte 0x00002034
+ thumb_func_end sub_80AEE4C
+
+ thumb_func_start sub_80AEE54
+sub_80AEE54: @ 80AEE54
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp]
+ lsls r5, r7, 3
+ subs r0, r5, r7
+ lsls r0, 2
+ ldr r1, _080AEE84 @ =0x02019260
+ adds r0, r1
+ ldrb r0, [r0, 0x10]
+ movs r2, 0x30
+ ands r2, r0
+ mov r10, r1
+ cmp r2, 0
+ bne _080AEE88
+ movs r0, 0
+ b _080AEF3C
+ .align 2, 0
+_080AEE84: .4byte 0x02019260
+_080AEE88:
+ ldr r0, _080AEEB0 @ =gUnknown_02038696
+ adds r0, r7, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ adds r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ cmp r2, 0x10
+ bne _080AEEF0
+ adds r0, r7, 0
+ bl sub_80AEE4C
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ movs r4, 0
+ adds r6, r5, 0
+ b _080AEEC4
+ .align 2, 0
+_080AEEB0: .4byte gUnknown_02038696
+_080AEEB4:
+ mov r1, r9
+ adds r0, r1, r4
+ lsls r0, 6
+ ldr r1, _080AEEE8 @ =0x0600c026
+ adds r0, r1
+ mov r1, r8
+ strh r1, [r0]
+ adds r4, 0x1
+_080AEEC4:
+ subs r0, r6, r7
+ lsls r0, 2
+ ldr r1, _080AEEEC @ =0x02019260
+ adds r5, r0, r1
+ movs r0, 0xD
+ ldrsb r0, [r5, r0]
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, r4
+ bgt _080AEEB4
+ ldr r0, [sp]
+ cmp r0, 0
+ beq _080AEF3A
+ movs r0, 0x5B
+ b _080AEF2C
+ .align 2, 0
+_080AEEE8: .4byte 0x0600c026
+_080AEEEC: .4byte 0x02019260
+_080AEEF0:
+ movs r1, 0
+ mov r8, r1
+ movs r4, 0x3
+ adds r6, r5, 0
+ b _080AEF0A
+_080AEEFA:
+ mov r1, r9
+ adds r0, r1, r4
+ lsls r0, 6
+ ldr r1, _080AEF4C @ =0x0600bfe6
+ adds r0, r1
+ mov r1, r8
+ strh r1, [r0]
+ subs r4, 0x1
+_080AEF0A:
+ subs r0, r6, r7
+ lsls r0, 2
+ mov r1, r10
+ adds r5, r0, r1
+ movs r0, 0xD
+ ldrsb r0, [r5, r0]
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, r4
+ blt _080AEEFA
+ ldr r0, [sp]
+ cmp r0, 0
+ beq _080AEF3A
+ movs r0, 0x26
+_080AEF2C:
+ bl PlaySE
+ ldrb r1, [r5, 0x10]
+ movs r0, 0x31
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r5, 0x10]
+_080AEF3A:
+ movs r0, 0x1
+_080AEF3C:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AEF4C: .4byte 0x0600bfe6
+ thumb_func_end sub_80AEE54
+
+ thumb_func_start sub_80AEF50
+sub_80AEF50: @ 80AEF50
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ movs r5, 0
+_080AEF5A:
+ ldr r0, _080AEF80 @ =gUnknown_02038696
+ adds r0, r5, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ adds r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_80AEE4C
+ lsls r0, 16
+ lsrs r6, r0, 16
+ movs r4, 0
+ lsls r7, r5, 3
+ adds r2, r5, 0x1
+ b _080AEF92
+ .align 2, 0
+_080AEF80: .4byte gUnknown_02038696
+_080AEF84:
+ mov r1, r8
+ adds r0, r1, r4
+ lsls r0, 6
+ ldr r3, _080AEFE0 @ =0x0600c026
+ adds r0, r3
+ strh r6, [r0]
+ adds r4, 0x1
+_080AEF92:
+ subs r0, r7, r5
+ lsls r0, 2
+ ldr r1, _080AEFE4 @ =0x02019260
+ adds r0, r1
+ ldrb r0, [r0, 0xD]
+ lsls r0, 24
+ asrs r0, 24
+ movs r1, 0xA
+ str r2, [sp]
+ bl __divsi3
+ lsls r0, 24
+ asrs r0, 24
+ ldr r2, [sp]
+ cmp r4, r0
+ blt _080AEF84
+ movs r6, 0
+ cmp r4, 0x2
+ bgt _080AEFCE
+ lsls r0, r4, 6
+ ldr r1, _080AEFE0 @ =0x0600c026
+ adds r0, r1
+ mov r3, r8
+ lsls r1, r3, 6
+ adds r0, r1
+_080AEFC4:
+ strh r6, [r0]
+ adds r0, 0x40
+ adds r4, 0x1
+ cmp r4, 0x2
+ ble _080AEFC4
+_080AEFCE:
+ adds r5, r2, 0
+ cmp r5, 0x3
+ ble _080AEF5A
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AEFE0: .4byte 0x0600c026
+_080AEFE4: .4byte 0x02019260
+ thumb_func_end sub_80AEF50
+
+ thumb_func_start sub_80AEFE8
+sub_80AEFE8: @ 80AEFE8
+ push {lr}
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0
+ cmp r1, 0x4
+ bhi _080AF02A
+ lsls r0, r1, 2
+ ldr r1, _080AF000 @ =_080AF004
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080AF000: .4byte _080AF004
+ .align 2, 0
+_080AF004:
+ .4byte _080AF018
+ .4byte _080AF01C
+ .4byte _080AF020
+ .4byte _080AF024
+ .4byte _080AF028
+_080AF018:
+ movs r0, 0x80
+ b _080AF02A
+_080AF01C:
+ movs r0, 0x84
+ b _080AF02A
+_080AF020:
+ movs r0, 0x86
+ b _080AF02A
+_080AF024:
+ movs r0, 0x88
+ b _080AF02A
+_080AF028:
+ movs r0, 0x82
+_080AF02A:
+ movs r1, 0x90
+ lsls r1, 8
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AEFE8
+
+ thumb_func_start sub_80AF038
+sub_80AF038: @ 80AF038
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ movs r5, 0x1
+ movs r4, 0
+ ldr r0, _080AF074 @ =gUnknown_02038696
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ adds r0, 0x2
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r3, 3
+ subs r0, r3
+ lsls r0, 2
+ ldr r1, _080AF078 @ =0x02019260
+ adds r2, r0, r1
+ ldr r0, [r2, 0x10]
+ ldr r1, _080AF07C @ =0x00ff0003
+ ands r0, r1
+ cmp r0, 0
+ bne _080AF06C
+ ldrb r0, [r2, 0xF]
+ cmp r0, 0
+ beq _080AF080
+_080AF06C:
+ adds r0, r3, 0
+ movs r1, 0
+ b _080AF0A6
+ .align 2, 0
+_080AF074: .4byte gUnknown_02038696
+_080AF078: .4byte 0x02019260
+_080AF07C: .4byte 0x00ff0003
+_080AF080:
+ ldrb r1, [r2, 0xC]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080AF090
+ adds r0, r3, 0
+ movs r1, 0x1
+ b _080AF0A6
+_080AF090:
+ movs r0, 0x6
+ ands r0, r1
+ cmp r0, 0
+ bne _080AF0A2
+ ldrb r1, [r2, 0xB]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080AF0B0
+_080AF0A2:
+ adds r0, r3, 0
+ movs r1, 0x2
+_080AF0A6:
+ bl sub_80AEFE8
+ lsls r0, 16
+ lsrs r4, r0, 16
+ b _080AF0B2
+_080AF0B0:
+ movs r5, 0
+_080AF0B2:
+ cmp r5, 0
+ beq _080AF0EC
+ lsls r2, r6, 6
+ ldr r0, _080AF0DC @ =0x0600c028
+ adds r0, r2, r0
+ strh r4, [r0]
+ ldr r0, _080AF0E0 @ =0x0600c02a
+ adds r0, r2, r0
+ adds r1, r4, 0x1
+ strh r1, [r0]
+ ldr r0, _080AF0E4 @ =0x0600c068
+ adds r1, r2, r0
+ adds r0, r4, 0
+ adds r0, 0x10
+ strh r0, [r1]
+ ldr r0, _080AF0E8 @ =0x0600c06a
+ adds r2, r0
+ adds r0, r4, 0
+ adds r0, 0x11
+ strh r0, [r2]
+ b _080AF106
+ .align 2, 0
+_080AF0DC: .4byte 0x0600c028
+_080AF0E0: .4byte 0x0600c02a
+_080AF0E4: .4byte 0x0600c068
+_080AF0E8: .4byte 0x0600c06a
+_080AF0EC:
+ lsls r1, r6, 6
+ ldr r0, _080AF110 @ =0x0600c028
+ adds r0, r1, r0
+ strh r5, [r0]
+ ldr r0, _080AF114 @ =0x0600c02a
+ adds r0, r1, r0
+ strh r5, [r0]
+ ldr r2, _080AF118 @ =0x0600c068
+ adds r0, r1, r2
+ strh r5, [r0]
+ ldr r0, _080AF11C @ =0x0600c06a
+ adds r1, r0
+ strh r5, [r1]
+_080AF106:
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AF110: .4byte 0x0600c028
+_080AF114: .4byte 0x0600c02a
+_080AF118: .4byte 0x0600c068
+_080AF11C: .4byte 0x0600c06a
+ thumb_func_end sub_80AF038
+
+ thumb_func_start sub_80AF120
+sub_80AF120: @ 80AF120
+ push {r4,lr}
+ movs r4, 0
+_080AF124:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_80AF038
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080AF124
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AF120
+
+ thumb_func_start sub_80AF138
+sub_80AF138: @ 80AF138
+ push {lr}
+ sub sp, 0x8
+ ldr r0, _080AF158 @ =gUnknown_03004210
+ movs r1, 0x11
+ str r1, [sp]
+ movs r1, 0x12
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0xF
+ bl FillWindowRect_DefaultPalette
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AF158: .4byte gUnknown_03004210
+ thumb_func_end sub_80AF138
+
+ thumb_func_start sub_80AF15C
+sub_80AF15C: @ 80AF15C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ adds r0, r4, 0
+ bl sub_80AF59C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080AF174
+ movs r0, 0
+ b _080AF1AA
+_080AF174:
+ ldr r0, _080AF190 @ =gUnknown_02038695
+ ldrb r0, [r0]
+ cmp r4, r0
+ beq _080AF198
+ adds r0, r4, 0
+ bl sub_81288F4
+ bl sub_8128944
+ lsls r0, 24
+ ldr r2, _080AF194 @ =gUnknown_02038570
+ lsrs r0, 23
+ lsls r1, r4, 6
+ b _080AF1A2
+ .align 2, 0
+_080AF190: .4byte gUnknown_02038695
+_080AF194: .4byte gUnknown_02038570
+_080AF198:
+ ldr r2, _080AF1B0 @ =gUnknown_02038570
+ ldr r0, _080AF1B4 @ =0x02019204
+ ldrb r0, [r0]
+ lsls r0, 1
+ lsls r1, r5, 6
+_080AF1A2:
+ adds r0, r1
+ adds r2, 0x1E
+ adds r0, r2
+ ldrh r0, [r0]
+_080AF1AA:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AF1B0: .4byte gUnknown_02038570
+_080AF1B4: .4byte 0x02019204
+ thumb_func_end sub_80AF15C
+
+ thumb_func_start sub_80AF1B8
+sub_80AF1B8: @ 80AF1B8
+ push {r4,lr}
+ movs r4, 0
+_080AF1BC:
+ adds r0, r4, 0
+ bl sub_80AF15C
+ lsls r1, r4, 3
+ subs r1, r4
+ lsls r1, 2
+ ldr r2, _080AF1E0 @ =0x02019260
+ adds r1, r2
+ strh r0, [r1, 0x6]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AF1BC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AF1E0: .4byte 0x02019260
+ thumb_func_end sub_80AF1B8
+
+ thumb_func_start sub_80AF1E4
+sub_80AF1E4: @ 80AF1E4
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 24
+ cmp r1, 0
+ bne _080AF1FC
+ adds r0, r5, 0
+ adds r0, 0xA
+ lsls r0, 24
+ lsrs r3, r0, 24
+ b _080AF1FE
+_080AF1FC:
+ movs r3, 0xE
+_080AF1FE:
+ lsls r0, r5, 3
+ subs r0, r5
+ lsls r0, 2
+ ldr r1, _080AF21C @ =0x02019260
+ adds r1, r0, r1
+ ldrh r0, [r1, 0x6]
+ cmp r0, 0
+ bne _080AF228
+ ldr r0, _080AF220 @ =gUnknown_020238CC
+ ldr r1, _080AF224 @ =gUnknownText_MissedTurn
+ adds r2, r3, 0
+ bl sub_80AE598
+ b _080AF23A
+ .align 2, 0
+_080AF21C: .4byte 0x02019260
+_080AF220: .4byte gUnknown_020238CC
+_080AF224: .4byte gUnknownText_MissedTurn
+_080AF228:
+ ldr r0, _080AF270 @ =gUnknown_020238CC
+ ldrh r2, [r1, 0x6]
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, _080AF274 @ =gMoveNames
+ adds r1, r2
+ adds r2, r3, 0
+ bl sub_80AE598
+_080AF23A:
+ adds r0, r5, 0
+ bl sub_80AF2A0
+ ldr r0, _080AF278 @ =gUnknown_03004210
+ ldr r1, _080AF270 @ =gUnknown_020238CC
+ lsls r2, r5, 2
+ adds r2, r5
+ lsls r2, 18
+ movs r3, 0xAE
+ lsls r3, 18
+ adds r2, r3
+ lsrs r2, 16
+ ldr r4, _080AF27C @ =gUnknown_083CA318
+ lsls r5, 1
+ adds r3, r5, r4
+ ldrb r3, [r3]
+ adds r4, 0x1
+ adds r5, r4
+ ldrb r4, [r5]
+ str r4, [sp]
+ bl sub_8003460
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AF270: .4byte gUnknown_020238CC
+_080AF274: .4byte gMoveNames
+_080AF278: .4byte gUnknown_03004210
+_080AF27C: .4byte gUnknown_083CA318
+ thumb_func_end sub_80AF1E4
+
+ thumb_func_start unref_sub_80AF280
+unref_sub_80AF280: @ 80AF280
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+_080AF288:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80AF1E4
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AF288
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end unref_sub_80AF280
+
+ thumb_func_start sub_80AF2A0
+sub_80AF2A0: @ 80AF2A0
+ push {r4,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ ldr r4, _080AF2D8 @ =gUnknown_03004210
+ ldr r1, _080AF2DC @ =gUnknown_083CA318
+ lsrs r0, 23
+ adds r2, r0, r1
+ ldrb r2, [r2]
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r3, [r0]
+ adds r0, r2, 0x7
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0
+ bl FillWindowRect_DefaultPalette
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AF2D8: .4byte gUnknown_03004210
+_080AF2DC: .4byte gUnknown_083CA318
+ thumb_func_end sub_80AF2A0
+
+ thumb_func_start unref_sub_80AF2E0
+unref_sub_80AF2E0: @ 80AF2E0
+ push {r4,lr}
+ movs r4, 0
+_080AF2E4:
+ adds r0, r4, 0
+ bl sub_80AF2A0
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AF2E4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end unref_sub_80AF2E0
+
+ thumb_func_start sub_80AF2FC
+sub_80AF2FC: @ 80AF2FC
+ push {r4-r7,lr}
+ sub sp, 0x8
+ movs r4, 0
+ ldr r2, _080AF398 @ =0x02019260
+_080AF304:
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x2]
+ ldrh r3, [r0, 0x4]
+ adds r1, r3
+ strh r1, [r0, 0x4]
+ lsls r0, r4, 1
+ add r0, sp
+ strh r1, [r0]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AF304
+ movs r4, 0
+_080AF326:
+ movs r2, 0x3
+ cmp r2, r4
+ bls _080AF354
+_080AF32C:
+ subs r5, r2, 0x1
+ lsls r0, r5, 1
+ mov r7, sp
+ adds r3, r7, r0
+ lsls r0, r2, 1
+ adds r2, r7, r0
+ ldrh r6, [r3]
+ movs r0, 0
+ ldrsh r1, [r3, r0]
+ movs r7, 0
+ ldrsh r0, [r2, r7]
+ cmp r1, r0
+ bge _080AF34C
+ ldrh r0, [r2]
+ strh r6, [r2]
+ strh r0, [r3]
+_080AF34C:
+ lsls r0, r5, 24
+ lsrs r2, r0, 24
+ cmp r2, r4
+ bhi _080AF32C
+_080AF354:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x2
+ bls _080AF326
+ movs r4, 0
+ ldr r0, _080AF398 @ =0x02019260
+ mov r12, r0
+ movs r7, 0x4
+ negs r7, r7
+ movs r6, 0x3
+_080AF36A:
+ movs r2, 0
+ lsls r0, r4, 3
+ adds r5, r4, 0x1
+ subs r0, r4
+ lsls r0, 2
+ mov r1, r12
+ adds r3, r0, r1
+ movs r4, 0x4
+ ldrsh r1, [r3, r4]
+_080AF37C:
+ lsls r0, r2, 1
+ add r0, sp
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ cmp r1, r0
+ bne _080AF39C
+ ands r2, r6
+ ldrb r1, [r3, 0xB]
+ adds r0, r7, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r3, 0xB]
+ b _080AF3A6
+ .align 2, 0
+_080AF398: .4byte 0x02019260
+_080AF39C:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _080AF37C
+_080AF3A6:
+ lsls r0, r5, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AF36A
+ movs r0, 0x1
+ bl sub_80B0F28
+ bl sub_80B159C
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AF2FC
+
+ thumb_func_start sub_80AF3C0
+sub_80AF3C0: @ 80AF3C0
+ push {lr}
+ ldr r2, _080AF3D0 @ =0x02019260
+ adds r3, r2, 0
+_080AF3C6:
+ ldrh r0, [r2, 0x6]
+ cmp r0, 0
+ bne _080AF3D4
+ movs r1, 0x5
+ b _080AF3F2
+ .align 2, 0
+_080AF3D0: .4byte 0x02019260
+_080AF3D4:
+ movs r1, 0x2
+ ldrsh r0, [r2, r1]
+ movs r1, 0
+ cmp r0, 0
+ ble _080AF3F2
+ movs r1, 0x1
+ cmp r0, 0x1D
+ ble _080AF3F2
+ movs r1, 0x2
+ cmp r0, 0x3B
+ ble _080AF3F2
+ movs r1, 0x4
+ cmp r0, 0x4F
+ bgt _080AF3F2
+ movs r1, 0x3
+_080AF3F2:
+ strb r1, [r2, 0x1A]
+ adds r2, 0x1C
+ adds r0, r3, 0
+ adds r0, 0x54
+ cmp r2, r0
+ ble _080AF3C6
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AF3C0
+
+ thumb_func_start sub_80AF404
+sub_80AF404: @ 80AF404
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ ldr r0, _080AF42C @ =0x02019260
+ adds r2, r1, r0
+ ldrb r1, [r2, 0xC]
+ movs r0, 0x6
+ ands r0, r1
+ cmp r0, 0
+ bne _080AF428
+ ldrb r1, [r2, 0xB]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080AF430
+_080AF428:
+ movs r0, 0
+ b _080AF432
+ .align 2, 0
+_080AF42C: .4byte 0x02019260
+_080AF430:
+ movs r0, 0x1
+_080AF432:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AF404
+
+ thumb_func_start sub_80AF438
+sub_80AF438: @ 80AF438
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r5, 0
+ ldr r0, _080AF594 @ =0x02019260
+ mov r10, r0
+ movs r1, 0
+ mov r12, r1
+ movs r0, 0x7
+ negs r0, r0
+ mov r9, r0
+ movs r1, 0x2
+ negs r1, r1
+ mov r8, r1
+_080AF458:
+ lsls r0, r5, 3
+ subs r0, r5
+ lsls r0, 2
+ mov r1, r10
+ adds r3, r0, r1
+ movs r0, 0
+ strh r0, [r3, 0x2]
+ strh r0, [r3]
+ mov r0, r12
+ strb r0, [r3, 0x12]
+ ldrb r2, [r3, 0xC]
+ movs r0, 0x6
+ ands r0, r2
+ cmp r0, 0
+ beq _080AF48A
+ lsls r0, r2, 29
+ lsrs r0, 30
+ subs r0, 0x1
+ movs r1, 0x3
+ ands r0, r1
+ lsls r0, 1
+ mov r1, r9
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0xC]
+_080AF48A:
+ mov r1, r12
+ strb r1, [r3, 0xE]
+ ldrb r0, [r3, 0x10]
+ mov r1, r8
+ ands r1, r0
+ mov r0, r12
+ strb r0, [r3, 0xF]
+ movs r0, 0x3
+ negs r0, r0
+ ands r1, r0
+ movs r6, 0x5
+ negs r6, r6
+ ands r1, r6
+ movs r7, 0x9
+ negs r7, r7
+ ands r1, r7
+ ldrb r0, [r3, 0xC]
+ mov r4, r8
+ ands r4, r0
+ strb r4, [r3, 0xC]
+ movs r0, 0xFF
+ strb r0, [r3, 0x13]
+ movs r0, 0x1
+ negs r0, r0
+ strb r0, [r3, 0x14]
+ subs r0, 0x30
+ ands r1, r0
+ strb r1, [r3, 0x10]
+ ldrb r2, [r3, 0x15]
+ lsls r1, r2, 31
+ lsrs r1, 31
+ lsls r1, 2
+ adds r0, r6, 0
+ ands r0, r2
+ orrs r0, r1
+ mov r1, r8
+ ands r0, r1
+ strb r0, [r3, 0x15]
+ ldrb r0, [r3, 0x11]
+ movs r2, 0x4
+ negs r2, r2
+ ands r2, r0
+ movs r0, 0x21
+ negs r0, r0
+ ands r2, r0
+ strb r2, [r3, 0x11]
+ movs r0, 0x4
+ ands r0, r2
+ cmp r0, 0
+ beq _080AF500
+ adds r0, r4, 0
+ mov r1, r9
+ ands r0, r1
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r3, 0xC]
+ adds r0, r2, 0
+ ands r0, r6
+ strb r0, [r3, 0x11]
+_080AF500:
+ ldrb r2, [r3, 0x11]
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _080AF518
+ ldrb r0, [r3, 0xB]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r3, 0xB]
+ adds r0, r7, 0
+ ands r0, r2
+ strb r0, [r3, 0x11]
+_080AF518:
+ ldrb r0, [r3, 0x11]
+ movs r1, 0x11
+ negs r1, r1
+ ands r1, r0
+ strb r1, [r3, 0x11]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _080AF458
+ movs r5, 0
+ mov r6, r10
+ mov r9, r5
+ adds r7, r6, 0
+ subs r7, 0x5C
+ movs r0, 0x18
+ negs r0, r0
+ adds r0, r6
+ mov r8, r0
+_080AF53E:
+ lsls r4, r5, 3
+ subs r4, r5
+ lsls r4, 2
+ adds r4, r6
+ ldrh r2, [r4, 0x6]
+ strh r2, [r4, 0x8]
+ lsls r1, r5, 1
+ ldrb r0, [r7, 0x1]
+ lsls r0, 3
+ adds r1, r0
+ adds r0, r6, 0
+ subs r0, 0x40
+ adds r0, r1
+ strh r2, [r0]
+ ldrh r0, [r4, 0x6]
+ bl contest_get_move_excitement
+ ldrb r1, [r7, 0x1]
+ lsls r1, 2
+ adds r1, r5, r1
+ add r1, r8
+ strb r0, [r1]
+ mov r1, r9
+ strh r1, [r4, 0x6]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _080AF53E
+ ldr r2, _080AF598 @ =0x02019328
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AF594: .4byte 0x02019260
+_080AF598: .4byte 0x02019328
+ thumb_func_end sub_80AF438
+
+ thumb_func_start sub_80AF59C
+sub_80AF59C: @ 80AF59C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ ldr r0, _080AF5C4 @ =0x02019260
+ adds r2, r1, r0
+ ldrb r1, [r2, 0xC]
+ movs r0, 0x6
+ ands r0, r1
+ cmp r0, 0
+ bne _080AF5C0
+ ldrb r1, [r2, 0xB]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080AF5C8
+_080AF5C0:
+ movs r0, 0x1
+ b _080AF5CA
+ .align 2, 0
+_080AF5C4: .4byte 0x02019260
+_080AF5C8:
+ movs r0, 0
+_080AF5CA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AF59C
+
+ thumb_func_start unref_sub_80AF5D0
+unref_sub_80AF5D0: @ 80AF5D0
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r3, r1, 24
+ ldr r1, _080AF5E8 @ =gUnknown_02038695
+ ldrb r1, [r1]
+ cmp r0, r1
+ beq _080AF600
+_080AF5E2:
+ movs r0, 0x1
+ b _080AF626
+ .align 2, 0
+_080AF5E8: .4byte gUnknown_02038695
+_080AF5EC:
+ ldrb r0, [r4, 0x6]
+ movs r1, 0x1
+ b _080AF5F6
+_080AF5F2:
+ ldrb r0, [r4, 0x6]
+ movs r1, 0x2
+_080AF5F6:
+ orrs r0, r1
+ strb r0, [r4, 0x6]
+ b _080AF5E2
+_080AF5FC:
+ strb r3, [r2]
+ b _080AF5E2
+_080AF600:
+ movs r0, 0
+ ldr r4, _080AF62C @ =0x02019204
+ adds r5, r4, 0x2
+_080AF606:
+ cmp r3, 0x3
+ beq _080AF5EC
+ cmp r3, 0x4
+ beq _080AF5F2
+ adds r2, r0, r5
+ ldrb r1, [r2]
+ cmp r1, r3
+ beq _080AF5E2
+ cmp r1, 0xFF
+ beq _080AF5FC
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bls _080AF606
+ movs r0, 0
+_080AF626:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AF62C: .4byte 0x02019204
+ thumb_func_end unref_sub_80AF5D0
+
+ thumb_func_start sub_80AF630
+sub_80AF630: @ 80AF630
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_80AF688
+ ldr r1, _080AF65C @ =gUnknown_02038688
+ lsls r4, 1
+ adds r1, r4, r1
+ strh r0, [r1]
+ ldr r2, _080AF660 @ =gUnknown_02038678
+ adds r2, r4, r2
+ ldr r1, _080AF664 @ =gUnknown_02038670
+ adds r4, r1
+ ldrh r4, [r4]
+ adds r0, r4
+ strh r0, [r2]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AF65C: .4byte gUnknown_02038688
+_080AF660: .4byte gUnknown_02038678
+_080AF664: .4byte gUnknown_02038670
+ thumb_func_end sub_80AF630
+
+ thumb_func_start sub_80AF668
+sub_80AF668: @ 80AF668
+ push {r4,lr}
+ movs r4, 0
+_080AF66C:
+ adds r0, r4, 0
+ bl sub_80AF630
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AF66C
+ bl sub_80AF6A0
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AF668
+
+ thumb_func_start sub_80AF688
+sub_80AF688: @ 80AF688
+ lsls r0, 24
+ ldr r1, _080AF69C @ =gUnknown_02038680
+ lsrs r0, 23
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ lsls r0, 17
+ asrs r0, 16
+ bx lr
+ .align 2, 0
+_080AF69C: .4byte gUnknown_02038680
+ thumb_func_end sub_80AF688
+
+ thumb_func_start sub_80AF6A0
+sub_80AF6A0: @ 80AF6A0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x70
+ mov r0, sp
+ movs r1, 0
+ movs r2, 0x8
+ bl memset
+ movs r0, 0
+ mov r9, r0
+ mov r1, sp
+ adds r1, 0x8
+ str r1, [sp, 0x64]
+ mov r3, sp
+ adds r3, 0xC
+ str r3, [sp, 0x68]
+ mov r6, sp
+ adds r6, 0x14
+ str r6, [sp, 0x6C]
+ mov r4, sp
+_080AF6CE:
+ bl Random
+ strh r0, [r4]
+ movs r2, 0
+ cmp r2, r9
+ bge _080AF70C
+ mov r1, sp
+ lsls r0, 16
+ lsrs r0, 16
+ ldrh r1, [r1]
+ cmp r0, r1
+ bne _080AF6F0
+ subs r4, 0x2
+ movs r7, 0x1
+ negs r7, r7
+ add r9, r7
+ b _080AF70C
+_080AF6F0:
+ adds r2, 0x1
+ cmp r2, r9
+ bge _080AF70C
+ lsls r0, r2, 1
+ mov r3, sp
+ adds r1, r3, r0
+ ldrh r0, [r4]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bne _080AF6F0
+ subs r4, 0x2
+ movs r6, 0x1
+ negs r6, r6
+ add r9, r6
+_080AF70C:
+ adds r4, 0x2
+ movs r7, 0x1
+ add r9, r7
+ mov r0, r9
+ cmp r0, 0x3
+ ble _080AF6CE
+ movs r1, 0
+ mov r9, r1
+ mov r4, sp
+ ldr r6, _080AF81C @ =gUnknown_02038678
+ ldr r2, [sp, 0x64]
+ ldr r5, _080AF820 @ =gUnknown_02038670
+ ldr r3, [sp, 0x68]
+_080AF726:
+ mov r7, r9
+ lsls r1, r7, 4
+ movs r7, 0
+ ldrsh r0, [r6, r7]
+ str r0, [r2]
+ movs r7, 0
+ ldrsh r0, [r5, r7]
+ str r0, [r3]
+ ldrh r0, [r4]
+ str r0, [r2, 0x8]
+ ldr r0, [sp, 0x6C]
+ adds r1, r0, r1
+ mov r7, r9
+ str r7, [r1]
+ adds r4, 0x2
+ adds r6, 0x2
+ adds r2, 0x10
+ adds r5, 0x2
+ adds r3, 0x10
+ movs r0, 0x1
+ add r9, r0
+ mov r1, r9
+ cmp r1, 0x3
+ ble _080AF726
+ movs r3, 0
+ mov r9, r3
+_080AF75A:
+ movs r4, 0x3
+ cmp r4, r9
+ ble _080AF7E4
+ add r7, sp, 0x48
+ ldr r6, [sp, 0x68]
+ str r6, [sp, 0x58]
+ ldr r0, [sp, 0x64]
+ adds r0, 0x8
+ str r0, [sp, 0x5C]
+ ldr r1, [sp, 0x6C]
+ str r1, [sp, 0x60]
+_080AF770:
+ subs r3, r4, 0x1
+ mov r10, r3
+ mov r0, r10
+ adds r1, r4, 0
+ ldr r2, [sp, 0x64]
+ bl sub_80AF828
+ lsls r0, 24
+ cmp r0, 0
+ beq _080AF7DE
+ mov r6, r10
+ lsls r2, r6, 4
+ ldr r0, [sp, 0x64]
+ adds r3, r0, r2
+ ldr r0, [r3]
+ str r0, [sp, 0x48]
+ ldr r1, [sp, 0x58]
+ adds r6, r1, r2
+ ldr r0, [r6]
+ str r0, [r7, 0x4]
+ ldr r0, [sp, 0x5C]
+ adds r0, r2
+ mov r8, r0
+ ldr r0, [r0]
+ str r0, [r7, 0x8]
+ ldr r1, [sp, 0x60]
+ adds r2, r1, r2
+ ldr r0, [r2]
+ str r0, [r7, 0xC]
+ lsls r1, r4, 4
+ ldr r0, [sp, 0x64]
+ adds r5, r0, r1
+ ldr r0, [r5]
+ str r0, [r3]
+ ldr r3, [sp, 0x58]
+ adds r4, r3, r1
+ ldr r0, [r4]
+ str r0, [r6]
+ ldr r6, [sp, 0x5C]
+ adds r3, r6, r1
+ ldr r0, [r3]
+ mov r6, r8
+ str r0, [r6]
+ ldr r0, [sp, 0x60]
+ adds r1, r0, r1
+ ldr r0, [r1]
+ str r0, [r2]
+ ldr r0, [sp, 0x48]
+ str r0, [r5]
+ ldr r0, [r7, 0x4]
+ str r0, [r4]
+ ldr r0, [r7, 0x8]
+ str r0, [r3]
+ ldr r0, [r7, 0xC]
+ str r0, [r1]
+_080AF7DE:
+ mov r4, r10
+ cmp r4, r9
+ bgt _080AF770
+_080AF7E4:
+ movs r1, 0x1
+ add r9, r1
+ mov r3, r9
+ cmp r3, 0x2
+ ble _080AF75A
+ movs r6, 0
+ mov r9, r6
+ ldr r2, _080AF824 @ =gUnknown_02038690
+ ldr r1, [sp, 0x6C]
+_080AF7F6:
+ ldr r0, [r1]
+ adds r0, r2
+ mov r7, r9
+ strb r7, [r0]
+ adds r1, 0x10
+ movs r0, 0x1
+ add r9, r0
+ mov r3, r9
+ cmp r3, 0x3
+ ble _080AF7F6
+ add sp, 0x70
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AF81C: .4byte gUnknown_02038678
+_080AF820: .4byte gUnknown_02038670
+_080AF824: .4byte gUnknown_02038690
+ thumb_func_end sub_80AF6A0
+
+ thumb_func_start sub_80AF828
+sub_80AF828: @ 80AF828
+ push {lr}
+ lsls r0, 4
+ adds r0, r2
+ lsls r1, 4
+ adds r3, r1, r2
+ ldr r2, [r0]
+ ldr r1, [r3]
+ cmp r2, r1
+ blt _080AF858
+ cmp r2, r1
+ bgt _080AF84A
+ ldr r2, [r0, 0x4]
+ ldr r1, [r3, 0x4]
+ cmp r2, r1
+ blt _080AF858
+ cmp r2, r1
+ ble _080AF84E
+_080AF84A:
+ movs r2, 0
+ b _080AF85A
+_080AF84E:
+ ldr r1, [r0, 0x8]
+ ldr r0, [r3, 0x8]
+ movs r2, 0
+ cmp r1, r0
+ bge _080AF85A
+_080AF858:
+ movs r2, 0x1
+_080AF85A:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AF828
+
+ thumb_func_start sub_80AF860
+sub_80AF860: @ 80AF860
+ push {lr}
+ sub sp, 0x4
+ ldr r0, _080AF88C @ =gUnknown_030042A0
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080AF890 @ =gUnknown_03004280
+ strh r1, [r0]
+ bl sub_80AF138
+ ldr r0, _080AF894 @ =gMenuWindow
+ ldr r1, _080AF898 @ =gUnknownText_LinkStandbyAndWinner
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r3, 0xF
+ str r3, [sp]
+ movs r3, 0x1
+ bl sub_8003460
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AF88C: .4byte gUnknown_030042A0
+_080AF890: .4byte gUnknown_03004280
+_080AF894: .4byte gMenuWindow
+_080AF898: .4byte gUnknownText_LinkStandbyAndWinner
+ thumb_func_end sub_80AF860
+
+ thumb_func_start unref_sub_80AF89C
+unref_sub_80AF89C: @ 80AF89C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ mov r8, r2
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r6, 16
+ lsrs r6, 16
+ mov r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r3, 24
+ lsrs r3, 24
+ mov r9, r3
+ lsls r2, r3, 2
+ ldr r0, _080AF940 @ =0x02019338
+ adds r2, r0
+ ldrb r0, [r2, 0x2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2, 0x2]
+ ldr r0, _080AF944 @ =sub_80AF94C
+ movs r1, 0x14
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ adds r7, r0, 0
+ lsls r4, 16
+ asrs r4, 16
+ adds r0, r4, 0
+ bl sub_80AFB74
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r6, 16
+ asrs r6, 16
+ adds r4, r6
+ lsls r4, 16
+ asrs r4, 16
+ adds r0, r4, 0
+ bl sub_80AFB74
+ adds r4, r0, 0
+ subs r4, r5
+ lsls r4, 24
+ lsrs r4, 24
+ mov r0, r9
+ bl sub_80AFB40
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _080AF948 @ =gTasks
+ lsls r1, r7, 2
+ adds r1, r7
+ lsls r1, 3
+ adds r1, r2
+ strh r5, [r1, 0x8]
+ lsls r4, 24
+ asrs r4, 24
+ strh r4, [r1, 0xA]
+ add r0, r8
+ strh r0, [r1, 0xC]
+ mov r0, r9
+ strh r0, [r1, 0xE]
+ cmp r6, 0
+ bge _080AF932
+ mov r0, r9
+ bl nullsub_19
+_080AF932:
+ adds r0, r7, 0
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AF940: .4byte 0x02019338
+_080AF944: .4byte sub_80AF94C
+_080AF948: .4byte gTasks
+ thumb_func_end unref_sub_80AF89C
+
+ thumb_func_start sub_80AF94C
+sub_80AF94C: @ 80AF94C
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080AF988 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r2, r0, r1
+ ldrb r5, [r2, 0xE]
+ ldrh r3, [r2, 0xA]
+ movs r0, 0xA
+ ldrsh r1, [r2, r0]
+ cmp r1, 0
+ bne _080AF990
+ adds r0, r5, 0
+ bl nullsub_19
+ adds r0, r4, 0
+ bl DestroyTask
+ lsls r1, r5, 2
+ ldr r0, _080AF98C @ =0x02019338
+ adds r1, r0
+ ldrb r2, [r1, 0x2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0x2]
+ b _080AFA56
+ .align 2, 0
+_080AF988: .4byte gTasks
+_080AF98C: .4byte 0x02019338
+_080AF990:
+ ldrh r0, [r2, 0x1C]
+ adds r0, 0x1
+ strh r0, [r2, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1D
+ ble _080AFA56
+ movs r0, 0
+ strh r0, [r2, 0x1C]
+ cmp r1, 0
+ bge _080AF9BC
+ ldrh r0, [r2, 0x8]
+ subs r1, r0, 0x1
+ strh r1, [r2, 0x8]
+ lsls r0, 24
+ lsrs r6, r0, 24
+ adds r0, r3, 0x1
+ strh r0, [r2, 0xA]
+ movs r0, 0x16
+ bl PlaySE
+ b _080AF9D0
+_080AF9BC:
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ lsls r0, 24
+ lsrs r6, r0, 24
+ subs r0, r3, 0x1
+ strh r0, [r2, 0xA]
+ movs r0, 0x15
+ bl PlaySE
+_080AF9D0:
+ ldr r3, _080AFA00 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r2, r0, 3
+ adds r0, r2, r3
+ ldrh r1, [r0, 0xC]
+ ldr r0, _080AFA04 @ =0x0000ffff
+ cmp r1, r0
+ beq _080AFA38
+ adds r0, r3, r2
+ adds r0, 0xC
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 5
+ adds r1, 0x93
+ adds r1, r6, r1
+ lsls r1, 1
+ ldr r2, _080AFA08 @ =0x0600c000
+ adds r1, r2
+ movs r2, 0x2
+ bl RequestSpriteCopy
+ b _080AFA56
+ .align 2, 0
+_080AFA00: .4byte gTasks
+_080AFA04: .4byte 0x0000ffff
+_080AFA08: .4byte 0x0600c000
+_080AFA0C:
+ adds r0, r2, r3
+ lsls r1, 1
+ adds r1, 0xE
+ adds r0, r1
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 5
+ adds r1, 0x93
+ adds r1, r6, r1
+ lsls r1, 1
+ ldr r7, _080AFA34 @ =0x0600c000
+ adds r1, r7
+ movs r2, 0x2
+ bl RequestSpriteCopy
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ b _080AFA56
+ .align 2, 0
+_080AFA34: .4byte 0x0600c000
+_080AFA38:
+ movs r1, 0
+ adds r3, 0x8
+_080AFA3C:
+ adds r0, r1, 0x4
+ lsls r0, 1
+ adds r0, r2
+ adds r4, r0, r3
+ movs r7, 0
+ ldrsh r0, [r4, r7]
+ cmp r0, 0
+ blt _080AFA0C
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x2
+ bls _080AFA3C
+_080AFA56:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AF94C
+
+ thumb_func_start sub_80AFA5C
+sub_80AFA5C: @ 80AFA5C
+ push {r4-r7,lr}
+ sub sp, 0x4
+ movs r3, 0
+ ldr r0, _080AFAAC @ =0x0600c000
+ mov r12, r0
+ mov r4, sp
+ movs r6, 0
+ ldr r2, _080AFAB0 @ =0x040000d4
+ ldr r5, _080AFAB4 @ =0x81000008
+_080AFA6E:
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 5
+ adds r0, r1, 0
+ adds r0, 0x56
+ lsls r0, 1
+ add r0, r12
+ strh r6, [r4]
+ mov r7, sp
+ str r7, [r2]
+ str r0, [r2, 0x4]
+ str r5, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ adds r1, 0x76
+ lsls r1, 1
+ add r1, r12
+ strh r6, [r4]
+ str r7, [r2]
+ str r1, [r2, 0x4]
+ str r5, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x3
+ bls _080AFA6E
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AFAAC: .4byte 0x0600c000
+_080AFAB0: .4byte 0x040000d4
+_080AFAB4: .4byte 0x81000008
+ thumb_func_end sub_80AFA5C
+
+ thumb_func_start unref_sub_80AFAB8
+unref_sub_80AFAB8: @ 80AFAB8
+ push {r4-r6,lr}
+ sub sp, 0x14
+ lsls r1, 24
+ lsrs r4, r1, 24
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80AFB74
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r2, _080AFAF4 @ =0x000050a2
+ cmp r4, 0
+ beq _080AFAE0
+ ldr r2, _080AFAF8 @ =0x000060a2
+ cmp r4, 0x1
+ beq _080AFAE0
+ ldr r2, _080AFAFC @ =0x000080a2
+ cmp r4, 0x2
+ bne _080AFAE0
+ ldr r2, _080AFB00 @ =0x000070a2
+_080AFAE0:
+ movs r1, 0
+ lsls r3, r4, 2
+ movs r6, 0
+_080AFAE6:
+ cmp r1, r5
+ bcs _080AFB04
+ lsls r0, r1, 1
+ add r0, sp
+ strh r2, [r0]
+ b _080AFB0A
+ .align 2, 0
+_080AFAF4: .4byte 0x000050a2
+_080AFAF8: .4byte 0x000060a2
+_080AFAFC: .4byte 0x000080a2
+_080AFB00: .4byte 0x000070a2
+_080AFB04:
+ lsls r0, r1, 1
+ add r0, sp
+ strh r6, [r0]
+_080AFB0A:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x8
+ bls _080AFAE6
+ adds r0, r3, r4
+ lsls r0, 6
+ ldr r1, _080AFB34 @ =0x0600c128
+ adds r0, r1
+ ldr r1, _080AFB38 @ =0x040000d4
+ mov r2, sp
+ str r2, [r1]
+ str r0, [r1, 0x4]
+ ldr r0, _080AFB3C @ =0x80000009
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AFB34: .4byte 0x0600c128
+_080AFB38: .4byte 0x040000d4
+_080AFB3C: .4byte 0x80000009
+ thumb_func_end unref_sub_80AFAB8
+
+ thumb_func_start sub_80AFB40
+sub_80AFB40: @ 80AFB40
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080AFB64 @ =0x00005011
+ cmp r0, 0
+ beq _080AFB5A
+ ldr r1, _080AFB68 @ =0x00006011
+ cmp r0, 0x1
+ beq _080AFB5A
+ ldr r1, _080AFB6C @ =0x00008011
+ cmp r0, 0x2
+ bne _080AFB5A
+ ldr r1, _080AFB70 @ =0x00007011
+_080AFB5A:
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AFB64: .4byte 0x00005011
+_080AFB68: .4byte 0x00006011
+_080AFB6C: .4byte 0x00008011
+_080AFB70: .4byte 0x00007011
+ thumb_func_end sub_80AFB40
+
+ thumb_func_start sub_80AFB74
+sub_80AFB74: @ 80AFB74
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 24
+ lsrs r1, r0, 24
+ asrs r2, r0, 24
+ cmp r2, 0x10
+ ble _080AFB8E
+ movs r1, 0x10
+ b _080AFB98
+_080AFB8E:
+ movs r0, 0x10
+ negs r0, r0
+ cmp r2, r0
+ bge _080AFB98
+ movs r1, 0xF0
+_080AFB98:
+ lsls r0, r1, 24
+ asrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AFB74
+
+ thumb_func_start sub_80AFBA0
+sub_80AFBA0: @ 80AFBA0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ lsls r1, 16
+ lsrs r1, 16
+ mov r8, r1
+ lsls r2, 24
+ lsrs r7, r2, 24
+ lsls r2, r7, 2
+ ldr r0, _080AFC30 @ =0x02019338
+ adds r2, r0
+ ldrb r0, [r2, 0x2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2, 0x2]
+ ldr r0, _080AFC34 @ =sub_80AFC74
+ movs r1, 0x14
+ bl CreateTask
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r5, 16
+ asrs r5, 16
+ adds r0, r5, 0
+ bl sub_80AFB74
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ mov r1, r8
+ lsls r0, r1, 16
+ asrs r0, 16
+ adds r5, r0
+ lsls r5, 16
+ asrs r5, 16
+ adds r0, r5, 0
+ bl sub_80AFB74
+ lsls r4, 24
+ asrs r4, 24
+ subs r0, r4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r7, 0
+ bl sub_80AFB40
+ ldr r2, _080AFC38 @ =gTasks
+ lsls r3, r6, 2
+ adds r0, r3, r6
+ lsls r0, 3
+ adds r1, r0, r2
+ adds r0, r4, 0
+ cmp r4, 0
+ bge _080AFC14
+ negs r0, r4
+_080AFC14:
+ strh r0, [r1, 0x8]
+ lsls r0, r5, 24
+ asrs r0, 24
+ strh r0, [r1, 0xA]
+ cmp r4, 0
+ bgt _080AFC28
+ cmp r4, 0
+ bne _080AFC3C
+ cmp r0, 0
+ ble _080AFC3C
+_080AFC28:
+ movs r0, 0x1
+ strh r0, [r1, 0xC]
+ b _080AFC4A
+ .align 2, 0
+_080AFC30: .4byte 0x02019338
+_080AFC34: .4byte sub_80AFC74
+_080AFC38: .4byte gTasks
+_080AFC3C:
+ ldr r2, _080AFC6C @ =gTasks
+ lsls r3, r6, 2
+ adds r0, r3, r6
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, _080AFC70 @ =0x0000ffff
+ strh r1, [r0, 0xC]
+_080AFC4A:
+ adds r0, r3, r6
+ lsls r0, 3
+ adds r0, r2
+ strh r7, [r0, 0xE]
+ mov r1, r8
+ lsls r0, r1, 16
+ cmp r0, 0
+ bge _080AFC60
+ adds r0, r7, 0
+ bl nullsub_19
+_080AFC60:
+ adds r0, r6, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AFC6C: .4byte gTasks
+_080AFC70: .4byte 0x0000ffff
+ thumb_func_end sub_80AFBA0
+
+ thumb_func_start sub_80AFC74
+sub_80AFC74: @ 80AFC74
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r1, _080AFCD4 @ =gTasks
+ lsls r0, 2
+ add r0, r8
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrb r7, [r4, 0xE]
+ ldrh r3, [r4, 0x8]
+ ldrh r1, [r4, 0xA]
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x1
+ strh r0, [r4, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xE
+ bgt _080AFCA6
+ b _080AFE1C
+_080AFCA6:
+ movs r0, 0
+ strh r0, [r4, 0x1C]
+ ldrh r2, [r4, 0xA]
+ movs r5, 0xA
+ ldrsh r0, [r4, r5]
+ cmp r0, 0
+ bne _080AFCDC
+ adds r0, r7, 0
+ bl nullsub_19
+ mov r0, r8
+ bl DestroyTask
+ lsls r1, r7, 2
+ ldr r0, _080AFCD8 @ =0x02019338
+ adds r1, r0
+ ldrb r2, [r1, 0x2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0x2]
+ b _080AFE1C
+ .align 2, 0
+_080AFCD4: .4byte gTasks
+_080AFCD8: .4byte 0x02019338
+_080AFCDC:
+ cmp r3, 0
+ bne _080AFD28
+ lsls r0, r1, 16
+ mov r9, r0
+ cmp r0, 0
+ bge _080AFCFA
+ adds r0, r7, 0
+ bl sub_80AFB40
+ adds r0, 0x2
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ b _080AFD08
+_080AFCFA:
+ adds r0, r7, 0
+ bl sub_80AFB40
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldrh r0, [r4, 0xA]
+ subs r0, 0x1
+_080AFD08:
+ strh r0, [r4, 0xA]
+ ldr r1, _080AFD24 @ =gTasks
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x8]
+ adds r2, r1, 0x1
+ strh r2, [r0, 0x8]
+ lsls r1, 24
+ lsrs r5, r1, 24
+ b _080AFD94
+ .align 2, 0
+_080AFD24: .4byte gTasks
+_080AFD28:
+ movs r3, 0xC
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ bge _080AFD62
+ lsls r0, r1, 16
+ mov r9, r0
+ cmp r0, 0
+ bge _080AFD50
+ ldrh r0, [r4, 0x8]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x8]
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r2, 0x1
+ strh r0, [r4, 0xA]
+ adds r0, r7, 0
+ bl sub_80AFB40
+ adds r0, 0x2
+ b _080AFD90
+_080AFD50:
+ ldrh r0, [r4, 0x8]
+ subs r0, 0x1
+ strh r0, [r4, 0x8]
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r6, 0
+ subs r0, r2, 0x1
+ strh r0, [r4, 0xA]
+ b _080AFD94
+_080AFD62:
+ lsls r0, r1, 16
+ mov r9, r0
+ cmp r0, 0
+ bge _080AFD7C
+ ldrh r0, [r4, 0x8]
+ subs r0, 0x1
+ strh r0, [r4, 0x8]
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r6, 0
+ adds r0, r2, 0x1
+ strh r0, [r4, 0xA]
+ b _080AFD94
+_080AFD7C:
+ ldrh r0, [r4, 0x8]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x8]
+ lsls r0, 24
+ lsrs r5, r0, 24
+ subs r0, r2, 0x1
+ strh r0, [r4, 0xA]
+ adds r0, r7, 0
+ bl sub_80AFB40
+_080AFD90:
+ lsls r0, 16
+ lsrs r6, r0, 16
+_080AFD94:
+ mov r10, r5
+ cmp r5, 0x7
+ bls _080AFDA2
+ adds r0, r5, 0
+ adds r0, 0x18
+ lsls r0, 24
+ lsrs r5, r0, 24
+_080AFDA2:
+ mov r0, sp
+ strh r6, [r0]
+ ldr r0, _080AFDE8 @ =gUnknown_02038696
+ adds r0, r7, r0
+ ldrb r0, [r0]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 5
+ adds r1, 0x56
+ adds r1, r5, r1
+ lsls r1, 1
+ ldr r0, _080AFDEC @ =0x0600c000
+ adds r1, r0
+ ldr r2, _080AFDF0 @ =0x01000001
+ mov r0, sp
+ bl CpuSet
+ mov r2, r9
+ cmp r2, 0
+ ble _080AFDFC
+ movs r0, 0x60
+ bl PlaySE
+ ldr r4, _080AFDF4 @ =gMPlay_SE1
+ adds r0, r4, 0
+ bl m4aMPlayImmInit
+ ldr r1, _080AFDF8 @ =0x0000ffff
+ mov r3, r10
+ lsls r2, r3, 24
+ asrs r2, 16
+ adds r0, r4, 0
+ bl m4aMPlayPitchControl
+ b _080AFE02
+ .align 2, 0
+_080AFDE8: .4byte gUnknown_02038696
+_080AFDEC: .4byte 0x0600c000
+_080AFDF0: .4byte 0x01000001
+_080AFDF4: .4byte gMPlay_SE1
+_080AFDF8: .4byte 0x0000ffff
+_080AFDFC:
+ movs r0, 0x16
+ bl PlaySE
+_080AFE02:
+ cmp r5, 0
+ bne _080AFE1C
+ cmp r6, 0
+ bne _080AFE1C
+ ldr r0, _080AFE2C @ =gTasks
+ mov r5, r8
+ lsls r1, r5, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0xC]
+ negs r0, r0
+ strh r0, [r1, 0xC]
+_080AFE1C:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AFE2C: .4byte gTasks
+ thumb_func_end sub_80AFC74
+
+ thumb_func_start sub_80AFE30
+sub_80AFE30: @ 80AFE30
+ push {r4,r5,lr}
+ ldr r0, _080AFE64 @ =gUnknown_083CA350
+ bl LoadSpriteSheet
+ movs r4, 0
+ ldr r5, _080AFE68 @ =gUnknown_083CA338
+_080AFE3C:
+ ldr r0, _080AFE6C @ =gUnknown_02038696
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ adds r0, r5
+ ldrb r2, [r0]
+ ldr r0, _080AFE70 @ =gSpriteTemplate_83CA3AC
+ movs r1, 0xB4
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r1, r4, 2
+ ldr r2, _080AFE74 @ =0x02019338
+ adds r1, r2
+ strb r0, [r1]
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080AFE3C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AFE64: .4byte gUnknown_083CA350
+_080AFE68: .4byte gUnknown_083CA338
+_080AFE6C: .4byte gUnknown_02038696
+_080AFE70: .4byte gSpriteTemplate_83CA3AC
+_080AFE74: .4byte 0x02019338
+ thumb_func_end sub_80AFE30
+
+ thumb_func_start sub_80AFE78
+sub_80AFE78: @ 80AFE78
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r2, r6, 2
+ ldr r3, _080AFEB0 @ =0x02019338
+ adds r2, r3
+ ldrb r0, [r2, 0x2]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2, 0x2]
+ ldrb r7, [r2]
+ lsls r0, r6, 3
+ subs r0, r6
+ lsls r0, 2
+ subs r3, 0xD8
+ adds r0, r3
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 17
+ lsrs r5, r0, 16
+ asrs r0, 16
+ cmp r0, 0x38
+ ble _080AFEB4
+ movs r5, 0x38
+ b _080AFEBA
+ .align 2, 0
+_080AFEB0: .4byte 0x02019338
+_080AFEB4:
+ cmp r0, 0
+ bge _080AFEBA
+ movs r5, 0
+_080AFEBA:
+ ldr r2, _080AFEEC @ =gSprites
+ lsls r3, r7, 4
+ adds r0, r3, r7
+ lsls r0, 2
+ adds r4, r0, r2
+ movs r0, 0x3E
+ adds r0, r4
+ mov r12, r0
+ ldrb r1, [r0]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ mov r1, r12
+ strb r0, [r1]
+ strh r6, [r4, 0x2E]
+ strh r5, [r4, 0x30]
+ lsls r0, r5, 16
+ asrs r0, 16
+ movs r5, 0x24
+ ldrsh r1, [r4, r5]
+ cmp r0, r1
+ ble _080AFEF0
+ movs r0, 0x1
+ b _080AFEF2
+ .align 2, 0
+_080AFEEC: .4byte gSprites
+_080AFEF0:
+ ldr r0, _080AFF08 @ =0x0000ffff
+_080AFEF2:
+ strh r0, [r4, 0x32]
+ adds r0, r3, r7
+ lsls r0, 2
+ adds r1, r2, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _080AFF0C @ =sub_80AFF60
+ str r1, [r0]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AFF08: .4byte 0x0000ffff
+_080AFF0C: .4byte sub_80AFF60
+ thumb_func_end sub_80AFE78
+
+ thumb_func_start sub_80AFF10
+sub_80AFF10: @ 80AFF10
+ push {r4,lr}
+ movs r4, 0
+_080AFF14:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_80AFE78
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080AFF14
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AFF10
+
+ thumb_func_start sub_80AFF28
+sub_80AFF28: @ 80AFF28
+ push {r4,lr}
+ movs r3, 0
+ ldr r2, _080AFF54 @ =0x02019338
+ ldrb r1, [r2, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080AFF4C
+ movs r4, 0x1
+_080AFF3A:
+ adds r2, 0x4
+ adds r3, 0x1
+ cmp r3, 0x3
+ bgt _080AFF4C
+ ldrb r1, [r2, 0x2]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080AFF3A
+_080AFF4C:
+ cmp r3, 0x4
+ beq _080AFF58
+ movs r0, 0
+ b _080AFF5A
+ .align 2, 0
+_080AFF54: .4byte 0x02019338
+_080AFF58:
+ movs r0, 0x1
+_080AFF5A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AFF28
+
+ thumb_func_start sub_80AFF60
+sub_80AFF60: @ 80AFF60
+ push {r4,lr}
+ adds r3, r0, 0
+ ldrh r2, [r3, 0x24]
+ movs r0, 0x24
+ ldrsh r1, [r3, r0]
+ movs r4, 0x30
+ ldrsh r0, [r3, r4]
+ cmp r1, r0
+ bne _080AFF94
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r1, 2
+ ldr r0, _080AFF8C @ =0x02019338
+ adds r1, r0
+ ldrb r2, [r1, 0x2]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0x2]
+ ldr r0, _080AFF90 @ =SpriteCallbackDummy
+ str r0, [r3, 0x1C]
+ b _080AFF9A
+ .align 2, 0
+_080AFF8C: .4byte 0x02019338
+_080AFF90: .4byte SpriteCallbackDummy
+_080AFF94:
+ ldrh r0, [r3, 0x32]
+ adds r0, r2, r0
+ strh r0, [r3, 0x24]
+_080AFF9A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AFF60
+
+ thumb_func_start sub_80AFFA0
+sub_80AFFA0: @ 80AFFA0
+ push {r4-r6,lr}
+ movs r2, 0
+ ldr r6, _080AFFD0 @ =gSprites
+ ldr r5, _080AFFD4 @ =gUnknown_083CA338
+ ldr r3, _080AFFD8 @ =0x02019338
+ ldr r4, _080AFFDC @ =gUnknown_02038696
+_080AFFAC:
+ ldrb r0, [r3]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ adds r0, r5
+ ldrb r0, [r0]
+ strh r0, [r1, 0x22]
+ adds r3, 0x4
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080AFFAC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AFFD0: .4byte gSprites
+_080AFFD4: .4byte gUnknown_083CA338
+_080AFFD8: .4byte 0x02019338
+_080AFFDC: .4byte gUnknown_02038696
+ thumb_func_end sub_80AFFA0
+
+ thumb_func_start sub_80AFFE0
+sub_80AFFE0: @ 80AFFE0
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r3, 0
+ ldr r6, _080B0008 @ =gUnknown_02038696
+ ldr r4, _080B000C @ =gSprites
+ ldr r2, _080B0010 @ =0x02019338
+_080AFFEE:
+ adds r0, r3, r6
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bls _080B0024
+ cmp r5, 0
+ bne _080B0014
+ ldrb r0, [r2]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ movs r0, 0xB4
+ b _080B0022
+ .align 2, 0
+_080B0008: .4byte gUnknown_02038696
+_080B000C: .4byte gSprites
+_080B0010: .4byte 0x02019338
+_080B0014:
+ ldrb r0, [r2]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ movs r0, 0x80
+ lsls r0, 1
+_080B0022:
+ strh r0, [r1, 0x20]
+_080B0024:
+ adds r2, 0x4
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _080AFFEE
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AFFE0
+
+ thumb_func_start sub_80B0034
+sub_80B0034: @ 80B0034
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r0, _080B00A8 @ =gUnknown_083CA3E4
+ bl LoadSpritePalette
+ movs r5, 0
+ ldr r0, _080B00AC @ =gUnknown_083CA33C
+ mov r8, r0
+ ldr r7, _080B00B0 @ =gSprites
+ movs r6, 0
+_080B004A:
+ lsls r0, r5, 3
+ ldr r1, _080B00B4 @ =gUnknown_083CA3C4
+ adds r0, r1
+ bl LoadCompressedObjectPic
+ ldr r0, _080B00B8 @ =gSpriteTemplate_83CA3F4
+ adds r0, r6, r0
+ ldr r1, _080B00BC @ =gUnknown_02038696
+ adds r1, r5, r1
+ ldrb r1, [r1]
+ add r1, r8
+ ldrb r2, [r1]
+ movs r1, 0xCC
+ movs r3, 0
+ bl CreateSprite
+ lsls r4, r5, 2
+ ldr r1, _080B00C0 @ =0x02019338
+ adds r4, r1
+ strb r0, [r4, 0x1]
+ ldrb r1, [r4, 0x1]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r7
+ ldr r1, _080B00C4 @ =gUnknown_083CA464
+ bl SetSubspriteTables
+ ldrb r1, [r4, 0x1]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r7
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ adds r6, 0x18
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080B004A
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B00A8: .4byte gUnknown_083CA3E4
+_080B00AC: .4byte gUnknown_083CA33C
+_080B00B0: .4byte gSprites
+_080B00B4: .4byte gUnknown_083CA3C4
+_080B00B8: .4byte gSpriteTemplate_83CA3F4
+_080B00BC: .4byte gUnknown_02038696
+_080B00C0: .4byte 0x02019338
+_080B00C4: .4byte gUnknown_083CA464
+ thumb_func_end sub_80B0034
+
+ thumb_func_start sub_80B00C8
+sub_80B00C8: @ 80B00C8
+ push {lr}
+ ldr r0, _080B0104 @ =gUnknown_083CA46C
+ bl LoadCompressedObjectPic
+ ldr r0, _080B0108 @ =gUnknown_083CA474
+ bl LoadSpritePalette
+ ldr r0, _080B010C @ =gSpriteTemplate_83CA484
+ movs r1, 0x1E
+ movs r2, 0x2C
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B0110 @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ movs r3, 0x4
+ orrs r2, r3
+ strb r2, [r1]
+ ldr r1, _080B0114 @ =0x02019204
+ adds r1, 0x58
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0104: .4byte gUnknown_083CA46C
+_080B0108: .4byte gUnknown_083CA474
+_080B010C: .4byte gSpriteTemplate_83CA484
+_080B0110: .4byte gSprites
+_080B0114: .4byte 0x02019204
+ thumb_func_end sub_80B00C8
+
+ thumb_func_start nullsub_18
+nullsub_18: @ 80B0118
+ bx lr
+ thumb_func_end nullsub_18
+
+ thumb_func_start unref_sub_80B011C
+unref_sub_80B011C: @ 80B011C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r0, _080B0198 @ =gUnknown_083CC3AC
+ bl LoadCompressedObjectPic
+ movs r4, 0
+ ldr r5, _080B019C @ =gUnknown_083CC3B4
+_080B012C:
+ lsls r0, r4, 3
+ adds r0, r5
+ bl LoadCompressedObjectPalette
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B012C
+ movs r4, 0
+ ldr r5, _080B01A0 @ =gUnknown_083CA330
+ adds r0, r5, 0x1
+ mov r8, r0
+ ldr r7, _080B01A4 @ =gSprites
+ ldr r6, _080B01A8 @ =0x0201920d
+_080B014A:
+ lsls r2, r4, 1
+ adds r0, r2, r4
+ lsls r0, 3
+ ldr r1, _080B01AC @ =gSpriteTemplate_83CC454
+ adds r0, r1
+ adds r1, r2, r5
+ ldrb r1, [r1]
+ add r2, r8
+ ldrb r2, [r2]
+ movs r3, 0x5
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ movs r2, 0x3E
+ adds r2, r1
+ mov r12, r2
+ ldrb r2, [r2]
+ movs r3, 0x4
+ orrs r2, r3
+ mov r3, r12
+ strb r2, [r3]
+ strh r4, [r1, 0x2E]
+ adds r1, r4, r6
+ strb r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B014A
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0198: .4byte gUnknown_083CC3AC
+_080B019C: .4byte gUnknown_083CC3B4
+_080B01A0: .4byte gUnknown_083CA330
+_080B01A4: .4byte gSprites
+_080B01A8: .4byte 0x0201920d
+_080B01AC: .4byte gSpriteTemplate_83CC454
+ thumb_func_end unref_sub_80B011C
+
+ thumb_func_start unref_sub_80B01B0
+unref_sub_80B01B0: @ 80B01B0
+ push {r4,r5,lr}
+ movs r2, 0
+ ldr r5, _080B01D4 @ =0x0201920d
+ ldr r4, _080B01D8 @ =gSprites + 0x1C
+ ldr r3, _080B01DC @ =ObjectCB_SwitchPocketRotatingBallInit
+_080B01BA:
+ adds r0, r2, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ str r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080B01BA
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B01D4: .4byte 0x0201920d
+_080B01D8: .4byte gSprites + 0x1C
+_080B01DC: .4byte sub_80B0238
+ thumb_func_end unref_sub_80B01B0
+
+ thumb_func_start unref_sub_80B01E0
+unref_sub_80B01E0: @ 80B01E0
+ push {r4,r5,lr}
+ movs r3, 0
+ ldr r2, _080B0224 @ =gSprites
+ ldr r4, _080B0228 @ =0x02019204
+ ldrb r1, [r4, 0x9]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _080B022C @ =SpriteCallbackDummy
+ cmp r1, r0
+ bne _080B021A
+ adds r5, r4, 0
+ adds r5, 0x9
+ adds r4, r1, 0
+_080B0202:
+ adds r3, 0x1
+ cmp r3, 0x3
+ bgt _080B021A
+ adds r0, r3, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, r4
+ beq _080B0202
+_080B021A:
+ cmp r3, 0x4
+ beq _080B0230
+ movs r0, 0
+ b _080B0232
+ .align 2, 0
+_080B0224: .4byte gSprites
+_080B0228: .4byte 0x02019204
+_080B022C: .4byte SpriteCallbackDummy
+_080B0230:
+ movs r0, 0x1
+_080B0232:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end unref_sub_80B01E0
+
+ thumb_func_start sub_80B0238
+sub_80B0238: @ 80B0238
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ adds r0, r4, 0
+ bl InitSpriteAffineAnim
+ adds r0, r4, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080B0268
+ ldr r0, _080B0264 @ =sub_80B02A8
+ b _080B0272
+ .align 2, 0
+_080B0264: .4byte sub_80B02A8
+_080B0268:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ ldr r0, _080B027C @ =sub_80B0280
+_080B0272:
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B027C: .4byte sub_80B0280
+ thumb_func_end sub_80B0238
+
+ thumb_func_start sub_80B0280
+sub_80B0280: @ 80B0280
+ push {lr}
+ adds r3, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080B02A0
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _080B02A4 @ =sub_80B02A8
+ str r0, [r3, 0x1C]
+_080B02A0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B02A4: .4byte sub_80B02A8
+ thumb_func_end sub_80B0280
+
+ thumb_func_start sub_80B02A8
+sub_80B02A8: @ 80B02A8
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ ldr r1, _080B02EC @ =0x02019260
+ adds r0, r1
+ ldrb r1, [r0, 0xB]
+ lsls r1, 30
+ lsrs r1, 30
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ ldr r0, _080B02F0 @ =sub_80B02F4
+ str r0, [r4, 0x1C]
+ movs r0, 0x18
+ bl PlaySE
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B02EC: .4byte 0x02019260
+_080B02F0: .4byte sub_80B02F4
+ thumb_func_end sub_80B02A8
+
+ thumb_func_start sub_80B02F4
+sub_80B02F4: @ 80B02F4
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080B0318
+ adds r0, r4, 0
+ bl FreeSpriteOamMatrix
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x4
+ negs r1, r1
+ ands r1, r0
+ strb r1, [r4, 0x1]
+ ldr r0, _080B0320 @ =SpriteCallbackDummy
+ str r0, [r4, 0x1C]
+_080B0318:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0320: .4byte SpriteCallbackDummy
+ thumb_func_end sub_80B02F4
+
+ thumb_func_start sub_80B0324
+sub_80B0324: @ 80B0324
+ push {r4,lr}
+ ldr r0, _080B035C @ =sub_80B0458
+ movs r1, 0x1E
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080B0360 @ =0x02019204
+ strb r0, [r1, 0xD]
+ movs r2, 0
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r4, _080B0364 @ =gTasks + 0x8
+ movs r3, 0xFF
+_080B0342:
+ lsls r0, r2, 3
+ adds r0, r1
+ adds r0, r4
+ strh r3, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _080B0342
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B035C: .4byte sub_80B0458
+_080B0360: .4byte 0x02019204
+_080B0364: .4byte gTasks + 0x8
+ thumb_func_end sub_80B0324
+
+ thumb_func_start sub_80B0368
+sub_80B0368: @ 80B0368
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _080B03A0 @ =gTasks
+ ldr r5, _080B03A4 @ =0x02019204
+ ldrb r2, [r5, 0xD]
+ lsls r1, r2, 2
+ adds r1, r2
+ adds r1, r0
+ lsls r1, 3
+ adds r3, 0x8
+ adds r1, r3
+ movs r4, 0
+ strh r4, [r1]
+ lsls r0, 2
+ adds r0, 0x1
+ lsls r0, 1
+ ldrb r2, [r5, 0xD]
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ adds r0, r3
+ strh r4, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B03A0: .4byte gTasks
+_080B03A4: .4byte 0x02019204
+ thumb_func_end sub_80B0368
+
+ thumb_func_start sub_80B03A8
+sub_80B03A8: @ 80B03A8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080B03D0 @ =sub_80B03D8
+ movs r1, 0x1F
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B03D4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0x8]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B03D0: .4byte sub_80B03D8
+_080B03D4: .4byte gTasks
+ thumb_func_end sub_80B03A8
+
+ thumb_func_start sub_80B03D8
+sub_80B03D8: @ 80B03D8
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ ldr r2, _080B044C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r2
+ ldrb r0, [r0, 0x8]
+ adds r4, r0, 0
+ ldr r6, _080B0450 @ =0x02019204
+ ldrb r1, [r6, 0xD]
+ lsls r0, r1, 2
+ adds r0, r1
+ adds r0, r4
+ lsls r0, 3
+ adds r7, r2, 0
+ adds r7, 0x8
+ adds r1, r0, r7
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _080B040C
+ cmp r0, 0xFF
+ bne _080B0444
+_080B040C:
+ movs r3, 0
+ movs r0, 0xFF
+ strh r0, [r1]
+ lsls r1, r4, 2
+ adds r1, 0x1
+ lsls r1, 1
+ ldrb r2, [r6, 0xD]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, r7
+ strh r3, [r1]
+ adds r0, r6, 0
+ adds r0, 0x14
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ adds r0, 0x5
+ lsls r0, 4
+ adds r0, 0x6
+ ldr r3, _080B0454 @ =0x00004bff
+ movs r1, 0x2
+ movs r2, 0
+ bl BlendPalette
+ adds r0, r5, 0
+ bl DestroyTask
+_080B0444:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B044C: .4byte gTasks
+_080B0450: .4byte 0x02019204
+_080B0454: .4byte 0x00004bff
+ thumb_func_end sub_80B03D8
+
+ thumb_func_start sub_80B0458
+sub_80B0458: @ 80B0458
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r6, 0
+ lsls r1, r0, 2
+ adds r1, r0
+ mov r9, r1
+ lsls r7, r1, 3
+ ldr r0, _080B04A8 @ =gTasks + 0x8
+ mov r8, r0
+ movs r1, 0x8
+ negs r1, r1
+ add r1, r8
+ mov r10, r1
+_080B047C:
+ lsls r0, r6, 26
+ lsrs r3, r0, 24
+ lsls r0, r3, 1
+ adds r0, r7
+ mov r4, r8
+ adds r2, r0, r4
+ ldrh r4, [r2]
+ movs r5, 0
+ ldrsh r0, [r2, r5]
+ cmp r0, 0xFF
+ beq _080B04F6
+ adds r0, r3, 0x1
+ lsls r1, r0, 1
+ adds r1, r7
+ add r1, r8
+ movs r5, 0
+ ldrsh r1, [r1, r5]
+ adds r5, r0, 0
+ cmp r1, 0
+ bne _080B04AC
+ adds r0, r4, 0x1
+ b _080B04AE
+ .align 2, 0
+_080B04A8: .4byte gTasks + 0x8
+_080B04AC:
+ subs r0, r4, 0x1
+_080B04AE:
+ strh r0, [r2]
+ lsls r1, r3, 1
+ mov r0, r9
+ lsls r2, r0, 3
+ adds r0, r1, r2
+ mov r3, r10
+ adds r3, 0x8
+ adds r0, r3
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ adds r4, r1, 0
+ cmp r0, 0x10
+ beq _080B04CC
+ cmp r0, 0
+ bne _080B04DA
+_080B04CC:
+ lsls r0, r5, 1
+ adds r0, r2
+ adds r0, r3
+ ldrh r1, [r0]
+ movs r2, 0x1
+ eors r1, r2
+ strh r1, [r0]
+_080B04DA:
+ ldr r0, _080B0510 @ =0x02019204
+ adds r0, 0x14
+ adds r0, r6, r0
+ ldrb r0, [r0]
+ adds r0, 0x5
+ lsls r0, 4
+ adds r0, 0x6
+ adds r1, r4, r7
+ add r1, r8
+ ldrb r2, [r1]
+ movs r1, 0x2
+ ldr r3, _080B0514 @ =0x00004bff
+ bl BlendPalette
+_080B04F6:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bls _080B047C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0510: .4byte 0x02019204
+_080B0514: .4byte 0x00004bff
+ thumb_func_end sub_80B0458
+
+ thumb_func_start sub_80B0518
+sub_80B0518: @ 80B0518
+ push {r4,lr}
+ ldr r0, _080B0540 @ =sub_80B05FC
+ movs r1, 0x1E
+ bl CreateTask
+ ldr r1, _080B0544 @ =0x02019204
+ strb r0, [r1, 0xE]
+ movs r4, 0
+_080B0528:
+ adds r0, r4, 0
+ bl sub_80B0548
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B0528
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0540: .4byte sub_80B05FC
+_080B0544: .4byte 0x02019204
+ thumb_func_end sub_80B0518
+
+ thumb_func_start sub_80B0548
+sub_80B0548: @ 80B0548
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _080B0580 @ =gTasks
+ ldr r4, _080B0584 @ =0x02019204
+ ldrb r2, [r4, 0xE]
+ lsls r1, r2, 2
+ adds r1, r2
+ adds r1, r0
+ lsls r1, 3
+ adds r3, 0x8
+ adds r1, r3
+ movs r5, 0
+ movs r2, 0xFF
+ strh r2, [r1]
+ lsls r0, 2
+ adds r0, 0x1
+ lsls r0, 1
+ ldrb r2, [r4, 0xE]
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ adds r0, r3
+ strh r5, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0580: .4byte gTasks
+_080B0584: .4byte 0x02019204
+ thumb_func_end sub_80B0548
+
+ thumb_func_start sub_80B0588
+sub_80B0588: @ 80B0588
+ push {r4,lr}
+ movs r4, 0
+_080B058C:
+ adds r0, r4, 0
+ bl sub_80B05A4
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B058C
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B0588
+
+ thumb_func_start sub_80B05A4
+sub_80B05A4: @ 80B05A4
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_80B0548
+ adds r0, r4, 0x5
+ lsls r2, r0, 5
+ ldr r3, _080B05E8 @ =gPlttBufferUnfaded + 0x14
+ adds r6, r2, r3
+ ldr r5, _080B05EC @ =gPlttBufferFaded + 0x14
+ adds r2, r5
+ ldr r1, _080B05F0 @ =0x040000d4
+ str r6, [r1]
+ str r2, [r1, 0x4]
+ ldr r2, _080B05F4 @ =0x80000001
+ str r2, [r1, 0x8]
+ ldr r6, [r1, 0x8]
+ lsls r0, 4
+ adds r4, 0xC
+ adds r0, r4
+ lsls r0, 1
+ subs r3, 0x14
+ adds r3, r0, r3
+ subs r5, 0x14
+ adds r0, r5
+ str r3, [r1]
+ str r0, [r1, 0x4]
+ str r2, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B05E8: .4byte gPlttBufferUnfaded + 0x14
+_080B05EC: .4byte gPlttBufferFaded + 0x14
+_080B05F0: .4byte 0x040000d4
+_080B05F4: .4byte 0x80000001
+ thumb_func_end sub_80B05A4
+
+ thumb_func_start nullsub_19
+nullsub_19: @ 80B05F8
+ bx lr
+ thumb_func_end nullsub_19
+
+ thumb_func_start sub_80B05FC
+sub_80B05FC: @ 80B05FC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r7, 0
+ lsls r1, r0, 2
+ adds r1, r0
+ mov r9, r1
+ lsls r6, r1, 3
+ ldr r0, _080B0664 @ =gTasks + 0x8
+ mov r8, r0
+ ldr r1, _080B0668 @ =0x00004bff
+ mov r10, r1
+_080B061C:
+ lsls r0, r7, 26
+ lsrs r3, r0, 24
+ lsls r0, r3, 1
+ adds r0, r6
+ mov r4, r8
+ adds r2, r0, r4
+ movs r5, 0
+ ldrsh r0, [r2, r5]
+ cmp r0, 0xFF
+ beq _080B06C2
+ adds r0, r3, 0x2
+ lsls r0, 1
+ adds r0, r6
+ adds r1, r0, r4
+ ldrh r0, [r1]
+ adds r0, 0x1
+ movs r4, 0
+ strh r0, [r1]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _080B06C2
+ strh r4, [r1]
+ adds r0, r3, 0x1
+ lsls r1, r0, 1
+ adds r1, r6
+ add r1, r8
+ movs r4, 0
+ ldrsh r1, [r1, r4]
+ adds r4, r0, 0
+ cmp r1, 0
+ bne _080B066C
+ ldrh r0, [r2]
+ adds r0, 0x1
+ b _080B0670
+ .align 2, 0
+_080B0664: .4byte gTasks + 0x8
+_080B0668: .4byte 0x00004bff
+_080B066C:
+ ldrh r0, [r2]
+ subs r0, 0x1
+_080B0670:
+ strh r0, [r2]
+ lsls r1, r3, 1
+ mov r5, r9
+ lsls r2, r5, 3
+ adds r0, r1, r2
+ ldr r3, _080B06DC @ =gTasks
+ adds r3, 0x8
+ adds r0, r3
+ movs r5, 0
+ ldrsh r0, [r0, r5]
+ adds r5, r1, 0
+ cmp r0, 0x10
+ beq _080B068E
+ cmp r0, 0
+ bne _080B069C
+_080B068E:
+ lsls r0, r4, 1
+ adds r0, r2
+ adds r0, r3
+ ldrh r1, [r0]
+ movs r2, 0x1
+ eors r1, r2
+ strh r1, [r0]
+_080B069C:
+ adds r4, r7, 0x5
+ lsls r4, 4
+ adds r0, r4, 0
+ adds r0, 0xA
+ adds r5, r6
+ add r5, r8
+ ldrb r2, [r5]
+ movs r1, 0x1
+ mov r3, r10
+ bl BlendPalette
+ adds r4, 0xC
+ adds r4, r7
+ ldrb r2, [r5]
+ adds r0, r4, 0
+ movs r1, 0x1
+ mov r3, r10
+ bl BlendPalette
+_080B06C2:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x3
+ bls _080B061C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B06DC: .4byte gTasks
+ thumb_func_end sub_80B05FC
+
+ thumb_func_start unref_sub_80B06E0
+unref_sub_80B06E0: @ 80B06E0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r0, 0
+ ldr r0, _080B073C @ =sub_80B0748
+ movs r1, 0xA
+ bl CreateTask
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r3, 0
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r6, r0, 3
+ ldr r0, _080B0740 @ =gTasks + 0x8
+ mov r8, r0
+ ldr r1, _080B0744 @ =0x02019338
+ mov r12, r1
+_080B0704:
+ lsls r4, r3, 2
+ lsls r0, r3, 26
+ lsrs r0, 23
+ adds r0, r6
+ add r0, r8
+ adds r2, r7, r3
+ ldrb r1, [r2]
+ strh r1, [r0]
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _080B0726
+ mov r1, r12
+ adds r0, r4, r1
+ ldrb r1, [r0, 0x2]
+ movs r2, 0x2
+ orrs r1, r2
+ strb r1, [r0, 0x2]
+_080B0726:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x3
+ bls _080B0704
+ adds r0, r5, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B073C: .4byte sub_80B0748
+_080B0740: .4byte gTasks + 0x8
+_080B0744: .4byte 0x02019338
+ thumb_func_end unref_sub_80B06E0
+
+ thumb_func_start sub_80B0748
+sub_80B0748: @ 80B0748
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ ldr r2, _080B07F4 @ =gTasks
+ movs r1, 0x8
+ adds r1, r2
+ mov r10, r1
+ ldr r3, [sp]
+ lsls r3, 2
+ str r3, [sp, 0x1C]
+ ldr r1, [sp]
+ adds r0, r3, r1
+ lsls r0, 3
+ str r0, [sp, 0xC]
+_080B0774:
+ ldr r0, _080B07F8 @ =gUnknown_02038696
+ ldr r3, [sp, 0x4]
+ adds r0, r3, r0
+ ldrb r4, [r0]
+ lsls r0, r4, 26
+ lsrs r1, r0, 24
+ lsls r0, r1, 1
+ str r0, [sp, 0x8]
+ ldr r3, [sp]
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r6, r0, 3
+ ldr r3, [sp, 0x8]
+ adds r0, r3, r6
+ add r0, r10
+ mov r9, r0
+ ldrb r7, [r0]
+ cmp r7, 0
+ bne _080B079C
+ b _080B0910
+_080B079C:
+ adds r3, r1, 0x1
+ lsls r0, r3, 1
+ adds r0, r6
+ add r0, r10
+ ldrb r0, [r0]
+ mov r8, r0
+ adds r2, r1, 0x2
+ lsls r0, r2, 1
+ adds r0, r6
+ add r0, r10
+ ldrb r5, [r0]
+ adds r1, 0x3
+ lsls r0, r1, 1
+ adds r0, r6
+ add r0, r10
+ ldrb r6, [r0]
+ str r3, [sp, 0x10]
+ str r2, [sp, 0x14]
+ str r1, [sp, 0x18]
+ cmp r7, 0x1
+ bne _080B0818
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x1
+ beq _080B07D2
+ b _080B08EA
+_080B07D2:
+ movs r6, 0
+ adds r0, r4, 0x5
+ lsls r0, 4
+ adds r0, 0x1
+ movs r1, 0x3
+ adds r2, r5, 0
+ ldr r3, _080B07FC @ =0x00007fff
+ bl BlendPalette
+ cmp r5, 0
+ bne _080B0800
+ mov r0, r8
+ cmp r0, 0x4
+ bne _080B0800
+ mov r1, r9
+ strh r6, [r1]
+ b _080B08EA
+ .align 2, 0
+_080B07F4: .4byte gTasks
+_080B07F8: .4byte gUnknown_02038696
+_080B07FC: .4byte 0x00007fff
+_080B0800:
+ adds r0, r5, 0x2
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xD
+ bls _080B08EA
+ movs r5, 0
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ b _080B08EA
+_080B0818:
+ cmp r7, 0x2
+ beq _080B0820
+ cmp r7, 0x4
+ bne _080B0896
+_080B0820:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bne _080B08EA
+ movs r6, 0
+ adds r0, r4, 0x5
+ lsls r0, 4
+ adds r0, 0x1
+ ldr r2, _080B0854 @ =gUnknown_083CC5A4
+ lsls r1, r4, 1
+ adds r1, r2
+ ldrh r3, [r1]
+ movs r1, 0x3
+ adds r2, r5, 0
+ bl BlendPalette
+ cmp r5, 0
+ bne _080B0858
+ mov r2, r8
+ cmp r2, 0x2
+ bne _080B0858
+ mov r3, r9
+ strh r6, [r3]
+ b _080B08EA
+ .align 2, 0
+_080B0854: .4byte gUnknown_083CC5A4
+_080B0858:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xE
+ bne _080B08EA
+ movs r5, 0
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ cmp r7, 0x4
+ bne _080B08EA
+ cmp r0, 0x1
+ bne _080B08EA
+ adds r4, 0x9
+ lsls r4, 4
+ adds r0, r4, 0x2
+ movs r1, 0x1
+ movs r2, 0x4
+ movs r3, 0
+ bl BlendPalette
+ adds r4, 0x5
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0x4
+ movs r3, 0
+ bl BlendPalette
+ b _080B08EA
+_080B0896:
+ cmp r7, 0x3
+ bne _080B08EA
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0xC
+ bne _080B08EA
+ movs r6, 0
+ adds r0, r4, 0x5
+ lsls r0, 4
+ adds r4, r0, 0x1
+ adds r0, r4, 0
+ movs r1, 0x3
+ adds r2, r5, 0
+ movs r3, 0
+ bl BlendPalette
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bne _080B08EA
+ ldr r0, _080B0930 @ =gPlttBufferFaded
+ lsls r1, r4, 1
+ adds r0, r1, r0
+ ldrh r2, [r0]
+ ldr r0, _080B0934 @ =gPlttBufferUnfaded
+ adds r1, r0
+ ldrh r0, [r1]
+ ldr r1, _080B0938 @ =0x040000d4
+ str r2, [r1]
+ str r0, [r1, 0x4]
+ movs r0, 0x80
+ lsls r0, 24
+ orrs r7, r0
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ ldr r1, [sp, 0x8]
+ ldr r2, [sp, 0xC]
+ adds r0, r1, r2
+ add r0, r10
+ strh r6, [r0]
+_080B08EA:
+ ldr r3, [sp, 0x10]
+ lsls r0, r3, 1
+ ldr r1, [sp, 0xC]
+ adds r0, r1
+ add r0, r10
+ mov r2, r8
+ strh r2, [r0]
+ ldr r3, [sp, 0x14]
+ lsls r0, r3, 1
+ adds r0, r1
+ add r0, r10
+ strh r5, [r0]
+ ldr r1, [sp, 0x18]
+ lsls r0, r1, 1
+ ldr r2, [sp, 0xC]
+ adds r0, r2
+ add r0, r10
+ strh r6, [r0]
+ ldr r2, _080B093C @ =gTasks
+_080B0910:
+ ldr r0, [sp, 0x4]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ cmp r0, 0x3
+ bhi _080B0920
+ b _080B0774
+_080B0920:
+ movs r4, 0
+ ldr r3, [sp, 0x1C]
+ ldr r1, [sp]
+ adds r0, r3, r1
+ lsls r1, r0, 3
+ adds r2, 0x8
+ adds r0, r1, r2
+ b _080B0950
+ .align 2, 0
+_080B0930: .4byte gPlttBufferFaded
+_080B0934: .4byte gPlttBufferUnfaded
+_080B0938: .4byte 0x040000d4
+_080B093C: .4byte gTasks
+_080B0940:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bhi _080B0958
+ lsls r0, r4, 3
+ adds r0, r1
+ adds r0, r2
+_080B0950:
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ cmp r0, 0
+ beq _080B0940
+_080B0958:
+ cmp r4, 0x4
+ bne _080B0980
+ movs r4, 0
+ ldr r3, _080B0990 @ =0x02019338
+ movs r5, 0x3
+ negs r5, r5
+_080B0964:
+ lsls r1, r4, 2
+ adds r1, r3
+ ldrb r2, [r1, 0x2]
+ adds r0, r5, 0
+ ands r0, r2
+ strb r0, [r1, 0x2]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B0964
+ ldr r0, [sp]
+ bl DestroyTask
+_080B0980:
+ add sp, 0x20
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0990: .4byte 0x02019338
+ thumb_func_end sub_80B0748
+
+ thumb_func_start unref_sub_80B0994
+unref_sub_80B0994: @ 80B0994
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B09A6
+ ldr r0, _080B09AC @ =0x02019204
+ ldrb r1, [r0, 0x6]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0, 0x6]
+_080B09A6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B09AC: .4byte 0x02019204
+ thumb_func_end unref_sub_80B0994
+
+ thumb_func_start sub_80B09B0
+sub_80B09B0: @ 80B09B0
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ ldr r1, _080B09D4 @ =0x02019260
+ adds r0, r1
+ ldrb r1, [r0, 0x15]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080B09D8
+ adds r0, r2, 0
+ bl sub_80B0368
+ b _080B09DE
+ .align 2, 0
+_080B09D4: .4byte 0x02019260
+_080B09D8:
+ adds r0, r2, 0
+ bl sub_80B03A8
+_080B09DE:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B09B0
+
+ thumb_func_start sub_80B09E4
+sub_80B09E4: @ 80B09E4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ mov r9, r0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldr r0, _080B0B2C @ =gUnknown_02038696
+ mov r1, r9
+ adds r7, r1, r0
+ ldrb r0, [r7]
+ lsls r5, r0, 2
+ adds r5, r0
+ lsls r5, 27
+ movs r2, 0x80
+ lsls r2, 22
+ adds r5, r2
+ lsrs r5, 24
+ lsls r4, r1, 3
+ ldr r0, _080B0B30 @ =gUnknown_083CC4B4
+ adds r0, r4, r0
+ bl LoadCompressedObjectPic
+ ldr r0, _080B0B34 @ =gUnknown_083CC4D4
+ adds r4, r0
+ adds r0, r4, 0
+ bl LoadSpritePalette
+ mov r3, r9
+ lsls r4, r3, 1
+ add r4, r9
+ lsls r4, 3
+ ldr r0, _080B0B38 @ =gSpriteTemplate_83CC53C
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0xB8
+ adds r2, r5, 0
+ movs r3, 0x1D
+ bl CreateSprite
+ mov r8, r0
+ mov r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ adds r0, r4, 0
+ movs r1, 0xF8
+ adds r2, r5, 0
+ movs r3, 0x1D
+ bl CreateSprite
+ adds r6, r0, 0
+ lsls r6, 24
+ lsrs r6, 24
+ ldr r1, _080B0B3C @ =gSprites
+ mov r10, r1
+ lsls r5, r6, 4
+ adds r5, r6
+ lsls r5, 2
+ add r5, r10
+ ldrh r2, [r5, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ adds r1, 0x40
+ ldr r3, _080B0B40 @ =0x000003ff
+ adds r0, r3, 0
+ ands r1, r0
+ ldr r0, _080B0B44 @ =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r5, 0x4]
+ ldrb r0, [r7]
+ lsls r3, r0, 2
+ adds r3, r0
+ lsls r3, 6
+ ldr r0, _080B0B48 @ =0x0600e026
+ adds r3, r0
+ mov r1, r8
+ lsls r4, r1, 4
+ add r4, r8
+ lsls r4, 2
+ add r4, r10
+ ldrh r0, [r4, 0x4]
+ lsls r0, 22
+ lsrs r0, 17
+ ldr r2, _080B0B4C @ =0x06010000
+ mov r10, r2
+ add r0, r10
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x3
+ movs r2, 0xC0
+ lsls r2, 19
+ bl sub_8040F80
+ ldrb r0, [r7]
+ lsls r3, r0, 2
+ adds r3, r0
+ lsls r3, 6
+ ldr r7, _080B0B50 @ =0x0600e036
+ adds r3, r7
+ ldrh r0, [r5, 0x4]
+ lsls r0, 22
+ lsrs r0, 17
+ add r0, r10
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x3
+ movs r2, 0xC0
+ lsls r2, 19
+ bl sub_8040F80
+ ldrh r0, [r4, 0x4]
+ lsls r0, 22
+ lsrs r0, 17
+ movs r1, 0xA0
+ lsls r1, 3
+ adds r0, r1
+ add r0, r10
+ movs r2, 0
+ str r2, [sp, 0x8]
+ ldr r1, _080B0B54 @ =0x040000d4
+ add r3, sp, 0x8
+ mov r12, r3
+ str r3, [r1]
+ str r0, [r1, 0x4]
+ ldr r3, _080B0B58 @ =0x850000c0
+ str r3, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ add r0, sp, 0x4
+ strb r2, [r0]
+ strb r2, [r0]
+ ldrh r0, [r5, 0x4]
+ lsls r0, 22
+ lsrs r0, 17
+ movs r7, 0xA0
+ lsls r7, 3
+ adds r0, r7
+ add r0, r10
+ str r2, [sp, 0x8]
+ mov r2, r12
+ str r2, [r1]
+ str r0, [r1, 0x4]
+ str r3, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ strh r6, [r4, 0x2E]
+ mov r3, r8
+ strh r3, [r5, 0x2E]
+ mov r7, r9
+ strh r7, [r4, 0x30]
+ mov r0, r9
+ strh r0, [r5, 0x30]
+ mov r0, r8
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B0B2C: .4byte gUnknown_02038696
+_080B0B30: .4byte gUnknown_083CC4B4
+_080B0B34: .4byte gUnknown_083CC4D4
+_080B0B38: .4byte gSpriteTemplate_83CC53C
+_080B0B3C: .4byte gSprites
+_080B0B40: .4byte 0x000003ff
+_080B0B44: .4byte 0xfffffc00
+_080B0B48: .4byte 0x0600e026
+_080B0B4C: .4byte 0x06010000
+_080B0B50: .4byte 0x0600e036
+_080B0B54: .4byte 0x040000d4
+_080B0B58: .4byte 0x850000c0
+ thumb_func_end sub_80B09E4
+
+ thumb_func_start sub_80B0B5C
+sub_80B0B5C: @ 80B0B5C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080B0B94 @ =gSprites
+ lsls r5, r0, 4
+ adds r5, r0
+ lsls r5, 2
+ adds r5, r1
+ ldrh r0, [r5, 0x2E]
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ adds r4, r1
+ adds r0, r4, 0
+ bl FreeSpriteOamMatrix
+ adds r0, r4, 0
+ bl DestroySprite
+ adds r0, r5, 0
+ bl DestroySpriteAndFreeResources
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0B94: .4byte gSprites
+ thumb_func_end sub_80B0B5C
+
+ thumb_func_start sub_80B0B98
+sub_80B0B98: @ 80B0B98
+ ldr r1, _080B0BAC @ =REG_BLDCNT
+ movs r2, 0xFD
+ lsls r2, 6
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r2, _080B0BB0 @ =0x00000907
+ adds r0, r2, 0
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_080B0BAC: .4byte REG_BLDCNT
+_080B0BB0: .4byte 0x00000907
+ thumb_func_end sub_80B0B98
+
+ thumb_func_start sub_80B0BB4
+sub_80B0BB4: @ 80B0BB4
+ ldr r0, _080B0BC0 @ =REG_BLDCNT
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_080B0BC0: .4byte REG_BLDCNT
+ thumb_func_end sub_80B0BB4
+
+ thumb_func_start sub_80B0BC4
+sub_80B0BC4: @ 80B0BC4
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ adds r4, r0, 0
+ mov r9, r1
+ lsls r4, 24
+ lsrs r4, 24
+ mov r0, r9
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ bl sub_80B0B98
+ ldr r1, _080B0C38 @ =gSprites
+ mov r8, r1
+ lsls r6, r4, 4
+ adds r6, r4
+ lsls r6, 2
+ adds r0, r6, r1
+ movs r1, 0x30
+ ldrsh r2, [r0, r1]
+ lsls r2, 2
+ ldr r1, _080B0C3C @ =0x02019338
+ adds r2, r1
+ ldrb r1, [r2, 0x2]
+ movs r3, 0x2
+ orrs r1, r3
+ strb r1, [r2, 0x2]
+ ldrh r5, [r0, 0x2E]
+ lsls r5, 24
+ lsrs r5, 24
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ lsls r4, r5, 4
+ adds r4, r5
+ lsls r4, 2
+ mov r1, r8
+ adds r0, r4, r1
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ movs r0, 0x1C
+ add r8, r0
+ add r6, r8
+ ldr r0, _080B0C40 @ =sub_80B0C5C
+ str r0, [r6]
+ add r4, r8
+ ldr r0, _080B0C44 @ =SpriteCallbackDummy
+ str r0, [r4]
+ mov r1, r9
+ cmp r1, 0
+ bne _080B0C48
+ movs r0, 0x65
+ bl PlaySE
+ b _080B0C4E
+ .align 2, 0
+_080B0C38: .4byte gSprites
+_080B0C3C: .4byte 0x02019338
+_080B0C40: .4byte sub_80B0C5C
+_080B0C44: .4byte SpriteCallbackDummy
+_080B0C48:
+ movs r0, 0x2
+ bl PlaySE
+_080B0C4E:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B0BC4
+
+ thumb_func_start sub_80B0C5C
+sub_80B0C5C: @ 80B0C5C
+ push {lr}
+ mov r12, r0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080B0CA4
+ mov r0, r12
+ ldrh r1, [r0, 0x2E]
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, _080B0CA8 @ =gSprites
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r2
+ adds r0, r1, 0
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _080B0CA4
+ mov r3, r12
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r3]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r0, _080B0CAC @ =sub_80B0CB0
+ mov r1, r12
+ str r0, [r1, 0x1C]
+_080B0CA4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0CA8: .4byte gSprites
+_080B0CAC: .4byte sub_80B0CB0
+ thumb_func_end sub_80B0C5C
+
+ thumb_func_start sub_80B0CB0
+sub_80B0CB0: @ 80B0CB0
+ push {lr}
+ movs r1, 0x30
+ ldrsh r2, [r0, r1]
+ lsls r2, 2
+ ldr r1, _080B0CD8 @ =0x02019338
+ adds r2, r1
+ ldrb r3, [r2, 0x2]
+ movs r1, 0x3
+ negs r1, r1
+ ands r1, r3
+ strb r1, [r2, 0x2]
+ ldrh r0, [r0, 0x2E]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80B0B5C
+ bl sub_80B0BB4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0CD8: .4byte 0x02019338
+ thumb_func_end sub_80B0CB0
+
+ thumb_func_start sub_80B0CDC
+sub_80B0CDC: @ 80B0CDC
+ lsls r0, 24
+ lsrs r0, 22
+ ldr r1, _080B0CF0 @ =0x02019338
+ adds r0, r1
+ ldrb r2, [r0, 0x2]
+ movs r1, 0x3
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_080B0CF0: .4byte 0x02019338
+ thumb_func_end sub_80B0CDC
+
+ thumb_func_start unref_sub_80B0CF4
+unref_sub_80B0CF4: @ 80B0CF4
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ ldr r0, _080B0D5C @ =0x02000000
+ movs r1, 0xC0
+ lsls r1, 9
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r2, 0x1
+ eors r1, r2
+ strb r1, [r0]
+ cmp r1, 0
+ bne _080B0D6C
+ movs r4, 0
+ ldr r6, _080B0D60 @ =gUnknown_083CA308
+ adds r3, r6, 0x1
+ mov r8, r3
+ ldr r5, _080B0D64 @ =gUnknown_083CA310
+ adds r7, r5, 0x1
+_080B0D1C:
+ lsls r1, r4, 1
+ adds r0, r1, r6
+ ldrb r2, [r0]
+ mov r3, r8
+ adds r0, r1, r3
+ ldrb r3, [r0]
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ adds r0, 0x5
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ adds r1, r7
+ ldrb r0, [r1]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ ldr r0, _080B0D68 @ =gUnknown_03004210
+ movs r1, 0
+ bl FillWindowRect_DefaultPalette
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B0D1C
+ bl sub_80AE514
+ bl sub_80AEB30
+ b _080B0D70
+ .align 2, 0
+_080B0D5C: .4byte 0x02000000
+_080B0D60: .4byte gUnknown_083CA308
+_080B0D64: .4byte gUnknown_083CA310
+_080B0D68: .4byte gUnknown_03004210
+_080B0D6C:
+ bl sub_80B0D7C
+_080B0D70:
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end unref_sub_80B0CF4
+
+ thumb_func_start sub_80B0D7C
+sub_80B0D7C: @ 80B0D7C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x10
+ movs r5, 0
+ ldr r0, _080B0ED0 @ =0x02000000
+ movs r1, 0xC0
+ lsls r1, 9
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080B0D98
+ b _080B0EC2
+_080B0D98:
+ movs r4, 0
+ ldr r7, _080B0ED4 @ =gUnknown_083CA308
+ adds r3, r7, 0x1
+ mov r9, r3
+ ldr r6, _080B0ED8 @ =gUnknown_083CA310
+ adds r0, r6, 0x1
+ mov r8, r0
+_080B0DA6:
+ lsls r1, r4, 1
+ adds r0, r1, r7
+ ldrb r2, [r0]
+ mov r3, r9
+ adds r0, r1, r3
+ ldrb r3, [r0]
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ adds r0, 0x5
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ add r1, r8
+ ldrb r0, [r1]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ ldr r0, _080B0EDC @ =gUnknown_03004210
+ movs r1, 0
+ bl FillWindowRect_DefaultPalette
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B0DA6
+ movs r4, 0
+ ldr r6, _080B0ED8 @ =gUnknown_083CA310
+ adds r7, r6, 0x1
+_080B0DE2:
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ ldr r1, _080B0EE0 @ =0x02019260
+ adds r0, r1
+ ldrh r2, [r0, 0x4]
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bge _080B0E08
+ negs r0, r0
+ lsls r0, 16
+ lsrs r2, r0, 16
+ add r1, sp, 0x8
+ movs r0, 0xAE
+ strb r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_080B0E08:
+ mov r0, sp
+ adds r0, r5
+ adds r0, 0x8
+ lsls r1, r2, 16
+ asrs r1, 16
+ movs r2, 0
+ movs r3, 0x4
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080B0EE4 @ =gUnknown_02038696
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ movs r1, 0x16
+ adds r2, r0, 0
+ muls r2, r1
+ movs r3, 0x94
+ lsls r3, 2
+ adds r2, r3
+ lsls r0, 1
+ adds r1, r0, r6
+ ldrb r3, [r1]
+ adds r0, r7
+ ldrb r0, [r0]
+ str r0, [sp]
+ ldr r0, _080B0EDC @ =gUnknown_03004210
+ add r1, sp, 0x8
+ bl sub_8003460
+ movs r5, 0
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B0DE2
+ movs r4, 0
+ ldr r6, _080B0ED4 @ =gUnknown_083CA308
+ adds r7, r6, 0x1
+_080B0E52:
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ ldr r1, _080B0EE0 @ =0x02019260
+ adds r0, r1
+ ldrh r2, [r0, 0x2]
+ movs r1, 0x2
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bge _080B0E78
+ negs r0, r0
+ lsls r0, 16
+ lsrs r2, r0, 16
+ add r1, sp, 0x8
+ movs r0, 0xAE
+ strb r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_080B0E78:
+ mov r0, sp
+ adds r0, r5
+ adds r0, 0x8
+ lsls r1, r2, 16
+ asrs r1, 16
+ movs r2, 0
+ movs r3, 0x4
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080B0EE4 @ =gUnknown_02038696
+ adds r0, r4, r0
+ ldrb r1, [r0]
+ lsls r2, r1, 2
+ adds r2, r1
+ lsls r2, 18
+ movs r3, 0x80
+ lsls r3, 18
+ adds r2, r3
+ lsrs r2, 16
+ lsls r1, 1
+ adds r0, r1, r6
+ ldrb r3, [r0]
+ adds r1, r7
+ ldrb r0, [r1]
+ str r0, [sp]
+ ldr r0, _080B0EDC @ =gUnknown_03004210
+ add r1, sp, 0x8
+ bl sub_8003460
+ movs r5, 0
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080B0E52
+ bl sub_80AEB30
+_080B0EC2:
+ add sp, 0x10
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B0ED0: .4byte 0x02000000
+_080B0ED4: .4byte gUnknown_083CA308
+_080B0ED8: .4byte gUnknown_083CA310
+_080B0EDC: .4byte gUnknown_03004210
+_080B0EE0: .4byte 0x02019260
+_080B0EE4: .4byte gUnknown_02038696
+ thumb_func_end sub_80B0D7C
+
+ thumb_func_start unref_sub_80B0EE8
+unref_sub_80B0EE8: @ 80B0EE8
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r4, 0
+ subs r0, r1, 0x1
+ cmp r4, r0
+ bge _080B0F20
+ adds r6, r0, 0
+_080B0EF6:
+ adds r3, r0, 0
+ adds r5, r4, 0x1
+ cmp r0, r4
+ ble _080B0F18
+ lsls r0, 2
+ subs r0, 0x4
+ adds r0, r7
+_080B0F04:
+ ldr r1, [r0]
+ ldr r2, [r0, 0x4]
+ cmp r1, r2
+ ble _080B0F10
+ str r1, [r0, 0x4]
+ str r2, [r0]
+_080B0F10:
+ subs r0, 0x4
+ subs r3, 0x1
+ cmp r3, r4
+ bgt _080B0F04
+_080B0F18:
+ adds r4, r5, 0
+ adds r0, r6, 0
+ cmp r4, r0
+ blt _080B0EF6
+_080B0F20:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end unref_sub_80B0EE8
+
+ thumb_func_start sub_80B0F28
+sub_80B0F28: @ 80B0F28
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ add r4, sp, 0x4
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x8
+ bl memset
+ movs r5, 0
+ add r4, sp, 0x4
+ adds r6, r4, 0
+ movs r7, 0
+_080B0F4E:
+ bl Random
+ adds r1, r0, 0
+ mov r0, sp
+ adds r0, r7
+ adds r0, 0x4
+ strh r1, [r0]
+ movs r2, 0
+ cmp r2, r5
+ bge _080B0F86
+ lsls r0, r1, 16
+ lsrs r0, 16
+ mov r1, sp
+ ldrh r1, [r1, 0x4]
+ cmp r0, r1
+ beq _080B0F80
+_080B0F6E:
+ adds r2, 0x1
+ cmp r2, r5
+ bge _080B0F86
+ lsls r0, r2, 1
+ adds r0, r4, r0
+ ldrh r1, [r6]
+ ldrh r0, [r0]
+ cmp r1, r0
+ bne _080B0F6E
+_080B0F80:
+ subs r6, 0x2
+ subs r7, 0x2
+ subs r5, 0x1
+_080B0F86:
+ adds r6, 0x2
+ adds r7, 0x2
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080B0F4E
+ mov r2, r8
+ cmp r2, 0
+ bne _080B1050
+ movs r5, 0
+ ldr r3, _080B1008 @ =gUnknown_02038696
+ mov r8, r3
+_080B0F9C:
+ mov r6, r8
+ strb r5, [r6]
+ movs r4, 0
+ cmp r4, r5
+ bge _080B1018
+ ldr r7, _080B100C @ =gUnknown_02038670
+ mov r9, r7
+ lsls r0, r5, 1
+ adds r1, r0, 0
+ add r1, r9
+ mov r12, r1
+ mov r2, sp
+ adds r2, 0x4
+ str r2, [sp, 0xC]
+ add r0, sp
+ adds r0, 0x4
+ str r0, [sp, 0x10]
+ ldr r3, _080B1008 @ =gUnknown_02038696
+ adds r6, r3, 0
+ mov r10, r6
+_080B0FC4:
+ ldrb r0, [r3]
+ lsls r2, r0, 1
+ mov r7, r9
+ adds r0, r2, r7
+ movs r6, 0
+ ldrsh r1, [r0, r6]
+ mov r7, r12
+ movs r6, 0
+ ldrsh r0, [r7, r6]
+ cmp r1, r0
+ blt _080B0FEC
+ cmp r1, r0
+ bne _080B1010
+ ldr r7, [sp, 0xC]
+ adds r0, r7, r2
+ ldrh r0, [r0]
+ ldr r1, [sp, 0x10]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcs _080B1010
+_080B0FEC:
+ adds r2, r5, 0
+ cmp r5, r4
+ ble _080B1004
+ subs r0, r5, 0x1
+ mov r6, r10
+ adds r1, r0, r6
+_080B0FF8:
+ ldrb r0, [r1]
+ strb r0, [r1, 0x1]
+ subs r1, 0x1
+ subs r2, 0x1
+ cmp r2, r4
+ bgt _080B0FF8
+_080B1004:
+ strb r5, [r3]
+ b _080B1018
+ .align 2, 0
+_080B1008: .4byte gUnknown_02038696
+_080B100C: .4byte gUnknown_02038670
+_080B1010:
+ adds r3, 0x1
+ adds r4, 0x1
+ cmp r4, r5
+ blt _080B0FC4
+_080B1018:
+ cmp r4, r5
+ bne _080B1020
+ mov r7, r8
+ strb r5, [r7]
+_080B1020:
+ movs r0, 0x1
+ add r8, r0
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080B0F9C
+ ldr r4, _080B104C @ =gUnknown_02038696
+ mov r0, sp
+ adds r1, r4, 0
+ movs r2, 0x4
+ bl memcpy
+ movs r5, 0
+_080B1038:
+ mov r1, sp
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ adds r0, r4
+ strb r5, [r0]
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080B1038
+ b _080B10FC
+ .align 2, 0
+_080B104C: .4byte gUnknown_02038696
+_080B1050:
+ mov r0, sp
+ movs r1, 0xFF
+ movs r2, 0x4
+ bl memset
+ movs r5, 0
+ ldr r3, _080B1070 @ =gUnknown_02038696
+ movs r6, 0
+_080B1060:
+ ldr r0, _080B1074 @ =0x02019260
+ adds r0, r6, r0
+ ldrb r0, [r0, 0xB]
+ lsls r0, 30
+ lsrs r2, r0, 30
+ mov r7, sp
+ adds r1, r7, r2
+ b _080B1082
+ .align 2, 0
+_080B1070: .4byte gUnknown_02038696
+_080B1074: .4byte 0x02019260
+_080B1078:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ mov r0, sp
+ adds r1, r0, r2
+_080B1082:
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ bne _080B1078
+ strb r5, [r1]
+ strb r2, [r3]
+ adds r3, 0x1
+ adds r6, 0x1C
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080B1060
+ movs r5, 0
+_080B1098:
+ movs r4, 0x3
+ adds r1, r5, 0x1
+ mov r10, r1
+ cmp r4, r5
+ ble _080B10F6
+ mov r9, r4
+ ldr r2, _080B110C @ =gUnknown_02038696
+ mov r8, r2
+ add r3, sp, 0x4
+ mov r12, r3
+_080B10AC:
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ ldr r6, _080B1110 @ =0x02019244
+ adds r1, r0, r6
+ ldrb r2, [r1, 0xB]
+ ldr r7, _080B1114 @ =0x02019260
+ adds r0, r7
+ ldrb r3, [r0, 0xB]
+ mov r1, r9
+ ands r1, r2
+ mov r0, r9
+ ands r0, r3
+ subs r3, r4, 0x1
+ cmp r1, r0
+ bne _080B10F0
+ mov r0, r8
+ adds r7, r3, r0
+ adds r2, r4, r0
+ ldrb r6, [r7]
+ ldrb r1, [r2]
+ cmp r6, r1
+ bcs _080B10F0
+ lsls r0, r3, 1
+ add r0, r12
+ lsls r1, r4, 1
+ add r1, r12
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcs _080B10F0
+ ldrb r0, [r2]
+ strb r6, [r2]
+ strb r0, [r7]
+_080B10F0:
+ adds r4, r3, 0
+ cmp r4, r5
+ bgt _080B10AC
+_080B10F6:
+ mov r5, r10
+ cmp r5, 0x2
+ ble _080B1098
+_080B10FC:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B110C: .4byte gUnknown_02038696
+_080B1110: .4byte 0x02019244
+_080B1114: .4byte 0x02019260
+ thumb_func_end sub_80B0F28
+
+ thumb_func_start sub_80B1118
+sub_80B1118: @ 80B1118
+ push {r4,r5,lr}
+ movs r4, 0
+ movs r5, 0xA0
+_080B111E:
+ ldr r0, _080B1144 @ =0x02018004
+ adds r0, r5, r0
+ ldr r1, _080B1148 @ =gUnknown_02038696
+ adds r1, r4, r1
+ ldrb r1, [r1]
+ adds r1, 0x5
+ lsls r1, 4
+ movs r2, 0x20
+ bl LoadPalette
+ adds r5, 0x20
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080B111E
+ bl sub_80AE514
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1144: .4byte 0x02018004
+_080B1148: .4byte gUnknown_02038696
+ thumb_func_end sub_80B1118
+
+ thumb_func_start sub_80B114C
+sub_80B114C: @ 80B114C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r7, r6, 3
+ subs r0, r7, r6
+ lsls r0, 2
+ ldr r4, _080B11B8 @ =0x02019260
+ adds r5, r0, r4
+ movs r0, 0
+ strh r0, [r5, 0x2]
+ strh r0, [r5]
+ adds r0, r6, 0
+ bl sub_80AF404
+ lsls r0, 24
+ mov r8, r4
+ cmp r0, 0
+ bne _080B1176
+ b _080B13DC
+_080B1176:
+ ldrh r0, [r5, 0x6]
+ ldr r1, _080B11BC @ =gContestMoves
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r0]
+ mov r12, r1
+ ldrb r0, [r0, 0x1]
+ lsls r0, 29
+ lsrs r0, 29
+ strb r0, [r5, 0xA]
+ ldrh r0, [r5, 0x6]
+ ldrh r1, [r5, 0x8]
+ cmp r0, r1
+ bne _080B11C0
+ cmp r0, 0
+ beq _080B11C0
+ ldrb r0, [r5, 0x15]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r5, 0x15]
+ ldrb r2, [r5, 0xB]
+ lsls r1, r2, 25
+ lsrs r1, 29
+ adds r1, 0x1
+ movs r0, 0x7
+ ands r1, r0
+ lsls r1, 4
+ movs r0, 0x71
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0xB]
+ b _080B11D8
+ .align 2, 0
+_080B11B8: .4byte 0x02019260
+_080B11BC: .4byte gContestMoves
+_080B11C0:
+ lsls r4, r6, 3
+ subs r1, r4, r6
+ lsls r1, 2
+ ldr r3, _080B1264 @ =0x02019260
+ adds r1, r3
+ ldrb r2, [r1, 0xB]
+ movs r0, 0x71
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0xB]
+ adds r7, r4, 0
+ mov r8, r3
+_080B11D8:
+ subs r0, r7, r6
+ lsls r0, 2
+ add r0, r8
+ ldr r2, _080B1268 @ =gContestEffects
+ mov r1, r12
+ lsls r3, r1, 2
+ adds r2, r3, r2
+ ldrb r1, [r2, 0x1]
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ mov r0, r8
+ adds r0, 0x70
+ ldrb r1, [r2, 0x2]
+ strh r1, [r0, 0x4]
+ strh r1, [r0, 0x6]
+ strb r6, [r0, 0x11]
+ movs r2, 0
+ adds r4, r3, 0
+ movs r1, 0
+ mov r5, r8
+ adds r5, 0x7D
+ mov r3, r8
+_080B1204:
+ strb r1, [r3, 0xE]
+ adds r0, r5, r2
+ strb r1, [r0]
+ adds r3, 0x1C
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080B1204
+ subs r0, r7, r6
+ lsls r0, 2
+ ldr r1, _080B1264 @ =0x02019260
+ adds r5, r0, r1
+ ldrb r1, [r5, 0x15]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080B123C
+ ldrh r0, [r5, 0x8]
+ ldrh r1, [r5, 0x6]
+ bl AreMovesContestCombo
+ lsls r0, 24
+ cmp r0, 0
+ bne _080B123C
+ ldrb r1, [r5, 0x15]
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r5, 0x15]
+_080B123C:
+ ldr r0, _080B126C @ =gContestEffectFuncs
+ adds r0, r4, r0
+ ldr r0, [r0]
+ bl _call_via_r0
+ subs r0, r7, r6
+ lsls r0, 2
+ ldr r1, _080B1264 @ =0x02019260
+ adds r2, r0, r1
+ ldrb r1, [r2, 0x10]
+ movs r0, 0x30
+ ands r0, r1
+ cmp r0, 0x10
+ bne _080B1270
+ ldrh r1, [r2, 0x2]
+ subs r1, 0xA
+ movs r0, 0xD
+ ldrsb r0, [r2, r0]
+ b _080B128A
+ .align 2, 0
+_080B1264: .4byte 0x02019260
+_080B1268: .4byte gContestEffects
+_080B126C: .4byte gContestEffectFuncs
+_080B1270:
+ ldrb r1, [r2, 0x11]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080B1284
+ movs r1, 0xD
+ ldrsb r1, [r2, r1]
+ lsls r0, r1, 1
+ adds r0, r1
+ b _080B1288
+_080B1284:
+ movs r0, 0xD
+ ldrsb r0, [r2, r0]
+_080B1288:
+ ldrh r1, [r2, 0x2]
+_080B128A:
+ adds r0, r1
+ strh r0, [r2, 0x2]
+ subs r0, r7, r6
+ lsls r0, 2
+ ldr r1, _080B12E8 @ =0x02019260
+ adds r4, r0, r1
+ movs r0, 0
+ strb r0, [r4, 0x16]
+ ldrb r1, [r4, 0x15]
+ subs r0, 0x41
+ ands r0, r1
+ strb r0, [r4, 0x15]
+ adds r0, r6, 0
+ bl sub_80B214C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B1322
+ ldrh r0, [r4, 0x8]
+ ldrh r1, [r4, 0x6]
+ bl AreMovesContestCombo
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _080B12EC
+ ldrb r1, [r4, 0x15]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080B12EC
+ strb r2, [r4, 0x16]
+ movs r0, 0x40
+ orrs r1, r0
+ movs r0, 0x11
+ negs r0, r0
+ ands r1, r0
+ movs r0, 0
+ ldrsh r2, [r4, r0]
+ ldrb r0, [r4, 0x16]
+ muls r0, r2
+ strb r0, [r4, 0x17]
+ movs r0, 0x8
+ orrs r1, r0
+ strb r1, [r4, 0x15]
+ b _080B1322
+ .align 2, 0
+_080B12E8: .4byte 0x02019260
+_080B12EC:
+ ldr r2, _080B1310 @ =gContestMoves
+ subs r0, r7, r6
+ lsls r0, 2
+ ldr r1, _080B1314 @ =0x02019260
+ adds r3, r0, r1
+ ldrh r0, [r3, 0x6]
+ lsls r0, 3
+ adds r0, r2
+ ldrb r0, [r0, 0x2]
+ cmp r0, 0
+ beq _080B1318
+ ldrb r0, [r3, 0x15]
+ movs r1, 0x10
+ orrs r0, r1
+ movs r1, 0x40
+ orrs r0, r1
+ b _080B1320
+ .align 2, 0
+_080B1310: .4byte gContestMoves
+_080B1314: .4byte 0x02019260
+_080B1318:
+ ldrb r1, [r3, 0x15]
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+_080B1320:
+ strb r0, [r3, 0x15]
+_080B1322:
+ subs r0, r7, r6
+ lsls r0, 2
+ ldr r1, _080B139C @ =0x02019260
+ mov r8, r1
+ adds r4, r0, r1
+ ldrb r1, [r4, 0x15]
+ movs r5, 0x1
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080B1348
+ ldrb r0, [r4, 0xB]
+ lsls r0, 25
+ lsrs r0, 29
+ adds r0, 0x1
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 1
+ strb r1, [r4, 0x18]
+_080B1348:
+ ldrb r1, [r4, 0xC]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080B1362
+ ldrb r0, [r4, 0x15]
+ movs r1, 0x11
+ negs r1, r1
+ ands r1, r0
+ strb r1, [r4, 0x15]
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ strh r0, [r4]
+_080B1362:
+ ldrh r0, [r4, 0x6]
+ bl contest_get_move_excitement
+ mov r2, r8
+ adds r2, 0xC8
+ strb r0, [r2]
+ ldrb r1, [r4, 0x11]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080B137A
+ strb r5, [r2]
+_080B137A:
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ cmp r0, 0
+ ble _080B13A4
+ mov r0, r8
+ subs r0, 0x5C
+ ldrb r0, [r0, 0x13]
+ lsls r0, 24
+ asrs r0, 24
+ movs r1, 0
+ ldrsb r1, [r2, r1]
+ adds r0, r1
+ cmp r0, 0x4
+ ble _080B13A0
+ movs r0, 0x3C
+ b _080B13A6
+ .align 2, 0
+_080B139C: .4byte 0x02019260
+_080B13A0:
+ movs r0, 0xA
+ b _080B13A6
+_080B13A4:
+ movs r0, 0
+_080B13A6:
+ strb r0, [r2, 0x2]
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x3
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0
+ b _080B13CA
+_080B13BE:
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+_080B13C4:
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _080B13D2
+_080B13CA:
+ cmp r2, r6
+ beq _080B13C4
+ cmp r0, 0
+ bne _080B13BE
+_080B13D2:
+ subs r0, r7, r6
+ lsls r0, 2
+ ldr r1, _080B13E8 @ =0x02019260
+ adds r0, r1
+ strb r2, [r0, 0x1B]
+_080B13DC:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B13E8: .4byte 0x02019260
+ thumb_func_end sub_80B114C
+
+ thumb_func_start sub_80B13EC
+sub_80B13EC: @ 80B13EC
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, r0, 3
+ subs r2, r0
+ lsls r2, 2
+ ldr r0, _080B1400 @ =0x02019260
+ adds r2, r0
+ strb r1, [r2, 0x13]
+ bx lr
+ .align 2, 0
+_080B1400: .4byte 0x02019260
+ thumb_func_end sub_80B13EC
+
+ thumb_func_start sub_80B1404
+sub_80B1404: @ 80B1404
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, r0, 3
+ subs r2, r0
+ lsls r2, 2
+ ldr r0, _080B1418 @ =0x02019260
+ adds r2, r0
+ strb r1, [r2, 0x14]
+ bx lr
+ .align 2, 0
+_080B1418: .4byte 0x02019260
+ thumb_func_end sub_80B1404
+
+ thumb_func_start sub_80B141C
+sub_80B141C: @ 80B141C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r3, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r2, r1, 0
+ cmp r1, 0x3B
+ bls _080B1436
+ movs r1, 0x35
+ bl sub_80B13EC
+ b _080B1466
+_080B1436:
+ cmp r1, 0x27
+ bls _080B1442
+ movs r1, 0x34
+ bl sub_80B13EC
+ b _080B1466
+_080B1442:
+ cmp r1, 0x1D
+ bls _080B144E
+ movs r1, 0x33
+ bl sub_80B13EC
+ b _080B1466
+_080B144E:
+ cmp r1, 0x13
+ bls _080B145A
+ movs r1, 0x32
+ bl sub_80B13EC
+ b _080B1466
+_080B145A:
+ cmp r2, 0x9
+ bls _080B1466
+ adds r0, r3, 0
+ movs r1, 0x31
+ bl sub_80B13EC
+_080B1466:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B141C
+
+ thumb_func_start sub_80B146C
+sub_80B146C: @ 80B146C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r0, _080B14C8 @ =gStringVar1
+ lsls r1, r4, 6
+ ldr r2, _080B14CC @ =gUnknown_02038572
+ adds r1, r2
+ bl StringCopy
+ ldr r0, _080B14D0 @ =gStringVar2
+ lsls r1, r4, 3
+ subs r1, r4
+ lsls r1, 2
+ ldr r4, _080B14D4 @ =0x02019260
+ adds r1, r4
+ ldrh r2, [r1, 0x6]
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, _080B14D8 @ =gMoveNames
+ adds r1, r2
+ bl StringCopy
+ ldr r2, _080B14DC @ =gContestMoves
+ adds r0, r4, 0
+ adds r0, 0x70
+ ldrb r1, [r0, 0x11]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrh r0, [r0, 0x6]
+ lsls r0, 3
+ adds r0, r2
+ ldrb r0, [r0, 0x1]
+ lsls r1, r0, 29
+ cmp r1, 0
+ bne _080B14E8
+ ldr r0, _080B14E0 @ =gStringVar3
+ ldr r1, _080B14E4 @ =gUnknown_083CC280
+ bl StringCopy
+ b _080B1538
+ .align 2, 0
+_080B14C8: .4byte gStringVar1
+_080B14CC: .4byte gUnknown_02038572
+_080B14D0: .4byte gStringVar2
+_080B14D4: .4byte 0x02019260
+_080B14D8: .4byte gMoveNames
+_080B14DC: .4byte gContestMoves
+_080B14E0: .4byte gStringVar3
+_080B14E4: .4byte gUnknown_083CC280
+_080B14E8:
+ lsrs r0, r1, 29
+ cmp r0, 0x1
+ bne _080B1500
+ ldr r0, _080B14F8 @ =gStringVar3
+ ldr r1, _080B14FC @ =gUnknown_083CC288
+ bl StringCopy
+ b _080B1538
+ .align 2, 0
+_080B14F8: .4byte gStringVar3
+_080B14FC: .4byte gUnknown_083CC288
+_080B1500:
+ lsrs r0, r1, 29
+ cmp r0, 0x2
+ bne _080B1518
+ ldr r0, _080B1510 @ =gStringVar3
+ ldr r1, _080B1514 @ =gUnknown_083CC290
+ bl StringCopy
+ b _080B1538
+ .align 2, 0
+_080B1510: .4byte gStringVar3
+_080B1514: .4byte gUnknown_083CC290
+_080B1518:
+ lsrs r0, r1, 29
+ cmp r0, 0x3
+ bne _080B1530
+ ldr r0, _080B1528 @ =gStringVar3
+ ldr r1, _080B152C @ =gUnknown_083CC299
+ bl StringCopy
+ b _080B1538
+ .align 2, 0
+_080B1528: .4byte gStringVar3
+_080B152C: .4byte gUnknown_083CC299
+_080B1530:
+ ldr r0, _080B1568 @ =gStringVar3
+ ldr r1, _080B156C @ =gUnknown_083CC2A3
+ bl StringCopy
+_080B1538:
+ ldr r4, _080B1570 @ =gStringVar4
+ ldr r1, _080B1574 @ =gUnknown_083CC188
+ lsls r0, r5, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ bl sub_80AF138
+ ldr r0, _080B1578 @ =gMenuWindow
+ movs r2, 0xC2
+ lsls r2, 2
+ movs r1, 0xF
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8002EB0
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1568: .4byte gStringVar3
+_080B156C: .4byte gUnknown_083CC2A3
+_080B1570: .4byte gStringVar4
+_080B1574: .4byte gUnknown_083CC188
+_080B1578: .4byte gMenuWindow
+ thumb_func_end sub_80B146C
+
+ thumb_func_start sub_80B157C
+sub_80B157C: @ 80B157C
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ ldr r0, _080B1598 @ =0x02019260
+ adds r1, r0
+ ldrb r0, [r1, 0xC]
+ movs r2, 0x1
+ orrs r0, r2
+ strb r0, [r1, 0xC]
+ movs r0, 0
+ strh r0, [r1, 0x6]
+ bx lr
+ .align 2, 0
+_080B1598: .4byte 0x02019260
+ thumb_func_end sub_80B157C
+
+ thumb_func_start sub_80B159C
+sub_80B159C: @ 80B159C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ movs r0, 0
+ mov r12, r0
+ movs r4, 0
+ ldr r1, _080B1600 @ =gUnknown_02038696
+ mov r9, r1
+ add r2, sp, 0x4
+ mov r6, r9
+ movs r5, 0
+ adds r3, r2, 0
+_080B15B8:
+ mov r0, sp
+ adds r1, r0, r4
+ adds r0, r4, r6
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r0, r3, r4
+ strb r5, [r0]
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080B15B8
+ movs r4, 0
+ ldr r7, _080B1604 @ =0x02019260
+ adds r5, r2, 0
+ movs r1, 0x1
+ mov r8, r1
+_080B15D6:
+ movs r2, 0
+ adds r1, r7, 0
+_080B15DA:
+ ldrb r0, [r1, 0x19]
+ cmp r0, r4
+ beq _080B1608
+ adds r1, 0x1C
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080B15DA
+_080B15E8:
+ cmp r2, 0x4
+ bne _080B1680
+ movs r2, 0
+ ldrb r0, [r5]
+ cmp r0, 0
+ bne _080B1616
+ ldrb r0, [r7, 0x19]
+ cmp r0, 0xFF
+ bne _080B1616
+ mov r12, r2
+ movs r2, 0x1
+ b _080B163A
+ .align 2, 0
+_080B1600: .4byte gUnknown_02038696
+_080B1604: .4byte 0x02019260
+_080B1608:
+ mov r1, sp
+ adds r0, r1, r2
+ strb r4, [r0]
+ adds r0, r5, r2
+ mov r1, r8
+ strb r1, [r0]
+ b _080B15E8
+_080B1616:
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _080B1672
+ adds r0, r5, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080B1616
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ adds r0, r7
+ ldrb r0, [r0, 0x19]
+ cmp r0, 0xFF
+ bne _080B1616
+ lsls r0, r2, 24
+ lsrs r0, 24
+ mov r12, r0
+ adds r2, 0x1
+_080B163A:
+ cmp r2, 0x3
+ bgt _080B1672
+ ldr r6, _080B16C8 @ =gUnknown_02038696
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r3, r0, 2
+_080B1646:
+ adds r0, r5, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080B166A
+ adds r0, r3, r7
+ ldrb r0, [r0, 0x19]
+ cmp r0, 0xFF
+ bne _080B166A
+ mov r1, r12
+ adds r0, r1, r6
+ adds r1, r2, r6
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bls _080B166A
+ lsls r0, r2, 24
+ lsrs r0, 24
+ mov r12, r0
+_080B166A:
+ adds r3, 0x1C
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080B1646
+_080B1672:
+ mov r0, sp
+ add r0, r12
+ strb r4, [r0]
+ mov r1, r12
+ adds r0, r5, r1
+ mov r1, r8
+ strb r1, [r0]
+_080B1680:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080B15D6
+ movs r4, 0
+ ldr r5, _080B16CC @ =0x020192d0
+ adds r3, r5, 0
+ subs r3, 0x60
+ movs r6, 0xFF
+ movs r7, 0x3F
+_080B1692:
+ adds r1, r4, r5
+ mov r0, sp
+ adds r2, r0, r4
+ ldrb r0, [r2]
+ strb r0, [r1]
+ ldrb r0, [r3, 0x9]
+ orrs r0, r6
+ strb r0, [r3, 0x9]
+ ldrb r1, [r3]
+ adds r0, r7, 0
+ ands r0, r1
+ strb r0, [r3]
+ mov r0, r9
+ adds r1, r4, r0
+ ldrb r0, [r2]
+ strb r0, [r1]
+ adds r3, 0x1C
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080B1692
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B16C8: .4byte gUnknown_02038696
+_080B16CC: .4byte 0x020192d0
+ thumb_func_end sub_80B159C
+
+ thumb_func_start sub_80B16D0
+sub_80B16D0: @ 80B16D0
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x30]
+ adds r1, r0, 0x1
+ strh r1, [r2, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x54
+ ble _080B1702
+ movs r0, 0
+ strh r0, [r2, 0x30]
+ adds r3, r2, 0
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3]
+ ldr r0, _080B1708 @ =SpriteCallbackDummy
+ str r0, [r2, 0x1C]
+ ldr r2, _080B170C @ =0x02019204
+ ldrb r1, [r2, 0x6]
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x6]
+_080B1702:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1708: .4byte SpriteCallbackDummy
+_080B170C: .4byte 0x02019204
+ thumb_func_end sub_80B16D0
+
+ thumb_func_start sub_80B1710
+sub_80B1710: @ 80B1710
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r0, _080B172C @ =0x02019204
+ ldrb r5, [r0, 0x12]
+ cmp r1, 0x8
+ bls _080B1720
+ b _080B18C0
+_080B1720:
+ lsls r0, r1, 2
+ ldr r1, _080B1730 @ =_080B1734
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080B172C: .4byte 0x02019204
+_080B1730: .4byte _080B1734
+ .align 2, 0
+_080B1734:
+ .4byte _080B1758
+ .4byte _080B1758
+ .4byte _080B1788
+ .4byte _080B17BC
+ .4byte _080B17F0
+ .4byte _080B1824
+ .4byte _080B1858
+ .4byte _080B18C0
+ .4byte _080B188C
+_080B1758:
+ ldr r0, _080B177C @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1, 0x2E]
+ ldr r2, _080B1780 @ =0x000003ff
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _080B1784 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ movs r0, 0x20
+ bl PlaySE
+ b _080B18E4
+ .align 2, 0
+_080B177C: .4byte gSprites
+_080B1780: .4byte 0x000003ff
+_080B1784: .4byte 0xfffffc00
+_080B1788:
+ ldr r0, _080B17B0 @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrh r2, [r1, 0x2E]
+ adds r2, 0x4
+ ldr r3, _080B17B4 @ =0x000003ff
+ adds r0, r3, 0
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _080B17B8 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ movs r0, 0x1F
+ bl PlaySE
+ b _080B18E4
+ .align 2, 0
+_080B17B0: .4byte gSprites
+_080B17B4: .4byte 0x000003ff
+_080B17B8: .4byte 0xfffffc00
+_080B17BC:
+ ldr r0, _080B17E4 @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrh r2, [r1, 0x2E]
+ adds r2, 0x8
+ ldr r3, _080B17E8 @ =0x000003ff
+ adds r0, r3, 0
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _080B17EC @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ movs r0, 0x1F
+ bl PlaySE
+ b _080B18E4
+ .align 2, 0
+_080B17E4: .4byte gSprites
+_080B17E8: .4byte 0x000003ff
+_080B17EC: .4byte 0xfffffc00
+_080B17F0:
+ ldr r0, _080B1818 @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrh r2, [r1, 0x2E]
+ adds r2, 0xC
+ ldr r3, _080B181C @ =0x000003ff
+ adds r0, r3, 0
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _080B1820 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ movs r0, 0x2D
+ bl PlaySE
+ b _080B18E4
+ .align 2, 0
+_080B1818: .4byte gSprites
+_080B181C: .4byte 0x000003ff
+_080B1820: .4byte 0xfffffc00
+_080B1824:
+ ldr r0, _080B184C @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrh r2, [r1, 0x2E]
+ adds r2, 0xC
+ ldr r3, _080B1850 @ =0x000003ff
+ adds r0, r3, 0
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _080B1854 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ movs r0, 0x2D
+ bl PlaySE
+ b _080B18E4
+ .align 2, 0
+_080B184C: .4byte gSprites
+_080B1850: .4byte 0x000003ff
+_080B1854: .4byte 0xfffffc00
+_080B1858:
+ ldr r0, _080B1880 @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrh r2, [r1, 0x2E]
+ adds r2, 0x10
+ ldr r3, _080B1884 @ =0x000003ff
+ adds r0, r3, 0
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _080B1888 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ movs r0, 0x2D
+ bl PlaySE
+ b _080B18E4
+ .align 2, 0
+_080B1880: .4byte gSprites
+_080B1884: .4byte 0x000003ff
+_080B1888: .4byte 0xfffffc00
+_080B188C:
+ ldr r0, _080B18B4 @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrh r2, [r1, 0x2E]
+ adds r2, 0x18
+ ldr r3, _080B18B8 @ =0x000003ff
+ adds r0, r3, 0
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _080B18BC @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ movs r0, 0xC3
+ bl PlaySE
+ b _080B18E4
+ .align 2, 0
+_080B18B4: .4byte gSprites
+_080B18B8: .4byte 0x000003ff
+_080B18BC: .4byte 0xfffffc00
+_080B18C0:
+ ldr r0, _080B1914 @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrh r2, [r1, 0x2E]
+ adds r2, 0x14
+ ldr r3, _080B1918 @ =0x000003ff
+ adds r0, r3, 0
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _080B191C @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ movs r0, 0x2D
+ bl PlaySE
+_080B18E4:
+ adds r2, r4, 0
+ ldr r4, _080B1914 @ =gSprites
+ adds r2, r5
+ lsls r2, 2
+ adds r1, r2, r4
+ movs r0, 0
+ strh r0, [r1, 0x30]
+ adds r1, 0x3E
+ ldrb r3, [r1]
+ subs r0, 0x5
+ ands r0, r3
+ strb r0, [r1]
+ adds r4, 0x1C
+ adds r2, r4
+ ldr r0, _080B1920 @ =sub_80B16D0
+ str r0, [r2]
+ ldr r2, _080B1924 @ =0x02019204
+ ldrb r0, [r2, 0x6]
+ movs r1, 0x10
+ orrs r0, r1
+ strb r0, [r2, 0x6]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1914: .4byte gSprites
+_080B1918: .4byte 0x000003ff
+_080B191C: .4byte 0xfffffc00
+_080B1920: .4byte sub_80B16D0
+_080B1924: .4byte 0x02019204
+ thumb_func_end sub_80B1710
+
+ thumb_func_start sub_80B1928
+sub_80B1928: @ 80B1928
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r5, 0
+ ldr r6, _080B19BC @ =0x02019204
+ ldr r0, _080B19C0 @ =gSprites
+ mov r10, r0
+ movs r1, 0x58
+ adds r1, r6
+ mov r9, r1
+ ldr r0, _080B19C4 @ =0x06010000
+ mov r8, r0
+ ldr r7, _080B19C8 @ =REG_BG0CNT
+_080B1946:
+ movs r0, 0x13
+ ldrsb r0, [r6, r0]
+ ldr r4, _080B19CC @ =gContestApplauseMeterGfx
+ cmp r5, r0
+ bge _080B1952
+ adds r4, 0x40
+_080B1952:
+ mov r0, r9
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r10
+ ldrh r1, [r0, 0x4]
+ lsls r1, 22
+ lsrs r1, 22
+ adds r0, r5, 0
+ adds r0, 0x11
+ adds r1, r0
+ lsls r1, 5
+ add r1, r8
+ adds r0, r4, 0
+ adds r2, r7, 0
+ bl CpuSet
+ adds r0, r4, 0
+ adds r0, 0x20
+ mov r1, r9
+ ldrb r2, [r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ add r1, r10
+ ldrh r1, [r1, 0x4]
+ lsls r1, 22
+ lsrs r1, 22
+ adds r2, r5, 0
+ adds r2, 0x19
+ adds r1, r2
+ lsls r1, 5
+ add r1, r8
+ adds r2, r7, 0
+ bl CpuSet
+ movs r0, 0x13
+ ldrsb r0, [r6, r0]
+ cmp r0, 0x4
+ ble _080B19A8
+ bl sub_80B1A2C
+_080B19A8:
+ adds r5, 0x1
+ cmp r5, 0x4
+ ble _080B1946
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B19BC: .4byte 0x02019204
+_080B19C0: .4byte gSprites
+_080B19C4: .4byte 0x06010000
+_080B19C8: .4byte REG_BG0CNT
+_080B19CC: .4byte gContestApplauseMeterGfx
+ thumb_func_end sub_80B1928
+
+ thumb_func_start unref_sub_80B19D0
+unref_sub_80B19D0: @ 80B19D0
+ push {lr}
+ sub sp, 0x18
+ ldr r1, _080B19F4 @ =gUnknown_083CC2EC
+ add r0, sp, 0x4
+ bl StringCopy
+ ldr r0, _080B19F8 @ =gUnknown_03004210
+ movs r2, 0xAA
+ lsls r2, 2
+ movs r1, 0
+ str r1, [sp]
+ add r1, sp, 0x4
+ movs r3, 0
+ bl sub_8003460
+ add sp, 0x18
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B19F4: .4byte gUnknown_083CC2EC
+_080B19F8: .4byte gUnknown_03004210
+ thumb_func_end unref_sub_80B19D0
+
+ thumb_func_start contest_get_move_excitement
+contest_get_move_excitement: @ 80B19FC
+ lsls r0, 16
+ ldr r3, _080B1A20 @ =gContestExcitementTable
+ ldr r1, _080B1A24 @ =gContestMoves
+ lsrs r0, 13
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ lsls r1, 29
+ lsrs r1, 29
+ ldr r0, _080B1A28 @ =gUnknown_0203869C
+ ldrh r2, [r0]
+ lsls r0, r2, 2
+ adds r0, r2
+ adds r1, r0
+ adds r1, r3
+ movs r0, 0
+ ldrsb r0, [r1, r0]
+ bx lr
+ .align 2, 0
+_080B1A20: .4byte gContestExcitementTable
+_080B1A24: .4byte gContestMoves
+_080B1A28: .4byte gUnknown_0203869C
+ thumb_func_end contest_get_move_excitement
+
+ thumb_func_start sub_80B1A2C
+sub_80B1A2C: @ 80B1A2C
+ push {r4,r5,lr}
+ ldr r0, _080B1A60 @ =c3_08130B10
+ movs r1, 0xA
+ bl CreateTask
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, _080B1A64 @ =gTasks
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r0
+ movs r0, 0x1
+ strh r0, [r4, 0xA]
+ ldr r0, _080B1A68 @ =0x0000abe2
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0xC]
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B1A60: .4byte c3_08130B10
+_080B1A64: .4byte gTasks
+_080B1A68: .4byte 0x0000abe2
+ thumb_func_end sub_80B1A2C
+
+ thumb_func_start c3_08130B10
+c3_08130B10: @ 80B1A6C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080B1A9C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r2, r0, r1
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _080B1B06
+ movs r0, 0
+ strh r0, [r2, 0x8]
+ movs r3, 0xE
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ bne _080B1AA0
+ ldrh r0, [r2, 0x10]
+ adds r0, 0x1
+ b _080B1AA4
+ .align 2, 0
+_080B1A9C: .4byte gTasks
+_080B1AA0:
+ ldrh r0, [r2, 0x10]
+ subs r0, 0x1
+_080B1AA4:
+ strh r0, [r2, 0x10]
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ movs r1, 0xC
+ ldrsh r0, [r4, r1]
+ lsls r0, 4
+ movs r3, 0x84
+ lsls r3, 1
+ adds r6, r3, 0
+ adds r0, r6
+ lsls r0, 16
+ lsrs r0, 16
+ ldrb r2, [r4, 0x10]
+ ldr r3, _080B1B0C @ =0x00007fff
+ movs r1, 0x1
+ bl BlendPalette
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _080B1AD6
+ cmp r0, 0x10
+ bne _080B1B06
+_080B1AD6:
+ ldrh r0, [r4, 0xE]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r4, 0xE]
+ ldr r0, _080B1B10 @ =0x02019204
+ ldrb r0, [r0, 0x13]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x4
+ bgt _080B1B06
+ movs r3, 0xC
+ ldrsh r0, [r4, r3]
+ lsls r0, 4
+ adds r0, r6
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x1
+ movs r2, 0
+ movs r3, 0x1F
+ bl BlendPalette
+ adds r0, r5, 0
+ bl DestroyTask
+_080B1B06:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1B0C: .4byte 0x00007fff
+_080B1B10: .4byte 0x02019204
+ thumb_func_end c3_08130B10
+
+ thumb_func_start sub_80B1B14
+sub_80B1B14: @ 80B1B14
+ push {r4,lr}
+ ldr r0, _080B1B58 @ =sub_80B1B68
+ movs r1, 0xA
+ bl CreateTask
+ ldr r4, _080B1B5C @ =gSprites
+ ldr r3, _080B1B60 @ =0x02019204
+ adds r2, r3, 0
+ adds r2, 0x58
+ ldrb r1, [r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, _080B1B64 @ =0x0000ffba
+ strh r1, [r0, 0x24]
+ ldrb r1, [r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ ldrb r0, [r3, 0x6]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r3, 0x6]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1B58: .4byte sub_80B1B68
+_080B1B5C: .4byte gSprites
+_080B1B60: .4byte 0x02019204
+_080B1B64: .4byte 0x0000ffba
+ thumb_func_end sub_80B1B14
+
+ thumb_func_start sub_80B1B68
+sub_80B1B68: @ 80B1B68
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r3, r0, 0
+ ldr r4, _080B1BD0 @ =0x02019204
+ adds r0, r4, 0
+ adds r0, 0x58
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080B1BD4 @ =gSprites
+ adds r2, r0, r1
+ ldr r0, _080B1BD8 @ =gTasks
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r0
+ movs r5, 0xD0
+ lsls r5, 3
+ adds r0, r5, 0
+ ldrh r5, [r1, 0x1C]
+ adds r0, r5
+ strh r0, [r1, 0x1C]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r5, [r2, 0x24]
+ adds r0, r5
+ strh r0, [r2, 0x24]
+ ldrb r0, [r1, 0x1C]
+ strh r0, [r1, 0x1C]
+ movs r1, 0x24
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ ble _080B1BB2
+ movs r0, 0
+ strh r0, [r2, 0x24]
+_080B1BB2:
+ movs r5, 0x24
+ ldrsh r0, [r2, r5]
+ cmp r0, 0
+ bne _080B1BCA
+ ldrb r1, [r4, 0x6]
+ movs r0, 0x41
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x6]
+ adds r0, r3, 0
+ bl DestroyTask
+_080B1BCA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1BD0: .4byte 0x02019204
+_080B1BD4: .4byte gSprites
+_080B1BD8: .4byte gTasks
+ thumb_func_end sub_80B1B68
+
+ thumb_func_start sub_80B1BDC
+sub_80B1BDC: @ 80B1BDC
+ push {r4-r6,lr}
+ ldr r6, _080B1C04 @ =gSprites
+ ldr r4, _080B1C08 @ =0x02019204
+ adds r5, r4, 0
+ adds r5, 0x58
+ ldrb r0, [r5]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ lsls r0, 29
+ cmp r0, 0
+ bge _080B1C0C
+ ldrb r1, [r4, 0x6]
+ movs r0, 0x41
+ negs r0, r0
+ ands r0, r1
+ b _080B1C28
+ .align 2, 0
+_080B1C04: .4byte gSprites
+_080B1C08: .4byte 0x02019204
+_080B1C0C:
+ ldr r0, _080B1C30 @ =sub_80B1C34
+ movs r1, 0xA
+ bl CreateTask
+ ldrb r1, [r5]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0
+ strh r1, [r0, 0x24]
+ ldrb r0, [r4, 0x6]
+ movs r1, 0x40
+ orrs r0, r1
+_080B1C28:
+ strb r0, [r4, 0x6]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1C30: .4byte sub_80B1C34
+ thumb_func_end sub_80B1BDC
+
+ thumb_func_start sub_80B1C34
+sub_80B1C34: @ 80B1C34
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0, 0
+ ldr r5, _080B1CAC @ =0x02019204
+ adds r0, r5, 0
+ adds r0, 0x58
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080B1CB0 @ =gSprites
+ adds r3, r0, r1
+ ldr r0, _080B1CB4 @ =gTasks
+ lsls r2, r4, 2
+ adds r2, r4
+ lsls r2, 3
+ adds r2, r0
+ movs r1, 0xD0
+ lsls r1, 3
+ adds r0, r1, 0
+ ldrh r1, [r2, 0x1C]
+ adds r0, r1
+ strh r0, [r2, 0x1C]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r1, [r3, 0x24]
+ subs r1, r0
+ strh r1, [r3, 0x24]
+ ldrb r0, [r2, 0x1C]
+ strh r0, [r2, 0x1C]
+ movs r2, 0x24
+ ldrsh r0, [r3, r2]
+ movs r1, 0x46
+ negs r1, r1
+ cmp r0, r1
+ bge _080B1C82
+ ldr r0, _080B1CB8 @ =0x0000ffba
+ strh r0, [r3, 0x24]
+_080B1C82:
+ movs r2, 0x24
+ ldrsh r0, [r3, r2]
+ cmp r0, r1
+ bne _080B1CA6
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldrb r1, [r5, 0x6]
+ movs r0, 0x41
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r5, 0x6]
+ adds r0, r4, 0
+ bl DestroyTask
+_080B1CA6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1CAC: .4byte 0x02019204
+_080B1CB0: .4byte gSprites
+_080B1CB4: .4byte gTasks
+_080B1CB8: .4byte 0x0000ffba
+ thumb_func_end sub_80B1C34
+
+ thumb_func_start sub_80B1CBC
+sub_80B1CBC: @ 80B1CBC
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080B1CF0 @ =sub_80B1CFC
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B1CF4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ lsls r4, 24
+ asrs r4, 24
+ strh r4, [r1, 0x8]
+ ldr r2, _080B1CF8 @ =0x02019204
+ ldrb r0, [r2, 0x6]
+ movs r1, 0x20
+ orrs r0, r1
+ strb r0, [r2, 0x6]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1CF0: .4byte sub_80B1CFC
+_080B1CF4: .4byte gTasks
+_080B1CF8: .4byte 0x02019204
+ thumb_func_end sub_80B1CBC
+
+ thumb_func_start sub_80B1CFC
+sub_80B1CFC: @ 80B1CFC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080B1D20 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ movs r1, 0x1C
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _080B1D30
+ cmp r0, 0x1
+ bgt _080B1D24
+ cmp r0, 0
+ beq _080B1D2A
+ b _080B1D78
+ .align 2, 0
+_080B1D20: .4byte gTasks
+_080B1D24:
+ cmp r0, 0x2
+ beq _080B1D50
+ b _080B1D78
+_080B1D2A:
+ bl sub_80B1B14
+ b _080B1D44
+_080B1D30:
+ ldr r0, _080B1D4C @ =0x02019204
+ ldrb r1, [r0, 0x6]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080B1D78
+ movs r0, 0x8
+ ldrsb r0, [r4, r0]
+ bl nullsub_18
+_080B1D44:
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x1
+ strh r0, [r4, 0x1C]
+ b _080B1D78
+ .align 2, 0
+_080B1D4C: .4byte 0x02019204
+_080B1D50:
+ ldrh r0, [r4, 0x1E]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x1E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ ble _080B1D78
+ movs r0, 0
+ strh r0, [r4, 0x1E]
+ bl sub_80B1928
+ ldr r2, _080B1D80 @ =0x02019204
+ ldrb r1, [r2, 0x6]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x6]
+ adds r0, r5, 0
+ bl DestroyTask
+_080B1D78:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1D80: .4byte 0x02019204
+ thumb_func_end sub_80B1CFC
+
+ thumb_func_start unref_sub_80B1D84
+unref_sub_80B1D84: @ 80B1D84
+ ldr r3, _080B1DB0 @ =gSprites
+ ldr r2, _080B1DB4 @ =0x02019204
+ adds r2, 0x58
+ ldrb r1, [r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0
+ strh r1, [r0, 0x24]
+ ldrb r1, [r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_080B1DB0: .4byte gSprites
+_080B1DB4: .4byte 0x02019204
+ thumb_func_end unref_sub_80B1D84
+
+ thumb_func_start unref_sub_80B1DB8
+unref_sub_80B1DB8: @ 80B1DB8
+ ldr r2, _080B1DD4 @ =gSprites
+ ldr r0, _080B1DD8 @ =0x02019204
+ adds r0, 0x58
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_080B1DD4: .4byte gSprites
+_080B1DD8: .4byte 0x02019204
+ thumb_func_end unref_sub_80B1DB8
+
+ thumb_func_start sub_80B1DDC
+sub_80B1DDC: @ 80B1DDC
+ push {lr}
+ ldr r0, _080B1DF4 @ =sub_80B1DFC
+ movs r1, 0xF
+ bl CreateTask
+ ldr r2, _080B1DF8 @ =0x02019204
+ ldrb r0, [r2, 0x6]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x6]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1DF4: .4byte sub_80B1DFC
+_080B1DF8: .4byte 0x02019204
+ thumb_func_end sub_80B1DDC
+
+ thumb_func_start sub_80B1DFC
+sub_80B1DFC: @ 80B1DFC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r2, _080B1E3C @ =gTasks
+ lsls r4, r5, 2
+ adds r0, r4, r5
+ lsls r0, 3
+ adds r3, r0, r2
+ ldrh r0, [r3, 0x1C]
+ adds r1, r0, 0x1
+ strh r1, [r3, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ adds r6, r2, 0
+ cmp r0, 0x6
+ ble _080B1E8E
+ movs r0, 0
+ strh r0, [r3, 0x1C]
+ movs r1, 0x1E
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ bne _080B1E50
+ ldr r1, _080B1E40 @ =0x02016800
+ ldr r2, _080B1E44 @ =0x06002000
+ ldr r0, _080B1E48 @ =0x040000d4
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ ldr r1, _080B1E4C @ =0x84000400
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ b _080B1E66
+ .align 2, 0
+_080B1E3C: .4byte gTasks
+_080B1E40: .4byte 0x02016800
+_080B1E44: .4byte 0x06002000
+_080B1E48: .4byte 0x040000d4
+_080B1E4C: .4byte 0x84000400
+_080B1E50:
+ ldr r1, _080B1E94 @ =0x02015800
+ ldr r2, _080B1E98 @ =0x06002000
+ ldr r0, _080B1E9C @ =0x040000d4
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ ldr r1, _080B1EA0 @ =0x84000400
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ ldrh r0, [r3, 0x20]
+ adds r0, 0x1
+ strh r0, [r3, 0x20]
+_080B1E66:
+ adds r0, r4, 0
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r6
+ ldrh r1, [r0, 0x1E]
+ movs r2, 0x1
+ eors r1, r2
+ strh r1, [r0, 0x1E]
+ movs r1, 0x20
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x9
+ bne _080B1E8E
+ ldr r2, _080B1EA4 @ =0x02019204
+ ldrb r1, [r2, 0x6]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x6]
+ adds r0, r5, 0
+ bl DestroyTask
+_080B1E8E:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1E94: .4byte 0x02015800
+_080B1E98: .4byte 0x06002000
+_080B1E9C: .4byte 0x040000d4
+_080B1EA0: .4byte 0x84000400
+_080B1EA4: .4byte 0x02019204
+ thumb_func_end sub_80B1DFC
+
+ thumb_func_start sub_80B1EA8
+sub_80B1EA8: @ 80B1EA8
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r0, _080B1EE4 @ =sub_80B1F4C
+ movs r1, 0xA
+ bl CreateTask
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r4, 24
+ cmp r4, 0
+ ble _080B1F08
+ ldr r7, _080B1EE8 @ =0x0000237e
+ lsls r0, r5, 24
+ adds r4, r0, 0
+ cmp r4, 0
+ ble _080B1EF0
+ movs r5, 0
+ ldr r2, _080B1EEC @ =0x02019204
+ movs r1, 0x13
+ ldrsb r1, [r2, r1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ b _080B1F1E
+ .align 2, 0
+_080B1EE4: .4byte sub_80B1F4C
+_080B1EE8: .4byte 0x0000237e
+_080B1EEC: .4byte 0x02019204
+_080B1EF0:
+ ldr r2, _080B1F04 @ =0x02019204
+ movs r1, 0x13
+ ldrsb r1, [r2, r1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r3, 0
+ b _080B1F1E
+ .align 2, 0
+_080B1F04: .4byte 0x02019204
+_080B1F08:
+ movs r7, 0
+ lsls r0, r5, 24
+ adds r4, r0, 0
+ cmp r4, 0
+ ble _080B1F18
+ movs r5, 0
+ movs r3, 0xC
+ b _080B1F1C
+_080B1F18:
+ movs r5, 0xC
+ movs r3, 0
+_080B1F1C:
+ ldr r2, _080B1F44 @ =0x02019204
+_080B1F1E:
+ ldr r1, _080B1F48 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r0, r1
+ strh r7, [r0, 0x8]
+ strh r5, [r0, 0xA]
+ asrs r1, r4, 24
+ strh r1, [r0, 0xC]
+ strh r3, [r0, 0xE]
+ ldrb r1, [r2, 0x7]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x7]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1F44: .4byte 0x02019204
+_080B1F48: .4byte gTasks
+ thumb_func_end sub_80B1EA8
+
+ thumb_func_start sub_80B1F4C
+sub_80B1F4C: @ 80B1F4C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r2, _080B1F7C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r3, r0, r2
+ ldrh r0, [r3, 0x1C]
+ adds r1, r0, 0x1
+ strh r1, [r3, 0x1C]
+ lsls r0, 16
+ cmp r0, 0
+ blt _080B1FC4
+ movs r0, 0
+ strh r0, [r3, 0x1C]
+ movs r1, 0xC
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ ble _080B1F80
+ ldrh r0, [r3, 0xA]
+ adds r0, 0x1
+ b _080B1F84
+ .align 2, 0
+_080B1F7C: .4byte gTasks
+_080B1F80:
+ ldrh r0, [r3, 0xA]
+ subs r0, 0x1
+_080B1F84:
+ strh r0, [r3, 0xA]
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r2
+ ldrb r2, [r4, 0xA]
+ ldrh r3, [r4, 0x8]
+ movs r0, 0x11
+ movs r1, 0x1
+ bl BlendPalette
+ ldrb r2, [r4, 0xA]
+ ldrh r3, [r4, 0x8]
+ movs r0, 0x1A
+ movs r1, 0x1
+ bl BlendPalette
+ movs r2, 0xA
+ ldrsh r1, [r4, r2]
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ cmp r1, r0
+ bne _080B1FC4
+ adds r0, r5, 0
+ bl DestroyTask
+ ldr r2, _080B1FCC @ =0x02019204
+ ldrb r1, [r2, 0x7]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x7]
+_080B1FC4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B1FCC: .4byte 0x02019204
+ thumb_func_end sub_80B1F4C
+
+ thumb_func_start sub_80B1FD0
+sub_80B1FD0: @ 80B1FD0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ movs r5, 0
+ ldr r0, _080B204C @ =0x02019260
+ ldr r6, _080B2050 @ =gSprites
+ adds r4, r0, 0
+ adds r4, 0xD8
+ adds r7, r0, 0
+_080B1FE8:
+ ldrb r1, [r7, 0x10]
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0
+ beq _080B2064
+ mov r0, r8
+ cmp r0, 0
+ beq _080B2064
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_80B208C
+ ldrb r2, [r4, 0x1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r6
+ ldrh r1, [r1, 0x4]
+ lsls r1, 22
+ lsrs r1, 17
+ ldr r2, _080B2054 @ =0x060100a0
+ adds r1, r2
+ ldr r2, _080B2058 @ =REG_BG0HOFS
+ bl CpuSet
+ ldrb r0, [r4, 0x1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ ldr r2, _080B205C @ =gUnknown_083CA33C
+ ldr r0, _080B2060 @ =gUnknown_02038696
+ adds r0, r5, r0
+ ldrb r0, [r0]
+ adds r0, r2
+ ldrb r0, [r0]
+ strh r0, [r1, 0x22]
+ ldrb r1, [r4, 0x1]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r3, 0x5
+ negs r3, r3
+ adds r2, r3, 0
+ ands r1, r2
+ b _080B2076
+ .align 2, 0
+_080B204C: .4byte 0x02019260
+_080B2050: .4byte gSprites
+_080B2054: .4byte 0x060100a0
+_080B2058: .4byte REG_BG0HOFS
+_080B205C: .4byte gUnknown_083CA33C
+_080B2060: .4byte gUnknown_02038696
+_080B2064:
+ ldrb r1, [r4, 0x1]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+_080B2076:
+ strb r1, [r0]
+ adds r4, 0x4
+ adds r7, 0x1C
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080B1FE8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B1FD0
+
+ thumb_func_start sub_80B208C
+sub_80B208C: @ 80B208C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ ldr r0, _080B20B0 @ =0x02019260
+ adds r2, r1, r0
+ ldrb r1, [r2, 0x10]
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0x40
+ bne _080B20B8
+ ldrb r0, [r2, 0x19]
+ lsls r0, 6
+ ldr r1, _080B20B4 @ =gContestNextTurnNumbersGfx
+ adds r0, r1
+ b _080B20BA
+ .align 2, 0
+_080B20B0: .4byte 0x02019260
+_080B20B4: .4byte gContestNextTurnNumbersGfx
+_080B20B8:
+ ldr r0, _080B20C0 @ =gContestNextTurnRandomGfx
+_080B20BA:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B20C0: .4byte gContestNextTurnRandomGfx
+ thumb_func_end sub_80B208C
+
+ thumb_func_start unref_sub_80B20C4
+unref_sub_80B20C4: @ 80B20C4
+ push {r4-r7,lr}
+ movs r6, 0
+ ldr r7, _080B2134 @ =0x020192dd
+_080B20CA:
+ adds r0, r6, r7
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080B2126
+ lsls r0, r6, 24
+ lsrs r5, r0, 24
+ adds r0, r5, 0
+ bl sub_80AF59C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080B2126
+ ldr r0, _080B2138 @ =gUnknown_02038696
+ adds r0, r6, r0
+ ldrb r0, [r0]
+ lsls r4, r0, 2
+ adds r4, r0
+ adds r4, 0x2
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_80AEFE8
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r4, 6
+ ldr r2, _080B213C @ =0x0600c028
+ adds r1, r4, r2
+ strh r0, [r1]
+ ldr r1, _080B2140 @ =0x0600c02a
+ adds r2, r4, r1
+ adds r1, r0, 0x1
+ strh r1, [r2]
+ ldr r1, _080B2144 @ =0x0600c068
+ adds r2, r4, r1
+ adds r1, r0, 0
+ adds r1, 0x10
+ strh r1, [r2]
+ ldr r2, _080B2148 @ =0x0600c06a
+ adds r4, r2
+ adds r0, 0x11
+ strh r0, [r4]
+ movs r0, 0x63
+ bl PlaySE
+_080B2126:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080B20CA
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2134: .4byte 0x020192dd
+_080B2138: .4byte gUnknown_02038696
+_080B213C: .4byte 0x0600c028
+_080B2140: .4byte 0x0600c02a
+_080B2144: .4byte 0x0600c068
+_080B2148: .4byte 0x0600c06a
+ thumb_func_end unref_sub_80B20C4
+
+ thumb_func_start sub_80B214C
+sub_80B214C: @ 80B214C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ ldr r0, _080B2178 @ =0x02019260
+ adds r2, r1, r0
+ ldrb r1, [r2, 0x15]
+ movs r3, 0x1
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080B2172
+ ldrb r1, [r2, 0xC]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080B217C
+_080B2172:
+ movs r0, 0
+ b _080B217E
+ .align 2, 0
+_080B2178: .4byte 0x02019260
+_080B217C:
+ movs r0, 0x1
+_080B217E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80B214C
+
+ thumb_func_start sub_80B2184
+sub_80B2184: @ 80B2184
+ push {r4-r7,lr}
+ sub sp, 0x4
+ ldr r4, _080B2250 @ =REG_BG1CNT
+ ldrb r1, [r4]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4]
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x1]
+ ldr r0, _080B2254 @ =gUnknown_030042C0
+ movs r2, 0xF0
+ strh r2, [r0]
+ ldr r0, _080B2258 @ =gUnknown_030041B4
+ movs r1, 0xA0
+ strh r1, [r0]
+ ldr r0, _080B225C @ =REG_BG1HOFS
+ strh r2, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ ldr r1, _080B2260 @ =0x0600f000
+ movs r0, 0
+ str r0, [sp]
+ ldr r0, _080B2264 @ =0x040000d4
+ mov r2, sp
+ str r2, [r0]
+ str r1, [r0, 0x4]
+ ldr r2, _080B2268 @ =0x85000400
+ str r2, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ ldr r0, _080B226C @ =gUnknown_08D17C3C
+ bl LZDecompressVram
+ ldrb r1, [r4]
+ movs r2, 0xD
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r1
+ strb r0, [r4]
+ movs r4, 0
+ ldr r6, _080B2270 @ =gSprites
+ adds r7, r2, 0
+ movs r5, 0x4
+ ldr r3, _080B2274 @ =0x02019338
+_080B21EE:
+ ldrb r0, [r3]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ ldrb r2, [r1, 0x5]
+ adds r0, r7, 0
+ ands r0, r2
+ orrs r0, r5
+ strb r0, [r1, 0x5]
+ ldrb r0, [r3, 0x1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ ldrb r2, [r1, 0x5]
+ adds r0, r7, 0
+ ands r0, r2
+ orrs r0, r5
+ strb r0, [r1, 0x5]
+ adds r3, 0x4
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080B21EE
+ ldr r3, _080B2278 @ =REG_BG2CNT
+ ldrb r2, [r3]
+ movs r1, 0x4
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r2
+ movs r4, 0x1
+ orrs r0, r4
+ strb r0, [r3]
+ ldr r2, _080B227C @ =REG_BG0CNT
+ ldrb r0, [r2]
+ ands r1, r0
+ orrs r1, r4
+ strb r1, [r2]
+ adds r2, 0x2
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x1]
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2250: .4byte REG_BG1CNT
+_080B2254: .4byte gUnknown_030042C0
+_080B2258: .4byte gUnknown_030041B4
+_080B225C: .4byte REG_BG1HOFS
+_080B2260: .4byte 0x0600f000
+_080B2264: .4byte 0x040000d4
+_080B2268: .4byte 0x85000400
+_080B226C: .4byte gUnknown_08D17C3C
+_080B2270: .4byte gSprites
+_080B2274: .4byte 0x02019338
+_080B2278: .4byte REG_BG2CNT
+_080B227C: .4byte REG_BG0CNT
+ thumb_func_end sub_80B2184
+
+ thumb_func_start sub_80B2280
+sub_80B2280: @ 80B2280
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ ldr r2, _080B2358 @ =0x06008000
+ movs r3, 0x80
+ lsls r3, 6
+ ldr r0, _080B235C @ =gUnknown_030042C0
+ mov r12, r0
+ ldr r0, _080B2360 @ =gUnknown_030041B4
+ mov r8, r0
+ movs r5, 0
+ ldr r1, _080B2364 @ =0x040000d4
+ movs r4, 0x80
+ lsls r4, 5
+ ldr r6, _080B2368 @ =0x85000400
+ movs r7, 0x85
+ lsls r7, 24
+_080B22A4:
+ str r5, [sp]
+ mov r0, sp
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r6, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r4
+ subs r3, r4
+ cmp r3, r4
+ bhi _080B22A4
+ str r5, [sp]
+ mov r0, sp
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 2
+ orrs r0, r7
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ ldr r1, _080B236C @ =0x0600f000
+ movs r2, 0
+ str r2, [sp]
+ ldr r0, _080B2364 @ =0x040000d4
+ mov r3, sp
+ str r3, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _080B2368 @ =0x85000400
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ mov r0, r12
+ strh r2, [r0]
+ mov r3, r8
+ strh r2, [r3]
+ ldr r2, _080B2370 @ =REG_BG1CNT
+ ldrb r1, [r2]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ ldrb r1, [r2]
+ movs r3, 0xD
+ negs r3, r3
+ adds r0, r3, 0
+ ands r0, r1
+ movs r1, 0x8
+ orrs r0, r1
+ strb r0, [r2]
+ movs r4, 0
+ ldr r5, _080B2374 @ =gSprites
+ adds r6, r3, 0
+ ldr r3, _080B2378 @ =0x02019338
+_080B231E:
+ ldrb r0, [r3]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ ldrb r2, [r1, 0x5]
+ adds r0, r6, 0
+ ands r0, r2
+ strb r0, [r1, 0x5]
+ ldrb r0, [r3, 0x1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ ldrb r2, [r1, 0x5]
+ adds r0, r6, 0
+ ands r0, r2
+ strb r0, [r1, 0x5]
+ adds r3, 0x4
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080B231E
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2358: .4byte 0x06008000
+_080B235C: .4byte gUnknown_030042C0
+_080B2360: .4byte gUnknown_030041B4
+_080B2364: .4byte 0x040000d4
+_080B2368: .4byte 0x85000400
+_080B236C: .4byte 0x0600f000
+_080B2370: .4byte REG_BG1CNT
+_080B2374: .4byte gSprites
+_080B2378: .4byte 0x02019338
+ thumb_func_end sub_80B2280
+
+ thumb_func_start sub_80B237C
+sub_80B237C: @ 80B237C
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080B23AC @ =gUnknown_030042C0
+ movs r0, 0
+ strh r0, [r1]
+ ldr r1, _080B23B0 @ =gUnknown_030041B4
+ movs r0, 0xA0
+ strh r0, [r1]
+ movs r0, 0x62
+ movs r1, 0
+ bl PlaySE12WithPanning
+ ldr r1, _080B23B4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080B23B8 @ =sub_80B23BC
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B23AC: .4byte gUnknown_030042C0
+_080B23B0: .4byte gUnknown_030041B4
+_080B23B4: .4byte gTasks
+_080B23B8: .4byte sub_80B23BC
+ thumb_func_end sub_80B237C
+
+ thumb_func_start sub_80B23BC
+sub_80B23BC: @ 80B23BC
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r1, _080B23F4 @ =gUnknown_030041B4
+ ldrh r0, [r1]
+ subs r0, 0x7
+ strh r0, [r1]
+ lsls r0, 16
+ cmp r0, 0
+ bge _080B23D4
+ movs r0, 0
+ strh r0, [r1]
+_080B23D4:
+ ldrh r2, [r1]
+ cmp r2, 0
+ bne _080B23EE
+ ldr r0, _080B23F8 @ =gTasks
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r0
+ strh r2, [r1, 0x8]
+ strh r2, [r1, 0xA]
+ strh r2, [r1, 0xC]
+ ldr r0, _080B23FC @ =sub_80B2400
+ str r0, [r1]
+_080B23EE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B23F4: .4byte gUnknown_030041B4
+_080B23F8: .4byte gTasks
+_080B23FC: .4byte sub_80B2400
+ thumb_func_end sub_80B23BC
+
+ thumb_func_start sub_80B2400
+sub_80B2400: @ 80B2400
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080B2424 @ =gTasks
+ lsls r3, r4, 2
+ adds r0, r3, r4
+ lsls r0, 3
+ adds r5, r0, r1
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ cmp r1, 0x1
+ beq _080B247C
+ cmp r1, 0x1
+ bgt _080B2428
+ cmp r1, 0
+ beq _080B2432
+ b _080B24FC
+ .align 2, 0
+_080B2424: .4byte gTasks
+_080B2428:
+ cmp r1, 0x2
+ beq _080B24D6
+ cmp r1, 0x3
+ beq _080B24EC
+ b _080B24FC
+_080B2432:
+ movs r2, 0
+ adds r6, r3, 0
+ ldr r5, _080B2470 @ =0x02019218
+ ldr r3, _080B2474 @ =gUnknown_02038696
+_080B243A:
+ adds r0, r2, r5
+ adds r1, r2, r3
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080B243A
+ bl sub_80AFA5C
+ bl sub_80B0588
+ bl sub_80AEF50
+ bl sub_80B1118
+ movs r0, 0x1
+ bl sub_80B1FD0
+ bl sub_80AFFA0
+ ldr r0, _080B2478 @ =gTasks
+ adds r1, r6, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x1
+ strh r0, [r1, 0x8]
+ b _080B24FC
+ .align 2, 0
+_080B2470: .4byte 0x02019218
+_080B2474: .4byte gUnknown_02038696
+_080B2478: .4byte gTasks
+_080B247C:
+ ldr r0, _080B24C0 @ =gUnknown_0203869A
+ ldrb r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ beq _080B24D0
+ ldr r2, _080B24C4 @ =0x02019204
+ ldrb r0, [r2, 0x7]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2, 0x7]
+ bl sub_80AE074
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B249E
+ bl sub_80AF438
+_080B249E:
+ ldr r4, _080B24C8 @ =sub_80C8C80
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B24CC @ =sub_80AD8DC
+ adds r1, r4, 0
+ bl SetTaskFuncWithFollowupFunc
+ bl sub_80AF860
+ movs r0, 0x2
+ strh r0, [r5, 0x8]
+ b _080B24FC
+ .align 2, 0
+_080B24C0: .4byte gUnknown_0203869A
+_080B24C4: .4byte 0x02019204
+_080B24C8: .4byte sub_80C8C80
+_080B24CC: .4byte sub_80AD8DC
+_080B24D0:
+ bl sub_80AF438
+ b _080B24E2
+_080B24D6:
+ ldr r0, _080B24E8 @ =0x02019204
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ bne _080B24FC
+_080B24E2:
+ movs r0, 0x3
+ strh r0, [r5, 0x8]
+ b _080B24FC
+ .align 2, 0
+_080B24E8: .4byte 0x02019204
+_080B24EC:
+ bl sub_80AF120
+ bl sub_80AEB30
+ movs r0, 0
+ strh r0, [r5, 0x8]
+ ldr r0, _080B2504 @ =sub_80B253C
+ str r0, [r5]
+_080B24FC:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2504: .4byte sub_80B253C
+ thumb_func_end sub_80B2400
+
+ thumb_func_start sub_80B2508
+sub_80B2508: @ 80B2508
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, _080B2530 @ =gUnknown_030041B4
+ ldrh r0, [r1]
+ adds r0, 0x7
+ strh r0, [r1]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xA0
+ ble _080B252C
+ ldr r0, _080B2534 @ =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080B2538 @ =sub_80ADCDC
+ str r0, [r1]
+_080B252C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2530: .4byte gUnknown_030041B4
+_080B2534: .4byte gTasks
+_080B2538: .4byte sub_80ADCDC
+ thumb_func_end sub_80B2508
+
+ thumb_func_start sub_80B253C
+sub_80B253C: @ 80B253C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B255C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrh r2, [r1, 0xC]
+ movs r3, 0xC
+ ldrsh r0, [r1, r3]
+ cmp r0, 0x9
+ bgt _080B2560
+ adds r0, r2, 0x1
+ strh r0, [r1, 0xC]
+ b _080B259C
+ .align 2, 0
+_080B255C: .4byte gTasks
+_080B2560:
+ ldrh r3, [r1, 0xA]
+ movs r4, 0xA
+ ldrsh r0, [r1, r4]
+ cmp r0, 0
+ bne _080B257E
+ ldrh r2, [r1, 0x8]
+ movs r4, 0x8
+ ldrsh r0, [r1, r4]
+ cmp r0, 0x10
+ bne _080B257A
+ adds r0, r3, 0x1
+ strh r0, [r1, 0xA]
+ b _080B259C
+_080B257A:
+ adds r0, r2, 0x1
+ b _080B259A
+_080B257E:
+ ldrh r0, [r1, 0x8]
+ movs r3, 0x8
+ ldrsh r2, [r1, r3]
+ cmp r2, 0
+ bne _080B2598
+ strh r2, [r1, 0xA]
+ strh r2, [r1, 0xC]
+ ldr r0, _080B2594 @ =sub_80B25A4
+ str r0, [r1]
+ b _080B259C
+ .align 2, 0
+_080B2594: .4byte sub_80B25A4
+_080B2598:
+ subs r0, 0x1
+_080B259A:
+ strh r0, [r1, 0x8]
+_080B259C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B253C
+
+ thumb_func_start sub_80B25A4
+sub_80B25A4: @ 80B25A4
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B25C4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r1, [r4, 0xC]
+ movs r2, 0xC
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x9
+ bgt _080B25C8
+ adds r0, r1, 0x1
+ strh r0, [r4, 0xC]
+ b _080B25D8
+ .align 2, 0
+_080B25C4: .4byte gTasks
+_080B25C8:
+ movs r0, 0
+ strh r0, [r4, 0xC]
+ movs r0, 0x61
+ movs r1, 0
+ bl PlaySE12WithPanning
+ ldr r0, _080B25E0 @ =sub_80B2508
+ str r0, [r4]
+_080B25D8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B25E0: .4byte sub_80B2508
+ thumb_func_end sub_80B25A4
+
+ thumb_func_start sub_80B25E4
+sub_80B25E4: @ 80B25E4
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ movs r6, 0
+ ldr r5, _080B26B4 @ =gSprites
+_080B25F6:
+ bl AllocOamMatrix
+ lsls r1, r6, 2
+ ldr r2, _080B26B8 @ =0x02019338
+ mov r8, r2
+ adds r4, r1, r2
+ ldrb r1, [r4]
+ lsls r3, r1, 4
+ adds r3, r1
+ lsls r3, 2
+ adds r3, r5
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1F
+ ands r0, r1
+ lsls r0, 1
+ ldrb r1, [r3, 0x3]
+ movs r7, 0x3F
+ negs r7, r7
+ adds r2, r7, 0
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x3]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r2, [r0, 0x1]
+ movs r3, 0x4
+ negs r3, r3
+ adds r1, r3, 0
+ ands r2, r1
+ movs r1, 0x1
+ orrs r2, r1
+ strb r2, [r0, 0x1]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ mov r1, r9
+ bl StartSpriteAffineAnim
+ mov r7, r9
+ cmp r7, 0x2
+ bne _080B267A
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ bl AnimateSprite
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r3, 0x5
+ negs r3, r3
+ adds r2, r3, 0
+ ands r1, r2
+ strb r1, [r0]
+_080B267A:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080B25F6
+ ldr r0, _080B26BC @ =sub_80B26C8
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B26C0 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ mov r7, r9
+ strh r7, [r1, 0x8]
+ ldr r2, _080B26C4 @ =0xfffffecc
+ add r2, r8
+ ldrb r0, [r2, 0x7]
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r2, 0x7]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B26B4: .4byte gSprites
+_080B26B8: .4byte 0x02019338
+_080B26BC: .4byte sub_80B26C8
+_080B26C0: .4byte gTasks
+_080B26C4: .4byte 0xfffffecc
+ thumb_func_end sub_80B25E4
+
+ thumb_func_start sub_80B26C8
+sub_80B26C8: @ 80B26C8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r2, _080B2750 @ =gSprites
+ ldr r4, _080B2754 @ =0x02019338
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _080B274A
+ ldr r0, _080B2758 @ =gTasks
+ lsls r1, r6, 2
+ adds r1, r6
+ lsls r1, 3
+ adds r1, r0
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0x1
+ bne _080B2718
+ adds r5, r2, 0
+ movs r3, 0x4
+ adds r2, r4, 0
+ movs r4, 0x3
+_080B26FE:
+ ldrb r0, [r2]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ orrs r0, r3
+ strb r0, [r1]
+ adds r2, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080B26FE
+_080B2718:
+ movs r4, 0
+_080B271A:
+ lsls r0, r4, 2
+ ldr r5, _080B2754 @ =0x02019338
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080B2750 @ =gSprites
+ adds r0, r1
+ bl FreeSpriteOamMatrix
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080B271A
+ ldr r0, _080B275C @ =0xfffffecc
+ adds r2, r5, r0
+ ldrb r1, [r2, 0x7]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x7]
+ adds r0, r6, 0
+ bl DestroyTask
+_080B274A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2750: .4byte gSprites
+_080B2754: .4byte 0x02019338
+_080B2758: .4byte gTasks
+_080B275C: .4byte 0xfffffecc
+ thumb_func_end sub_80B26C8
+
+ thumb_func_start sub_80B2760
+sub_80B2760: @ 80B2760
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ movs r0, 0xB1
+ lsls r0, 1
+ cmp r1, r0
+ bls _080B2770
+ movs r1, 0x1
+_080B2770:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80B2760
+
+ thumb_func_start sub_80B2778
+sub_80B2778: @ 80B2778
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ ldr r0, _080B278C @ =0x0000019b
+ cmp r1, r0
+ bls _080B2786
+ movs r1, 0
+_080B2786:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B278C: .4byte 0x0000019b
+ thumb_func_end sub_80B2778
+
+ thumb_func_start sub_80B2790
+sub_80B2790: @ 80B2790
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 3
+ subs r0, r6
+ lsls r0, 2
+ ldr r4, _080B27F0 @ =0x02019260
+ adds r0, r4
+ ldrh r0, [r0, 0x6]
+ bl sub_80B2760
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r1, _080B27F4 @ =gUnknown_02038570
+ lsls r0, r6, 6
+ adds r0, r1
+ ldrh r0, [r0]
+ bl sub_80B2778
+ lsls r0, 16
+ lsrs r7, r0, 16
+ adds r4, 0xE8
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x14
+ bl memset
+ bl sub_8075624
+ ldr r1, _080B27F8 @ =gUnknown_02024E84
+ movs r2, 0
+ adds r0, r1, 0x3
+_080B27D0:
+ strb r2, [r0]
+ subs r0, 0x1
+ cmp r0, r1
+ bge _080B27D0
+ cmp r5, 0x90
+ beq _080B2848
+ cmp r5, 0x90
+ bgt _080B2806
+ cmp r5, 0x4C
+ beq _080B2898
+ cmp r5, 0x4C
+ bgt _080B27FC
+ cmp r5, 0xD
+ beq _080B2898
+ b _080B28BE
+ .align 2, 0
+_080B27F0: .4byte 0x02019260
+_080B27F4: .4byte gUnknown_02038570
+_080B27F8: .4byte gUnknown_02024E84
+_080B27FC:
+ cmp r5, 0x82
+ beq _080B2898
+ cmp r5, 0x8F
+ beq _080B2898
+ b _080B28BE
+_080B2806:
+ cmp r5, 0xD8
+ beq _080B2880
+ cmp r5, 0xD8
+ bgt _080B2814
+ cmp r5, 0xAE
+ beq _080B2822
+ b _080B28BE
+_080B2814:
+ cmp r5, 0xDA
+ beq _080B288C
+ movs r0, 0x88
+ lsls r0, 1
+ cmp r5, r0
+ beq _080B2848
+ b _080B28BE
+_080B2822:
+ ldr r0, _080B2840 @ =gBaseStats
+ lsls r1, r7, 3
+ subs r1, r7
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0x7
+ beq _080B2838
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0x7
+ bne _080B28B8
+_080B2838:
+ ldr r1, _080B2844 @ =gUnknown_0202F7C4
+ movs r0, 0
+ b _080B28BC
+ .align 2, 0
+_080B2840: .4byte gBaseStats
+_080B2844: .4byte gUnknown_0202F7C4
+_080B2848:
+ lsls r0, r6, 3
+ subs r0, r6
+ lsls r0, 2
+ ldr r4, _080B2878 @ =0x02019260
+ adds r0, r4
+ ldrb r5, [r0, 0x1B]
+ ldr r6, _080B287C @ =gUnknown_02038570
+ lsls r5, 6
+ adds r0, r5, r6
+ ldrh r0, [r0]
+ bl sub_80B2778
+ adds r4, 0xE8
+ strh r0, [r4, 0x2]
+ adds r6, 0x38
+ adds r5, r6
+ ldr r0, [r5]
+ str r0, [r4, 0x10]
+ ldrb r0, [r4, 0x4]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r4, 0x4]
+ b _080B28BE
+ .align 2, 0
+_080B2878: .4byte 0x02019260
+_080B287C: .4byte gUnknown_02038570
+_080B2880:
+ ldr r1, _080B2888 @ =gUnknown_0202F7BE
+ movs r0, 0xFF
+ b _080B28BC
+ .align 2, 0
+_080B2888: .4byte gUnknown_0202F7BE
+_080B288C:
+ ldr r1, _080B2894 @ =gUnknown_0202F7BE
+ movs r0, 0
+ b _080B28BC
+ .align 2, 0
+_080B2894: .4byte gUnknown_0202F7BE
+_080B2898:
+ ldr r0, _080B28B0 @ =0x02019204
+ adds r2, r0, 0
+ adds r2, 0x5A
+ ldrb r1, [r2]
+ cmp r1, 0
+ bne _080B28B8
+ movs r0, 0x2
+ strb r0, [r2]
+ ldr r0, _080B28B4 @ =gUnknown_0202F7C4
+ strb r1, [r0]
+ b _080B28BE
+ .align 2, 0
+_080B28B0: .4byte 0x02019204
+_080B28B4: .4byte gUnknown_0202F7C4
+_080B28B8:
+ ldr r1, _080B28C8 @ =gUnknown_0202F7C4
+ movs r0, 0x1
+_080B28BC:
+ strb r0, [r1]
+_080B28BE:
+ bl sub_80B2968
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B28C8: .4byte gUnknown_0202F7C4
+ thumb_func_end sub_80B2790
+
+ thumb_func_start unref_sub_80B28CC
+unref_sub_80B28CC: @ 80B28CC
+ push {r4,lr}
+ ldr r4, _080B28EC @ =0x02019348
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x14
+ bl memset
+ subs r4, 0xEA
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _080B28E6
+ subs r0, 0x1
+ strb r0, [r4]
+_080B28E6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B28EC: .4byte 0x02019348
+ thumb_func_end unref_sub_80B28CC
+
+ thumb_func_start sub_80B28F0
+sub_80B28F0: @ 80B28F0
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r6, _080B2924 @ =0x02019348
+ strb r4, [r6, 0x5]
+ ldr r5, _080B2928 @ =gUnknown_02038570
+ lsls r4, 6
+ adds r0, r4, r5
+ ldrh r0, [r0]
+ bl sub_80B2778
+ strh r0, [r6]
+ adds r0, r5, 0
+ adds r0, 0x38
+ adds r0, r4, r0
+ ldr r0, [r0]
+ str r0, [r6, 0x8]
+ adds r5, 0x3C
+ adds r4, r5
+ ldr r0, [r4]
+ str r0, [r6, 0xC]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2924: .4byte 0x02019348
+_080B2928: .4byte gUnknown_02038570
+ thumb_func_end sub_80B28F0
+
+ thumb_func_start sub_80B292C
+sub_80B292C: @ 80B292C
+ push {lr}
+ ldr r0, _080B2958 @ =SpriteCallbackDummy
+ bl object_new_hidden_with_callback
+ ldr r1, _080B295C @ =gUnknown_02024BE0
+ strb r0, [r1, 0x3]
+ ldr r0, _080B2960 @ =gUnknown_02024C08
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080B2964 @ =gSprites
+ adds r0, r1
+ bl InitSpriteAffineAnim
+ bl sub_80B2968
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2958: .4byte SpriteCallbackDummy
+_080B295C: .4byte gUnknown_02024BE0
+_080B2960: .4byte gUnknown_02024C08
+_080B2964: .4byte gSprites
+ thumb_func_end sub_80B292C
+
+ thumb_func_start sub_80B2968
+sub_80B2968: @ 80B2968
+ push {r4,lr}
+ ldr r0, _080B29AC @ =gUnknown_02024BE0
+ ldrb r0, [r0, 0x3]
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ ldr r0, _080B29B0 @ =gSprites
+ adds r4, r0
+ movs r0, 0
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ movs r0, 0x3
+ movs r1, 0
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x20]
+ movs r0, 0x3
+ movs r1, 0x1
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x22]
+ adds r4, 0x3E
+ ldrb r0, [r4]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B29AC: .4byte gUnknown_02024BE0
+_080B29B0: .4byte gSprites
+ thumb_func_end sub_80B2968
+
+ thumb_func_start sub_80B29B4
+sub_80B29B4: @ 80B29B4
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _080B29D4 @ =gBattleMoves
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0x20
+ bhi _080B2A6C
+ lsls r0, 2
+ ldr r1, _080B29D8 @ =_080B29DC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080B29D4: .4byte gBattleMoves
+_080B29D8: .4byte _080B29DC
+ .align 2, 0
+_080B29DC:
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A60
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A60
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+ .4byte _080B2A6C
+_080B2A60:
+ ldr r1, _080B2A68 @ =gUnknown_02024C08
+ movs r0, 0x2
+ b _080B2A70
+ .align 2, 0
+_080B2A68: .4byte gUnknown_02024C08
+_080B2A6C:
+ ldr r1, _080B2A78 @ =gUnknown_02024C08
+ movs r0, 0x3
+_080B2A70:
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2A78: .4byte gUnknown_02024C08
+ thumb_func_end sub_80B29B4
+
+ thumb_func_start sub_80B2A7C
+sub_80B2A7C: @ 80B2A7C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x3
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ ldr r1, _080B2AC8 @ =gUnknown_02038690
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080B2AB6
+_080B2AA8:
+ adds r6, 0x1
+ cmp r6, 0x2
+ bgt _080B2AB6
+ adds r0, r6, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080B2AA8
+_080B2AB6:
+ mov r0, r9
+ cmp r0, 0xFF
+ bne _080B2AD0
+ ldr r0, _080B2ACC @ =gUnknown_02038695
+ ldrb r0, [r0]
+ cmp r6, r0
+ beq _080B2AD0
+ movs r0, 0
+ b _080B2C38
+ .align 2, 0
+_080B2AC8: .4byte gUnknown_02038690
+_080B2ACC: .4byte gUnknown_02038695
+_080B2AD0:
+ ldr r0, _080B2AE4 @ =gUnknown_0203869C
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bhi _080B2B16
+ lsls r0, 2
+ ldr r1, _080B2AE8 @ =_080B2AEC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080B2AE4: .4byte gUnknown_0203869C
+_080B2AE8: .4byte _080B2AEC
+ .align 2, 0
+_080B2AEC:
+ .4byte _080B2B16
+ .4byte _080B2B00
+ .4byte _080B2B04
+ .4byte _080B2B08
+ .4byte _080B2B0E
+_080B2B00:
+ adds r0, r7, 0x3
+ b _080B2B12
+_080B2B04:
+ adds r0, r7, 0x6
+ b _080B2B12
+_080B2B08:
+ adds r0, r7, 0
+ adds r0, 0x9
+ b _080B2B12
+_080B2B0E:
+ adds r0, r7, 0
+ adds r0, 0xC
+_080B2B12:
+ lsls r0, 24
+ lsrs r7, r0, 24
+_080B2B16:
+ mov r1, r9
+ cmp r1, 0xFE
+ beq _080B2BC4
+ mov r0, r9
+ movs r1, 0x1
+ bl sub_80B2C4C
+ adds r4, r0, 0
+ lsls r4, 24
+ ldr r2, _080B2B98 @ =gSaveBlock1
+ lsrs r4, 19
+ ldr r0, _080B2B9C @ =0x00002dfc
+ adds r1, r2, r0
+ adds r1, r4, r1
+ ldr r5, _080B2BA0 @ =gUnknown_02038570
+ lsls r6, 6
+ adds r0, r5, 0
+ adds r0, 0x38
+ adds r0, r6, r0
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, r4, r2
+ mov r8, r1
+ adds r0, r6, r5
+ ldrh r1, [r0]
+ ldr r0, _080B2BA4 @ =0x00002e04
+ add r0, r8
+ strh r1, [r0]
+ movs r0, 0xB8
+ lsls r0, 6
+ adds r1, r2, r0
+ adds r1, r4, r1
+ adds r0, r5, 0
+ adds r0, 0x3C
+ adds r0, r6, r0
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r1, _080B2BA8 @ =0x00002e07
+ adds r0, r2, r1
+ adds r0, r4, r0
+ adds r1, r5, 0x2
+ adds r1, r6, r1
+ str r2, [sp]
+ bl StringCopy
+ ldr r2, [sp]
+ ldr r0, _080B2BAC @ =0x00002e12
+ adds r2, r0
+ adds r4, r2
+ adds r5, 0xD
+ adds r6, r5
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl StringCopy
+ mov r1, r9
+ cmp r1, 0xFF
+ beq _080B2BB8
+ ldr r0, _080B2BB0 @ =gUnknown_0203869C
+ ldrh r1, [r0]
+ ldr r0, _080B2BB4 @ =0x00002e06
+ add r0, r8
+ strb r1, [r0]
+ b _080B2C36
+ .align 2, 0
+_080B2B98: .4byte gSaveBlock1
+_080B2B9C: .4byte 0x00002dfc
+_080B2BA0: .4byte gUnknown_02038570
+_080B2BA4: .4byte 0x00002e04
+_080B2BA8: .4byte 0x00002e07
+_080B2BAC: .4byte 0x00002e12
+_080B2BB0: .4byte gUnknown_0203869C
+_080B2BB4: .4byte 0x00002e06
+_080B2BB8:
+ ldr r0, _080B2BC0 @ =0x00002e06
+ add r0, r8
+ strb r7, [r0]
+ b _080B2C36
+ .align 2, 0
+_080B2BC0: .4byte 0x00002e06
+_080B2BC4:
+ ldr r5, _080B2C14 @ =0x02015de0
+ ldr r2, _080B2C18 @ =gUnknown_02038570
+ lsls r4, r6, 6
+ adds r0, r2, 0
+ adds r0, 0x38
+ adds r0, r4, r0
+ ldr r0, [r0]
+ str r0, [r5]
+ adds r0, r2, 0
+ adds r0, 0x3C
+ adds r0, r4, r0
+ ldr r0, [r0]
+ str r0, [r5, 0x4]
+ adds r0, r4, r2
+ ldrh r0, [r0]
+ strh r0, [r5, 0x8]
+ adds r0, r5, 0
+ adds r0, 0xB
+ adds r1, r2, 0x2
+ adds r1, r4, r1
+ str r2, [sp]
+ bl StringCopy
+ ldr r0, _080B2C1C @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ ldr r2, [sp]
+ cmp r0, 0
+ beq _080B2C24
+ adds r0, r5, 0
+ adds r0, 0x16
+ lsls r1, r6, 3
+ subs r1, r6
+ lsls r1, 2
+ ldr r2, _080B2C20 @ =gLinkPlayers + 0x8
+ adds r1, r2
+ bl StringCopy
+ b _080B2C32
+ .align 2, 0
+_080B2C14: .4byte 0x02015de0
+_080B2C18: .4byte gUnknown_02038570
+_080B2C1C: .4byte gUnknown_0203869A
+_080B2C20: .4byte gLinkPlayers + 0x8
+_080B2C24:
+ adds r0, r5, 0
+ adds r0, 0x16
+ adds r1, r2, 0
+ adds r1, 0xD
+ adds r1, r4, r1
+ bl StringCopy
+_080B2C32:
+ ldr r0, _080B2C48 @ =0x02015de0
+ strb r7, [r0, 0xA]
+_080B2C36:
+ movs r0, 0x1
+_080B2C38:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B2C48: .4byte 0x02015de0
+ thumb_func_end sub_80B2A7C
+
+ thumb_func_start sub_80B2C4C
+sub_80B2C4C: @ 80B2C4C
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ cmp r0, 0x2
+ beq _080B2C6E
+ cmp r0, 0x2
+ ble _080B2C66
+ cmp r0, 0x3
+ beq _080B2CA0
+ b _080B2CD4
+_080B2C66:
+ cmp r2, 0
+ blt _080B2CD4
+ adds r0, r2, 0
+ b _080B2D16
+_080B2C6E:
+ cmp r1, 0
+ beq _080B2C98
+ movs r2, 0x4
+ ldr r0, _080B2C9C @ =gSaveBlock1 + 0x2DFC
+ adds r4, r0, 0
+ adds r4, 0x60
+ adds r3, r0, 0
+ adds r3, 0x80
+_080B2C7E:
+ adds r1, r3, 0
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5,r6}
+ stm r1!, {r5,r6}
+ subs r4, 0x20
+ subs r3, 0x20
+ subs r2, 0x1
+ cmp r2, 0x2
+ bgt _080B2C7E
+_080B2C98:
+ movs r0, 0x2
+ b _080B2D16
+ .align 2, 0
+_080B2C9C: .4byte gSaveBlock1 + 0x2DFC
+_080B2CA0:
+ cmp r1, 0
+ beq _080B2CCA
+ movs r2, 0x7
+ ldr r0, _080B2CD0 @ =gSaveBlock1 + 0x2DFC
+ adds r4, r0, 0
+ adds r4, 0xC0
+ adds r3, r0, 0
+ adds r3, 0xE0
+_080B2CB0:
+ adds r1, r3, 0
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5,r7}
+ stm r1!, {r5,r7}
+ subs r4, 0x20
+ subs r3, 0x20
+ subs r2, 0x1
+ cmp r2, 0x5
+ bgt _080B2CB0
+_080B2CCA:
+ movs r0, 0x5
+ b _080B2D16
+ .align 2, 0
+_080B2CD0: .4byte gSaveBlock1 + 0x2DFC
+_080B2CD4:
+ ldr r0, _080B2CE8 @ =gUnknown_0203869C
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bhi _080B2D14
+ lsls r0, 2
+ ldr r1, _080B2CEC @ =_080B2CF0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080B2CE8: .4byte gUnknown_0203869C
+_080B2CEC: .4byte _080B2CF0
+ .align 2, 0
+_080B2CF0:
+ .4byte _080B2D04
+ .4byte _080B2D08
+ .4byte _080B2D0C
+ .4byte _080B2D10
+ .4byte _080B2D14
+_080B2D04:
+ movs r0, 0x8
+ b _080B2D16
+_080B2D08:
+ movs r0, 0x9
+ b _080B2D16
+_080B2D0C:
+ movs r0, 0xA
+ b _080B2D16
+_080B2D10:
+ movs r0, 0xB
+ b _080B2D16
+_080B2D14:
+ movs r0, 0xC
+_080B2D16:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80B2C4C
+
+ thumb_func_start sub_80B2D1C
+sub_80B2D1C: @ 80B2D1C
+ push {r4-r7,lr}
+ ldr r0, _080B2D48 @ =gSaveBlock1
+ ldr r4, _080B2D4C @ =gUnknown_083CC5D0
+ ldr r1, _080B2D50 @ =0x00002dfc
+ adds r3, r0, r1
+ movs r2, 0x7
+_080B2D28:
+ adds r1, r3, 0
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5,r6}
+ stm r1!, {r5,r6}
+ adds r4, 0x20
+ adds r3, 0x20
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080B2D28
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2D48: .4byte gSaveBlock1
+_080B2D4C: .4byte gUnknown_083CC5D0
+_080B2D50: .4byte 0x00002dfc
+ thumb_func_end sub_80B2D1C
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item.s b/asm/item.s
new file mode 100644
index 000000000..7616abe97
--- /dev/null
+++ b/asm/item.s
@@ -0,0 +1,1308 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start CopyItemName
+CopyItemName: @ 80A9224
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xAF
+ bne _080A924C
+ movs r0, 0x2B
+ bl GetBerryInfo
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl StringCopy
+ ldr r1, _080A9248 @ =gOtherText_Berry2
+ adds r0, r4, 0
+ bl StringAppend
+ b _080A9258
+ .align 2, 0
+_080A9248: .4byte gOtherText_Berry2
+_080A924C:
+ bl ItemId_GetItem
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl StringCopy
+_080A9258:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end CopyItemName
+
+ thumb_func_start CountUsedBagPocketSlots
+CountUsedBagPocketSlots: @ 80A9260
+ push {lr}
+ lsls r0, 24
+ movs r2, 0
+ ldr r1, _080A9284 @ =gBagPockets
+ lsrs r0, 21
+ adds r0, r1
+ ldrb r1, [r0, 0x4]
+ cmp r2, r1
+ bcs _080A9292
+ ldr r3, [r0]
+_080A9274:
+ lsls r0, r2, 2
+ adds r0, r3
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080A9288
+ lsls r0, r2, 24
+ asrs r0, 24
+ b _080A9296
+ .align 2, 0
+_080A9284: .4byte gBagPockets
+_080A9288:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r1
+ bcc _080A9274
+_080A9292:
+ movs r0, 0x1
+ negs r0, r0
+_080A9296:
+ pop {r1}
+ bx r1
+ thumb_func_end CountUsedBagPocketSlots
+
+ thumb_func_start IsBagPocketNonEmpty
+IsBagPocketNonEmpty: @ 80A929C
+ push {lr}
+ lsls r0, 24
+ movs r2, 0
+ ldr r1, _080A92C0 @ =gBagPockets
+ lsrs r0, 21
+ subs r0, 0x8
+ adds r0, r1
+ ldrb r1, [r0, 0x4]
+ cmp r2, r1
+ bcs _080A92CE
+ ldr r3, [r0]
+_080A92B2:
+ lsls r0, r2, 2
+ adds r0, r3
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _080A92C4
+ movs r0, 0x1
+ b _080A92D0
+ .align 2, 0
+_080A92C0: .4byte gBagPockets
+_080A92C4:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r1
+ bcc _080A92B2
+_080A92CE:
+ movs r0, 0
+_080A92D0:
+ pop {r1}
+ bx r1
+ thumb_func_end IsBagPocketNonEmpty
+
+ thumb_func_start CheckBagHasItem
+CheckBagHasItem: @ 80A92D4
+ push {r4-r7,lr}
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ adds r0, r5, 0
+ bl ItemId_GetPocket
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A92F0
+ b _080A9336
+_080A92EC:
+ movs r0, 0x1
+ b _080A9338
+_080A92F0:
+ adds r0, r5, 0
+ bl ItemId_GetPocket
+ subs r0, 0x1
+ lsls r0, 24
+ movs r3, 0
+ ldr r6, _080A9340 @ =gBagPockets
+ lsrs r2, r0, 21
+ adds r0, r2, r6
+ ldrb r0, [r0, 0x4]
+ cmp r3, r0
+ bcs _080A9336
+ adds r7, r6, 0
+_080A930A:
+ adds r0, r2, r7
+ ldr r1, [r0]
+ lsls r0, r3, 2
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, r5
+ bne _080A9328
+ ldrh r0, [r1, 0x2]
+ cmp r0, r4
+ bcs _080A92EC
+ subs r0, r4, r0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0
+ beq _080A92EC
+_080A9328:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r2, r6
+ ldrb r0, [r0, 0x4]
+ cmp r3, r0
+ bcc _080A930A
+_080A9336:
+ movs r0, 0
+_080A9338:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9340: .4byte gBagPockets
+ thumb_func_end CheckBagHasItem
+
+ thumb_func_start CheckBagHasSpace
+CheckBagHasSpace: @ 80A9344
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ adds r0, r6, 0
+ bl ItemId_GetPocket
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A9408
+ adds r0, r6, 0
+ bl ItemId_GetPocket
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r5, _080A940C @ =0x000003e7
+ cmp r1, 0x3
+ beq _080A9376
+ movs r5, 0x63
+_080A9376:
+ movs r3, 0
+ ldr r0, _080A9410 @ =gBagPockets
+ mov r8, r0
+ lsls r2, r1, 3
+ adds r0, r2, r0
+ mov r12, r8
+ mov r9, r2
+ ldrb r0, [r0, 0x4]
+ cmp r3, r0
+ bcs _080A93CA
+ mov r10, r12
+ subs r0, r1, 0x2
+ lsls r0, 24
+ lsrs r7, r0, 24
+_080A9392:
+ mov r1, r10
+ adds r0, r2, r1
+ ldr r1, [r0]
+ lsls r0, r3, 2
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, r6
+ bne _080A93BA
+ ldrh r1, [r1, 0x2]
+ adds r0, r1, r4
+ cmp r0, r5
+ ble _080A9414
+ cmp r7, 0x1
+ bls _080A9408
+ subs r0, r5, r1
+ subs r0, r4, r0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0
+ beq _080A9414
+_080A93BA:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ mov r1, r8
+ adds r0, r2, r1
+ ldrb r0, [r0, 0x4]
+ cmp r3, r0
+ bcc _080A9392
+_080A93CA:
+ cmp r4, 0
+ beq _080A9414
+ movs r3, 0
+ mov r6, r12
+ mov r2, r9
+ adds r0, r2, r6
+ ldrb r0, [r0, 0x4]
+ cmp r3, r0
+ bcs _080A9404
+ adds r7, r6, 0
+_080A93DE:
+ adds r0, r2, r7
+ ldr r1, [r0]
+ lsls r0, r3, 2
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080A93F6
+ cmp r4, r5
+ bls _080A9414
+ subs r0, r4, r5
+ lsls r0, 16
+ lsrs r4, r0, 16
+_080A93F6:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r2, r6
+ ldrb r0, [r0, 0x4]
+ cmp r3, r0
+ bcc _080A93DE
+_080A9404:
+ cmp r4, 0
+ beq _080A9414
+_080A9408:
+ movs r0, 0
+ b _080A9416
+ .align 2, 0
+_080A940C: .4byte 0x000003e7
+_080A9410: .4byte gBagPockets
+_080A9414:
+ movs r0, 0x1
+_080A9416:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end CheckBagHasSpace
+
+ thumb_func_start AddBagItem
+AddBagItem: @ 80A9424
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x100
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ lsls r1, 16
+ lsrs r4, r1, 16
+ bl ItemId_GetPocket
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A9510
+ mov r0, r8
+ bl ItemId_GetPocket
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _080A94F8 @ =gBagPockets
+ lsls r0, r6, 3
+ adds r5, r0, r1
+ ldr r1, [r5]
+ ldrb r2, [r5, 0x4]
+ lsls r2, 2
+ mov r0, sp
+ bl memcpy
+ ldr r7, _080A94FC @ =0x000003e7
+ cmp r6, 0x3
+ beq _080A9468
+ movs r7, 0x63
+_080A9468:
+ movs r1, 0
+ ldrb r0, [r5, 0x4]
+ cmp r1, r0
+ bcs _080A94B2
+ subs r0, r6, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ mov r12, r0
+_080A9478:
+ lsls r0, r1, 2
+ mov r2, sp
+ adds r3, r2, r0
+ ldrh r0, [r3]
+ cmp r0, r8
+ bne _080A94A6
+ ldrh r2, [r3, 0x2]
+ adds r0, r2, r4
+ cmp r0, r7
+ ble _080A9500
+ mov r0, r12
+ cmp r0, 0x1
+ bls _080A9510
+ subs r0, r7, r2
+ subs r0, r4, r0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ strh r7, [r3, 0x2]
+ ldr r2, _080A94F8 @ =gBagPockets
+ mov r9, r2
+ lsls r3, r6, 3
+ cmp r4, 0
+ beq _080A9516
+_080A94A6:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldrb r0, [r5, 0x4]
+ cmp r1, r0
+ bcc _080A9478
+_080A94B2:
+ ldr r2, _080A94F8 @ =gBagPockets
+ mov r9, r2
+ lsls r3, r6, 3
+ cmp r4, 0
+ beq _080A9516
+ movs r1, 0
+ adds r0, r3, r2
+ ldrb r0, [r0, 0x4]
+ cmp r1, r0
+ bcs _080A94F2
+ mov r6, r9
+ adds r5, r3, r6
+_080A94CA:
+ lsls r0, r1, 2
+ mov r6, sp
+ adds r2, r6, r0
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _080A94E6
+ mov r0, r8
+ strh r0, [r2]
+ cmp r4, r7
+ bls _080A9514
+ subs r0, r4, r7
+ lsls r0, 16
+ lsrs r4, r0, 16
+ strh r7, [r2, 0x2]
+_080A94E6:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldrb r2, [r5, 0x4]
+ cmp r1, r2
+ bcc _080A94CA
+_080A94F2:
+ cmp r4, 0
+ beq _080A9516
+ b _080A9510
+ .align 2, 0
+_080A94F8: .4byte gBagPockets
+_080A94FC: .4byte 0x000003e7
+_080A9500:
+ strh r0, [r3, 0x2]
+ ldr r0, _080A950C @ =gBagPockets
+ lsls r1, r6, 3
+ adds r1, r0
+ b _080A951A
+ .align 2, 0
+_080A950C: .4byte gBagPockets
+_080A9510:
+ movs r0, 0
+ b _080A9528
+_080A9514:
+ strh r4, [r2, 0x2]
+_080A9516:
+ mov r6, r9
+ adds r1, r3, r6
+_080A951A:
+ ldr r0, [r1]
+ ldrb r2, [r1, 0x4]
+ lsls r2, 2
+ mov r1, sp
+ bl memcpy
+ movs r0, 0x1
+_080A9528:
+ add sp, 0x100
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end AddBagItem
+
+ thumb_func_start RemoveBagItem
+RemoveBagItem: @ 80A9538
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ movs r7, 0
+ adds r0, r6, 0
+ bl ItemId_GetPocket
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A959E
+ cmp r6, 0
+ beq _080A959E
+ adds r0, r6, 0
+ bl ItemId_GetPocket
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r12, r0
+ movs r5, 0
+ ldr r1, _080A95A4 @ =gBagPockets
+ lsls r2, r0, 3
+ adds r0, r2, r1
+ ldrb r0, [r0, 0x4]
+ cmp r5, r0
+ bcs _080A959A
+ mov r8, r1
+_080A9576:
+ mov r0, r8
+ adds r3, r2, r0
+ ldr r0, [r3]
+ lsls r1, r5, 2
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, r6
+ bne _080A958E
+ ldrh r0, [r1, 0x2]
+ adds r0, r7, r0
+ lsls r0, 16
+ lsrs r7, r0, 16
+_080A958E:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrb r3, [r3, 0x4]
+ cmp r5, r3
+ bcc _080A9576
+_080A959A:
+ cmp r7, r4
+ bcs _080A95A8
+_080A959E:
+ movs r0, 0
+ b _080A9664
+ .align 2, 0
+_080A95A4: .4byte gBagPockets
+_080A95A8:
+ ldr r0, _080A95DC @ =gBagPockets
+ mov r2, r12
+ lsls r1, r2, 3
+ adds r5, r1, r0
+ ldr r2, _080A95E0 @ =gUnknown_02038560
+ ldrb r3, [r5, 0x4]
+ mov r8, r0
+ adds r7, r1, 0
+ ldrb r0, [r2]
+ cmp r3, r0
+ bls _080A9606
+ ldrb r0, [r2]
+ ldr r1, [r5]
+ lsls r0, 2
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, r6
+ bne _080A9606
+ ldrh r0, [r1, 0x2]
+ cmp r0, r4
+ bcc _080A95E4
+ subs r0, r4
+ strh r0, [r1, 0x2]
+ movs r4, 0
+ b _080A95EE
+ .align 2, 0
+_080A95DC: .4byte gBagPockets
+_080A95E0: .4byte gUnknown_02038560
+_080A95E4:
+ subs r0, r4, r0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r0, 0
+ strh r0, [r1, 0x2]
+_080A95EE:
+ mov r1, r8
+ adds r0, r7, r1
+ ldrb r1, [r2]
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1, 0x2]
+ cmp r0, 0
+ bne _080A9602
+ strh r0, [r1]
+_080A9602:
+ cmp r4, 0
+ beq _080A9662
+_080A9606:
+ movs r5, 0
+ adds r1, r7, 0
+ mov r2, r8
+ adds r0, r1, r2
+ ldrb r2, [r0, 0x4]
+ cmp r5, r2
+ bcs _080A9662
+ mov r12, r8
+ adds r3, r0, 0
+_080A9618:
+ mov r2, r12
+ adds r0, r1, r2
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ adds r2, r1, r0
+ ldrh r0, [r2]
+ cmp r0, r6
+ bne _080A9650
+ ldrh r0, [r2, 0x2]
+ cmp r0, r4
+ bcc _080A9636
+ subs r0, r4
+ strh r0, [r2, 0x2]
+ movs r4, 0
+ b _080A9640
+_080A9636:
+ subs r0, r4, r0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r0, 0
+ strh r0, [r2, 0x2]
+_080A9640:
+ ldr r0, [r3]
+ adds r1, r0
+ ldrh r0, [r1, 0x2]
+ cmp r0, 0
+ bne _080A964C
+ strh r0, [r1]
+_080A964C:
+ cmp r4, 0
+ beq _080A9662
+_080A9650:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r1, r7, 0
+ mov r2, r8
+ adds r0, r1, r2
+ ldrb r0, [r0, 0x4]
+ cmp r5, r0
+ bcc _080A9618
+_080A9662:
+ movs r0, 0x1
+_080A9664:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end RemoveBagItem
+
+ thumb_func_start GetPocketByItemId
+GetPocketByItemId: @ 80A9670
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ bl ItemId_GetPocket
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end GetPocketByItemId
+
+ thumb_func_start ClearItemSlots
+ClearItemSlots: @ 80A9684
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ movs r2, 0
+ lsrs r1, 24
+ cmp r2, r1
+ bcs _080A96A6
+ movs r3, 0
+_080A9694:
+ lsls r0, r2, 2
+ adds r0, r4
+ strh r3, [r0]
+ strh r3, [r0, 0x2]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, r1
+ bcc _080A9694
+_080A96A6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end ClearItemSlots
+
+ thumb_func_start FindFreePCItemSlot
+FindFreePCItemSlot: @ 80A96AC
+ push {lr}
+ movs r1, 0
+ ldr r3, _080A96CC @ =gSaveBlock1
+ movs r2, 0x93
+ lsls r2, 3
+_080A96B6:
+ lsls r0, r1, 24
+ asrs r1, r0, 24
+ lsls r0, r1, 2
+ adds r0, r3
+ adds r0, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080A96D0
+ adds r0, r1, 0
+ b _080A96E0
+ .align 2, 0
+_080A96CC: .4byte gSaveBlock1
+_080A96D0:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ asrs r0, 24
+ cmp r0, 0x31
+ ble _080A96B6
+ movs r0, 0x1
+ negs r0, r0
+_080A96E0:
+ pop {r1}
+ bx r1
+ thumb_func_end FindFreePCItemSlot
+
+ thumb_func_start CountUsedPCItemSlots
+CountUsedPCItemSlots: @ 80A96E4
+ push {r4,lr}
+ movs r2, 0
+ movs r1, 0
+ ldr r4, _080A9714 @ =gSaveBlock1
+ movs r3, 0x93
+ lsls r3, 3
+_080A96F0:
+ lsls r0, r1, 2
+ adds r0, r4
+ adds r0, r3
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _080A9702
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+_080A9702:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x31
+ bls _080A96F0
+ adds r0, r2, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9714: .4byte gSaveBlock1
+ thumb_func_end CountUsedPCItemSlots
+
+ thumb_func_start CheckPCHasItem
+CheckPCHasItem: @ 80A9718
+ push {r4-r7,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ movs r3, 0
+ ldr r7, _080A9744 @ =gSaveBlock1
+ movs r6, 0x93
+ lsls r6, 3
+ ldr r5, _080A9748 @ =0x0000049a
+_080A972C:
+ lsls r0, r3, 2
+ adds r2, r0, r7
+ adds r0, r2, r6
+ ldrh r0, [r0]
+ cmp r0, r4
+ bne _080A974C
+ adds r0, r2, r5
+ ldrh r0, [r0]
+ cmp r0, r1
+ bcc _080A974C
+ movs r0, 0x1
+ b _080A9758
+ .align 2, 0
+_080A9744: .4byte gSaveBlock1
+_080A9748: .4byte 0x0000049a
+_080A974C:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x31
+ bls _080A972C
+ movs r0, 0
+_080A9758:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end CheckPCHasItem
+
+ thumb_func_start AddPCItem
+AddPCItem: @ 80A9760
+ push {r4-r7,lr}
+ sub sp, 0xC8
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ ldr r1, _080A97C4 @ =gSaveBlock1 + 0x498
+ mov r0, sp
+ movs r2, 0xC8
+ bl memcpy
+ movs r5, 0
+ ldr r0, _080A97C8 @ =0x0000fc19
+ adds r7, r0, 0
+_080A977C:
+ lsls r0, r5, 2
+ mov r1, sp
+ adds r2, r1, r0
+ ldrh r0, [r2]
+ cmp r0, r6
+ bne _080A97A0
+ ldrh r1, [r2, 0x2]
+ adds r0, r1, r4
+ ldr r3, _080A97CC @ =0x000003e7
+ cmp r0, r3
+ ble _080A97D0
+ adds r0, r4, r7
+ adds r0, r1, r0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ strh r3, [r2, 0x2]
+ cmp r4, 0
+ beq _080A97DC
+_080A97A0:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x31
+ bls _080A977C
+ cmp r4, 0
+ beq _080A97DC
+ bl FindFreePCItemSlot
+ lsls r0, 24
+ asrs r1, r0, 24
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ bne _080A97D4
+ movs r0, 0
+ b _080A97E8
+ .align 2, 0
+_080A97C4: .4byte gSaveBlock1 + 0x498
+_080A97C8: .4byte 0x0000fc19
+_080A97CC: .4byte 0x000003e7
+_080A97D0:
+ strh r0, [r2, 0x2]
+ b _080A97DC
+_080A97D4:
+ lsls r0, r1, 2
+ add r0, sp
+ strh r6, [r0]
+ strh r4, [r0, 0x2]
+_080A97DC:
+ ldr r0, _080A97F0 @ =gSaveBlock1 + 0x498
+ mov r1, sp
+ movs r2, 0xC8
+ bl memcpy
+ movs r0, 0x1
+_080A97E8:
+ add sp, 0xC8
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A97F0: .4byte gSaveBlock1 + 0x498
+ thumb_func_end AddPCItem
+
+ thumb_func_start RemovePCItem
+RemovePCItem: @ 80A97F4
+ push {lr}
+ lsls r0, 24
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, _080A9824 @ =gSaveBlock1
+ lsrs r0, 22
+ adds r3, r0, r2
+ ldr r0, _080A9828 @ =0x0000049a
+ adds r2, r3, r0
+ ldrh r0, [r2]
+ subs r0, r1
+ strh r0, [r2]
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _080A9820
+ movs r2, 0x93
+ lsls r2, 3
+ adds r0, r3, r2
+ strh r1, [r0]
+ bl CompactPCItems
+_080A9820:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9824: .4byte gSaveBlock1
+_080A9828: .4byte 0x0000049a
+ thumb_func_end RemovePCItem
+
+ thumb_func_start CompactPCItems
+CompactPCItems: @ 80A982C
+ push {r4-r7,lr}
+ movs r2, 0
+ ldr r0, _080A987C @ =gSaveBlock1
+ mov r12, r0
+_080A9834:
+ adds r1, r2, 0x1
+ lsls r0, r1, 16
+ lsrs r3, r0, 16
+ adds r7, r1, 0
+ cmp r3, 0x31
+ bhi _080A986C
+ lsls r1, r2, 2
+ mov r2, r12
+ adds r0, r1, r2
+ movs r2, 0x93
+ lsls r2, 3
+ adds r5, r0, r2
+ ldr r6, _080A9880 @ =gSaveBlock1 + 0x498
+ adds r4, r1, r6
+_080A9850:
+ ldrh r0, [r5]
+ cmp r0, 0
+ bne _080A9862
+ ldr r2, [r4]
+ lsls r1, r3, 2
+ adds r1, r6
+ ldr r0, [r1]
+ str r0, [r4]
+ str r2, [r1]
+_080A9862:
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x31
+ bls _080A9850
+_080A986C:
+ lsls r0, r7, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x30
+ bls _080A9834
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A987C: .4byte gSaveBlock1
+_080A9880: .4byte gSaveBlock1 + 0x498
+ thumb_func_end CompactPCItems
+
+ thumb_func_start SwapRegisteredBike
+SwapRegisteredBike: @ 80A9884
+ push {lr}
+ ldr r0, _080A98A0 @ =gSaveBlock1
+ ldr r1, _080A98A4 @ =0x00000496
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ ldr r3, _080A98A8 @ =0x00000103
+ cmp r1, r3
+ beq _080A98AC
+ movs r0, 0x88
+ lsls r0, 1
+ cmp r1, r0
+ beq _080A98B4
+ b _080A98B6
+ .align 2, 0
+_080A98A0: .4byte gSaveBlock1
+_080A98A4: .4byte 0x00000496
+_080A98A8: .4byte 0x00000103
+_080A98AC:
+ movs r0, 0x88
+ lsls r0, 1
+ strh r0, [r2]
+ b _080A98B6
+_080A98B4:
+ strh r3, [r2]
+_080A98B6:
+ pop {r0}
+ bx r0
+ thumb_func_end SwapRegisteredBike
+
+ thumb_func_start SanitizeItemId
+SanitizeItemId: @ 80A98BC
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ movs r0, 0xAE
+ lsls r0, 1
+ cmp r1, r0
+ bhi _080A98CE
+ adds r0, r1, 0
+ b _080A98D0
+_080A98CE:
+ movs r0, 0
+_080A98D0:
+ pop {r1}
+ bx r1
+ thumb_func_end SanitizeItemId
+
+ thumb_func_start ItemId_GetItem
+ItemId_GetItem: @ 80A98D4
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ ldr r1, _080A98F0 @ =gItems
+ adds r0, r1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A98F0: .4byte gItems
+ thumb_func_end ItemId_GetItem
+
+ thumb_func_start ItemId_GetId
+ItemId_GetId: @ 80A98F4
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9914 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ ldrh r0, [r0, 0xE]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9914: .4byte gItems
+ thumb_func_end ItemId_GetId
+
+ thumb_func_start ItemId_GetPrice
+ItemId_GetPrice: @ 80A9918
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9938 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ ldrh r0, [r0, 0x10]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9938: .4byte gItems
+ thumb_func_end ItemId_GetPrice
+
+ thumb_func_start ItemId_GetHoldEffect
+ItemId_GetHoldEffect: @ 80A993C
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A995C @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ ldrb r0, [r0, 0x12]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A995C: .4byte gItems
+ thumb_func_end ItemId_GetHoldEffect
+
+ thumb_func_start ItemId_GetHoldEffectParam
+ItemId_GetHoldEffectParam: @ 80A9960
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9980 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ ldrb r0, [r0, 0x13]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9980: .4byte gItems
+ thumb_func_end ItemId_GetHoldEffectParam
+
+ thumb_func_start ItemId_GetDescription
+ItemId_GetDescription: @ 80A9984
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A99A4 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r4, 0x14
+ adds r0, r4
+ ldr r0, [r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A99A4: .4byte gItems
+ thumb_func_end ItemId_GetDescription
+
+ thumb_func_start ItemId_CopyDescription
+ItemId_CopyDescription: @ 80A99A8
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ adds r0, r1, 0
+ adds r5, r2, 0x1
+ ldr r4, _080A99E4 @ =gItems
+ lsls r0, 16
+ lsrs r0, 16
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r4, 0x14
+ adds r0, r4
+ ldr r3, [r0]
+ adds r2, r6, 0
+_080A99CA:
+ ldrb r1, [r3]
+ adds r0, r1, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080A99FA
+ subs r5, 0x1
+ cmp r5, 0
+ bne _080A99E8
+ movs r0, 0xFF
+ strb r0, [r2]
+ movs r0, 0x1
+ b _080A9A02
+ .align 2, 0
+_080A99E4: .4byte gItems
+_080A99E8:
+ lsls r0, r1, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ bne _080A99F4
+ movs r0, 0
+ b _080A9A02
+_080A99F4:
+ adds r2, r6, 0
+ adds r3, 0x1
+ b _080A99CA
+_080A99FA:
+ strb r1, [r2]
+ adds r3, 0x1
+ adds r2, 0x1
+ b _080A99CA
+_080A9A02:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end ItemId_CopyDescription
+
+ thumb_func_start ItemId_GetImportance
+ItemId_GetImportance: @ 80A9A08
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9A28 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ ldrb r0, [r0, 0x18]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9A28: .4byte gItems
+ thumb_func_end ItemId_GetImportance
+
+ thumb_func_start ItemId_GetUnknownValue
+ItemId_GetUnknownValue: @ 80A9A2C
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9A4C @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ ldrb r0, [r0, 0x19]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9A4C: .4byte gItems
+ thumb_func_end ItemId_GetUnknownValue
+
+ thumb_func_start ItemId_GetPocket
+ItemId_GetPocket: @ 80A9A50
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9A70 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ ldrb r0, [r0, 0x1A]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9A70: .4byte gItems
+ thumb_func_end ItemId_GetPocket
+
+ thumb_func_start ItemId_GetType
+ItemId_GetType: @ 80A9A74
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9A94 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ ldrb r0, [r0, 0x1B]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9A94: .4byte gItems
+ thumb_func_end ItemId_GetType
+
+ thumb_func_start ItemId_GetFieldFunc
+ItemId_GetFieldFunc: @ 80A9A98
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9AB8 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r4, 0x1C
+ adds r0, r4
+ ldr r0, [r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9AB8: .4byte gItems
+ thumb_func_end ItemId_GetFieldFunc
+
+ thumb_func_start ItemId_GetBattleUsage
+ItemId_GetBattleUsage: @ 80A9ABC
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9ADC @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ adds r0, 0x20
+ ldrb r0, [r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9ADC: .4byte gItems
+ thumb_func_end ItemId_GetBattleUsage
+
+ thumb_func_start ItemId_GetBattleFunc
+ItemId_GetBattleFunc: @ 80A9AE0
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9B00 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r4, 0x24
+ adds r0, r4
+ ldr r0, [r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9B00: .4byte gItems
+ thumb_func_end ItemId_GetBattleFunc
+
+ thumb_func_start ItemId_GetSecondaryId
+ItemId_GetSecondaryId: @ 80A9B04
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _080A9B24 @ =gItems
+ bl SanitizeItemId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x2C
+ muls r0, r1
+ adds r0, r4
+ adds r0, 0x28
+ ldrb r0, [r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9B24: .4byte gItems
+ thumb_func_end ItemId_GetSecondaryId
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_menu.s b/asm/item_menu.s
new file mode 100644
index 000000000..d35feb54f
--- /dev/null
+++ b/asm/item_menu.s
@@ -0,0 +1,9869 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80A3118
+sub_80A3118: @ 80A3118
+ push {lr}
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl RunTasks
+ bl sub_80A740C
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A3118
+
+ thumb_func_start sub_80A3134
+sub_80A3134: @ 80A3134
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ ldr r1, _080A3168 @ =gBG1TilemapBuffer
+ ldr r2, _080A316C @ =0x06002000
+ ldr r0, _080A3170 @ =0x040000d4
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ ldr r3, _080A3174 @ =0x80000400
+ str r3, [r0, 0x8]
+ ldr r2, [r0, 0x8]
+ movs r2, 0x80
+ lsls r2, 4
+ adds r1, r2
+ ldr r2, _080A3178 @ =0x06006000
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ str r3, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3168: .4byte gBG1TilemapBuffer
+_080A316C: .4byte 0x06002000
+_080A3170: .4byte 0x040000d4
+_080A3174: .4byte 0x80000400
+_080A3178: .4byte 0x06006000
+ thumb_func_end sub_80A3134
+
+ thumb_func_start sub_80A317C
+sub_80A317C: @ 80A317C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r0, _080A3198 @ =gMain
+ ldr r1, _080A319C @ =0x0000043c
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x10
+ bls _080A318E
+ b _080A34A8
+_080A318E:
+ lsls r0, 2
+ ldr r1, _080A31A0 @ =_080A31A4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080A3198: .4byte gMain
+_080A319C: .4byte 0x0000043c
+_080A31A0: .4byte _080A31A4
+ .align 2, 0
+_080A31A4:
+ .4byte _080A31E8
+ .4byte _080A31F2
+ .4byte _080A3208
+ .4byte _080A320E
+ .4byte _080A3228
+ .4byte _080A324C
+ .4byte _080A3252
+ .4byte _080A3270
+ .4byte _080A327C
+ .4byte _080A3298
+ .4byte _080A32A4
+ .4byte _080A3328
+ .4byte _080A338C
+ .4byte _080A33F4
+ .4byte _080A3404
+ .4byte _080A345C
+ .4byte _080A347C
+_080A31E8:
+ bl sub_80F9438
+ bl sub_80A34E8
+ b _080A3464
+_080A31F2:
+ bl remove_some_task
+ ldr r1, _080A3200 @ =gMain
+ ldr r0, _080A3204 @ =0x0000043c
+ adds r1, r0
+ b _080A346A
+ .align 2, 0
+_080A3200: .4byte gMain
+_080A3204: .4byte 0x0000043c
+_080A3208:
+ bl gpu_pal_allocator_reset__manage_upper_four
+ b _080A3464
+_080A320E:
+ bl sub_80F9020
+ ldr r0, _080A3220 @ =0x02000000
+ ldr r1, _080A3224 @ =0x0001ffff
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ b _080A3464
+ .align 2, 0
+_080A3220: .4byte 0x02000000
+_080A3224: .4byte 0x0001ffff
+_080A3228:
+ bl ResetPaletteFade
+ ldr r2, _080A3240 @ =gPaletteFade
+ ldrb r0, [r2, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x8]
+ ldr r1, _080A3244 @ =gMain
+ ldr r0, _080A3248 @ =0x0000043c
+ adds r1, r0
+ b _080A346A
+ .align 2, 0
+_080A3240: .4byte gPaletteFade
+_080A3244: .4byte gMain
+_080A3248: .4byte 0x0000043c
+_080A324C:
+ bl ResetSpriteData
+ b _080A3464
+_080A3252:
+ bl sub_80A3520
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A325E
+ b _080A34A8
+_080A325E:
+ ldr r1, _080A3268 @ =gMain
+ ldr r0, _080A326C @ =0x0000043c
+ adds r1, r0
+ b _080A346A
+ .align 2, 0
+_080A3268: .4byte gMain
+_080A326C: .4byte 0x0000043c
+_080A3270:
+ ldr r0, _080A3278 @ =gWindowConfig_81E6DFC
+ bl SetUpWindowConfig
+ b _080A3464
+ .align 2, 0
+_080A3278: .4byte gWindowConfig_81E6DFC
+_080A327C:
+ ldr r0, _080A328C @ =gWindowConfig_81E6DFC
+ bl MultistepInitMenuWindowBegin
+ ldr r1, _080A3290 @ =gMain
+ ldr r0, _080A3294 @ =0x0000043c
+ adds r1, r0
+ b _080A346A
+ .align 2, 0
+_080A328C: .4byte gWindowConfig_81E6DFC
+_080A3290: .4byte gMain
+_080A3294: .4byte 0x0000043c
+_080A3298:
+ bl MultistepInitMenuWindowContinue
+ cmp r0, 0
+ bne _080A32A2
+ b _080A34A8
+_080A32A2:
+ b _080A3464
+_080A32A4:
+ bl sub_80F944C
+ bl LoadScrollIndicatorPalette
+ movs r0, 0
+ movs r1, 0xAC
+ movs r2, 0xC
+ bl CreateVerticalScrollIndicators
+ movs r0, 0x1
+ movs r1, 0xAC
+ movs r2, 0x94
+ bl CreateVerticalScrollIndicators
+ movs r0, 0x2
+ movs r1, 0x1C
+ movs r2, 0x58
+ bl CreateVerticalScrollIndicators
+ movs r0, 0x3
+ movs r1, 0x64
+ movs r2, 0x58
+ bl CreateVerticalScrollIndicators
+ movs r0, 0
+ movs r1, 0x2
+ bl sub_80F9988
+ movs r0, 0x1
+ movs r1, 0x2
+ bl sub_80F9988
+ movs r0, 0x2
+ movs r1, 0x2
+ bl sub_80F9988
+ movs r0, 0x3
+ movs r1, 0x2
+ bl sub_80F9988
+ ldr r0, _080A331C @ =gUnknown_03000701
+ ldrb r0, [r0]
+ subs r0, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080A3312
+ movs r0, 0x2
+ movs r1, 0x1
+ bl sub_80F979C
+ movs r0, 0x3
+ movs r1, 0x1
+ bl sub_80F979C
+_080A3312:
+ ldr r1, _080A3320 @ =gMain
+ ldr r0, _080A3324 @ =0x0000043c
+ adds r1, r0
+ b _080A346A
+ .align 2, 0
+_080A331C: .4byte gUnknown_03000701
+_080A3320: .4byte gMain
+_080A3324: .4byte 0x0000043c
+_080A3328:
+ ldr r1, _080A3378 @ =gUnknown_0203855A
+ movs r0, 0x10
+ strb r0, [r1]
+ ldr r4, _080A337C @ =gBG2TilemapBuffer
+ ldr r5, _080A3380 @ =gUnknown_02038559
+ ldrb r1, [r5]
+ adds r1, 0x1
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl sub_80A39B8
+ ldrb r1, [r5]
+ adds r0, r4, 0
+ bl sub_80A3AC0
+ bl sub_80A3D08
+ ldr r4, _080A3384 @ =gBagPockets
+ ldr r0, [r4, 0x10]
+ ldr r1, [r4, 0x14]
+ bl sub_80A3C34
+ ldr r0, [r4, 0x18]
+ ldr r1, [r4, 0x1C]
+ bl sub_80A3C34
+ bl sub_80A3D40
+ ldr r1, _080A3388 @ =gUnknown_03005D24
+ movs r0, 0
+ ldrsb r0, [r5, r0]
+ lsls r0, 3
+ adds r0, r4
+ ldr r0, [r0]
+ str r0, [r1]
+ bl sub_80A362C
+ b _080A3464
+ .align 2, 0
+_080A3378: .4byte gUnknown_0203855A
+_080A337C: .4byte gBG2TilemapBuffer
+_080A3380: .4byte gUnknown_02038559
+_080A3384: .4byte gBagPockets
+_080A3388: .4byte gUnknown_03005D24
+_080A338C:
+ ldr r0, _080A33D4 @ =0x0000ffff
+ movs r1, 0
+ movs r2, 0x7
+ bl sub_80A48E8
+ ldr r1, _080A33D8 @ =gUnknown_03005D10
+ ldr r4, _080A33DC @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r4, r0]
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _080A33E0 @ =gUnknown_03005D24
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ bl ItemListMenu_InitDescription
+ bl ItemListMenu_InitMenu
+ ldr r1, _080A33E4 @ =gUnknown_0203855B
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r1, _080A33E8 @ =gUnknown_0203855C
+ movs r0, 0
+ strb r0, [r1]
+ ldr r1, _080A33EC @ =gMain
+ ldr r0, _080A33F0 @ =0x0000043c
+ adds r1, r0
+ b _080A346A
+ .align 2, 0
+_080A33D4: .4byte 0x0000ffff
+_080A33D8: .4byte gUnknown_03005D10
+_080A33DC: .4byte gUnknown_02038559
+_080A33E0: .4byte gUnknown_03005D24
+_080A33E4: .4byte gUnknown_0203855B
+_080A33E8: .4byte gUnknown_0203855C
+_080A33EC: .4byte gMain
+_080A33F0: .4byte 0x0000043c
+_080A33F4:
+ bl CreateBagSprite
+ movs r0, 0
+ bl CreateBagPokeballSprite
+ bl sub_80A3740
+ b _080A3464
+_080A3404:
+ ldr r3, _080A3444 @ =0x04000208
+ ldrh r2, [r3]
+ movs r0, 0
+ strh r0, [r3]
+ ldr r4, _080A3448 @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _080A344C @ =REG_DISPSTAT
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r2, _080A3450 @ =gPaletteFade
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ ldr r1, _080A3454 @ =gMain
+ ldr r0, _080A3458 @ =0x0000043c
+ adds r1, r0
+ b _080A346A
+ .align 2, 0
+_080A3444: .4byte 0x04000208
+_080A3448: .4byte 0x04000200
+_080A344C: .4byte REG_DISPSTAT
+_080A3450: .4byte gPaletteFade
+_080A3454: .4byte gMain
+_080A3458: .4byte 0x0000043c
+_080A345C:
+ bl sub_8055870
+ cmp r0, 0x1
+ beq _080A34A8
+_080A3464:
+ ldr r1, _080A3474 @ =gMain
+ ldr r2, _080A3478 @ =0x0000043c
+ adds r1, r2
+_080A346A:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _080A34A8
+ .align 2, 0
+_080A3474: .4byte gMain
+_080A3478: .4byte 0x0000043c
+_080A347C:
+ ldr r0, _080A34A0 @ =sub_80A3134
+ bl SetVBlankCallback
+ ldr r0, _080A34A4 @ =sub_80A3118
+ bl SetMainCallback2
+ bl sub_80A751C
+ bl sub_80A7630
+ bl sub_80A770C
+ bl sub_80A7828
+ bl sub_80A78B8
+ movs r0, 0x1
+ b _080A34AA
+ .align 2, 0
+_080A34A0: .4byte sub_80A3134
+_080A34A4: .4byte sub_80A3118
+_080A34A8:
+ movs r0, 0
+_080A34AA:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A317C
+
+ thumb_func_start sub_80A34B4
+sub_80A34B4: @ 80A34B4
+ push {lr}
+_080A34B6:
+ bl sub_80A317C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A34D2
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A34B6
+ movs r0, 0
+ b _080A34DE
+_080A34D2:
+ ldr r1, _080A34E4 @ =gUnknown_03000700
+ movs r0, 0
+ strb r0, [r1]
+ bl ResetTasks
+ movs r0, 0x1
+_080A34DE:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A34E4: .4byte gUnknown_03000700
+ thumb_func_end sub_80A34B4
+
+ thumb_func_start sub_80A34E8
+sub_80A34E8: @ 80A34E8
+ push {lr}
+ bl sub_80F9368
+ ldr r1, _080A3514 @ =REG_BG2CNT
+ ldr r2, _080A3518 @ =0x00000c06
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0x2
+ ldr r2, _080A351C @ =0x00000405
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xA
+ movs r2, 0xBA
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x50
+ movs r0, 0
+ strh r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3514: .4byte REG_BG2CNT
+_080A3518: .4byte 0x00000c06
+_080A351C: .4byte 0x00000405
+ thumb_func_end sub_80A34E8
+
+ thumb_func_start sub_80A3520
+sub_80A3520: @ 80A3520
+ push {lr}
+ ldr r0, _080A353C @ =0x02000000
+ ldr r1, _080A3540 @ =0x0001ffff
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bls _080A3530
+ b _080A3624
+_080A3530:
+ lsls r0, 2
+ ldr r1, _080A3544 @ =_080A3548
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080A353C: .4byte 0x02000000
+_080A3540: .4byte 0x0001ffff
+_080A3544: .4byte _080A3548
+ .align 2, 0
+_080A3548:
+ .4byte _080A355C
+ .4byte _080A3570
+ .4byte _080A3588
+ .4byte _080A35C0
+ .4byte _080A3604
+_080A355C:
+ ldr r0, _080A3568 @ =gBagScreen_Gfx
+ ldr r1, _080A356C @ =0x06004000
+ bl LZDecompressVram
+ b _080A35EA
+ .align 2, 0
+_080A3568: .4byte gBagScreen_Gfx
+_080A356C: .4byte 0x06004000
+_080A3570:
+ ldr r0, _080A3580 @ =gUnknown_08E77004
+ ldr r1, _080A3584 @ =gBG2TilemapBuffer
+ movs r2, 0x80
+ lsls r2, 3
+ bl CpuSet
+ b _080A35EA
+ .align 2, 0
+_080A3580: .4byte gUnknown_08E77004
+_080A3584: .4byte gBG2TilemapBuffer
+_080A3588:
+ ldr r0, _080A35A4 @ =gSaveBlock2
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ beq _080A3598
+ ldr r0, _080A35A8 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x7
+ bne _080A35B0
+_080A3598:
+ ldr r0, _080A35AC @ =gBagScreenMale_Pal
+ movs r1, 0
+ movs r2, 0x40
+ bl LoadCompressedPalette
+ b _080A35EA
+ .align 2, 0
+_080A35A4: .4byte gSaveBlock2
+_080A35A8: .4byte gUnknown_03000701
+_080A35AC: .4byte gBagScreenMale_Pal
+_080A35B0:
+ ldr r0, _080A35BC @ =gBagScreenFemale_Pal
+ movs r1, 0
+ movs r2, 0x40
+ bl LoadCompressedPalette
+ b _080A35EA
+ .align 2, 0
+_080A35BC: .4byte gBagScreenFemale_Pal
+_080A35C0:
+ ldr r0, _080A35D8 @ =gSaveBlock2
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ beq _080A35D0
+ ldr r0, _080A35DC @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x7
+ bne _080A35E4
+_080A35D0:
+ ldr r0, _080A35E0 @ =gUnknown_083C1CC8
+ bl LoadCompressedObjectPic
+ b _080A35EA
+ .align 2, 0
+_080A35D8: .4byte gSaveBlock2
+_080A35DC: .4byte gUnknown_03000701
+_080A35E0: .4byte gUnknown_083C1CC8
+_080A35E4:
+ ldr r0, _080A35F8 @ =gUnknown_083C1CD0
+ bl LoadCompressedObjectPic
+_080A35EA:
+ ldr r1, _080A35FC @ =0x02000000
+ ldr r0, _080A3600 @ =0x0001ffff
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _080A3624
+ .align 2, 0
+_080A35F8: .4byte gUnknown_083C1CD0
+_080A35FC: .4byte 0x02000000
+_080A3600: .4byte 0x0001ffff
+_080A3604:
+ ldr r0, _080A3618 @ =gUnknown_083C1CD8
+ bl LoadCompressedObjectPalette
+ ldr r0, _080A361C @ =0x02000000
+ ldr r1, _080A3620 @ =0x0001ffff
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ movs r0, 0x1
+ b _080A3626
+ .align 2, 0
+_080A3618: .4byte gUnknown_083C1CD8
+_080A361C: .4byte 0x02000000
+_080A3620: .4byte 0x0001ffff
+_080A3624:
+ movs r0, 0
+_080A3626:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A3520
+
+ thumb_func_start sub_80A362C
+sub_80A362C: @ 80A362C
+ push {r4-r6,lr}
+ movs r4, 0
+ ldr r6, _080A3648 @ =gUnknown_03000701
+ ldr r5, _080A364C @ =gUnknown_03005D10
+_080A3634:
+ ldrb r0, [r6]
+ cmp r0, 0x5
+ bne _080A3650
+ lsls r1, r4, 2
+ adds r0, r1, r5
+ ldrb r0, [r0, 0x2]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ b _080A3656
+ .align 2, 0
+_080A3648: .4byte gUnknown_03000701
+_080A364C: .4byte gUnknown_03005D10
+_080A3650:
+ lsls r1, r4, 2
+ adds r0, r1, r5
+ ldrb r3, [r0, 0x2]
+_080A3656:
+ adds r1, r5
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0
+ beq _080A366C
+ ldrb r2, [r1, 0x3]
+ adds r0, r2
+ cmp r0, r3
+ ble _080A3674
+ subs r0, r3, r2
+ strb r0, [r1, 0x1]
+ b _080A3674
+_080A366C:
+ ldrb r0, [r1]
+ cmp r0, r3
+ bls _080A3674
+ strb r3, [r1]
+_080A3674:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _080A3634
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A362C
+
+ thumb_func_start sub_80A3684
+sub_80A3684: @ 80A3684
+ push {r4,lr}
+ movs r2, 0
+ ldr r4, _080A36B0 @ =gUnknown_02038559
+ ldr r3, _080A36B4 @ =gUnknown_03005D10
+ movs r1, 0
+_080A368E:
+ lsls r0, r2, 2
+ adds r0, r3
+ strb r1, [r0]
+ strb r1, [r0, 0x1]
+ strb r1, [r0, 0x2]
+ strb r1, [r0, 0x3]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x4
+ bls _080A368E
+ movs r0, 0
+ strb r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A36B0: .4byte gUnknown_02038559
+_080A36B4: .4byte gUnknown_03005D10
+ thumb_func_end sub_80A3684
+
+ thumb_func_start sub_80A36B8
+sub_80A36B8: @ 80A36B8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ ldr r0, [sp, 0x18]
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ mov r12, r3
+ lsls r0, 24
+ lsrs r0, 24
+ lsrs r2, 24
+ adds r0, r2, r0
+ cmp r2, r0
+ bgt _080A370A
+ adds r7, r0, 0
+_080A36DE:
+ mov r1, r8
+ mov r3, r12
+ adds r0, r1, r3
+ adds r4, r2, 0x1
+ cmp r1, r0
+ bgt _080A3702
+ lsls r3, r2, 5
+ movs r5, 0
+ adds r2, r0, 0
+_080A36F0:
+ adds r0, r1, r3
+ lsls r0, 1
+ adds r0, r6
+ strh r5, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, r2
+ ble _080A36F0
+_080A3702:
+ lsls r0, r4, 16
+ lsrs r2, r0, 16
+ cmp r2, r7
+ ble _080A36DE
+_080A370A:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A36B8
+
+ thumb_func_start sub_80A3714
+sub_80A3714: @ 80A3714
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r5, _080A373C @ =gBagPockets
+_080A371A:
+ lsls r1, r4, 3
+ adds r1, r5
+ ldr r0, [r1]
+ ldrb r1, [r1, 0x4]
+ bl ClearItemSlots
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x4
+ bls _080A371A
+ bl sub_80A3684
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A373C: .4byte gBagPockets
+ thumb_func_end sub_80A3714
+
+ thumb_func_start sub_80A3740
+sub_80A3740: @ 80A3740
+ push {lr}
+ sub sp, 0x4
+ ldr r1, _080A376C @ =gUnknown_083C1704
+ mov r0, sp
+ movs r2, 0x4
+ bl memcpy
+ mov r0, sp
+ adds r0, 0x2
+ movs r1, 0xD1
+ movs r2, 0x2
+ bl LoadPalette
+ mov r0, sp
+ movs r1, 0xD8
+ movs r2, 0x2
+ bl LoadPalette
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A376C: .4byte gUnknown_083C1704
+ thumb_func_end sub_80A3740
+
+ thumb_func_start sub_80A3770
+sub_80A3770: @ 80A3770
+ push {lr}
+ ldr r0, _080A379C @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080A37B6
+ ldr r3, _080A37A0 @ =gUnknown_03000704
+ ldr r2, _080A37A4 @ =gUnknown_02038559
+ movs r1, 0
+ ldrsb r1, [r2, r1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 1
+ ldr r1, _080A37A8 @ =gUnknown_083C1690
+ adds r0, r1
+ str r0, [r3]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ cmp r0, 0x3
+ beq _080A37B0
+ ldr r1, _080A37AC @ =gUnknown_02038564
+ movs r0, 0x4
+ b _080A37B4
+ .align 2, 0
+_080A379C: .4byte gUnknown_03000701
+_080A37A0: .4byte gUnknown_03000704
+_080A37A4: .4byte gUnknown_02038559
+_080A37A8: .4byte gUnknown_083C1690
+_080A37AC: .4byte gUnknown_02038564
+_080A37B0:
+ ldr r1, _080A37BC @ =gUnknown_02038564
+ movs r0, 0x6
+_080A37B4:
+ strb r0, [r1]
+_080A37B6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A37BC: .4byte gUnknown_02038564
+ thumb_func_end sub_80A3770
+
+ thumb_func_start sub_80A37C0
+sub_80A37C0: @ 80A37C0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A37F0 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r0, _080A37F4 @ =sub_80A50C8
+ str r0, [r1]
+ movs r0, 0
+ bl sub_80F98DC
+ movs r0, 0x1
+ bl sub_80F98DC
+ movs r0, 0x2
+ bl sub_80F98DC
+ movs r0, 0x3
+ bl sub_80F98DC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A37F0: .4byte gTasks
+_080A37F4: .4byte sub_80A50C8
+ thumb_func_end sub_80A37C0
+
+ thumb_func_start sub_80A37F8
+sub_80A37F8: @ 80A37F8
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r6, _080A3854 @ =gUnknown_0203855A
+ ldrb r5, [r6]
+ cmp r5, 0xF
+ bhi _080A3868
+ adds r0, r5, 0x1
+ strb r0, [r6]
+ ldr r4, _080A3858 @ =gBG2TilemapBuffer
+ ldrb r2, [r6]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x4F
+ bl sub_80A396C
+ ldr r0, _080A385C @ =gUnknown_02038559
+ ldrb r1, [r0]
+ adds r1, 0x1
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r6]
+ lsrs r2, 1
+ ldr r3, _080A3860 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r3
+ movs r3, 0x12
+ ldrsb r3, [r0, r3]
+ adds r0, r4, 0
+ bl sub_80A39E4
+ ldr r4, _080A3864 @ =gUnknown_02038558
+ movs r0, 0x1
+ strb r0, [r4]
+ lsrs r1, r5, 1
+ ldrb r2, [r6]
+ lsrs r2, 1
+ subs r2, 0x1
+ adds r0, r7, 0
+ bl sub_80A48E8
+ movs r0, 0
+ strb r0, [r4]
+ b _080A3932
+ .align 2, 0
+_080A3854: .4byte gUnknown_0203855A
+_080A3858: .4byte gBG2TilemapBuffer
+_080A385C: .4byte gUnknown_02038559
+_080A3860: .4byte gTasks
+_080A3864: .4byte gUnknown_02038558
+_080A3868:
+ ldr r0, _080A38A0 @ =gLinkOpen
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080A38B4
+ ldr r1, _080A38A4 @ =gUnknown_03005D10
+ ldr r0, _080A38A8 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _080A38AC @ =gUnknown_03005D24
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ ldr r4, _080A38B0 @ =gUnknown_02038562
+ ldrb r1, [r4]
+ bl ItemListMenu_ChangeDescription
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r4]
+ b _080A38F2
+ .align 2, 0
+_080A38A0: .4byte gLinkOpen
+_080A38A4: .4byte gUnknown_03005D10
+_080A38A8: .4byte gUnknown_02038559
+_080A38AC: .4byte gUnknown_03005D24
+_080A38B0: .4byte gUnknown_02038562
+_080A38B4:
+ ldr r1, _080A3938 @ =gUnknown_02038562
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ bhi _080A38F2
+ ldr r5, _080A393C @ =gUnknown_03005D10
+ adds r4, r1, 0
+_080A38C0:
+ ldr r0, _080A3940 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r5
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _080A3944 @ =gUnknown_03005D24
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ ldrb r1, [r4]
+ bl ItemListMenu_ChangeDescription
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bls _080A38C0
+_080A38F2:
+ ldr r0, _080A3938 @ =gUnknown_02038562
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bne _080A3932
+ ldr r1, _080A3948 @ =gUnknown_0203855A
+ movs r0, 0x10
+ strb r0, [r1]
+ ldr r1, _080A394C @ =gUnknown_0203855B
+ ldr r0, _080A3940 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, _080A3950 @ =sub_80A4F68
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A37C0
+ adds r0, r7, 0
+ bl DestroyTask
+ bl ItemListMenu_InitMenu
+ movs r0, 0x2
+ movs r1, 0
+ bl sub_80F979C
+ movs r0, 0x3
+ movs r1, 0
+ bl sub_80F979C
+_080A3932:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3938: .4byte gUnknown_02038562
+_080A393C: .4byte gUnknown_03005D10
+_080A3940: .4byte gUnknown_02038559
+_080A3944: .4byte gUnknown_03005D24
+_080A3948: .4byte gUnknown_0203855A
+_080A394C: .4byte gUnknown_0203855B
+_080A3950: .4byte sub_80A4F68
+ thumb_func_end sub_80A37F8
+
+ thumb_func_start sub_80A3954
+sub_80A3954: @ 80A3954
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _080A3968 @ =gUnknown_08E77004
+ movs r2, 0x80
+ lsls r2, 3
+ bl CpuSet
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3968: .4byte gUnknown_08E77004
+ thumb_func_end sub_80A3954
+
+ thumb_func_start sub_80A396C
+sub_80A396C: @ 80A396C
+ push {r4-r7,lr}
+ lsls r1, 24
+ lsrs r5, r1, 24
+ adds r4, r5, 0
+ lsls r2, 24
+ lsrs r7, r2, 24
+ lsls r3, 24
+ lsrs r6, r3, 24
+ adds r1, r4, 0x2
+ lsls r1, 6
+ adds r1, 0x1C
+ adds r2, r0, r1
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r7, r4
+ bls _080A39B2
+_080A398E:
+ movs r1, 0
+ adds r3, r5, 0x1
+ adds r4, r2, 0
+ adds r4, 0x40
+_080A3996:
+ lsls r0, r1, 1
+ adds r0, r2
+ strh r6, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0xE
+ bls _080A3996
+ adds r2, r4, 0
+ adds r1, r5, 0
+ lsls r0, r3, 24
+ lsrs r5, r0, 24
+ cmp r7, r1
+ bhi _080A398E
+_080A39B2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A396C
+
+ thumb_func_start sub_80A39B8
+sub_80A39B8: @ 80A39B8
+ push {lr}
+ sub sp, 0x10
+ lsls r1, 25
+ lsrs r1, 24
+ ldr r3, _080A39E0 @ =gUnknown_08E96EC8
+ movs r2, 0
+ str r2, [sp]
+ str r1, [sp, 0x4]
+ movs r1, 0x8
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ str r1, [sp, 0xC]
+ movs r1, 0x4
+ movs r2, 0xA
+ bl sub_809D104
+ add sp, 0x10
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A39E0: .4byte gUnknown_08E96EC8
+ thumb_func_end sub_80A39B8
+
+ thumb_func_start sub_80A39E4
+sub_80A39E4: @ 80A39E4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ mov r8, r0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r4, r1, 0
+ lsls r2, 24
+ lsrs r6, r2, 24
+ adds r5, r6, 0
+ lsls r2, r1, 1
+ mov r9, r2
+ lsls r3, 24
+ asrs r3, 24
+ movs r0, 0x1
+ negs r0, r0
+ cmp r3, r0
+ bne _080A3A5C
+ adds r0, r1, 0x1
+ lsls r7, r0, 1
+ cmp r1, 0x5
+ bne _080A3A18
+ movs r7, 0x2
+_080A3A18:
+ ldr r0, _080A3A58 @ =gUnknown_08E96EC8
+ mov r10, r0
+ movs r4, 0x8
+ subs r4, r6
+ lsls r4, 16
+ lsrs r4, 16
+ str r4, [sp]
+ str r2, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0x2
+ mov r9, r0
+ str r0, [sp, 0xC]
+ mov r0, r8
+ movs r1, 0x4
+ movs r2, 0xA
+ mov r3, r10
+ bl sub_809D104
+ adds r1, r6, 0x4
+ movs r0, 0
+ str r0, [sp]
+ str r7, [sp, 0x4]
+ str r4, [sp, 0x8]
+ mov r0, r9
+ str r0, [sp, 0xC]
+ mov r0, r8
+ movs r2, 0xA
+ mov r3, r10
+ bl sub_809D104
+ b _080A3AAA
+ .align 2, 0
+_080A3A58: .4byte gUnknown_08E96EC8
+_080A3A5C:
+ cmp r3, 0x1
+ bne _080A3AAA
+ subs r0, r4, 0x1
+ lsls r0, 17
+ lsrs r7, r0, 16
+ cmp r4, 0x1
+ bne _080A3A6C
+ movs r7, 0xA
+_080A3A6C:
+ ldr r6, _080A3ABC @ =gUnknown_08E96EC8
+ str r5, [sp]
+ str r7, [sp, 0x4]
+ movs r0, 0x8
+ subs r0, r5
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp, 0x8]
+ movs r4, 0x2
+ str r4, [sp, 0xC]
+ mov r0, r8
+ movs r1, 0x4
+ movs r2, 0xA
+ adds r3, r6, 0
+ bl sub_809D104
+ movs r1, 0xC
+ subs r1, r5
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0
+ str r0, [sp]
+ mov r0, r9
+ str r0, [sp, 0x4]
+ str r5, [sp, 0x8]
+ str r4, [sp, 0xC]
+ mov r0, r8
+ movs r2, 0xA
+ adds r3, r6, 0
+ bl sub_809D104
+_080A3AAA:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3ABC: .4byte gUnknown_08E96EC8
+ thumb_func_end sub_80A39E4
+
+ thumb_func_start sub_80A3AC0
+sub_80A3AC0: @ 80A3AC0
+ push {r4-r6,lr}
+ adds r3, r0, 0
+ lsls r1, 24
+ lsrs r4, r1, 24
+ movs r2, 0
+ ldr r1, _080A3AE4 @ =0x0000024a
+ ldr r0, _080A3AE8 @ =0x0000107d
+ adds r6, r0, 0
+ subs r0, 0x1
+ adds r5, r0, 0
+_080A3AD4:
+ cmp r2, r4
+ bne _080A3AEC
+ lsls r0, r2, 1
+ adds r0, r3
+ adds r0, r1
+ strh r6, [r0]
+ b _080A3AF4
+ .align 2, 0
+_080A3AE4: .4byte 0x0000024a
+_080A3AE8: .4byte 0x0000107d
+_080A3AEC:
+ lsls r0, r2, 1
+ adds r0, r3
+ adds r0, r1
+ strh r5, [r0]
+_080A3AF4:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x4
+ bls _080A3AD4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A3AC0
+
+ thumb_func_start sub_80A3B04
+sub_80A3B04: @ 80A3B04
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r4, _080A3BA4 @ =gUnknown_02038559
+ ldrb r0, [r4]
+ lsls r1, 24
+ asrs r6, r1, 24
+ adds r0, r6, r0
+ strb r0, [r4]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x4
+ ble _080A3B20
+ movs r0, 0
+ strb r0, [r4]
+_080A3B20:
+ movs r0, 0
+ ldrsb r0, [r4, r0]
+ cmp r0, 0
+ bge _080A3B2C
+ movs r0, 0x4
+ strb r0, [r4]
+_080A3B2C:
+ bl sub_80A76A0
+ bl sub_80A7590
+ ldr r2, _080A3BA8 @ =gUnknown_03005D24
+ ldr r1, _080A3BAC @ =gBagPockets
+ movs r0, 0
+ ldrsb r0, [r4, r0]
+ lsls r0, 3
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [r2]
+ ldrb r0, [r4]
+ bl sub_80A3D24
+ ldr r0, _080A3BB0 @ =gUnknown_0203855A
+ movs r4, 0
+ strb r4, [r0]
+ adds r0, r5, 0
+ bl sub_80A3954
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0x3
+ bl sub_80A396C
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_80A39B8
+ ldr r1, _080A3BB4 @ =gUnknown_0203855B
+ movs r0, 0x6
+ strb r0, [r1]
+ ldr r0, _080A3BB8 @ =gUnknown_02038562
+ strb r4, [r0]
+ ldr r4, _080A3BBC @ =sub_80A37F8
+ adds r0, r4, 0
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ bne _080A3B90
+ adds r0, r4, 0
+ movs r1, 0x8
+ bl CreateTask
+ lsls r0, 24
+ lsrs r2, r0, 24
+_080A3B90:
+ ldr r1, _080A3BC0 @ =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ strh r6, [r0, 0x12]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3BA4: .4byte gUnknown_02038559
+_080A3BA8: .4byte gUnknown_03005D24
+_080A3BAC: .4byte gBagPockets
+_080A3BB0: .4byte gUnknown_0203855A
+_080A3BB4: .4byte gUnknown_0203855B
+_080A3BB8: .4byte gUnknown_02038562
+_080A3BBC: .4byte sub_80A37F8
+_080A3BC0: .4byte gTasks
+ thumb_func_end sub_80A3B04
+
+ thumb_func_start swap32
+swap32: @ 80A3BC4
+ ldr r3, [r0]
+ ldr r2, [r1]
+ str r2, [r0]
+ str r3, [r1]
+ bx lr
+ thumb_func_end swap32
+
+ thumb_func_start sub_80A3BD0
+sub_80A3BD0: @ 80A3BD0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ adds r7, r1, 0
+ adds r6, r0, 0
+ movs r3, 0
+ b _080A3C1A
+_080A3BE0:
+ adds r0, r3, 0x1
+ lsls r1, r0, 16
+ lsrs r4, r1, 16
+ lsls r1, r2, 24
+ lsrs r1, 24
+ mov r8, r0
+ cmp r4, r1
+ bcs _080A3C14
+ lsls r0, r3, 2
+ adds r5, r0, r6
+ adds r2, r1, 0
+_080A3BF6:
+ ldrh r0, [r5, 0x2]
+ cmp r0, 0
+ bne _080A3C0A
+ lsls r1, r4, 2
+ adds r1, r6
+ adds r0, r5, 0
+ str r2, [sp]
+ bl swap32
+ ldr r2, [sp]
+_080A3C0A:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, r2
+ bcc _080A3BF6
+_080A3C14:
+ mov r1, r8
+ lsls r0, r1, 16
+ lsrs r3, r0, 16
+_080A3C1A:
+ adds r2, r7, 0
+ lsls r0, r2, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ cmp r3, r0
+ blt _080A3BE0
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A3BD0
+
+ thumb_func_start sub_80A3C34
+sub_80A3C34: @ 80A3C34
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ adds r7, r1, 0
+ adds r6, r0, 0
+ adds r2, r7, 0
+ lsls r0, r2, 24
+ movs r3, 0
+ cmp r0, 0
+ beq _080A3C9C
+_080A3C4A:
+ adds r0, r3, 0x1
+ lsls r1, r0, 16
+ lsrs r4, r1, 16
+ lsls r1, r2, 24
+ lsrs r1, 24
+ mov r8, r0
+ cmp r4, r1
+ bcs _080A3C8C
+ lsls r0, r3, 2
+ adds r5, r0, r6
+ adds r2, r1, 0
+_080A3C60:
+ ldrh r0, [r5, 0x2]
+ cmp r0, 0
+ beq _080A3C82
+ lsls r0, r4, 2
+ adds r1, r0, r6
+ ldrh r0, [r1, 0x2]
+ cmp r0, 0
+ beq _080A3C82
+ ldrh r0, [r5]
+ ldrh r3, [r1]
+ cmp r0, r3
+ bls _080A3C82
+ adds r0, r5, 0
+ str r2, [sp]
+ bl swap32
+ ldr r2, [sp]
+_080A3C82:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, r2
+ bcc _080A3C60
+_080A3C8C:
+ mov r1, r8
+ lsls r0, r1, 16
+ lsrs r3, r0, 16
+ adds r2, r7, 0
+ lsls r0, r2, 24
+ lsrs r0, 24
+ cmp r3, r0
+ bcc _080A3C4A
+_080A3C9C:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A3C34
+
+ thumb_func_start sub_80A3CA8
+sub_80A3CA8: @ 80A3CA8
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _080A3D00 @ =gUnknown_03005D10
+ lsls r0, r6, 2
+ adds r3, r0, r1
+ movs r0, 0
+ strb r0, [r3, 0x2]
+ movs r4, 0
+ ldr r0, _080A3D04 @ =gBagPockets
+ lsls r2, r6, 3
+ adds r1, r2, r0
+ mov r12, r0
+ ldrb r1, [r1, 0x4]
+ cmp r4, r1
+ bcs _080A3CEC
+ mov r7, r12
+ adds r5, r3, 0
+_080A3CCC:
+ adds r3, r2, r7
+ ldr r0, [r3]
+ lsls r1, r4, 2
+ adds r1, r0
+ ldrh r0, [r1, 0x2]
+ cmp r0, 0
+ beq _080A3CE0
+ ldrb r0, [r5, 0x2]
+ adds r0, 0x1
+ strb r0, [r5, 0x2]
+_080A3CE0:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldrb r3, [r3, 0x4]
+ cmp r4, r3
+ bcc _080A3CCC
+_080A3CEC:
+ lsls r0, r6, 3
+ add r0, r12
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ bl sub_80A3BD0
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3D00: .4byte gUnknown_03005D10
+_080A3D04: .4byte gBagPockets
+ thumb_func_end sub_80A3CA8
+
+ thumb_func_start sub_80A3D08
+sub_80A3D08: @ 80A3D08
+ push {r4,lr}
+ movs r4, 0
+_080A3D0C:
+ adds r0, r4, 0
+ bl sub_80A3CA8
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _080A3D0C
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A3D08
+
+ thumb_func_start sub_80A3D24
+sub_80A3D24: @ 80A3D24
+ push {lr}
+ lsls r0, 24
+ ldr r1, _080A3D3C @ =gUnknown_03005D10
+ lsrs r0, 22
+ adds r1, r0, r1
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0x6
+ bls _080A3D36
+ movs r0, 0x7
+_080A3D36:
+ strb r0, [r1, 0x3]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3D3C: .4byte gUnknown_03005D10
+ thumb_func_end sub_80A3D24
+
+ thumb_func_start sub_80A3D40
+sub_80A3D40: @ 80A3D40
+ push {r4,lr}
+ movs r4, 0
+_080A3D44:
+ adds r0, r4, 0
+ bl sub_80A3D24
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _080A3D44
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A3D40
+
+ thumb_func_start sub_80A3D5C
+sub_80A3D5C: @ 80A3D5C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080A3DF4 @ =gUnknown_03005D10
+ mov r9, r1
+ ldr r2, _080A3DF8 @ =gUnknown_02038559
+ mov r8, r2
+ movs r1, 0
+ ldrsb r1, [r2, r1]
+ lsls r1, 2
+ add r1, r9
+ ldrb r2, [r1, 0x1]
+ ldrb r1, [r1]
+ adds r2, r1
+ ldr r7, _080A3DFC @ =gUnknown_03005D24
+ ldr r1, [r7]
+ lsls r6, r2, 2
+ adds r3, r6, r1
+ ldr r2, _080A3E00 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrh r0, [r3, 0x2]
+ ldrh r1, [r1, 0xA]
+ subs r0, r1
+ strh r0, [r3, 0x2]
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0
+ bne _080A3DE0
+ ldr r0, _080A3E04 @ =gSaveBlock1
+ ldr r1, _080A3E08 @ =0x00000496
+ adds r5, r0, r1
+ ldrh r0, [r5]
+ ldrh r3, [r3]
+ cmp r0, r3
+ bne _080A3DB4
+ bl sub_80A40D0
+ strh r4, [r5]
+_080A3DB4:
+ ldr r0, [r7]
+ adds r0, r6, r0
+ strh r4, [r0]
+ mov r2, r8
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ mov r3, r9
+ adds r2, r0, r3
+ ldrb r1, [r2, 0x1]
+ adds r0, r1, 0x7
+ ldrb r3, [r2, 0x2]
+ cmp r0, r3
+ bne _080A3DD8
+ cmp r1, 0
+ beq _080A3DD8
+ subs r0, r1, 0x1
+ strb r0, [r2, 0x1]
+_080A3DD8:
+ ldr r0, _080A3DF8 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ bl sub_80A3CA8
+_080A3DE0:
+ ldr r0, _080A3DF8 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ bl sub_80A3D24
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3DF4: .4byte gUnknown_03005D10
+_080A3DF8: .4byte gUnknown_02038559
+_080A3DFC: .4byte gUnknown_03005D24
+_080A3E00: .4byte gTasks
+_080A3E04: .4byte gSaveBlock1
+_080A3E08: .4byte 0x00000496
+ thumb_func_end sub_80A3D5C
+
+ thumb_func_start sub_80A3E0C
+sub_80A3E0C: @ 80A3E0C
+ push {lr}
+ ldr r3, _080A3E60 @ =gUnknown_03005D10
+ ldr r2, _080A3E64 @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _080A3E68 @ =gUnknown_03005D24
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1, 0x2]
+ cmp r0, 0
+ bne _080A3E52
+ strh r0, [r1]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ adds r2, r0, r3
+ ldrb r1, [r2, 0x1]
+ adds r0, r1, 0x7
+ ldrb r3, [r2, 0x2]
+ cmp r0, r3
+ bne _080A3E4A
+ cmp r1, 0
+ beq _080A3E4A
+ subs r0, r1, 0x1
+ strb r0, [r2, 0x1]
+_080A3E4A:
+ ldr r0, _080A3E64 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ bl sub_80A3CA8
+_080A3E52:
+ ldr r0, _080A3E64 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ bl sub_80A3D24
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3E60: .4byte gUnknown_03005D10
+_080A3E64: .4byte gUnknown_02038559
+_080A3E68: .4byte gUnknown_03005D24
+ thumb_func_end sub_80A3E0C
+
+ thumb_func_start nullsub_16
+nullsub_16: @ 80A3E6C
+ bx lr
+ thumb_func_end nullsub_16
+
+ thumb_func_start sub_80A3E70
+sub_80A3E70: @ 80A3E70
+ lsls r0, 24
+ lsls r1, 24
+ ldr r2, _080A3E8C @ =gUnknown_03005D24
+ ldr r2, [r2]
+ lsrs r0, 22
+ adds r0, r2
+ ldr r3, [r0]
+ lsrs r1, 22
+ adds r1, r2
+ ldr r2, [r1]
+ str r2, [r0]
+ str r3, [r1]
+ bx lr
+ .align 2, 0
+_080A3E8C: .4byte gUnknown_03005D24
+ thumb_func_end sub_80A3E70
+
+ thumb_func_start sub_80A3E90
+sub_80A3E90: @ 80A3E90
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ bl nullsub_16
+ ldr r0, _080A3EE8 @ =gTasks
+ lsls r5, r4, 2
+ adds r5, r4
+ lsls r5, 3
+ adds r5, r0
+ ldrb r0, [r5, 0x1C]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _080A3EEC @ =gUnknown_03005D10
+ ldr r1, _080A3EF0 @ =gUnknown_02038559
+ movs r2, 0
+ ldrsb r2, [r1, r2]
+ lsls r2, 2
+ adds r2, r3
+ ldrb r1, [r2, 0x1]
+ ldrb r2, [r2]
+ adds r1, r2
+ lsls r1, 24
+ lsrs r1, 24
+ bl sub_80A3E70
+ movs r0, 0
+ strh r0, [r5, 0x1C]
+ bl sub_80A763C
+ movs r0, 0
+ bl sub_80A7528
+ bl ItemListMenu_InitMenu
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3EE8: .4byte gTasks
+_080A3EEC: .4byte gUnknown_03005D10
+_080A3EF0: .4byte gUnknown_02038559
+ thumb_func_end sub_80A3E90
+
+ thumb_func_start sub_80A3EF4
+sub_80A3EF4: @ 80A3EF4
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x5
+ bl PlaySE
+ bl nullsub_16
+ ldr r0, _080A3F44 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r2, _080A3F48 @ =gUnknown_03005D10
+ ldr r0, _080A3F4C @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x1]
+ mvns r0, r0
+ ldrb r2, [r1, 0x1C]
+ adds r0, r2
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r0, 0
+ strh r0, [r1, 0x1C]
+ cmp r2, 0x7
+ bhi _080A3F38
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+_080A3F38:
+ movs r0, 0
+ bl sub_80A7528
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3F44: .4byte gTasks
+_080A3F48: .4byte gUnknown_03005D10
+_080A3F4C: .4byte gUnknown_02038559
+ thumb_func_end sub_80A3EF4
+
+ thumb_func_start sub_80A3F50
+sub_80A3F50: @ 80A3F50
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080A3F94 @ =gTasks
+ lsls r3, r0, 2
+ adds r3, r0
+ lsls r3, 3
+ adds r3, r1
+ ldr r5, _080A3F98 @ =gUnknown_03005D10
+ ldr r4, _080A3F9C @ =gUnknown_02038559
+ movs r1, 0
+ ldrsb r1, [r4, r1]
+ lsls r1, 2
+ adds r1, r5
+ ldrb r2, [r1, 0x1]
+ ldrb r1, [r1]
+ adds r2, r1
+ adds r2, 0x1
+ strh r2, [r3, 0x1C]
+ movs r1, 0
+ ldrsb r1, [r4, r1]
+ lsls r1, 2
+ adds r1, r5
+ ldrb r2, [r1]
+ adds r1, r2, 0
+ bl sub_80A48E8
+ movs r0, 0x1
+ bl sub_80A7528
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3F94: .4byte gTasks
+_080A3F98: .4byte gUnknown_03005D10
+_080A3F9C: .4byte gUnknown_02038559
+ thumb_func_end sub_80A3F50
+
+ thumb_func_start sub_80A3FA0
+sub_80A3FA0: @ 80A3FA0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r0, 0
+ ldr r0, [sp, 0x18]
+ ldr r4, [sp, 0x1C]
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, 16
+ lsrs r6, r4, 16
+ lsrs r2, 24
+ adds r0, r2, r0
+ cmp r2, r0
+ bge _080A3FFC
+ mov r8, r5
+ adds r4, r5, r3
+ mov r12, r0
+_080A3FCC:
+ adds r0, r5, 0
+ lsls r3, r2, 16
+ cmp r8, r4
+ bge _080A3FEE
+ asrs r2, r3, 11
+_080A3FD6:
+ lsls r1, r0, 16
+ asrs r1, 16
+ adds r0, r1, r2
+ lsls r0, 1
+ adds r0, r7
+ strh r6, [r0]
+ adds r1, 0x1
+ lsls r1, 16
+ lsrs r0, r1, 16
+ asrs r1, 16
+ cmp r1, r4
+ blt _080A3FD6
+_080A3FEE:
+ movs r1, 0x80
+ lsls r1, 9
+ adds r0, r3, r1
+ lsrs r2, r0, 16
+ asrs r0, 16
+ cmp r0, r12
+ blt _080A3FCC
+_080A3FFC:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A3FA0
+
+ thumb_func_start sub_80A4008
+sub_80A4008: @ 80A4008
+ push {r4,lr}
+ sub sp, 0x8
+ ldr r4, [sp, 0x10]
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ lsls r4, 24
+ lsrs r4, 24
+ str r4, [sp]
+ movs r4, 0x1
+ str r4, [sp, 0x4]
+ bl sub_80A3FA0
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A4008
+
+ thumb_func_start sub_80A4030
+sub_80A4030: @ 80A4030
+ ldr r1, _080A4058 @ =gBG2TilemapBuffer + 0xB4
+ lsls r0, 7
+ adds r1, r0, r1
+ movs r0, 0x5A
+ strh r0, [r1]
+ movs r0, 0x5B
+ strh r0, [r1, 0x2]
+ movs r0, 0x5C
+ strh r0, [r1, 0x4]
+ adds r2, r1, 0
+ adds r2, 0x40
+ movs r0, 0x6A
+ strh r0, [r2]
+ adds r2, 0x2
+ movs r0, 0x6B
+ strh r0, [r2]
+ adds r1, 0x44
+ movs r0, 0x6C
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_080A4058: .4byte gBG2TilemapBuffer + 0xB4
+ thumb_func_end sub_80A4030
+
+ thumb_func_start sub_80A405C
+sub_80A405C: @ 80A405C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r2, _080A40A8 @ =gBG2TilemapBuffer + 0xB4
+ movs r0, 0
+ adds r4, r2, 0
+ movs r1, 0x4F
+_080A406A:
+ strh r1, [r2]
+ strh r1, [r2, 0x2]
+ strh r1, [r2, 0x4]
+ adds r2, 0x40
+ adds r0, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xF
+ bls _080A406A
+ lsls r0, r3, 7
+ adds r2, r0, r4
+ movs r0, 0x5A
+ strh r0, [r2]
+ movs r0, 0x5B
+ strh r0, [r2, 0x2]
+ movs r0, 0x5C
+ strh r0, [r2, 0x4]
+ adds r1, r2, 0
+ adds r1, 0x40
+ movs r0, 0x6A
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0x6B
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0x6C
+ strh r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A40A8: .4byte gBG2TilemapBuffer + 0xB4
+ thumb_func_end sub_80A405C
+
+ thumb_func_start sub_80A40AC
+sub_80A40AC: @ 80A40AC
+ lsls r0, 24
+ ldr r1, _080A40CC @ =gBG2TilemapBuffer + 0xB4
+ lsrs r0, 17
+ adds r1, r0, r1
+ movs r2, 0x4F
+ strh r2, [r1]
+ strh r2, [r1, 0x2]
+ strh r2, [r1, 0x4]
+ adds r0, r1, 0
+ adds r0, 0x40
+ strh r2, [r0]
+ adds r0, 0x2
+ strh r2, [r0]
+ adds r1, 0x44
+ strh r2, [r1]
+ bx lr
+ .align 2, 0
+_080A40CC: .4byte gBG2TilemapBuffer + 0xB4
+ thumb_func_end sub_80A40AC
+
+ thumb_func_start sub_80A40D0
+sub_80A40D0: @ 80A40D0
+ push {r4-r7,lr}
+ movs r4, 0
+ ldr r2, _080A4114 @ =gUnknown_03005D10
+ ldr r3, _080A4118 @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r3, r0]
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0, 0x1]
+ adds r7, r2, 0
+ adds r6, r3, 0
+ ldrb r0, [r0, 0x2]
+ cmp r1, r0
+ beq _080A4136
+ ldr r5, _080A411C @ =gSaveBlock1 + 0x496
+_080A40EE:
+ movs r0, 0
+ ldrsb r0, [r6, r0]
+ lsls r0, 2
+ adds r3, r0, r7
+ ldrb r2, [r3, 0x1]
+ adds r1, r2, r4
+ ldr r0, _080A4120 @ =gUnknown_03005D24
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1]
+ ldrh r1, [r5]
+ cmp r0, r1
+ bne _080A4124
+ adds r0, r4, 0
+ bl sub_80A40AC
+ b _080A4136
+ .align 2, 0
+_080A4114: .4byte gUnknown_03005D10
+_080A4118: .4byte gUnknown_02038559
+_080A411C: .4byte gSaveBlock1 + 0x496
+_080A4120: .4byte gUnknown_03005D24
+_080A4124:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x7
+ bhi _080A4136
+ adds r0, r2, r4
+ ldrb r3, [r3, 0x2]
+ cmp r0, r3
+ bne _080A40EE
+_080A4136:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A40D0
+
+ thumb_func_start sub_80A413C
+sub_80A413C: @ 80A413C
+ push {lr}
+ bl sub_80A40D0
+ ldr r1, _080A415C @ =gUnknown_03005D10
+ ldr r0, _080A4160 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_80A405C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A415C: .4byte gUnknown_03005D10
+_080A4160: .4byte gUnknown_02038559
+ thumb_func_end sub_80A413C
+
+ thumb_func_start sub_80A4164
+sub_80A4164: @ 80A4164
+ push {r4,lr}
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r3, 24
+ lsrs r3, 24
+ movs r4, 0xB9
+ strb r4, [r0]
+ adds r0, 0x1
+ movs r4, 0xFC
+ strb r4, [r0]
+ movs r4, 0x14
+ strb r4, [r0, 0x1]
+ movs r4, 0x6
+ strb r4, [r0, 0x2]
+ adds r0, 0x3
+ bl ConvertIntToDecimalStringN
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A4164
+
+ thumb_func_start sub_80A418C
+sub_80A418C: @ 80A418C
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ adds r4, r0, 0
+ mov r9, r1
+ adds r5, r2, 0
+ adds r6, r3, 0
+ ldr r3, [sp, 0x18]
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, _080A41D0 @ =gStringVar1
+ mov r8, r0
+ adds r1, r4, 0
+ mov r2, r9
+ bl sub_80A4164
+ mov r0, r8
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl MenuPrint
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A41D0: .4byte gStringVar1
+ thumb_func_end sub_80A418C
+
+ thumb_func_start sub_80A41D4
+sub_80A41D4: @ 80A41D4
+ push {lr}
+ bl sub_80A763C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A41D4
+
+ thumb_func_start sub_80A41E0
+sub_80A41E0: @ 80A41E0
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r7, r0, 0
+ mov r9, r2
+ adds r5, r3, 0
+ ldr r4, [sp, 0x1C]
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r5, 16
+ lsrs r5, 16
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0xFC
+ mov r8, r0
+ strb r0, [r7]
+ movs r6, 0x13
+ strb r6, [r7, 0x1]
+ movs r0, 0x8
+ strb r0, [r7, 0x2]
+ adds r7, 0x3
+ adds r0, r7, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ mov r1, r8
+ strb r1, [r0]
+ strb r6, [r0, 0x1]
+ movs r1, 0x18
+ strb r1, [r0, 0x2]
+ adds r7, r0, 0x3
+ adds r4, 0x1
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r0, 1
+ movs r2, 0x78
+ subs r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r7, 0
+ mov r1, r9
+ movs r3, 0
+ bl sub_8072C74
+ movs r1, 0xB9
+ strb r1, [r0]
+ adds r7, r0, 0x1
+ adds r0, r7, 0
+ adds r1, r5, 0
+ movs r2, 0x78
+ movs r3, 0x1
+ bl sub_8072C14
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A41E0
+
+ thumb_func_start sub_80A425C
+sub_80A425C: @ 80A425C
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r3, _080A42A4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r3
+ movs r0, 0x1C
+ ldrsh r1, [r1, r0]
+ ldr r3, _080A42A8 @ =gUnknown_03005D10
+ ldr r0, _080A42AC @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r3
+ ldrb r0, [r0, 0x1]
+ subs r1, r0
+ subs r1, 0x1
+ cmp r1, r2
+ bne _080A429C
+ movs r0, 0xFC
+ strb r0, [r4]
+ movs r0, 0x1
+ strb r0, [r4, 0x1]
+ movs r0, 0x2
+ strb r0, [r4, 0x2]
+ adds r4, 0x3
+_080A429C:
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A42A4: .4byte gTasks
+_080A42A8: .4byte gUnknown_03005D10
+_080A42AC: .4byte gUnknown_02038559
+ thumb_func_end sub_80A425C
+
+ thumb_func_start sub_80A42B0
+sub_80A42B0: @ 80A42B0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0, 0
+ ldr r0, _080A4344 @ =gUnknown_02038540
+ mov r8, r0
+ ldr r1, _080A4348 @ =gUnknown_03005D10
+ ldr r0, _080A434C @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ adds r1, r6
+ ldrb r0, [r0, 0x2]
+ cmp r1, r0
+ bgt _080A4370
+ cmp r1, r0
+ bne _080A4374
+ ldr r0, _080A4350 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ beq _080A4370
+ lsls r0, r6, 25
+ movs r1, 0x80
+ lsls r1, 18
+ adds r0, r1
+ lsrs r5, r0, 24
+ ldr r4, _080A4354 @ =gStringVar1
+ ldr r1, _080A4358 @ =gOtherText_CloseBag
+ adds r0, r4, 0
+ movs r2, 0x78
+ movs r3, 0
+ bl sub_8072C74
+ adds r0, r4, 0
+ movs r1, 0xE
+ adds r2, r5, 0
+ bl MenuPrint
+ lsls r0, r5, 6
+ ldr r1, _080A435C @ =gBG2TilemapBuffer + 0x1C
+ adds r0, r1
+ movs r2, 0x4F
+ strh r2, [r0]
+ strh r2, [r0, 0x2]
+ adds r1, r0, 0
+ adds r1, 0x40
+ strh r2, [r1]
+ adds r0, 0x42
+ strh r2, [r0]
+ cmp r6, 0x7
+ beq _080A4370
+ cmp r7, 0x1
+ bne _080A432E
+ mov r1, r8
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _080A4332
+_080A432E:
+ cmp r7, 0x2
+ bne _080A4360
+_080A4332:
+ adds r1, r5, 0x2
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0xE
+ movs r2, 0x1D
+ movs r3, 0xD
+ bl MenuFillWindowRectWithBlankTile
+ b _080A4370
+ .align 2, 0
+_080A4344: .4byte gUnknown_02038540
+_080A4348: .4byte gUnknown_03005D10
+_080A434C: .4byte gUnknown_02038559
+_080A4350: .4byte gUnknown_03000701
+_080A4354: .4byte gStringVar1
+_080A4358: .4byte gOtherText_CloseBag
+_080A435C: .4byte gBG2TilemapBuffer + 0x1C
+_080A4360:
+ adds r1, r5, 0x2
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0xE
+ movs r2, 0x1D
+ movs r3, 0x11
+ bl MenuFillWindowRectWithBlankTile
+_080A4370:
+ movs r0, 0x1
+ b _080A4376
+_080A4374:
+ movs r0, 0
+_080A4376:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A42B0
+
+ thumb_func_start sub_80A4380
+sub_80A4380: @ 80A4380
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ str r2, [sp]
+ mov r10, r3
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldr r0, _080A43A0 @ =gUnknown_03005D24
+ mov r8, r0
+ b _080A441A
+ .align 2, 0
+_080A43A0: .4byte gUnknown_03005D24
+_080A43A4:
+ ldr r1, _080A4440 @ =gUnknown_03005D10
+ ldr r0, _080A4444 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r4, [r0, 0x1]
+ adds r4, r7, r4
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, r7, 25
+ movs r1, 0x80
+ lsls r1, 18
+ adds r5, r1
+ lsrs r5, 24
+ ldr r6, _080A4448 @ =gStringVar1
+ mov r1, r9
+ lsls r0, r1, 24
+ lsrs r0, 24
+ adds r1, r6, 0
+ adds r2, r7, 0
+ bl sub_80A425C
+ adds r6, r0, 0
+ mov r1, r8
+ ldr r0, [r1]
+ lsls r4, 2
+ adds r0, r4, r0
+ ldrh r0, [r0]
+ bl ItemId_GetItem
+ adds r1, r0, 0
+ adds r0, r6, 0
+ movs r2, 0x66
+ movs r3, 0
+ bl sub_8072C74
+ adds r6, r0, 0
+ movs r0, 0xB9
+ strb r0, [r6]
+ adds r6, 0x1
+ mov r1, r8
+ ldr r0, [r1]
+ adds r4, r0
+ ldrh r1, [r4, 0x2]
+ adds r0, r6, 0
+ movs r2, 0x78
+ movs r3, 0x1
+ bl sub_8072C14
+ ldr r0, _080A4448 @ =gStringVar1
+ movs r1, 0xE
+ adds r2, r5, 0
+ bl MenuPrint
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+_080A441A:
+ ldr r0, [sp]
+ cmp r7, r0
+ bgt _080A4430
+ adds r0, r7, 0
+ mov r1, r10
+ bl sub_80A42B0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A43A4
+_080A4430:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A4440: .4byte gUnknown_03005D10
+_080A4444: .4byte gUnknown_02038559
+_080A4448: .4byte gStringVar1
+ thumb_func_end sub_80A4380
+
+ thumb_func_start sub_80A444C
+sub_80A444C: @ 80A444C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ str r2, [sp]
+ str r3, [sp, 0x4]
+ lsls r0, 16
+ lsrs r0, 16
+ mov r10, r0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ ldr r0, _080A446C @ =gSaveBlock1 + 0x496
+ mov r9, r0
+ b _080A4520
+ .align 2, 0
+_080A446C: .4byte gSaveBlock1 + 0x496
+_080A4470:
+ ldr r1, _080A44E8 @ =gUnknown_03005D10
+ ldr r0, _080A44EC @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r4, [r0, 0x1]
+ adds r4, r6, r4
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, r6, 25
+ movs r1, 0x80
+ lsls r1, 18
+ adds r5, r1
+ lsrs r5, 24
+ ldr r7, _080A44F0 @ =gStringVar1
+ mov r2, r10
+ lsls r0, r2, 24
+ lsrs r0, 24
+ adds r1, r7, 0
+ adds r2, r6, 0
+ bl sub_80A425C
+ adds r7, r0, 0
+ ldr r0, _080A44F4 @ =gUnknown_03005D24
+ mov r8, r0
+ ldr r0, [r0]
+ lsls r4, 2
+ adds r0, r4, r0
+ ldrh r0, [r0]
+ bl ItemId_GetItem
+ adds r1, r0, 0
+ adds r0, r7, 0
+ movs r2, 0x60
+ movs r3, 0
+ bl sub_8072C74
+ ldr r0, _080A44F0 @ =gStringVar1
+ movs r1, 0xE
+ adds r2, r5, 0
+ bl MenuPrint
+ ldr r0, _080A44F8 @ =gUnknown_02038558
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080A44FC
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r4, r0
+ ldrh r0, [r0]
+ mov r2, r9
+ ldrh r2, [r2]
+ cmp r0, r2
+ bne _080A451A
+ adds r0, r6, 0
+ bl sub_80A4030
+ b _080A451A
+ .align 2, 0
+_080A44E8: .4byte gUnknown_03005D10
+_080A44EC: .4byte gUnknown_02038559
+_080A44F0: .4byte gStringVar1
+_080A44F4: .4byte gUnknown_03005D24
+_080A44F8: .4byte gUnknown_02038558
+_080A44FC:
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r4, r0
+ ldrh r0, [r0]
+ mov r2, r9
+ ldrh r2, [r2]
+ cmp r0, r2
+ bne _080A4514
+ adds r0, r6, 0
+ bl sub_80A405C
+ b _080A451A
+_080A4514:
+ adds r0, r6, 0
+ bl sub_80A40AC
+_080A451A:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_080A4520:
+ ldr r0, [sp]
+ cmp r6, r0
+ bgt _080A4536
+ adds r0, r6, 0
+ ldr r1, [sp, 0x4]
+ bl sub_80A42B0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A4470
+_080A4536:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A444C
+
+ thumb_func_start sub_80A4548
+sub_80A4548: @ 80A4548
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ str r2, [sp, 0x8]
+ str r3, [sp, 0xC]
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp, 0x4]
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ ldr r0, _080A456C @ =gBG2TilemapBuffer
+ mov r9, r0
+ b _080A46C2
+ .align 2, 0
+_080A456C: .4byte gBG2TilemapBuffer
+_080A4570:
+ ldr r1, _080A461C @ =gUnknown_03005D10
+ ldr r0, _080A4620 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r4, [r0, 0x1]
+ add r4, r8
+ lsls r4, 24
+ lsrs r4, 24
+ mov r1, r8
+ lsls r0, r1, 25
+ movs r3, 0x80
+ lsls r3, 18
+ adds r0, r3
+ lsrs r0, 24
+ str r0, [sp, 0x10]
+ lsls r0, 5
+ adds r0, 0xE
+ adds r5, r0, 0
+ ldr r6, _080A4624 @ =gStringVar1
+ ldr r1, [sp, 0x4]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ adds r1, r6, 0
+ mov r2, r8
+ bl sub_80A425C
+ adds r6, r0, 0
+ ldr r3, _080A4628 @ =gUnknown_03005D24
+ mov r10, r3
+ ldr r0, [r3]
+ lsls r7, r4, 2
+ adds r3, r7, r0
+ ldrh r1, [r3]
+ movs r0, 0xA9
+ lsls r0, 1
+ cmp r1, r0
+ bhi _080A4634
+ lsls r0, r5, 1
+ add r0, r9
+ movs r1, 0x59
+ strh r1, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 1
+ add r0, r9
+ movs r2, 0x4F
+ strh r2, [r0]
+ adds r0, r5, 0
+ adds r0, 0x20
+ lsls r0, 1
+ add r0, r9
+ movs r1, 0x69
+ strh r1, [r0]
+ adds r0, r5, 0
+ adds r0, 0x21
+ lsls r0, 1
+ add r0, r9
+ strh r2, [r0]
+ ldrh r0, [r3]
+ bl ItemIdToBattleMoveId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0xD
+ adds r2, r0, 0
+ muls r2, r1
+ ldr r0, _080A462C @ =gMoveNames
+ adds r2, r0
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r7, r0
+ ldr r3, _080A4630 @ =0xfffffee0
+ adds r1, r3, 0
+ ldrh r3, [r0]
+ adds r1, r3
+ lsls r1, 16
+ lsrs r1, 16
+ ldrh r3, [r0, 0x2]
+ movs r0, 0x2
+ str r0, [sp]
+ adds r0, r6, 0
+ bl sub_80A41E0
+ b _080A46AE
+ .align 2, 0
+_080A461C: .4byte gUnknown_03005D10
+_080A4620: .4byte gUnknown_02038559
+_080A4624: .4byte gStringVar1
+_080A4628: .4byte gUnknown_03005D24
+_080A462C: .4byte gMoveNames
+_080A4630: .4byte 0xfffffee0
+_080A4634:
+ lsls r0, r5, 1
+ add r0, r9
+ ldr r1, _080A46EC @ =0x0000105d
+ strh r1, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 1
+ add r0, r9
+ adds r1, 0x1
+ strh r1, [r0]
+ adds r0, r5, 0
+ adds r0, 0x20
+ lsls r0, 1
+ add r0, r9
+ adds r1, 0xF
+ strh r1, [r0]
+ adds r0, r5, 0
+ adds r0, 0x21
+ lsls r0, 1
+ add r0, r9
+ adds r1, 0x1
+ strh r1, [r0]
+ movs r0, 0xFC
+ strb r0, [r6]
+ movs r4, 0x13
+ strb r4, [r6, 0x1]
+ movs r0, 0x11
+ strb r0, [r6, 0x2]
+ adds r6, 0x3
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r7, r0
+ ldrh r1, [r0]
+ ldr r3, _080A46F0 @ =0xfffffeae
+ adds r1, r3
+ adds r0, r6, 0
+ bl ConvertIntToDecimalString
+ adds r6, r0, 0
+ movs r0, 0xFC
+ strb r0, [r6]
+ strb r4, [r6, 0x1]
+ movs r0, 0x18
+ strb r0, [r6, 0x2]
+ adds r6, 0x3
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r7, r0
+ ldrh r0, [r0]
+ bl ItemIdToBattleMoveId
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0xD
+ muls r1, r0
+ ldr r0, _080A46F4 @ =gMoveNames
+ adds r1, r0
+ adds r0, r6, 0
+ movs r2, 0x78
+ movs r3, 0
+ bl sub_8072C74
+_080A46AE:
+ ldr r0, _080A46F8 @ =gStringVar1
+ movs r1, 0xE
+ ldr r2, [sp, 0x10]
+ bl MenuPrint
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+_080A46C2:
+ ldr r3, [sp, 0x8]
+ cmp r8, r3
+ bgt _080A46DA
+ mov r0, r8
+ ldr r1, [sp, 0xC]
+ bl sub_80A42B0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A46DA
+ b _080A4570
+_080A46DA:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A46EC: .4byte 0x0000105d
+_080A46F0: .4byte 0xfffffeae
+_080A46F4: .4byte gMoveNames
+_080A46F8: .4byte gStringVar1
+ thumb_func_end sub_80A4548
+
+ thumb_func_start sub_80A46FC
+sub_80A46FC: @ 80A46FC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ str r2, [sp, 0x8]
+ str r3, [sp, 0xC]
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp, 0x4]
+ lsls r1, 24
+ lsrs r6, r1, 24
+ ldr r0, _080A4724 @ =gBG2TilemapBuffer
+ mov r10, r0
+ ldr r1, _080A4728 @ =gStringVar2
+ mov r9, r1
+ ldr r0, _080A472C @ =gUnknown_03005D24
+ mov r8, r0
+ b _080A47B4
+ .align 2, 0
+_080A4724: .4byte gBG2TilemapBuffer
+_080A4728: .4byte gStringVar2
+_080A472C: .4byte gUnknown_03005D24
+_080A4730:
+ ldr r1, _080A47DC @ =gUnknown_03005D10
+ ldr r0, _080A47E0 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r4, [r0, 0x1]
+ adds r4, r6, r4
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, r6, 25
+ movs r1, 0x80
+ lsls r1, 18
+ adds r5, r1
+ lsrs r5, 24
+ lsls r0, r5, 5
+ adds r0, 0xE
+ lsls r1, r0, 1
+ add r1, r10
+ movs r2, 0x59
+ strh r2, [r1]
+ adds r0, 0x20
+ lsls r0, 1
+ add r0, r10
+ movs r1, 0x69
+ strh r1, [r0]
+ ldr r7, _080A47E4 @ =gStringVar1
+ ldr r1, [sp, 0x4]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ adds r1, r7, 0
+ adds r2, r6, 0
+ bl sub_80A425C
+ adds r7, r0, 0
+ mov r1, r8
+ ldr r0, [r1]
+ lsls r4, 2
+ adds r0, r4, r0
+ ldrh r0, [r0]
+ mov r1, r9
+ bl CopyItemName
+ mov r1, r8
+ ldr r0, [r1]
+ adds r4, r0
+ ldrh r1, [r4]
+ subs r1, 0x84
+ lsls r1, 16
+ lsrs r1, 16
+ ldrh r3, [r4, 0x2]
+ movs r0, 0x3
+ str r0, [sp]
+ adds r0, r7, 0
+ mov r2, r9
+ bl sub_80A41E0
+ ldr r0, _080A47E4 @ =gStringVar1
+ movs r1, 0xE
+ adds r2, r5, 0
+ bl MenuPrint
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_080A47B4:
+ ldr r0, [sp, 0x8]
+ cmp r6, r0
+ bgt _080A47CA
+ adds r0, r6, 0
+ ldr r1, [sp, 0xC]
+ bl sub_80A42B0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A4730
+_080A47CA:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A47DC: .4byte gUnknown_03005D10
+_080A47E0: .4byte gUnknown_02038559
+_080A47E4: .4byte gStringVar1
+ thumb_func_end sub_80A46FC
+
+ thumb_func_start sub_80A47E8
+sub_80A47E8: @ 80A47E8
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ adds r5, r2, 0
+ lsls r0, 16
+ lsrs r2, r0, 16
+ ldr r0, _080A4808 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x4
+ bhi _080A4852
+ lsls r0, 2
+ ldr r1, _080A480C @ =_080A4810
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080A4808: .4byte gUnknown_02038559
+_080A480C: .4byte _080A4810
+ .align 2, 0
+_080A4810:
+ .4byte _080A4824
+ .4byte _080A4824
+ .4byte _080A483C
+ .4byte _080A4848
+ .4byte _080A4830
+_080A4824:
+ adds r0, r2, 0
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_80A4380
+ b _080A4852
+_080A4830:
+ adds r0, r2, 0
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_80A444C
+ b _080A4852
+_080A483C:
+ adds r0, r2, 0
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_80A4548
+ b _080A4852
+_080A4848:
+ adds r0, r2, 0
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_80A46FC
+_080A4852:
+ ldr r1, _080A4870 @ =gUnknown_03005D10
+ ldr r0, _080A4874 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0
+ beq _080A4878
+ movs r0, 0
+ movs r1, 0
+ bl sub_80F979C
+ b _080A4880
+ .align 2, 0
+_080A4870: .4byte gUnknown_03005D10
+_080A4874: .4byte gUnknown_02038559
+_080A4878:
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_80F979C
+_080A4880:
+ ldr r0, _080A48A4 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ beq _080A48B0
+ ldr r1, _080A48A8 @ =gUnknown_03005D10
+ ldr r0, _080A48AC @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ adds r1, 0x8
+ ldrb r0, [r0, 0x2]
+ adds r0, 0x1
+ cmp r1, r0
+ blt _080A48C6
+ b _080A48D8
+ .align 2, 0
+_080A48A4: .4byte gUnknown_03000701
+_080A48A8: .4byte gUnknown_03005D10
+_080A48AC: .4byte gUnknown_02038559
+_080A48B0:
+ ldr r2, _080A48D0 @ =gUnknown_03005D10
+ ldr r0, _080A48D4 @ =gUnknown_02038559
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x1]
+ adds r0, 0x8
+ ldrb r1, [r1, 0x2]
+ cmp r0, r1
+ bge _080A48D8
+_080A48C6:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_80F979C
+ b _080A48E0
+ .align 2, 0
+_080A48D0: .4byte gUnknown_03005D10
+_080A48D4: .4byte gUnknown_02038559
+_080A48D8:
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_80F979C
+_080A48E0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A47E8
+
+ thumb_func_start sub_80A48E8
+sub_80A48E8: @ 80A48E8
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ movs r3, 0
+ bl sub_80A47E8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A48E8
+
+ thumb_func_start sub_80A48F8
+sub_80A48F8: @ 80A48F8
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0
+ movs r2, 0x5
+ movs r3, 0x2
+ bl sub_80A47E8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A48F8
+
+ thumb_func_start ItemListMenu_InitDescription
+ItemListMenu_InitDescription: @ 80A490C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldr r1, _080A4960 @ =gUnknown_03005D10
+ ldr r0, _080A4964 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ ldrb r2, [r0]
+ adds r1, r2
+ ldrb r0, [r0, 0x2]
+ cmp r1, r0
+ bne _080A4974
+ ldr r0, _080A4968 @ =gOtherText_ReturnTo
+ movs r4, 0x1
+ str r4, [sp]
+ movs r1, 0x4
+ movs r2, 0x68
+ movs r3, 0x68
+ bl sub_8072A18
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080A496C @ =gUnknown_0840E740
+ ldr r0, _080A4970 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ str r4, [sp]
+ movs r1, 0x4
+ movs r2, 0x78
+ movs r3, 0x68
+ bl sub_8072A18
+ adds r0, r5, r0
+ b _080A4988
+ .align 2, 0
+_080A4960: .4byte gUnknown_03005D10
+_080A4964: .4byte gUnknown_02038559
+_080A4968: .4byte gOtherText_ReturnTo
+_080A496C: .4byte gUnknown_0840E740
+_080A4970: .4byte gUnknown_03000701
+_080A4974:
+ adds r0, r3, 0
+ bl ItemId_GetDescription
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0x4
+ movs r2, 0x68
+ movs r3, 0x68
+ bl sub_8072A18
+_080A4988:
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bhi _080A49A4
+ lsls r1, r5, 25
+ movs r0, 0xD0
+ lsls r0, 20
+ adds r1, r0
+ lsrs r1, 24
+ movs r0, 0
+ movs r2, 0xD
+ movs r3, 0x14
+ bl MenuZeroFillWindowRect
+_080A49A4:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end ItemListMenu_InitDescription
+
+ thumb_func_start ItemListMenu_ChangeDescription
+ItemListMenu_ChangeDescription: @ 80A49AC
+ push {r4,r5,lr}
+ sub sp, 0x64
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r1, _080A49E8 @ =gUnknown_03005D10
+ ldr r0, _080A49EC @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ ldrb r2, [r0]
+ adds r1, r2
+ ldrb r0, [r0, 0x2]
+ cmp r1, r0
+ bne _080A4A18
+ cmp r4, 0
+ bne _080A49F4
+ movs r0, 0
+ movs r1, 0xD
+ movs r2, 0xD
+ movs r3, 0x14
+ bl MenuZeroFillWindowRect
+ ldr r0, _080A49F0 @ =gOtherText_ReturnTo
+ movs r1, 0x4
+ movs r2, 0x68
+ b _080A4A08
+ .align 2, 0
+_080A49E8: .4byte gUnknown_03005D10
+_080A49EC: .4byte gUnknown_02038559
+_080A49F0: .4byte gOtherText_ReturnTo
+_080A49F4:
+ cmp r4, 0x1
+ bne _080A4A4C
+ ldr r1, _080A4A10 @ =gUnknown_0840E740
+ ldr r0, _080A4A14 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x4
+ movs r2, 0x78
+_080A4A08:
+ movs r3, 0
+ bl MenuPrint_PixelCoords
+ b _080A4A4C
+ .align 2, 0
+_080A4A10: .4byte gUnknown_0840E740
+_080A4A14: .4byte gUnknown_03000701
+_080A4A18:
+ cmp r4, 0
+ bne _080A4A28
+ movs r0, 0
+ movs r1, 0xD
+ movs r2, 0xD
+ movs r3, 0x14
+ bl MenuZeroFillWindowRect
+_080A4A28:
+ lsls r1, r5, 16
+ asrs r1, 16
+ mov r0, sp
+ adds r2, r4, 0
+ bl ItemId_CopyDescription
+ cmp r0, 0
+ beq _080A4A4C
+ lsls r2, r4, 20
+ movs r0, 0xD0
+ lsls r0, 15
+ adds r2, r0
+ lsrs r2, 16
+ mov r0, sp
+ movs r1, 0x4
+ movs r3, 0
+ bl MenuPrint_PixelCoords
+_080A4A4C:
+ add sp, 0x64
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end ItemListMenu_ChangeDescription
+
+ thumb_func_start sub_80A4A54
+sub_80A4A54: @ 80A4A54
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r2, 0x1
+ adds r2, r1, 0
+ adds r1, r5, 0
+_080A4A5E:
+ ldrb r3, [r2]
+ adds r0, r3, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080A4A8A
+ subs r4, 0x1
+ cmp r4, 0
+ bne _080A4A78
+ movs r0, 0xFF
+ strb r0, [r1]
+ movs r0, 0x1
+ b _080A4A92
+_080A4A78:
+ lsls r0, r3, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ bne _080A4A84
+ movs r0, 0
+ b _080A4A92
+_080A4A84:
+ adds r1, r5, 0
+ adds r2, 0x1
+ b _080A4A5E
+_080A4A8A:
+ strb r3, [r1]
+ adds r2, 0x1
+ adds r1, 0x1
+ b _080A4A5E
+_080A4A92:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A4A54
+
+ thumb_func_start sub_80A4A98
+sub_80A4A98: @ 80A4A98
+ push {r4,r5,lr}
+ sub sp, 0x64
+ adds r5, r0, 0
+ adds r4, r1, 0
+ cmp r4, 0
+ bne _080A4AB0
+ movs r0, 0
+ movs r1, 0xD
+ movs r2, 0xD
+ movs r3, 0x14
+ bl MenuZeroFillWindowRect
+_080A4AB0:
+ mov r0, sp
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_80A4A54
+ cmp r0, 0
+ beq _080A4AD2
+ lsls r2, r4, 20
+ movs r0, 0xD0
+ lsls r0, 15
+ adds r2, r0
+ lsrs r2, 16
+ mov r0, sp
+ movs r1, 0x4
+ movs r3, 0
+ bl MenuPrint_PixelCoords
+_080A4AD2:
+ add sp, 0x64
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A4A98
+
+ thumb_func_start sub_80A4ADC
+sub_80A4ADC: @ 80A4ADC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A4B0C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0x1C
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _080A4AFA
+ movs r0, 0
+ bl sub_80A7528
+_080A4AFA:
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _080A4B10 @ =gUnknown_0203855C
+ movs r0, 0x1
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A4B0C: .4byte gTasks
+_080A4B10: .4byte gUnknown_0203855C
+ thumb_func_end sub_80A4ADC
+
+ thumb_func_start sub_80A4B14
+sub_80A4B14: @ 80A4B14
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r2, _080A4B50 @ =gUnknown_03005D10
+ ldr r1, _080A4B54 @ =gUnknown_02038559
+ ldrb r1, [r1]
+ lsls r1, 24
+ asrs r1, 24
+ lsls r1, 2
+ adds r1, r2
+ lsrs r0, 24
+ ldrb r2, [r1, 0x1]
+ adds r0, r2
+ strb r0, [r1, 0x1]
+ movs r0, 0
+ bl MoveMenuCursor
+ bl sub_80A73C0
+ bl sub_80A763C
+ adds r0, r4, 0
+ bl sub_80A4ADC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A4B50: .4byte gUnknown_03005D10
+_080A4B54: .4byte gUnknown_02038559
+ thumb_func_end sub_80A4B14
+
+ thumb_func_start sub_80A4B58
+sub_80A4B58: @ 80A4B58
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ bl MoveMenuCursor
+ ldr r2, _080A4B88 @ =gUnknown_03005D10
+ ldr r1, _080A4B8C @ =gUnknown_02038559
+ ldrb r1, [r1]
+ lsls r1, 24
+ asrs r1, 24
+ lsls r1, 2
+ adds r1, r2
+ strb r0, [r1]
+ bl sub_80A73C0
+ adds r0, r4, 0
+ bl sub_80A4ADC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A4B88: .4byte gUnknown_03005D10
+_080A4B8C: .4byte gUnknown_02038559
+ thumb_func_end sub_80A4B58
+
+ thumb_func_start sub_80A4B90
+sub_80A4B90: @ 80A4B90
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r0, 0x6
+ bl TestPlayerAvatarFlags
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A4BBC
+ ldr r0, _080A4BB4 @ =0x00000103
+ cmp r4, r0
+ beq _080A4BAE
+ adds r0, 0xD
+ cmp r4, r0
+ bne _080A4BBC
+_080A4BAE:
+ ldr r0, _080A4BB8 @ =gOtherText_Walk
+ b _080A4BE6
+ .align 2, 0
+_080A4BB4: .4byte 0x00000103
+_080A4BB8: .4byte gOtherText_Walk
+_080A4BBC:
+ adds r0, r4, 0
+ bl itemid_is_mail
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A4BE4
+ ldr r1, _080A4BDC @ =gUnknown_083C1640
+ ldr r0, _080A4BE0 @ =gUnknown_03000704
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, r1
+ ldr r0, [r0]
+ b _080A4BE6
+ .align 2, 0
+_080A4BDC: .4byte gUnknown_083C1640
+_080A4BE0: .4byte gUnknown_03000704
+_080A4BE4:
+ ldr r0, _080A4BEC @ =gOtherText_Check
+_080A4BE6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A4BEC: .4byte gOtherText_Check
+ thumb_func_end sub_80A4B90
+
+ thumb_func_start sub_80A4BF0
+sub_80A4BF0: @ 80A4BF0
+ push {r4-r7,lr}
+ sub sp, 0x8
+ adds r5, r0, 0
+ ldr r7, _080A4C38 @ =gUnknown_02038564
+ ldrb r4, [r7]
+ cmp r4, 0x4
+ beq _080A4C00
+ b _080A4CF8
+_080A4C00:
+ movs r0, 0
+ movs r1, 0x7
+ movs r2, 0xD
+ movs r3, 0xC
+ bl MenuDrawTextWindow
+ str r4, [sp]
+ adds r0, r5, 0
+ movs r1, 0x1
+ movs r2, 0x8
+ movs r3, 0xC
+ bl sub_80A4008
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A4C40
+ ldr r0, _080A4C3C @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bne _080A4C40
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_80A7834
+ b _080A4CA0
+ .align 2, 0
+_080A4C38: .4byte gUnknown_02038564
+_080A4C3C: .4byte gUnknown_03000701
+_080A4C40:
+ movs r6, 0
+ ldr r0, _080A4C5C @ =gUnknown_02038564
+ ldrb r0, [r0]
+ cmp r6, r0
+ bcs _080A4CA0
+ ldr r4, _080A4C60 @ =gUnknown_083C1640
+_080A4C4C:
+ cmp r6, 0
+ bne _080A4C68
+ ldr r0, _080A4C64 @ =word_203855E
+ ldrh r0, [r0]
+ bl sub_80A4B90
+ adds r3, r0, 0
+ b _080A4C76
+ .align 2, 0
+_080A4C5C: .4byte gUnknown_02038564
+_080A4C60: .4byte gUnknown_083C1640
+_080A4C64: .4byte word_203855E
+_080A4C68:
+ ldr r0, _080A4CC4 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r0, r6
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, r4
+ ldr r3, [r0]
+_080A4C76:
+ lsrs r0, r6, 1
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 1
+ adds r1, 0x1
+ lsls r1, 24
+ lsrs r1, 24
+ movs r2, 0x1
+ ands r2, r6
+ lsls r2, 1
+ adds r2, 0x8
+ adds r0, r3, 0
+ bl MenuPrint
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, _080A4CC8 @ =gUnknown_02038564
+ ldrb r0, [r0]
+ cmp r6, r0
+ bcc _080A4C4C
+_080A4CA0:
+ ldr r0, _080A4CCC @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bne _080A4CD4
+ ldr r0, _080A4CC8 @ =gUnknown_02038564
+ ldrb r3, [r0]
+ ldr r0, _080A4CD0 @ =gUnknown_03000700
+ ldrb r0, [r0]
+ str r0, [sp]
+ movs r0, 0x1
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x8
+ bl InitMenu
+ b _080A4CEA
+ .align 2, 0
+_080A4CC4: .4byte gUnknown_03000704
+_080A4CC8: .4byte gUnknown_02038564
+_080A4CCC: .4byte gUnknown_03000701
+_080A4CD0: .4byte gUnknown_03000700
+_080A4CD4:
+ ldr r0, _080A4CF4 @ =gUnknown_02038564
+ ldrb r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x1
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x8
+ bl InitMenu
+_080A4CEA:
+ movs r0, 0x2F
+ bl sub_8072DCC
+ b _080A4D8A
+ .align 2, 0
+_080A4CF4: .4byte gUnknown_02038564
+_080A4CF8:
+ movs r0, 0
+ movs r1, 0x5
+ movs r2, 0xD
+ movs r3, 0xC
+ bl MenuDrawTextWindow
+ movs r0, 0x6
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0x1
+ movs r2, 0x6
+ movs r3, 0xC
+ bl sub_80A4008
+ movs r6, 0
+ ldrb r7, [r7]
+ cmp r6, r7
+ bcs _080A4D6E
+ ldr r7, _080A4D98 @ =gUnknown_083C1640
+_080A4D1E:
+ ldr r0, _080A4D9C @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r0, r6
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, r7
+ ldr r5, [r0]
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 1
+ adds r4, r0
+ lsls r4, 1
+ adds r4, 0x1
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl __umodsi3
+ adds r2, r0, 0
+ lsls r2, 25
+ movs r0, 0xC0
+ lsls r0, 19
+ adds r2, r0
+ lsrs r2, 24
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl MenuPrint
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, _080A4DA0 @ =gUnknown_02038564
+ ldrb r0, [r0]
+ cmp r6, r0
+ bcc _080A4D1E
+_080A4D6E:
+ ldr r0, _080A4DA0 @ =gUnknown_02038564
+ ldrb r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x1
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x6
+ bl InitMenu
+ movs r0, 0x2F
+ bl sub_8072DCC
+_080A4D8A:
+ movs r0, 0x2
+ bl sub_80A7528
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A4D98: .4byte gUnknown_083C1640
+_080A4D9C: .4byte gUnknown_03000704
+_080A4DA0: .4byte gUnknown_02038564
+ thumb_func_end sub_80A4BF0
+
+ thumb_func_start sub_80A4DA4
+sub_80A4DA4: @ 80A4DA4
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ bl sub_80A73FC
+ movs r0, 0x6
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x6
+ movs r3, 0xD
+ bl sub_80A36B8
+ movs r0, 0
+ movs r1, 0x5
+ movs r2, 0xD
+ movs r3, 0xC
+ bl MenuZeroFillWindowRect
+ bl sub_80A7590
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A4DA4
+
+ thumb_func_start sub_80A4DD8
+sub_80A4DD8: @ 80A4DD8
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ sub sp, 0x4
+ adds r4, r1, 0
+ adds r1, r2, 0
+ adds r6, r3, 0
+ ldr r5, [sp, 0x20]
+ ldr r2, [sp, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ ldr r3, _080A4E84 @ =gTasks
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 3
+ adds r2, r3
+ movs r0, 0x1
+ strh r0, [r2, 0xA]
+ adds r0, r4, 0x2
+ mov r9, r0
+ strh r0, [r2, 0xC]
+ adds r0, r1, 0x1
+ mov r8, r0
+ strh r0, [r2, 0xE]
+ adds r2, r4, r6
+ lsls r2, 24
+ lsrs r2, 24
+ adds r3, r1, r5
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r4, 0
+ bl MenuDrawTextWindow
+ ldr r0, _080A4E88 @ =gBG1TilemapBuffer
+ adds r4, 0x1
+ lsls r4, 24
+ lsrs r4, 24
+ mov r1, r8
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ subs r6, 0x1
+ lsls r6, 24
+ lsrs r6, 24
+ subs r5, 0x1
+ lsls r5, 24
+ lsrs r5, 24
+ str r5, [sp]
+ adds r1, r4, 0
+ mov r2, r8
+ adds r3, r6, 0
+ bl sub_80A4008
+ mov r2, r9
+ lsls r2, 24
+ lsrs r2, 24
+ mov r9, r2
+ mov r0, r10
+ str r0, [sp]
+ movs r0, 0x1
+ movs r1, 0x1
+ mov r3, r8
+ bl sub_80A418C
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A4E84: .4byte gTasks
+_080A4E88: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80A4DD8
+
+ thumb_func_start sub_80A4E8C
+sub_80A4E8C: @ 80A4E8C
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r6, 24
+ lsrs r6, 24
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_80F979C
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_80F979C
+ movs r0, 0x2
+ movs r1, 0x1
+ bl sub_80F979C
+ movs r0, 0x3
+ movs r1, 0x1
+ bl sub_80F979C
+ movs r0, 0
+ bl sub_80F996C
+ movs r0, 0x1
+ bl sub_80F996C
+ movs r0, 0x2
+ bl sub_80F996C
+ movs r0, 0x3
+ bl sub_80F996C
+ ldr r5, _080A4F04 @ =gBG2TilemapBuffer
+ lsls r4, 24
+ asrs r4, 24
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_80A3B04
+ ldr r0, _080A4F08 @ =gUnknown_02038559
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl sub_80A3AC0
+ bl sub_80A3770
+ bl sub_80A7C64
+ adds r0, r6, 0
+ bl CreateBagPokeballSprite
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A4F04: .4byte gBG2TilemapBuffer
+_080A4F08: .4byte gUnknown_02038559
+ thumb_func_end sub_80A4E8C
+
+ thumb_func_start sub_80A4F0C
+sub_80A4F0C: @ 80A4F0C
+ push {r4,lr}
+ ldr r0, _080A4F38 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ subs r0, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _080A4F60
+ ldr r4, _080A4F3C @ =gMain
+ ldrh r0, [r4, 0x2E]
+ cmp r0, 0x10
+ beq _080A4F30
+ bl sub_80F9284
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _080A4F40
+_080A4F30:
+ movs r0, 0x1
+ movs r1, 0x2
+ b _080A4F58
+ .align 2, 0
+_080A4F38: .4byte gUnknown_03000701
+_080A4F3C: .4byte gMain
+_080A4F40:
+ ldrh r0, [r4, 0x2E]
+ cmp r0, 0x20
+ beq _080A4F52
+ bl sub_80F9284
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A4F60
+_080A4F52:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0x1
+_080A4F58:
+ bl sub_80A4E8C
+ movs r0, 0x1
+ b _080A4F62
+_080A4F60:
+ movs r0, 0
+_080A4F62:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A4F0C
+
+ thumb_func_start sub_80A4F68
+sub_80A4F68: @ 80A4F68
+ push {lr}
+ bl sub_80A4F0C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A4F68
+
+ thumb_func_start sub_80A4F74
+sub_80A4F74: @ 80A4F74
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r2, r4, 0
+ movs r5, 0
+ ldr r0, _080A4FAC @ =gMain
+ ldrh r0, [r0, 0x30]
+ movs r1, 0xF0
+ ands r1, r0
+ cmp r1, 0x40
+ bne _080A4FE8
+ ldr r1, _080A4FB0 @ =gUnknown_03005D10
+ ldr r0, _080A4FB4 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080A4FB8
+ movs r0, 0x1
+ negs r0, r0
+ adds r1, r4, 0
+ bl sub_80A4B58
+ b _080A4FC8
+ .align 2, 0
+_080A4FAC: .4byte gMain
+_080A4FB0: .4byte gUnknown_03005D10
+_080A4FB4: .4byte gUnknown_02038559
+_080A4FB8:
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0
+ beq _080A4FC8
+ movs r0, 0x1
+ negs r0, r0
+ adds r1, r4, 0
+ bl sub_80A4B14
+_080A4FC8:
+ ldr r0, _080A4FE0 @ =gLinkOpen
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080A50AE
+ ldr r1, _080A4FE4 @ =gMain
+ ldrh r0, [r1, 0x32]
+ cmp r0, 0x5
+ bne _080A50AE
+ movs r0, 0xB
+ strh r0, [r1, 0x32]
+ b _080A50AE
+ .align 2, 0
+_080A4FE0: .4byte gLinkOpen
+_080A4FE4: .4byte gMain
+_080A4FE8:
+ cmp r1, 0x80
+ bne _080A5088
+ ldr r0, _080A5020 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ beq _080A502C
+ ldr r1, _080A5024 @ =gUnknown_03005D10
+ ldr r0, _080A5028 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r2, r0, r1
+ ldrb r0, [r2]
+ ldrb r1, [r2, 0x3]
+ cmp r0, r1
+ bne _080A504E
+ ldrb r0, [r2, 0x1]
+ ldrb r1, [r2]
+ adds r0, r1
+ ldrb r2, [r2, 0x2]
+ cmp r0, r2
+ beq _080A5068
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_80A4B14
+ b _080A5068
+ .align 2, 0
+_080A5020: .4byte gUnknown_03000701
+_080A5024: .4byte gUnknown_03005D10
+_080A5028: .4byte gUnknown_02038559
+_080A502C:
+ ldr r1, _080A5058 @ =gUnknown_03005D10
+ ldr r0, _080A505C @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r2, r0, r1
+ ldrb r1, [r2, 0x1]
+ ldrb r3, [r2]
+ adds r1, r3
+ ldrb r0, [r2, 0x2]
+ subs r0, 0x1
+ cmp r1, r0
+ beq _080A5068
+ ldrb r2, [r2, 0x3]
+ cmp r3, r2
+ beq _080A5060
+_080A504E:
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_80A4B58
+ b _080A5068
+ .align 2, 0
+_080A5058: .4byte gUnknown_03005D10
+_080A505C: .4byte gUnknown_02038559
+_080A5060:
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_80A4B14
+_080A5068:
+ movs r5, 0x1
+ ldr r0, _080A5080 @ =gLinkOpen
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080A50C0
+ ldr r1, _080A5084 @ =gMain
+ ldrh r0, [r1, 0x32]
+ cmp r0, 0x5
+ bne _080A50C0
+ movs r0, 0xB
+ strh r0, [r1, 0x32]
+ b _080A50C0
+ .align 2, 0
+_080A5080: .4byte gLinkOpen
+_080A5084: .4byte gMain
+_080A5088:
+ ldr r0, _080A50B4 @ =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r4, r1, r0
+ movs r1, 0x1C
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080A50BC
+ bl sub_80A4F0C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A50BC
+ bl sub_80A73F0
+ ldr r0, _080A50B8 @ =sub_80A4F68
+ str r0, [r4]
+_080A50AE:
+ movs r5, 0x1
+ b _080A50C0
+ .align 2, 0
+_080A50B4: .4byte gTasks
+_080A50B8: .4byte sub_80A4F68
+_080A50BC:
+ bl sub_80A73C0
+_080A50C0:
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A4F74
+
+ thumb_func_start sub_80A50C8
+sub_80A50C8: @ 80A50C8
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, _080A5148 @ =gTasks + 0x8
+ adds r5, r0, r1
+ ldr r0, _080A514C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080A50E6
+ b _080A52BC
+_080A50E6:
+ adds r0, r4, 0
+ bl sub_80A4F74
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A50F6
+ b _080A526A
+_080A50F6:
+ ldr r2, _080A5150 @ =gMain
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080A5190
+ ldr r3, _080A5154 @ =gUnknown_02038559
+ ldrb r0, [r3]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _080A5190
+ ldr r0, _080A5158 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bhi _080A5190
+ movs r1, 0x14
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _080A5160
+ ldr r1, _080A515C @ =gUnknown_03005D10
+ movs r0, 0
+ ldrsb r0, [r3, r0]
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ ldrb r2, [r0]
+ adds r1, r2
+ ldrb r0, [r0, 0x2]
+ cmp r1, r0
+ bne _080A5138
+ b _080A526A
+_080A5138:
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_80A3F50
+ b _080A526A
+ .align 2, 0
+_080A5148: .4byte gTasks + 0x8
+_080A514C: .4byte gPaletteFade
+_080A5150: .4byte gMain
+_080A5154: .4byte gUnknown_02038559
+_080A5158: .4byte gUnknown_03000701
+_080A515C: .4byte gUnknown_03005D10
+_080A5160:
+ ldr r1, _080A5184 @ =gUnknown_03005D10
+ movs r0, 0
+ ldrsb r0, [r3, r0]
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ ldrb r2, [r0]
+ adds r1, r2
+ ldrb r0, [r0, 0x2]
+ cmp r1, r0
+ beq _080A5188
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_80A3E90
+ b _080A526A
+ .align 2, 0
+_080A5184: .4byte gUnknown_03005D10
+_080A5188:
+ adds r0, r4, 0
+ bl sub_80A3EF4
+ b _080A526A
+_080A5190:
+ ldrh r2, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _080A5272
+ ldr r7, _080A51D4 @ =gUnknown_03005D10
+ ldr r6, _080A51D8 @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r6, r0]
+ lsls r0, 2
+ adds r0, r7
+ ldrb r1, [r0, 0x1]
+ ldrb r2, [r0]
+ adds r1, r2
+ ldrb r0, [r0, 0x2]
+ cmp r1, r0
+ bne _080A51F0
+ movs r0, 0x14
+ ldrsh r1, [r5, r0]
+ cmp r1, 0
+ bne _080A51E8
+ ldr r0, _080A51DC @ =word_203855E
+ strh r1, [r0]
+ ldr r1, _080A51E0 @ =gUnknown_083C16BC
+ ldr r0, _080A51E4 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+ b _080A526A
+ .align 2, 0
+_080A51D4: .4byte gUnknown_03005D10
+_080A51D8: .4byte gUnknown_02038559
+_080A51DC: .4byte word_203855E
+_080A51E0: .4byte gUnknown_083C16BC
+_080A51E4: .4byte gUnknown_03000701
+_080A51E8:
+ adds r0, r4, 0
+ bl sub_80A3EF4
+ b _080A526A
+_080A51F0:
+ movs r1, 0x14
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _080A5264
+ movs r0, 0x5
+ bl PlaySE
+ ldr r2, _080A5250 @ =gUnknown_02038560
+ movs r1, 0
+ ldrsb r1, [r6, r1]
+ lsls r1, 2
+ adds r1, r7
+ ldrb r0, [r1]
+ ldrb r1, [r1, 0x1]
+ adds r0, r1
+ strb r0, [r2]
+ ldr r3, _080A5254 @ =word_203855E
+ ldrb r0, [r2]
+ ldr r1, _080A5258 @ =gUnknown_03005D24
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r3]
+ ldr r1, _080A525C @ =gUnknown_083C16BC
+ ldr r0, _080A5260 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+ movs r0, 0
+ bl sub_80F98A4
+ movs r0, 0x1
+ bl sub_80F98A4
+ movs r0, 0x2
+ bl sub_80F98A4
+ movs r0, 0x3
+ bl sub_80F98A4
+ bl sub_80A797C
+ b _080A526A
+ .align 2, 0
+_080A5250: .4byte gUnknown_02038560
+_080A5254: .4byte word_203855E
+_080A5258: .4byte gUnknown_03005D24
+_080A525C: .4byte gUnknown_083C16BC
+_080A5260: .4byte gUnknown_03000701
+_080A5264:
+ adds r0, r4, 0
+ bl sub_80A3E90
+_080A526A:
+ adds r0, r4, 0
+ bl sub_808B5B4
+ b _080A52BC
+_080A5272:
+ movs r0, 0x2
+ ands r0, r2
+ cmp r0, 0
+ beq _080A52BC
+ movs r0, 0x14
+ ldrsh r1, [r5, r0]
+ cmp r1, 0
+ bne _080A52B0
+ ldr r2, _080A52A4 @ =gUnknown_03000701
+ ldrb r0, [r2]
+ cmp r0, 0x5
+ beq _080A52B6
+ ldr r0, _080A52A8 @ =word_203855E
+ strh r1, [r0]
+ ldr r1, _080A52AC @ =gUnknown_083C16BC
+ ldrb r0, [r2]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+ b _080A52B6
+ .align 2, 0
+_080A52A4: .4byte gUnknown_03000701
+_080A52A8: .4byte word_203855E
+_080A52AC: .4byte gUnknown_083C16BC
+_080A52B0:
+ adds r0, r4, 0
+ bl sub_80A3EF4
+_080A52B6:
+ adds r0, r4, 0
+ bl sub_808B5B4
+_080A52BC:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A50C8
+
+ thumb_func_start sub_80A52C4
+sub_80A52C4: @ 80A52C4
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 16
+ lsrs r3, r1, 16
+ adds r4, r3, 0
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _080A52F4 @ =gTasks + 0x8
+ adds r1, r0
+ ldr r0, _080A52F8 @ =gMain
+ ldrh r0, [r0, 0x30]
+ movs r2, 0xF0
+ ands r2, r0
+ cmp r2, 0x40
+ bne _080A52FC
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ cmp r0, r3
+ beq _080A533E
+ ldrh r0, [r1, 0x2]
+ adds r0, 0x1
+ b _080A5340
+ .align 2, 0
+_080A52F4: .4byte gTasks + 0x8
+_080A52F8: .4byte gMain
+_080A52FC:
+ cmp r2, 0x80
+ bne _080A5312
+ ldrh r2, [r1, 0x2]
+ movs r4, 0x2
+ ldrsh r0, [r1, r4]
+ cmp r0, 0x1
+ beq _080A530E
+ subs r0, r2, 0x1
+ b _080A5340
+_080A530E:
+ strh r3, [r1, 0x2]
+ b _080A5342
+_080A5312:
+ cmp r2, 0x10
+ bne _080A532A
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ adds r0, 0xA
+ cmp r0, r3
+ bge _080A5326
+ ldrh r0, [r1, 0x2]
+ adds r0, 0xA
+ b _080A5340
+_080A5326:
+ strh r4, [r1, 0x2]
+ b _080A5342
+_080A532A:
+ cmp r2, 0x20
+ bne _080A5346
+ ldrh r2, [r1, 0x2]
+ movs r3, 0x2
+ ldrsh r0, [r1, r3]
+ cmp r0, 0xA
+ ble _080A533E
+ adds r0, r2, 0
+ subs r0, 0xA
+ b _080A5340
+_080A533E:
+ movs r0, 0x1
+_080A5340:
+ strh r0, [r1, 0x2]
+_080A5342:
+ movs r0, 0x1
+ b _080A5348
+_080A5346:
+ movs r0, 0
+_080A5348:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A52C4
+
+ thumb_func_start sub_80A5350
+sub_80A5350: @ 80A5350
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r2, _080A539C @ =gTasks + 0x8
+ adds r4, r1, r2
+ ldr r1, _080A53A0 @ =gUnknown_02038560
+ ldrb r1, [r1]
+ ldr r2, _080A53A4 @ =gUnknown_03005D24
+ ldr r2, [r2]
+ lsls r1, 2
+ adds r1, r2
+ ldrh r1, [r1, 0x2]
+ bl sub_80A52C4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A53C0
+ ldr r0, _080A53A8 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x3
+ bne _080A53AC
+ ldrh r0, [r4, 0x2]
+ ldrb r2, [r4, 0x4]
+ ldrb r3, [r4, 0x6]
+ movs r1, 0x3
+ str r1, [sp]
+ movs r1, 0x1
+ bl sub_80A418C
+ b _080A53BC
+ .align 2, 0
+_080A539C: .4byte gTasks + 0x8
+_080A53A0: .4byte gUnknown_02038560
+_080A53A4: .4byte gUnknown_03005D24
+_080A53A8: .4byte gUnknown_02038559
+_080A53AC:
+ ldrh r0, [r4, 0x2]
+ ldrb r2, [r4, 0x4]
+ ldrb r3, [r4, 0x6]
+ movs r1, 0x2
+ str r1, [sp]
+ movs r1, 0x1
+ bl sub_80A418C
+_080A53BC:
+ movs r0, 0x1
+ b _080A53C2
+_080A53C0:
+ movs r0, 0
+_080A53C2:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A5350
+
+ thumb_func_start sub_80A53CC
+sub_80A53CC: @ 80A53CC
+ push {lr}
+ bl sub_80A34B4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A53EA
+ bl sub_80A3770
+ ldr r0, _080A53F0 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A53F4 @ =gUnknown_02038563
+ strb r0, [r1]
+_080A53EA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A53F0: .4byte sub_80A50C8
+_080A53F4: .4byte gUnknown_02038563
+ thumb_func_end sub_80A53CC
+
+ thumb_func_start sub_80A53F8
+sub_80A53F8: @ 80A53F8
+ push {lr}
+ ldr r0, _080A540C @ =gUnknown_03000701
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _080A5410 @ =sub_80A53CC
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A540C: .4byte gUnknown_03000701
+_080A5410: .4byte sub_80A53CC
+ thumb_func_end sub_80A53F8
+
+ thumb_func_start sub_80A5414
+sub_80A5414: @ 80A5414
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r5, 0
+ bl sub_80A78A0
+ cmp r0, 0
+ bne _080A5426
+ b _080A5552
+_080A5426:
+ ldr r2, _080A5460 @ =gMain
+ ldrh r0, [r2, 0x30]
+ movs r1, 0xF0
+ ands r1, r0
+ cmp r1, 0x40
+ bne _080A546C
+ ldr r4, _080A5464 @ =gUnknown_03000700
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A5440
+ b _080A5552
+_080A5440:
+ ldrb r1, [r4]
+ ldr r0, _080A5468 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r1, r0
+ subs r1, 0x1
+ ldrb r0, [r1]
+ cmp r0, 0x8
+ bne _080A5452
+ b _080A5552
+_080A5452:
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ b _080A54EE
+ .align 2, 0
+_080A5460: .4byte gMain
+_080A5464: .4byte gUnknown_03000700
+_080A5468: .4byte gUnknown_03000704
+_080A546C:
+ cmp r1, 0x80
+ bne _080A549C
+ ldr r4, _080A5494 @ =gUnknown_03000700
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A5552
+ ldrb r1, [r4]
+ ldr r0, _080A5498 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0x8
+ beq _080A5552
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ b _080A54EE
+ .align 2, 0
+_080A5494: .4byte gUnknown_03000700
+_080A5498: .4byte gUnknown_03000704
+_080A549C:
+ cmp r1, 0x20
+ bne _080A54CC
+ ldr r4, _080A54C4 @ =gUnknown_03000700
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bls _080A5552
+ adds r1, r0, 0
+ ldr r0, _080A54C8 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r1, r0
+ subs r1, 0x2
+ ldrb r0, [r1]
+ cmp r0, 0x8
+ beq _080A5552
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x2
+ negs r0, r0
+ b _080A54EE
+ .align 2, 0
+_080A54C4: .4byte gUnknown_03000700
+_080A54C8: .4byte gUnknown_03000704
+_080A54CC:
+ cmp r1, 0x10
+ bne _080A5500
+ ldr r4, _080A54F8 @ =gUnknown_03000700
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bhi _080A5552
+ adds r1, r0, 0
+ ldr r0, _080A54FC @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0x8
+ beq _080A5552
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x2
+_080A54EE:
+ bl MoveMenuCursor3
+ strb r0, [r4]
+ b _080A5552
+ .align 2, 0
+_080A54F8: .4byte gUnknown_03000700
+_080A54FC: .4byte gUnknown_03000704
+_080A5500:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A5590
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A5552
+ ldr r1, _080A5570 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x1C]
+ ldr r1, _080A5574 @ =gUnknown_03005D10
+ ldr r0, _080A5578 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ ldr r0, _080A557C @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r1, _080A5580 @ =gUnknown_083C1640
+ ldr r0, _080A5584 @ =gUnknown_03000704
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x3]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r5, [r0]
+ adds r0, r4, 0
+ bl _call_via_r5
+_080A5552:
+ cmp r5, 0
+ bne _080A55FA
+ ldr r0, _080A5588 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bne _080A55E0
+ ldr r0, _080A558C @ =gUnknown_03000700
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080A55D4
+ movs r0, 0xC
+ bl sub_8072DDC
+ b _080A55FA
+ .align 2, 0
+_080A5570: .4byte gTasks
+_080A5574: .4byte gUnknown_03005D10
+_080A5578: .4byte gUnknown_02038559
+_080A557C: .4byte gBG1TilemapBuffer
+_080A5580: .4byte gUnknown_083C1640
+_080A5584: .4byte gUnknown_03000704
+_080A5588: .4byte gUnknown_03000701
+_080A558C: .4byte gUnknown_03000700
+_080A5590:
+ ldr r1, _080A55C0 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x1C]
+ ldr r0, _080A55C4 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r1, _080A55C8 @ =gUnknown_083C1640
+ ldr r0, _080A55CC @ =gUnknown_03000700
+ ldrb r2, [r0]
+ ldr r0, _080A55D0 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r5, [r0]
+ adds r0, r4, 0
+ bl _call_via_r5
+ b _080A5552
+ .align 2, 0
+_080A55C0: .4byte gTasks
+_080A55C4: .4byte gBG1TilemapBuffer
+_080A55C8: .4byte gUnknown_083C1640
+_080A55CC: .4byte gUnknown_03000700
+_080A55D0: .4byte gUnknown_03000704
+_080A55D4:
+ cmp r0, 0x1
+ bls _080A55E8
+ movs r0, 0x30
+ bl sub_8072DCC
+ b _080A55FA
+_080A55E0:
+ ldr r0, _080A55F0 @ =gUnknown_03000700
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bhi _080A55F4
+_080A55E8:
+ movs r0, 0x2F
+ bl sub_8072DCC
+ b _080A55FA
+ .align 2, 0
+_080A55F0: .4byte gUnknown_03000700
+_080A55F4:
+ movs r0, 0x30
+ bl sub_8072DCC
+_080A55FA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5414
+
+ thumb_func_start sub_80A5600
+sub_80A5600: @ 80A5600
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r5, 0
+ ldr r2, _080A563C @ =gMain
+ ldrh r0, [r2, 0x30]
+ movs r1, 0xF0
+ ands r1, r0
+ cmp r1, 0x40
+ bne _080A5648
+ ldr r4, _080A5640 @ =gUnknown_03000700
+ ldrb r0, [r4]
+ cmp r0, 0
+ bne _080A561E
+ b _080A5736
+_080A561E:
+ adds r1, r0, 0
+ ldr r0, _080A5644 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r1, r0
+ subs r1, 0x1
+ ldrb r0, [r1]
+ cmp r0, 0x8
+ bne _080A5630
+ b _080A5736
+_080A5630:
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ b _080A56D2
+ .align 2, 0
+_080A563C: .4byte gMain
+_080A5640: .4byte gUnknown_03000700
+_080A5644: .4byte gUnknown_03000704
+_080A5648:
+ cmp r1, 0x80
+ bne _080A5680
+ ldr r4, _080A5674 @ =gUnknown_03000700
+ ldrb r1, [r4]
+ ldr r0, _080A5678 @ =gUnknown_02038564
+ ldrb r0, [r0]
+ subs r0, 0x1
+ cmp r1, r0
+ beq _080A5736
+ cmp r1, 0x2
+ beq _080A5736
+ ldr r0, _080A567C @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r0, r1, r0
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0x8
+ beq _080A5736
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ b _080A56D2
+ .align 2, 0
+_080A5674: .4byte gUnknown_03000700
+_080A5678: .4byte gUnknown_02038564
+_080A567C: .4byte gUnknown_03000704
+_080A5680:
+ cmp r1, 0x20
+ bne _080A56B0
+ ldr r4, _080A56A8 @ =gUnknown_03000700
+ ldrb r0, [r4]
+ cmp r0, 0x2
+ bls _080A5736
+ adds r1, r0, 0
+ ldr r0, _080A56AC @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r1, r0
+ subs r1, 0x3
+ ldrb r0, [r1]
+ cmp r0, 0x8
+ beq _080A5736
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x3
+ negs r0, r0
+ b _080A56D2
+ .align 2, 0
+_080A56A8: .4byte gUnknown_03000700
+_080A56AC: .4byte gUnknown_03000704
+_080A56B0:
+ cmp r1, 0x10
+ bne _080A56E4
+ ldr r4, _080A56DC @ =gUnknown_03000700
+ ldrb r0, [r4]
+ cmp r0, 0x2
+ bhi _080A5736
+ adds r1, r0, 0
+ ldr r0, _080A56E0 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r1, r0
+ ldrb r0, [r1, 0x3]
+ cmp r0, 0x8
+ beq _080A5736
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x3
+_080A56D2:
+ bl MoveMenuCursor3
+ strb r0, [r4]
+ b _080A5736
+ .align 2, 0
+_080A56DC: .4byte gUnknown_03000700
+_080A56E0: .4byte gUnknown_03000704
+_080A56E4:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A5768
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A5736
+ ldr r1, _080A574C @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x1C]
+ ldr r1, _080A5750 @ =gUnknown_03005D10
+ ldr r0, _080A5754 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ ldr r0, _080A5758 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r1, _080A575C @ =gUnknown_083C1640
+ ldr r0, _080A5760 @ =gUnknown_03000704
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x5]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r5, [r0]
+ adds r0, r4, 0
+ bl _call_via_r5
+_080A5736:
+ cmp r5, 0
+ bne _080A57BE
+ ldr r0, _080A5764 @ =gUnknown_03000700
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080A57AC
+ movs r0, 0xC
+ bl sub_8072DDC
+ b _080A57BE
+ .align 2, 0
+_080A574C: .4byte gTasks
+_080A5750: .4byte gUnknown_03005D10
+_080A5754: .4byte gUnknown_02038559
+_080A5758: .4byte gBG1TilemapBuffer
+_080A575C: .4byte gUnknown_083C1640
+_080A5760: .4byte gUnknown_03000704
+_080A5764: .4byte gUnknown_03000700
+_080A5768:
+ ldr r1, _080A5798 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x1C]
+ ldr r0, _080A579C @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r1, _080A57A0 @ =gUnknown_083C1640
+ ldr r0, _080A57A4 @ =gUnknown_03000700
+ ldrb r2, [r0]
+ ldr r0, _080A57A8 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r5, [r0]
+ adds r0, r4, 0
+ bl _call_via_r5
+ b _080A5736
+ .align 2, 0
+_080A5798: .4byte gTasks
+_080A579C: .4byte gBG1TilemapBuffer
+_080A57A0: .4byte gUnknown_083C1640
+_080A57A4: .4byte gUnknown_03000700
+_080A57A8: .4byte gUnknown_03000704
+_080A57AC:
+ cmp r0, 0x2
+ bhi _080A57B8
+ movs r0, 0x2F
+ bl sub_8072DCC
+ b _080A57BE
+_080A57B8:
+ movs r0, 0x30
+ bl sub_8072DCC
+_080A57BE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5600
+
+ thumb_func_start sub_80A57C4
+sub_80A57C4: @ 80A57C4
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r5, _080A57EC @ =gUnknown_03000704
+ ldr r0, _080A57F0 @ =gUnknown_02038559
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ lsls r1, 1
+ ldr r4, _080A57F4 @ =gUnknown_083C16AE
+ adds r1, r4
+ str r1, [r5]
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x4
+ bne _080A57FC
+ ldr r1, _080A57F8 @ =gUnknown_02038564
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r5, 0x9
+ b _080A582C
+ .align 2, 0
+_080A57EC: .4byte gUnknown_03000704
+_080A57F0: .4byte gUnknown_02038559
+_080A57F4: .4byte gUnknown_083C16AE
+_080A57F8: .4byte gUnknown_02038564
+_080A57FC:
+ ldr r0, _080A581C @ =word_203855E
+ ldrh r0, [r0]
+ bl sub_80F92F4
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A5824
+ adds r0, r4, 0
+ adds r0, 0x8
+ str r0, [r5]
+ ldr r1, _080A5820 @ =gUnknown_02038564
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r5, 0x9
+ b _080A582C
+ .align 2, 0
+_080A581C: .4byte word_203855E
+_080A5820: .4byte gUnknown_02038564
+_080A5824:
+ ldr r1, _080A5880 @ =gUnknown_02038564
+ movs r0, 0x2
+ strb r0, [r1]
+ movs r5, 0x7
+_080A582C:
+ adds r6, r1, 0
+ ldr r0, _080A5884 @ =gBG1TilemapBuffer
+ adds r4, r5, 0x1
+ ldrb r1, [r6]
+ lsls r1, 25
+ lsrs r1, 24
+ str r1, [sp]
+ movs r1, 0x7
+ adds r2, r4, 0
+ movs r3, 0x6
+ bl sub_80A4008
+ ldrb r3, [r6]
+ lsls r3, 1
+ adds r3, 0x1
+ adds r3, r5, r3
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0x6
+ adds r1, r5, 0
+ movs r2, 0xD
+ bl MenuDrawTextWindow
+ movs r0, 0
+ adds r1, r5, 0
+ bl sub_80A7834
+ ldrb r3, [r6]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x6
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x7
+ adds r2, r4, 0
+ bl InitMenu
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5880: .4byte gUnknown_02038564
+_080A5884: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80A57C4
+
+ thumb_func_start sub_80A5888
+sub_80A5888: @ 80A5888
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ bl sub_80A78A0
+ cmp r0, 0
+ beq _080A5988
+ ldr r2, _080A58B8 @ =gMain
+ ldrh r1, [r2, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080A58C0
+ ldr r4, _080A58BC @ =gUnknown_03000700
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _080A5988
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ b _080A58E2
+ .align 2, 0
+_080A58B8: .4byte gMain
+_080A58BC: .4byte gUnknown_03000700
+_080A58C0:
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ beq _080A58F4
+ ldr r4, _080A58EC @ =gUnknown_03000700
+ ldrb r1, [r4]
+ ldr r0, _080A58F0 @ =gUnknown_02038564
+ ldrb r0, [r0]
+ subs r0, 0x1
+ cmp r1, r0
+ beq _080A5988
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+_080A58E2:
+ bl MoveMenuCursor
+ strb r0, [r4]
+ b _080A5988
+ .align 2, 0
+_080A58EC: .4byte gUnknown_03000700
+_080A58F0: .4byte gUnknown_02038564
+_080A58F4:
+ ldrh r1, [r2, 0x2E]
+ movs r2, 0x1
+ ands r2, r1
+ cmp r2, 0
+ beq _080A5964
+ ldr r1, _080A5948 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r3, [r0, 0x1C]
+ ldr r1, _080A594C @ =gUnknown_03005D10
+ ldr r0, _080A5950 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ ldr r0, _080A5954 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r1, _080A5958 @ =gUnknown_083C1640
+ ldr r0, _080A595C @ =gUnknown_03000700
+ ldrb r2, [r0]
+ ldr r0, _080A5960 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+ b _080A5988
+ .align 2, 0
+_080A5948: .4byte gTasks
+_080A594C: .4byte gUnknown_03005D10
+_080A5950: .4byte gUnknown_02038559
+_080A5954: .4byte gBG1TilemapBuffer
+_080A5958: .4byte gUnknown_083C1640
+_080A595C: .4byte gUnknown_03000700
+_080A5960: .4byte gUnknown_03000704
+_080A5964:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A5988
+ ldr r1, _080A5990 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ strh r2, [r0, 0x1C]
+ ldr r0, _080A5994 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r0, _080A5998 @ =gUnknown_083C1640
+ ldr r1, [r0, 0x14]
+ adds r0, r5, 0
+ bl _call_via_r1
+_080A5988:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5990: .4byte gTasks
+_080A5994: .4byte gBG1TilemapBuffer
+_080A5998: .4byte gUnknown_083C1640
+ thumb_func_end sub_80A5888
+
+ thumb_func_start sub_80A599C
+sub_80A599C: @ 80A599C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A59C4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r3, _080A59C8 @ =sub_805469C
+ lsrs r2, r3, 16
+ movs r4, 0
+ strh r2, [r1, 0x18]
+ strh r3, [r1, 0x1A]
+ ldr r1, _080A59CC @ =gUnknown_03005CE0
+ strb r4, [r1]
+ bl sub_80A5AE4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A59C4: .4byte gTasks
+_080A59C8: .4byte sub_805469C
+_080A59CC: .4byte gUnknown_03005CE0
+ thumb_func_end sub_80A599C
+
+ thumb_func_start sub_80A59D0
+sub_80A59D0: @ 80A59D0
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080A5A3C @ =gUnknown_03000700
+ movs r0, 0
+ strb r0, [r1]
+ ldr r7, _080A5A40 @ =gUnknown_03000701
+ ldrb r0, [r7]
+ cmp r0, 0x5
+ bne _080A59E8
+ movs r0, 0x1
+ strb r0, [r1]
+_080A59E8:
+ ldr r1, _080A5A44 @ =gTasks
+ lsls r4, r5, 2
+ adds r0, r4, r5
+ lsls r0, 3
+ adds r6, r0, r1
+ ldr r3, _080A5A48 @ =gUnknown_03005D10
+ ldr r2, _080A5A4C @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ adds r1, 0x1
+ strh r1, [r6, 0x1C]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ adds r0, r3
+ ldrb r2, [r0]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ bl sub_80A73FC
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A5A54
+ ldrb r0, [r7]
+ cmp r0, 0x5
+ beq _080A5A54
+ bl sub_80A57C4
+ ldr r0, _080A5A50 @ =sub_80A5888
+ str r0, [r6]
+ b _080A5A9C
+ .align 2, 0
+_080A5A3C: .4byte gUnknown_03000700
+_080A5A40: .4byte gUnknown_03000701
+_080A5A44: .4byte gTasks
+_080A5A48: .4byte gUnknown_03005D10
+_080A5A4C: .4byte gUnknown_02038559
+_080A5A50: .4byte sub_80A5888
+_080A5A54:
+ ldr r0, _080A5A7C @ =gBG1TilemapBuffer
+ bl sub_80A4BF0
+ ldr r0, _080A5A80 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x3
+ bne _080A5A6E
+ ldr r0, _080A5A84 @ =gUnknown_03000701
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bne _080A5A90
+_080A5A6E:
+ ldr r0, _080A5A88 @ =gTasks
+ adds r1, r4, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080A5A8C @ =sub_80A5414
+ b _080A5A9A
+ .align 2, 0
+_080A5A7C: .4byte gBG1TilemapBuffer
+_080A5A80: .4byte gUnknown_02038559
+_080A5A84: .4byte gUnknown_03000701
+_080A5A88: .4byte gTasks
+_080A5A8C: .4byte sub_80A5414
+_080A5A90:
+ ldr r0, _080A5AA4 @ =gTasks
+ adds r1, r4, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080A5AA8 @ =sub_80A5600
+_080A5A9A:
+ str r0, [r1]
+_080A5A9C:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5AA4: .4byte gTasks
+_080A5AA8: .4byte sub_80A5600
+ thumb_func_end sub_80A59D0
+
+ thumb_func_start sub_80A5AAC
+sub_80A5AAC: @ 80A5AAC
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _080A5ADC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A5AE0 @ =sub_80A5B00
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5ADC: .4byte gTasks
+_080A5AE0: .4byte sub_80A5B00
+ thumb_func_end sub_80A5AAC
+
+ thumb_func_start sub_80A5AE4
+sub_80A5AE4: @ 80A5AE4
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_80A5AAC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5AE4
+
+ thumb_func_start sub_80A5B00
+sub_80A5B00: @ 80A5B00
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, _080A5B38 @ =gTasks + 0x8
+ adds r2, r0, r1
+ ldr r0, _080A5B3C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080A5B32
+ ldrh r0, [r2, 0x10]
+ lsls r0, 16
+ ldrh r1, [r2, 0x12]
+ orrs r0, r1
+ bl SetMainCallback2
+ bl gpu_pal_allocator_reset__manage_upper_four
+ adds r0, r4, 0
+ bl DestroyTask
+_080A5B32:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5B38: .4byte gTasks + 0x8
+_080A5B3C: .4byte gPaletteFade
+ thumb_func_end sub_80A5B00
+
+ thumb_func_start sub_80A5B40
+sub_80A5B40: @ 80A5B40
+ push {lr}
+_080A5B42:
+ bl sub_80A317C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A5B68
+ bl ResetTasks
+ ldr r0, _080A5B60 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A5B64 @ =gUnknown_02038563
+ strb r0, [r1]
+ b _080A5B74
+ .align 2, 0
+_080A5B60: .4byte sub_80A50C8
+_080A5B64: .4byte gUnknown_02038563
+_080A5B68:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A5B42
+_080A5B74:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5B40
+
+ thumb_func_start sub_80A5B78
+sub_80A5B78: @ 80A5B78
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r5, _080A5BB0 @ =word_203855E
+ ldrh r0, [r5]
+ bl ItemId_GetFieldFunc
+ cmp r0, 0
+ beq _080A5BF2
+ movs r0, 0x5
+ bl PlaySE
+ bl CalculatePlayerPartyCount
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A5BB4
+ ldrh r0, [r5]
+ bl ItemId_GetType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A5BB4
+ adds r0, r4, 0
+ bl sub_80A5BF8
+ b _080A5BF2
+ .align 2, 0
+_080A5BB0: .4byte word_203855E
+_080A5BB4:
+ ldr r1, _080A5BE0 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0xC]
+ ldr r0, _080A5BE4 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x3
+ beq _080A5BEC
+ ldr r0, _080A5BE8 @ =word_203855E
+ ldrh r0, [r0]
+ bl ItemId_GetFieldFunc
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl _call_via_r1
+ b _080A5BF2
+ .align 2, 0
+_080A5BE0: .4byte gTasks
+_080A5BE4: .4byte gUnknown_02038559
+_080A5BE8: .4byte word_203855E
+_080A5BEC:
+ adds r0, r4, 0
+ bl sub_80C9C7C
+_080A5BF2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5B78
+
+ thumb_func_start sub_80A5BF8
+sub_80A5BF8: @ 80A5BF8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_80A73FC
+ bl sub_80A7590
+ ldr r1, _080A5C1C @ =gOtherText_NoPokemon
+ ldr r2, _080A5C20 @ =sub_80A5C48
+ adds r0, r4, 0
+ movs r3, 0x1
+ bl DisplayCannotUseItemMessage
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5C1C: .4byte gOtherText_NoPokemon
+_080A5C20: .4byte sub_80A5C48
+ thumb_func_end sub_80A5BF8
+
+ thumb_func_start sub_80A5C24
+sub_80A5C24: @ 80A5C24
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ bl sub_80A7528
+ adds r0, r4, 0
+ bl sub_80A41D4
+ bl ItemListMenu_InitMenu
+ adds r0, r4, 0
+ bl sub_80A37C0
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5C24
+
+ thumb_func_start sub_80A5C48
+sub_80A5C48: @ 80A5C48
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080A5C90 @ =gBG1TilemapBuffer
+ movs r1, 0x1F
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x1F
+ bl sub_80A36B8
+ movs r0, 0x7
+ movs r1, 0x7
+ movs r2, 0xD
+ movs r3, 0xC
+ bl MenuZeroFillWindowRect
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ ldr r1, _080A5C94 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A5C98 @ =sub_80A5C24
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5C90: .4byte gBG1TilemapBuffer
+_080A5C94: .4byte gTasks
+_080A5C98: .4byte sub_80A5C24
+ thumb_func_end sub_80A5C48
+
+ thumb_func_start sub_80A5C9C
+sub_80A5C9C: @ 80A5C9C
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ movs r1, 0xD
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ adds r0, r4, 0
+ bl DestroyTask
+ bl sub_8064E2C
+ bl ScriptContext2_Disable
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5C9C
+
+ thumb_func_start sub_80A5CC4
+sub_80A5CC4: @ 80A5CC4
+ push {lr}
+ bl pal_fill_black
+ ldr r0, _080A5CD8 @ =Task_CallItemUseOnFieldCallback
+ movs r1, 0x8
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5CD8: .4byte Task_CallItemUseOnFieldCallback
+ thumb_func_end sub_80A5CC4
+
+ thumb_func_start Task_CallItemUseOnFieldCallback
+Task_CallItemUseOnFieldCallback: @ 80A5CDC
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_807D770
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A5CF8
+ ldr r0, _080A5D00 @ =gUnknown_03005D00
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+_080A5CF8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5D00: .4byte gUnknown_03005D00
+ thumb_func_end Task_CallItemUseOnFieldCallback
+
+ thumb_func_start sub_80A5D04
+sub_80A5D04: @ 80A5D04
+ push {lr}
+_080A5D06:
+ bl sub_80A317C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A5D28
+ ldr r0, _080A5D20 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A5D24 @ =gUnknown_02038563
+ strb r0, [r1]
+ b _080A5D34
+ .align 2, 0
+_080A5D20: .4byte sub_80A50C8
+_080A5D24: .4byte gUnknown_02038563
+_080A5D28:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A5D06
+_080A5D34:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5D04
+
+ thumb_func_start sub_80A5D38
+sub_80A5D38: @ 80A5D38
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080A5D70 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0xA]
+ ldr r0, _080A5D74 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ movs r0, 0
+ bl sub_80A7528
+ adds r0, r4, 0
+ bl sub_80A41D4
+ bl ItemListMenu_InitMenu
+ adds r0, r4, 0
+ bl sub_80A37C0
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5D70: .4byte gTasks
+_080A5D74: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80A5D38
+
+ thumb_func_start sub_80A5D78
+sub_80A5D78: @ 80A5D78
+ push {lr}
+ sub sp, 0x4
+ ldr r0, _080A5D9C @ =gBG1TilemapBuffer
+ movs r1, 0x4
+ str r1, [sp]
+ movs r1, 0x8
+ movs r2, 0x8
+ movs r3, 0x5
+ bl sub_80A4008
+ movs r0, 0x7
+ movs r1, 0x7
+ movs r2, 0x1
+ bl DisplayYesNoMenu
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5D9C: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80A5D78
+
+ thumb_func_start sub_80A5DA0
+sub_80A5DA0: @ 80A5DA0
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ ldr r1, _080A5DC4 @ =gStringVar1
+ bl CopyItemName
+ cmp r4, 0x63
+ bls _080A5DCC
+ ldr r0, _080A5DC8 @ =gStringVar2
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ b _080A5DD8
+ .align 2, 0
+_080A5DC4: .4byte gStringVar1
+_080A5DC8: .4byte gStringVar2
+_080A5DCC:
+ ldr r0, _080A5DF0 @ =gStringVar2
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+_080A5DD8:
+ ldr r0, _080A5DF4 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ movs r0, 0x5
+ bl sub_80A7528
+ bl sub_80A5D78
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5DF0: .4byte gStringVar2
+_080A5DF4: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80A5DA0
+
+ thumb_func_start sub_80A5DF8
+sub_80A5DF8: @ 80A5DF8
+ push {lr}
+ ldr r0, _080A5E18 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ movs r0, 0x7
+ movs r1, 0x6
+ movs r2, 0xB
+ movs r3, 0xD
+ bl MenuZeroFillWindowRect
+ movs r0, 0x4
+ bl sub_80A7528
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5E18: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80A5DF8
+
+ thumb_func_start sub_80A5E1C
+sub_80A5E1C: @ 80A5E1C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A5E58 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A5E36
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A5E50
+_080A5E36:
+ ldr r0, _080A5E5C @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0
+ strh r0, [r1, 0x1C]
+ adds r0, r4, 0
+ bl sub_80A41D4
+ adds r0, r4, 0
+ bl sub_80A5D38
+_080A5E50:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5E58: .4byte gMain
+_080A5E5C: .4byte gTasks
+ thumb_func_end sub_80A5E1C
+
+ thumb_func_start sub_80A5E60
+sub_80A5E60: @ 80A5E60
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_80A5DF8
+ adds r0, r4, 0
+ bl sub_80A3D5C
+ ldr r1, _080A5E88 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A5E8C @ =sub_80A5E1C
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A5E88: .4byte gTasks
+_080A5E8C: .4byte sub_80A5E1C
+ thumb_func_end sub_80A5E60
+
+ thumb_func_start sub_80A5E90
+sub_80A5E90: @ 80A5E90
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A5D38
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5E90
+
+ thumb_func_start sub_80A5EA0
+sub_80A5EA0: @ 80A5EA0
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ adds r0, r4, 0
+ bl sub_80A5350
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A5F0C
+ ldr r0, _080A5EE8 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080A5EF8
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _080A5EEC @ =word_203855E
+ ldrh r0, [r0]
+ ldr r2, _080A5EF0 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r2
+ ldrh r1, [r1, 0xA]
+ bl sub_80A5DA0
+ ldr r1, _080A5EF4 @ =gUnknown_083C16F4
+ adds r0, r4, 0
+ bl sub_80F914C
+ b _080A5F0C
+ .align 2, 0
+_080A5EE8: .4byte gMain
+_080A5EEC: .4byte word_203855E
+_080A5EF0: .4byte gTasks
+_080A5EF4: .4byte gUnknown_083C16F4
+_080A5EF8:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A5F0C
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r5, 0
+ bl sub_80A5D38
+_080A5F0C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5EA0
+
+ thumb_func_start sub_80A5F14
+sub_80A5F14: @ 80A5F14
+ push {r4,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _080A5F58 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A5F5C @ =sub_80A5EA0
+ str r1, [r0]
+ movs r0, 0x3
+ bl sub_80A7528
+ ldr r0, _080A5F60 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x3
+ bne _080A5F64
+ movs r0, 0x3
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x6
+ movs r2, 0x9
+ movs r3, 0x7
+ bl sub_80A4DD8
+ b _080A5F78
+ .align 2, 0
+_080A5F58: .4byte gTasks
+_080A5F5C: .4byte sub_80A5EA0
+_080A5F60: .4byte gUnknown_02038559
+_080A5F64:
+ movs r0, 0x3
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x7
+ movs r2, 0x9
+ movs r3, 0x6
+ bl sub_80A4DD8
+_080A5F78:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5F14
+
+ thumb_func_start sub_80A5F80
+sub_80A5F80: @ 80A5F80
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0
+ bl sub_80A7528
+ adds r0, r4, 0
+ bl sub_80A41D4
+ bl ItemListMenu_InitMenu
+ adds r0, r4, 0
+ bl sub_80A37C0
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5F80
+
+ thumb_func_start sub_80A5FAC
+sub_80A5FAC: @ 80A5FAC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _080A5FD0 @ =gSaveBlock1
+ ldr r1, _080A5FD4 @ =0x00000496
+ adds r4, r0, r1
+ ldr r5, _080A5FD8 @ =word_203855E
+ ldrh r0, [r4]
+ ldrh r1, [r5]
+ cmp r0, r1
+ bne _080A5FDC
+ bl sub_80A40D0
+ movs r0, 0
+ b _080A5FE2
+ .align 2, 0
+_080A5FD0: .4byte gSaveBlock1
+_080A5FD4: .4byte 0x00000496
+_080A5FD8: .4byte word_203855E
+_080A5FDC:
+ bl sub_80A413C
+ ldrh r0, [r5]
+_080A5FE2:
+ strh r0, [r4]
+ movs r0, 0
+ bl sub_80A7528
+ adds r0, r6, 0
+ bl sub_80A41D4
+ bl ItemListMenu_InitMenu
+ adds r0, r6, 0
+ bl sub_80A37C0
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A5FAC
+
+ thumb_func_start sub_80A6000
+sub_80A6000: @ 80A6000
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ bl sub_80A7528
+ adds r0, r4, 0
+ bl sub_80A41D4
+ bl ItemListMenu_InitMenu
+ adds r0, r4, 0
+ bl sub_80A37C0
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A6000
+
+ thumb_func_start sub_80A6024
+sub_80A6024: @ 80A6024
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A606C @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080A6062
+ ldr r0, _080A6070 @ =gBG1TilemapBuffer
+ movs r1, 0x1F
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x1F
+ bl sub_80A36B8
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ ldr r1, _080A6074 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A6078 @ =sub_80A6000
+ str r1, [r0]
+_080A6062:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A606C: .4byte gMain
+_080A6070: .4byte gBG1TilemapBuffer
+_080A6074: .4byte gTasks
+_080A6078: .4byte sub_80A6000
+ thumb_func_end sub_80A6024
+
+ thumb_func_start DisplayCannotBeHeldMessage
+DisplayCannotBeHeldMessage: @ 80A607C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_80A73FC
+ ldr r0, _080A60B4 @ =word_203855E
+ ldrh r0, [r0]
+ ldr r1, _080A60B8 @ =gStringVar1
+ bl CopyItemName
+ ldr r5, _080A60BC @ =gStringVar4
+ ldr r1, _080A60C0 @ =gOtherText_CantBeHeld
+ adds r0, r5, 0
+ bl StringExpandPlaceholders
+ bl sub_80A7590
+ ldr r2, _080A60C4 @ =sub_80A6024
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x1
+ bl DisplayCannotUseItemMessage
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A60B4: .4byte word_203855E
+_080A60B8: .4byte gStringVar1
+_080A60BC: .4byte gStringVar4
+_080A60C0: .4byte gOtherText_CantBeHeld
+_080A60C4: .4byte sub_80A6024
+ thumb_func_end DisplayCannotBeHeldMessage
+
+ thumb_func_start ItemMenu_Give
+ItemMenu_Give: @ 80A60C8
+ push {r4-r6,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r6, r4, 0
+ movs r0, 0x5
+ bl PlaySE
+ ldr r5, _080A60FC @ =word_203855E
+ ldrh r0, [r5]
+ bl sub_80F931C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A6108
+ bl sub_80A73FC
+ bl sub_80A7590
+ ldr r1, _080A6100 @ =gOtherText_CantWriteMail
+ ldr r2, _080A6104 @ =sub_80A6024
+ adds r0, r4, 0
+ movs r3, 0x1
+ bl DisplayCannotUseItemMessage
+ b _080A616E
+ .align 2, 0
+_080A60FC: .4byte word_203855E
+_080A6100: .4byte gOtherText_CantWriteMail
+_080A6104: .4byte sub_80A6024
+_080A6108:
+ ldrh r0, [r5]
+ bl ItemId_GetImportance
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _080A6168
+ bl CalculatePlayerPartyCount
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A6128
+ adds r0, r4, 0
+ bl sub_80A5BF8
+ b _080A616E
+_080A6128:
+ ldr r1, _080A6158 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r2, _080A615C @ =sub_808B020
+ lsrs r1, r2, 16
+ strh r1, [r0, 0x18]
+ strh r2, [r0, 0x1A]
+ ldr r1, _080A6160 @ =sub_80A5B00
+ str r1, [r0]
+ ldr r1, _080A6164 @ =gUnknown_02038561
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r0, 0x1
+ negs r0, r0
+ str r5, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _080A616E
+ .align 2, 0
+_080A6158: .4byte gTasks
+_080A615C: .4byte sub_808B020
+_080A6160: .4byte sub_80A5B00
+_080A6164: .4byte gUnknown_02038561
+_080A6168:
+ adds r0, r6, 0
+ bl DisplayCannotBeHeldMessage
+_080A616E:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end ItemMenu_Give
+
+ thumb_func_start sub_80A6178
+sub_80A6178: @ 80A6178
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_80A5AE4
+ ldr r1, _080A61A0 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r2, _080A61A4 @ =sub_814625C
+ lsrs r1, r2, 16
+ strh r1, [r0, 0x18]
+ strh r2, [r0, 0x1A]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A61A0: .4byte gTasks
+_080A61A4: .4byte sub_814625C
+ thumb_func_end sub_80A6178
+
+ thumb_func_start sub_80A61A8
+sub_80A61A8: @ 80A61A8
+ push {lr}
+ bl sub_80A34B4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A61C2
+ ldr r0, _080A61C8 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A61CC @ =gUnknown_02038563
+ strb r0, [r1]
+_080A61C2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A61C8: .4byte sub_80A50C8
+_080A61CC: .4byte gUnknown_02038563
+ thumb_func_end sub_80A61A8
+
+ thumb_func_start sub_80A61D0
+sub_80A61D0: @ 80A61D0
+ push {lr}
+ ldr r0, _080A61E4 @ =gUnknown_03000701
+ movs r1, 0x2
+ strb r1, [r0]
+ ldr r0, _080A61E8 @ =sub_80A61A8
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A61E4: .4byte gUnknown_03000701
+_080A61E8: .4byte sub_80A61A8
+ thumb_func_end sub_80A61D0
+
+ thumb_func_start sub_80A61EC
+sub_80A61EC: @ 80A61EC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A620C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r3, _080A6210 @ =sub_808A3F8
+ lsrs r2, r3, 16
+ strh r2, [r1, 0x18]
+ strh r3, [r1, 0x1A]
+ bl sub_80A5AE4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A620C: .4byte gTasks
+_080A6210: .4byte sub_808A3F8
+ thumb_func_end sub_80A61EC
+
+ thumb_func_start sub_80A6214
+sub_80A6214: @ 80A6214
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _080A6244 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r4, _080A6248 @ =word_203855E
+ ldrh r0, [r4]
+ bl sub_80F931C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A6254
+ bl sub_80A73FC
+ bl sub_80A7590
+ ldr r1, _080A624C @ =gOtherText_CantWriteMail
+ ldr r2, _080A6250 @ =sub_80A6024
+ adds r0, r5, 0
+ b _080A6280
+ .align 2, 0
+_080A6244: .4byte gUnknown_02038559
+_080A6248: .4byte word_203855E
+_080A624C: .4byte gOtherText_CantWriteMail
+_080A6250: .4byte sub_80A6024
+_080A6254:
+ ldrh r0, [r4]
+ bl sub_80F92F4
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A6298
+ bl sub_80A73FC
+ ldrh r0, [r4]
+ ldr r1, _080A6288 @ =gStringVar1
+ bl CopyItemName
+ ldr r4, _080A628C @ =gStringVar4
+ ldr r1, _080A6290 @ =gOtherText_CantBeHeldHere
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ bl sub_80A7590
+ ldr r2, _080A6294 @ =sub_80A6024
+ adds r0, r5, 0
+ adds r1, r4, 0
+_080A6280:
+ movs r3, 0x1
+ bl DisplayCannotUseItemMessage
+ b _080A62D2
+ .align 2, 0
+_080A6288: .4byte gStringVar1
+_080A628C: .4byte gStringVar4
+_080A6290: .4byte gOtherText_CantBeHeldHere
+_080A6294: .4byte sub_80A6024
+_080A6298:
+ cmp r6, 0x5
+ beq _080A62CC
+ ldrh r0, [r4]
+ bl ItemId_GetImportance
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A62CC
+ ldr r1, _080A62C4 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r2, _080A62C8 @ =sub_808A3F8
+ lsrs r1, r2, 16
+ strh r1, [r0, 0x18]
+ strh r2, [r0, 0x1A]
+ adds r0, r5, 0
+ bl sub_80A5AAC
+ b _080A62D2
+ .align 2, 0
+_080A62C4: .4byte gTasks
+_080A62C8: .4byte sub_808A3F8
+_080A62CC:
+ adds r0, r5, 0
+ bl DisplayCannotBeHeldMessage
+_080A62D2:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A6214
+
+ thumb_func_start sub_80A62D8
+sub_80A62D8: @ 80A62D8
+ push {lr}
+ bl sub_80A34B4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A62F2
+ ldr r0, _080A62F8 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A62FC @ =gUnknown_02038563
+ strb r0, [r1]
+_080A62F2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A62F8: .4byte sub_80A50C8
+_080A62FC: .4byte gUnknown_02038563
+ thumb_func_end sub_80A62D8
+
+ thumb_func_start sub_80A6300
+sub_80A6300: @ 80A6300
+ push {lr}
+ ldr r0, _080A6314 @ =gUnknown_03000701
+ movs r1, 0x3
+ strb r1, [r0]
+ ldr r0, _080A6318 @ =sub_80A62D8
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6314: .4byte gUnknown_03000701
+_080A6318: .4byte sub_80A62D8
+ thumb_func_end sub_80A6300
+
+ thumb_func_start sub_80A631C
+sub_80A631C: @ 80A631C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A6344 @ =gUnknown_0300485C
+ ldr r1, _080A6348 @ =sub_80B3050
+ str r1, [r2]
+ ldr r2, _080A634C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r3, _080A6350 @ =c2_exit_to_overworld_2_switch
+ lsrs r2, r3, 16
+ strh r2, [r1, 0x18]
+ strh r3, [r1, 0x1A]
+ bl sub_80A5AE4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6344: .4byte gUnknown_0300485C
+_080A6348: .4byte sub_80B3050
+_080A634C: .4byte gTasks
+_080A6350: .4byte c2_exit_to_overworld_2_switch
+ thumb_func_end sub_80A631C
+
+ thumb_func_start sub_80A6354
+sub_80A6354: @ 80A6354
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ bl sub_80A7590
+ ldr r0, _080A63C4 @ =gTasks
+ lsls r2, r5, 2
+ adds r2, r5
+ lsls r2, 3
+ adds r2, r0
+ ldr r4, _080A63C8 @ =gUnknown_03005D10
+ ldr r3, _080A63CC @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r3, r0]
+ lsls r0, 2
+ adds r0, r4
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ adds r1, 0x1
+ strh r1, [r2, 0x1C]
+ movs r0, 0
+ ldrsb r0, [r3, r0]
+ lsls r0, 2
+ adds r0, r4
+ ldrb r2, [r0]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ bl sub_80A73FC
+ ldr r4, _080A63D0 @ =word_203855E
+ ldrh r0, [r4]
+ ldr r1, _080A63D4 @ =gStringVar2
+ bl CopyItemName
+ ldrh r0, [r4]
+ bl ItemId_GetPrice
+ lsls r0, 16
+ cmp r0, 0
+ bne _080A63E4
+ ldr r4, _080A63D8 @ =gStringVar4
+ ldr r1, _080A63DC @ =gOtherText_CantBuyThat
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r2, _080A63E0 @ =sub_80A6444
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl DisplayCannotUseItemMessage
+ b _080A63FA
+ .align 2, 0
+_080A63C4: .4byte gTasks
+_080A63C8: .4byte gUnknown_03005D10
+_080A63CC: .4byte gUnknown_02038559
+_080A63D0: .4byte word_203855E
+_080A63D4: .4byte gStringVar2
+_080A63D8: .4byte gStringVar4
+_080A63DC: .4byte gOtherText_CantBuyThat
+_080A63E0: .4byte sub_80A6444
+_080A63E4:
+ ldr r4, _080A6400 @ =gStringVar4
+ ldr r1, _080A6404 @ =gOtherText_HowManyToSell
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r2, _080A6408 @ =sub_80A648C
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl DisplayCannotUseItemMessage
+_080A63FA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6400: .4byte gStringVar4
+_080A6404: .4byte gOtherText_HowManyToSell
+_080A6408: .4byte sub_80A648C
+ thumb_func_end sub_80A6354
+
+ thumb_func_start sub_80A640C
+sub_80A640C: @ 80A640C
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080A6440 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x1C]
+ movs r0, 0
+ bl sub_80A7528
+ adds r0, r4, 0
+ bl sub_80A41D4
+ bl ItemListMenu_InitMenu
+ adds r0, r4, 0
+ bl sub_80A37C0
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6440: .4byte gTasks
+ thumb_func_end sub_80A640C
+
+ thumb_func_start sub_80A6444
+sub_80A6444: @ 80A6444
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080A6480 @ =gBG1TilemapBuffer
+ movs r1, 0x1F
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x1F
+ bl sub_80A36B8
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ ldr r1, _080A6484 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A6488 @ =sub_80A640C
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6480: .4byte gBG1TilemapBuffer
+_080A6484: .4byte gTasks
+_080A6488: .4byte sub_80A640C
+ thumb_func_end sub_80A6444
+
+ thumb_func_start sub_80A648C
+sub_80A648C: @ 80A648C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080A64E8 @ =gTasks
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ adds r4, r1
+ ldr r0, _080A64EC @ =Task_BuyHowManyDialogueHandleInput
+ str r0, [r4]
+ ldr r0, _080A64F0 @ =gBG1TilemapBuffer
+ movs r5, 0x2
+ str r5, [sp]
+ movs r1, 0x1
+ movs r2, 0xB
+ movs r3, 0xC
+ bl sub_80A4008
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0xD
+ movs r3, 0xD
+ bl MenuDrawTextWindow
+ movs r0, 0x1
+ strh r0, [r4, 0xA]
+ strh r0, [r4, 0xC]
+ movs r0, 0xB
+ strh r0, [r4, 0xE]
+ ldr r0, _080A64F4 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x3
+ bne _080A64F8
+ movs r0, 0x3
+ str r0, [sp]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0xB
+ bl sub_80A418C
+ b _080A6506
+ .align 2, 0
+_080A64E8: .4byte gTasks
+_080A64EC: .4byte Task_BuyHowManyDialogueHandleInput
+_080A64F0: .4byte gBG1TilemapBuffer
+_080A64F4: .4byte gUnknown_02038559
+_080A64F8:
+ str r5, [sp]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0xB
+ bl sub_80A418C
+_080A6506:
+ ldr r0, _080A651C @ =word_203855E
+ ldrh r0, [r0]
+ movs r1, 0x1
+ bl BuyMenuDisplayMessage
+ bl sub_80A683C
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A651C: .4byte word_203855E
+ thumb_func_end sub_80A648C
+
+ thumb_func_start sub_80A6520
+sub_80A6520: @ 80A6520
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A6544 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080A653E
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl BuyMenuPrintItemQuantityAndPrice
+_080A653E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6544: .4byte gMain
+ thumb_func_end sub_80A6520
+
+ thumb_func_start sub_80A6548
+sub_80A6548: @ 80A6548
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_80A48F8
+ ldr r1, _080A656C @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A6570 @ =sub_80A6520
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A656C: .4byte gTasks
+_080A6570: .4byte sub_80A6520
+ thumb_func_end sub_80A6548
+
+ thumb_func_start sub_80A6574
+sub_80A6574: @ 80A6574
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r0, 0x5F
+ bl PlaySE
+ ldr r0, _080A65A0 @ =word_203855E
+ ldrh r0, [r0]
+ ldr r1, _080A65A4 @ =gTasks
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r1
+ ldrb r1, [r4, 0xA]
+ bl sub_80A6870
+ ldr r0, _080A65A8 @ =sub_80A6548
+ str r0, [r4]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A65A0: .4byte word_203855E
+_080A65A4: .4byte gTasks
+_080A65A8: .4byte sub_80A6548
+ thumb_func_end sub_80A6574
+
+ thumb_func_start sub_80A65AC
+sub_80A65AC: @ 80A65AC
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r0, 0x7
+ movs r1, 0x6
+ movs r2, 0xD
+ movs r3, 0xC
+ bl MenuZeroFillWindowRect
+ ldr r0, _080A6600 @ =gBG1TilemapBuffer
+ movs r1, 0x6
+ str r1, [sp]
+ movs r1, 0x7
+ movs r2, 0x6
+ movs r3, 0x6
+ bl sub_80A36B8
+ ldr r0, _080A6604 @ =word_203855E
+ ldrh r0, [r0]
+ ldr r1, _080A6608 @ =gStringVar2
+ bl CopyItemName
+ ldr r4, _080A660C @ =gStringVar4
+ ldr r1, _080A6610 @ =gOtherText_SoldItem
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r2, _080A6614 @ =sub_80A6574
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl DisplayCannotUseItemMessage
+ adds r0, r5, 0
+ bl sub_80A3D5C
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6600: .4byte gBG1TilemapBuffer
+_080A6604: .4byte word_203855E
+_080A6608: .4byte gStringVar2
+_080A660C: .4byte gStringVar4
+_080A6610: .4byte gOtherText_SoldItem
+_080A6614: .4byte sub_80A6574
+ thumb_func_end sub_80A65AC
+
+ thumb_func_start sub_80A6618
+sub_80A6618: @ 80A6618
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x7
+ movs r1, 0x6
+ movs r2, 0xD
+ movs r3, 0xC
+ bl MenuZeroFillWindowRect
+ ldr r0, _080A664C @ =gBG1TilemapBuffer
+ movs r1, 0x6
+ str r1, [sp]
+ movs r1, 0x7
+ movs r2, 0x6
+ movs r3, 0x6
+ bl sub_80A36B8
+ adds r0, r4, 0
+ bl BuyMenuPrintItemQuantityAndPrice
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A664C: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80A6618
+
+ thumb_func_start sub_80A6650
+sub_80A6650: @ 80A6650
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_80A5D78
+ ldr r1, _080A666C @ =gUnknown_083C16FC
+ adds r0, r4, 0
+ bl sub_80F914C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A666C: .4byte gUnknown_083C16FC
+ thumb_func_end sub_80A6650
+
+ thumb_func_start Task_BuyHowManyDialogueHandleInput
+Task_BuyHowManyDialogueHandleInput: @ 80A6670
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r4, r5, 0
+ adds r0, r5, 0
+ bl sub_80A5350
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A66B4
+ movs r0, 0x6
+ movs r1, 0xB
+ movs r2, 0xC
+ movs r3, 0xB
+ bl MenuZeroFillWindowRect
+ ldr r0, _080A66AC @ =word_203855E
+ ldrh r0, [r0]
+ ldr r2, _080A66B0 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r2
+ ldrh r1, [r1, 0xA]
+ bl BuyMenuDisplayMessage
+ b _080A6758
+ .align 2, 0
+_080A66AC: .4byte word_203855E
+_080A66B0: .4byte gTasks
+_080A66B4:
+ ldr r0, _080A6724 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080A6744
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0xD
+ movs r3, 0xD
+ bl MenuZeroFillWindowRect
+ ldr r0, _080A6728 @ =gBG1TilemapBuffer
+ movs r1, 0x3
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0xA
+ movs r3, 0xD
+ bl sub_80A36B8
+ ldr r4, _080A672C @ =gStringVar1
+ ldr r0, _080A6730 @ =word_203855E
+ ldrh r0, [r0]
+ bl ItemId_GetPrice
+ lsls r0, 16
+ lsrs r0, 17
+ ldr r2, _080A6734 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0xA
+ ldrsh r1, [r1, r2]
+ muls r1, r0
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x6
+ bl ConvertIntToDecimalStringN
+ ldr r4, _080A6738 @ =gStringVar4
+ ldr r1, _080A673C @ =gOtherText_CanPay
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r2, _080A6740 @ =sub_80A6650
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl DisplayCannotUseItemMessage
+ b _080A6758
+ .align 2, 0
+_080A6724: .4byte gMain
+_080A6728: .4byte gBG1TilemapBuffer
+_080A672C: .4byte gStringVar1
+_080A6730: .4byte word_203855E
+_080A6734: .4byte gTasks
+_080A6738: .4byte gStringVar4
+_080A673C: .4byte gOtherText_CanPay
+_080A6740: .4byte sub_80A6650
+_080A6744:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A6758
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl BuyMenuPrintItemQuantityAndPrice
+_080A6758:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end Task_BuyHowManyDialogueHandleInput
+
+ thumb_func_start sub_80A6760
+sub_80A6760: @ 80A6760
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080A6794 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x1C]
+ movs r0, 0
+ bl sub_80A7528
+ adds r0, r4, 0
+ bl sub_80A41D4
+ bl ItemListMenu_InitMenu
+ adds r0, r4, 0
+ bl sub_80A37C0
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6794: .4byte gTasks
+ thumb_func_end sub_80A6760
+
+ thumb_func_start BuyMenuPrintItemQuantityAndPrice
+BuyMenuPrintItemQuantityAndPrice: @ 80A6798
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080A67E8 @ =gBG1TilemapBuffer
+ movs r1, 0x1F
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x1F
+ bl sub_80A36B8
+ movs r0, 0
+ movs r1, 0
+ bl RemoveMoneyLabelObject
+ movs r0, 0
+ movs r1, 0x4
+ movs r2, 0xD
+ movs r3, 0xD
+ bl MenuZeroFillWindowRect
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ ldr r1, _080A67EC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A67F0 @ =sub_80A6760
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A67E8: .4byte gBG1TilemapBuffer
+_080A67EC: .4byte gTasks
+_080A67F0: .4byte sub_80A6760
+ thumb_func_end BuyMenuPrintItemQuantityAndPrice
+
+ thumb_func_start BuyMenuDisplayMessage
+BuyMenuDisplayMessage: @ 80A67F4
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r4, 0
+ bl ItemId_GetPrice
+ lsls r0, 16
+ lsrs r0, 17
+ muls r0, r5
+ movs r1, 0x6
+ movs r2, 0x6
+ movs r3, 0xB
+ bl sub_80B7A94
+ ldr r6, _080A6838 @ =gStringVar1
+ adds r0, r4, 0
+ bl ItemId_GetPrice
+ lsls r0, 16
+ lsrs r0, 17
+ adds r1, r0, 0
+ muls r1, r5
+ adds r0, r6, 0
+ movs r2, 0
+ movs r3, 0x6
+ bl ConvertIntToDecimalStringN
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6838: .4byte gStringVar1
+ thumb_func_end BuyMenuDisplayMessage
+
+ thumb_func_start sub_80A683C
+sub_80A683C: @ 80A683C
+ push {lr}
+ sub sp, 0x4
+ ldr r0, _080A6868 @ =gSaveBlock1
+ movs r1, 0x92
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0
+ movs r2, 0
+ bl sub_80B7C14
+ ldr r0, _080A686C @ =gBG1TilemapBuffer
+ movs r1, 0x2
+ str r1, [sp]
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0xC
+ bl sub_80A4008
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6868: .4byte gSaveBlock1
+_080A686C: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80A683C
+
+ thumb_func_start sub_80A6870
+sub_80A6870: @ 80A6870
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _080A68A0 @ =gSaveBlock1 + 0x490
+ bl ItemId_GetPrice
+ lsls r0, 16
+ lsrs r0, 17
+ adds r1, r0, 0
+ muls r1, r4
+ adds r0, r5, 0
+ bl sub_80B79B8
+ ldr r0, [r5]
+ movs r1, 0
+ movs r2, 0
+ bl sub_80B7BEC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A68A0: .4byte gSaveBlock1 + 0x490
+ thumb_func_end sub_80A6870
+
+ thumb_func_start sub_80A68A4
+sub_80A68A4: @ 80A68A4
+ push {lr}
+ bl sub_80A34B4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A68BE
+ ldr r0, _080A68C4 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A68C8 @ =gUnknown_02038563
+ strb r0, [r1]
+_080A68BE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A68C4: .4byte sub_80A50C8
+_080A68C8: .4byte gUnknown_02038563
+ thumb_func_end sub_80A68A4
+
+ thumb_func_start sub_80A68CC
+sub_80A68CC: @ 80A68CC
+ push {lr}
+ ldr r1, _080A68E4 @ =gUnknown_02038559
+ movs r0, 0x3
+ strb r0, [r1]
+ ldr r1, _080A68E8 @ =gUnknown_03000701
+ movs r0, 0x4
+ strb r0, [r1]
+ ldr r0, _080A68EC @ =sub_80A68A4
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A68E4: .4byte gUnknown_02038559
+_080A68E8: .4byte gUnknown_03000701
+_080A68EC: .4byte sub_80A68A4
+ thumb_func_end sub_80A68CC
+
+ thumb_func_start sub_80A68F0
+sub_80A68F0: @ 80A68F0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A6910 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r3, _080A6914 @ =sub_80546B8
+ lsrs r2, r3, 16
+ strh r2, [r1, 0x18]
+ strh r3, [r1, 0x1A]
+ bl sub_80A5AE4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6910: .4byte gTasks
+_080A6914: .4byte sub_80546B8
+ thumb_func_end sub_80A68F0
+
+ thumb_func_start sub_80A6918
+sub_80A6918: @ 80A6918
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A6938 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r3, _080A693C @ =sub_80546B8
+ lsrs r2, r3, 16
+ strh r2, [r1, 0x18]
+ strh r3, [r1, 0x1A]
+ bl sub_80A5AAC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6938: .4byte gTasks
+_080A693C: .4byte sub_80546B8
+ thumb_func_end sub_80A6918
+
+ thumb_func_start sub_80A6940
+sub_80A6940: @ 80A6940
+ push {lr}
+_080A6942:
+ bl sub_80A317C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A6968
+ ldr r0, _080A6960 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A6964 @ =gUnknown_02038563
+ strb r0, [r1]
+ bl sub_80A699C
+ b _080A6974
+ .align 2, 0
+_080A6960: .4byte sub_80A50C8
+_080A6964: .4byte gUnknown_02038563
+_080A6968:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A6942
+_080A6974:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A6940
+
+ thumb_func_start sub_80A6978
+sub_80A6978: @ 80A6978
+ push {lr}
+ ldr r1, _080A6990 @ =gUnknown_02038559
+ movs r0, 0x3
+ strb r0, [r1]
+ ldr r1, _080A6994 @ =gUnknown_03000701
+ movs r0, 0x5
+ strb r0, [r1]
+ ldr r0, _080A6998 @ =sub_80A6940
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6990: .4byte gUnknown_02038559
+_080A6994: .4byte gUnknown_03000701
+_080A6998: .4byte sub_80A6940
+ thumb_func_end sub_80A6978
+
+ thumb_func_start sub_80A699C
+sub_80A699C: @ 80A699C
+ ldr r1, _080A69AC @ =gUnknown_03000704
+ ldr r0, _080A69B0 @ =gUnknown_083C16B8
+ str r0, [r1]
+ ldr r1, _080A69B4 @ =gUnknown_02038564
+ movs r0, 0x4
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080A69AC: .4byte gUnknown_03000704
+_080A69B0: .4byte gUnknown_083C16B8
+_080A69B4: .4byte gUnknown_02038564
+ thumb_func_end sub_80A699C
+
+ thumb_func_start sub_80A69B8
+sub_80A69B8: @ 80A69B8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A69D8 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r3, _080A69DC @ =sub_804E990
+ lsrs r2, r3, 16
+ strh r2, [r1, 0x18]
+ strh r3, [r1, 0x1A]
+ bl sub_80A5AE4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A69D8: .4byte gTasks
+_080A69DC: .4byte sub_804E990
+ thumb_func_end sub_80A69B8
+
+ thumb_func_start sub_80A69E0
+sub_80A69E0: @ 80A69E0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A6A00 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r3, _080A6A04 @ =sub_804E990
+ lsrs r2, r3, 16
+ strh r2, [r1, 0x18]
+ strh r3, [r1, 0x1A]
+ bl sub_80A5AAC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6A00: .4byte gTasks
+_080A6A04: .4byte sub_804E990
+ thumb_func_end sub_80A69E0
+
+ thumb_func_start sub_80A6A08
+sub_80A6A08: @ 80A6A08
+ push {lr}
+ bl sub_80A34B4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A6A22
+ ldr r0, _080A6A28 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A6A2C @ =gUnknown_02038563
+ strb r0, [r1]
+_080A6A22:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6A28: .4byte sub_80A50C8
+_080A6A2C: .4byte gUnknown_02038563
+ thumb_func_end sub_80A6A08
+
+ thumb_func_start sub_80A6A30
+sub_80A6A30: @ 80A6A30
+ push {lr}
+ ldr r0, _080A6A44 @ =gUnknown_03000701
+ movs r1, 0x6
+ strb r1, [r0]
+ ldr r0, _080A6A48 @ =sub_80A6A08
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6A44: .4byte gUnknown_03000701
+_080A6A48: .4byte sub_80A6A08
+ thumb_func_end sub_80A6A30
+
+ thumb_func_start sub_80A6A4C
+sub_80A6A4C: @ 80A6A4C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A6A74 @ =gUnknown_0300485C
+ ldr r1, _080A6A78 @ =sub_813A0F8
+ str r1, [r2]
+ ldr r2, _080A6A7C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r3, _080A6A80 @ =c2_exit_to_overworld_2_switch
+ lsrs r2, r3, 16
+ strh r2, [r1, 0x18]
+ strh r3, [r1, 0x1A]
+ bl sub_80A5AE4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6A74: .4byte gUnknown_0300485C
+_080A6A78: .4byte sub_813A0F8
+_080A6A7C: .4byte gTasks
+_080A6A80: .4byte c2_exit_to_overworld_2_switch
+ thumb_func_end sub_80A6A4C
+
+ thumb_func_start sub_80A6A84
+sub_80A6A84: @ 80A6A84
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ ldr r6, _080A6AE8 @ =gTasks + 0x8
+ adds r0, r4, r6
+ mov r8, r0
+ ldr r0, _080A6AEC @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r0, _080A6AF0 @ =word_203855E
+ ldrh r0, [r0]
+ ldr r1, _080A6AF4 @ =gStringVar1
+ bl CopyItemName
+ ldr r0, _080A6AF8 @ =gStringVar2
+ mov r2, r8
+ movs r3, 0x2
+ ldrsh r1, [r2, r3]
+ movs r2, 0
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ movs r0, 0x7
+ movs r1, 0x6
+ movs r2, 0xB
+ movs r3, 0xD
+ bl MenuZeroFillWindowRect
+ movs r0, 0x7
+ bl sub_80A7528
+ adds r0, r5, 0
+ bl sub_80A3D5C
+ subs r6, 0x8
+ adds r4, r6
+ ldr r0, _080A6AFC @ =sub_80A5E1C
+ str r0, [r4]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6AE8: .4byte gTasks + 0x8
+_080A6AEC: .4byte gBG1TilemapBuffer
+_080A6AF0: .4byte word_203855E
+_080A6AF4: .4byte gStringVar1
+_080A6AF8: .4byte gStringVar2
+_080A6AFC: .4byte sub_80A5E1C
+ thumb_func_end sub_80A6A84
+
+ thumb_func_start sub_80A6B00
+sub_80A6B00: @ 80A6B00
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A6B54 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A6B1A
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A6B4C
+_080A6B1A:
+ ldr r1, _080A6B58 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x1C]
+ ldr r1, _080A6B5C @ =gUnknown_03005D10
+ ldr r0, _080A6B60 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_80A5D38
+_080A6B4C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6B54: .4byte gMain
+_080A6B58: .4byte gTasks
+_080A6B5C: .4byte gUnknown_03005D10
+_080A6B60: .4byte gUnknown_02038559
+ thumb_func_end sub_80A6B00
+
+ thumb_func_start sub_80A6B64
+sub_80A6B64: @ 80A6B64
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r5, r0, 3
+ ldr r6, _080A6B9C @ =gTasks + 0x8
+ adds r7, r5, r6
+ ldr r0, _080A6BA0 @ =word_203855E
+ mov r8, r0
+ ldrh r0, [r0]
+ bl ItemId_GetImportance
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _080A6BA8
+ adds r0, r6, 0
+ subs r0, 0x8
+ adds r0, r5, r0
+ ldr r1, _080A6BA4 @ =sub_80A6B00
+ str r1, [r0]
+ movs r0, 0x9
+ bl sub_80A7528
+ b _080A6BD2
+ .align 2, 0
+_080A6B9C: .4byte gTasks + 0x8
+_080A6BA0: .4byte word_203855E
+_080A6BA4: .4byte sub_80A6B00
+_080A6BA8:
+ mov r1, r8
+ ldrh r0, [r1]
+ ldrh r1, [r7, 0x2]
+ bl AddPCItem
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A6BC2
+ adds r0, r4, 0
+ bl sub_80A6A84
+ b _080A6BD2
+_080A6BC2:
+ adds r0, r6, 0
+ subs r0, 0x8
+ adds r0, r5, r0
+ ldr r1, _080A6BDC @ =sub_80A6B00
+ str r1, [r0]
+ movs r0, 0x8
+ bl sub_80A7528
+_080A6BD2:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6BDC: .4byte sub_80A6B00
+ thumb_func_end sub_80A6B64
+
+ thumb_func_start sub_80A6BE0
+sub_80A6BE0: @ 80A6BE0
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ adds r0, r4, 0
+ bl sub_80A5350
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A6C58
+ ldr r0, _080A6C18 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r2, 0x1
+ ands r2, r1
+ cmp r2, 0
+ beq _080A6C20
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _080A6C1C @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ adds r0, r4, 0
+ bl sub_80A6B64
+ b _080A6C58
+ .align 2, 0
+_080A6C18: .4byte gMain
+_080A6C1C: .4byte gBG1TilemapBuffer
+_080A6C20:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A6C58
+ ldr r1, _080A6C60 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ strh r2, [r0, 0x1C]
+ ldr r1, _080A6C64 @ =gUnknown_03005D10
+ ldr r0, _080A6C68 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r5, 0
+ bl sub_80A5D38
+_080A6C58:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6C60: .4byte gTasks
+_080A6C64: .4byte gUnknown_03005D10
+_080A6C68: .4byte gUnknown_02038559
+ thumb_func_end sub_80A6BE0
+
+ thumb_func_start sub_80A6C6C
+sub_80A6C6C: @ 80A6C6C
+ push {r4-r6,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080A6CE4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r5, r0, r1
+ ldr r2, _080A6CE8 @ =gUnknown_03005D10
+ ldr r6, _080A6CEC @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r6, r0]
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ adds r1, 0x1
+ strh r1, [r5, 0x1C]
+ movs r0, 0
+ ldrsb r0, [r6, r0]
+ lsls r0, 2
+ adds r0, r2
+ ldrb r2, [r0]
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ bl sub_80A73FC
+ movs r0, 0x5
+ bl PlaySE
+ bl sub_80A7590
+ movs r0, 0
+ ldrsb r0, [r6, r0]
+ cmp r0, 0x4
+ beq _080A6D0A
+ ldr r0, _080A6CF0 @ =sub_80A6BE0
+ str r0, [r5]
+ movs r0, 0x6
+ bl sub_80A7528
+ movs r0, 0
+ ldrsb r0, [r6, r0]
+ cmp r0, 0x3
+ bne _080A6CF4
+ movs r0, 0x3
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x6
+ movs r2, 0x9
+ movs r3, 0x7
+ bl sub_80A4DD8
+ b _080A6D14
+ .align 2, 0
+_080A6CE4: .4byte gTasks
+_080A6CE8: .4byte gUnknown_03005D10
+_080A6CEC: .4byte gUnknown_02038559
+_080A6CF0: .4byte sub_80A6BE0
+_080A6CF4:
+ movs r0, 0x3
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x7
+ movs r2, 0x9
+ movs r3, 0x6
+ bl sub_80A4DD8
+ b _080A6D14
+_080A6D0A:
+ movs r0, 0x1
+ strh r0, [r5, 0xA]
+ adds r0, r4, 0
+ bl sub_80A6B64
+_080A6D14:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A6C6C
+
+ thumb_func_start sub_80A6D1C
+sub_80A6D1C: @ 80A6D1C
+ push {r4,r5,lr}
+ bl HideMapNamePopUpWindow
+ ldr r0, _080A6D70 @ =gSaveBlock1
+ ldr r1, _080A6D74 @ =0x00000496
+ adds r4, r0, r1
+ ldrh r0, [r4]
+ cmp r0, 0
+ beq _080A6D84
+ movs r1, 0x1
+ bl CheckBagHasItem
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x1
+ bne _080A6D80
+ bl ScriptContext2_Enable
+ bl player_bitmagic
+ bl sub_80594C0
+ bl sub_80597F4
+ ldr r1, _080A6D78 @ =word_203855E
+ ldrh r0, [r4]
+ strh r0, [r1]
+ ldrh r0, [r4]
+ bl ItemId_GetFieldFunc
+ movs r1, 0x8
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A6D7C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r5, [r1, 0xC]
+ b _080A6D8A
+ .align 2, 0
+_080A6D70: .4byte gSaveBlock1
+_080A6D74: .4byte 0x00000496
+_080A6D78: .4byte word_203855E
+_080A6D7C: .4byte gTasks
+_080A6D80:
+ movs r0, 0
+ strh r0, [r4]
+_080A6D84:
+ ldr r0, _080A6D94 @ =Event_NoRegisteredItem
+ bl ScriptContext1_SetupScript
+_080A6D8A:
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A6D94: .4byte Event_NoRegisteredItem
+ thumb_func_end sub_80A6D1C
+
+ thumb_func_start sub_80A6D98
+sub_80A6D98: @ 80A6D98
+ push {lr}
+_080A6D9A:
+ bl sub_80A317C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A6DBC
+ ldr r0, _080A6DB4 @ =sub_80A50C8
+ movs r1, 0
+ bl CreateTask
+ ldr r1, _080A6DB8 @ =gUnknown_02038563
+ strb r0, [r1]
+ b _080A6DC8
+ .align 2, 0
+_080A6DB4: .4byte sub_80A50C8
+_080A6DB8: .4byte gUnknown_02038563
+_080A6DBC:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A6D9A
+_080A6DC8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A6D98
+
+ thumb_func_start sub_80A6DCC
+sub_80A6DCC: @ 80A6DCC
+ push {lr}
+ ldr r1, _080A6DE4 @ =gUnknown_03000700
+ movs r0, 0
+ strb r0, [r1]
+ ldr r1, _080A6DE8 @ =gUnknown_03000701
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r0, _080A6DEC @ =sub_80A6D98
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6DE4: .4byte gUnknown_03000700
+_080A6DE8: .4byte gUnknown_03000701
+_080A6DEC: .4byte sub_80A6D98
+ thumb_func_end sub_80A6DCC
+
+ thumb_func_start sub_80A6DF0
+sub_80A6DF0: @ 80A6DF0
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r5, r0, 0
+ ldr r4, _080A6E4C @ =gUnknown_02038564
+ ldrb r0, [r4]
+ subs r0, 0x1
+ lsls r0, 25
+ lsrs r6, r0, 24
+ movs r1, 0x9
+ subs r1, r6
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0x7
+ movs r2, 0xD
+ movs r3, 0xC
+ bl MenuDrawTextWindow
+ movs r2, 0xA
+ subs r2, r6
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r6, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0x8
+ movs r3, 0x5
+ bl sub_80A4008
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _080A6E58
+ ldr r1, _080A6E50 @ =gUnknown_083C1640
+ ldr r0, _080A6E54 @ =gUnknown_03000704
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x8
+ movs r2, 0xA
+ bl MenuPrint
+ b _080A6E80
+ .align 2, 0
+_080A6E4C: .4byte gUnknown_02038564
+_080A6E50: .4byte gUnknown_083C1640
+_080A6E54: .4byte gUnknown_03000704
+_080A6E58:
+ ldr r5, _080A6EAC @ =gUnknown_083C1640
+ ldr r4, _080A6EB0 @ =gUnknown_03000704
+ ldr r0, [r4]
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, r5
+ ldr r0, [r0]
+ movs r1, 0x8
+ movs r2, 0x8
+ bl MenuPrint
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x1]
+ lsls r0, 3
+ adds r0, r5
+ ldr r0, [r0]
+ movs r1, 0x8
+ movs r2, 0xA
+ bl MenuPrint
+_080A6E80:
+ movs r2, 0xA
+ subs r2, r6
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r0, _080A6EB4 @ =gUnknown_02038564
+ ldrb r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x5
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x8
+ bl InitMenu
+ movs r0, 0x2
+ bl sub_80A7528
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6EAC: .4byte gUnknown_083C1640
+_080A6EB0: .4byte gUnknown_03000704
+_080A6EB4: .4byte gUnknown_02038564
+ thumb_func_end sub_80A6DF0
+
+ thumb_func_start sub_80A6EB8
+sub_80A6EB8: @ 80A6EB8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ ldr r2, _080A6EE0 @ =gMain
+ ldrh r0, [r2, 0x30]
+ movs r1, 0xF0
+ ands r1, r0
+ cmp r1, 0x40
+ bne _080A6EE8
+ ldr r4, _080A6EE4 @ =gUnknown_03000700
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _080A6FC0
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ b _080A6F02
+ .align 2, 0
+_080A6EE0: .4byte gMain
+_080A6EE4: .4byte gUnknown_03000700
+_080A6EE8:
+ cmp r1, 0x80
+ bne _080A6F14
+ ldr r4, _080A6F0C @ =gUnknown_03000700
+ ldrb r0, [r4]
+ adds r0, 0x1
+ ldr r1, _080A6F10 @ =gUnknown_02038564
+ ldrb r1, [r1]
+ cmp r0, r1
+ bge _080A6FC0
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+_080A6F02:
+ bl MoveMenuCursor
+ strb r0, [r4]
+ b _080A6FC0
+ .align 2, 0
+_080A6F0C: .4byte gUnknown_03000700
+_080A6F10: .4byte gUnknown_02038564
+_080A6F14:
+ ldrh r1, [r2, 0x2E]
+ movs r2, 0x1
+ ands r2, r1
+ cmp r2, 0
+ beq _080A6F84
+ ldr r1, _080A6F68 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x1C]
+ ldr r1, _080A6F6C @ =gUnknown_03005D10
+ ldr r0, _080A6F70 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ ldr r0, _080A6F74 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r1, _080A6F78 @ =gUnknown_083C1640
+ ldr r0, _080A6F7C @ =gUnknown_03000700
+ ldrb r2, [r0]
+ ldr r0, _080A6F80 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+ b _080A6FC0
+ .align 2, 0
+_080A6F68: .4byte gTasks
+_080A6F6C: .4byte gUnknown_03005D10
+_080A6F70: .4byte gUnknown_02038559
+_080A6F74: .4byte gBG1TilemapBuffer
+_080A6F78: .4byte gUnknown_083C1640
+_080A6F7C: .4byte gUnknown_03000700
+_080A6F80: .4byte gUnknown_03000704
+_080A6F84:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A6FC0
+ ldr r1, _080A6FC8 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ strh r2, [r0, 0x1C]
+ ldr r1, _080A6FCC @ =gUnknown_03005D10
+ ldr r0, _080A6FD0 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ ldr r0, _080A6FD4 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r0, _080A6FD8 @ =gUnknown_083C1640
+ ldr r1, [r0, 0x2C]
+ adds r0, r5, 0
+ bl _call_via_r1
+_080A6FC0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A6FC8: .4byte gTasks
+_080A6FCC: .4byte gUnknown_03005D10
+_080A6FD0: .4byte gUnknown_02038559
+_080A6FD4: .4byte gBG1TilemapBuffer
+_080A6FD8: .4byte gUnknown_083C1640
+ thumb_func_end sub_80A6EB8
+
+ thumb_func_start sub_80A6FDC
+sub_80A6FDC: @ 80A6FDC
+ push {lr}
+ ldr r0, _080A6FF8 @ =word_203855E
+ ldrh r0, [r0]
+ bl ItemId_GetBattleUsage
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A7008
+ ldr r1, _080A6FFC @ =gUnknown_03000704
+ ldr r0, _080A7000 @ =gUnknown_083C1708
+ str r0, [r1]
+ ldr r1, _080A7004 @ =gUnknown_02038564
+ movs r0, 0x2
+ b _080A7012
+ .align 2, 0
+_080A6FF8: .4byte word_203855E
+_080A6FFC: .4byte gUnknown_03000704
+_080A7000: .4byte gUnknown_083C1708
+_080A7004: .4byte gUnknown_02038564
+_080A7008:
+ ldr r1, _080A7018 @ =gUnknown_03000704
+ ldr r0, _080A701C @ =gUnknown_083C170A
+ str r0, [r1]
+ ldr r1, _080A7020 @ =gUnknown_02038564
+ movs r0, 0x1
+_080A7012:
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7018: .4byte gUnknown_03000704
+_080A701C: .4byte gUnknown_083C170A
+_080A7020: .4byte gUnknown_02038564
+ thumb_func_end sub_80A6FDC
+
+ thumb_func_start sub_80A7024
+sub_80A7024: @ 80A7024
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r1, _080A707C @ =gUnknown_03000700
+ movs r0, 0
+ strb r0, [r1]
+ bl sub_80A6FDC
+ ldr r0, _080A7080 @ =gTasks
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r0
+ ldr r3, _080A7084 @ =gUnknown_03005D10
+ ldr r2, _080A7088 @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ adds r1, 0x1
+ strh r1, [r4, 0x1C]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ adds r0, r3
+ ldrb r2, [r0]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ bl sub_80A73FC
+ ldr r0, _080A708C @ =gBG1TilemapBuffer
+ bl sub_80A6DF0
+ ldr r0, _080A7090 @ =sub_80A6EB8
+ str r0, [r4]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A707C: .4byte gUnknown_03000700
+_080A7080: .4byte gTasks
+_080A7084: .4byte gUnknown_03005D10
+_080A7088: .4byte gUnknown_02038559
+_080A708C: .4byte gBG1TilemapBuffer
+_080A7090: .4byte sub_80A6EB8
+ thumb_func_end sub_80A7024
+
+ thumb_func_start sub_80A7094
+sub_80A7094: @ 80A7094
+ push {lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A70CC @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r2, _080A70D0 @ =sub_802E424
+ lsrs r0, r2, 16
+ movs r3, 0
+ strh r0, [r1, 0x18]
+ strh r2, [r1, 0x1A]
+ ldr r0, _080A70D4 @ =sub_80A5B00
+ str r0, [r1]
+ movs r0, 0x1
+ negs r0, r0
+ str r3, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A70CC: .4byte gTasks
+_080A70D0: .4byte sub_802E424
+_080A70D4: .4byte sub_80A5B00
+ thumb_func_end sub_80A7094
+
+ thumb_func_start sub_80A70D8
+sub_80A70D8: @ 80A70D8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_80A7094
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A70D8
+
+ thumb_func_start ItemMenu_UseInBattle
+ItemMenu_UseInBattle: @ 80A70F4
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _080A7120 @ =word_203855E
+ ldrh r0, [r4]
+ bl ItemId_GetBattleFunc
+ cmp r0, 0
+ beq _080A711A
+ movs r0, 0x5
+ bl PlaySE
+ ldrh r0, [r4]
+ bl ItemId_GetBattleFunc
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl _call_via_r1
+_080A711A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7120: .4byte word_203855E
+ thumb_func_end ItemMenu_UseInBattle
+
+ thumb_func_start sub_80A7124
+sub_80A7124: @ 80A7124
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0
+ bl sub_80A7528
+ adds r0, r4, 0
+ bl sub_80A41D4
+ bl ItemListMenu_InitMenu
+ adds r0, r4, 0
+ bl sub_80A37C0
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7124
+
+ thumb_func_start sub_80A7150
+sub_80A7150: @ 80A7150
+ push {r4,r5,lr}
+ ldr r4, _080A7158 @ =gUnknown_02038563
+ ldr r5, _080A715C @ =gTasks
+ b _080A716C
+ .align 2, 0
+_080A7158: .4byte gUnknown_02038563
+_080A715C: .4byte gTasks
+_080A7160:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A7190
+_080A716C:
+ bl sub_80A317C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A7160
+ ldr r0, _080A7198 @ =sub_80A7230
+ movs r1, 0
+ bl CreateTask
+ strb r0, [r4]
+ ldrb r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r5
+ movs r1, 0
+ strh r1, [r0, 0x26]
+_080A7190:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7198: .4byte sub_80A7230
+ thumb_func_end sub_80A7150
+
+ thumb_func_start PrepareBagForWallyTutorial
+PrepareBagForWallyTutorial: @ 80A719C
+ push {r4,r5,lr}
+ ldr r0, _080A7214 @ =gUnknown_03000700
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _080A7218 @ =gUnknown_02038559
+ strb r1, [r0]
+ movs r1, 0
+ ldr r4, _080A721C @ =0x0201e000
+ ldr r5, _080A7220 @ =gSaveBlock1 + 0x560
+ ldr r3, _080A7224 @ =gUnknown_03005D10
+ movs r2, 0
+_080A71B2:
+ lsls r0, r1, 2
+ adds r0, r3
+ strb r2, [r0]
+ strb r2, [r0, 0x1]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x4
+ bls _080A71B2
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x50
+ bl memcpy
+ movs r1, 0x80
+ lsls r1, 5
+ adds r0, r4, r1
+ adds r4, r5, 0
+ adds r4, 0xA0
+ adds r1, r4, 0
+ movs r2, 0x40
+ bl memcpy
+ adds r0, r5, 0
+ movs r1, 0x14
+ bl ClearItemSlots
+ adds r0, r4, 0
+ movs r1, 0x10
+ bl ClearItemSlots
+ movs r0, 0xD
+ movs r1, 0x1
+ bl AddBagItem
+ movs r0, 0x4
+ movs r1, 0x1
+ bl AddBagItem
+ ldr r1, _080A7228 @ =gUnknown_03000701
+ movs r0, 0x7
+ strb r0, [r1]
+ ldr r0, _080A722C @ =sub_80A7150
+ bl SetMainCallback2
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7214: .4byte gUnknown_03000700
+_080A7218: .4byte gUnknown_02038559
+_080A721C: .4byte 0x0201e000
+_080A7220: .4byte gSaveBlock1 + 0x560
+_080A7224: .4byte gUnknown_03005D10
+_080A7228: .4byte gUnknown_03000701
+_080A722C: .4byte sub_80A7150
+ thumb_func_end PrepareBagForWallyTutorial
+
+ thumb_func_start sub_80A7230
+sub_80A7230: @ 80A7230
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r6, r0, 3
+ ldr r0, _080A725C @ =gTasks + 0x8
+ mov r8, r0
+ adds r7, r6, r0
+ movs r0, 0x1E
+ ldrsh r1, [r7, r0]
+ cmp r1, 0xCC
+ beq _080A727A
+ cmp r1, 0xCC
+ bgt _080A7260
+ cmp r1, 0x66
+ beq _080A726A
+ b _080A7358
+ .align 2, 0
+_080A725C: .4byte gTasks + 0x8
+_080A7260:
+ movs r0, 0x99
+ lsls r0, 1
+ cmp r1, r0
+ beq _080A72F4
+ b _080A7358
+_080A726A:
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ movs r1, 0x2
+ bl sub_80A4E8C
+ b _080A7358
+_080A727A:
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x2
+ bl sub_80F98A4
+ movs r0, 0x3
+ bl sub_80F98A4
+ ldr r1, _080A72D8 @ =word_203855E
+ movs r0, 0x4
+ strh r0, [r1]
+ ldr r1, _080A72DC @ =gUnknown_03000704
+ ldr r0, _080A72E0 @ =gUnknown_083C1708
+ str r0, [r1]
+ ldr r1, _080A72E4 @ =gUnknown_02038564
+ movs r0, 0x2
+ strb r0, [r1]
+ mov r0, r8
+ adds r4, r0, r6
+ ldr r3, _080A72E8 @ =gUnknown_03005D10
+ ldr r2, _080A72EC @ =gUnknown_02038559
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ adds r1, 0x1
+ strh r1, [r4, 0x14]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 2
+ adds r0, r3
+ ldrb r2, [r0]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80A48E8
+ bl sub_80A73FC
+ ldr r0, _080A72F0 @ =gBG1TilemapBuffer
+ bl sub_80A6DF0
+ b _080A7358
+ .align 2, 0
+_080A72D8: .4byte word_203855E
+_080A72DC: .4byte gUnknown_03000704
+_080A72E0: .4byte gUnknown_083C1708
+_080A72E4: .4byte gUnknown_02038564
+_080A72E8: .4byte gUnknown_03005D10
+_080A72EC: .4byte gUnknown_02038559
+_080A72F0: .4byte gBG1TilemapBuffer
+_080A72F4:
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _080A7344 @ =gBG1TilemapBuffer
+ bl sub_80A4DA4
+ ldr r4, _080A7348 @ =gSaveBlock1 + 0x560
+ ldr r5, _080A734C @ =0x0201e000
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x50
+ bl memcpy
+ adds r4, 0xA0
+ movs r0, 0x80
+ lsls r0, 5
+ adds r5, r0
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x40
+ bl memcpy
+ ldr r1, _080A7350 @ =sub_802E424
+ lsrs r0, r1, 16
+ strh r0, [r7, 0x10]
+ strh r1, [r7, 0x12]
+ mov r0, r8
+ subs r0, 0x8
+ adds r0, r6, r0
+ ldr r1, _080A7354 @ =sub_80A5B00
+ str r1, [r0]
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _080A735E
+ .align 2, 0
+_080A7344: .4byte gBG1TilemapBuffer
+_080A7348: .4byte gSaveBlock1 + 0x560
+_080A734C: .4byte 0x0201e000
+_080A7350: .4byte sub_802E424
+_080A7354: .4byte sub_80A5B00
+_080A7358:
+ ldrh r0, [r7, 0x1E]
+ adds r0, 0x1
+ strh r0, [r7, 0x1E]
+_080A735E:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7230
+
+ thumb_func_start ItemListMenu_InitMenu
+ItemListMenu_InitMenu: @ 80A736C
+ push {lr}
+ sub sp, 0x8
+ ldr r1, _080A73B0 @ =gUnknown_03005D10
+ ldr r0, _080A73B4 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r3, [r0, 0x3]
+ adds r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r0]
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r1, 0xE
+ movs r2, 0x2
+ bl InitMenu
+ ldr r1, _080A73B8 @ =0x0000ffff
+ ldr r3, _080A73BC @ =0x00002d9f
+ movs r0, 0xF
+ str r0, [sp]
+ movs r0, 0x10
+ movs r2, 0xC
+ bl CreateBlendedOutlineCursor
+ bl sub_80A73C0
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A73B0: .4byte gUnknown_03005D10
+_080A73B4: .4byte gUnknown_02038559
+_080A73B8: .4byte 0x0000ffff
+_080A73BC: .4byte 0x00002d9f
+ thumb_func_end ItemListMenu_InitMenu
+
+ thumb_func_start sub_80A73C0
+sub_80A73C0: @ 80A73C0
+ push {lr}
+ ldr r1, _080A73E8 @ =gUnknown_03005D10
+ ldr r0, _080A73EC @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r1, 28
+ movs r0, 0x80
+ lsls r0, 21
+ adds r1, r0
+ lsrs r1, 24
+ movs r0, 0x70
+ bl sub_814AD7C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A73E8: .4byte gUnknown_03005D10
+_080A73EC: .4byte gUnknown_02038559
+ thumb_func_end sub_80A73C0
+
+ thumb_func_start sub_80A73F0
+sub_80A73F0: @ 80A73F0
+ push {lr}
+ bl sub_814ADC8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A73F0
+
+ thumb_func_start sub_80A73FC
+sub_80A73FC: @ 80A73FC
+ push {lr}
+ bl sub_8072DEC
+ bl sub_814AD44
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A73FC
+
+ thumb_func_start sub_80A740C
+sub_80A740C: @ 80A740C
+ push {lr}
+ bl sub_80A75E4
+ bl sub_80A7768
+ bl sub_80A7420
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A740C
+
+ thumb_func_start sub_80A7420
+sub_80A7420: @ 80A7420
+ push {r4,lr}
+ ldr r4, _080A7438 @ =gUnknown_0203853C
+ ldrb r0, [r4]
+ cmp r0, 0x2
+ beq _080A743C
+ cmp r0, 0x3
+ beq _080A7430
+ b _080A7512
+_080A7430:
+ movs r0, 0x2
+ strb r0, [r4]
+ b _080A7512
+ .align 2, 0
+_080A7438: .4byte gUnknown_0203853C
+_080A743C:
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x9
+ bhi _080A74FC
+ lsls r0, 2
+ ldr r1, _080A744C @ =_080A7450
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080A744C: .4byte _080A7450
+ .align 2, 0
+_080A7450:
+ .4byte _080A7478
+ .4byte _080A74AC
+ .4byte _080A74B4
+ .4byte _080A74BC
+ .4byte _080A74C4
+ .4byte _080A74CC
+ .4byte _080A74D4
+ .4byte _080A74DC
+ .4byte _080A74E4
+ .4byte _080A74F4
+_080A7478:
+ ldr r1, _080A74A0 @ =gUnknown_03005D10
+ ldr r0, _080A74A4 @ =gUnknown_02038559
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _080A74A8 @ =gUnknown_03005D24
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ ldrb r1, [r4, 0x1]
+ bl ItemListMenu_ChangeDescription
+ b _080A74FC
+ .align 2, 0
+_080A74A0: .4byte gUnknown_03005D10
+_080A74A4: .4byte gUnknown_02038559
+_080A74A8: .4byte gUnknown_03005D24
+_080A74AC:
+ ldr r0, _080A74B0 @ =gOtherText_SwitchWhichItem
+ b _080A74E6
+ .align 2, 0
+_080A74B0: .4byte gOtherText_SwitchWhichItem
+_080A74B4:
+ ldr r0, _080A74B8 @ =gOtherText_WhatWillYouDo2
+ b _080A74E6
+ .align 2, 0
+_080A74B8: .4byte gOtherText_WhatWillYouDo2
+_080A74BC:
+ ldr r0, _080A74C0 @ =gOtherText_HowManyToToss
+ b _080A74E6
+ .align 2, 0
+_080A74C0: .4byte gOtherText_HowManyToToss
+_080A74C4:
+ ldr r0, _080A74C8 @ =gOtherText_ThrewAwayItem
+ b _080A74E6
+ .align 2, 0
+_080A74C8: .4byte gOtherText_ThrewAwayItem
+_080A74CC:
+ ldr r0, _080A74D0 @ =gOtherText_OkayToThrowAwayPrompt
+ b _080A74E6
+ .align 2, 0
+_080A74D0: .4byte gOtherText_OkayToThrowAwayPrompt
+_080A74D4:
+ ldr r0, _080A74D8 @ =gOtherText_HowManyToDeposit
+ b _080A74E6
+ .align 2, 0
+_080A74D8: .4byte gOtherText_HowManyToDeposit
+_080A74DC:
+ ldr r0, _080A74E0 @ =gOtherText_DepositedItems
+ b _080A74E6
+ .align 2, 0
+_080A74E0: .4byte gOtherText_DepositedItems
+_080A74E4:
+ ldr r0, _080A74F0 @ =gOtherText_NoRoomForItems
+_080A74E6:
+ ldrb r1, [r4, 0x1]
+ bl sub_80A4A98
+ b _080A74FC
+ .align 2, 0
+_080A74F0: .4byte gOtherText_NoRoomForItems
+_080A74F4:
+ ldr r0, _080A7518 @ =gOtherText_CantStoreSomeoneItem
+ ldrb r1, [r4, 0x1]
+ bl sub_80A4A98
+_080A74FC:
+ ldrb r0, [r4, 0x1]
+ adds r0, 0x1
+ strb r0, [r4, 0x1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bne _080A7512
+ movs r0, 0
+ strb r0, [r4]
+ bl sub_80A7918
+_080A7512:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7518: .4byte gOtherText_CantStoreSomeoneItem
+ thumb_func_end sub_80A7420
+
+ thumb_func_start sub_80A751C
+sub_80A751C: @ 80A751C
+ ldr r1, _080A7524 @ =gUnknown_0203853C
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080A7524: .4byte gUnknown_0203853C
+ thumb_func_end sub_80A751C
+
+ thumb_func_start sub_80A7528
+sub_80A7528: @ 80A7528
+ push {r4,lr}
+ ldr r4, _080A7544 @ =gUnknown_0203853C
+ movs r1, 0
+ strb r1, [r4, 0x1]
+ strb r0, [r4, 0x2]
+ bl sub_80A78F4
+ cmp r0, 0x1
+ beq _080A755E
+ cmp r0, 0x1
+ bgt _080A7548
+ cmp r0, 0
+ beq _080A754E
+ b _080A7566
+ .align 2, 0
+_080A7544: .4byte gUnknown_0203853C
+_080A7548:
+ cmp r0, 0x2
+ beq _080A7562
+ b _080A7566
+_080A754E:
+ movs r0, 0x2
+ strb r0, [r4]
+_080A7552:
+ bl sub_80A7420
+ ldrb r0, [r4]
+ cmp r0, 0
+ bne _080A7552
+ b _080A7566
+_080A755E:
+ movs r0, 0x3
+ b _080A7564
+_080A7562:
+ movs r0, 0x1
+_080A7564:
+ strb r0, [r4]
+_080A7566:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7528
+
+ thumb_func_start sub_80A756C
+sub_80A756C: @ 80A756C
+ push {r4,lr}
+ ldr r4, _080A758C @ =gUnknown_0203853C
+ ldrb r0, [r4]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080A7580
+ bl sub_80A7918
+_080A7580:
+ movs r0, 0
+ strb r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A758C: .4byte gUnknown_0203853C
+ thumb_func_end sub_80A756C
+
+ thumb_func_start sub_80A7590
+sub_80A7590: @ 80A7590
+ push {lr}
+ movs r0, 0
+ movs r1, 0xD
+ movs r2, 0xD
+ movs r3, 0x14
+ bl MenuZeroFillWindowRect
+ bl sub_80A756C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7590
+
+ thumb_func_start sub_80A75A8
+sub_80A75A8: @ 80A75A8
+ push {lr}
+ ldr r1, _080A75C0 @ =gUnknown_0203853C
+ ldrb r0, [r1]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080A75BC
+ movs r0, 0x1
+ strb r0, [r1]
+_080A75BC:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A75C0: .4byte gUnknown_0203853C
+ thumb_func_end sub_80A75A8
+
+ thumb_func_start sub_80A75C4
+sub_80A75C4: @ 80A75C4
+ push {lr}
+ ldr r1, _080A75D8 @ =gUnknown_0203853C
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080A75DC
+ cmp r0, 0x1
+ bne _080A75E0
+ movs r0, 0x3
+ strb r0, [r1]
+ b _080A75E0
+ .align 2, 0
+_080A75D8: .4byte gUnknown_0203853C
+_080A75DC:
+ bl sub_80A7918
+_080A75E0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A75C4
+
+ thumb_func_start sub_80A75E4
+sub_80A75E4: @ 80A75E4
+ push {r4,r5,lr}
+ ldr r4, _080A7628 @ =gUnknown_02038540
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _080A7622
+ bl sub_80A7988
+ adds r5, r0, 0
+ cmp r5, 0
+ bne _080A7622
+ ldr r0, _080A762C @ =gUnknown_02038563
+ ldrb r0, [r0]
+ ldrb r2, [r4, 0x1]
+ adds r1, r2, 0
+ movs r3, 0x1
+ bl sub_80A47E8
+ ldrb r0, [r4, 0x1]
+ adds r0, 0x1
+ strb r0, [r4, 0x1]
+ ldrb r0, [r4, 0x2]
+ movs r1, 0x7
+ cmp r0, 0
+ beq _080A7616
+ movs r1, 0x5
+_080A7616:
+ ldrb r0, [r4, 0x1]
+ cmp r1, r0
+ bge _080A7622
+ strb r5, [r4]
+ bl sub_80A78E8
+_080A7622:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7628: .4byte gUnknown_02038540
+_080A762C: .4byte gUnknown_02038563
+ thumb_func_end sub_80A75E4
+
+ thumb_func_start sub_80A7630
+sub_80A7630: @ 80A7630
+ ldr r1, _080A7638 @ =gUnknown_02038540
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080A7638: .4byte gUnknown_02038540
+ thumb_func_end sub_80A7630
+
+ thumb_func_start sub_80A763C
+sub_80A763C: @ 80A763C
+ push {r4,lr}
+ ldr r4, _080A7650 @ =gUnknown_02038540
+ bl sub_80A78C4
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _080A7654
+ cmp r1, 0x1
+ beq _080A7668
+ b _080A7670
+ .align 2, 0
+_080A7650: .4byte gUnknown_02038540
+_080A7654:
+ ldr r0, _080A7664 @ =gUnknown_02038563
+ ldrb r0, [r0]
+ movs r1, 0
+ movs r2, 0x7
+ bl sub_80A48E8
+ b _080A7670
+ .align 2, 0
+_080A7664: .4byte gUnknown_02038563
+_080A7668:
+ movs r0, 0
+ strb r1, [r4]
+ strb r0, [r4, 0x1]
+ strb r0, [r4, 0x2]
+_080A7670:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A763C
+
+ thumb_func_start sub_80A7678
+sub_80A7678: @ 80A7678
+ push {r4,lr}
+ ldr r4, _080A7690 @ =gUnknown_02038540
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _080A7686
+ bl sub_80A78E8
+_080A7686:
+ movs r0, 0
+ strb r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7690: .4byte gUnknown_02038540
+ thumb_func_end sub_80A7678
+
+ thumb_func_start sub_80A7694
+sub_80A7694: @ 80A7694
+ ldr r1, _080A769C @ =gUnknown_02038540
+ movs r0, 0x1
+ strb r0, [r1, 0x2]
+ bx lr
+ .align 2, 0
+_080A769C: .4byte gUnknown_02038540
+ thumb_func_end sub_80A7694
+
+ thumb_func_start sub_80A76A0
+sub_80A76A0: @ 80A76A0
+ push {lr}
+ movs r0, 0xE
+ movs r1, 0x2
+ movs r2, 0x1D
+ movs r3, 0x12
+ bl MenuZeroFillWindowRect
+ bl sub_80A7678
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A76A0
+
+ thumb_func_start sub_80A76B8
+sub_80A76B8: @ 80A76B8
+ push {lr}
+ ldr r0, _080A76CC @ =gUnknown_02038540
+ movs r1, 0
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080A76C6
+ movs r1, 0x1
+_080A76C6:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A76CC: .4byte gUnknown_02038540
+ thumb_func_end sub_80A76B8
+
+ thumb_func_start sub_80A76D0
+sub_80A76D0: @ 80A76D0
+ push {lr}
+ ldr r0, _080A76E4 @ =gUnknown_02038540
+ movs r1, 0
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0x5
+ bls _080A76DE
+ movs r1, 0x1
+_080A76DE:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A76E4: .4byte gUnknown_02038540
+ thumb_func_end sub_80A76D0
+
+ thumb_func_start sub_80A76E8
+sub_80A76E8: @ 80A76E8
+ push {r4,lr}
+ ldr r4, _080A7708 @ =gUnknown_02038544
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _080A7702
+ ldrb r0, [r4, 0x1]
+ ldr r1, [r4, 0x4]
+ ldr r2, [r4, 0x8]
+ ldrh r3, [r4, 0x2]
+ bl DisplayItemMessageOnField
+ movs r0, 0
+ strb r0, [r4]
+_080A7702:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7708: .4byte gUnknown_02038544
+ thumb_func_end sub_80A76E8
+
+ thumb_func_start sub_80A770C
+sub_80A770C: @ 80A770C
+ ldr r1, _080A7714 @ =gUnknown_02038544
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080A7714: .4byte gUnknown_02038544
+ thumb_func_end sub_80A770C
+
+ thumb_func_start DisplayCannotUseItemMessage
+DisplayCannotUseItemMessage: @ 80A7718
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ adds r7, r1, 0
+ mov r8, r2
+ adds r6, r3, 0
+ ldr r4, _080A7738 @ =gUnknown_02038544
+ bl sub_80A7924
+ cmp r0, 0
+ beq _080A773C
+ cmp r0, 0x2
+ beq _080A774E
+ b _080A775C
+ .align 2, 0
+_080A7738: .4byte gUnknown_02038544
+_080A773C:
+ lsls r0, r5, 24
+ lsrs r0, 24
+ lsls r3, r6, 16
+ lsrs r3, 16
+ adds r1, r7, 0
+ mov r2, r8
+ bl DisplayItemMessageOnField
+ b _080A775C
+_080A774E:
+ movs r0, 0x1
+ strb r0, [r4]
+ strb r5, [r4, 0x1]
+ str r7, [r4, 0x4]
+ mov r0, r8
+ str r0, [r4, 0x8]
+ strh r6, [r4, 0x2]
+_080A775C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end DisplayCannotUseItemMessage
+
+ thumb_func_start sub_80A7768
+sub_80A7768: @ 80A7768
+ push {r4,lr}
+ ldr r4, _080A77A8 @ =gUnknown_02038550
+ ldrb r0, [r4]
+ cmp r0, 0x2
+ bne _080A7814
+ ldrb r1, [r4, 0x1]
+ cmp r1, 0
+ beq _080A780E
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x1
+ beq _080A77B4
+ ldr r2, _080A77AC @ =gUnknown_083C1640
+ ldr r0, _080A77B0 @ =gUnknown_03000704
+ ldr r0, [r0]
+ adds r0, r1, r0
+ subs r0, 0x1
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, r2
+ ldr r0, [r0]
+ subs r1, 0x1
+ lsls r1, 1
+ adds r1, 0x1
+ ldrb r2, [r4, 0x3]
+ adds r2, r1
+ lsls r2, 24
+ lsrs r2, 24
+ movs r1, 0x7
+ bl MenuPrint
+ b _080A77FC
+ .align 2, 0
+_080A77A8: .4byte gUnknown_02038550
+_080A77AC: .4byte gUnknown_083C1640
+_080A77B0: .4byte gUnknown_03000704
+_080A77B4:
+ cmp r1, 0x1
+ bne _080A77C8
+ ldr r0, _080A77C4 @ =word_203855E
+ ldrh r0, [r0]
+ bl sub_80A4B90
+ adds r3, r0, 0
+ b _080A77DC
+ .align 2, 0
+_080A77C4: .4byte word_203855E
+_080A77C8:
+ ldr r2, _080A781C @ =gUnknown_083C1640
+ ldrb r0, [r4, 0x1]
+ ldr r1, _080A7820 @ =gUnknown_03000704
+ ldr r1, [r1]
+ adds r0, r1
+ subs r0, 0x1
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, r2
+ ldr r3, [r0]
+_080A77DC:
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ asrs r0, r2, 1
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 1
+ adds r1, 0x1
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0x1
+ ands r2, r0
+ lsls r2, 1
+ adds r2, 0x8
+ adds r0, r3, 0
+ bl MenuPrint
+_080A77FC:
+ ldr r1, _080A7824 @ =gUnknown_02038564
+ ldrb r0, [r4, 0x1]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _080A780E
+ movs r0, 0
+ strb r0, [r4]
+ bl sub_80A7970
+_080A780E:
+ ldrb r0, [r4, 0x1]
+ adds r0, 0x1
+ strb r0, [r4, 0x1]
+_080A7814:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A781C: .4byte gUnknown_083C1640
+_080A7820: .4byte gUnknown_03000704
+_080A7824: .4byte gUnknown_02038564
+ thumb_func_end sub_80A7768
+
+ thumb_func_start sub_80A7828
+sub_80A7828: @ 80A7828
+ ldr r1, _080A7830 @ =gUnknown_02038550
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080A7830: .4byte gUnknown_02038550
+ thumb_func_end sub_80A7828
+
+ thumb_func_start sub_80A7834
+sub_80A7834: @ 80A7834
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldr r4, _080A784C @ =gUnknown_02038550
+ bl sub_80A7958
+ cmp r0, 0x1
+ beq _080A7850
+ cmp r0, 0x2
+ beq _080A7856
+ b _080A7862
+ .align 2, 0
+_080A784C: .4byte gUnknown_02038550
+_080A7850:
+ movs r1, 0
+ movs r0, 0x2
+ b _080A785A
+_080A7856:
+ movs r1, 0
+ movs r0, 0x1
+_080A785A:
+ strb r0, [r4]
+ strb r1, [r4, 0x1]
+ strb r5, [r4, 0x2]
+ strb r6, [r4, 0x3]
+_080A7862:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7834
+
+ thumb_func_start sub_80A7868
+sub_80A7868: @ 80A7868
+ push {lr}
+ ldr r1, _080A787C @ =gUnknown_02038550
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ bne _080A7876
+ movs r0, 0x1
+ strb r0, [r1]
+_080A7876:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A787C: .4byte gUnknown_02038550
+ thumb_func_end sub_80A7868
+
+ thumb_func_start sub_80A7880
+sub_80A7880: @ 80A7880
+ push {lr}
+ ldr r1, _080A7894 @ =gUnknown_02038550
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080A7898
+ cmp r0, 0x1
+ bne _080A789C
+ movs r0, 0x2
+ strb r0, [r1]
+ b _080A789C
+ .align 2, 0
+_080A7894: .4byte gUnknown_02038550
+_080A7898:
+ bl sub_80A7970
+_080A789C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7880
+
+ thumb_func_start sub_80A78A0
+sub_80A78A0: @ 80A78A0
+ push {lr}
+ ldr r0, _080A78B4 @ =gUnknown_02038550
+ movs r1, 0
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080A78AE
+ movs r1, 0x1
+_080A78AE:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A78B4: .4byte gUnknown_02038550
+ thumb_func_end sub_80A78A0
+
+ thumb_func_start sub_80A78B8
+sub_80A78B8: @ 80A78B8
+ ldr r1, _080A78C0 @ =gUnknown_02038554
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080A78C0: .4byte gUnknown_02038554
+ thumb_func_end sub_80A78B8
+
+ thumb_func_start sub_80A78C4
+sub_80A78C4: @ 80A78C4
+ push {lr}
+ ldr r0, _080A78DC @ =gLinkOpen
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080A78E0
+ bl sub_80A7868
+ bl sub_80A75A8
+ movs r0, 0x1
+ b _080A78E2
+ .align 2, 0
+_080A78DC: .4byte gLinkOpen
+_080A78E0:
+ movs r0, 0
+_080A78E2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A78C4
+
+ thumb_func_start sub_80A78E8
+sub_80A78E8: @ 80A78E8
+ push {lr}
+ bl sub_80A7880
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A78E8
+
+ thumb_func_start sub_80A78F4
+sub_80A78F4: @ 80A78F4
+ push {lr}
+ ldr r0, _080A790C @ =gLinkOpen
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080A7910
+ bl sub_80A76B8
+ movs r1, 0x2
+ cmp r0, 0
+ beq _080A7912
+ movs r1, 0x1
+ b _080A7912
+ .align 2, 0
+_080A790C: .4byte gLinkOpen
+_080A7910:
+ movs r1, 0
+_080A7912:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A78F4
+
+ thumb_func_start sub_80A7918
+sub_80A7918: @ 80A7918
+ push {lr}
+ bl sub_80A76E8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7918
+
+ thumb_func_start sub_80A7924
+sub_80A7924: @ 80A7924
+ push {lr}
+ ldr r0, _080A7948 @ =gLinkOpen
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080A7942
+ bl sub_80A76B8
+ cmp r0, 0
+ bne _080A7942
+ bl sub_80A76D0
+ cmp r0, 0
+ beq _080A794C
+ bl sub_80A7678
+_080A7942:
+ movs r0, 0
+ b _080A7952
+ .align 2, 0
+_080A7948: .4byte gLinkOpen
+_080A794C:
+ bl sub_80A7694
+ movs r0, 0x2
+_080A7952:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A7924
+
+ thumb_func_start sub_80A7958
+sub_80A7958: @ 80A7958
+ push {lr}
+ bl sub_80A76B8
+ cmp r0, 0
+ beq _080A796A
+ bl sub_80A75A8
+ movs r0, 0x1
+ b _080A796C
+_080A796A:
+ movs r0, 0x2
+_080A796C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A7958
+
+ thumb_func_start sub_80A7970
+sub_80A7970: @ 80A7970
+ push {lr}
+ bl sub_80A75C4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7970
+
+ thumb_func_start sub_80A797C
+sub_80A797C: @ 80A797C
+ ldr r1, _080A7984 @ =gUnknown_02038554
+ movs r0, 0x1
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080A7984: .4byte gUnknown_02038554
+ thumb_func_end sub_80A797C
+
+ thumb_func_start sub_80A7988
+sub_80A7988: @ 80A7988
+ ldr r1, _080A7994 @ =gUnknown_02038554
+ ldrb r0, [r1]
+ movs r2, 0
+ strb r2, [r1]
+ bx lr
+ .align 2, 0
+_080A7994: .4byte gUnknown_02038554
+ thumb_func_end sub_80A7988
+
+ thumb_func_start sub_80A7998
+sub_80A7998: @ 80A7998
+ adds r2, r0, 0
+ adds r2, 0x2A
+ movs r1, 0
+ strb r1, [r2]
+ strh r1, [r0, 0x2E]
+ strh r1, [r0, 0x30]
+ strh r1, [r0, 0x32]
+ strh r1, [r0, 0x34]
+ strh r1, [r0, 0x36]
+ ldr r1, _080A79B0 @ =sub_80A79B4
+ str r1, [r0, 0x1C]
+ bx lr
+ .align 2, 0
+_080A79B0: .4byte sub_80A79B4
+ thumb_func_end sub_80A7998
+
+ thumb_func_start sub_80A79B4
+sub_80A79B4: @ 80A79B4
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _080A79E4 @ =gUnknown_0203855B
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080A79CC
+ adds r0, r4, 0
+ bl sub_80A79EC
+_080A79CC:
+ ldr r0, _080A79E8 @ =gUnknown_0203855C
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0
+ beq _080A79DE
+ adds r0, r4, 0
+ bl sub_80A7A94
+_080A79DE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A79E4: .4byte gUnknown_0203855B
+_080A79E8: .4byte gUnknown_0203855C
+ thumb_func_end sub_80A79B4
+
+ thumb_func_start sub_80A79EC
+sub_80A79EC: @ 80A79EC
+ push {r4-r6,lr}
+ adds r2, r0, 0
+ movs r0, 0x34
+ ldrsh r4, [r2, r0]
+ cmp r4, 0
+ beq _080A79FE
+ cmp r4, 0x1
+ beq _080A7A54
+ b _080A7A8A
+_080A79FE:
+ ldr r5, _080A7A28 @ =gUnknown_0203855B
+ ldrb r6, [r5]
+ movs r0, 0
+ ldrsb r0, [r5, r0]
+ cmp r0, 0x6
+ beq _080A7A2C
+ adds r3, r2, 0
+ adds r3, 0x3F
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3]
+ adds r0, r2, 0
+ adds r0, 0x2A
+ strb r6, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r1, 0
+ strb r0, [r5]
+ b _080A7A8A
+ .align 2, 0
+_080A7A28: .4byte gUnknown_0203855B
+_080A7A2C:
+ adds r3, r2, 0
+ adds r3, 0x3F
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3]
+ adds r0, r2, 0
+ adds r0, 0x2A
+ strb r4, [r0]
+ ldrh r0, [r2, 0x22]
+ subs r0, 0x4
+ strh r0, [r2, 0x22]
+ movs r0, 0x4
+ strh r0, [r2, 0x2E]
+ movs r0, 0x1
+ strh r0, [r2, 0x34]
+ adds r0, r2, 0
+ bl sub_80A7AE4
+ b _080A7A8A
+_080A7A54:
+ ldrh r4, [r2, 0x2E]
+ movs r0, 0x2E
+ ldrsh r3, [r2, r0]
+ cmp r3, 0
+ beq _080A7A7C
+ ldrh r1, [r2, 0x30]
+ movs r3, 0x30
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ beq _080A7A72
+ ldrh r0, [r2, 0x22]
+ adds r0, 0x1
+ strh r0, [r2, 0x22]
+ subs r0, r4, 0x1
+ strh r0, [r2, 0x2E]
+_080A7A72:
+ adds r0, r1, 0x1
+ movs r1, 0x1
+ ands r0, r1
+ strh r0, [r2, 0x30]
+ b _080A7A8A
+_080A7A7C:
+ ldr r1, _080A7A90 @ =gUnknown_0203855B
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ strb r0, [r1]
+ strh r3, [r2, 0x30]
+ strh r3, [r2, 0x34]
+_080A7A8A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7A90: .4byte gUnknown_0203855B
+ thumb_func_end sub_80A79EC
+
+ thumb_func_start sub_80A7A94
+sub_80A7A94: @ 80A7A94
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _080A7AA6
+ cmp r0, 0x1
+ beq _080A7AC8
+ b _080A7ADC
+_080A7AA6:
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldr r0, _080A7AC4 @ =gSpriteAffineAnimTable_83C1CC4
+ str r0, [r4, 0x10]
+ adds r0, r4, 0
+ bl InitSpriteAffineAnim
+ movs r0, 0x1
+ strh r0, [r4, 0x36]
+ b _080A7ADC
+ .align 2, 0
+_080A7AC4: .4byte gSpriteAffineAnimTable_83C1CC4
+_080A7AC8:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xC
+ bne _080A7ADC
+ adds r0, r4, 0
+ bl sub_80A7AE4
+_080A7ADC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7A94
+
+ thumb_func_start sub_80A7AE4
+sub_80A7AE4: @ 80A7AE4
+ push {lr}
+ ldr r2, _080A7B0C @ =gUnknown_0203855C
+ movs r1, 0
+ strb r1, [r2]
+ ldrb r2, [r0, 0x1]
+ movs r1, 0x4
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0, 0x1]
+ movs r1, 0
+ strh r1, [r0, 0x32]
+ strh r1, [r0, 0x36]
+ ldrb r0, [r0, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl FreeOamMatrix
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7B0C: .4byte gUnknown_0203855C
+ thumb_func_end sub_80A7AE4
+
+ thumb_func_start CreateBagSprite
+CreateBagSprite: @ 80A7B10
+ push {lr}
+ ldr r0, _080A7B24 @ =gSpriteTemplate_83C1CE0
+ movs r1, 0x3A
+ movs r2, 0x28
+ movs r3, 0
+ bl CreateSprite
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7B24: .4byte gSpriteTemplate_83C1CE0
+ thumb_func_end CreateBagSprite
+
+ thumb_func_start sub_80A7B28
+sub_80A7B28: @ 80A7B28
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ strh r0, [r4, 0x34]
+ strh r0, [r4, 0x2E]
+ adds r0, r4, 0
+ bl sub_80A7B6C
+ ldr r0, _080A7B44 @ =sub_80A7B6C
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7B44: .4byte sub_80A7B6C
+ thumb_func_end sub_80A7B28
+
+ thumb_func_start sub_80A7B48
+sub_80A7B48: @ 80A7B48
+ ldrh r2, [r0, 0x38]
+ ldrh r1, [r0, 0x2E]
+ adds r1, 0x1
+ movs r3, 0x1
+ ands r1, r3
+ subs r2, r1
+ adds r1, r0, 0
+ adds r1, 0x28
+ strb r2, [r1]
+ ldrh r2, [r0, 0x3A]
+ ldrh r1, [r0, 0x2E]
+ adds r1, 0x1
+ ands r1, r3
+ subs r2, r1
+ adds r0, 0x29
+ strb r2, [r0]
+ bx lr
+ thumb_func_end sub_80A7B48
+
+ thumb_func_start sub_80A7B6C
+sub_80A7B6C: @ 80A7B6C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0x3C
+ ldrsh r2, [r4, r0]
+ cmp r2, 0
+ beq _080A7C16
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _080A7B86
+ cmp r0, 0x1
+ beq _080A7BD4
+ b _080A7C16
+_080A7B86:
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x4
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x1
+ orrs r1, r0
+ strb r1, [r4, 0x1]
+ cmp r2, 0x1
+ bne _080A7BA0
+ ldr r0, _080A7B9C @ =gSpriteAffineAnimTable_83C1D20
+ b _080A7BA2
+ .align 2, 0
+_080A7B9C: .4byte gSpriteAffineAnimTable_83C1D20
+_080A7BA0:
+ ldr r0, _080A7BD0 @ =gSpriteAffineAnimTable_83C1D20 + 0x4
+_080A7BA2:
+ str r0, [r4, 0x10]
+ adds r0, r4, 0
+ bl InitSpriteAffineAnim
+ movs r0, 0x1
+ strh r0, [r4, 0x34]
+ adds r0, r4, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r4, 0x38]
+ adds r0, r4, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r4, 0x3A]
+ adds r0, r4, 0
+ bl sub_80A7B48
+ b _080A7C16
+ .align 2, 0
+_080A7BD0: .4byte gSpriteAffineAnimTable_83C1D20 + 0x4
+_080A7BD4:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ movs r5, 0
+ strh r0, [r4, 0x2E]
+ adds r0, r4, 0
+ bl sub_80A7B48
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x20
+ bne _080A7C16
+ strh r5, [r4, 0x2E]
+ strh r5, [r4, 0x34]
+ ldrh r1, [r4, 0x38]
+ adds r0, r4, 0
+ adds r0, 0x28
+ strb r1, [r0]
+ ldrh r0, [r4, 0x3A]
+ adds r1, r4, 0
+ adds r1, 0x29
+ strb r0, [r1]
+ ldrb r0, [r4, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl FreeOamMatrix
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x1]
+ ldr r0, _080A7C1C @ =SpriteCallbackDummy
+ str r0, [r4, 0x1C]
+_080A7C16:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7C1C: .4byte SpriteCallbackDummy
+ thumb_func_end sub_80A7B6C
+
+ thumb_func_start CreateBagPokeballSprite
+CreateBagPokeballSprite: @ 80A7C20
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080A7C54 @ =gUnknown_083C1D30
+ bl LoadSpritePalette
+ ldr r0, _080A7C58 @ =gSpriteTemplate_83C1D38
+ movs r1, 0x10
+ movs r2, 0x58
+ movs r3, 0
+ bl CreateSprite
+ ldr r1, _080A7C5C @ =gUnknown_02038568
+ strb r0, [r1]
+ ldr r2, _080A7C60 @ =gSprites
+ ldrb r1, [r1]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r4, [r0, 0x3C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7C54: .4byte gUnknown_083C1D30
+_080A7C58: .4byte gSpriteTemplate_83C1D38
+_080A7C5C: .4byte gUnknown_02038568
+_080A7C60: .4byte gSprites
+ thumb_func_end CreateBagPokeballSprite
+
+ thumb_func_start sub_80A7C64
+sub_80A7C64: @ 80A7C64
+ push {r4,r5,lr}
+ movs r0, 0x8
+ bl FreeSpritePaletteByTag
+ ldr r5, _080A7C98 @ =gSprites
+ ldr r4, _080A7C9C @ =gUnknown_02038568
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r0, [r0, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl FreeOamMatrix
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ bl DestroySprite
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7C98: .4byte gSprites
+_080A7C9C: .4byte gUnknown_02038568
+ thumb_func_end sub_80A7C64
+
+ thumb_func_start sub_80A7CA0
+sub_80A7CA0: @ 80A7CA0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ adds r4, r1, 0
+ movs r2, 0x80
+ lsls r2, 4
+ adds r0, r4, 0
+ movs r1, 0
+ bl memset
+ movs r0, 0x80
+ lsls r0, 1
+ adds r4, r0
+ movs r7, 0
+_080A7CBE:
+ adds r4, 0x20
+ movs r5, 0
+ adds r1, r7, 0x1
+ mov r8, r1
+_080A7CC6:
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0x20
+ bl memcpy
+ adds r4, 0x20
+ adds r6, 0x20
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _080A7CC6
+ cmp r7, 0x5
+ beq _080A7CE4
+ adds r4, 0x20
+_080A7CE4:
+ mov r1, r8
+ lsls r0, r1, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x5
+ bls _080A7CBE
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A7CA0
+
+ thumb_func_start sub_80A7CF8
+sub_80A7CF8: @ 80A7CF8
+ push {r4,r5,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x2A
+ bne _080A7D44
+ bl sub_80B4940
+ cmp r0, 0x1
+ bne _080A7D44
+ ldr r4, _080A7D34 @ =gSaveBlock1 + 0x317C
+ ldr r1, _080A7D38 @ =0x02000000
+ adds r0, r4, 0
+ bl sub_80A7CA0
+ movs r0, 0x90
+ lsls r0, 3
+ adds r4, r0
+ str r4, [sp]
+ ldr r1, _080A7D3C @ =0xffff0000
+ ldr r0, [sp, 0x4]
+ ands r0, r1
+ ldr r1, _080A7D40 @ =0x00007544
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl LoadSpritePalette
+ b _080A7D72
+ .align 2, 0
+_080A7D34: .4byte gSaveBlock1 + 0x317C
+_080A7D38: .4byte 0x02000000
+_080A7D3C: .4byte 0xffff0000
+_080A7D40: .4byte 0x00007544
+_080A7D44:
+ ldr r5, _080A7D7C @ =gBerryGraphicsTable
+ lsls r4, 3
+ adds r0, r5, 0x4
+ adds r0, r4, r0
+ ldr r0, [r0]
+ str r0, [sp]
+ mov r1, sp
+ ldr r0, _080A7D80 @ =0x00007544
+ strh r0, [r1, 0x4]
+ mov r0, sp
+ bl LoadCompressedObjectPalette
+ adds r4, r5
+ ldr r0, [r4]
+ ldr r4, _080A7D84 @ =0x02001000
+ adds r1, r4, 0
+ bl sub_800D238
+ ldr r0, _080A7D88 @ =0xfffff000
+ adds r1, r4, r0
+ adds r0, r4, 0
+ bl sub_80A7CA0
+_080A7D72:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7D7C: .4byte gBerryGraphicsTable
+_080A7D80: .4byte 0x00007544
+_080A7D84: .4byte 0x02001000
+_080A7D88: .4byte 0xfffff000
+ thumb_func_end sub_80A7CF8
+
+ thumb_func_start sub_80A7D8C
+sub_80A7D8C: @ 80A7D8C
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ adds r5, r2, 0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r5, 16
+ lsrs r5, 16
+ bl sub_80A7CF8
+ ldr r0, _080A7DC0 @ =gSpriteTemplate_83C1D74
+ lsls r4, 16
+ asrs r4, 16
+ lsls r5, 16
+ asrs r5, 16
+ adds r1, r4, 0
+ adds r2, r5, 0
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A7DC0: .4byte gSpriteTemplate_83C1D74
+ thumb_func_end sub_80A7D8C
+
+ thumb_func_start sub_80A7DC4
+sub_80A7DC4: @ 80A7DC4
+ ldr r1, _080A7DD0 @ =gUnknown_030041B4
+ ldrh r1, [r1]
+ negs r1, r1
+ strh r1, [r0, 0x26]
+ bx lr
+ .align 2, 0
+_080A7DD0: .4byte gUnknown_030041B4
+ thumb_func_end sub_80A7DC4
+
+ thumb_func_start sub_80A7DD4
+sub_80A7DD4: @ 80A7DD4
+ push {lr}
+ ldr r0, _080A7DE8 @ =0x00007544
+ bl FreeSpritePaletteByTag
+ movs r0, 0x8
+ bl FreeSpritePaletteByTag
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A7DE8: .4byte 0x00007544
+ thumb_func_end sub_80A7DD4
+
+ thumb_func_start sub_80A7DEC
+sub_80A7DEC: @ 80A7DEC
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r6, r2, 0
+ mov r8, r3
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r6, 24
+ lsrs r6, 24
+ mov r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, _080A7E50 @ =0x00007544
+ bl FreeSpritePaletteByTag
+ adds r0, r4, 0
+ bl sub_80A7CF8
+ ldr r0, _080A7E54 @ =gSpriteTemplate_83C1E04
+ adds r1, r5, 0
+ adds r2, r6, 0
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ adds r4, r1, 0
+ mov r0, r8
+ cmp r0, 0x1
+ bne _080A7E42
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080A7E58 @ =gSprites
+ adds r0, r1
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+_080A7E42:
+ adds r0, r4, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A7E50: .4byte 0x00007544
+_080A7E54: .4byte gSpriteTemplate_83C1E04
+_080A7E58: .4byte gSprites
+ thumb_func_end sub_80A7DEC
+
+ thumb_func_start sub_80A7E5C
+sub_80A7E5C: @ 80A7E5C
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _080A7E78 @ =gSpriteTemplate_83C1F98
+ lsls r1, 16
+ asrs r1, 16
+ movs r2, 0x63
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A7E78: .4byte gSpriteTemplate_83C1F98
+ thumb_func_end sub_80A7E5C
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/matuda_debug_menu.s b/asm/matuda_debug_menu.s
new file mode 100644
index 000000000..fe76a8eb6
--- /dev/null
+++ b/asm/matuda_debug_menu.s
@@ -0,0 +1,2877 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start unref_sub_80A9B28
+unref_sub_80A9B28: @ 80A9B28
+ push {lr}
+ sub sp, 0x8
+ bl MenuZeroFillScreen
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x11
+ movs r3, 0x12
+ bl MenuDrawTextWindow
+ ldr r3, _080A9B6C @ =gUnknown_083C91F0
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0x7
+ bl PrintMenuItems
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x10
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0x7
+ bl InitMenu
+ ldr r1, _080A9B70 @ =gCallback_03004AE8
+ ldr r0, _080A9B74 @ =sub_80A9B78
+ str r0, [r1]
+ movs r0, 0
+ add sp, 0x8
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9B6C: .4byte gUnknown_083C91F0
+_080A9B70: .4byte gCallback_03004AE8
+_080A9B74: .4byte sub_80A9B78
+ thumb_func_end unref_sub_80A9B28
+
+ thumb_func_start sub_80A9B78
+sub_80A9B78: @ 80A9B78
+ push {lr}
+ bl ProcessMenuInput
+ lsls r0, 24
+ asrs r1, r0, 24
+ movs r0, 0x2
+ negs r0, r0
+ cmp r1, r0
+ bne _080A9B8E
+ movs r0, 0
+ b _080A9BB6
+_080A9B8E:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080A9BB0
+ ldr r2, _080A9BA8 @ =gCallback_03004AE8
+ ldr r0, _080A9BAC @ =gUnknown_083C91F0
+ lsls r1, 3
+ adds r0, 0x4
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ movs r0, 0
+ b _080A9BB6
+ .align 2, 0
+_080A9BA8: .4byte gCallback_03004AE8
+_080A9BAC: .4byte gUnknown_083C91F0
+_080A9BB0:
+ bl sub_8071C20
+ movs r0, 0x1
+_080A9BB6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A9B78
+
+ thumb_func_start sub_80A9BBC
+sub_80A9BBC: @ 80A9BBC
+ 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 r0, _080A9BE0 @ =sub_80A9BE4
+ movs r1, 0xFF
+ bl CreateTask
+ movs r0, 0x1
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9BE0: .4byte sub_80A9BE4
+ thumb_func_end sub_80A9BBC
+
+ thumb_func_start sub_80A9BE4
+sub_80A9BE4: @ 80A9BE4
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _080A9C14 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080A9C10
+ adds r0, r2, 0
+ bl DestroyTask
+ ldr r0, _080A9C18 @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A9C0C
+ bl sub_80AF668
+_080A9C0C:
+ bl sub_80C2358
+_080A9C10:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9C14: .4byte gPaletteFade
+_080A9C18: .4byte gUnknown_0203869A
+ thumb_func_end sub_80A9BE4
+
+ thumb_func_start sub_80A9C1C
+sub_80A9C1C: @ 80A9C1C
+ push {lr}
+ ldr r1, _080A9C30 @ =gUnknown_0203869A
+ movs r0, 0
+ strb r0, [r1]
+ bl sub_80AA10C
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9C30: .4byte gUnknown_0203869A
+ thumb_func_end sub_80A9C1C
+
+ thumb_func_start sub_80A9C34
+sub_80A9C34: @ 80A9C34
+ push {lr}
+ bl sub_80AA10C
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A9C34
+
+ thumb_func_start sub_80A9C40
+sub_80A9C40: @ 80A9C40
+ push {r4,r5,lr}
+ ldr r5, _080A9C88 @ =sub_80A9E3C
+ adds r0, r5, 0
+ movs r1, 0
+ bl CreateTask
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r2, _080A9C8C @ =sub_80A9C98
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl SetTaskFuncWithFollowupFunc
+ ldr r0, _080A9C90 @ =sub_80A9E04
+ movs r1, 0x1
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A9C94 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0x1C]
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r2
+ strh r0, [r1, 0x1C]
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A9C88: .4byte sub_80A9E3C
+_080A9C8C: .4byte sub_80A9C98
+_080A9C90: .4byte sub_80A9E04
+_080A9C94: .4byte gTasks
+ thumb_func_end sub_80A9C40
+
+ thumb_func_start sub_80A9C98
+sub_80A9C98: @ 80A9C98
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ bl sub_80AE098
+ ldr r1, _080A9CB8 @ =sub_80C8734
+ ldr r2, _080A9CBC @ =sub_80A9CC0
+ adds r0, r4, 0
+ bl SetTaskFuncWithFollowupFunc
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9CB8: .4byte sub_80C8734
+_080A9CBC: .4byte sub_80A9CC0
+ thumb_func_end sub_80A9C98
+
+ thumb_func_start sub_80A9CC0
+sub_80A9CC0: @ 80A9CC0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080A9CD4 @ =sub_80C88AC
+ ldr r2, _080A9CD8 @ =sub_80A9CDC
+ bl SetTaskFuncWithFollowupFunc
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9CD4: .4byte sub_80C88AC
+_080A9CD8: .4byte sub_80A9CDC
+ thumb_func_end sub_80A9CC0
+
+ thumb_func_start sub_80A9CDC
+sub_80A9CDC: @ 80A9CDC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080A9CF0 @ =sub_80C8E1C
+ ldr r2, _080A9CF4 @ =sub_80A9D58
+ bl SetTaskFuncWithFollowupFunc
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9CF0: .4byte sub_80C8E1C
+_080A9CF4: .4byte sub_80A9D58
+ thumb_func_end sub_80A9CDC
+
+ thumb_func_start sub_80A9CF8
+sub_80A9CF8: @ 80A9CF8
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A9D28 @ =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080A9D20
+ ldr r0, _080A9D2C @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrb r0, [r1, 0x1C]
+ bl DestroyTask
+ adds r0, r4, 0
+ bl DestroyTask
+ bl sub_8071C20
+_080A9D20:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9D28: .4byte gReceivedRemoteLinkPlayers
+_080A9D2C: .4byte gTasks
+ thumb_func_end sub_80A9CF8
+
+ thumb_func_start sub_80A9D30
+sub_80A9D30: @ 80A9D30
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_800832C
+ ldr r1, _080A9D50 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A9D54 @ =sub_80A9CF8
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9D50: .4byte gTasks
+_080A9D54: .4byte sub_80A9CF8
+ thumb_func_end sub_80A9D30
+
+ thumb_func_start sub_80A9D58
+sub_80A9D58: @ 80A9D58
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r3, 0
+ ldr r1, _080A9DA8 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r1, 0x12
+ adds r2, r0, r1
+_080A9D6E:
+ mov r0, sp
+ adds r1, r0, r3
+ ldrh r0, [r2]
+ strb r0, [r1]
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _080A9D6E
+ mov r0, sp
+ bl sub_80C4B34
+ ldr r1, _080A9DAC @ =gUnknown_0203869B
+ strb r0, [r1]
+ ldr r0, _080A9DB0 @ =gUnknown_0203869C
+ ldrb r0, [r0]
+ bl sub_80AE82C
+ movs r0, 0
+ bl sub_80B0F28
+ ldr r1, _080A9DB4 @ =sub_80C8EBC
+ ldr r2, _080A9DB8 @ =sub_80A9DBC
+ adds r0, r4, 0
+ bl SetTaskFuncWithFollowupFunc
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9DA8: .4byte gTasks
+_080A9DAC: .4byte gUnknown_0203869B
+_080A9DB0: .4byte gUnknown_0203869C
+_080A9DB4: .4byte sub_80C8EBC
+_080A9DB8: .4byte sub_80A9DBC
+ thumb_func_end sub_80A9D58
+
+ thumb_func_start sub_80A9DBC
+sub_80A9DBC: @ 80A9DBC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080A9DD0 @ =sub_80C8F34
+ ldr r2, _080A9DD4 @ =sub_80A9DD8
+ bl SetTaskFuncWithFollowupFunc
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9DD0: .4byte sub_80C8F34
+_080A9DD4: .4byte sub_80A9DD8
+ thumb_func_end sub_80A9DBC
+
+ thumb_func_start sub_80A9DD8
+sub_80A9DD8: @ 80A9DD8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080A9E00 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldrb r0, [r0, 0x1C]
+ bl DestroyTask
+ adds r0, r4, 0
+ bl DestroyTask
+ bl sub_8071C20
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9E00: .4byte gTasks
+ thumb_func_end sub_80A9DD8
+
+ thumb_func_start sub_80A9E04
+sub_80A9E04: @ 80A9E04
+ push {lr}
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r0, _080A9E30 @ =gMain
+ ldrh r0, [r0, 0x2E]
+ cmp r0, 0x2
+ bne _080A9E2A
+ ldr r2, _080A9E34 @ =gTasks
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrb r1, [r0, 0x1C]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, _080A9E38 @ =sub_80A9D30
+ str r1, [r0]
+_080A9E2A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9E30: .4byte gMain
+_080A9E34: .4byte gTasks
+_080A9E38: .4byte sub_80A9D30
+ thumb_func_end sub_80A9E04
+
+ thumb_func_start sub_80A9E3C
+sub_80A9E3C: @ 80A9E3C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl OpenLink
+ movs r1, 0
+ ldr r3, _080A9E74 @ =gBlockRecvBuffer
+ movs r2, 0xFF
+_080A9E4C:
+ lsls r0, r1, 8
+ adds r0, r3
+ strh r2, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x3
+ bls _080A9E4C
+ ldr r1, _080A9E78 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ ldr r1, _080A9E7C @ =sub_80A9E80
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9E74: .4byte gBlockRecvBuffer
+_080A9E78: .4byte gTasks
+_080A9E7C: .4byte sub_80A9E80
+ thumb_func_end sub_80A9E3C
+
+ thumb_func_start sub_80A9E80
+sub_80A9E80: @ 80A9E80
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A9EA0 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r1, [r4, 0x8]
+ movs r2, 0x8
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x9
+ bgt _080A9EA4
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x8]
+ b _080A9ECC
+ .align 2, 0
+_080A9EA0: .4byte gTasks
+_080A9EA4:
+ bl GetLinkPlayerCount_2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bls _080A9ECC
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ bl IsLinkMaster
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A9EC8
+ ldr r0, _080A9EC4 @ =sub_80A9ED8
+ b _080A9ECA
+ .align 2, 0
+_080A9EC4: .4byte sub_80A9ED8
+_080A9EC8:
+ ldr r0, _080A9ED4 @ =sub_80A9F10
+_080A9ECA:
+ str r0, [r4]
+_080A9ECC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9ED4: .4byte sub_80A9F10
+ thumb_func_end sub_80A9E80
+
+ thumb_func_start sub_80A9ED8
+sub_80A9ED8: @ 80A9ED8
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A9F08 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x65
+ bne _080A9F02
+ bl sub_8007F4C
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ ldr r0, _080A9F0C @ =sub_80A9F10
+ str r0, [r4]
+_080A9F02:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9F08: .4byte gTasks
+_080A9F0C: .4byte sub_80A9F10
+ thumb_func_end sub_80A9ED8
+
+ thumb_func_start sub_80A9F10
+sub_80A9F10: @ 80A9F10
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A9F44 @ =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080A9F3E
+ bl GetMultiplayerId
+ ldr r1, _080A9F48 @ =gUnknown_02038695
+ strb r0, [r1]
+ bl GetLinkPlayerCount
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x4
+ bne _080A9F3E
+ ldr r1, _080A9F4C @ =gUnknown_0203869A
+ movs r0, 0x1
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl SwitchTaskToFollowupFunc
+_080A9F3E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9F44: .4byte gReceivedRemoteLinkPlayers
+_080A9F48: .4byte gUnknown_02038695
+_080A9F4C: .4byte gUnknown_0203869A
+ thumb_func_end sub_80A9F10
+
+ thumb_func_start sub_80A9F50
+sub_80A9F50: @ 80A9F50
+ push {r4,lr}
+ movs r2, 0x80
+ lsls r2, 19
+ movs r0, 0x40
+ strh r0, [r2]
+ ldrh r0, [r2]
+ movs r3, 0x88
+ lsls r3, 5
+ adds r1, r3, 0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r4, _080A9FB8 @ =gWindowConfig_81E6C3C
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ ldr r0, _080A9FBC @ =gMenuWindow
+ adds r1, r4, 0
+ bl InitWindowFromConfig
+ ldr r0, _080A9FC0 @ =REG_MOSAIC
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x4
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x44
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ ldr r0, _080A9FC4 @ =gUnknown_030042A4
+ strh r1, [r0]
+ ldr r0, _080A9FC8 @ =gUnknown_030042A0
+ strh r1, [r0]
+ ldr r0, _080A9FCC @ =gUnknown_030042C0
+ strh r1, [r0]
+ ldr r0, _080A9FD0 @ =gUnknown_030041B4
+ strh r1, [r0]
+ ldr r0, _080A9FD4 @ =gUnknown_03004288
+ strh r1, [r0]
+ ldr r0, _080A9FD8 @ =gUnknown_03004280
+ strh r1, [r0]
+ ldr r0, _080A9FDC @ =gUnknown_030041B0
+ strh r1, [r0]
+ ldr r0, _080A9FE0 @ =gUnknown_030041B8
+ strh r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A9FB8: .4byte gWindowConfig_81E6C3C
+_080A9FBC: .4byte gMenuWindow
+_080A9FC0: .4byte REG_MOSAIC
+_080A9FC4: .4byte gUnknown_030042A4
+_080A9FC8: .4byte gUnknown_030042A0
+_080A9FCC: .4byte gUnknown_030042C0
+_080A9FD0: .4byte gUnknown_030041B4
+_080A9FD4: .4byte gUnknown_03004288
+_080A9FD8: .4byte gUnknown_03004280
+_080A9FDC: .4byte gUnknown_030041B0
+_080A9FE0: .4byte gUnknown_030041B8
+ thumb_func_end sub_80A9F50
+
+ thumb_func_start sub_80A9FE4
+sub_80A9FE4: @ 80A9FE4
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0xC
+ ldr r1, _080AA054 @ =gUnknown_083C9228
+ mov r0, sp
+ movs r2, 0x5
+ bl memcpy
+ movs r2, 0xC0
+ lsls r2, 19
+ movs r3, 0xC0
+ lsls r3, 9
+ add r5, sp, 0x8
+ movs r6, 0
+ ldr r1, _080AA058 @ =0x040000d4
+ movs r4, 0x80
+ lsls r4, 5
+ mov r12, r5
+ ldr r7, _080AA05C @ =0x85000400
+ movs r0, 0x85
+ lsls r0, 24
+ mov r8, r0
+_080AA012:
+ str r6, [sp, 0x8]
+ mov r0, r12
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r4
+ subs r3, r4
+ cmp r3, r4
+ bhi _080AA012
+ str r6, [sp, 0x8]
+ str r5, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 2
+ mov r2, r8
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ movs r0, 0xC0
+ lsls r0, 19
+ mov r1, sp
+ bl sub_80034D4
+ ldr r0, _080AA060 @ =gWindowConfig_81E6C3C
+ bl LoadFontDefaultPalette
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA054: .4byte gUnknown_083C9228
+_080AA058: .4byte 0x040000d4
+_080AA05C: .4byte 0x85000400
+_080AA060: .4byte gWindowConfig_81E6C3C
+ thumb_func_end sub_80A9FE4
+
+ thumb_func_start sub_80AA064
+sub_80AA064: @ 80AA064
+ push {lr}
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl RunTasks
+ bl UpdatePaletteFade
+ ldr r0, _080AA088 @ =gMain
+ ldrh r0, [r0, 0x2E]
+ cmp r0, 0x4
+ bne _080AA084
+ ldr r0, _080AA08C @ =sub_805469C
+ bl SetMainCallback2
+_080AA084:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA088: .4byte gMain
+_080AA08C: .4byte sub_805469C
+ thumb_func_end sub_80AA064
+
+ thumb_func_start sub_80AA090
+sub_80AA090: @ 80AA090
+ push {lr}
+ ldr r1, _080AA0E8 @ =REG_BG0HOFS
+ ldr r0, _080AA0EC @ =gUnknown_030042A4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080AA0F0 @ =gUnknown_030042A0
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080AA0F4 @ =gUnknown_030042C0
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080AA0F8 @ =gUnknown_030041B4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080AA0FC @ =gUnknown_03004288
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080AA100 @ =gUnknown_03004280
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080AA104 @ =gUnknown_030041B0
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, _080AA108 @ =gUnknown_030041B8
+ ldrh r0, [r0]
+ strh r0, [r1]
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ bl sub_8089668
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA0E8: .4byte REG_BG0HOFS
+_080AA0EC: .4byte gUnknown_030042A4
+_080AA0F0: .4byte gUnknown_030042A0
+_080AA0F4: .4byte gUnknown_030042C0
+_080AA0F8: .4byte gUnknown_030041B4
+_080AA0FC: .4byte gUnknown_03004288
+_080AA100: .4byte gUnknown_03004280
+_080AA104: .4byte gUnknown_030041B0
+_080AA108: .4byte gUnknown_030041B8
+ thumb_func_end sub_80AA090
+
+ thumb_func_start sub_80AA10C
+sub_80AA10C: @ 80AA10C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ ldr r4, _080AA238 @ =gPaletteFade
+ ldrb r0, [r4, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r4, 0x8]
+ movs r0, 0
+ bl SetVBlankCallback
+ bl sub_80A9F50
+ bl dp12_8087EA4
+ bl ResetPaletteFade
+ bl ResetSpriteData
+ bl ResetTasks
+ bl FreeAllSpritePalettes
+ bl sub_80A9FE4
+ ldr r0, _080AA23C @ =sub_80AA090
+ bl SetVBlankCallback
+ ldr r0, _080AA240 @ =sub_80AA064
+ bl SetMainCallback2
+ ldrb r1, [r4, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r4, 0x8]
+ ldr r4, _080AA244 @ =gUnknown_02038694
+ movs r0, 0
+ strb r0, [r4]
+ ldr r0, _080AA248 @ =gUnknown_02038570
+ ldrb r0, [r0, 0x2]
+ cmp r0, 0
+ bne _080AA16A
+ movs r0, 0
+ movs r1, 0
+ bl sub_80AE398
+_080AA16A:
+ ldrb r0, [r4]
+ bl sub_80AE098
+ movs r5, 0
+ ldr r6, _080AA24C @ =gUnknown_083C9276
+ adds r0, r6, 0x1
+ mov r8, r0
+ ldr r7, _080AA250 @ =gUnknown_083C9364
+_080AA17A:
+ lsls r2, r5, 2
+ adds r0, r2, r7
+ ldr r1, [r0]
+ adds r2, r5
+ lsls r2, 17
+ movs r0, 0xA8
+ lsls r0, 14
+ adds r2, r0
+ lsrs r2, 16
+ lsls r4, r5, 1
+ adds r0, r4, r6
+ ldrb r3, [r0]
+ add r4, r8
+ ldrb r0, [r4]
+ str r0, [sp]
+ ldr r0, _080AA254 @ =gMenuWindow
+ bl sub_8003460
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _080AA17A
+ ldr r1, _080AA258 @ =gUnknown_0203869C
+ ldr r4, _080AA25C @ =gUnknown_0203869E
+ movs r0, 0
+ strh r0, [r4]
+ strh r0, [r1]
+ movs r5, 0
+ movs r0, 0
+ bl sub_80AA5BC
+ ldrb r0, [r4]
+ bl sub_80AA5E8
+ ldr r4, _080AA254 @ =gMenuWindow
+ ldr r1, _080AA260 @ =gUnknown_083C9337
+ movs r0, 0x12
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r2, 0xD6
+ movs r3, 0x12
+ bl sub_8003460
+ ldr r1, _080AA264 @ =gUnknown_083C933B
+ movs r0, 0xC
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r2, 0xDC
+ movs r3, 0
+ bl sub_8003460
+ ldr r0, _080AA268 @ =gUnknown_083C92B4
+ bl LoadSpriteSheet
+ ldr r0, _080AA26C @ =gUnknown_083C92BC
+ bl LoadSpritePalette
+ movs r0, 0x3
+ bl sub_80AA280
+ movs r0, 0x3
+ bl sub_80AA658
+ movs r0, 0x3
+ movs r1, 0
+ bl sub_80AA614
+ ldr r0, _080AA270 @ =gSpriteTemplate_83C92CC
+ ldr r1, _080AA274 @ =gUnknown_083C9296
+ ldrb r1, [r1, 0x3]
+ ldr r2, _080AA278 @ =gUnknown_083C92A8
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x5
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080AA27C @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ movs r0, 0x1
+ strh r0, [r1, 0x2E]
+ strh r0, [r1, 0x30]
+ movs r0, 0x3
+ strh r0, [r1, 0x32]
+ strh r5, [r1, 0x34]
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA238: .4byte gPaletteFade
+_080AA23C: .4byte sub_80AA090
+_080AA240: .4byte sub_80AA064
+_080AA244: .4byte gUnknown_02038694
+_080AA248: .4byte gUnknown_02038570
+_080AA24C: .4byte gUnknown_083C9276
+_080AA250: .4byte gUnknown_083C9364
+_080AA254: .4byte gMenuWindow
+_080AA258: .4byte gUnknown_0203869C
+_080AA25C: .4byte gUnknown_0203869E
+_080AA260: .4byte gUnknown_083C9337
+_080AA264: .4byte gUnknown_083C933B
+_080AA268: .4byte gUnknown_083C92B4
+_080AA26C: .4byte gUnknown_083C92BC
+_080AA270: .4byte gSpriteTemplate_83C92CC
+_080AA274: .4byte gUnknown_083C9296
+_080AA278: .4byte gUnknown_083C92A8
+_080AA27C: .4byte gSprites
+ thumb_func_end sub_80AA10C
+
+ thumb_func_start sub_80AA280
+sub_80AA280: @ 80AA280
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, _080AA2E8 @ =gMenuWindow
+ movs r1, 0x1E
+ str r1, [sp]
+ movs r1, 0x3
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillWindowRect_DefaultPalette
+ ldr r4, _080AA2EC @ =0x02000000
+ ldr r1, _080AA2F0 @ =gUnknown_083C932C
+ adds r0, r4, 0
+ bl StringCopy
+ lsls r1, r7, 6
+ ldr r0, _080AA2F4 @ =gUnknown_0203857D
+ adds r1, r0
+ adds r0, r4, 0
+ bl StringAppend
+ movs r5, 0
+ ldr r6, _080AA2F8 @ =gUnknown_083C926E
+ adds r0, r6, 0x1
+ mov r8, r0
+_080AA2BE:
+ cmp r7, r5
+ bne _080AA2FC
+ lsls r2, r5, 2
+ adds r2, r5
+ lsls r2, 17
+ movs r0, 0x80
+ lsls r0, 10
+ adds r2, r0
+ lsrs r2, 16
+ lsls r1, r5, 1
+ adds r0, r1, r6
+ ldrb r3, [r0]
+ add r1, r8
+ ldrb r0, [r1]
+ str r0, [sp]
+ ldr r0, _080AA2E8 @ =gMenuWindow
+ ldr r1, _080AA2EC @ =0x02000000
+ bl sub_8003460
+ b _080AA322
+ .align 2, 0
+_080AA2E8: .4byte gMenuWindow
+_080AA2EC: .4byte 0x02000000
+_080AA2F0: .4byte gUnknown_083C932C
+_080AA2F4: .4byte gUnknown_0203857D
+_080AA2F8: .4byte gUnknown_083C926E
+_080AA2FC:
+ lsls r1, r5, 6
+ ldr r0, _080AA338 @ =gUnknown_0203857D
+ adds r1, r0
+ lsls r2, r5, 2
+ adds r2, r5
+ lsls r2, 17
+ movs r0, 0x80
+ lsls r0, 10
+ adds r2, r0
+ lsrs r2, 16
+ lsls r4, r5, 1
+ adds r0, r4, r6
+ ldrb r3, [r0]
+ add r4, r8
+ ldrb r0, [r4]
+ str r0, [sp]
+ ldr r0, _080AA33C @ =gMenuWindow
+ bl sub_8003460
+_080AA322:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _080AA2BE
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA338: .4byte gUnknown_0203857D
+_080AA33C: .4byte gMenuWindow
+ thumb_func_end sub_80AA280
+
+ thumb_func_start sub_80AA340
+sub_80AA340: @ 80AA340
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ ldr r4, _080AA378 @ =0x02000000
+ ldr r1, _080AA37C @ =gUnknown_02038570
+ lsrs r0, 18
+ adds r0, r1
+ adds r0, 0x26
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080AA380 @ =gMenuWindow
+ ldr r1, _080AA384 @ =gUnknown_083C9282
+ ldrb r3, [r1]
+ ldrb r1, [r1, 0x1]
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r2, 0x66
+ bl sub_8003460
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA378: .4byte 0x02000000
+_080AA37C: .4byte gUnknown_02038570
+_080AA380: .4byte gMenuWindow
+_080AA384: .4byte gUnknown_083C9282
+ thumb_func_end sub_80AA340
+
+ thumb_func_start sub_80AA388
+sub_80AA388: @ 80AA388
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ ldr r4, _080AA3C0 @ =0x02000000
+ ldr r1, _080AA3C4 @ =gUnknown_02038570
+ lsrs r0, 18
+ adds r0, r1
+ adds r0, 0x28
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080AA3C8 @ =gMenuWindow
+ ldr r1, _080AA3CC @ =gUnknown_083C9282
+ ldrb r3, [r1, 0x2]
+ ldrb r1, [r1, 0x3]
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r2, 0x6C
+ bl sub_8003460
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA3C0: .4byte 0x02000000
+_080AA3C4: .4byte gUnknown_02038570
+_080AA3C8: .4byte gMenuWindow
+_080AA3CC: .4byte gUnknown_083C9282
+ thumb_func_end sub_80AA388
+
+ thumb_func_start sub_80AA3D0
+sub_80AA3D0: @ 80AA3D0
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ ldr r4, _080AA408 @ =0x02000000
+ ldr r1, _080AA40C @ =gUnknown_02038570
+ lsrs r0, 18
+ adds r0, r1
+ adds r0, 0x27
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080AA410 @ =gMenuWindow
+ ldr r1, _080AA414 @ =gUnknown_083C9282
+ ldrb r3, [r1, 0x4]
+ ldrb r1, [r1, 0x5]
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r2, 0x72
+ bl sub_8003460
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA408: .4byte 0x02000000
+_080AA40C: .4byte gUnknown_02038570
+_080AA410: .4byte gMenuWindow
+_080AA414: .4byte gUnknown_083C9282
+ thumb_func_end sub_80AA3D0
+
+ thumb_func_start sub_80AA418
+sub_80AA418: @ 80AA418
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ ldr r4, _080AA450 @ =0x02000000
+ ldr r1, _080AA454 @ =gUnknown_02038570
+ lsrs r0, 18
+ adds r0, r1
+ adds r0, 0x29
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080AA458 @ =gMenuWindow
+ ldr r1, _080AA45C @ =gUnknown_083C9282
+ ldrb r3, [r1, 0x6]
+ ldrb r1, [r1, 0x7]
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r2, 0x78
+ bl sub_8003460
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA450: .4byte 0x02000000
+_080AA454: .4byte gUnknown_02038570
+_080AA458: .4byte gMenuWindow
+_080AA45C: .4byte gUnknown_083C9282
+ thumb_func_end sub_80AA418
+
+ thumb_func_start sub_80AA460
+sub_80AA460: @ 80AA460
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ ldr r4, _080AA498 @ =0x02000000
+ ldr r1, _080AA49C @ =gUnknown_02038570
+ lsrs r0, 18
+ adds r0, r1
+ adds r0, 0x2A
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080AA4A0 @ =gMenuWindow
+ ldr r1, _080AA4A4 @ =gUnknown_083C9282
+ ldrb r3, [r1, 0x8]
+ ldrb r1, [r1, 0x9]
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r2, 0x7E
+ bl sub_8003460
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA498: .4byte 0x02000000
+_080AA49C: .4byte gUnknown_02038570
+_080AA4A0: .4byte gMenuWindow
+_080AA4A4: .4byte gUnknown_083C9282
+ thumb_func_end sub_80AA460
+
+ thumb_func_start sub_80AA4A8
+sub_80AA4A8: @ 80AA4A8
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ ldr r4, _080AA4E0 @ =0x02000000
+ ldr r1, _080AA4E4 @ =gUnknown_02038570
+ lsrs r0, 18
+ adds r0, r1
+ adds r0, 0x2B
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080AA4E8 @ =gMenuWindow
+ ldr r1, _080AA4EC @ =gUnknown_083C9282
+ ldrb r3, [r1, 0xA]
+ ldrb r1, [r1, 0xB]
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r2, 0x84
+ bl sub_8003460
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA4E0: .4byte 0x02000000
+_080AA4E4: .4byte gUnknown_02038570
+_080AA4E8: .4byte gMenuWindow
+_080AA4EC: .4byte gUnknown_083C9282
+ thumb_func_end sub_80AA4A8
+
+ thumb_func_start sub_80AA4F0
+sub_80AA4F0: @ 80AA4F0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r6, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r6, 24
+ lsrs r6, 24
+ ldr r7, _080AA5A8 @ =gMenuWindow
+ ldr r0, _080AA5AC @ =gUnknown_083C928E
+ lsls r5, r6, 1
+ adds r1, r5, r0
+ ldrb r1, [r1]
+ mov r9, r1
+ adds r0, 0x1
+ adds r0, r5, r0
+ ldrb r0, [r0]
+ mov r10, r0
+ movs r0, 0x7
+ add r0, r9
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ str r0, [sp]
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ adds r0, r7, 0
+ movs r1, 0
+ mov r2, r9
+ mov r3, r10
+ bl FillWindowRect_DefaultPalette
+ ldr r0, _080AA5B0 @ =gUnknown_02038570
+ lsls r4, 6
+ adds r4, r5, r4
+ adds r0, 0x1E
+ adds r4, r0
+ ldrh r1, [r4]
+ movs r0, 0xD
+ muls r1, r0
+ ldr r0, _080AA5B4 @ =gMoveNames
+ adds r1, r0
+ lsls r2, r6, 3
+ subs r2, r6
+ lsls r2, 17
+ movs r0, 0x8A
+ lsls r0, 16
+ adds r2, r0
+ lsrs r2, 16
+ mov r0, r10
+ str r0, [sp]
+ adds r0, r7, 0
+ mov r3, r9
+ bl sub_8003460
+ ldr r0, _080AA5B8 @ =gStringVar1
+ mov r9, r0
+ ldrh r1, [r4]
+ movs r2, 0x2
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ adds r5, r6
+ lsls r5, 17
+ movs r0, 0xFA
+ lsls r0, 16
+ adds r5, r0
+ lsrs r5, 16
+ mov r0, r10
+ str r0, [sp]
+ adds r0, r7, 0
+ mov r1, r9
+ adds r2, r5, 0
+ mov r3, r8
+ bl sub_8003460
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA5A8: .4byte gMenuWindow
+_080AA5AC: .4byte gUnknown_083C928E
+_080AA5B0: .4byte gUnknown_02038570
+_080AA5B4: .4byte gMoveNames
+_080AA5B8: .4byte gStringVar1
+ thumb_func_end sub_80AA4F0
+
+ thumb_func_start sub_80AA5BC
+sub_80AA5BC: @ 80AA5BC
+ push {lr}
+ sub sp, 0x4
+ lsls r0, 24
+ ldr r2, _080AA5E0 @ =gMenuWindow
+ ldr r1, _080AA5E4 @ =gUnknown_083C93B4
+ lsrs r0, 22
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x12
+ str r0, [sp]
+ adds r0, r2, 0
+ movs r2, 0xC2
+ movs r3, 0x3
+ bl sub_8003460
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA5E0: .4byte gMenuWindow
+_080AA5E4: .4byte gUnknown_083C93B4
+ thumb_func_end sub_80AA5BC
+
+ thumb_func_start sub_80AA5E8
+sub_80AA5E8: @ 80AA5E8
+ push {lr}
+ sub sp, 0x4
+ lsls r0, 24
+ ldr r2, _080AA60C @ =gMenuWindow
+ ldr r1, _080AA610 @ =gUnknown_083C93F0
+ lsrs r0, 22
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x4
+ str r0, [sp]
+ adds r0, r2, 0
+ movs r2, 0xE8
+ movs r3, 0x3
+ bl sub_8003460
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA60C: .4byte gMenuWindow
+_080AA610: .4byte gUnknown_083C93F0
+ thumb_func_end sub_80AA5E8
+
+ thumb_func_start sub_80AA614
+sub_80AA614: @ 80AA614
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ bl sub_80AE770
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r4, _080AA650 @ =0x02000000
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080AA654 @ =gMenuWindow
+ movs r1, 0xC
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r2, 0xE2
+ movs r3, 0x3
+ bl sub_8003460
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA650: .4byte 0x02000000
+_080AA654: .4byte gMenuWindow
+ thumb_func_end sub_80AA614
+
+ thumb_func_start sub_80AA658
+sub_80AA658: @ 80AA658
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r5, 0
+ bl sub_80AA340
+ adds r0, r5, 0
+ bl sub_80AA388
+ adds r0, r5, 0
+ bl sub_80AA3D0
+ adds r0, r5, 0
+ bl sub_80AA418
+ adds r0, r5, 0
+ bl sub_80AA460
+ adds r0, r5, 0
+ bl sub_80AA4A8
+ movs r4, 0
+_080AA684:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_80AA4F0
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _080AA684
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AA658
+
+ thumb_func_start sub_80AA69C
+sub_80AA69C: @ 80AA69C
+ push {r4-r6,lr}
+ ldr r6, _080AA748 @ =gPlayerParty
+ ldr r5, _080AA74C @ =gUnknown_02038695
+ ldrb r2, [r5]
+ lsls r2, 6
+ ldr r4, _080AA750 @ =gUnknown_02038596
+ adds r2, r4
+ adds r0, r6, 0
+ movs r1, 0x16
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ adds r0, r4, 0x2
+ adds r2, r0
+ adds r0, r6, 0
+ movs r1, 0x18
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ adds r0, r4, 0x1
+ adds r2, r0
+ adds r0, r6, 0
+ movs r1, 0x17
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ adds r0, r4, 0x3
+ adds r2, r0
+ adds r0, r6, 0
+ movs r1, 0x21
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ adds r0, r4, 0x4
+ adds r2, r0
+ adds r0, r6, 0
+ movs r1, 0x2F
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ adds r0, r4, 0x5
+ adds r2, r0
+ adds r0, r6, 0
+ movs r1, 0x30
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ subs r4, 0x8
+ adds r2, r4
+ adds r0, r6, 0
+ movs r1, 0xD
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ adds r2, r4
+ adds r2, 0x2
+ adds r0, r6, 0
+ movs r1, 0xE
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ adds r2, r4
+ adds r2, 0x4
+ adds r0, r6, 0
+ movs r1, 0xF
+ bl SetMonData
+ ldrb r2, [r5]
+ lsls r2, 6
+ adds r2, r4
+ adds r2, 0x6
+ adds r0, r6, 0
+ movs r1, 0x10
+ bl SetMonData
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA748: .4byte gPlayerParty
+_080AA74C: .4byte gUnknown_02038695
+_080AA750: .4byte gUnknown_02038596
+ thumb_func_end sub_80AA69C
+
+ thumb_func_start sub_80AA754
+sub_80AA754: @ 80AA754
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _080AA774 @ =gMain
+ ldrh r1, [r0, 0x30]
+ cmp r1, 0x20
+ beq _080AA7A2
+ cmp r1, 0x20
+ bgt _080AA782
+ cmp r1, 0x2
+ beq _080AA7F8
+ cmp r1, 0x2
+ bgt _080AA778
+ cmp r1, 0x1
+ beq _080AA7D8
+ b _080AA870
+ .align 2, 0
+_080AA774: .4byte gMain
+_080AA778:
+ cmp r1, 0x8
+ beq _080AA868
+ cmp r1, 0x10
+ beq _080AA7A2
+ b _080AA870
+_080AA782:
+ cmp r1, 0x80
+ beq _080AA7C2
+ cmp r1, 0x80
+ bgt _080AA790
+ cmp r1, 0x40
+ beq _080AA7AC
+ b _080AA870
+_080AA790:
+ movs r0, 0x80
+ lsls r0, 1
+ cmp r1, r0
+ beq _080AA814
+ movs r0, 0x80
+ lsls r0, 2
+ cmp r1, r0
+ beq _080AA834
+ b _080AA870
+_080AA7A2:
+ ldrh r0, [r4, 0x2E]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r4, 0x2E]
+ b _080AA870
+_080AA7AC:
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _080AA7BC
+ movs r0, 0x8
+ strh r0, [r4, 0x30]
+ b _080AA870
+_080AA7BC:
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x30]
+ b _080AA870
+_080AA7C2:
+ ldrh r1, [r4, 0x30]
+ movs r3, 0x30
+ ldrsh r0, [r4, r3]
+ cmp r0, 0x8
+ bne _080AA7D2
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ b _080AA870
+_080AA7D2:
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x30]
+ b _080AA870
+_080AA7D8:
+ ldr r2, _080AA7F4 @ =gUnknown_083C92E4
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ lsls r0, 2
+ movs r3, 0x30
+ ldrsh r1, [r4, r3]
+ lsls r1, 3
+ adds r0, r1
+ adds r0, r2
+ ldr r2, [r0]
+ adds r0, r4, 0
+ movs r1, 0x1
+ b _080AA84E
+ .align 2, 0
+_080AA7F4: .4byte gUnknown_083C92E4
+_080AA7F8:
+ ldr r1, _080AA810 @ =gUnknown_083C92E4
+ movs r0, 0x2E
+ ldrsh r2, [r4, r0]
+ lsls r2, 2
+ movs r3, 0x30
+ ldrsh r0, [r4, r3]
+ lsls r0, 3
+ adds r2, r0
+ adds r2, r1
+ movs r1, 0x1
+ negs r1, r1
+ b _080AA84A
+ .align 2, 0
+_080AA810: .4byte gUnknown_083C92E4
+_080AA814:
+ ldr r2, _080AA830 @ =gUnknown_083C92E4
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ lsls r0, 2
+ movs r3, 0x30
+ ldrsh r1, [r4, r3]
+ lsls r1, 3
+ adds r0, r1
+ adds r0, r2
+ ldr r2, [r0]
+ adds r0, r4, 0
+ movs r1, 0xA
+ b _080AA84E
+ .align 2, 0
+_080AA830: .4byte gUnknown_083C92E4
+_080AA834:
+ ldr r1, _080AA864 @ =gUnknown_083C92E4
+ movs r0, 0x2E
+ ldrsh r2, [r4, r0]
+ lsls r2, 2
+ movs r3, 0x30
+ ldrsh r0, [r4, r3]
+ lsls r0, 3
+ adds r2, r0
+ adds r2, r1
+ movs r1, 0xA
+ negs r1, r1
+_080AA84A:
+ ldr r2, [r2]
+ adds r0, r4, 0
+_080AA84E:
+ bl _call_via_r2
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x34]
+ lsls r1, 24
+ lsrs r1, 24
+ bl sub_80AA614
+ b _080AA870
+ .align 2, 0
+_080AA864: .4byte gUnknown_083C92E4
+_080AA868:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80AAD08
+_080AA870:
+ ldr r2, _080AA898 @ =gUnknown_083C9296
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ movs r3, 0x30
+ ldrsh r0, [r4, r3]
+ lsls r0, 1
+ adds r1, r0
+ adds r1, r2
+ ldrb r0, [r1]
+ strh r0, [r4, 0x20]
+ ldr r1, _080AA89C @ =gUnknown_083C92A8
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r4, 0x22]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA898: .4byte gUnknown_083C9296
+_080AA89C: .4byte gUnknown_083C92A8
+ thumb_func_end sub_80AA754
+
+ thumb_func_start sub_80AA8A0
+sub_80AA8A0: @ 80AA8A0
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r2, 24
+ lsrs r0, r2, 24
+ lsls r1, 24
+ asrs r1, 24
+ cmp r1, 0x1
+ bne _080AA8C0
+ strh r0, [r4, 0x32]
+ bl sub_80AA280
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA658
+_080AA8C0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AA8A0
+
+ thumb_func_start sub_80AA8C8
+sub_80AA8C8: @ 80AA8C8
+ push {lr}
+ lsls r1, 24
+ asrs r1, 24
+ movs r2, 0
+ bl sub_80AA8A0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AA8C8
+
+ thumb_func_start sub_80AA8D8
+sub_80AA8D8: @ 80AA8D8
+ push {lr}
+ lsls r1, 24
+ asrs r1, 24
+ movs r2, 0x1
+ bl sub_80AA8A0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AA8D8
+
+ thumb_func_start sub_80AA8E8
+sub_80AA8E8: @ 80AA8E8
+ push {lr}
+ lsls r1, 24
+ asrs r1, 24
+ movs r2, 0x2
+ bl sub_80AA8A0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AA8E8
+
+ thumb_func_start sub_80AA8F8
+sub_80AA8F8: @ 80AA8F8
+ push {lr}
+ lsls r1, 24
+ asrs r1, 24
+ movs r2, 0x3
+ bl sub_80AA8A0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80AA8F8
+
+ thumb_func_start sub_80AA908
+sub_80AA908: @ 80AA908
+ push {lr}
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ asrs r2, 24
+ adds r2, r1
+ lsls r2, 16
+ lsrs r0, r2, 16
+ asrs r2, 16
+ cmp r2, 0xFF
+ ble _080AA922
+ movs r0, 0xFF
+ b _080AA928
+_080AA922:
+ cmp r2, 0
+ bge _080AA928
+ movs r0, 0
+_080AA928:
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AA908
+
+ thumb_func_start sub_80AA930
+sub_80AA930: @ 80AA930
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AA970 @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ adds r2, 0x26
+ ldrb r3, [r2]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AA908
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ adds r1, 0x26
+ strb r0, [r1]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA340
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA970: .4byte gUnknown_02038570
+ thumb_func_end sub_80AA930
+
+ thumb_func_start sub_80AA974
+sub_80AA974: @ 80AA974
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AA9B4 @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ adds r2, 0x28
+ ldrb r3, [r2]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AA908
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ adds r1, 0x28
+ strb r0, [r1]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA388
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA9B4: .4byte gUnknown_02038570
+ thumb_func_end sub_80AA974
+
+ thumb_func_start sub_80AA9B8
+sub_80AA9B8: @ 80AA9B8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AA9F8 @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ adds r2, 0x27
+ ldrb r3, [r2]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AA908
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ adds r1, 0x27
+ strb r0, [r1]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA3D0
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA9F8: .4byte gUnknown_02038570
+ thumb_func_end sub_80AA9B8
+
+ thumb_func_start sub_80AA9FC
+sub_80AA9FC: @ 80AA9FC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AAA3C @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ adds r2, 0x29
+ ldrb r3, [r2]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AA908
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ adds r1, 0x29
+ strb r0, [r1]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA418
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAA3C: .4byte gUnknown_02038570
+ thumb_func_end sub_80AA9FC
+
+ thumb_func_start sub_80AAA40
+sub_80AAA40: @ 80AAA40
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AAA80 @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ adds r2, 0x2A
+ ldrb r3, [r2]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AA908
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ adds r1, 0x2A
+ strb r0, [r1]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA460
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAA80: .4byte gUnknown_02038570
+ thumb_func_end sub_80AAA40
+
+ thumb_func_start sub_80AAA84
+sub_80AAA84: @ 80AAA84
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AAAC4 @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ adds r2, 0x2B
+ ldrb r3, [r2]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AA908
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ adds r1, 0x2B
+ strb r0, [r1]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA4A8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAAC4: .4byte gUnknown_02038570
+ thumb_func_end sub_80AAA84
+
+ thumb_func_start sub_80AAAC8
+sub_80AAAC8: @ 80AAAC8
+ push {lr}
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r2, 24
+ asrs r2, 24
+ adds r1, r2
+ lsls r1, 16
+ lsrs r0, r1, 16
+ asrs r1, 16
+ movs r2, 0xB1
+ lsls r2, 1
+ cmp r1, r2
+ ble _080AAAE6
+ movs r0, 0x1
+ b _080AAAEC
+_080AAAE6:
+ cmp r1, 0
+ bge _080AAAEC
+ adds r0, r2, 0
+_080AAAEC:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AAAC8
+
+ thumb_func_start sub_80AAAF0
+sub_80AAAF0: @ 80AAAF0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AAB2C @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ ldrh r3, [r2, 0x1E]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AAAC8
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ strh r0, [r1, 0x1E]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_80AA4F0
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAB2C: .4byte gUnknown_02038570
+ thumb_func_end sub_80AAAF0
+
+ thumb_func_start sub_80AAB30
+sub_80AAB30: @ 80AAB30
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AAB6C @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ ldrh r3, [r2, 0x20]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AAAC8
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ strh r0, [r1, 0x20]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ bl sub_80AA4F0
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAB6C: .4byte gUnknown_02038570
+ thumb_func_end sub_80AAB30
+
+ thumb_func_start sub_80AAB70
+sub_80AAB70: @ 80AAB70
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AABAC @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ ldrh r3, [r2, 0x22]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AAAC8
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ strh r0, [r1, 0x22]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x2
+ bl sub_80AA4F0
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AABAC: .4byte gUnknown_02038570
+ thumb_func_end sub_80AAB70
+
+ thumb_func_start sub_80AABB0
+sub_80AABB0: @ 80AABB0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _080AABEC @ =gUnknown_02038570
+ movs r3, 0x32
+ ldrsh r2, [r4, r3]
+ lsls r2, 6
+ adds r2, r5
+ ldrh r3, [r2, 0x24]
+ lsls r2, r1, 24
+ asrs r2, 24
+ adds r1, r3, 0
+ bl sub_80AAAC8
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsls r1, 6
+ adds r1, r5
+ strh r0, [r1, 0x24]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x3
+ bl sub_80AA4F0
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AABEC: .4byte gUnknown_02038570
+ thumb_func_end sub_80AABB0
+
+ thumb_func_start sub_80AABF0
+sub_80AABF0: @ 80AABF0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r1, 24
+ movs r0, 0xFF
+ cmp r1, 0
+ ble _080AABFE
+ movs r0, 0x1
+_080AABFE:
+ lsls r0, 24
+ asrs r0, 24
+ ldrh r1, [r5, 0x34]
+ adds r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ asrs r0, 24
+ cmp r0, 0
+ bge _080AAC14
+ movs r4, 0
+ b _080AAC1A
+_080AAC14:
+ cmp r0, 0x4
+ ble _080AAC1A
+ movs r4, 0x4
+_080AAC1A:
+ lsls r4, 24
+ lsrs r0, r4, 24
+ bl sub_80AA5BC
+ asrs r4, 24
+ strh r4, [r5, 0x34]
+ ldr r0, _080AAC54 @ =gUnknown_0203869C
+ strh r4, [r0]
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080AAC58 @ =gUnknown_0203869E
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_80AE398
+ ldrh r0, [r5, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA280
+ ldrh r0, [r5, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA658
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAC54: .4byte gUnknown_0203869C
+_080AAC58: .4byte gUnknown_0203869E
+ thumb_func_end sub_80AABF0
+
+ thumb_func_start sub_80AAC5C
+sub_80AAC5C: @ 80AAC5C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r1, 24
+ cmp r1, 0
+ ble _080AAC78
+ ldr r1, _080AAC74 @ =gUnknown_0203869E
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ adds r4, r1, 0
+ b _080AAC86
+ .align 2, 0
+_080AAC74: .4byte gUnknown_0203869E
+_080AAC78:
+ ldr r0, _080AACBC @ =gUnknown_0203869E
+ ldrh r2, [r0]
+ adds r4, r0, 0
+ cmp r2, 0
+ beq _080AAC86
+ subs r0, r2, 0x1
+ strh r0, [r4]
+_080AAC86:
+ adds r1, r4, 0
+ ldrh r0, [r1]
+ cmp r0, 0x3
+ bls _080AAC92
+ movs r0, 0x3
+ strh r0, [r1]
+_080AAC92:
+ ldrb r0, [r4]
+ bl sub_80AA5E8
+ ldr r0, _080AACC0 @ =gUnknown_0203869C
+ ldrb r0, [r0]
+ ldrb r1, [r4]
+ bl sub_80AE398
+ ldrh r0, [r5, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA280
+ ldrh r0, [r5, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AA658
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AACBC: .4byte gUnknown_0203869E
+_080AACC0: .4byte gUnknown_0203869C
+ thumb_func_end sub_80AAC5C
+
+ thumb_func_start sub_80AACC4
+sub_80AACC4: @ 80AACC4
+ push {lr}
+ bl UpdatePaletteFade
+ ldr r0, _080AACF8 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080AACF4
+ bl sub_80AA69C
+ ldr r0, _080AACFC @ =gUnknown_0203869A
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080AACEE
+ ldr r0, _080AAD00 @ =0x02000000
+ ldrb r0, [r0]
+ bl sub_80AE82C
+_080AACEE:
+ ldr r0, _080AAD04 @ =sub_80AB47C
+ bl SetMainCallback2
+_080AACF4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AACF8: .4byte gPaletteFade
+_080AACFC: .4byte gUnknown_0203869A
+_080AAD00: .4byte 0x02000000
+_080AAD04: .4byte sub_80AB47C
+ thumb_func_end sub_80AACC4
+
+ thumb_func_start sub_80AAD08
+sub_80AAD08: @ 80AAD08
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r1, 24
+ asrs r1, 24
+ cmp r1, 0x1
+ bne _080AAD32
+ ldr r1, _080AAD3C @ =0x02000000
+ ldrh r0, [r0, 0x34]
+ movs r4, 0
+ strb r0, [r1]
+ ldr r0, _080AAD40 @ =sub_80AACC4
+ bl SetMainCallback2
+ movs r0, 0x1
+ negs r0, r0
+ str r4, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+_080AAD32:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAD3C: .4byte 0x02000000
+_080AAD40: .4byte sub_80AACC4
+ thumb_func_end sub_80AAD08
+
+ thumb_func_start sub_80AAD44
+sub_80AAD44: @ 80AAD44
+ push {r4,r5,lr}
+ lsls r1, 24
+ asrs r1, 24
+ cmp r1, 0x1
+ bne _080AAD72
+ bl sub_80AA69C
+ movs r4, 0
+ ldr r5, _080AAD78 @ =gUnknown_02038670
+_080AAD56:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ ldr r1, _080AAD7C @ =gUnknown_0203869C
+ ldrb r1, [r1]
+ bl sub_80AE770
+ strh r0, [r5]
+ adds r5, 0x2
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080AAD56
+ ldr r0, _080AAD80 @ =sub_805469C
+ bl SetMainCallback2
+_080AAD72:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAD78: .4byte gUnknown_02038670
+_080AAD7C: .4byte gUnknown_0203869C
+_080AAD80: .4byte sub_805469C
+ thumb_func_end sub_80AAD44
+
+ thumb_func_start sub_80AAD84
+sub_80AAD84: @ 80AAD84
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x64
+ mov r9, r0
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp, 0x48]
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x4C]
+ lsls r3, 24
+ lsrs r3, 24
+ mov r10, r3
+ mov r5, r10
+ adds r5, 0x1
+ lsls r1, r5, 8
+ ldr r0, _080AAEC4 @ =0x06018000
+ subs r1, r0, r1
+ movs r0, 0
+ str r0, [sp, 0x44]
+ ldr r4, _080AAEC8 @ =0x040000d4
+ add r0, sp, 0x44
+ str r0, [r4]
+ str r1, [r4, 0x4]
+ ldr r0, _080AAECC @ =0x85000040
+ str r0, [r4, 0x8]
+ ldr r0, [r4, 0x8]
+ mov r0, r9
+ bl StringLength
+ lsls r0, 16
+ lsrs r7, r0, 16
+ cmp r7, 0x8
+ bls _080AADD0
+ movs r7, 0x8
+_080AADD0:
+ movs r6, 0
+ mov r8, r5
+ mov r1, r10
+ lsls r1, 1
+ str r1, [sp, 0x58]
+ ldr r2, [sp, 0x48]
+ adds r2, 0x20
+ str r2, [sp, 0x5C]
+ cmp r6, r7
+ bge _080AAE1E
+ add r5, sp, 0x40
+ add r0, sp, 0x20
+ mov r10, r0
+ ldr r2, _080AAEC4 @ =0x06018000
+_080AADEC:
+ mov r1, r9
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ strb r0, [r5]
+ movs r0, 0xFF
+ strb r0, [r5, 0x1]
+ mov r0, sp
+ adds r1, r5, 0
+ str r2, [sp, 0x60]
+ bl sub_80034D4
+ mov r1, r8
+ lsls r0, r1, 8
+ ldr r2, [sp, 0x60]
+ subs r0, r2, r0
+ mov r1, r10
+ str r1, [r4]
+ str r0, [r4, 0x4]
+ ldr r0, _080AAED0 @ =0x84000008
+ str r0, [r4, 0x8]
+ ldr r0, [r4, 0x8]
+ adds r2, 0x20
+ adds r6, 0x1
+ cmp r6, r7
+ blt _080AADEC
+_080AAE1E:
+ movs r1, 0x7C
+ ldr r2, [sp, 0x58]
+ subs r1, r2
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldr r0, _080AAED4 @ =gMain
+ mov r9, r0
+ lsls r3, r7, 3
+ add r3, r9
+ ldr r0, _080AAED8 @ =gUnknown_083C9400
+ ldr r1, [r0]
+ ldr r2, [r0, 0x4]
+ str r1, [sp, 0x50]
+ str r2, [sp, 0x54]
+ str r1, [r3, 0x3C]
+ str r2, [r3, 0x40]
+ mov r2, r8
+ lsls r0, r2, 3
+ movs r1, 0x80
+ lsls r1, 3
+ adds r2, r1, 0
+ subs r2, r0
+ adds r6, r3, 0
+ adds r6, 0x40
+ ldr r0, _080AAEDC @ =0x000003ff
+ mov r8, r0
+ mov r1, r8
+ ands r2, r1
+ ldrh r5, [r6]
+ ldr r4, _080AAEE0 @ =0xfffffc00
+ adds r0, r4, 0
+ ands r0, r5
+ orrs r0, r2
+ strh r0, [r6]
+ ldrh r5, [r3, 0x3E]
+ ldr r2, _080AAEE4 @ =0xfffffe00
+ adds r0, r2, 0
+ ands r0, r5
+ ldr r1, [sp, 0x48]
+ orrs r0, r1
+ strh r0, [r3, 0x3E]
+ adds r3, 0x3C
+ add r0, sp, 0x4C
+ ldrb r0, [r0]
+ strb r0, [r3]
+ adds r1, r7, 0x1
+ lsls r1, 3
+ mov r0, r9
+ adds r7, r1, r0
+ ldr r0, [sp, 0x50]
+ ldr r1, [sp, 0x54]
+ str r0, [r7, 0x3C]
+ str r1, [r7, 0x40]
+ ldrh r0, [r6]
+ lsls r0, 22
+ lsrs r0, 22
+ adds r0, 0x4
+ adds r5, r7, 0
+ adds r5, 0x40
+ mov r1, r8
+ ands r0, r1
+ ldrh r3, [r5]
+ ands r4, r3
+ orrs r4, r0
+ strh r4, [r5]
+ ldrh r0, [r7, 0x3E]
+ ands r2, r0
+ ldr r0, [sp, 0x5C]
+ orrs r2, r0
+ strh r2, [r7, 0x3E]
+ adds r1, r7, 0
+ adds r1, 0x3C
+ add r2, sp, 0x4C
+ ldrb r2, [r2]
+ strb r2, [r1]
+ add sp, 0x64
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAEC4: .4byte 0x06018000
+_080AAEC8: .4byte 0x040000d4
+_080AAECC: .4byte 0x85000040
+_080AAED0: .4byte 0x84000008
+_080AAED4: .4byte gMain
+_080AAED8: .4byte gUnknown_083C9400
+_080AAEDC: .4byte 0x000003ff
+_080AAEE0: .4byte 0xfffffc00
+_080AAEE4: .4byte 0xfffffe00
+ thumb_func_end sub_80AAD84
+
+ thumb_func_start unref_sub_80AAEE8
+unref_sub_80AAEE8: @ 80AAEE8
+ push {r4-r7,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ lsls r2, 24
+ lsrs r6, r2, 24
+ lsls r3, 24
+ lsrs r5, r3, 24
+ movs r0, 0
+ cmp r4, 0
+ bge _080AAF08
+ mov r1, sp
+ movs r0, 0xAE
+ strb r0, [r1]
+ movs r0, 0x1
+_080AAF08:
+ add r0, sp
+ adds r1, r4, 0
+ cmp r1, 0
+ bge _080AAF12
+ negs r1, r1
+_080AAF12:
+ movs r2, 0
+ movs r3, 0x8
+ bl ConvertIntToDecimalStringN
+ mov r0, sp
+ adds r1, r7, 0
+ adds r2, r6, 0
+ adds r3, r5, 0
+ bl sub_80AAD84
+ add sp, 0xC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end unref_sub_80AAEE8
+
+ thumb_func_start sub_80AAF30
+sub_80AAF30: @ 80AAF30
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ ldr r1, _080AAFC0 @ =gUnknown_0203856C
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r1, _080AAFC4 @ =gUnknown_02038695
+ movs r0, 0x3
+ strb r0, [r1]
+ movs r0, 0
+ bl sub_80AE098
+ movs r4, 0x3
+ movs r5, 0x1
+ negs r5, r5
+ ldr r3, _080AAFC8 @ =gUnknown_02038690
+ movs r2, 0x3
+_080AAF56:
+ adds r1, r4, r3
+ subs r0, r2, r4
+ strb r0, [r1]
+ subs r4, 0x1
+ cmp r4, r5
+ bgt _080AAF56
+ movs r4, 0
+ movs r6, 0
+ ldr r7, _080AAFCC @ =gUnknown_02038670
+ ldr r5, _080AAFD0 @ =gUnknown_02038570
+ mov r9, r5
+_080AAF6C:
+ lsls r1, r4, 1
+ strh r6, [r7]
+ ldr r0, _080AAFD4 @ =gUnknown_02038680
+ mov r8, r0
+ adds r0, r1, r0
+ strh r6, [r0]
+ ldr r3, _080AAFD8 @ =gUnknown_02038678
+ adds r1, r3
+ strh r6, [r1]
+ adds r0, r5, 0
+ mov r1, r9
+ adds r1, 0xC0
+ movs r2, 0x40
+ str r3, [sp]
+ bl memcpy
+ adds r7, 0x2
+ adds r5, 0x40
+ adds r4, 0x1
+ ldr r3, [sp]
+ cmp r4, 0x2
+ ble _080AAF6C
+ ldr r0, _080AAFCC @ =gUnknown_02038670
+ movs r1, 0x96
+ lsls r1, 1
+ strh r1, [r0, 0x6]
+ movs r0, 0xC8
+ lsls r0, 1
+ mov r1, r8
+ strh r0, [r1, 0x6]
+ strh r0, [r3, 0x6]
+ movs r0, 0xFE
+ bl sub_80B2A7C
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AAFC0: .4byte gUnknown_0203856C
+_080AAFC4: .4byte gUnknown_02038695
+_080AAFC8: .4byte gUnknown_02038690
+_080AAFCC: .4byte gUnknown_02038670
+_080AAFD0: .4byte gUnknown_02038570
+_080AAFD4: .4byte gUnknown_02038680
+_080AAFD8: .4byte gUnknown_02038678
+ thumb_func_end sub_80AAF30
+
+ thumb_func_start sub_80AAFDC
+sub_80AAFDC: @ 80AAFDC
+ push {lr}
+ bl sub_80AAF30
+ bl sub_8071C20
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80AAFDC
+
+ thumb_func_start sub_80AAFEC
+sub_80AAFEC: @ 80AAFEC
+ push {r4,lr}
+ ldr r1, _080AB01C @ =gUnknown_0203856C
+ movs r0, 0
+ strb r0, [r1]
+ movs r4, 0
+ ldr r3, _080AB020 @ =gUnknown_02038678
+ ldr r2, _080AB024 @ =gUnknown_02038680
+ ldr r1, _080AB028 @ =gUnknown_02038670
+ movs r0, 0x3
+_080AAFFE:
+ strh r4, [r1]
+ strh r4, [r2]
+ strh r4, [r3]
+ adds r3, 0x2
+ adds r2, 0x2
+ adds r1, 0x2
+ subs r0, 0x1
+ cmp r0, 0
+ bge _080AAFFE
+ bl sub_8071C20
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AB01C: .4byte gUnknown_0203856C
+_080AB020: .4byte gUnknown_02038678
+_080AB024: .4byte gUnknown_02038680
+_080AB028: .4byte gUnknown_02038670
+ thumb_func_end sub_80AAFEC
+
+ thumb_func_start sub_80AB02C
+sub_80AB02C: @ 80AB02C
+ push {r4,r5,lr}
+ ldr r1, _080AB078 @ =gUnknown_02038695
+ movs r0, 0x3
+ strb r0, [r1]
+ movs r0, 0
+ bl sub_80AE098
+ movs r2, 0x3
+ movs r5, 0x1
+ negs r5, r5
+ ldr r4, _080AB07C @ =gUnknown_02038690
+ movs r3, 0x3
+_080AB044:
+ adds r1, r2, r4
+ subs r0, r3, r2
+ strb r0, [r1]
+ subs r2, 0x1
+ cmp r2, r5
+ bgt _080AB044
+ ldr r1, _080AB080 @ =gUnknown_0203869C
+ movs r0, 0
+ strh r0, [r1]
+ adds r4, r1, 0
+_080AB058:
+ movs r0, 0xFF
+ bl sub_80B2A7C
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bls _080AB058
+ bl sub_8071C20
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080AB078: .4byte gUnknown_02038695
+_080AB07C: .4byte gUnknown_02038690
+_080AB080: .4byte gUnknown_0203869C
+ thumb_func_end sub_80AB02C
+
+ thumb_func_start unref_sub_80AB084
+unref_sub_80AB084: @ 80AB084
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ mov r8, r0
+ ldr r0, _080AB160 @ =REG_BG0HOFS
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x22
+ strh r1, [r0]
+ adds r0, 0x4
+ strh r1, [r0]
+ subs r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x4
+ strh r1, [r0]
+ movs r2, 0x80
+ lsls r2, 19
+ movs r3, 0xFA
+ lsls r3, 5
+ adds r0, r3, 0
+ strh r0, [r2]
+ ldr r3, _080AB164 @ =0x04000208
+ ldrh r2, [r3]
+ strh r1, [r3]
+ ldr r4, _080AB168 @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r1, _080AB16C @ =REG_DISPSTAT
+ movs r0, 0x8
+ strh r0, [r1]
+ bl ResetTasks
+ bl ResetSpriteData
+ ldr r0, _080AB170 @ =sub_80AB184
+ bl SetMainCallback2
+ movs r2, 0xC0
+ lsls r2, 19
+ movs r3, 0xC0
+ lsls r3, 9
+ movs r5, 0
+ ldr r1, _080AB174 @ =0x040000d4
+ movs r4, 0x80
+ lsls r4, 5
+ ldr r6, _080AB178 @ =0x85000400
+ movs r7, 0x85
+ lsls r7, 24
+_080AB108:
+ str r5, [sp, 0x4]
+ add r0, sp, 0x4
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r6, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r4
+ subs r3, r4
+ cmp r3, r4
+ bhi _080AB108
+ str r5, [sp, 0x4]
+ add r0, sp, 0x4
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 2
+ orrs r0, r7
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ ldr r4, _080AB17C @ =gWindowConfig_81E6FD8
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ ldr r5, _080AB180 @ =gUnknown_03004210
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl InitWindowFromConfig
+ adds r0, r4, 0
+ bl LoadFontDefaultPalette
+ movs r0, 0x7
+ str r0, [sp]
+ adds r0, r5, 0
+ mov r1, r8
+ movs r2, 0x1
+ movs r3, 0x9
+ bl sub_8003460
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AB160: .4byte REG_BG0HOFS
+_080AB164: .4byte 0x04000208
+_080AB168: .4byte 0x04000200
+_080AB16C: .4byte REG_DISPSTAT
+_080AB170: .4byte sub_80AB184
+_080AB174: .4byte 0x040000d4
+_080AB178: .4byte 0x85000400
+_080AB17C: .4byte gWindowConfig_81E6FD8
+_080AB180: .4byte gUnknown_03004210
+ thumb_func_end unref_sub_80AB084
+
+ thumb_func_start sub_80AB184
+sub_80AB184: @ 80AB184
+ ldr r0, _080AB1A8 @ =REG_BG0HOFS
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_080AB1A8: .4byte REG_BG0HOFS
+ thumb_func_end sub_80AB184
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_8094928.s b/asm/rom_8094928.s
index c912fd14e..161fb57f2 100644
--- a/asm/rom_8094928.s
+++ b/asm/rom_8094928.s
@@ -29456,35750 +29456,4 @@ sub_80A30E0: @ 80A30E0
_080A3114: .4byte gMapHeader
thumb_func_end sub_80A30E0
- thumb_func_start sub_80A3118
-sub_80A3118: @ 80A3118
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl sub_80A740C
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80A3118
-
- thumb_func_start sub_80A3134
-sub_80A3134: @ 80A3134
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r1, _080A3168 @ =gBG1TilemapBuffer
- ldr r2, _080A316C @ =0x06002000
- ldr r0, _080A3170 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r3, _080A3174 @ =0x80000400
- str r3, [r0, 0x8]
- ldr r2, [r0, 0x8]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- ldr r2, _080A3178 @ =0x06006000
- str r1, [r0]
- str r2, [r0, 0x4]
- str r3, [r0, 0x8]
- ldr r0, [r0, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3168: .4byte gBG1TilemapBuffer
-_080A316C: .4byte 0x06002000
-_080A3170: .4byte 0x040000d4
-_080A3174: .4byte 0x80000400
-_080A3178: .4byte 0x06006000
- thumb_func_end sub_80A3134
-
- thumb_func_start sub_80A317C
-sub_80A317C: @ 80A317C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _080A3198 @ =gMain
- ldr r1, _080A319C @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x10
- bls _080A318E
- b _080A34A8
-_080A318E:
- lsls r0, 2
- ldr r1, _080A31A0 @ =_080A31A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A3198: .4byte gMain
-_080A319C: .4byte 0x0000043c
-_080A31A0: .4byte _080A31A4
- .align 2, 0
-_080A31A4:
- .4byte _080A31E8
- .4byte _080A31F2
- .4byte _080A3208
- .4byte _080A320E
- .4byte _080A3228
- .4byte _080A324C
- .4byte _080A3252
- .4byte _080A3270
- .4byte _080A327C
- .4byte _080A3298
- .4byte _080A32A4
- .4byte _080A3328
- .4byte _080A338C
- .4byte _080A33F4
- .4byte _080A3404
- .4byte _080A345C
- .4byte _080A347C
-_080A31E8:
- bl sub_80F9438
- bl sub_80A34E8
- b _080A3464
-_080A31F2:
- bl remove_some_task
- ldr r1, _080A3200 @ =gMain
- ldr r0, _080A3204 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3200: .4byte gMain
-_080A3204: .4byte 0x0000043c
-_080A3208:
- bl gpu_pal_allocator_reset__manage_upper_four
- b _080A3464
-_080A320E:
- bl sub_80F9020
- ldr r0, _080A3220 @ =0x02000000
- ldr r1, _080A3224 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _080A3464
- .align 2, 0
-_080A3220: .4byte 0x02000000
-_080A3224: .4byte 0x0001ffff
-_080A3228:
- bl ResetPaletteFade
- ldr r2, _080A3240 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _080A3244 @ =gMain
- ldr r0, _080A3248 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3240: .4byte gPaletteFade
-_080A3244: .4byte gMain
-_080A3248: .4byte 0x0000043c
-_080A324C:
- bl ResetSpriteData
- b _080A3464
-_080A3252:
- bl sub_80A3520
- lsls r0, 24
- cmp r0, 0
- bne _080A325E
- b _080A34A8
-_080A325E:
- ldr r1, _080A3268 @ =gMain
- ldr r0, _080A326C @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3268: .4byte gMain
-_080A326C: .4byte 0x0000043c
-_080A3270:
- ldr r0, _080A3278 @ =gWindowConfig_81E6DFC
- bl SetUpWindowConfig
- b _080A3464
- .align 2, 0
-_080A3278: .4byte gWindowConfig_81E6DFC
-_080A327C:
- ldr r0, _080A328C @ =gWindowConfig_81E6DFC
- bl MultistepInitMenuWindowBegin
- ldr r1, _080A3290 @ =gMain
- ldr r0, _080A3294 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A328C: .4byte gWindowConfig_81E6DFC
-_080A3290: .4byte gMain
-_080A3294: .4byte 0x0000043c
-_080A3298:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _080A32A2
- b _080A34A8
-_080A32A2:
- b _080A3464
-_080A32A4:
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- movs r0, 0
- movs r1, 0xAC
- movs r2, 0xC
- bl CreateVerticalScrollIndicators
- movs r0, 0x1
- movs r1, 0xAC
- movs r2, 0x94
- bl CreateVerticalScrollIndicators
- movs r0, 0x2
- movs r1, 0x1C
- movs r2, 0x58
- bl CreateVerticalScrollIndicators
- movs r0, 0x3
- movs r1, 0x64
- movs r2, 0x58
- bl CreateVerticalScrollIndicators
- movs r0, 0
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x1
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x2
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x3
- movs r1, 0x2
- bl sub_80F9988
- ldr r0, _080A331C @ =gUnknown_03000701
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A3312
- movs r0, 0x2
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_80F979C
-_080A3312:
- ldr r1, _080A3320 @ =gMain
- ldr r0, _080A3324 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A331C: .4byte gUnknown_03000701
-_080A3320: .4byte gMain
-_080A3324: .4byte 0x0000043c
-_080A3328:
- ldr r1, _080A3378 @ =gUnknown_0203855A
- movs r0, 0x10
- strb r0, [r1]
- ldr r4, _080A337C @ =gBG2TilemapBuffer
- ldr r5, _080A3380 @ =gUnknown_02038559
- ldrb r1, [r5]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80A39B8
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_80A3AC0
- bl sub_80A3D08
- ldr r4, _080A3384 @ =gBagPockets
- ldr r0, [r4, 0x10]
- ldr r1, [r4, 0x14]
- bl sub_80A3C34
- ldr r0, [r4, 0x18]
- ldr r1, [r4, 0x1C]
- bl sub_80A3C34
- bl sub_80A3D40
- ldr r1, _080A3388 @ =gUnknown_03005D24
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 3
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- bl sub_80A362C
- b _080A3464
- .align 2, 0
-_080A3378: .4byte gUnknown_0203855A
-_080A337C: .4byte gBG2TilemapBuffer
-_080A3380: .4byte gUnknown_02038559
-_080A3384: .4byte gBagPockets
-_080A3388: .4byte gUnknown_03005D24
-_080A338C:
- ldr r0, _080A33D4 @ =0x0000ffff
- movs r1, 0
- movs r2, 0x7
- bl sub_80A48E8
- ldr r1, _080A33D8 @ =gUnknown_03005D10
- ldr r4, _080A33DC @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A33E0 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl ItemListMenu_InitDescription
- bl ItemListMenu_InitMenu
- ldr r1, _080A33E4 @ =gUnknown_0203855B
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, _080A33E8 @ =gUnknown_0203855C
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080A33EC @ =gMain
- ldr r0, _080A33F0 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A33D4: .4byte 0x0000ffff
-_080A33D8: .4byte gUnknown_03005D10
-_080A33DC: .4byte gUnknown_02038559
-_080A33E0: .4byte gUnknown_03005D24
-_080A33E4: .4byte gUnknown_0203855B
-_080A33E8: .4byte gUnknown_0203855C
-_080A33EC: .4byte gMain
-_080A33F0: .4byte 0x0000043c
-_080A33F4:
- bl CreateBagSprite
- movs r0, 0
- bl CreateBagPokeballSprite
- bl sub_80A3740
- b _080A3464
-_080A3404:
- ldr r3, _080A3444 @ =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _080A3448 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _080A344C @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _080A3450 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _080A3454 @ =gMain
- ldr r0, _080A3458 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3444: .4byte 0x04000208
-_080A3448: .4byte 0x04000200
-_080A344C: .4byte REG_DISPSTAT
-_080A3450: .4byte gPaletteFade
-_080A3454: .4byte gMain
-_080A3458: .4byte 0x0000043c
-_080A345C:
- bl sub_8055870
- cmp r0, 0x1
- beq _080A34A8
-_080A3464:
- ldr r1, _080A3474 @ =gMain
- ldr r2, _080A3478 @ =0x0000043c
- adds r1, r2
-_080A346A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080A34A8
- .align 2, 0
-_080A3474: .4byte gMain
-_080A3478: .4byte 0x0000043c
-_080A347C:
- ldr r0, _080A34A0 @ =sub_80A3134
- bl SetVBlankCallback
- ldr r0, _080A34A4 @ =sub_80A3118
- bl SetMainCallback2
- bl sub_80A751C
- bl sub_80A7630
- bl sub_80A770C
- bl sub_80A7828
- bl sub_80A78B8
- movs r0, 0x1
- b _080A34AA
- .align 2, 0
-_080A34A0: .4byte sub_80A3134
-_080A34A4: .4byte sub_80A3118
-_080A34A8:
- movs r0, 0
-_080A34AA:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A317C
-
- thumb_func_start sub_80A34B4
-sub_80A34B4: @ 80A34B4
- push {lr}
-_080A34B6:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A34D2
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A34B6
- movs r0, 0
- b _080A34DE
-_080A34D2:
- ldr r1, _080A34E4 @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- bl ResetTasks
- movs r0, 0x1
-_080A34DE:
- pop {r1}
- bx r1
- .align 2, 0
-_080A34E4: .4byte gUnknown_03000700
- thumb_func_end sub_80A34B4
-
- thumb_func_start sub_80A34E8
-sub_80A34E8: @ 80A34E8
- push {lr}
- bl sub_80F9368
- ldr r1, _080A3514 @ =REG_BG2CNT
- ldr r2, _080A3518 @ =0x00000c06
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _080A351C @ =0x00000405
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- movs r2, 0xBA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x50
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3514: .4byte REG_BG2CNT
-_080A3518: .4byte 0x00000c06
-_080A351C: .4byte 0x00000405
- thumb_func_end sub_80A34E8
-
- thumb_func_start sub_80A3520
-sub_80A3520: @ 80A3520
- push {lr}
- ldr r0, _080A353C @ =0x02000000
- ldr r1, _080A3540 @ =0x0001ffff
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080A3530
- b _080A3624
-_080A3530:
- lsls r0, 2
- ldr r1, _080A3544 @ =_080A3548
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A353C: .4byte 0x02000000
-_080A3540: .4byte 0x0001ffff
-_080A3544: .4byte _080A3548
- .align 2, 0
-_080A3548:
- .4byte _080A355C
- .4byte _080A3570
- .4byte _080A3588
- .4byte _080A35C0
- .4byte _080A3604
-_080A355C:
- ldr r0, _080A3568 @ =gBagScreen_Gfx
- ldr r1, _080A356C @ =0x06004000
- bl LZDecompressVram
- b _080A35EA
- .align 2, 0
-_080A3568: .4byte gBagScreen_Gfx
-_080A356C: .4byte 0x06004000
-_080A3570:
- ldr r0, _080A3580 @ =gUnknown_08E77004
- ldr r1, _080A3584 @ =gBG2TilemapBuffer
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- b _080A35EA
- .align 2, 0
-_080A3580: .4byte gUnknown_08E77004
-_080A3584: .4byte gBG2TilemapBuffer
-_080A3588:
- ldr r0, _080A35A4 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _080A3598
- ldr r0, _080A35A8 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _080A35B0
-_080A3598:
- ldr r0, _080A35AC @ =gBagScreenMale_Pal
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _080A35EA
- .align 2, 0
-_080A35A4: .4byte gSaveBlock2
-_080A35A8: .4byte gUnknown_03000701
-_080A35AC: .4byte gBagScreenMale_Pal
-_080A35B0:
- ldr r0, _080A35BC @ =gBagScreenFemale_Pal
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _080A35EA
- .align 2, 0
-_080A35BC: .4byte gBagScreenFemale_Pal
-_080A35C0:
- ldr r0, _080A35D8 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _080A35D0
- ldr r0, _080A35DC @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _080A35E4
-_080A35D0:
- ldr r0, _080A35E0 @ =gUnknown_083C1CC8
- bl LoadCompressedObjectPic
- b _080A35EA
- .align 2, 0
-_080A35D8: .4byte gSaveBlock2
-_080A35DC: .4byte gUnknown_03000701
-_080A35E0: .4byte gUnknown_083C1CC8
-_080A35E4:
- ldr r0, _080A35F8 @ =gUnknown_083C1CD0
- bl LoadCompressedObjectPic
-_080A35EA:
- ldr r1, _080A35FC @ =0x02000000
- ldr r0, _080A3600 @ =0x0001ffff
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080A3624
- .align 2, 0
-_080A35F8: .4byte gUnknown_083C1CD0
-_080A35FC: .4byte 0x02000000
-_080A3600: .4byte 0x0001ffff
-_080A3604:
- ldr r0, _080A3618 @ =gUnknown_083C1CD8
- bl LoadCompressedObjectPalette
- ldr r0, _080A361C @ =0x02000000
- ldr r1, _080A3620 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _080A3626
- .align 2, 0
-_080A3618: .4byte gUnknown_083C1CD8
-_080A361C: .4byte 0x02000000
-_080A3620: .4byte 0x0001ffff
-_080A3624:
- movs r0, 0
-_080A3626:
- pop {r1}
- bx r1
- thumb_func_end sub_80A3520
-
- thumb_func_start sub_80A362C
-sub_80A362C: @ 80A362C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _080A3648 @ =gUnknown_03000701
- ldr r5, _080A364C @ =gUnknown_03005D10
-_080A3634:
- ldrb r0, [r6]
- cmp r0, 0x5
- bne _080A3650
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrb r0, [r0, 0x2]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080A3656
- .align 2, 0
-_080A3648: .4byte gUnknown_03000701
-_080A364C: .4byte gUnknown_03005D10
-_080A3650:
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrb r3, [r0, 0x2]
-_080A3656:
- adds r1, r5
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080A366C
- ldrb r2, [r1, 0x3]
- adds r0, r2
- cmp r0, r3
- ble _080A3674
- subs r0, r3, r2
- strb r0, [r1, 0x1]
- b _080A3674
-_080A366C:
- ldrb r0, [r1]
- cmp r0, r3
- bls _080A3674
- strb r3, [r1]
-_080A3674:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3634
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A362C
-
- thumb_func_start sub_80A3684
-sub_80A3684: @ 80A3684
- push {r4,lr}
- movs r2, 0
- ldr r4, _080A36B0 @ =gUnknown_02038559
- ldr r3, _080A36B4 @ =gUnknown_03005D10
- movs r1, 0
-_080A368E:
- lsls r0, r2, 2
- adds r0, r3
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x4
- bls _080A368E
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A36B0: .4byte gUnknown_02038559
-_080A36B4: .4byte gUnknown_03005D10
- thumb_func_end sub_80A3684
-
- thumb_func_start sub_80A36B8
-sub_80A36B8: @ 80A36B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- lsls r0, 24
- lsrs r0, 24
- lsrs r2, 24
- adds r0, r2, r0
- cmp r2, r0
- bgt _080A370A
- adds r7, r0, 0
-_080A36DE:
- mov r1, r8
- mov r3, r12
- adds r0, r1, r3
- adds r4, r2, 0x1
- cmp r1, r0
- bgt _080A3702
- lsls r3, r2, 5
- movs r5, 0
- adds r2, r0, 0
-_080A36F0:
- adds r0, r1, r3
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- ble _080A36F0
-_080A3702:
- lsls r0, r4, 16
- lsrs r2, r0, 16
- cmp r2, r7
- ble _080A36DE
-_080A370A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A36B8
-
- thumb_func_start sub_80A3714
-sub_80A3714: @ 80A3714
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080A373C @ =gBagPockets
-_080A371A:
- lsls r1, r4, 3
- adds r1, r5
- ldr r0, [r1]
- ldrb r1, [r1, 0x4]
- bl ClearItemSlots
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080A371A
- bl sub_80A3684
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A373C: .4byte gBagPockets
- thumb_func_end sub_80A3714
-
- thumb_func_start sub_80A3740
-sub_80A3740: @ 80A3740
- push {lr}
- sub sp, 0x4
- ldr r1, _080A376C @ =gUnknown_083C1704
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A376C: .4byte gUnknown_083C1704
- thumb_func_end sub_80A3740
-
- thumb_func_start sub_80A3770
-sub_80A3770: @ 80A3770
- push {lr}
- ldr r0, _080A379C @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A37B6
- ldr r3, _080A37A0 @ =gUnknown_03000704
- ldr r2, _080A37A4 @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- ldr r1, _080A37A8 @ =gUnknown_083C1690
- adds r0, r1
- str r0, [r3]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x3
- beq _080A37B0
- ldr r1, _080A37AC @ =gUnknown_02038564
- movs r0, 0x4
- b _080A37B4
- .align 2, 0
-_080A379C: .4byte gUnknown_03000701
-_080A37A0: .4byte gUnknown_03000704
-_080A37A4: .4byte gUnknown_02038559
-_080A37A8: .4byte gUnknown_083C1690
-_080A37AC: .4byte gUnknown_02038564
-_080A37B0:
- ldr r1, _080A37BC @ =gUnknown_02038564
- movs r0, 0x6
-_080A37B4:
- strb r0, [r1]
-_080A37B6:
- pop {r0}
- bx r0
- .align 2, 0
-_080A37BC: .4byte gUnknown_02038564
- thumb_func_end sub_80A3770
-
- thumb_func_start sub_80A37C0
-sub_80A37C0: @ 80A37C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A37F0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080A37F4 @ =sub_80A50C8
- str r0, [r1]
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- movs r0, 0x2
- bl sub_80F98DC
- movs r0, 0x3
- bl sub_80F98DC
- pop {r0}
- bx r0
- .align 2, 0
-_080A37F0: .4byte gTasks
-_080A37F4: .4byte sub_80A50C8
- thumb_func_end sub_80A37C0
-
- thumb_func_start sub_80A37F8
-sub_80A37F8: @ 80A37F8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, _080A3854 @ =gUnknown_0203855A
- ldrb r5, [r6]
- cmp r5, 0xF
- bhi _080A3868
- adds r0, r5, 0x1
- strb r0, [r6]
- ldr r4, _080A3858 @ =gBG2TilemapBuffer
- ldrb r2, [r6]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x4F
- bl sub_80A396C
- ldr r0, _080A385C @ =gUnknown_02038559
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6]
- lsrs r2, 1
- ldr r3, _080A3860 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r3
- movs r3, 0x12
- ldrsb r3, [r0, r3]
- adds r0, r4, 0
- bl sub_80A39E4
- ldr r4, _080A3864 @ =gUnknown_02038558
- movs r0, 0x1
- strb r0, [r4]
- lsrs r1, r5, 1
- ldrb r2, [r6]
- lsrs r2, 1
- subs r2, 0x1
- adds r0, r7, 0
- bl sub_80A48E8
- movs r0, 0
- strb r0, [r4]
- b _080A3932
- .align 2, 0
-_080A3854: .4byte gUnknown_0203855A
-_080A3858: .4byte gBG2TilemapBuffer
-_080A385C: .4byte gUnknown_02038559
-_080A3860: .4byte gTasks
-_080A3864: .4byte gUnknown_02038558
-_080A3868:
- ldr r0, _080A38A0 @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A38B4
- ldr r1, _080A38A4 @ =gUnknown_03005D10
- ldr r0, _080A38A8 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A38AC @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldr r4, _080A38B0 @ =gUnknown_02038562
- ldrb r1, [r4]
- bl ItemListMenu_ChangeDescription
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080A38F2
- .align 2, 0
-_080A38A0: .4byte gLinkOpen
-_080A38A4: .4byte gUnknown_03005D10
-_080A38A8: .4byte gUnknown_02038559
-_080A38AC: .4byte gUnknown_03005D24
-_080A38B0: .4byte gUnknown_02038562
-_080A38B4:
- ldr r1, _080A3938 @ =gUnknown_02038562
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080A38F2
- ldr r5, _080A393C @ =gUnknown_03005D10
- adds r4, r1, 0
-_080A38C0:
- ldr r0, _080A3940 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A3944 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldrb r1, [r4]
- bl ItemListMenu_ChangeDescription
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _080A38C0
-_080A38F2:
- ldr r0, _080A3938 @ =gUnknown_02038562
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080A3932
- ldr r1, _080A3948 @ =gUnknown_0203855A
- movs r0, 0x10
- strb r0, [r1]
- ldr r1, _080A394C @ =gUnknown_0203855B
- ldr r0, _080A3940 @ =gUnknown_02038559
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, _080A3950 @ =sub_80A4F68
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A37C0
- adds r0, r7, 0
- bl DestroyTask
- bl ItemListMenu_InitMenu
- movs r0, 0x2
- movs r1, 0
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0
- bl sub_80F979C
-_080A3932:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3938: .4byte gUnknown_02038562
-_080A393C: .4byte gUnknown_03005D10
-_080A3940: .4byte gUnknown_02038559
-_080A3944: .4byte gUnknown_03005D24
-_080A3948: .4byte gUnknown_0203855A
-_080A394C: .4byte gUnknown_0203855B
-_080A3950: .4byte sub_80A4F68
- thumb_func_end sub_80A37F8
-
- thumb_func_start sub_80A3954
-sub_80A3954: @ 80A3954
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A3968 @ =gUnknown_08E77004
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- pop {r0}
- bx r0
- .align 2, 0
-_080A3968: .4byte gUnknown_08E77004
- thumb_func_end sub_80A3954
-
- thumb_func_start sub_80A396C
-sub_80A396C: @ 80A396C
- push {r4-r7,lr}
- lsls r1, 24
- lsrs r5, r1, 24
- adds r4, r5, 0
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- adds r1, r4, 0x2
- lsls r1, 6
- adds r1, 0x1C
- adds r2, r0, r1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r7, r4
- bls _080A39B2
-_080A398E:
- movs r1, 0
- adds r3, r5, 0x1
- adds r4, r2, 0
- adds r4, 0x40
-_080A3996:
- lsls r0, r1, 1
- adds r0, r2
- strh r6, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xE
- bls _080A3996
- adds r2, r4, 0
- adds r1, r5, 0
- lsls r0, r3, 24
- lsrs r5, r0, 24
- cmp r7, r1
- bhi _080A398E
-_080A39B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A396C
-
- thumb_func_start sub_80A39B8
-sub_80A39B8: @ 80A39B8
- push {lr}
- sub sp, 0x10
- lsls r1, 25
- lsrs r1, 24
- ldr r3, _080A39E0 @ =gUnknown_08E96EC8
- movs r2, 0
- str r2, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x4
- movs r2, 0xA
- bl sub_809D104
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080A39E0: .4byte gUnknown_08E96EC8
- thumb_func_end sub_80A39B8
-
- thumb_func_start sub_80A39E4
-sub_80A39E4: @ 80A39E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- adds r4, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- adds r5, r6, 0
- lsls r2, r1, 1
- mov r9, r2
- lsls r3, 24
- asrs r3, 24
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- bne _080A3A5C
- adds r0, r1, 0x1
- lsls r7, r0, 1
- cmp r1, 0x5
- bne _080A3A18
- movs r7, 0x2
-_080A3A18:
- ldr r0, _080A3A58 @ =gUnknown_08E96EC8
- mov r10, r0
- movs r4, 0x8
- subs r4, r6
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp]
- str r2, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x2
- mov r9, r0
- str r0, [sp, 0xC]
- mov r0, r8
- movs r1, 0x4
- movs r2, 0xA
- mov r3, r10
- bl sub_809D104
- adds r1, r6, 0x4
- movs r0, 0
- str r0, [sp]
- str r7, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- mov r0, r8
- movs r2, 0xA
- mov r3, r10
- bl sub_809D104
- b _080A3AAA
- .align 2, 0
-_080A3A58: .4byte gUnknown_08E96EC8
-_080A3A5C:
- cmp r3, 0x1
- bne _080A3AAA
- subs r0, r4, 0x1
- lsls r0, 17
- lsrs r7, r0, 16
- cmp r4, 0x1
- bne _080A3A6C
- movs r7, 0xA
-_080A3A6C:
- ldr r6, _080A3ABC @ =gUnknown_08E96EC8
- str r5, [sp]
- str r7, [sp, 0x4]
- movs r0, 0x8
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- movs r4, 0x2
- str r4, [sp, 0xC]
- mov r0, r8
- movs r1, 0x4
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_809D104
- movs r1, 0xC
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- str r4, [sp, 0xC]
- mov r0, r8
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_809D104
-_080A3AAA:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3ABC: .4byte gUnknown_08E96EC8
- thumb_func_end sub_80A39E4
-
- thumb_func_start sub_80A3AC0
-sub_80A3AC0: @ 80A3AC0
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- movs r2, 0
- ldr r1, _080A3AE4 @ =0x0000024a
- ldr r0, _080A3AE8 @ =0x0000107d
- adds r6, r0, 0
- subs r0, 0x1
- adds r5, r0, 0
-_080A3AD4:
- cmp r2, r4
- bne _080A3AEC
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r1
- strh r6, [r0]
- b _080A3AF4
- .align 2, 0
-_080A3AE4: .4byte 0x0000024a
-_080A3AE8: .4byte 0x0000107d
-_080A3AEC:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r1
- strh r5, [r0]
-_080A3AF4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _080A3AD4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3AC0
-
- thumb_func_start sub_80A3B04
-sub_80A3B04: @ 80A3B04
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _080A3BA4 @ =gUnknown_02038559
- ldrb r0, [r4]
- lsls r1, 24
- asrs r6, r1, 24
- adds r0, r6, r0
- strb r0, [r4]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _080A3B20
- movs r0, 0
- strb r0, [r4]
-_080A3B20:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bge _080A3B2C
- movs r0, 0x4
- strb r0, [r4]
-_080A3B2C:
- bl sub_80A76A0
- bl sub_80A7590
- ldr r2, _080A3BA8 @ =gUnknown_03005D24
- ldr r1, _080A3BAC @ =gBagPockets
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldrb r0, [r4]
- bl sub_80A3D24
- ldr r0, _080A3BB0 @ =gUnknown_0203855A
- movs r4, 0
- strb r4, [r0]
- adds r0, r5, 0
- bl sub_80A3954
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x3
- bl sub_80A396C
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A39B8
- ldr r1, _080A3BB4 @ =gUnknown_0203855B
- movs r0, 0x6
- strb r0, [r1]
- ldr r0, _080A3BB8 @ =gUnknown_02038562
- strb r4, [r0]
- ldr r4, _080A3BBC @ =sub_80A37F8
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080A3B90
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
-_080A3B90:
- ldr r1, _080A3BC0 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x12]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3BA4: .4byte gUnknown_02038559
-_080A3BA8: .4byte gUnknown_03005D24
-_080A3BAC: .4byte gBagPockets
-_080A3BB0: .4byte gUnknown_0203855A
-_080A3BB4: .4byte gUnknown_0203855B
-_080A3BB8: .4byte gUnknown_02038562
-_080A3BBC: .4byte sub_80A37F8
-_080A3BC0: .4byte gTasks
- thumb_func_end sub_80A3B04
-
- thumb_func_start swap32
-swap32: @ 80A3BC4
- ldr r3, [r0]
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- thumb_func_end swap32
-
- thumb_func_start sub_80A3BD0
-sub_80A3BD0: @ 80A3BD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r1, 0
- adds r6, r0, 0
- movs r3, 0
- b _080A3C1A
-_080A3BE0:
- adds r0, r3, 0x1
- lsls r1, r0, 16
- lsrs r4, r1, 16
- lsls r1, r2, 24
- lsrs r1, 24
- mov r8, r0
- cmp r4, r1
- bcs _080A3C14
- lsls r0, r3, 2
- adds r5, r0, r6
- adds r2, r1, 0
-_080A3BF6:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- bne _080A3C0A
- lsls r1, r4, 2
- adds r1, r6
- adds r0, r5, 0
- str r2, [sp]
- bl swap32
- ldr r2, [sp]
-_080A3C0A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bcc _080A3BF6
-_080A3C14:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
-_080A3C1A:
- adds r2, r7, 0
- lsls r0, r2, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r3, r0
- blt _080A3BE0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3BD0
-
- thumb_func_start sub_80A3C34
-sub_80A3C34: @ 80A3C34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r1, 0
- adds r6, r0, 0
- adds r2, r7, 0
- lsls r0, r2, 24
- movs r3, 0
- cmp r0, 0
- beq _080A3C9C
-_080A3C4A:
- adds r0, r3, 0x1
- lsls r1, r0, 16
- lsrs r4, r1, 16
- lsls r1, r2, 24
- lsrs r1, 24
- mov r8, r0
- cmp r4, r1
- bcs _080A3C8C
- lsls r0, r3, 2
- adds r5, r0, r6
- adds r2, r1, 0
-_080A3C60:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- beq _080A3C82
- lsls r0, r4, 2
- adds r1, r0, r6
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _080A3C82
- ldrh r0, [r5]
- ldrh r3, [r1]
- cmp r0, r3
- bls _080A3C82
- adds r0, r5, 0
- str r2, [sp]
- bl swap32
- ldr r2, [sp]
-_080A3C82:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bcc _080A3C60
-_080A3C8C:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
- adds r2, r7, 0
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r3, r0
- bcc _080A3C4A
-_080A3C9C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3C34
-
- thumb_func_start sub_80A3CA8
-sub_80A3CA8: @ 80A3CA8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A3D00 @ =gUnknown_03005D10
- lsls r0, r6, 2
- adds r3, r0, r1
- movs r0, 0
- strb r0, [r3, 0x2]
- movs r4, 0
- ldr r0, _080A3D04 @ =gBagPockets
- lsls r2, r6, 3
- adds r1, r2, r0
- mov r12, r0
- ldrb r1, [r1, 0x4]
- cmp r4, r1
- bcs _080A3CEC
- mov r7, r12
- adds r5, r3, 0
-_080A3CCC:
- adds r3, r2, r7
- ldr r0, [r3]
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _080A3CE0
- ldrb r0, [r5, 0x2]
- adds r0, 0x1
- strb r0, [r5, 0x2]
-_080A3CE0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r3, [r3, 0x4]
- cmp r4, r3
- bcc _080A3CCC
-_080A3CEC:
- lsls r0, r6, 3
- add r0, r12
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- bl sub_80A3BD0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3D00: .4byte gUnknown_03005D10
-_080A3D04: .4byte gBagPockets
- thumb_func_end sub_80A3CA8
-
- thumb_func_start sub_80A3D08
-sub_80A3D08: @ 80A3D08
- push {r4,lr}
- movs r4, 0
-_080A3D0C:
- adds r0, r4, 0
- bl sub_80A3CA8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3D0C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3D08
-
- thumb_func_start sub_80A3D24
-sub_80A3D24: @ 80A3D24
- push {lr}
- lsls r0, 24
- ldr r1, _080A3D3C @ =gUnknown_03005D10
- lsrs r0, 22
- adds r1, r0, r1
- ldrb r0, [r1, 0x2]
- cmp r0, 0x6
- bls _080A3D36
- movs r0, 0x7
-_080A3D36:
- strb r0, [r1, 0x3]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3D3C: .4byte gUnknown_03005D10
- thumb_func_end sub_80A3D24
-
- thumb_func_start sub_80A3D40
-sub_80A3D40: @ 80A3D40
- push {r4,lr}
- movs r4, 0
-_080A3D44:
- adds r0, r4, 0
- bl sub_80A3D24
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3D44
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3D40
-
- thumb_func_start sub_80A3D5C
-sub_80A3D5C: @ 80A3D5C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A3DF4 @ =gUnknown_03005D10
- mov r9, r1
- ldr r2, _080A3DF8 @ =gUnknown_02038559
- mov r8, r2
- movs r1, 0
- ldrsb r1, [r2, r1]
- lsls r1, 2
- add r1, r9
- ldrb r2, [r1, 0x1]
- ldrb r1, [r1]
- adds r2, r1
- ldr r7, _080A3DFC @ =gUnknown_03005D24
- ldr r1, [r7]
- lsls r6, r2, 2
- adds r3, r6, r1
- ldr r2, _080A3E00 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r3, 0x2]
- ldrh r1, [r1, 0xA]
- subs r0, r1
- strh r0, [r3, 0x2]
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080A3DE0
- ldr r0, _080A3E04 @ =gSaveBlock1
- ldr r1, _080A3E08 @ =0x00000496
- adds r5, r0, r1
- ldrh r0, [r5]
- ldrh r3, [r3]
- cmp r0, r3
- bne _080A3DB4
- bl sub_80A40D0
- strh r4, [r5]
-_080A3DB4:
- ldr r0, [r7]
- adds r0, r6, r0
- strh r4, [r0]
- mov r2, r8
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- mov r3, r9
- adds r2, r0, r3
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0x7
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _080A3DD8
- cmp r1, 0
- beq _080A3DD8
- subs r0, r1, 0x1
- strb r0, [r2, 0x1]
-_080A3DD8:
- ldr r0, _080A3DF8 @ =gUnknown_02038559
- ldrb r0, [r0]
- bl sub_80A3CA8
-_080A3DE0:
- ldr r0, _080A3DF8 @ =gUnknown_02038559
- ldrb r0, [r0]
- bl sub_80A3D24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3DF4: .4byte gUnknown_03005D10
-_080A3DF8: .4byte gUnknown_02038559
-_080A3DFC: .4byte gUnknown_03005D24
-_080A3E00: .4byte gTasks
-_080A3E04: .4byte gSaveBlock1
-_080A3E08: .4byte 0x00000496
- thumb_func_end sub_80A3D5C
-
- thumb_func_start sub_80A3E0C
-sub_80A3E0C: @ 80A3E0C
- push {lr}
- ldr r3, _080A3E60 @ =gUnknown_03005D10
- ldr r2, _080A3E64 @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A3E68 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A3E52
- strh r0, [r1]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r2, r0, r3
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0x7
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _080A3E4A
- cmp r1, 0
- beq _080A3E4A
- subs r0, r1, 0x1
- strb r0, [r2, 0x1]
-_080A3E4A:
- ldr r0, _080A3E64 @ =gUnknown_02038559
- ldrb r0, [r0]
- bl sub_80A3CA8
-_080A3E52:
- ldr r0, _080A3E64 @ =gUnknown_02038559
- ldrb r0, [r0]
- bl sub_80A3D24
- pop {r0}
- bx r0
- .align 2, 0
-_080A3E60: .4byte gUnknown_03005D10
-_080A3E64: .4byte gUnknown_02038559
-_080A3E68: .4byte gUnknown_03005D24
- thumb_func_end sub_80A3E0C
-
- thumb_func_start nullsub_16
-nullsub_16: @ 80A3E6C
- bx lr
- thumb_func_end nullsub_16
-
- thumb_func_start sub_80A3E70
-sub_80A3E70: @ 80A3E70
- lsls r0, 24
- lsls r1, 24
- ldr r2, _080A3E8C @ =gUnknown_03005D24
- ldr r2, [r2]
- lsrs r0, 22
- adds r0, r2
- ldr r3, [r0]
- lsrs r1, 22
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- .align 2, 0
-_080A3E8C: .4byte gUnknown_03005D24
- thumb_func_end sub_80A3E70
-
- thumb_func_start sub_80A3E90
-sub_80A3E90: @ 80A3E90
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- bl nullsub_16
- ldr r0, _080A3EE8 @ =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r0, [r5, 0x1C]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080A3EEC @ =gUnknown_03005D10
- ldr r1, _080A3EF0 @ =gUnknown_02038559
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r2, 2
- adds r2, r3
- ldrb r1, [r2, 0x1]
- ldrb r2, [r2]
- adds r1, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_80A3E70
- movs r0, 0
- strh r0, [r5, 0x1C]
- bl sub_80A763C
- movs r0, 0
- bl sub_80A7528
- bl ItemListMenu_InitMenu
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3EE8: .4byte gTasks
-_080A3EEC: .4byte gUnknown_03005D10
-_080A3EF0: .4byte gUnknown_02038559
- thumb_func_end sub_80A3E90
-
- thumb_func_start sub_80A3EF4
-sub_80A3EF4: @ 80A3EF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- bl nullsub_16
- ldr r0, _080A3F44 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r2, _080A3F48 @ =gUnknown_03005D10
- ldr r0, _080A3F4C @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- mvns r0, r0
- ldrb r2, [r1, 0x1C]
- adds r0, r2
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- strh r0, [r1, 0x1C]
- cmp r2, 0x7
- bhi _080A3F38
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
-_080A3F38:
- movs r0, 0
- bl sub_80A7528
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3F44: .4byte gTasks
-_080A3F48: .4byte gUnknown_03005D10
-_080A3F4C: .4byte gUnknown_02038559
- thumb_func_end sub_80A3EF4
-
- thumb_func_start sub_80A3F50
-sub_80A3F50: @ 80A3F50
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A3F94 @ =gTasks
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 3
- adds r3, r1
- ldr r5, _080A3F98 @ =gUnknown_03005D10
- ldr r4, _080A3F9C @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x1]
- ldrb r1, [r1]
- adds r2, r1
- adds r2, 0x1
- strh r2, [r3, 0x1C]
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1]
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x1
- bl sub_80A7528
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3F94: .4byte gTasks
-_080A3F98: .4byte gUnknown_03005D10
-_080A3F9C: .4byte gUnknown_02038559
- thumb_func_end sub_80A3F50
-
- thumb_func_start sub_80A3FA0
-sub_80A3FA0: @ 80A3FA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- ldr r0, [sp, 0x18]
- ldr r4, [sp, 0x1C]
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r6, r4, 16
- lsrs r2, 24
- adds r0, r2, r0
- cmp r2, r0
- bge _080A3FFC
- mov r8, r5
- adds r4, r5, r3
- mov r12, r0
-_080A3FCC:
- adds r0, r5, 0
- lsls r3, r2, 16
- cmp r8, r4
- bge _080A3FEE
- asrs r2, r3, 11
-_080A3FD6:
- lsls r1, r0, 16
- asrs r1, 16
- adds r0, r1, r2
- lsls r0, 1
- adds r0, r7
- strh r6, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r0, r1, 16
- asrs r1, 16
- cmp r1, r4
- blt _080A3FD6
-_080A3FEE:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, r12
- blt _080A3FCC
-_080A3FFC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3FA0
-
- thumb_func_start sub_80A4008
-sub_80A4008: @ 80A4008
- push {r4,lr}
- sub sp, 0x8
- ldr r4, [sp, 0x10]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- bl sub_80A3FA0
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4008
-
- thumb_func_start sub_80A4030
-sub_80A4030: @ 80A4030
- ldr r1, _080A4058 @ =gBG2TilemapBuffer + 0xB4
- lsls r0, 7
- adds r1, r0, r1
- movs r0, 0x5A
- strh r0, [r1]
- movs r0, 0x5B
- strh r0, [r1, 0x2]
- movs r0, 0x5C
- strh r0, [r1, 0x4]
- adds r2, r1, 0
- adds r2, 0x40
- movs r0, 0x6A
- strh r0, [r2]
- adds r2, 0x2
- movs r0, 0x6B
- strh r0, [r2]
- adds r1, 0x44
- movs r0, 0x6C
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A4058: .4byte gBG2TilemapBuffer + 0xB4
- thumb_func_end sub_80A4030
-
- thumb_func_start sub_80A405C
-sub_80A405C: @ 80A405C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080A40A8 @ =gBG2TilemapBuffer + 0xB4
- movs r0, 0
- adds r4, r2, 0
- movs r1, 0x4F
-_080A406A:
- strh r1, [r2]
- strh r1, [r2, 0x2]
- strh r1, [r2, 0x4]
- adds r2, 0x40
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bls _080A406A
- lsls r0, r3, 7
- adds r2, r0, r4
- movs r0, 0x5A
- strh r0, [r2]
- movs r0, 0x5B
- strh r0, [r2, 0x2]
- movs r0, 0x5C
- strh r0, [r2, 0x4]
- adds r1, r2, 0
- adds r1, 0x40
- movs r0, 0x6A
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6B
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6C
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A40A8: .4byte gBG2TilemapBuffer + 0xB4
- thumb_func_end sub_80A405C
-
- thumb_func_start sub_80A40AC
-sub_80A40AC: @ 80A40AC
- lsls r0, 24
- ldr r1, _080A40CC @ =gBG2TilemapBuffer + 0xB4
- lsrs r0, 17
- adds r1, r0, r1
- movs r2, 0x4F
- strh r2, [r1]
- strh r2, [r1, 0x2]
- strh r2, [r1, 0x4]
- adds r0, r1, 0
- adds r0, 0x40
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r1, 0x44
- strh r2, [r1]
- bx lr
- .align 2, 0
-_080A40CC: .4byte gBG2TilemapBuffer + 0xB4
- thumb_func_end sub_80A40AC
-
- thumb_func_start sub_80A40D0
-sub_80A40D0: @ 80A40D0
- push {r4-r7,lr}
- movs r4, 0
- ldr r2, _080A4114 @ =gUnknown_03005D10
- ldr r3, _080A4118 @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- adds r7, r2, 0
- adds r6, r3, 0
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- beq _080A4136
- ldr r5, _080A411C @ =gSaveBlock1 + 0x496
-_080A40EE:
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r3, r0, r7
- ldrb r2, [r3, 0x1]
- adds r1, r2, r4
- ldr r0, _080A4120 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080A4124
- adds r0, r4, 0
- bl sub_80A40AC
- b _080A4136
- .align 2, 0
-_080A4114: .4byte gUnknown_03005D10
-_080A4118: .4byte gUnknown_02038559
-_080A411C: .4byte gSaveBlock1 + 0x496
-_080A4120: .4byte gUnknown_03005D24
-_080A4124:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bhi _080A4136
- adds r0, r2, r4
- ldrb r3, [r3, 0x2]
- cmp r0, r3
- bne _080A40EE
-_080A4136:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A40D0
-
- thumb_func_start sub_80A413C
-sub_80A413C: @ 80A413C
- push {lr}
- bl sub_80A40D0
- ldr r1, _080A415C @ =gUnknown_03005D10
- ldr r0, _080A4160 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80A405C
- pop {r0}
- bx r0
- .align 2, 0
-_080A415C: .4byte gUnknown_03005D10
-_080A4160: .4byte gUnknown_02038559
- thumb_func_end sub_80A413C
-
- thumb_func_start sub_80A4164
-sub_80A4164: @ 80A4164
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0xB9
- strb r4, [r0]
- adds r0, 0x1
- movs r4, 0xFC
- strb r4, [r0]
- movs r4, 0x14
- strb r4, [r0, 0x1]
- movs r4, 0x6
- strb r4, [r0, 0x2]
- adds r0, 0x3
- bl ConvertIntToDecimalStringN
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4164
-
- thumb_func_start sub_80A418C
-sub_80A418C: @ 80A418C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x18]
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _080A41D0 @ =gStringVar1
- mov r8, r0
- adds r1, r4, 0
- mov r2, r9
- bl sub_80A4164
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl MenuPrint
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A41D0: .4byte gStringVar1
- thumb_func_end sub_80A418C
-
- thumb_func_start sub_80A41D4
-sub_80A41D4: @ 80A41D4
- push {lr}
- bl sub_80A763C
- pop {r0}
- bx r0
- thumb_func_end sub_80A41D4
-
- thumb_func_start sub_80A41E0
-sub_80A41E0: @ 80A41E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- mov r9, r2
- adds r5, r3, 0
- ldr r4, [sp, 0x1C]
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xFC
- mov r8, r0
- strb r0, [r7]
- movs r6, 0x13
- strb r6, [r7, 0x1]
- movs r0, 0x8
- strb r0, [r7, 0x2]
- adds r7, 0x3
- adds r0, r7, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r1, r8
- strb r1, [r0]
- strb r6, [r0, 0x1]
- movs r1, 0x18
- strb r1, [r0, 0x2]
- adds r7, r0, 0x3
- adds r4, 0x1
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 1
- movs r2, 0x78
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- mov r1, r9
- movs r3, 0
- bl sub_8072C74
- movs r1, 0xB9
- strb r1, [r0]
- adds r7, r0, 0x1
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x78
- movs r3, 0x1
- bl sub_8072C14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A41E0
-
- thumb_func_start sub_80A425C
-sub_80A425C: @ 80A425C
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080A42A4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r0, 0x1C
- ldrsh r1, [r1, r0]
- ldr r3, _080A42A8 @ =gUnknown_03005D10
- ldr r0, _080A42AC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- subs r1, r0
- subs r1, 0x1
- cmp r1, r2
- bne _080A429C
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- movs r0, 0x2
- strb r0, [r4, 0x2]
- adds r4, 0x3
-_080A429C:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A42A4: .4byte gTasks
-_080A42A8: .4byte gUnknown_03005D10
-_080A42AC: .4byte gUnknown_02038559
- thumb_func_end sub_80A425C
-
- thumb_func_start sub_80A42B0
-sub_80A42B0: @ 80A42B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r0, _080A4344 @ =gUnknown_02038540
- mov r8, r0
- ldr r1, _080A4348 @ =gUnknown_03005D10
- ldr r0, _080A434C @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- adds r1, r6
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bgt _080A4370
- cmp r1, r0
- bne _080A4374
- ldr r0, _080A4350 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A4370
- lsls r0, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r0, r1
- lsrs r5, r0, 24
- ldr r4, _080A4354 @ =gStringVar1
- ldr r1, _080A4358 @ =gOtherText_CloseBag
- adds r0, r4, 0
- movs r2, 0x78
- movs r3, 0
- bl sub_8072C74
- adds r0, r4, 0
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- lsls r0, r5, 6
- ldr r1, _080A435C @ =gBG2TilemapBuffer + 0x1C
- adds r0, r1
- movs r2, 0x4F
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- cmp r6, 0x7
- beq _080A4370
- cmp r7, 0x1
- bne _080A432E
- mov r1, r8
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _080A4332
-_080A432E:
- cmp r7, 0x2
- bne _080A4360
-_080A4332:
- adds r1, r5, 0x2
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuFillWindowRectWithBlankTile
- b _080A4370
- .align 2, 0
-_080A4344: .4byte gUnknown_02038540
-_080A4348: .4byte gUnknown_03005D10
-_080A434C: .4byte gUnknown_02038559
-_080A4350: .4byte gUnknown_03000701
-_080A4354: .4byte gStringVar1
-_080A4358: .4byte gOtherText_CloseBag
-_080A435C: .4byte gBG2TilemapBuffer + 0x1C
-_080A4360:
- adds r1, r5, 0x2
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1D
- movs r3, 0x11
- bl MenuFillWindowRectWithBlankTile
-_080A4370:
- movs r0, 0x1
- b _080A4376
-_080A4374:
- movs r0, 0
-_080A4376:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A42B0
-
- thumb_func_start sub_80A4380
-sub_80A4380: @ 80A4380
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r2, [sp]
- mov r10, r3
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080A43A0 @ =gUnknown_03005D24
- mov r8, r0
- b _080A441A
- .align 2, 0
-_080A43A0: .4byte gUnknown_03005D24
-_080A43A4:
- ldr r1, _080A4440 @ =gUnknown_03005D10
- ldr r0, _080A4444 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r7, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r7, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- ldr r6, _080A4448 @ =gStringVar1
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_80A425C
- adds r6, r0, 0
- mov r1, r8
- ldr r0, [r1]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r6, 0
- movs r2, 0x66
- movs r3, 0
- bl sub_8072C74
- adds r6, r0, 0
- movs r0, 0xB9
- strb r0, [r6]
- adds r6, 0x1
- mov r1, r8
- ldr r0, [r1]
- adds r4, r0
- ldrh r1, [r4, 0x2]
- adds r0, r6, 0
- movs r2, 0x78
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _080A4448 @ =gStringVar1
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080A441A:
- ldr r0, [sp]
- cmp r7, r0
- bgt _080A4430
- adds r0, r7, 0
- mov r1, r10
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A43A4
-_080A4430:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4440: .4byte gUnknown_03005D10
-_080A4444: .4byte gUnknown_02038559
-_080A4448: .4byte gStringVar1
- thumb_func_end sub_80A4380
-
- thumb_func_start sub_80A444C
-sub_80A444C: @ 80A444C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r2, [sp]
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, _080A446C @ =gSaveBlock1 + 0x496
- mov r9, r0
- b _080A4520
- .align 2, 0
-_080A446C: .4byte gSaveBlock1 + 0x496
-_080A4470:
- ldr r1, _080A44E8 @ =gUnknown_03005D10
- ldr r0, _080A44EC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- ldr r7, _080A44F0 @ =gStringVar1
- mov r2, r10
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_80A425C
- adds r7, r0, 0
- ldr r0, _080A44F4 @ =gUnknown_03005D24
- mov r8, r0
- ldr r0, [r0]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r7, 0
- movs r2, 0x60
- movs r3, 0
- bl sub_8072C74
- ldr r0, _080A44F0 @ =gStringVar1
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- ldr r0, _080A44F8 @ =gUnknown_02038558
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A44FC
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r2, r9
- ldrh r2, [r2]
- cmp r0, r2
- bne _080A451A
- adds r0, r6, 0
- bl sub_80A4030
- b _080A451A
- .align 2, 0
-_080A44E8: .4byte gUnknown_03005D10
-_080A44EC: .4byte gUnknown_02038559
-_080A44F0: .4byte gStringVar1
-_080A44F4: .4byte gUnknown_03005D24
-_080A44F8: .4byte gUnknown_02038558
-_080A44FC:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r2, r9
- ldrh r2, [r2]
- cmp r0, r2
- bne _080A4514
- adds r0, r6, 0
- bl sub_80A405C
- b _080A451A
-_080A4514:
- adds r0, r6, 0
- bl sub_80A40AC
-_080A451A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080A4520:
- ldr r0, [sp]
- cmp r6, r0
- bgt _080A4536
- adds r0, r6, 0
- ldr r1, [sp, 0x4]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4470
-_080A4536:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A444C
-
- thumb_func_start sub_80A4548
-sub_80A4548: @ 80A4548
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r0, _080A456C @ =gBG2TilemapBuffer
- mov r9, r0
- b _080A46C2
- .align 2, 0
-_080A456C: .4byte gBG2TilemapBuffer
-_080A4570:
- ldr r1, _080A461C @ =gUnknown_03005D10
- ldr r0, _080A4620 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- add r4, r8
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r0, r1, 25
- movs r3, 0x80
- lsls r3, 18
- adds r0, r3
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r0, 5
- adds r0, 0xE
- adds r5, r0, 0
- ldr r6, _080A4624 @ =gStringVar1
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r6, 0
- mov r2, r8
- bl sub_80A425C
- adds r6, r0, 0
- ldr r3, _080A4628 @ =gUnknown_03005D24
- mov r10, r3
- ldr r0, [r3]
- lsls r7, r4, 2
- adds r3, r7, r0
- ldrh r1, [r3]
- movs r0, 0xA9
- lsls r0, 1
- cmp r1, r0
- bhi _080A4634
- lsls r0, r5, 1
- add r0, r9
- movs r1, 0x59
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 1
- add r0, r9
- movs r2, 0x4F
- strh r2, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- add r0, r9
- movs r1, 0x69
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x21
- lsls r0, 1
- add r0, r9
- strh r2, [r0]
- ldrh r0, [r3]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- adds r2, r0, 0
- muls r2, r1
- ldr r0, _080A462C @ =gMoveNames
- adds r2, r0
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldr r3, _080A4630 @ =0xfffffee0
- adds r1, r3, 0
- ldrh r3, [r0]
- adds r1, r3
- lsls r1, 16
- lsrs r1, 16
- ldrh r3, [r0, 0x2]
- movs r0, 0x2
- str r0, [sp]
- adds r0, r6, 0
- bl sub_80A41E0
- b _080A46AE
- .align 2, 0
-_080A461C: .4byte gUnknown_03005D10
-_080A4620: .4byte gUnknown_02038559
-_080A4624: .4byte gStringVar1
-_080A4628: .4byte gUnknown_03005D24
-_080A462C: .4byte gMoveNames
-_080A4630: .4byte 0xfffffee0
-_080A4634:
- lsls r0, r5, 1
- add r0, r9
- ldr r1, _080A46EC @ =0x0000105d
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 1
- add r0, r9
- adds r1, 0x1
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- add r0, r9
- adds r1, 0xF
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x21
- lsls r0, 1
- add r0, r9
- adds r1, 0x1
- strh r1, [r0]
- movs r0, 0xFC
- strb r0, [r6]
- movs r4, 0x13
- strb r4, [r6, 0x1]
- movs r0, 0x11
- strb r0, [r6, 0x2]
- adds r6, 0x3
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r1, [r0]
- ldr r3, _080A46F0 @ =0xfffffeae
- adds r1, r3
- adds r0, r6, 0
- bl ConvertIntToDecimalString
- adds r6, r0, 0
- movs r0, 0xFC
- strb r0, [r6]
- strb r4, [r6, 0x1]
- movs r0, 0x18
- strb r0, [r6, 0x2]
- adds r6, 0x3
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r0, [r0]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, _080A46F4 @ =gMoveNames
- adds r1, r0
- adds r0, r6, 0
- movs r2, 0x78
- movs r3, 0
- bl sub_8072C74
-_080A46AE:
- ldr r0, _080A46F8 @ =gStringVar1
- movs r1, 0xE
- ldr r2, [sp, 0x10]
- bl MenuPrint
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080A46C2:
- ldr r3, [sp, 0x8]
- cmp r8, r3
- bgt _080A46DA
- mov r0, r8
- ldr r1, [sp, 0xC]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A46DA
- b _080A4570
-_080A46DA:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A46EC: .4byte 0x0000105d
-_080A46F0: .4byte 0xfffffeae
-_080A46F4: .4byte gMoveNames
-_080A46F8: .4byte gStringVar1
- thumb_func_end sub_80A4548
-
- thumb_func_start sub_80A46FC
-sub_80A46FC: @ 80A46FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, _080A4724 @ =gBG2TilemapBuffer
- mov r10, r0
- ldr r1, _080A4728 @ =gStringVar2
- mov r9, r1
- ldr r0, _080A472C @ =gUnknown_03005D24
- mov r8, r0
- b _080A47B4
- .align 2, 0
-_080A4724: .4byte gBG2TilemapBuffer
-_080A4728: .4byte gStringVar2
-_080A472C: .4byte gUnknown_03005D24
-_080A4730:
- ldr r1, _080A47DC @ =gUnknown_03005D10
- ldr r0, _080A47E0 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- lsls r0, r5, 5
- adds r0, 0xE
- lsls r1, r0, 1
- add r1, r10
- movs r2, 0x59
- strh r2, [r1]
- adds r0, 0x20
- lsls r0, 1
- add r0, r10
- movs r1, 0x69
- strh r1, [r0]
- ldr r7, _080A47E4 @ =gStringVar1
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_80A425C
- adds r7, r0, 0
- mov r1, r8
- ldr r0, [r1]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r1, r9
- bl CopyItemName
- mov r1, r8
- ldr r0, [r1]
- adds r4, r0
- ldrh r1, [r4]
- subs r1, 0x84
- lsls r1, 16
- lsrs r1, 16
- ldrh r3, [r4, 0x2]
- movs r0, 0x3
- str r0, [sp]
- adds r0, r7, 0
- mov r2, r9
- bl sub_80A41E0
- ldr r0, _080A47E4 @ =gStringVar1
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080A47B4:
- ldr r0, [sp, 0x8]
- cmp r6, r0
- bgt _080A47CA
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4730
-_080A47CA:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A47DC: .4byte gUnknown_03005D10
-_080A47E0: .4byte gUnknown_02038559
-_080A47E4: .4byte gStringVar1
- thumb_func_end sub_80A46FC
-
- thumb_func_start sub_80A47E8
-sub_80A47E8: @ 80A47E8
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080A4808 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _080A4852
- lsls r0, 2
- ldr r1, _080A480C @ =_080A4810
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A4808: .4byte gUnknown_02038559
-_080A480C: .4byte _080A4810
- .align 2, 0
-_080A4810:
- .4byte _080A4824
- .4byte _080A4824
- .4byte _080A483C
- .4byte _080A4848
- .4byte _080A4830
-_080A4824:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4380
- b _080A4852
-_080A4830:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A444C
- b _080A4852
-_080A483C:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4548
- b _080A4852
-_080A4848:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A46FC
-_080A4852:
- ldr r1, _080A4870 @ =gUnknown_03005D10
- ldr r0, _080A4874 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080A4878
- movs r0, 0
- movs r1, 0
- bl sub_80F979C
- b _080A4880
- .align 2, 0
-_080A4870: .4byte gUnknown_03005D10
-_080A4874: .4byte gUnknown_02038559
-_080A4878:
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
-_080A4880:
- ldr r0, _080A48A4 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A48B0
- ldr r1, _080A48A8 @ =gUnknown_03005D10
- ldr r0, _080A48AC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- adds r1, 0x8
- ldrb r0, [r0, 0x2]
- adds r0, 0x1
- cmp r1, r0
- blt _080A48C6
- b _080A48D8
- .align 2, 0
-_080A48A4: .4byte gUnknown_03000701
-_080A48A8: .4byte gUnknown_03005D10
-_080A48AC: .4byte gUnknown_02038559
-_080A48B0:
- ldr r2, _080A48D0 @ =gUnknown_03005D10
- ldr r0, _080A48D4 @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1]
- adds r0, 0x8
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- bge _080A48D8
-_080A48C6:
- movs r0, 0x1
- movs r1, 0
- bl sub_80F979C
- b _080A48E0
- .align 2, 0
-_080A48D0: .4byte gUnknown_03005D10
-_080A48D4: .4byte gUnknown_02038559
-_080A48D8:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
-_080A48E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A47E8
-
- thumb_func_start sub_80A48E8
-sub_80A48E8: @ 80A48E8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r3, 0
- bl sub_80A47E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A48E8
-
- thumb_func_start sub_80A48F8
-sub_80A48F8: @ 80A48F8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- movs r2, 0x5
- movs r3, 0x2
- bl sub_80A47E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A48F8
-
- thumb_func_start ItemListMenu_InitDescription
-ItemListMenu_InitDescription: @ 80A490C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r1, _080A4960 @ =gUnknown_03005D10
- ldr r0, _080A4964 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A4974
- ldr r0, _080A4968 @ =gOtherText_ReturnTo
- movs r4, 0x1
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072A18
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A496C @ =gUnknown_0840E740
- ldr r0, _080A4970 @ =gUnknown_03000701
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x78
- movs r3, 0x68
- bl sub_8072A18
- adds r0, r5, r0
- b _080A4988
- .align 2, 0
-_080A4960: .4byte gUnknown_03005D10
-_080A4964: .4byte gUnknown_02038559
-_080A4968: .4byte gOtherText_ReturnTo
-_080A496C: .4byte gUnknown_0840E740
-_080A4970: .4byte gUnknown_03000701
-_080A4974:
- adds r0, r3, 0
- bl ItemId_GetDescription
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072A18
-_080A4988:
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bhi _080A49A4
- lsls r1, r5, 25
- movs r0, 0xD0
- lsls r0, 20
- adds r1, r0
- lsrs r1, 24
- movs r0, 0
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A49A4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ItemListMenu_InitDescription
-
- thumb_func_start ItemListMenu_ChangeDescription
-ItemListMenu_ChangeDescription: @ 80A49AC
- push {r4,r5,lr}
- sub sp, 0x64
- adds r4, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080A49E8 @ =gUnknown_03005D10
- ldr r0, _080A49EC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A4A18
- cmp r4, 0
- bne _080A49F4
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r0, _080A49F0 @ =gOtherText_ReturnTo
- movs r1, 0x4
- movs r2, 0x68
- b _080A4A08
- .align 2, 0
-_080A49E8: .4byte gUnknown_03005D10
-_080A49EC: .4byte gUnknown_02038559
-_080A49F0: .4byte gOtherText_ReturnTo
-_080A49F4:
- cmp r4, 0x1
- bne _080A4A4C
- ldr r1, _080A4A10 @ =gUnknown_0840E740
- ldr r0, _080A4A14 @ =gUnknown_03000701
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x4
- movs r2, 0x78
-_080A4A08:
- movs r3, 0
- bl MenuPrint_PixelCoords
- b _080A4A4C
- .align 2, 0
-_080A4A10: .4byte gUnknown_0840E740
-_080A4A14: .4byte gUnknown_03000701
-_080A4A18:
- cmp r4, 0
- bne _080A4A28
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A4A28:
- lsls r1, r5, 16
- asrs r1, 16
- mov r0, sp
- adds r2, r4, 0
- bl ItemId_CopyDescription
- cmp r0, 0
- beq _080A4A4C
- lsls r2, r4, 20
- movs r0, 0xD0
- lsls r0, 15
- adds r2, r0
- lsrs r2, 16
- mov r0, sp
- movs r1, 0x4
- movs r3, 0
- bl MenuPrint_PixelCoords
-_080A4A4C:
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ItemListMenu_ChangeDescription
-
- thumb_func_start sub_80A4A54
-sub_80A4A54: @ 80A4A54
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0x1
- adds r2, r1, 0
- adds r1, r5, 0
-_080A4A5E:
- ldrb r3, [r2]
- adds r0, r3, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A4A8A
- subs r4, 0x1
- cmp r4, 0
- bne _080A4A78
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
- b _080A4A92
-_080A4A78:
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080A4A84
- movs r0, 0
- b _080A4A92
-_080A4A84:
- adds r1, r5, 0
- adds r2, 0x1
- b _080A4A5E
-_080A4A8A:
- strb r3, [r1]
- adds r2, 0x1
- adds r1, 0x1
- b _080A4A5E
-_080A4A92:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4A54
-
- thumb_func_start sub_80A4A98
-sub_80A4A98: @ 80A4A98
- push {r4,r5,lr}
- sub sp, 0x64
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- bne _080A4AB0
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A4AB0:
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80A4A54
- cmp r0, 0
- beq _080A4AD2
- lsls r2, r4, 20
- movs r0, 0xD0
- lsls r0, 15
- adds r2, r0
- lsrs r2, 16
- mov r0, sp
- movs r1, 0x4
- movs r3, 0
- bl MenuPrint_PixelCoords
-_080A4AD2:
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4A98
-
- thumb_func_start sub_80A4ADC
-sub_80A4ADC: @ 80A4ADC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A4B0C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x1C
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080A4AFA
- movs r0, 0
- bl sub_80A7528
-_080A4AFA:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080A4B10 @ =gUnknown_0203855C
- movs r0, 0x1
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B0C: .4byte gTasks
-_080A4B10: .4byte gUnknown_0203855C
- thumb_func_end sub_80A4ADC
-
- thumb_func_start sub_80A4B14
-sub_80A4B14: @ 80A4B14
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _080A4B50 @ =gUnknown_03005D10
- ldr r1, _080A4B54 @ =gUnknown_02038559
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 2
- adds r1, r2
- lsrs r0, 24
- ldrb r2, [r1, 0x1]
- adds r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0
- bl MoveMenuCursor
- bl sub_80A73C0
- bl sub_80A763C
- adds r0, r4, 0
- bl sub_80A4ADC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B50: .4byte gUnknown_03005D10
-_080A4B54: .4byte gUnknown_02038559
- thumb_func_end sub_80A4B14
-
- thumb_func_start sub_80A4B58
-sub_80A4B58: @ 80A4B58
- push {r4,lr}
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- asrs r0, 24
- bl MoveMenuCursor
- ldr r2, _080A4B88 @ =gUnknown_03005D10
- ldr r1, _080A4B8C @ =gUnknown_02038559
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 2
- adds r1, r2
- strb r0, [r1]
- bl sub_80A73C0
- adds r0, r4, 0
- bl sub_80A4ADC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B88: .4byte gUnknown_03005D10
-_080A4B8C: .4byte gUnknown_02038559
- thumb_func_end sub_80A4B58
-
- thumb_func_start sub_80A4B90
-sub_80A4B90: @ 80A4B90
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080A4BBC
- ldr r0, _080A4BB4 @ =0x00000103
- cmp r4, r0
- beq _080A4BAE
- adds r0, 0xD
- cmp r4, r0
- bne _080A4BBC
-_080A4BAE:
- ldr r0, _080A4BB8 @ =gOtherText_Walk
- b _080A4BE6
- .align 2, 0
-_080A4BB4: .4byte 0x00000103
-_080A4BB8: .4byte gOtherText_Walk
-_080A4BBC:
- adds r0, r4, 0
- bl itemid_is_mail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A4BE4
- ldr r1, _080A4BDC @ =gUnknown_083C1640
- ldr r0, _080A4BE0 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- b _080A4BE6
- .align 2, 0
-_080A4BDC: .4byte gUnknown_083C1640
-_080A4BE0: .4byte gUnknown_03000704
-_080A4BE4:
- ldr r0, _080A4BEC @ =gOtherText_Check
-_080A4BE6:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A4BEC: .4byte gOtherText_Check
- thumb_func_end sub_80A4B90
-
- thumb_func_start sub_80A4BF0
-sub_80A4BF0: @ 80A4BF0
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r7, _080A4C38 @ =gUnknown_02038564
- ldrb r4, [r7]
- cmp r4, 0x4
- beq _080A4C00
- b _080A4CF8
-_080A4C00:
- movs r0, 0
- movs r1, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- str r4, [sp]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0xC
- bl sub_80A4008
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4C40
- ldr r0, _080A4C3C @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A4C40
- movs r0, 0x1
- movs r1, 0
- bl sub_80A7834
- b _080A4CA0
- .align 2, 0
-_080A4C38: .4byte gUnknown_02038564
-_080A4C3C: .4byte gUnknown_03000701
-_080A4C40:
- movs r6, 0
- ldr r0, _080A4C5C @ =gUnknown_02038564
- ldrb r0, [r0]
- cmp r6, r0
- bcs _080A4CA0
- ldr r4, _080A4C60 @ =gUnknown_083C1640
-_080A4C4C:
- cmp r6, 0
- bne _080A4C68
- ldr r0, _080A4C64 @ =word_203855E
- ldrh r0, [r0]
- bl sub_80A4B90
- adds r3, r0, 0
- b _080A4C76
- .align 2, 0
-_080A4C5C: .4byte gUnknown_02038564
-_080A4C60: .4byte gUnknown_083C1640
-_080A4C64: .4byte word_203855E
-_080A4C68:
- ldr r0, _080A4CC4 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r4
- ldr r3, [r0]
-_080A4C76:
- lsrs r0, r6, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x1
- ands r2, r6
- lsls r2, 1
- adds r2, 0x8
- adds r0, r3, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080A4CC8 @ =gUnknown_02038564
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080A4C4C
-_080A4CA0:
- ldr r0, _080A4CCC @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A4CD4
- ldr r0, _080A4CC8 @ =gUnknown_02038564
- ldrb r3, [r0]
- ldr r0, _080A4CD0 @ =gUnknown_03000700
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x8
- bl InitMenu
- b _080A4CEA
- .align 2, 0
-_080A4CC4: .4byte gUnknown_03000704
-_080A4CC8: .4byte gUnknown_02038564
-_080A4CCC: .4byte gUnknown_03000701
-_080A4CD0: .4byte gUnknown_03000700
-_080A4CD4:
- ldr r0, _080A4CF4 @ =gUnknown_02038564
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x8
- bl InitMenu
-_080A4CEA:
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A4D8A
- .align 2, 0
-_080A4CF4: .4byte gUnknown_02038564
-_080A4CF8:
- movs r0, 0
- movs r1, 0x5
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- movs r0, 0x6
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x6
- movs r3, 0xC
- bl sub_80A4008
- movs r6, 0
- ldrb r7, [r7]
- cmp r6, r7
- bcs _080A4D6E
- ldr r7, _080A4D98 @ =gUnknown_083C1640
-_080A4D1E:
- ldr r0, _080A4D9C @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r7
- ldr r5, [r0]
- adds r0, r6, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 1
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x3
- bl __umodsi3
- adds r2, r0, 0
- lsls r2, 25
- movs r0, 0xC0
- lsls r0, 19
- adds r2, r0
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080A4DA0 @ =gUnknown_02038564
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080A4D1E
-_080A4D6E:
- ldr r0, _080A4DA0 @ =gUnknown_02038564
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x6
- bl InitMenu
- movs r0, 0x2F
- bl sub_8072DCC
-_080A4D8A:
- movs r0, 0x2
- bl sub_80A7528
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4D98: .4byte gUnknown_083C1640
-_080A4D9C: .4byte gUnknown_03000704
-_080A4DA0: .4byte gUnknown_02038564
- thumb_func_end sub_80A4BF0
-
- thumb_func_start sub_80A4DA4
-sub_80A4DA4: @ 80A4DA4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_80A73FC
- movs r0, 0x6
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x6
- movs r3, 0xD
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0x5
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- bl sub_80A7590
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4DA4
-
- thumb_func_start sub_80A4DD8
-sub_80A4DD8: @ 80A4DD8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- adds r4, r1, 0
- adds r1, r2, 0
- adds r6, r3, 0
- ldr r5, [sp, 0x20]
- ldr r2, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- ldr r3, _080A4E84 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- movs r0, 0x1
- strh r0, [r2, 0xA]
- adds r0, r4, 0x2
- mov r9, r0
- strh r0, [r2, 0xC]
- adds r0, r1, 0x1
- mov r8, r0
- strh r0, [r2, 0xE]
- adds r2, r4, r6
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, r5
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- bl MenuDrawTextWindow
- ldr r0, _080A4E88 @ =gBG1TilemapBuffer
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- subs r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- subs r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp]
- adds r1, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_80A4008
- mov r2, r9
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- mov r0, r10
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- mov r3, r8
- bl sub_80A418C
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4E84: .4byte gTasks
-_080A4E88: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A4DD8
-
- thumb_func_start sub_80A4E8C
-sub_80A4E8C: @ 80A4E8C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0
- bl sub_80F996C
- movs r0, 0x1
- bl sub_80F996C
- movs r0, 0x2
- bl sub_80F996C
- movs r0, 0x3
- bl sub_80F996C
- ldr r5, _080A4F04 @ =gBG2TilemapBuffer
- lsls r4, 24
- asrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A3B04
- ldr r0, _080A4F08 @ =gUnknown_02038559
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80A3AC0
- bl sub_80A3770
- bl sub_80A7C64
- adds r0, r6, 0
- bl CreateBagPokeballSprite
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4F04: .4byte gBG2TilemapBuffer
-_080A4F08: .4byte gUnknown_02038559
- thumb_func_end sub_80A4E8C
-
- thumb_func_start sub_80A4F0C
-sub_80A4F0C: @ 80A4F0C
- push {r4,lr}
- ldr r0, _080A4F38 @ =gUnknown_03000701
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080A4F60
- ldr r4, _080A4F3C @ =gMain
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x10
- beq _080A4F30
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080A4F40
-_080A4F30:
- movs r0, 0x1
- movs r1, 0x2
- b _080A4F58
- .align 2, 0
-_080A4F38: .4byte gUnknown_03000701
-_080A4F3C: .4byte gMain
-_080A4F40:
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x20
- beq _080A4F52
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4F60
-_080A4F52:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x1
-_080A4F58:
- bl sub_80A4E8C
- movs r0, 0x1
- b _080A4F62
-_080A4F60:
- movs r0, 0
-_080A4F62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4F0C
-
- thumb_func_start sub_80A4F68
-sub_80A4F68: @ 80A4F68
- push {lr}
- bl sub_80A4F0C
- pop {r0}
- bx r0
- thumb_func_end sub_80A4F68
-
- thumb_func_start sub_80A4F74
-sub_80A4F74: @ 80A4F74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- movs r5, 0
- ldr r0, _080A4FAC @ =gMain
- ldrh r0, [r0, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A4FE8
- ldr r1, _080A4FB0 @ =gUnknown_03005D10
- ldr r0, _080A4FB4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A4FB8
- movs r0, 0x1
- negs r0, r0
- adds r1, r4, 0
- bl sub_80A4B58
- b _080A4FC8
- .align 2, 0
-_080A4FAC: .4byte gMain
-_080A4FB0: .4byte gUnknown_03005D10
-_080A4FB4: .4byte gUnknown_02038559
-_080A4FB8:
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080A4FC8
- movs r0, 0x1
- negs r0, r0
- adds r1, r4, 0
- bl sub_80A4B14
-_080A4FC8:
- ldr r0, _080A4FE0 @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A50AE
- ldr r1, _080A4FE4 @ =gMain
- ldrh r0, [r1, 0x32]
- cmp r0, 0x5
- bne _080A50AE
- movs r0, 0xB
- strh r0, [r1, 0x32]
- b _080A50AE
- .align 2, 0
-_080A4FE0: .4byte gLinkOpen
-_080A4FE4: .4byte gMain
-_080A4FE8:
- cmp r1, 0x80
- bne _080A5088
- ldr r0, _080A5020 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A502C
- ldr r1, _080A5024 @ =gUnknown_03005D10
- ldr r0, _080A5028 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r2, r0, r1
- ldrb r0, [r2]
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- bne _080A504E
- ldrb r0, [r2, 0x1]
- ldrb r1, [r2]
- adds r0, r1
- ldrb r2, [r2, 0x2]
- cmp r0, r2
- beq _080A5068
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B14
- b _080A5068
- .align 2, 0
-_080A5020: .4byte gUnknown_03000701
-_080A5024: .4byte gUnknown_03005D10
-_080A5028: .4byte gUnknown_02038559
-_080A502C:
- ldr r1, _080A5058 @ =gUnknown_03005D10
- ldr r0, _080A505C @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r2, r0, r1
- ldrb r1, [r2, 0x1]
- ldrb r3, [r2]
- adds r1, r3
- ldrb r0, [r2, 0x2]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5068
- ldrb r2, [r2, 0x3]
- cmp r3, r2
- beq _080A5060
-_080A504E:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B58
- b _080A5068
- .align 2, 0
-_080A5058: .4byte gUnknown_03005D10
-_080A505C: .4byte gUnknown_02038559
-_080A5060:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B14
-_080A5068:
- movs r5, 0x1
- ldr r0, _080A5080 @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A50C0
- ldr r1, _080A5084 @ =gMain
- ldrh r0, [r1, 0x32]
- cmp r0, 0x5
- bne _080A50C0
- movs r0, 0xB
- strh r0, [r1, 0x32]
- b _080A50C0
- .align 2, 0
-_080A5080: .4byte gLinkOpen
-_080A5084: .4byte gMain
-_080A5088:
- ldr r0, _080A50B4 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A50BC
- bl sub_80A4F0C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A50BC
- bl sub_80A73F0
- ldr r0, _080A50B8 @ =sub_80A4F68
- str r0, [r4]
-_080A50AE:
- movs r5, 0x1
- b _080A50C0
- .align 2, 0
-_080A50B4: .4byte gTasks
-_080A50B8: .4byte sub_80A4F68
-_080A50BC:
- bl sub_80A73C0
-_080A50C0:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4F74
-
- thumb_func_start sub_80A50C8
-sub_80A50C8: @ 80A50C8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080A5148 @ =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, _080A514C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080A50E6
- b _080A52BC
-_080A50E6:
- adds r0, r4, 0
- bl sub_80A4F74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A50F6
- b _080A526A
-_080A50F6:
- ldr r2, _080A5150 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080A5190
- ldr r3, _080A5154 @ =gUnknown_02038559
- ldrb r0, [r3]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080A5190
- ldr r0, _080A5158 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080A5190
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A5160
- ldr r1, _080A515C @ =gUnknown_03005D10
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A5138
- b _080A526A
-_080A5138:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A3F50
- b _080A526A
- .align 2, 0
-_080A5148: .4byte gTasks + 0x8
-_080A514C: .4byte gPaletteFade
-_080A5150: .4byte gMain
-_080A5154: .4byte gUnknown_02038559
-_080A5158: .4byte gUnknown_03000701
-_080A515C: .4byte gUnknown_03005D10
-_080A5160:
- ldr r1, _080A5184 @ =gUnknown_03005D10
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- beq _080A5188
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A3E90
- b _080A526A
- .align 2, 0
-_080A5184: .4byte gUnknown_03005D10
-_080A5188:
- adds r0, r4, 0
- bl sub_80A3EF4
- b _080A526A
-_080A5190:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080A5272
- ldr r7, _080A51D4 @ =gUnknown_03005D10
- ldr r6, _080A51D8 @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r7
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A51F0
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _080A51E8
- ldr r0, _080A51DC @ =word_203855E
- strh r1, [r0]
- ldr r1, _080A51E0 @ =gUnknown_083C16BC
- ldr r0, _080A51E4 @ =gUnknown_03000701
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A526A
- .align 2, 0
-_080A51D4: .4byte gUnknown_03005D10
-_080A51D8: .4byte gUnknown_02038559
-_080A51DC: .4byte word_203855E
-_080A51E0: .4byte gUnknown_083C16BC
-_080A51E4: .4byte gUnknown_03000701
-_080A51E8:
- adds r0, r4, 0
- bl sub_80A3EF4
- b _080A526A
-_080A51F0:
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A5264
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080A5250 @ =gUnknown_02038560
- movs r1, 0
- ldrsb r1, [r6, r1]
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- adds r0, r1
- strb r0, [r2]
- ldr r3, _080A5254 @ =word_203855E
- ldrb r0, [r2]
- ldr r1, _080A5258 @ =gUnknown_03005D24
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
- ldr r1, _080A525C @ =gUnknown_083C16BC
- ldr r0, _080A5260 @ =gUnknown_03000701
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- movs r0, 0
- bl sub_80F98A4
- movs r0, 0x1
- bl sub_80F98A4
- movs r0, 0x2
- bl sub_80F98A4
- movs r0, 0x3
- bl sub_80F98A4
- bl sub_80A797C
- b _080A526A
- .align 2, 0
-_080A5250: .4byte gUnknown_02038560
-_080A5254: .4byte word_203855E
-_080A5258: .4byte gUnknown_03005D24
-_080A525C: .4byte gUnknown_083C16BC
-_080A5260: .4byte gUnknown_03000701
-_080A5264:
- adds r0, r4, 0
- bl sub_80A3E90
-_080A526A:
- adds r0, r4, 0
- bl sub_808B5B4
- b _080A52BC
-_080A5272:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080A52BC
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _080A52B0
- ldr r2, _080A52A4 @ =gUnknown_03000701
- ldrb r0, [r2]
- cmp r0, 0x5
- beq _080A52B6
- ldr r0, _080A52A8 @ =word_203855E
- strh r1, [r0]
- ldr r1, _080A52AC @ =gUnknown_083C16BC
- ldrb r0, [r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A52B6
- .align 2, 0
-_080A52A4: .4byte gUnknown_03000701
-_080A52A8: .4byte word_203855E
-_080A52AC: .4byte gUnknown_083C16BC
-_080A52B0:
- adds r0, r4, 0
- bl sub_80A3EF4
-_080A52B6:
- adds r0, r4, 0
- bl sub_808B5B4
-_080A52BC:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A50C8
-
- thumb_func_start sub_80A52C4
-sub_80A52C4: @ 80A52C4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- adds r4, r3, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080A52F4 @ =gTasks + 0x8
- adds r1, r0
- ldr r0, _080A52F8 @ =gMain
- ldrh r0, [r0, 0x30]
- movs r2, 0xF0
- ands r2, r0
- cmp r2, 0x40
- bne _080A52FC
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, r3
- beq _080A533E
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- b _080A5340
- .align 2, 0
-_080A52F4: .4byte gTasks + 0x8
-_080A52F8: .4byte gMain
-_080A52FC:
- cmp r2, 0x80
- bne _080A5312
- ldrh r2, [r1, 0x2]
- movs r4, 0x2
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- beq _080A530E
- subs r0, r2, 0x1
- b _080A5340
-_080A530E:
- strh r3, [r1, 0x2]
- b _080A5342
-_080A5312:
- cmp r2, 0x10
- bne _080A532A
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0xA
- cmp r0, r3
- bge _080A5326
- ldrh r0, [r1, 0x2]
- adds r0, 0xA
- b _080A5340
-_080A5326:
- strh r4, [r1, 0x2]
- b _080A5342
-_080A532A:
- cmp r2, 0x20
- bne _080A5346
- ldrh r2, [r1, 0x2]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0xA
- ble _080A533E
- adds r0, r2, 0
- subs r0, 0xA
- b _080A5340
-_080A533E:
- movs r0, 0x1
-_080A5340:
- strh r0, [r1, 0x2]
-_080A5342:
- movs r0, 0x1
- b _080A5348
-_080A5346:
- movs r0, 0
-_080A5348:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A52C4
-
- thumb_func_start sub_80A5350
-sub_80A5350: @ 80A5350
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _080A539C @ =gTasks + 0x8
- adds r4, r1, r2
- ldr r1, _080A53A0 @ =gUnknown_02038560
- ldrb r1, [r1]
- ldr r2, _080A53A4 @ =gUnknown_03005D24
- ldr r2, [r2]
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x2]
- bl sub_80A52C4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A53C0
- ldr r0, _080A53A8 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A53AC
- ldrh r0, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0x1
- bl sub_80A418C
- b _080A53BC
- .align 2, 0
-_080A539C: .4byte gTasks + 0x8
-_080A53A0: .4byte gUnknown_02038560
-_080A53A4: .4byte gUnknown_03005D24
-_080A53A8: .4byte gUnknown_02038559
-_080A53AC:
- ldrh r0, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x1
- bl sub_80A418C
-_080A53BC:
- movs r0, 0x1
- b _080A53C2
-_080A53C0:
- movs r0, 0
-_080A53C2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A5350
-
- thumb_func_start sub_80A53CC
-sub_80A53CC: @ 80A53CC
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A53EA
- bl sub_80A3770
- ldr r0, _080A53F0 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A53F4 @ =gUnknown_02038563
- strb r0, [r1]
-_080A53EA:
- pop {r0}
- bx r0
- .align 2, 0
-_080A53F0: .4byte sub_80A50C8
-_080A53F4: .4byte gUnknown_02038563
- thumb_func_end sub_80A53CC
-
- thumb_func_start sub_80A53F8
-sub_80A53F8: @ 80A53F8
- push {lr}
- ldr r0, _080A540C @ =gUnknown_03000701
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A5410 @ =sub_80A53CC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A540C: .4byte gUnknown_03000701
-_080A5410: .4byte sub_80A53CC
- thumb_func_end sub_80A53F8
-
- thumb_func_start sub_80A5414
-sub_80A5414: @ 80A5414
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- bl sub_80A78A0
- cmp r0, 0
- bne _080A5426
- b _080A5552
-_080A5426:
- ldr r2, _080A5460 @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A546C
- ldr r4, _080A5464 @ =gUnknown_03000700
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5440
- b _080A5552
-_080A5440:
- ldrb r1, [r4]
- ldr r0, _080A5468 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080A5452
- b _080A5552
-_080A5452:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A54EE
- .align 2, 0
-_080A5460: .4byte gMain
-_080A5464: .4byte gUnknown_03000700
-_080A5468: .4byte gUnknown_03000704
-_080A546C:
- cmp r1, 0x80
- bne _080A549C
- ldr r4, _080A5494 @ =gUnknown_03000700
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5552
- ldrb r1, [r4]
- ldr r0, _080A5498 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _080A54EE
- .align 2, 0
-_080A5494: .4byte gUnknown_03000700
-_080A5498: .4byte gUnknown_03000704
-_080A549C:
- cmp r1, 0x20
- bne _080A54CC
- ldr r4, _080A54C4 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x1
- bls _080A5552
- adds r1, r0, 0
- ldr r0, _080A54C8 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x2
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- negs r0, r0
- b _080A54EE
- .align 2, 0
-_080A54C4: .4byte gUnknown_03000700
-_080A54C8: .4byte gUnknown_03000704
-_080A54CC:
- cmp r1, 0x10
- bne _080A5500
- ldr r4, _080A54F8 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x1
- bhi _080A5552
- adds r1, r0, 0
- ldr r0, _080A54FC @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x2]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
-_080A54EE:
- bl MoveMenuCursor3
- strb r0, [r4]
- b _080A5552
- .align 2, 0
-_080A54F8: .4byte gUnknown_03000700
-_080A54FC: .4byte gUnknown_03000704
-_080A5500:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5590
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5552
- ldr r1, _080A5570 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r1, _080A5574 @ =gUnknown_03005D10
- ldr r0, _080A5578 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A557C @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r1, _080A5580 @ =gUnknown_083C1640
- ldr r0, _080A5584 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
-_080A5552:
- cmp r5, 0
- bne _080A55FA
- ldr r0, _080A5588 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A55E0
- ldr r0, _080A558C @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A55D4
- movs r0, 0xC
- bl sub_8072DDC
- b _080A55FA
- .align 2, 0
-_080A5570: .4byte gTasks
-_080A5574: .4byte gUnknown_03005D10
-_080A5578: .4byte gUnknown_02038559
-_080A557C: .4byte gBG1TilemapBuffer
-_080A5580: .4byte gUnknown_083C1640
-_080A5584: .4byte gUnknown_03000704
-_080A5588: .4byte gUnknown_03000701
-_080A558C: .4byte gUnknown_03000700
-_080A5590:
- ldr r1, _080A55C0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r0, _080A55C4 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r1, _080A55C8 @ =gUnknown_083C1640
- ldr r0, _080A55CC @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A55D0 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
- b _080A5552
- .align 2, 0
-_080A55C0: .4byte gTasks
-_080A55C4: .4byte gBG1TilemapBuffer
-_080A55C8: .4byte gUnknown_083C1640
-_080A55CC: .4byte gUnknown_03000700
-_080A55D0: .4byte gUnknown_03000704
-_080A55D4:
- cmp r0, 0x1
- bls _080A55E8
- movs r0, 0x30
- bl sub_8072DCC
- b _080A55FA
-_080A55E0:
- ldr r0, _080A55F0 @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080A55F4
-_080A55E8:
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A55FA
- .align 2, 0
-_080A55F0: .4byte gUnknown_03000700
-_080A55F4:
- movs r0, 0x30
- bl sub_8072DCC
-_080A55FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5414
-
- thumb_func_start sub_80A5600
-sub_80A5600: @ 80A5600
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- ldr r2, _080A563C @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A5648
- ldr r4, _080A5640 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0
- bne _080A561E
- b _080A5736
-_080A561E:
- adds r1, r0, 0
- ldr r0, _080A5644 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080A5630
- b _080A5736
-_080A5630:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A56D2
- .align 2, 0
-_080A563C: .4byte gMain
-_080A5640: .4byte gUnknown_03000700
-_080A5644: .4byte gUnknown_03000704
-_080A5648:
- cmp r1, 0x80
- bne _080A5680
- ldr r4, _080A5674 @ =gUnknown_03000700
- ldrb r1, [r4]
- ldr r0, _080A5678 @ =gUnknown_02038564
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5736
- cmp r1, 0x2
- beq _080A5736
- ldr r0, _080A567C @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r1, r0
- ldrb r0, [r0, 0x1]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _080A56D2
- .align 2, 0
-_080A5674: .4byte gUnknown_03000700
-_080A5678: .4byte gUnknown_02038564
-_080A567C: .4byte gUnknown_03000704
-_080A5680:
- cmp r1, 0x20
- bne _080A56B0
- ldr r4, _080A56A8 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x2
- bls _080A5736
- adds r1, r0, 0
- ldr r0, _080A56AC @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x3
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
- negs r0, r0
- b _080A56D2
- .align 2, 0
-_080A56A8: .4byte gUnknown_03000700
-_080A56AC: .4byte gUnknown_03000704
-_080A56B0:
- cmp r1, 0x10
- bne _080A56E4
- ldr r4, _080A56DC @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x2
- bhi _080A5736
- adds r1, r0, 0
- ldr r0, _080A56E0 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x3]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
-_080A56D2:
- bl MoveMenuCursor3
- strb r0, [r4]
- b _080A5736
- .align 2, 0
-_080A56DC: .4byte gUnknown_03000700
-_080A56E0: .4byte gUnknown_03000704
-_080A56E4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5768
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5736
- ldr r1, _080A574C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r1, _080A5750 @ =gUnknown_03005D10
- ldr r0, _080A5754 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A5758 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r1, _080A575C @ =gUnknown_083C1640
- ldr r0, _080A5760 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
-_080A5736:
- cmp r5, 0
- bne _080A57BE
- ldr r0, _080A5764 @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A57AC
- movs r0, 0xC
- bl sub_8072DDC
- b _080A57BE
- .align 2, 0
-_080A574C: .4byte gTasks
-_080A5750: .4byte gUnknown_03005D10
-_080A5754: .4byte gUnknown_02038559
-_080A5758: .4byte gBG1TilemapBuffer
-_080A575C: .4byte gUnknown_083C1640
-_080A5760: .4byte gUnknown_03000704
-_080A5764: .4byte gUnknown_03000700
-_080A5768:
- ldr r1, _080A5798 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r0, _080A579C @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r1, _080A57A0 @ =gUnknown_083C1640
- ldr r0, _080A57A4 @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A57A8 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
- b _080A5736
- .align 2, 0
-_080A5798: .4byte gTasks
-_080A579C: .4byte gBG1TilemapBuffer
-_080A57A0: .4byte gUnknown_083C1640
-_080A57A4: .4byte gUnknown_03000700
-_080A57A8: .4byte gUnknown_03000704
-_080A57AC:
- cmp r0, 0x2
- bhi _080A57B8
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A57BE
-_080A57B8:
- movs r0, 0x30
- bl sub_8072DCC
-_080A57BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5600
-
- thumb_func_start sub_80A57C4
-sub_80A57C4: @ 80A57C4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r5, _080A57EC @ =gUnknown_03000704
- ldr r0, _080A57F0 @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- ldr r4, _080A57F4 @ =gUnknown_083C16AE
- adds r1, r4
- str r1, [r5]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bne _080A57FC
- ldr r1, _080A57F8 @ =gUnknown_02038564
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x9
- b _080A582C
- .align 2, 0
-_080A57EC: .4byte gUnknown_03000704
-_080A57F0: .4byte gUnknown_02038559
-_080A57F4: .4byte gUnknown_083C16AE
-_080A57F8: .4byte gUnknown_02038564
-_080A57FC:
- ldr r0, _080A581C @ =word_203855E
- ldrh r0, [r0]
- bl sub_80F92F4
- lsls r0, 24
- cmp r0, 0
- bne _080A5824
- adds r0, r4, 0
- adds r0, 0x8
- str r0, [r5]
- ldr r1, _080A5820 @ =gUnknown_02038564
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x9
- b _080A582C
- .align 2, 0
-_080A581C: .4byte word_203855E
-_080A5820: .4byte gUnknown_02038564
-_080A5824:
- ldr r1, _080A5880 @ =gUnknown_02038564
- movs r0, 0x2
- strb r0, [r1]
- movs r5, 0x7
-_080A582C:
- adds r6, r1, 0
- ldr r0, _080A5884 @ =gBG1TilemapBuffer
- adds r4, r5, 0x1
- ldrb r1, [r6]
- lsls r1, 25
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0x7
- adds r2, r4, 0
- movs r3, 0x6
- bl sub_80A4008
- ldrb r3, [r6]
- lsls r3, 1
- adds r3, 0x1
- adds r3, r5, r3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x6
- adds r1, r5, 0
- movs r2, 0xD
- bl MenuDrawTextWindow
- movs r0, 0
- adds r1, r5, 0
- bl sub_80A7834
- ldrb r3, [r6]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x7
- adds r2, r4, 0
- bl InitMenu
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5880: .4byte gUnknown_02038564
-_080A5884: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A57C4
-
- thumb_func_start sub_80A5888
-sub_80A5888: @ 80A5888
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80A78A0
- cmp r0, 0
- beq _080A5988
- ldr r2, _080A58B8 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A58C0
- ldr r4, _080A58BC @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A5988
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A58E2
- .align 2, 0
-_080A58B8: .4byte gMain
-_080A58BC: .4byte gUnknown_03000700
-_080A58C0:
- movs r0, 0x80
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080A58F4
- ldr r4, _080A58EC @ =gUnknown_03000700
- ldrb r1, [r4]
- ldr r0, _080A58F0 @ =gUnknown_02038564
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5988
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080A58E2:
- bl MoveMenuCursor
- strb r0, [r4]
- b _080A5988
- .align 2, 0
-_080A58EC: .4byte gUnknown_03000700
-_080A58F0: .4byte gUnknown_02038564
-_080A58F4:
- ldrh r1, [r2, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A5964
- ldr r1, _080A5948 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x1C]
- ldr r1, _080A594C @ =gUnknown_03005D10
- ldr r0, _080A5950 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A5954 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r1, _080A5958 @ =gUnknown_083C1640
- ldr r0, _080A595C @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A5960 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A5988
- .align 2, 0
-_080A5948: .4byte gTasks
-_080A594C: .4byte gUnknown_03005D10
-_080A5950: .4byte gUnknown_02038559
-_080A5954: .4byte gBG1TilemapBuffer
-_080A5958: .4byte gUnknown_083C1640
-_080A595C: .4byte gUnknown_03000700
-_080A5960: .4byte gUnknown_03000704
-_080A5964:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5988
- ldr r1, _080A5990 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r0, _080A5994 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r0, _080A5998 @ =gUnknown_083C1640
- ldr r1, [r0, 0x14]
- adds r0, r5, 0
- bl _call_via_r1
-_080A5988:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5990: .4byte gTasks
-_080A5994: .4byte gBG1TilemapBuffer
-_080A5998: .4byte gUnknown_083C1640
- thumb_func_end sub_80A5888
-
- thumb_func_start sub_80A599C
-sub_80A599C: @ 80A599C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A59C4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A59C8 @ =sub_805469C
- lsrs r2, r3, 16
- movs r4, 0
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- ldr r1, _080A59CC @ =gUnknown_03005CE0
- strb r4, [r1]
- bl sub_80A5AE4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A59C4: .4byte gTasks
-_080A59C8: .4byte sub_805469C
-_080A59CC: .4byte gUnknown_03005CE0
- thumb_func_end sub_80A599C
-
- thumb_func_start sub_80A59D0
-sub_80A59D0: @ 80A59D0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A5A3C @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- ldr r7, _080A5A40 @ =gUnknown_03000701
- ldrb r0, [r7]
- cmp r0, 0x5
- bne _080A59E8
- movs r0, 0x1
- strb r0, [r1]
-_080A59E8:
- ldr r1, _080A5A44 @ =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r6, r0, r1
- ldr r3, _080A5A48 @ =gUnknown_03005D10
- ldr r2, _080A5A4C @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r6, 0x1C]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5A54
- ldrb r0, [r7]
- cmp r0, 0x5
- beq _080A5A54
- bl sub_80A57C4
- ldr r0, _080A5A50 @ =sub_80A5888
- str r0, [r6]
- b _080A5A9C
- .align 2, 0
-_080A5A3C: .4byte gUnknown_03000700
-_080A5A40: .4byte gUnknown_03000701
-_080A5A44: .4byte gTasks
-_080A5A48: .4byte gUnknown_03005D10
-_080A5A4C: .4byte gUnknown_02038559
-_080A5A50: .4byte sub_80A5888
-_080A5A54:
- ldr r0, _080A5A7C @ =gBG1TilemapBuffer
- bl sub_80A4BF0
- ldr r0, _080A5A80 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A5A6E
- ldr r0, _080A5A84 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A5A90
-_080A5A6E:
- ldr r0, _080A5A88 @ =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A5A8C @ =sub_80A5414
- b _080A5A9A
- .align 2, 0
-_080A5A7C: .4byte gBG1TilemapBuffer
-_080A5A80: .4byte gUnknown_02038559
-_080A5A84: .4byte gUnknown_03000701
-_080A5A88: .4byte gTasks
-_080A5A8C: .4byte sub_80A5414
-_080A5A90:
- ldr r0, _080A5AA4 @ =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A5AA8 @ =sub_80A5600
-_080A5A9A:
- str r0, [r1]
-_080A5A9C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5AA4: .4byte gTasks
-_080A5AA8: .4byte sub_80A5600
- thumb_func_end sub_80A59D0
-
- thumb_func_start sub_80A5AAC
-sub_80A5AAC: @ 80A5AAC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080A5ADC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5AE0 @ =sub_80A5B00
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5ADC: .4byte gTasks
-_080A5AE0: .4byte sub_80A5B00
- thumb_func_end sub_80A5AAC
-
- thumb_func_start sub_80A5AE4
-sub_80A5AE4: @ 80A5AE4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A5AAC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5AE4
-
- thumb_func_start sub_80A5B00
-sub_80A5B00: @ 80A5B00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080A5B38 @ =gTasks + 0x8
- adds r2, r0, r1
- ldr r0, _080A5B3C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A5B32
- ldrh r0, [r2, 0x10]
- lsls r0, 16
- ldrh r1, [r2, 0x12]
- orrs r0, r1
- bl SetMainCallback2
- bl gpu_pal_allocator_reset__manage_upper_four
- adds r0, r4, 0
- bl DestroyTask
-_080A5B32:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5B38: .4byte gTasks + 0x8
-_080A5B3C: .4byte gPaletteFade
- thumb_func_end sub_80A5B00
-
- thumb_func_start sub_80A5B40
-sub_80A5B40: @ 80A5B40
- push {lr}
-_080A5B42:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5B68
- bl ResetTasks
- ldr r0, _080A5B60 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A5B64 @ =gUnknown_02038563
- strb r0, [r1]
- b _080A5B74
- .align 2, 0
-_080A5B60: .4byte sub_80A50C8
-_080A5B64: .4byte gUnknown_02038563
-_080A5B68:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5B42
-_080A5B74:
- pop {r0}
- bx r0
- thumb_func_end sub_80A5B40
-
- thumb_func_start sub_80A5B78
-sub_80A5B78: @ 80A5B78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _080A5BB0 @ =word_203855E
- ldrh r0, [r5]
- bl ItemId_GetFieldFunc
- cmp r0, 0
- beq _080A5BF2
- movs r0, 0x5
- bl PlaySE
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _080A5BB4
- ldrh r0, [r5]
- bl ItemId_GetType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5BB4
- adds r0, r4, 0
- bl sub_80A5BF8
- b _080A5BF2
- .align 2, 0
-_080A5BB0: .4byte word_203855E
-_080A5BB4:
- ldr r1, _080A5BE0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r0, _080A5BE4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- beq _080A5BEC
- ldr r0, _080A5BE8 @ =word_203855E
- ldrh r0, [r0]
- bl ItemId_GetFieldFunc
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
- b _080A5BF2
- .align 2, 0
-_080A5BE0: .4byte gTasks
-_080A5BE4: .4byte gUnknown_02038559
-_080A5BE8: .4byte word_203855E
-_080A5BEC:
- adds r0, r4, 0
- bl sub_80C9C7C
-_080A5BF2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5B78
-
- thumb_func_start sub_80A5BF8
-sub_80A5BF8: @ 80A5BF8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A5C1C @ =gOtherText_NoPokemon
- ldr r2, _080A5C20 @ =sub_80A5C48
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5C1C: .4byte gOtherText_NoPokemon
-_080A5C20: .4byte sub_80A5C48
- thumb_func_end sub_80A5BF8
-
- thumb_func_start sub_80A5C24
-sub_80A5C24: @ 80A5C24
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5C24
-
- thumb_func_start sub_80A5C48
-sub_80A5C48: @ 80A5C48
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5C90 @ =gBG1TilemapBuffer
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0x7
- movs r1, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A5C94 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5C98 @ =sub_80A5C24
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5C90: .4byte gBG1TilemapBuffer
-_080A5C94: .4byte gTasks
-_080A5C98: .4byte sub_80A5C24
- thumb_func_end sub_80A5C48
-
- thumb_func_start sub_80A5C9C
-sub_80A5C9C: @ 80A5C9C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0xD
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8064E2C
- bl ScriptContext2_Disable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5C9C
-
- thumb_func_start sub_80A5CC4
-sub_80A5CC4: @ 80A5CC4
- push {lr}
- bl pal_fill_black
- ldr r0, _080A5CD8 @ =Task_CallItemUseOnFieldCallback
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080A5CD8: .4byte Task_CallItemUseOnFieldCallback
- thumb_func_end sub_80A5CC4
-
- thumb_func_start Task_CallItemUseOnFieldCallback
-Task_CallItemUseOnFieldCallback: @ 80A5CDC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5CF8
- ldr r0, _080A5D00 @ =gUnknown_03005D00
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080A5CF8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D00: .4byte gUnknown_03005D00
- thumb_func_end Task_CallItemUseOnFieldCallback
-
- thumb_func_start sub_80A5D04
-sub_80A5D04: @ 80A5D04
- push {lr}
-_080A5D06:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5D28
- ldr r0, _080A5D20 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A5D24 @ =gUnknown_02038563
- strb r0, [r1]
- b _080A5D34
- .align 2, 0
-_080A5D20: .4byte sub_80A50C8
-_080A5D24: .4byte gUnknown_02038563
-_080A5D28:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5D06
-_080A5D34:
- pop {r0}
- bx r0
- thumb_func_end sub_80A5D04
-
- thumb_func_start sub_80A5D38
-sub_80A5D38: @ 80A5D38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A5D70 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xA]
- ldr r0, _080A5D74 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D70: .4byte gTasks
-_080A5D74: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A5D38
-
- thumb_func_start sub_80A5D78
-sub_80A5D78: @ 80A5D78
- push {lr}
- sub sp, 0x4
- ldr r0, _080A5D9C @ =gBG1TilemapBuffer
- movs r1, 0x4
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0x8
- movs r3, 0x5
- bl sub_80A4008
- movs r0, 0x7
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D9C: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A5D78
-
- thumb_func_start sub_80A5DA0
-sub_80A5DA0: @ 80A5DA0
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r1, _080A5DC4 @ =gStringVar1
- bl CopyItemName
- cmp r4, 0x63
- bls _080A5DCC
- ldr r0, _080A5DC8 @ =gStringVar2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- b _080A5DD8
- .align 2, 0
-_080A5DC4: .4byte gStringVar1
-_080A5DC8: .4byte gStringVar2
-_080A5DCC:
- ldr r0, _080A5DF0 @ =gStringVar2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
-_080A5DD8:
- ldr r0, _080A5DF4 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- movs r0, 0x5
- bl sub_80A7528
- bl sub_80A5D78
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5DF0: .4byte gStringVar2
-_080A5DF4: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A5DA0
-
- thumb_func_start sub_80A5DF8
-sub_80A5DF8: @ 80A5DF8
- push {lr}
- ldr r0, _080A5E18 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xB
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0x4
- bl sub_80A7528
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E18: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A5DF8
-
- thumb_func_start sub_80A5E1C
-sub_80A5E1C: @ 80A5E1C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A5E58 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5E36
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5E50
-_080A5E36:
- ldr r0, _080A5E5C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x1C]
- adds r0, r4, 0
- bl sub_80A41D4
- adds r0, r4, 0
- bl sub_80A5D38
-_080A5E50:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E58: .4byte gMain
-_080A5E5C: .4byte gTasks
- thumb_func_end sub_80A5E1C
-
- thumb_func_start sub_80A5E60
-sub_80A5E60: @ 80A5E60
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A5DF8
- adds r0, r4, 0
- bl sub_80A3D5C
- ldr r1, _080A5E88 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5E8C @ =sub_80A5E1C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E88: .4byte gTasks
-_080A5E8C: .4byte sub_80A5E1C
- thumb_func_end sub_80A5E60
-
- thumb_func_start sub_80A5E90
-sub_80A5E90: @ 80A5E90
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A5D38
- pop {r0}
- bx r0
- thumb_func_end sub_80A5E90
-
- thumb_func_start sub_80A5EA0
-sub_80A5EA0: @ 80A5EA0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A5F0C
- ldr r0, _080A5EE8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A5EF8
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A5EEC @ =word_203855E
- ldrh r0, [r0]
- ldr r2, _080A5EF0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- ldrh r1, [r1, 0xA]
- bl sub_80A5DA0
- ldr r1, _080A5EF4 @ =gUnknown_083C16F4
- adds r0, r4, 0
- bl sub_80F914C
- b _080A5F0C
- .align 2, 0
-_080A5EE8: .4byte gMain
-_080A5EEC: .4byte word_203855E
-_080A5EF0: .4byte gTasks
-_080A5EF4: .4byte gUnknown_083C16F4
-_080A5EF8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5F0C
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_80A5D38
-_080A5F0C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5EA0
-
- thumb_func_start sub_80A5F14
-sub_80A5F14: @ 80A5F14
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080A5F58 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5F5C @ =sub_80A5EA0
- str r1, [r0]
- movs r0, 0x3
- bl sub_80A7528
- ldr r0, _080A5F60 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A5F64
- movs r0, 0x3
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x6
- movs r2, 0x9
- movs r3, 0x7
- bl sub_80A4DD8
- b _080A5F78
- .align 2, 0
-_080A5F58: .4byte gTasks
-_080A5F5C: .4byte sub_80A5EA0
-_080A5F60: .4byte gUnknown_02038559
-_080A5F64:
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x9
- movs r3, 0x6
- bl sub_80A4DD8
-_080A5F78:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5F14
-
- thumb_func_start sub_80A5F80
-sub_80A5F80: @ 80A5F80
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5F80
-
- thumb_func_start sub_80A5FAC
-sub_80A5FAC: @ 80A5FAC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A5FD0 @ =gSaveBlock1
- ldr r1, _080A5FD4 @ =0x00000496
- adds r4, r0, r1
- ldr r5, _080A5FD8 @ =word_203855E
- ldrh r0, [r4]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080A5FDC
- bl sub_80A40D0
- movs r0, 0
- b _080A5FE2
- .align 2, 0
-_080A5FD0: .4byte gSaveBlock1
-_080A5FD4: .4byte 0x00000496
-_080A5FD8: .4byte word_203855E
-_080A5FDC:
- bl sub_80A413C
- ldrh r0, [r5]
-_080A5FE2:
- strh r0, [r4]
- movs r0, 0
- bl sub_80A7528
- adds r0, r6, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r6, 0
- bl sub_80A37C0
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5FAC
-
- thumb_func_start sub_80A6000
-sub_80A6000: @ 80A6000
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6000
-
- thumb_func_start sub_80A6024
-sub_80A6024: @ 80A6024
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A606C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6062
- ldr r0, _080A6070 @ =gBG1TilemapBuffer
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A6074 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6078 @ =sub_80A6000
- str r1, [r0]
-_080A6062:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A606C: .4byte gMain
-_080A6070: .4byte gBG1TilemapBuffer
-_080A6074: .4byte gTasks
-_080A6078: .4byte sub_80A6000
- thumb_func_end sub_80A6024
-
- thumb_func_start DisplayCannotBeHeldMessage
-DisplayCannotBeHeldMessage: @ 80A607C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A73FC
- ldr r0, _080A60B4 @ =word_203855E
- ldrh r0, [r0]
- ldr r1, _080A60B8 @ =gStringVar1
- bl CopyItemName
- ldr r5, _080A60BC @ =gStringVar4
- ldr r1, _080A60C0 @ =gOtherText_CantBeHeld
- adds r0, r5, 0
- bl StringExpandPlaceholders
- bl sub_80A7590
- ldr r2, _080A60C4 @ =sub_80A6024
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A60B4: .4byte word_203855E
-_080A60B8: .4byte gStringVar1
-_080A60BC: .4byte gStringVar4
-_080A60C0: .4byte gOtherText_CantBeHeld
-_080A60C4: .4byte sub_80A6024
- thumb_func_end DisplayCannotBeHeldMessage
-
- thumb_func_start ItemMenu_Give
-ItemMenu_Give: @ 80A60C8
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- movs r0, 0x5
- bl PlaySE
- ldr r5, _080A60FC @ =word_203855E
- ldrh r0, [r5]
- bl sub_80F931C
- lsls r0, 24
- cmp r0, 0
- bne _080A6108
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A6100 @ =gOtherText_CantWriteMail
- ldr r2, _080A6104 @ =sub_80A6024
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A616E
- .align 2, 0
-_080A60FC: .4byte word_203855E
-_080A6100: .4byte gOtherText_CantWriteMail
-_080A6104: .4byte sub_80A6024
-_080A6108:
- ldrh r0, [r5]
- bl ItemId_GetImportance
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080A6168
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _080A6128
- adds r0, r4, 0
- bl sub_80A5BF8
- b _080A616E
-_080A6128:
- ldr r1, _080A6158 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A615C @ =sub_808B020
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- ldr r1, _080A6160 @ =sub_80A5B00
- str r1, [r0]
- ldr r1, _080A6164 @ =gUnknown_02038561
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080A616E
- .align 2, 0
-_080A6158: .4byte gTasks
-_080A615C: .4byte sub_808B020
-_080A6160: .4byte sub_80A5B00
-_080A6164: .4byte gUnknown_02038561
-_080A6168:
- adds r0, r6, 0
- bl DisplayCannotBeHeldMessage
-_080A616E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ItemMenu_Give
-
- thumb_func_start sub_80A6178
-sub_80A6178: @ 80A6178
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A5AE4
- ldr r1, _080A61A0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A61A4 @ =sub_814625C
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A61A0: .4byte gTasks
-_080A61A4: .4byte sub_814625C
- thumb_func_end sub_80A6178
-
- thumb_func_start sub_80A61A8
-sub_80A61A8: @ 80A61A8
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A61C2
- ldr r0, _080A61C8 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A61CC @ =gUnknown_02038563
- strb r0, [r1]
-_080A61C2:
- pop {r0}
- bx r0
- .align 2, 0
-_080A61C8: .4byte sub_80A50C8
-_080A61CC: .4byte gUnknown_02038563
- thumb_func_end sub_80A61A8
-
- thumb_func_start sub_80A61D0
-sub_80A61D0: @ 80A61D0
- push {lr}
- ldr r0, _080A61E4 @ =gUnknown_03000701
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, _080A61E8 @ =sub_80A61A8
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A61E4: .4byte gUnknown_03000701
-_080A61E8: .4byte sub_80A61A8
- thumb_func_end sub_80A61D0
-
- thumb_func_start sub_80A61EC
-sub_80A61EC: @ 80A61EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A620C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6210 @ =sub_808A3F8
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A620C: .4byte gTasks
-_080A6210: .4byte sub_808A3F8
- thumb_func_end sub_80A61EC
-
- thumb_func_start sub_80A6214
-sub_80A6214: @ 80A6214
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080A6244 @ =gUnknown_02038559
- ldrb r0, [r0]
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _080A6248 @ =word_203855E
- ldrh r0, [r4]
- bl sub_80F931C
- lsls r0, 24
- cmp r0, 0
- bne _080A6254
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A624C @ =gOtherText_CantWriteMail
- ldr r2, _080A6250 @ =sub_80A6024
- adds r0, r5, 0
- b _080A6280
- .align 2, 0
-_080A6244: .4byte gUnknown_02038559
-_080A6248: .4byte word_203855E
-_080A624C: .4byte gOtherText_CantWriteMail
-_080A6250: .4byte sub_80A6024
-_080A6254:
- ldrh r0, [r4]
- bl sub_80F92F4
- lsls r0, 24
- cmp r0, 0
- bne _080A6298
- bl sub_80A73FC
- ldrh r0, [r4]
- ldr r1, _080A6288 @ =gStringVar1
- bl CopyItemName
- ldr r4, _080A628C @ =gStringVar4
- ldr r1, _080A6290 @ =gOtherText_CantBeHeldHere
- adds r0, r4, 0
- bl StringExpandPlaceholders
- bl sub_80A7590
- ldr r2, _080A6294 @ =sub_80A6024
- adds r0, r5, 0
- adds r1, r4, 0
-_080A6280:
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A62D2
- .align 2, 0
-_080A6288: .4byte gStringVar1
-_080A628C: .4byte gStringVar4
-_080A6290: .4byte gOtherText_CantBeHeldHere
-_080A6294: .4byte sub_80A6024
-_080A6298:
- cmp r6, 0x5
- beq _080A62CC
- ldrh r0, [r4]
- bl ItemId_GetImportance
- lsls r0, 24
- cmp r0, 0
- bne _080A62CC
- ldr r1, _080A62C4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A62C8 @ =sub_808A3F8
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- adds r0, r5, 0
- bl sub_80A5AAC
- b _080A62D2
- .align 2, 0
-_080A62C4: .4byte gTasks
-_080A62C8: .4byte sub_808A3F8
-_080A62CC:
- adds r0, r5, 0
- bl DisplayCannotBeHeldMessage
-_080A62D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6214
-
- thumb_func_start sub_80A62D8
-sub_80A62D8: @ 80A62D8
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A62F2
- ldr r0, _080A62F8 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A62FC @ =gUnknown_02038563
- strb r0, [r1]
-_080A62F2:
- pop {r0}
- bx r0
- .align 2, 0
-_080A62F8: .4byte sub_80A50C8
-_080A62FC: .4byte gUnknown_02038563
- thumb_func_end sub_80A62D8
-
- thumb_func_start sub_80A6300
-sub_80A6300: @ 80A6300
- push {lr}
- ldr r0, _080A6314 @ =gUnknown_03000701
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, _080A6318 @ =sub_80A62D8
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6314: .4byte gUnknown_03000701
-_080A6318: .4byte sub_80A62D8
- thumb_func_end sub_80A6300
-
- thumb_func_start sub_80A631C
-sub_80A631C: @ 80A631C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6344 @ =gUnknown_0300485C
- ldr r1, _080A6348 @ =sub_80B3050
- str r1, [r2]
- ldr r2, _080A634C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6350 @ =c2_exit_to_overworld_2_switch
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6344: .4byte gUnknown_0300485C
-_080A6348: .4byte sub_80B3050
-_080A634C: .4byte gTasks
-_080A6350: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80A631C
-
- thumb_func_start sub_80A6354
-sub_80A6354: @ 80A6354
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80A7590
- ldr r0, _080A63C4 @ =gTasks
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r0
- ldr r4, _080A63C8 @ =gUnknown_03005D10
- ldr r3, _080A63CC @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r2, 0x1C]
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r4, _080A63D0 @ =word_203855E
- ldrh r0, [r4]
- ldr r1, _080A63D4 @ =gStringVar2
- bl CopyItemName
- ldrh r0, [r4]
- bl ItemId_GetPrice
- lsls r0, 16
- cmp r0, 0
- bne _080A63E4
- ldr r4, _080A63D8 @ =gStringVar4
- ldr r1, _080A63DC @ =gOtherText_CantBuyThat
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A63E0 @ =sub_80A6444
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A63FA
- .align 2, 0
-_080A63C4: .4byte gTasks
-_080A63C8: .4byte gUnknown_03005D10
-_080A63CC: .4byte gUnknown_02038559
-_080A63D0: .4byte word_203855E
-_080A63D4: .4byte gStringVar2
-_080A63D8: .4byte gStringVar4
-_080A63DC: .4byte gOtherText_CantBuyThat
-_080A63E0: .4byte sub_80A6444
-_080A63E4:
- ldr r4, _080A6400 @ =gStringVar4
- ldr r1, _080A6404 @ =gOtherText_HowManyToSell
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6408 @ =sub_80A648C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
-_080A63FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6400: .4byte gStringVar4
-_080A6404: .4byte gOtherText_HowManyToSell
-_080A6408: .4byte sub_80A648C
- thumb_func_end sub_80A6354
-
- thumb_func_start sub_80A640C
-sub_80A640C: @ 80A640C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A6440 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6440: .4byte gTasks
- thumb_func_end sub_80A640C
-
- thumb_func_start sub_80A6444
-sub_80A6444: @ 80A6444
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A6480 @ =gBG1TilemapBuffer
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A6484 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6488 @ =sub_80A640C
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6480: .4byte gBG1TilemapBuffer
-_080A6484: .4byte gTasks
-_080A6488: .4byte sub_80A640C
- thumb_func_end sub_80A6444
-
- thumb_func_start sub_80A648C
-sub_80A648C: @ 80A648C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A64E8 @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r0, _080A64EC @ =Task_BuyHowManyDialogueHandleInput
- str r0, [r4]
- ldr r0, _080A64F0 @ =gBG1TilemapBuffer
- movs r5, 0x2
- str r5, [sp]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A4008
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuDrawTextWindow
- movs r0, 0x1
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- movs r0, 0xB
- strh r0, [r4, 0xE]
- ldr r0, _080A64F4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A64F8
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xB
- bl sub_80A418C
- b _080A6506
- .align 2, 0
-_080A64E8: .4byte gTasks
-_080A64EC: .4byte Task_BuyHowManyDialogueHandleInput
-_080A64F0: .4byte gBG1TilemapBuffer
-_080A64F4: .4byte gUnknown_02038559
-_080A64F8:
- str r5, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xB
- bl sub_80A418C
-_080A6506:
- ldr r0, _080A651C @ =word_203855E
- ldrh r0, [r0]
- movs r1, 0x1
- bl BuyMenuDisplayMessage
- bl sub_80A683C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A651C: .4byte word_203855E
- thumb_func_end sub_80A648C
-
- thumb_func_start sub_80A6520
-sub_80A6520: @ 80A6520
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A6544 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A653E
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
-_080A653E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6544: .4byte gMain
- thumb_func_end sub_80A6520
-
- thumb_func_start sub_80A6548
-sub_80A6548: @ 80A6548
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A48F8
- ldr r1, _080A656C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6570 @ =sub_80A6520
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A656C: .4byte gTasks
-_080A6570: .4byte sub_80A6520
- thumb_func_end sub_80A6548
-
- thumb_func_start sub_80A6574
-sub_80A6574: @ 80A6574
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x5F
- bl PlaySE
- ldr r0, _080A65A0 @ =word_203855E
- ldrh r0, [r0]
- ldr r1, _080A65A4 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r1
- ldrb r1, [r4, 0xA]
- bl sub_80A6870
- ldr r0, _080A65A8 @ =sub_80A6548
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A65A0: .4byte word_203855E
-_080A65A4: .4byte gTasks
-_080A65A8: .4byte sub_80A6548
- thumb_func_end sub_80A6574
-
- thumb_func_start sub_80A65AC
-sub_80A65AC: @ 80A65AC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- ldr r0, _080A6600 @ =gBG1TilemapBuffer
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0x7
- movs r2, 0x6
- movs r3, 0x6
- bl sub_80A36B8
- ldr r0, _080A6604 @ =word_203855E
- ldrh r0, [r0]
- ldr r1, _080A6608 @ =gStringVar2
- bl CopyItemName
- ldr r4, _080A660C @ =gStringVar4
- ldr r1, _080A6610 @ =gOtherText_SoldItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6614 @ =sub_80A6574
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- adds r0, r5, 0
- bl sub_80A3D5C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6600: .4byte gBG1TilemapBuffer
-_080A6604: .4byte word_203855E
-_080A6608: .4byte gStringVar2
-_080A660C: .4byte gStringVar4
-_080A6610: .4byte gOtherText_SoldItem
-_080A6614: .4byte sub_80A6574
- thumb_func_end sub_80A65AC
-
- thumb_func_start sub_80A6618
-sub_80A6618: @ 80A6618
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- ldr r0, _080A664C @ =gBG1TilemapBuffer
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0x7
- movs r2, 0x6
- movs r3, 0x6
- bl sub_80A36B8
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A664C: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A6618
-
- thumb_func_start sub_80A6650
-sub_80A6650: @ 80A6650
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A5D78
- ldr r1, _080A666C @ =gUnknown_083C16FC
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A666C: .4byte gUnknown_083C16FC
- thumb_func_end sub_80A6650
-
- thumb_func_start Task_BuyHowManyDialogueHandleInput
-Task_BuyHowManyDialogueHandleInput: @ 80A6670
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- adds r0, r5, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A66B4
- movs r0, 0x6
- movs r1, 0xB
- movs r2, 0xC
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- ldr r0, _080A66AC @ =word_203855E
- ldrh r0, [r0]
- ldr r2, _080A66B0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- ldrh r1, [r1, 0xA]
- bl BuyMenuDisplayMessage
- b _080A6758
- .align 2, 0
-_080A66AC: .4byte word_203855E
-_080A66B0: .4byte gTasks
-_080A66B4:
- ldr r0, _080A6724 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6744
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080A6728 @ =gBG1TilemapBuffer
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0xD
- bl sub_80A36B8
- ldr r4, _080A672C @ =gStringVar1
- ldr r0, _080A6730 @ =word_203855E
- ldrh r0, [r0]
- bl ItemId_GetPrice
- lsls r0, 16
- lsrs r0, 17
- ldr r2, _080A6734 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- muls r1, r0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, _080A6738 @ =gStringVar4
- ldr r1, _080A673C @ =gOtherText_CanPay
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6740 @ =sub_80A6650
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A6758
- .align 2, 0
-_080A6724: .4byte gMain
-_080A6728: .4byte gBG1TilemapBuffer
-_080A672C: .4byte gStringVar1
-_080A6730: .4byte word_203855E
-_080A6734: .4byte gTasks
-_080A6738: .4byte gStringVar4
-_080A673C: .4byte gOtherText_CanPay
-_080A6740: .4byte sub_80A6650
-_080A6744:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6758
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
-_080A6758:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_BuyHowManyDialogueHandleInput
-
- thumb_func_start sub_80A6760
-sub_80A6760: @ 80A6760
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A6794 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6794: .4byte gTasks
- thumb_func_end sub_80A6760
-
- thumb_func_start BuyMenuPrintItemQuantityAndPrice
-BuyMenuPrintItemQuantityAndPrice: @ 80A6798
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A67E8 @ =gBG1TilemapBuffer
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0
- bl RemoveMoneyLabelObject
- movs r0, 0
- movs r1, 0x4
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A67EC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A67F0 @ =sub_80A6760
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A67E8: .4byte gBG1TilemapBuffer
-_080A67EC: .4byte gTasks
-_080A67F0: .4byte sub_80A6760
- thumb_func_end BuyMenuPrintItemQuantityAndPrice
-
- thumb_func_start BuyMenuDisplayMessage
-BuyMenuDisplayMessage: @ 80A67F4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- bl ItemId_GetPrice
- lsls r0, 16
- lsrs r0, 17
- muls r0, r5
- movs r1, 0x6
- movs r2, 0x6
- movs r3, 0xB
- bl sub_80B7A94
- ldr r6, _080A6838 @ =gStringVar1
- adds r0, r4, 0
- bl ItemId_GetPrice
- lsls r0, 16
- lsrs r0, 17
- adds r1, r0, 0
- muls r1, r5
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6838: .4byte gStringVar1
- thumb_func_end BuyMenuDisplayMessage
-
- thumb_func_start sub_80A683C
-sub_80A683C: @ 80A683C
- push {lr}
- sub sp, 0x4
- ldr r0, _080A6868 @ =gSaveBlock1
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80B7C14
- ldr r0, _080A686C @ =gBG1TilemapBuffer
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xC
- bl sub_80A4008
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6868: .4byte gSaveBlock1
-_080A686C: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A683C
-
- thumb_func_start sub_80A6870
-sub_80A6870: @ 80A6870
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080A68A0 @ =gSaveBlock1 + 0x490
- bl ItemId_GetPrice
- lsls r0, 16
- lsrs r0, 17
- adds r1, r0, 0
- muls r1, r4
- adds r0, r5, 0
- bl sub_80B79B8
- ldr r0, [r5]
- movs r1, 0
- movs r2, 0
- bl sub_80B7BEC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A68A0: .4byte gSaveBlock1 + 0x490
- thumb_func_end sub_80A6870
-
- thumb_func_start sub_80A68A4
-sub_80A68A4: @ 80A68A4
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A68BE
- ldr r0, _080A68C4 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A68C8 @ =gUnknown_02038563
- strb r0, [r1]
-_080A68BE:
- pop {r0}
- bx r0
- .align 2, 0
-_080A68C4: .4byte sub_80A50C8
-_080A68C8: .4byte gUnknown_02038563
- thumb_func_end sub_80A68A4
-
- thumb_func_start sub_80A68CC
-sub_80A68CC: @ 80A68CC
- push {lr}
- ldr r1, _080A68E4 @ =gUnknown_02038559
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _080A68E8 @ =gUnknown_03000701
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _080A68EC @ =sub_80A68A4
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A68E4: .4byte gUnknown_02038559
-_080A68E8: .4byte gUnknown_03000701
-_080A68EC: .4byte sub_80A68A4
- thumb_func_end sub_80A68CC
-
- thumb_func_start sub_80A68F0
-sub_80A68F0: @ 80A68F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6910 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6914 @ =sub_80546B8
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6910: .4byte gTasks
-_080A6914: .4byte sub_80546B8
- thumb_func_end sub_80A68F0
-
- thumb_func_start sub_80A6918
-sub_80A6918: @ 80A6918
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6938 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A693C @ =sub_80546B8
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AAC
- pop {r0}
- bx r0
- .align 2, 0
-_080A6938: .4byte gTasks
-_080A693C: .4byte sub_80546B8
- thumb_func_end sub_80A6918
-
- thumb_func_start sub_80A6940
-sub_80A6940: @ 80A6940
- push {lr}
-_080A6942:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6968
- ldr r0, _080A6960 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6964 @ =gUnknown_02038563
- strb r0, [r1]
- bl sub_80A699C
- b _080A6974
- .align 2, 0
-_080A6960: .4byte sub_80A50C8
-_080A6964: .4byte gUnknown_02038563
-_080A6968:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6942
-_080A6974:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6940
-
- thumb_func_start sub_80A6978
-sub_80A6978: @ 80A6978
- push {lr}
- ldr r1, _080A6990 @ =gUnknown_02038559
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _080A6994 @ =gUnknown_03000701
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, _080A6998 @ =sub_80A6940
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6990: .4byte gUnknown_02038559
-_080A6994: .4byte gUnknown_03000701
-_080A6998: .4byte sub_80A6940
- thumb_func_end sub_80A6978
-
- thumb_func_start sub_80A699C
-sub_80A699C: @ 80A699C
- ldr r1, _080A69AC @ =gUnknown_03000704
- ldr r0, _080A69B0 @ =gUnknown_083C16B8
- str r0, [r1]
- ldr r1, _080A69B4 @ =gUnknown_02038564
- movs r0, 0x4
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A69AC: .4byte gUnknown_03000704
-_080A69B0: .4byte gUnknown_083C16B8
-_080A69B4: .4byte gUnknown_02038564
- thumb_func_end sub_80A699C
-
- thumb_func_start sub_80A69B8
-sub_80A69B8: @ 80A69B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A69D8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A69DC @ =sub_804E990
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A69D8: .4byte gTasks
-_080A69DC: .4byte sub_804E990
- thumb_func_end sub_80A69B8
-
- thumb_func_start sub_80A69E0
-sub_80A69E0: @ 80A69E0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6A00 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6A04 @ =sub_804E990
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AAC
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A00: .4byte gTasks
-_080A6A04: .4byte sub_804E990
- thumb_func_end sub_80A69E0
-
- thumb_func_start sub_80A6A08
-sub_80A6A08: @ 80A6A08
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6A22
- ldr r0, _080A6A28 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6A2C @ =gUnknown_02038563
- strb r0, [r1]
-_080A6A22:
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A28: .4byte sub_80A50C8
-_080A6A2C: .4byte gUnknown_02038563
- thumb_func_end sub_80A6A08
-
- thumb_func_start sub_80A6A30
-sub_80A6A30: @ 80A6A30
- push {lr}
- ldr r0, _080A6A44 @ =gUnknown_03000701
- movs r1, 0x6
- strb r1, [r0]
- ldr r0, _080A6A48 @ =sub_80A6A08
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A44: .4byte gUnknown_03000701
-_080A6A48: .4byte sub_80A6A08
- thumb_func_end sub_80A6A30
-
- thumb_func_start sub_80A6A4C
-sub_80A6A4C: @ 80A6A4C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6A74 @ =gUnknown_0300485C
- ldr r1, _080A6A78 @ =sub_813A0F8
- str r1, [r2]
- ldr r2, _080A6A7C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6A80 @ =c2_exit_to_overworld_2_switch
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A74: .4byte gUnknown_0300485C
-_080A6A78: .4byte sub_813A0F8
-_080A6A7C: .4byte gTasks
-_080A6A80: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80A6A4C
-
- thumb_func_start sub_80A6A84
-sub_80A6A84: @ 80A6A84
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r6, _080A6AE8 @ =gTasks + 0x8
- adds r0, r4, r6
- mov r8, r0
- ldr r0, _080A6AEC @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r0, _080A6AF0 @ =word_203855E
- ldrh r0, [r0]
- ldr r1, _080A6AF4 @ =gStringVar1
- bl CopyItemName
- ldr r0, _080A6AF8 @ =gStringVar2
- mov r2, r8
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xB
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0x7
- bl sub_80A7528
- adds r0, r5, 0
- bl sub_80A3D5C
- subs r6, 0x8
- adds r4, r6
- ldr r0, _080A6AFC @ =sub_80A5E1C
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6AE8: .4byte gTasks + 0x8
-_080A6AEC: .4byte gBG1TilemapBuffer
-_080A6AF0: .4byte word_203855E
-_080A6AF4: .4byte gStringVar1
-_080A6AF8: .4byte gStringVar2
-_080A6AFC: .4byte sub_80A5E1C
- thumb_func_end sub_80A6A84
-
- thumb_func_start sub_80A6B00
-sub_80A6B00: @ 80A6B00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A6B54 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A6B1A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6B4C
-_080A6B1A:
- ldr r1, _080A6B58 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r1, _080A6B5C @ =gUnknown_03005D10
- ldr r0, _080A6B60 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A5D38
-_080A6B4C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6B54: .4byte gMain
-_080A6B58: .4byte gTasks
-_080A6B5C: .4byte gUnknown_03005D10
-_080A6B60: .4byte gUnknown_02038559
- thumb_func_end sub_80A6B00
-
- thumb_func_start sub_80A6B64
-sub_80A6B64: @ 80A6B64
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r5, r0, 3
- ldr r6, _080A6B9C @ =gTasks + 0x8
- adds r7, r5, r6
- ldr r0, _080A6BA0 @ =word_203855E
- mov r8, r0
- ldrh r0, [r0]
- bl ItemId_GetImportance
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080A6BA8
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, _080A6BA4 @ =sub_80A6B00
- str r1, [r0]
- movs r0, 0x9
- bl sub_80A7528
- b _080A6BD2
- .align 2, 0
-_080A6B9C: .4byte gTasks + 0x8
-_080A6BA0: .4byte word_203855E
-_080A6BA4: .4byte sub_80A6B00
-_080A6BA8:
- mov r1, r8
- ldrh r0, [r1]
- ldrh r1, [r7, 0x2]
- bl AddPCItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6BC2
- adds r0, r4, 0
- bl sub_80A6A84
- b _080A6BD2
-_080A6BC2:
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, _080A6BDC @ =sub_80A6B00
- str r1, [r0]
- movs r0, 0x8
- bl sub_80A7528
-_080A6BD2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6BDC: .4byte sub_80A6B00
- thumb_func_end sub_80A6B64
-
- thumb_func_start sub_80A6BE0
-sub_80A6BE0: @ 80A6BE0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A6C58
- ldr r0, _080A6C18 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A6C20
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A6C1C @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- adds r0, r4, 0
- bl sub_80A6B64
- b _080A6C58
- .align 2, 0
-_080A6C18: .4byte gMain
-_080A6C1C: .4byte gBG1TilemapBuffer
-_080A6C20:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6C58
- ldr r1, _080A6C60 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r1, _080A6C64 @ =gUnknown_03005D10
- ldr r0, _080A6C68 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_80A5D38
-_080A6C58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6C60: .4byte gTasks
-_080A6C64: .4byte gUnknown_03005D10
-_080A6C68: .4byte gUnknown_02038559
- thumb_func_end sub_80A6BE0
-
- thumb_func_start sub_80A6C6C
-sub_80A6C6C: @ 80A6C6C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A6CE4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldr r2, _080A6CE8 @ =gUnknown_03005D10
- ldr r6, _080A6CEC @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r5, 0x1C]
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- movs r0, 0x5
- bl PlaySE
- bl sub_80A7590
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x4
- beq _080A6D0A
- ldr r0, _080A6CF0 @ =sub_80A6BE0
- str r0, [r5]
- movs r0, 0x6
- bl sub_80A7528
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x3
- bne _080A6CF4
- movs r0, 0x3
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x6
- movs r2, 0x9
- movs r3, 0x7
- bl sub_80A4DD8
- b _080A6D14
- .align 2, 0
-_080A6CE4: .4byte gTasks
-_080A6CE8: .4byte gUnknown_03005D10
-_080A6CEC: .4byte gUnknown_02038559
-_080A6CF0: .4byte sub_80A6BE0
-_080A6CF4:
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x9
- movs r3, 0x6
- bl sub_80A4DD8
- b _080A6D14
-_080A6D0A:
- movs r0, 0x1
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- bl sub_80A6B64
-_080A6D14:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6C6C
-
- thumb_func_start sub_80A6D1C
-sub_80A6D1C: @ 80A6D1C
- push {r4,r5,lr}
- bl HideMapNamePopUpWindow
- ldr r0, _080A6D70 @ =gSaveBlock1
- ldr r1, _080A6D74 @ =0x00000496
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0
- beq _080A6D84
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _080A6D80
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_80594C0
- bl sub_80597F4
- ldr r1, _080A6D78 @ =word_203855E
- ldrh r0, [r4]
- strh r0, [r1]
- ldrh r0, [r4]
- bl ItemId_GetFieldFunc
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6D7C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0xC]
- b _080A6D8A
- .align 2, 0
-_080A6D70: .4byte gSaveBlock1
-_080A6D74: .4byte 0x00000496
-_080A6D78: .4byte word_203855E
-_080A6D7C: .4byte gTasks
-_080A6D80:
- movs r0, 0
- strh r0, [r4]
-_080A6D84:
- ldr r0, _080A6D94 @ =Event_NoRegisteredItem
- bl ScriptContext1_SetupScript
-_080A6D8A:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A6D94: .4byte Event_NoRegisteredItem
- thumb_func_end sub_80A6D1C
-
- thumb_func_start sub_80A6D98
-sub_80A6D98: @ 80A6D98
- push {lr}
-_080A6D9A:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6DBC
- ldr r0, _080A6DB4 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6DB8 @ =gUnknown_02038563
- strb r0, [r1]
- b _080A6DC8
- .align 2, 0
-_080A6DB4: .4byte sub_80A50C8
-_080A6DB8: .4byte gUnknown_02038563
-_080A6DBC:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6D9A
-_080A6DC8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D98
-
- thumb_func_start sub_80A6DCC
-sub_80A6DCC: @ 80A6DCC
- push {lr}
- ldr r1, _080A6DE4 @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080A6DE8 @ =gUnknown_03000701
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080A6DEC @ =sub_80A6D98
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6DE4: .4byte gUnknown_03000700
-_080A6DE8: .4byte gUnknown_03000701
-_080A6DEC: .4byte sub_80A6D98
- thumb_func_end sub_80A6DCC
-
- thumb_func_start sub_80A6DF0
-sub_80A6DF0: @ 80A6DF0
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r4, _080A6E4C @ =gUnknown_02038564
- ldrb r0, [r4]
- subs r0, 0x1
- lsls r0, 25
- lsrs r6, r0, 24
- movs r1, 0x9
- subs r1, r6
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- movs r2, 0xA
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x8
- movs r3, 0x5
- bl sub_80A4008
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A6E58
- ldr r1, _080A6E50 @ =gUnknown_083C1640
- ldr r0, _080A6E54 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0xA
- bl MenuPrint
- b _080A6E80
- .align 2, 0
-_080A6E4C: .4byte gUnknown_02038564
-_080A6E50: .4byte gUnknown_083C1640
-_080A6E54: .4byte gUnknown_03000704
-_080A6E58:
- ldr r5, _080A6EAC @ =gUnknown_083C1640
- ldr r4, _080A6EB0 @ =gUnknown_03000704
- ldr r0, [r4]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r5
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0x8
- bl MenuPrint
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- lsls r0, 3
- adds r0, r5
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0xA
- bl MenuPrint
-_080A6E80:
- movs r2, 0xA
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080A6EB4 @ =gUnknown_02038564
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x5
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x8
- bl InitMenu
- movs r0, 0x2
- bl sub_80A7528
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6EAC: .4byte gUnknown_083C1640
-_080A6EB0: .4byte gUnknown_03000704
-_080A6EB4: .4byte gUnknown_02038564
- thumb_func_end sub_80A6DF0
-
- thumb_func_start sub_80A6EB8
-sub_80A6EB8: @ 80A6EB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r2, _080A6EE0 @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A6EE8
- ldr r4, _080A6EE4 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A6FC0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A6F02
- .align 2, 0
-_080A6EE0: .4byte gMain
-_080A6EE4: .4byte gUnknown_03000700
-_080A6EE8:
- cmp r1, 0x80
- bne _080A6F14
- ldr r4, _080A6F0C @ =gUnknown_03000700
- ldrb r0, [r4]
- adds r0, 0x1
- ldr r1, _080A6F10 @ =gUnknown_02038564
- ldrb r1, [r1]
- cmp r0, r1
- bge _080A6FC0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080A6F02:
- bl MoveMenuCursor
- strb r0, [r4]
- b _080A6FC0
- .align 2, 0
-_080A6F0C: .4byte gUnknown_03000700
-_080A6F10: .4byte gUnknown_02038564
-_080A6F14:
- ldrh r1, [r2, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A6F84
- ldr r1, _080A6F68 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r1, _080A6F6C @ =gUnknown_03005D10
- ldr r0, _080A6F70 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A6F74 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r1, _080A6F78 @ =gUnknown_083C1640
- ldr r0, _080A6F7C @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A6F80 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A6FC0
- .align 2, 0
-_080A6F68: .4byte gTasks
-_080A6F6C: .4byte gUnknown_03005D10
-_080A6F70: .4byte gUnknown_02038559
-_080A6F74: .4byte gBG1TilemapBuffer
-_080A6F78: .4byte gUnknown_083C1640
-_080A6F7C: .4byte gUnknown_03000700
-_080A6F80: .4byte gUnknown_03000704
-_080A6F84:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6FC0
- ldr r1, _080A6FC8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r1, _080A6FCC @ =gUnknown_03005D10
- ldr r0, _080A6FD0 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A6FD4 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r0, _080A6FD8 @ =gUnknown_083C1640
- ldr r1, [r0, 0x2C]
- adds r0, r5, 0
- bl _call_via_r1
-_080A6FC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6FC8: .4byte gTasks
-_080A6FCC: .4byte gUnknown_03005D10
-_080A6FD0: .4byte gUnknown_02038559
-_080A6FD4: .4byte gBG1TilemapBuffer
-_080A6FD8: .4byte gUnknown_083C1640
- thumb_func_end sub_80A6EB8
-
- thumb_func_start sub_80A6FDC
-sub_80A6FDC: @ 80A6FDC
- push {lr}
- ldr r0, _080A6FF8 @ =word_203855E
- ldrh r0, [r0]
- bl ItemId_GetBattleUsage
- lsls r0, 24
- cmp r0, 0
- beq _080A7008
- ldr r1, _080A6FFC @ =gUnknown_03000704
- ldr r0, _080A7000 @ =gUnknown_083C1708
- str r0, [r1]
- ldr r1, _080A7004 @ =gUnknown_02038564
- movs r0, 0x2
- b _080A7012
- .align 2, 0
-_080A6FF8: .4byte word_203855E
-_080A6FFC: .4byte gUnknown_03000704
-_080A7000: .4byte gUnknown_083C1708
-_080A7004: .4byte gUnknown_02038564
-_080A7008:
- ldr r1, _080A7018 @ =gUnknown_03000704
- ldr r0, _080A701C @ =gUnknown_083C170A
- str r0, [r1]
- ldr r1, _080A7020 @ =gUnknown_02038564
- movs r0, 0x1
-_080A7012:
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A7018: .4byte gUnknown_03000704
-_080A701C: .4byte gUnknown_083C170A
-_080A7020: .4byte gUnknown_02038564
- thumb_func_end sub_80A6FDC
-
- thumb_func_start sub_80A7024
-sub_80A7024: @ 80A7024
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080A707C @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- bl sub_80A6FDC
- ldr r0, _080A7080 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldr r3, _080A7084 @ =gUnknown_03005D10
- ldr r2, _080A7088 @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r4, 0x1C]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r0, _080A708C @ =gBG1TilemapBuffer
- bl sub_80A6DF0
- ldr r0, _080A7090 @ =sub_80A6EB8
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A707C: .4byte gUnknown_03000700
-_080A7080: .4byte gTasks
-_080A7084: .4byte gUnknown_03005D10
-_080A7088: .4byte gUnknown_02038559
-_080A708C: .4byte gBG1TilemapBuffer
-_080A7090: .4byte sub_80A6EB8
- thumb_func_end sub_80A7024
-
- thumb_func_start sub_80A7094
-sub_80A7094: @ 80A7094
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A70CC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080A70D0 @ =sub_802E424
- lsrs r0, r2, 16
- movs r3, 0
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, _080A70D4 @ =sub_80A5B00
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A70CC: .4byte gTasks
-_080A70D0: .4byte sub_802E424
-_080A70D4: .4byte sub_80A5B00
- thumb_func_end sub_80A7094
-
- thumb_func_start sub_80A70D8
-sub_80A70D8: @ 80A70D8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A7094
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A70D8
-
- thumb_func_start ItemMenu_UseInBattle
-ItemMenu_UseInBattle: @ 80A70F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A7120 @ =word_203855E
- ldrh r0, [r4]
- bl ItemId_GetBattleFunc
- cmp r0, 0
- beq _080A711A
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- bl ItemId_GetBattleFunc
- adds r1, r0, 0
- adds r0, r5, 0
- bl _call_via_r1
-_080A711A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7120: .4byte word_203855E
- thumb_func_end ItemMenu_UseInBattle
-
- thumb_func_start sub_80A7124
-sub_80A7124: @ 80A7124
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7124
-
- thumb_func_start sub_80A7150
-sub_80A7150: @ 80A7150
- push {r4,r5,lr}
- ldr r4, _080A7158 @ =gUnknown_02038563
- ldr r5, _080A715C @ =gTasks
- b _080A716C
- .align 2, 0
-_080A7158: .4byte gUnknown_02038563
-_080A715C: .4byte gTasks
-_080A7160:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A7190
-_080A716C:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A7160
- ldr r0, _080A7198 @ =sub_80A7230
- movs r1, 0
- bl CreateTask
- strb r0, [r4]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0
- strh r1, [r0, 0x26]
-_080A7190:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7198: .4byte sub_80A7230
- thumb_func_end sub_80A7150
-
- thumb_func_start PrepareBagForWallyTutorial
-PrepareBagForWallyTutorial: @ 80A719C
- push {r4,r5,lr}
- ldr r0, _080A7214 @ =gUnknown_03000700
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A7218 @ =gUnknown_02038559
- strb r1, [r0]
- movs r1, 0
- ldr r4, _080A721C @ =0x0201e000
- ldr r5, _080A7220 @ =gSaveBlock1 + 0x560
- ldr r3, _080A7224 @ =gUnknown_03005D10
- movs r2, 0
-_080A71B2:
- lsls r0, r1, 2
- adds r0, r3
- strb r2, [r0]
- strb r2, [r0, 0x1]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080A71B2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
- movs r1, 0x80
- lsls r1, 5
- adds r0, r4, r1
- adds r4, r5, 0
- adds r4, 0xA0
- adds r1, r4, 0
- movs r2, 0x40
- bl memcpy
- adds r0, r5, 0
- movs r1, 0x14
- bl ClearItemSlots
- adds r0, r4, 0
- movs r1, 0x10
- bl ClearItemSlots
- movs r0, 0xD
- movs r1, 0x1
- bl AddBagItem
- movs r0, 0x4
- movs r1, 0x1
- bl AddBagItem
- ldr r1, _080A7228 @ =gUnknown_03000701
- movs r0, 0x7
- strb r0, [r1]
- ldr r0, _080A722C @ =sub_80A7150
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7214: .4byte gUnknown_03000700
-_080A7218: .4byte gUnknown_02038559
-_080A721C: .4byte 0x0201e000
-_080A7220: .4byte gSaveBlock1 + 0x560
-_080A7224: .4byte gUnknown_03005D10
-_080A7228: .4byte gUnknown_03000701
-_080A722C: .4byte sub_80A7150
- thumb_func_end PrepareBagForWallyTutorial
-
- thumb_func_start sub_80A7230
-sub_80A7230: @ 80A7230
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r0, _080A725C @ =gTasks + 0x8
- mov r8, r0
- adds r7, r6, r0
- movs r0, 0x1E
- ldrsh r1, [r7, r0]
- cmp r1, 0xCC
- beq _080A727A
- cmp r1, 0xCC
- bgt _080A7260
- cmp r1, 0x66
- beq _080A726A
- b _080A7358
- .align 2, 0
-_080A725C: .4byte gTasks + 0x8
-_080A7260:
- movs r0, 0x99
- lsls r0, 1
- cmp r1, r0
- beq _080A72F4
- b _080A7358
-_080A726A:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- movs r1, 0x2
- bl sub_80A4E8C
- b _080A7358
-_080A727A:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- bl sub_80F98A4
- movs r0, 0x3
- bl sub_80F98A4
- ldr r1, _080A72D8 @ =word_203855E
- movs r0, 0x4
- strh r0, [r1]
- ldr r1, _080A72DC @ =gUnknown_03000704
- ldr r0, _080A72E0 @ =gUnknown_083C1708
- str r0, [r1]
- ldr r1, _080A72E4 @ =gUnknown_02038564
- movs r0, 0x2
- strb r0, [r1]
- mov r0, r8
- adds r4, r0, r6
- ldr r3, _080A72E8 @ =gUnknown_03005D10
- ldr r2, _080A72EC @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r4, 0x14]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r0, _080A72F0 @ =gBG1TilemapBuffer
- bl sub_80A6DF0
- b _080A7358
- .align 2, 0
-_080A72D8: .4byte word_203855E
-_080A72DC: .4byte gUnknown_03000704
-_080A72E0: .4byte gUnknown_083C1708
-_080A72E4: .4byte gUnknown_02038564
-_080A72E8: .4byte gUnknown_03005D10
-_080A72EC: .4byte gUnknown_02038559
-_080A72F0: .4byte gBG1TilemapBuffer
-_080A72F4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A7344 @ =gBG1TilemapBuffer
- bl sub_80A4DA4
- ldr r4, _080A7348 @ =gSaveBlock1 + 0x560
- ldr r5, _080A734C @ =0x0201e000
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
- adds r4, 0xA0
- movs r0, 0x80
- lsls r0, 5
- adds r5, r0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x40
- bl memcpy
- ldr r1, _080A7350 @ =sub_802E424
- lsrs r0, r1, 16
- strh r0, [r7, 0x10]
- strh r1, [r7, 0x12]
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _080A7354 @ =sub_80A5B00
- str r1, [r0]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080A735E
- .align 2, 0
-_080A7344: .4byte gBG1TilemapBuffer
-_080A7348: .4byte gSaveBlock1 + 0x560
-_080A734C: .4byte 0x0201e000
-_080A7350: .4byte sub_802E424
-_080A7354: .4byte sub_80A5B00
-_080A7358:
- ldrh r0, [r7, 0x1E]
- adds r0, 0x1
- strh r0, [r7, 0x1E]
-_080A735E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7230
-
- thumb_func_start ItemListMenu_InitMenu
-ItemListMenu_InitMenu: @ 80A736C
- push {lr}
- sub sp, 0x8
- ldr r1, _080A73B0 @ =gUnknown_03005D10
- ldr r0, _080A73B4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x3]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0xE
- movs r2, 0x2
- bl InitMenu
- ldr r1, _080A73B8 @ =0x0000ffff
- ldr r3, _080A73BC @ =0x00002d9f
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x10
- movs r2, 0xC
- bl CreateBlendedOutlineCursor
- bl sub_80A73C0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080A73B0: .4byte gUnknown_03005D10
-_080A73B4: .4byte gUnknown_02038559
-_080A73B8: .4byte 0x0000ffff
-_080A73BC: .4byte 0x00002d9f
- thumb_func_end ItemListMenu_InitMenu
-
- thumb_func_start sub_80A73C0
-sub_80A73C0: @ 80A73C0
- push {lr}
- ldr r1, _080A73E8 @ =gUnknown_03005D10
- ldr r0, _080A73EC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 28
- movs r0, 0x80
- lsls r0, 21
- adds r1, r0
- lsrs r1, 24
- movs r0, 0x70
- bl sub_814AD7C
- pop {r0}
- bx r0
- .align 2, 0
-_080A73E8: .4byte gUnknown_03005D10
-_080A73EC: .4byte gUnknown_02038559
- thumb_func_end sub_80A73C0
-
- thumb_func_start sub_80A73F0
-sub_80A73F0: @ 80A73F0
- push {lr}
- bl sub_814ADC8
- pop {r0}
- bx r0
- thumb_func_end sub_80A73F0
-
- thumb_func_start sub_80A73FC
-sub_80A73FC: @ 80A73FC
- push {lr}
- bl sub_8072DEC
- bl sub_814AD44
- pop {r0}
- bx r0
- thumb_func_end sub_80A73FC
-
- thumb_func_start sub_80A740C
-sub_80A740C: @ 80A740C
- push {lr}
- bl sub_80A75E4
- bl sub_80A7768
- bl sub_80A7420
- pop {r0}
- bx r0
- thumb_func_end sub_80A740C
-
- thumb_func_start sub_80A7420
-sub_80A7420: @ 80A7420
- push {r4,lr}
- ldr r4, _080A7438 @ =gUnknown_0203853C
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _080A743C
- cmp r0, 0x3
- beq _080A7430
- b _080A7512
-_080A7430:
- movs r0, 0x2
- strb r0, [r4]
- b _080A7512
- .align 2, 0
-_080A7438: .4byte gUnknown_0203853C
-_080A743C:
- ldrb r0, [r4, 0x2]
- cmp r0, 0x9
- bhi _080A74FC
- lsls r0, 2
- ldr r1, _080A744C @ =_080A7450
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A744C: .4byte _080A7450
- .align 2, 0
-_080A7450:
- .4byte _080A7478
- .4byte _080A74AC
- .4byte _080A74B4
- .4byte _080A74BC
- .4byte _080A74C4
- .4byte _080A74CC
- .4byte _080A74D4
- .4byte _080A74DC
- .4byte _080A74E4
- .4byte _080A74F4
-_080A7478:
- ldr r1, _080A74A0 @ =gUnknown_03005D10
- ldr r0, _080A74A4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A74A8 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldrb r1, [r4, 0x1]
- bl ItemListMenu_ChangeDescription
- b _080A74FC
- .align 2, 0
-_080A74A0: .4byte gUnknown_03005D10
-_080A74A4: .4byte gUnknown_02038559
-_080A74A8: .4byte gUnknown_03005D24
-_080A74AC:
- ldr r0, _080A74B0 @ =gOtherText_SwitchWhichItem
- b _080A74E6
- .align 2, 0
-_080A74B0: .4byte gOtherText_SwitchWhichItem
-_080A74B4:
- ldr r0, _080A74B8 @ =gOtherText_WhatWillYouDo2
- b _080A74E6
- .align 2, 0
-_080A74B8: .4byte gOtherText_WhatWillYouDo2
-_080A74BC:
- ldr r0, _080A74C0 @ =gOtherText_HowManyToToss
- b _080A74E6
- .align 2, 0
-_080A74C0: .4byte gOtherText_HowManyToToss
-_080A74C4:
- ldr r0, _080A74C8 @ =gOtherText_ThrewAwayItem
- b _080A74E6
- .align 2, 0
-_080A74C8: .4byte gOtherText_ThrewAwayItem
-_080A74CC:
- ldr r0, _080A74D0 @ =gOtherText_OkayToThrowAwayPrompt
- b _080A74E6
- .align 2, 0
-_080A74D0: .4byte gOtherText_OkayToThrowAwayPrompt
-_080A74D4:
- ldr r0, _080A74D8 @ =gOtherText_HowManyToDeposit
- b _080A74E6
- .align 2, 0
-_080A74D8: .4byte gOtherText_HowManyToDeposit
-_080A74DC:
- ldr r0, _080A74E0 @ =gOtherText_DepositedItems
- b _080A74E6
- .align 2, 0
-_080A74E0: .4byte gOtherText_DepositedItems
-_080A74E4:
- ldr r0, _080A74F0 @ =gOtherText_NoRoomForItems
-_080A74E6:
- ldrb r1, [r4, 0x1]
- bl sub_80A4A98
- b _080A74FC
- .align 2, 0
-_080A74F0: .4byte gOtherText_NoRoomForItems
-_080A74F4:
- ldr r0, _080A7518 @ =gOtherText_CantStoreSomeoneItem
- ldrb r1, [r4, 0x1]
- bl sub_80A4A98
-_080A74FC:
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080A7512
- movs r0, 0
- strb r0, [r4]
- bl sub_80A7918
-_080A7512:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7518: .4byte gOtherText_CantStoreSomeoneItem
- thumb_func_end sub_80A7420
-
- thumb_func_start sub_80A751C
-sub_80A751C: @ 80A751C
- ldr r1, _080A7524 @ =gUnknown_0203853C
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7524: .4byte gUnknown_0203853C
- thumb_func_end sub_80A751C
-
- thumb_func_start sub_80A7528
-sub_80A7528: @ 80A7528
- push {r4,lr}
- ldr r4, _080A7544 @ =gUnknown_0203853C
- movs r1, 0
- strb r1, [r4, 0x1]
- strb r0, [r4, 0x2]
- bl sub_80A78F4
- cmp r0, 0x1
- beq _080A755E
- cmp r0, 0x1
- bgt _080A7548
- cmp r0, 0
- beq _080A754E
- b _080A7566
- .align 2, 0
-_080A7544: .4byte gUnknown_0203853C
-_080A7548:
- cmp r0, 0x2
- beq _080A7562
- b _080A7566
-_080A754E:
- movs r0, 0x2
- strb r0, [r4]
-_080A7552:
- bl sub_80A7420
- ldrb r0, [r4]
- cmp r0, 0
- bne _080A7552
- b _080A7566
-_080A755E:
- movs r0, 0x3
- b _080A7564
-_080A7562:
- movs r0, 0x1
-_080A7564:
- strb r0, [r4]
-_080A7566:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7528
-
- thumb_func_start sub_80A756C
-sub_80A756C: @ 80A756C
- push {r4,lr}
- ldr r4, _080A758C @ =gUnknown_0203853C
- ldrb r0, [r4]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A7580
- bl sub_80A7918
-_080A7580:
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A758C: .4byte gUnknown_0203853C
- thumb_func_end sub_80A756C
-
- thumb_func_start sub_80A7590
-sub_80A7590: @ 80A7590
- push {lr}
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- bl sub_80A756C
- pop {r0}
- bx r0
- thumb_func_end sub_80A7590
-
- thumb_func_start sub_80A75A8
-sub_80A75A8: @ 80A75A8
- push {lr}
- ldr r1, _080A75C0 @ =gUnknown_0203853C
- ldrb r0, [r1]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A75BC
- movs r0, 0x1
- strb r0, [r1]
-_080A75BC:
- pop {r0}
- bx r0
- .align 2, 0
-_080A75C0: .4byte gUnknown_0203853C
- thumb_func_end sub_80A75A8
-
- thumb_func_start sub_80A75C4
-sub_80A75C4: @ 80A75C4
- push {lr}
- ldr r1, _080A75D8 @ =gUnknown_0203853C
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A75DC
- cmp r0, 0x1
- bne _080A75E0
- movs r0, 0x3
- strb r0, [r1]
- b _080A75E0
- .align 2, 0
-_080A75D8: .4byte gUnknown_0203853C
-_080A75DC:
- bl sub_80A7918
-_080A75E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80A75C4
-
- thumb_func_start sub_80A75E4
-sub_80A75E4: @ 80A75E4
- push {r4,r5,lr}
- ldr r4, _080A7628 @ =gUnknown_02038540
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7622
- bl sub_80A7988
- adds r5, r0, 0
- cmp r5, 0
- bne _080A7622
- ldr r0, _080A762C @ =gUnknown_02038563
- ldrb r0, [r0]
- ldrb r2, [r4, 0x1]
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_80A47E8
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x2]
- movs r1, 0x7
- cmp r0, 0
- beq _080A7616
- movs r1, 0x5
-_080A7616:
- ldrb r0, [r4, 0x1]
- cmp r1, r0
- bge _080A7622
- strb r5, [r4]
- bl sub_80A78E8
-_080A7622:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7628: .4byte gUnknown_02038540
-_080A762C: .4byte gUnknown_02038563
- thumb_func_end sub_80A75E4
-
- thumb_func_start sub_80A7630
-sub_80A7630: @ 80A7630
- ldr r1, _080A7638 @ =gUnknown_02038540
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7638: .4byte gUnknown_02038540
- thumb_func_end sub_80A7630
-
- thumb_func_start sub_80A763C
-sub_80A763C: @ 80A763C
- push {r4,lr}
- ldr r4, _080A7650 @ =gUnknown_02038540
- bl sub_80A78C4
- adds r1, r0, 0
- cmp r1, 0
- beq _080A7654
- cmp r1, 0x1
- beq _080A7668
- b _080A7670
- .align 2, 0
-_080A7650: .4byte gUnknown_02038540
-_080A7654:
- ldr r0, _080A7664 @ =gUnknown_02038563
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0x7
- bl sub_80A48E8
- b _080A7670
- .align 2, 0
-_080A7664: .4byte gUnknown_02038563
-_080A7668:
- movs r0, 0
- strb r1, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
-_080A7670:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A763C
-
- thumb_func_start sub_80A7678
-sub_80A7678: @ 80A7678
- push {r4,lr}
- ldr r4, _080A7690 @ =gUnknown_02038540
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7686
- bl sub_80A78E8
-_080A7686:
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7690: .4byte gUnknown_02038540
- thumb_func_end sub_80A7678
-
- thumb_func_start sub_80A7694
-sub_80A7694: @ 80A7694
- ldr r1, _080A769C @ =gUnknown_02038540
- movs r0, 0x1
- strb r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_080A769C: .4byte gUnknown_02038540
- thumb_func_end sub_80A7694
-
- thumb_func_start sub_80A76A0
-sub_80A76A0: @ 80A76A0
- push {lr}
- movs r0, 0xE
- movs r1, 0x2
- movs r2, 0x1D
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- bl sub_80A7678
- pop {r0}
- bx r0
- thumb_func_end sub_80A76A0
-
- thumb_func_start sub_80A76B8
-sub_80A76B8: @ 80A76B8
- push {lr}
- ldr r0, _080A76CC @ =gUnknown_02038540
- movs r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A76C6
- movs r1, 0x1
-_080A76C6:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A76CC: .4byte gUnknown_02038540
- thumb_func_end sub_80A76B8
-
- thumb_func_start sub_80A76D0
-sub_80A76D0: @ 80A76D0
- push {lr}
- ldr r0, _080A76E4 @ =gUnknown_02038540
- movs r1, 0
- ldrb r0, [r0, 0x1]
- cmp r0, 0x5
- bls _080A76DE
- movs r1, 0x1
-_080A76DE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A76E4: .4byte gUnknown_02038540
- thumb_func_end sub_80A76D0
-
- thumb_func_start sub_80A76E8
-sub_80A76E8: @ 80A76E8
- push {r4,lr}
- ldr r4, _080A7708 @ =gUnknown_02038544
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7702
- ldrb r0, [r4, 0x1]
- ldr r1, [r4, 0x4]
- ldr r2, [r4, 0x8]
- ldrh r3, [r4, 0x2]
- bl DisplayItemMessageOnField
- movs r0, 0
- strb r0, [r4]
-_080A7702:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7708: .4byte gUnknown_02038544
- thumb_func_end sub_80A76E8
-
- thumb_func_start sub_80A770C
-sub_80A770C: @ 80A770C
- ldr r1, _080A7714 @ =gUnknown_02038544
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7714: .4byte gUnknown_02038544
- thumb_func_end sub_80A770C
-
- thumb_func_start DisplayCannotUseItemMessage
-DisplayCannotUseItemMessage: @ 80A7718
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- adds r6, r3, 0
- ldr r4, _080A7738 @ =gUnknown_02038544
- bl sub_80A7924
- cmp r0, 0
- beq _080A773C
- cmp r0, 0x2
- beq _080A774E
- b _080A775C
- .align 2, 0
-_080A7738: .4byte gUnknown_02038544
-_080A773C:
- lsls r0, r5, 24
- lsrs r0, 24
- lsls r3, r6, 16
- lsrs r3, 16
- adds r1, r7, 0
- mov r2, r8
- bl DisplayItemMessageOnField
- b _080A775C
-_080A774E:
- movs r0, 0x1
- strb r0, [r4]
- strb r5, [r4, 0x1]
- str r7, [r4, 0x4]
- mov r0, r8
- str r0, [r4, 0x8]
- strh r6, [r4, 0x2]
-_080A775C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DisplayCannotUseItemMessage
-
- thumb_func_start sub_80A7768
-sub_80A7768: @ 80A7768
- push {r4,lr}
- ldr r4, _080A77A8 @ =gUnknown_02038550
- ldrb r0, [r4]
- cmp r0, 0x2
- bne _080A7814
- ldrb r1, [r4, 0x1]
- cmp r1, 0
- beq _080A780E
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- beq _080A77B4
- ldr r2, _080A77AC @ =gUnknown_083C1640
- ldr r0, _080A77B0 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r1, r0
- subs r0, 0x1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r2
- ldr r0, [r0]
- subs r1, 0x1
- lsls r1, 1
- adds r1, 0x1
- ldrb r2, [r4, 0x3]
- adds r2, r1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x7
- bl MenuPrint
- b _080A77FC
- .align 2, 0
-_080A77A8: .4byte gUnknown_02038550
-_080A77AC: .4byte gUnknown_083C1640
-_080A77B0: .4byte gUnknown_03000704
-_080A77B4:
- cmp r1, 0x1
- bne _080A77C8
- ldr r0, _080A77C4 @ =word_203855E
- ldrh r0, [r0]
- bl sub_80A4B90
- adds r3, r0, 0
- b _080A77DC
- .align 2, 0
-_080A77C4: .4byte word_203855E
-_080A77C8:
- ldr r2, _080A781C @ =gUnknown_083C1640
- ldrb r0, [r4, 0x1]
- ldr r1, _080A7820 @ =gUnknown_03000704
- ldr r1, [r1]
- adds r0, r1
- subs r0, 0x1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r2
- ldr r3, [r0]
-_080A77DC:
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- asrs r0, r2, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- ands r2, r0
- lsls r2, 1
- adds r2, 0x8
- adds r0, r3, 0
- bl MenuPrint
-_080A77FC:
- ldr r1, _080A7824 @ =gUnknown_02038564
- ldrb r0, [r4, 0x1]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080A780E
- movs r0, 0
- strb r0, [r4]
- bl sub_80A7970
-_080A780E:
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
-_080A7814:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A781C: .4byte gUnknown_083C1640
-_080A7820: .4byte gUnknown_03000704
-_080A7824: .4byte gUnknown_02038564
- thumb_func_end sub_80A7768
-
- thumb_func_start sub_80A7828
-sub_80A7828: @ 80A7828
- ldr r1, _080A7830 @ =gUnknown_02038550
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7830: .4byte gUnknown_02038550
- thumb_func_end sub_80A7828
-
- thumb_func_start sub_80A7834
-sub_80A7834: @ 80A7834
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _080A784C @ =gUnknown_02038550
- bl sub_80A7958
- cmp r0, 0x1
- beq _080A7850
- cmp r0, 0x2
- beq _080A7856
- b _080A7862
- .align 2, 0
-_080A784C: .4byte gUnknown_02038550
-_080A7850:
- movs r1, 0
- movs r0, 0x2
- b _080A785A
-_080A7856:
- movs r1, 0
- movs r0, 0x1
-_080A785A:
- strb r0, [r4]
- strb r1, [r4, 0x1]
- strb r5, [r4, 0x2]
- strb r6, [r4, 0x3]
-_080A7862:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7834
-
- thumb_func_start sub_80A7868
-sub_80A7868: @ 80A7868
- push {lr}
- ldr r1, _080A787C @ =gUnknown_02038550
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _080A7876
- movs r0, 0x1
- strb r0, [r1]
-_080A7876:
- pop {r0}
- bx r0
- .align 2, 0
-_080A787C: .4byte gUnknown_02038550
- thumb_func_end sub_80A7868
-
- thumb_func_start sub_80A7880
-sub_80A7880: @ 80A7880
- push {lr}
- ldr r1, _080A7894 @ =gUnknown_02038550
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A7898
- cmp r0, 0x1
- bne _080A789C
- movs r0, 0x2
- strb r0, [r1]
- b _080A789C
- .align 2, 0
-_080A7894: .4byte gUnknown_02038550
-_080A7898:
- bl sub_80A7970
-_080A789C:
- pop {r0}
- bx r0
- thumb_func_end sub_80A7880
-
- thumb_func_start sub_80A78A0
-sub_80A78A0: @ 80A78A0
- push {lr}
- ldr r0, _080A78B4 @ =gUnknown_02038550
- movs r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A78AE
- movs r1, 0x1
-_080A78AE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A78B4: .4byte gUnknown_02038550
- thumb_func_end sub_80A78A0
-
- thumb_func_start sub_80A78B8
-sub_80A78B8: @ 80A78B8
- ldr r1, _080A78C0 @ =gUnknown_02038554
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A78C0: .4byte gUnknown_02038554
- thumb_func_end sub_80A78B8
-
- thumb_func_start sub_80A78C4
-sub_80A78C4: @ 80A78C4
- push {lr}
- ldr r0, _080A78DC @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A78E0
- bl sub_80A7868
- bl sub_80A75A8
- movs r0, 0x1
- b _080A78E2
- .align 2, 0
-_080A78DC: .4byte gLinkOpen
-_080A78E0:
- movs r0, 0
-_080A78E2:
- pop {r1}
- bx r1
- thumb_func_end sub_80A78C4
-
- thumb_func_start sub_80A78E8
-sub_80A78E8: @ 80A78E8
- push {lr}
- bl sub_80A7880
- pop {r0}
- bx r0
- thumb_func_end sub_80A78E8
-
- thumb_func_start sub_80A78F4
-sub_80A78F4: @ 80A78F4
- push {lr}
- ldr r0, _080A790C @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A7910
- bl sub_80A76B8
- movs r1, 0x2
- cmp r0, 0
- beq _080A7912
- movs r1, 0x1
- b _080A7912
- .align 2, 0
-_080A790C: .4byte gLinkOpen
-_080A7910:
- movs r1, 0
-_080A7912:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A78F4
-
- thumb_func_start sub_80A7918
-sub_80A7918: @ 80A7918
- push {lr}
- bl sub_80A76E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A7918
-
- thumb_func_start sub_80A7924
-sub_80A7924: @ 80A7924
- push {lr}
- ldr r0, _080A7948 @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A7942
- bl sub_80A76B8
- cmp r0, 0
- bne _080A7942
- bl sub_80A76D0
- cmp r0, 0
- beq _080A794C
- bl sub_80A7678
-_080A7942:
- movs r0, 0
- b _080A7952
- .align 2, 0
-_080A7948: .4byte gLinkOpen
-_080A794C:
- bl sub_80A7694
- movs r0, 0x2
-_080A7952:
- pop {r1}
- bx r1
- thumb_func_end sub_80A7924
-
- thumb_func_start sub_80A7958
-sub_80A7958: @ 80A7958
- push {lr}
- bl sub_80A76B8
- cmp r0, 0
- beq _080A796A
- bl sub_80A75A8
- movs r0, 0x1
- b _080A796C
-_080A796A:
- movs r0, 0x2
-_080A796C:
- pop {r1}
- bx r1
- thumb_func_end sub_80A7958
-
- thumb_func_start sub_80A7970
-sub_80A7970: @ 80A7970
- push {lr}
- bl sub_80A75C4
- pop {r0}
- bx r0
- thumb_func_end sub_80A7970
-
- thumb_func_start sub_80A797C
-sub_80A797C: @ 80A797C
- ldr r1, _080A7984 @ =gUnknown_02038554
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7984: .4byte gUnknown_02038554
- thumb_func_end sub_80A797C
-
- thumb_func_start sub_80A7988
-sub_80A7988: @ 80A7988
- ldr r1, _080A7994 @ =gUnknown_02038554
- ldrb r0, [r1]
- movs r2, 0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_080A7994: .4byte gUnknown_02038554
- thumb_func_end sub_80A7988
-
- thumb_func_start sub_80A7998
-sub_80A7998: @ 80A7998
- adds r2, r0, 0
- adds r2, 0x2A
- movs r1, 0
- strb r1, [r2]
- strh r1, [r0, 0x2E]
- strh r1, [r0, 0x30]
- strh r1, [r0, 0x32]
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- ldr r1, _080A79B0 @ =sub_80A79B4
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080A79B0: .4byte sub_80A79B4
- thumb_func_end sub_80A7998
-
- thumb_func_start sub_80A79B4
-sub_80A79B4: @ 80A79B4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080A79E4 @ =gUnknown_0203855B
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A79CC
- adds r0, r4, 0
- bl sub_80A79EC
-_080A79CC:
- ldr r0, _080A79E8 @ =gUnknown_0203855C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080A79DE
- adds r0, r4, 0
- bl sub_80A7A94
-_080A79DE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A79E4: .4byte gUnknown_0203855B
-_080A79E8: .4byte gUnknown_0203855C
- thumb_func_end sub_80A79B4
-
- thumb_func_start sub_80A79EC
-sub_80A79EC: @ 80A79EC
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r0, 0x34
- ldrsh r4, [r2, r0]
- cmp r4, 0
- beq _080A79FE
- cmp r4, 0x1
- beq _080A7A54
- b _080A7A8A
-_080A79FE:
- ldr r5, _080A7A28 @ =gUnknown_0203855B
- ldrb r6, [r5]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x6
- beq _080A7A2C
- adds r3, r2, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- adds r0, r2, 0
- adds r0, 0x2A
- strb r6, [r0]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r5]
- b _080A7A8A
- .align 2, 0
-_080A7A28: .4byte gUnknown_0203855B
-_080A7A2C:
- adds r3, r2, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- adds r0, r2, 0
- adds r0, 0x2A
- strb r4, [r0]
- ldrh r0, [r2, 0x22]
- subs r0, 0x4
- strh r0, [r2, 0x22]
- movs r0, 0x4
- strh r0, [r2, 0x2E]
- movs r0, 0x1
- strh r0, [r2, 0x34]
- adds r0, r2, 0
- bl sub_80A7AE4
- b _080A7A8A
-_080A7A54:
- ldrh r4, [r2, 0x2E]
- movs r0, 0x2E
- ldrsh r3, [r2, r0]
- cmp r3, 0
- beq _080A7A7C
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080A7A72
- ldrh r0, [r2, 0x22]
- adds r0, 0x1
- strh r0, [r2, 0x22]
- subs r0, r4, 0x1
- strh r0, [r2, 0x2E]
-_080A7A72:
- adds r0, r1, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r2, 0x30]
- b _080A7A8A
-_080A7A7C:
- ldr r1, _080A7A90 @ =gUnknown_0203855B
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- strb r0, [r1]
- strh r3, [r2, 0x30]
- strh r3, [r2, 0x34]
-_080A7A8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7A90: .4byte gUnknown_0203855B
- thumb_func_end sub_80A79EC
-
- thumb_func_start sub_80A7A94
-sub_80A7A94: @ 80A7A94
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A7AA6
- cmp r0, 0x1
- beq _080A7AC8
- b _080A7ADC
-_080A7AA6:
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080A7AC4 @ =gSpriteAffineAnimTable_83C1CC4
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- movs r0, 0x1
- strh r0, [r4, 0x36]
- b _080A7ADC
- .align 2, 0
-_080A7AC4: .4byte gSpriteAffineAnimTable_83C1CC4
-_080A7AC8:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _080A7ADC
- adds r0, r4, 0
- bl sub_80A7AE4
-_080A7ADC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7A94
-
- thumb_func_start sub_80A7AE4
-sub_80A7AE4: @ 80A7AE4
- push {lr}
- ldr r2, _080A7B0C @ =gUnknown_0203855C
- movs r1, 0
- strb r1, [r2]
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x1]
- movs r1, 0
- strh r1, [r0, 0x32]
- strh r1, [r0, 0x36]
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B0C: .4byte gUnknown_0203855C
- thumb_func_end sub_80A7AE4
-
- thumb_func_start CreateBagSprite
-CreateBagSprite: @ 80A7B10
- push {lr}
- ldr r0, _080A7B24 @ =gSpriteTemplate_83C1CE0
- movs r1, 0x3A
- movs r2, 0x28
- movs r3, 0
- bl CreateSprite
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B24: .4byte gSpriteTemplate_83C1CE0
- thumb_func_end CreateBagSprite
-
- thumb_func_start sub_80A7B28
-sub_80A7B28: @ 80A7B28
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r4, 0x34]
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A7B6C
- ldr r0, _080A7B44 @ =sub_80A7B6C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B44: .4byte sub_80A7B6C
- thumb_func_end sub_80A7B28
-
- thumb_func_start sub_80A7B48
-sub_80A7B48: @ 80A7B48
- ldrh r2, [r0, 0x38]
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- movs r3, 0x1
- ands r1, r3
- subs r2, r1
- adds r1, r0, 0
- adds r1, 0x28
- strb r2, [r1]
- ldrh r2, [r0, 0x3A]
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- ands r1, r3
- subs r2, r1
- adds r0, 0x29
- strb r2, [r0]
- bx lr
- thumb_func_end sub_80A7B48
-
- thumb_func_start sub_80A7B6C
-sub_80A7B6C: @ 80A7B6C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- ldrsh r2, [r4, r0]
- cmp r2, 0
- beq _080A7C16
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A7B86
- cmp r0, 0x1
- beq _080A7BD4
- b _080A7C16
-_080A7B86:
- ldrb r0, [r4, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r4, 0x1]
- cmp r2, 0x1
- bne _080A7BA0
- ldr r0, _080A7B9C @ =gSpriteAffineAnimTable_83C1D20
- b _080A7BA2
- .align 2, 0
-_080A7B9C: .4byte gSpriteAffineAnimTable_83C1D20
-_080A7BA0:
- ldr r0, _080A7BD0 @ =gSpriteAffineAnimTable_83C1D20 + 0x4
-_080A7BA2:
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- movs r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x3A]
- adds r0, r4, 0
- bl sub_80A7B48
- b _080A7C16
- .align 2, 0
-_080A7BD0: .4byte gSpriteAffineAnimTable_83C1D20 + 0x4
-_080A7BD4:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A7B48
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _080A7C16
- strh r5, [r4, 0x2E]
- strh r5, [r4, 0x34]
- ldrh r1, [r4, 0x38]
- adds r0, r4, 0
- adds r0, 0x28
- strb r1, [r0]
- ldrh r0, [r4, 0x3A]
- adds r1, r4, 0
- adds r1, 0x29
- strb r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080A7C1C @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080A7C16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C1C: .4byte SpriteCallbackDummy
- thumb_func_end sub_80A7B6C
-
- thumb_func_start CreateBagPokeballSprite
-CreateBagPokeballSprite: @ 80A7C20
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A7C54 @ =gUnknown_083C1D30
- bl LoadSpritePalette
- ldr r0, _080A7C58 @ =gSpriteTemplate_83C1D38
- movs r1, 0x10
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- ldr r1, _080A7C5C @ =gUnknown_02038568
- strb r0, [r1]
- ldr r2, _080A7C60 @ =gSprites
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C54: .4byte gUnknown_083C1D30
-_080A7C58: .4byte gSpriteTemplate_83C1D38
-_080A7C5C: .4byte gUnknown_02038568
-_080A7C60: .4byte gSprites
- thumb_func_end CreateBagPokeballSprite
-
- thumb_func_start sub_80A7C64
-sub_80A7C64: @ 80A7C64
- push {r4,r5,lr}
- movs r0, 0x8
- bl FreeSpritePaletteByTag
- ldr r5, _080A7C98 @ =gSprites
- ldr r4, _080A7C9C @ =gUnknown_02038568
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C98: .4byte gSprites
-_080A7C9C: .4byte gUnknown_02038568
- thumb_func_end sub_80A7C64
-
- thumb_func_start sub_80A7CA0
-sub_80A7CA0: @ 80A7CA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r2, 0x80
- lsls r2, 4
- adds r0, r4, 0
- movs r1, 0
- bl memset
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- movs r7, 0
-_080A7CBE:
- adds r4, 0x20
- movs r5, 0
- adds r1, r7, 0x1
- mov r8, r1
-_080A7CC6:
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x20
- bl memcpy
- adds r4, 0x20
- adds r6, 0x20
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080A7CC6
- cmp r7, 0x5
- beq _080A7CE4
- adds r4, 0x20
-_080A7CE4:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x5
- bls _080A7CBE
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7CA0
-
- thumb_func_start sub_80A7CF8
-sub_80A7CF8: @ 80A7CF8
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2A
- bne _080A7D44
- bl sub_80B4940
- cmp r0, 0x1
- bne _080A7D44
- ldr r4, _080A7D34 @ =gSaveBlock1 + 0x317C
- ldr r1, _080A7D38 @ =0x02000000
- adds r0, r4, 0
- bl sub_80A7CA0
- movs r0, 0x90
- lsls r0, 3
- adds r4, r0
- str r4, [sp]
- ldr r1, _080A7D3C @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- ldr r1, _080A7D40 @ =0x00007544
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpritePalette
- b _080A7D72
- .align 2, 0
-_080A7D34: .4byte gSaveBlock1 + 0x317C
-_080A7D38: .4byte 0x02000000
-_080A7D3C: .4byte 0xffff0000
-_080A7D40: .4byte 0x00007544
-_080A7D44:
- ldr r5, _080A7D7C @ =gBerryGraphicsTable
- lsls r4, 3
- adds r0, r5, 0x4
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [sp]
- mov r1, sp
- ldr r0, _080A7D80 @ =0x00007544
- strh r0, [r1, 0x4]
- mov r0, sp
- bl LoadCompressedObjectPalette
- adds r4, r5
- ldr r0, [r4]
- ldr r4, _080A7D84 @ =0x02001000
- adds r1, r4, 0
- bl sub_800D238
- ldr r0, _080A7D88 @ =0xfffff000
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_80A7CA0
-_080A7D72:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7D7C: .4byte gBerryGraphicsTable
-_080A7D80: .4byte 0x00007544
-_080A7D84: .4byte 0x02001000
-_080A7D88: .4byte 0xfffff000
- thumb_func_end sub_80A7CF8
-
- thumb_func_start sub_80A7D8C
-sub_80A7D8C: @ 80A7D8C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- bl sub_80A7CF8
- ldr r0, _080A7DC0 @ =gSpriteTemplate_83C1D74
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A7DC0: .4byte gSpriteTemplate_83C1D74
- thumb_func_end sub_80A7D8C
-
- thumb_func_start sub_80A7DC4
-sub_80A7DC4: @ 80A7DC4
- ldr r1, _080A7DD0 @ =gUnknown_030041B4
- ldrh r1, [r1]
- negs r1, r1
- strh r1, [r0, 0x26]
- bx lr
- .align 2, 0
-_080A7DD0: .4byte gUnknown_030041B4
- thumb_func_end sub_80A7DC4
-
- thumb_func_start sub_80A7DD4
-sub_80A7DD4: @ 80A7DD4
- push {lr}
- ldr r0, _080A7DE8 @ =0x00007544
- bl FreeSpritePaletteByTag
- movs r0, 0x8
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_080A7DE8: .4byte 0x00007544
- thumb_func_end sub_80A7DD4
-
- thumb_func_start sub_80A7DEC
-sub_80A7DEC: @ 80A7DEC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _080A7E50 @ =0x00007544
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl sub_80A7CF8
- ldr r0, _080A7E54 @ =gSpriteTemplate_83C1E04
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r4, r1, 0
- mov r0, r8
- cmp r0, 0x1
- bne _080A7E42
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A7E58 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080A7E42:
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080A7E50: .4byte 0x00007544
-_080A7E54: .4byte gSpriteTemplate_83C1E04
-_080A7E58: .4byte gSprites
- thumb_func_end sub_80A7DEC
-
- thumb_func_start sub_80A7E5C
-sub_80A7E5C: @ 80A7E5C
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A7E78 @ =gSpriteTemplate_83C1F98
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x63
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A7E78: .4byte gSpriteTemplate_83C1F98
- thumb_func_end sub_80A7E5C
-
- thumb_func_start sub_80A7E7C
-sub_80A7E7C: @ 80A7E7C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A7E9C @ =gUnknown_03004B00
- ldrb r0, [r4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080A7EA0
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A7EDC
- .align 2, 0
-_080A7E9C: .4byte gUnknown_03004B00
-_080A7EA0:
- ldr r1, _080A7EE4 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x26]
- ldr r1, _080A7EE8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x8]
- ldrh r1, [r4, 0x6]
- strh r1, [r0, 0xA]
- ldrh r1, [r4, 0x8]
- strh r1, [r0, 0xC]
- ldrh r1, [r4, 0x8]
- strh r1, [r0, 0xE]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x10]
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x12]
- ldr r1, _080A7EEC @ =sub_80A7EF0
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080A7EDC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7EE4: .4byte gSprites
-_080A7EE8: .4byte gTasks
-_080A7EEC: .4byte sub_80A7EF0
- thumb_func_end sub_80A7E7C
-
- thumb_func_start sub_80A7EF0
-sub_80A7EF0: @ 80A7EF0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A7F2C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0xE]
- movs r2, 0xE
- ldrsh r5, [r3, r2]
- adds r7, r1, 0
- cmp r5, 0
- bne _080A7F96
- ldr r2, _080A7F30 @ =gSprites
- movs r6, 0x8
- ldrsh r1, [r3, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r6, 0x24
- ldrsh r0, [r1, r6]
- adds r6, r2, 0
- cmp r0, 0
- bne _080A7F34
- ldrh r0, [r3, 0x10]
- strh r0, [r1, 0x24]
- b _080A7F36
- .align 2, 0
-_080A7F2C: .4byte gTasks
-_080A7F30: .4byte gSprites
-_080A7F34:
- strh r5, [r1, 0x24]
-_080A7F36:
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r7
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- movs r5, 0x26
- ldrsh r0, [r1, r5]
- cmp r0, 0
- bne _080A7F56
- ldrh r0, [r3, 0x12]
- b _080A7F58
-_080A7F56:
- movs r0, 0
-_080A7F58:
- strh r0, [r1, 0x26]
- adds r0, r2, r4
- lsls r0, 3
- adds r2, r0, r7
- ldrh r0, [r2, 0xC]
- strh r0, [r2, 0xE]
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080A7F9A
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r3, [r0, 0x24]
- movs r5, 0x8
- ldrsh r1, [r2, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r3, [r0, 0x26]
- adds r0, r4, 0
- bl move_anim_task_del
- b _080A7F9A
-_080A7F96:
- subs r0, 0x1
- strh r0, [r3, 0xE]
-_080A7F9A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7EF0
-
- thumb_func_start sub_80A7FA0
-sub_80A7FA0: @ 80A7FA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, _080A7FC8 @ =gUnknown_03004B00
- ldrh r0, [r2]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x3
- bgt _080A7FCC
- lsls r0, 24
- lsrs r0, 24
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080A8022
- b _080A8026
- .align 2, 0
-_080A7FC8: .4byte gUnknown_03004B00
-_080A7FCC:
- cmp r1, 0x8
- beq _080A8018
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x5
- beq _080A7FEC
- cmp r0, 0x5
- bgt _080A7FE2
- cmp r0, 0x4
- beq _080A7FE8
- b _080A7FF4
-_080A7FE2:
- cmp r0, 0x6
- beq _080A7FF0
- b _080A7FF4
-_080A7FE8:
- movs r0, 0
- b _080A7FF6
-_080A7FEC:
- movs r0, 0x2
- b _080A7FF6
-_080A7FF0:
- movs r0, 0x1
- b _080A7FF6
-_080A7FF4:
- movs r0, 0x3
-_080A7FF6:
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- bne _080A800C
- movs r6, 0x1
-_080A800C:
- ldr r0, _080A8014 @ =gUnknown_02024BE0
- adds r0, r4, r0
- b _080A8020
- .align 2, 0
-_080A8014: .4byte gUnknown_02024BE0
-_080A8018:
- ldr r1, _080A8030 @ =gUnknown_02024BE0
- ldr r0, _080A8034 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- adds r0, r1
-_080A8020:
- ldrb r3, [r0]
-_080A8022:
- cmp r6, 0
- beq _080A8038
-_080A8026:
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A8076
- .align 2, 0
-_080A8030: .4byte gUnknown_02024BE0
-_080A8034: .4byte gUnknown_0202F7C8
-_080A8038:
- ldr r1, _080A807C @ =gSprites
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldr r2, _080A8080 @ =gUnknown_03004B00
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x24]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x26]
- ldr r1, _080A8084 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x8]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0xE]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x10]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x12]
- ldr r1, _080A8088 @ =sub_80A808C
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080A8076:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A807C: .4byte gSprites
-_080A8080: .4byte gUnknown_03004B00
-_080A8084: .4byte gTasks
-_080A8088: .4byte sub_80A808C
- thumb_func_end sub_80A7FA0
-
- thumb_func_start sub_80A808C
-sub_80A808C: @ 80A808C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A80D0 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- mov r12, r1
- cmp r0, 0
- bne _080A8144
- ldr r2, _080A80D4 @ =gSprites
- movs r7, 0x8
- ldrsh r1, [r3, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- ldrh r5, [r3, 0x10]
- movs r7, 0x10
- ldrsh r0, [r3, r7]
- adds r7, r2, 0
- cmp r1, r0
- bne _080A80D8
- negs r0, r5
- strh r0, [r4, 0x24]
- b _080A80DA
- .align 2, 0
-_080A80D0: .4byte gTasks
-_080A80D4: .4byte gSprites
-_080A80D8:
- strh r5, [r4, 0x24]
-_080A80DA:
- lsls r3, r6, 2
- adds r1, r3, r6
- lsls r1, 3
- add r1, r12
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r7
- movs r0, 0x26
- ldrsh r2, [r4, r0]
- mov r8, r2
- ldrh r5, [r1, 0x12]
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- cmp r8, r0
- bne _080A8104
- negs r0, r5
- strh r0, [r4, 0x26]
- b _080A8106
-_080A8104:
- strh r5, [r4, 0x26]
-_080A8106:
- adds r0, r3, r6
- lsls r0, 3
- mov r4, r12
- adds r3, r0, r4
- ldrh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080A8148
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x24]
- movs r4, 0x8
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
- b _080A8148
-_080A8144:
- subs r0, r2, 0x1
- strh r0, [r3, 0xE]
-_080A8148:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A808C
-
- thumb_func_start sub_80A8154
-sub_80A8154: @ 80A8154
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A8174 @ =gUnknown_03004B00
- ldrb r0, [r4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080A8178
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A81C6
- .align 2, 0
-_080A8174: .4byte gUnknown_03004B00
-_080A8178:
- ldr r0, _080A81CC @ =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x2]
- ldrh r2, [r1, 0x24]
- adds r0, r2
- movs r2, 0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x4]
- ldrh r6, [r1, 0x26]
- adds r0, r6
- strh r0, [r1, 0x26]
- ldr r0, _080A81D0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- strh r3, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldrh r0, [r4, 0x6]
- strh r0, [r1, 0xC]
- strh r2, [r1, 0xE]
- ldrh r0, [r4, 0x8]
- strh r0, [r1, 0x10]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 1
- strh r0, [r1, 0x12]
- movs r6, 0x4
- ldrsh r0, [r4, r6]
- lsls r0, 1
- strh r0, [r1, 0x14]
- ldr r2, _080A81D4 @ =sub_80A81D8
- str r2, [r1]
- adds r0, r5, 0
- bl _call_via_r2
-_080A81C6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A81CC: .4byte gSprites
-_080A81D0: .4byte gTasks
-_080A81D4: .4byte sub_80A81D8
- thumb_func_end sub_80A8154
-
- thumb_func_start sub_80A81D8
-sub_80A81D8: @ 80A81D8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A8230 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- adds r6, r1, 0
- cmp r0, 0
- beq _080A81F6
- b _080A8308
-_080A81F6:
- ldrh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A8238
- ldr r2, _080A8234 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x12]
- ldrh r3, [r0, 0x24]
- adds r1, r3
- strh r1, [r0, 0x24]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x14]
- ldrh r3, [r0, 0x26]
- adds r1, r3
- strh r1, [r0, 0x26]
- adds r3, r2, 0
- b _080A8262
- .align 2, 0
-_080A8230: .4byte gTasks
-_080A8234: .4byte gSprites
-_080A8238:
- ldr r3, _080A82C4 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- ldrh r2, [r4, 0x12]
- subs r1, r2
- strh r1, [r0, 0x24]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- ldrh r2, [r4, 0x14]
- subs r1, r2
- strh r1, [r0, 0x26]
-_080A8262:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r0, [r4, 0x10]
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0xA]
- adds r2, r0, 0x1
- strh r2, [r4, 0xA]
- lsls r0, r2, 16
- asrs r0, 16
- movs r6, 0xC
- ldrsh r1, [r4, r6]
- cmp r0, r1
- blt _080A830C
- movs r0, 0x1
- ands r2, r0
- cmp r2, 0
- beq _080A82C8
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- ldrh r6, [r1, 0x24]
- adds r0, r6
- strh r0, [r1, 0x24]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- ldrh r3, [r1, 0x26]
- adds r0, r3
- strh r0, [r1, 0x26]
- b _080A8300
- .align 2, 0
-_080A82C4: .4byte gSprites
-_080A82C8:
- movs r6, 0x8
- ldrsh r0, [r4, r6]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r2, 0x26]
- subs r0, r1
- strh r0, [r2, 0x26]
-_080A8300:
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A830C
-_080A8308:
- subs r0, r2, 0x1
- strh r0, [r4, 0xE]
-_080A830C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A81D8
-
- thumb_func_start sub_80A8314
-sub_80A8314: @ 80A8314
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080A8364 @ =gUnknown_03004B00
- ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A8368 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r5, 0x2]
- strh r2, [r1, 0x24]
- ldr r2, _080A836C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x8]
- ldrh r0, [r5, 0x2]
- strh r0, [r1, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x10]
- ldr r2, _080A8370 @ =sub_80A8374
- str r2, [r1]
- adds r0, r4, 0
- bl _call_via_r2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8364: .4byte gUnknown_03004B00
-_080A8368: .4byte gSprites
-_080A836C: .4byte gTasks
-_080A8370: .4byte sub_80A8374
- thumb_func_end sub_80A8314
-
- thumb_func_start sub_80A8374
-sub_80A8374: @ 80A8374
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _080A8400 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r2
- ldrb r5, [r3, 0x8]
- ldrh r4, [r3, 0xA]
- ldrh r1, [r3, 0x18]
- adds r0, r1, 0x1
- strh r0, [r3, 0x18]
- movs r7, 0xC
- ldrsh r0, [r3, r7]
- lsls r1, 16
- asrs r1, 16
- mov r12, r2
- ldr r7, _080A8404 @ =gSprites
- cmp r0, r1
- bne _080A83C6
- movs r0, 0
- strh r0, [r3, 0x18]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, r0, r7
- ldrh r3, [r1, 0x24]
- movs r0, 0x24
- ldrsh r2, [r1, r0]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r2, r0
- bne _080A83BE
- negs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
-_080A83BE:
- lsls r0, r4, 16
- asrs r0, 16
- adds r0, r3
- strh r0, [r1, 0x24]
-_080A83C6:
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 3
- add r2, r12
- strh r4, [r2, 0xA]
- ldrh r1, [r2, 0xE]
- ldrh r0, [r2, 0x1A]
- adds r1, r0
- strh r1, [r2, 0x1A]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r7
- lsls r1, 16
- asrs r1, 24
- strh r1, [r0, 0x26]
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
- strh r0, [r2, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _080A83F8
- adds r0, r6, 0
- bl move_anim_task_del
-_080A83F8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8400: .4byte gTasks
-_080A8404: .4byte gSprites
- thumb_func_end sub_80A8374
-
- thumb_func_start sub_80A8408
-sub_80A8408: @ 80A8408
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x1
- ldr r4, _080A847C @ =gUnknown_03004B00
- ldrb r0, [r4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r7, r0, 24
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- ble _080A842C
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_080A842C:
- movs r1, 0
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- adds r3, r4, 0
- ldr r2, _080A8480 @ =gTasks
- mov r12, r2
- lsls r4, r5, 2
- ldr r2, _080A8484 @ =sub_80A8488
- mov r8, r2
- cmp r1, r0
- bge _080A8452
- adds r2, r0, 0
-_080A8444:
- lsls r0, r6, 25
- lsrs r6, r0, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- blt _080A8444
-_080A8452:
- adds r0, r4, r5
- lsls r0, 3
- add r0, r12
- strh r7, [r0, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0xE]
- strh r6, [r0, 0x10]
- mov r1, r8
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A847C: .4byte gUnknown_03004B00
-_080A8480: .4byte gTasks
-_080A8484: .4byte sub_80A8488
- thumb_func_end sub_80A8408
-
- thumb_func_start sub_80A8488
-sub_80A8488: @ 80A8488
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080A84F8 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrb r4, [r5, 0x8]
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- bl Sin
- ldr r2, _080A84FC @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r4, r1, r2
- strh r0, [r4, 0x24]
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r5, 0xC]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x10]
- ldrh r1, [r5, 0x12]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x12]
- cmp r0, 0
- bne _080A84E0
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
-_080A84E0:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080A84F2
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
-_080A84F2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A84F8: .4byte gTasks
-_080A84FC: .4byte gSprites
- thumb_func_end sub_80A8488
-
- thumb_func_start sub_80A8500
-sub_80A8500: @ 80A8500
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A8528 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A851C
- ldr r1, _080A852C @ =gUnknown_03004B00
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080A851C:
- adds r0, r4, 0
- bl sub_80A8408
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8528: .4byte gUnknown_0202F7C8
-_080A852C: .4byte gUnknown_03004B00
- thumb_func_end sub_80A8500
-
- thumb_func_start sub_80A8530
-sub_80A8530: @ 80A8530
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080A8558 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8560
- ldr r1, _080A855C @ =gUnknown_03004B00
- ldrh r0, [r1, 0x2]
- negs r0, r0
- b _080A8564
- .align 2, 0
-_080A8558: .4byte gUnknown_0202F7C8
-_080A855C: .4byte gUnknown_03004B00
-_080A8560:
- ldr r1, _080A8590 @ =gUnknown_03004B00
- ldrh r0, [r1, 0x2]
-_080A8564:
- strh r0, [r4, 0x30]
- ldrh r2, [r1]
- movs r0, 0
- strh r2, [r4, 0x2E]
- strh r0, [r4, 0x32]
- ldr r1, _080A8594 @ =gUnknown_02024BE0
- ldr r0, _080A8598 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r1, _080A859C @ =sub_80A85A4
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080A85A0 @ =sub_8078458
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8590: .4byte gUnknown_03004B00
-_080A8594: .4byte gUnknown_02024BE0
-_080A8598: .4byte gUnknown_0202F7C8
-_080A859C: .4byte sub_80A85A4
-_080A85A0: .4byte sub_8078458
- thumb_func_end sub_80A8530
-
- thumb_func_start sub_80A85A4
-sub_80A85A4: @ 80A85A4
- push {lr}
- ldrh r1, [r0, 0x36]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x30]
- negs r1, r1
- strh r1, [r0, 0x30]
- ldr r1, _080A85C0 @ =sub_8078458
- str r1, [r0, 0x1C]
- ldr r1, _080A85C4 @ =move_anim_8072740
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080A85C0: .4byte sub_8078458
-_080A85C4: .4byte move_anim_8072740
- thumb_func_end sub_80A85A4
-
- thumb_func_start sub_80A85C8
-sub_80A85C8: @ 80A85C8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r5, _080A8608 @ =gUnknown_03004B00
- ldrb r0, [r5, 0x4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r5]
- movs r1, 0
- strh r2, [r4, 0x2E]
- strh r1, [r4, 0x30]
- ldrh r1, [r5, 0x2]
- strh r1, [r4, 0x32]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r1, _080A860C @ =sub_80A8614
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080A8610 @ =sub_8078458
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8608: .4byte gUnknown_03004B00
-_080A860C: .4byte sub_80A8614
-_080A8610: .4byte sub_8078458
- thumb_func_end sub_80A85C8
-
- thumb_func_start sub_80A8614
-sub_80A8614: @ 80A8614
- push {lr}
- ldrh r1, [r0, 0x36]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x32]
- negs r1, r1
- strh r1, [r0, 0x32]
- ldr r1, _080A8630 @ =sub_8078458
- str r1, [r0, 0x1C]
- ldr r1, _080A8634 @ =move_anim_8072740
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080A8630: .4byte sub_8078458
-_080A8634: .4byte move_anim_8072740
- thumb_func_end sub_80A8614
-
- thumb_func_start sub_80A8638
-sub_80A8638: @ 80A8638
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, _080A8650 @ =gUnknown_03004B00
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A865C
- ldr r1, _080A8654 @ =gUnknown_02024BE0
- ldr r0, _080A8658 @ =gUnknown_0202F7C8
- b _080A8660
- .align 2, 0
-_080A8650: .4byte gUnknown_03004B00
-_080A8654: .4byte gUnknown_02024BE0
-_080A8658: .4byte gUnknown_0202F7C8
-_080A865C:
- ldr r1, _080A86C0 @ =gUnknown_02024BE0
- ldr r0, _080A86C4 @ =gUnknown_0202F7C9
-_080A8660:
- ldrb r0, [r0]
- adds r0, r1
- ldrb r7, [r0]
- ldr r5, _080A86C8 @ =gUnknown_03004B00
- ldrh r0, [r5, 0x4]
- movs r3, 0
- strh r0, [r6, 0x2E]
- ldr r0, _080A86CC @ =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r6, 0x30]
- ldrh r0, [r4, 0x20]
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x22]
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- str r3, [sp]
- bl sub_8078A5C
- ldr r3, [sp]
- strh r3, [r6, 0x34]
- strh r3, [r6, 0x36]
- ldrh r0, [r4, 0x24]
- strh r0, [r6, 0x38]
- ldrh r0, [r4, 0x26]
- strh r0, [r6, 0x3A]
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080A86D0
- strh r3, [r6, 0x32]
- b _080A86D6
- .align 2, 0
-_080A86C0: .4byte gUnknown_02024BE0
-_080A86C4: .4byte gUnknown_0202F7C9
-_080A86C8: .4byte gUnknown_03004B00
-_080A86CC: .4byte gSprites
-_080A86D0:
- cmp r0, 0x2
- bne _080A86D6
- strh r3, [r6, 0x30]
-_080A86D6:
- ldr r0, _080A86EC @ =gUnknown_03004B00
- ldrh r1, [r0, 0x2]
- lsls r0, r7, 8
- orrs r0, r1
- strh r0, [r6, 0x3C]
- ldr r0, _080A86F0 @ =sub_80A86F4
- str r0, [r6, 0x1C]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A86EC: .4byte gUnknown_03004B00
-_080A86F0: .4byte sub_80A86F4
- thumb_func_end sub_80A8638
-
- thumb_func_start sub_80A86F4
-sub_80A86F4: @ 80A86F4
- push {r4-r6,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x3C]
- lsls r1, r0, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- lsls r0, 16
- asrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080A8730 @ =gSprites
- adds r3, r1, r0
- ldrh r0, [r2, 0x2E]
- movs r6, 0x2E
- ldrsh r1, [r2, r6]
- cmp r1, 0
- bne _080A8734
- cmp r4, 0x1
- bhi _080A871E
- strh r1, [r3, 0x24]
-_080A871E:
- cmp r5, 0x2
- beq _080A8726
- cmp r5, 0
- bne _080A8728
-_080A8726:
- strh r1, [r3, 0x26]
-_080A8728:
- adds r0, r2, 0
- bl move_anim_8072740
- b _080A875E
- .align 2, 0
-_080A8730: .4byte gSprites
-_080A8734:
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- adds r1, r0
- strh r1, [r2, 0x34]
- ldrh r0, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r0, r4
- strh r0, [r2, 0x36]
- lsls r1, 16
- asrs r1, 24
- ldrh r6, [r2, 0x38]
- adds r1, r6
- strh r1, [r3, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r2, 0x3A]
- adds r0, r2
- strh r0, [r3, 0x26]
-_080A875E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A86F4
-
- thumb_func_start sub_80A8764
-sub_80A8764: @ 80A8764
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _080A8778 @ =gUnknown_03004B00
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A8780
- ldr r0, _080A877C @ =gUnknown_0202F7C8
- b _080A8782
- .align 2, 0
-_080A8778: .4byte gUnknown_03004B00
-_080A877C: .4byte gUnknown_0202F7C8
-_080A8780:
- ldr r0, _080A8800 @ =gUnknown_0202F7C9
-_080A8782:
- ldrb r2, [r0]
- ldr r0, _080A8804 @ =gUnknown_02024BE0
- adds r0, r2, r0
- ldrb r6, [r0]
- adds r0, r2, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A87AC
- ldr r1, _080A8808 @ =gUnknown_03004B00
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A87AC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080A87AC:
- ldr r2, _080A8808 @ =gUnknown_03004B00
- ldrh r0, [r2, 0x8]
- movs r4, 0
- strh r0, [r5, 0x2E]
- ldr r0, _080A880C @ =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r2, 0x2]
- ldrh r3, [r1, 0x20]
- adds r0, r3
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x22]
- strh r0, [r5, 0x34]
- ldrh r0, [r2, 0x4]
- ldrh r1, [r1, 0x22]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078A5C
- strh r4, [r5, 0x34]
- strh r4, [r5, 0x36]
- strh r6, [r5, 0x38]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080A8810 @ =move_anim_8072740
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080A8814 @ =sub_80784A8
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8800: .4byte gUnknown_0202F7C9
-_080A8804: .4byte gUnknown_02024BE0
-_080A8808: .4byte gUnknown_03004B00
-_080A880C: .4byte gSprites
-_080A8810: .4byte move_anim_8072740
-_080A8814: .4byte sub_80784A8
- thumb_func_end sub_80A8764
-
- thumb_func_start sub_80A8818
-sub_80A8818: @ 80A8818
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080A8838 @ =gUnknown_03004B00
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A8840
- ldr r0, _080A883C @ =gUnknown_0202F7C8
- b _080A8842
- .align 2, 0
-_080A8838: .4byte gUnknown_03004B00
-_080A883C: .4byte gUnknown_0202F7C8
-_080A8840:
- ldr r0, _080A88C0 @ =gUnknown_0202F7C9
-_080A8842:
- ldrb r1, [r0]
- ldr r0, _080A88C4 @ =gUnknown_02024BE0
- adds r0, r1, r0
- ldrb r7, [r0]
- adds r0, r1, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A886C
- ldr r1, _080A88C8 @ =gUnknown_03004B00
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A886C
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080A886C:
- ldr r5, _080A88C8 @ =gUnknown_03004B00
- ldrh r0, [r5, 0x8]
- strh r0, [r6, 0x2E]
- ldr r0, _080A88CC @ =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r6, 0x30]
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r6, 0x34]
- ldrh r1, [r5, 0x4]
- adds r0, r1
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl sub_8078A5C
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x26]
- lsls r0, 8
- strh r0, [r6, 0x36]
- strh r7, [r6, 0x38]
- ldrh r0, [r5, 0xA]
- strh r0, [r6, 0x3A]
- lsls r0, 16
- cmp r0, 0
- bne _080A88D4
- ldr r1, _080A88D0 @ =move_anim_8072740
- adds r0, r6, 0
- bl oamt_set_x3A_32
- b _080A88DC
- .align 2, 0
-_080A88C0: .4byte gUnknown_0202F7C9
-_080A88C4: .4byte gUnknown_02024BE0
-_080A88C8: .4byte gUnknown_03004B00
-_080A88CC: .4byte gSprites
-_080A88D0: .4byte move_anim_8072740
-_080A88D4:
- ldr r1, _080A88E8 @ =sub_80A88F0
- adds r0, r6, 0
- bl oamt_set_x3A_32
-_080A88DC:
- ldr r0, _080A88EC @ =sub_80784A8
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A88E8: .4byte sub_80A88F0
-_080A88EC: .4byte sub_80784A8
- thumb_func_end sub_80A8818
-
- thumb_func_start sub_80A88F0
-sub_80A88F0: @ 80A88F0
- push {r4,lr}
- ldr r4, _080A891C @ =gSprites
- movs r1, 0x38
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- movs r3, 0
- strh r3, [r1, 0x24]
- movs r1, 0x38
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r3, [r1, 0x26]
- bl move_anim_8072740
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A891C: .4byte gSprites
- thumb_func_end sub_80A88F0
-
- thumb_func_start sub_80A8920
-sub_80A8920: @ 80A8920
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _080A89A4 @ =gUnknown_03004B00
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, _080A89A8 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8952
- ldrh r0, [r5, 0x2]
- negs r0, r0
- strh r0, [r5, 0x2]
- ldrh r0, [r5, 0xA]
- negs r0, r0
- strh r0, [r5, 0xA]
-_080A8952:
- ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
- ldr r1, _080A89AC @ =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r1
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0x12]
- ldrh r0, [r5, 0xC]
- strh r0, [r4, 0x14]
- strh r7, [r4, 0x16]
- ldr r0, _080A89B0 @ =sub_80A89B4
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A89A4: .4byte gUnknown_03004B00
-_080A89A8: .4byte gUnknown_0202F7C8
-_080A89AC: .4byte gTasks
-_080A89B0: .4byte sub_80A89B4
- thumb_func_end sub_80A8920
-
- thumb_func_start sub_80A89B4
-sub_80A89B4: @ 80A89B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A8A0C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrb r1, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- ldrh r2, [r5, 0x1E]
- adds r0, r2
- strh r0, [r5, 0x1E]
- ldr r2, _080A8A10 @ =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r2
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x1C]
- lsrs r0, 8
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x16]
- ldrh r1, [r5, 0x1C]
- adds r0, r1
- strh r0, [r5, 0x1C]
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _080A8A04
- ldr r0, _080A8A14 @ =sub_80A8A18
- str r0, [r5]
-_080A8A04:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8A0C: .4byte gTasks
-_080A8A10: .4byte gSprites
-_080A8A14: .4byte sub_80A8A18
- thumb_func_end sub_80A89B4
-
- thumb_func_start sub_80A8A18
-sub_80A8A18: @ 80A8A18
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080A8A3C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A8A40
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
- b _080A8A74
- .align 2, 0
-_080A8A3C: .4byte gTasks
-_080A8A40:
- ldrb r0, [r4, 0x8]
- ldrh r2, [r4, 0x12]
- ldrh r1, [r4, 0x20]
- adds r2, r1
- strh r2, [r4, 0x20]
- ldr r3, _080A8A7C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- lsls r2, 16
- asrs r2, 24
- ldrh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 24
- adds r2, r0
- strh r2, [r1, 0x24]
- ldrh r0, [r4, 0x14]
- subs r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _080A8A74
- adds r0, r5, 0
- bl move_anim_task_del
-_080A8A74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8A7C: .4byte gSprites
- thumb_func_end sub_80A8A18
-
- thumb_func_start sub_80A8A80
-sub_80A8A80: @ 80A8A80
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A8AA4 @ =gUnknown_03004B00
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _080A8AAE
- cmp r0, 0x2
- bgt _080A8AA8
- cmp r0, 0
- blt _080A8AE0
- ldrb r0, [r1]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- b _080A8AE8
- .align 2, 0
-_080A8AA4: .4byte gUnknown_03004B00
-_080A8AA8:
- cmp r0, 0x3
- beq _080A8AB8
- b _080A8AE0
-_080A8AAE:
- ldr r5, _080A8AB4 @ =gUnknown_0202F7C8
- b _080A8ABA
- .align 2, 0
-_080A8AB4: .4byte gUnknown_0202F7C8
-_080A8AB8:
- ldr r5, _080A8AD8 @ =gUnknown_0202F7C9
-_080A8ABA:
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080A8AE0
- ldr r1, _080A8ADC @ =gUnknown_02024BE0
- ldrb r0, [r5]
- eors r0, r4
- adds r0, r1
- ldrb r2, [r0]
- b _080A8AE8
- .align 2, 0
-_080A8AD8: .4byte gUnknown_0202F7C9
-_080A8ADC: .4byte gUnknown_02024BE0
-_080A8AE0:
- adds r0, r6, 0
- bl move_anim_task_del
- b _080A8B28
-_080A8AE8:
- ldr r1, _080A8B08 @ =gTasks
- lsls r4, r6, 2
- adds r0, r4, r6
- lsls r0, 3
- adds r5, r0, r1
- strh r2, [r5, 0x8]
- ldr r0, _080A8B0C @ =gUnknown_0202F7C9
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8B14
- ldr r0, _080A8B10 @ =gUnknown_03004B00
- ldrh r0, [r0, 0x2]
- b _080A8B1A
- .align 2, 0
-_080A8B08: .4byte gTasks
-_080A8B0C: .4byte gUnknown_0202F7C9
-_080A8B10: .4byte gUnknown_03004B00
-_080A8B14:
- ldr r0, _080A8B30 @ =gUnknown_03004B00
- ldrh r0, [r0, 0x2]
- negs r0, r0
-_080A8B1A:
- strh r0, [r5, 0xA]
- ldr r0, _080A8B34 @ =gTasks
- adds r1, r4, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A8B38 @ =sub_80A8B3C
- str r0, [r1]
-_080A8B28:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8B30: .4byte gUnknown_03004B00
-_080A8B34: .4byte gTasks
-_080A8B38: .4byte sub_80A8B3C
- thumb_func_end sub_80A8A80
-
- thumb_func_start sub_80A8B3C
-sub_80A8B3C: @ 80A8B3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A8B80 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r2, [r1, 0x8]
- ldr r3, _080A8B84 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r1, 0xA]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r1, r0
- adds r1, 0x20
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- bls _080A8B7A
- adds r0, r4, 0
- bl move_anim_task_del
-_080A8B7A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8B80: .4byte gTasks
-_080A8B84: .4byte gSprites
- thumb_func_end sub_80A8B3C
-
- thumb_func_start sub_80A8B88
-sub_80A8B88: @ 80A8B88
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, _080A8BD8 @ =gUnknown_0202F7C8
- ldrb r0, [r6]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8BA4
- ldr r1, _080A8BDC @ =gUnknown_03004B00
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080A8BA4:
- ldr r4, _080A8BDC @ =gUnknown_03004B00
- ldrb r0, [r4, 0x8]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A8BE0 @ =gTasks
- lsls r3, r5, 2
- adds r1, r3, r5
- lsls r1, 3
- adds r2, r1, r2
- ldrh r1, [r4]
- strh r1, [r2, 0x8]
- ldrh r1, [r4, 0x2]
- strh r1, [r2, 0xA]
- ldrh r1, [r4, 0x4]
- strh r1, [r2, 0xC]
- ldrh r1, [r4, 0x6]
- strh r1, [r2, 0xE]
- strh r0, [r2, 0x10]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A8BE4
- ldrb r0, [r6]
- b _080A8BE8
- .align 2, 0
-_080A8BD8: .4byte gUnknown_0202F7C8
-_080A8BDC: .4byte gUnknown_03004B00
-_080A8BE0: .4byte gTasks
-_080A8BE4:
- ldr r0, _080A8C00 @ =gUnknown_0202F7C9
- ldrb r0, [r0]
-_080A8BE8:
- strh r0, [r2, 0x12]
- ldr r1, _080A8C04 @ =gTasks
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x20]
- ldr r1, _080A8C08 @ =sub_80A8C0C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8C00: .4byte gUnknown_0202F7C9
-_080A8C04: .4byte gTasks
-_080A8C08: .4byte sub_80A8C0C
- thumb_func_end sub_80A8B88
-
- thumb_func_start sub_80A8C0C
-sub_80A8C0C: @ 80A8C0C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A8C5C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrb r7, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- lsls r1, r0, 16
- strh r0, [r4, 0x1C]
- lsrs r1, 24
- mov r8, r1
- mov r0, r8
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- bl Sin
- lsls r0, 16
- lsrs r5, r0, 16
- mov r9, r5
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A8C64
- ldr r0, _080A8C60 @ =gSprites
- lsls r2, r7, 4
- adds r1, r2, r7
- lsls r1, 2
- adds r1, r0
- strh r5, [r1, 0x24]
- mov r9, r0
- adds r4, r2, 0
- b _080A8CAA
- .align 2, 0
-_080A8C5C: .4byte gTasks
-_080A8C60: .4byte gSprites
-_080A8C64:
- ldrb r0, [r4, 0x12]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080A8C8C
- ldr r1, _080A8C88 @ =gSprites
- lsls r2, r7, 4
- adds r0, r2, r7
- lsls r0, 2
- adds r3, r0, r1
- lsls r0, r5, 16
- asrs r0, 16
- mov r9, r1
- adds r4, r2, 0
- cmp r0, 0
- bge _080A8CA8
- b _080A8CA6
- .align 2, 0
-_080A8C88: .4byte gSprites
-_080A8C8C:
- ldr r1, _080A8D2C @ =gSprites
- lsls r2, r7, 4
- adds r0, r2, r7
- lsls r0, 2
- adds r3, r0, r1
- mov r4, r9
- lsls r0, r4, 16
- asrs r0, 16
- mov r9, r1
- adds r4, r2, 0
- cmp r0, 0
- bge _080A8CA6
- negs r0, r0
-_080A8CA6:
- negs r0, r0
-_080A8CA8:
- strh r0, [r3, 0x26]
-_080A8CAA:
- mov r5, r8
- cmp r5, 0x7F
- bls _080A8CCC
- ldr r1, _080A8D30 @ =gTasks
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0x1E
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0
- bne _080A8CCC
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _080A8CEE
-_080A8CCC:
- mov r2, r8
- cmp r2, 0x7E
- bhi _080A8D20
- ldr r1, _080A8D30 @ =gTasks
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0x1E
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0x1
- bne _080A8D20
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080A8D20
-_080A8CEE:
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r5
- ldrh r0, [r1, 0x1E]
- movs r2, 0x1
- eors r0, r2
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- eors r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0xE]
- subs r0, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080A8D20
- adds r0, r4, r7
- lsls r0, 2
- add r0, r9
- strh r3, [r0, 0x24]
- strh r3, [r0, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
-_080A8D20:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8D2C: .4byte gSprites
-_080A8D30: .4byte gTasks
- thumb_func_end sub_80A8C0C
-
- thumb_func_start sub_80A8D34
-sub_80A8D34: @ 80A8D34
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _080A8D80 @ =gUnknown_03004B00
- ldrb r0, [r6, 0x6]
- bl obj_id_for_side_relative_to_move
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r1, [r6, 0x8]
- adds r0, r5, 0
- bl sub_8078E70
- ldr r1, _080A8D84 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r6]
- strh r1, [r0, 0x8]
- ldrh r1, [r6, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r6, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r6, 0x4]
- strh r1, [r0, 0xE]
- strh r5, [r0, 0x10]
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0x1C]
- strh r1, [r0, 0x1E]
- ldr r1, _080A8D88 @ =sub_80A8D8C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8D80: .4byte gUnknown_03004B00
-_080A8D84: .4byte gTasks
-_080A8D88: .4byte sub_80A8D8C
- thumb_func_end sub_80A8D34
-
- thumb_func_start sub_80A8D8C
-sub_80A8D8C: @ 80A8D8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080A8DEC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xA]
- ldrh r3, [r4, 0x1E]
- adds r0, r3
- strh r0, [r4, 0x1E]
- ldrb r0, [r4, 0x10]
- adds r6, r0, 0
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- movs r3, 0x1E
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080A8DFC
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- ble _080A8DF0
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- negs r0, r0
- strh r0, [r4, 0xA]
- strh r2, [r4, 0xC]
- strh r1, [r4, 0xE]
- b _080A8DFC
- .align 2, 0
-_080A8DEC: .4byte gTasks
-_080A8DF0:
- adds r0, r6, 0
- bl sub_8078F40
- adds r0, r5, 0
- bl move_anim_task_del
-_080A8DFC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8D8C
-
- thumb_func_start sub_80A8E04
-sub_80A8E04: @ 80A8E04
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, _080A8E40 @ =gUnknown_03004B00
- ldrb r0, [r4, 0x4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0
- bl sub_8078E70
- ldr r1, _080A8E44 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2, 0xA]
- ldrh r0, [r4]
- strh r0, [r2, 0xC]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- beq _080A8E48
- strh r1, [r2, 0xE]
- b _080A8E54
- .align 2, 0
-_080A8E40: .4byte gUnknown_03004B00
-_080A8E44: .4byte gTasks
-_080A8E48:
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r3, r0, 0
- muls r3, r1
- adds r0, r3, 0
- strh r0, [r2, 0xE]
-_080A8E54:
- ldr r1, _080A8E80 @ =gTasks
- lsls r4, r7, 2
- adds r0, r4, r7
- lsls r0, 3
- adds r5, r0, r1
- ldr r6, _080A8E84 @ =gUnknown_03004B00
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x10]
- mov r0, r8
- strh r0, [r5, 0x12]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x14]
- bl sub_8076BE0
- lsls r0, 24
- mov r8, r4
- cmp r0, 0
- beq _080A8E88
- movs r0, 0x1
- strh r0, [r5, 0x16]
- b _080A8EAC
- .align 2, 0
-_080A8E80: .4byte gTasks
-_080A8E84: .4byte gUnknown_03004B00
-_080A8E88:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080A8E98
- ldr r0, _080A8E94 @ =gUnknown_0202F7C8
- b _080A8E9A
- .align 2, 0
-_080A8E94: .4byte gUnknown_0202F7C8
-_080A8E98:
- ldr r0, _080A8EF0 @ =gUnknown_0202F7C9
-_080A8E9A:
- ldrb r0, [r0]
- bl battle_side_get_owner
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080A8EAA
- movs r1, 0x1
-_080A8EAA:
- strh r1, [r5, 0x16]
-_080A8EAC:
- ldr r0, _080A8EF4 @ =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r4, r1, r0
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080A8ED8
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080A8ED8
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0xE]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x10]
-_080A8ED8:
- ldr r0, _080A8EF4 @ =gTasks
- mov r3, r8
- adds r1, r3, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A8EF8 @ =sub_80A8FD8
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8EF0: .4byte gUnknown_0202F7C9
-_080A8EF4: .4byte gTasks
-_080A8EF8: .4byte sub_80A8FD8
- thumb_func_end sub_80A8E04
-
- thumb_func_start sub_80A8EFC
-sub_80A8EFC: @ 80A8EFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A8F38 @ =gUnknown_03004B00
- ldrb r0, [r4, 0x4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0
- bl sub_8078E70
- ldr r1, _080A8F3C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xA]
- ldrh r1, [r4]
- strh r1, [r0, 0xC]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A8F44
- ldr r0, _080A8F40 @ =gUnknown_0202F7C8
- b _080A8F46
- .align 2, 0
-_080A8F38: .4byte gUnknown_03004B00
-_080A8F3C: .4byte gTasks
-_080A8F40: .4byte gUnknown_0202F7C8
-_080A8F44:
- ldr r0, _080A8F74 @ =gUnknown_0202F7C9
-_080A8F46:
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8F58
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
-_080A8F58:
- ldr r0, _080A8F78 @ =gUnknown_03004B00
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- adds r6, r0, 0
- cmp r1, 0x1
- beq _080A8F80
- ldr r2, _080A8F7C @ =gTasks
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0xE]
- b _080A8F9A
- .align 2, 0
-_080A8F74: .4byte gUnknown_0202F7C9
-_080A8F78: .4byte gUnknown_03004B00
-_080A8F7C: .4byte gTasks
-_080A8F80:
- ldr r3, _080A8FD0 @ =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r0, r3
- ldrh r2, [r6]
- ldrh r1, [r6, 0x2]
- adds r7, r2, 0
- muls r7, r1
- adds r1, r7, 0
- strh r1, [r0, 0xE]
- adds r2, r3, 0
- adds r3, r4, 0
-_080A8F9A:
- adds r1, r3, r5
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r6, 0x2]
- strh r0, [r1, 0x10]
- mov r0, r8
- strh r0, [r1, 0x12]
- ldrh r0, [r6, 0x6]
- strh r0, [r1, 0x14]
- movs r0, 0x1
- strh r0, [r1, 0x16]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0xE]
- movs r7, 0x10
- ldrsh r0, [r1, r7]
- negs r0, r0
- strh r0, [r1, 0x10]
- ldr r0, _080A8FD4 @ =sub_80A8FD8
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8FD0: .4byte gTasks
-_080A8FD4: .4byte sub_80A8FD8
- thumb_func_end sub_80A8EFC
-
- thumb_func_start sub_80A8FD8
-sub_80A8FD8: @ 80A8FD8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A9030 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
- ldrb r0, [r4, 0x12]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0xE]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080A900C
- ldrb r0, [r4, 0x12]
- bl sub_8078F9C
-_080A900C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080A9052
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A9034
- cmp r0, 0x1
- ble _080A903A
- cmp r0, 0x2
- beq _080A9042
- b _080A903A
- .align 2, 0
-_080A9030: .4byte gTasks
-_080A9034:
- ldrb r0, [r4, 0x12]
- bl sub_8078F40
-_080A903A:
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A9052
-_080A9042:
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x10]
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_080A9052:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8FD8
-
- thumb_func_start sub_80A9058
-sub_80A9058: @ 80A9058
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080A9084 @ =gUnknown_03004B00
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r8, r0
- cmp r1, 0
- bne _080A9090
- ldr r4, _080A9088 @ =gTasks
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r6, r0, r4
- ldr r0, _080A908C @ =gUnknown_0202F7BC
- ldrh r0, [r0]
- movs r1, 0xC
- bl __udivsi3
- b _080A90A4
- .align 2, 0
-_080A9084: .4byte gUnknown_03004B00
-_080A9088: .4byte gTasks
-_080A908C: .4byte gUnknown_0202F7BC
-_080A9090:
- ldr r4, _080A912C @ =gTasks
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r6, r0, r4
- ldr r0, _080A9130 @ =gUnknown_0202F7B8
- ldr r0, [r0]
- movs r1, 0xC
- bl __divsi3
-_080A90A4:
- strh r0, [r6, 0x26]
- lsls r0, 16
- adds r1, r4, 0
- cmp r0, 0
- bgt _080A90B2
- movs r0, 0x1
- strh r0, [r6, 0x26]
-_080A90B2:
- movs r2, 0x26
- ldrsh r0, [r6, r2]
- cmp r0, 0x10
- ble _080A90BE
- movs r0, 0x10
- strh r0, [r6, 0x26]
-_080A90BE:
- adds r4, r5, r7
- lsls r4, 3
- adds r4, r1
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- movs r5, 0
- strh r1, [r4, 0x24]
- ldrh r2, [r4, 0x26]
- movs r0, 0x1
- ands r0, r2
- adds r1, r0
- strh r1, [r4, 0x22]
- strh r5, [r4, 0x20]
- mov r1, r8
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x1E]
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- ldr r2, _080A9134 @ =gSprites
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x24]
- strh r0, [r4, 0x18]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x26]
- strh r0, [r4, 0x1A]
- strh r5, [r4, 0x8]
- mov r1, r8
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xA]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0xC]
- ldr r0, _080A9138 @ =sub_80A913C
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A912C: .4byte gTasks
-_080A9130: .4byte gUnknown_0202F7B8
-_080A9134: .4byte gSprites
-_080A9138: .4byte sub_80A913C
- thumb_func_end sub_80A9058
-
- thumb_func_start sub_80A913C
-sub_80A913C: @ 80A913C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080A9190 @ =gTasks
- adds r3, r0, r1
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r3, r2]
- cmp r0, r1
- ble _080A921A
- movs r0, 0
- strh r0, [r3, 0x8]
- ldrh r0, [r3, 0x20]
- adds r1, r0, 0x1
- movs r0, 0x1
- ands r1, r0
- strh r1, [r3, 0x20]
- movs r2, 0x1C
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080A91AE
- cmp r1, 0
- beq _080A9198
- ldr r2, _080A9194 @ =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x18]
- adds r1, r2
- b _080A91AC
- .align 2, 0
-_080A9190: .4byte gTasks
-_080A9194: .4byte gSprites
-_080A9198:
- ldr r2, _080A91D4 @ =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x18]
- ldrh r2, [r3, 0x24]
- subs r1, r2
-_080A91AC:
- strh r1, [r0, 0x24]
-_080A91AE:
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080A91E8
- movs r2, 0x20
- ldrsh r4, [r3, r2]
- cmp r4, 0
- beq _080A91D8
- ldr r2, _080A91D4 @ =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x26]
- strh r1, [r0, 0x26]
- b _080A91E8
- .align 2, 0
-_080A91D4: .4byte gSprites
-_080A91D8:
- ldr r2, _080A9220 @ =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x26]
-_080A91E8:
- ldrh r0, [r3, 0xC]
- subs r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- bne _080A921A
- ldr r2, _080A9220 @ =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x24]
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x26]
- adds r0, r5, 0
- bl move_anim_task_del
-_080A921A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9220: .4byte gSprites
- thumb_func_end sub_80A913C
-
- thumb_func_start CopyItemName
-CopyItemName: @ 80A9224
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _080A924C
- movs r0, 0x2B
- bl GetBerryInfo
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, _080A9248 @ =gOtherText_Berry2
- adds r0, r4, 0
- bl StringAppend
- b _080A9258
- .align 2, 0
-_080A9248: .4byte gOtherText_Berry2
-_080A924C:
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
-_080A9258:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CopyItemName
-
- thumb_func_start CountUsedBagPocketSlots
-CountUsedBagPocketSlots: @ 80A9260
- push {lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, _080A9284 @ =gBagPockets
- lsrs r0, 21
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _080A9292
- ldr r3, [r0]
-_080A9274:
- lsls r0, r2, 2
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080A9288
- lsls r0, r2, 24
- asrs r0, 24
- b _080A9296
- .align 2, 0
-_080A9284: .4byte gBagPockets
-_080A9288:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _080A9274
-_080A9292:
- movs r0, 0x1
- negs r0, r0
-_080A9296:
- pop {r1}
- bx r1
- thumb_func_end CountUsedBagPocketSlots
-
- thumb_func_start IsBagPocketNonEmpty
-IsBagPocketNonEmpty: @ 80A929C
- push {lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, _080A92C0 @ =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _080A92CE
- ldr r3, [r0]
-_080A92B2:
- lsls r0, r2, 2
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080A92C4
- movs r0, 0x1
- b _080A92D0
- .align 2, 0
-_080A92C0: .4byte gBagPockets
-_080A92C4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _080A92B2
-_080A92CE:
- movs r0, 0
-_080A92D0:
- pop {r1}
- bx r1
- thumb_func_end IsBagPocketNonEmpty
-
- thumb_func_start CheckBagHasItem
-CheckBagHasItem: @ 80A92D4
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- adds r0, r5, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- bne _080A92F0
- b _080A9336
-_080A92EC:
- movs r0, 0x1
- b _080A9338
-_080A92F0:
- adds r0, r5, 0
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- movs r3, 0
- ldr r6, _080A9340 @ =gBagPockets
- lsrs r2, r0, 21
- adds r0, r2, r6
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcs _080A9336
- adds r7, r6, 0
-_080A930A:
- adds r0, r2, r7
- ldr r1, [r0]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r5
- bne _080A9328
- ldrh r0, [r1, 0x2]
- cmp r0, r4
- bcs _080A92EC
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080A92EC
-_080A9328:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, r6
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcc _080A930A
-_080A9336:
- movs r0, 0
-_080A9338:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9340: .4byte gBagPockets
- thumb_func_end CheckBagHasItem
-
- thumb_func_start CheckBagHasSpace
-CheckBagHasSpace: @ 80A9344
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- adds r0, r6, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080A9408
- adds r0, r6, 0
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r5, _080A940C @ =0x000003e7
- cmp r1, 0x3
- beq _080A9376
- movs r5, 0x63
-_080A9376:
- movs r3, 0
- ldr r0, _080A9410 @ =gBagPockets
- mov r8, r0
- lsls r2, r1, 3
- adds r0, r2, r0
- mov r12, r8
- mov r9, r2
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcs _080A93CA
- mov r10, r12
- subs r0, r1, 0x2
- lsls r0, 24
- lsrs r7, r0, 24
-_080A9392:
- mov r1, r10
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r6
- bne _080A93BA
- ldrh r1, [r1, 0x2]
- adds r0, r1, r4
- cmp r0, r5
- ble _080A9414
- cmp r7, 0x1
- bls _080A9408
- subs r0, r5, r1
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080A9414
-_080A93BA:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- mov r1, r8
- adds r0, r2, r1
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcc _080A9392
-_080A93CA:
- cmp r4, 0
- beq _080A9414
- movs r3, 0
- mov r6, r12
- mov r2, r9
- adds r0, r2, r6
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcs _080A9404
- adds r7, r6, 0
-_080A93DE:
- adds r0, r2, r7
- ldr r1, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080A93F6
- cmp r4, r5
- bls _080A9414
- subs r0, r4, r5
- lsls r0, 16
- lsrs r4, r0, 16
-_080A93F6:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, r6
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcc _080A93DE
-_080A9404:
- cmp r4, 0
- beq _080A9414
-_080A9408:
- movs r0, 0
- b _080A9416
- .align 2, 0
-_080A940C: .4byte 0x000003e7
-_080A9410: .4byte gBagPockets
-_080A9414:
- movs r0, 0x1
-_080A9416:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckBagHasSpace
-
- thumb_func_start AddBagItem
-AddBagItem: @ 80A9424
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x100
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r4, r1, 16
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080A9510
- mov r0, r8
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A94F8 @ =gBagPockets
- lsls r0, r6, 3
- adds r5, r0, r1
- ldr r1, [r5]
- ldrb r2, [r5, 0x4]
- lsls r2, 2
- mov r0, sp
- bl memcpy
- ldr r7, _080A94FC @ =0x000003e7
- cmp r6, 0x3
- beq _080A9468
- movs r7, 0x63
-_080A9468:
- movs r1, 0
- ldrb r0, [r5, 0x4]
- cmp r1, r0
- bcs _080A94B2
- subs r0, r6, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
-_080A9478:
- lsls r0, r1, 2
- mov r2, sp
- adds r3, r2, r0
- ldrh r0, [r3]
- cmp r0, r8
- bne _080A94A6
- ldrh r2, [r3, 0x2]
- adds r0, r2, r4
- cmp r0, r7
- ble _080A9500
- mov r0, r12
- cmp r0, 0x1
- bls _080A9510
- subs r0, r7, r2
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- strh r7, [r3, 0x2]
- ldr r2, _080A94F8 @ =gBagPockets
- mov r9, r2
- lsls r3, r6, 3
- cmp r4, 0
- beq _080A9516
-_080A94A6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r1, r0
- bcc _080A9478
-_080A94B2:
- ldr r2, _080A94F8 @ =gBagPockets
- mov r9, r2
- lsls r3, r6, 3
- cmp r4, 0
- beq _080A9516
- movs r1, 0
- adds r0, r3, r2
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcs _080A94F2
- mov r6, r9
- adds r5, r3, r6
-_080A94CA:
- lsls r0, r1, 2
- mov r6, sp
- adds r2, r6, r0
- ldrh r0, [r2]
- cmp r0, 0
- bne _080A94E6
- mov r0, r8
- strh r0, [r2]
- cmp r4, r7
- bls _080A9514
- subs r0, r4, r7
- lsls r0, 16
- lsrs r4, r0, 16
- strh r7, [r2, 0x2]
-_080A94E6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r2, [r5, 0x4]
- cmp r1, r2
- bcc _080A94CA
-_080A94F2:
- cmp r4, 0
- beq _080A9516
- b _080A9510
- .align 2, 0
-_080A94F8: .4byte gBagPockets
-_080A94FC: .4byte 0x000003e7
-_080A9500:
- strh r0, [r3, 0x2]
- ldr r0, _080A950C @ =gBagPockets
- lsls r1, r6, 3
- adds r1, r0
- b _080A951A
- .align 2, 0
-_080A950C: .4byte gBagPockets
-_080A9510:
- movs r0, 0
- b _080A9528
-_080A9514:
- strh r4, [r2, 0x2]
-_080A9516:
- mov r6, r9
- adds r1, r3, r6
-_080A951A:
- ldr r0, [r1]
- ldrb r2, [r1, 0x4]
- lsls r2, 2
- mov r1, sp
- bl memcpy
- movs r0, 0x1
-_080A9528:
- add sp, 0x100
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddBagItem
-
- thumb_func_start RemoveBagItem
-RemoveBagItem: @ 80A9538
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- movs r7, 0
- adds r0, r6, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080A959E
- cmp r6, 0
- beq _080A959E
- adds r0, r6, 0
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r5, 0
- ldr r1, _080A95A4 @ =gBagPockets
- lsls r2, r0, 3
- adds r0, r2, r1
- ldrb r0, [r0, 0x4]
- cmp r5, r0
- bcs _080A959A
- mov r8, r1
-_080A9576:
- mov r0, r8
- adds r3, r2, r0
- ldr r0, [r3]
- lsls r1, r5, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r6
- bne _080A958E
- ldrh r0, [r1, 0x2]
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
-_080A958E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r3, [r3, 0x4]
- cmp r5, r3
- bcc _080A9576
-_080A959A:
- cmp r7, r4
- bcs _080A95A8
-_080A959E:
- movs r0, 0
- b _080A9664
- .align 2, 0
-_080A95A4: .4byte gBagPockets
-_080A95A8:
- ldr r0, _080A95DC @ =gBagPockets
- mov r2, r12
- lsls r1, r2, 3
- adds r5, r1, r0
- ldr r2, _080A95E0 @ =gUnknown_02038560
- ldrb r3, [r5, 0x4]
- mov r8, r0
- adds r7, r1, 0
- ldrb r0, [r2]
- cmp r3, r0
- bls _080A9606
- ldrb r0, [r2]
- ldr r1, [r5]
- lsls r0, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r6
- bne _080A9606
- ldrh r0, [r1, 0x2]
- cmp r0, r4
- bcc _080A95E4
- subs r0, r4
- strh r0, [r1, 0x2]
- movs r4, 0
- b _080A95EE
- .align 2, 0
-_080A95DC: .4byte gBagPockets
-_080A95E0: .4byte gUnknown_02038560
-_080A95E4:
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- strh r0, [r1, 0x2]
-_080A95EE:
- mov r1, r8
- adds r0, r7, r1
- ldrb r1, [r2]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A9602
- strh r0, [r1]
-_080A9602:
- cmp r4, 0
- beq _080A9662
-_080A9606:
- movs r5, 0
- adds r1, r7, 0
- mov r2, r8
- adds r0, r1, r2
- ldrb r2, [r0, 0x4]
- cmp r5, r2
- bcs _080A9662
- mov r12, r8
- adds r3, r0, 0
-_080A9618:
- mov r2, r12
- adds r0, r1, r2
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r6
- bne _080A9650
- ldrh r0, [r2, 0x2]
- cmp r0, r4
- bcc _080A9636
- subs r0, r4
- strh r0, [r2, 0x2]
- movs r4, 0
- b _080A9640
-_080A9636:
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- strh r0, [r2, 0x2]
-_080A9640:
- ldr r0, [r3]
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A964C
- strh r0, [r1]
-_080A964C:
- cmp r4, 0
- beq _080A9662
-_080A9650:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r1, r7, 0
- mov r2, r8
- adds r0, r1, r2
- ldrb r0, [r0, 0x4]
- cmp r5, r0
- bcc _080A9618
-_080A9662:
- movs r0, 0x1
-_080A9664:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end RemoveBagItem
-
- thumb_func_start GetPocketByItemId
-GetPocketByItemId: @ 80A9670
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetPocketByItemId
-
- thumb_func_start ClearItemSlots
-ClearItemSlots: @ 80A9684
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- movs r2, 0
- lsrs r1, 24
- cmp r2, r1
- bcs _080A96A6
- movs r3, 0
-_080A9694:
- lsls r0, r2, 2
- adds r0, r4
- strh r3, [r0]
- strh r3, [r0, 0x2]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r1
- bcc _080A9694
-_080A96A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ClearItemSlots
-
- thumb_func_start FindFreePCItemSlot
-FindFreePCItemSlot: @ 80A96AC
- push {lr}
- movs r1, 0
- ldr r3, _080A96CC @ =gSaveBlock1
- movs r2, 0x93
- lsls r2, 3
-_080A96B6:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r3
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080A96D0
- adds r0, r1, 0
- b _080A96E0
- .align 2, 0
-_080A96CC: .4byte gSaveBlock1
-_080A96D0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x31
- ble _080A96B6
- movs r0, 0x1
- negs r0, r0
-_080A96E0:
- pop {r1}
- bx r1
- thumb_func_end FindFreePCItemSlot
-
- thumb_func_start CountUsedPCItemSlots
-CountUsedPCItemSlots: @ 80A96E4
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r4, _080A9714 @ =gSaveBlock1
- movs r3, 0x93
- lsls r3, 3
-_080A96F0:
- lsls r0, r1, 2
- adds r0, r4
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080A9702
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080A9702:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x31
- bls _080A96F0
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9714: .4byte gSaveBlock1
- thumb_func_end CountUsedPCItemSlots
-
- thumb_func_start CheckPCHasItem
-CheckPCHasItem: @ 80A9718
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r1, 16
- movs r3, 0
- ldr r7, _080A9744 @ =gSaveBlock1
- movs r6, 0x93
- lsls r6, 3
- ldr r5, _080A9748 @ =0x0000049a
-_080A972C:
- lsls r0, r3, 2
- adds r2, r0, r7
- adds r0, r2, r6
- ldrh r0, [r0]
- cmp r0, r4
- bne _080A974C
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, r1
- bcc _080A974C
- movs r0, 0x1
- b _080A9758
- .align 2, 0
-_080A9744: .4byte gSaveBlock1
-_080A9748: .4byte 0x0000049a
-_080A974C:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x31
- bls _080A972C
- movs r0, 0
-_080A9758:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckPCHasItem
-
- thumb_func_start AddPCItem
-AddPCItem: @ 80A9760
- push {r4-r7,lr}
- sub sp, 0xC8
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r1, _080A97C4 @ =gSaveBlock1 + 0x498
- mov r0, sp
- movs r2, 0xC8
- bl memcpy
- movs r5, 0
- ldr r0, _080A97C8 @ =0x0000fc19
- adds r7, r0, 0
-_080A977C:
- lsls r0, r5, 2
- mov r1, sp
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r6
- bne _080A97A0
- ldrh r1, [r2, 0x2]
- adds r0, r1, r4
- ldr r3, _080A97CC @ =0x000003e7
- cmp r0, r3
- ble _080A97D0
- adds r0, r4, r7
- adds r0, r1, r0
- lsls r0, 16
- lsrs r4, r0, 16
- strh r3, [r2, 0x2]
- cmp r4, 0
- beq _080A97DC
-_080A97A0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x31
- bls _080A977C
- cmp r4, 0
- beq _080A97DC
- bl FindFreePCItemSlot
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A97D4
- movs r0, 0
- b _080A97E8
- .align 2, 0
-_080A97C4: .4byte gSaveBlock1 + 0x498
-_080A97C8: .4byte 0x0000fc19
-_080A97CC: .4byte 0x000003e7
-_080A97D0:
- strh r0, [r2, 0x2]
- b _080A97DC
-_080A97D4:
- lsls r0, r1, 2
- add r0, sp
- strh r6, [r0]
- strh r4, [r0, 0x2]
-_080A97DC:
- ldr r0, _080A97F0 @ =gSaveBlock1 + 0x498
- mov r1, sp
- movs r2, 0xC8
- bl memcpy
- movs r0, 0x1
-_080A97E8:
- add sp, 0xC8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A97F0: .4byte gSaveBlock1 + 0x498
- thumb_func_end AddPCItem
-
- thumb_func_start RemovePCItem
-RemovePCItem: @ 80A97F4
- push {lr}
- lsls r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _080A9824 @ =gSaveBlock1
- lsrs r0, 22
- adds r3, r0, r2
- ldr r0, _080A9828 @ =0x0000049a
- adds r2, r3, r0
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080A9820
- movs r2, 0x93
- lsls r2, 3
- adds r0, r3, r2
- strh r1, [r0]
- bl CompactPCItems
-_080A9820:
- pop {r0}
- bx r0
- .align 2, 0
-_080A9824: .4byte gSaveBlock1
-_080A9828: .4byte 0x0000049a
- thumb_func_end RemovePCItem
-
- thumb_func_start CompactPCItems
-CompactPCItems: @ 80A982C
- push {r4-r7,lr}
- movs r2, 0
- ldr r0, _080A987C @ =gSaveBlock1
- mov r12, r0
-_080A9834:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r3, r0, 16
- adds r7, r1, 0
- cmp r3, 0x31
- bhi _080A986C
- lsls r1, r2, 2
- mov r2, r12
- adds r0, r1, r2
- movs r2, 0x93
- lsls r2, 3
- adds r5, r0, r2
- ldr r6, _080A9880 @ =gSaveBlock1 + 0x498
- adds r4, r1, r6
-_080A9850:
- ldrh r0, [r5]
- cmp r0, 0
- bne _080A9862
- ldr r2, [r4]
- lsls r1, r3, 2
- adds r1, r6
- ldr r0, [r1]
- str r0, [r4]
- str r2, [r1]
-_080A9862:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x31
- bls _080A9850
-_080A986C:
- lsls r0, r7, 16
- lsrs r2, r0, 16
- cmp r2, 0x30
- bls _080A9834
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A987C: .4byte gSaveBlock1
-_080A9880: .4byte gSaveBlock1 + 0x498
- thumb_func_end CompactPCItems
-
- thumb_func_start SwapRegisteredBike
-SwapRegisteredBike: @ 80A9884
- push {lr}
- ldr r0, _080A98A0 @ =gSaveBlock1
- ldr r1, _080A98A4 @ =0x00000496
- adds r2, r0, r1
- ldrh r1, [r2]
- ldr r3, _080A98A8 @ =0x00000103
- cmp r1, r3
- beq _080A98AC
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- beq _080A98B4
- b _080A98B6
- .align 2, 0
-_080A98A0: .4byte gSaveBlock1
-_080A98A4: .4byte 0x00000496
-_080A98A8: .4byte 0x00000103
-_080A98AC:
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r2]
- b _080A98B6
-_080A98B4:
- strh r3, [r2]
-_080A98B6:
- pop {r0}
- bx r0
- thumb_func_end SwapRegisteredBike
-
- thumb_func_start SanitizeItemId
-SanitizeItemId: @ 80A98BC
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xAE
- lsls r0, 1
- cmp r1, r0
- bhi _080A98CE
- adds r0, r1, 0
- b _080A98D0
-_080A98CE:
- movs r0, 0
-_080A98D0:
- pop {r1}
- bx r1
- thumb_func_end SanitizeItemId
-
- thumb_func_start ItemId_GetItem
-ItemId_GetItem: @ 80A98D4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- ldr r1, _080A98F0 @ =gItems
- adds r0, r1
- pop {r1}
- bx r1
- .align 2, 0
-_080A98F0: .4byte gItems
- thumb_func_end ItemId_GetItem
-
- thumb_func_start ItemId_GetId
-ItemId_GetId: @ 80A98F4
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9914 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0xE]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9914: .4byte gItems
- thumb_func_end ItemId_GetId
-
- thumb_func_start ItemId_GetPrice
-ItemId_GetPrice: @ 80A9918
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9938 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9938: .4byte gItems
- thumb_func_end ItemId_GetPrice
-
- thumb_func_start ItemId_GetHoldEffect
-ItemId_GetHoldEffect: @ 80A993C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A995C @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x12]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A995C: .4byte gItems
- thumb_func_end ItemId_GetHoldEffect
-
- thumb_func_start ItemId_GetHoldEffectParam
-ItemId_GetHoldEffectParam: @ 80A9960
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9980 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x13]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9980: .4byte gItems
- thumb_func_end ItemId_GetHoldEffectParam
-
- thumb_func_start ItemId_GetDescription
-ItemId_GetDescription: @ 80A9984
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A99A4 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x14
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A99A4: .4byte gItems
- thumb_func_end ItemId_GetDescription
-
- thumb_func_start ItemId_CopyDescription
-ItemId_CopyDescription: @ 80A99A8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0x1
- ldr r4, _080A99E4 @ =gItems
- lsls r0, 16
- lsrs r0, 16
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x14
- adds r0, r4
- ldr r3, [r0]
- adds r2, r6, 0
-_080A99CA:
- ldrb r1, [r3]
- adds r0, r1, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A99FA
- subs r5, 0x1
- cmp r5, 0
- bne _080A99E8
- movs r0, 0xFF
- strb r0, [r2]
- movs r0, 0x1
- b _080A9A02
- .align 2, 0
-_080A99E4: .4byte gItems
-_080A99E8:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080A99F4
- movs r0, 0
- b _080A9A02
-_080A99F4:
- adds r2, r6, 0
- adds r3, 0x1
- b _080A99CA
-_080A99FA:
- strb r1, [r2]
- adds r3, 0x1
- adds r2, 0x1
- b _080A99CA
-_080A9A02:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ItemId_CopyDescription
-
- thumb_func_start ItemId_GetImportance
-ItemId_GetImportance: @ 80A9A08
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9A28 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x18]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9A28: .4byte gItems
- thumb_func_end ItemId_GetImportance
-
- thumb_func_start ItemId_GetUnknownValue
-ItemId_GetUnknownValue: @ 80A9A2C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9A4C @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x19]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9A4C: .4byte gItems
- thumb_func_end ItemId_GetUnknownValue
-
- thumb_func_start ItemId_GetPocket
-ItemId_GetPocket: @ 80A9A50
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9A70 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1A]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9A70: .4byte gItems
- thumb_func_end ItemId_GetPocket
-
- thumb_func_start ItemId_GetType
-ItemId_GetType: @ 80A9A74
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9A94 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1B]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9A94: .4byte gItems
- thumb_func_end ItemId_GetType
-
- thumb_func_start ItemId_GetFieldFunc
-ItemId_GetFieldFunc: @ 80A9A98
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9AB8 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x1C
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9AB8: .4byte gItems
- thumb_func_end ItemId_GetFieldFunc
-
- thumb_func_start ItemId_GetBattleUsage
-ItemId_GetBattleUsage: @ 80A9ABC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9ADC @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9ADC: .4byte gItems
- thumb_func_end ItemId_GetBattleUsage
-
- thumb_func_start ItemId_GetBattleFunc
-ItemId_GetBattleFunc: @ 80A9AE0
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9B00 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x24
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9B00: .4byte gItems
- thumb_func_end ItemId_GetBattleFunc
-
- thumb_func_start ItemId_GetSecondaryId
-ItemId_GetSecondaryId: @ 80A9B04
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9B24 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x28
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9B24: .4byte gItems
- thumb_func_end ItemId_GetSecondaryId
-
- thumb_func_start unref_sub_80A9B28
-unref_sub_80A9B28: @ 80A9B28
- push {lr}
- sub sp, 0x8
- bl MenuZeroFillScreen
- movs r0, 0
- movs r1, 0
- movs r2, 0x11
- movs r3, 0x12
- bl MenuDrawTextWindow
- ldr r3, _080A9B6C @ =gUnknown_083C91F0
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x7
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x7
- bl InitMenu
- ldr r1, _080A9B70 @ =gCallback_03004AE8
- ldr r0, _080A9B74 @ =sub_80A9B78
- str r0, [r1]
- movs r0, 0
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_080A9B6C: .4byte gUnknown_083C91F0
-_080A9B70: .4byte gCallback_03004AE8
-_080A9B74: .4byte sub_80A9B78
- thumb_func_end unref_sub_80A9B28
-
- thumb_func_start sub_80A9B78
-sub_80A9B78: @ 80A9B78
- push {lr}
- bl ProcessMenuInput
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- bne _080A9B8E
- movs r0, 0
- b _080A9BB6
-_080A9B8E:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A9BB0
- ldr r2, _080A9BA8 @ =gCallback_03004AE8
- ldr r0, _080A9BAC @ =gUnknown_083C91F0
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- movs r0, 0
- b _080A9BB6
- .align 2, 0
-_080A9BA8: .4byte gCallback_03004AE8
-_080A9BAC: .4byte gUnknown_083C91F0
-_080A9BB0:
- bl sub_8071C20
- movs r0, 0x1
-_080A9BB6:
- pop {r1}
- bx r1
- thumb_func_end sub_80A9B78
-
- thumb_func_start sub_80A9BBC
-sub_80A9BBC: @ 80A9BBC
- 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 r0, _080A9BE0 @ =sub_80A9BE4
- movs r1, 0xFF
- bl CreateTask
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_080A9BE0: .4byte sub_80A9BE4
- thumb_func_end sub_80A9BBC
-
- thumb_func_start sub_80A9BE4
-sub_80A9BE4: @ 80A9BE4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080A9C14 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A9C10
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080A9C18 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A9C0C
- bl sub_80AF668
-_080A9C0C:
- bl sub_80C2358
-_080A9C10:
- pop {r0}
- bx r0
- .align 2, 0
-_080A9C14: .4byte gPaletteFade
-_080A9C18: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9BE4
-
- thumb_func_start sub_80A9C1C
-sub_80A9C1C: @ 80A9C1C
- push {lr}
- ldr r1, _080A9C30 @ =gUnknown_0203869A
- movs r0, 0
- strb r0, [r1]
- bl sub_80AA10C
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A9C30: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9C1C
-
- thumb_func_start sub_80A9C34
-sub_80A9C34: @ 80A9C34
- push {lr}
- bl sub_80AA10C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A9C34
-
- thumb_func_start sub_80A9C40
-sub_80A9C40: @ 80A9C40
- push {r4,r5,lr}
- ldr r5, _080A9C88 @ =sub_80A9E3C
- adds r0, r5, 0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _080A9C8C @ =sub_80A9C98
- adds r0, r4, 0
- adds r1, r5, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r0, _080A9C90 @ =sub_80A9E04
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9C94 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x1C]
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x1C]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9C88: .4byte sub_80A9E3C
-_080A9C8C: .4byte sub_80A9C98
-_080A9C90: .4byte sub_80A9E04
-_080A9C94: .4byte gTasks
- thumb_func_end sub_80A9C40
-
- thumb_func_start sub_80A9C98
-sub_80A9C98: @ 80A9C98
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80AE098
- ldr r1, _080A9CB8 @ =sub_80C8734
- ldr r2, _080A9CBC @ =sub_80A9CC0
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CB8: .4byte sub_80C8734
-_080A9CBC: .4byte sub_80A9CC0
- thumb_func_end sub_80A9C98
-
- thumb_func_start sub_80A9CC0
-sub_80A9CC0: @ 80A9CC0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9CD4 @ =sub_80C88AC
- ldr r2, _080A9CD8 @ =sub_80A9CDC
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CD4: .4byte sub_80C88AC
-_080A9CD8: .4byte sub_80A9CDC
- thumb_func_end sub_80A9CC0
-
- thumb_func_start sub_80A9CDC
-sub_80A9CDC: @ 80A9CDC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9CF0 @ =sub_80C8E1C
- ldr r2, _080A9CF4 @ =sub_80A9D58
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CF0: .4byte sub_80C8E1C
-_080A9CF4: .4byte sub_80A9D58
- thumb_func_end sub_80A9CDC
-
- thumb_func_start sub_80A9CF8
-sub_80A9CF8: @ 80A9CF8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A9D28 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A9D20
- ldr r0, _080A9D2C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x1C]
- bl DestroyTask
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8071C20
-_080A9D20:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9D28: .4byte gReceivedRemoteLinkPlayers
-_080A9D2C: .4byte gTasks
- thumb_func_end sub_80A9CF8
-
- thumb_func_start sub_80A9D30
-sub_80A9D30: @ 80A9D30
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800832C
- ldr r1, _080A9D50 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A9D54 @ =sub_80A9CF8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9D50: .4byte gTasks
-_080A9D54: .4byte sub_80A9CF8
- thumb_func_end sub_80A9D30
-
- thumb_func_start sub_80A9D58
-sub_80A9D58: @ 80A9D58
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r1, _080A9DA8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, 0x12
- adds r2, r0, r1
-_080A9D6E:
- mov r0, sp
- adds r1, r0, r3
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _080A9D6E
- mov r0, sp
- bl sub_80C4B34
- ldr r1, _080A9DAC @ =gUnknown_0203869B
- strb r0, [r1]
- ldr r0, _080A9DB0 @ =gUnknown_0203869C
- ldrb r0, [r0]
- bl sub_80AE82C
- movs r0, 0
- bl sub_80B0F28
- ldr r1, _080A9DB4 @ =sub_80C8EBC
- ldr r2, _080A9DB8 @ =sub_80A9DBC
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9DA8: .4byte gTasks
-_080A9DAC: .4byte gUnknown_0203869B
-_080A9DB0: .4byte gUnknown_0203869C
-_080A9DB4: .4byte sub_80C8EBC
-_080A9DB8: .4byte sub_80A9DBC
- thumb_func_end sub_80A9D58
-
- thumb_func_start sub_80A9DBC
-sub_80A9DBC: @ 80A9DBC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9DD0 @ =sub_80C8F34
- ldr r2, _080A9DD4 @ =sub_80A9DD8
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9DD0: .4byte sub_80C8F34
-_080A9DD4: .4byte sub_80A9DD8
- thumb_func_end sub_80A9DBC
-
- thumb_func_start sub_80A9DD8
-sub_80A9DD8: @ 80A9DD8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A9E00 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x1C]
- bl DestroyTask
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8071C20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E00: .4byte gTasks
- thumb_func_end sub_80A9DD8
-
- thumb_func_start sub_80A9E04
-sub_80A9E04: @ 80A9E04
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080A9E30 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x2
- bne _080A9E2A
- ldr r2, _080A9E34 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x1C]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080A9E38 @ =sub_80A9D30
- str r1, [r0]
-_080A9E2A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E30: .4byte gMain
-_080A9E34: .4byte gTasks
-_080A9E38: .4byte sub_80A9D30
- thumb_func_end sub_80A9E04
-
- thumb_func_start sub_80A9E3C
-sub_80A9E3C: @ 80A9E3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl OpenLink
- movs r1, 0
- ldr r3, _080A9E74 @ =gBlockRecvBuffer
- movs r2, 0xFF
-_080A9E4C:
- lsls r0, r1, 8
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080A9E4C
- ldr r1, _080A9E78 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080A9E7C @ =sub_80A9E80
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E74: .4byte gBlockRecvBuffer
-_080A9E78: .4byte gTasks
-_080A9E7C: .4byte sub_80A9E80
- thumb_func_end sub_80A9E3C
-
- thumb_func_start sub_80A9E80
-sub_80A9E80: @ 80A9E80
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9EA0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x9
- bgt _080A9EA4
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
- b _080A9ECC
- .align 2, 0
-_080A9EA0: .4byte gTasks
-_080A9EA4:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080A9ECC
- movs r0, 0
- strh r0, [r4, 0x8]
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _080A9EC8
- ldr r0, _080A9EC4 @ =sub_80A9ED8
- b _080A9ECA
- .align 2, 0
-_080A9EC4: .4byte sub_80A9ED8
-_080A9EC8:
- ldr r0, _080A9ED4 @ =sub_80A9F10
-_080A9ECA:
- str r0, [r4]
-_080A9ECC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9ED4: .4byte sub_80A9F10
- thumb_func_end sub_80A9E80
-
- thumb_func_start sub_80A9ED8
-sub_80A9ED8: @ 80A9ED8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9F08 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x65
- bne _080A9F02
- bl sub_8007F4C
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _080A9F0C @ =sub_80A9F10
- str r0, [r4]
-_080A9F02:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9F08: .4byte gTasks
-_080A9F0C: .4byte sub_80A9F10
- thumb_func_end sub_80A9ED8
-
- thumb_func_start sub_80A9F10
-sub_80A9F10: @ 80A9F10
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A9F44 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A9F3E
- bl GetMultiplayerId
- ldr r1, _080A9F48 @ =gUnknown_02038695
- strb r0, [r1]
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080A9F3E
- ldr r1, _080A9F4C @ =gUnknown_0203869A
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080A9F3E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9F44: .4byte gReceivedRemoteLinkPlayers
-_080A9F48: .4byte gUnknown_02038695
-_080A9F4C: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9F10
-
- thumb_func_start sub_80A9F50
-sub_80A9F50: @ 80A9F50
- push {r4,lr}
- movs r2, 0x80
- lsls r2, 19
- movs r0, 0x40
- strh r0, [r2]
- ldrh r0, [r2]
- movs r3, 0x88
- lsls r3, 5
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r4, _080A9FB8 @ =gWindowConfig_81E6C3C
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, _080A9FBC @ =gMenuWindow
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r0, _080A9FC0 @ =REG_MOSAIC
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x44
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r0, _080A9FC4 @ =gUnknown_030042A4
- strh r1, [r0]
- ldr r0, _080A9FC8 @ =gUnknown_030042A0
- strh r1, [r0]
- ldr r0, _080A9FCC @ =gUnknown_030042C0
- strh r1, [r0]
- ldr r0, _080A9FD0 @ =gUnknown_030041B4
- strh r1, [r0]
- ldr r0, _080A9FD4 @ =gUnknown_03004288
- strh r1, [r0]
- ldr r0, _080A9FD8 @ =gUnknown_03004280
- strh r1, [r0]
- ldr r0, _080A9FDC @ =gUnknown_030041B0
- strh r1, [r0]
- ldr r0, _080A9FE0 @ =gUnknown_030041B8
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9FB8: .4byte gWindowConfig_81E6C3C
-_080A9FBC: .4byte gMenuWindow
-_080A9FC0: .4byte REG_MOSAIC
-_080A9FC4: .4byte gUnknown_030042A4
-_080A9FC8: .4byte gUnknown_030042A0
-_080A9FCC: .4byte gUnknown_030042C0
-_080A9FD0: .4byte gUnknown_030041B4
-_080A9FD4: .4byte gUnknown_03004288
-_080A9FD8: .4byte gUnknown_03004280
-_080A9FDC: .4byte gUnknown_030041B0
-_080A9FE0: .4byte gUnknown_030041B8
- thumb_func_end sub_80A9F50
-
- thumb_func_start sub_80A9FE4
-sub_80A9FE4: @ 80A9FE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r1, _080AA054 @ =gUnknown_083C9228
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- add r5, sp, 0x8
- movs r6, 0
- ldr r1, _080AA058 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- mov r12, r5
- ldr r7, _080AA05C @ =0x85000400
- movs r0, 0x85
- lsls r0, 24
- mov r8, r0
-_080AA012:
- str r6, [sp, 0x8]
- mov r0, r12
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AA012
- str r6, [sp, 0x8]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r8
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xC0
- lsls r0, 19
- mov r1, sp
- bl sub_80034D4
- ldr r0, _080AA060 @ =gWindowConfig_81E6C3C
- bl LoadFontDefaultPalette
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA054: .4byte gUnknown_083C9228
-_080AA058: .4byte 0x040000d4
-_080AA05C: .4byte 0x85000400
-_080AA060: .4byte gWindowConfig_81E6C3C
- thumb_func_end sub_80A9FE4
-
- thumb_func_start sub_80AA064
-sub_80AA064: @ 80AA064
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- ldr r0, _080AA088 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x4
- bne _080AA084
- ldr r0, _080AA08C @ =sub_805469C
- bl SetMainCallback2
-_080AA084:
- pop {r0}
- bx r0
- .align 2, 0
-_080AA088: .4byte gMain
-_080AA08C: .4byte sub_805469C
- thumb_func_end sub_80AA064
-
- thumb_func_start sub_80AA090
-sub_80AA090: @ 80AA090
- push {lr}
- ldr r1, _080AA0E8 @ =REG_BG0HOFS
- ldr r0, _080AA0EC @ =gUnknown_030042A4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F0 @ =gUnknown_030042A0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F4 @ =gUnknown_030042C0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F8 @ =gUnknown_030041B4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0FC @ =gUnknown_03004288
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA100 @ =gUnknown_03004280
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA104 @ =gUnknown_030041B0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA108 @ =gUnknown_030041B8
- ldrh r0, [r0]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_080AA0E8: .4byte REG_BG0HOFS
-_080AA0EC: .4byte gUnknown_030042A4
-_080AA0F0: .4byte gUnknown_030042A0
-_080AA0F4: .4byte gUnknown_030042C0
-_080AA0F8: .4byte gUnknown_030041B4
-_080AA0FC: .4byte gUnknown_03004288
-_080AA100: .4byte gUnknown_03004280
-_080AA104: .4byte gUnknown_030041B0
-_080AA108: .4byte gUnknown_030041B8
- thumb_func_end sub_80AA090
-
- thumb_func_start sub_80AA10C
-sub_80AA10C: @ 80AA10C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r4, _080AA238 @ =gPaletteFade
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80A9F50
- bl dp12_8087EA4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl sub_80A9FE4
- ldr r0, _080AA23C @ =sub_80AA090
- bl SetVBlankCallback
- ldr r0, _080AA240 @ =sub_80AA064
- bl SetMainCallback2
- ldrb r1, [r4, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r4, 0x8]
- ldr r4, _080AA244 @ =gUnknown_02038694
- movs r0, 0
- strb r0, [r4]
- ldr r0, _080AA248 @ =gUnknown_02038570
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _080AA16A
- movs r0, 0
- movs r1, 0
- bl sub_80AE398
-_080AA16A:
- ldrb r0, [r4]
- bl sub_80AE098
- movs r5, 0
- ldr r6, _080AA24C @ =gUnknown_083C9276
- adds r0, r6, 0x1
- mov r8, r0
- ldr r7, _080AA250 @ =gUnknown_083C9364
-_080AA17A:
- lsls r2, r5, 2
- adds r0, r2, r7
- ldr r1, [r0]
- adds r2, r5
- lsls r2, 17
- movs r0, 0xA8
- lsls r0, 14
- adds r2, r0
- lsrs r2, 16
- lsls r4, r5, 1
- adds r0, r4, r6
- ldrb r3, [r0]
- add r4, r8
- ldrb r0, [r4]
- str r0, [sp]
- ldr r0, _080AA254 @ =gMenuWindow
- bl sub_8003460
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080AA17A
- ldr r1, _080AA258 @ =gUnknown_0203869C
- ldr r4, _080AA25C @ =gUnknown_0203869E
- movs r0, 0
- strh r0, [r4]
- strh r0, [r1]
- movs r5, 0
- movs r0, 0
- bl sub_80AA5BC
- ldrb r0, [r4]
- bl sub_80AA5E8
- ldr r4, _080AA254 @ =gMenuWindow
- ldr r1, _080AA260 @ =gUnknown_083C9337
- movs r0, 0x12
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0xD6
- movs r3, 0x12
- bl sub_8003460
- ldr r1, _080AA264 @ =gUnknown_083C933B
- movs r0, 0xC
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0xDC
- movs r3, 0
- bl sub_8003460
- ldr r0, _080AA268 @ =gUnknown_083C92B4
- bl LoadSpriteSheet
- ldr r0, _080AA26C @ =gUnknown_083C92BC
- bl LoadSpritePalette
- movs r0, 0x3
- bl sub_80AA280
- movs r0, 0x3
- bl sub_80AA658
- movs r0, 0x3
- movs r1, 0
- bl sub_80AA614
- ldr r0, _080AA270 @ =gSpriteTemplate_83C92CC
- ldr r1, _080AA274 @ =gUnknown_083C9296
- ldrb r1, [r1, 0x3]
- ldr r2, _080AA278 @ =gUnknown_083C92A8
- ldrb r2, [r2, 0x1]
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AA27C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- movs r0, 0x3
- strh r0, [r1, 0x32]
- strh r5, [r1, 0x34]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA238: .4byte gPaletteFade
-_080AA23C: .4byte sub_80AA090
-_080AA240: .4byte sub_80AA064
-_080AA244: .4byte gUnknown_02038694
-_080AA248: .4byte gUnknown_02038570
-_080AA24C: .4byte gUnknown_083C9276
-_080AA250: .4byte gUnknown_083C9364
-_080AA254: .4byte gMenuWindow
-_080AA258: .4byte gUnknown_0203869C
-_080AA25C: .4byte gUnknown_0203869E
-_080AA260: .4byte gUnknown_083C9337
-_080AA264: .4byte gUnknown_083C933B
-_080AA268: .4byte gUnknown_083C92B4
-_080AA26C: .4byte gUnknown_083C92BC
-_080AA270: .4byte gSpriteTemplate_83C92CC
-_080AA274: .4byte gUnknown_083C9296
-_080AA278: .4byte gUnknown_083C92A8
-_080AA27C: .4byte gSprites
- thumb_func_end sub_80AA10C
-
- thumb_func_start sub_80AA280
-sub_80AA280: @ 80AA280
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080AA2E8 @ =gMenuWindow
- movs r1, 0x1E
- str r1, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- ldr r4, _080AA2EC @ =0x02000000
- ldr r1, _080AA2F0 @ =gUnknown_083C932C
- adds r0, r4, 0
- bl StringCopy
- lsls r1, r7, 6
- ldr r0, _080AA2F4 @ =gUnknown_0203857D
- adds r1, r0
- adds r0, r4, 0
- bl StringAppend
- movs r5, 0
- ldr r6, _080AA2F8 @ =gUnknown_083C926E
- adds r0, r6, 0x1
- mov r8, r0
-_080AA2BE:
- cmp r7, r5
- bne _080AA2FC
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 17
- movs r0, 0x80
- lsls r0, 10
- adds r2, r0
- lsrs r2, 16
- lsls r1, r5, 1
- adds r0, r1, r6
- ldrb r3, [r0]
- add r1, r8
- ldrb r0, [r1]
- str r0, [sp]
- ldr r0, _080AA2E8 @ =gMenuWindow
- ldr r1, _080AA2EC @ =0x02000000
- bl sub_8003460
- b _080AA322
- .align 2, 0
-_080AA2E8: .4byte gMenuWindow
-_080AA2EC: .4byte 0x02000000
-_080AA2F0: .4byte gUnknown_083C932C
-_080AA2F4: .4byte gUnknown_0203857D
-_080AA2F8: .4byte gUnknown_083C926E
-_080AA2FC:
- lsls r1, r5, 6
- ldr r0, _080AA338 @ =gUnknown_0203857D
- adds r1, r0
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 17
- movs r0, 0x80
- lsls r0, 10
- adds r2, r0
- lsrs r2, 16
- lsls r4, r5, 1
- adds r0, r4, r6
- ldrb r3, [r0]
- add r4, r8
- ldrb r0, [r4]
- str r0, [sp]
- ldr r0, _080AA33C @ =gMenuWindow
- bl sub_8003460
-_080AA322:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AA2BE
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA338: .4byte gUnknown_0203857D
-_080AA33C: .4byte gMenuWindow
- thumb_func_end sub_80AA280
-
- thumb_func_start sub_80AA340
-sub_80AA340: @ 80AA340
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA378 @ =0x02000000
- ldr r1, _080AA37C @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x26
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA380 @ =gMenuWindow
- ldr r1, _080AA384 @ =gUnknown_083C9282
- ldrb r3, [r1]
- ldrb r1, [r1, 0x1]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x66
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA378: .4byte 0x02000000
-_080AA37C: .4byte gUnknown_02038570
-_080AA380: .4byte gMenuWindow
-_080AA384: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA340
-
- thumb_func_start sub_80AA388
-sub_80AA388: @ 80AA388
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA3C0 @ =0x02000000
- ldr r1, _080AA3C4 @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA3C8 @ =gMenuWindow
- ldr r1, _080AA3CC @ =gUnknown_083C9282
- ldrb r3, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x6C
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA3C0: .4byte 0x02000000
-_080AA3C4: .4byte gUnknown_02038570
-_080AA3C8: .4byte gMenuWindow
-_080AA3CC: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA388
-
- thumb_func_start sub_80AA3D0
-sub_80AA3D0: @ 80AA3D0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA408 @ =0x02000000
- ldr r1, _080AA40C @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x27
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA410 @ =gMenuWindow
- ldr r1, _080AA414 @ =gUnknown_083C9282
- ldrb r3, [r1, 0x4]
- ldrb r1, [r1, 0x5]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x72
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA408: .4byte 0x02000000
-_080AA40C: .4byte gUnknown_02038570
-_080AA410: .4byte gMenuWindow
-_080AA414: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA3D0
-
- thumb_func_start sub_80AA418
-sub_80AA418: @ 80AA418
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA450 @ =0x02000000
- ldr r1, _080AA454 @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x29
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA458 @ =gMenuWindow
- ldr r1, _080AA45C @ =gUnknown_083C9282
- ldrb r3, [r1, 0x6]
- ldrb r1, [r1, 0x7]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x78
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA450: .4byte 0x02000000
-_080AA454: .4byte gUnknown_02038570
-_080AA458: .4byte gMenuWindow
-_080AA45C: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA418
-
- thumb_func_start sub_80AA460
-sub_80AA460: @ 80AA460
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA498 @ =0x02000000
- ldr r1, _080AA49C @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x2A
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA4A0 @ =gMenuWindow
- ldr r1, _080AA4A4 @ =gUnknown_083C9282
- ldrb r3, [r1, 0x8]
- ldrb r1, [r1, 0x9]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x7E
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA498: .4byte 0x02000000
-_080AA49C: .4byte gUnknown_02038570
-_080AA4A0: .4byte gMenuWindow
-_080AA4A4: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA460
-
- thumb_func_start sub_80AA4A8
-sub_80AA4A8: @ 80AA4A8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA4E0 @ =0x02000000
- ldr r1, _080AA4E4 @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x2B
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA4E8 @ =gMenuWindow
- ldr r1, _080AA4EC @ =gUnknown_083C9282
- ldrb r3, [r1, 0xA]
- ldrb r1, [r1, 0xB]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x84
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA4E0: .4byte 0x02000000
-_080AA4E4: .4byte gUnknown_02038570
-_080AA4E8: .4byte gMenuWindow
-_080AA4EC: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA4A8
-
- thumb_func_start sub_80AA4F0
-sub_80AA4F0: @ 80AA4F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r7, _080AA5A8 @ =gMenuWindow
- ldr r0, _080AA5AC @ =gUnknown_083C928E
- lsls r5, r6, 1
- adds r1, r5, r0
- ldrb r1, [r1]
- mov r9, r1
- adds r0, 0x1
- adds r0, r5, r0
- ldrb r0, [r0]
- mov r10, r0
- movs r0, 0x7
- add r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- str r0, [sp]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0
- mov r2, r9
- mov r3, r10
- bl FillWindowRect_DefaultPalette
- ldr r0, _080AA5B0 @ =gUnknown_02038570
- lsls r4, 6
- adds r4, r5, r4
- adds r0, 0x1E
- adds r4, r0
- ldrh r1, [r4]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080AA5B4 @ =gMoveNames
- adds r1, r0
- lsls r2, r6, 3
- subs r2, r6
- lsls r2, 17
- movs r0, 0x8A
- lsls r0, 16
- adds r2, r0
- lsrs r2, 16
- mov r0, r10
- str r0, [sp]
- adds r0, r7, 0
- mov r3, r9
- bl sub_8003460
- ldr r0, _080AA5B8 @ =gStringVar1
- mov r9, r0
- ldrh r1, [r4]
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r5, r6
- lsls r5, 17
- movs r0, 0xFA
- lsls r0, 16
- adds r5, r0
- lsrs r5, 16
- mov r0, r10
- str r0, [sp]
- adds r0, r7, 0
- mov r1, r9
- adds r2, r5, 0
- mov r3, r8
- bl sub_8003460
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA5A8: .4byte gMenuWindow
-_080AA5AC: .4byte gUnknown_083C928E
-_080AA5B0: .4byte gUnknown_02038570
-_080AA5B4: .4byte gMoveNames
-_080AA5B8: .4byte gStringVar1
- thumb_func_end sub_80AA4F0
-
- thumb_func_start sub_80AA5BC
-sub_80AA5BC: @ 80AA5BC
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r2, _080AA5E0 @ =gMenuWindow
- ldr r1, _080AA5E4 @ =gUnknown_083C93B4
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x12
- str r0, [sp]
- adds r0, r2, 0
- movs r2, 0xC2
- movs r3, 0x3
- bl sub_8003460
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080AA5E0: .4byte gMenuWindow
-_080AA5E4: .4byte gUnknown_083C93B4
- thumb_func_end sub_80AA5BC
-
- thumb_func_start sub_80AA5E8
-sub_80AA5E8: @ 80AA5E8
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r2, _080AA60C @ =gMenuWindow
- ldr r1, _080AA610 @ =gUnknown_083C93F0
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x4
- str r0, [sp]
- adds r0, r2, 0
- movs r2, 0xE8
- movs r3, 0x3
- bl sub_8003460
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080AA60C: .4byte gMenuWindow
-_080AA610: .4byte gUnknown_083C93F0
- thumb_func_end sub_80AA5E8
-
- thumb_func_start sub_80AA614
-sub_80AA614: @ 80AA614
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl sub_80AE770
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r4, _080AA650 @ =0x02000000
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA654 @ =gMenuWindow
- movs r1, 0xC
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0xE2
- movs r3, 0x3
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA650: .4byte 0x02000000
-_080AA654: .4byte gMenuWindow
- thumb_func_end sub_80AA614
-
- thumb_func_start sub_80AA658
-sub_80AA658: @ 80AA658
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80AA340
- adds r0, r5, 0
- bl sub_80AA388
- adds r0, r5, 0
- bl sub_80AA3D0
- adds r0, r5, 0
- bl sub_80AA418
- adds r0, r5, 0
- bl sub_80AA460
- adds r0, r5, 0
- bl sub_80AA4A8
- movs r4, 0
-_080AA684:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AA4F0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AA684
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AA658
-
- thumb_func_start sub_80AA69C
-sub_80AA69C: @ 80AA69C
- push {r4-r6,lr}
- ldr r6, _080AA748 @ =gPlayerParty
- ldr r5, _080AA74C @ =gUnknown_02038695
- ldrb r2, [r5]
- lsls r2, 6
- ldr r4, _080AA750 @ =gUnknown_02038596
- adds r2, r4
- adds r0, r6, 0
- movs r1, 0x16
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x2
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x18
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x1
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x17
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x3
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x21
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x4
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x2F
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x5
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x30
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- subs r4, 0x8
- adds r2, r4
- adds r0, r6, 0
- movs r1, 0xD
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r2, r4
- adds r2, 0x2
- adds r0, r6, 0
- movs r1, 0xE
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r2, r4
- adds r2, 0x4
- adds r0, r6, 0
- movs r1, 0xF
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r2, r4
- adds r2, 0x6
- adds r0, r6, 0
- movs r1, 0x10
- bl SetMonData
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA748: .4byte gPlayerParty
-_080AA74C: .4byte gUnknown_02038695
-_080AA750: .4byte gUnknown_02038596
- thumb_func_end sub_80AA69C
-
- thumb_func_start sub_80AA754
-sub_80AA754: @ 80AA754
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080AA774 @ =gMain
- ldrh r1, [r0, 0x30]
- cmp r1, 0x20
- beq _080AA7A2
- cmp r1, 0x20
- bgt _080AA782
- cmp r1, 0x2
- beq _080AA7F8
- cmp r1, 0x2
- bgt _080AA778
- cmp r1, 0x1
- beq _080AA7D8
- b _080AA870
- .align 2, 0
-_080AA774: .4byte gMain
-_080AA778:
- cmp r1, 0x8
- beq _080AA868
- cmp r1, 0x10
- beq _080AA7A2
- b _080AA870
-_080AA782:
- cmp r1, 0x80
- beq _080AA7C2
- cmp r1, 0x80
- bgt _080AA790
- cmp r1, 0x40
- beq _080AA7AC
- b _080AA870
-_080AA790:
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _080AA814
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- beq _080AA834
- b _080AA870
-_080AA7A2:
- ldrh r0, [r4, 0x2E]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x2E]
- b _080AA870
-_080AA7AC:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080AA7BC
- movs r0, 0x8
- strh r0, [r4, 0x30]
- b _080AA870
-_080AA7BC:
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080AA870
-_080AA7C2:
- ldrh r1, [r4, 0x30]
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- cmp r0, 0x8
- bne _080AA7D2
- movs r0, 0
- strh r0, [r4, 0x30]
- b _080AA870
-_080AA7D2:
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080AA870
-_080AA7D8:
- ldr r2, _080AA7F4 @ =gUnknown_083C92E4
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r0, 2
- movs r3, 0x30
- ldrsh r1, [r4, r3]
- lsls r1, 3
- adds r0, r1
- adds r0, r2
- ldr r2, [r0]
- adds r0, r4, 0
- movs r1, 0x1
- b _080AA84E
- .align 2, 0
-_080AA7F4: .4byte gUnknown_083C92E4
-_080AA7F8:
- ldr r1, _080AA810 @ =gUnknown_083C92E4
- movs r0, 0x2E
- ldrsh r2, [r4, r0]
- lsls r2, 2
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r2, r0
- adds r2, r1
- movs r1, 0x1
- negs r1, r1
- b _080AA84A
- .align 2, 0
-_080AA810: .4byte gUnknown_083C92E4
-_080AA814:
- ldr r2, _080AA830 @ =gUnknown_083C92E4
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r0, 2
- movs r3, 0x30
- ldrsh r1, [r4, r3]
- lsls r1, 3
- adds r0, r1
- adds r0, r2
- ldr r2, [r0]
- adds r0, r4, 0
- movs r1, 0xA
- b _080AA84E
- .align 2, 0
-_080AA830: .4byte gUnknown_083C92E4
-_080AA834:
- ldr r1, _080AA864 @ =gUnknown_083C92E4
- movs r0, 0x2E
- ldrsh r2, [r4, r0]
- lsls r2, 2
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r2, r0
- adds r2, r1
- movs r1, 0xA
- negs r1, r1
-_080AA84A:
- ldr r2, [r2]
- adds r0, r4, 0
-_080AA84E:
- bl _call_via_r2
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- bl sub_80AA614
- b _080AA870
- .align 2, 0
-_080AA864: .4byte gUnknown_083C92E4
-_080AA868:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80AAD08
-_080AA870:
- ldr r2, _080AA898 @ =gUnknown_083C9296
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- strh r0, [r4, 0x20]
- ldr r1, _080AA89C @ =gUnknown_083C92A8
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x22]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA898: .4byte gUnknown_083C9296
-_080AA89C: .4byte gUnknown_083C92A8
- thumb_func_end sub_80AA754
-
- thumb_func_start sub_80AA8A0
-sub_80AA8A0: @ 80AA8A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r2, 24
- lsrs r0, r2, 24
- lsls r1, 24
- asrs r1, 24
- cmp r1, 0x1
- bne _080AA8C0
- strh r0, [r4, 0x32]
- bl sub_80AA280
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA658
-_080AA8C0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8A0
-
- thumb_func_start sub_80AA8C8
-sub_80AA8C8: @ 80AA8C8
- push {lr}
- lsls r1, 24
- asrs r1, 24
- movs r2, 0
- bl sub_80AA8A0
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8C8
-
- thumb_func_start sub_80AA8D8
-sub_80AA8D8: @ 80AA8D8
- push {lr}
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- bl sub_80AA8A0
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8D8
-
- thumb_func_start sub_80AA8E8
-sub_80AA8E8: @ 80AA8E8
- push {lr}
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x2
- bl sub_80AA8A0
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8E8
-
- thumb_func_start sub_80AA8F8
-sub_80AA8F8: @ 80AA8F8
- push {lr}
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x3
- bl sub_80AA8A0
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8F8
-
- thumb_func_start sub_80AA908
-sub_80AA908: @ 80AA908
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- asrs r2, 24
- adds r2, r1
- lsls r2, 16
- lsrs r0, r2, 16
- asrs r2, 16
- cmp r2, 0xFF
- ble _080AA922
- movs r0, 0xFF
- b _080AA928
-_080AA922:
- cmp r2, 0
- bge _080AA928
- movs r0, 0
-_080AA928:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80AA908
-
- thumb_func_start sub_80AA930
-sub_80AA930: @ 80AA930
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AA970 @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x26
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x26
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA340
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA970: .4byte gUnknown_02038570
- thumb_func_end sub_80AA930
-
- thumb_func_start sub_80AA974
-sub_80AA974: @ 80AA974
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AA9B4 @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x28
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x28
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA388
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA9B4: .4byte gUnknown_02038570
- thumb_func_end sub_80AA974
-
- thumb_func_start sub_80AA9B8
-sub_80AA9B8: @ 80AA9B8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AA9F8 @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x27
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x27
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA3D0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA9F8: .4byte gUnknown_02038570
- thumb_func_end sub_80AA9B8
-
- thumb_func_start sub_80AA9FC
-sub_80AA9FC: @ 80AA9FC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAA3C @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x29
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x29
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA418
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAA3C: .4byte gUnknown_02038570
- thumb_func_end sub_80AA9FC
-
- thumb_func_start sub_80AAA40
-sub_80AAA40: @ 80AAA40
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAA80 @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x2A
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x2A
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA460
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAA80: .4byte gUnknown_02038570
- thumb_func_end sub_80AAA40
-
- thumb_func_start sub_80AAA84
-sub_80AAA84: @ 80AAA84
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAAC4 @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x2B
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x2B
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA4A8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAAC4: .4byte gUnknown_02038570
- thumb_func_end sub_80AAA84
-
- thumb_func_start sub_80AAAC8
-sub_80AAAC8: @ 80AAAC8
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- asrs r2, 24
- adds r1, r2
- lsls r1, 16
- lsrs r0, r1, 16
- asrs r1, 16
- movs r2, 0xB1
- lsls r2, 1
- cmp r1, r2
- ble _080AAAE6
- movs r0, 0x1
- b _080AAAEC
-_080AAAE6:
- cmp r1, 0
- bge _080AAAEC
- adds r0, r2, 0
-_080AAAEC:
- pop {r1}
- bx r1
- thumb_func_end sub_80AAAC8
-
- thumb_func_start sub_80AAAF0
-sub_80AAAF0: @ 80AAAF0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAB2C @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- ldrh r3, [r2, 0x1E]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AAAC8
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1, 0x1E]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80AA4F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAB2C: .4byte gUnknown_02038570
- thumb_func_end sub_80AAAF0
-
- thumb_func_start sub_80AAB30
-sub_80AAB30: @ 80AAB30
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAB6C @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- ldrh r3, [r2, 0x20]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AAAC8
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_80AA4F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAB6C: .4byte gUnknown_02038570
- thumb_func_end sub_80AAB30
-
- thumb_func_start sub_80AAB70
-sub_80AAB70: @ 80AAB70
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AABAC @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- ldrh r3, [r2, 0x22]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AAAC8
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1, 0x22]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_80AA4F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AABAC: .4byte gUnknown_02038570
- thumb_func_end sub_80AAB70
-
- thumb_func_start sub_80AABB0
-sub_80AABB0: @ 80AABB0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AABEC @ =gUnknown_02038570
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- ldrh r3, [r2, 0x24]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AAAC8
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl sub_80AA4F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AABEC: .4byte gUnknown_02038570
- thumb_func_end sub_80AABB0
-
- thumb_func_start sub_80AABF0
-sub_80AABF0: @ 80AABF0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- movs r0, 0xFF
- cmp r1, 0
- ble _080AABFE
- movs r0, 0x1
-_080AABFE:
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r5, 0x34]
- adds r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080AAC14
- movs r4, 0
- b _080AAC1A
-_080AAC14:
- cmp r0, 0x4
- ble _080AAC1A
- movs r4, 0x4
-_080AAC1A:
- lsls r4, 24
- lsrs r0, r4, 24
- bl sub_80AA5BC
- asrs r4, 24
- strh r4, [r5, 0x34]
- ldr r0, _080AAC54 @ =gUnknown_0203869C
- strh r4, [r0]
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080AAC58 @ =gUnknown_0203869E
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80AE398
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA280
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA658
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAC54: .4byte gUnknown_0203869C
-_080AAC58: .4byte gUnknown_0203869E
- thumb_func_end sub_80AABF0
-
- thumb_func_start sub_80AAC5C
-sub_80AAC5C: @ 80AAC5C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- ble _080AAC78
- ldr r1, _080AAC74 @ =gUnknown_0203869E
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r4, r1, 0
- b _080AAC86
- .align 2, 0
-_080AAC74: .4byte gUnknown_0203869E
-_080AAC78:
- ldr r0, _080AACBC @ =gUnknown_0203869E
- ldrh r2, [r0]
- adds r4, r0, 0
- cmp r2, 0
- beq _080AAC86
- subs r0, r2, 0x1
- strh r0, [r4]
-_080AAC86:
- adds r1, r4, 0
- ldrh r0, [r1]
- cmp r0, 0x3
- bls _080AAC92
- movs r0, 0x3
- strh r0, [r1]
-_080AAC92:
- ldrb r0, [r4]
- bl sub_80AA5E8
- ldr r0, _080AACC0 @ =gUnknown_0203869C
- ldrb r0, [r0]
- ldrb r1, [r4]
- bl sub_80AE398
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA280
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA658
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AACBC: .4byte gUnknown_0203869E
-_080AACC0: .4byte gUnknown_0203869C
- thumb_func_end sub_80AAC5C
-
- thumb_func_start sub_80AACC4
-sub_80AACC4: @ 80AACC4
- push {lr}
- bl UpdatePaletteFade
- ldr r0, _080AACF8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080AACF4
- bl sub_80AA69C
- ldr r0, _080AACFC @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AACEE
- ldr r0, _080AAD00 @ =0x02000000
- ldrb r0, [r0]
- bl sub_80AE82C
-_080AACEE:
- ldr r0, _080AAD04 @ =sub_80AB47C
- bl SetMainCallback2
-_080AACF4:
- pop {r0}
- bx r0
- .align 2, 0
-_080AACF8: .4byte gPaletteFade
-_080AACFC: .4byte gUnknown_0203869A
-_080AAD00: .4byte 0x02000000
-_080AAD04: .4byte sub_80AB47C
- thumb_func_end sub_80AACC4
-
- thumb_func_start sub_80AAD08
-sub_80AAD08: @ 80AAD08
- push {r4,lr}
- sub sp, 0x4
- lsls r1, 24
- asrs r1, 24
- cmp r1, 0x1
- bne _080AAD32
- ldr r1, _080AAD3C @ =0x02000000
- ldrh r0, [r0, 0x34]
- movs r4, 0
- strb r0, [r1]
- ldr r0, _080AAD40 @ =sub_80AACC4
- bl SetMainCallback2
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080AAD32:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAD3C: .4byte 0x02000000
-_080AAD40: .4byte sub_80AACC4
- thumb_func_end sub_80AAD08
-
- thumb_func_start sub_80AAD44
-sub_80AAD44: @ 80AAD44
- push {r4,r5,lr}
- lsls r1, 24
- asrs r1, 24
- cmp r1, 0x1
- bne _080AAD72
- bl sub_80AA69C
- movs r4, 0
- ldr r5, _080AAD78 @ =gUnknown_02038670
-_080AAD56:
- lsls r0, r4, 24
- lsrs r0, 24
- ldr r1, _080AAD7C @ =gUnknown_0203869C
- ldrb r1, [r1]
- bl sub_80AE770
- strh r0, [r5]
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AAD56
- ldr r0, _080AAD80 @ =sub_805469C
- bl SetMainCallback2
-_080AAD72:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAD78: .4byte gUnknown_02038670
-_080AAD7C: .4byte gUnknown_0203869C
-_080AAD80: .4byte sub_805469C
- thumb_func_end sub_80AAD44
-
- thumb_func_start sub_80AAD84
-sub_80AAD84: @ 80AAD84
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x64
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x48]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4C]
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- mov r5, r10
- adds r5, 0x1
- lsls r1, r5, 8
- ldr r0, _080AAEC4 @ =0x06018000
- subs r1, r0, r1
- movs r0, 0
- str r0, [sp, 0x44]
- ldr r4, _080AAEC8 @ =0x040000d4
- add r0, sp, 0x44
- str r0, [r4]
- str r1, [r4, 0x4]
- ldr r0, _080AAECC @ =0x85000040
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- mov r0, r9
- bl StringLength
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x8
- bls _080AADD0
- movs r7, 0x8
-_080AADD0:
- movs r6, 0
- mov r8, r5
- mov r1, r10
- lsls r1, 1
- str r1, [sp, 0x58]
- ldr r2, [sp, 0x48]
- adds r2, 0x20
- str r2, [sp, 0x5C]
- cmp r6, r7
- bge _080AAE1E
- add r5, sp, 0x40
- add r0, sp, 0x20
- mov r10, r0
- ldr r2, _080AAEC4 @ =0x06018000
-_080AADEC:
- mov r1, r9
- adds r0, r1, r6
- ldrb r0, [r0]
- strb r0, [r5]
- movs r0, 0xFF
- strb r0, [r5, 0x1]
- mov r0, sp
- adds r1, r5, 0
- str r2, [sp, 0x60]
- bl sub_80034D4
- mov r1, r8
- lsls r0, r1, 8
- ldr r2, [sp, 0x60]
- subs r0, r2, r0
- mov r1, r10
- str r1, [r4]
- str r0, [r4, 0x4]
- ldr r0, _080AAED0 @ =0x84000008
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r2, 0x20
- adds r6, 0x1
- cmp r6, r7
- blt _080AADEC
-_080AAE1E:
- movs r1, 0x7C
- ldr r2, [sp, 0x58]
- subs r1, r2
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080AAED4 @ =gMain
- mov r9, r0
- lsls r3, r7, 3
- add r3, r9
- ldr r0, _080AAED8 @ =gUnknown_083C9400
- ldr r1, [r0]
- ldr r2, [r0, 0x4]
- str r1, [sp, 0x50]
- str r2, [sp, 0x54]
- str r1, [r3, 0x3C]
- str r2, [r3, 0x40]
- mov r2, r8
- lsls r0, r2, 3
- movs r1, 0x80
- lsls r1, 3
- adds r2, r1, 0
- subs r2, r0
- adds r6, r3, 0
- adds r6, 0x40
- ldr r0, _080AAEDC @ =0x000003ff
- mov r8, r0
- mov r1, r8
- ands r2, r1
- ldrh r5, [r6]
- ldr r4, _080AAEE0 @ =0xfffffc00
- adds r0, r4, 0
- ands r0, r5
- orrs r0, r2
- strh r0, [r6]
- ldrh r5, [r3, 0x3E]
- ldr r2, _080AAEE4 @ =0xfffffe00
- adds r0, r2, 0
- ands r0, r5
- ldr r1, [sp, 0x48]
- orrs r0, r1
- strh r0, [r3, 0x3E]
- adds r3, 0x3C
- add r0, sp, 0x4C
- ldrb r0, [r0]
- strb r0, [r3]
- adds r1, r7, 0x1
- lsls r1, 3
- mov r0, r9
- adds r7, r1, r0
- ldr r0, [sp, 0x50]
- ldr r1, [sp, 0x54]
- str r0, [r7, 0x3C]
- str r1, [r7, 0x40]
- ldrh r0, [r6]
- lsls r0, 22
- lsrs r0, 22
- adds r0, 0x4
- adds r5, r7, 0
- adds r5, 0x40
- mov r1, r8
- ands r0, r1
- ldrh r3, [r5]
- ands r4, r3
- orrs r4, r0
- strh r4, [r5]
- ldrh r0, [r7, 0x3E]
- ands r2, r0
- ldr r0, [sp, 0x5C]
- orrs r2, r0
- strh r2, [r7, 0x3E]
- adds r1, r7, 0
- adds r1, 0x3C
- add r2, sp, 0x4C
- ldrb r2, [r2]
- strb r2, [r1]
- add sp, 0x64
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAEC4: .4byte 0x06018000
-_080AAEC8: .4byte 0x040000d4
-_080AAECC: .4byte 0x85000040
-_080AAED0: .4byte 0x84000008
-_080AAED4: .4byte gMain
-_080AAED8: .4byte gUnknown_083C9400
-_080AAEDC: .4byte 0x000003ff
-_080AAEE0: .4byte 0xfffffc00
-_080AAEE4: .4byte 0xfffffe00
- thumb_func_end sub_80AAD84
-
- thumb_func_start unref_sub_80AAEE8
-unref_sub_80AAEE8: @ 80AAEE8
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r5, r3, 24
- movs r0, 0
- cmp r4, 0
- bge _080AAF08
- mov r1, sp
- movs r0, 0xAE
- strb r0, [r1]
- movs r0, 0x1
-_080AAF08:
- add r0, sp
- adds r1, r4, 0
- cmp r1, 0
- bge _080AAF12
- negs r1, r1
-_080AAF12:
- movs r2, 0
- movs r3, 0x8
- bl ConvertIntToDecimalStringN
- mov r0, sp
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80AAD84
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80AAEE8
-
- thumb_func_start sub_80AAF30
-sub_80AAF30: @ 80AAF30
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r1, _080AAFC0 @ =gUnknown_0203856C
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080AAFC4 @ =gUnknown_02038695
- movs r0, 0x3
- strb r0, [r1]
- movs r0, 0
- bl sub_80AE098
- movs r4, 0x3
- movs r5, 0x1
- negs r5, r5
- ldr r3, _080AAFC8 @ =gUnknown_02038690
- movs r2, 0x3
-_080AAF56:
- adds r1, r4, r3
- subs r0, r2, r4
- strb r0, [r1]
- subs r4, 0x1
- cmp r4, r5
- bgt _080AAF56
- movs r4, 0
- movs r6, 0
- ldr r7, _080AAFCC @ =gUnknown_02038670
- ldr r5, _080AAFD0 @ =gUnknown_02038570
- mov r9, r5
-_080AAF6C:
- lsls r1, r4, 1
- strh r6, [r7]
- ldr r0, _080AAFD4 @ =gUnknown_02038680
- mov r8, r0
- adds r0, r1, r0
- strh r6, [r0]
- ldr r3, _080AAFD8 @ =gUnknown_02038678
- adds r1, r3
- strh r6, [r1]
- adds r0, r5, 0
- mov r1, r9
- adds r1, 0xC0
- movs r2, 0x40
- str r3, [sp]
- bl memcpy
- adds r7, 0x2
- adds r5, 0x40
- adds r4, 0x1
- ldr r3, [sp]
- cmp r4, 0x2
- ble _080AAF6C
- ldr r0, _080AAFCC @ =gUnknown_02038670
- movs r1, 0x96
- lsls r1, 1
- strh r1, [r0, 0x6]
- movs r0, 0xC8
- lsls r0, 1
- mov r1, r8
- strh r0, [r1, 0x6]
- strh r0, [r3, 0x6]
- movs r0, 0xFE
- bl sub_80B2A7C
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAFC0: .4byte gUnknown_0203856C
-_080AAFC4: .4byte gUnknown_02038695
-_080AAFC8: .4byte gUnknown_02038690
-_080AAFCC: .4byte gUnknown_02038670
-_080AAFD0: .4byte gUnknown_02038570
-_080AAFD4: .4byte gUnknown_02038680
-_080AAFD8: .4byte gUnknown_02038678
- thumb_func_end sub_80AAF30
-
- thumb_func_start sub_80AAFDC
-sub_80AAFDC: @ 80AAFDC
- push {lr}
- bl sub_80AAF30
- bl sub_8071C20
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80AAFDC
-
- thumb_func_start sub_80AAFEC
-sub_80AAFEC: @ 80AAFEC
- push {r4,lr}
- ldr r1, _080AB01C @ =gUnknown_0203856C
- movs r0, 0
- strb r0, [r1]
- movs r4, 0
- ldr r3, _080AB020 @ =gUnknown_02038678
- ldr r2, _080AB024 @ =gUnknown_02038680
- ldr r1, _080AB028 @ =gUnknown_02038670
- movs r0, 0x3
-_080AAFFE:
- strh r4, [r1]
- strh r4, [r2]
- strh r4, [r3]
- adds r3, 0x2
- adds r2, 0x2
- adds r1, 0x2
- subs r0, 0x1
- cmp r0, 0
- bge _080AAFFE
- bl sub_8071C20
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AB01C: .4byte gUnknown_0203856C
-_080AB020: .4byte gUnknown_02038678
-_080AB024: .4byte gUnknown_02038680
-_080AB028: .4byte gUnknown_02038670
- thumb_func_end sub_80AAFEC
-
- thumb_func_start sub_80AB02C
-sub_80AB02C: @ 80AB02C
- push {r4,r5,lr}
- ldr r1, _080AB078 @ =gUnknown_02038695
- movs r0, 0x3
- strb r0, [r1]
- movs r0, 0
- bl sub_80AE098
- movs r2, 0x3
- movs r5, 0x1
- negs r5, r5
- ldr r4, _080AB07C @ =gUnknown_02038690
- movs r3, 0x3
-_080AB044:
- adds r1, r2, r4
- subs r0, r3, r2
- strb r0, [r1]
- subs r2, 0x1
- cmp r2, r5
- bgt _080AB044
- ldr r1, _080AB080 @ =gUnknown_0203869C
- movs r0, 0
- strh r0, [r1]
- adds r4, r1, 0
-_080AB058:
- movs r0, 0xFF
- bl sub_80B2A7C
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bls _080AB058
- bl sub_8071C20
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AB078: .4byte gUnknown_02038695
-_080AB07C: .4byte gUnknown_02038690
-_080AB080: .4byte gUnknown_0203869C
- thumb_func_end sub_80AB02C
-
- thumb_func_start unref_sub_80AB084
-unref_sub_80AB084: @ 80AB084
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- ldr r0, _080AB160 @ =REG_BG0HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x22
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- movs r2, 0x80
- lsls r2, 19
- movs r3, 0xFA
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r2]
- ldr r3, _080AB164 @ =0x04000208
- ldrh r2, [r3]
- strh r1, [r3]
- ldr r4, _080AB168 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r1, _080AB16C @ =REG_DISPSTAT
- movs r0, 0x8
- strh r0, [r1]
- bl ResetTasks
- bl ResetSpriteData
- ldr r0, _080AB170 @ =sub_80AB184
- bl SetMainCallback2
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- movs r5, 0
- ldr r1, _080AB174 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _080AB178 @ =0x85000400
- movs r7, 0x85
- lsls r7, 24
-_080AB108:
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AB108
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r4, _080AB17C @ =gWindowConfig_81E6FD8
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r5, _080AB180 @ =gUnknown_03004210
- adds r0, r5, 0
- adds r1, r4, 0
- bl InitWindowFromConfig
- adds r0, r4, 0
- bl LoadFontDefaultPalette
- movs r0, 0x7
- str r0, [sp]
- adds r0, r5, 0
- mov r1, r8
- movs r2, 0x1
- movs r3, 0x9
- bl sub_8003460
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB160: .4byte REG_BG0HOFS
-_080AB164: .4byte 0x04000208
-_080AB168: .4byte 0x04000200
-_080AB16C: .4byte REG_DISPSTAT
-_080AB170: .4byte sub_80AB184
-_080AB174: .4byte 0x040000d4
-_080AB178: .4byte 0x85000400
-_080AB17C: .4byte gWindowConfig_81E6FD8
-_080AB180: .4byte gUnknown_03004210
- thumb_func_end unref_sub_80AB084
-
- thumb_func_start sub_80AB184
-sub_80AB184: @ 80AB184
- ldr r0, _080AB1A8 @ =REG_BG0HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080AB1A8: .4byte REG_BG0HOFS
- thumb_func_end sub_80AB184
-
- thumb_func_start nullsub_89
-nullsub_89: @ 80AB1AC
- bx lr
- thumb_func_end nullsub_89
-
- thumb_func_start sub_80AB1B0
-sub_80AB1B0: @ 80AB1B0
- ldr r1, _080AB1B8 @ =gUnknown_0203869A
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080AB1B8: .4byte gUnknown_0203869A
- thumb_func_end sub_80AB1B0
-
- thumb_func_start sub_80AB1BC
-sub_80AB1BC: @ 80AB1BC
- push {r4-r6,lr}
- movs r6, 0x80
- lsls r6, 19
- movs r0, 0x40
- strh r0, [r6]
- ldr r4, _080AB260 @ =0x04000208
- ldrh r3, [r4]
- movs r2, 0
- strh r2, [r4]
- ldr r5, _080AB264 @ =0x04000200
- ldrh r0, [r5]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r5]
- strh r3, [r4]
- ldr r1, _080AB268 @ =REG_DISPSTAT
- movs r0, 0x8
- strh r0, [r1]
- adds r1, 0x4
- movs r3, 0x98
- lsls r3, 8
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080AB26C @ =0x00009e09
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0x9C
- lsls r3, 8
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080AB270 @ =0x00003a03
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080AB274 @ =REG_BLDCNT
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- subs r0, 0xC
- ldr r3, _080AB278 @ =0x00003f3f
- adds r1, r3, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldrh r0, [r6]
- movs r3, 0xFE
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r6]
- ldr r0, _080AB27C @ =gUnknown_030042A4
- strh r2, [r0]
- ldr r0, _080AB280 @ =gUnknown_030042A0
- strh r2, [r0]
- ldr r0, _080AB284 @ =gUnknown_030042C0
- strh r2, [r0]
- ldr r0, _080AB288 @ =gUnknown_030041B4
- strh r2, [r0]
- ldr r0, _080AB28C @ =gUnknown_03004288
- strh r2, [r0]
- ldr r0, _080AB290 @ =gUnknown_03004280
- strh r2, [r0]
- ldr r0, _080AB294 @ =gUnknown_030041B0
- strh r2, [r0]
- ldr r0, _080AB298 @ =gUnknown_030041B8
- strh r2, [r0]
- ldr r0, _080AB29C @ =gUnknown_030042C4
- strh r2, [r0]
- ldr r0, _080AB2A0 @ =gUnknown_03004240
- strh r2, [r0]
- ldr r0, _080AB2A4 @ =gUnknown_03004200
- strh r2, [r0]
- ldr r0, _080AB2A8 @ =gUnknown_03004244
- strh r2, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB260: .4byte 0x04000208
-_080AB264: .4byte 0x04000200
-_080AB268: .4byte REG_DISPSTAT
-_080AB26C: .4byte 0x00009e09
-_080AB270: .4byte 0x00003a03
-_080AB274: .4byte REG_BLDCNT
-_080AB278: .4byte 0x00003f3f
-_080AB27C: .4byte gUnknown_030042A4
-_080AB280: .4byte gUnknown_030042A0
-_080AB284: .4byte gUnknown_030042C0
-_080AB288: .4byte gUnknown_030041B4
-_080AB28C: .4byte gUnknown_03004288
-_080AB290: .4byte gUnknown_03004280
-_080AB294: .4byte gUnknown_030041B0
-_080AB298: .4byte gUnknown_030041B8
-_080AB29C: .4byte gUnknown_030042C4
-_080AB2A0: .4byte gUnknown_03004240
-_080AB2A4: .4byte gUnknown_03004200
-_080AB2A8: .4byte gUnknown_03004244
- thumb_func_end sub_80AB1BC
-
- thumb_func_start sub_80AB2AC
-sub_80AB2AC: @ 80AB2AC
- push {r4,r5,lr}
- ldr r0, _080AB300 @ =gContestMiscGfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r0, _080AB304 @ =gContestAudienceGfx
- ldr r1, _080AB308 @ =0x06002000
- bl LZDecompressVram
- ldr r0, _080AB30C @ =gUnknown_08D1725C
- ldr r1, _080AB310 @ =0x0600d000
- bl LZDecompressVram
- ldr r0, _080AB314 @ =gUnknown_08D17144
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadCompressedPalette
- bl sub_80AB350
- movs r4, 0
- movs r5, 0xA0
-_080AB2DC:
- ldr r0, _080AB318 @ =0x02018004
- adds r0, r5, r0
- ldr r1, _080AB31C @ =gUnknown_02038696
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, 0x5
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- adds r5, 0x20
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AB2DC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB300: .4byte gContestMiscGfx
-_080AB304: .4byte gContestAudienceGfx
-_080AB308: .4byte 0x06002000
-_080AB30C: .4byte gUnknown_08D1725C
-_080AB310: .4byte 0x0600d000
-_080AB314: .4byte gUnknown_08D17144
-_080AB318: .4byte 0x02018004
-_080AB31C: .4byte gUnknown_02038696
- thumb_func_end sub_80AB2AC
-
- thumb_func_start sub_80AB320
-sub_80AB320: @ 80AB320
- push {r4,lr}
- ldr r4, _080AB340 @ =gWindowConfig_81E6FD8
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, _080AB344 @ =gUnknown_03004210
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r0, _080AB348 @ =gMenuWindow
- ldr r1, _080AB34C @ =gWindowConfig_81E6FF4
- bl InitWindowFromConfig
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB340: .4byte gWindowConfig_81E6FD8
-_080AB344: .4byte gUnknown_03004210
-_080AB348: .4byte gMenuWindow
-_080AB34C: .4byte gWindowConfig_81E6FF4
- thumb_func_end sub_80AB320
-
- thumb_func_start sub_80AB350
-sub_80AB350: @ 80AB350
- push {r4,lr}
- ldr r0, _080AB38C @ =gWindowConfig_81E6FD8
- bl LoadFontDefaultPalette
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- movs r4, 0xA
-_080AB364:
- adds r1, r4, 0
- adds r1, 0xF0
- ldr r0, _080AB390 @ =gPlttBufferUnfaded + 0x1E2
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xD
- bls _080AB364
- ldr r0, _080AB394 @ =0x00007e3f
- movs r1, 0xF3
- movs r2, 0x2
- bl FillPalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB38C: .4byte gWindowConfig_81E6FD8
-_080AB390: .4byte gPlttBufferUnfaded + 0x1E2
-_080AB394: .4byte 0x00007e3f
- thumb_func_end sub_80AB350
-
- thumb_func_start sub_80AB398
-sub_80AB398: @ 80AB398
- push {r4-r6,lr}
- ldr r4, _080AB468 @ =0x02019204
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x5C
- bl memset
- movs r5, 0
- adds r4, 0x2
- movs r2, 0xFF
-_080AB3AC:
- adds r1, r5, r4
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x3
- ble _080AB3AC
- ldr r4, _080AB46C @ =0x02019260
- movs r5, 0x3
-_080AB3BE:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1C
- bl memset
- adds r4, 0x1C
- subs r5, 0x1
- cmp r5, 0
- bge _080AB3BE
- ldr r4, _080AB470 @ =0x020192d0
- movs r6, 0x4
- negs r6, r6
- movs r3, 0xFF
- adds r2, r4, 0
- subs r2, 0x65
- movs r5, 0x3
-_080AB3DE:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r2, 0x8]
- orrs r0, r3
- strb r0, [r2, 0x8]
- ldrb r0, [r2, 0x9]
- orrs r0, r3
- strb r0, [r2, 0x9]
- adds r2, 0x1C
- subs r5, 0x1
- cmp r5, 0
- bge _080AB3DE
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- adds r0, r4, 0
- adds r0, 0x14
- movs r1, 0
- movs r2, 0x44
- bl memset
- adds r0, r4, 0
- adds r0, 0x58
- movs r1, 0
- movs r2, 0x4
- bl memset
- adds r0, r4, 0
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x10
- bl memset
- ldr r0, _080AB474 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AB43A
- movs r0, 0
- bl sub_80B0F28
-_080AB43A:
- movs r5, 0
- movs r6, 0xFF
- adds r3, r4, 0
- subs r3, 0xB8
- adds r2, r4, 0
- subs r2, 0x57
- ldr r4, _080AB478 @ =gUnknown_02038696
-_080AB448:
- ldrb r0, [r2]
- orrs r0, r6
- strb r0, [r2]
- adds r1, r3, r5
- adds r0, r5, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080AB448
- bl sub_80B159C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB468: .4byte 0x02019204
-_080AB46C: .4byte 0x02019260
-_080AB470: .4byte 0x020192d0
-_080AB474: .4byte gUnknown_0203869A
-_080AB478: .4byte gUnknown_02038696
- thumb_func_end sub_80AB398
-
- thumb_func_start sub_80AB47C
-sub_80AB47C: @ 80AB47C
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, _080AB498 @ =gMain
- ldr r1, _080AB49C @ =0x0000043c
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _080AB554
- cmp r0, 0x1
- bgt _080AB4A0
- cmp r0, 0
- beq _080AB4AA
- b _080AB5AE
- .align 2, 0
-_080AB498: .4byte gMain
-_080AB49C: .4byte 0x0000043c
-_080AB4A0:
- cmp r0, 0x2
- beq _080AB55A
- cmp r0, 0x3
- beq _080AB578
- b _080AB5AE
-_080AB4AA:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80AB320
- bl sub_80AB1BC
- bl dp12_8087EA4
- bl ResetPaletteFade
- ldr r0, _080AB538 @ =gPaletteFade
- ldrb r1, [r0, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- movs r5, 0
- ldr r1, _080AB53C @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _080AB540 @ =0x85000400
- movs r7, 0x85
- lsls r7, 24
-_080AB4E0:
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AB4E0
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- ldr r1, _080AB544 @ =gReservedSpritePaletteCount
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _080AB548 @ =0x02000000
- movs r1, 0xC0
- lsls r1, 9
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_8040710
- bl sub_80AB398
- ldr r1, _080AB54C @ =gMain
- ldr r0, _080AB550 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080AB5AE
- .align 2, 0
-_080AB538: .4byte gPaletteFade
-_080AB53C: .4byte 0x040000d4
-_080AB540: .4byte 0x85000400
-_080AB544: .4byte gReservedSpritePaletteCount
-_080AB548: .4byte 0x02000000
-_080AB54C: .4byte gMain
-_080AB550: .4byte 0x0000043c
-_080AB554:
- bl sub_80AB350
- b _080AB56C
-_080AB55A:
- ldr r5, _080AB574 @ =0x0201925d
- adds r0, r5, 0
- bl sub_80AB70C
- lsls r0, 24
- cmp r0, 0
- beq _080AB5AE
- movs r0, 0
- strb r0, [r5]
-_080AB56C:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080AB5AE
- .align 2, 0
-_080AB574: .4byte 0x0201925d
-_080AB578:
- bl sub_80B2184
- ldr r0, _080AB5B8 @ =gUnknown_030042C0
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080AB5BC @ =gUnknown_030041B4
- strh r1, [r0]
- movs r0, 0x2
- bl BeginFastPaletteFade
- ldr r2, _080AB5C0 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _080AB5C4 @ =sub_80ABAC4
- bl SetVBlankCallback
- ldr r0, _080AB5C8 @ =sub_80AB5D4
- movs r1, 0xA
- bl CreateTask
- ldr r1, _080AB5CC @ =0x02019204
- strb r0, [r1, 0x8]
- ldr r0, _080AB5D0 @ =sub_80ABAAC
- bl SetMainCallback2
-_080AB5AE:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB5B8: .4byte gUnknown_030042C0
-_080AB5BC: .4byte gUnknown_030041B4
-_080AB5C0: .4byte gPaletteFade
-_080AB5C4: .4byte sub_80ABAC4
-_080AB5C8: .4byte sub_80AB5D4
-_080AB5CC: .4byte 0x02019204
-_080AB5D0: .4byte sub_80ABAAC
- thumb_func_end sub_80AB47C
-
- thumb_func_start sub_80AB5D4
-sub_80AB5D4: @ 80AB5D4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080AB5F8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080AB5F4
- ldr r0, _080AB5FC @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080AB600 @ =sub_80AB604
- str r0, [r1]
-_080AB5F4:
- pop {r0}
- bx r0
- .align 2, 0
-_080AB5F8: .4byte gPaletteFade
-_080AB5FC: .4byte gTasks
-_080AB600: .4byte sub_80AB604
- thumb_func_end sub_80AB5D4
-
- thumb_func_start sub_80AB604
-sub_80AB604: @ 80AB604
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080AB648 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AB65C
- ldr r2, _080AB64C @ =gPaletteFade
- ldrb r1, [r2, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080AB66A
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- bl sub_80AF860
- ldr r0, _080AB650 @ =sub_80AB678
- movs r1, 0
- bl CreateTask
- ldr r1, _080AB654 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080AB658 @ =nullsub_89
- str r1, [r0]
- b _080AB66A
- .align 2, 0
-_080AB648: .4byte gUnknown_0203869A
-_080AB64C: .4byte gPaletteFade
-_080AB650: .4byte sub_80AB678
-_080AB654: .4byte gTasks
-_080AB658: .4byte nullsub_89
-_080AB65C:
- ldr r0, _080AB670 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080AB674 @ =sub_80AB960
- str r0, [r1]
-_080AB66A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB670: .4byte gTasks
-_080AB674: .4byte sub_80AB960
- thumb_func_end sub_80AB604
-
- thumb_func_start sub_80AB678
-sub_80AB678: @ 80AB678
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080AB68C @ =sub_80C89DC
- ldr r2, _080AB690 @ =sub_80AB694
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080AB68C: .4byte sub_80C89DC
-_080AB690: .4byte sub_80AB694
- thumb_func_end sub_80AB678
-
- thumb_func_start sub_80AB694
-sub_80AB694: @ 80AB694
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0x1
- ldr r2, _080AB6AC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r3, [r1, 0x8]
- ldr r0, _080AB6B0 @ =sub_80AB6B4
- str r0, [r1]
- bx lr
- .align 2, 0
-_080AB6AC: .4byte gTasks
-_080AB6B0: .4byte sub_80AB6B4
- thumb_func_end sub_80AB694
-
- thumb_func_start sub_80AB6B4
-sub_80AB6B4: @ 80AB6B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _080AB6F8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bgt _080AB6F2
- bl GetMultiplayerId
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, _080AB6FC @ =0x02019204
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- ldr r1, _080AB700 @ =sub_80AB960
- str r1, [r0]
- ldr r1, _080AB704 @ =gRngValue
- ldr r0, _080AB708 @ =gUnknown_03005D28
- ldr r0, [r0]
- str r0, [r1]
-_080AB6F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB6F8: .4byte gTasks
-_080AB6FC: .4byte 0x02019204
-_080AB700: .4byte sub_80AB960
-_080AB704: .4byte gRngValue
-_080AB708: .4byte gUnknown_03005D28
- thumb_func_end sub_80AB6B4
-
- thumb_func_start sub_80AB70C
-sub_80AB70C: @ 80AB70C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- mov r10, r0
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _080AB722
- b _080AB93C
-_080AB722:
- lsls r0, 2
- ldr r1, _080AB72C @ =_080AB730
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AB72C: .4byte _080AB730
- .align 2, 0
-_080AB730:
- .4byte _080AB74C
- .4byte _080AB7A0
- .4byte _080AB7B0
- .4byte _080AB800
- .4byte _080AB814
- .4byte _080AB844
- .4byte _080AB8CC
-_080AB74C:
- ldr r0, _080AB794 @ =gPaletteFade
- ldrb r1, [r0, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- add r5, sp, 0x40
- movs r6, 0
- ldr r1, _080AB798 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- mov r8, r5
- ldr r7, _080AB79C @ =0x85000400
- movs r0, 0x85
- lsls r0, 24
- mov r9, r0
-_080AB772:
- str r6, [sp, 0x40]
- mov r0, r8
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AB772
- str r6, [sp, 0x40]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r9
- orrs r0, r2
- b _080AB7E6
- .align 2, 0
-_080AB794: .4byte gPaletteFade
-_080AB798: .4byte 0x040000d4
-_080AB79C: .4byte 0x85000400
-_080AB7A0:
- ldr r0, _080AB7AC @ =gContestMiscGfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- b _080AB946
- .align 2, 0
-_080AB7AC: .4byte gContestMiscGfx
-_080AB7B0:
- ldr r0, _080AB7EC @ =gContestAudienceGfx
- ldr r4, _080AB7F0 @ =0x06002000
- adds r1, r4, 0
- bl LZDecompressVram
- ldr r3, _080AB7F4 @ =0x02015800
- movs r5, 0x80
- lsls r5, 6
- ldr r1, _080AB7F8 @ =0x040000d4
- ldr r6, _080AB7FC @ =0x84000400
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x84
- lsls r7, 24
-_080AB7CC:
- str r4, [r1]
- str r3, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r4, r2
- adds r3, r2
- subs r5, r2
- cmp r5, r2
- bhi _080AB7CC
- str r4, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r5, 2
- orrs r0, r7
-_080AB7E6:
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- b _080AB946
- .align 2, 0
-_080AB7EC: .4byte gContestAudienceGfx
-_080AB7F0: .4byte 0x06002000
-_080AB7F4: .4byte 0x02015800
-_080AB7F8: .4byte 0x040000d4
-_080AB7FC: .4byte 0x84000400
-_080AB800:
- ldr r0, _080AB80C @ =gUnknown_08D1725C
- ldr r1, _080AB810 @ =0x0600d000
- bl LZDecompressVram
- b _080AB946
- .align 2, 0
-_080AB80C: .4byte gUnknown_08D1725C
-_080AB810: .4byte 0x0600d000
-_080AB814:
- ldr r0, _080AB830 @ =gUnknown_08D17424
- ldr r4, _080AB834 @ =0x0600e000
- adds r1, r4, 0
- bl LZDecompressVram
- ldr r1, _080AB838 @ =0x02018a04
- ldr r0, _080AB83C @ =0x040000d4
- str r4, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080AB840 @ =0x84000200
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080AB946
- .align 2, 0
-_080AB830: .4byte gUnknown_08D17424
-_080AB834: .4byte 0x0600e000
-_080AB838: .4byte 0x02018a04
-_080AB83C: .4byte 0x040000d4
-_080AB840: .4byte 0x84000200
-_080AB844:
- ldr r0, _080AB8AC @ =gUnknown_08D17144
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadCompressedPalette
- ldr r5, _080AB8B0 @ =gPlttBufferUnfaded + 0x100
- ldr r6, _080AB8B4 @ =REG_BG0CNT
- adds r0, r5, 0
- mov r1, sp
- adds r2, r6, 0
- bl CpuSet
- ldr r0, _080AB8B8 @ =gUnknown_02038695
- mov r9, r0
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 5
- ldr r1, _080AB8BC @ =0xffffff00
- adds r1, r5
- mov r8, r1
- add r0, r8
- add r4, sp, 0x20
- adds r1, r4, 0
- adds r2, r6, 0
- bl CpuSet
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl CpuSet
- mov r2, r9
- ldrb r1, [r2]
- adds r1, 0x5
- lsls r1, 5
- add r1, r8
- mov r0, sp
- adds r2, r6, 0
- bl CpuSet
- ldr r1, _080AB8C0 @ =0x02018004
- ldr r0, _080AB8C4 @ =0x040000d4
- mov r2, r8
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080AB8C8 @ =0x84000080
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_80AB350
- b _080AB946
- .align 2, 0
-_080AB8AC: .4byte gUnknown_08D17144
-_080AB8B0: .4byte gPlttBufferUnfaded + 0x100
-_080AB8B4: .4byte REG_BG0CNT
-_080AB8B8: .4byte gUnknown_02038695
-_080AB8BC: .4byte 0xffffff00
-_080AB8C0: .4byte 0x02018004
-_080AB8C4: .4byte 0x040000d4
-_080AB8C8: .4byte 0x84000080
-_080AB8CC:
- bl sub_80B1118
- bl sub_80AFA5C
- bl sub_80AEB30
- bl sub_80AE8B4
- ldr r1, _080AB924 @ =0x02019204
- movs r4, 0
- strb r0, [r1, 0x12]
- bl sub_80AFE30
- bl sub_80B0034
- bl sub_80B00C8
- bl sub_80B0324
- bl sub_80B0518
- ldr r1, _080AB928 @ =gUnknown_02024A72
- strb r4, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r3, 0x3
- strb r3, [r1, 0x2]
- movs r2, 0x2
- strb r2, [r1, 0x3]
- ldr r0, _080AB92C @ =gUnknown_020239F8
- strh r4, [r0]
- ldr r4, _080AB930 @ =gUnknown_02024C07
- strb r2, [r4]
- ldr r0, _080AB934 @ =gUnknown_02024C08
- strb r3, [r0]
- bl sub_80AE858
- ldr r2, _080AB938 @ =gUnknown_02024BE0
- ldrb r1, [r4]
- adds r1, r2
- strb r0, [r1]
- bl sub_80B292C
- b _080AB946
- .align 2, 0
-_080AB924: .4byte 0x02019204
-_080AB928: .4byte gUnknown_02024A72
-_080AB92C: .4byte gUnknown_020239F8
-_080AB930: .4byte gUnknown_02024C07
-_080AB934: .4byte gUnknown_02024C08
-_080AB938: .4byte gUnknown_02024BE0
-_080AB93C:
- movs r0, 0
- mov r1, r10
- strb r0, [r1]
- movs r0, 0x1
- b _080AB950
-_080AB946:
- mov r2, r10
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- movs r0, 0
-_080AB950:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AB70C
-
- thumb_func_start sub_80AB960
-sub_80AB960: @ 80AB960
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _080AB994 @ =gPaletteFade
- ldrb r2, [r1, 0x8]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1, 0x8]
- ldrb r1, [r1, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080AB990
- ldr r0, _080AB998 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, _080AB99C @ =sub_80AB9A0
- str r0, [r1]
-_080AB990:
- pop {r0}
- bx r0
- .align 2, 0
-_080AB994: .4byte gPaletteFade
-_080AB998: .4byte gTasks
-_080AB99C: .4byte sub_80AB9A0
- thumb_func_end sub_80AB960
-
- thumb_func_start sub_80AB9A0
-sub_80AB9A0: @ 80AB9A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080AB9C4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _080ABA7C
- lsls r0, 2
- ldr r1, _080AB9C8 @ =_080AB9CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AB9C4: .4byte gTasks
-_080AB9C8: .4byte _080AB9CC
- .align 2, 0
-_080AB9CC:
- .4byte _080AB9E0
- .4byte _080ABA0A
- .4byte _080ABA28
- .4byte _080ABA44
- .4byte _080ABA7C
-_080AB9E0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0xA]
- adds r1, r0, 0x1
- strh r1, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080ABA9C
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x61
- movs r1, 0
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080ABA9C
-_080ABA0A:
- ldr r1, _080ABA24 @ =gUnknown_030041B4
- ldrh r0, [r1]
- adds r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA0
- ble _080ABA9C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- b _080ABA68
- .align 2, 0
-_080ABA24: .4byte gUnknown_030041B4
-_080ABA28:
- bl sub_80B2280
- ldr r0, _080ABA40 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080ABA9C
- .align 2, 0
-_080ABA40: .4byte gTasks
-_080ABA44:
- ldr r3, _080ABA70 @ =REG_BG0CNT
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- ldr r2, _080ABA74 @ =REG_BG2CNT
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- bl sub_80B1B14
- ldr r1, _080ABA78 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
-_080ABA68:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080ABA9C
- .align 2, 0
-_080ABA70: .4byte REG_BG0CNT
-_080ABA74: .4byte REG_BG2CNT
-_080ABA78: .4byte gTasks
-_080ABA7C:
- ldr r0, _080ABAA4 @ =0x02019204
- ldrb r1, [r0, 0x6]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080ABA9C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- ldr r1, _080ABAA8 @ =sub_80ABB70
- str r1, [r0]
-_080ABA9C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABAA4: .4byte 0x02019204
-_080ABAA8: .4byte sub_80ABB70
- thumb_func_end sub_80AB9A0
-
- thumb_func_start sub_80ABAAC
-sub_80ABAAC: @ 80ABAAC
- push {lr}
- bl AnimateSprites
- bl RunTasks
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80ABAAC
-
- thumb_func_start sub_80ABAC4
-sub_80ABAC4: @ 80ABAC4
- push {lr}
- ldr r1, _080ABB3C @ =REG_BG0HOFS
- ldr r0, _080ABB40 @ =gUnknown_030042A4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB44 @ =gUnknown_030042A0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB48 @ =gUnknown_030042C0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB4C @ =gUnknown_030041B4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB50 @ =gUnknown_03004288
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB54 @ =gUnknown_03004280
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB58 @ =gUnknown_030041B0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB5C @ =gUnknown_030041B8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x22
- ldr r0, _080ABB60 @ =gUnknown_030042C4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _080ABB64 @ =gUnknown_03004240
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x2
- ldr r0, _080ABB68 @ =gUnknown_03004200
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _080ABB6C @ =gUnknown_03004244
- ldrh r0, [r0]
- strh r0, [r1]
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_080ABB3C: .4byte REG_BG0HOFS
-_080ABB40: .4byte gUnknown_030042A4
-_080ABB44: .4byte gUnknown_030042A0
-_080ABB48: .4byte gUnknown_030042C0
-_080ABB4C: .4byte gUnknown_030041B4
-_080ABB50: .4byte gUnknown_03004288
-_080ABB54: .4byte gUnknown_03004280
-_080ABB58: .4byte gUnknown_030041B0
-_080ABB5C: .4byte gUnknown_030041B8
-_080ABB60: .4byte gUnknown_030042C4
-_080ABB64: .4byte gUnknown_03004240
-_080ABB68: .4byte gUnknown_03004200
-_080ABB6C: .4byte gUnknown_03004244
- thumb_func_end sub_80ABAC4
-
- thumb_func_start sub_80ABB70
-sub_80ABB70: @ 80ABB70
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080ABBB0 @ =gUnknown_030042A0
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080ABBB4 @ =gUnknown_03004280
- strh r1, [r0]
- bl sub_80B0D7C
- ldr r1, _080ABBB8 @ =gPlttBufferUnfaded
- ldr r2, _080ABBBC @ =0x02018204
- ldr r0, _080ABBC0 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080ABBC4 @ =0x84000100
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _080ABBC8 @ =gUnknown_02038695
- ldrb r0, [r0]
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080ABBD4
- ldr r0, _080ABBCC @ =gUnknown_020238CC
- ldr r1, _080ABBD0 @ =gUnknown_083CAF84
- bl StringCopy
- b _080ABBDC
- .align 2, 0
-_080ABBB0: .4byte gUnknown_030042A0
-_080ABBB4: .4byte gUnknown_03004280
-_080ABBB8: .4byte gPlttBufferUnfaded
-_080ABBBC: .4byte 0x02018204
-_080ABBC0: .4byte 0x040000d4
-_080ABBC4: .4byte 0x84000100
-_080ABBC8: .4byte gUnknown_02038695
-_080ABBCC: .4byte gUnknown_020238CC
-_080ABBD0: .4byte gUnknown_083CAF84
-_080ABBD4:
- ldr r0, _080ABC20 @ =gUnknown_020238CC
- ldr r1, _080ABC24 @ =gUnknown_083CAFAE
- bl StringCopy
-_080ABBDC:
- ldr r5, _080ABC20 @ =gUnknown_020238CC
- ldr r0, _080ABC28 @ =0x02019204
- ldrb r1, [r0, 0x1]
- adds r1, 0x1
- adds r0, r5, 0
- bl sub_80AE020
- bl sub_80AF138
- ldr r4, _080ABC2C @ =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringExpandPlaceholders
- ldr r0, _080ABC30 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080ABC34 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ABC38 @ =sub_80ABC3C
- str r1, [r0]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABC20: .4byte gUnknown_020238CC
-_080ABC24: .4byte gUnknown_083CAFAE
-_080ABC28: .4byte 0x02019204
-_080ABC2C: .4byte gStringVar4
-_080ABC30: .4byte gMenuWindow
-_080ABC34: .4byte gTasks
-_080ABC38: .4byte sub_80ABC3C
- thumb_func_end sub_80ABB70
-
- thumb_func_start sub_80ABC3C
-sub_80ABC3C: @ 80ABC3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080ABC64 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080ABC5E
- ldr r0, _080ABC68 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ABC6C @ =sub_80ABC70
- str r0, [r1]
-_080ABC5E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABC64: .4byte gMenuWindow
-_080ABC68: .4byte gTasks
-_080ABC6C: .4byte sub_80ABC70
- thumb_func_end sub_80ABC3C
-
- thumb_func_start sub_80ABC70
-sub_80ABC70: @ 80ABC70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, _080ABCB0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080ABC88
- cmp r1, 0x2
- bne _080ABCCE
-_080ABC88:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080ABCB4 @ =gUnknown_02038695
- ldrb r0, [r0]
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080ABCC0
- movs r0, 0x1
- bl sub_80AFFE0
- ldr r0, _080ABCB8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ABCBC @ =sub_80ABCDC
- b _080ABCCC
- .align 2, 0
-_080ABCB0: .4byte gMain
-_080ABCB4: .4byte gUnknown_02038695
-_080ABCB8: .4byte gTasks
-_080ABCBC: .4byte sub_80ABCDC
-_080ABCC0:
- ldr r0, _080ABCD4 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ABCD8 @ =sub_80AC0C8
-_080ABCCC:
- str r0, [r1]
-_080ABCCE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABCD4: .4byte gTasks
-_080ABCD8: .4byte sub_80AC0C8
- thumb_func_end sub_80ABC70
-
- thumb_func_start sub_80ABCDC
-sub_80ABCDC: @ 80ABCDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- ldr r0, _080ABD80 @ =gUnknown_030042A0
- movs r1, 0xA0
- strh r1, [r0]
- ldr r0, _080ABD84 @ =gUnknown_03004280
- strh r1, [r0]
- ldr r5, _080ABD88 @ =gUnknown_03004210
- ldr r4, _080ABD8C @ =gUnknown_083CA340
- ldrb r2, [r4]
- ldrb r3, [r4, 0x1]
- ldrb r0, [r4, 0x2]
- str r0, [sp]
- ldrb r0, [r4, 0x3]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- movs r6, 0
- ldr r0, _080ABD90 @ =gUnknown_02038695
- mov r8, r0
- ldr r7, _080ABD94 @ =0x02019260
- mov r9, r5
- mov r10, r4
-_080ABD1C:
- lsls r1, r6, 1
- mov r3, r8
- ldrb r2, [r3]
- lsls r0, r2, 6
- adds r1, r0
- ldr r0, _080ABD98 @ =gUnknown_0203858E
- adds r1, r0
- ldrh r4, [r1]
- add r5, sp, 0x8
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r7
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _080ABDA0
- adds r0, r2, 0
- bl sub_80B214C
- lsls r0, 24
- cmp r0, 0
- beq _080ABDA0
- mov r2, r8
- ldrb r1, [r2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r0, [r0, 0x8]
- adds r1, r4, 0
- bl AreMovesContestCombo
- lsls r0, 24
- cmp r0, 0
- beq _080ABDA0
- mov r3, r8
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r1, [r0, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080ABDA0
- add r0, sp, 0x8
- ldr r1, _080ABD9C @ =gUnknownText_UnknownFormatting2
- b _080ABDC6
- .align 2, 0
-_080ABD80: .4byte gUnknown_030042A0
-_080ABD84: .4byte gUnknown_03004280
-_080ABD88: .4byte gUnknown_03004210
-_080ABD8C: .4byte gUnknown_083CA340
-_080ABD90: .4byte gUnknown_02038695
-_080ABD94: .4byte 0x02019260
-_080ABD98: .4byte gUnknown_0203858E
-_080ABD9C: .4byte gUnknownText_UnknownFormatting2
-_080ABDA0:
- cmp r4, 0
- beq _080ABDCC
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r7
- ldrh r0, [r1, 0x8]
- cmp r0, r4
- bne _080ABDCC
- ldr r0, _080ABE74 @ =gContestMoves
- lsls r1, r4, 3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _080ABDCC
- add r0, sp, 0x8
- ldr r1, _080ABE78 @ =gUnknownText_UnknownFormatting3
-_080ABDC6:
- bl StringCopy
- adds r5, r0, 0
-_080ABDCC:
- movs r0, 0xD
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _080ABE7C @ =gMoveNames
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
- lsls r1, r6, 2
- adds r2, r1, r6
- lsls r2, 18
- movs r3, 0xC2
- lsls r3, 18
- adds r2, r3
- lsrs r2, 16
- mov r3, r10
- adds r0, r1, r3
- ldrb r3, [r0]
- lsls r3, 3
- adds r3, 0x4
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _080ABE80 @ =gUnknown_083CA340 + 0x1
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 3
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- mov r0, r9
- add r1, sp, 0x8
- bl sub_8002E4C
- mov r0, r9
- bl sub_8002F44
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _080ABE20
- b _080ABD1C
-_080ABE20:
- ldr r1, _080ABE84 @ =0x0000ffff
- ldr r3, _080ABE88 @ =0x00002d9f
- movs r0, 0x48
- str r0, [sp]
- movs r0, 0
- movs r2, 0xC
- bl sub_814A5C0
- ldr r4, _080ABE8C @ =0x02019204
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl sub_80AC0AC
- ldr r2, _080ABE90 @ =gUnknown_02038570
- ldrb r1, [r4]
- lsls r1, 1
- ldr r0, _080ABE94 @ =gUnknown_02038695
- ldrb r0, [r0]
- lsls r0, 6
- adds r1, r0
- adds r2, 0x1E
- adds r1, r2
- ldrh r0, [r1]
- bl sub_80AEBEC
- ldr r1, _080ABE98 @ =gTasks
- ldr r2, [sp, 0x28]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ABE9C @ =sub_80ABEA0
- str r1, [r0]
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABE74: .4byte gContestMoves
-_080ABE78: .4byte gUnknownText_UnknownFormatting3
-_080ABE7C: .4byte gMoveNames
-_080ABE80: .4byte gUnknown_083CA340 + 0x1
-_080ABE84: .4byte 0x0000ffff
-_080ABE88: .4byte 0x00002d9f
-_080ABE8C: .4byte 0x02019204
-_080ABE90: .4byte gUnknown_02038570
-_080ABE94: .4byte gUnknown_02038695
-_080ABE98: .4byte gTasks
-_080ABE9C: .4byte sub_80ABEA0
- thumb_func_end sub_80ABCDC
-
- thumb_func_start sub_80ABEA0
-sub_80ABEA0: @ 80ABEA0
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r3, _080ABEF4 @ =gMain
- ldr r1, _080ABEF8 @ =gUnknown_02038570
- ldr r0, _080ABEFC @ =gUnknown_02038695
- ldrb r0, [r0]
- lsls r0, 6
- adds r1, 0x1E
- adds r1, r0, r1
- movs r2, 0x3
-_080ABEBA:
- ldrh r0, [r1]
- cmp r0, 0
- beq _080ABEC6
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080ABEC6:
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080ABEBA
- ldrh r0, [r3, 0x2E]
- movs r5, 0x1
- ands r5, r0
- cmp r5, 0
- beq _080ABF08
- bl sub_814A7FC
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080ABF00 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ABF04 @ =sub_80AC0C8
- str r0, [r1]
- b _080AC098
- .align 2, 0
-_080ABEF4: .4byte gMain
-_080ABEF8: .4byte gUnknown_02038570
-_080ABEFC: .4byte gUnknown_02038695
-_080ABF00: .4byte gTasks
-_080ABF04: .4byte sub_80AC0C8
-_080ABF08:
- ldrh r0, [r3, 0x30]
- cmp r0, 0x20
- bne _080ABF10
- b _080AC098
-_080ABF10:
- cmp r0, 0x20
- bgt _080ABF1A
- cmp r0, 0x2
- beq _080ABF26
- b _080AC098
-_080ABF1A:
- cmp r0, 0x40
- beq _080ABFEC
- cmp r0, 0x80
- bne _080ABF24
- b _080AC048
-_080ABF24:
- b _080AC098
-_080ABF26:
- bl sub_814A904
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80AFFE0
- ldr r0, _080ABF64 @ =gUnknown_03004210
- ldr r1, _080ABF68 @ =gUnknown_083CA340
- ldrb r2, [r1]
- ldrb r3, [r1, 0x1]
- ldrb r4, [r1, 0x2]
- str r4, [sp]
- ldrb r1, [r1, 0x3]
- str r1, [sp, 0x4]
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- ldr r0, _080ABF6C @ =gUnknown_02038695
- ldrb r0, [r0]
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080ABF78
- ldr r0, _080ABF70 @ =gUnknown_020238CC
- ldr r1, _080ABF74 @ =gUnknown_083CAF84
- bl StringCopy
- b _080ABF80
- .align 2, 0
-_080ABF64: .4byte gUnknown_03004210
-_080ABF68: .4byte gUnknown_083CA340
-_080ABF6C: .4byte gUnknown_02038695
-_080ABF70: .4byte gUnknown_020238CC
-_080ABF74: .4byte gUnknown_083CAF84
-_080ABF78:
- ldr r0, _080ABFC8 @ =gUnknown_020238CC
- ldr r1, _080ABFCC @ =gUnknown_083CAFAE
- bl StringCopy
-_080ABF80:
- ldr r5, _080ABFC8 @ =gUnknown_020238CC
- ldr r0, _080ABFD0 @ =0x02019204
- ldrb r1, [r0, 0x1]
- adds r1, 0x1
- adds r0, r5, 0
- bl sub_80AE020
- bl sub_80AF138
- ldr r4, _080ABFD4 @ =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringExpandPlaceholders
- ldr r0, _080ABFD8 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8003460
- ldr r0, _080ABFDC @ =gUnknown_030042A0
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080ABFE0 @ =gUnknown_03004280
- strh r1, [r0]
- ldr r1, _080ABFE4 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ABFE8 @ =sub_80ABC70
- str r1, [r0]
- b _080AC098
- .align 2, 0
-_080ABFC8: .4byte gUnknown_020238CC
-_080ABFCC: .4byte gUnknown_083CAFAE
-_080ABFD0: .4byte 0x02019204
-_080ABFD4: .4byte gStringVar4
-_080ABFD8: .4byte gMenuWindow
-_080ABFDC: .4byte gUnknown_030042A0
-_080ABFE0: .4byte gUnknown_03004280
-_080ABFE4: .4byte gTasks
-_080ABFE8: .4byte sub_80ABC70
-_080ABFEC:
- ldr r4, _080AC000 @ =0x02019204
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl nullsub_17
- ldrb r0, [r4]
- cmp r0, 0
- bne _080AC004
- subs r0, r6, 0x1
- b _080AC006
- .align 2, 0
-_080AC000: .4byte 0x02019204
-_080AC004:
- subs r0, 0x1
-_080AC006:
- strb r0, [r4]
- ldr r4, _080AC03C @ =0x02019204
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl sub_80AC0AC
- bl sub_80AED58
- ldr r2, _080AC040 @ =gUnknown_02038570
- ldrb r1, [r4]
- lsls r1, 1
- ldr r0, _080AC044 @ =gUnknown_02038695
- ldrb r0, [r0]
- lsls r0, 6
- adds r1, r0
- adds r2, 0x1E
- adds r1, r2
- ldrh r0, [r1]
- bl sub_80AEBEC
- cmp r6, 0x1
- bls _080AC098
- movs r0, 0x5
- bl PlaySE
- b _080AC098
- .align 2, 0
-_080AC03C: .4byte 0x02019204
-_080AC040: .4byte gUnknown_02038570
-_080AC044: .4byte gUnknown_02038695
-_080AC048:
- ldr r4, _080AC060 @ =0x02019204
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl nullsub_17
- ldrb r1, [r4]
- subs r0, r6, 0x1
- cmp r1, r0
- bne _080AC064
- strb r5, [r4]
- b _080AC068
- .align 2, 0
-_080AC060: .4byte 0x02019204
-_080AC064:
- adds r0, r1, 0x1
- strb r0, [r4]
-_080AC068:
- ldr r4, _080AC0A0 @ =0x02019204
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl sub_80AC0AC
- bl sub_80AED58
- ldr r2, _080AC0A4 @ =gUnknown_02038570
- ldrb r1, [r4]
- lsls r1, 1
- ldr r0, _080AC0A8 @ =gUnknown_02038695
- ldrb r0, [r0]
- lsls r0, 6
- adds r1, r0
- adds r2, 0x1E
- adds r1, r2
- ldrh r0, [r1]
- bl sub_80AEBEC
- cmp r6, 0x1
- bls _080AC098
- movs r0, 0x5
- bl PlaySE
-_080AC098:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC0A0: .4byte 0x02019204
-_080AC0A4: .4byte gUnknown_02038570
-_080AC0A8: .4byte gUnknown_02038695
- thumb_func_end sub_80ABEA0
-
- thumb_func_start sub_80AC0AC
-sub_80AC0AC: @ 80AC0AC
- push {lr}
- adds r1, r0, 0
- lsls r1, 28
- movs r0, 0xB0
- lsls r0, 23
- adds r1, r0
- lsrs r1, 24
- movs r0, 0x4
- bl sub_814A880
- pop {r0}
- bx r0
- thumb_func_end sub_80AC0AC
-
- thumb_func_start nullsub_17
-nullsub_17: @ 80AC0C4
- bx lr
- thumb_func_end nullsub_17
-
- thumb_func_start sub_80AC0C8
-sub_80AC0C8: @ 80AC0C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080AC120 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AC13C
- ldr r4, _080AC124 @ =gUnknown_02038695
- ldrb r0, [r4]
- bl sub_80AF15C
- ldrb r2, [r4]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r2, _080AC128 @ =0x02019260
- adds r1, r2
- strh r0, [r1, 0x6]
- ldr r4, _080AC12C @ =sub_80C8A38
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AC130 @ =sub_80AC15C
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, _080AC134 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080AC138 @ =nullsub_89
- str r1, [r0]
- bl sub_80AF860
- movs r0, 0
- bl sub_80AFFE0
- b _080AC14E
- .align 2, 0
-_080AC120: .4byte gUnknown_0203869A
-_080AC124: .4byte gUnknown_02038695
-_080AC128: .4byte 0x02019260
-_080AC12C: .4byte sub_80C8A38
-_080AC130: .4byte sub_80AC15C
-_080AC134: .4byte gTasks
-_080AC138: .4byte nullsub_89
-_080AC13C:
- bl sub_80AF1B8
- ldr r0, _080AC154 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080AC158 @ =sub_80AC188
- str r0, [r1]
-_080AC14E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC154: .4byte gTasks
-_080AC158: .4byte sub_80AC188
- thumb_func_end sub_80AC0C8
-
- thumb_func_start sub_80AC15C
-sub_80AC15C: @ 80AC15C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r2, _080AC17C @ =gTasks
- ldr r0, _080AC180 @ =0x02019204
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080AC184 @ =sub_80AC188
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080AC17C: .4byte gTasks
-_080AC180: .4byte 0x02019204
-_080AC184: .4byte sub_80AC188
- thumb_func_end sub_80AC15C
-
- thumb_func_start sub_80AC188
-sub_80AC188: @ 80AC188
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl sub_80AF138
- ldr r0, _080AC1E4 @ =gUnknown_030042A0
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080AC1E8 @ =gUnknown_03004280
- strh r1, [r0]
- movs r0, 0
- bl sub_80AFFE0
- ldr r1, _080AC1EC @ =gPlttBufferFaded
- ldr r0, _080AC1F0 @ =0x02018604
- movs r2, 0x80
- lsls r2, 3
- ldr r4, _080AC1F4 @ =0x040000d4
- str r1, [r4]
- str r0, [r4, 0x4]
- lsrs r1, r2, 2
- movs r3, 0x84
- lsls r3, 24
- orrs r1, r3
- str r1, [r4, 0x8]
- ldr r1, [r4, 0x8]
- ldr r1, _080AC1F8 @ =0xfffffc00
- adds r0, r1
- movs r1, 0
- bl LoadPalette
- ldr r1, _080AC1FC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- ldr r1, _080AC200 @ =sub_80AC204
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC1E4: .4byte gUnknown_030042A0
-_080AC1E8: .4byte gUnknown_03004280
-_080AC1EC: .4byte gPlttBufferFaded
-_080AC1F0: .4byte 0x02018604
-_080AC1F4: .4byte 0x040000d4
-_080AC1F8: .4byte 0xfffffc00
-_080AC1FC: .4byte gTasks
-_080AC200: .4byte sub_80AC204
- thumb_func_end sub_80AC188
-
- thumb_func_start sub_80AC204
-sub_80AC204: @ 80AC204
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AC248 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080AC242
- movs r0, 0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080AC242
- bl sub_80B1BDC
- movs r0, 0x1
- bl sub_80B25E4
- ldr r0, _080AC24C @ =sub_80AC250
- str r0, [r4]
-_080AC242:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC248: .4byte gTasks
-_080AC24C: .4byte sub_80AC250
- thumb_func_end sub_80AC204
-
- thumb_func_start sub_80AC250
-sub_80AC250: @ 80AC250
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080AC278 @ =0x02019204
- ldrh r1, [r0, 0x6]
- movs r0, 0x90
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _080AC272
- ldr r0, _080AC27C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080AC280 @ =sub_80AC284
- str r0, [r1]
-_080AC272:
- pop {r0}
- bx r0
- .align 2, 0
-_080AC278: .4byte 0x02019204
-_080AC27C: .4byte gTasks
-_080AC280: .4byte sub_80AC284
- thumb_func_end sub_80AC250
-
- thumb_func_start sub_80AC284
-sub_80AC284: @ 80AC284
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AC2BC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080AC2B6
- ldr r1, _080AC2C0 @ =0x02019204
- movs r0, 0
- strb r0, [r1, 0x10]
- ldr r0, _080AC2C4 @ =gRngValue
- ldr r0, [r0]
- str r0, [r1, 0x18]
- movs r0, 0
- strh r0, [r2, 0x8]
- ldr r0, _080AC2C8 @ =sub_80AC2CC
- str r0, [r2]
-_080AC2B6:
- pop {r0}
- bx r0
- .align 2, 0
-_080AC2BC: .4byte gTasks
-_080AC2C0: .4byte 0x02019204
-_080AC2C4: .4byte gRngValue
-_080AC2C8: .4byte sub_80AC2CC
- thumb_func_end sub_80AC284
-
- thumb_func_start sub_80AC2CC
-sub_80AC2CC: @ 80AC2CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r2, _080AC308 @ =0x02019204
- ldrb r7, [r2, 0x11]
- ldr r1, _080AC30C @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- adds r6, r2, 0
- mov r12, r1
- cmp r0, 0x3B
- bls _080AC2FC
- bl _080AD8CA
-_080AC2FC:
- lsls r0, 2
- ldr r1, _080AC310 @ =_080AC314
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AC308: .4byte 0x02019204
-_080AC30C: .4byte gTasks
-_080AC310: .4byte _080AC314
- .align 2, 0
-_080AC314:
- .4byte _080AC404
- .4byte _080AC4B4
- .4byte _080AC4D4
- .4byte _080AC534
- .4byte _080AC5E8
- .4byte _080AC638
- .4byte _080AC6F8
- .4byte _080AC730
- .4byte _080AC77C
- .4byte _080AC7F4
- .4byte _080AD750
- .4byte _080AD77C
- .4byte _080AC98C
- .4byte _080AC9C0
- .4byte _080ACEC0
- .4byte _080ACFD4
- .4byte _080AD040
- .4byte _080AD070
- .4byte _080AD168
- .4byte _080AD11A
- .4byte _080AD7B8
- .4byte _080AD868
- .4byte _080AD88C
- .4byte _080AC81E
- .4byte _080AC8CC
- .4byte _080ACAD8
- .4byte _080ACAEE
- .4byte _080ACBB0
- .4byte _080ACBDC
- .4byte _080ACC44
- .4byte _080ACD2A
- .4byte _080AD7E8
- .4byte _080AD840
- .4byte _080AD648
- .4byte _080AD6D8
- .4byte _080AC9EC
- .4byte _080ACA24
- .4byte _080ACA44
- .4byte _080ACA84
- .4byte _080ACC98
- .4byte _080ACD00
- .4byte _080AD1A4
- .4byte _080AD8CA
- .4byte _080AD514
- .4byte _080AD8CA
- .4byte _080ACFA8
- .4byte _080AD0FA
- .4byte _080AC96C
- .4byte _080AC8F8
- .4byte _080AC94C
- .4byte _080ACAAE
- .4byte _080ACDC8
- .4byte _080ACE64
- .4byte _080AD316
- .4byte _080AD3D0
- .4byte _080AD700
- .4byte _080AD71C
- .4byte _080AD53C
- .4byte _080AD5D0
- .4byte _080AD624
-_080AC404:
- bl sub_80B0D7C
- movs r6, 0
- ldr r0, _080AC484 @ =0x02019204
- adds r1, r0, 0
- adds r1, 0xCC
- ldrb r0, [r0, 0x10]
- mov r4, r8
- lsls r4, 2
- mov r9, r4
- ldrb r5, [r1]
- cmp r0, r5
- beq _080AC42C
- adds r2, r1, 0
- adds r1, r0, 0
-_080AC422:
- adds r6, 0x1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r1, r0
- bne _080AC422
-_080AC42C:
- ldr r4, _080AC484 @ =0x02019204
- strb r6, [r4, 0x11]
- ldrb r7, [r4, 0x11]
- ldr r0, _080AC488 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080AC498
- ldrb r0, [r4, 0x7]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x7]
- bl sub_80AE074
- lsls r0, 24
- cmp r0, 0
- beq _080AC458
- ldrb r0, [r4, 0x11]
- bl sub_80B114C
-_080AC458:
- ldr r4, _080AC48C @ =sub_80C8C80
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AC490 @ =sub_80AD8DC
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- bl sub_80AF860
- ldr r1, _080AC494 @ =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC484: .4byte 0x02019204
-_080AC488: .4byte gUnknown_0203869A
-_080AC48C: .4byte sub_80C8C80
-_080AC490: .4byte sub_80AD8DC
-_080AC494: .4byte gTasks
-_080AC498:
- adds r0, r7, 0
- bl sub_80B114C
- ldr r0, _080AC4B0 @ =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC4B0: .4byte gTasks
-_080AC4B4:
- ldrb r1, [r6, 0x7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AC4C2
- bl _080AD8CA
-_080AC4C2:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x2
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AC4D4:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AC508 @ =0x02019260
- adds r2, r0, r1
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080AC4F6
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _080AC50C
-_080AC4F6:
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x1F
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC508: .4byte 0x02019260
-_080AC50C:
- bl sub_80AF138
- adds r0, r7, 0
- movs r1, 0
- bl sub_80B0CDC
- ldr r0, _080AC530 @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- strh r6, [r1, 0x1C]
- movs r0, 0x3
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC530: .4byte gTasks
-_080AC534:
- mov r4, r8
- lsls r4, 2
- mov r9, r4
- ldr r4, _080AC5C4 @ =0x02019348
- ldr r1, _080AC5C8 @ =gUnknown_02024E84
- movs r2, 0
- adds r0, r1, 0x3
-_080AC542:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080AC542
- movs r6, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- ldr r5, _080AC5CC @ =0xfffffebc
- adds r7, r4, r5
- ldrb r0, [r7, 0x11]
- bl sub_80B28F0
- ldr r3, _080AC5D0 @ =gUnknown_02038570
- ldrb r2, [r7, 0x11]
- lsls r2, 6
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x3C
- adds r1, r2, r1
- ldr r1, [r1]
- adds r3, 0x38
- adds r2, r3
- ldr r2, [r2]
- bl sub_80AE9FC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080AC5D4 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r3, r0, r2
- movs r1, 0x78
- strh r1, [r3, 0x24]
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080AC5D8 @ =sub_80AD8FC
- str r1, [r0]
- ldr r0, _080AC5DC @ =gTasks
- mov r4, r9
- add r4, r8
- lsls r4, 3
- adds r4, r0
- strh r5, [r4, 0xC]
- ldr r1, _080AC5E0 @ =gUnknown_02024BE0
- ldr r0, _080AC5E4 @ =gUnknown_02024C07
- ldrb r0, [r0]
- adds r0, r1
- strb r5, [r0]
- ldrb r0, [r7, 0x11]
- bl sub_80B09E4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80B0BC4
- strh r6, [r4, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC5C4: .4byte 0x02019348
-_080AC5C8: .4byte gUnknown_02024E84
-_080AC5CC: .4byte 0xfffffebc
-_080AC5D0: .4byte gUnknown_02038570
-_080AC5D4: .4byte gSprites
-_080AC5D8: .4byte sub_80AD8FC
-_080AC5DC: .4byte gTasks
-_080AC5E0: .4byte gUnknown_02024BE0
-_080AC5E4: .4byte gUnknown_02024C07
-_080AC5E8:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- mov r3, r12
- adds r2, r0, r3
- ldrb r5, [r2, 0xC]
- ldr r1, _080AC62C @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _080AC630 @ =SpriteCallbackDummy
- cmp r1, r0
- beq _080AC60E
- bl _080AD8CA
-_080AC60E:
- lsls r0, r7, 2
- ldr r1, _080AC634 @ =0x02019338
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AC622
- bl _080AD8CA
-_080AC622:
- movs r0, 0x5
- strh r0, [r2, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC62C: .4byte gSprites
-_080AC630: .4byte SpriteCallbackDummy
-_080AC634: .4byte 0x02019338
-_080AC638:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AC660 @ =0x02019260
- adds r5, r0, r1
- ldrb r1, [r5, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AC664
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x21
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC660: .4byte 0x02019260
-_080AC664:
- bl sub_80AF138
- ldr r0, _080AC690 @ =gStringVar1
- lsls r1, r7, 6
- ldr r2, _080AC694 @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldrh r1, [r5, 0x6]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bhi _080AC6A0
- ldr r0, _080AC698 @ =gStringVar2
- adds r2, r1, 0
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AC69C @ =gMoveNames
- adds r1, r2
- bl StringCopy
- b _080AC6B0
- .align 2, 0
-_080AC690: .4byte gStringVar1
-_080AC694: .4byte gUnknown_02038572
-_080AC698: .4byte gStringVar2
-_080AC69C: .4byte gMoveNames
-_080AC6A0:
- ldr r0, _080AC6E0 @ =gStringVar2
- ldr r2, _080AC6E4 @ =gUnknown_083CC330
- ldrb r1, [r5, 0xA]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
-_080AC6B0:
- ldr r4, _080AC6E8 @ =gStringVar4
- ldr r1, _080AC6EC @ =gUnknown_083CAFD7
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AC6F0 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AC6F4 @ =gTasks
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC6E0: .4byte gStringVar2
-_080AC6E4: .4byte gUnknown_083CC330
-_080AC6E8: .4byte gStringVar4
-_080AC6EC: .4byte gUnknown_083CAFD7
-_080AC6F0: .4byte gMenuWindow
-_080AC6F4: .4byte gTasks
-_080AC6F8:
- ldr r0, _080AC724 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AC708
- bl _080AD8CA
-_080AC708:
- ldr r0, _080AC728 @ =0x02019204
- adds r0, 0x5A
- movs r1, 0
- strb r1, [r0]
- ldr r1, _080AC72C @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x7
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC724: .4byte gMenuWindow
-_080AC728: .4byte 0x02019204
-_080AC72C: .4byte gTasks
-_080AC730:
- ldrb r1, [r6, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x5C
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl sub_80B2760
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6, 0x11]
- bl sub_80B2790
- ldrb r0, [r6, 0x11]
- bl sub_80B28F0
- adds r0, r4, 0
- bl sub_80B29B4
- adds r0, r4, 0
- bl move_anim_start_t1
- ldr r1, _080AC778 @ =gTasks
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC778: .4byte gTasks
-_080AC77C:
- ldr r0, _080AC7B8 @ =gUnknown_0202F7AC
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _080AC7BC @ =gUnknown_0202F7B1
- ldrb r4, [r0]
- cmp r4, 0
- beq _080AC790
- bl _080AD8CA
-_080AC790:
- adds r0, r7, 0
- bl unref_sub_80B28CC
- ldr r1, _080AC7C0 @ =0x02019204
- adds r0, r1, 0
- adds r0, 0x5A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AC7C8
- ldr r0, _080AC7C4 @ =gTasks
- mov r5, r8
- lsls r1, r5, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- strh r4, [r1, 0x1C]
- movs r0, 0x9
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC7B8: .4byte gUnknown_0202F7AC
-_080AC7BC: .4byte gUnknown_0202F7B1
-_080AC7C0: .4byte 0x02019204
-_080AC7C4: .4byte gTasks
-_080AC7C8:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r1, 0x5C
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080AC7E2
- adds r0, r7, 0
- bl sub_80B03A8
-_080AC7E2:
- bl unref_sub_80B20C4
- ldr r0, _080AC7F0 @ =gTasks
- mov r2, r8
- lsls r1, r2, 2
- b _080AC8E2
- .align 2, 0
-_080AC7F0: .4byte gTasks
-_080AC7F4:
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- mov r4, r12
- adds r2, r0, r4
- ldrh r0, [r2, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- bgt _080AC812
- bl _080AD8CA
-_080AC812:
- movs r0, 0
- strh r0, [r2, 0x1C]
- movs r0, 0x7
- strh r0, [r2, 0x8]
- bl _080AD8CA
-_080AC81E:
- mov r5, r8
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- mov r1, r12
- adds r4, r0, r1
- movs r0, 0
- strh r0, [r4, 0xA]
- lsls r2, r7, 3
- subs r0, r2, r7
- lsls r0, 2
- ldr r1, _080AC858 @ =0x02019260
- adds r6, r0, r1
- ldrb r0, [r6, 0x13]
- mov r9, r3
- mov r10, r2
- adds r3, r1, 0
- cmp r0, 0xFF
- beq _080AC85C
- adds r1, r0, 0
- adds r0, r7, 0
- bl sub_80B146C
- movs r0, 0xFF
- strb r0, [r6, 0x13]
- movs r0, 0x18
- strh r0, [r4, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC858: .4byte 0x02019260
-_080AC85C:
- ldrb r0, [r6, 0x14]
- cmp r0, 0xFF
- beq _080AC8C4
- movs r6, 0
- cmp r6, r7
- beq _080AC86E
- ldrb r0, [r3, 0x13]
- cmp r0, 0xFF
- bne _080AC886
-_080AC86E:
- adds r6, 0x1
- cmp r6, 0x3
- bgt _080AC886
- cmp r6, r7
- beq _080AC86E
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x13]
- cmp r0, 0xFF
- beq _080AC86E
-_080AC886:
- cmp r6, 0x4
- bne _080AC8B4
- mov r2, r10
- subs r4, r2, r7
- lsls r4, 2
- adds r4, r3
- ldrb r1, [r4, 0x14]
- adds r0, r7, 0
- bl sub_80B146C
- movs r0, 0xFF
- strb r0, [r4, 0x14]
- ldr r1, _080AC8B0 @ =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x18
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC8B0: .4byte gTasks
-_080AC8B4:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x30
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AC8C4:
- movs r0, 0x30
- strh r0, [r4, 0x8]
- bl _080AD8CA
-_080AC8CC:
- ldr r0, _080AC8F0 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AC8DC
- bl _080AD8CA
-_080AC8DC:
- ldr r0, _080AC8F4 @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
-_080AC8E2:
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x17
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC8F0: .4byte gMenuWindow
-_080AC8F4: .4byte gTasks
-_080AC8F8:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AC914 @ =0x02019260
- adds r0, r1
- ldrb r0, [r0, 0x11]
- movs r3, 0x3
- ands r3, r0
- cmp r3, 0x1
- bne _080AC918
- movs r0, 0x5
- bl sub_80B1710
- b _080AC934
- .align 2, 0
-_080AC914: .4byte 0x02019260
-_080AC918:
- cmp r3, 0x2
- bne _080AC924
- movs r0, 0x6
- bl sub_80B1710
- b _080AC934
-_080AC924:
- cmp r3, 0x3
- beq _080AC92E
- mov r4, r8
- lsls r0, r4, 2
- b _080AC95E
-_080AC92E:
- movs r0, 0x7
- bl sub_80B1710
-_080AC934:
- ldr r0, _080AC948 @ =gTasks
- mov r5, r8
- lsls r1, r5, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x31
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC948: .4byte gTasks
-_080AC94C:
- ldrb r1, [r6, 0x6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080AC95A
- bl _080AD8CA
-_080AC95A:
- mov r1, r8
- lsls r0, r1, 2
-_080AC95E:
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x2F
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AC96C:
- movs r0, 0x1
- bl sub_80B1FD0
- ldr r0, _080AC988 @ =gTasks
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0xC
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC988: .4byte gTasks
-_080AC98C:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AC9B8 @ =0x02019260
- adds r0, r1
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- movs r0, 0
- adds r2, r7, 0
- bl sub_80AFBA0
- ldr r1, _080AC9BC @ =gTasks
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0xD
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC9B8: .4byte 0x02019260
-_080AC9BC: .4byte gTasks
-_080AC9C0:
- ldrb r0, [r6, 0x11]
- lsls r0, 2
- movs r5, 0x9A
- lsls r5, 1
- adds r1, r6, r5
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AC9DA
- bl _080AD8CA
-_080AC9DA:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x23
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AC9EC:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080ACA1C @ =0x02019260
- adds r0, r1
- ldrb r1, [r0, 0x10]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x10
- bne _080ACA06
- movs r0, 0x8
- bl sub_80B1710
-_080ACA06:
- ldr r0, _080ACA20 @ =gTasks
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x24
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACA1C: .4byte 0x02019260
-_080ACA20: .4byte gTasks
-_080ACA24:
- ldrb r1, [r6, 0x6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080ACA32
- bl _080AD8CA
-_080ACA32:
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x25
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080ACA44:
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80AEE54
- lsls r0, 24
- cmp r0, 0
- beq _080ACA70
- ldr r1, _080ACA6C @ =gTasks
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r1, 0x26
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACA6C: .4byte gTasks
-_080ACA70:
- ldr r0, _080ACA80 @ =gTasks
- mov r5, r8
- lsls r1, r5, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- b _080ACAA6
- .align 2, 0
-_080ACA80: .4byte gTasks
-_080ACA84:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080ACAA2
- bl _080AD8CA
-_080ACAA2:
- movs r0, 0
- strh r0, [r1, 0x1C]
-_080ACAA6:
- movs r0, 0x32
- strh r0, [r1, 0x8]
- bl _080AD8CA
-_080ACAAE:
- adds r0, r7, 0
- bl sub_80AF038
- lsls r0, 24
- cmp r0, 0
- beq _080ACAC0
- movs r0, 0x63
- bl PlaySE
-_080ACAC0:
- ldr r0, _080ACAD4 @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x19
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACAD4: .4byte gTasks
-_080ACAD8:
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0
- strh r1, [r0, 0xA]
- movs r1, 0x1A
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080ACAEE:
- movs r2, 0
- movs r4, 0
- mov r5, r8
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- add r0, r12
- movs r3, 0xA
- ldrsh r6, [r0, r3]
- mov r9, r1
- cmp r6, 0x3
- bgt _080ACB58
- ldr r3, _080ACB24 @ =gUnknown_02038696
- ldr r1, _080ACB28 @ =0x02019260
-_080ACB0A:
- movs r4, 0
- movs r2, 0
- cmp r4, r7
- beq _080ACB2C
- ldrb r0, [r3]
- cmp r0, r6
- bne _080ACB2C
- ldrb r0, [r1, 0x13]
- cmp r0, 0xFF
- beq _080ACB2C
- movs r4, 0x1
- b _080ACB60
- .align 2, 0
-_080ACB24: .4byte gUnknown_02038696
-_080ACB28: .4byte 0x02019260
-_080ACB2C:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080ACB4E
- cmp r2, r7
- beq _080ACB2C
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, r6
- bne _080ACB2C
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x13]
- cmp r0, 0xFF
- beq _080ACB2C
- movs r4, 0x1
-_080ACB4E:
- cmp r4, 0
- bne _080ACB60
- adds r6, 0x1
- cmp r6, 0x3
- ble _080ACB0A
-_080ACB58:
- lsls r0, r4, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080ACB98
-_080ACB60:
- mov r5, r9
- add r5, r8
- lsls r5, 3
- add r5, r12
- ldr r0, _080ACB90 @ =gUnknown_02038696
- adds r0, r2, r0
- ldrb r0, [r0]
- strh r0, [r5, 0xA]
- lsls r0, r2, 24
- lsrs r0, 24
- lsls r4, r2, 3
- subs r4, r2
- lsls r4, 2
- ldr r1, _080ACB94 @ =0x02019260
- adds r4, r1
- ldrb r1, [r4, 0x13]
- bl sub_80B146C
- movs r0, 0xFF
- strb r0, [r4, 0x13]
- movs r0, 0x1B
- strh r0, [r5, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACB90: .4byte gUnknown_02038696
-_080ACB94: .4byte 0x02019260
-_080ACB98:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0xA]
- strh r1, [r0, 0x1C]
- movs r1, 0x33
- strh r1, [r0, 0x8]
- bl sub_80AF120
- bl _080AD8CA
-_080ACBB0:
- ldr r0, _080ACBD4 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080ACBC0
- bl _080AD8CA
-_080ACBC0:
- ldr r0, _080ACBD8 @ =gTasks
- mov r4, r8
- lsls r1, r4, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1C
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACBD4: .4byte gMenuWindow
-_080ACBD8: .4byte gTasks
-_080ACBDC:
- movs r6, 0
- mov r5, r8
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- add r1, r12
- movs r3, 0xA
- ldrsh r2, [r1, r3]
- ldr r1, _080ACC38 @ =gUnknown_02038696
- mov r9, r0
- ldr r3, _080ACC3C @ =0x02019260
- adds r5, r1, 0
- ldrb r4, [r5]
- cmp r2, r4
- beq _080ACC08
- adds r1, r2, 0
- adds r2, r5, 0
-_080ACBFE:
- adds r6, 0x1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r1, r0
- bne _080ACBFE
-_080ACC08:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0xE]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- negs r1, r1
- lsls r2, r6, 24
- lsrs r2, 24
- bl sub_80AFBA0
- ldr r1, _080ACC40 @ =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1D
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACC38: .4byte gUnknown_02038696
-_080ACC3C: .4byte 0x02019260
-_080ACC40: .4byte gTasks
-_080ACC44:
- movs r6, 0
- mov r5, r8
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- add r1, r12
- movs r2, 0xA
- ldrsh r3, [r1, r2]
- ldr r1, _080ACC90 @ =gUnknown_02038696
- mov r9, r0
- ldr r2, _080ACC94 @ =0x02019338
- adds r5, r1, 0
- ldrb r4, [r5]
- cmp r3, r4
- beq _080ACC6C
-_080ACC62:
- adds r6, 0x1
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r3, r0
- bne _080ACC62
-_080ACC6C:
- lsls r0, r6, 2
- adds r0, r2
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080ACC7E
- bl _080AD8CA
-_080ACC7E:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x27
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACC90: .4byte gUnknown_02038696
-_080ACC94: .4byte 0x02019338
-_080ACC98:
- movs r6, 0
- mov r5, r8
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- add r1, r12
- movs r3, 0xA
- ldrsh r2, [r1, r3]
- ldr r1, _080ACCE8 @ =gUnknown_02038696
- mov r9, r0
- adds r5, r1, 0
- ldrb r4, [r5]
- cmp r2, r4
- beq _080ACCC2
- adds r1, r2, 0
- adds r2, r5, 0
-_080ACCB8:
- adds r6, 0x1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r1, r0
- bne _080ACCB8
-_080ACCC2:
- lsls r0, r6, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_80AEE54
- lsls r0, 24
- cmp r0, 0
- beq _080ACCF0
- ldr r1, _080ACCEC @ =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r1, 0x28
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACCE8: .4byte gUnknown_02038696
-_080ACCEC: .4byte gTasks
-_080ACCF0:
- ldr r0, _080ACCFC @ =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- b _080ACD22
- .align 2, 0
-_080ACCFC: .4byte gTasks
-_080ACD00:
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080ACD1E
- bl _080AD8CA
-_080ACD1E:
- movs r0, 0
- strh r0, [r1, 0x1C]
-_080ACD22:
- movs r0, 0x1E
- strh r0, [r1, 0x8]
- bl _080AD8CA
-_080ACD2A:
- movs r6, 0
- ldr r2, _080ACD78 @ =gUnknown_02038696
- ldrb r3, [r2]
- mov r4, r8
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- mov r5, r12
- adds r4, r0, r5
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- mov r9, r1
- adds r5, r2, 0
- cmp r3, r0
- beq _080ACD5E
- adds r3, r5, 0
- adds r2, r4, 0
-_080ACD4C:
- adds r6, 0x1
- cmp r6, 0x3
- bgt _080ACD5E
- adds r0, r6, r3
- ldrb r1, [r0]
- movs r4, 0xA
- ldrsh r0, [r2, r4]
- cmp r1, r0
- bne _080ACD4C
-_080ACD5E:
- lsls r4, r6, 24
- lsrs r0, r4, 24
- bl sub_80AF038
- lsls r0, 24
- adds r5, r4, 0
- cmp r0, 0
- beq _080ACD7C
- movs r0, 0x63
- bl PlaySE
- b _080ACD82
- .align 2, 0
-_080ACD78: .4byte gUnknown_02038696
-_080ACD7C:
- movs r0, 0x64
- bl PlaySE
-_080ACD82:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- ldr r1, _080ACDC0 @ =0x02019260
- adds r4, r0, r1
- ldrb r1, [r4, 0x15]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080ACDA6
- lsrs r0, r5, 24
- bl sub_80B03A8
- ldrb r1, [r4, 0x15]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x15]
-_080ACDA6:
- ldr r0, _080ACDC4 @ =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- movs r0, 0x1A
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACDC0: .4byte 0x02019260
-_080ACDC4: .4byte gTasks
-_080ACDC8:
- mov r5, r8
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- mov r1, r12
- adds r3, r0, r1
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- mov r9, r2
- cmp r0, 0x9
- bgt _080ACDE8
- bl _080AD8CA
-_080ACDE8:
- movs r0, 0
- strh r0, [r3, 0x1C]
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080ACE48 @ =0x02019260
- adds r2, r0, r1
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080ACE0A
- ldrb r1, [r2, 0x11]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080ACE36
-_080ACE0A:
- bl sub_80AF138
- ldr r0, _080ACE4C @ =gStringVar1
- lsls r1, r7, 6
- ldr r2, _080ACE50 @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldr r4, _080ACE54 @ =gStringVar4
- ldr r1, _080ACE58 @ =gUnknown_083CC103
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080ACE5C @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
-_080ACE36:
- ldr r0, _080ACE60 @ =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x34
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACE48: .4byte 0x02019260
-_080ACE4C: .4byte gStringVar1
-_080ACE50: .4byte gUnknown_02038572
-_080ACE54: .4byte gStringVar4
-_080ACE58: .4byte gUnknown_083CC103
-_080ACE5C: .4byte gMenuWindow
-_080ACE60: .4byte gTasks
-_080ACE64:
- ldr r0, _080ACE9C @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080ACE74
- bl _080AD8CA
-_080ACE74:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080ACEA0 @ =0x02019260
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080ACEA8
- ldr r0, _080ACEA4 @ =gTasks
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x11
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACE9C: .4byte gMenuWindow
-_080ACEA0: .4byte 0x02019260
-_080ACEA4: .4byte gTasks
-_080ACEA8:
- ldr r0, _080ACEBC @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0xE
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACEBC: .4byte gTasks
-_080ACEC0:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080ACEE4 @ =0x02019260
- adds r0, r1
- ldrb r4, [r0, 0x16]
- lsls r4, 24
- lsrs r5, r4, 24
- cmp r5, 0
- beq _080ACF48
- bl sub_80AF138
- asrs r0, r4, 24
- cmp r0, 0x1
- bne _080ACEF0
- ldr r0, _080ACEE8 @ =gMenuWindow
- ldr r1, _080ACEEC @ =gUnknown_083CBD79
- b _080ACEF8
- .align 2, 0
-_080ACEE4: .4byte 0x02019260
-_080ACEE8: .4byte gMenuWindow
-_080ACEEC: .4byte gUnknown_083CBD79
-_080ACEF0:
- cmp r0, 0x2
- bne _080ACF10
- ldr r0, _080ACF08 @ =gMenuWindow
- ldr r1, _080ACF0C @ =gUnknown_083CBD9D
-_080ACEF8:
- movs r2, 0xC2
- lsls r2, 2
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x1
- bl sub_8002EB0
- b _080ACF22
- .align 2, 0
-_080ACF08: .4byte gMenuWindow
-_080ACF0C: .4byte gUnknown_083CBD9D
-_080ACF10:
- ldr r0, _080ACF3C @ =gMenuWindow
- ldr r1, _080ACF40 @ =gUnknown_083CBDC6
- movs r2, 0xC2
- lsls r2, 2
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x1
- bl sub_8002EB0
-_080ACF22:
- movs r0, 0x3
- bl sub_80B1710
- ldr r1, _080ACF44 @ =gTasks
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- b _080ACF88
- .align 2, 0
-_080ACF3C: .4byte gMenuWindow
-_080ACF40: .4byte gUnknown_083CBDC6
-_080ACF44: .4byte gTasks
-_080ACF48:
- bl sub_80AF138
- ldr r0, _080ACF90 @ =gStringVar1
- lsls r1, r7, 6
- ldr r2, _080ACF94 @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldr r4, _080ACF98 @ =gStringVar4
- ldr r1, _080ACF9C @ =gUnknown_083CBD52
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080ACFA0 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- movs r0, 0x2
- bl sub_80B1710
- ldr r1, _080ACFA4 @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
-_080ACF88:
- movs r1, 0x2D
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACF90: .4byte gStringVar1
-_080ACF94: .4byte gUnknown_02038572
-_080ACF98: .4byte gStringVar4
-_080ACF9C: .4byte gUnknown_083CBD52
-_080ACFA0: .4byte gMenuWindow
-_080ACFA4: .4byte gTasks
-_080ACFA8:
- ldrb r1, [r6, 0x6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080ACFB6
- bl _080AD8CA
-_080ACFB6:
- ldrb r0, [r6, 0x11]
- bl sub_80B09B0
- ldr r1, _080ACFD0 @ =gTasks
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0xF
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACFD0: .4byte gTasks
-_080ACFD4:
- ldr r0, _080AD034 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080ACFE4
- bl _080AD8CA
-_080ACFE4:
- ldr r1, _080AD038 @ =gTasks
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- bgt _080AD002
- bl _080AD8CA
-_080AD002:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AD03C @ =0x02019260
- adds r6, r0, r1
- ldrb r1, [r6, 0x15]
- movs r5, 0x10
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _080AD02C
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- ldrb r1, [r6, 0x17]
- adds r2, r7, 0
- bl sub_80AFBA0
- ldrh r0, [r6, 0x2]
- ldrb r2, [r6, 0x17]
- adds r0, r2
- strh r0, [r6, 0x2]
-_080AD02C:
- strh r5, [r4, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AD034: .4byte gMenuWindow
-_080AD038: .4byte gTasks
-_080AD03C: .4byte 0x02019260
-_080AD040:
- lsls r0, r7, 2
- ldr r1, _080AD06C @ =0x02019338
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080AD058
- bl _080AD8CA
-_080AD058:
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0x1C]
- movs r1, 0x11
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AD06C: .4byte 0x02019338
-_080AD070:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AD0CC @ =0x02019260
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AD0E8
- bl sub_80AF138
- ldr r0, _080AD0D0 @ =gStringVar1
- lsls r1, r7, 6
- ldr r2, _080AD0D4 @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldr r4, _080AD0D8 @ =gStringVar4
- ldr r1, _080AD0DC @ =gUnknown_083CC075
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AD0E0 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r0, _080AD0E4 @ =gTasks
- mov r5, r8
- lsls r4, r5, 2
- add r4, r8
- lsls r4, 3
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x1C]
- bl sub_80B1710
- movs r0, 0x2E
- strh r0, [r4, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AD0CC: .4byte 0x02019260
-_080AD0D0: .4byte gStringVar1
-_080AD0D4: .4byte gUnknown_02038572
-_080AD0D8: .4byte gStringVar4
-_080AD0DC: .4byte gUnknown_083CC075
-_080AD0E0: .4byte gMenuWindow
-_080AD0E4: .4byte gTasks
-_080AD0E8:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x29
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AD0FA:
- ldrb r1, [r6, 0x6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080AD108
- bl _080AD8CA
-_080AD108:
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x13
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AD11A:
- ldr r0, _080AD15C @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD12A
- bl _080AD8CA
-_080AD12A:
- lsls r4, r7, 3
- subs r4, r7
- lsls r4, 2
- ldr r0, _080AD160 @ =0x02019260
- adds r4, r0
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- ldrb r1, [r4, 0x18]
- negs r1, r1
- adds r2, r7, 0
- bl sub_80AFBA0
- ldrb r1, [r4, 0x18]
- ldrh r0, [r4, 0x2]
- subs r0, r1
- strh r0, [r4, 0x2]
- ldr r1, _080AD164 @ =gTasks
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x12
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD15C: .4byte gMenuWindow
-_080AD160: .4byte 0x02019260
-_080AD164: .4byte gTasks
-_080AD168:
- bl sub_80B0D7C
- lsls r0, r7, 2
- ldr r1, _080AD19C @ =0x02019338
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _080AD182
- b _080AD8CA
-_080AD182:
- ldr r0, _080AD1A0 @ =gTasks
- mov r5, r8
- lsls r4, r5, 2
- add r4, r8
- lsls r4, 3
- adds r4, r0
- strh r6, [r4, 0x1C]
- bl sub_80AF138
- movs r0, 0x29
- strh r0, [r4, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD19C: .4byte 0x02019338
-_080AD1A0: .4byte gTasks
-_080AD1A4:
- ldr r2, _080AD1CC @ =0x02019328
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- adds r1, r2, 0
- cmp r0, 0
- beq _080AD1D0
- ldr r0, [r1]
- lsls r0, 20
- lsrs r0, 29
- cmp r7, r0
- beq _080AD1D0
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x39
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD1CC: .4byte 0x02019328
-_080AD1D0:
- ldrb r4, [r1]
- lsls r2, r7, 3
- subs r0, r2, r7
- lsls r0, 2
- subs r1, 0xC8
- adds r5, r0, r1
- ldrb r1, [r5, 0x11]
- movs r0, 0x10
- ands r0, r1
- mov r10, r2
- cmp r0, 0
- beq _080AD204
- movs r4, 0x1
- ldr r0, _080AD1FC @ =gStringVar3
- ldrh r2, [r5, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AD200 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- b _080AD21E
- .align 2, 0
-_080AD1FC: .4byte gStringVar3
-_080AD200: .4byte gMoveNames
-_080AD204:
- ldr r0, _080AD270 @ =gStringVar3
- ldr r3, _080AD274 @ =gUnknown_083CC2D8
- ldr r2, _080AD278 @ =gContestMoves
- ldrh r1, [r5, 0x6]
- lsls r1, 3
- adds r1, r2
- ldrb r1, [r1, 0x1]
- lsls r1, 29
- lsrs r1, 27
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
-_080AD21E:
- lsls r0, r4, 24
- cmp r0, 0
- ble _080AD23A
- mov r2, r10
- subs r0, r2, r7
- lsls r0, 2
- ldr r1, _080AD27C @ =0x02019260
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AD23A
- movs r4, 0
-_080AD23A:
- bl sub_80AF138
- ldr r0, _080AD280 @ =gStringVar1
- lsls r1, r7, 6
- ldr r2, _080AD284 @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldr r3, _080AD288 @ =0x02019204
- ldrb r0, [r3, 0x13]
- lsls r1, r4, 24
- asrs r2, r1, 24
- adds r0, r2, r0
- strb r0, [r3, 0x13]
- lsls r0, 24
- adds r4, r1, 0
- cmp r0, 0
- bge _080AD262
- movs r0, 0
- strb r0, [r3, 0x13]
-_080AD262:
- cmp r2, 0
- bne _080AD290
- ldr r0, _080AD28C @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
- b _080AD6EC
- .align 2, 0
-_080AD270: .4byte gStringVar3
-_080AD274: .4byte gUnknown_083CC2D8
-_080AD278: .4byte gContestMoves
-_080AD27C: .4byte 0x02019260
-_080AD280: .4byte gStringVar1
-_080AD284: .4byte gUnknown_02038572
-_080AD288: .4byte 0x02019204
-_080AD28C: .4byte gTasks
-_080AD290:
- cmp r2, 0
- bge _080AD2A8
- ldr r0, _080AD2A0 @ =gStringVar4
- ldr r1, _080AD2A4 @ =gUnknown_083CC0BC
- bl StringExpandPlaceholders
- b _080AD2D0
- .align 2, 0
-_080AD2A0: .4byte gStringVar4
-_080AD2A4: .4byte gUnknown_083CC0BC
-_080AD2A8:
- cmp r2, 0
- ble _080AD2C8
- movs r0, 0x13
- ldrsb r0, [r3, r0]
- cmp r0, 0x4
- bgt _080AD2C8
- ldr r0, _080AD2C0 @ =gStringVar4
- ldr r1, _080AD2C4 @ =gUnknown_083CC0A0
- bl StringExpandPlaceholders
- b _080AD2D0
- .align 2, 0
-_080AD2C0: .4byte gStringVar4
-_080AD2C4: .4byte gUnknown_083CC0A0
-_080AD2C8:
- ldr r0, _080AD300 @ =gStringVar4
- ldr r1, _080AD304 @ =gUnknown_083CC0E3
- bl StringExpandPlaceholders
-_080AD2D0:
- ldr r0, _080AD308 @ =gMenuWindow
- ldr r1, _080AD300 @ =gStringVar4
- movs r2, 0xC2
- lsls r2, 2
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD30C @ =gTasks
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0
- strh r0, [r1, 0x1C]
- strh r0, [r1, 0x1E]
- cmp r4, 0
- bge _080AD310
- movs r0, 0x35
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD300: .4byte gStringVar4
-_080AD304: .4byte gUnknown_083CC0E3
-_080AD308: .4byte gMenuWindow
-_080AD30C: .4byte gTasks
-_080AD310:
- movs r0, 0x36
- strh r0, [r1, 0x8]
- b _080AD8CA
-_080AD316:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- mov r2, r12
- adds r4, r0, r2
- movs r3, 0x1C
- ldrsh r2, [r4, r3]
- cmp r2, 0x1
- beq _080AD354
- cmp r2, 0x1
- bgt _080AD334
- cmp r2, 0
- beq _080AD33E
- b _080AD8CA
-_080AD334:
- cmp r2, 0x2
- beq _080AD37C
- cmp r2, 0x3
- beq _080AD3B0
- b _080AD8CA
-_080AD33E:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x1
- bl sub_80B1EA8
- ldr r0, _080AD350 @ =0x00000187
- bl PlayFanfare
- b _080AD3A8
- .align 2, 0
-_080AD350: .4byte 0x00000187
-_080AD354:
- ldrb r0, [r6, 0x7]
- ands r2, r0
- cmp r2, 0
- beq _080AD35E
- b _080AD8CA
-_080AD35E:
- ldr r0, _080AD378 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD36C
- b _080AD8CA
-_080AD36C:
- movs r0, 0x1
- negs r0, r0
- bl sub_80B1CBC
- b _080AD3A8
- .align 2, 0
-_080AD378: .4byte gMenuWindow
-_080AD37C:
- ldrb r1, [r6, 0x6]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080AD38C
- b _080AD8CA
-_080AD38C:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- bgt _080AD39C
- b _080AD8CA
-_080AD39C:
- strh r2, [r4, 0x1E]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- bl sub_80B1EA8
-_080AD3A8:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- b _080AD8CA
-_080AD3B0:
- ldr r0, _080AD3CC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080AD3C2
- b _080AD8CA
-_080AD3C2:
- strh r0, [r4, 0x1C]
- strh r0, [r4, 0x1E]
- movs r0, 0x2B
- strh r0, [r4, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD3CC: .4byte gPaletteFade
-_080AD3D0:
- mov r4, r8
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- add r0, r12
- movs r5, 0x1C
- ldrsh r0, [r0, r5]
- mov r9, r1
- cmp r0, 0x4
- bls _080AD3E6
- b _080AD8CA
-_080AD3E6:
- lsls r0, 2
- ldr r1, _080AD3F0 @ =_080AD3F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AD3F0: .4byte _080AD3F4
- .align 2, 0
-_080AD3F4:
- .4byte _080AD408
- .4byte _080AD420
- .4byte _080AD43E
- .4byte _080AD4A0
- .4byte _080AD4EC
-_080AD408:
- ldr r0, _080AD41C @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD416
- b _080AD8CA
-_080AD416:
- movs r0, 0x1
- movs r1, 0x1
- b _080AD4C8
- .align 2, 0
-_080AD41C: .4byte gMenuWindow
-_080AD420:
- ldrb r1, [r6, 0x7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AD42C
- b _080AD8CA
-_080AD42C:
- bl sub_80B1DDC
- movs r0, 0xDF
- bl PlaySE
- movs r0, 0x1
- bl sub_80B1CBC
- b _080AD4CC
-_080AD43E:
- ldrb r1, [r6, 0x6]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080AD44E
- b _080AD8CA
-_080AD44E:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- mov r1, r12
- adds r3, r0, r1
- ldrh r0, [r3, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- bgt _080AD468
- b _080AD8CA
-_080AD468:
- strh r2, [r3, 0x1E]
- lsls r4, r7, 3
- subs r4, r7
- lsls r4, 2
- adds r0, r6, 0
- adds r0, 0x5C
- adds r4, r0
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- movs r1, 0x92
- lsls r1, 1
- adds r5, r6, r1
- movs r1, 0x2
- ldrsb r1, [r5, r1]
- adds r2, r7, 0
- str r3, [sp, 0x4]
- bl sub_80AFBA0
- movs r0, 0x2
- ldrsb r0, [r5, r0]
- ldrh r2, [r4, 0x2]
- adds r0, r2
- strh r0, [r4, 0x2]
- ldr r3, [sp, 0x4]
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- b _080AD8CA
-_080AD4A0:
- lsls r0, r7, 2
- ldr r2, _080AD4E0 @ =0x02019338
- adds r0, r2
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AD4B2
- b _080AD8CA
-_080AD4B2:
- ldr r3, _080AD4E4 @ =0xfffffecc
- adds r0, r2, r3
- ldrb r1, [r0, 0x6]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080AD4C2
- b _080AD8CA
-_080AD4C2:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0x1
-_080AD4C8:
- bl sub_80B1EA8
-_080AD4CC:
- ldr r0, _080AD4E8 @ =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- b _080AD8CA
- .align 2, 0
-_080AD4E0: .4byte 0x02019338
-_080AD4E4: .4byte 0xfffffecc
-_080AD4E8: .4byte gTasks
-_080AD4EC:
- ldr r0, _080AD510 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080AD4FE
- b _080AD8CA
-_080AD4FE:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0x1C]
- strh r1, [r0, 0x1E]
- movs r1, 0x2B
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD510: .4byte gPaletteFade
-_080AD514:
- lsls r0, r7, 2
- ldr r1, _080AD534 @ =0x02019338
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AD526
- b _080AD8CA
-_080AD526:
- bl sub_80AF138
- ldr r0, _080AD538 @ =gTasks
- mov r4, r8
- lsls r1, r4, 2
- b _080AD6EC
- .align 2, 0
-_080AD534: .4byte 0x02019338
-_080AD538: .4byte gTasks
-_080AD53C:
- bl sub_80AF138
- ldr r0, _080AD5A8 @ =gStringVar3
- ldr r4, _080AD5AC @ =0x02019328
- ldr r1, [r4]
- lsls r1, 20
- lsrs r1, 29
- lsls r1, 6
- ldr r5, _080AD5B0 @ =gUnknown_02038572
- adds r1, r5
- bl StringCopy
- ldr r0, _080AD5B4 @ =gStringVar1
- lsls r1, r7, 6
- adds r1, r5
- bl StringCopy
- ldr r0, _080AD5B8 @ =gStringVar2
- lsls r1, r7, 3
- subs r1, r7
- lsls r1, 2
- subs r4, 0xC8
- adds r1, r4
- ldrh r2, [r1, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AD5BC @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _080AD5C0 @ =gStringVar4
- ldr r1, _080AD5C4 @ =gUnknown_083CC14A
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AD5C8 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD5CC @ =gTasks
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3A
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD5A8: .4byte gStringVar3
-_080AD5AC: .4byte 0x02019328
-_080AD5B0: .4byte gUnknown_02038572
-_080AD5B4: .4byte gStringVar1
-_080AD5B8: .4byte gStringVar2
-_080AD5BC: .4byte gMoveNames
-_080AD5C0: .4byte gStringVar4
-_080AD5C4: .4byte gUnknown_083CC14A
-_080AD5C8: .4byte gMenuWindow
-_080AD5CC: .4byte gTasks
-_080AD5D0:
- ldr r5, _080AD614 @ =gMenuWindow
- adds r0, r5, 0
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD5E0
- b _080AD8CA
-_080AD5E0:
- bl sub_80AF138
- ldr r4, _080AD618 @ =gStringVar4
- ldr r1, _080AD61C @ =gUnknown_083CC16E
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r2, 0xC2
- lsls r2, 2
- movs r0, 0xF
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD620 @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3B
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD614: .4byte gMenuWindow
-_080AD618: .4byte gStringVar4
-_080AD61C: .4byte gUnknown_083CC16E
-_080AD620: .4byte gTasks
-_080AD624:
- ldr r0, _080AD640 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD632
- b _080AD8CA
-_080AD632:
- bl sub_80AF138
- ldr r0, _080AD644 @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
- b _080AD6EC
- .align 2, 0
-_080AD640: .4byte gMenuWindow
-_080AD644: .4byte gTasks
-_080AD648:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AD6B4 @ =0x02019260
- adds r4, r0, r1
- ldrb r1, [r4, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080AD664
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x15]
-_080AD664:
- adds r0, r7, 0
- bl sub_80B09B0
- ldr r0, _080AD6B8 @ =gStringVar1
- lsls r1, r7, 6
- ldr r2, _080AD6BC @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldr r0, _080AD6C0 @ =gStringVar2
- ldrh r2, [r4, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AD6C4 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _080AD6C8 @ =gStringVar4
- ldr r1, _080AD6CC @ =gUnknown_083CBF60
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AD6D0 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD6D4 @ =gTasks
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x22
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD6B4: .4byte 0x02019260
-_080AD6B8: .4byte gStringVar1
-_080AD6BC: .4byte gUnknown_02038572
-_080AD6C0: .4byte gStringVar2
-_080AD6C4: .4byte gMoveNames
-_080AD6C8: .4byte gStringVar4
-_080AD6CC: .4byte gUnknown_083CBF60
-_080AD6D0: .4byte gMenuWindow
-_080AD6D4: .4byte gTasks
-_080AD6D8:
- ldr r0, _080AD6F8 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD6E6
- b _080AD8CA
-_080AD6E6:
- ldr r0, _080AD6FC @ =gTasks
- mov r5, r8
- lsls r1, r5, 2
-_080AD6EC:
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x37
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD6F8: .4byte gMenuWindow
-_080AD6FC: .4byte gTasks
-_080AD700:
- bl sub_80B1BDC
- ldr r0, _080AD718 @ =gTasks
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x38
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD718: .4byte gTasks
-_080AD71C:
- ldrb r1, [r6, 0x6]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080AD72C
- b _080AD8CA
-_080AD72C:
- movs r0, 0x13
- ldrsb r0, [r6, r0]
- cmp r0, 0x4
- ble _080AD73A
- strb r1, [r6, 0x13]
- bl sub_80B1928
-_080AD73A:
- ldr r0, _080AD74C @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0xA
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD74C: .4byte gTasks
-_080AD750:
- mov r4, r8
- lsls r2, r4, 2
- add r2, r8
- lsls r2, 3
- add r2, r12
- ldrb r5, [r2, 0xC]
- ldr r1, _080AD774 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080AD778 @ =sub_80AD92C
- str r1, [r0]
- movs r0, 0xB
- strh r0, [r2, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD774: .4byte gSprites
-_080AD778: .4byte sub_80AD92C
-_080AD77C:
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- mov r1, r12
- adds r4, r0, r1
- ldrb r5, [r4, 0xC]
- ldr r1, _080AD7B4 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r6, r0, r1
- adds r0, r6, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _080AD7A2
- b _080AD8CA
-_080AD7A2:
- adds r0, r6, 0
- bl FreeSpriteOamMatrix
- adds r0, r6, 0
- bl DestroySprite
- movs r0, 0x14
- strh r0, [r4, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD7B4: .4byte gSprites
-_080AD7B8:
- movs r6, 0
- mov r2, r8
- lsls r2, 2
- mov r9, r2
-_080AD7C0:
- lsls r0, r6, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_80B0CDC
- adds r6, 0x1
- cmp r6, 0x3
- ble _080AD7C0
- ldr r1, _080AD7E4 @ =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r1, 0x15
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD7E4: .4byte gTasks
-_080AD7E8:
- bl sub_80AF138
- ldr r0, _080AD828 @ =gStringVar1
- lsls r1, r7, 6
- ldr r2, _080AD82C @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldr r4, _080AD830 @ =gStringVar4
- ldr r1, _080AD834 @ =gUnknown_083CB00D
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AD838 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD83C @ =gTasks
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x20
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD828: .4byte gStringVar1
-_080AD82C: .4byte gUnknown_02038572
-_080AD830: .4byte gStringVar4
-_080AD834: .4byte gUnknown_083CB00D
-_080AD838: .4byte gMenuWindow
-_080AD83C: .4byte gTasks
-_080AD840:
- ldr r0, _080AD860 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- beq _080AD8CA
- ldr r0, _080AD864 @ =gTasks
- mov r4, r8
- lsls r1, r4, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x15
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD860: .4byte gMenuWindow
-_080AD864: .4byte gTasks
-_080AD868:
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080AD8CA
- movs r0, 0
- strh r0, [r1, 0x1C]
- movs r0, 0x16
- strh r0, [r1, 0x8]
- b _080AD8CA
-_080AD88C:
- ldrb r0, [r6, 0x10]
- adds r0, 0x1
- movs r1, 0
- strb r0, [r6, 0x10]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080AD8B8
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- strh r1, [r0, 0xC]
- ldr r1, _080AD8B4 @ =sub_80AD960
- str r1, [r0]
- b _080AD8C4
- .align 2, 0
-_080AD8B4: .4byte sub_80AD960
-_080AD8B8:
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0x8]
-_080AD8C4:
- movs r0, 0
- bl nullsub_18
-_080AD8CA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC2CC
-
- thumb_func_start sub_80AD8DC
-sub_80AD8DC: @ 80AD8DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080AD8F8 @ =0x02019204
- ldrb r2, [r3, 0x7]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r3, 0x7]
- bl DestroyTask
- pop {r0}
- bx r0
- .align 2, 0
-_080AD8F8: .4byte 0x02019204
- thumb_func_end sub_80AD8DC
-
- thumb_func_start sub_80AD8FC
-sub_80AD8FC: @ 80AD8FC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x24]
- movs r3, 0x24
- ldrsh r2, [r1, r3]
- cmp r2, 0
- beq _080AD910
- subs r0, 0x2
- strh r0, [r1, 0x24]
- b _080AD924
-_080AD910:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _080AD924
- strh r2, [r1, 0x2E]
- ldr r0, _080AD928 @ =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_080AD924:
- pop {r0}
- bx r0
- .align 2, 0
-_080AD928: .4byte SpriteCallbackDummy
- thumb_func_end sub_80AD8FC
-
- thumb_func_start sub_80AD92C
-sub_80AD92C: @ 80AD92C
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x24]
- subs r0, 0x6
- strh r0, [r2, 0x24]
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- movs r3, 0x24
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080AD956
- ldr r0, _080AD95C @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080AD956:
- pop {r0}
- bx r0
- .align 2, 0
-_080AD95C: .4byte SpriteCallbackDummy
- thumb_func_end sub_80AD92C
-
- thumb_func_start sub_80AD960
-sub_80AD960: @ 80AD960
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AD984 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080AD9F2
- cmp r0, 0x1
- bgt _080AD988
- cmp r0, 0
- beq _080AD98E
- b _080ADA10
- .align 2, 0
-_080AD984: .4byte gTasks
-_080AD988:
- cmp r0, 0x2
- beq _080ADA08
- b _080ADA10
-_080AD98E:
- ldr r0, _080AD9D8 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080AD9E8
- ldr r2, _080AD9DC @ =0x02019204
- ldrb r0, [r2, 0x7]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x7]
- bl sub_80AE074
- lsls r0, 24
- cmp r0, 0
- beq _080AD9B8
- bl sub_80AF2FC
- bl sub_80AF3C0
-_080AD9B8:
- ldr r4, _080AD9E0 @ =sub_80C8C80
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AD9E4 @ =sub_80AD8DC
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- bl sub_80AF860
- strh r6, [r5, 0x8]
- b _080ADA10
- .align 2, 0
-_080AD9D8: .4byte gUnknown_0203869A
-_080AD9DC: .4byte 0x02019204
-_080AD9E0: .4byte sub_80C8C80
-_080AD9E4: .4byte sub_80AD8DC
-_080AD9E8:
- bl sub_80AF2FC
- bl sub_80AF3C0
- b _080AD9FE
-_080AD9F2:
- ldr r0, _080ADA04 @ =0x02019204
- ldrb r1, [r0, 0x7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080ADA10
-_080AD9FE:
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080ADA10
- .align 2, 0
-_080ADA04: .4byte 0x02019204
-_080ADA08:
- movs r0, 0
- strh r0, [r5, 0x8]
- ldr r0, _080ADA18 @ =sub_80ADA1C
- str r0, [r5]
-_080ADA10:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA18: .4byte sub_80ADA1C
- thumb_func_end sub_80AD960
-
- thumb_func_start sub_80ADA1C
-sub_80ADA1C: @ 80ADA1C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80B1FD0
- ldr r1, _080ADA44 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- ldr r1, _080ADA48 @ =sub_80ADA4C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA44: .4byte gTasks
-_080ADA48: .4byte sub_80ADA4C
- thumb_func_end sub_80ADA1C
-
- thumb_func_start sub_80ADA4C
-sub_80ADA4C: @ 80ADA4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADA70 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080ADA92
- cmp r5, 0x1
- bgt _080ADA74
- cmp r5, 0
- beq _080ADA7A
- b _080ADACE
- .align 2, 0
-_080ADA70: .4byte gTasks
-_080ADA74:
- cmp r5, 0x2
- beq _080ADAC0
- b _080ADACE
-_080ADA7A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080ADACE
- movs r0, 0x2
- bl sub_80B25E4
- strh r5, [r4, 0xA]
- b _080ADAB2
-_080ADA92:
- ldr r0, _080ADABC @ =0x02019204
- ldrb r1, [r0, 0x7]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080ADACE
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080ADACE
- strh r1, [r4, 0xA]
-_080ADAB2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080ADACE
- .align 2, 0
-_080ADABC: .4byte 0x02019204
-_080ADAC0:
- bl sub_80AFF10
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- ldr r0, _080ADAD4 @ =sub_80ADAD8
- str r0, [r4]
-_080ADACE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADAD4: .4byte sub_80ADAD8
- thumb_func_end sub_80ADA4C
-
- thumb_func_start sub_80ADAD8
-sub_80ADAD8: @ 80ADAD8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AFF28
- lsls r0, 24
- cmp r0, 0
- beq _080ADAF6
- ldr r0, _080ADAFC @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADB00 @ =sub_80ADB04
- str r0, [r1]
-_080ADAF6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADAFC: .4byte gTasks
-_080ADB00: .4byte sub_80ADB04
- thumb_func_end sub_80ADAD8
-
- thumb_func_start sub_80ADB04
-sub_80ADB04: @ 80ADB04
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADB30 @ =0x02018204
- ldr r3, _080ADB34 @ =gPlttBufferUnfaded
- ldr r1, _080ADB38 @ =0x040000d4
- str r2, [r1]
- str r3, [r1, 0x4]
- ldr r2, _080ADB3C @ =0x84000100
- str r2, [r1, 0x8]
- ldr r1, [r1, 0x8]
- ldr r2, _080ADB40 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x2
- strh r0, [r1, 0xA]
- ldr r0, _080ADB44 @ =sub_80ADB48
- str r0, [r1]
- bx lr
- .align 2, 0
-_080ADB30: .4byte 0x02018204
-_080ADB34: .4byte gPlttBufferUnfaded
-_080ADB38: .4byte 0x040000d4
-_080ADB3C: .4byte 0x84000100
-_080ADB40: .4byte gTasks
-_080ADB44: .4byte sub_80ADB48
- thumb_func_end sub_80ADB04
-
- thumb_func_start sub_80ADB48
-sub_80ADB48: @ 80ADB48
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADB80 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080ADB7A
- movs r0, 0
- strh r0, [r1, 0x8]
- ldrh r0, [r1, 0xA]
- subs r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080ADB7A
- ldr r0, _080ADB84 @ =sub_80ADB88
- str r0, [r1]
-_080ADB7A:
- pop {r0}
- bx r0
- .align 2, 0
-_080ADB80: .4byte gTasks
-_080ADB84: .4byte sub_80ADB88
- thumb_func_end sub_80ADB48
-
- thumb_func_start sub_80ADB88
-sub_80ADB88: @ 80ADB88
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _080ADBEC @ =gUnknown_02038695
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _080ADBF0 @ =0x02019260
- adds r0, r1
- ldrb r4, [r0, 0x1A]
- bl sub_80AF138
- ldr r0, _080ADBF4 @ =gStringVar1
- ldrb r1, [r6]
- lsls r1, 6
- ldr r2, _080ADBF8 @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldr r6, _080ADBFC @ =gStringVar4
- ldr r0, _080ADC00 @ =gUnknown_083CB2F0
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r6, 0
- bl StringExpandPlaceholders
- ldr r0, _080ADC04 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080ADC08 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ADC0C @ =sub_80ADC10
- str r1, [r0]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADBEC: .4byte gUnknown_02038695
-_080ADBF0: .4byte 0x02019260
-_080ADBF4: .4byte gStringVar1
-_080ADBF8: .4byte gUnknown_02038572
-_080ADBFC: .4byte gStringVar4
-_080ADC00: .4byte gUnknown_083CB2F0
-_080ADC04: .4byte gMenuWindow
-_080ADC08: .4byte gTasks
-_080ADC0C: .4byte sub_80ADC10
- thumb_func_end sub_80ADB88
-
- thumb_func_start sub_80ADC10
-sub_80ADC10: @ 80ADC10
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080ADC40 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080ADC3A
- ldr r1, _080ADC44 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080ADC48 @ =sub_80ADC4C
- str r1, [r0]
- bl sub_80B0D7C
-_080ADC3A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADC40: .4byte gMenuWindow
-_080ADC44: .4byte gTasks
-_080ADC48: .4byte sub_80ADC4C
- thumb_func_end sub_80ADC10
-
- thumb_func_start sub_80ADC4C
-sub_80ADC4C: @ 80ADC4C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADC7C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080ADC76
- movs r0, 0
- strh r0, [r4, 0x8]
- bl sub_80AFF10
- ldr r0, _080ADC80 @ =sub_80ADC84
- str r0, [r4]
-_080ADC76:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADC7C: .4byte gTasks
-_080ADC80: .4byte sub_80ADC84
- thumb_func_end sub_80ADC4C
-
- thumb_func_start sub_80ADC84
-sub_80ADC84: @ 80ADC84
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AFF28
- lsls r0, 24
- cmp r0, 0
- beq _080ADCA6
- ldr r1, _080ADCAC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080ADCB0 @ =sub_80ADCB4
- str r1, [r0]
-_080ADCA6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADCAC: .4byte gTasks
-_080ADCB0: .4byte sub_80ADCB4
- thumb_func_end sub_80ADC84
-
- thumb_func_start sub_80ADCB4
-sub_80ADCB4: @ 80ADCB4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80B2184
- ldr r1, _080ADCD4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ADCD8 @ =sub_80B237C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADCD4: .4byte gTasks
-_080ADCD8: .4byte sub_80B237C
- thumb_func_end sub_80ADCB4
-
- thumb_func_start sub_80ADCDC
-sub_80ADCDC: @ 80ADCDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80B2280
- ldr r1, _080ADCFC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ADD00 @ =sub_80ADD04
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADCFC: .4byte gTasks
-_080ADD00: .4byte sub_80ADD04
- thumb_func_end sub_80ADCDC
-
- thumb_func_start sub_80ADD04
-sub_80ADD04: @ 80ADD04
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, _080ADD40 @ =REG_BG0CNT
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- ldr r2, _080ADD44 @ =REG_BG2CNT
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- ldr r1, _080ADD48 @ =0x02019204
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080ADD54
- ldr r0, _080ADD4C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADD50 @ =sub_80ADDA4
- b _080ADD64
- .align 2, 0
-_080ADD40: .4byte REG_BG0CNT
-_080ADD44: .4byte REG_BG2CNT
-_080ADD48: .4byte 0x02019204
-_080ADD4C: .4byte gTasks
-_080ADD50: .4byte sub_80ADDA4
-_080ADD54:
- bl sub_80B1B14
- ldr r0, _080ADD6C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADD70 @ =sub_80ADD74
-_080ADD64:
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADD6C: .4byte gTasks
-_080ADD70: .4byte sub_80ADD74
- thumb_func_end sub_80ADD04
-
- thumb_func_start sub_80ADD74
-sub_80ADD74: @ 80ADD74
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080ADD98 @ =0x02019204
- ldrb r1, [r0, 0x6]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080ADD94
- ldr r0, _080ADD9C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADDA0 @ =sub_80ABB70
- str r0, [r1]
-_080ADD94:
- pop {r0}
- bx r0
- .align 2, 0
-_080ADD98: .4byte 0x02019204
-_080ADD9C: .4byte gTasks
-_080ADDA0: .4byte sub_80ABB70
- thumb_func_end sub_80ADD74
-
- thumb_func_start sub_80ADDA4
-sub_80ADDA4: @ 80ADDA4
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080ADE24 @ =gUnknown_030042A0
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080ADE28 @ =gUnknown_03004280
- strh r1, [r0]
- ldr r3, _080ADE2C @ =0x02019260
- ldr r2, _080ADE30 @ =gUnknown_02038680
- movs r1, 0x3
-_080ADDBC:
- ldrh r0, [r3, 0x4]
- strh r0, [r2]
- adds r3, 0x1C
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080ADDBC
- movs r5, 0
- bl sub_80AF668
- bl sub_80AF138
- ldr r0, _080ADE34 @ =gUnknown_02038695
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _080ADE2C @ =0x02019260
- adds r0, r1
- ldrh r0, [r0, 0x8]
- bl sub_80BE23C
- ldr r1, _080ADE38 @ =gUnknown_03005D28
- ldr r0, _080ADE3C @ =gRngValue
- ldr r0, [r0]
- str r0, [r1]
- ldr r4, _080ADE40 @ =gStringVar4
- ldr r1, _080ADE44 @ =gUnknown_083CB02C
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080ADE48 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080ADE4C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xC]
- ldr r1, _080ADE50 @ =sub_80ADE54
- str r1, [r0]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADE24: .4byte gUnknown_030042A0
-_080ADE28: .4byte gUnknown_03004280
-_080ADE2C: .4byte 0x02019260
-_080ADE30: .4byte gUnknown_02038680
-_080ADE34: .4byte gUnknown_02038695
-_080ADE38: .4byte gUnknown_03005D28
-_080ADE3C: .4byte gRngValue
-_080ADE40: .4byte gStringVar4
-_080ADE44: .4byte gUnknown_083CB02C
-_080ADE48: .4byte gMenuWindow
-_080ADE4C: .4byte gTasks
-_080ADE50: .4byte sub_80ADE54
- thumb_func_end sub_80ADDA4
-
- thumb_func_start sub_80ADE54
-sub_80ADE54: @ 80ADE54
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080ADE98 @ =gMenuWindow
- bl sub_80037A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080ADE92
- bl sub_80B2184
- ldr r1, _080ADE9C @ =gUnknown_030042C0
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080ADEA0 @ =gUnknown_030041B4
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0x62
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r1, _080ADEA4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080ADEA8 @ =sub_80ADEAC
- str r1, [r0]
-_080ADE92:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADE98: .4byte gMenuWindow
-_080ADE9C: .4byte gUnknown_030042C0
-_080ADEA0: .4byte gUnknown_030041B4
-_080ADEA4: .4byte gTasks
-_080ADEA8: .4byte sub_80ADEAC
- thumb_func_end sub_80ADE54
-
- thumb_func_start sub_80ADEAC
-sub_80ADEAC: @ 80ADEAC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _080ADEE0 @ =gUnknown_030041B4
- ldrh r0, [r1]
- subs r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bge _080ADEC4
- movs r0, 0
- strh r0, [r1]
-_080ADEC4:
- ldrh r2, [r1]
- cmp r2, 0
- bne _080ADEDA
- ldr r0, _080ADEE4 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADEE8 @ =sub_80ADEEC
- str r0, [r1]
- strh r2, [r1, 0x8]
-_080ADEDA:
- pop {r0}
- bx r0
- .align 2, 0
-_080ADEE0: .4byte gUnknown_030041B4
-_080ADEE4: .4byte gTasks
-_080ADEE8: .4byte sub_80ADEEC
- thumb_func_end sub_80ADEAC
-
- thumb_func_start sub_80ADEEC
-sub_80ADEEC: @ 80ADEEC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADF20 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x31
- ble _080ADF40
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _080ADF24 @ =gUnknown_0203869A
- ldrb r0, [r0]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080ADF2C
- ldr r0, _080ADF28 @ =sub_80ADF4C
- b _080ADF3E
- .align 2, 0
-_080ADF20: .4byte gTasks
-_080ADF24: .4byte gUnknown_0203869A
-_080ADF28: .4byte sub_80ADF4C
-_080ADF2C:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080ADF48 @ =sub_80ADFD8
-_080ADF3E:
- str r0, [r4]
-_080ADF40:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADF48: .4byte sub_80ADFD8
- thumb_func_end sub_80ADEEC
-
- thumb_func_start sub_80ADF4C
-sub_80ADF4C: @ 80ADF4C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080ADF88 @ =sub_80C8AD0
- adds r0, r5, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADF8C @ =sub_80ADF98
- adds r1, r5, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, _080ADF90 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ADF94 @ =nullsub_89
- str r1, [r0]
- bl sub_80AF860
- movs r0, 0
- bl sub_80AFFE0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADF88: .4byte sub_80C8AD0
-_080ADF8C: .4byte sub_80ADF98
-_080ADF90: .4byte gTasks
-_080ADF94: .4byte nullsub_89
- thumb_func_end sub_80ADF4C
-
- thumb_func_start sub_80ADF98
-sub_80ADF98: @ 80ADF98
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r2, _080ADFCC @ =gTasks
- ldr r0, _080ADFD0 @ =0x02019204
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080ADFD4 @ =sub_80ADFD8
- str r1, [r0]
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080ADFCC: .4byte gTasks
-_080ADFD0: .4byte 0x02019204
-_080ADFD4: .4byte sub_80ADFD8
- thumb_func_end sub_80ADF98
-
- thumb_func_start sub_80ADFD8
-sub_80ADFD8: @ 80ADFD8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080AE000 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ADFFC
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080AE004 @ =gUnknown_0300485C
- ldr r1, _080AE008 @ =sub_80AE010
- str r1, [r0]
- ldr r0, _080AE00C @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
-_080ADFFC:
- pop {r0}
- bx r0
- .align 2, 0
-_080AE000: .4byte gPaletteFade
-_080AE004: .4byte gUnknown_0300485C
-_080AE008: .4byte sub_80AE010
-_080AE00C: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80ADFD8
-
- thumb_func_start sub_80AE010
-sub_80AE010: @ 80AE010
- push {lr}
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80AE010
-
- thumb_func_start sub_80AE020
-sub_80AE020: @ 80AE020
- push {r4,lr}
- adds r4, r0, 0
- b _080AE028
-_080AE026:
- adds r4, 0x1
-_080AE028:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080AE04C
- cmp r0, 0xFC
- bne _080AE026
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _080AE026
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r1, 0xFF
- strb r1, [r0]
- adds r1, r4, 0x2
- bl StringAppend
-_080AE04C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AE020
-
- thumb_func_start sub_80AE054
-sub_80AE054: @ 80AE054
- push {lr}
- ldr r0, _080AE06C @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AE068
- ldr r1, _080AE070 @ =gUnknown_02038695
- movs r0, 0x3
- strb r0, [r1]
-_080AE068:
- pop {r0}
- bx r0
- .align 2, 0
-_080AE06C: .4byte gUnknown_0203869A
-_080AE070: .4byte gUnknown_02038695
- thumb_func_end sub_80AE054
-
- thumb_func_start sub_80AE074
-sub_80AE074: @ 80AE074
- push {lr}
- ldr r0, _080AE088 @ =gUnknown_02038695
- ldr r1, _080AE08C @ =gUnknown_0203869B
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080AE090
- movs r0, 0
- b _080AE092
- .align 2, 0
-_080AE088: .4byte gUnknown_02038695
-_080AE08C: .4byte gUnknown_0203869B
-_080AE090:
- movs r0, 0x1
-_080AE092:
- pop {r1}
- bx r1
- thumb_func_end sub_80AE074
-
- thumb_func_start sub_80AE098
-sub_80AE098: @ 80AE098
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, _080AE0F0 @ =gSaveBlock2
- mov r0, sp
- adds r1, r6, 0
- bl StringCopy
- mov r0, sp
- bl StripExtCtrlCodes
- ldr r0, _080AE0F4 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AE0CE
- mov r0, sp
- ldrb r2, [r0, 0x5]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- mov r0, sp
- strb r2, [r0, 0x7]
-_080AE0CE:
- ldr r5, _080AE0F8 @ =gUnknown_02038695
- ldrb r0, [r5]
- lsls r0, 6
- ldr r4, _080AE0FC @ =gUnknown_0203857D
- adds r0, r4
- mov r1, sp
- movs r2, 0x8
- bl memcpy
- ldrb r0, [r6, 0x8]
- cmp r0, 0
- bne _080AE100
- ldrb r0, [r5]
- lsls r0, 6
- adds r0, r4, r0
- movs r1, 0xD8
- b _080AE108
- .align 2, 0
-_080AE0F0: .4byte gSaveBlock2
-_080AE0F4: .4byte gUnknown_0203869A
-_080AE0F8: .4byte gUnknown_02038695
-_080AE0FC: .4byte gUnknown_0203857D
-_080AE100:
- ldrb r0, [r5]
- lsls r0, 6
- adds r0, r4, r0
- movs r1, 0xD9
-_080AE108:
- strb r1, [r0, 0x8]
- ldr r5, _080AE17C @ =gUnknown_02038570
- ldr r4, _080AE180 @ =gUnknown_02038695
- ldrb r0, [r4]
- lsls r0, 6
- adds r1, r5, 0
- adds r1, 0x18
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- ldrb r0, [r4]
- lsls r0, 6
- adds r0, r5
- adds r0, 0x2C
- strb r1, [r0]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _080AE184 @ =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- ldrb r1, [r4]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1]
- adds r0, r6, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- ldr r0, _080AE188 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AE19A
- mov r0, sp
- bl StripExtCtrlCodes
- adds r0, r6, 0
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x1
- bne _080AE18C
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- movs r0, 0xFC
- strb r0, [r1, 0xA]
- b _080AE19A
- .align 2, 0
-_080AE17C: .4byte gUnknown_02038570
-_080AE180: .4byte gUnknown_02038695
-_080AE184: .4byte gPlayerParty
-_080AE188: .4byte gUnknown_0203869A
-_080AE18C:
- mov r0, sp
- ldrb r2, [r0, 0x5]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- mov r0, sp
- strb r2, [r0, 0xA]
-_080AE19A:
- ldr r5, _080AE2C4 @ =gUnknown_02038695
- ldrb r0, [r5]
- lsls r0, 6
- ldr r1, _080AE2C8 @ =gUnknown_02038572
- mov r8, r1
- add r0, r8
- mov r1, sp
- movs r2, 0xB
- bl memcpy
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, _080AE2CC @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x16
- bl GetMonData
- mov r6, r8
- subs r6, 0x2
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x26
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x17
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x18
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x28
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x21
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x29
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2F
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x2A
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x30
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x2B
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0xD
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- strh r0, [r1, 0x1E]
- adds r0, r4, 0
- movs r1, 0xE
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- strh r0, [r1, 0x20]
- adds r0, r4, 0
- movs r1, 0xF
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- strh r0, [r1, 0x22]
- adds r0, r4, 0
- movs r1, 0x10
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- strh r0, [r1, 0x24]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- mov r2, r8
- adds r2, 0x36
- adds r1, r2
- str r0, [r1]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- movs r2, 0x3A
- add r8, r2
- add r1, r8
- str r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r2, r0, 16
- mov r8, r2
- ldrb r0, [r5]
- lsls r0, 6
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r3, [r0]
- adds r0, 0x1
- ldrb r4, [r0]
- adds r0, 0x1
- ldrb r5, [r0]
- adds r0, 0x1
- ldrb r6, [r0]
- adds r0, 0x1
- ldrb r7, [r0]
- cmp r2, 0xFE
- bne _080AE2D0
- adds r3, 0x14
- b _080AE31E
- .align 2, 0
-_080AE2C4: .4byte gUnknown_02038695
-_080AE2C8: .4byte gUnknown_02038572
-_080AE2CC: .4byte gPlayerParty
-_080AE2D0:
- cmp r2, 0xFF
- bne _080AE2E0
- lsls r0, r4, 16
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
- b _080AE31E
-_080AE2E0:
- movs r0, 0x80
- lsls r0, 1
- cmp r2, r0
- bne _080AE2F4
- lsls r0, r5, 16
- movs r2, 0xA0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- b _080AE31E
-_080AE2F4:
- ldr r0, _080AE308 @ =0x00000101
- cmp r2, r0
- bne _080AE30C
- lsls r0, r6, 16
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- lsrs r6, r0, 16
- b _080AE31E
- .align 2, 0
-_080AE308: .4byte 0x00000101
-_080AE30C:
- movs r0, 0x81
- lsls r0, 1
- cmp r8, r0
- bne _080AE31E
- lsls r0, r7, 16
- movs r2, 0xA0
- lsls r2, 13
- adds r0, r2
- lsrs r7, r0, 16
-_080AE31E:
- cmp r3, 0xFF
- ble _080AE324
- movs r3, 0xFF
-_080AE324:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080AE32E
- movs r4, 0xFF
-_080AE32E:
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080AE338
- movs r5, 0xFF
-_080AE338:
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080AE342
- movs r6, 0xFF
-_080AE342:
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080AE34C
- movs r7, 0xFF
-_080AE34C:
- ldr r2, _080AE390 @ =gUnknown_02038570
- ldr r1, _080AE394 @ =gUnknown_02038695
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x26
- strb r3, [r0]
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x27
- strb r4, [r0]
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x28
- strb r5, [r0]
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x29
- strb r6, [r0]
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x2A
- strb r7, [r0]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE390: .4byte gUnknown_02038570
-_080AE394: .4byte gUnknown_02038695
- thumb_func_end sub_80AE098
-
- thumb_func_start sub_80AE398
-sub_80AE398: @ 80AE398
- push {r4-r7,lr}
- sub sp, 0x40
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- movs r6, 0
- bl sub_80AE054
- movs r5, 0
- ldr r2, _080AE470 @ =gUnknown_083C9408
-_080AE3AE:
- ldrb r1, [r2, 0x1C]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r7, r0
- bne _080AE3FE
- cmp r4, 0
- bne _080AE3C2
- lsls r0, r1, 29
- cmp r0, 0
- blt _080AE3F2
-_080AE3C2:
- cmp r4, 0x1
- bne _080AE3CE
- ldrb r0, [r2, 0x1C]
- lsls r0, 28
- cmp r0, 0
- blt _080AE3F2
-_080AE3CE:
- cmp r4, 0x2
- bne _080AE3DA
- ldrb r0, [r2, 0x1C]
- lsls r0, 27
- cmp r0, 0
- blt _080AE3F2
-_080AE3DA:
- cmp r4, 0x3
- bne _080AE3E6
- ldrb r0, [r2, 0x1C]
- lsls r0, 26
- cmp r0, 0
- blt _080AE3F2
-_080AE3E6:
- cmp r4, 0x4
- bne _080AE3FE
- ldrb r0, [r2, 0x1C]
- lsls r0, 25
- cmp r0, 0
- bge _080AE3FE
-_080AE3F2:
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r6, r1, 24
- add r0, sp
- strb r5, [r0]
-_080AE3FE:
- adds r2, 0x40
- adds r5, 0x1
- cmp r5, 0x3B
- ble _080AE3AE
- mov r0, sp
- adds r1, r0, r6
- movs r0, 0xFF
- strb r0, [r1]
- movs r5, 0
- ldr r7, _080AE470 @ =gUnknown_083C9408
-_080AE412:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080AE474 @ =gUnknown_02038570
- lsls r2, r5, 6
- adds r2, r1
- mov r1, sp
- adds r4, r1, r0
- ldrb r1, [r4]
- lsls r1, 6
- adds r1, r7
- adds r0, r2, 0
- movs r2, 0x40
- bl memcpy
- ldrb r0, [r4]
- adds r2, r5, 0x1
- subs r1, r6, 0x1
- cmp r0, 0xFF
- beq _080AE454
- adds r3, r4, 0
-_080AE448:
- ldrb r0, [r3, 0x1]
- strb r0, [r3]
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _080AE448
-_080AE454:
- lsls r0, r1, 24
- lsrs r6, r0, 24
- adds r5, r2, 0
- cmp r5, 0x2
- ble _080AE412
- ldr r0, _080AE478 @ =gUnknown_02038694
- ldrb r0, [r0]
- bl sub_80AE098
- add sp, 0x40
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE470: .4byte gUnknown_083C9408
-_080AE474: .4byte gUnknown_02038570
-_080AE478: .4byte gUnknown_02038694
- thumb_func_end sub_80AE398
-
- thumb_func_start sub_80AE47C
-sub_80AE47C: @ 80AE47C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _080AE48E
- movs r0, 0x3
- b _080AE50A
-_080AE48E:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _080AE49E
- movs r0, 0x4
- b _080AE50A
-_080AE49E:
- ldr r0, _080AE4B0 @ =gUnknown_0203869C
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080AE4F2
- lsls r0, 2
- ldr r1, _080AE4B4 @ =_080AE4B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AE4B0: .4byte gUnknown_0203869C
-_080AE4B4: .4byte _080AE4B8
- .align 2, 0
-_080AE4B8:
- .4byte _080AE4CC
- .4byte _080AE4D2
- .4byte _080AE4D8
- .4byte _080AE4DE
- .4byte _080AE4E4
-_080AE4CC:
- adds r0, r4, 0
- movs r1, 0x32
- b _080AE4E8
-_080AE4D2:
- adds r0, r4, 0
- movs r1, 0x33
- b _080AE4E8
-_080AE4D8:
- adds r0, r4, 0
- movs r1, 0x34
- b _080AE4E8
-_080AE4DE:
- adds r0, r4, 0
- movs r1, 0x35
- b _080AE4E8
-_080AE4E4:
- adds r0, r4, 0
- movs r1, 0x36
-_080AE4E8:
- bl GetMonData
- lsls r0, 24
- lsrs r1, r0, 24
- b _080AE4F6
-_080AE4F2:
- movs r0, 0
- b _080AE50A
-_080AE4F6:
- ldr r0, _080AE510 @ =gUnknown_0203869E
- adds r2, r1, 0
- ldrh r1, [r0]
- movs r0, 0x2
- cmp r2, r1
- bhi _080AE50A
- movs r0, 0
- cmp r2, r1
- bcc _080AE50A
- movs r0, 0x1
-_080AE50A:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE510: .4byte gUnknown_0203869E
- thumb_func_end sub_80AE47C
-
- thumb_func_start sub_80AE514
-sub_80AE514: @ 80AE514
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- movs r5, 0
- ldr r7, _080AE588 @ =gUnknown_083CA308
- adds r0, r7, 0x1
- mov r9, r0
- ldr r6, _080AE58C @ =gUnknown_083CA310
- adds r3, r6, 0x1
- mov r8, r3
-_080AE52C:
- ldr r4, _080AE590 @ =gUnknown_02038696
- adds r4, r5, r4
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, r0, r7
- ldrb r2, [r1]
- mov r3, r9
- adds r1, r0, r3
- ldrb r3, [r1]
- adds r0, r6
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, _080AE594 @ =gUnknown_03004210
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- adds r0, r5, 0
- bl sub_80AE5BC
- adds r0, r5, 0
- bl sub_80AE6CC
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AE52C
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE588: .4byte gUnknown_083CA308
-_080AE58C: .4byte gUnknown_083CA310
-_080AE590: .4byte gUnknown_02038696
-_080AE594: .4byte gUnknown_03004210
- thumb_func_end sub_80AE514
-
- thumb_func_start sub_80AE598
-sub_80AE598: @ 80AE598
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r1, _080AE5B8 @ =gUnknown_083CC59C
- bl StringCopy
- strb r4, [r0]
- adds r0, 0x1
- adds r1, r5, 0
- bl StringCopy
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE5B8: .4byte gUnknown_083CC59C
- thumb_func_end sub_80AE598
-
- thumb_func_start sub_80AE5BC
-sub_80AE5BC: @ 80AE5BC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r0, r1, 24
- movs r2, 0xA0
- lsls r2, 20
- adds r1, r2
- lsrs r1, 24
- bl sub_80AE5D4
- pop {r0}
- bx r0
- thumb_func_end sub_80AE5BC
-
- thumb_func_start sub_80AE5D4
-sub_80AE5D4: @ 80AE5D4
- push {r4-r7,lr}
- sub sp, 0x8
- adds r2, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080AE660 @ =gUnknown_020238CC
- ldr r1, _080AE664 @ =gEmptyString_81E72B0
- adds r0, r3, 0
- bl sub_80AE598
- adds r3, r0, 0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x6
- strb r0, [r3, 0x1]
- movs r0, 0x4
- strb r0, [r3, 0x2]
- adds r3, 0x3
- movs r0, 0xBA
- strb r0, [r3]
- adds r3, 0x1
- ldr r0, _080AE668 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AE67C
- ldr r1, _080AE66C @ =gLinkPlayers
- lsls r0, r4, 3
- subs r0, r4
- lsls r2, r0, 2
- adds r0, r2, r1
- ldrh r6, [r0, 0x1A]
- cmp r6, 0x1
- bne _080AE67C
- adds r1, 0x8
- adds r1, r2, r1
- adds r0, r3, 0
- bl StringCopy
- ldr r0, _080AE670 @ =gUnknown_03004210
- ldr r1, _080AE660 @ =gUnknown_020238CC
- ldr r2, _080AE674 @ =gUnknown_02038696
- adds r2, r4, r2
- ldrb r4, [r2]
- movs r2, 0x16
- muls r2, r4
- movs r3, 0x94
- lsls r3, 2
- adds r2, r3
- ldr r5, _080AE678 @ =gUnknown_083CA310
- lsls r4, 1
- adds r3, r4, r5
- ldrb r3, [r3]
- lsls r3, 27
- movs r7, 0xFB
- lsls r7, 24
- adds r3, r7
- lsrs r3, 24
- adds r5, 0x1
- adds r4, r5
- ldrb r4, [r4]
- lsls r4, 3
- str r4, [sp]
- str r6, [sp, 0x4]
- bl sub_8004D04
- b _080AE6B0
- .align 2, 0
-_080AE660: .4byte gUnknown_020238CC
-_080AE664: .4byte gEmptyString_81E72B0
-_080AE668: .4byte gUnknown_0203869A
-_080AE66C: .4byte gLinkPlayers
-_080AE670: .4byte gUnknown_03004210
-_080AE674: .4byte gUnknown_02038696
-_080AE678: .4byte gUnknown_083CA310
-_080AE67C:
- lsls r1, r4, 6
- ldr r0, _080AE6B8 @ =gUnknown_0203857D
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- ldr r0, _080AE6BC @ =gUnknown_03004210
- ldr r1, _080AE6C0 @ =gUnknown_020238CC
- ldr r2, _080AE6C4 @ =gUnknown_02038696
- adds r2, r4, r2
- ldrb r4, [r2]
- movs r2, 0x16
- muls r2, r4
- movs r3, 0x94
- lsls r3, 2
- adds r2, r3
- ldr r5, _080AE6C8 @ =gUnknown_083CA310
- lsls r4, 1
- adds r3, r4, r5
- ldrb r3, [r3]
- adds r5, 0x1
- adds r4, r5
- ldrb r4, [r4]
- str r4, [sp]
- bl sub_8003460
-_080AE6B0:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE6B8: .4byte gUnknown_0203857D
-_080AE6BC: .4byte gUnknown_03004210
-_080AE6C0: .4byte gUnknown_020238CC
-_080AE6C4: .4byte gUnknown_02038696
-_080AE6C8: .4byte gUnknown_083CA310
- thumb_func_end sub_80AE5D4
-
- thumb_func_start sub_80AE6CC
-sub_80AE6CC: @ 80AE6CC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r0, r1, 24
- movs r2, 0xA0
- lsls r2, 20
- adds r1, r2
- lsrs r1, 24
- bl sub_80AE6E4
- pop {r0}
- bx r0
- thumb_func_end sub_80AE6CC
-
- thumb_func_start sub_80AE6E4
-sub_80AE6E4: @ 80AE6E4
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r2, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080AE75C @ =gUnknown_020238CC
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x6
- strb r0, [r3, 0x1]
- movs r0, 0x4
- strb r0, [r3, 0x2]
- adds r3, 0x3
- lsls r1, r4, 6
- ldr r0, _080AE760 @ =gUnknown_02038572
- adds r1, r0
- adds r0, r3, 0
- bl sub_80AE598
- adds r3, r0, 0
- movs r0, 0xFF
- strb r0, [r3]
- ldr r0, _080AE764 @ =gUnknown_03004210
- ldr r1, _080AE75C @ =gUnknown_020238CC
- ldr r2, _080AE768 @ =gUnknown_02038696
- adds r4, r2
- ldrb r4, [r4]
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 18
- movs r3, 0x80
- lsls r3, 18
- adds r2, r3
- lsrs r2, 16
- ldr r5, _080AE76C @ =gUnknown_083CA308
- lsls r4, 1
- adds r3, r4, r5
- ldrb r3, [r3]
- lsls r3, 27
- movs r6, 0xFD
- lsls r6, 24
- adds r3, r6
- lsrs r3, 24
- adds r5, 0x1
- adds r4, r5
- ldrb r4, [r4]
- lsls r4, 3
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- bl sub_8004D04
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE75C: .4byte gUnknown_020238CC
-_080AE760: .4byte gUnknown_02038572
-_080AE764: .4byte gUnknown_03004210
-_080AE768: .4byte gUnknown_02038696
-_080AE76C: .4byte gUnknown_083CA308
- thumb_func_end sub_80AE6E4
-
- thumb_func_start sub_80AE770
-sub_80AE770: @ 80AE770
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, 0x4
- bhi _080AE7FC
- lsls r0, 2
- ldr r1, _080AE788 @ =_080AE78C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AE788: .4byte _080AE78C
- .align 2, 0
-_080AE78C:
- .4byte _080AE7A0
- .4byte _080AE7B8
- .4byte _080AE7D0
- .4byte _080AE7E0
- .4byte _080AE7FC
-_080AE7A0:
- ldr r0, _080AE7B4 @ =gUnknown_02038570
- lsls r2, 6
- adds r1, r2, r0
- adds r3, r1, 0
- adds r3, 0x26
- ldrb r5, [r3]
- adds r3, 0x4
- ldrb r4, [r3]
- adds r1, 0x27
- b _080AE80E
- .align 2, 0
-_080AE7B4: .4byte gUnknown_02038570
-_080AE7B8:
- ldr r0, _080AE7CC @ =gUnknown_02038570
- lsls r2, 6
- adds r1, r2, r0
- adds r3, r1, 0
- adds r3, 0x27
- ldrb r5, [r3]
- subs r3, 0x1
- ldrb r4, [r3]
- adds r1, 0x28
- b _080AE80E
- .align 2, 0
-_080AE7CC: .4byte gUnknown_02038570
-_080AE7D0:
- ldr r1, _080AE7DC @ =gUnknown_02038570
- lsls r2, 6
- adds r3, r2, r1
- adds r0, r3, 0
- adds r0, 0x28
- b _080AE7EA
- .align 2, 0
-_080AE7DC: .4byte gUnknown_02038570
-_080AE7E0:
- ldr r1, _080AE7F8 @ =gUnknown_02038570
- lsls r2, 6
- adds r3, r2, r1
- adds r0, r3, 0
- adds r0, 0x29
-_080AE7EA:
- ldrb r5, [r0]
- subs r0, 0x1
- ldrb r4, [r0]
- adds r0, 0x2
- ldrb r3, [r0]
- adds r0, r1, 0
- b _080AE810
- .align 2, 0
-_080AE7F8: .4byte gUnknown_02038570
-_080AE7FC:
- ldr r0, _080AE828 @ =gUnknown_02038570
- lsls r2, 6
- adds r1, r2, r0
- adds r3, r1, 0
- adds r3, 0x2A
- ldrb r5, [r3]
- subs r3, 0x1
- ldrb r4, [r3]
- adds r1, 0x26
-_080AE80E:
- ldrb r3, [r1]
-_080AE810:
- adds r1, r2, r0
- adds r1, 0x2B
- adds r0, r4, r3
- ldrb r1, [r1]
- adds r0, r1
- asrs r0, 1
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE828: .4byte gUnknown_02038570
- thumb_func_end sub_80AE770
-
- thumb_func_start sub_80AE82C
-sub_80AE82C: @ 80AE82C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r6, _080AE854 @ =gUnknown_02038670
-_080AE836:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80AE770
- lsls r1, r4, 1
- adds r1, r6
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AE836
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE854: .4byte gUnknown_02038670
- thumb_func_end sub_80AE82C
-
- thumb_func_start sub_80AE858
-sub_80AE858: @ 80AE858
- push {r4,r5,lr}
- ldr r0, _080AE8A0 @ =gUnknown_083CA4BC
- bl LoadCompressedObjectPic
- ldr r0, _080AE8A4 @ =gContest2Pal
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, _080AE8A8 @ =gSpriteTemplate_83CA4A4
- movs r1, 0x70
- movs r2, 0x24
- movs r3, 0x1E
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080AE8AC @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r5, r2, r4
- ldrb r3, [r5, 0x5]
- movs r1, 0xF
- ands r1, r3
- movs r3, 0x10
- orrs r1, r3
- strb r1, [r5, 0x5]
- adds r4, 0x1C
- adds r2, r4
- ldr r1, _080AE8B0 @ =SpriteCallbackDummy
- str r1, [r2]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE8A0: .4byte gUnknown_083CA4BC
-_080AE8A4: .4byte gContest2Pal
-_080AE8A8: .4byte gSpriteTemplate_83CA4A4
-_080AE8AC: .4byte gSprites
-_080AE8B0: .4byte SpriteCallbackDummy
- thumb_func_end sub_80AE858
-
- thumb_func_start sub_80AE8B4
-sub_80AE8B4: @ 80AE8B4
- push {lr}
- ldr r0, _080AE8F8 @ =gUnknown_083CA4C4
- bl LoadCompressedObjectPic
- ldr r0, _080AE8FC @ =gUnknown_083CA4CC
- bl LoadCompressedObjectPalette
- ldr r0, _080AE900 @ =gUnknown_083CA4D4
- movs r1, 0x60
- movs r2, 0xA
- movs r3, 0x1D
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080AE904 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r1, 0x3E
- adds r1, r2
- mov r12, r1
- ldrb r1, [r1]
- movs r3, 0x4
- orrs r1, r3
- mov r3, r12
- strb r1, [r3]
- ldrh r1, [r2, 0x4]
- lsls r1, 22
- lsrs r1, 22
- strh r1, [r2, 0x2E]
- pop {r1}
- bx r1
- .align 2, 0
-_080AE8F8: .4byte gUnknown_083CA4C4
-_080AE8FC: .4byte gUnknown_083CA4CC
-_080AE900: .4byte gUnknown_083CA4D4
-_080AE904: .4byte gSprites
- thumb_func_end sub_80AE8B4
-
- thumb_func_start unref_sub_80AE908
-unref_sub_80AE908: @ 80AE908
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- ldr r0, _080AE9D4 @ =gUnknown_02038570
- mov r9, r0
- ldr r1, _080AE9D8 @ =gUnknown_02038695
- mov r8, r1
- ldrb r0, [r1]
- lsls r0, 6
- add r0, r9
- ldrh r5, [r0]
- lsls r6, r5, 3
- ldr r0, _080AE9DC @ =gMonFrontPicTable
- adds r0, r6, r0
- ldr r2, _080AE9E0 @ =gMonFrontPicCoords
- mov r10, r2
- lsls r2, r5, 2
- add r2, r10
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _080AE9E4 @ =gUnknown_081FAF4C
- ldr r4, [r4, 0x4]
- str r4, [sp]
- str r5, [sp, 0x4]
- bl DecompressPicFromTable_2
- ldr r0, _080AE9E8 @ =gMonPaletteTable
- adds r6, r0
- ldr r0, [r6]
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 6
- add r0, r9
- ldrh r0, [r0]
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _080AE9EC @ =gUnknown_02024E8C
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 6
- add r1, r9
- ldrh r1, [r1]
- lsls r1, 2
- add r1, r10
- ldrb r1, [r1]
- movs r2, 0x8
- subs r2, r1
- lsls r2, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r2, r1
- asrs r2, 16
- movs r1, 0x70
- movs r3, 0x1E
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080AE9F0 @ =gSprites
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r0, r3, r5
- ldrb r2, [r0, 0x5]
- movs r1, 0xF
- ands r1, r2
- movs r2, 0x10
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r1, r5, 0
- adds r1, 0x1C
- adds r1, r3, r1
- ldr r2, _080AE9F4 @ =SpriteCallbackDummy
- str r2, [r1]
- adds r5, 0x10
- adds r3, r5
- ldr r1, _080AE9F8 @ =gSpriteAffineAnimTable_81E7C18
- str r1, [r3]
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r0, r4, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE9D4: .4byte gUnknown_02038570
-_080AE9D8: .4byte gUnknown_02038695
-_080AE9DC: .4byte gMonFrontPicTable
-_080AE9E0: .4byte gMonFrontPicCoords
-_080AE9E4: .4byte gUnknown_081FAF4C
-_080AE9E8: .4byte gMonPaletteTable
-_080AE9EC: .4byte gUnknown_02024E8C
-_080AE9F0: .4byte gSprites
-_080AE9F4: .4byte SpriteCallbackDummy
-_080AE9F8: .4byte gSpriteAffineAnimTable_81E7C18
- thumb_func_end unref_sub_80AE908
-
- thumb_func_start sub_80AE9FC
-sub_80AE9FC: @ 80AE9FC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- mov r8, r1
- adds r6, r2, 0
- lsls r0, 16
- lsrs r0, 16
- bl sub_80B2778
- mov r9, r0
- mov r5, r9
- lsls r0, r5, 3
- ldr r1, _080AEACC @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _080AEAD0 @ =gMonBackPicCoords
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _080AEAD4 @ =gUnknown_081FAF4C
- ldr r4, [r4]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- bl sub_800D334
- adds r0, r5, 0
- mov r1, r8
- adds r2, r6, 0
- bl species_and_otid_get_pal
- movs r1, 0x90
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r5, 0
- movs r1, 0
- bl GetMonSpriteTemplate_803C56C
- ldr r4, _080AEAD8 @ =gUnknown_02024E8C
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0
- bl sub_8077E44
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- movs r1, 0x70
- movs r3, 0x1E
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080AEADC @ =gSprites
- mov r8, r0
- lsls r0, r7, 4
- adds r0, r7
- lsls r6, r0, 2
- mov r0, r8
- adds r4, r6, r0
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- movs r1, 0xD
- negs r1, r1
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0x2
- bl sub_8079E90
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- mov r0, r8
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, _080AEAE0 @ =SpriteCallbackDummy
- str r1, [r0]
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x32]
- adds r0, r5, 0
- bl sub_80AEB1C
- lsls r0, 24
- cmp r0, 0
- beq _080AEAE8
- mov r0, r8
- adds r0, 0x10
- adds r0, r6, r0
- ldr r1, _080AEAE4 @ =gSpriteAffineAnimTable_81E7C18
- b _080AEAF0
- .align 2, 0
-_080AEACC: .4byte gMonBackPicTable
-_080AEAD0: .4byte gMonBackPicCoords
-_080AEAD4: .4byte gUnknown_081FAF4C
-_080AEAD8: .4byte gUnknown_02024E8C
-_080AEADC: .4byte gSprites
-_080AEAE0: .4byte SpriteCallbackDummy
-_080AEAE4: .4byte gSpriteAffineAnimTable_81E7C18
-_080AEAE8:
- mov r0, r8
- adds r0, 0x10
- adds r0, r6, r0
- ldr r1, _080AEB14 @ =gSpriteAffineAnimTable_81E7BEC
-_080AEAF0:
- str r1, [r0]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, _080AEB18 @ =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r0, r7, 0
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AEB14: .4byte gSpriteAffineAnimTable_81E7BEC
-_080AEB18: .4byte gSprites
- thumb_func_end sub_80AE9FC
-
- thumb_func_start sub_80AEB1C
-sub_80AEB1C: @ 80AEB1C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC9
- beq _080AEB2A
- movs r0, 0x1
- b _080AEB2C
-_080AEB2A:
- movs r0, 0
-_080AEB2C:
- pop {r1}
- bx r1
- thumb_func_end sub_80AEB1C
-
- thumb_func_start sub_80AEB30
-sub_80AEB30: @ 80AEB30
- push {lr}
- ldr r0, _080AEB44 @ =0x0600c000
- bl sub_80AEB4C
- ldr r0, _080AEB48 @ =0x0600e000
- bl sub_80AEB4C
- pop {r0}
- bx r0
- .align 2, 0
-_080AEB44: .4byte 0x0600c000
-_080AEB48: .4byte 0x0600e000
- thumb_func_end sub_80AEB30
-
- thumb_func_start sub_80AEB4C
-sub_80AEB4C: @ 80AEB4C
- movs r1, 0xA0
- lsls r1, 3
- adds r2, r0, r1
- ldr r1, _080AEB60 @ =0x040000d4
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080AEB64 @ =0x80000140
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_080AEB60: .4byte 0x040000d4
-_080AEB64: .4byte 0x80000140
- thumb_func_end sub_80AEB4C
-
- thumb_func_start sub_80AEB68
-sub_80AEB68: @ 80AEB68
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r2, _080AEB90 @ =gContestEffects
- ldr r1, _080AEB94 @ =gContestMoves
- lsrs r0, 13
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _080AEBD0
- lsls r0, 2
- ldr r1, _080AEB98 @ =_080AEB9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AEB90: .4byte gContestEffects
-_080AEB94: .4byte gContestMoves
-_080AEB98: .4byte _080AEB9C
- .align 2, 0
-_080AEB9C:
- .4byte _080AEBC0
- .4byte _080AEBC0
- .4byte _080AEBC8
- .4byte _080AEBC8
- .4byte _080AEBD0
- .4byte _080AEBD0
- .4byte _080AEBD0
- .4byte _080AEBD0
- .4byte _080AEBC0
-_080AEBC0:
- ldr r0, _080AEBC4 @ =0x00009082
- b _080AEBD2
- .align 2, 0
-_080AEBC4: .4byte 0x00009082
-_080AEBC8:
- ldr r0, _080AEBCC @ =0x00009088
- b _080AEBD2
- .align 2, 0
-_080AEBCC: .4byte 0x00009088
-_080AEBD0:
- ldr r0, _080AEBE8 @ =0x00009086
-_080AEBD2:
- lsls r1, r3, 12
- movs r2, 0x90
- lsls r2, 8
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080AEBE8: .4byte 0x00009086
- thumb_func_end sub_80AEB68
-
- thumb_func_start sub_80AEBEC
-sub_80AEBEC: @ 80AEBEC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080AEC74 @ =gUnknown_03004210
- movs r1, 0x10
- str r1, [sp]
- movs r1, 0x22
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x1F
- bl FillWindowRect_DefaultPalette
- ldr r1, _080AEC78 @ =gContestMoves
- lsls r0, r4, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 29
- ldr r1, _080AEC7C @ =0x00004040
- cmp r0, 0
- beq _080AEC34
- adds r1, 0x5
- cmp r0, 0x1
- beq _080AEC34
- adds r1, 0x5
- cmp r0, 0x2
- beq _080AEC34
- adds r1, 0x40
- cmp r0, 0x3
- bne _080AEC34
- subs r1, 0x20
-_080AEC34:
- ldr r0, _080AEC74 @ =gUnknown_03004210
- mov r8, r0
- ldr r6, _080AEC78 @ =gContestMoves
- lsls r5, r4, 3
- ldr r7, _080AEC80 @ =gContestEffects
- ldr r0, _080AEC84 @ =gUnknown_083CADD4
- mov r9, r0
- ldr r4, _080AEC88 @ =0x0600c816
- ldr r3, _080AEC8C @ =0x0600c7d6
- movs r2, 0x4
-_080AEC48:
- strh r1, [r3]
- adds r0, r1, 0
- adds r0, 0x10
- strh r0, [r4]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r4, 0x2
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080AEC48
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0, r7
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- bne _080AEC90
- movs r0, 0
- b _080AEC9C
- .align 2, 0
-_080AEC74: .4byte gUnknown_03004210
-_080AEC78: .4byte gContestMoves
-_080AEC7C: .4byte 0x00004040
-_080AEC80: .4byte gContestEffects
-_080AEC84: .4byte gUnknown_083CADD4
-_080AEC88: .4byte 0x0600c816
-_080AEC8C: .4byte 0x0600c7d6
-_080AEC90:
- ldrb r0, [r1, 0x1]
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
-_080AEC9C:
- cmp r0, 0x8
- bls _080AECA2
- movs r0, 0x8
-_080AECA2:
- movs r2, 0
- ldr r1, _080AECB8 @ =0x00005012
- adds r4, r1, 0
- adds r1, 0x23
- adds r3, r1, 0
- ldr r1, _080AECBC @ =0x0600c7ea
-_080AECAE:
- cmp r2, r0
- bge _080AECC0
- strh r4, [r1]
- b _080AECC2
- .align 2, 0
-_080AECB8: .4byte 0x00005012
-_080AECBC: .4byte 0x0600c7ea
-_080AECC0:
- strh r3, [r1]
-_080AECC2:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x7
- ble _080AECAE
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0, r7
- ldrb r0, [r1, 0x2]
- cmp r0, 0xFF
- bne _080AECDC
- movs r0, 0
- b _080AECE8
-_080AECDC:
- ldrb r0, [r1, 0x2]
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
-_080AECE8:
- cmp r0, 0x8
- bls _080AECEE
- movs r0, 0x8
-_080AECEE:
- movs r2, 0
- ldr r1, _080AED04 @ =0x00005014
- adds r4, r1, 0
- adds r1, 0x22
- adds r3, r1, 0
- ldr r1, _080AED08 @ =0x0600c82a
-_080AECFA:
- cmp r2, r0
- bge _080AED0C
- strh r4, [r1]
- b _080AED0E
- .align 2, 0
-_080AED04: .4byte 0x00005014
-_080AED08: .4byte 0x0600c82a
-_080AED0C:
- strh r3, [r1]
-_080AED0E:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x7
- ble _080AECFA
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, 2
- add r0, r9
- ldr r1, [r0]
- movs r2, 0xD9
- lsls r2, 2
- movs r0, 0x23
- str r0, [sp]
- mov r0, r8
- movs r3, 0xB
- bl sub_8003460
- ldr r1, _080AED50 @ =gUnknown_083CC5A2
- ldr r2, _080AED54 @ =0x00000362
- movs r0, 0x1F
- str r0, [sp]
- mov r0, r8
- movs r3, 0x10
- bl sub_8003460
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AED50: .4byte gUnknown_083CC5A2
-_080AED54: .4byte 0x00000362
- thumb_func_end sub_80AEBEC
-
- thumb_func_start sub_80AED58
-sub_80AED58: @ 80AED58
- push {lr}
- sub sp, 0x8
- ldr r0, _080AED78 @ =gUnknown_03004210
- movs r1, 0x1C
- str r1, [sp]
- movs r1, 0x28
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x23
- bl FillWindowRect_DefaultPalette
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080AED78: .4byte gUnknown_03004210
- thumb_func_end sub_80AED58
-
- thumb_func_start sub_80AED7C
-sub_80AED7C: @ 80AED7C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, _080AEDD8 @ =gUnknown_02038696
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080AEDEC
- cmp r6, 0
- beq _080AEDEC
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80AEB68
- lsls r0, 16
- lsrs r0, 16
- lsls r3, r5, 6
- ldr r1, _080AEDDC @ =0x0600c028
- adds r1, r3, r1
- strh r0, [r1]
- ldr r1, _080AEDE0 @ =0x0600c02a
- adds r1, r3, r1
- adds r2, r0, 0x1
- strh r2, [r1]
- ldr r1, _080AEDE4 @ =0x0600c068
- adds r2, r3, r1
- adds r1, r0, 0
- adds r1, 0x10
- strh r1, [r2]
- ldr r1, _080AEDE8 @ =0x0600c06a
- adds r3, r1
- adds r0, 0x11
- strh r0, [r3]
- b _080AEE08
- .align 2, 0
-_080AEDD8: .4byte gUnknown_02038696
-_080AEDDC: .4byte 0x0600c028
-_080AEDE0: .4byte 0x0600c02a
-_080AEDE4: .4byte 0x0600c068
-_080AEDE8: .4byte 0x0600c06a
-_080AEDEC:
- lsls r1, r5, 6
- ldr r0, _080AEE10 @ =0x0600c028
- adds r0, r1, r0
- movs r2, 0
- strh r2, [r0]
- ldr r0, _080AEE14 @ =0x0600c02a
- adds r0, r1, r0
- strh r2, [r0]
- ldr r3, _080AEE18 @ =0x0600c068
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _080AEE1C @ =0x0600c06a
- adds r1, r0
- strh r2, [r1]
-_080AEE08:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AEE10: .4byte 0x0600c028
-_080AEE14: .4byte 0x0600c02a
-_080AEE18: .4byte 0x0600c068
-_080AEE1C: .4byte 0x0600c06a
- thumb_func_end sub_80AED7C
-
- thumb_func_start unref_sub_80AEE20
-unref_sub_80AEE20: @ 80AEE20
- push {r4,lr}
- movs r4, 0
-_080AEE24:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080AEE48 @ =0x02019260
- adds r0, r1
- ldrh r0, [r0, 0x6]
- adds r1, r4, 0
- bl sub_80AED7C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AEE24
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AEE48: .4byte 0x02019260
- thumb_func_end unref_sub_80AEE20
-
- thumb_func_start sub_80AEE4C
-sub_80AEE4C: @ 80AEE4C
- ldr r0, _080AEE50 @ =0x00002034
- bx lr
- .align 2, 0
-_080AEE50: .4byte 0x00002034
- thumb_func_end sub_80AEE4C
-
- thumb_func_start sub_80AEE54
-sub_80AEE54: @ 80AEE54
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r5, r7, 3
- subs r0, r5, r7
- lsls r0, 2
- ldr r1, _080AEE84 @ =0x02019260
- adds r0, r1
- ldrb r0, [r0, 0x10]
- movs r2, 0x30
- ands r2, r0
- mov r10, r1
- cmp r2, 0
- bne _080AEE88
- movs r0, 0
- b _080AEF3C
- .align 2, 0
-_080AEE84: .4byte 0x02019260
-_080AEE88:
- ldr r0, _080AEEB0 @ =gUnknown_02038696
- adds r0, r7, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r2, 0x10
- bne _080AEEF0
- adds r0, r7, 0
- bl sub_80AEE4C
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r4, 0
- adds r6, r5, 0
- b _080AEEC4
- .align 2, 0
-_080AEEB0: .4byte gUnknown_02038696
-_080AEEB4:
- mov r1, r9
- adds r0, r1, r4
- lsls r0, 6
- ldr r1, _080AEEE8 @ =0x0600c026
- adds r0, r1
- mov r1, r8
- strh r1, [r0]
- adds r4, 0x1
-_080AEEC4:
- subs r0, r6, r7
- lsls r0, 2
- ldr r1, _080AEEEC @ =0x02019260
- adds r5, r0, r1
- movs r0, 0xD
- ldrsb r0, [r5, r0]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- asrs r0, 24
- cmp r0, r4
- bgt _080AEEB4
- ldr r0, [sp]
- cmp r0, 0
- beq _080AEF3A
- movs r0, 0x5B
- b _080AEF2C
- .align 2, 0
-_080AEEE8: .4byte 0x0600c026
-_080AEEEC: .4byte 0x02019260
-_080AEEF0:
- movs r1, 0
- mov r8, r1
- movs r4, 0x3
- adds r6, r5, 0
- b _080AEF0A
-_080AEEFA:
- mov r1, r9
- adds r0, r1, r4
- lsls r0, 6
- ldr r1, _080AEF4C @ =0x0600bfe6
- adds r0, r1
- mov r1, r8
- strh r1, [r0]
- subs r4, 0x1
-_080AEF0A:
- subs r0, r6, r7
- lsls r0, 2
- mov r1, r10
- adds r5, r0, r1
- movs r0, 0xD
- ldrsb r0, [r5, r0]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- asrs r0, 24
- cmp r0, r4
- blt _080AEEFA
- ldr r0, [sp]
- cmp r0, 0
- beq _080AEF3A
- movs r0, 0x26
-_080AEF2C:
- bl PlaySE
- ldrb r1, [r5, 0x10]
- movs r0, 0x31
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x10]
-_080AEF3A:
- movs r0, 0x1
-_080AEF3C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AEF4C: .4byte 0x0600bfe6
- thumb_func_end sub_80AEE54
-
- thumb_func_start sub_80AEF50
-sub_80AEF50: @ 80AEF50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r5, 0
-_080AEF5A:
- ldr r0, _080AEF80 @ =gUnknown_02038696
- adds r0, r5, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80AEE4C
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
- lsls r7, r5, 3
- adds r2, r5, 0x1
- b _080AEF92
- .align 2, 0
-_080AEF80: .4byte gUnknown_02038696
-_080AEF84:
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 6
- ldr r3, _080AEFE0 @ =0x0600c026
- adds r0, r3
- strh r6, [r0]
- adds r4, 0x1
-_080AEF92:
- subs r0, r7, r5
- lsls r0, 2
- ldr r1, _080AEFE4 @ =0x02019260
- adds r0, r1
- ldrb r0, [r0, 0xD]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0xA
- str r2, [sp]
- bl __divsi3
- lsls r0, 24
- asrs r0, 24
- ldr r2, [sp]
- cmp r4, r0
- blt _080AEF84
- movs r6, 0
- cmp r4, 0x2
- bgt _080AEFCE
- lsls r0, r4, 6
- ldr r1, _080AEFE0 @ =0x0600c026
- adds r0, r1
- mov r3, r8
- lsls r1, r3, 6
- adds r0, r1
-_080AEFC4:
- strh r6, [r0]
- adds r0, 0x40
- adds r4, 0x1
- cmp r4, 0x2
- ble _080AEFC4
-_080AEFCE:
- adds r5, r2, 0
- cmp r5, 0x3
- ble _080AEF5A
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AEFE0: .4byte 0x0600c026
-_080AEFE4: .4byte 0x02019260
- thumb_func_end sub_80AEF50
-
- thumb_func_start sub_80AEFE8
-sub_80AEFE8: @ 80AEFE8
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- cmp r1, 0x4
- bhi _080AF02A
- lsls r0, r1, 2
- ldr r1, _080AF000 @ =_080AF004
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AF000: .4byte _080AF004
- .align 2, 0
-_080AF004:
- .4byte _080AF018
- .4byte _080AF01C
- .4byte _080AF020
- .4byte _080AF024
- .4byte _080AF028
-_080AF018:
- movs r0, 0x80
- b _080AF02A
-_080AF01C:
- movs r0, 0x84
- b _080AF02A
-_080AF020:
- movs r0, 0x86
- b _080AF02A
-_080AF024:
- movs r0, 0x88
- b _080AF02A
-_080AF028:
- movs r0, 0x82
-_080AF02A:
- movs r1, 0x90
- lsls r1, 8
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80AEFE8
-
- thumb_func_start sub_80AF038
-sub_80AF038: @ 80AF038
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r5, 0x1
- movs r4, 0
- ldr r0, _080AF074 @ =gUnknown_02038696
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x2
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- ldr r1, _080AF078 @ =0x02019260
- adds r2, r0, r1
- ldr r0, [r2, 0x10]
- ldr r1, _080AF07C @ =0x00ff0003
- ands r0, r1
- cmp r0, 0
- bne _080AF06C
- ldrb r0, [r2, 0xF]
- cmp r0, 0
- beq _080AF080
-_080AF06C:
- adds r0, r3, 0
- movs r1, 0
- b _080AF0A6
- .align 2, 0
-_080AF074: .4byte gUnknown_02038696
-_080AF078: .4byte 0x02019260
-_080AF07C: .4byte 0x00ff0003
-_080AF080:
- ldrb r1, [r2, 0xC]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080AF090
- adds r0, r3, 0
- movs r1, 0x1
- b _080AF0A6
-_080AF090:
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080AF0A2
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080AF0B0
-_080AF0A2:
- adds r0, r3, 0
- movs r1, 0x2
-_080AF0A6:
- bl sub_80AEFE8
- lsls r0, 16
- lsrs r4, r0, 16
- b _080AF0B2
-_080AF0B0:
- movs r5, 0
-_080AF0B2:
- cmp r5, 0
- beq _080AF0EC
- lsls r2, r6, 6
- ldr r0, _080AF0DC @ =0x0600c028
- adds r0, r2, r0
- strh r4, [r0]
- ldr r0, _080AF0E0 @ =0x0600c02a
- adds r0, r2, r0
- adds r1, r4, 0x1
- strh r1, [r0]
- ldr r0, _080AF0E4 @ =0x0600c068
- adds r1, r2, r0
- adds r0, r4, 0
- adds r0, 0x10
- strh r0, [r1]
- ldr r0, _080AF0E8 @ =0x0600c06a
- adds r2, r0
- adds r0, r4, 0
- adds r0, 0x11
- strh r0, [r2]
- b _080AF106
- .align 2, 0
-_080AF0DC: .4byte 0x0600c028
-_080AF0E0: .4byte 0x0600c02a
-_080AF0E4: .4byte 0x0600c068
-_080AF0E8: .4byte 0x0600c06a
-_080AF0EC:
- lsls r1, r6, 6
- ldr r0, _080AF110 @ =0x0600c028
- adds r0, r1, r0
- strh r5, [r0]
- ldr r0, _080AF114 @ =0x0600c02a
- adds r0, r1, r0
- strh r5, [r0]
- ldr r2, _080AF118 @ =0x0600c068
- adds r0, r1, r2
- strh r5, [r0]
- ldr r0, _080AF11C @ =0x0600c06a
- adds r1, r0
- strh r5, [r1]
-_080AF106:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080AF110: .4byte 0x0600c028
-_080AF114: .4byte 0x0600c02a
-_080AF118: .4byte 0x0600c068
-_080AF11C: .4byte 0x0600c06a
- thumb_func_end sub_80AF038
-
- thumb_func_start sub_80AF120
-sub_80AF120: @ 80AF120
- push {r4,lr}
- movs r4, 0
-_080AF124:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80AF038
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AF124
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF120
-
- thumb_func_start sub_80AF138
-sub_80AF138: @ 80AF138
- push {lr}
- sub sp, 0x8
- ldr r0, _080AF158 @ =gUnknown_03004210
- movs r1, 0x11
- str r1, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xF
- bl FillWindowRect_DefaultPalette
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080AF158: .4byte gUnknown_03004210
- thumb_func_end sub_80AF138
-
- thumb_func_start sub_80AF15C
-sub_80AF15C: @ 80AF15C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- beq _080AF174
- movs r0, 0
- b _080AF1AA
-_080AF174:
- ldr r0, _080AF190 @ =gUnknown_02038695
- ldrb r0, [r0]
- cmp r4, r0
- beq _080AF198
- adds r0, r4, 0
- bl sub_81288F4
- bl sub_8128944
- lsls r0, 24
- ldr r2, _080AF194 @ =gUnknown_02038570
- lsrs r0, 23
- lsls r1, r4, 6
- b _080AF1A2
- .align 2, 0
-_080AF190: .4byte gUnknown_02038695
-_080AF194: .4byte gUnknown_02038570
-_080AF198:
- ldr r2, _080AF1B0 @ =gUnknown_02038570
- ldr r0, _080AF1B4 @ =0x02019204
- ldrb r0, [r0]
- lsls r0, 1
- lsls r1, r5, 6
-_080AF1A2:
- adds r0, r1
- adds r2, 0x1E
- adds r0, r2
- ldrh r0, [r0]
-_080AF1AA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AF1B0: .4byte gUnknown_02038570
-_080AF1B4: .4byte 0x02019204
- thumb_func_end sub_80AF15C
-
- thumb_func_start sub_80AF1B8
-sub_80AF1B8: @ 80AF1B8
- push {r4,lr}
- movs r4, 0
-_080AF1BC:
- adds r0, r4, 0
- bl sub_80AF15C
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r2, _080AF1E0 @ =0x02019260
- adds r1, r2
- strh r0, [r1, 0x6]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF1BC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF1E0: .4byte 0x02019260
- thumb_func_end sub_80AF1B8
-
- thumb_func_start sub_80AF1E4
-sub_80AF1E4: @ 80AF1E4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- cmp r1, 0
- bne _080AF1FC
- adds r0, r5, 0
- adds r0, 0xA
- lsls r0, 24
- lsrs r3, r0, 24
- b _080AF1FE
-_080AF1FC:
- movs r3, 0xE
-_080AF1FE:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- ldr r1, _080AF21C @ =0x02019260
- adds r1, r0, r1
- ldrh r0, [r1, 0x6]
- cmp r0, 0
- bne _080AF228
- ldr r0, _080AF220 @ =gUnknown_020238CC
- ldr r1, _080AF224 @ =gUnknownText_MissedTurn
- adds r2, r3, 0
- bl sub_80AE598
- b _080AF23A
- .align 2, 0
-_080AF21C: .4byte 0x02019260
-_080AF220: .4byte gUnknown_020238CC
-_080AF224: .4byte gUnknownText_MissedTurn
-_080AF228:
- ldr r0, _080AF270 @ =gUnknown_020238CC
- ldrh r2, [r1, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AF274 @ =gMoveNames
- adds r1, r2
- adds r2, r3, 0
- bl sub_80AE598
-_080AF23A:
- adds r0, r5, 0
- bl sub_80AF2A0
- ldr r0, _080AF278 @ =gUnknown_03004210
- ldr r1, _080AF270 @ =gUnknown_020238CC
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 18
- movs r3, 0xAE
- lsls r3, 18
- adds r2, r3
- lsrs r2, 16
- ldr r4, _080AF27C @ =gUnknown_083CA318
- lsls r5, 1
- adds r3, r5, r4
- ldrb r3, [r3]
- adds r4, 0x1
- adds r5, r4
- ldrb r4, [r5]
- str r4, [sp]
- bl sub_8003460
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF270: .4byte gUnknown_020238CC
-_080AF274: .4byte gMoveNames
-_080AF278: .4byte gUnknown_03004210
-_080AF27C: .4byte gUnknown_083CA318
- thumb_func_end sub_80AF1E4
-
- thumb_func_start unref_sub_80AF280
-unref_sub_80AF280: @ 80AF280
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_080AF288:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80AF1E4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF288
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80AF280
-
- thumb_func_start sub_80AF2A0
-sub_80AF2A0: @ 80AF2A0
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- ldr r4, _080AF2D8 @ =gUnknown_03004210
- ldr r1, _080AF2DC @ =gUnknown_083CA318
- lsrs r0, 23
- adds r2, r0, r1
- ldrb r2, [r2]
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- adds r0, r2, 0x7
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF2D8: .4byte gUnknown_03004210
-_080AF2DC: .4byte gUnknown_083CA318
- thumb_func_end sub_80AF2A0
-
- thumb_func_start unref_sub_80AF2E0
-unref_sub_80AF2E0: @ 80AF2E0
- push {r4,lr}
- movs r4, 0
-_080AF2E4:
- adds r0, r4, 0
- bl sub_80AF2A0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF2E4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80AF2E0
-
- thumb_func_start sub_80AF2FC
-sub_80AF2FC: @ 80AF2FC
- push {r4-r7,lr}
- sub sp, 0x8
- movs r4, 0
- ldr r2, _080AF398 @ =0x02019260
-_080AF304:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x2]
- ldrh r3, [r0, 0x4]
- adds r1, r3
- strh r1, [r0, 0x4]
- lsls r0, r4, 1
- add r0, sp
- strh r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF304
- movs r4, 0
-_080AF326:
- movs r2, 0x3
- cmp r2, r4
- bls _080AF354
-_080AF32C:
- subs r5, r2, 0x1
- lsls r0, r5, 1
- mov r7, sp
- adds r3, r7, r0
- lsls r0, r2, 1
- adds r2, r7, r0
- ldrh r6, [r3]
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r7, 0
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _080AF34C
- ldrh r0, [r2]
- strh r6, [r2]
- strh r0, [r3]
-_080AF34C:
- lsls r0, r5, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bhi _080AF32C
-_080AF354:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _080AF326
- movs r4, 0
- ldr r0, _080AF398 @ =0x02019260
- mov r12, r0
- movs r7, 0x4
- negs r7, r7
- movs r6, 0x3
-_080AF36A:
- movs r2, 0
- lsls r0, r4, 3
- adds r5, r4, 0x1
- subs r0, r4
- lsls r0, 2
- mov r1, r12
- adds r3, r0, r1
- movs r4, 0x4
- ldrsh r1, [r3, r4]
-_080AF37C:
- lsls r0, r2, 1
- add r0, sp
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bne _080AF39C
- ands r2, r6
- ldrb r1, [r3, 0xB]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0xB]
- b _080AF3A6
- .align 2, 0
-_080AF398: .4byte 0x02019260
-_080AF39C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080AF37C
-_080AF3A6:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF36A
- movs r0, 0x1
- bl sub_80B0F28
- bl sub_80B159C
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF2FC
-
- thumb_func_start sub_80AF3C0
-sub_80AF3C0: @ 80AF3C0
- push {lr}
- ldr r2, _080AF3D0 @ =0x02019260
- adds r3, r2, 0
-_080AF3C6:
- ldrh r0, [r2, 0x6]
- cmp r0, 0
- bne _080AF3D4
- movs r1, 0x5
- b _080AF3F2
- .align 2, 0
-_080AF3D0: .4byte 0x02019260
-_080AF3D4:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- movs r1, 0
- cmp r0, 0
- ble _080AF3F2
- movs r1, 0x1
- cmp r0, 0x1D
- ble _080AF3F2
- movs r1, 0x2
- cmp r0, 0x3B
- ble _080AF3F2
- movs r1, 0x4
- cmp r0, 0x4F
- bgt _080AF3F2
- movs r1, 0x3
-_080AF3F2:
- strb r1, [r2, 0x1A]
- adds r2, 0x1C
- adds r0, r3, 0
- adds r0, 0x54
- cmp r2, r0
- ble _080AF3C6
- pop {r0}
- bx r0
- thumb_func_end sub_80AF3C0
-
- thumb_func_start sub_80AF404
-sub_80AF404: @ 80AF404
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080AF42C @ =0x02019260
- adds r2, r1, r0
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080AF428
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080AF430
-_080AF428:
- movs r0, 0
- b _080AF432
- .align 2, 0
-_080AF42C: .4byte 0x02019260
-_080AF430:
- movs r0, 0x1
-_080AF432:
- pop {r1}
- bx r1
- thumb_func_end sub_80AF404
-
- thumb_func_start sub_80AF438
-sub_80AF438: @ 80AF438
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r0, _080AF594 @ =0x02019260
- mov r10, r0
- movs r1, 0
- mov r12, r1
- movs r0, 0x7
- negs r0, r0
- mov r9, r0
- movs r1, 0x2
- negs r1, r1
- mov r8, r1
-_080AF458:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- mov r1, r10
- adds r3, r0, r1
- movs r0, 0
- strh r0, [r3, 0x2]
- strh r0, [r3]
- mov r0, r12
- strb r0, [r3, 0x12]
- ldrb r2, [r3, 0xC]
- movs r0, 0x6
- ands r0, r2
- cmp r0, 0
- beq _080AF48A
- lsls r0, r2, 29
- lsrs r0, 30
- subs r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 1
- mov r1, r9
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
-_080AF48A:
- mov r1, r12
- strb r1, [r3, 0xE]
- ldrb r0, [r3, 0x10]
- mov r1, r8
- ands r1, r0
- mov r0, r12
- strb r0, [r3, 0xF]
- movs r0, 0x3
- negs r0, r0
- ands r1, r0
- movs r6, 0x5
- negs r6, r6
- ands r1, r6
- movs r7, 0x9
- negs r7, r7
- ands r1, r7
- ldrb r0, [r3, 0xC]
- mov r4, r8
- ands r4, r0
- strb r4, [r3, 0xC]
- movs r0, 0xFF
- strb r0, [r3, 0x13]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r3, 0x14]
- subs r0, 0x30
- ands r1, r0
- strb r1, [r3, 0x10]
- ldrb r2, [r3, 0x15]
- lsls r1, r2, 31
- lsrs r1, 31
- lsls r1, 2
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r1
- mov r1, r8
- ands r0, r1
- strb r0, [r3, 0x15]
- ldrb r0, [r3, 0x11]
- movs r2, 0x4
- negs r2, r2
- ands r2, r0
- movs r0, 0x21
- negs r0, r0
- ands r2, r0
- strb r2, [r3, 0x11]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _080AF500
- adds r0, r4, 0
- mov r1, r9
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3, 0xC]
- adds r0, r2, 0
- ands r0, r6
- strb r0, [r3, 0x11]
-_080AF500:
- ldrb r2, [r3, 0x11]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080AF518
- ldrb r0, [r3, 0xB]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3, 0xB]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r3, 0x11]
-_080AF518:
- ldrb r0, [r3, 0x11]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r3, 0x11]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AF458
- movs r5, 0
- mov r6, r10
- mov r9, r5
- adds r7, r6, 0
- subs r7, 0x5C
- movs r0, 0x18
- negs r0, r0
- adds r0, r6
- mov r8, r0
-_080AF53E:
- lsls r4, r5, 3
- subs r4, r5
- lsls r4, 2
- adds r4, r6
- ldrh r2, [r4, 0x6]
- strh r2, [r4, 0x8]
- lsls r1, r5, 1
- ldrb r0, [r7, 0x1]
- lsls r0, 3
- adds r1, r0
- adds r0, r6, 0
- subs r0, 0x40
- adds r0, r1
- strh r2, [r0]
- ldrh r0, [r4, 0x6]
- bl contest_get_move_excitement
- ldrb r1, [r7, 0x1]
- lsls r1, 2
- adds r1, r5, r1
- add r1, r8
- strb r0, [r1]
- mov r1, r9
- strh r1, [r4, 0x6]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AF53E
- ldr r2, _080AF598 @ =0x02019328
- ldrb r1, [r2, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF594: .4byte 0x02019260
-_080AF598: .4byte 0x02019328
- thumb_func_end sub_80AF438
-
- thumb_func_start sub_80AF59C
-sub_80AF59C: @ 80AF59C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080AF5C4 @ =0x02019260
- adds r2, r1, r0
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080AF5C0
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080AF5C8
-_080AF5C0:
- movs r0, 0x1
- b _080AF5CA
- .align 2, 0
-_080AF5C4: .4byte 0x02019260
-_080AF5C8:
- movs r0, 0
-_080AF5CA:
- pop {r1}
- bx r1
- thumb_func_end sub_80AF59C
-
- thumb_func_start unref_sub_80AF5D0
-unref_sub_80AF5D0: @ 80AF5D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r1, _080AF5E8 @ =gUnknown_02038695
- ldrb r1, [r1]
- cmp r0, r1
- beq _080AF600
-_080AF5E2:
- movs r0, 0x1
- b _080AF626
- .align 2, 0
-_080AF5E8: .4byte gUnknown_02038695
-_080AF5EC:
- ldrb r0, [r4, 0x6]
- movs r1, 0x1
- b _080AF5F6
-_080AF5F2:
- ldrb r0, [r4, 0x6]
- movs r1, 0x2
-_080AF5F6:
- orrs r0, r1
- strb r0, [r4, 0x6]
- b _080AF5E2
-_080AF5FC:
- strb r3, [r2]
- b _080AF5E2
-_080AF600:
- movs r0, 0
- ldr r4, _080AF62C @ =0x02019204
- adds r5, r4, 0x2
-_080AF606:
- cmp r3, 0x3
- beq _080AF5EC
- cmp r3, 0x4
- beq _080AF5F2
- adds r2, r0, r5
- ldrb r1, [r2]
- cmp r1, r3
- beq _080AF5E2
- cmp r1, 0xFF
- beq _080AF5FC
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080AF606
- movs r0, 0
-_080AF626:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AF62C: .4byte 0x02019204
- thumb_func_end unref_sub_80AF5D0
-
- thumb_func_start sub_80AF630
-sub_80AF630: @ 80AF630
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80AF688
- ldr r1, _080AF65C @ =gUnknown_02038688
- lsls r4, 1
- adds r1, r4, r1
- strh r0, [r1]
- ldr r2, _080AF660 @ =gUnknown_02038678
- adds r2, r4, r2
- ldr r1, _080AF664 @ =gUnknown_02038670
- adds r4, r1
- ldrh r4, [r4]
- adds r0, r4
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF65C: .4byte gUnknown_02038688
-_080AF660: .4byte gUnknown_02038678
-_080AF664: .4byte gUnknown_02038670
- thumb_func_end sub_80AF630
-
- thumb_func_start sub_80AF668
-sub_80AF668: @ 80AF668
- push {r4,lr}
- movs r4, 0
-_080AF66C:
- adds r0, r4, 0
- bl sub_80AF630
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF66C
- bl sub_80AF6A0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF668
-
- thumb_func_start sub_80AF688
-sub_80AF688: @ 80AF688
- lsls r0, 24
- ldr r1, _080AF69C @ =gUnknown_02038680
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 17
- asrs r0, 16
- bx lr
- .align 2, 0
-_080AF69C: .4byte gUnknown_02038680
- thumb_func_end sub_80AF688
-
- thumb_func_start sub_80AF6A0
-sub_80AF6A0: @ 80AF6A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x70
- mov r0, sp
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r0, 0
- mov r9, r0
- mov r1, sp
- adds r1, 0x8
- str r1, [sp, 0x64]
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x68]
- mov r6, sp
- adds r6, 0x14
- str r6, [sp, 0x6C]
- mov r4, sp
-_080AF6CE:
- bl Random
- strh r0, [r4]
- movs r2, 0
- cmp r2, r9
- bge _080AF70C
- mov r1, sp
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bne _080AF6F0
- subs r4, 0x2
- movs r7, 0x1
- negs r7, r7
- add r9, r7
- b _080AF70C
-_080AF6F0:
- adds r2, 0x1
- cmp r2, r9
- bge _080AF70C
- lsls r0, r2, 1
- mov r3, sp
- adds r1, r3, r0
- ldrh r0, [r4]
- ldrh r1, [r1]
- cmp r0, r1
- bne _080AF6F0
- subs r4, 0x2
- movs r6, 0x1
- negs r6, r6
- add r9, r6
-_080AF70C:
- adds r4, 0x2
- movs r7, 0x1
- add r9, r7
- mov r0, r9
- cmp r0, 0x3
- ble _080AF6CE
- movs r1, 0
- mov r9, r1
- mov r4, sp
- ldr r6, _080AF81C @ =gUnknown_02038678
- ldr r2, [sp, 0x64]
- ldr r5, _080AF820 @ =gUnknown_02038670
- ldr r3, [sp, 0x68]
-_080AF726:
- mov r7, r9
- lsls r1, r7, 4
- movs r7, 0
- ldrsh r0, [r6, r7]
- str r0, [r2]
- movs r7, 0
- ldrsh r0, [r5, r7]
- str r0, [r3]
- ldrh r0, [r4]
- str r0, [r2, 0x8]
- ldr r0, [sp, 0x6C]
- adds r1, r0, r1
- mov r7, r9
- str r7, [r1]
- adds r4, 0x2
- adds r6, 0x2
- adds r2, 0x10
- adds r5, 0x2
- adds r3, 0x10
- movs r0, 0x1
- add r9, r0
- mov r1, r9
- cmp r1, 0x3
- ble _080AF726
- movs r3, 0
- mov r9, r3
-_080AF75A:
- movs r4, 0x3
- cmp r4, r9
- ble _080AF7E4
- add r7, sp, 0x48
- ldr r6, [sp, 0x68]
- str r6, [sp, 0x58]
- ldr r0, [sp, 0x64]
- adds r0, 0x8
- str r0, [sp, 0x5C]
- ldr r1, [sp, 0x6C]
- str r1, [sp, 0x60]
-_080AF770:
- subs r3, r4, 0x1
- mov r10, r3
- mov r0, r10
- adds r1, r4, 0
- ldr r2, [sp, 0x64]
- bl sub_80AF828
- lsls r0, 24
- cmp r0, 0
- beq _080AF7DE
- mov r6, r10
- lsls r2, r6, 4
- ldr r0, [sp, 0x64]
- adds r3, r0, r2
- ldr r0, [r3]
- str r0, [sp, 0x48]
- ldr r1, [sp, 0x58]
- adds r6, r1, r2
- ldr r0, [r6]
- str r0, [r7, 0x4]
- ldr r0, [sp, 0x5C]
- adds r0, r2
- mov r8, r0
- ldr r0, [r0]
- str r0, [r7, 0x8]
- ldr r1, [sp, 0x60]
- adds r2, r1, r2
- ldr r0, [r2]
- str r0, [r7, 0xC]
- lsls r1, r4, 4
- ldr r0, [sp, 0x64]
- adds r5, r0, r1
- ldr r0, [r5]
- str r0, [r3]
- ldr r3, [sp, 0x58]
- adds r4, r3, r1
- ldr r0, [r4]
- str r0, [r6]
- ldr r6, [sp, 0x5C]
- adds r3, r6, r1
- ldr r0, [r3]
- mov r6, r8
- str r0, [r6]
- ldr r0, [sp, 0x60]
- adds r1, r0, r1
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [sp, 0x48]
- str r0, [r5]
- ldr r0, [r7, 0x4]
- str r0, [r4]
- ldr r0, [r7, 0x8]
- str r0, [r3]
- ldr r0, [r7, 0xC]
- str r0, [r1]
-_080AF7DE:
- mov r4, r10
- cmp r4, r9
- bgt _080AF770
-_080AF7E4:
- movs r1, 0x1
- add r9, r1
- mov r3, r9
- cmp r3, 0x2
- ble _080AF75A
- movs r6, 0
- mov r9, r6
- ldr r2, _080AF824 @ =gUnknown_02038690
- ldr r1, [sp, 0x6C]
-_080AF7F6:
- ldr r0, [r1]
- adds r0, r2
- mov r7, r9
- strb r7, [r0]
- adds r1, 0x10
- movs r0, 0x1
- add r9, r0
- mov r3, r9
- cmp r3, 0x3
- ble _080AF7F6
- add sp, 0x70
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF81C: .4byte gUnknown_02038678
-_080AF820: .4byte gUnknown_02038670
-_080AF824: .4byte gUnknown_02038690
- thumb_func_end sub_80AF6A0
-
- thumb_func_start sub_80AF828
-sub_80AF828: @ 80AF828
- push {lr}
- lsls r0, 4
- adds r0, r2
- lsls r1, 4
- adds r3, r1, r2
- ldr r2, [r0]
- ldr r1, [r3]
- cmp r2, r1
- blt _080AF858
- cmp r2, r1
- bgt _080AF84A
- ldr r2, [r0, 0x4]
- ldr r1, [r3, 0x4]
- cmp r2, r1
- blt _080AF858
- cmp r2, r1
- ble _080AF84E
-_080AF84A:
- movs r2, 0
- b _080AF85A
-_080AF84E:
- ldr r1, [r0, 0x8]
- ldr r0, [r3, 0x8]
- movs r2, 0
- cmp r1, r0
- bge _080AF85A
-_080AF858:
- movs r2, 0x1
-_080AF85A:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80AF828
-
- thumb_func_start sub_80AF860
-sub_80AF860: @ 80AF860
- push {lr}
- sub sp, 0x4
- ldr r0, _080AF88C @ =gUnknown_030042A0
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080AF890 @ =gUnknown_03004280
- strh r1, [r0]
- bl sub_80AF138
- ldr r0, _080AF894 @ =gMenuWindow
- ldr r1, _080AF898 @ =gUnknownText_LinkStandbyAndWinner
- movs r2, 0xC2
- lsls r2, 2
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x1
- bl sub_8003460
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080AF88C: .4byte gUnknown_030042A0
-_080AF890: .4byte gUnknown_03004280
-_080AF894: .4byte gMenuWindow
-_080AF898: .4byte gUnknownText_LinkStandbyAndWinner
- thumb_func_end sub_80AF860
-
- thumb_func_start unref_sub_80AF89C
-unref_sub_80AF89C: @ 80AF89C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r2, r3, 2
- ldr r0, _080AF940 @ =0x02019338
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r0, _080AF944 @ =sub_80AF94C
- movs r1, 0x14
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80AFB74
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 16
- asrs r6, 16
- adds r4, r6
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80AFB74
- adds r4, r0, 0
- subs r4, r5
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- bl sub_80AFB40
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080AF948 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0xA]
- add r0, r8
- strh r0, [r1, 0xC]
- mov r0, r9
- strh r0, [r1, 0xE]
- cmp r6, 0
- bge _080AF932
- mov r0, r9
- bl nullsub_19
-_080AF932:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AF940: .4byte 0x02019338
-_080AF944: .4byte sub_80AF94C
-_080AF948: .4byte gTasks
- thumb_func_end unref_sub_80AF89C
-
- thumb_func_start sub_80AF94C
-sub_80AF94C: @ 80AF94C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080AF988 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrb r5, [r2, 0xE]
- ldrh r3, [r2, 0xA]
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- cmp r1, 0
- bne _080AF990
- adds r0, r5, 0
- bl nullsub_19
- adds r0, r4, 0
- bl DestroyTask
- lsls r1, r5, 2
- ldr r0, _080AF98C @ =0x02019338
- adds r1, r0
- ldrb r2, [r1, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x2]
- b _080AFA56
- .align 2, 0
-_080AF988: .4byte gTasks
-_080AF98C: .4byte 0x02019338
-_080AF990:
- ldrh r0, [r2, 0x1C]
- adds r0, 0x1
- strh r0, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080AFA56
- movs r0, 0
- strh r0, [r2, 0x1C]
- cmp r1, 0
- bge _080AF9BC
- ldrh r0, [r2, 0x8]
- subs r1, r0, 0x1
- strh r1, [r2, 0x8]
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r3, 0x1
- strh r0, [r2, 0xA]
- movs r0, 0x16
- bl PlaySE
- b _080AF9D0
-_080AF9BC:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 24
- lsrs r6, r0, 24
- subs r0, r3, 0x1
- strh r0, [r2, 0xA]
- movs r0, 0x15
- bl PlaySE
-_080AF9D0:
- ldr r3, _080AFA00 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r2, r0, 3
- adds r0, r2, r3
- ldrh r1, [r0, 0xC]
- ldr r0, _080AFA04 @ =0x0000ffff
- cmp r1, r0
- beq _080AFA38
- adds r0, r3, r2
- adds r0, 0xC
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 5
- adds r1, 0x93
- adds r1, r6, r1
- lsls r1, 1
- ldr r2, _080AFA08 @ =0x0600c000
- adds r1, r2
- movs r2, 0x2
- bl RequestSpriteCopy
- b _080AFA56
- .align 2, 0
-_080AFA00: .4byte gTasks
-_080AFA04: .4byte 0x0000ffff
-_080AFA08: .4byte 0x0600c000
-_080AFA0C:
- adds r0, r2, r3
- lsls r1, 1
- adds r1, 0xE
- adds r0, r1
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 5
- adds r1, 0x93
- adds r1, r6, r1
- lsls r1, 1
- ldr r7, _080AFA34 @ =0x0600c000
- adds r1, r7
- movs r2, 0x2
- bl RequestSpriteCopy
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080AFA56
- .align 2, 0
-_080AFA34: .4byte 0x0600c000
-_080AFA38:
- movs r1, 0
- adds r3, 0x8
-_080AFA3C:
- adds r0, r1, 0x4
- lsls r0, 1
- adds r0, r2
- adds r4, r0, r3
- movs r7, 0
- ldrsh r0, [r4, r7]
- cmp r0, 0
- blt _080AFA0C
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _080AFA3C
-_080AFA56:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF94C
-
- thumb_func_start sub_80AFA5C
-sub_80AFA5C: @ 80AFA5C
- push {r4-r7,lr}
- sub sp, 0x4
- movs r3, 0
- ldr r0, _080AFAAC @ =0x0600c000
- mov r12, r0
- mov r4, sp
- movs r6, 0
- ldr r2, _080AFAB0 @ =0x040000d4
- ldr r5, _080AFAB4 @ =0x81000008
-_080AFA6E:
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 5
- adds r0, r1, 0
- adds r0, 0x56
- lsls r0, 1
- add r0, r12
- strh r6, [r4]
- mov r7, sp
- str r7, [r2]
- str r0, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r1, 0x76
- lsls r1, 1
- add r1, r12
- strh r6, [r4]
- str r7, [r2]
- str r1, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080AFA6E
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFAAC: .4byte 0x0600c000
-_080AFAB0: .4byte 0x040000d4
-_080AFAB4: .4byte 0x81000008
- thumb_func_end sub_80AFA5C
-
- thumb_func_start unref_sub_80AFAB8
-unref_sub_80AFAB8: @ 80AFAB8
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r0, 16
- asrs r0, 16
- bl sub_80AFB74
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080AFAF4 @ =0x000050a2
- cmp r4, 0
- beq _080AFAE0
- ldr r2, _080AFAF8 @ =0x000060a2
- cmp r4, 0x1
- beq _080AFAE0
- ldr r2, _080AFAFC @ =0x000080a2
- cmp r4, 0x2
- bne _080AFAE0
- ldr r2, _080AFB00 @ =0x000070a2
-_080AFAE0:
- movs r1, 0
- lsls r3, r4, 2
- movs r6, 0
-_080AFAE6:
- cmp r1, r5
- bcs _080AFB04
- lsls r0, r1, 1
- add r0, sp
- strh r2, [r0]
- b _080AFB0A
- .align 2, 0
-_080AFAF4: .4byte 0x000050a2
-_080AFAF8: .4byte 0x000060a2
-_080AFAFC: .4byte 0x000080a2
-_080AFB00: .4byte 0x000070a2
-_080AFB04:
- lsls r0, r1, 1
- add r0, sp
- strh r6, [r0]
-_080AFB0A:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x8
- bls _080AFAE6
- adds r0, r3, r4
- lsls r0, 6
- ldr r1, _080AFB34 @ =0x0600c128
- adds r0, r1
- ldr r1, _080AFB38 @ =0x040000d4
- mov r2, sp
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, _080AFB3C @ =0x80000009
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFB34: .4byte 0x0600c128
-_080AFB38: .4byte 0x040000d4
-_080AFB3C: .4byte 0x80000009
- thumb_func_end unref_sub_80AFAB8
-
- thumb_func_start sub_80AFB40
-sub_80AFB40: @ 80AFB40
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080AFB64 @ =0x00005011
- cmp r0, 0
- beq _080AFB5A
- ldr r1, _080AFB68 @ =0x00006011
- cmp r0, 0x1
- beq _080AFB5A
- ldr r1, _080AFB6C @ =0x00008011
- cmp r0, 0x2
- bne _080AFB5A
- ldr r1, _080AFB70 @ =0x00007011
-_080AFB5A:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080AFB64: .4byte 0x00005011
-_080AFB68: .4byte 0x00006011
-_080AFB6C: .4byte 0x00008011
-_080AFB70: .4byte 0x00007011
- thumb_func_end sub_80AFB40
-
- thumb_func_start sub_80AFB74
-sub_80AFB74: @ 80AFB74
- push {lr}
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r2, r0, 24
- cmp r2, 0x10
- ble _080AFB8E
- movs r1, 0x10
- b _080AFB98
-_080AFB8E:
- movs r0, 0x10
- negs r0, r0
- cmp r2, r0
- bge _080AFB98
- movs r1, 0xF0
-_080AFB98:
- lsls r0, r1, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80AFB74
-
- thumb_func_start sub_80AFBA0
-sub_80AFBA0: @ 80AFBA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r2, r7, 2
- ldr r0, _080AFC30 @ =0x02019338
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r0, _080AFC34 @ =sub_80AFC74
- movs r1, 0x14
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r5, 16
- asrs r5, 16
- adds r0, r5, 0
- bl sub_80AFB74
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- adds r5, r0
- lsls r5, 16
- asrs r5, 16
- adds r0, r5, 0
- bl sub_80AFB74
- lsls r4, 24
- asrs r4, 24
- subs r0, r4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r7, 0
- bl sub_80AFB40
- ldr r2, _080AFC38 @ =gTasks
- lsls r3, r6, 2
- adds r0, r3, r6
- lsls r0, 3
- adds r1, r0, r2
- adds r0, r4, 0
- cmp r4, 0
- bge _080AFC14
- negs r0, r4
-_080AFC14:
- strh r0, [r1, 0x8]
- lsls r0, r5, 24
- asrs r0, 24
- strh r0, [r1, 0xA]
- cmp r4, 0
- bgt _080AFC28
- cmp r4, 0
- bne _080AFC3C
- cmp r0, 0
- ble _080AFC3C
-_080AFC28:
- movs r0, 0x1
- strh r0, [r1, 0xC]
- b _080AFC4A
- .align 2, 0
-_080AFC30: .4byte 0x02019338
-_080AFC34: .4byte sub_80AFC74
-_080AFC38: .4byte gTasks
-_080AFC3C:
- ldr r2, _080AFC6C @ =gTasks
- lsls r3, r6, 2
- adds r0, r3, r6
- lsls r0, 3
- adds r0, r2
- ldr r1, _080AFC70 @ =0x0000ffff
- strh r1, [r0, 0xC]
-_080AFC4A:
- adds r0, r3, r6
- lsls r0, 3
- adds r0, r2
- strh r7, [r0, 0xE]
- mov r1, r8
- lsls r0, r1, 16
- cmp r0, 0
- bge _080AFC60
- adds r0, r7, 0
- bl nullsub_19
-_080AFC60:
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AFC6C: .4byte gTasks
-_080AFC70: .4byte 0x0000ffff
- thumb_func_end sub_80AFBA0
-
- thumb_func_start sub_80AFC74
-sub_80AFC74: @ 80AFC74
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _080AFCD4 @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- ldrb r7, [r4, 0xE]
- ldrh r3, [r4, 0x8]
- ldrh r1, [r4, 0xA]
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bgt _080AFCA6
- b _080AFE1C
-_080AFCA6:
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r2, [r4, 0xA]
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- cmp r0, 0
- bne _080AFCDC
- adds r0, r7, 0
- bl nullsub_19
- mov r0, r8
- bl DestroyTask
- lsls r1, r7, 2
- ldr r0, _080AFCD8 @ =0x02019338
- adds r1, r0
- ldrb r2, [r1, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x2]
- b _080AFE1C
- .align 2, 0
-_080AFCD4: .4byte gTasks
-_080AFCD8: .4byte 0x02019338
-_080AFCDC:
- cmp r3, 0
- bne _080AFD28
- lsls r0, r1, 16
- mov r9, r0
- cmp r0, 0
- bge _080AFCFA
- adds r0, r7, 0
- bl sub_80AFB40
- adds r0, 0x2
- lsls r0, 16
- lsrs r6, r0, 16
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- b _080AFD08
-_080AFCFA:
- adds r0, r7, 0
- bl sub_80AFB40
- lsls r0, 16
- lsrs r6, r0, 16
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
-_080AFD08:
- strh r0, [r4, 0xA]
- ldr r1, _080AFD24 @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r2, r1, 0x1
- strh r2, [r0, 0x8]
- lsls r1, 24
- lsrs r5, r1, 24
- b _080AFD94
- .align 2, 0
-_080AFD24: .4byte gTasks
-_080AFD28:
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _080AFD62
- lsls r0, r1, 16
- mov r9, r0
- cmp r0, 0
- bge _080AFD50
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r2, 0x1
- strh r0, [r4, 0xA]
- adds r0, r7, 0
- bl sub_80AFB40
- adds r0, 0x2
- b _080AFD90
-_080AFD50:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- subs r0, r2, 0x1
- strh r0, [r4, 0xA]
- b _080AFD94
-_080AFD62:
- lsls r0, r1, 16
- mov r9, r0
- cmp r0, 0
- bge _080AFD7C
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- adds r0, r2, 0x1
- strh r0, [r4, 0xA]
- b _080AFD94
-_080AFD7C:
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- subs r0, r2, 0x1
- strh r0, [r4, 0xA]
- adds r0, r7, 0
- bl sub_80AFB40
-_080AFD90:
- lsls r0, 16
- lsrs r6, r0, 16
-_080AFD94:
- mov r10, r5
- cmp r5, 0x7
- bls _080AFDA2
- adds r0, r5, 0
- adds r0, 0x18
- lsls r0, 24
- lsrs r5, r0, 24
-_080AFDA2:
- mov r0, sp
- strh r6, [r0]
- ldr r0, _080AFDE8 @ =gUnknown_02038696
- adds r0, r7, r0
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, 0x56
- adds r1, r5, r1
- lsls r1, 1
- ldr r0, _080AFDEC @ =0x0600c000
- adds r1, r0
- ldr r2, _080AFDF0 @ =0x01000001
- mov r0, sp
- bl CpuSet
- mov r2, r9
- cmp r2, 0
- ble _080AFDFC
- movs r0, 0x60
- bl PlaySE
- ldr r4, _080AFDF4 @ =gMPlay_SE1
- adds r0, r4, 0
- bl m4aMPlayImmInit
- ldr r1, _080AFDF8 @ =0x0000ffff
- mov r3, r10
- lsls r2, r3, 24
- asrs r2, 16
- adds r0, r4, 0
- bl m4aMPlayPitchControl
- b _080AFE02
- .align 2, 0
-_080AFDE8: .4byte gUnknown_02038696
-_080AFDEC: .4byte 0x0600c000
-_080AFDF0: .4byte 0x01000001
-_080AFDF4: .4byte gMPlay_SE1
-_080AFDF8: .4byte 0x0000ffff
-_080AFDFC:
- movs r0, 0x16
- bl PlaySE
-_080AFE02:
- cmp r5, 0
- bne _080AFE1C
- cmp r6, 0
- bne _080AFE1C
- ldr r0, _080AFE2C @ =gTasks
- mov r5, r8
- lsls r1, r5, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- negs r0, r0
- strh r0, [r1, 0xC]
-_080AFE1C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFE2C: .4byte gTasks
- thumb_func_end sub_80AFC74
-
- thumb_func_start sub_80AFE30
-sub_80AFE30: @ 80AFE30
- push {r4,r5,lr}
- ldr r0, _080AFE64 @ =gUnknown_083CA350
- bl LoadSpriteSheet
- movs r4, 0
- ldr r5, _080AFE68 @ =gUnknown_083CA338
-_080AFE3C:
- ldr r0, _080AFE6C @ =gUnknown_02038696
- adds r0, r4, r0
- ldrb r0, [r0]
- adds r0, r5
- ldrb r2, [r0]
- ldr r0, _080AFE70 @ =gSpriteTemplate_83CA3AC
- movs r1, 0xB4
- movs r3, 0x1
- bl CreateSprite
- lsls r1, r4, 2
- ldr r2, _080AFE74 @ =0x02019338
- adds r1, r2
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AFE3C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFE64: .4byte gUnknown_083CA350
-_080AFE68: .4byte gUnknown_083CA338
-_080AFE6C: .4byte gUnknown_02038696
-_080AFE70: .4byte gSpriteTemplate_83CA3AC
-_080AFE74: .4byte 0x02019338
- thumb_func_end sub_80AFE30
-
- thumb_func_start sub_80AFE78
-sub_80AFE78: @ 80AFE78
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, r6, 2
- ldr r3, _080AFEB0 @ =0x02019338
- adds r2, r3
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldrb r7, [r2]
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- subs r3, 0xD8
- adds r0, r3
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 17
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x38
- ble _080AFEB4
- movs r5, 0x38
- b _080AFEBA
- .align 2, 0
-_080AFEB0: .4byte 0x02019338
-_080AFEB4:
- cmp r0, 0
- bge _080AFEBA
- movs r5, 0
-_080AFEBA:
- ldr r2, _080AFEEC @ =gSprites
- lsls r3, r7, 4
- adds r0, r3, r7
- lsls r0, 2
- adds r4, r0, r2
- movs r0, 0x3E
- adds r0, r4
- mov r12, r0
- ldrb r1, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- mov r1, r12
- strb r0, [r1]
- strh r6, [r4, 0x2E]
- strh r5, [r4, 0x30]
- lsls r0, r5, 16
- asrs r0, 16
- movs r5, 0x24
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _080AFEF0
- movs r0, 0x1
- b _080AFEF2
- .align 2, 0
-_080AFEEC: .4byte gSprites
-_080AFEF0:
- ldr r0, _080AFF08 @ =0x0000ffff
-_080AFEF2:
- strh r0, [r4, 0x32]
- adds r0, r3, r7
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080AFF0C @ =sub_80AFF60
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFF08: .4byte 0x0000ffff
-_080AFF0C: .4byte sub_80AFF60
- thumb_func_end sub_80AFE78
-
- thumb_func_start sub_80AFF10
-sub_80AFF10: @ 80AFF10
- push {r4,lr}
- movs r4, 0
-_080AFF14:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80AFE78
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AFF14
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFF10
-
- thumb_func_start sub_80AFF28
-sub_80AFF28: @ 80AFF28
- push {r4,lr}
- movs r3, 0
- ldr r2, _080AFF54 @ =0x02019338
- ldrb r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AFF4C
- movs r4, 0x1
-_080AFF3A:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x3
- bgt _080AFF4C
- ldrb r1, [r2, 0x2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080AFF3A
-_080AFF4C:
- cmp r3, 0x4
- beq _080AFF58
- movs r0, 0
- b _080AFF5A
- .align 2, 0
-_080AFF54: .4byte 0x02019338
-_080AFF58:
- movs r0, 0x1
-_080AFF5A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AFF28
-
- thumb_func_start sub_80AFF60
-sub_80AFF60: @ 80AFF60
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x24]
- movs r0, 0x24
- ldrsh r1, [r3, r0]
- movs r4, 0x30
- ldrsh r0, [r3, r4]
- cmp r1, r0
- bne _080AFF94
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r1, 2
- ldr r0, _080AFF8C @ =0x02019338
- adds r1, r0
- ldrb r2, [r1, 0x2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r0, _080AFF90 @ =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- b _080AFF9A
- .align 2, 0
-_080AFF8C: .4byte 0x02019338
-_080AFF90: .4byte SpriteCallbackDummy
-_080AFF94:
- ldrh r0, [r3, 0x32]
- adds r0, r2, r0
- strh r0, [r3, 0x24]
-_080AFF9A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFF60
-
- thumb_func_start sub_80AFFA0
-sub_80AFFA0: @ 80AFFA0
- push {r4-r6,lr}
- movs r2, 0
- ldr r6, _080AFFD0 @ =gSprites
- ldr r5, _080AFFD4 @ =gUnknown_083CA338
- ldr r3, _080AFFD8 @ =0x02019338
- ldr r4, _080AFFDC @ =gUnknown_02038696
-_080AFFAC:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r0, r2, r4
- ldrb r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- strh r0, [r1, 0x22]
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x3
- ble _080AFFAC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFFD0: .4byte gSprites
-_080AFFD4: .4byte gUnknown_083CA338
-_080AFFD8: .4byte 0x02019338
-_080AFFDC: .4byte gUnknown_02038696
- thumb_func_end sub_80AFFA0
-
- thumb_func_start sub_80AFFE0
-sub_80AFFE0: @ 80AFFE0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r6, _080B0008 @ =gUnknown_02038696
- ldr r4, _080B000C @ =gSprites
- ldr r2, _080B0010 @ =0x02019338
-_080AFFEE:
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080B0024
- cmp r5, 0
- bne _080B0014
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0xB4
- b _080B0022
- .align 2, 0
-_080B0008: .4byte gUnknown_02038696
-_080B000C: .4byte gSprites
-_080B0010: .4byte 0x02019338
-_080B0014:
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0x80
- lsls r0, 1
-_080B0022:
- strh r0, [r1, 0x20]
-_080B0024:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x3
- ble _080AFFEE
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFFE0
-
- thumb_func_start sub_80B0034
-sub_80B0034: @ 80B0034
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080B00A8 @ =gUnknown_083CA3E4
- bl LoadSpritePalette
- movs r5, 0
- ldr r0, _080B00AC @ =gUnknown_083CA33C
- mov r8, r0
- ldr r7, _080B00B0 @ =gSprites
- movs r6, 0
-_080B004A:
- lsls r0, r5, 3
- ldr r1, _080B00B4 @ =gUnknown_083CA3C4
- adds r0, r1
- bl LoadCompressedObjectPic
- ldr r0, _080B00B8 @ =gSpriteTemplate_83CA3F4
- adds r0, r6, r0
- ldr r1, _080B00BC @ =gUnknown_02038696
- adds r1, r5, r1
- ldrb r1, [r1]
- add r1, r8
- ldrb r2, [r1]
- movs r1, 0xCC
- movs r3, 0
- bl CreateSprite
- lsls r4, r5, 2
- ldr r1, _080B00C0 @ =0x02019338
- adds r4, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, _080B00C4 @ =gUnknown_083CA464
- bl SetSubspriteTables
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r6, 0x18
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B004A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B00A8: .4byte gUnknown_083CA3E4
-_080B00AC: .4byte gUnknown_083CA33C
-_080B00B0: .4byte gSprites
-_080B00B4: .4byte gUnknown_083CA3C4
-_080B00B8: .4byte gSpriteTemplate_83CA3F4
-_080B00BC: .4byte gUnknown_02038696
-_080B00C0: .4byte 0x02019338
-_080B00C4: .4byte gUnknown_083CA464
- thumb_func_end sub_80B0034
-
- thumb_func_start sub_80B00C8
-sub_80B00C8: @ 80B00C8
- push {lr}
- ldr r0, _080B0104 @ =gUnknown_083CA46C
- bl LoadCompressedObjectPic
- ldr r0, _080B0108 @ =gUnknown_083CA474
- bl LoadSpritePalette
- ldr r0, _080B010C @ =gSpriteTemplate_83CA484
- movs r1, 0x1E
- movs r2, 0x2C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B0110 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r3, 0x4
- orrs r2, r3
- strb r2, [r1]
- ldr r1, _080B0114 @ =0x02019204
- adds r1, 0x58
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080B0104: .4byte gUnknown_083CA46C
-_080B0108: .4byte gUnknown_083CA474
-_080B010C: .4byte gSpriteTemplate_83CA484
-_080B0110: .4byte gSprites
-_080B0114: .4byte 0x02019204
- thumb_func_end sub_80B00C8
-
- thumb_func_start nullsub_18
-nullsub_18: @ 80B0118
- bx lr
- thumb_func_end nullsub_18
-
- thumb_func_start unref_sub_80B011C
-unref_sub_80B011C: @ 80B011C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080B0198 @ =gUnknown_083CC3AC
- bl LoadCompressedObjectPic
- movs r4, 0
- ldr r5, _080B019C @ =gUnknown_083CC3B4
-_080B012C:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadCompressedObjectPalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B012C
- movs r4, 0
- ldr r5, _080B01A0 @ =gUnknown_083CA330
- adds r0, r5, 0x1
- mov r8, r0
- ldr r7, _080B01A4 @ =gSprites
- ldr r6, _080B01A8 @ =0x0201920d
-_080B014A:
- lsls r2, r4, 1
- adds r0, r2, r4
- lsls r0, 3
- ldr r1, _080B01AC @ =gSpriteTemplate_83CC454
- adds r0, r1
- adds r1, r2, r5
- ldrb r1, [r1]
- add r2, r8
- ldrb r2, [r2]
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- movs r2, 0x3E
- adds r2, r1
- mov r12, r2
- ldrb r2, [r2]
- movs r3, 0x4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- strh r4, [r1, 0x2E]
- adds r1, r4, r6
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B014A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0198: .4byte gUnknown_083CC3AC
-_080B019C: .4byte gUnknown_083CC3B4
-_080B01A0: .4byte gUnknown_083CA330
-_080B01A4: .4byte gSprites
-_080B01A8: .4byte 0x0201920d
-_080B01AC: .4byte gSpriteTemplate_83CC454
- thumb_func_end unref_sub_80B011C
-
- thumb_func_start unref_sub_80B01B0
-unref_sub_80B01B0: @ 80B01B0
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, _080B01D4 @ =0x0201920d
- ldr r4, _080B01D8 @ =gSprites + 0x1C
- ldr r3, _080B01DC @ =ObjectCB_SwitchPocketRotatingBallInit
-_080B01BA:
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B01BA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B01D4: .4byte 0x0201920d
-_080B01D8: .4byte gSprites + 0x1C
-_080B01DC: .4byte sub_80B0238
- thumb_func_end unref_sub_80B01B0
-
- thumb_func_start unref_sub_80B01E0
-unref_sub_80B01E0: @ 80B01E0
- push {r4,r5,lr}
- movs r3, 0
- ldr r2, _080B0224 @ =gSprites
- ldr r4, _080B0228 @ =0x02019204
- ldrb r1, [r4, 0x9]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _080B022C @ =SpriteCallbackDummy
- cmp r1, r0
- bne _080B021A
- adds r5, r4, 0
- adds r5, 0x9
- adds r4, r1, 0
-_080B0202:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _080B021A
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- beq _080B0202
-_080B021A:
- cmp r3, 0x4
- beq _080B0230
- movs r0, 0
- b _080B0232
- .align 2, 0
-_080B0224: .4byte gSprites
-_080B0228: .4byte 0x02019204
-_080B022C: .4byte SpriteCallbackDummy
-_080B0230:
- movs r0, 0x1
-_080B0232:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80B01E0
-
- thumb_func_start sub_80B0238
-sub_80B0238: @ 80B0238
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B0268
- ldr r0, _080B0264 @ =sub_80B02A8
- b _080B0272
- .align 2, 0
-_080B0264: .4byte sub_80B02A8
-_080B0268:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, _080B027C @ =sub_80B0280
-_080B0272:
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B027C: .4byte sub_80B0280
- thumb_func_end sub_80B0238
-
- thumb_func_start sub_80B0280
-sub_80B0280: @ 80B0280
- push {lr}
- adds r3, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B02A0
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B02A4 @ =sub_80B02A8
- str r0, [r3, 0x1C]
-_080B02A0:
- pop {r0}
- bx r0
- .align 2, 0
-_080B02A4: .4byte sub_80B02A8
- thumb_func_end sub_80B0280
-
- thumb_func_start sub_80B02A8
-sub_80B02A8: @ 80B02A8
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _080B02EC @ =0x02019260
- adds r0, r1
- ldrb r1, [r0, 0xB]
- lsls r1, 30
- lsrs r1, 30
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, _080B02F0 @ =sub_80B02F4
- str r0, [r4, 0x1C]
- movs r0, 0x18
- bl PlaySE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B02EC: .4byte 0x02019260
-_080B02F0: .4byte sub_80B02F4
- thumb_func_end sub_80B02A8
-
- thumb_func_start sub_80B02F4
-sub_80B02F4: @ 80B02F4
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B0318
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- ldrb r0, [r4, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x1]
- ldr r0, _080B0320 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080B0318:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0320: .4byte SpriteCallbackDummy
- thumb_func_end sub_80B02F4
-
- thumb_func_start sub_80B0324
-sub_80B0324: @ 80B0324
- push {r4,lr}
- ldr r0, _080B035C @ =sub_80B0458
- movs r1, 0x1E
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B0360 @ =0x02019204
- strb r0, [r1, 0xD]
- movs r2, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r4, _080B0364 @ =gTasks + 0x8
- movs r3, 0xFF
-_080B0342:
- lsls r0, r2, 3
- adds r0, r1
- adds r0, r4
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080B0342
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B035C: .4byte sub_80B0458
-_080B0360: .4byte 0x02019204
-_080B0364: .4byte gTasks + 0x8
- thumb_func_end sub_80B0324
-
- thumb_func_start sub_80B0368
-sub_80B0368: @ 80B0368
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080B03A0 @ =gTasks
- ldr r5, _080B03A4 @ =0x02019204
- ldrb r2, [r5, 0xD]
- lsls r1, r2, 2
- adds r1, r2
- adds r1, r0
- lsls r1, 3
- adds r3, 0x8
- adds r1, r3
- movs r4, 0
- strh r4, [r1]
- lsls r0, 2
- adds r0, 0x1
- lsls r0, 1
- ldrb r2, [r5, 0xD]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, r3
- strh r4, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B03A0: .4byte gTasks
-_080B03A4: .4byte 0x02019204
- thumb_func_end sub_80B0368
-
- thumb_func_start sub_80B03A8
-sub_80B03A8: @ 80B03A8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B03D0 @ =sub_80B03D8
- movs r1, 0x1F
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B03D4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B03D0: .4byte sub_80B03D8
-_080B03D4: .4byte gTasks
- thumb_func_end sub_80B03A8
-
- thumb_func_start sub_80B03D8
-sub_80B03D8: @ 80B03D8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r2, _080B044C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x8]
- adds r4, r0, 0
- ldr r6, _080B0450 @ =0x02019204
- ldrb r1, [r6, 0xD]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r4
- lsls r0, 3
- adds r7, r2, 0
- adds r7, 0x8
- adds r1, r0, r7
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080B040C
- cmp r0, 0xFF
- bne _080B0444
-_080B040C:
- movs r3, 0
- movs r0, 0xFF
- strh r0, [r1]
- lsls r1, r4, 2
- adds r1, 0x1
- lsls r1, 1
- ldrb r2, [r6, 0xD]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r7
- strh r3, [r1]
- adds r0, r6, 0
- adds r0, 0x14
- adds r0, r4, r0
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 4
- adds r0, 0x6
- ldr r3, _080B0454 @ =0x00004bff
- movs r1, 0x2
- movs r2, 0
- bl BlendPalette
- adds r0, r5, 0
- bl DestroyTask
-_080B0444:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B044C: .4byte gTasks
-_080B0450: .4byte 0x02019204
-_080B0454: .4byte 0x00004bff
- thumb_func_end sub_80B03D8
-
- thumb_func_start sub_80B0458
-sub_80B0458: @ 80B0458
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- lsls r1, r0, 2
- adds r1, r0
- mov r9, r1
- lsls r7, r1, 3
- ldr r0, _080B04A8 @ =gTasks + 0x8
- mov r8, r0
- movs r1, 0x8
- negs r1, r1
- add r1, r8
- mov r10, r1
-_080B047C:
- lsls r0, r6, 26
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r7
- mov r4, r8
- adds r2, r0, r4
- ldrh r4, [r2]
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, 0xFF
- beq _080B04F6
- adds r0, r3, 0x1
- lsls r1, r0, 1
- adds r1, r7
- add r1, r8
- movs r5, 0
- ldrsh r1, [r1, r5]
- adds r5, r0, 0
- cmp r1, 0
- bne _080B04AC
- adds r0, r4, 0x1
- b _080B04AE
- .align 2, 0
-_080B04A8: .4byte gTasks + 0x8
-_080B04AC:
- subs r0, r4, 0x1
-_080B04AE:
- strh r0, [r2]
- lsls r1, r3, 1
- mov r0, r9
- lsls r2, r0, 3
- adds r0, r1, r2
- mov r3, r10
- adds r3, 0x8
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- cmp r0, 0x10
- beq _080B04CC
- cmp r0, 0
- bne _080B04DA
-_080B04CC:
- lsls r0, r5, 1
- adds r0, r2
- adds r0, r3
- ldrh r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0]
-_080B04DA:
- ldr r0, _080B0510 @ =0x02019204
- adds r0, 0x14
- adds r0, r6, r0
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 4
- adds r0, 0x6
- adds r1, r4, r7
- add r1, r8
- ldrb r2, [r1]
- movs r1, 0x2
- ldr r3, _080B0514 @ =0x00004bff
- bl BlendPalette
-_080B04F6:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080B047C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0510: .4byte 0x02019204
-_080B0514: .4byte 0x00004bff
- thumb_func_end sub_80B0458
-
- thumb_func_start sub_80B0518
-sub_80B0518: @ 80B0518
- push {r4,lr}
- ldr r0, _080B0540 @ =sub_80B05FC
- movs r1, 0x1E
- bl CreateTask
- ldr r1, _080B0544 @ =0x02019204
- strb r0, [r1, 0xE]
- movs r4, 0
-_080B0528:
- adds r0, r4, 0
- bl sub_80B0548
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0528
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0540: .4byte sub_80B05FC
-_080B0544: .4byte 0x02019204
- thumb_func_end sub_80B0518
-
- thumb_func_start sub_80B0548
-sub_80B0548: @ 80B0548
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080B0580 @ =gTasks
- ldr r4, _080B0584 @ =0x02019204
- ldrb r2, [r4, 0xE]
- lsls r1, r2, 2
- adds r1, r2
- adds r1, r0
- lsls r1, 3
- adds r3, 0x8
- adds r1, r3
- movs r5, 0
- movs r2, 0xFF
- strh r2, [r1]
- lsls r0, 2
- adds r0, 0x1
- lsls r0, 1
- ldrb r2, [r4, 0xE]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, r3
- strh r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0580: .4byte gTasks
-_080B0584: .4byte 0x02019204
- thumb_func_end sub_80B0548
-
- thumb_func_start sub_80B0588
-sub_80B0588: @ 80B0588
- push {r4,lr}
- movs r4, 0
-_080B058C:
- adds r0, r4, 0
- bl sub_80B05A4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B058C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B0588
-
- thumb_func_start sub_80B05A4
-sub_80B05A4: @ 80B05A4
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80B0548
- adds r0, r4, 0x5
- lsls r2, r0, 5
- ldr r3, _080B05E8 @ =gPlttBufferUnfaded + 0x14
- adds r6, r2, r3
- ldr r5, _080B05EC @ =gPlttBufferFaded + 0x14
- adds r2, r5
- ldr r1, _080B05F0 @ =0x040000d4
- str r6, [r1]
- str r2, [r1, 0x4]
- ldr r2, _080B05F4 @ =0x80000001
- str r2, [r1, 0x8]
- ldr r6, [r1, 0x8]
- lsls r0, 4
- adds r4, 0xC
- adds r0, r4
- lsls r0, 1
- subs r3, 0x14
- adds r3, r0, r3
- subs r5, 0x14
- adds r0, r5
- str r3, [r1]
- str r0, [r1, 0x4]
- str r2, [r1, 0x8]
- ldr r0, [r1, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B05E8: .4byte gPlttBufferUnfaded + 0x14
-_080B05EC: .4byte gPlttBufferFaded + 0x14
-_080B05F0: .4byte 0x040000d4
-_080B05F4: .4byte 0x80000001
- thumb_func_end sub_80B05A4
-
- thumb_func_start nullsub_19
-nullsub_19: @ 80B05F8
- bx lr
- thumb_func_end nullsub_19
-
- thumb_func_start sub_80B05FC
-sub_80B05FC: @ 80B05FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- movs r7, 0
- lsls r1, r0, 2
- adds r1, r0
- mov r9, r1
- lsls r6, r1, 3
- ldr r0, _080B0664 @ =gTasks + 0x8
- mov r8, r0
- ldr r1, _080B0668 @ =0x00004bff
- mov r10, r1
-_080B061C:
- lsls r0, r7, 26
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r6
- mov r4, r8
- adds r2, r0, r4
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, 0xFF
- beq _080B06C2
- adds r0, r3, 0x2
- lsls r0, 1
- adds r0, r6
- adds r1, r0, r4
- ldrh r0, [r1]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B06C2
- strh r4, [r1]
- adds r0, r3, 0x1
- lsls r1, r0, 1
- adds r1, r6
- add r1, r8
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r4, r0, 0
- cmp r1, 0
- bne _080B066C
- ldrh r0, [r2]
- adds r0, 0x1
- b _080B0670
- .align 2, 0
-_080B0664: .4byte gTasks + 0x8
-_080B0668: .4byte 0x00004bff
-_080B066C:
- ldrh r0, [r2]
- subs r0, 0x1
-_080B0670:
- strh r0, [r2]
- lsls r1, r3, 1
- mov r5, r9
- lsls r2, r5, 3
- adds r0, r1, r2
- ldr r3, _080B06DC @ =gTasks
- adds r3, 0x8
- adds r0, r3
- movs r5, 0
- ldrsh r0, [r0, r5]
- adds r5, r1, 0
- cmp r0, 0x10
- beq _080B068E
- cmp r0, 0
- bne _080B069C
-_080B068E:
- lsls r0, r4, 1
- adds r0, r2
- adds r0, r3
- ldrh r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0]
-_080B069C:
- adds r4, r7, 0x5
- lsls r4, 4
- adds r0, r4, 0
- adds r0, 0xA
- adds r5, r6
- add r5, r8
- ldrb r2, [r5]
- movs r1, 0x1
- mov r3, r10
- bl BlendPalette
- adds r4, 0xC
- adds r4, r7
- ldrb r2, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- mov r3, r10
- bl BlendPalette
-_080B06C2:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _080B061C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B06DC: .4byte gTasks
- thumb_func_end sub_80B05FC
-
- thumb_func_start unref_sub_80B06E0
-unref_sub_80B06E0: @ 80B06E0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- ldr r0, _080B073C @ =sub_80B0748
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r0, _080B0740 @ =gTasks + 0x8
- mov r8, r0
- ldr r1, _080B0744 @ =0x02019338
- mov r12, r1
-_080B0704:
- lsls r4, r3, 2
- lsls r0, r3, 26
- lsrs r0, 23
- adds r0, r6
- add r0, r8
- adds r2, r7, r3
- ldrb r1, [r2]
- strh r1, [r0]
- ldrb r0, [r2]
- cmp r0, 0
- beq _080B0726
- mov r1, r12
- adds r0, r4, r1
- ldrb r1, [r0, 0x2]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0, 0x2]
-_080B0726:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080B0704
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B073C: .4byte sub_80B0748
-_080B0740: .4byte gTasks + 0x8
-_080B0744: .4byte 0x02019338
- thumb_func_end unref_sub_80B06E0
-
- thumb_func_start sub_80B0748
-sub_80B0748: @ 80B0748
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r2, _080B07F4 @ =gTasks
- movs r1, 0x8
- adds r1, r2
- mov r10, r1
- ldr r3, [sp]
- lsls r3, 2
- str r3, [sp, 0x1C]
- ldr r1, [sp]
- adds r0, r3, r1
- lsls r0, 3
- str r0, [sp, 0xC]
-_080B0774:
- ldr r0, _080B07F8 @ =gUnknown_02038696
- ldr r3, [sp, 0x4]
- adds r0, r3, r0
- ldrb r4, [r0]
- lsls r0, r4, 26
- lsrs r1, r0, 24
- lsls r0, r1, 1
- str r0, [sp, 0x8]
- ldr r3, [sp]
- lsls r0, r3, 2
- adds r0, r3
- lsls r6, r0, 3
- ldr r3, [sp, 0x8]
- adds r0, r3, r6
- add r0, r10
- mov r9, r0
- ldrb r7, [r0]
- cmp r7, 0
- bne _080B079C
- b _080B0910
-_080B079C:
- adds r3, r1, 0x1
- lsls r0, r3, 1
- adds r0, r6
- add r0, r10
- ldrb r0, [r0]
- mov r8, r0
- adds r2, r1, 0x2
- lsls r0, r2, 1
- adds r0, r6
- add r0, r10
- ldrb r5, [r0]
- adds r1, 0x3
- lsls r0, r1, 1
- adds r0, r6
- add r0, r10
- ldrb r6, [r0]
- str r3, [sp, 0x10]
- str r2, [sp, 0x14]
- str r1, [sp, 0x18]
- cmp r7, 0x1
- bne _080B0818
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- beq _080B07D2
- b _080B08EA
-_080B07D2:
- movs r6, 0
- adds r0, r4, 0x5
- lsls r0, 4
- adds r0, 0x1
- movs r1, 0x3
- adds r2, r5, 0
- ldr r3, _080B07FC @ =0x00007fff
- bl BlendPalette
- cmp r5, 0
- bne _080B0800
- mov r0, r8
- cmp r0, 0x4
- bne _080B0800
- mov r1, r9
- strh r6, [r1]
- b _080B08EA
- .align 2, 0
-_080B07F4: .4byte gTasks
-_080B07F8: .4byte gUnknown_02038696
-_080B07FC: .4byte 0x00007fff
-_080B0800:
- adds r0, r5, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xD
- bls _080B08EA
- movs r5, 0
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- b _080B08EA
-_080B0818:
- cmp r7, 0x2
- beq _080B0820
- cmp r7, 0x4
- bne _080B0896
-_080B0820:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bne _080B08EA
- movs r6, 0
- adds r0, r4, 0x5
- lsls r0, 4
- adds r0, 0x1
- ldr r2, _080B0854 @ =gUnknown_083CC5A4
- lsls r1, r4, 1
- adds r1, r2
- ldrh r3, [r1]
- movs r1, 0x3
- adds r2, r5, 0
- bl BlendPalette
- cmp r5, 0
- bne _080B0858
- mov r2, r8
- cmp r2, 0x2
- bne _080B0858
- mov r3, r9
- strh r6, [r3]
- b _080B08EA
- .align 2, 0
-_080B0854: .4byte gUnknown_083CC5A4
-_080B0858:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xE
- bne _080B08EA
- movs r5, 0
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r7, 0x4
- bne _080B08EA
- cmp r0, 0x1
- bne _080B08EA
- adds r4, 0x9
- lsls r4, 4
- adds r0, r4, 0x2
- movs r1, 0x1
- movs r2, 0x4
- movs r3, 0
- bl BlendPalette
- adds r4, 0x5
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x4
- movs r3, 0
- bl BlendPalette
- b _080B08EA
-_080B0896:
- cmp r7, 0x3
- bne _080B08EA
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xC
- bne _080B08EA
- movs r6, 0
- adds r0, r4, 0x5
- lsls r0, 4
- adds r4, r0, 0x1
- adds r0, r4, 0
- movs r1, 0x3
- adds r2, r5, 0
- movs r3, 0
- bl BlendPalette
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bne _080B08EA
- ldr r0, _080B0930 @ =gPlttBufferFaded
- lsls r1, r4, 1
- adds r0, r1, r0
- ldrh r2, [r0]
- ldr r0, _080B0934 @ =gPlttBufferUnfaded
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, _080B0938 @ =0x040000d4
- str r2, [r1]
- str r0, [r1, 0x4]
- movs r0, 0x80
- lsls r0, 24
- orrs r7, r0
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [sp, 0x8]
- ldr r2, [sp, 0xC]
- adds r0, r1, r2
- add r0, r10
- strh r6, [r0]
-_080B08EA:
- ldr r3, [sp, 0x10]
- lsls r0, r3, 1
- ldr r1, [sp, 0xC]
- adds r0, r1
- add r0, r10
- mov r2, r8
- strh r2, [r0]
- ldr r3, [sp, 0x14]
- lsls r0, r3, 1
- adds r0, r1
- add r0, r10
- strh r5, [r0]
- ldr r1, [sp, 0x18]
- lsls r0, r1, 1
- ldr r2, [sp, 0xC]
- adds r0, r2
- add r0, r10
- strh r6, [r0]
- ldr r2, _080B093C @ =gTasks
-_080B0910:
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- cmp r0, 0x3
- bhi _080B0920
- b _080B0774
-_080B0920:
- movs r4, 0
- ldr r3, [sp, 0x1C]
- ldr r1, [sp]
- adds r0, r3, r1
- lsls r1, r0, 3
- adds r2, 0x8
- adds r0, r1, r2
- b _080B0950
- .align 2, 0
-_080B0930: .4byte gPlttBufferFaded
-_080B0934: .4byte gPlttBufferUnfaded
-_080B0938: .4byte 0x040000d4
-_080B093C: .4byte gTasks
-_080B0940:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _080B0958
- lsls r0, r4, 3
- adds r0, r1
- adds r0, r2
-_080B0950:
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- beq _080B0940
-_080B0958:
- cmp r4, 0x4
- bne _080B0980
- movs r4, 0
- ldr r3, _080B0990 @ =0x02019338
- movs r5, 0x3
- negs r5, r5
-_080B0964:
- lsls r1, r4, 2
- adds r1, r3
- ldrb r2, [r1, 0x2]
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0964
- ldr r0, [sp]
- bl DestroyTask
-_080B0980:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0990: .4byte 0x02019338
- thumb_func_end sub_80B0748
-
- thumb_func_start unref_sub_80B0994
-unref_sub_80B0994: @ 80B0994
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _080B09A6
- ldr r0, _080B09AC @ =0x02019204
- ldrb r1, [r0, 0x6]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x6]
-_080B09A6:
- pop {r0}
- bx r0
- .align 2, 0
-_080B09AC: .4byte 0x02019204
- thumb_func_end unref_sub_80B0994
-
- thumb_func_start sub_80B09B0
-sub_80B09B0: @ 80B09B0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r1, _080B09D4 @ =0x02019260
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B09D8
- adds r0, r2, 0
- bl sub_80B0368
- b _080B09DE
- .align 2, 0
-_080B09D4: .4byte 0x02019260
-_080B09D8:
- adds r0, r2, 0
- bl sub_80B03A8
-_080B09DE:
- pop {r0}
- bx r0
- thumb_func_end sub_80B09B0
-
- thumb_func_start sub_80B09E4
-sub_80B09E4: @ 80B09E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r9, r0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _080B0B2C @ =gUnknown_02038696
- mov r1, r9
- adds r7, r1, r0
- ldrb r0, [r7]
- lsls r5, r0, 2
- adds r5, r0
- lsls r5, 27
- movs r2, 0x80
- lsls r2, 22
- adds r5, r2
- lsrs r5, 24
- lsls r4, r1, 3
- ldr r0, _080B0B30 @ =gUnknown_083CC4B4
- adds r0, r4, r0
- bl LoadCompressedObjectPic
- ldr r0, _080B0B34 @ =gUnknown_083CC4D4
- adds r4, r0
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r3, r9
- lsls r4, r3, 1
- add r4, r9
- lsls r4, 3
- ldr r0, _080B0B38 @ =gSpriteTemplate_83CC53C
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB8
- adds r2, r5, 0
- movs r3, 0x1D
- bl CreateSprite
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0xF8
- adds r2, r5, 0
- movs r3, 0x1D
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r1, _080B0B3C @ =gSprites
- mov r10, r1
- lsls r5, r6, 4
- adds r5, r6
- lsls r5, 2
- add r5, r10
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x40
- ldr r3, _080B0B40 @ =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080B0B44 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldrb r0, [r7]
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 6
- ldr r0, _080B0B48 @ =0x0600e026
- adds r3, r0
- mov r1, r8
- lsls r4, r1, 4
- add r4, r8
- lsls r4, 2
- add r4, r10
- ldrh r0, [r4, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r2, _080B0B4C @ =0x06010000
- mov r10, r2
- add r0, r10
- str r0, [sp]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0xC0
- lsls r2, 19
- bl sub_8040F80
- ldrb r0, [r7]
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 6
- ldr r7, _080B0B50 @ =0x0600e036
- adds r3, r7
- ldrh r0, [r5, 0x4]
- lsls r0, 22
- lsrs r0, 17
- add r0, r10
- str r0, [sp]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0xC0
- lsls r2, 19
- bl sub_8040F80
- ldrh r0, [r4, 0x4]
- lsls r0, 22
- lsrs r0, 17
- movs r1, 0xA0
- lsls r1, 3
- adds r0, r1
- add r0, r10
- movs r2, 0
- str r2, [sp, 0x8]
- ldr r1, _080B0B54 @ =0x040000d4
- add r3, sp, 0x8
- mov r12, r3
- str r3, [r1]
- str r0, [r1, 0x4]
- ldr r3, _080B0B58 @ =0x850000c0
- str r3, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strb r2, [r0]
- strb r2, [r0]
- ldrh r0, [r5, 0x4]
- lsls r0, 22
- lsrs r0, 17
- movs r7, 0xA0
- lsls r7, 3
- adds r0, r7
- add r0, r10
- str r2, [sp, 0x8]
- mov r2, r12
- str r2, [r1]
- str r0, [r1, 0x4]
- str r3, [r1, 0x8]
- ldr r0, [r1, 0x8]
- strh r6, [r4, 0x2E]
- mov r3, r8
- strh r3, [r5, 0x2E]
- mov r7, r9
- strh r7, [r4, 0x30]
- mov r0, r9
- strh r0, [r5, 0x30]
- mov r0, r8
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B0B2C: .4byte gUnknown_02038696
-_080B0B30: .4byte gUnknown_083CC4B4
-_080B0B34: .4byte gUnknown_083CC4D4
-_080B0B38: .4byte gSpriteTemplate_83CC53C
-_080B0B3C: .4byte gSprites
-_080B0B40: .4byte 0x000003ff
-_080B0B44: .4byte 0xfffffc00
-_080B0B48: .4byte 0x0600e026
-_080B0B4C: .4byte 0x06010000
-_080B0B50: .4byte 0x0600e036
-_080B0B54: .4byte 0x040000d4
-_080B0B58: .4byte 0x850000c0
- thumb_func_end sub_80B09E4
-
- thumb_func_start sub_80B0B5C
-sub_80B0B5C: @ 80B0B5C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B0B94 @ =gSprites
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- adds r5, r1
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- adds r0, r5, 0
- bl DestroySpriteAndFreeResources
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0B94: .4byte gSprites
- thumb_func_end sub_80B0B5C
-
- thumb_func_start sub_80B0B98
-sub_80B0B98: @ 80B0B98
- ldr r1, _080B0BAC @ =REG_BLDCNT
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080B0BB0 @ =0x00000907
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080B0BAC: .4byte REG_BLDCNT
-_080B0BB0: .4byte 0x00000907
- thumb_func_end sub_80B0B98
-
- thumb_func_start sub_80B0BB4
-sub_80B0BB4: @ 80B0BB4
- ldr r0, _080B0BC0 @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080B0BC0: .4byte REG_BLDCNT
- thumb_func_end sub_80B0BB4
-
- thumb_func_start sub_80B0BC4
-sub_80B0BC4: @ 80B0BC4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl sub_80B0B98
- ldr r1, _080B0C38 @ =gSprites
- mov r8, r1
- lsls r6, r4, 4
- adds r6, r4
- lsls r6, 2
- adds r0, r6, r1
- movs r1, 0x30
- ldrsh r2, [r0, r1]
- lsls r2, 2
- ldr r1, _080B0C3C @ =0x02019338
- adds r2, r1
- ldrb r1, [r2, 0x2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2, 0x2]
- ldrh r5, [r0, 0x2E]
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x1
- bl StartSpriteAffineAnim
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- mov r1, r8
- adds r0, r4, r1
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r0, 0x1C
- add r8, r0
- add r6, r8
- ldr r0, _080B0C40 @ =sub_80B0C5C
- str r0, [r6]
- add r4, r8
- ldr r0, _080B0C44 @ =SpriteCallbackDummy
- str r0, [r4]
- mov r1, r9
- cmp r1, 0
- bne _080B0C48
- movs r0, 0x65
- bl PlaySE
- b _080B0C4E
- .align 2, 0
-_080B0C38: .4byte gSprites
-_080B0C3C: .4byte 0x02019338
-_080B0C40: .4byte sub_80B0C5C
-_080B0C44: .4byte SpriteCallbackDummy
-_080B0C48:
- movs r0, 0x2
- bl PlaySE
-_080B0C4E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B0BC4
-
- thumb_func_start sub_80B0C5C
-sub_80B0C5C: @ 80B0C5C
- push {lr}
- mov r12, r0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B0CA4
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080B0CA8 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080B0CA4
- mov r3, r12
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- ldr r0, _080B0CAC @ =sub_80B0CB0
- mov r1, r12
- str r0, [r1, 0x1C]
-_080B0CA4:
- pop {r0}
- bx r0
- .align 2, 0
-_080B0CA8: .4byte gSprites
-_080B0CAC: .4byte sub_80B0CB0
- thumb_func_end sub_80B0C5C
-
- thumb_func_start sub_80B0CB0
-sub_80B0CB0: @ 80B0CB0
- push {lr}
- movs r1, 0x30
- ldrsh r2, [r0, r1]
- lsls r2, 2
- ldr r1, _080B0CD8 @ =0x02019338
- adds r2, r1
- ldrb r3, [r2, 0x2]
- movs r1, 0x3
- negs r1, r1
- ands r1, r3
- strb r1, [r2, 0x2]
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80B0B5C
- bl sub_80B0BB4
- pop {r0}
- bx r0
- .align 2, 0
-_080B0CD8: .4byte 0x02019338
- thumb_func_end sub_80B0CB0
-
- thumb_func_start sub_80B0CDC
-sub_80B0CDC: @ 80B0CDC
- lsls r0, 24
- lsrs r0, 22
- ldr r1, _080B0CF0 @ =0x02019338
- adds r0, r1
- ldrb r2, [r0, 0x2]
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_080B0CF0: .4byte 0x02019338
- thumb_func_end sub_80B0CDC
-
- thumb_func_start unref_sub_80B0CF4
-unref_sub_80B0CF4: @ 80B0CF4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r0, _080B0D5C @ =0x02000000
- movs r1, 0xC0
- lsls r1, 9
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- cmp r1, 0
- bne _080B0D6C
- movs r4, 0
- ldr r6, _080B0D60 @ =gUnknown_083CA308
- adds r3, r6, 0x1
- mov r8, r3
- ldr r5, _080B0D64 @ =gUnknown_083CA310
- adds r7, r5, 0x1
-_080B0D1C:
- lsls r1, r4, 1
- adds r0, r1, r6
- ldrb r2, [r0]
- mov r3, r8
- adds r0, r1, r3
- ldrb r3, [r0]
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, _080B0D68 @ =gUnknown_03004210
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0D1C
- bl sub_80AE514
- bl sub_80AEB30
- b _080B0D70
- .align 2, 0
-_080B0D5C: .4byte 0x02000000
-_080B0D60: .4byte gUnknown_083CA308
-_080B0D64: .4byte gUnknown_083CA310
-_080B0D68: .4byte gUnknown_03004210
-_080B0D6C:
- bl sub_80B0D7C
-_080B0D70:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80B0CF4
-
- thumb_func_start sub_80B0D7C
-sub_80B0D7C: @ 80B0D7C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- movs r5, 0
- ldr r0, _080B0ED0 @ =0x02000000
- movs r1, 0xC0
- lsls r1, 9
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B0D98
- b _080B0EC2
-_080B0D98:
- movs r4, 0
- ldr r7, _080B0ED4 @ =gUnknown_083CA308
- adds r3, r7, 0x1
- mov r9, r3
- ldr r6, _080B0ED8 @ =gUnknown_083CA310
- adds r0, r6, 0x1
- mov r8, r0
-_080B0DA6:
- lsls r1, r4, 1
- adds r0, r1, r7
- ldrb r2, [r0]
- mov r3, r9
- adds r0, r1, r3
- ldrb r3, [r0]
- adds r0, r1, r6
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- add r1, r8
- ldrb r0, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, _080B0EDC @ =gUnknown_03004210
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0DA6
- movs r4, 0
- ldr r6, _080B0ED8 @ =gUnknown_083CA310
- adds r7, r6, 0x1
-_080B0DE2:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080B0EE0 @ =0x02019260
- adds r0, r1
- ldrh r2, [r0, 0x4]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080B0E08
- negs r0, r0
- lsls r0, 16
- lsrs r2, r0, 16
- add r1, sp, 0x8
- movs r0, 0xAE
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080B0E08:
- mov r0, sp
- adds r0, r5
- adds r0, 0x8
- lsls r1, r2, 16
- asrs r1, 16
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, _080B0EE4 @ =gUnknown_02038696
- adds r0, r4, r0
- ldrb r0, [r0]
- movs r1, 0x16
- adds r2, r0, 0
- muls r2, r1
- movs r3, 0x94
- lsls r3, 2
- adds r2, r3
- lsls r0, 1
- adds r1, r0, r6
- ldrb r3, [r1]
- adds r0, r7
- ldrb r0, [r0]
- str r0, [sp]
- ldr r0, _080B0EDC @ =gUnknown_03004210
- add r1, sp, 0x8
- bl sub_8003460
- movs r5, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0DE2
- movs r4, 0
- ldr r6, _080B0ED4 @ =gUnknown_083CA308
- adds r7, r6, 0x1
-_080B0E52:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080B0EE0 @ =0x02019260
- adds r0, r1
- ldrh r2, [r0, 0x2]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080B0E78
- negs r0, r0
- lsls r0, 16
- lsrs r2, r0, 16
- add r1, sp, 0x8
- movs r0, 0xAE
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080B0E78:
- mov r0, sp
- adds r0, r5
- adds r0, 0x8
- lsls r1, r2, 16
- asrs r1, 16
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, _080B0EE4 @ =gUnknown_02038696
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 18
- movs r3, 0x80
- lsls r3, 18
- adds r2, r3
- lsrs r2, 16
- lsls r1, 1
- adds r0, r1, r6
- ldrb r3, [r0]
- adds r1, r7
- ldrb r0, [r1]
- str r0, [sp]
- ldr r0, _080B0EDC @ =gUnknown_03004210
- add r1, sp, 0x8
- bl sub_8003460
- movs r5, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0E52
- bl sub_80AEB30
-_080B0EC2:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0ED0: .4byte 0x02000000
-_080B0ED4: .4byte gUnknown_083CA308
-_080B0ED8: .4byte gUnknown_083CA310
-_080B0EDC: .4byte gUnknown_03004210
-_080B0EE0: .4byte 0x02019260
-_080B0EE4: .4byte gUnknown_02038696
- thumb_func_end sub_80B0D7C
-
- thumb_func_start unref_sub_80B0EE8
-unref_sub_80B0EE8: @ 80B0EE8
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- subs r0, r1, 0x1
- cmp r4, r0
- bge _080B0F20
- adds r6, r0, 0
-_080B0EF6:
- adds r3, r0, 0
- adds r5, r4, 0x1
- cmp r0, r4
- ble _080B0F18
- lsls r0, 2
- subs r0, 0x4
- adds r0, r7
-_080B0F04:
- ldr r1, [r0]
- ldr r2, [r0, 0x4]
- cmp r1, r2
- ble _080B0F10
- str r1, [r0, 0x4]
- str r2, [r0]
-_080B0F10:
- subs r0, 0x4
- subs r3, 0x1
- cmp r3, r4
- bgt _080B0F04
-_080B0F18:
- adds r4, r5, 0
- adds r0, r6, 0
- cmp r4, r0
- blt _080B0EF6
-_080B0F20:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80B0EE8
-
- thumb_func_start sub_80B0F28
-sub_80B0F28: @ 80B0F28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- add r4, sp, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r5, 0
- add r4, sp, 0x4
- adds r6, r4, 0
- movs r7, 0
-_080B0F4E:
- bl Random
- adds r1, r0, 0
- mov r0, sp
- adds r0, r7
- adds r0, 0x4
- strh r1, [r0]
- movs r2, 0
- cmp r2, r5
- bge _080B0F86
- lsls r0, r1, 16
- lsrs r0, 16
- mov r1, sp
- ldrh r1, [r1, 0x4]
- cmp r0, r1
- beq _080B0F80
-_080B0F6E:
- adds r2, 0x1
- cmp r2, r5
- bge _080B0F86
- lsls r0, r2, 1
- adds r0, r4, r0
- ldrh r1, [r6]
- ldrh r0, [r0]
- cmp r1, r0
- bne _080B0F6E
-_080B0F80:
- subs r6, 0x2
- subs r7, 0x2
- subs r5, 0x1
-_080B0F86:
- adds r6, 0x2
- adds r7, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B0F4E
- mov r2, r8
- cmp r2, 0
- bne _080B1050
- movs r5, 0
- ldr r3, _080B1008 @ =gUnknown_02038696
- mov r8, r3
-_080B0F9C:
- mov r6, r8
- strb r5, [r6]
- movs r4, 0
- cmp r4, r5
- bge _080B1018
- ldr r7, _080B100C @ =gUnknown_02038670
- mov r9, r7
- lsls r0, r5, 1
- adds r1, r0, 0
- add r1, r9
- mov r12, r1
- mov r2, sp
- adds r2, 0x4
- str r2, [sp, 0xC]
- add r0, sp
- adds r0, 0x4
- str r0, [sp, 0x10]
- ldr r3, _080B1008 @ =gUnknown_02038696
- adds r6, r3, 0
- mov r10, r6
-_080B0FC4:
- ldrb r0, [r3]
- lsls r2, r0, 1
- mov r7, r9
- adds r0, r2, r7
- movs r6, 0
- ldrsh r1, [r0, r6]
- mov r7, r12
- movs r6, 0
- ldrsh r0, [r7, r6]
- cmp r1, r0
- blt _080B0FEC
- cmp r1, r0
- bne _080B1010
- ldr r7, [sp, 0xC]
- adds r0, r7, r2
- ldrh r0, [r0]
- ldr r1, [sp, 0x10]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _080B1010
-_080B0FEC:
- adds r2, r5, 0
- cmp r5, r4
- ble _080B1004
- subs r0, r5, 0x1
- mov r6, r10
- adds r1, r0, r6
-_080B0FF8:
- ldrb r0, [r1]
- strb r0, [r1, 0x1]
- subs r1, 0x1
- subs r2, 0x1
- cmp r2, r4
- bgt _080B0FF8
-_080B1004:
- strb r5, [r3]
- b _080B1018
- .align 2, 0
-_080B1008: .4byte gUnknown_02038696
-_080B100C: .4byte gUnknown_02038670
-_080B1010:
- adds r3, 0x1
- adds r4, 0x1
- cmp r4, r5
- blt _080B0FC4
-_080B1018:
- cmp r4, r5
- bne _080B1020
- mov r7, r8
- strb r5, [r7]
-_080B1020:
- movs r0, 0x1
- add r8, r0
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B0F9C
- ldr r4, _080B104C @ =gUnknown_02038696
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
- movs r5, 0
-_080B1038:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r0, r4
- strb r5, [r0]
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B1038
- b _080B10FC
- .align 2, 0
-_080B104C: .4byte gUnknown_02038696
-_080B1050:
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0x4
- bl memset
- movs r5, 0
- ldr r3, _080B1070 @ =gUnknown_02038696
- movs r6, 0
-_080B1060:
- ldr r0, _080B1074 @ =0x02019260
- adds r0, r6, r0
- ldrb r0, [r0, 0xB]
- lsls r0, 30
- lsrs r2, r0, 30
- mov r7, sp
- adds r1, r7, r2
- b _080B1082
- .align 2, 0
-_080B1070: .4byte gUnknown_02038696
-_080B1074: .4byte 0x02019260
-_080B1078:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- mov r0, sp
- adds r1, r0, r2
-_080B1082:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080B1078
- strb r5, [r1]
- strb r2, [r3]
- adds r3, 0x1
- adds r6, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B1060
- movs r5, 0
-_080B1098:
- movs r4, 0x3
- adds r1, r5, 0x1
- mov r10, r1
- cmp r4, r5
- ble _080B10F6
- mov r9, r4
- ldr r2, _080B110C @ =gUnknown_02038696
- mov r8, r2
- add r3, sp, 0x4
- mov r12, r3
-_080B10AC:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r6, _080B1110 @ =0x02019244
- adds r1, r0, r6
- ldrb r2, [r1, 0xB]
- ldr r7, _080B1114 @ =0x02019260
- adds r0, r7
- ldrb r3, [r0, 0xB]
- mov r1, r9
- ands r1, r2
- mov r0, r9
- ands r0, r3
- subs r3, r4, 0x1
- cmp r1, r0
- bne _080B10F0
- mov r0, r8
- adds r7, r3, r0
- adds r2, r4, r0
- ldrb r6, [r7]
- ldrb r1, [r2]
- cmp r6, r1
- bcs _080B10F0
- lsls r0, r3, 1
- add r0, r12
- lsls r1, r4, 1
- add r1, r12
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _080B10F0
- ldrb r0, [r2]
- strb r6, [r2]
- strb r0, [r7]
-_080B10F0:
- adds r4, r3, 0
- cmp r4, r5
- bgt _080B10AC
-_080B10F6:
- mov r5, r10
- cmp r5, 0x2
- ble _080B1098
-_080B10FC:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B110C: .4byte gUnknown_02038696
-_080B1110: .4byte 0x02019244
-_080B1114: .4byte 0x02019260
- thumb_func_end sub_80B0F28
-
- thumb_func_start sub_80B1118
-sub_80B1118: @ 80B1118
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0xA0
-_080B111E:
- ldr r0, _080B1144 @ =0x02018004
- adds r0, r5, r0
- ldr r1, _080B1148 @ =gUnknown_02038696
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, 0x5
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- adds r5, 0x20
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B111E
- bl sub_80AE514
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1144: .4byte 0x02018004
-_080B1148: .4byte gUnknown_02038696
- thumb_func_end sub_80B1118
-
- thumb_func_start sub_80B114C
-sub_80B114C: @ 80B114C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r7, r6, 3
- subs r0, r7, r6
- lsls r0, 2
- ldr r4, _080B11B8 @ =0x02019260
- adds r5, r0, r4
- movs r0, 0
- strh r0, [r5, 0x2]
- strh r0, [r5]
- adds r0, r6, 0
- bl sub_80AF404
- lsls r0, 24
- mov r8, r4
- cmp r0, 0
- bne _080B1176
- b _080B13DC
-_080B1176:
- ldrh r0, [r5, 0x6]
- ldr r1, _080B11BC @ =gContestMoves
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0]
- mov r12, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 29
- strb r0, [r5, 0xA]
- ldrh r0, [r5, 0x6]
- ldrh r1, [r5, 0x8]
- cmp r0, r1
- bne _080B11C0
- cmp r0, 0
- beq _080B11C0
- ldrb r0, [r5, 0x15]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5, 0x15]
- ldrb r2, [r5, 0xB]
- lsls r1, r2, 25
- lsrs r1, 29
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 4
- movs r0, 0x71
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0xB]
- b _080B11D8
- .align 2, 0
-_080B11B8: .4byte 0x02019260
-_080B11BC: .4byte gContestMoves
-_080B11C0:
- lsls r4, r6, 3
- subs r1, r4, r6
- lsls r1, 2
- ldr r3, _080B1264 @ =0x02019260
- adds r1, r3
- ldrb r2, [r1, 0xB]
- movs r0, 0x71
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0xB]
- adds r7, r4, 0
- mov r8, r3
-_080B11D8:
- subs r0, r7, r6
- lsls r0, 2
- add r0, r8
- ldr r2, _080B1268 @ =gContestEffects
- mov r1, r12
- lsls r3, r1, 2
- adds r2, r3, r2
- ldrb r1, [r2, 0x1]
- strh r1, [r0]
- strh r1, [r0, 0x2]
- mov r0, r8
- adds r0, 0x70
- ldrb r1, [r2, 0x2]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- strb r6, [r0, 0x11]
- movs r2, 0
- adds r4, r3, 0
- movs r1, 0
- mov r5, r8
- adds r5, 0x7D
- mov r3, r8
-_080B1204:
- strb r1, [r3, 0xE]
- adds r0, r5, r2
- strb r1, [r0]
- adds r3, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B1204
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B1264 @ =0x02019260
- adds r5, r0, r1
- ldrb r1, [r5, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B123C
- ldrh r0, [r5, 0x8]
- ldrh r1, [r5, 0x6]
- bl AreMovesContestCombo
- lsls r0, 24
- cmp r0, 0
- bne _080B123C
- ldrb r1, [r5, 0x15]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x15]
-_080B123C:
- ldr r0, _080B126C @ =gContestEffectFuncs
- adds r0, r4, r0
- ldr r0, [r0]
- bl _call_via_r0
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B1264 @ =0x02019260
- adds r2, r0, r1
- ldrb r1, [r2, 0x10]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x10
- bne _080B1270
- ldrh r1, [r2, 0x2]
- subs r1, 0xA
- movs r0, 0xD
- ldrsb r0, [r2, r0]
- b _080B128A
- .align 2, 0
-_080B1264: .4byte 0x02019260
-_080B1268: .4byte gContestEffects
-_080B126C: .4byte gContestEffectFuncs
-_080B1270:
- ldrb r1, [r2, 0x11]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B1284
- movs r1, 0xD
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- b _080B1288
-_080B1284:
- movs r0, 0xD
- ldrsb r0, [r2, r0]
-_080B1288:
- ldrh r1, [r2, 0x2]
-_080B128A:
- adds r0, r1
- strh r0, [r2, 0x2]
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B12E8 @ =0x02019260
- adds r4, r0, r1
- movs r0, 0
- strb r0, [r4, 0x16]
- ldrb r1, [r4, 0x15]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r4, 0x15]
- adds r0, r6, 0
- bl sub_80B214C
- lsls r0, 24
- cmp r0, 0
- beq _080B1322
- ldrh r0, [r4, 0x8]
- ldrh r1, [r4, 0x6]
- bl AreMovesContestCombo
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080B12EC
- ldrb r1, [r4, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B12EC
- strb r2, [r4, 0x16]
- movs r0, 0x40
- orrs r1, r0
- movs r0, 0x11
- negs r0, r0
- ands r1, r0
- movs r0, 0
- ldrsh r2, [r4, r0]
- ldrb r0, [r4, 0x16]
- muls r0, r2
- strb r0, [r4, 0x17]
- movs r0, 0x8
- orrs r1, r0
- strb r1, [r4, 0x15]
- b _080B1322
- .align 2, 0
-_080B12E8: .4byte 0x02019260
-_080B12EC:
- ldr r2, _080B1310 @ =gContestMoves
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B1314 @ =0x02019260
- adds r3, r0, r1
- ldrh r0, [r3, 0x6]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080B1318
- ldrb r0, [r3, 0x15]
- movs r1, 0x10
- orrs r0, r1
- movs r1, 0x40
- orrs r0, r1
- b _080B1320
- .align 2, 0
-_080B1310: .4byte gContestMoves
-_080B1314: .4byte 0x02019260
-_080B1318:
- ldrb r1, [r3, 0x15]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
-_080B1320:
- strb r0, [r3, 0x15]
-_080B1322:
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B139C @ =0x02019260
- mov r8, r1
- adds r4, r0, r1
- ldrb r1, [r4, 0x15]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080B1348
- ldrb r0, [r4, 0xB]
- lsls r0, 25
- lsrs r0, 29
- adds r0, 0x1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- strb r1, [r4, 0x18]
-_080B1348:
- ldrb r1, [r4, 0xC]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080B1362
- ldrb r0, [r4, 0x15]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x15]
- movs r0, 0
- strh r0, [r4, 0x2]
- strh r0, [r4]
-_080B1362:
- ldrh r0, [r4, 0x6]
- bl contest_get_move_excitement
- mov r2, r8
- adds r2, 0xC8
- strb r0, [r2]
- ldrb r1, [r4, 0x11]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B137A
- strb r5, [r2]
-_080B137A:
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- ble _080B13A4
- mov r0, r8
- subs r0, 0x5C
- ldrb r0, [r0, 0x13]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r2, r1]
- adds r0, r1
- cmp r0, 0x4
- ble _080B13A0
- movs r0, 0x3C
- b _080B13A6
- .align 2, 0
-_080B139C: .4byte 0x02019260
-_080B13A0:
- movs r0, 0xA
- b _080B13A6
-_080B13A4:
- movs r0, 0
-_080B13A6:
- strb r0, [r2, 0x2]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- b _080B13CA
-_080B13BE:
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_080B13C4:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080B13D2
-_080B13CA:
- cmp r2, r6
- beq _080B13C4
- cmp r0, 0
- bne _080B13BE
-_080B13D2:
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B13E8 @ =0x02019260
- adds r0, r1
- strb r2, [r0, 0x1B]
-_080B13DC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B13E8: .4byte 0x02019260
- thumb_func_end sub_80B114C
-
- thumb_func_start sub_80B13EC
-sub_80B13EC: @ 80B13EC
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- ldr r0, _080B1400 @ =0x02019260
- adds r2, r0
- strb r1, [r2, 0x13]
- bx lr
- .align 2, 0
-_080B1400: .4byte 0x02019260
- thumb_func_end sub_80B13EC
-
- thumb_func_start sub_80B1404
-sub_80B1404: @ 80B1404
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- ldr r0, _080B1418 @ =0x02019260
- adds r2, r0
- strb r1, [r2, 0x14]
- bx lr
- .align 2, 0
-_080B1418: .4byte 0x02019260
- thumb_func_end sub_80B1404
-
- thumb_func_start sub_80B141C
-sub_80B141C: @ 80B141C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x3B
- bls _080B1436
- movs r1, 0x35
- bl sub_80B13EC
- b _080B1466
-_080B1436:
- cmp r1, 0x27
- bls _080B1442
- movs r1, 0x34
- bl sub_80B13EC
- b _080B1466
-_080B1442:
- cmp r1, 0x1D
- bls _080B144E
- movs r1, 0x33
- bl sub_80B13EC
- b _080B1466
-_080B144E:
- cmp r1, 0x13
- bls _080B145A
- movs r1, 0x32
- bl sub_80B13EC
- b _080B1466
-_080B145A:
- cmp r2, 0x9
- bls _080B1466
- adds r0, r3, 0
- movs r1, 0x31
- bl sub_80B13EC
-_080B1466:
- pop {r0}
- bx r0
- thumb_func_end sub_80B141C
-
- thumb_func_start sub_80B146C
-sub_80B146C: @ 80B146C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _080B14C8 @ =gStringVar1
- lsls r1, r4, 6
- ldr r2, _080B14CC @ =gUnknown_02038572
- adds r1, r2
- bl StringCopy
- ldr r0, _080B14D0 @ =gStringVar2
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r4, _080B14D4 @ =0x02019260
- adds r1, r4
- ldrh r2, [r1, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080B14D8 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r2, _080B14DC @ =gContestMoves
- adds r0, r4, 0
- adds r0, 0x70
- ldrb r1, [r0, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x6]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- lsls r1, r0, 29
- cmp r1, 0
- bne _080B14E8
- ldr r0, _080B14E0 @ =gStringVar3
- ldr r1, _080B14E4 @ =gUnknown_083CC280
- bl StringCopy
- b _080B1538
- .align 2, 0
-_080B14C8: .4byte gStringVar1
-_080B14CC: .4byte gUnknown_02038572
-_080B14D0: .4byte gStringVar2
-_080B14D4: .4byte 0x02019260
-_080B14D8: .4byte gMoveNames
-_080B14DC: .4byte gContestMoves
-_080B14E0: .4byte gStringVar3
-_080B14E4: .4byte gUnknown_083CC280
-_080B14E8:
- lsrs r0, r1, 29
- cmp r0, 0x1
- bne _080B1500
- ldr r0, _080B14F8 @ =gStringVar3
- ldr r1, _080B14FC @ =gUnknown_083CC288
- bl StringCopy
- b _080B1538
- .align 2, 0
-_080B14F8: .4byte gStringVar3
-_080B14FC: .4byte gUnknown_083CC288
-_080B1500:
- lsrs r0, r1, 29
- cmp r0, 0x2
- bne _080B1518
- ldr r0, _080B1510 @ =gStringVar3
- ldr r1, _080B1514 @ =gUnknown_083CC290
- bl StringCopy
- b _080B1538
- .align 2, 0
-_080B1510: .4byte gStringVar3
-_080B1514: .4byte gUnknown_083CC290
-_080B1518:
- lsrs r0, r1, 29
- cmp r0, 0x3
- bne _080B1530
- ldr r0, _080B1528 @ =gStringVar3
- ldr r1, _080B152C @ =gUnknown_083CC299
- bl StringCopy
- b _080B1538
- .align 2, 0
-_080B1528: .4byte gStringVar3
-_080B152C: .4byte gUnknown_083CC299
-_080B1530:
- ldr r0, _080B1568 @ =gStringVar3
- ldr r1, _080B156C @ =gUnknown_083CC2A3
- bl StringCopy
-_080B1538:
- ldr r4, _080B1570 @ =gStringVar4
- ldr r1, _080B1574 @ =gUnknown_083CC188
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- bl sub_80AF138
- ldr r0, _080B1578 @ =gMenuWindow
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1568: .4byte gStringVar3
-_080B156C: .4byte gUnknown_083CC2A3
-_080B1570: .4byte gStringVar4
-_080B1574: .4byte gUnknown_083CC188
-_080B1578: .4byte gMenuWindow
- thumb_func_end sub_80B146C
-
- thumb_func_start sub_80B157C
-sub_80B157C: @ 80B157C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080B1598 @ =0x02019260
- adds r1, r0
- ldrb r0, [r1, 0xC]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1, 0xC]
- movs r0, 0
- strh r0, [r1, 0x6]
- bx lr
- .align 2, 0
-_080B1598: .4byte 0x02019260
- thumb_func_end sub_80B157C
-
- thumb_func_start sub_80B159C
-sub_80B159C: @ 80B159C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- movs r0, 0
- mov r12, r0
- movs r4, 0
- ldr r1, _080B1600 @ =gUnknown_02038696
- mov r9, r1
- add r2, sp, 0x4
- mov r6, r9
- movs r5, 0
- adds r3, r2, 0
-_080B15B8:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r4, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, r4
- strb r5, [r0]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B15B8
- movs r4, 0
- ldr r7, _080B1604 @ =0x02019260
- adds r5, r2, 0
- movs r1, 0x1
- mov r8, r1
-_080B15D6:
- movs r2, 0
- adds r1, r7, 0
-_080B15DA:
- ldrb r0, [r1, 0x19]
- cmp r0, r4
- beq _080B1608
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B15DA
-_080B15E8:
- cmp r2, 0x4
- bne _080B1680
- movs r2, 0
- ldrb r0, [r5]
- cmp r0, 0
- bne _080B1616
- ldrb r0, [r7, 0x19]
- cmp r0, 0xFF
- bne _080B1616
- mov r12, r2
- movs r2, 0x1
- b _080B163A
- .align 2, 0
-_080B1600: .4byte gUnknown_02038696
-_080B1604: .4byte 0x02019260
-_080B1608:
- mov r1, sp
- adds r0, r1, r2
- strb r4, [r0]
- adds r0, r5, r2
- mov r1, r8
- strb r1, [r0]
- b _080B15E8
-_080B1616:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080B1672
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B1616
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0, 0x19]
- cmp r0, 0xFF
- bne _080B1616
- lsls r0, r2, 24
- lsrs r0, 24
- mov r12, r0
- adds r2, 0x1
-_080B163A:
- cmp r2, 0x3
- bgt _080B1672
- ldr r6, _080B16C8 @ =gUnknown_02038696
- lsls r0, r2, 3
- subs r0, r2
- lsls r3, r0, 2
-_080B1646:
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B166A
- adds r0, r3, r7
- ldrb r0, [r0, 0x19]
- cmp r0, 0xFF
- bne _080B166A
- mov r1, r12
- adds r0, r1, r6
- adds r1, r2, r6
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B166A
- lsls r0, r2, 24
- lsrs r0, 24
- mov r12, r0
-_080B166A:
- adds r3, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B1646
-_080B1672:
- mov r0, sp
- add r0, r12
- strb r4, [r0]
- mov r1, r12
- adds r0, r5, r1
- mov r1, r8
- strb r1, [r0]
-_080B1680:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B15D6
- movs r4, 0
- ldr r5, _080B16CC @ =0x020192d0
- adds r3, r5, 0
- subs r3, 0x60
- movs r6, 0xFF
- movs r7, 0x3F
-_080B1692:
- adds r1, r4, r5
- mov r0, sp
- adds r2, r0, r4
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r3, 0x9]
- orrs r0, r6
- strb r0, [r3, 0x9]
- ldrb r1, [r3]
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r3]
- mov r0, r9
- adds r1, r4, r0
- ldrb r0, [r2]
- strb r0, [r1]
- adds r3, 0x1C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B1692
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B16C8: .4byte gUnknown_02038696
-_080B16CC: .4byte 0x020192d0
- thumb_func_end sub_80B159C
-
- thumb_func_start sub_80B16D0
-sub_80B16D0: @ 80B16D0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0x1
- strh r1, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x54
- ble _080B1702
- movs r0, 0
- strh r0, [r2, 0x30]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldr r0, _080B1708 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- ldr r2, _080B170C @ =0x02019204
- ldrb r1, [r2, 0x6]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x6]
-_080B1702:
- pop {r0}
- bx r0
- .align 2, 0
-_080B1708: .4byte SpriteCallbackDummy
-_080B170C: .4byte 0x02019204
- thumb_func_end sub_80B16D0
-
- thumb_func_start sub_80B1710
-sub_80B1710: @ 80B1710
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080B172C @ =0x02019204
- ldrb r5, [r0, 0x12]
- cmp r1, 0x8
- bls _080B1720
- b _080B18C0
-_080B1720:
- lsls r0, r1, 2
- ldr r1, _080B1730 @ =_080B1734
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B172C: .4byte 0x02019204
-_080B1730: .4byte _080B1734
- .align 2, 0
-_080B1734:
- .4byte _080B1758
- .4byte _080B1758
- .4byte _080B1788
- .4byte _080B17BC
- .4byte _080B17F0
- .4byte _080B1824
- .4byte _080B1858
- .4byte _080B18C0
- .4byte _080B188C
-_080B1758:
- ldr r0, _080B177C @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2E]
- ldr r2, _080B1780 @ =0x000003ff
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B1784 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x20
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B177C: .4byte gSprites
-_080B1780: .4byte 0x000003ff
-_080B1784: .4byte 0xfffffc00
-_080B1788:
- ldr r0, _080B17B0 @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x4
- ldr r3, _080B17B4 @ =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B17B8 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x1F
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B17B0: .4byte gSprites
-_080B17B4: .4byte 0x000003ff
-_080B17B8: .4byte 0xfffffc00
-_080B17BC:
- ldr r0, _080B17E4 @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x8
- ldr r3, _080B17E8 @ =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B17EC @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x1F
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B17E4: .4byte gSprites
-_080B17E8: .4byte 0x000003ff
-_080B17EC: .4byte 0xfffffc00
-_080B17F0:
- ldr r0, _080B1818 @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0xC
- ldr r3, _080B181C @ =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B1820 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B1818: .4byte gSprites
-_080B181C: .4byte 0x000003ff
-_080B1820: .4byte 0xfffffc00
-_080B1824:
- ldr r0, _080B184C @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0xC
- ldr r3, _080B1850 @ =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B1854 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B184C: .4byte gSprites
-_080B1850: .4byte 0x000003ff
-_080B1854: .4byte 0xfffffc00
-_080B1858:
- ldr r0, _080B1880 @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x10
- ldr r3, _080B1884 @ =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B1888 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B1880: .4byte gSprites
-_080B1884: .4byte 0x000003ff
-_080B1888: .4byte 0xfffffc00
-_080B188C:
- ldr r0, _080B18B4 @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x18
- ldr r3, _080B18B8 @ =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B18BC @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0xC3
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B18B4: .4byte gSprites
-_080B18B8: .4byte 0x000003ff
-_080B18BC: .4byte 0xfffffc00
-_080B18C0:
- ldr r0, _080B1914 @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x14
- ldr r3, _080B1918 @ =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B191C @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
-_080B18E4:
- adds r2, r4, 0
- ldr r4, _080B1914 @ =gSprites
- adds r2, r5
- lsls r2, 2
- adds r1, r2, r4
- movs r0, 0
- strh r0, [r1, 0x30]
- adds r1, 0x3E
- ldrb r3, [r1]
- subs r0, 0x5
- ands r0, r3
- strb r0, [r1]
- adds r4, 0x1C
- adds r2, r4
- ldr r0, _080B1920 @ =sub_80B16D0
- str r0, [r2]
- ldr r2, _080B1924 @ =0x02019204
- ldrb r0, [r2, 0x6]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1914: .4byte gSprites
-_080B1918: .4byte 0x000003ff
-_080B191C: .4byte 0xfffffc00
-_080B1920: .4byte sub_80B16D0
-_080B1924: .4byte 0x02019204
- thumb_func_end sub_80B1710
-
- thumb_func_start sub_80B1928
-sub_80B1928: @ 80B1928
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r6, _080B19BC @ =0x02019204
- ldr r0, _080B19C0 @ =gSprites
- mov r10, r0
- movs r1, 0x58
- adds r1, r6
- mov r9, r1
- ldr r0, _080B19C4 @ =0x06010000
- mov r8, r0
- ldr r7, _080B19C8 @ =REG_BG0CNT
-_080B1946:
- movs r0, 0x13
- ldrsb r0, [r6, r0]
- ldr r4, _080B19CC @ =gContestApplauseMeterGfx
- cmp r5, r0
- bge _080B1952
- adds r4, 0x40
-_080B1952:
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r0, r5, 0
- adds r0, 0x11
- adds r1, r0
- lsls r1, 5
- add r1, r8
- adds r0, r4, 0
- adds r2, r7, 0
- bl CpuSet
- adds r0, r4, 0
- adds r0, 0x20
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r10
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r5, 0
- adds r2, 0x19
- adds r1, r2
- lsls r1, 5
- add r1, r8
- adds r2, r7, 0
- bl CpuSet
- movs r0, 0x13
- ldrsb r0, [r6, r0]
- cmp r0, 0x4
- ble _080B19A8
- bl sub_80B1A2C
-_080B19A8:
- adds r5, 0x1
- cmp r5, 0x4
- ble _080B1946
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B19BC: .4byte 0x02019204
-_080B19C0: .4byte gSprites
-_080B19C4: .4byte 0x06010000
-_080B19C8: .4byte REG_BG0CNT
-_080B19CC: .4byte gContestApplauseMeterGfx
- thumb_func_end sub_80B1928
-
- thumb_func_start unref_sub_80B19D0
-unref_sub_80B19D0: @ 80B19D0
- push {lr}
- sub sp, 0x18
- ldr r1, _080B19F4 @ =gUnknown_083CC2EC
- add r0, sp, 0x4
- bl StringCopy
- ldr r0, _080B19F8 @ =gUnknown_03004210
- movs r2, 0xAA
- lsls r2, 2
- movs r1, 0
- str r1, [sp]
- add r1, sp, 0x4
- movs r3, 0
- bl sub_8003460
- add sp, 0x18
- pop {r0}
- bx r0
- .align 2, 0
-_080B19F4: .4byte gUnknown_083CC2EC
-_080B19F8: .4byte gUnknown_03004210
- thumb_func_end unref_sub_80B19D0
-
- thumb_func_start contest_get_move_excitement
-contest_get_move_excitement: @ 80B19FC
- lsls r0, 16
- ldr r3, _080B1A20 @ =gContestExcitementTable
- ldr r1, _080B1A24 @ =gContestMoves
- lsrs r0, 13
- adds r0, r1
- ldrb r1, [r0, 0x1]
- lsls r1, 29
- lsrs r1, 29
- ldr r0, _080B1A28 @ =gUnknown_0203869C
- ldrh r2, [r0]
- lsls r0, r2, 2
- adds r0, r2
- adds r1, r0
- adds r1, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- bx lr
- .align 2, 0
-_080B1A20: .4byte gContestExcitementTable
-_080B1A24: .4byte gContestMoves
-_080B1A28: .4byte gUnknown_0203869C
- thumb_func_end contest_get_move_excitement
-
- thumb_func_start sub_80B1A2C
-sub_80B1A2C: @ 80B1A2C
- push {r4,r5,lr}
- ldr r0, _080B1A60 @ =c3_08130B10
- movs r1, 0xA
- bl CreateTask
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080B1A64 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r0, 0x1
- strh r0, [r4, 0xA]
- ldr r0, _080B1A68 @ =0x0000abe2
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080B1A60: .4byte c3_08130B10
-_080B1A64: .4byte gTasks
-_080B1A68: .4byte 0x0000abe2
- thumb_func_end sub_80B1A2C
-
- thumb_func_start c3_08130B10
-c3_08130B10: @ 80B1A6C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B1A9C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080B1B06
- movs r0, 0
- strh r0, [r2, 0x8]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080B1AA0
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- b _080B1AA4
- .align 2, 0
-_080B1A9C: .4byte gTasks
-_080B1AA0:
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
-_080B1AA4:
- strh r0, [r2, 0x10]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- lsls r0, 4
- movs r3, 0x84
- lsls r3, 1
- adds r6, r3, 0
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r4, 0x10]
- ldr r3, _080B1B0C @ =0x00007fff
- movs r1, 0x1
- bl BlendPalette
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B1AD6
- cmp r0, 0x10
- bne _080B1B06
-_080B1AD6:
- ldrh r0, [r4, 0xE]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0xE]
- ldr r0, _080B1B10 @ =0x02019204
- ldrb r0, [r0, 0x13]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bgt _080B1B06
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 4
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1F
- bl BlendPalette
- adds r0, r5, 0
- bl DestroyTask
-_080B1B06:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1B0C: .4byte 0x00007fff
-_080B1B10: .4byte 0x02019204
- thumb_func_end c3_08130B10
-
- thumb_func_start sub_80B1B14
-sub_80B1B14: @ 80B1B14
- push {r4,lr}
- ldr r0, _080B1B58 @ =sub_80B1B68
- movs r1, 0xA
- bl CreateTask
- ldr r4, _080B1B5C @ =gSprites
- ldr r3, _080B1B60 @ =0x02019204
- adds r2, r3, 0
- adds r2, 0x58
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080B1B64 @ =0x0000ffba
- strh r1, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r0, [r3, 0x6]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r3, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1B58: .4byte sub_80B1B68
-_080B1B5C: .4byte gSprites
-_080B1B60: .4byte 0x02019204
-_080B1B64: .4byte 0x0000ffba
- thumb_func_end sub_80B1B14
-
- thumb_func_start sub_80B1B68
-sub_80B1B68: @ 80B1B68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- ldr r4, _080B1BD0 @ =0x02019204
- adds r0, r4, 0
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B1BD4 @ =gSprites
- adds r2, r0, r1
- ldr r0, _080B1BD8 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r5, 0xD0
- lsls r5, 3
- adds r0, r5, 0
- ldrh r5, [r1, 0x1C]
- adds r0, r5
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 24
- ldrh r5, [r2, 0x24]
- adds r0, r5
- strh r0, [r2, 0x24]
- ldrb r0, [r1, 0x1C]
- strh r0, [r1, 0x1C]
- movs r1, 0x24
- ldrsh r0, [r2, r1]
- cmp r0, 0
- ble _080B1BB2
- movs r0, 0
- strh r0, [r2, 0x24]
-_080B1BB2:
- movs r5, 0x24
- ldrsh r0, [r2, r5]
- cmp r0, 0
- bne _080B1BCA
- ldrb r1, [r4, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x6]
- adds r0, r3, 0
- bl DestroyTask
-_080B1BCA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1BD0: .4byte 0x02019204
-_080B1BD4: .4byte gSprites
-_080B1BD8: .4byte gTasks
- thumb_func_end sub_80B1B68
-
- thumb_func_start sub_80B1BDC
-sub_80B1BDC: @ 80B1BDC
- push {r4-r6,lr}
- ldr r6, _080B1C04 @ =gSprites
- ldr r4, _080B1C08 @ =0x02019204
- adds r5, r4, 0
- adds r5, 0x58
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r0, [r1]
- lsls r0, 29
- cmp r0, 0
- bge _080B1C0C
- ldrb r1, [r4, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- b _080B1C28
- .align 2, 0
-_080B1C04: .4byte gSprites
-_080B1C08: .4byte 0x02019204
-_080B1C0C:
- ldr r0, _080B1C30 @ =sub_80B1C34
- movs r1, 0xA
- bl CreateTask
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- strh r1, [r0, 0x24]
- ldrb r0, [r4, 0x6]
- movs r1, 0x40
- orrs r0, r1
-_080B1C28:
- strb r0, [r4, 0x6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1C30: .4byte sub_80B1C34
- thumb_func_end sub_80B1BDC
-
- thumb_func_start sub_80B1C34
-sub_80B1C34: @ 80B1C34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r5, _080B1CAC @ =0x02019204
- adds r0, r5, 0
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B1CB0 @ =gSprites
- adds r3, r0, r1
- ldr r0, _080B1CB4 @ =gTasks
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 3
- adds r2, r0
- movs r1, 0xD0
- lsls r1, 3
- adds r0, r1, 0
- ldrh r1, [r2, 0x1C]
- adds r0, r1
- strh r0, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r3, 0x24]
- subs r1, r0
- strh r1, [r3, 0x24]
- ldrb r0, [r2, 0x1C]
- strh r0, [r2, 0x1C]
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- movs r1, 0x46
- negs r1, r1
- cmp r0, r1
- bge _080B1C82
- ldr r0, _080B1CB8 @ =0x0000ffba
- strh r0, [r3, 0x24]
-_080B1C82:
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- cmp r0, r1
- bne _080B1CA6
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r5, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x6]
- adds r0, r4, 0
- bl DestroyTask
-_080B1CA6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1CAC: .4byte 0x02019204
-_080B1CB0: .4byte gSprites
-_080B1CB4: .4byte gTasks
-_080B1CB8: .4byte 0x0000ffba
- thumb_func_end sub_80B1C34
-
- thumb_func_start sub_80B1CBC
-sub_80B1CBC: @ 80B1CBC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B1CF0 @ =sub_80B1CFC
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B1CF4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0x8]
- ldr r2, _080B1CF8 @ =0x02019204
- ldrb r0, [r2, 0x6]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1CF0: .4byte sub_80B1CFC
-_080B1CF4: .4byte gTasks
-_080B1CF8: .4byte 0x02019204
- thumb_func_end sub_80B1CBC
-
- thumb_func_start sub_80B1CFC
-sub_80B1CFC: @ 80B1CFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B1D20 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B1D30
- cmp r0, 0x1
- bgt _080B1D24
- cmp r0, 0
- beq _080B1D2A
- b _080B1D78
- .align 2, 0
-_080B1D20: .4byte gTasks
-_080B1D24:
- cmp r0, 0x2
- beq _080B1D50
- b _080B1D78
-_080B1D2A:
- bl sub_80B1B14
- b _080B1D44
-_080B1D30:
- ldr r0, _080B1D4C @ =0x02019204
- ldrb r1, [r0, 0x6]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080B1D78
- movs r0, 0x8
- ldrsb r0, [r4, r0]
- bl nullsub_18
-_080B1D44:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- b _080B1D78
- .align 2, 0
-_080B1D4C: .4byte 0x02019204
-_080B1D50:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B1D78
- movs r0, 0
- strh r0, [r4, 0x1E]
- bl sub_80B1928
- ldr r2, _080B1D80 @ =0x02019204
- ldrb r1, [r2, 0x6]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x6]
- adds r0, r5, 0
- bl DestroyTask
-_080B1D78:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1D80: .4byte 0x02019204
- thumb_func_end sub_80B1CFC
-
- thumb_func_start unref_sub_80B1D84
-unref_sub_80B1D84: @ 80B1D84
- ldr r3, _080B1DB0 @ =gSprites
- ldr r2, _080B1DB4 @ =0x02019204
- adds r2, 0x58
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080B1DB0: .4byte gSprites
-_080B1DB4: .4byte 0x02019204
- thumb_func_end unref_sub_80B1D84
-
- thumb_func_start unref_sub_80B1DB8
-unref_sub_80B1DB8: @ 80B1DB8
- ldr r2, _080B1DD4 @ =gSprites
- ldr r0, _080B1DD8 @ =0x02019204
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080B1DD4: .4byte gSprites
-_080B1DD8: .4byte 0x02019204
- thumb_func_end unref_sub_80B1DB8
-
- thumb_func_start sub_80B1DDC
-sub_80B1DDC: @ 80B1DDC
- push {lr}
- ldr r0, _080B1DF4 @ =sub_80B1DFC
- movs r1, 0xF
- bl CreateTask
- ldr r2, _080B1DF8 @ =0x02019204
- ldrb r0, [r2, 0x6]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r0}
- bx r0
- .align 2, 0
-_080B1DF4: .4byte sub_80B1DFC
-_080B1DF8: .4byte 0x02019204
- thumb_func_end sub_80B1DDC
-
- thumb_func_start sub_80B1DFC
-sub_80B1DFC: @ 80B1DFC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080B1E3C @ =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- adds r6, r2, 0
- cmp r0, 0x6
- ble _080B1E8E
- movs r0, 0
- strh r0, [r3, 0x1C]
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080B1E50
- ldr r1, _080B1E40 @ =0x02016800
- ldr r2, _080B1E44 @ =0x06002000
- ldr r0, _080B1E48 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080B1E4C @ =0x84000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080B1E66
- .align 2, 0
-_080B1E3C: .4byte gTasks
-_080B1E40: .4byte 0x02016800
-_080B1E44: .4byte 0x06002000
-_080B1E48: .4byte 0x040000d4
-_080B1E4C: .4byte 0x84000400
-_080B1E50:
- ldr r1, _080B1E94 @ =0x02015800
- ldr r2, _080B1E98 @ =0x06002000
- ldr r0, _080B1E9C @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080B1EA0 @ =0x84000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
-_080B1E66:
- adds r0, r4, 0
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- ldrh r1, [r0, 0x1E]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0, 0x1E]
- movs r1, 0x20
- ldrsh r0, [r0, r1]
- cmp r0, 0x9
- bne _080B1E8E
- ldr r2, _080B1EA4 @ =0x02019204
- ldrb r1, [r2, 0x6]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x6]
- adds r0, r5, 0
- bl DestroyTask
-_080B1E8E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1E94: .4byte 0x02015800
-_080B1E98: .4byte 0x06002000
-_080B1E9C: .4byte 0x040000d4
-_080B1EA0: .4byte 0x84000400
-_080B1EA4: .4byte 0x02019204
- thumb_func_end sub_80B1DFC
-
- thumb_func_start sub_80B1EA8
-sub_80B1EA8: @ 80B1EA8
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _080B1EE4 @ =sub_80B1F4C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, 24
- cmp r4, 0
- ble _080B1F08
- ldr r7, _080B1EE8 @ =0x0000237e
- lsls r0, r5, 24
- adds r4, r0, 0
- cmp r4, 0
- ble _080B1EF0
- movs r5, 0
- ldr r2, _080B1EEC @ =0x02019204
- movs r1, 0x13
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080B1F1E
- .align 2, 0
-_080B1EE4: .4byte sub_80B1F4C
-_080B1EE8: .4byte 0x0000237e
-_080B1EEC: .4byte 0x02019204
-_080B1EF0:
- ldr r2, _080B1F04 @ =0x02019204
- movs r1, 0x13
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- b _080B1F1E
- .align 2, 0
-_080B1F04: .4byte 0x02019204
-_080B1F08:
- movs r7, 0
- lsls r0, r5, 24
- adds r4, r0, 0
- cmp r4, 0
- ble _080B1F18
- movs r5, 0
- movs r3, 0xC
- b _080B1F1C
-_080B1F18:
- movs r5, 0xC
- movs r3, 0
-_080B1F1C:
- ldr r2, _080B1F44 @ =0x02019204
-_080B1F1E:
- ldr r1, _080B1F48 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r7, [r0, 0x8]
- strh r5, [r0, 0xA]
- asrs r1, r4, 24
- strh r1, [r0, 0xC]
- strh r3, [r0, 0xE]
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1F44: .4byte 0x02019204
-_080B1F48: .4byte gTasks
- thumb_func_end sub_80B1EA8
-
- thumb_func_start sub_80B1F4C
-sub_80B1F4C: @ 80B1F4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080B1F7C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- cmp r0, 0
- blt _080B1FC4
- movs r0, 0
- strh r0, [r3, 0x1C]
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0
- ble _080B1F80
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- b _080B1F84
- .align 2, 0
-_080B1F7C: .4byte gTasks
-_080B1F80:
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
-_080B1F84:
- strh r0, [r3, 0xA]
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r2
- ldrb r2, [r4, 0xA]
- ldrh r3, [r4, 0x8]
- movs r0, 0x11
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldrh r3, [r4, 0x8]
- movs r0, 0x1A
- movs r1, 0x1
- bl BlendPalette
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080B1FC4
- adds r0, r5, 0
- bl DestroyTask
- ldr r2, _080B1FCC @ =0x02019204
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
-_080B1FC4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1FCC: .4byte 0x02019204
- thumb_func_end sub_80B1F4C
-
- thumb_func_start sub_80B1FD0
-sub_80B1FD0: @ 80B1FD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, _080B204C @ =0x02019260
- ldr r6, _080B2050 @ =gSprites
- adds r4, r0, 0
- adds r4, 0xD8
- adds r7, r0, 0
-_080B1FE8:
- ldrb r1, [r7, 0x10]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _080B2064
- mov r0, r8
- cmp r0, 0
- beq _080B2064
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80B208C
- ldrb r2, [r4, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, _080B2054 @ =0x060100a0
- adds r1, r2
- ldr r2, _080B2058 @ =REG_BG0HOFS
- bl CpuSet
- ldrb r0, [r4, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldr r2, _080B205C @ =gUnknown_083CA33C
- ldr r0, _080B2060 @ =gUnknown_02038696
- adds r0, r5, r0
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1, 0x22]
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x5
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- b _080B2076
- .align 2, 0
-_080B204C: .4byte 0x02019260
-_080B2050: .4byte gSprites
-_080B2054: .4byte 0x060100a0
-_080B2058: .4byte REG_BG0HOFS
-_080B205C: .4byte gUnknown_083CA33C
-_080B2060: .4byte gUnknown_02038696
-_080B2064:
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_080B2076:
- strb r1, [r0]
- adds r4, 0x4
- adds r7, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B1FE8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B1FD0
-
- thumb_func_start sub_80B208C
-sub_80B208C: @ 80B208C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080B20B0 @ =0x02019260
- adds r2, r1, r0
- ldrb r1, [r2, 0x10]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- bne _080B20B8
- ldrb r0, [r2, 0x19]
- lsls r0, 6
- ldr r1, _080B20B4 @ =gContestNextTurnNumbersGfx
- adds r0, r1
- b _080B20BA
- .align 2, 0
-_080B20B0: .4byte 0x02019260
-_080B20B4: .4byte gContestNextTurnNumbersGfx
-_080B20B8:
- ldr r0, _080B20C0 @ =gContestNextTurnRandomGfx
-_080B20BA:
- pop {r1}
- bx r1
- .align 2, 0
-_080B20C0: .4byte gContestNextTurnRandomGfx
- thumb_func_end sub_80B208C
-
- thumb_func_start unref_sub_80B20C4
-unref_sub_80B20C4: @ 80B20C4
- push {r4-r7,lr}
- movs r6, 0
- ldr r7, _080B2134 @ =0x020192dd
-_080B20CA:
- adds r0, r6, r7
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B2126
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080B2126
- ldr r0, _080B2138 @ =gUnknown_02038696
- adds r0, r6, r0
- ldrb r0, [r0]
- lsls r4, r0, 2
- adds r4, r0
- adds r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80AEFE8
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 6
- ldr r2, _080B213C @ =0x0600c028
- adds r1, r4, r2
- strh r0, [r1]
- ldr r1, _080B2140 @ =0x0600c02a
- adds r2, r4, r1
- adds r1, r0, 0x1
- strh r1, [r2]
- ldr r1, _080B2144 @ =0x0600c068
- adds r2, r4, r1
- adds r1, r0, 0
- adds r1, 0x10
- strh r1, [r2]
- ldr r2, _080B2148 @ =0x0600c06a
- adds r4, r2
- adds r0, 0x11
- strh r0, [r4]
- movs r0, 0x63
- bl PlaySE
-_080B2126:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080B20CA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2134: .4byte 0x020192dd
-_080B2138: .4byte gUnknown_02038696
-_080B213C: .4byte 0x0600c028
-_080B2140: .4byte 0x0600c02a
-_080B2144: .4byte 0x0600c068
-_080B2148: .4byte 0x0600c06a
- thumb_func_end unref_sub_80B20C4
-
- thumb_func_start sub_80B214C
-sub_80B214C: @ 80B214C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080B2178 @ =0x02019260
- adds r2, r1, r0
- ldrb r1, [r2, 0x15]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080B2172
- ldrb r1, [r2, 0xC]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080B217C
-_080B2172:
- movs r0, 0
- b _080B217E
- .align 2, 0
-_080B2178: .4byte 0x02019260
-_080B217C:
- movs r0, 0x1
-_080B217E:
- pop {r1}
- bx r1
- thumb_func_end sub_80B214C
-
- thumb_func_start sub_80B2184
-sub_80B2184: @ 80B2184
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r4, _080B2250 @ =REG_BG1CNT
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080B2254 @ =gUnknown_030042C0
- movs r2, 0xF0
- strh r2, [r0]
- ldr r0, _080B2258 @ =gUnknown_030041B4
- movs r1, 0xA0
- strh r1, [r0]
- ldr r0, _080B225C @ =REG_BG1HOFS
- strh r2, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080B2260 @ =0x0600f000
- movs r0, 0
- str r0, [sp]
- ldr r0, _080B2264 @ =0x040000d4
- mov r2, sp
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r2, _080B2268 @ =0x85000400
- str r2, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _080B226C @ =gUnknown_08D17C3C
- bl LZDecompressVram
- ldrb r1, [r4]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- strb r0, [r4]
- movs r4, 0
- ldr r6, _080B2270 @ =gSprites
- adds r7, r2, 0
- movs r5, 0x4
- ldr r3, _080B2274 @ =0x02019338
-_080B21EE:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- ldrb r0, [r3, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B21EE
- ldr r3, _080B2278 @ =REG_BG2CNT
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- movs r4, 0x1
- orrs r0, r4
- strb r0, [r3]
- ldr r2, _080B227C @ =REG_BG0CNT
- ldrb r0, [r2]
- ands r1, r0
- orrs r1, r4
- strb r1, [r2]
- adds r2, 0x2
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x1]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2250: .4byte REG_BG1CNT
-_080B2254: .4byte gUnknown_030042C0
-_080B2258: .4byte gUnknown_030041B4
-_080B225C: .4byte REG_BG1HOFS
-_080B2260: .4byte 0x0600f000
-_080B2264: .4byte 0x040000d4
-_080B2268: .4byte 0x85000400
-_080B226C: .4byte gUnknown_08D17C3C
-_080B2270: .4byte gSprites
-_080B2274: .4byte 0x02019338
-_080B2278: .4byte REG_BG2CNT
-_080B227C: .4byte REG_BG0CNT
- thumb_func_end sub_80B2184
-
- thumb_func_start sub_80B2280
-sub_80B2280: @ 80B2280
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r2, _080B2358 @ =0x06008000
- movs r3, 0x80
- lsls r3, 6
- ldr r0, _080B235C @ =gUnknown_030042C0
- mov r12, r0
- ldr r0, _080B2360 @ =gUnknown_030041B4
- mov r8, r0
- movs r5, 0
- ldr r1, _080B2364 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _080B2368 @ =0x85000400
- movs r7, 0x85
- lsls r7, 24
-_080B22A4:
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080B22A4
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _080B236C @ =0x0600f000
- movs r2, 0
- str r2, [sp]
- ldr r0, _080B2364 @ =0x040000d4
- mov r3, sp
- str r3, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080B2368 @ =0x85000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- mov r0, r12
- strh r2, [r0]
- mov r3, r8
- strh r2, [r3]
- ldr r2, _080B2370 @ =REG_BG1CNT
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x1]
- ldrb r1, [r2, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- ldrb r1, [r2]
- movs r3, 0xD
- negs r3, r3
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2]
- movs r4, 0
- ldr r5, _080B2374 @ =gSprites
- adds r6, r3, 0
- ldr r3, _080B2378 @ =0x02019338
-_080B231E:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldrb r0, [r3, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1, 0x5]
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B231E
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2358: .4byte 0x06008000
-_080B235C: .4byte gUnknown_030042C0
-_080B2360: .4byte gUnknown_030041B4
-_080B2364: .4byte 0x040000d4
-_080B2368: .4byte 0x85000400
-_080B236C: .4byte 0x0600f000
-_080B2370: .4byte REG_BG1CNT
-_080B2374: .4byte gSprites
-_080B2378: .4byte 0x02019338
- thumb_func_end sub_80B2280
-
- thumb_func_start sub_80B237C
-sub_80B237C: @ 80B237C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080B23AC @ =gUnknown_030042C0
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080B23B0 @ =gUnknown_030041B4
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0x62
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r1, _080B23B4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B23B8 @ =sub_80B23BC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B23AC: .4byte gUnknown_030042C0
-_080B23B0: .4byte gUnknown_030041B4
-_080B23B4: .4byte gTasks
-_080B23B8: .4byte sub_80B23BC
- thumb_func_end sub_80B237C
-
- thumb_func_start sub_80B23BC
-sub_80B23BC: @ 80B23BC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _080B23F4 @ =gUnknown_030041B4
- ldrh r0, [r1]
- subs r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bge _080B23D4
- movs r0, 0
- strh r0, [r1]
-_080B23D4:
- ldrh r2, [r1]
- cmp r2, 0
- bne _080B23EE
- ldr r0, _080B23F8 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x8]
- strh r2, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldr r0, _080B23FC @ =sub_80B2400
- str r0, [r1]
-_080B23EE:
- pop {r0}
- bx r0
- .align 2, 0
-_080B23F4: .4byte gUnknown_030041B4
-_080B23F8: .4byte gTasks
-_080B23FC: .4byte sub_80B2400
- thumb_func_end sub_80B23BC
-
- thumb_func_start sub_80B2400
-sub_80B2400: @ 80B2400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080B2424 @ =gTasks
- lsls r3, r4, 2
- adds r0, r3, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0x1
- beq _080B247C
- cmp r1, 0x1
- bgt _080B2428
- cmp r1, 0
- beq _080B2432
- b _080B24FC
- .align 2, 0
-_080B2424: .4byte gTasks
-_080B2428:
- cmp r1, 0x2
- beq _080B24D6
- cmp r1, 0x3
- beq _080B24EC
- b _080B24FC
-_080B2432:
- movs r2, 0
- adds r6, r3, 0
- ldr r5, _080B2470 @ =0x02019218
- ldr r3, _080B2474 @ =gUnknown_02038696
-_080B243A:
- adds r0, r2, r5
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B243A
- bl sub_80AFA5C
- bl sub_80B0588
- bl sub_80AEF50
- bl sub_80B1118
- movs r0, 0x1
- bl sub_80B1FD0
- bl sub_80AFFA0
- ldr r0, _080B2478 @ =gTasks
- adds r1, r6, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x8]
- b _080B24FC
- .align 2, 0
-_080B2470: .4byte 0x02019218
-_080B2474: .4byte gUnknown_02038696
-_080B2478: .4byte gTasks
-_080B247C:
- ldr r0, _080B24C0 @ =gUnknown_0203869A
- ldrb r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080B24D0
- ldr r2, _080B24C4 @ =0x02019204
- ldrb r0, [r2, 0x7]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x7]
- bl sub_80AE074
- lsls r0, 24
- cmp r0, 0
- beq _080B249E
- bl sub_80AF438
-_080B249E:
- ldr r4, _080B24C8 @ =sub_80C8C80
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B24CC @ =sub_80AD8DC
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- bl sub_80AF860
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080B24FC
- .align 2, 0
-_080B24C0: .4byte gUnknown_0203869A
-_080B24C4: .4byte 0x02019204
-_080B24C8: .4byte sub_80C8C80
-_080B24CC: .4byte sub_80AD8DC
-_080B24D0:
- bl sub_80AF438
- b _080B24E2
-_080B24D6:
- ldr r0, _080B24E8 @ =0x02019204
- ldrb r1, [r0, 0x7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080B24FC
-_080B24E2:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080B24FC
- .align 2, 0
-_080B24E8: .4byte 0x02019204
-_080B24EC:
- bl sub_80AF120
- bl sub_80AEB30
- movs r0, 0
- strh r0, [r5, 0x8]
- ldr r0, _080B2504 @ =sub_80B253C
- str r0, [r5]
-_080B24FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2504: .4byte sub_80B253C
- thumb_func_end sub_80B2400
-
- thumb_func_start sub_80B2508
-sub_80B2508: @ 80B2508
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080B2530 @ =gUnknown_030041B4
- ldrh r0, [r1]
- adds r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA0
- ble _080B252C
- ldr r0, _080B2534 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080B2538 @ =sub_80ADCDC
- str r0, [r1]
-_080B252C:
- pop {r0}
- bx r0
- .align 2, 0
-_080B2530: .4byte gUnknown_030041B4
-_080B2534: .4byte gTasks
-_080B2538: .4byte sub_80ADCDC
- thumb_func_end sub_80B2508
-
- thumb_func_start sub_80B253C
-sub_80B253C: @ 80B253C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B255C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x9
- bgt _080B2560
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080B259C
- .align 2, 0
-_080B255C: .4byte gTasks
-_080B2560:
- ldrh r3, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _080B257E
- ldrh r2, [r1, 0x8]
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, 0x10
- bne _080B257A
- adds r0, r3, 0x1
- strh r0, [r1, 0xA]
- b _080B259C
-_080B257A:
- adds r0, r2, 0x1
- b _080B259A
-_080B257E:
- ldrh r0, [r1, 0x8]
- movs r3, 0x8
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _080B2598
- strh r2, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldr r0, _080B2594 @ =sub_80B25A4
- str r0, [r1]
- b _080B259C
- .align 2, 0
-_080B2594: .4byte sub_80B25A4
-_080B2598:
- subs r0, 0x1
-_080B259A:
- strh r0, [r1, 0x8]
-_080B259C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B253C
-
- thumb_func_start sub_80B25A4
-sub_80B25A4: @ 80B25A4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B25C4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x9
- bgt _080B25C8
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- b _080B25D8
- .align 2, 0
-_080B25C4: .4byte gTasks
-_080B25C8:
- movs r0, 0
- strh r0, [r4, 0xC]
- movs r0, 0x61
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r0, _080B25E0 @ =sub_80B2508
- str r0, [r4]
-_080B25D8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B25E0: .4byte sub_80B2508
- thumb_func_end sub_80B25A4
-
- thumb_func_start sub_80B25E4
-sub_80B25E4: @ 80B25E4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r6, 0
- ldr r5, _080B26B4 @ =gSprites
-_080B25F6:
- bl AllocOamMatrix
- lsls r1, r6, 2
- ldr r2, _080B26B8 @ =0x02019338
- mov r8, r2
- adds r4, r1, r2
- ldrb r1, [r4]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1F
- ands r0, r1
- lsls r0, 1
- ldrb r1, [r3, 0x3]
- movs r7, 0x3F
- negs r7, r7
- adds r2, r7, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x3]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r2, [r0, 0x1]
- movs r3, 0x4
- negs r3, r3
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strb r2, [r0, 0x1]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r9
- bl StartSpriteAffineAnim
- mov r7, r9
- cmp r7, 0x2
- bne _080B267A
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl AnimateSprite
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x5
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- strb r1, [r0]
-_080B267A:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080B25F6
- ldr r0, _080B26BC @ =sub_80B26C8
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B26C0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r7, r9
- strh r7, [r1, 0x8]
- ldr r2, _080B26C4 @ =0xfffffecc
- add r2, r8
- ldrb r0, [r2, 0x7]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x7]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B26B4: .4byte gSprites
-_080B26B8: .4byte 0x02019338
-_080B26BC: .4byte sub_80B26C8
-_080B26C0: .4byte gTasks
-_080B26C4: .4byte 0xfffffecc
- thumb_func_end sub_80B25E4
-
- thumb_func_start sub_80B26C8
-sub_80B26C8: @ 80B26C8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _080B2750 @ =gSprites
- ldr r4, _080B2754 @ =0x02019338
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080B274A
- ldr r0, _080B2758 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- bne _080B2718
- adds r5, r2, 0
- movs r3, 0x4
- adds r2, r4, 0
- movs r4, 0x3
-_080B26FE:
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- adds r2, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _080B26FE
-_080B2718:
- movs r4, 0
-_080B271A:
- lsls r0, r4, 2
- ldr r5, _080B2754 @ =0x02019338
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B2750 @ =gSprites
- adds r0, r1
- bl FreeSpriteOamMatrix
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B271A
- ldr r0, _080B275C @ =0xfffffecc
- adds r2, r5, r0
- ldrb r1, [r2, 0x7]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
- adds r0, r6, 0
- bl DestroyTask
-_080B274A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2750: .4byte gSprites
-_080B2754: .4byte 0x02019338
-_080B2758: .4byte gTasks
-_080B275C: .4byte 0xfffffecc
- thumb_func_end sub_80B26C8
-
- thumb_func_start sub_80B2760
-sub_80B2760: @ 80B2760
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _080B2770
- movs r1, 0x1
-_080B2770:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80B2760
-
- thumb_func_start sub_80B2778
-sub_80B2778: @ 80B2778
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080B278C @ =0x0000019b
- cmp r1, r0
- bls _080B2786
- movs r1, 0
-_080B2786:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B278C: .4byte 0x0000019b
- thumb_func_end sub_80B2778
-
- thumb_func_start sub_80B2790
-sub_80B2790: @ 80B2790
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- ldr r4, _080B27F0 @ =0x02019260
- adds r0, r4
- ldrh r0, [r0, 0x6]
- bl sub_80B2760
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080B27F4 @ =gUnknown_02038570
- lsls r0, r6, 6
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80B2778
- lsls r0, 16
- lsrs r7, r0, 16
- adds r4, 0xE8
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- bl sub_8075624
- ldr r1, _080B27F8 @ =gUnknown_02024E84
- movs r2, 0
- adds r0, r1, 0x3
-_080B27D0:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080B27D0
- cmp r5, 0x90
- beq _080B2848
- cmp r5, 0x90
- bgt _080B2806
- cmp r5, 0x4C
- beq _080B2898
- cmp r5, 0x4C
- bgt _080B27FC
- cmp r5, 0xD
- beq _080B2898
- b _080B28BE
- .align 2, 0
-_080B27F0: .4byte 0x02019260
-_080B27F4: .4byte gUnknown_02038570
-_080B27F8: .4byte gUnknown_02024E84
-_080B27FC:
- cmp r5, 0x82
- beq _080B2898
- cmp r5, 0x8F
- beq _080B2898
- b _080B28BE
-_080B2806:
- cmp r5, 0xD8
- beq _080B2880
- cmp r5, 0xD8
- bgt _080B2814
- cmp r5, 0xAE
- beq _080B2822
- b _080B28BE
-_080B2814:
- cmp r5, 0xDA
- beq _080B288C
- movs r0, 0x88
- lsls r0, 1
- cmp r5, r0
- beq _080B2848
- b _080B28BE
-_080B2822:
- ldr r0, _080B2840 @ =gBaseStats
- lsls r1, r7, 3
- subs r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, 0x7
- beq _080B2838
- ldrb r0, [r1, 0x7]
- cmp r0, 0x7
- bne _080B28B8
-_080B2838:
- ldr r1, _080B2844 @ =gUnknown_0202F7C4
- movs r0, 0
- b _080B28BC
- .align 2, 0
-_080B2840: .4byte gBaseStats
-_080B2844: .4byte gUnknown_0202F7C4
-_080B2848:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- ldr r4, _080B2878 @ =0x02019260
- adds r0, r4
- ldrb r5, [r0, 0x1B]
- ldr r6, _080B287C @ =gUnknown_02038570
- lsls r5, 6
- adds r0, r5, r6
- ldrh r0, [r0]
- bl sub_80B2778
- adds r4, 0xE8
- strh r0, [r4, 0x2]
- adds r6, 0x38
- adds r5, r6
- ldr r0, [r5]
- str r0, [r4, 0x10]
- ldrb r0, [r4, 0x4]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x4]
- b _080B28BE
- .align 2, 0
-_080B2878: .4byte 0x02019260
-_080B287C: .4byte gUnknown_02038570
-_080B2880:
- ldr r1, _080B2888 @ =gUnknown_0202F7BE
- movs r0, 0xFF
- b _080B28BC
- .align 2, 0
-_080B2888: .4byte gUnknown_0202F7BE
-_080B288C:
- ldr r1, _080B2894 @ =gUnknown_0202F7BE
- movs r0, 0
- b _080B28BC
- .align 2, 0
-_080B2894: .4byte gUnknown_0202F7BE
-_080B2898:
- ldr r0, _080B28B0 @ =0x02019204
- adds r2, r0, 0
- adds r2, 0x5A
- ldrb r1, [r2]
- cmp r1, 0
- bne _080B28B8
- movs r0, 0x2
- strb r0, [r2]
- ldr r0, _080B28B4 @ =gUnknown_0202F7C4
- strb r1, [r0]
- b _080B28BE
- .align 2, 0
-_080B28B0: .4byte 0x02019204
-_080B28B4: .4byte gUnknown_0202F7C4
-_080B28B8:
- ldr r1, _080B28C8 @ =gUnknown_0202F7C4
- movs r0, 0x1
-_080B28BC:
- strb r0, [r1]
-_080B28BE:
- bl sub_80B2968
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B28C8: .4byte gUnknown_0202F7C4
- thumb_func_end sub_80B2790
-
- thumb_func_start unref_sub_80B28CC
-unref_sub_80B28CC: @ 80B28CC
- push {r4,lr}
- ldr r4, _080B28EC @ =0x02019348
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- subs r4, 0xEA
- ldrb r0, [r4]
- cmp r0, 0
- beq _080B28E6
- subs r0, 0x1
- strb r0, [r4]
-_080B28E6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B28EC: .4byte 0x02019348
- thumb_func_end unref_sub_80B28CC
-
- thumb_func_start sub_80B28F0
-sub_80B28F0: @ 80B28F0
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _080B2924 @ =0x02019348
- strb r4, [r6, 0x5]
- ldr r5, _080B2928 @ =gUnknown_02038570
- lsls r4, 6
- adds r0, r4, r5
- ldrh r0, [r0]
- bl sub_80B2778
- strh r0, [r6]
- adds r0, r5, 0
- adds r0, 0x38
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r6, 0x8]
- adds r5, 0x3C
- adds r4, r5
- ldr r0, [r4]
- str r0, [r6, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2924: .4byte 0x02019348
-_080B2928: .4byte gUnknown_02038570
- thumb_func_end sub_80B28F0
-
- thumb_func_start sub_80B292C
-sub_80B292C: @ 80B292C
- push {lr}
- ldr r0, _080B2958 @ =SpriteCallbackDummy
- bl object_new_hidden_with_callback
- ldr r1, _080B295C @ =gUnknown_02024BE0
- strb r0, [r1, 0x3]
- ldr r0, _080B2960 @ =gUnknown_02024C08
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B2964 @ =gSprites
- adds r0, r1
- bl InitSpriteAffineAnim
- bl sub_80B2968
- pop {r0}
- bx r0
- .align 2, 0
-_080B2958: .4byte SpriteCallbackDummy
-_080B295C: .4byte gUnknown_02024BE0
-_080B2960: .4byte gUnknown_02024C08
-_080B2964: .4byte gSprites
- thumb_func_end sub_80B292C
-
- thumb_func_start sub_80B2968
-sub_80B2968: @ 80B2968
- push {r4,lr}
- ldr r0, _080B29AC @ =gUnknown_02024BE0
- ldrb r0, [r0, 0x3]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _080B29B0 @ =gSprites
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0x3
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- movs r0, 0x3
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B29AC: .4byte gUnknown_02024BE0
-_080B29B0: .4byte gSprites
- thumb_func_end sub_80B2968
-
- thumb_func_start sub_80B29B4
-sub_80B29B4: @ 80B29B4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080B29D4 @ =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x6]
- cmp r0, 0x20
- bhi _080B2A6C
- lsls r0, 2
- ldr r1, _080B29D8 @ =_080B29DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B29D4: .4byte gBattleMoves
-_080B29D8: .4byte _080B29DC
- .align 2, 0
-_080B29DC:
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A60
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A60
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
-_080B2A60:
- ldr r1, _080B2A68 @ =gUnknown_02024C08
- movs r0, 0x2
- b _080B2A70
- .align 2, 0
-_080B2A68: .4byte gUnknown_02024C08
-_080B2A6C:
- ldr r1, _080B2A78 @ =gUnknown_02024C08
- movs r0, 0x3
-_080B2A70:
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080B2A78: .4byte gUnknown_02024C08
- thumb_func_end sub_80B29B4
-
- thumb_func_start sub_80B2A7C
-sub_80B2A7C: @ 80B2A7C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r1, _080B2AC8 @ =gUnknown_02038690
- ldrb r0, [r1]
- cmp r0, 0
- beq _080B2AB6
-_080B2AA8:
- adds r6, 0x1
- cmp r6, 0x2
- bgt _080B2AB6
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B2AA8
-_080B2AB6:
- mov r0, r9
- cmp r0, 0xFF
- bne _080B2AD0
- ldr r0, _080B2ACC @ =gUnknown_02038695
- ldrb r0, [r0]
- cmp r6, r0
- beq _080B2AD0
- movs r0, 0
- b _080B2C38
- .align 2, 0
-_080B2AC8: .4byte gUnknown_02038690
-_080B2ACC: .4byte gUnknown_02038695
-_080B2AD0:
- ldr r0, _080B2AE4 @ =gUnknown_0203869C
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080B2B16
- lsls r0, 2
- ldr r1, _080B2AE8 @ =_080B2AEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B2AE4: .4byte gUnknown_0203869C
-_080B2AE8: .4byte _080B2AEC
- .align 2, 0
-_080B2AEC:
- .4byte _080B2B16
- .4byte _080B2B00
- .4byte _080B2B04
- .4byte _080B2B08
- .4byte _080B2B0E
-_080B2B00:
- adds r0, r7, 0x3
- b _080B2B12
-_080B2B04:
- adds r0, r7, 0x6
- b _080B2B12
-_080B2B08:
- adds r0, r7, 0
- adds r0, 0x9
- b _080B2B12
-_080B2B0E:
- adds r0, r7, 0
- adds r0, 0xC
-_080B2B12:
- lsls r0, 24
- lsrs r7, r0, 24
-_080B2B16:
- mov r1, r9
- cmp r1, 0xFE
- beq _080B2BC4
- mov r0, r9
- movs r1, 0x1
- bl sub_80B2C4C
- adds r4, r0, 0
- lsls r4, 24
- ldr r2, _080B2B98 @ =gSaveBlock1
- lsrs r4, 19
- ldr r0, _080B2B9C @ =0x00002dfc
- adds r1, r2, r0
- adds r1, r4, r1
- ldr r5, _080B2BA0 @ =gUnknown_02038570
- lsls r6, 6
- adds r0, r5, 0
- adds r0, 0x38
- adds r0, r6, r0
- ldr r0, [r0]
- str r0, [r1]
- adds r1, r4, r2
- mov r8, r1
- adds r0, r6, r5
- ldrh r1, [r0]
- ldr r0, _080B2BA4 @ =0x00002e04
- add r0, r8
- strh r1, [r0]
- movs r0, 0xB8
- lsls r0, 6
- adds r1, r2, r0
- adds r1, r4, r1
- adds r0, r5, 0
- adds r0, 0x3C
- adds r0, r6, r0
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, _080B2BA8 @ =0x00002e07
- adds r0, r2, r1
- adds r0, r4, r0
- adds r1, r5, 0x2
- adds r1, r6, r1
- str r2, [sp]
- bl StringCopy
- ldr r2, [sp]
- ldr r0, _080B2BAC @ =0x00002e12
- adds r2, r0
- adds r4, r2
- adds r5, 0xD
- adds r6, r5
- adds r0, r4, 0
- adds r1, r6, 0
- bl StringCopy
- mov r1, r9
- cmp r1, 0xFF
- beq _080B2BB8
- ldr r0, _080B2BB0 @ =gUnknown_0203869C
- ldrh r1, [r0]
- ldr r0, _080B2BB4 @ =0x00002e06
- add r0, r8
- strb r1, [r0]
- b _080B2C36
- .align 2, 0
-_080B2B98: .4byte gSaveBlock1
-_080B2B9C: .4byte 0x00002dfc
-_080B2BA0: .4byte gUnknown_02038570
-_080B2BA4: .4byte 0x00002e04
-_080B2BA8: .4byte 0x00002e07
-_080B2BAC: .4byte 0x00002e12
-_080B2BB0: .4byte gUnknown_0203869C
-_080B2BB4: .4byte 0x00002e06
-_080B2BB8:
- ldr r0, _080B2BC0 @ =0x00002e06
- add r0, r8
- strb r7, [r0]
- b _080B2C36
- .align 2, 0
-_080B2BC0: .4byte 0x00002e06
-_080B2BC4:
- ldr r5, _080B2C14 @ =0x02015de0
- ldr r2, _080B2C18 @ =gUnknown_02038570
- lsls r4, r6, 6
- adds r0, r2, 0
- adds r0, 0x38
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r5]
- adds r0, r2, 0
- adds r0, 0x3C
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r5, 0x4]
- adds r0, r4, r2
- ldrh r0, [r0]
- strh r0, [r5, 0x8]
- adds r0, r5, 0
- adds r0, 0xB
- adds r1, r2, 0x2
- adds r1, r4, r1
- str r2, [sp]
- bl StringCopy
- ldr r0, _080B2C1C @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- ldr r2, [sp]
- cmp r0, 0
- beq _080B2C24
- adds r0, r5, 0
- adds r0, 0x16
- lsls r1, r6, 3
- subs r1, r6
- lsls r1, 2
- ldr r2, _080B2C20 @ =gLinkPlayers + 0x8
- adds r1, r2
- bl StringCopy
- b _080B2C32
- .align 2, 0
-_080B2C14: .4byte 0x02015de0
-_080B2C18: .4byte gUnknown_02038570
-_080B2C1C: .4byte gUnknown_0203869A
-_080B2C20: .4byte gLinkPlayers + 0x8
-_080B2C24:
- adds r0, r5, 0
- adds r0, 0x16
- adds r1, r2, 0
- adds r1, 0xD
- adds r1, r4, r1
- bl StringCopy
-_080B2C32:
- ldr r0, _080B2C48 @ =0x02015de0
- strb r7, [r0, 0xA]
-_080B2C36:
- movs r0, 0x1
-_080B2C38:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B2C48: .4byte 0x02015de0
- thumb_func_end sub_80B2A7C
-
- thumb_func_start sub_80B2C4C
-sub_80B2C4C: @ 80B2C4C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0x2
- beq _080B2C6E
- cmp r0, 0x2
- ble _080B2C66
- cmp r0, 0x3
- beq _080B2CA0
- b _080B2CD4
-_080B2C66:
- cmp r2, 0
- blt _080B2CD4
- adds r0, r2, 0
- b _080B2D16
-_080B2C6E:
- cmp r1, 0
- beq _080B2C98
- movs r2, 0x4
- ldr r0, _080B2C9C @ =gSaveBlock1 + 0x2DFC
- adds r4, r0, 0
- adds r4, 0x60
- adds r3, r0, 0
- adds r3, 0x80
-_080B2C7E:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5,r6}
- stm r1!, {r5,r6}
- subs r4, 0x20
- subs r3, 0x20
- subs r2, 0x1
- cmp r2, 0x2
- bgt _080B2C7E
-_080B2C98:
- movs r0, 0x2
- b _080B2D16
- .align 2, 0
-_080B2C9C: .4byte gSaveBlock1 + 0x2DFC
-_080B2CA0:
- cmp r1, 0
- beq _080B2CCA
- movs r2, 0x7
- ldr r0, _080B2CD0 @ =gSaveBlock1 + 0x2DFC
- adds r4, r0, 0
- adds r4, 0xC0
- adds r3, r0, 0
- adds r3, 0xE0
-_080B2CB0:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5,r7}
- stm r1!, {r5,r7}
- subs r4, 0x20
- subs r3, 0x20
- subs r2, 0x1
- cmp r2, 0x5
- bgt _080B2CB0
-_080B2CCA:
- movs r0, 0x5
- b _080B2D16
- .align 2, 0
-_080B2CD0: .4byte gSaveBlock1 + 0x2DFC
-_080B2CD4:
- ldr r0, _080B2CE8 @ =gUnknown_0203869C
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080B2D14
- lsls r0, 2
- ldr r1, _080B2CEC @ =_080B2CF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B2CE8: .4byte gUnknown_0203869C
-_080B2CEC: .4byte _080B2CF0
- .align 2, 0
-_080B2CF0:
- .4byte _080B2D04
- .4byte _080B2D08
- .4byte _080B2D0C
- .4byte _080B2D10
- .4byte _080B2D14
-_080B2D04:
- movs r0, 0x8
- b _080B2D16
-_080B2D08:
- movs r0, 0x9
- b _080B2D16
-_080B2D0C:
- movs r0, 0xA
- b _080B2D16
-_080B2D10:
- movs r0, 0xB
- b _080B2D16
-_080B2D14:
- movs r0, 0xC
-_080B2D16:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2C4C
-
- thumb_func_start sub_80B2D1C
-sub_80B2D1C: @ 80B2D1C
- push {r4-r7,lr}
- ldr r0, _080B2D48 @ =gSaveBlock1
- ldr r4, _080B2D4C @ =gUnknown_083CC5D0
- ldr r1, _080B2D50 @ =0x00002dfc
- adds r3, r0, r1
- movs r2, 0x7
-_080B2D28:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5,r6}
- stm r1!, {r5,r6}
- adds r4, 0x20
- adds r3, 0x20
- subs r2, 0x1
- cmp r2, 0
- bge _080B2D28
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2D48: .4byte gSaveBlock1
-_080B2D4C: .4byte gUnknown_083CC5D0
-_080B2D50: .4byte 0x00002dfc
- thumb_func_end sub_80B2D1C
-
- thumb_func_start CreateShopMenu
-CreateShopMenu: @ 80B2D54
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- ldr r1, _080B2D90 @ =gUnknown_03000708
- movs r0, 0
- strb r4, [r1, 0xC]
- strb r0, [r1, 0x9]
- cmp r4, 0
- bne _080B2D9C
- movs r0, 0x2
- strb r0, [r1, 0xA]
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x7
- bl MenuDrawTextWindow
- ldr r3, _080B2D94 @ =gUnknown_083CC6D0
- ldr r0, _080B2D98 @ =gUnknown_083CC6E8
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x3
- bl PrintMenuItemsReordered
- b _080B2DBC
- .align 2, 0
-_080B2D90: .4byte gUnknown_03000708
-_080B2D94: .4byte gUnknown_083CC6D0
-_080B2D98: .4byte gUnknown_083CC6E8
-_080B2D9C:
- movs r0, 0x1
- strb r0, [r1, 0xA]
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x5
- bl MenuDrawTextWindow
- ldr r3, _080B2DEC @ =gUnknown_083CC6D0
- ldr r0, _080B2DF0 @ =gUnknown_083CC6EB
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x2
- bl PrintMenuItemsReordered
-_080B2DBC:
- ldr r0, _080B2DF4 @ =gUnknown_03000708
- ldrb r3, [r0, 0xA]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl InitMenu
- ldr r0, _080B2DF8 @ =sub_80B2E38
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B2DEC: .4byte gUnknown_083CC6D0
-_080B2DF0: .4byte gUnknown_083CC6EB
-_080B2DF4: .4byte gUnknown_03000708
-_080B2DF8: .4byte sub_80B2E38
- thumb_func_end CreateShopMenu
-
- thumb_func_start SetShopMenuCallback
-SetShopMenuCallback: @ 80B2DFC
- ldr r1, _080B2E04 @ =gUnknown_03000708
- str r0, [r1]
- bx lr
- .align 2, 0
-_080B2E04: .4byte gUnknown_03000708
- thumb_func_end SetShopMenuCallback
-
- thumb_func_start SetShopItemsForSale
-SetShopItemsForSale: @ 80B2E08
- push {lr}
- adds r1, r0, 0
- movs r2, 0
- ldr r3, _080B2E34 @ =gUnknown_03000708
- str r1, [r3, 0x4]
- strb r2, [r3, 0x8]
- ldrh r0, [r1]
- cmp r0, 0
- beq _080B2E30
-_080B2E1A:
- ldrb r0, [r3, 0x8]
- adds r0, 0x1
- strb r0, [r3, 0x8]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080B2E1A
-_080B2E30:
- pop {r0}
- bx r0
- .align 2, 0
-_080B2E34: .4byte gUnknown_03000708
- thumb_func_end SetShopItemsForSale
-
- thumb_func_start sub_80B2E38
-sub_80B2E38: @ 80B2E38
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _080B2E60 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080B2E68
- ldr r4, _080B2E64 @ =gUnknown_03000708
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _080B2EF4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080B2E82
- .align 2, 0
-_080B2E60: .4byte gMain
-_080B2E64: .4byte gUnknown_03000708
-_080B2E68:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080B2E90
- ldr r4, _080B2E8C @ =gUnknown_03000708
- ldrb r0, [r4, 0x9]
- ldrb r1, [r4, 0xA]
- cmp r0, r1
- beq _080B2EF4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080B2E82:
- bl MoveMenuCursor
- strb r0, [r4, 0x9]
- b _080B2EF4
- .align 2, 0
-_080B2E8C: .4byte gUnknown_03000708
-_080B2E90:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B2EE0
- movs r0, 0x5
- bl PlaySE
- ldr r3, _080B2EB0 @ =gUnknown_03000708
- ldrb r0, [r3, 0xC]
- cmp r0, 0
- bne _080B2EBC
- ldr r1, _080B2EB4 @ =gUnknown_083CC6D0
- ldr r2, _080B2EB8 @ =gUnknown_083CC6E8
- b _080B2EC0
- .align 2, 0
-_080B2EB0: .4byte gUnknown_03000708
-_080B2EB4: .4byte gUnknown_083CC6D0
-_080B2EB8: .4byte gUnknown_083CC6E8
-_080B2EBC:
- ldr r1, _080B2ED8 @ =gUnknown_083CC6D0
- ldr r2, _080B2EDC @ =gUnknown_083CC6EB
-_080B2EC0:
- ldrb r0, [r3, 0x9]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080B2EF4
- .align 2, 0
-_080B2ED8: .4byte gUnknown_083CC6D0
-_080B2EDC: .4byte gUnknown_083CC6EB
-_080B2EE0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B2EF4
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl HandleShopMenuQuit
-_080B2EF4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B2E38
-
- thumb_func_start sub_80B2EFC
-sub_80B2EFC: @ 80B2EFC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B2F24 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080B2F28 @ =BuyMenuDrawGraphics
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, _080B2F2C @ =sub_80B2FA0
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_080B2F24: .4byte gTasks
-_080B2F28: .4byte BuyMenuDrawGraphics
-_080B2F2C: .4byte sub_80B2FA0
- thumb_func_end sub_80B2EFC
-
- thumb_func_start sub_80B2F30
-sub_80B2F30: @ 80B2F30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B2F58 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080B2F5C @ =sub_80A6300
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, _080B2F60 @ =sub_80B2FA0
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_080B2F58: .4byte gTasks
-_080B2F5C: .4byte sub_80A6300
-_080B2F60: .4byte sub_80B2FA0
- thumb_func_end sub_80B2F30
-
- thumb_func_start HandleShopMenuQuit
-HandleShopMenuQuit: @ 80B2F64
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x8
- bl MenuZeroFillWindowRect
- bl sub_80BE3BC
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, _080B2F9C @ =gUnknown_03000708
- ldr r0, [r0]
- cmp r0, 0
- beq _080B2F96
- bl _call_via_r0
-_080B2F96:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2F9C: .4byte gUnknown_03000708
- thumb_func_end HandleShopMenuQuit
-
- thumb_func_start sub_80B2FA0
-sub_80B2FA0: @ 80B2FA0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080B2FD4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B2FCE
- ldr r0, _080B2FD8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x18]
- lsls r0, 16
- ldrh r1, [r1, 0x1A]
- orrs r0, r1
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080B2FCE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2FD4: .4byte gPaletteFade
-_080B2FD8: .4byte gTasks
- thumb_func_end sub_80B2FA0
-
- thumb_func_start ReturnToShopMenuAfterExitingSellMenu
-ReturnToShopMenuAfterExitingSellMenu: @ 80B2FDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B2FF8 @ =gUnknown_03000708
- ldrb r0, [r0, 0xC]
- bl CreateShopMenu
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2FF8: .4byte gUnknown_03000708
- thumb_func_end ReturnToShopMenuAfterExitingSellMenu
-
- thumb_func_start Task_ExitSellMenu
-Task_ExitSellMenu: @ 80B2FFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3040
- ldr r0, _080B3028 @ =gUnknown_03000708
- ldrb r0, [r0, 0xC]
- cmp r0, 0x2
- bne _080B3034
- ldr r1, _080B302C @ =gOtherText_CanIHelpYou
- ldr r2, _080B3030 @ =ReturnToShopMenuAfterExitingSellMenu
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _080B3040
- .align 2, 0
-_080B3028: .4byte gUnknown_03000708
-_080B302C: .4byte gOtherText_CanIHelpYou
-_080B3030: .4byte ReturnToShopMenuAfterExitingSellMenu
-_080B3034:
- ldr r1, _080B3048 @ =gOtherText_AnythingElse
- ldr r2, _080B304C @ =ReturnToShopMenuAfterExitingSellMenu
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080B3040:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3048: .4byte gOtherText_AnythingElse
-_080B304C: .4byte ReturnToShopMenuAfterExitingSellMenu
- thumb_func_end Task_ExitSellMenu
-
- thumb_func_start sub_80B3050
-sub_80B3050: @ 80B3050
- push {lr}
- bl pal_fill_black
- ldr r0, _080B3064 @ =Task_ExitSellMenu
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080B3064: .4byte Task_ExitSellMenu
- thumb_func_end sub_80B3050
-
- thumb_func_start sub_80B3068
-sub_80B3068: @ 80B3068
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl Task_ExitSellMenu
- pop {r0}
- bx r0
- thumb_func_end sub_80B3068
-
- thumb_func_start unref_sub_80B3078
-unref_sub_80B3078: @ 80B3078
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B308C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080B3090 @ =Task_ExitSellMenu
- str r0, [r1]
- bx lr
- .align 2, 0
-_080B308C: .4byte gTasks
-_080B3090: .4byte Task_ExitSellMenu
- thumb_func_end unref_sub_80B3078
-
- thumb_func_start sub_80B3094
-sub_80B3094: @ 80B3094
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80B3094
-
- thumb_func_start sub_80B30AC
-sub_80B30AC: @ 80B30AC
- push {r4,lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r3, _080B30F0 @ =gBG1TilemapBuffer
- ldr r1, _080B30F4 @ =0x0600e800
- ldr r0, _080B30F8 @ =0x040000d4
- str r3, [r0]
- str r1, [r0, 0x4]
- ldr r4, _080B30FC @ =0x80000400
- str r4, [r0, 0x8]
- ldr r1, [r0, 0x8]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r3, r2
- ldr r2, _080B3100 @ =0x0600e000
- str r1, [r0]
- str r2, [r0, 0x4]
- str r4, [r0, 0x8]
- ldr r1, [r0, 0x8]
- movs r1, 0x80
- lsls r1, 5
- adds r3, r1
- ldr r1, _080B3104 @ =0x0600f000
- str r3, [r0]
- str r1, [r0, 0x4]
- str r4, [r0, 0x8]
- ldr r0, [r0, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B30F0: .4byte gBG1TilemapBuffer
-_080B30F4: .4byte 0x0600e800
-_080B30F8: .4byte 0x040000d4
-_080B30FC: .4byte 0x80000400
-_080B3100: .4byte 0x0600e000
-_080B3104: .4byte 0x0600f000
- thumb_func_end sub_80B30AC
-
- thumb_func_start BuyMenuDrawGraphics
-BuyMenuDrawGraphics: @ 80B3108
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- bl sub_80F9438
- bl remove_some_task
- ldr r0, _080B3204 @ =REG_BG1HOFS
- movs r5, 0
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- ldr r0, _080B3208 @ =gPaletteFade
- mov r8, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x80
- orrs r0, r1
- mov r1, r8
- strb r0, [r1, 0x8]
- movs r1, 0xE0
- lsls r1, 19
- movs r6, 0
- str r6, [sp, 0x4]
- ldr r0, _080B320C @ =0x040000d4
- add r2, sp, 0x4
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080B3210 @ =0x85000100
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _080B3214 @ =gBuyMenuFrame_Gfx
- ldr r1, _080B3218 @ =0x06007c00
- bl LZDecompressVram
- ldr r0, _080B321C @ =gBuyMenuFrame_Tilemap
- ldr r1, _080B3220 @ =0x02018000
- bl sub_800D238
- ldr r0, _080B3224 @ =gMenuMoneyPal
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadCompressedPalette
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- ldr r4, _080B3228 @ =gWindowConfig_81E6DFC
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl BuyMenuDrawMapGraphics
- ldr r0, _080B322C @ =gUnknown_03000708
- strb r6, [r0, 0x9]
- strb r5, [r0, 0xB]
- movs r0, 0
- movs r1, 0
- movs r2, 0x20
- movs r3, 0x20
- bl MenuZeroFillWindowRect
- ldr r0, _080B3230 @ =gSaveBlock1
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80B7C14
- movs r0, 0
- movs r1, 0x7
- bl sub_80B3764
- bl sub_80B37EC
- bl sub_80B3270
- ldr r0, _080B3234 @ =sub_80B40E8
- movs r1, 0x8
- bl CreateTask
- bl sub_80B3240
- movs r0, 0x1
- negs r0, r0
- str r6, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- mov r2, r8
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _080B3238 @ =sub_80B30AC
- bl SetVBlankCallback
- ldr r0, _080B323C @ =sub_80B3094
- bl SetMainCallback2
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3204: .4byte REG_BG1HOFS
-_080B3208: .4byte gPaletteFade
-_080B320C: .4byte 0x040000d4
-_080B3210: .4byte 0x85000100
-_080B3214: .4byte gBuyMenuFrame_Gfx
-_080B3218: .4byte 0x06007c00
-_080B321C: .4byte gBuyMenuFrame_Tilemap
-_080B3220: .4byte 0x02018000
-_080B3224: .4byte gMenuMoneyPal
-_080B3228: .4byte gWindowConfig_81E6DFC
-_080B322C: .4byte gUnknown_03000708
-_080B3230: .4byte gSaveBlock1
-_080B3234: .4byte sub_80B40E8
-_080B3238: .4byte sub_80B30AC
-_080B323C: .4byte sub_80B3094
- thumb_func_end BuyMenuDrawGraphics
-
- thumb_func_start sub_80B3240
-sub_80B3240: @ 80B3240
- push {lr}
- sub sp, 0x4
- ldr r1, _080B326C @ =gUnknown_083CC710
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080B326C: .4byte gUnknown_083CC710
- thumb_func_end sub_80B3240
-
- thumb_func_start sub_80B3270
-sub_80B3270: @ 80B3270
- push {lr}
- bl sub_80F944C
- ldr r0, _080B32A0 @ =gUnknown_03000708
- ldrb r0, [r0, 0x8]
- cmp r0, 0x7
- bls _080B329A
- movs r0, 0
- movs r1, 0xAC
- movs r2, 0xC
- bl CreateVerticalScrollIndicators
- movs r0, 0x1
- movs r1, 0xAC
- movs r2, 0x94
- bl CreateVerticalScrollIndicators
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
-_080B329A:
- pop {r0}
- bx r0
- .align 2, 0
-_080B32A0: .4byte gUnknown_03000708
- thumb_func_end sub_80B3270
-
- thumb_func_start sub_80B32A4
-sub_80B32A4: @ 80B32A4
- push {lr}
- ldr r0, _080B32B8 @ =gUnknown_03000708
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- bne _080B32BC
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
- b _080B32C4
- .align 2, 0
-_080B32B8: .4byte gUnknown_03000708
-_080B32BC:
- movs r0, 0
- movs r1, 0
- bl sub_80F979C
-_080B32C4:
- ldr r1, _080B32DC @ =gUnknown_03000708
- ldrb r0, [r1, 0xB]
- adds r0, 0x7
- ldrb r1, [r1, 0x8]
- cmp r0, r1
- blt _080B32E0
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- b _080B32E8
- .align 2, 0
-_080B32DC: .4byte gUnknown_03000708
-_080B32E0:
- movs r0, 0x1
- movs r1, 0
- bl sub_80F979C
-_080B32E8:
- pop {r0}
- bx r0
- thumb_func_end sub_80B32A4
-
- thumb_func_start sub_80B32EC
-sub_80B32EC: @ 80B32EC
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r2
- lsls r1, 1
- adds r1, r0
- ldr r2, _080B3304 @ =0x0000c3e1
- adds r0, r2, 0
- strh r0, [r1]
- strh r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_080B3304: .4byte 0x0000c3e1
- thumb_func_end sub_80B32EC
-
- thumb_func_start BuyMenuDrawMapMetatileLayer
-BuyMenuDrawMapMetatileLayer: @ 80B3308
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r2
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r3]
- strh r0, [r1]
- ldrh r0, [r3, 0x2]
- strh r0, [r1, 0x2]
- adds r2, r1, 0
- adds r2, 0x40
- ldrh r0, [r3, 0x4]
- strh r0, [r2]
- adds r1, 0x42
- ldrh r0, [r3, 0x6]
- strh r0, [r1]
- bx lr
- thumb_func_end BuyMenuDrawMapMetatileLayer
-
- thumb_func_start BuyMenuDrawMapMetatile
-BuyMenuDrawMapMetatile: @ 80B3330
- push {r4-r7,lr}
- adds r7, r2, 0
- lsls r3, 24
- lsrs r3, 24
- adds r2, r3, 0
- lsls r0, 17
- lsrs r0, 16
- lsls r1, 22
- movs r4, 0x80
- lsls r4, 15
- adds r1, r4
- lsrs r1, 16
- cmp r3, 0x1
- beq _080B3364
- cmp r3, 0x1
- bgt _080B3356
- cmp r3, 0
- beq _080B335C
- b _080B33C0
-_080B3356:
- cmp r2, 0x2
- beq _080B3398
- b _080B33C0
-_080B335C:
- ldr r5, _080B3360 @ =gBG2TilemapBuffer
- b _080B3366
- .align 2, 0
-_080B3360: .4byte gBG2TilemapBuffer
-_080B3364:
- ldr r5, _080B3390 @ =gBG3TilemapBuffer
-_080B3366:
- lsls r6, r0, 16
- asrs r6, 16
- lsls r4, r1, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, _080B3394 @ =0xfffff800
- adds r5, r0
- adds r3, r7, 0
- adds r3, 0x8
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl BuyMenuDrawMapMetatileLayer
- b _080B33C0
- .align 2, 0
-_080B3390: .4byte gBG3TilemapBuffer
-_080B3394: .4byte 0xfffff800
-_080B3398:
- ldr r5, _080B33C8 @ =gBG3TilemapBuffer
- lsls r6, r0, 16
- asrs r6, 16
- lsls r4, r1, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, _080B33CC @ =0xfffff000
- adds r5, r0
- adds r3, r7, 0
- adds r3, 0x8
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl BuyMenuDrawMapMetatileLayer
-_080B33C0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B33C8: .4byte gBG3TilemapBuffer
-_080B33CC: .4byte 0xfffff000
- thumb_func_end BuyMenuDrawMapMetatile
-
- thumb_func_start sub_80B33D0
-sub_80B33D0: @ 80B33D0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- lsls r4, 22
- ldr r5, _080B3418 @ =gBG3TilemapBuffer
- lsls r6, 17
- asrs r6, 16
- movs r0, 0x80
- lsls r0, 15
- adds r4, r0
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r8
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, _080B341C @ =0xfffff800
- adds r5, r0
- movs r0, 0x8
- add r8, r0
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r8
- bl BuyMenuDrawMapMetatileLayer
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3418: .4byte gBG3TilemapBuffer
-_080B341C: .4byte 0xfffff800
- thumb_func_end sub_80B33D0
-
- thumb_func_start sub_80B3420
-sub_80B3420: @ 80B3420
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r1, sp
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x3
- strh r0, [r1]
- ldrh r0, [r4]
- subs r0, 0x3
- strh r0, [r4]
- movs r1, 0
- ldr r0, _080B34A8 @ =0x000001ff
- mov r10, r0
- ldr r2, _080B34AC @ =gMapHeader
- mov r9, r2
-_080B3452:
- movs r4, 0
- lsls r1, 16
- mov r8, r1
- asrs r7, r1, 16
-_080B345A:
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r4, 16
- asrs r6, r4, 16
- adds r0, r6
- mov r2, sp
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- adds r1, r7
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r7, 0x5
- beq _080B34D0
- cmp r6, 0x6
- beq _080B34D0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, r6
- mov r2, sp
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- adds r1, r7
- bl MapGridGetMetatileLayerTypeAt
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r5, r10
- bhi _080B34B0
- mov r1, r9
- ldr r0, [r1]
- ldr r0, [r0, 0x10]
- lsls r1, r5, 4
- ldr r2, [r0, 0xC]
- adds r2, r1
- b _080B34C0
- .align 2, 0
-_080B34A8: .4byte 0x000001ff
-_080B34AC: .4byte gMapHeader
-_080B34B0:
- mov r2, r9
- ldr r0, [r2]
- ldr r1, [r0, 0x14]
- ldr r2, _080B34CC @ =0xfffffe00
- adds r0, r5, r2
- lsls r0, 4
- ldr r2, [r1, 0xC]
- adds r2, r0
-_080B34C0:
- adds r0, r6, 0
- adds r1, r7, 0
- bl BuyMenuDrawMapMetatile
- b _080B3506
- .align 2, 0
-_080B34CC: .4byte 0xfffffe00
-_080B34D0:
- cmp r5, r10
- bhi _080B34EC
- asrs r0, r4, 16
- mov r3, r9
- ldr r1, [r3]
- ldr r1, [r1, 0x10]
- lsls r3, r5, 4
- ldr r2, [r1, 0xC]
- adds r2, r3
- mov r3, r8
- asrs r1, r3, 16
- bl sub_80B33D0
- b _080B3506
-_080B34EC:
- asrs r0, r4, 16
- mov r2, r9
- ldr r1, [r2]
- ldr r2, [r1, 0x14]
- ldr r3, _080B354C @ =0xfffffe00
- adds r1, r5, r3
- lsls r1, 4
- ldr r2, [r2, 0xC]
- adds r2, r1
- mov r3, r8
- asrs r1, r3, 16
- bl sub_80B33D0
-_080B3506:
- cmp r7, 0
- bne _080B3520
- asrs r1, r4, 16
- cmp r1, 0
- beq _080B3520
- cmp r1, 0x6
- beq _080B3520
- lsls r1, 17
- asrs r1, 16
- ldr r0, _080B3550 @ =gBG1TilemapBuffer
- movs r2, 0x40
- bl sub_80B32EC
-_080B3520:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r4, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080B345A
- adds r0, r1, 0
- add r0, r8
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080B3452
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B354C: .4byte 0xfffffe00
-_080B3550: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80B3420
-
- thumb_func_start BuyMenuDrawMapGraphics
-BuyMenuDrawMapGraphics: @ 80B3554
- push {lr}
- bl sub_80F9020
- bl sub_80B356C
- bl sub_80B368C
- bl sub_80B3420
- pop {r0}
- bx r0
- thumb_func_end BuyMenuDrawMapGraphics
-
- thumb_func_start sub_80B356C
-sub_80B356C: @ 80B356C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- bl PlayerGetZCoord
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r5, 0
- ldr r2, _080B3674 @ =gUnknown_020386A4
- movs r1, 0x10
-_080B3598:
- lsls r0, r5, 3
- adds r0, r2
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080B3598
- movs r5, 0
- ldr r7, _080B3678 @ =gUnknown_020386AA
- subs r1, r7, 0x6
- mov r9, r1
-_080B35B0:
- movs r4, 0
- adds r2, r5, 0x1
- mov r10, r2
-_080B35B6:
- mov r1, sp
- ldr r3, _080B367C @ =0x0000fffd
- adds r0, r3, 0
- ldrh r1, [r1]
- adds r0, r1
- adds r0, r4
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080B3680 @ =0x0000fffe
- adds r1, r2, 0
- mov r3, sp
- ldrh r3, [r3, 0x2]
- adds r1, r3
- adds r1, r5
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0x4]
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x10
- beq _080B3650
- mov r0, r8
- lsls r3, r0, 3
- mov r1, r9
- adds r0, r3, r1
- movs r6, 0
- strh r2, [r0]
- mov r0, r9
- adds r0, 0x2
- adds r0, r3, r0
- strh r4, [r0]
- ldr r1, _080B3684 @ =gUnknown_020386A8
- adds r0, r3, r1
- strh r5, [r0]
- ldr r1, _080B3688 @ =gMapObjects
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r2, r0, r1
- ldrb r0, [r2, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x1
- bne _080B3616
- adds r0, r3, r7
- strh r6, [r0]
-_080B3616:
- ldrb r0, [r2, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x2
- bne _080B3626
- adds r1, r3, r7
- movs r0, 0x1
- strh r0, [r1]
-_080B3626:
- ldrb r0, [r2, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x3
- bne _080B3636
- adds r1, r3, r7
- movs r0, 0x2
- strh r0, [r1]
-_080B3636:
- ldrb r0, [r2, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x4
- bne _080B3646
- adds r1, r3, r7
- movs r0, 0x3
- strh r0, [r1]
-_080B3646:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080B3650:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080B35B6
- mov r2, r10
- lsls r0, r2, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080B35B0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3674: .4byte gUnknown_020386A4
-_080B3678: .4byte gUnknown_020386AA
-_080B367C: .4byte 0x0000fffd
-_080B3680: .4byte 0x0000fffe
-_080B3684: .4byte gUnknown_020386A8
-_080B3688: .4byte gMapObjects
- thumb_func_end sub_80B356C
-
- thumb_func_start sub_80B368C
-sub_80B368C: @ 80B368C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r5, 0
- ldr r6, _080B3710 @ =gUnknown_020386A4
- adds r0, r6, 0x6
- mov r8, r0
- ldr r7, _080B3714 @ =gMapObjects
-_080B369E:
- lsls r4, r5, 3
- adds r1, r4, r6
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x10
- beq _080B36F8
- adds r1, r0, 0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0, 0x5]
- adds r1, r6, 0x2
- adds r1, r4, r1
- ldrh r2, [r1]
- lsls r2, 4
- adds r2, 0x8
- lsls r2, 16
- asrs r2, 16
- adds r1, r6, 0x4
- adds r1, r4, r1
- ldrh r3, [r1]
- lsls r3, 20
- movs r1, 0x80
- lsls r1, 14
- adds r3, r1
- asrs r3, 16
- movs r1, 0x2
- str r1, [sp]
- ldr r1, _080B3718 @ =SpriteCallbackDummy
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080B371C @ =gSprites
- adds r2, r0
- mov r1, r8
- adds r0, r4, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- bl StartSpriteAnim
-_080B36F8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080B369E
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3710: .4byte gUnknown_020386A4
-_080B3714: .4byte gMapObjects
-_080B3718: .4byte SpriteCallbackDummy
-_080B371C: .4byte gSprites
- thumb_func_end sub_80B368C
-
- thumb_func_start sub_80B3720
-sub_80B3720: @ 80B3720
- push {r4-r6,lr}
- movs r1, 0
- ldr r6, _080B3754 @ =gBG1TilemapBuffer
- ldr r5, _080B3758 @ =0x000003ff
- ldr r4, _080B375C @ =0x02018000
- ldr r0, _080B3760 @ =0x0000c3e0
- adds r3, r0, 0
-_080B372E:
- lsls r0, r1, 16
- asrs r2, r0, 16
- lsls r1, r2, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _080B3742
- adds r1, r6
- adds r0, r3
- strh r0, [r1]
-_080B3742:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, r5
- ble _080B372E
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3754: .4byte gBG1TilemapBuffer
-_080B3758: .4byte 0x000003ff
-_080B375C: .4byte 0x02018000
-_080B3760: .4byte 0x0000c3e0
- thumb_func_end sub_80B3720
-
- thumb_func_start sub_80B3764
-sub_80B3764: @ 80B3764
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80B3720
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_80B39D0
- ldr r0, _080B3798 @ =gUnknown_03000708
- ldrb r0, [r0, 0x9]
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x2
- movs r3, 0x8
- bl InitMenu
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3798: .4byte gUnknown_03000708
- thumb_func_end sub_80B3764
-
- thumb_func_start sub_80B379C
-sub_80B379C: @ 80B379C
- push {r4-r7,lr}
- movs r1, 0
- ldr r0, _080B37E0 @ =gBG1TilemapBuffer
- mov r12, r0
- ldr r7, _080B37E4 @ =0x02018300
- ldr r0, _080B37E8 @ =0x0000c3e0
- adds r6, r0, 0
-_080B37AA:
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xC
- adds r5, r1, 0x1
- lsls r4, r0, 5
- lsls r3, r1, 5
-_080B37B6:
- adds r1, r4, r2
- lsls r1, 1
- add r1, r12
- adds r0, r3, r2
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- adds r0, r6, r0
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xD
- bls _080B37B6
- lsls r0, r5, 16
- lsrs r1, r0, 16
- cmp r1, 0x7
- bls _080B37AA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B37E0: .4byte gBG1TilemapBuffer
-_080B37E4: .4byte 0x02018300
-_080B37E8: .4byte 0x0000c3e0
- thumb_func_end sub_80B379C
-
- thumb_func_start sub_80B37EC
-sub_80B37EC: @ 80B37EC
- push {lr}
- bl sub_80B3A70
- pop {r0}
- bx r0
- thumb_func_end sub_80B37EC
-
- thumb_func_start sub_80B37F8
-sub_80B37F8: @ 80B37F8
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r1, _080B3884 @ =gUnknown_03000708
- ldrb r0, [r1, 0xB]
- ldrb r2, [r1, 0x9]
- adds r0, r2
- ldr r1, [r1, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetPrice
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- ldr r0, _080B3888 @ =gTasks
- lsls r5, r6, 2
- adds r5, r6
- lsls r5, 3
- adds r5, r0
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- muls r0, r4
- movs r1, 0x6
- movs r2, 0x6
- movs r3, 0xB
- bl sub_80B7A94
- ldr r0, _080B388C @ =gStringVar1
- movs r1, 0xFC
- strb r1, [r0]
- movs r1, 0x14
- strb r1, [r0, 0x1]
- movs r1, 0x6
- strb r1, [r0, 0x2]
- adds r0, 0x3
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _080B3890 @ =gOtherText_xString1
- movs r1, 0x1
- movs r2, 0xB
- bl MenuPrint
- ldr r0, _080B3894 @ =gBG1TilemapBuffer
- movs r1, 0x2
- str r1, [sp]
- ldr r1, _080B3898 @ =0x0000c3e1
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A3FA0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3884: .4byte gUnknown_03000708
-_080B3888: .4byte gTasks
-_080B388C: .4byte gStringVar1
-_080B3890: .4byte gOtherText_xString1
-_080B3894: .4byte gBG1TilemapBuffer
-_080B3898: .4byte 0x0000c3e1
- thumb_func_end sub_80B37F8
-
- thumb_func_start sub_80B389C
-sub_80B389C: @ 80B389C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r2
- lsls r0, 16
- lsrs r2, r0, 16
- mov r9, r2
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r5, _080B392C @ =gStringVar1
- mov r0, r8
- cmp r0, 0
- beq _080B38C8
- movs r0, 0xFC
- strb r0, [r5]
- movs r0, 0x1
- strb r0, [r5, 0x1]
- movs r0, 0x2
- strb r0, [r5, 0x2]
- adds r5, 0x3
-_080B38C8:
- adds r0, r2, 0
- adds r1, r5, 0
- bl CopyItemName
- ldr r6, _080B392C @ =gStringVar1
- lsls r7, r4, 3
- movs r0, 0x1
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0x70
- adds r2, r7, 0
- movs r3, 0x58
- bl sub_8072A18
- adds r5, r6, 0
- mov r0, r8
- cmp r0, 0
- beq _080B38EE
- adds r5, r6, 0x3
-_080B38EE:
- mov r0, r9
- bl ItemId_GetPrice
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x4
- bl sub_80B79F8
- adds r0, r6, 0
- movs r1, 0xCA
- adds r2, r7, 0
- movs r3, 0x1
- bl MenuPrint_PixelCoords
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B392C: .4byte gStringVar1
- thumb_func_end sub_80B389C
-
- thumb_func_start sub_80B3930
-sub_80B3930: @ 80B3930
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- ldr r2, _080B39A0 @ =gStringVar1
- cmp r4, 0
- beq _080B395A
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x1
- strb r0, [r2, 0x1]
- movs r0, 0x2
- strb r0, [r2, 0x2]
- adds r2, 0x3
-_080B395A:
- lsls r6, r3, 5
- ldr r0, _080B39A4 @ =gDecorations + 0x1
- mov r8, r0
- adds r1, r6, r0
- adds r0, r2, 0
- bl StringCopy
- ldr r5, _080B39A0 @ =gStringVar1
- mov r0, r9
- lsls r7, r0, 3
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x70
- adds r2, r7, 0
- movs r3, 0x58
- bl sub_8072A18
- adds r2, r5, 0
- cmp r4, 0
- beq _080B3986
- adds r2, r5, 0x3
-_080B3986:
- mov r0, r8
- subs r0, 0x1
- adds r3, r6, r0
- ldrh r1, [r3, 0x14]
- ldr r0, _080B39A8 @ =0x00002710
- cmp r1, r0
- bne _080B39AC
- movs r0, 0x19
- mov r1, r9
- adds r2, r4, 0
- bl sub_80B7B34
- b _080B39C2
- .align 2, 0
-_080B39A0: .4byte gStringVar1
-_080B39A4: .4byte gDecorations + 0x1
-_080B39A8: .4byte 0x00002710
-_080B39AC:
- ldrh r1, [r3, 0x14]
- adds r0, r2, 0
- movs r2, 0x4
- bl sub_80B79F8
- adds r0, r5, 0
- movs r1, 0xCA
- adds r2, r7, 0
- movs r3, 0x1
- bl MenuPrint_PixelCoords
-_080B39C2:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3930
-
- thumb_func_start sub_80B39D0
-sub_80B39D0: @ 80B39D0
- push {r4-r6,lr}
- adds r6, r1, 0
- adds r5, r2, 0
- b _080B3A1A
-_080B39D8:
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- bne _080B39FC
- ldrb r0, [r1, 0xB]
- adds r0, r4
- ldr r1, [r1, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r4, 25
- movs r2, 0x80
- lsls r2, 18
- adds r1, r2
- lsrs r1, 24
- adds r2, r5, 0
- bl sub_80B389C
- b _080B3A18
-_080B39FC:
- ldrb r0, [r1, 0xB]
- adds r0, r4
- ldr r1, [r1, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r4, 25
- movs r2, 0x80
- lsls r2, 18
- adds r1, r2
- lsrs r1, 24
- adds r2, r5, 0
- bl sub_80B3930
-_080B3A18:
- adds r0, r4, 0x1
-_080B3A1A:
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bgt _080B3A2E
- ldr r1, _080B3A68 @ =gUnknown_03000708
- ldrb r0, [r1, 0xB]
- adds r0, r4
- ldrb r2, [r1, 0x8]
- cmp r0, r2
- blt _080B39D8
-_080B3A2E:
- cmp r4, 0x8
- beq _080B3A60
- ldr r1, _080B3A68 @ =gUnknown_03000708
- ldrb r0, [r1, 0xB]
- adds r0, r4
- ldrb r1, [r1, 0x8]
- cmp r0, r1
- bne _080B3A60
- lsls r3, r4, 1
- adds r4, r3, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r3, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0xE
- adds r1, r4, 0
- movs r2, 0x1C
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080B3A6C @ =gOtherText_CancelNoTerminator
- movs r1, 0xE
- adds r2, r4, 0
- bl MenuPrint
-_080B3A60:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3A68: .4byte gUnknown_03000708
-_080B3A6C: .4byte gOtherText_CancelNoTerminator
- thumb_func_end sub_80B39D0
-
- thumb_func_start sub_80B3A70
-sub_80B3A70: @ 80B3A70
- push {r4,lr}
- sub sp, 0x8
- ldr r2, _080B3A9C @ =gUnknown_03000708
- ldrb r1, [r2, 0xB]
- ldrb r0, [r2, 0x9]
- adds r0, r1, r0
- ldrb r1, [r2, 0x8]
- cmp r0, r1
- beq _080B3ACC
- ldrb r4, [r2, 0xC]
- cmp r4, 0
- bne _080B3AA0
- ldr r1, [r2, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetDescription
- movs r1, 0x30
- str r1, [sp]
- str r4, [sp, 0x4]
- b _080B3ABA
- .align 2, 0
-_080B3A9C: .4byte gUnknown_03000708
-_080B3AA0:
- ldr r1, _080B3AC8 @ =gDecorations
- ldr r2, [r2, 0x4]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 5
- adds r1, 0x18
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x30
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
-_080B3ABA:
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072AB0
- b _080B3AE0
- .align 2, 0
-_080B3AC8: .4byte gDecorations
-_080B3ACC:
- ldr r0, _080B3AE8 @ =gOtherText_QuitShopping
- movs r1, 0x30
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072AB0
-_080B3AE0:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3AE8: .4byte gOtherText_QuitShopping
- thumb_func_end sub_80B3A70
-
- thumb_func_start sub_80B3AEC
-sub_80B3AEC: @ 80B3AEC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080B3B5C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B3B06
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B3B7A
-_080B3B06:
- ldr r4, _080B3B60 @ =gUnknown_03000708
- ldrb r1, [r4, 0x9]
- adds r0, r1, 0
- movs r2, 0
- bl sub_80B39D0
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldr r1, [r4, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x4
- bne _080B3B74
- ldr r0, _080B3B64 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x9
- ble _080B3B74
- movs r0, 0xC
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3B74
- ldr r1, _080B3B68 @ =gOtherText_FreePremierBall
- ldr r2, _080B3B6C @ =sub_80B4378
- ldr r3, _080B3B70 @ =0x0000c3e1
- adds r0, r5, 0
- bl DisplayItemMessageOnField
- b _080B3B7A
- .align 2, 0
-_080B3B5C: .4byte gMain
-_080B3B60: .4byte gUnknown_03000708
-_080B3B64: .4byte gTasks
-_080B3B68: .4byte gOtherText_FreePremierBall
-_080B3B6C: .4byte sub_80B4378
-_080B3B70: .4byte 0x0000c3e1
-_080B3B74:
- adds r0, r5, 0
- bl sub_80B4378
-_080B3B7A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3AEC
-
- thumb_func_start sub_80B3B80
-sub_80B3B80: @ 80B3B80
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x26
- bl sav12_xor_increment
- ldr r5, _080B3BC0 @ =gSaveBlock1 + 0x490
- ldr r0, _080B3BC4 @ =gUnknown_020386A0
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80B79E0
- movs r0, 0x5F
- bl PlaySE
- ldr r0, [r5]
- movs r1, 0
- movs r2, 0
- bl sub_80B7BEC
- ldr r1, _080B3BC8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B3BCC @ =sub_80B3AEC
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3BC0: .4byte gSaveBlock1 + 0x490
-_080B3BC4: .4byte gUnknown_020386A0
-_080B3BC8: .4byte gTasks
-_080B3BCC: .4byte sub_80B3AEC
- thumb_func_end sub_80B3B80
-
- thumb_func_start sub_80B3BD0
-sub_80B3BD0: @ 80B3BD0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B3BF0 @ =gUnknown_03000708
- ldrb r1, [r0, 0x9]
- adds r0, r1, 0
- movs r2, 0
- bl sub_80B39D0
- adds r0, r4, 0
- bl sub_80B4378
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3BF0: .4byte gUnknown_03000708
- thumb_func_end sub_80B3BD0
-
- thumb_func_start sub_80B3BF4
-sub_80B3BF4: @ 80B3BF4
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080B3C7C @ =gBG1TilemapBuffer
- movs r1, 0x4
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x8
- movs r2, 0x9
- movs r3, 0x4
- bl sub_80A3FA0
- bl sub_80B379C
- bl sub_80B3420
- ldr r0, _080B3C80 @ =gSaveBlock1
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080B3C84 @ =gUnknown_020386A0
- ldr r1, [r1]
- bl IsEnoughMoney
- lsls r0, 24
- cmp r0, 0
- beq _080B3D18
- ldr r4, _080B3C88 @ =gUnknown_03000708
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- bne _080B3CAC
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldr r1, [r4, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldr r2, _080B3C8C @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- ldrh r1, [r1, 0xA]
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _080B3C9C
- ldr r1, _080B3C90 @ =gOtherText_HereYouGo
- ldr r2, _080B3C94 @ =sub_80B3B80
- ldr r3, _080B3C98 @ =0x0000c3e1
- adds r0, r5, 0
- bl DisplayItemMessageOnField
- adds r0, r5, 0
- bl sub_80B4470
- b _080B3D24
- .align 2, 0
-_080B3C7C: .4byte gBG1TilemapBuffer
-_080B3C80: .4byte gSaveBlock1
-_080B3C84: .4byte gUnknown_020386A0
-_080B3C88: .4byte gUnknown_03000708
-_080B3C8C: .4byte gTasks
-_080B3C90: .4byte gOtherText_HereYouGo
-_080B3C94: .4byte sub_80B3B80
-_080B3C98: .4byte 0x0000c3e1
-_080B3C9C:
- ldr r1, _080B3CA4 @ =gOtherText_NoRoomFor
- ldr r2, _080B3CA8 @ =sub_80B3BD0
- b _080B3CD8
- .align 2, 0
-_080B3CA4: .4byte gOtherText_NoRoomFor
-_080B3CA8: .4byte sub_80B3BD0
-_080B3CAC:
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldr r1, [r4, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- bl IsThereStorageSpaceForDecoration
- lsls r0, 24
- cmp r0, 0
- beq _080B3CF0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- bne _080B3CD4
- ldr r1, _080B3CD0 @ =gOtherText_HereYouGo2
- b _080B3CD6
- .align 2, 0
-_080B3CD0: .4byte gOtherText_HereYouGo2
-_080B3CD4:
- ldr r1, _080B3CE4 @ =gOtherText_HereYouGo3
-_080B3CD6:
- ldr r2, _080B3CE8 @ =sub_80B3B80
-_080B3CD8:
- ldr r3, _080B3CEC @ =0x0000c3e1
- adds r0, r5, 0
- bl DisplayItemMessageOnField
- b _080B3D24
- .align 2, 0
-_080B3CE4: .4byte gOtherText_HereYouGo3
-_080B3CE8: .4byte sub_80B3B80
-_080B3CEC: .4byte 0x0000c3e1
-_080B3CF0:
- ldr r4, _080B3D08 @ =gStringVar4
- ldr r1, _080B3D0C @ =gOtherText_SpaceForIsFull
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080B3D10 @ =sub_80B3BD0
- ldr r3, _080B3D14 @ =0x0000c3e1
- adds r0, r5, 0
- adds r1, r4, 0
- bl DisplayItemMessageOnField
- b _080B3D24
- .align 2, 0
-_080B3D08: .4byte gStringVar4
-_080B3D0C: .4byte gOtherText_SpaceForIsFull
-_080B3D10: .4byte sub_80B3BD0
-_080B3D14: .4byte 0x0000c3e1
-_080B3D18:
- ldr r1, _080B3D2C @ =gOtherText_NotEnoughMoney
- ldr r2, _080B3D30 @ =sub_80B3BD0
- ldr r3, _080B3D34 @ =0x0000c3e1
- adds r0, r5, 0
- bl DisplayItemMessageOnField
-_080B3D24:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3D2C: .4byte gOtherText_NotEnoughMoney
-_080B3D30: .4byte sub_80B3BD0
-_080B3D34: .4byte 0x0000c3e1
- thumb_func_end sub_80B3BF4
-
- thumb_func_start sub_80B3D38
-sub_80B3D38: @ 80B3D38
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r0, _080B3D70 @ =gBG1TilemapBuffer
- movs r1, 0x4
- str r1, [sp]
- ldr r1, _080B3D74 @ =0x0000c3e1
- str r1, [sp, 0x4]
- movs r1, 0x8
- movs r2, 0x9
- movs r3, 0x4
- bl sub_80A3FA0
- ldr r1, _080B3D78 @ =gUnknown_083CC708
- adds r0, r4, 0
- bl sub_80F914C
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3D70: .4byte gBG1TilemapBuffer
-_080B3D74: .4byte 0x0000c3e1
-_080B3D78: .4byte gUnknown_083CC708
- thumb_func_end sub_80B3D38
-
- thumb_func_start sub_80B3D7C
-sub_80B3D7C: @ 80B3D7C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B3DC0 @ =gUnknown_03000708
- ldrb r1, [r0, 0x9]
- adds r0, r1, 0
- movs r2, 0
- bl sub_80B39D0
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080B3DC4 @ =gBG1TilemapBuffer
- movs r1, 0x4
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x8
- movs r2, 0x9
- movs r3, 0x4
- bl sub_80A3FA0
- adds r0, r4, 0
- bl sub_80B4378
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3DC0: .4byte gUnknown_03000708
-_080B3DC4: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80B3D7C
-
- thumb_func_start sub_80B3DC8
-sub_80B3DC8: @ 80B3DC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r6, 0
- ldr r7, _080B3EA8 @ =gUnknown_03000708
- ldrb r1, [r7, 0xD]
- adds r0, r6, 0
- bl sub_80A52C4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3DEE
- adds r0, r6, 0
- bl sub_80B37F8
-_080B3DEE:
- ldr r0, _080B3EAC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B3ED8
- ldr r0, _080B3EB0 @ =gUnknown_020386A0
- mov r8, r0
- ldrb r0, [r7, 0xB]
- ldrb r1, [r7, 0x9]
- adds r0, r1
- ldr r1, [r7, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetPrice
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- ldr r0, _080B3EB4 @ =gTasks
- lsls r5, r6, 2
- adds r5, r6
- lsls r5, 3
- adds r5, r0
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- muls r0, r4
- mov r2, r8
- str r0, [r2]
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080B3EB8 @ =gBG1TilemapBuffer
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A3FA0
- bl sub_80B379C
- bl sub_80B3420
- ldrb r0, [r7, 0xB]
- ldrb r1, [r7, 0x9]
- adds r0, r1
- ldr r1, [r7, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, _080B3EBC @ =gStringVar1
- bl CopyItemName
- ldr r0, _080B3EC0 @ =gStringVar2
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _080B3EC4 @ =gStringVar3
- mov r2, r8
- ldr r1, [r2]
- movs r2, 0
- movs r3, 0x8
- bl ConvertIntToDecimalStringN
- ldr r4, _080B3EC8 @ =gStringVar4
- ldr r1, _080B3ECC @ =gOtherText_ThatWillBe
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080B3ED0 @ =sub_80B3D38
- ldr r3, _080B3ED4 @ =0x0000c3e1
- adds r0, r6, 0
- adds r1, r4, 0
- bl DisplayItemMessageOnField
- b _080B3EF0
- .align 2, 0
-_080B3EA8: .4byte gUnknown_03000708
-_080B3EAC: .4byte gMain
-_080B3EB0: .4byte gUnknown_020386A0
-_080B3EB4: .4byte gTasks
-_080B3EB8: .4byte gBG1TilemapBuffer
-_080B3EBC: .4byte gStringVar1
-_080B3EC0: .4byte gStringVar2
-_080B3EC4: .4byte gStringVar3
-_080B3EC8: .4byte gStringVar4
-_080B3ECC: .4byte gOtherText_ThatWillBe
-_080B3ED0: .4byte sub_80B3D38
-_080B3ED4: .4byte 0x0000c3e1
-_080B3ED8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B3EF0
- ldrb r1, [r7, 0x9]
- adds r0, r1, 0
- movs r2, 0
- bl sub_80B39D0
- adds r0, r4, 0
- bl sub_80B4378
-_080B3EF0:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3DC8
-
- thumb_func_start sub_80B3EFC
-sub_80B3EFC: @ 80B3EFC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B3F78 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0xA]
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuDrawTextWindow
- adds r0, r5, 0
- bl sub_80B37F8
- ldr r6, _080B3F7C @ =gUnknown_03000708
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetPrice
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- ldr r1, _080B3F80 @ =gSaveBlock1
- movs r2, 0x92
- lsls r2, 3
- adds r1, r2
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- ldr r0, [r1]
- adds r1, r4, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x63
- bls _080B3F62
- movs r0, 0x63
-_080B3F62:
- strb r0, [r6, 0xD]
- ldr r0, _080B3F78 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080B3F84 @ =sub_80B3DC8
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3F78: .4byte gTasks
-_080B3F7C: .4byte gUnknown_03000708
-_080B3F80: .4byte gSaveBlock1
-_080B3F84: .4byte sub_80B3DC8
- thumb_func_end sub_80B3EFC
-
- thumb_func_start sub_80B3F88
-sub_80B3F88: @ 80B3F88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080B4020 @ =gMenuWindow
- mov r8, r0
- ldr r1, [r0, 0x28]
- ldr r3, _080B4024 @ =0x000003de
- adds r1, r3
- adds r2, r1, 0
- adds r2, 0x80
- ldr r7, [r0, 0x24]
- mov r10, r7
- ldr r0, _080B4028 @ =0x000003ff
- mov r9, r0
- movs r6, 0xD
-_080B3FAC:
- adds r3, r2, 0
- subs r3, 0x40
- str r3, [sp]
- movs r7, 0x40
- negs r7, r7
- adds r7, r1
- mov r12, r7
- adds r3, r2, 0
- adds r4, r1, 0
- movs r5, 0xE
-_080B3FC0:
- ldrh r2, [r4]
- mov r1, r9
- ands r1, r2
- mov r7, r8
- ldrh r0, [r7, 0x1A]
- adds r0, 0x1
- cmp r1, r0
- ble _080B3FD4
- adds r0, r2, 0
- adds r0, 0x3C
-_080B3FD4:
- strh r0, [r3]
- adds r3, 0x2
- adds r4, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _080B3FC0
- ldr r2, [sp]
- mov r1, r12
- subs r6, 0x1
- cmp r6, 0
- bge _080B3FAC
- ldr r1, _080B402C @ =0x00003a20
- add r1, r10
- movs r0, 0xF0
- lsls r0, 3
- adds r2, r1, r0
- ldr r3, _080B4030 @ =0x040000d4
- ldr r5, _080B4034 @ =0x800000f0
- ldr r4, _080B4038 @ =0xfffffc40
- movs r6, 0xD
-_080B3FFC:
- str r1, [r3]
- str r2, [r3, 0x4]
- str r5, [r3, 0x8]
- ldr r0, [r3, 0x8]
- adds r2, r4
- adds r1, r4
- subs r6, 0x1
- cmp r6, 0
- bge _080B3FFC
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4020: .4byte gMenuWindow
-_080B4024: .4byte 0x000003de
-_080B4028: .4byte 0x000003ff
-_080B402C: .4byte 0x00003a20
-_080B4030: .4byte 0x040000d4
-_080B4034: .4byte 0x800000f0
-_080B4038: .4byte 0xfffffc40
- thumb_func_end sub_80B3F88
-
- thumb_func_start sub_80B403C
-sub_80B403C: @ 80B403C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080B40D8 @ =gMenuWindow
- mov r8, r0
- ldr r2, [r0, 0x28]
- adds r1, r2, 0
- adds r1, 0x9E
- adds r2, r1, 0
- adds r1, 0x80
- ldr r3, [r0, 0x24]
- mov r10, r3
- ldr r7, _080B40DC @ =0x000003ff
- mov r9, r7
- movs r6, 0xD
-_080B4060:
- adds r0, r2, 0
- adds r0, 0x40
- str r0, [sp]
- movs r3, 0x40
- adds r3, r1
- mov r12, r3
- adds r3, r2, 0
- adds r4, r1, 0
- movs r5, 0xE
-_080B4072:
- ldrh r2, [r4]
- mov r1, r9
- ands r1, r2
- mov r7, r8
- ldrh r0, [r7, 0x1A]
- adds r0, 0x1
- cmp r1, r0
- ble _080B4086
- adds r0, r2, 0
- subs r0, 0x3C
-_080B4086:
- strh r0, [r3]
- adds r3, 0x2
- adds r4, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _080B4072
- ldr r2, [sp]
- mov r1, r12
- subs r6, 0x1
- cmp r6, 0
- bge _080B4060
- movs r1, 0x96
- lsls r1, 4
- add r1, r10
- adds r2, r1, 0
- movs r0, 0xF0
- lsls r0, 3
- adds r1, r0
- ldr r3, _080B40E0 @ =0x040000d4
- ldr r5, _080B40E4 @ =0x800000f0
- movs r4, 0xF0
- lsls r4, 2
- movs r6, 0xD
-_080B40B4:
- str r1, [r3]
- str r2, [r3, 0x4]
- str r5, [r3, 0x8]
- ldr r0, [r3, 0x8]
- adds r2, r4
- adds r1, r4
- subs r6, 0x1
- cmp r6, 0
- bge _080B40B4
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B40D8: .4byte gMenuWindow
-_080B40DC: .4byte 0x000003ff
-_080B40E0: .4byte 0x040000d4
-_080B40E4: .4byte 0x800000f0
- thumb_func_end sub_80B403C
-
- thumb_func_start sub_80B40E8
-sub_80B40E8: @ 80B40E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- mov r8, r7
- ldr r0, _080B4134 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080B4102
- b _080B436C
-_080B4102:
- ldr r2, _080B4138 @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080B414C
- ldr r4, _080B413C @ =gUnknown_03000708
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- bne _080B4140
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _080B411E
- b _080B436C
-_080B411E:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0xB]
- subs r0, 0x1
- strb r0, [r4, 0xB]
- bl sub_80B3F88
- movs r0, 0
- movs r1, 0
- b _080B417A
- .align 2, 0
-_080B4134: .4byte gPaletteFade
-_080B4138: .4byte gMain
-_080B413C: .4byte gUnknown_03000708
-_080B4140:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080B41A0
-_080B414C:
- cmp r1, 0x80
- bne _080B41AC
- ldr r4, _080B418C @ =gUnknown_03000708
- ldrb r0, [r4, 0x9]
- cmp r0, 0x7
- bne _080B4190
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldrb r1, [r4, 0x8]
- cmp r0, r1
- bne _080B4166
- b _080B436C
-_080B4166:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0xB]
- adds r0, 0x1
- strb r0, [r4, 0xB]
- bl sub_80B403C
- movs r0, 0x7
- movs r1, 0x7
-_080B417A:
- movs r2, 0
- bl sub_80B39D0
- bl sub_80B3A70
- bl sub_80B32A4
- b _080B436C
- .align 2, 0
-_080B418C: .4byte gUnknown_03000708
-_080B4190:
- ldrb r2, [r4, 0x8]
- cmp r0, r2
- bne _080B4198
- b _080B436C
-_080B4198:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080B41A0:
- bl MoveMenuCursor
- strb r0, [r4, 0x9]
- bl sub_80B3A70
- b _080B436C
-_080B41AC:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B41B8
- b _080B4358
-_080B41B8:
- movs r0, 0x5
- bl PlaySE
- ldr r6, _080B426C @ =gUnknown_03000708
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldrb r1, [r6, 0x8]
- cmp r0, r1
- bne _080B41CE
- b _080B4350
-_080B41CE:
- movs r0, 0
- bl sub_80F996C
- movs r0, 0x1
- bl sub_80F996C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- ldrb r1, [r6, 0x9]
- adds r0, r1, 0
- movs r2, 0x1
- bl sub_80B39D0
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0xC
- movs r2, 0xD
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldrb r0, [r6, 0xC]
- cmp r0, 0
- bne _080B428C
- ldr r5, _080B4270 @ =gUnknown_020386A0
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetPrice
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- str r4, [r5]
- ldr r0, _080B4274 @ =gSaveBlock1
- movs r2, 0x92
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- adds r1, r4, 0
- bl IsEnoughMoney
- lsls r0, 24
- cmp r0, 0
- beq _080B42BA
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, _080B4278 @ =gStringVar1
- bl CopyItemName
- ldr r4, _080B427C @ =gStringVar4
- ldr r1, _080B4280 @ =gOtherText_HowManyYouWant
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080B4284 @ =sub_80B3EFC
- ldr r3, _080B4288 @ =0x0000c3e1
- adds r0, r7, 0
- adds r1, r4, 0
- bl DisplayItemMessageOnField
- b _080B436C
- .align 2, 0
-_080B426C: .4byte gUnknown_03000708
-_080B4270: .4byte gUnknown_020386A0
-_080B4274: .4byte gSaveBlock1
-_080B4278: .4byte gStringVar1
-_080B427C: .4byte gStringVar4
-_080B4280: .4byte gOtherText_HowManyYouWant
-_080B4284: .4byte sub_80B3EFC
-_080B4288: .4byte 0x0000c3e1
-_080B428C:
- ldr r5, _080B42C8 @ =gUnknown_020386A0
- ldr r4, _080B42CC @ =gDecorations
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 5
- adds r0, r4
- ldrh r1, [r0, 0x14]
- str r1, [r5]
- ldr r0, _080B42D0 @ =gSaveBlock1
- movs r2, 0x92
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- bl IsEnoughMoney
- lsls r0, 24
- cmp r0, 0
- bne _080B42E0
-_080B42BA:
- ldr r1, _080B42D4 @ =gOtherText_NotEnoughMoney
- ldr r2, _080B42D8 @ =sub_80B3BD0
- ldr r3, _080B42DC @ =0x0000c3e1
- adds r0, r7, 0
- bl DisplayItemMessageOnField
- b _080B436C
- .align 2, 0
-_080B42C8: .4byte gUnknown_020386A0
-_080B42CC: .4byte gDecorations
-_080B42D0: .4byte gSaveBlock1
-_080B42D4: .4byte gOtherText_NotEnoughMoney
-_080B42D8: .4byte sub_80B3BD0
-_080B42DC: .4byte 0x0000c3e1
-_080B42E0:
- ldr r0, _080B4318 @ =gStringVar1
- ldrb r1, [r6, 0xB]
- ldrb r2, [r6, 0x9]
- adds r1, r2
- ldr r2, [r6, 0x4]
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- lsls r1, 5
- adds r2, r4, 0x1
- adds r1, r2
- bl StringCopy
- ldr r0, _080B431C @ =gStringVar2
- ldr r1, [r5]
- movs r2, 0
- movs r3, 0x8
- bl ConvertIntToDecimalStringN
- ldrb r0, [r6, 0xC]
- cmp r0, 0x1
- bne _080B4328
- ldr r0, _080B4320 @ =gStringVar4
- ldr r1, _080B4324 @ =gOtherText_ThatWillBe2
- bl StringExpandPlaceholders
- b _080B4330
- .align 2, 0
-_080B4318: .4byte gStringVar1
-_080B431C: .4byte gStringVar2
-_080B4320: .4byte gStringVar4
-_080B4324: .4byte gOtherText_ThatWillBe2
-_080B4328:
- ldr r0, _080B4340 @ =gStringVar4
- ldr r1, _080B4344 @ =gOtherText_ThatWillBe3
- bl StringExpandPlaceholders
-_080B4330:
- ldr r1, _080B4340 @ =gStringVar4
- ldr r2, _080B4348 @ =sub_80B3D38
- ldr r3, _080B434C @ =0x0000c3e1
- mov r0, r8
- bl DisplayItemMessageOnField
- b _080B436C
- .align 2, 0
-_080B4340: .4byte gStringVar4
-_080B4344: .4byte gOtherText_ThatWillBe3
-_080B4348: .4byte sub_80B3D38
-_080B434C: .4byte 0x0000c3e1
-_080B4350:
- adds r0, r7, 0
- bl sub_80B43F0
- b _080B436C
-_080B4358:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B436C
- movs r0, 0x5
- bl PlaySE
- mov r0, r8
- bl sub_80B43F0
-_080B436C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B40E8
-
- thumb_func_start sub_80B4378
-sub_80B4378: @ 80B4378
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080B43E4 @ =gBG1TilemapBuffer
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A3FA0
- bl sub_80B3420
- movs r0, 0x6
- movs r1, 0x7
- bl sub_80B3764
- bl sub_80B37EC
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- bl sub_80B32A4
- ldr r1, _080B43E8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B43EC @ =sub_80B40E8
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B43E4: .4byte gBG1TilemapBuffer
-_080B43E8: .4byte gTasks
-_080B43EC: .4byte sub_80B40E8
- thumb_func_end sub_80B4378
-
- thumb_func_start sub_80B43F0
-sub_80B43F0: @ 80B43F0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080B4428 @ =gUnknown_0300485C
- ldr r0, _080B442C @ =sub_80B3050
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080B4430 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B4434 @ =Task_ExitBuyMenu
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4428: .4byte gUnknown_0300485C
-_080B442C: .4byte sub_80B3050
-_080B4430: .4byte gTasks
-_080B4434: .4byte Task_ExitBuyMenu
- thumb_func_end sub_80B43F0
-
- thumb_func_start Task_ExitBuyMenu
-Task_ExitBuyMenu: @ 80B4438
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080B4468 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B4462
- movs r0, 0
- movs r1, 0
- bl RemoveMoneyLabelObject
- bl BuyMenuFreeMemory
- ldr r0, _080B446C @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080B4462:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4468: .4byte gPaletteFade
-_080B446C: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end Task_ExitBuyMenu
-
- thumb_func_start sub_80B4470
-sub_80B4470: @ 80B4470
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0
- ldr r0, _080B44C8 @ =gUnknown_02038724
- mov r12, r0
- ldr r6, _080B44CC @ =gUnknown_03000708
- mov r8, r12
- adds r4, r6, 0
- ldr r1, _080B44D0 @ =gTasks
- mov r9, r1
- lsls r0, r5, 2
- adds r0, r5
- lsls r7, r0, 3
-_080B4492:
- lsls r0, r2, 2
- mov r1, r8
- adds r3, r0, r1
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldr r1, [r4, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r1, r0
- bne _080B44DC
- ldrh r0, [r3, 0x2]
- cmp r0, 0
- beq _080B44DC
- adds r2, r0, 0
- mov r4, r9
- adds r1, r7, r4
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- adds r0, r2, r0
- cmp r0, 0xFF
- ble _080B44D4
- movs r0, 0xFF
- strh r0, [r3, 0x2]
- b _080B451E
- .align 2, 0
-_080B44C8: .4byte gUnknown_02038724
-_080B44CC: .4byte gUnknown_03000708
-_080B44D0: .4byte gTasks
-_080B44D4:
- ldrh r0, [r1, 0xA]
- adds r0, r2, r0
- strh r0, [r3, 0x2]
- b _080B451E
-_080B44DC:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x2
- bls _080B4492
- ldr r3, _080B452C @ =gUnknown_02038730
- ldrb r0, [r3]
- cmp r0, 0x2
- bhi _080B451E
- adds r2, r0, 0
- lsls r2, 2
- add r2, r12
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- ldrb r1, [r3]
- lsls r1, 2
- add r1, r12
- ldr r2, _080B4530 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0xA]
- strh r0, [r1, 0x2]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_080B451E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B452C: .4byte gUnknown_02038730
-_080B4530: .4byte gTasks
- thumb_func_end sub_80B4470
-
- thumb_func_start ClearItemPurchases
-ClearItemPurchases: @ 80B4534
- push {lr}
- ldr r0, _080B4548 @ =gUnknown_02038730
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080B454C @ =gUnknown_02038724
- movs r1, 0x3
- bl ClearItemSlots
- pop {r0}
- bx r0
- .align 2, 0
-_080B4548: .4byte gUnknown_02038730
-_080B454C: .4byte gUnknown_02038724
- thumb_func_end ClearItemPurchases
-
- thumb_func_start CreatePokemartMenu
-CreatePokemartMenu: @ 80B4550
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- bl ClearItemPurchases
- ldr r0, _080B4570 @ =EnableBothScriptContexts
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4570: .4byte EnableBothScriptContexts
- thumb_func_end CreatePokemartMenu
-
- thumb_func_start CreateDecorationShop1Menu
-CreateDecorationShop1Menu: @ 80B4574
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- ldr r0, _080B4590 @ =EnableBothScriptContexts
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4590: .4byte EnableBothScriptContexts
- thumb_func_end CreateDecorationShop1Menu
-
- thumb_func_start CreateDecorationShop2Menu
-CreateDecorationShop2Menu: @ 80B4594
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- ldr r0, _080B45B0 @ =EnableBothScriptContexts
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B45B0: .4byte EnableBothScriptContexts
- thumb_func_end CreateDecorationShop2Menu
-
- thumb_func_start sub_80B45B4
-sub_80B45B4: @ 80B45B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r9, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- ldr r2, _080B4648 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x10]
- subs r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r1, 0x12]
- subs r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r4, [r1, 0xA]
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080B4678
- movs r2, 0
- lsls r5, 16
- str r5, [sp, 0xC]
- lsls r0, r3, 16
- lsls r1, r4, 16
- asrs r0, 16
- str r0, [sp]
- asrs r1, 16
- str r1, [sp, 0x4]
- lsls r0, r1, 1
- mov r1, r9
- adds r7, r0, r1
-_080B4608:
- movs r4, 0
- lsls r2, 16
- mov r8, r2
- asrs r0, r2, 16
- ldr r2, [sp]
- adds r6, r2, r0
-_080B4614:
- ldr r0, [sp, 0xC]
- asrs r1, r0, 16
- lsls r4, 16
- asrs r0, r4, 16
- adds r5, r1, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- movs r2, 0
- ldrsh r1, [r7, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _080B465C
- ldr r0, [sp, 0x4]
- cmp r0, 0x2
- beq _080B464C
- ldrh r0, [r7, 0x2]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- b _080B465C
- .align 2, 0
-_080B4648: .4byte gTasks
-_080B464C:
- mov r1, r9
- ldrh r0, [r1]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
-_080B465C:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r4, r2
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B4614
- adds r0, r2, 0
- add r0, r8
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B4608
- b _080B4700
-_080B4678:
- movs r2, 0
- lsls r5, 16
- str r5, [sp, 0xC]
- lsls r0, r3, 16
- lsls r1, r4, 16
- asrs r0, 16
- str r0, [sp, 0x8]
- asrs r7, r1, 16
-_080B4688:
- movs r4, 0
- lsls r2, 16
- mov r8, r2
- asrs r0, r2, 16
- ldr r1, [sp, 0x8]
- adds r6, r1, r0
-_080B4694:
- ldr r2, [sp, 0xC]
- asrs r1, r2, 16
- lsls r4, 16
- asrs r0, r4, 16
- adds r5, r1, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x2
- subs r1, r7
- lsls r1, 1
- add r1, r9
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _080B46E6
- cmp r7, 0x2
- beq _080B46D6
- movs r0, 0x1
- subs r0, r7
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- b _080B46E6
-_080B46D6:
- mov r1, r9
- ldrh r0, [r1, 0x4]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
-_080B46E6:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r4, r2
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B4694
- adds r0, r2, 0
- add r0, r8
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B4688
-_080B4700:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B45B4
-
- thumb_func_start sub_80B4710
-sub_80B4710: @ 80B4710
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080B4738 @ =gTasks + 0x8
- adds r4, r0, r1
- movs r0, 0x1
- strh r0, [r4, 0x6]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bhi _080B47AA
- lsls r0, 2
- ldr r1, _080B473C @ =_080B4740
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B4738: .4byte gTasks + 0x8
-_080B473C: .4byte _080B4740
- .align 2, 0
-_080B4740:
- .4byte _080B475C
- .4byte _080B4764
- .4byte _080B476C
- .4byte _080B4774
- .4byte _080B477C
- .4byte _080B4790
- .4byte _080B47A0
-_080B475C:
- ldr r1, _080B4760 @ =gUnknown_083CC714
- b _080B4792
- .align 2, 0
-_080B4760: .4byte gUnknown_083CC714
-_080B4764:
- ldr r1, _080B4768 @ =gUnknown_083CC71A
- b _080B4792
- .align 2, 0
-_080B4768: .4byte gUnknown_083CC71A
-_080B476C:
- ldr r1, _080B4770 @ =gUnknown_083CC720
- b _080B477E
- .align 2, 0
-_080B4770: .4byte gUnknown_083CC720
-_080B4774:
- ldr r1, _080B4778 @ =gUnknown_083CC726
- b _080B4792
- .align 2, 0
-_080B4778: .4byte gUnknown_083CC726
-_080B477C:
- ldr r1, _080B478C @ =gUnknown_083CC72C
-_080B477E:
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r3, 0
- bl sub_80B45B4
- b _080B47AA
- .align 2, 0
-_080B478C: .4byte gUnknown_083CC72C
-_080B4790:
- ldr r1, _080B479C @ =gUnknown_083CC732
-_080B4792:
- adds r0, r3, 0
- movs r2, 0
- bl sub_80B45B4
- b _080B47AA
- .align 2, 0
-_080B479C: .4byte gUnknown_083CC732
-_080B47A0:
- ldr r1, _080B47D4 @ =gUnknown_083CC738
- adds r0, r3, 0
- movs r2, 0
- bl sub_80B45B4
-_080B47AA:
- ldrh r0, [r4]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r4]
- adds r5, r0, 0
- cmp r5, 0
- bne _080B47CE
- bl DrawWholeMapView
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- strh r0, [r4, 0x2]
- strh r5, [r4, 0x6]
-_080B47CE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B47D4: .4byte gUnknown_083CC738
- thumb_func_end sub_80B4710
-
- thumb_func_start sub_80B47D8
-sub_80B47D8: @ 80B47D8
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _080B481C @ =sub_80B4710
- adds r0, r6, 0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080B4820 @ =gTasks + 0x8
- adds r7, r0, r1
- adds r0, r7, 0
- adds r0, 0x8
- adds r1, r7, 0
- adds r1, 0xA
- bl PlayerGetDestCoords
- movs r0, 0
- strh r0, [r7]
- strh r0, [r7, 0x2]
- strh r5, [r7, 0x4]
- adds r0, r4, 0
- bl _call_via_r6
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B481C: .4byte sub_80B4710
-_080B4820: .4byte gTasks + 0x8
- thumb_func_end sub_80B47D8
-
- thumb_func_start sub_80B4824
-sub_80B4824: @ 80B4824
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80B47D8
- ldr r1, _080B4838 @ =gUnknown_02038731
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080B4838: .4byte gUnknown_02038731
- thumb_func_end sub_80B4824
-
- thumb_func_start sub_80B483C
-sub_80B483C: @ 80B483C
- push {lr}
- ldr r0, _080B484C @ =gUnknown_02038731
- ldrb r0, [r0]
- bl DestroyTask
- pop {r0}
- bx r0
- .align 2, 0
-_080B484C: .4byte gUnknown_02038731
- thumb_func_end sub_80B483C
-
- thumb_func_start sub_80B4850
-sub_80B4850: @ 80B4850
- push {lr}
- ldr r2, _080B4874 @ =gTasks
- ldr r0, _080B4878 @ =gUnknown_02038731
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080B487C
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- bne _080B487C
- movs r0, 0
- b _080B487E
- .align 2, 0
-_080B4874: .4byte gTasks
-_080B4878: .4byte gUnknown_02038731
-_080B487C:
- movs r0, 0x1
-_080B487E:
- pop {r1}
- bx r1
- thumb_func_end sub_80B4850
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/shop.s b/asm/shop.s
new file mode 100644
index 000000000..760586c18
--- /dev/null
+++ b/asm/shop.s
@@ -0,0 +1,3425 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start CreateShopMenu
+CreateShopMenu: @ 80B2D54
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ScriptContext2_Enable
+ ldr r1, _080B2D90 @ =gUnknown_03000708
+ movs r0, 0
+ strb r4, [r1, 0xC]
+ strb r0, [r1, 0x9]
+ cmp r4, 0
+ bne _080B2D9C
+ movs r0, 0x2
+ strb r0, [r1, 0xA]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0xA
+ movs r3, 0x7
+ bl MenuDrawTextWindow
+ ldr r3, _080B2D94 @ =gUnknown_083CC6D0
+ ldr r0, _080B2D98 @ =gUnknown_083CC6E8
+ str r0, [sp]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0x3
+ bl PrintMenuItemsReordered
+ b _080B2DBC
+ .align 2, 0
+_080B2D90: .4byte gUnknown_03000708
+_080B2D94: .4byte gUnknown_083CC6D0
+_080B2D98: .4byte gUnknown_083CC6E8
+_080B2D9C:
+ movs r0, 0x1
+ strb r0, [r1, 0xA]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0xA
+ movs r3, 0x5
+ bl MenuDrawTextWindow
+ ldr r3, _080B2DEC @ =gUnknown_083CC6D0
+ ldr r0, _080B2DF0 @ =gUnknown_083CC6EB
+ str r0, [sp]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0x2
+ bl PrintMenuItemsReordered
+_080B2DBC:
+ ldr r0, _080B2DF4 @ =gUnknown_03000708
+ ldrb r3, [r0, 0xA]
+ adds r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x9
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl InitMenu
+ ldr r0, _080B2DF8 @ =sub_80B2E38
+ movs r1, 0x8
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B2DEC: .4byte gUnknown_083CC6D0
+_080B2DF0: .4byte gUnknown_083CC6EB
+_080B2DF4: .4byte gUnknown_03000708
+_080B2DF8: .4byte sub_80B2E38
+ thumb_func_end CreateShopMenu
+
+ thumb_func_start SetShopMenuCallback
+SetShopMenuCallback: @ 80B2DFC
+ ldr r1, _080B2E04 @ =gUnknown_03000708
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080B2E04: .4byte gUnknown_03000708
+ thumb_func_end SetShopMenuCallback
+
+ thumb_func_start SetShopItemsForSale
+SetShopItemsForSale: @ 80B2E08
+ push {lr}
+ adds r1, r0, 0
+ movs r2, 0
+ ldr r3, _080B2E34 @ =gUnknown_03000708
+ str r1, [r3, 0x4]
+ strb r2, [r3, 0x8]
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _080B2E30
+_080B2E1A:
+ ldrb r0, [r3, 0x8]
+ adds r0, 0x1
+ strb r0, [r3, 0x8]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ lsls r0, r2, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080B2E1A
+_080B2E30:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2E34: .4byte gUnknown_03000708
+ thumb_func_end SetShopItemsForSale
+
+ thumb_func_start sub_80B2E38
+sub_80B2E38: @ 80B2E38
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r2, _080B2E60 @ =gMain
+ ldrh r1, [r2, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080B2E68
+ ldr r4, _080B2E64 @ =gUnknown_03000708
+ ldrb r0, [r4, 0x9]
+ cmp r0, 0
+ beq _080B2EF4
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ b _080B2E82
+ .align 2, 0
+_080B2E60: .4byte gMain
+_080B2E64: .4byte gUnknown_03000708
+_080B2E68:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080B2E90
+ ldr r4, _080B2E8C @ =gUnknown_03000708
+ ldrb r0, [r4, 0x9]
+ ldrb r1, [r4, 0xA]
+ cmp r0, r1
+ beq _080B2EF4
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+_080B2E82:
+ bl MoveMenuCursor
+ strb r0, [r4, 0x9]
+ b _080B2EF4
+ .align 2, 0
+_080B2E8C: .4byte gUnknown_03000708
+_080B2E90:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080B2EE0
+ movs r0, 0x5
+ bl PlaySE
+ ldr r3, _080B2EB0 @ =gUnknown_03000708
+ ldrb r0, [r3, 0xC]
+ cmp r0, 0
+ bne _080B2EBC
+ ldr r1, _080B2EB4 @ =gUnknown_083CC6D0
+ ldr r2, _080B2EB8 @ =gUnknown_083CC6E8
+ b _080B2EC0
+ .align 2, 0
+_080B2EB0: .4byte gUnknown_03000708
+_080B2EB4: .4byte gUnknown_083CC6D0
+_080B2EB8: .4byte gUnknown_083CC6E8
+_080B2EBC:
+ ldr r1, _080B2ED8 @ =gUnknown_083CC6D0
+ ldr r2, _080B2EDC @ =gUnknown_083CC6EB
+_080B2EC0:
+ ldrb r0, [r3, 0x9]
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+ b _080B2EF4
+ .align 2, 0
+_080B2ED8: .4byte gUnknown_083CC6D0
+_080B2EDC: .4byte gUnknown_083CC6EB
+_080B2EE0:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080B2EF4
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl HandleShopMenuQuit
+_080B2EF4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B2E38
+
+ thumb_func_start sub_80B2EFC
+sub_80B2EFC: @ 80B2EFC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B2F24 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r2, _080B2F28 @ =BuyMenuDrawGraphics
+ lsrs r0, r2, 16
+ strh r0, [r1, 0x18]
+ strh r2, [r1, 0x1A]
+ ldr r0, _080B2F2C @ =sub_80B2FA0
+ str r0, [r1]
+ movs r0, 0x1
+ movs r1, 0
+ bl fade_screen
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2F24: .4byte gTasks
+_080B2F28: .4byte BuyMenuDrawGraphics
+_080B2F2C: .4byte sub_80B2FA0
+ thumb_func_end sub_80B2EFC
+
+ thumb_func_start sub_80B2F30
+sub_80B2F30: @ 80B2F30
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B2F58 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r2, _080B2F5C @ =sub_80A6300
+ lsrs r0, r2, 16
+ strh r0, [r1, 0x18]
+ strh r2, [r1, 0x1A]
+ ldr r0, _080B2F60 @ =sub_80B2FA0
+ str r0, [r1]
+ movs r0, 0x1
+ movs r1, 0
+ bl fade_screen
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2F58: .4byte gTasks
+_080B2F5C: .4byte sub_80A6300
+_080B2F60: .4byte sub_80B2FA0
+ thumb_func_end sub_80B2F30
+
+ thumb_func_start HandleShopMenuQuit
+HandleShopMenuQuit: @ 80B2F64
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8072DEC
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0xB
+ movs r3, 0x8
+ bl MenuZeroFillWindowRect
+ bl sub_80BE3BC
+ bl ScriptContext2_Disable
+ adds r0, r4, 0
+ bl DestroyTask
+ ldr r0, _080B2F9C @ =gUnknown_03000708
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _080B2F96
+ bl _call_via_r0
+_080B2F96:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2F9C: .4byte gUnknown_03000708
+ thumb_func_end HandleShopMenuQuit
+
+ thumb_func_start sub_80B2FA0
+sub_80B2FA0: @ 80B2FA0
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080B2FD4 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080B2FCE
+ ldr r0, _080B2FD8 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x18]
+ lsls r0, 16
+ ldrh r1, [r1, 0x1A]
+ orrs r0, r1
+ bl SetMainCallback2
+ adds r0, r4, 0
+ bl DestroyTask
+_080B2FCE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2FD4: .4byte gPaletteFade
+_080B2FD8: .4byte gTasks
+ thumb_func_end sub_80B2FA0
+
+ thumb_func_start ReturnToShopMenuAfterExitingSellMenu
+ReturnToShopMenuAfterExitingSellMenu: @ 80B2FDC
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080B2FF8 @ =gUnknown_03000708
+ ldrb r0, [r0, 0xC]
+ bl CreateShopMenu
+ adds r0, r4, 0
+ bl DestroyTask
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B2FF8: .4byte gUnknown_03000708
+ thumb_func_end ReturnToShopMenuAfterExitingSellMenu
+
+ thumb_func_start Task_ExitSellMenu
+Task_ExitSellMenu: @ 80B2FFC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ bl sub_807D770
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080B3040
+ ldr r0, _080B3028 @ =gUnknown_03000708
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0x2
+ bne _080B3034
+ ldr r1, _080B302C @ =gOtherText_CanIHelpYou
+ ldr r2, _080B3030 @ =ReturnToShopMenuAfterExitingSellMenu
+ adds r0, r4, 0
+ movs r3, 0
+ bl DisplayItemMessageOnField
+ b _080B3040
+ .align 2, 0
+_080B3028: .4byte gUnknown_03000708
+_080B302C: .4byte gOtherText_CanIHelpYou
+_080B3030: .4byte ReturnToShopMenuAfterExitingSellMenu
+_080B3034:
+ ldr r1, _080B3048 @ =gOtherText_AnythingElse
+ ldr r2, _080B304C @ =ReturnToShopMenuAfterExitingSellMenu
+ adds r0, r5, 0
+ movs r3, 0
+ bl DisplayItemMessageOnField
+_080B3040:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3048: .4byte gOtherText_AnythingElse
+_080B304C: .4byte ReturnToShopMenuAfterExitingSellMenu
+ thumb_func_end Task_ExitSellMenu
+
+ thumb_func_start sub_80B3050
+sub_80B3050: @ 80B3050
+ push {lr}
+ bl pal_fill_black
+ ldr r0, _080B3064 @ =Task_ExitSellMenu
+ movs r1, 0x8
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3064: .4byte Task_ExitSellMenu
+ thumb_func_end sub_80B3050
+
+ thumb_func_start sub_80B3068
+sub_80B3068: @ 80B3068
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl Task_ExitSellMenu
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B3068
+
+ thumb_func_start unref_sub_80B3078
+unref_sub_80B3078: @ 80B3078
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B308C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r0, _080B3090 @ =Task_ExitSellMenu
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080B308C: .4byte gTasks
+_080B3090: .4byte Task_ExitSellMenu
+ thumb_func_end unref_sub_80B3078
+
+ thumb_func_start sub_80B3094
+sub_80B3094: @ 80B3094
+ push {lr}
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl RunTasks
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B3094
+
+ thumb_func_start sub_80B30AC
+sub_80B30AC: @ 80B30AC
+ push {r4,lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ ldr r3, _080B30F0 @ =gBG1TilemapBuffer
+ ldr r1, _080B30F4 @ =0x0600e800
+ ldr r0, _080B30F8 @ =0x040000d4
+ str r3, [r0]
+ str r1, [r0, 0x4]
+ ldr r4, _080B30FC @ =0x80000400
+ str r4, [r0, 0x8]
+ ldr r1, [r0, 0x8]
+ movs r2, 0x80
+ lsls r2, 4
+ adds r1, r3, r2
+ ldr r2, _080B3100 @ =0x0600e000
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ str r4, [r0, 0x8]
+ ldr r1, [r0, 0x8]
+ movs r1, 0x80
+ lsls r1, 5
+ adds r3, r1
+ ldr r1, _080B3104 @ =0x0600f000
+ str r3, [r0]
+ str r1, [r0, 0x4]
+ str r4, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B30F0: .4byte gBG1TilemapBuffer
+_080B30F4: .4byte 0x0600e800
+_080B30F8: .4byte 0x040000d4
+_080B30FC: .4byte 0x80000400
+_080B3100: .4byte 0x0600e000
+_080B3104: .4byte 0x0600f000
+ thumb_func_end sub_80B30AC
+
+ thumb_func_start BuyMenuDrawGraphics
+BuyMenuDrawGraphics: @ 80B3108
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x8
+ bl sub_80F9438
+ bl remove_some_task
+ ldr r0, _080B3204 @ =REG_BG1HOFS
+ movs r5, 0
+ strh r5, [r0]
+ adds r0, 0x2
+ strh r5, [r0]
+ adds r0, 0x2
+ strh r5, [r0]
+ adds r0, 0x2
+ strh r5, [r0]
+ adds r0, 0x2
+ strh r5, [r0]
+ adds r0, 0x2
+ strh r5, [r0]
+ ldr r0, _080B3208 @ =gPaletteFade
+ mov r8, r0
+ ldrb r0, [r0, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ mov r1, r8
+ strb r0, [r1, 0x8]
+ movs r1, 0xE0
+ lsls r1, 19
+ movs r6, 0
+ str r6, [sp, 0x4]
+ ldr r0, _080B320C @ =0x040000d4
+ add r2, sp, 0x4
+ str r2, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _080B3210 @ =0x85000100
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ ldr r0, _080B3214 @ =gBuyMenuFrame_Gfx
+ ldr r1, _080B3218 @ =0x06007c00
+ bl LZDecompressVram
+ ldr r0, _080B321C @ =gBuyMenuFrame_Tilemap
+ ldr r1, _080B3220 @ =0x02018000
+ bl sub_800D238
+ ldr r0, _080B3224 @ =gMenuMoneyPal
+ movs r1, 0xC0
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ bl FreeAllSpritePalettes
+ bl ResetPaletteFade
+ bl ResetSpriteData
+ bl ResetTasks
+ ldr r4, _080B3228 @ =gWindowConfig_81E6DFC
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ adds r0, r4, 0
+ bl InitMenuWindow
+ bl BuyMenuDrawMapGraphics
+ ldr r0, _080B322C @ =gUnknown_03000708
+ strb r6, [r0, 0x9]
+ strb r5, [r0, 0xB]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x20
+ movs r3, 0x20
+ bl MenuZeroFillWindowRect
+ ldr r0, _080B3230 @ =gSaveBlock1
+ movs r1, 0x92
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0
+ movs r2, 0
+ bl sub_80B7C14
+ movs r0, 0
+ movs r1, 0x7
+ bl sub_80B3764
+ bl sub_80B37EC
+ bl sub_80B3270
+ ldr r0, _080B3234 @ =sub_80B40E8
+ movs r1, 0x8
+ bl CreateTask
+ bl sub_80B3240
+ movs r0, 0x1
+ negs r0, r0
+ str r6, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ mov r2, r8
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ ldr r0, _080B3238 @ =sub_80B30AC
+ bl SetVBlankCallback
+ ldr r0, _080B323C @ =sub_80B3094
+ bl SetMainCallback2
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3204: .4byte REG_BG1HOFS
+_080B3208: .4byte gPaletteFade
+_080B320C: .4byte 0x040000d4
+_080B3210: .4byte 0x85000100
+_080B3214: .4byte gBuyMenuFrame_Gfx
+_080B3218: .4byte 0x06007c00
+_080B321C: .4byte gBuyMenuFrame_Tilemap
+_080B3220: .4byte 0x02018000
+_080B3224: .4byte gMenuMoneyPal
+_080B3228: .4byte gWindowConfig_81E6DFC
+_080B322C: .4byte gUnknown_03000708
+_080B3230: .4byte gSaveBlock1
+_080B3234: .4byte sub_80B40E8
+_080B3238: .4byte sub_80B30AC
+_080B323C: .4byte sub_80B3094
+ thumb_func_end BuyMenuDrawGraphics
+
+ thumb_func_start sub_80B3240
+sub_80B3240: @ 80B3240
+ push {lr}
+ sub sp, 0x4
+ ldr r1, _080B326C @ =gUnknown_083CC710
+ mov r0, sp
+ movs r2, 0x4
+ bl memcpy
+ mov r0, sp
+ adds r0, 0x2
+ movs r1, 0xD1
+ movs r2, 0x2
+ bl LoadPalette
+ mov r0, sp
+ movs r1, 0xD8
+ movs r2, 0x2
+ bl LoadPalette
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B326C: .4byte gUnknown_083CC710
+ thumb_func_end sub_80B3240
+
+ thumb_func_start sub_80B3270
+sub_80B3270: @ 80B3270
+ push {lr}
+ bl sub_80F944C
+ ldr r0, _080B32A0 @ =gUnknown_03000708
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0x7
+ bls _080B329A
+ movs r0, 0
+ movs r1, 0xAC
+ movs r2, 0xC
+ bl CreateVerticalScrollIndicators
+ movs r0, 0x1
+ movs r1, 0xAC
+ movs r2, 0x94
+ bl CreateVerticalScrollIndicators
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_80F979C
+_080B329A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B32A0: .4byte gUnknown_03000708
+ thumb_func_end sub_80B3270
+
+ thumb_func_start sub_80B32A4
+sub_80B32A4: @ 80B32A4
+ push {lr}
+ ldr r0, _080B32B8 @ =gUnknown_03000708
+ ldrb r0, [r0, 0xB]
+ cmp r0, 0
+ bne _080B32BC
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_80F979C
+ b _080B32C4
+ .align 2, 0
+_080B32B8: .4byte gUnknown_03000708
+_080B32BC:
+ movs r0, 0
+ movs r1, 0
+ bl sub_80F979C
+_080B32C4:
+ ldr r1, _080B32DC @ =gUnknown_03000708
+ ldrb r0, [r1, 0xB]
+ adds r0, 0x7
+ ldrb r1, [r1, 0x8]
+ cmp r0, r1
+ blt _080B32E0
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_80F979C
+ b _080B32E8
+ .align 2, 0
+_080B32DC: .4byte gUnknown_03000708
+_080B32E0:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_80F979C
+_080B32E8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B32A4
+
+ thumb_func_start sub_80B32EC
+sub_80B32EC: @ 80B32EC
+ lsls r1, 16
+ asrs r1, 16
+ lsls r2, 16
+ asrs r2, 16
+ adds r1, r2
+ lsls r1, 1
+ adds r1, r0
+ ldr r2, _080B3304 @ =0x0000c3e1
+ adds r0, r2, 0
+ strh r0, [r1]
+ strh r0, [r1, 0x2]
+ bx lr
+ .align 2, 0
+_080B3304: .4byte 0x0000c3e1
+ thumb_func_end sub_80B32EC
+
+ thumb_func_start BuyMenuDrawMapMetatileLayer
+BuyMenuDrawMapMetatileLayer: @ 80B3308
+ lsls r1, 16
+ asrs r1, 16
+ lsls r2, 16
+ asrs r2, 16
+ adds r1, r2
+ lsls r1, 1
+ adds r1, r0
+ ldrh r0, [r3]
+ strh r0, [r1]
+ ldrh r0, [r3, 0x2]
+ strh r0, [r1, 0x2]
+ adds r2, r1, 0
+ adds r2, 0x40
+ ldrh r0, [r3, 0x4]
+ strh r0, [r2]
+ adds r1, 0x42
+ ldrh r0, [r3, 0x6]
+ strh r0, [r1]
+ bx lr
+ thumb_func_end BuyMenuDrawMapMetatileLayer
+
+ thumb_func_start BuyMenuDrawMapMetatile
+BuyMenuDrawMapMetatile: @ 80B3330
+ push {r4-r7,lr}
+ adds r7, r2, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r2, r3, 0
+ lsls r0, 17
+ lsrs r0, 16
+ lsls r1, 22
+ movs r4, 0x80
+ lsls r4, 15
+ adds r1, r4
+ lsrs r1, 16
+ cmp r3, 0x1
+ beq _080B3364
+ cmp r3, 0x1
+ bgt _080B3356
+ cmp r3, 0
+ beq _080B335C
+ b _080B33C0
+_080B3356:
+ cmp r2, 0x2
+ beq _080B3398
+ b _080B33C0
+_080B335C:
+ ldr r5, _080B3360 @ =gBG2TilemapBuffer
+ b _080B3366
+ .align 2, 0
+_080B3360: .4byte gBG2TilemapBuffer
+_080B3364:
+ ldr r5, _080B3390 @ =gBG3TilemapBuffer
+_080B3366:
+ lsls r6, r0, 16
+ asrs r6, 16
+ lsls r4, r1, 16
+ asrs r4, 16
+ adds r0, r5, 0
+ adds r1, r6, 0
+ adds r2, r4, 0
+ adds r3, r7, 0
+ bl BuyMenuDrawMapMetatileLayer
+ ldr r0, _080B3394 @ =0xfffff800
+ adds r5, r0
+ adds r3, r7, 0
+ adds r3, 0x8
+ adds r0, r5, 0
+ adds r1, r6, 0
+ adds r2, r4, 0
+ bl BuyMenuDrawMapMetatileLayer
+ b _080B33C0
+ .align 2, 0
+_080B3390: .4byte gBG3TilemapBuffer
+_080B3394: .4byte 0xfffff800
+_080B3398:
+ ldr r5, _080B33C8 @ =gBG3TilemapBuffer
+ lsls r6, r0, 16
+ asrs r6, 16
+ lsls r4, r1, 16
+ asrs r4, 16
+ adds r0, r5, 0
+ adds r1, r6, 0
+ adds r2, r4, 0
+ adds r3, r7, 0
+ bl BuyMenuDrawMapMetatileLayer
+ ldr r0, _080B33CC @ =0xfffff000
+ adds r5, r0
+ adds r3, r7, 0
+ adds r3, 0x8
+ adds r0, r5, 0
+ adds r1, r6, 0
+ adds r2, r4, 0
+ bl BuyMenuDrawMapMetatileLayer
+_080B33C0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B33C8: .4byte gBG3TilemapBuffer
+_080B33CC: .4byte 0xfffff000
+ thumb_func_end BuyMenuDrawMapMetatile
+
+ thumb_func_start sub_80B33D0
+sub_80B33D0: @ 80B33D0
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ adds r6, r0, 0
+ adds r4, r1, 0
+ mov r8, r2
+ lsls r4, 22
+ ldr r5, _080B3418 @ =gBG3TilemapBuffer
+ lsls r6, 17
+ asrs r6, 16
+ movs r0, 0x80
+ lsls r0, 15
+ adds r4, r0
+ asrs r4, 16
+ adds r0, r5, 0
+ adds r1, r6, 0
+ adds r2, r4, 0
+ mov r3, r8
+ bl BuyMenuDrawMapMetatileLayer
+ ldr r0, _080B341C @ =0xfffff800
+ adds r5, r0
+ movs r0, 0x8
+ add r8, r0
+ adds r0, r5, 0
+ adds r1, r6, 0
+ adds r2, r4, 0
+ mov r3, r8
+ bl BuyMenuDrawMapMetatileLayer
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3418: .4byte gBG3TilemapBuffer
+_080B341C: .4byte 0xfffff800
+ thumb_func_end sub_80B33D0
+
+ thumb_func_start sub_80B3420
+sub_80B3420: @ 80B3420
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl GetXYCoordsOneStepInFrontOfPlayer
+ mov r1, sp
+ mov r0, sp
+ ldrh r0, [r0]
+ subs r0, 0x3
+ strh r0, [r1]
+ ldrh r0, [r4]
+ subs r0, 0x3
+ strh r0, [r4]
+ movs r1, 0
+ ldr r0, _080B34A8 @ =0x000001ff
+ mov r10, r0
+ ldr r2, _080B34AC @ =gMapHeader
+ mov r9, r2
+_080B3452:
+ movs r4, 0
+ lsls r1, 16
+ mov r8, r1
+ asrs r7, r1, 16
+_080B345A:
+ mov r0, sp
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ lsls r4, 16
+ asrs r6, r4, 16
+ adds r0, r6
+ mov r2, sp
+ movs r3, 0x2
+ ldrsh r1, [r2, r3]
+ adds r1, r7
+ bl MapGridGetMetatileIdAt
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r7, 0x5
+ beq _080B34D0
+ cmp r6, 0x6
+ beq _080B34D0
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ adds r0, r6
+ mov r2, sp
+ movs r3, 0x2
+ ldrsh r1, [r2, r3]
+ adds r1, r7
+ bl MapGridGetMetatileLayerTypeAt
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r5, r10
+ bhi _080B34B0
+ mov r1, r9
+ ldr r0, [r1]
+ ldr r0, [r0, 0x10]
+ lsls r1, r5, 4
+ ldr r2, [r0, 0xC]
+ adds r2, r1
+ b _080B34C0
+ .align 2, 0
+_080B34A8: .4byte 0x000001ff
+_080B34AC: .4byte gMapHeader
+_080B34B0:
+ mov r2, r9
+ ldr r0, [r2]
+ ldr r1, [r0, 0x14]
+ ldr r2, _080B34CC @ =0xfffffe00
+ adds r0, r5, r2
+ lsls r0, 4
+ ldr r2, [r1, 0xC]
+ adds r2, r0
+_080B34C0:
+ adds r0, r6, 0
+ adds r1, r7, 0
+ bl BuyMenuDrawMapMetatile
+ b _080B3506
+ .align 2, 0
+_080B34CC: .4byte 0xfffffe00
+_080B34D0:
+ cmp r5, r10
+ bhi _080B34EC
+ asrs r0, r4, 16
+ mov r3, r9
+ ldr r1, [r3]
+ ldr r1, [r1, 0x10]
+ lsls r3, r5, 4
+ ldr r2, [r1, 0xC]
+ adds r2, r3
+ mov r3, r8
+ asrs r1, r3, 16
+ bl sub_80B33D0
+ b _080B3506
+_080B34EC:
+ asrs r0, r4, 16
+ mov r2, r9
+ ldr r1, [r2]
+ ldr r2, [r1, 0x14]
+ ldr r3, _080B354C @ =0xfffffe00
+ adds r1, r5, r3
+ lsls r1, 4
+ ldr r2, [r2, 0xC]
+ adds r2, r1
+ mov r3, r8
+ asrs r1, r3, 16
+ bl sub_80B33D0
+_080B3506:
+ cmp r7, 0
+ bne _080B3520
+ asrs r1, r4, 16
+ cmp r1, 0
+ beq _080B3520
+ cmp r1, 0x6
+ beq _080B3520
+ lsls r1, 17
+ asrs r1, 16
+ ldr r0, _080B3550 @ =gBG1TilemapBuffer
+ movs r2, 0x40
+ bl sub_80B32EC
+_080B3520:
+ movs r1, 0x80
+ lsls r1, 9
+ adds r0, r4, r1
+ lsrs r4, r0, 16
+ asrs r0, 16
+ cmp r0, 0x6
+ ble _080B345A
+ adds r0, r1, 0
+ add r0, r8
+ lsrs r1, r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ ble _080B3452
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B354C: .4byte 0xfffffe00
+_080B3550: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80B3420
+
+ thumb_func_start BuyMenuDrawMapGraphics
+BuyMenuDrawMapGraphics: @ 80B3554
+ push {lr}
+ bl sub_80F9020
+ bl sub_80B356C
+ bl sub_80B368C
+ bl sub_80B3420
+ pop {r0}
+ bx r0
+ thumb_func_end BuyMenuDrawMapGraphics
+
+ thumb_func_start sub_80B356C
+sub_80B356C: @ 80B356C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ movs r0, 0
+ mov r8, r0
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl GetXYCoordsOneStepInFrontOfPlayer
+ bl PlayerGetZCoord
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ movs r5, 0
+ ldr r2, _080B3674 @ =gUnknown_020386A4
+ movs r1, 0x10
+_080B3598:
+ lsls r0, r5, 3
+ adds r0, r2
+ strh r1, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xF
+ bls _080B3598
+ movs r5, 0
+ ldr r7, _080B3678 @ =gUnknown_020386AA
+ subs r1, r7, 0x6
+ mov r9, r1
+_080B35B0:
+ movs r4, 0
+ adds r2, r5, 0x1
+ mov r10, r2
+_080B35B6:
+ mov r1, sp
+ ldr r3, _080B367C @ =0x0000fffd
+ adds r0, r3, 0
+ ldrh r1, [r1]
+ adds r0, r1
+ adds r0, r4
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _080B3680 @ =0x0000fffe
+ adds r1, r2, 0
+ mov r3, sp
+ ldrh r3, [r3, 0x2]
+ adds r1, r3
+ adds r1, r5
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, [sp, 0x4]
+ bl GetFieldObjectIdByXYZ
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x10
+ beq _080B3650
+ mov r0, r8
+ lsls r3, r0, 3
+ mov r1, r9
+ adds r0, r3, r1
+ movs r6, 0
+ strh r2, [r0]
+ mov r0, r9
+ adds r0, 0x2
+ adds r0, r3, r0
+ strh r4, [r0]
+ ldr r1, _080B3684 @ =gUnknown_020386A8
+ adds r0, r3, r1
+ strh r5, [r0]
+ ldr r1, _080B3688 @ =gMapObjects
+ lsls r0, r2, 3
+ adds r0, r2
+ lsls r0, 2
+ adds r2, r0, r1
+ ldrb r0, [r2, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ cmp r0, 0x1
+ bne _080B3616
+ adds r0, r3, r7
+ strh r6, [r0]
+_080B3616:
+ ldrb r0, [r2, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ cmp r0, 0x2
+ bne _080B3626
+ adds r1, r3, r7
+ movs r0, 0x1
+ strh r0, [r1]
+_080B3626:
+ ldrb r0, [r2, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ cmp r0, 0x3
+ bne _080B3636
+ adds r1, r3, r7
+ movs r0, 0x2
+ strh r0, [r1]
+_080B3636:
+ ldrb r0, [r2, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ cmp r0, 0x4
+ bne _080B3646
+ adds r1, r3, r7
+ movs r0, 0x3
+ strh r0, [r1]
+_080B3646:
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+_080B3650:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x6
+ bls _080B35B6
+ mov r2, r10
+ lsls r0, r2, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _080B35B0
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3674: .4byte gUnknown_020386A4
+_080B3678: .4byte gUnknown_020386AA
+_080B367C: .4byte 0x0000fffd
+_080B3680: .4byte 0x0000fffe
+_080B3684: .4byte gUnknown_020386A8
+_080B3688: .4byte gMapObjects
+ thumb_func_end sub_80B356C
+
+ thumb_func_start sub_80B368C
+sub_80B368C: @ 80B368C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ movs r5, 0
+ ldr r6, _080B3710 @ =gUnknown_020386A4
+ adds r0, r6, 0x6
+ mov r8, r0
+ ldr r7, _080B3714 @ =gMapObjects
+_080B369E:
+ lsls r4, r5, 3
+ adds r1, r4, r6
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x10
+ beq _080B36F8
+ adds r1, r0, 0
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r7
+ ldrb r0, [r0, 0x5]
+ adds r1, r6, 0x2
+ adds r1, r4, r1
+ ldrh r2, [r1]
+ lsls r2, 4
+ adds r2, 0x8
+ lsls r2, 16
+ asrs r2, 16
+ adds r1, r6, 0x4
+ adds r1, r4, r1
+ ldrh r3, [r1]
+ lsls r3, 20
+ movs r1, 0x80
+ lsls r1, 14
+ adds r3, r1
+ asrs r3, 16
+ movs r1, 0x2
+ str r1, [sp]
+ ldr r1, _080B3718 @ =SpriteCallbackDummy
+ bl AddPseudoFieldObject
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ ldr r0, _080B371C @ =gSprites
+ adds r2, r0
+ mov r1, r8
+ adds r0, r4, r1
+ ldrb r1, [r0]
+ adds r0, r2, 0
+ bl StartSpriteAnim
+_080B36F8:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xF
+ bls _080B369E
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3710: .4byte gUnknown_020386A4
+_080B3714: .4byte gMapObjects
+_080B3718: .4byte SpriteCallbackDummy
+_080B371C: .4byte gSprites
+ thumb_func_end sub_80B368C
+
+ thumb_func_start sub_80B3720
+sub_80B3720: @ 80B3720
+ push {r4-r6,lr}
+ movs r1, 0
+ ldr r6, _080B3754 @ =gBG1TilemapBuffer
+ ldr r5, _080B3758 @ =0x000003ff
+ ldr r4, _080B375C @ =0x02018000
+ ldr r0, _080B3760 @ =0x0000c3e0
+ adds r3, r0, 0
+_080B372E:
+ lsls r0, r1, 16
+ asrs r2, r0, 16
+ lsls r1, r2, 1
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _080B3742
+ adds r1, r6
+ adds r0, r3
+ strh r0, [r1]
+_080B3742:
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ asrs r0, 16
+ cmp r0, r5
+ ble _080B372E
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3754: .4byte gBG1TilemapBuffer
+_080B3758: .4byte 0x000003ff
+_080B375C: .4byte 0x02018000
+_080B3760: .4byte 0x0000c3e0
+ thumb_func_end sub_80B3720
+
+ thumb_func_start sub_80B3764
+sub_80B3764: @ 80B3764
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r5, r1, 0
+ bl sub_80B3720
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0
+ bl sub_80B39D0
+ ldr r0, _080B3798 @ =gUnknown_03000708
+ ldrb r0, [r0, 0x9]
+ str r0, [sp]
+ movs r0, 0xF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x2
+ movs r3, 0x8
+ bl InitMenu
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3798: .4byte gUnknown_03000708
+ thumb_func_end sub_80B3764
+
+ thumb_func_start sub_80B379C
+sub_80B379C: @ 80B379C
+ push {r4-r7,lr}
+ movs r1, 0
+ ldr r0, _080B37E0 @ =gBG1TilemapBuffer
+ mov r12, r0
+ ldr r7, _080B37E4 @ =0x02018300
+ ldr r0, _080B37E8 @ =0x0000c3e0
+ adds r6, r0, 0
+_080B37AA:
+ movs r2, 0
+ adds r0, r1, 0
+ adds r0, 0xC
+ adds r5, r1, 0x1
+ lsls r4, r0, 5
+ lsls r3, r1, 5
+_080B37B6:
+ adds r1, r4, r2
+ lsls r1, 1
+ add r1, r12
+ adds r0, r3, r2
+ lsls r0, 1
+ adds r0, r7
+ ldrh r0, [r0]
+ adds r0, r6, r0
+ strh r0, [r1]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0xD
+ bls _080B37B6
+ lsls r0, r5, 16
+ lsrs r1, r0, 16
+ cmp r1, 0x7
+ bls _080B37AA
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B37E0: .4byte gBG1TilemapBuffer
+_080B37E4: .4byte 0x02018300
+_080B37E8: .4byte 0x0000c3e0
+ thumb_func_end sub_80B379C
+
+ thumb_func_start sub_80B37EC
+sub_80B37EC: @ 80B37EC
+ push {lr}
+ bl sub_80B3A70
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B37EC
+
+ thumb_func_start sub_80B37F8
+sub_80B37F8: @ 80B37F8
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r6, r0, 0
+ lsls r6, 24
+ lsrs r6, 24
+ ldr r1, _080B3884 @ =gUnknown_03000708
+ ldrb r0, [r1, 0xB]
+ ldrb r2, [r1, 0x9]
+ adds r0, r2
+ ldr r1, [r1, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl ItemId_GetPrice
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl GetPriceReduction
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r0, 24
+ lsrs r0, 24
+ asrs r4, r0
+ ldr r0, _080B3888 @ =gTasks
+ lsls r5, r6, 2
+ adds r5, r6
+ lsls r5, 3
+ adds r5, r0
+ movs r1, 0xA
+ ldrsh r0, [r5, r1]
+ muls r0, r4
+ movs r1, 0x6
+ movs r2, 0x6
+ movs r3, 0xB
+ bl sub_80B7A94
+ ldr r0, _080B388C @ =gStringVar1
+ movs r1, 0xFC
+ strb r1, [r0]
+ movs r1, 0x14
+ strb r1, [r0, 0x1]
+ movs r1, 0x6
+ strb r1, [r0, 0x2]
+ adds r0, 0x3
+ movs r2, 0xA
+ ldrsh r1, [r5, r2]
+ movs r2, 0x1
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080B3890 @ =gOtherText_xString1
+ movs r1, 0x1
+ movs r2, 0xB
+ bl MenuPrint
+ ldr r0, _080B3894 @ =gBG1TilemapBuffer
+ movs r1, 0x2
+ str r1, [sp]
+ ldr r1, _080B3898 @ =0x0000c3e1
+ str r1, [sp, 0x4]
+ movs r1, 0x1
+ movs r2, 0xB
+ movs r3, 0xC
+ bl sub_80A3FA0
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3884: .4byte gUnknown_03000708
+_080B3888: .4byte gTasks
+_080B388C: .4byte gStringVar1
+_080B3890: .4byte gOtherText_xString1
+_080B3894: .4byte gBG1TilemapBuffer
+_080B3898: .4byte 0x0000c3e1
+ thumb_func_end sub_80B37F8
+
+ thumb_func_start sub_80B389C
+sub_80B389C: @ 80B389C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ mov r8, r2
+ lsls r0, 16
+ lsrs r2, r0, 16
+ mov r9, r2
+ lsls r1, 24
+ lsrs r4, r1, 24
+ ldr r5, _080B392C @ =gStringVar1
+ mov r0, r8
+ cmp r0, 0
+ beq _080B38C8
+ movs r0, 0xFC
+ strb r0, [r5]
+ movs r0, 0x1
+ strb r0, [r5, 0x1]
+ movs r0, 0x2
+ strb r0, [r5, 0x2]
+ adds r5, 0x3
+_080B38C8:
+ adds r0, r2, 0
+ adds r1, r5, 0
+ bl CopyItemName
+ ldr r6, _080B392C @ =gStringVar1
+ lsls r7, r4, 3
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r6, 0
+ movs r1, 0x70
+ adds r2, r7, 0
+ movs r3, 0x58
+ bl sub_8072A18
+ adds r5, r6, 0
+ mov r0, r8
+ cmp r0, 0
+ beq _080B38EE
+ adds r5, r6, 0x3
+_080B38EE:
+ mov r0, r9
+ bl ItemId_GetPrice
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl GetPriceReduction
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r0, 24
+ lsrs r0, 24
+ asrs r4, r0
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x4
+ bl sub_80B79F8
+ adds r0, r6, 0
+ movs r1, 0xCA
+ adds r2, r7, 0
+ movs r3, 0x1
+ bl MenuPrint_PixelCoords
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B392C: .4byte gStringVar1
+ thumb_func_end sub_80B389C
+
+ thumb_func_start sub_80B3930
+sub_80B3930: @ 80B3930
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ adds r4, r2, 0
+ lsls r0, 16
+ lsrs r3, r0, 16
+ lsls r1, 24
+ lsrs r1, 24
+ mov r9, r1
+ ldr r2, _080B39A0 @ =gStringVar1
+ cmp r4, 0
+ beq _080B395A
+ movs r0, 0xFC
+ strb r0, [r2]
+ movs r0, 0x1
+ strb r0, [r2, 0x1]
+ movs r0, 0x2
+ strb r0, [r2, 0x2]
+ adds r2, 0x3
+_080B395A:
+ lsls r6, r3, 5
+ ldr r0, _080B39A4 @ =gDecorations + 0x1
+ mov r8, r0
+ adds r1, r6, r0
+ adds r0, r2, 0
+ bl StringCopy
+ ldr r5, _080B39A0 @ =gStringVar1
+ mov r0, r9
+ lsls r7, r0, 3
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0x70
+ adds r2, r7, 0
+ movs r3, 0x58
+ bl sub_8072A18
+ adds r2, r5, 0
+ cmp r4, 0
+ beq _080B3986
+ adds r2, r5, 0x3
+_080B3986:
+ mov r0, r8
+ subs r0, 0x1
+ adds r3, r6, r0
+ ldrh r1, [r3, 0x14]
+ ldr r0, _080B39A8 @ =0x00002710
+ cmp r1, r0
+ bne _080B39AC
+ movs r0, 0x19
+ mov r1, r9
+ adds r2, r4, 0
+ bl sub_80B7B34
+ b _080B39C2
+ .align 2, 0
+_080B39A0: .4byte gStringVar1
+_080B39A4: .4byte gDecorations + 0x1
+_080B39A8: .4byte 0x00002710
+_080B39AC:
+ ldrh r1, [r3, 0x14]
+ adds r0, r2, 0
+ movs r2, 0x4
+ bl sub_80B79F8
+ adds r0, r5, 0
+ movs r1, 0xCA
+ adds r2, r7, 0
+ movs r3, 0x1
+ bl MenuPrint_PixelCoords
+_080B39C2:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B3930
+
+ thumb_func_start sub_80B39D0
+sub_80B39D0: @ 80B39D0
+ push {r4-r6,lr}
+ adds r6, r1, 0
+ adds r5, r2, 0
+ b _080B3A1A
+_080B39D8:
+ ldrb r0, [r1, 0xC]
+ cmp r0, 0
+ bne _080B39FC
+ ldrb r0, [r1, 0xB]
+ adds r0, r4
+ ldr r1, [r1, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r1, r4, 25
+ movs r2, 0x80
+ lsls r2, 18
+ adds r1, r2
+ lsrs r1, 24
+ adds r2, r5, 0
+ bl sub_80B389C
+ b _080B3A18
+_080B39FC:
+ ldrb r0, [r1, 0xB]
+ adds r0, r4
+ ldr r1, [r1, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r1, r4, 25
+ movs r2, 0x80
+ lsls r2, 18
+ adds r1, r2
+ lsrs r1, 24
+ adds r2, r5, 0
+ bl sub_80B3930
+_080B3A18:
+ adds r0, r4, 0x1
+_080B3A1A:
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r6
+ bgt _080B3A2E
+ ldr r1, _080B3A68 @ =gUnknown_03000708
+ ldrb r0, [r1, 0xB]
+ adds r0, r4
+ ldrb r2, [r1, 0x8]
+ cmp r0, r2
+ blt _080B39D8
+_080B3A2E:
+ cmp r4, 0x8
+ beq _080B3A60
+ ldr r1, _080B3A68 @ =gUnknown_03000708
+ ldrb r0, [r1, 0xB]
+ adds r0, r4
+ ldrb r1, [r1, 0x8]
+ cmp r0, r1
+ bne _080B3A60
+ lsls r3, r4, 1
+ adds r4, r3, 0x2
+ lsls r4, 24
+ lsrs r4, 24
+ adds r3, 0x3
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0xE
+ adds r1, r4, 0
+ movs r2, 0x1C
+ bl MenuFillWindowRectWithBlankTile
+ ldr r0, _080B3A6C @ =gOtherText_CancelNoTerminator
+ movs r1, 0xE
+ adds r2, r4, 0
+ bl MenuPrint
+_080B3A60:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3A68: .4byte gUnknown_03000708
+_080B3A6C: .4byte gOtherText_CancelNoTerminator
+ thumb_func_end sub_80B39D0
+
+ thumb_func_start sub_80B3A70
+sub_80B3A70: @ 80B3A70
+ push {r4,lr}
+ sub sp, 0x8
+ ldr r2, _080B3A9C @ =gUnknown_03000708
+ ldrb r1, [r2, 0xB]
+ ldrb r0, [r2, 0x9]
+ adds r0, r1, r0
+ ldrb r1, [r2, 0x8]
+ cmp r0, r1
+ beq _080B3ACC
+ ldrb r4, [r2, 0xC]
+ cmp r4, 0
+ bne _080B3AA0
+ ldr r1, [r2, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl ItemId_GetDescription
+ movs r1, 0x30
+ str r1, [sp]
+ str r4, [sp, 0x4]
+ b _080B3ABA
+ .align 2, 0
+_080B3A9C: .4byte gUnknown_03000708
+_080B3AA0:
+ ldr r1, _080B3AC8 @ =gDecorations
+ ldr r2, [r2, 0x4]
+ lsls r0, 1
+ adds r0, r2
+ ldrh r0, [r0]
+ lsls r0, 5
+ adds r1, 0x18
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x30
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+_080B3ABA:
+ movs r1, 0x4
+ movs r2, 0x68
+ movs r3, 0x68
+ bl sub_8072AB0
+ b _080B3AE0
+ .align 2, 0
+_080B3AC8: .4byte gDecorations
+_080B3ACC:
+ ldr r0, _080B3AE8 @ =gOtherText_QuitShopping
+ movs r1, 0x30
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ movs r1, 0x4
+ movs r2, 0x68
+ movs r3, 0x68
+ bl sub_8072AB0
+_080B3AE0:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3AE8: .4byte gOtherText_QuitShopping
+ thumb_func_end sub_80B3A70
+
+ thumb_func_start sub_80B3AEC
+sub_80B3AEC: @ 80B3AEC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _080B3B5C @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080B3B06
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080B3B7A
+_080B3B06:
+ ldr r4, _080B3B60 @ =gUnknown_03000708
+ ldrb r1, [r4, 0x9]
+ adds r0, r1, 0
+ movs r2, 0
+ bl sub_80B39D0
+ movs r0, 0x5
+ bl PlaySE
+ ldrb r0, [r4, 0xB]
+ ldrb r1, [r4, 0x9]
+ adds r0, r1
+ ldr r1, [r4, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bne _080B3B74
+ ldr r0, _080B3B64 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x9
+ ble _080B3B74
+ movs r0, 0xC
+ movs r1, 0x1
+ bl AddBagItem
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080B3B74
+ ldr r1, _080B3B68 @ =gOtherText_FreePremierBall
+ ldr r2, _080B3B6C @ =sub_80B4378
+ ldr r3, _080B3B70 @ =0x0000c3e1
+ adds r0, r5, 0
+ bl DisplayItemMessageOnField
+ b _080B3B7A
+ .align 2, 0
+_080B3B5C: .4byte gMain
+_080B3B60: .4byte gUnknown_03000708
+_080B3B64: .4byte gTasks
+_080B3B68: .4byte gOtherText_FreePremierBall
+_080B3B6C: .4byte sub_80B4378
+_080B3B70: .4byte 0x0000c3e1
+_080B3B74:
+ adds r0, r5, 0
+ bl sub_80B4378
+_080B3B7A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B3AEC
+
+ thumb_func_start sub_80B3B80
+sub_80B3B80: @ 80B3B80
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x26
+ bl sav12_xor_increment
+ ldr r5, _080B3BC0 @ =gSaveBlock1 + 0x490
+ ldr r0, _080B3BC4 @ =gUnknown_020386A0
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl sub_80B79E0
+ movs r0, 0x5F
+ bl PlaySE
+ ldr r0, [r5]
+ movs r1, 0
+ movs r2, 0
+ bl sub_80B7BEC
+ ldr r1, _080B3BC8 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080B3BCC @ =sub_80B3AEC
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3BC0: .4byte gSaveBlock1 + 0x490
+_080B3BC4: .4byte gUnknown_020386A0
+_080B3BC8: .4byte gTasks
+_080B3BCC: .4byte sub_80B3AEC
+ thumb_func_end sub_80B3B80
+
+ thumb_func_start sub_80B3BD0
+sub_80B3BD0: @ 80B3BD0
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080B3BF0 @ =gUnknown_03000708
+ ldrb r1, [r0, 0x9]
+ adds r0, r1, 0
+ movs r2, 0
+ bl sub_80B39D0
+ adds r0, r4, 0
+ bl sub_80B4378
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3BF0: .4byte gUnknown_03000708
+ thumb_func_end sub_80B3BD0
+
+ thumb_func_start sub_80B3BF4
+sub_80B3BF4: @ 80B3BF4
+ push {r4,r5,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r0, 0x7
+ movs r1, 0x8
+ movs r2, 0xD
+ movs r3, 0xD
+ bl MenuZeroFillWindowRect
+ ldr r0, _080B3C7C @ =gBG1TilemapBuffer
+ movs r1, 0x4
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ movs r1, 0x8
+ movs r2, 0x9
+ movs r3, 0x4
+ bl sub_80A3FA0
+ bl sub_80B379C
+ bl sub_80B3420
+ ldr r0, _080B3C80 @ =gSaveBlock1
+ movs r1, 0x92
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r1, _080B3C84 @ =gUnknown_020386A0
+ ldr r1, [r1]
+ bl IsEnoughMoney
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B3D18
+ ldr r4, _080B3C88 @ =gUnknown_03000708
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0
+ bne _080B3CAC
+ ldrb r0, [r4, 0xB]
+ ldrb r1, [r4, 0x9]
+ adds r0, r1
+ ldr r1, [r4, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ ldr r2, _080B3C8C @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r2
+ ldrh r1, [r1, 0xA]
+ bl AddBagItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B3C9C
+ ldr r1, _080B3C90 @ =gOtherText_HereYouGo
+ ldr r2, _080B3C94 @ =sub_80B3B80
+ ldr r3, _080B3C98 @ =0x0000c3e1
+ adds r0, r5, 0
+ bl DisplayItemMessageOnField
+ adds r0, r5, 0
+ bl sub_80B4470
+ b _080B3D24
+ .align 2, 0
+_080B3C7C: .4byte gBG1TilemapBuffer
+_080B3C80: .4byte gSaveBlock1
+_080B3C84: .4byte gUnknown_020386A0
+_080B3C88: .4byte gUnknown_03000708
+_080B3C8C: .4byte gTasks
+_080B3C90: .4byte gOtherText_HereYouGo
+_080B3C94: .4byte sub_80B3B80
+_080B3C98: .4byte 0x0000c3e1
+_080B3C9C:
+ ldr r1, _080B3CA4 @ =gOtherText_NoRoomFor
+ ldr r2, _080B3CA8 @ =sub_80B3BD0
+ b _080B3CD8
+ .align 2, 0
+_080B3CA4: .4byte gOtherText_NoRoomFor
+_080B3CA8: .4byte sub_80B3BD0
+_080B3CAC:
+ ldrb r0, [r4, 0xB]
+ ldrb r1, [r4, 0x9]
+ adds r0, r1
+ ldr r1, [r4, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrb r0, [r0]
+ bl IsThereStorageSpaceForDecoration
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B3CF0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x1
+ bne _080B3CD4
+ ldr r1, _080B3CD0 @ =gOtherText_HereYouGo2
+ b _080B3CD6
+ .align 2, 0
+_080B3CD0: .4byte gOtherText_HereYouGo2
+_080B3CD4:
+ ldr r1, _080B3CE4 @ =gOtherText_HereYouGo3
+_080B3CD6:
+ ldr r2, _080B3CE8 @ =sub_80B3B80
+_080B3CD8:
+ ldr r3, _080B3CEC @ =0x0000c3e1
+ adds r0, r5, 0
+ bl DisplayItemMessageOnField
+ b _080B3D24
+ .align 2, 0
+_080B3CE4: .4byte gOtherText_HereYouGo3
+_080B3CE8: .4byte sub_80B3B80
+_080B3CEC: .4byte 0x0000c3e1
+_080B3CF0:
+ ldr r4, _080B3D08 @ =gStringVar4
+ ldr r1, _080B3D0C @ =gOtherText_SpaceForIsFull
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r2, _080B3D10 @ =sub_80B3BD0
+ ldr r3, _080B3D14 @ =0x0000c3e1
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl DisplayItemMessageOnField
+ b _080B3D24
+ .align 2, 0
+_080B3D08: .4byte gStringVar4
+_080B3D0C: .4byte gOtherText_SpaceForIsFull
+_080B3D10: .4byte sub_80B3BD0
+_080B3D14: .4byte 0x0000c3e1
+_080B3D18:
+ ldr r1, _080B3D2C @ =gOtherText_NotEnoughMoney
+ ldr r2, _080B3D30 @ =sub_80B3BD0
+ ldr r3, _080B3D34 @ =0x0000c3e1
+ adds r0, r5, 0
+ bl DisplayItemMessageOnField
+_080B3D24:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3D2C: .4byte gOtherText_NotEnoughMoney
+_080B3D30: .4byte sub_80B3BD0
+_080B3D34: .4byte 0x0000c3e1
+ thumb_func_end sub_80B3BF4
+
+ thumb_func_start sub_80B3D38
+sub_80B3D38: @ 80B3D38
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x7
+ movs r1, 0x8
+ movs r2, 0x1
+ bl DisplayYesNoMenu
+ ldr r0, _080B3D70 @ =gBG1TilemapBuffer
+ movs r1, 0x4
+ str r1, [sp]
+ ldr r1, _080B3D74 @ =0x0000c3e1
+ str r1, [sp, 0x4]
+ movs r1, 0x8
+ movs r2, 0x9
+ movs r3, 0x4
+ bl sub_80A3FA0
+ ldr r1, _080B3D78 @ =gUnknown_083CC708
+ adds r0, r4, 0
+ bl sub_80F914C
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3D70: .4byte gBG1TilemapBuffer
+_080B3D74: .4byte 0x0000c3e1
+_080B3D78: .4byte gUnknown_083CC708
+ thumb_func_end sub_80B3D38
+
+ thumb_func_start sub_80B3D7C
+sub_80B3D7C: @ 80B3D7C
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080B3DC0 @ =gUnknown_03000708
+ ldrb r1, [r0, 0x9]
+ adds r0, r1, 0
+ movs r2, 0
+ bl sub_80B39D0
+ movs r0, 0x7
+ movs r1, 0x8
+ movs r2, 0xD
+ movs r3, 0xD
+ bl MenuZeroFillWindowRect
+ ldr r0, _080B3DC4 @ =gBG1TilemapBuffer
+ movs r1, 0x4
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ movs r1, 0x8
+ movs r2, 0x9
+ movs r3, 0x4
+ bl sub_80A3FA0
+ adds r0, r4, 0
+ bl sub_80B4378
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3DC0: .4byte gUnknown_03000708
+_080B3DC4: .4byte gBG1TilemapBuffer
+ thumb_func_end sub_80B3D7C
+
+ thumb_func_start sub_80B3DC8
+sub_80B3DC8: @ 80B3DC8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r6, r0, 24
+ adds r4, r6, 0
+ ldr r7, _080B3EA8 @ =gUnknown_03000708
+ ldrb r1, [r7, 0xD]
+ adds r0, r6, 0
+ bl sub_80A52C4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080B3DEE
+ adds r0, r6, 0
+ bl sub_80B37F8
+_080B3DEE:
+ ldr r0, _080B3EAC @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080B3ED8
+ ldr r0, _080B3EB0 @ =gUnknown_020386A0
+ mov r8, r0
+ ldrb r0, [r7, 0xB]
+ ldrb r1, [r7, 0x9]
+ adds r0, r1
+ ldr r1, [r7, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl ItemId_GetPrice
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl GetPriceReduction
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r0, 24
+ lsrs r0, 24
+ asrs r4, r0
+ ldr r0, _080B3EB4 @ =gTasks
+ lsls r5, r6, 2
+ adds r5, r6
+ lsls r5, 3
+ adds r5, r0
+ movs r1, 0xA
+ ldrsh r0, [r5, r1]
+ muls r0, r4
+ mov r2, r8
+ str r0, [r2]
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0xD
+ movs r3, 0xD
+ bl MenuZeroFillWindowRect
+ ldr r0, _080B3EB8 @ =gBG1TilemapBuffer
+ movs r1, 0x2
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ movs r1, 0x1
+ movs r2, 0xB
+ movs r3, 0xC
+ bl sub_80A3FA0
+ bl sub_80B379C
+ bl sub_80B3420
+ ldrb r0, [r7, 0xB]
+ ldrb r1, [r7, 0x9]
+ adds r0, r1
+ ldr r1, [r7, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ ldr r1, _080B3EBC @ =gStringVar1
+ bl CopyItemName
+ ldr r0, _080B3EC0 @ =gStringVar2
+ movs r2, 0xA
+ ldrsh r1, [r5, r2]
+ movs r2, 0
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, _080B3EC4 @ =gStringVar3
+ mov r2, r8
+ ldr r1, [r2]
+ movs r2, 0
+ movs r3, 0x8
+ bl ConvertIntToDecimalStringN
+ ldr r4, _080B3EC8 @ =gStringVar4
+ ldr r1, _080B3ECC @ =gOtherText_ThatWillBe
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r2, _080B3ED0 @ =sub_80B3D38
+ ldr r3, _080B3ED4 @ =0x0000c3e1
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl DisplayItemMessageOnField
+ b _080B3EF0
+ .align 2, 0
+_080B3EA8: .4byte gUnknown_03000708
+_080B3EAC: .4byte gMain
+_080B3EB0: .4byte gUnknown_020386A0
+_080B3EB4: .4byte gTasks
+_080B3EB8: .4byte gBG1TilemapBuffer
+_080B3EBC: .4byte gStringVar1
+_080B3EC0: .4byte gStringVar2
+_080B3EC4: .4byte gStringVar3
+_080B3EC8: .4byte gStringVar4
+_080B3ECC: .4byte gOtherText_ThatWillBe
+_080B3ED0: .4byte sub_80B3D38
+_080B3ED4: .4byte 0x0000c3e1
+_080B3ED8:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080B3EF0
+ ldrb r1, [r7, 0x9]
+ adds r0, r1, 0
+ movs r2, 0
+ bl sub_80B39D0
+ adds r0, r4, 0
+ bl sub_80B4378
+_080B3EF0:
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B3DC8
+
+ thumb_func_start sub_80B3EFC
+sub_80B3EFC: @ 80B3EFC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080B3F78 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0, 0xA]
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0xD
+ movs r3, 0xD
+ bl MenuDrawTextWindow
+ adds r0, r5, 0
+ bl sub_80B37F8
+ ldr r6, _080B3F7C @ =gUnknown_03000708
+ ldrb r0, [r6, 0xB]
+ ldrb r1, [r6, 0x9]
+ adds r0, r1
+ ldr r1, [r6, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl ItemId_GetPrice
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl GetPriceReduction
+ ldr r1, _080B3F80 @ =gSaveBlock1
+ movs r2, 0x92
+ lsls r2, 3
+ adds r1, r2
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r0, 24
+ lsrs r0, 24
+ asrs r4, r0
+ ldr r0, [r1]
+ adds r1, r4, 0
+ bl __udivsi3
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x63
+ bls _080B3F62
+ movs r0, 0x63
+_080B3F62:
+ strb r0, [r6, 0xD]
+ ldr r0, _080B3F78 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080B3F84 @ =sub_80B3DC8
+ str r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B3F78: .4byte gTasks
+_080B3F7C: .4byte gUnknown_03000708
+_080B3F80: .4byte gSaveBlock1
+_080B3F84: .4byte sub_80B3DC8
+ thumb_func_end sub_80B3EFC
+
+ thumb_func_start sub_80B3F88
+sub_80B3F88: @ 80B3F88
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ ldr r0, _080B4020 @ =gMenuWindow
+ mov r8, r0
+ ldr r1, [r0, 0x28]
+ ldr r3, _080B4024 @ =0x000003de
+ adds r1, r3
+ adds r2, r1, 0
+ adds r2, 0x80
+ ldr r7, [r0, 0x24]
+ mov r10, r7
+ ldr r0, _080B4028 @ =0x000003ff
+ mov r9, r0
+ movs r6, 0xD
+_080B3FAC:
+ adds r3, r2, 0
+ subs r3, 0x40
+ str r3, [sp]
+ movs r7, 0x40
+ negs r7, r7
+ adds r7, r1
+ mov r12, r7
+ adds r3, r2, 0
+ adds r4, r1, 0
+ movs r5, 0xE
+_080B3FC0:
+ ldrh r2, [r4]
+ mov r1, r9
+ ands r1, r2
+ mov r7, r8
+ ldrh r0, [r7, 0x1A]
+ adds r0, 0x1
+ cmp r1, r0
+ ble _080B3FD4
+ adds r0, r2, 0
+ adds r0, 0x3C
+_080B3FD4:
+ strh r0, [r3]
+ adds r3, 0x2
+ adds r4, 0x2
+ subs r5, 0x1
+ cmp r5, 0
+ bge _080B3FC0
+ ldr r2, [sp]
+ mov r1, r12
+ subs r6, 0x1
+ cmp r6, 0
+ bge _080B3FAC
+ ldr r1, _080B402C @ =0x00003a20
+ add r1, r10
+ movs r0, 0xF0
+ lsls r0, 3
+ adds r2, r1, r0
+ ldr r3, _080B4030 @ =0x040000d4
+ ldr r5, _080B4034 @ =0x800000f0
+ ldr r4, _080B4038 @ =0xfffffc40
+ movs r6, 0xD
+_080B3FFC:
+ str r1, [r3]
+ str r2, [r3, 0x4]
+ str r5, [r3, 0x8]
+ ldr r0, [r3, 0x8]
+ adds r2, r4
+ adds r1, r4
+ subs r6, 0x1
+ cmp r6, 0
+ bge _080B3FFC
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B4020: .4byte gMenuWindow
+_080B4024: .4byte 0x000003de
+_080B4028: .4byte 0x000003ff
+_080B402C: .4byte 0x00003a20
+_080B4030: .4byte 0x040000d4
+_080B4034: .4byte 0x800000f0
+_080B4038: .4byte 0xfffffc40
+ thumb_func_end sub_80B3F88
+
+ thumb_func_start sub_80B403C
+sub_80B403C: @ 80B403C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ ldr r0, _080B40D8 @ =gMenuWindow
+ mov r8, r0
+ ldr r2, [r0, 0x28]
+ adds r1, r2, 0
+ adds r1, 0x9E
+ adds r2, r1, 0
+ adds r1, 0x80
+ ldr r3, [r0, 0x24]
+ mov r10, r3
+ ldr r7, _080B40DC @ =0x000003ff
+ mov r9, r7
+ movs r6, 0xD
+_080B4060:
+ adds r0, r2, 0
+ adds r0, 0x40
+ str r0, [sp]
+ movs r3, 0x40
+ adds r3, r1
+ mov r12, r3
+ adds r3, r2, 0
+ adds r4, r1, 0
+ movs r5, 0xE
+_080B4072:
+ ldrh r2, [r4]
+ mov r1, r9
+ ands r1, r2
+ mov r7, r8
+ ldrh r0, [r7, 0x1A]
+ adds r0, 0x1
+ cmp r1, r0
+ ble _080B4086
+ adds r0, r2, 0
+ subs r0, 0x3C
+_080B4086:
+ strh r0, [r3]
+ adds r3, 0x2
+ adds r4, 0x2
+ subs r5, 0x1
+ cmp r5, 0
+ bge _080B4072
+ ldr r2, [sp]
+ mov r1, r12
+ subs r6, 0x1
+ cmp r6, 0
+ bge _080B4060
+ movs r1, 0x96
+ lsls r1, 4
+ add r1, r10
+ adds r2, r1, 0
+ movs r0, 0xF0
+ lsls r0, 3
+ adds r1, r0
+ ldr r3, _080B40E0 @ =0x040000d4
+ ldr r5, _080B40E4 @ =0x800000f0
+ movs r4, 0xF0
+ lsls r4, 2
+ movs r6, 0xD
+_080B40B4:
+ str r1, [r3]
+ str r2, [r3, 0x4]
+ str r5, [r3, 0x8]
+ ldr r0, [r3, 0x8]
+ adds r2, r4
+ adds r1, r4
+ subs r6, 0x1
+ cmp r6, 0
+ bge _080B40B4
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B40D8: .4byte gMenuWindow
+_080B40DC: .4byte 0x000003ff
+_080B40E0: .4byte 0x040000d4
+_080B40E4: .4byte 0x800000f0
+ thumb_func_end sub_80B403C
+
+ thumb_func_start sub_80B40E8
+sub_80B40E8: @ 80B40E8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ mov r8, r7
+ ldr r0, _080B4134 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080B4102
+ b _080B436C
+_080B4102:
+ ldr r2, _080B4138 @ =gMain
+ ldrh r0, [r2, 0x30]
+ movs r1, 0xF0
+ ands r1, r0
+ cmp r1, 0x40
+ bne _080B414C
+ ldr r4, _080B413C @ =gUnknown_03000708
+ ldrb r0, [r4, 0x9]
+ cmp r0, 0
+ bne _080B4140
+ ldrb r0, [r4, 0xB]
+ cmp r0, 0
+ bne _080B411E
+ b _080B436C
+_080B411E:
+ movs r0, 0x5
+ bl PlaySE
+ ldrb r0, [r4, 0xB]
+ subs r0, 0x1
+ strb r0, [r4, 0xB]
+ bl sub_80B3F88
+ movs r0, 0
+ movs r1, 0
+ b _080B417A
+ .align 2, 0
+_080B4134: .4byte gPaletteFade
+_080B4138: .4byte gMain
+_080B413C: .4byte gUnknown_03000708
+_080B4140:
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ b _080B41A0
+_080B414C:
+ cmp r1, 0x80
+ bne _080B41AC
+ ldr r4, _080B418C @ =gUnknown_03000708
+ ldrb r0, [r4, 0x9]
+ cmp r0, 0x7
+ bne _080B4190
+ ldrb r0, [r4, 0xB]
+ ldrb r1, [r4, 0x9]
+ adds r0, r1
+ ldrb r1, [r4, 0x8]
+ cmp r0, r1
+ bne _080B4166
+ b _080B436C
+_080B4166:
+ movs r0, 0x5
+ bl PlaySE
+ ldrb r0, [r4, 0xB]
+ adds r0, 0x1
+ strb r0, [r4, 0xB]
+ bl sub_80B403C
+ movs r0, 0x7
+ movs r1, 0x7
+_080B417A:
+ movs r2, 0
+ bl sub_80B39D0
+ bl sub_80B3A70
+ bl sub_80B32A4
+ b _080B436C
+ .align 2, 0
+_080B418C: .4byte gUnknown_03000708
+_080B4190:
+ ldrb r2, [r4, 0x8]
+ cmp r0, r2
+ bne _080B4198
+ b _080B436C
+_080B4198:
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+_080B41A0:
+ bl MoveMenuCursor
+ strb r0, [r4, 0x9]
+ bl sub_80B3A70
+ b _080B436C
+_080B41AC:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080B41B8
+ b _080B4358
+_080B41B8:
+ movs r0, 0x5
+ bl PlaySE
+ ldr r6, _080B426C @ =gUnknown_03000708
+ ldrb r0, [r6, 0xB]
+ ldrb r1, [r6, 0x9]
+ adds r0, r1
+ ldrb r1, [r6, 0x8]
+ cmp r0, r1
+ bne _080B41CE
+ b _080B4350
+_080B41CE:
+ movs r0, 0
+ bl sub_80F996C
+ movs r0, 0x1
+ bl sub_80F996C
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_80F979C
+ ldrb r1, [r6, 0x9]
+ adds r0, r1, 0
+ movs r2, 0x1
+ bl sub_80B39D0
+ bl sub_8072DEC
+ movs r0, 0
+ movs r1, 0xC
+ movs r2, 0xD
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ ldrb r0, [r6, 0xC]
+ cmp r0, 0
+ bne _080B428C
+ ldr r5, _080B4270 @ =gUnknown_020386A0
+ ldrb r0, [r6, 0xB]
+ ldrb r1, [r6, 0x9]
+ adds r0, r1
+ ldr r1, [r6, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl ItemId_GetPrice
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl GetPriceReduction
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r0, 24
+ lsrs r0, 24
+ asrs r4, r0
+ str r4, [r5]
+ ldr r0, _080B4274 @ =gSaveBlock1
+ movs r2, 0x92
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ adds r1, r4, 0
+ bl IsEnoughMoney
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B42BA
+ ldrb r0, [r6, 0xB]
+ ldrb r1, [r6, 0x9]
+ adds r0, r1
+ ldr r1, [r6, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ ldr r1, _080B4278 @ =gStringVar1
+ bl CopyItemName
+ ldr r4, _080B427C @ =gStringVar4
+ ldr r1, _080B4280 @ =gOtherText_HowManyYouWant
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r2, _080B4284 @ =sub_80B3EFC
+ ldr r3, _080B4288 @ =0x0000c3e1
+ adds r0, r7, 0
+ adds r1, r4, 0
+ bl DisplayItemMessageOnField
+ b _080B436C
+ .align 2, 0
+_080B426C: .4byte gUnknown_03000708
+_080B4270: .4byte gUnknown_020386A0
+_080B4274: .4byte gSaveBlock1
+_080B4278: .4byte gStringVar1
+_080B427C: .4byte gStringVar4
+_080B4280: .4byte gOtherText_HowManyYouWant
+_080B4284: .4byte sub_80B3EFC
+_080B4288: .4byte 0x0000c3e1
+_080B428C:
+ ldr r5, _080B42C8 @ =gUnknown_020386A0
+ ldr r4, _080B42CC @ =gDecorations
+ ldrb r0, [r6, 0xB]
+ ldrb r1, [r6, 0x9]
+ adds r0, r1
+ ldr r1, [r6, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r0, 5
+ adds r0, r4
+ ldrh r1, [r0, 0x14]
+ str r1, [r5]
+ ldr r0, _080B42D0 @ =gSaveBlock1
+ movs r2, 0x92
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ bl IsEnoughMoney
+ lsls r0, 24
+ cmp r0, 0
+ bne _080B42E0
+_080B42BA:
+ ldr r1, _080B42D4 @ =gOtherText_NotEnoughMoney
+ ldr r2, _080B42D8 @ =sub_80B3BD0
+ ldr r3, _080B42DC @ =0x0000c3e1
+ adds r0, r7, 0
+ bl DisplayItemMessageOnField
+ b _080B436C
+ .align 2, 0
+_080B42C8: .4byte gUnknown_020386A0
+_080B42CC: .4byte gDecorations
+_080B42D0: .4byte gSaveBlock1
+_080B42D4: .4byte gOtherText_NotEnoughMoney
+_080B42D8: .4byte sub_80B3BD0
+_080B42DC: .4byte 0x0000c3e1
+_080B42E0:
+ ldr r0, _080B4318 @ =gStringVar1
+ ldrb r1, [r6, 0xB]
+ ldrb r2, [r6, 0x9]
+ adds r1, r2
+ ldr r2, [r6, 0x4]
+ lsls r1, 1
+ adds r1, r2
+ ldrh r1, [r1]
+ lsls r1, 5
+ adds r2, r4, 0x1
+ adds r1, r2
+ bl StringCopy
+ ldr r0, _080B431C @ =gStringVar2
+ ldr r1, [r5]
+ movs r2, 0
+ movs r3, 0x8
+ bl ConvertIntToDecimalStringN
+ ldrb r0, [r6, 0xC]
+ cmp r0, 0x1
+ bne _080B4328
+ ldr r0, _080B4320 @ =gStringVar4
+ ldr r1, _080B4324 @ =gOtherText_ThatWillBe2
+ bl StringExpandPlaceholders
+ b _080B4330
+ .align 2, 0
+_080B4318: .4byte gStringVar1
+_080B431C: .4byte gStringVar2
+_080B4320: .4byte gStringVar4
+_080B4324: .4byte gOtherText_ThatWillBe2
+_080B4328:
+ ldr r0, _080B4340 @ =gStringVar4
+ ldr r1, _080B4344 @ =gOtherText_ThatWillBe3
+ bl StringExpandPlaceholders
+_080B4330:
+ ldr r1, _080B4340 @ =gStringVar4
+ ldr r2, _080B4348 @ =sub_80B3D38
+ ldr r3, _080B434C @ =0x0000c3e1
+ mov r0, r8
+ bl DisplayItemMessageOnField
+ b _080B436C
+ .align 2, 0
+_080B4340: .4byte gStringVar4
+_080B4344: .4byte gOtherText_ThatWillBe3
+_080B4348: .4byte sub_80B3D38
+_080B434C: .4byte 0x0000c3e1
+_080B4350:
+ adds r0, r7, 0
+ bl sub_80B43F0
+ b _080B436C
+_080B4358:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080B436C
+ movs r0, 0x5
+ bl PlaySE
+ mov r0, r8
+ bl sub_80B43F0
+_080B436C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B40E8
+
+ thumb_func_start sub_80B4378
+sub_80B4378: @ 80B4378
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0xD
+ movs r3, 0xD
+ bl MenuZeroFillWindowRect
+ ldr r0, _080B43E4 @ =gBG1TilemapBuffer
+ movs r1, 0x2
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ movs r1, 0x1
+ movs r2, 0xB
+ movs r3, 0xC
+ bl sub_80A3FA0
+ bl sub_80B3420
+ movs r0, 0x6
+ movs r1, 0x7
+ bl sub_80B3764
+ bl sub_80B37EC
+ movs r0, 0
+ bl sub_80F98DC
+ movs r0, 0x1
+ bl sub_80F98DC
+ bl sub_80B32A4
+ ldr r1, _080B43E8 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080B43EC @ =sub_80B40E8
+ str r1, [r0]
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B43E4: .4byte gBG1TilemapBuffer
+_080B43E8: .4byte gTasks
+_080B43EC: .4byte sub_80B40E8
+ thumb_func_end sub_80B4378
+
+ thumb_func_start sub_80B43F0
+sub_80B43F0: @ 80B43F0
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080B4428 @ =gUnknown_0300485C
+ ldr r0, _080B442C @ =sub_80B3050
+ str r0, [r1]
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _080B4430 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080B4434 @ =Task_ExitBuyMenu
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B4428: .4byte gUnknown_0300485C
+_080B442C: .4byte sub_80B3050
+_080B4430: .4byte gTasks
+_080B4434: .4byte Task_ExitBuyMenu
+ thumb_func_end sub_80B43F0
+
+ thumb_func_start Task_ExitBuyMenu
+Task_ExitBuyMenu: @ 80B4438
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080B4468 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080B4462
+ movs r0, 0
+ movs r1, 0
+ bl RemoveMoneyLabelObject
+ bl BuyMenuFreeMemory
+ ldr r0, _080B446C @ =c2_exit_to_overworld_2_switch
+ bl SetMainCallback2
+ adds r0, r4, 0
+ bl DestroyTask
+_080B4462:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B4468: .4byte gPaletteFade
+_080B446C: .4byte c2_exit_to_overworld_2_switch
+ thumb_func_end Task_ExitBuyMenu
+
+ thumb_func_start sub_80B4470
+sub_80B4470: @ 80B4470
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r2, 0
+ ldr r0, _080B44C8 @ =gUnknown_02038724
+ mov r12, r0
+ ldr r6, _080B44CC @ =gUnknown_03000708
+ mov r8, r12
+ adds r4, r6, 0
+ ldr r1, _080B44D0 @ =gTasks
+ mov r9, r1
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r7, r0, 3
+_080B4492:
+ lsls r0, r2, 2
+ mov r1, r8
+ adds r3, r0, r1
+ ldrb r0, [r4, 0xB]
+ ldrb r1, [r4, 0x9]
+ adds r0, r1
+ ldr r1, [r4, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r3]
+ ldrh r0, [r0]
+ cmp r1, r0
+ bne _080B44DC
+ ldrh r0, [r3, 0x2]
+ cmp r0, 0
+ beq _080B44DC
+ adds r2, r0, 0
+ mov r4, r9
+ adds r1, r7, r4
+ movs r4, 0xA
+ ldrsh r0, [r1, r4]
+ adds r0, r2, r0
+ cmp r0, 0xFF
+ ble _080B44D4
+ movs r0, 0xFF
+ strh r0, [r3, 0x2]
+ b _080B451E
+ .align 2, 0
+_080B44C8: .4byte gUnknown_02038724
+_080B44CC: .4byte gUnknown_03000708
+_080B44D0: .4byte gTasks
+_080B44D4:
+ ldrh r0, [r1, 0xA]
+ adds r0, r2, r0
+ strh r0, [r3, 0x2]
+ b _080B451E
+_080B44DC:
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x2
+ bls _080B4492
+ ldr r3, _080B452C @ =gUnknown_02038730
+ ldrb r0, [r3]
+ cmp r0, 0x2
+ bhi _080B451E
+ adds r2, r0, 0
+ lsls r2, 2
+ add r2, r12
+ ldrb r0, [r6, 0xB]
+ ldrb r1, [r6, 0x9]
+ adds r0, r1
+ ldr r1, [r6, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r2]
+ ldrb r1, [r3]
+ lsls r1, 2
+ add r1, r12
+ ldr r2, _080B4530 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r2
+ ldrh r0, [r0, 0xA]
+ strh r0, [r1, 0x2]
+ ldrb r0, [r3]
+ adds r0, 0x1
+ strb r0, [r3]
+_080B451E:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B452C: .4byte gUnknown_02038730
+_080B4530: .4byte gTasks
+ thumb_func_end sub_80B4470
+
+ thumb_func_start ClearItemPurchases
+ClearItemPurchases: @ 80B4534
+ push {lr}
+ ldr r0, _080B4548 @ =gUnknown_02038730
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _080B454C @ =gUnknown_02038724
+ movs r1, 0x3
+ bl ClearItemSlots
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B4548: .4byte gUnknown_02038730
+_080B454C: .4byte gUnknown_02038724
+ thumb_func_end ClearItemPurchases
+
+ thumb_func_start CreatePokemartMenu
+CreatePokemartMenu: @ 80B4550
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ bl CreateShopMenu
+ adds r0, r4, 0
+ bl SetShopItemsForSale
+ bl ClearItemPurchases
+ ldr r0, _080B4570 @ =EnableBothScriptContexts
+ bl SetShopMenuCallback
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B4570: .4byte EnableBothScriptContexts
+ thumb_func_end CreatePokemartMenu
+
+ thumb_func_start CreateDecorationShop1Menu
+CreateDecorationShop1Menu: @ 80B4574
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl CreateShopMenu
+ adds r0, r4, 0
+ bl SetShopItemsForSale
+ ldr r0, _080B4590 @ =EnableBothScriptContexts
+ bl SetShopMenuCallback
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B4590: .4byte EnableBothScriptContexts
+ thumb_func_end CreateDecorationShop1Menu
+
+ thumb_func_start CreateDecorationShop2Menu
+CreateDecorationShop2Menu: @ 80B4594
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x2
+ bl CreateShopMenu
+ adds r0, r4, 0
+ bl SetShopItemsForSale
+ ldr r0, _080B45B0 @ =EnableBothScriptContexts
+ bl SetShopMenuCallback
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B45B0: .4byte EnableBothScriptContexts
+ thumb_func_end CreateDecorationShop2Menu
+
+ thumb_func_start sub_80B45B4
+sub_80B45B4: @ 80B45B4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ mov r9, r1
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, 16
+ lsrs r2, 16
+ mov r10, r2
+ ldr r2, _080B4648 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrh r0, [r1, 0x10]
+ subs r0, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldrh r0, [r1, 0x12]
+ subs r0, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldrh r4, [r1, 0xA]
+ movs r2, 0xC
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _080B4678
+ movs r2, 0
+ lsls r5, 16
+ str r5, [sp, 0xC]
+ lsls r0, r3, 16
+ lsls r1, r4, 16
+ asrs r0, 16
+ str r0, [sp]
+ asrs r1, 16
+ str r1, [sp, 0x4]
+ lsls r0, r1, 1
+ mov r1, r9
+ adds r7, r0, r1
+_080B4608:
+ movs r4, 0
+ lsls r2, 16
+ mov r8, r2
+ asrs r0, r2, 16
+ ldr r2, [sp]
+ adds r6, r2, r0
+_080B4614:
+ ldr r0, [sp, 0xC]
+ asrs r1, r0, 16
+ lsls r4, 16
+ asrs r0, r4, 16
+ adds r5, r1, r0
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl MapGridGetMetatileIdAt
+ movs r2, 0
+ ldrsh r1, [r7, r2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r1, r0
+ bne _080B465C
+ ldr r0, [sp, 0x4]
+ cmp r0, 0x2
+ beq _080B464C
+ ldrh r0, [r7, 0x2]
+ mov r2, r10
+ orrs r2, r0
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl MapGridSetMetatileIdAt
+ b _080B465C
+ .align 2, 0
+_080B4648: .4byte gTasks
+_080B464C:
+ mov r1, r9
+ ldrh r0, [r1]
+ mov r2, r10
+ orrs r2, r0
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl MapGridSetMetatileIdAt
+_080B465C:
+ movs r2, 0x80
+ lsls r2, 9
+ adds r0, r4, r2
+ lsrs r4, r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _080B4614
+ adds r0, r2, 0
+ add r0, r8
+ lsrs r2, r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _080B4608
+ b _080B4700
+_080B4678:
+ movs r2, 0
+ lsls r5, 16
+ str r5, [sp, 0xC]
+ lsls r0, r3, 16
+ lsls r1, r4, 16
+ asrs r0, 16
+ str r0, [sp, 0x8]
+ asrs r7, r1, 16
+_080B4688:
+ movs r4, 0
+ lsls r2, 16
+ mov r8, r2
+ asrs r0, r2, 16
+ ldr r1, [sp, 0x8]
+ adds r6, r1, r0
+_080B4694:
+ ldr r2, [sp, 0xC]
+ asrs r1, r2, 16
+ lsls r4, 16
+ asrs r0, r4, 16
+ adds r5, r1, r0
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl MapGridGetMetatileIdAt
+ movs r1, 0x2
+ subs r1, r7
+ lsls r1, 1
+ add r1, r9
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r1, r0
+ bne _080B46E6
+ cmp r7, 0x2
+ beq _080B46D6
+ movs r0, 0x1
+ subs r0, r7
+ lsls r0, 1
+ add r0, r9
+ ldrh r0, [r0]
+ mov r2, r10
+ orrs r2, r0
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl MapGridSetMetatileIdAt
+ b _080B46E6
+_080B46D6:
+ mov r1, r9
+ ldrh r0, [r1, 0x4]
+ mov r2, r10
+ orrs r2, r0
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl MapGridSetMetatileIdAt
+_080B46E6:
+ movs r2, 0x80
+ lsls r2, 9
+ adds r0, r4, r2
+ lsrs r4, r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _080B4694
+ adds r0, r2, 0
+ add r0, r8
+ lsrs r2, r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _080B4688
+_080B4700:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B45B4
+
+ thumb_func_start sub_80B4710
+sub_80B4710: @ 80B4710
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ ldr r1, _080B4738 @ =gTasks + 0x8
+ adds r4, r0, r1
+ movs r0, 0x1
+ strh r0, [r4, 0x6]
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x6
+ bhi _080B47AA
+ lsls r0, 2
+ ldr r1, _080B473C @ =_080B4740
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080B4738: .4byte gTasks + 0x8
+_080B473C: .4byte _080B4740
+ .align 2, 0
+_080B4740:
+ .4byte _080B475C
+ .4byte _080B4764
+ .4byte _080B476C
+ .4byte _080B4774
+ .4byte _080B477C
+ .4byte _080B4790
+ .4byte _080B47A0
+_080B475C:
+ ldr r1, _080B4760 @ =gUnknown_083CC714
+ b _080B4792
+ .align 2, 0
+_080B4760: .4byte gUnknown_083CC714
+_080B4764:
+ ldr r1, _080B4768 @ =gUnknown_083CC71A
+ b _080B4792
+ .align 2, 0
+_080B4768: .4byte gUnknown_083CC71A
+_080B476C:
+ ldr r1, _080B4770 @ =gUnknown_083CC720
+ b _080B477E
+ .align 2, 0
+_080B4770: .4byte gUnknown_083CC720
+_080B4774:
+ ldr r1, _080B4778 @ =gUnknown_083CC726
+ b _080B4792
+ .align 2, 0
+_080B4778: .4byte gUnknown_083CC726
+_080B477C:
+ ldr r1, _080B478C @ =gUnknown_083CC72C
+_080B477E:
+ movs r2, 0xC0
+ lsls r2, 4
+ adds r0, r3, 0
+ bl sub_80B45B4
+ b _080B47AA
+ .align 2, 0
+_080B478C: .4byte gUnknown_083CC72C
+_080B4790:
+ ldr r1, _080B479C @ =gUnknown_083CC732
+_080B4792:
+ adds r0, r3, 0
+ movs r2, 0
+ bl sub_80B45B4
+ b _080B47AA
+ .align 2, 0
+_080B479C: .4byte gUnknown_083CC732
+_080B47A0:
+ ldr r1, _080B47D4 @ =gUnknown_083CC738
+ adds r0, r3, 0
+ movs r2, 0
+ bl sub_80B45B4
+_080B47AA:
+ ldrh r0, [r4]
+ adds r0, 0x1
+ movs r1, 0x7
+ ands r0, r1
+ strh r0, [r4]
+ adds r5, r0, 0
+ cmp r5, 0
+ bne _080B47CE
+ bl DrawWholeMapView
+ movs r1, 0x2
+ ldrsh r0, [r4, r1]
+ adds r0, 0x1
+ movs r1, 0x3
+ bl __modsi3
+ strh r0, [r4, 0x2]
+ strh r5, [r4, 0x6]
+_080B47CE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B47D4: .4byte gUnknown_083CC738
+ thumb_func_end sub_80B4710
+
+ thumb_func_start sub_80B47D8
+sub_80B47D8: @ 80B47D8
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ ldr r6, _080B481C @ =sub_80B4710
+ adds r0, r6, 0
+ movs r1, 0
+ bl CreateTask
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, _080B4820 @ =gTasks + 0x8
+ adds r7, r0, r1
+ adds r0, r7, 0
+ adds r0, 0x8
+ adds r1, r7, 0
+ adds r1, 0xA
+ bl PlayerGetDestCoords
+ movs r0, 0
+ strh r0, [r7]
+ strh r0, [r7, 0x2]
+ strh r5, [r7, 0x4]
+ adds r0, r4, 0
+ bl _call_via_r6
+ adds r0, r4, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B481C: .4byte sub_80B4710
+_080B4820: .4byte gTasks + 0x8
+ thumb_func_end sub_80B47D8
+
+ thumb_func_start sub_80B4824
+sub_80B4824: @ 80B4824
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80B47D8
+ ldr r1, _080B4838 @ =gUnknown_02038731
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B4838: .4byte gUnknown_02038731
+ thumb_func_end sub_80B4824
+
+ thumb_func_start sub_80B483C
+sub_80B483C: @ 80B483C
+ push {lr}
+ ldr r0, _080B484C @ =gUnknown_02038731
+ ldrb r0, [r0]
+ bl DestroyTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B484C: .4byte gUnknown_02038731
+ thumb_func_end sub_80B483C
+
+ thumb_func_start sub_80B4850
+sub_80B4850: @ 80B4850
+ push {lr}
+ ldr r2, _080B4874 @ =gTasks
+ ldr r0, _080B4878 @ =gUnknown_02038731
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r1, r0, r2
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _080B487C
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x2
+ bne _080B487C
+ movs r0, 0
+ b _080B487E
+ .align 2, 0
+_080B4874: .4byte gTasks
+_080B4878: .4byte gUnknown_02038731
+_080B487C:
+ movs r0, 0x1
+_080B487E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80B4850
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/ld_script.txt b/ld_script.txt
index 214cd3964..0ce9fe21d 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -102,6 +102,12 @@ SECTIONS {
asm/trainer_card.o(.text);
asm/save_menu_util.o(.text);
asm/rom_8094928.o(.text);
+ asm/item_menu.o(.text);
+ asm/battle_anim_80A7E7C.o(.text);
+ asm/item.o(.text);
+ asm/matuda_debug_menu.o(.text);
+ asm/contest.o(.text);
+ asm/shop.o(.text);
asm/berry.o(.text);
asm/script_menu.o(.text);
asm/naming_screen.o(.text);