summaryrefslogtreecommitdiff
path: root/asm/choose_party.s
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-10-25 19:57:15 -0700
committerYamaArashi <shadow962@live.com>2016-10-25 19:57:15 -0700
commitfb2f1c8bce95cbe584fbd674b8e7865d2bc84bc6 (patch)
tree95d47e9e0d44e207d276d6858b44c6be5c845589 /asm/choose_party.s
parentcfe4a52393bd5d09d78f68ac165406d3e9354706 (diff)
split some files out of rom6.s
Diffstat (limited to 'asm/choose_party.s')
-rw-r--r--asm/choose_party.s2509
1 files changed, 2509 insertions, 0 deletions
diff --git a/asm/choose_party.s b/asm/choose_party.s
new file mode 100644
index 000000000..07125dfae
--- /dev/null
+++ b/asm/choose_party.s
@@ -0,0 +1,2509 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8121E10
+sub_8121E10: @ 8121E10
+ push {lr}
+ bl sub_8121E58
+ ldr r0, _08121E2C @ =0x0201b000
+ ldr r1, _08121E30 @ =0x00000263
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ movs r0, 0x4
+ bl OpenPartyMenu
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08121E2C: .4byte 0x0201b000
+_08121E30: .4byte 0x00000263
+ thumb_func_end sub_8121E10
+
+ thumb_func_start sub_8121E34
+sub_8121E34: @ 8121E34
+ push {lr}
+ bl sub_8121E58
+ ldr r0, _08121E50 @ =0x0201b000
+ ldr r1, _08121E54 @ =0x00000263
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+ movs r0, 0x4
+ movs r1, 0
+ bl OpenPartyMenu
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08121E50: .4byte 0x0201b000
+_08121E54: .4byte 0x00000263
+ thumb_func_end sub_8121E34
+
+ thumb_func_start sub_8121E58
+sub_8121E58: @ 8121E58
+ push {lr}
+ movs r1, 0
+ ldr r3, _08121E74 @ =gUnknown_02039270
+ movs r2, 0
+_08121E60:
+ adds r0, r1, r3
+ strb r2, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x2
+ bls _08121E60
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08121E74: .4byte gUnknown_02039270
+ thumb_func_end sub_8121E58
+
+ thumb_func_start sub_8121E78
+sub_8121E78: @ 8121E78
+ push {r4-r6,lr}
+ ldr r1, _08121E98 @ =0x0201b000
+ movs r2, 0x99
+ lsls r2, 2
+ adds r0, r1, r2
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ adds r4, r1, 0
+ cmp r0, 0x7
+ bls _08121E8E
+ b _08122026
+_08121E8E:
+ lsls r0, 2
+ ldr r1, _08121E9C @ =_08121EA0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08121E98: .4byte 0x0201b000
+_08121E9C: .4byte _08121EA0
+ .align 2, 0
+_08121EA0:
+ .4byte _08121EC0
+ .4byte _08121F00
+ .4byte _08121F14
+ .4byte _08121F28
+ .4byte _08121F54
+ .4byte _08121F68
+ .4byte _08121F6E
+ .4byte _08121FF8
+_08121EC0:
+ ldr r0, _08121EE8 @ =0x00000266
+ adds r5, r4, r0
+ movs r1, 0
+ ldrsh r3, [r5, r1]
+ ldr r0, _08121EEC @ =gPlayerPartyCount
+ ldrb r0, [r0]
+ cmp r3, r0
+ bge _08121EF4
+ movs r2, 0x98
+ lsls r2, 2
+ adds r0, r4, r2
+ ldrb r0, [r0]
+ ldrb r1, [r5]
+ movs r2, 0x64
+ muls r2, r3
+ ldr r3, _08121EF0 @ =gPlayerParty
+ adds r2, r3
+ bl sub_806D90C
+ b _08122020
+ .align 2, 0
+_08121EE8: .4byte 0x00000266
+_08121EEC: .4byte gPlayerPartyCount
+_08121EF0: .4byte gPlayerParty
+_08121EF4:
+ movs r0, 0
+ strh r0, [r5]
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r4, r0
+ b _08121FE8
+_08121F00:
+ bl sub_806DA98
+ ldr r1, _08121F10 @ =0x0201b000
+ movs r2, 0x99
+ lsls r2, 2
+ adds r1, r2
+ b _08121FE8
+ .align 2, 0
+_08121F10: .4byte 0x0201b000
+_08121F14:
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ bl sub_806DC34
+ movs r2, 0x99
+ lsls r2, 2
+ adds r1, r4, r2
+ b _08121FE8
+_08121F28:
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ ldr r2, _08121F50 @ =0x00000266
+ adds r5, r4, r2
+ ldrb r1, [r5]
+ bl sub_806BD58
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122020
+ movs r0, 0
+ strh r0, [r5]
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r4, r0
+ b _08121FE8
+ .align 2, 0
+_08121F50: .4byte 0x00000266
+_08121F54:
+ bl sub_806E334
+ ldr r1, _08121F64 @ =0x0201b000
+ movs r2, 0x99
+ lsls r2, 2
+ adds r1, r2
+ b _08121FE8
+ .align 2, 0
+_08121F64: .4byte 0x0201b000
+_08121F68:
+ bl sub_806E0C4
+ b _08121FE0
+_08121F6E:
+ movs r5, 0
+ b _08121FD8
+_08121F72:
+ movs r4, 0
+ adds r6, r5, 0x1
+ b _08121F7E
+_08121F78:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+_08121F7E:
+ cmp r4, 0x2
+ bhi _08121FA0
+ ldr r0, _08121FC4 @ =gUnknown_02039270
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ cmp r0, r6
+ bne _08121F78
+ lsls r1, r4, 3
+ subs r1, r4
+ lsls r1, 25
+ movs r2, 0xE0
+ lsls r2, 21
+ adds r1, r2
+ lsrs r1, 24
+ adds r0, r5, 0
+ bl sub_806BC3C
+_08121FA0:
+ cmp r4, 0x3
+ bne _08121FD4
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08121FC8 @ =gPlayerParty
+ adds r0, r1
+ bl sub_8122030
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08121FCC
+ adds r0, r5, 0
+ movs r1, 0x70
+ bl sub_806BC3C
+ b _08121FD4
+ .align 2, 0
+_08121FC4: .4byte gUnknown_02039270
+_08121FC8: .4byte gPlayerParty
+_08121FCC:
+ adds r0, r5, 0
+ movs r1, 0x7E
+ bl sub_806BC3C
+_08121FD4:
+ lsls r0, r6, 24
+ lsrs r5, r0, 24
+_08121FD8:
+ ldr r0, _08121FF0 @ =gPlayerPartyCount
+ ldrb r0, [r0]
+ cmp r5, r0
+ bcc _08121F72
+_08121FE0:
+ ldr r1, _08121FF4 @ =0x0201b000
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r0
+_08121FE8:
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08122026
+ .align 2, 0
+_08121FF0: .4byte gPlayerPartyCount
+_08121FF4: .4byte 0x0201b000
+_08121FF8:
+ ldr r1, _0812201C @ =0x00000266
+ adds r5, r4, r1
+ ldrb r0, [r5]
+ bl sub_806B58C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122020
+ movs r1, 0
+ strh r1, [r5]
+ movs r2, 0x99
+ lsls r2, 2
+ adds r0, r4, r2
+ strh r1, [r0]
+ movs r0, 0x1
+ b _08122028
+ .align 2, 0
+_0812201C: .4byte 0x00000266
+_08122020:
+ ldrh r0, [r5]
+ adds r0, 0x1
+ strh r0, [r5]
+_08122026:
+ movs r0, 0
+_08122028:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8121E78
+
+ thumb_func_start sub_8122030
+sub_8122030: @ 8122030
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2D
+ bl GetMonData
+ cmp r0, 0
+ bne _0812207C
+ ldr r0, _08122058 @ =0x0201b000
+ ldr r1, _0812205C @ =0x00000263
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08122060
+ adds r0, r4, 0
+ movs r1, 0x39
+ bl GetMonData
+ cmp r0, 0
+ beq _0812207C
+ b _081220B6
+ .align 2, 0
+_08122058: .4byte 0x0201b000
+_0812205C: .4byte 0x00000263
+_08122060:
+ ldr r0, _08122080 @ =gSaveBlock2
+ ldr r1, _08122084 @ =0x00000554
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08122088
+ adds r0, r4, 0
+ movs r1, 0x38
+ bl GetMonData
+ cmp r0, 0x32
+ bls _08122088
+_0812207C:
+ movs r0, 0
+ b _081220B8
+ .align 2, 0
+_08122080: .4byte gSaveBlock2
+_08122084: .4byte 0x00000554
+_08122088:
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldr r1, _081220C0 @ =gBattleTowerBanlist
+ movs r0, 0
+ lsls r0, 1
+ adds r2, r0, r1
+ ldrh r0, [r2]
+ ldr r1, _081220C4 @ =0x0000ffff
+ cmp r0, r1
+ beq _081220B6
+ adds r4, r1, 0
+ adds r1, r2, 0
+_081220A8:
+ ldrh r0, [r1]
+ cmp r0, r3
+ beq _0812207C
+ adds r1, 0x2
+ ldrh r0, [r1]
+ cmp r0, r4
+ bne _081220A8
+_081220B6:
+ movs r0, 0x1
+_081220B8:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081220C0: .4byte gBattleTowerBanlist
+_081220C4: .4byte 0x0000ffff
+ thumb_func_end sub_8122030
+
+ thumb_func_start sub_81220C8
+sub_81220C8: @ 81220C8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r1, _081220EC @ =0x0201b000
+ ldr r2, _081220F0 @ =0x00000263
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _081221A2
+ ldr r0, _081220F4 @ =gUnknown_02039270
+ ldrb r0, [r0, 0x2]
+ cmp r0, 0
+ bne _08122100
+ movs r0, 0x11
+ b _081221A4
+ .align 2, 0
+_081220EC: .4byte 0x0201b000
+_081220F0: .4byte 0x00000263
+_081220F4: .4byte gUnknown_02039270
+_081220F8:
+ movs r0, 0x12
+ b _081221A4
+_081220FC:
+ movs r0, 0x13
+ b _081221A4
+_08122100:
+ movs r5, 0
+_08122102:
+ ldr r4, _081221B4 @ =gUnknown_02039270
+ adds r4, r5, r4
+ ldrb r0, [r4]
+ movs r1, 0x64
+ muls r0, r1
+ ldr r2, _081221B8 @ =gUnknown_030042FC
+ adds r0, r2
+ movs r1, 0xB
+ bl GetMonData
+ ldr r1, _081221BC @ =0x0201b000
+ ldr r2, _081221C0 @ =0x00000282
+ adds r6, r1, r2
+ strh r0, [r6]
+ ldrb r0, [r4]
+ movs r1, 0x64
+ muls r0, r1
+ ldr r2, _081221B8 @ =gUnknown_030042FC
+ adds r0, r2
+ movs r1, 0xC
+ bl GetMonData
+ ldr r1, _081221C4 @ =0x0201b280
+ strh r0, [r1]
+ adds r1, r5, 0x1
+ lsls r0, r1, 24
+ lsrs r5, r0, 24
+ mov r10, r1
+ cmp r5, 0x2
+ bhi _08122198
+ ldr r2, _081221C8 @ =0xfffffd7e
+ adds r2, r6
+ mov r9, r2
+ movs r0, 0x64
+ mov r8, r0
+ ldr r7, _081221B8 @ =gUnknown_030042FC
+_0812214A:
+ ldr r0, _081221C0 @ =0x00000282
+ add r0, r9
+ movs r1, 0
+ ldrsh r4, [r0, r1]
+ ldr r0, _081221B4 @ =gUnknown_02039270
+ adds r6, r5, r0
+ ldrb r0, [r6]
+ mov r2, r8
+ muls r2, r0
+ adds r0, r2, 0
+ adds r0, r7
+ movs r1, 0xB
+ bl GetMonData
+ cmp r4, r0
+ beq _081220F8
+ movs r1, 0xA0
+ lsls r1, 2
+ add r1, r9
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _0812218E
+ adds r4, r0, 0
+ ldrb r0, [r6]
+ mov r1, r8
+ muls r1, r0
+ adds r0, r1, 0
+ adds r0, r7
+ movs r1, 0xC
+ bl GetMonData
+ cmp r4, r0
+ beq _081220FC
+_0812218E:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _0812214A
+_08122198:
+ mov r2, r10
+ lsls r0, r2, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x1
+ bls _08122102
+_081221A2:
+ movs r0, 0xFF
+_081221A4:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081221B4: .4byte gUnknown_02039270
+_081221B8: .4byte gUnknown_030042FC
+_081221BC: .4byte 0x0201b000
+_081221C0: .4byte 0x00000282
+_081221C4: .4byte 0x0201b280
+_081221C8: .4byte 0xfffffd7e
+ thumb_func_end sub_81220C8
+
+ thumb_func_start sub_81221CC
+sub_81221CC: @ 81221CC
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r1, 0
+ ldr r3, _081221E4 @ =gUnknown_02039270
+_081221D6:
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, r2
+ bne _081221E8
+ movs r0, 0x1
+ b _081221F4
+ .align 2, 0
+_081221E4: .4byte gUnknown_02039270
+_081221E8:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x2
+ bls _081221D6
+ movs r0, 0
+_081221F4:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81221CC
+
+ thumb_func_start sub_81221F8
+sub_81221F8: @ 81221F8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x5
+ movs r1, 0x1
+ bl sub_806D538
+ ldr r5, _08122248 @ =gUnknown_03005CE0
+ ldrb r1, [r5]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _0812224C @ =gPlayerParty
+ adds r0, r1
+ bl sub_8122030
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122284
+ ldrb r0, [r5]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_81221CC
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1
+ bne _0812225C
+ ldr r1, _08122250 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r2, [r0, 0x10]
+ ldr r1, _08122254 @ =gUnknown_084017D8
+ ldr r2, _08122258 @ =gUnknown_084017B0
+ movs r0, 0x1
+ b _08122270
+ .align 2, 0
+_08122248: .4byte gUnknown_03005CE0
+_0812224C: .4byte gPlayerParty
+_08122250: .4byte gTasks
+_08122254: .4byte gUnknown_084017D8
+_08122258: .4byte gUnknown_084017B0
+_0812225C:
+ ldr r1, _08122278 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x10]
+ ldr r1, _0812227C @ =gUnknown_084017D8
+ ldr r2, _08122280 @ =gUnknown_084017B0
+ movs r0, 0
+_08122270:
+ movs r3, 0
+ bl sub_806E750
+ b _0812229E
+ .align 2, 0
+_08122278: .4byte gTasks
+_0812227C: .4byte gUnknown_084017D8
+_08122280: .4byte gUnknown_084017B0
+_08122284:
+ ldr r1, _081222A4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x2
+ strh r1, [r0, 0x10]
+ ldr r1, _081222A8 @ =gUnknown_084017D8
+ ldr r2, _081222AC @ =gUnknown_084017B0
+ movs r0, 0x2
+ movs r3, 0
+ bl sub_806E750
+_0812229E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081222A4: .4byte gTasks
+_081222A8: .4byte gUnknown_084017D8
+_081222AC: .4byte gUnknown_084017B0
+ thumb_func_end sub_81221F8
+
+ thumb_func_start sub_81222B0
+sub_81222B0: @ 81222B0
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _081222DC @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _0812237C
+ adds r0, r4, 0
+ bl sub_806BE38
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ beq _081222E0
+ cmp r0, 0x2
+ beq _08122354
+ b _0812237C
+ .align 2, 0
+_081222DC: .4byte gPaletteFade
+_081222E0:
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_806CA38
+ ldr r1, _08122320 @ =gUnknown_03005CE0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x6
+ beq _08122334
+ ldrb r1, [r1]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08122324 @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08122328 @ =gStringVar1
+ bl GetMonNickname
+ adds r0, r4, 0
+ bl sub_81221F8
+ ldr r1, _0812232C @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08122330 @ =sub_812238C
+ str r1, [r0]
+ b _08122342
+ .align 2, 0
+_08122320: .4byte gUnknown_03005CE0
+_08122324: .4byte gPlayerParty
+_08122328: .4byte gStringVar1
+_0812232C: .4byte gTasks
+_08122330: .4byte sub_812238C
+_08122334:
+ ldr r0, _0812234C @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08122350 @ =sub_81224A8
+ str r0, [r1]
+_08122342:
+ adds r0, r4, 0
+ bl sub_808B5B4
+ b _0812237C
+ .align 2, 0
+_0812234C: .4byte gTasks
+_08122350: .4byte sub_81224A8
+_08122354:
+ movs r0, 0x5
+ bl PlaySE
+ bl sub_8121E58
+ movs r0, 0x1
+ negs r0, r0
+ str r5, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _08122384 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08122388 @ =sub_8122450
+ str r1, [r0]
+_0812237C:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122384: .4byte gTasks
+_08122388: .4byte sub_8122450
+ thumb_func_end sub_81222B0
+
+ thumb_func_start sub_812238C
+sub_812238C: @ 812238C
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ adds r4, r7, 0
+ ldr r0, _081223C8 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r3, 0x80
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0812244A
+ ldr r2, _081223CC @ =gMain
+ ldrh r1, [r2, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _081223D0
+ bl GetMenuCursorPos
+ lsls r0, 24
+ cmp r0, 0
+ beq _0812244A
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ bl MoveMenuCursor
+ b _0812244A
+ .align 2, 0
+_081223C8: .4byte gPaletteFade
+_081223CC: .4byte gMain
+_081223D0:
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _081223F2
+ bl GetMenuCursorPos
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ beq _0812244A
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ bl MoveMenuCursor
+ b _0812244A
+_081223F2:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0812243C
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _08122430 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrb r4, [r0, 0x10]
+ ldr r5, _08122434 @ =gUnknown_084017D8
+ ldr r6, _08122438 @ =gUnknown_084017B0
+ bl GetMenuCursorPos
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_806E81C
+ adds r1, r0, 0
+ adds r0, r7, 0
+ bl _call_via_r1
+ b _0812244A
+ .align 2, 0
+_08122430: .4byte gTasks
+_08122434: .4byte gUnknown_084017D8
+_08122438: .4byte gUnknown_084017B0
+_0812243C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0812244A
+ adds r0, r4, 0
+ bl sub_8122838
+_0812244A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812238C
+
+ thumb_func_start sub_8122450
+sub_8122450: @ 8122450
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08122478 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08122470
+ ldr r0, _0812247C @ =gMain
+ ldr r0, [r0, 0x8]
+ bl SetMainCallback2
+ adds r0, r4, 0
+ bl DestroyTask
+_08122470:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122478: .4byte gPaletteFade
+_0812247C: .4byte gMain
+ thumb_func_end sub_8122450
+
+ thumb_func_start sub_8122480
+sub_8122480: @ 8122480
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _081224A4 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0812249A
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _081224A0
+_0812249A:
+ adds r0, r2, 0
+ bl sub_8122838
+_081224A0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081224A4: .4byte gMain
+ thumb_func_end sub_8122480
+
+ thumb_func_start sub_81224A8
+sub_81224A8: @ 81224A8
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ bl sub_81220C8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _081224D0
+ movs r1, 0
+ bl sub_806D538
+ ldr r0, _081224CC @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ b _08122518
+ .align 2, 0
+_081224CC: .4byte gTasks
+_081224D0:
+ ldr r0, _081224F8 @ =gUnknown_02039270
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08122504
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _081224FC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08122500 @ =sub_8122450
+ str r1, [r0]
+ b _08122520
+ .align 2, 0
+_081224F8: .4byte gUnknown_02039270
+_081224FC: .4byte gTasks
+_08122500: .4byte sub_8122450
+_08122504:
+ movs r0, 0x20
+ bl PlaySE
+ movs r0, 0xE
+ movs r1, 0
+ bl sub_806D538
+ ldr r0, _08122528 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+_08122518:
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _0812252C @ =sub_8122480
+ str r0, [r1]
+_08122520:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122528: .4byte gTasks
+_0812252C: .4byte sub_8122480
+ thumb_func_end sub_81224A8
+
+ thumb_func_start sub_8122530
+sub_8122530: @ 8122530
+ push {r4,r5,lr}
+ ldr r5, _08122578 @ =0x0201b260
+ ldr r4, _0812257C @ =gUnknown_020384F0
+_08122536:
+ bl sub_806B124
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122590
+ ldrb r0, [r5]
+ ldrb r1, [r4]
+ bl sub_806C994
+ ldrb r0, [r5]
+ movs r1, 0
+ bl sub_806C658
+ ldrb r1, [r4]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08122580 @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08122584 @ =gStringVar1
+ bl GetMonNickname
+ ldr r1, _08122588 @ =gUnknown_03005CE0
+ ldrb r0, [r4]
+ strb r0, [r1]
+ ldrb r0, [r5]
+ bl sub_81221F8
+ ldr r0, _0812258C @ =sub_806AEDC
+ bl SetMainCallback2
+ b _0812259C
+ .align 2, 0
+_08122578: .4byte 0x0201b260
+_0812257C: .4byte gUnknown_020384F0
+_08122580: .4byte gPlayerParty
+_08122584: .4byte gStringVar1
+_08122588: .4byte gUnknown_03005CE0
+_0812258C: .4byte sub_806AEDC
+_08122590:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122536
+_0812259C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8122530
+
+ thumb_func_start sub_81225A4
+sub_81225A4: @ 81225A4
+ push {lr}
+ ldr r2, _081225C8 @ =gPaletteFade
+ ldrb r0, [r2, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x8]
+ ldr r2, _081225CC @ =sub_812238C
+ movs r0, 0x4
+ movs r1, 0xFF
+ movs r3, 0x5
+ bl sub_806AF4C
+ ldr r0, _081225D0 @ =sub_8122530
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081225C8: .4byte gPaletteFade
+_081225CC: .4byte sub_812238C
+_081225D0: .4byte sub_8122530
+ thumb_func_end sub_81225A4
+
+ thumb_func_start sub_81225D4
+sub_81225D4: @ 81225D4
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r0, _0812263C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _08122632
+ ldr r2, _08122640 @ =gSprites
+ ldr r1, _08122644 @ =gTasks
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0xE]
+ lsls r1, 16
+ asrs r1, 24
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r4, [r0, 0x2E]
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r3, 0
+ bl DestroyTask
+ ldr r0, _08122648 @ =0x0201b000
+ ldr r1, _0812264C @ =0x00000262
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, _08122650 @ =gPlayerParty
+ ldr r1, _08122654 @ =gPlayerPartyCount
+ ldrb r2, [r1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r3, _08122658 @ =sub_81225A4
+ str r5, [sp]
+ adds r1, r4, 0
+ bl sub_809D8BC
+_08122632:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812263C: .4byte gPaletteFade
+_08122640: .4byte gSprites
+_08122644: .4byte gTasks
+_08122648: .4byte 0x0201b000
+_0812264C: .4byte 0x00000262
+_08122650: .4byte gPlayerParty
+_08122654: .4byte gPlayerPartyCount
+_08122658: .4byte sub_81225A4
+ thumb_func_end sub_81225D4
+
+ thumb_func_start sub_812265C
+sub_812265C: @ 812265C
+ 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, _0812268C @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08122690 @ =sub_81225D4
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812268C: .4byte gTasks
+_08122690: .4byte sub_81225D4
+ thumb_func_end sub_812265C
+
+ thumb_func_start sub_8122694
+sub_8122694: @ 8122694
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ ldr r3, _081226D4 @ =gUnknown_02039270
+ ldr r2, _081226D8 @ =gUnknown_03005CE0
+_081226A0:
+ adds r1, r4, r3
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _081226DC
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldrb r0, [r2]
+ lsls r1, r4, 3
+ subs r1, r4
+ lsls r1, 25
+ movs r2, 0xE0
+ lsls r2, 21
+ adds r1, r2
+ lsrs r1, 24
+ bl sub_806BC3C
+ cmp r4, 0x2
+ bne _081226CC
+ adds r0, r5, 0
+ bl sub_806C890
+_081226CC:
+ adds r0, r5, 0
+ bl sub_8122838
+ b _08122716
+ .align 2, 0
+_081226D4: .4byte gUnknown_02039270
+_081226D8: .4byte gUnknown_03005CE0
+_081226DC:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x2
+ bls _081226A0
+ movs r0, 0x20
+ bl PlaySE
+ movs r0, 0x14
+ movs r1, 0xA
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ bl sub_8072DEC
+ bl sub_806D5A4
+ ldr r0, _0812271C @ =gOtherText_NoMoreThreePoke
+ movs r1, 0x1
+ bl sub_806E834
+ ldr r1, _08122720 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08122724 @ =sub_8122728
+ str r1, [r0]
+_08122716:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812271C: .4byte gOtherText_NoMoreThreePoke
+_08122720: .4byte gTasks
+_08122724: .4byte sub_8122728
+ thumb_func_end sub_8122694
+
+ thumb_func_start sub_8122728
+sub_8122728: @ 8122728
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08122768 @ =gUnknown_0202E8F6
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08122760
+ ldr r0, _0812276C @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0812274A
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08122760
+_0812274A:
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ bl sub_8072DEC
+ adds r0, r4, 0
+ bl sub_8122838
+_08122760:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122768: .4byte gUnknown_0202E8F6
+_0812276C: .4byte gMain
+ thumb_func_end sub_8122728
+
+ thumb_func_start sub_8122770
+sub_8122770: @ 8122770
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r4, 0
+ ldr r5, _08122798 @ =gUnknown_03005CE0
+ ldr r3, _0812279C @ =gUnknown_02039270
+_0812277C:
+ adds r2, r4, r3
+ ldrb r1, [r2]
+ ldrb r0, [r5]
+ adds r0, 0x1
+ cmp r1, r0
+ bne _081227B4
+ movs r1, 0
+ strb r1, [r2]
+ cmp r4, 0
+ beq _081227A0
+ cmp r4, 0x1
+ beq _081227AC
+ b _081227BE
+ .align 2, 0
+_08122798: .4byte gUnknown_03005CE0
+_0812279C: .4byte gUnknown_02039270
+_081227A0:
+ ldrb r0, [r3, 0x1]
+ strb r0, [r3]
+ ldrb r0, [r3, 0x2]
+ strb r0, [r3, 0x1]
+ strb r4, [r3, 0x2]
+ b _081227BE
+_081227AC:
+ ldrb r0, [r3, 0x2]
+ strb r0, [r3, 0x1]
+ strb r1, [r3, 0x2]
+ b _081227BE
+_081227B4:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x2
+ bls _0812277C
+_081227BE:
+ ldrb r0, [r5]
+ movs r1, 0x70
+ bl sub_806BC3C
+ ldr r4, _081227F8 @ =gUnknown_02039270
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _081227DA
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1C
+ bl sub_806BC3C
+_081227DA:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0
+ beq _081227EC
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x2A
+ bl sub_806BC3C
+_081227EC:
+ adds r0, r6, 0
+ bl sub_8122838
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081227F8: .4byte gUnknown_02039270
+ thumb_func_end sub_8122770
+
+ thumb_func_start sub_81227FC
+sub_81227FC: @ 81227FC
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x14
+ movs r1, 0xA
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ bl sub_8072DEC
+ movs r0, 0
+ movs r1, 0
+ bl sub_806D538
+ ldr r1, _08122830 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08122834 @ =sub_81222B0
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122830: .4byte gTasks
+_08122834: .4byte sub_81222B0
+ thumb_func_end sub_81227FC
+
+ thumb_func_start sub_8122838
+sub_8122838: @ 8122838
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_81227FC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8122838
+
+ thumb_func_start sub_8122854
+sub_8122854: @ 8122854
+ push {r4,lr}
+ ldr r1, _08122874 @ =0x0201b000
+ movs r2, 0x99
+ lsls r2, 2
+ adds r0, r1, r2
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ adds r4, r1, 0
+ cmp r0, 0x4
+ bhi _081228E0
+ lsls r0, 2
+ ldr r1, _08122878 @ =_0812287C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08122874: .4byte 0x0201b000
+_08122878: .4byte _0812287C
+ .align 2, 0
+_0812287C:
+ .4byte _08122890
+ .4byte _081228A4
+ .4byte _081228AA
+ .4byte _081228BE
+ .4byte _081228D8
+_08122890:
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ bl sub_81228E8
+ movs r2, 0x99
+ lsls r2, 2
+ adds r1, r4, r2
+ b _081228CA
+_081228A4:
+ bl sub_806DA98
+ b _081228C2
+_081228AA:
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ bl sub_8122950
+ movs r2, 0x99
+ lsls r2, 2
+ adds r1, r4, r2
+ b _081228CA
+_081228BE:
+ bl sub_81229B8
+_081228C2:
+ ldr r1, _081228D4 @ =0x0201b000
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r0
+_081228CA:
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _081228E0
+ .align 2, 0
+_081228D4: .4byte 0x0201b000
+_081228D8:
+ bl sub_806B908
+ movs r0, 0x1
+ b _081228E2
+_081228E0:
+ movs r0, 0
+_081228E2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8122854
+
+ thumb_func_start sub_81228E8
+sub_81228E8: @ 81228E8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+_081228F0:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _08122948 @ =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ cmp r0, 0
+ beq _08122912
+ adds r0, r6, 0
+ adds r1, r5, 0
+ movs r2, 0x3
+ adds r3, r4, 0
+ bl sub_806D880
+_08122912:
+ ldr r0, _0812294C @ =gUnknown_02023A00
+ lsls r1, r5, 5
+ adds r3, r1, r0
+ ldrh r0, [r3]
+ cmp r0, 0
+ beq _08122936
+ adds r4, r5, 0x3
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r6, 0
+ adds r1, r4, 0
+ movs r2, 0x3
+ bl sub_806D99C
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_806D50C
+_08122936:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _081228F0
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122948: .4byte gPlayerParty
+_0812294C: .4byte gUnknown_02023A00
+ thumb_func_end sub_81228E8
+
+ thumb_func_start sub_8122950
+sub_8122950: @ 8122950
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+_08122958:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _081229B0 @ =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ cmp r0, 0
+ beq _08122984
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl GetMonData
+ adds r2, r0, 0
+ lsls r2, 16
+ lsrs r2, 16
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_806DCD4
+_08122984:
+ ldr r0, _081229B4 @ =gUnknown_02023A00
+ lsls r1, r5, 5
+ adds r2, r1, r0
+ ldrh r0, [r2]
+ cmp r0, 0
+ beq _0812299E
+ adds r1, r5, 0x3
+ lsls r1, 24
+ lsrs r1, 24
+ ldrh r2, [r2, 0x2]
+ adds r0, r6, 0
+ bl sub_806DCD4
+_0812299E:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _08122958
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081229B0: .4byte gPlayerParty
+_081229B4: .4byte gUnknown_02023A00
+ thumb_func_end sub_8122950
+
+ thumb_func_start sub_81229B8
+sub_81229B8: @ 81229B8
+ push {r4-r7,lr}
+ movs r5, 0
+ movs r7, 0x64
+ ldr r6, _08122A00 @ =gPlayerParty
+_081229C0:
+ adds r0, r5, 0
+ muls r0, r7
+ adds r4, r0, r6
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ cmp r0, 0
+ beq _08122A36
+ adds r0, r5, 0
+ movs r1, 0x3
+ adds r2, r4, 0
+ bl sub_806E4A4
+ adds r0, r4, 0
+ bl sub_80A1CD8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _08122A04
+ cmp r0, 0x6
+ beq _08122A04
+ subs r2, r0, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_806E104
+ b _08122A12
+ .align 2, 0
+_08122A00: .4byte gPlayerParty
+_08122A04:
+ adds r2, r5, 0
+ muls r2, r7
+ adds r2, r6
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_806E294
+_08122A12:
+ adds r4, r5, 0
+ muls r4, r7
+ adds r4, r6
+ adds r0, r5, 0
+ movs r1, 0x3
+ adds r2, r4, 0
+ bl sub_806E3C0
+ adds r0, r5, 0
+ movs r1, 0x3
+ adds r2, r4, 0
+ bl sub_806E050
+ adds r0, r5, 0
+ movs r1, 0x3
+ adds r2, r4, 0
+ bl sub_806E630
+_08122A36:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _081229C0
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81229B8
+
+ thumb_func_start sub_8122A48
+sub_8122A48: @ 8122A48
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, _08122AA0 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08122A98
+ ldr r0, _08122AA4 @ =gTasks
+ lsls r4, r6, 2
+ adds r4, r6
+ lsls r4, 3
+ adds r4, r0
+ movs r0, 0x1E
+ strh r0, [r4, 0x8]
+ ldr r5, _08122AA8 @ =gUnknown_02023A00
+ ldrh r1, [r5]
+ adds r0, r6, 0
+ movs r2, 0
+ bl sub_806D4AC
+ ldrh r1, [r5, 0x20]
+ adds r0, r6, 0
+ movs r2, 0x1
+ bl sub_806D4AC
+ adds r5, 0x40
+ ldrh r1, [r5]
+ adds r0, r6, 0
+ movs r2, 0x2
+ bl sub_806D4AC
+ ldr r0, _08122AAC @ =sub_8122AB8
+ str r0, [r4]
+ ldr r0, _08122AB0 @ =0x0201b000
+ ldr r1, _08122AB4 @ =0x00000261
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+_08122A98:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122AA0: .4byte gPaletteFade
+_08122AA4: .4byte gTasks
+_08122AA8: .4byte gUnknown_02023A00
+_08122AAC: .4byte sub_8122AB8
+_08122AB0: .4byte 0x0201b000
+_08122AB4: .4byte 0x00000261
+ thumb_func_end sub_8122A48
+
+ thumb_func_start sub_8122AB8
+sub_8122AB8: @ 8122AB8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _08122AFC @ =gUnknown_02023A00
+ ldrh r1, [r0, 0x20]
+ adds r0, 0x40
+ ldrh r2, [r0]
+ adds r0, r4, 0
+ bl sub_806D3B4
+ ldr r1, _08122B00 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r1, r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08122AF4
+ ldr r0, _08122B04 @ =sub_8122B10
+ str r0, [r1]
+ ldr r0, _08122B08 @ =0x0201b000
+ ldr r1, _08122B0C @ =0x00000261
+ adds r0, r1
+ movs r1, 0x2
+ strb r1, [r0]
+ movs r0, 0x78
+ bl PlaySE
+_08122AF4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122AFC: .4byte gUnknown_02023A00
+_08122B00: .4byte gTasks
+_08122B04: .4byte sub_8122B10
+_08122B08: .4byte 0x0201b000
+_08122B0C: .4byte 0x00000261
+ thumb_func_end sub_8122AB8
+
+ thumb_func_start sub_8122B10
+sub_8122B10: @ 8122B10
+ 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
+ str r0, [sp, 0x4]
+ movs r0, 0
+ mov r8, r0
+ ldr r1, _08122B5C @ =gUnknown_02023A00
+ mov r10, r1
+ ldr r2, _08122B60 @ =gStringVar1
+ mov r9, r2
+_08122B2E:
+ mov r1, r8
+ lsls r0, r1, 5
+ mov r2, r10
+ adds r6, r0, r2
+ ldrh r1, [r6]
+ adds r7, r0, 0
+ cmp r1, 0
+ beq _08122BDA
+ mov r4, r8
+ adds r4, 0x3
+ lsls r0, r4, 24
+ lsrs r5, r0, 24
+ ldrh r2, [r6, 0x10]
+ ldrh r3, [r6, 0x12]
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_806E420
+ ldrh r0, [r6, 0x10]
+ cmp r0, 0
+ bne _08122B64
+ movs r2, 0x7
+ b _08122B76
+ .align 2, 0
+_08122B5C: .4byte gUnknown_02023A00
+_08122B60: .4byte gStringVar1
+_08122B64:
+ ldr r1, _08122B88 @ =gUnknown_02023A14
+ adds r0, r7, r1
+ ldr r0, [r0]
+ bl pokemon_ailments_get_primary
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _08122B8C
+_08122B76:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ movs r1, 0x3
+ bl sub_806E104
+ b _08122B96
+ .align 2, 0
+_08122B88: .4byte gUnknown_02023A14
+_08122B8C:
+ ldrb r2, [r6, 0xF]
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_806E1F4
+_08122B96:
+ mov r2, r10
+ adds r6, r7, r2
+ ldrh r0, [r6]
+ ldrb r1, [r6, 0x1C]
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r2, _08122C0C @ =gUnknown_02023A04
+ adds r5, r7, r2
+ str r5, [sp]
+ movs r2, 0x3
+ adds r3, r4, 0
+ bl sub_806E35C
+ mov r0, r9
+ adds r1, r5, 0
+ bl StringCopy
+ mov r0, r9
+ bl StringGetEnd10
+ mov r0, r9
+ bl sub_814A568
+ adds r0, r4, 0
+ movs r1, 0x3
+ mov r2, r9
+ bl box_print
+ ldrh r2, [r6, 0x10]
+ ldrh r3, [r6, 0x12]
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl sub_806E574
+_08122BDA:
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ cmp r0, 0x2
+ bls _08122B2E
+ ldr r1, _08122C10 @ =gTasks
+ ldr r2, [sp, 0x4]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08122C14 @ =sub_8122C18
+ str r1, [r0]
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ 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
+_08122C0C: .4byte gUnknown_02023A04
+_08122C10: .4byte gTasks
+_08122C14: .4byte sub_8122C18
+ thumb_func_end sub_8122B10
+
+ thumb_func_start sub_8122C18
+sub_8122C18: @ 8122C18
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08122C58 @ =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
+ movs r1, 0x80
+ lsls r1, 17
+ cmp r0, r1
+ bne _08122C4E
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _08122C5C @ =sub_8122450
+ str r0, [r4]
+_08122C4E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122C58: .4byte gTasks
+_08122C5C: .4byte sub_8122450
+ thumb_func_end sub_8122C18
+
+ thumb_func_start unref_sub_8122C60
+unref_sub_8122C60: @ 8122C60
+ push {r4,r5,lr}
+ ldr r1, _08122C80 @ =0x0201b000
+ movs r2, 0x99
+ lsls r2, 2
+ adds r0, r1, r2
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ adds r4, r1, 0
+ cmp r0, 0x7
+ bls _08122C76
+ b _08122D8A
+_08122C76:
+ lsls r0, 2
+ ldr r1, _08122C84 @ =_08122C88
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08122C80: .4byte 0x0201b000
+_08122C84: .4byte _08122C88
+ .align 2, 0
+_08122C88:
+ .4byte _08122CA8
+ .4byte _08122CE8
+ .4byte _08122CEE
+ .4byte _08122D02
+ .4byte _08122D2C
+ .4byte _08122D32
+ .4byte _08122D44
+ .4byte _08122D5C
+_08122CA8:
+ ldr r0, _08122CD0 @ =0x00000266
+ adds r5, r4, r0
+ movs r1, 0
+ ldrsh r3, [r5, r1]
+ ldr r0, _08122CD4 @ =gPlayerPartyCount
+ ldrb r0, [r0]
+ cmp r3, r0
+ bge _08122CDC
+ movs r2, 0x98
+ lsls r2, 2
+ adds r0, r4, r2
+ ldrb r0, [r0]
+ ldrb r1, [r5]
+ movs r2, 0x64
+ muls r2, r3
+ ldr r3, _08122CD8 @ =gPlayerParty
+ adds r2, r3
+ bl sub_806D90C
+ b _08122D84
+ .align 2, 0
+_08122CD0: .4byte 0x00000266
+_08122CD4: .4byte gPlayerPartyCount
+_08122CD8: .4byte gPlayerParty
+_08122CDC:
+ movs r0, 0
+ strh r0, [r5]
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r4, r0
+ b _08122D50
+_08122CE8:
+ bl sub_806DA98
+ b _08122D48
+_08122CEE:
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ bl sub_806DC34
+ movs r2, 0x99
+ lsls r2, 2
+ adds r1, r4, r2
+ b _08122D50
+_08122D02:
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ ldr r2, _08122D28 @ =0x00000266
+ adds r5, r4, r2
+ ldrb r1, [r5]
+ bl sub_806BD58
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122D84
+ movs r0, 0
+ strh r0, [r5]
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r4, r0
+ b _08122D50
+ .align 2, 0
+_08122D28: .4byte 0x00000266
+_08122D2C:
+ bl sub_806E334
+ b _08122D48
+_08122D32:
+ bl sub_806E0C4
+ ldr r1, _08122D40 @ =0x0201b000
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r0
+ b _08122D50
+ .align 2, 0
+_08122D40: .4byte 0x0201b000
+_08122D44:
+ bl sub_806BCE8
+_08122D48:
+ ldr r1, _08122D58 @ =0x0201b000
+ movs r2, 0x99
+ lsls r2, 2
+ adds r1, r2
+_08122D50:
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08122D8A
+ .align 2, 0
+_08122D58: .4byte 0x0201b000
+_08122D5C:
+ ldr r0, _08122D80 @ =0x00000266
+ adds r5, r4, r0
+ ldrb r0, [r5]
+ bl sub_806B58C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122D84
+ movs r1, 0
+ strh r1, [r5]
+ movs r2, 0x99
+ lsls r2, 2
+ adds r0, r4, r2
+ strh r1, [r0]
+ movs r0, 0x1
+ b _08122D8C
+ .align 2, 0
+_08122D80: .4byte 0x00000266
+_08122D84:
+ ldrh r0, [r5]
+ adds r0, 0x1
+ strh r0, [r5]
+_08122D8A:
+ movs r0, 0
+_08122D8C:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end unref_sub_8122C60
+
+ thumb_func_start sub_8122D94
+sub_8122D94: @ 8122D94
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08122DCC @ =gUnknown_03005CE0
+ ldrb r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08122DD0 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2D
+ bl GetMonData
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _08122DE0
+ ldr r1, _08122DD4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r2, [r0, 0x10]
+ ldr r1, _08122DD8 @ =gUnknown_08401810
+ ldr r2, _08122DDC @ =gUnknown_084017F0
+ movs r0, 0
+ movs r3, 0
+ bl sub_806E750
+ b _08122DFA
+ .align 2, 0
+_08122DCC: .4byte gUnknown_03005CE0
+_08122DD0: .4byte gPlayerParty
+_08122DD4: .4byte gTasks
+_08122DD8: .4byte gUnknown_08401810
+_08122DDC: .4byte gUnknown_084017F0
+_08122DE0:
+ ldr r1, _08122E00 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0, 0x10]
+ ldr r1, _08122E04 @ =gUnknown_08401810
+ ldr r2, _08122E08 @ =gUnknown_084017F0
+ movs r0, 0x1
+ movs r3, 0
+ bl sub_806E750
+_08122DFA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122E00: .4byte gTasks
+_08122E04: .4byte gUnknown_08401810
+_08122E08: .4byte gUnknown_084017F0
+ thumb_func_end sub_8122D94
+
+ thumb_func_start sub_8122E0C
+sub_8122E0C: @ 8122E0C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08122E34 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08122E9C
+ adds r0, r4, 0
+ bl sub_806BD80
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ beq _08122E38
+ cmp r0, 0x2
+ beq _08122E84
+ b _08122E9C
+ .align 2, 0
+_08122E34: .4byte gPaletteFade
+_08122E38:
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_806CA38
+ ldr r1, _08122E70 @ =gUnknown_03005CE0
+ strb r0, [r1]
+ ldrb r1, [r1]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08122E74 @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08122E78 @ =gStringVar1
+ bl GetMonNickname
+ adds r0, r4, 0
+ bl sub_8122D94
+ ldr r1, _08122E7C @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08122E80 @ =sub_8122EAC
+ str r1, [r0]
+ b _08122E9C
+ .align 2, 0
+_08122E70: .4byte gUnknown_03005CE0
+_08122E74: .4byte gPlayerParty
+_08122E78: .4byte gStringVar1
+_08122E7C: .4byte gTasks
+_08122E80: .4byte sub_8122EAC
+_08122E84:
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _08122EA4 @ =gUnknown_03005CE0
+ movs r0, 0xFF
+ strb r0, [r1]
+ ldr r1, _08122EA8 @ =gUnknown_0202E8CC
+ movs r0, 0xFF
+ strh r0, [r1]
+ adds r0, r4, 0
+ bl sub_8123138
+_08122E9C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122EA4: .4byte gUnknown_03005CE0
+_08122EA8: .4byte gUnknown_0202E8CC
+ thumb_func_end sub_8122E0C
+
+ thumb_func_start sub_8122EAC
+sub_8122EAC: @ 8122EAC
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ adds r4, r7, 0
+ ldr r0, _08122EE8 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r3, 0x80
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08122F6A
+ ldr r2, _08122EEC @ =gMain
+ ldrh r1, [r2, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08122EF0
+ bl GetMenuCursorPos
+ lsls r0, 24
+ cmp r0, 0
+ beq _08122F6A
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ bl MoveMenuCursor
+ b _08122F6A
+ .align 2, 0
+_08122EE8: .4byte gPaletteFade
+_08122EEC: .4byte gMain
+_08122EF0:
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08122F12
+ bl GetMenuCursorPos
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ beq _08122F6A
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ bl MoveMenuCursor
+ b _08122F6A
+_08122F12:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08122F5C
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _08122F50 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrb r4, [r0, 0x10]
+ ldr r5, _08122F54 @ =gUnknown_08401810
+ ldr r6, _08122F58 @ =gUnknown_084017F0
+ bl GetMenuCursorPos
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_806E81C
+ adds r1, r0, 0
+ adds r0, r7, 0
+ bl _call_via_r1
+ b _08122F6A
+ .align 2, 0
+_08122F50: .4byte gTasks
+_08122F54: .4byte gUnknown_08401810
+_08122F58: .4byte gUnknown_084017F0
+_08122F5C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08122F6A
+ adds r0, r4, 0
+ bl sub_81230F4
+_08122F6A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8122EAC
+
+ thumb_func_start sub_8122F70
+sub_8122F70: @ 8122F70
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08122F88 @ =gUnknown_0202E8CC
+ ldr r1, _08122F8C @ =gUnknown_03005CE0
+ ldrb r1, [r1]
+ strh r1, [r2]
+ bl sub_8123138
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08122F88: .4byte gUnknown_0202E8CC
+_08122F8C: .4byte gUnknown_03005CE0
+ thumb_func_end sub_8122F70
+
+ thumb_func_start sub_8122F90
+sub_8122F90: @ 8122F90
+ push {r4,r5,lr}
+ ldr r5, _08122FD8 @ =0x0201b260
+ ldr r4, _08122FDC @ =gUnknown_020384F0
+_08122F96:
+ bl sub_806B124
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122FF0
+ ldrb r0, [r5]
+ ldrb r1, [r4]
+ bl sub_806C994
+ ldrb r0, [r5]
+ movs r1, 0
+ bl sub_806BF74
+ ldrb r1, [r4]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08122FE0 @ =gPlayerParty
+ adds r0, r1
+ ldr r1, _08122FE4 @ =gStringVar1
+ bl GetMonNickname
+ ldr r1, _08122FE8 @ =gUnknown_03005CE0
+ ldrb r0, [r4]
+ strb r0, [r1]
+ ldrb r0, [r5]
+ bl sub_8122D94
+ ldr r0, _08122FEC @ =sub_806AEDC
+ bl SetMainCallback2
+ b _08122FFC
+ .align 2, 0
+_08122FD8: .4byte 0x0201b260
+_08122FDC: .4byte gUnknown_020384F0
+_08122FE0: .4byte gPlayerParty
+_08122FE4: .4byte gStringVar1
+_08122FE8: .4byte gUnknown_03005CE0
+_08122FEC: .4byte sub_806AEDC
+_08122FF0:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08122F96
+_08122FFC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8122F90
+
+ thumb_func_start sub_8123004
+sub_8123004: @ 8123004
+ push {lr}
+ ldr r2, _08123028 @ =gPaletteFade
+ ldrb r0, [r2, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x8]
+ ldr r2, _0812302C @ =sub_8122EAC
+ movs r0, 0x6
+ movs r1, 0xFF
+ movs r3, 0x5
+ bl sub_806AF4C
+ ldr r0, _08123030 @ =sub_8122F90
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08123028: .4byte gPaletteFade
+_0812302C: .4byte sub_8122EAC
+_08123030: .4byte sub_8122F90
+ thumb_func_end sub_8123004
+
+ thumb_func_start sub_8123034
+sub_8123034: @ 8123034
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r0, _0812309C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _08123092
+ ldr r2, _081230A0 @ =gSprites
+ ldr r1, _081230A4 @ =gTasks
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0xE]
+ lsls r1, 16
+ asrs r1, 24
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r4, [r0, 0x2E]
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r3, 0
+ bl DestroyTask
+ ldr r0, _081230A8 @ =0x0201b000
+ ldr r1, _081230AC @ =0x00000262
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, _081230B0 @ =gPlayerParty
+ ldr r1, _081230B4 @ =gPlayerPartyCount
+ ldrb r2, [r1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r3, _081230B8 @ =sub_8123004
+ str r5, [sp]
+ adds r1, r4, 0
+ bl sub_809D8BC
+_08123092:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812309C: .4byte gPaletteFade
+_081230A0: .4byte gSprites
+_081230A4: .4byte gTasks
+_081230A8: .4byte 0x0201b000
+_081230AC: .4byte 0x00000262
+_081230B0: .4byte gPlayerParty
+_081230B4: .4byte gPlayerPartyCount
+_081230B8: .4byte sub_8123004
+ thumb_func_end sub_8123034
+
+ thumb_func_start sub_81230BC
+sub_81230BC: @ 81230BC
+ 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, _081230EC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _081230F0 @ =sub_8123034
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081230EC: .4byte gTasks
+_081230F0: .4byte sub_8123034
+ thumb_func_end sub_81230BC
+
+ thumb_func_start sub_81230F4
+sub_81230F4: @ 81230F4
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x14
+ movs r1, 0xA
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ bl sub_8072DEC
+ movs r0, 0xF
+ movs r1, 0
+ bl sub_806D538
+ ldr r1, _08123130 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08123134 @ =sub_8122E0C
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08123130: .4byte gTasks
+_08123134: .4byte sub_8122E0C
+ thumb_func_end sub_81230F4
+
+ thumb_func_start sub_8123138
+sub_8123138: @ 8123138
+ 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, _08123168 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0812316C @ =sub_8123170
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08123168: .4byte gTasks
+_0812316C: .4byte sub_8123170
+ thumb_func_end sub_8123138
+
+ thumb_func_start sub_8123170
+sub_8123170: @ 8123170
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _0812319C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08123194
+ ldr r0, _081231A0 @ =gUnknown_0300485C
+ ldr r1, _081231A4 @ =sub_81231AC
+ str r1, [r0]
+ ldr r0, _081231A8 @ =c2_exit_to_overworld_2_switch
+ bl SetMainCallback2
+ adds r0, r4, 0
+ bl DestroyTask
+_08123194:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812319C: .4byte gPaletteFade
+_081231A0: .4byte gUnknown_0300485C
+_081231A4: .4byte sub_81231AC
+_081231A8: .4byte c2_exit_to_overworld_2_switch
+ thumb_func_end sub_8123170
+
+ thumb_func_start sub_81231AC
+sub_81231AC: @ 81231AC
+ push {lr}
+ bl pal_fill_black
+ ldr r0, _081231C0 @ =sub_81231C4
+ movs r1, 0xA
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081231C0: .4byte sub_81231C4
+ thumb_func_end sub_81231AC
+
+ thumb_func_start sub_81231C4
+sub_81231C4: @ 81231C4
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_807D770
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _081231E4
+ adds r0, r4, 0
+ bl DestroyTask
+ bl ScriptContext2_Disable
+ bl EnableBothScriptContexts
+_081231E4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81231C4
+
+ .align 2, 0 @ Don't pad with nop.