summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rwxr-xr-xasm/berry_crush.s5948
-rw-r--r--asm/contest_painting_effects.s1152
-rwxr-xr-xasm/dodrio_berry_picking.s11806
-rw-r--r--asm/m4a_1.s25
-rw-r--r--asm/macros/battle_anim_script.inc14
-rw-r--r--asm/macros/battle_script.inc34
-rw-r--r--asm/macros/event.inc4
-rwxr-xr-xasm/pokemon_jump.s9040
-rw-r--r--asm/pokenav.s32
-rw-r--r--asm/rom_8011DC0.s48288
-rw-r--r--asm/rom_81D1C44.s7087
-rw-r--r--asm/use_pokeblock.s3431
12 files changed, 26877 insertions, 59984 deletions
diff --git a/asm/berry_crush.s b/asm/berry_crush.s
new file mode 100755
index 000000000..00bff2b56
--- /dev/null
+++ b/asm/berry_crush.s
@@ -0,0 +1,5948 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80216E0
+sub_80216E0: @ 80216E0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ adds r6, r0, 0
+ str r1, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r1, 0x4E
+ adds r1, r6
+ mov r10, r1
+ mov r9, r0
+ ldrb r2, [r6, 0x9]
+ cmp r0, r2
+ bcs _080217AE
+ ldr r7, =gUnknown_082F41CC
+_08021704:
+ mov r3, r10
+ ldrh r0, [r3, 0xA]
+ mov r4, r9
+ lsls r1, r4, 1
+ add r1, r9
+ asrs r0, r1
+ lsls r0, 16
+ movs r1, 0xE0
+ lsls r1, 11
+ ands r1, r0
+ lsrs r1, 16
+ mov r8, r1
+ cmp r1, 0
+ beq _0802179E
+ ldr r0, [sp, 0x4]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08021748
+ lsls r4, 2
+ ldr r5, [sp]
+ adds r5, 0x24
+ adds r0, r5, r4
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ b _0802175A
+ .pool
+_08021748:
+ mov r0, r9
+ lsls r4, r0, 2
+ ldr r5, [sp]
+ adds r5, 0x24
+ adds r0, r5, r4
+ ldr r0, [r0]
+ movs r1, 0
+ bl StartSpriteAnim
+_0802175A:
+ adds r3, r5, r4
+ ldr r2, [r3]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r4, 0x5
+ negs r4, r4
+ adds r1, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ subs r4, 0x3C
+ adds r1, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ movs r0, 0x3
+ mov r1, r8
+ ands r1, r0
+ mov r8, r1
+ subs r1, 0x1
+ lsls r1, 1
+ adds r0, r1, r7
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r2, 0x24]
+ ldr r2, [r3]
+ ldr r3, =gUnknown_082F41CC+1
+ adds r1, r3
+ movs r0, 0
+ ldrsb r0, [r1, r0]
+ strh r0, [r2, 0x26]
+_0802179E:
+ mov r0, r9
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldrb r4, [r6, 0x9]
+ cmp r9, r4
+ bcc _08021704
+_080217AE:
+ ldr r0, [sp, 0x4]
+ cmp r0, 0
+ bne _080217C0
+ adds r2, r6, 0
+ adds r2, 0x25
+ ldrb r1, [r2]
+ b _0802189C
+ .pool
+_080217C0:
+ ldrh r0, [r6, 0x28]
+ movs r1, 0x3
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r1, r8
+ str r1, [sp, 0x8]
+ movs r2, 0
+ mov r9, r2
+ mov r3, r10
+ ldrh r1, [r3, 0xC]
+ lsls r0, r1, 1
+ adds r0, 0x3
+ adds r6, 0x25
+ str r6, [sp, 0xC]
+ adds r3, r1, 0
+ cmp r9, r0
+ bge _08021890
+_080217E8:
+ mov r4, r9
+ lsls r1, r4, 2
+ ldr r0, [sp]
+ adds r0, 0x4C
+ adds r7, r0, r1
+ ldr r2, [r7]
+ adds r0, r2, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0802187E
+ ldr r0, =sub_8022B28
+ str r0, [r2, 0x1C]
+ lsls r1, r4, 1
+ ldr r3, =gUnknown_082F41CC+6
+ adds r0, r1, r3
+ movs r4, 0
+ ldrsb r4, [r0, r4]
+ adds r0, r4, 0
+ adds r0, 0x78
+ strh r0, [r2, 0x20]
+ ldr r2, [r7]
+ ldr r0, =gUnknown_082F41CC+7
+ adds r1, r0
+ movs r6, 0
+ ldrsb r6, [r1, r6]
+ mov r1, r8
+ lsls r0, r1, 2
+ subs r0, 0x88
+ subs r0, r6, r0
+ strh r0, [r2, 0x22]
+ ldr r5, [r7]
+ ldr r2, [sp, 0x8]
+ lsls r1, r2, 2
+ adds r0, r4, 0
+ bl __divsi3
+ adds r4, r0
+ strh r4, [r5, 0x24]
+ ldr r0, [r7]
+ strh r6, [r0, 0x26]
+ mov r3, r10
+ ldrb r1, [r3, 0x4]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08021860
+ ldr r0, [r7]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ b _08021868
+ .pool
+_08021860:
+ ldr r0, [r7]
+ movs r1, 0
+ bl StartSpriteAnim
+_08021868:
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ mov r4, r10
+ ldrh r3, [r4, 0xC]
+ cmp r0, 0x3
+ bls _0802187E
+ movs r0, 0
+ mov r8, r0
+_0802187E:
+ mov r0, r9
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ lsls r0, r3, 1
+ adds r0, 0x3
+ cmp r9, r0
+ blt _080217E8
+_08021890:
+ ldr r2, [sp, 0xC]
+ ldrb r1, [r2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080218A6
+_0802189C:
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ b _080218C4
+_080218A6:
+ ldr r3, [sp, 0x4]
+ cmp r3, 0x1
+ bne _080218B4
+ movs r0, 0x4E
+ bl PlaySE
+ b _080218BA
+_080218B4:
+ movs r0, 0x4D
+ bl PlaySE
+_080218BA:
+ ldr r4, [sp, 0xC]
+ ldrb r0, [r4]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4]
+_080218C4:
+ 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_80216E0
+
+ thumb_func_start sub_80218D4
+sub_80218D4: @ 80218D4
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ movs r2, 0
+ ldrb r0, [r5, 0x9]
+ cmp r2, r0
+ bcs _08021906
+ adds r4, r6, 0
+ adds r4, 0x24
+ movs r7, 0x4
+ adds r3, r0, 0
+_080218EA:
+ lsls r0, r2, 2
+ adds r0, r4, r0
+ ldr r0, [r0]
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08021920
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r3
+ bcc _080218EA
+_08021906:
+ movs r2, 0
+ adds r3, r6, 0
+ adds r3, 0x4C
+ movs r4, 0x4
+_0802190E:
+ lsls r0, r2, 2
+ adds r0, r3, r0
+ ldr r0, [r0]
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08021924
+_08021920:
+ movs r0, 0
+ b _0802193C
+_08021924:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xA
+ bls _0802190E
+ movs r1, 0x2C
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _0802193A
+ movs r0, 0
+ strh r0, [r5, 0x2C]
+_0802193A:
+ movs r0, 0x1
+_0802193C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80218D4
+
+ thumb_func_start sub_8021944
+sub_8021944: @ 8021944
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ lsls r4, r1, 16
+ lsrs r4, 16
+ movs r7, 0
+ movs r5, 0xE1
+ lsls r5, 4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl __udivsi3
+ strh r0, [r6, 0x4]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl __umodsi3
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x3C
+ bl __udivsi3
+ strh r0, [r6, 0x6]
+ adds r0, r4, 0
+ movs r1, 0x3C
+ bl __umodsi3
+ lsls r0, 24
+ asrs r0, 16
+ movs r1, 0x4
+ bl sub_8151534
+ adds r2, r7, 0
+ lsls r0, 16
+ asrs r3, r0, 16
+ movs r0, 0x7
+ mov r12, r0
+ ldr r5, =gUnknown_082F334C
+ movs r4, 0x1
+_08021990:
+ mov r0, r12
+ subs r1, r0, r2
+ adds r0, r3, 0
+ asrs r0, r1
+ ands r0, r4
+ cmp r0, 0
+ beq _080219A6
+ lsls r0, r2, 2
+ adds r0, r5
+ ldr r0, [r0]
+ adds r7, r0
+_080219A6:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x7
+ bls _08021990
+ ldr r1, =0x000f4240
+ adds r0, r7, 0
+ bl __udivsi3
+ strh r0, [r6, 0x8]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8021944
+
+ thumb_func_start sub_80219C8
+sub_80219C8: @ 80219C8
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0xC
+ adds r6, r0, 0
+ adds r4, r1, 0
+ adds r5, r2, 0
+ mov r8, r3
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, 24
+ lsrs r5, 24
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x2
+ mov r1, r8
+ bl GetStringWidth
+ lsls r4, 2
+ lsrs r0, 1
+ subs r4, r0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, r5, 1
+ adds r0, r5
+ ldr r1, =gUnknown_082F32D8
+ adds r0, r1
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ mov r0, r8
+ str r0, [sp, 0x8]
+ adds r0, r6, 0
+ movs r1, 0x2
+ adds r2, r4, 0
+ movs r3, 0
+ bl AddTextPrinterParameterized3
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80219C8
+
+ thumb_func_start sub_8021A28
+sub_8021A28: @ 8021A28
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x2C
+ str r0, [sp, 0xC]
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp, 0x10]
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x14]
+ lsls r3, 24
+ movs r0, 0
+ str r0, [sp, 0x18]
+ movs r1, 0
+ str r1, [sp, 0x1C]
+ ldr r2, [sp, 0xC]
+ adds r2, 0x68
+ str r2, [sp, 0x20]
+ movs r4, 0xF0
+ lsls r4, 24
+ adds r3, r4
+ lsrs r3, 24
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x2
+ bne _08021A68
+ adds r0, r3, 0
+ subs r0, 0x2A
+ lsls r0, 24
+ lsrs r3, r0, 24
+_08021A68:
+ ldr r2, [sp, 0xC]
+ ldrb r1, [r2, 0x9]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 1
+ subs r6, r3, r0
+ cmp r6, 0
+ ble _08021A84
+ lsrs r0, r6, 31
+ adds r0, r6, r0
+ asrs r0, 1
+ adds r6, r0, 0
+ adds r6, 0x10
+ b _08021A86
+_08021A84:
+ movs r6, 0x10
+_08021A86:
+ movs r5, 0
+ ldr r3, [sp, 0xC]
+ ldrb r3, [r3, 0x9]
+ cmp r5, r3
+ bcc _08021A92
+ b _08021D14
+_08021A92:
+ ldr r4, [sp, 0x10]
+ lsls r4, 2
+ str r4, [sp, 0x24]
+_08021A98:
+ bl DynamicPlaceholderTextUtil_Reset
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ beq _08021B48
+ cmp r0, 0x1
+ bgt _08021AC0
+ cmp r0, 0
+ beq _08021ADE
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r1, r6, 24
+ mov r10, r1
+ ldr r2, [sp, 0x1C]
+ adds r2, 0xA2
+ mov r9, r2
+ ldr r3, [sp, 0x18]
+ lsls r3, 5
+ mov r8, r3
+ b _08021C5A
+_08021AC0:
+ ldr r4, [sp, 0x10]
+ cmp r4, 0x2
+ bne _08021AC8
+ b _08021C1C
+_08021AC8:
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r0, r6, 24
+ mov r10, r0
+ ldr r1, [sp, 0x1C]
+ adds r1, 0xA2
+ mov r9, r1
+ ldr r2, [sp, 0x18]
+ lsls r2, 5
+ mov r8, r2
+ b _08021C5A
+_08021ADE:
+ ldr r0, [sp, 0x20]
+ adds r0, 0x20
+ adds r0, r5
+ ldrb r0, [r0]
+ str r0, [sp, 0x18]
+ lsls r3, r5, 1
+ ldr r2, [sp, 0x20]
+ adds r2, 0xC
+ cmp r5, 0
+ beq _08021B04
+ adds r0, r2, r3
+ subs r1, r5, 0x1
+ lsls r1, 1
+ adds r1, r2, r1
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ cmp r0, r1
+ beq _08021B04
+ str r5, [sp, 0x1C]
+_08021B04:
+ ldr r4, [sp, 0x24]
+ ldr r1, [sp, 0x10]
+ adds r0, r4, r1
+ lsls r0, 1
+ adds r0, r3, r0
+ adds r0, r2, r0
+ ldrh r1, [r0]
+ ldr r0, =gStringVar4
+ movs r2, 0x1
+ movs r3, 0x4
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gUnknown_082F43B4
+ adds r0, r4, r0
+ ldr r1, [r0]
+ ldr r0, =gStringVar4
+ bl StringAppend
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r2, r6, 24
+ mov r10, r2
+ ldr r3, [sp, 0x1C]
+ adds r3, 0xA2
+ mov r9, r3
+ ldr r0, [sp, 0x18]
+ lsls r0, 5
+ mov r8, r0
+ b _08021C5A
+ .pool
+_08021B48:
+ ldr r1, [sp, 0x20]
+ adds r0, r1, r5
+ adds r0, 0x28
+ ldrb r0, [r0]
+ str r0, [sp, 0x18]
+ lsls r3, r5, 1
+ adds r2, r1, 0
+ adds r2, 0xC
+ cmp r5, 0
+ beq _08021B72
+ adds r0, r3, 0
+ adds r0, 0xA
+ adds r0, r2, r0
+ adds r1, r3, 0
+ adds r1, 0x8
+ adds r1, r2, r1
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ cmp r0, r1
+ beq _08021B72
+ str r5, [sp, 0x1C]
+_08021B72:
+ ldr r0, [sp, 0x24]
+ ldr r1, [sp, 0x10]
+ adds r4, r0, r1
+ lsls r4, 1
+ adds r4, r3, r4
+ adds r4, r2, r4
+ ldrh r1, [r4]
+ lsrs r1, 4
+ ldr r0, =gStringVar1
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ movs r7, 0
+ ldrb r0, [r4]
+ movs r3, 0xF
+ ands r3, r0
+ movs r2, 0
+ ldr r4, [sp, 0x10]
+ lsls r4, 2
+ str r4, [sp, 0x28]
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r0, r6, 24
+ mov r10, r0
+ ldr r1, [sp, 0x1C]
+ adds r1, 0xA2
+ mov r9, r1
+ ldr r0, [sp, 0x18]
+ lsls r0, 5
+ mov r8, r0
+ adds r6, 0xE
+ adds r5, 0x1
+ ldr r1, =gUnknown_082F334C
+ mov r12, r1
+_08021BB8:
+ movs r0, 0x3
+ subs r1, r0, r2
+ adds r0, r3, 0
+ asrs r0, r1
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08021BD0
+ lsls r0, r2, 2
+ add r0, r12
+ ldr r0, [r0]
+ adds r7, r0
+_08021BD0:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _08021BB8
+ adds r0, r7, 0
+ ldr r1, =0x000f4240
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r0, =gStringVar2
+ adds r1, r3, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gUnknown_082F43B4
+ ldr r2, [sp, 0x28]
+ adds r0, r2, r0
+ ldr r1, [r0]
+ ldr r0, =gStringVar4
+ bl StringExpandPlaceholders
+ b _08021C5E
+ .pool
+_08021C1C:
+ str r5, [sp, 0x18]
+ str r5, [sp, 0x1C]
+ lsls r7, r5, 5
+ ldr r3, [sp, 0xC]
+ adds r0, r3, r7
+ adds r0, 0xA4
+ ldrb r2, [r0]
+ cmp r2, 0x2B
+ bls _08021C30
+ movs r2, 0
+_08021C30:
+ lsls r1, r2, 3
+ subs r1, r2
+ lsls r1, 2
+ ldr r0, =gBerries
+ adds r1, r0
+ ldr r0, =gStringVar1
+ bl StringCopy
+ ldr r0, =gUnknown_082F43B4
+ ldr r1, [r0, 0x8]
+ ldr r0, =gStringVar4
+ bl StringExpandPlaceholders
+ ldr r4, [sp, 0x14]
+ subs r4, 0x4
+ lsls r0, r6, 24
+ mov r10, r0
+ movs r1, 0xA2
+ adds r1, r5
+ mov r9, r1
+ mov r8, r7
+_08021C5A:
+ adds r6, 0xE
+ adds r5, 0x1
+_08021C5E:
+ movs r0, 0x2
+ ldr r1, =gStringVar4
+ adds r2, r4, 0
+ bl GetStringRightAlignXOffset
+ adds r2, r0, 0
+ ldr r3, [sp, 0xC]
+ movs r4, 0xDD
+ lsls r4, 1
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r2, 24
+ lsrs r2, 24
+ mov r1, r10
+ lsrs r3, r1, 24
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r4, 0
+ str r4, [sp, 0x4]
+ ldr r1, =gStringVar4
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ bl AddTextPrinterParameterized3
+ ldr r3, [sp, 0x18]
+ ldr r2, [sp, 0xC]
+ ldrb r2, [r2, 0x8]
+ cmp r3, r2
+ bne _08021CC0
+ ldr r0, =gStringVar3
+ ldr r1, =gText_1DotBlueF700
+ bl StringCopy
+ b _08021CC8
+ .pool
+_08021CC0:
+ ldr r0, =gStringVar3
+ ldr r1, =gText_1DotF700
+ bl StringCopy
+_08021CC8:
+ ldr r4, =gStringVar3
+ mov r3, r9
+ strb r3, [r4]
+ mov r1, r8
+ adds r1, 0x98
+ ldr r0, [sp, 0xC]
+ adds r1, r0, r1
+ movs r0, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r0, =gStringVar4
+ adds r1, r4, 0
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ ldr r1, [sp, 0xC]
+ movs r2, 0xDD
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ mov r4, r10
+ lsrs r3, r4, 24
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r2, =gStringVar4
+ str r2, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0x4
+ bl AddTextPrinterParameterized3
+ lsls r0, r5, 24
+ lsrs r5, r0, 24
+ ldr r3, [sp, 0xC]
+ ldrb r3, [r3, 0x9]
+ cmp r5, r3
+ bcs _08021D14
+ b _08021A98
+_08021D14:
+ add sp, 0x2C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8021A28
+
+ thumb_func_start sub_8021D34
+sub_8021D34: @ 8021D34
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1C
+ mov r8, r0
+ movs r0, 0
+ mov r10, r0
+ movs r6, 0
+ movs r1, 0
+ str r1, [sp, 0xC]
+ mov r2, r8
+ adds r2, 0x68
+ str r2, [sp, 0x10]
+ movs r4, 0xDD
+ lsls r4, 1
+ add r4, r8
+ mov r9, r4
+ ldrb r0, [r4]
+ movs r1, 0x4
+ bl GetWindowAttribute
+ lsls r0, 27
+ movs r1, 0xD6
+ lsls r1, 24
+ adds r0, r1
+ lsrs r7, r0, 24
+ movs r0, 0x9C
+ lsls r0, 1
+ add r0, r8
+ ldr r2, [sp, 0x10]
+ ldrh r1, [r2, 0x4]
+ bl sub_8021944
+ ldrb r0, [r4]
+ ldr r4, =gUnknown_082F32D8
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ ldr r1, =gText_TimeColon
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ ldr r4, =gText_SpaceSec
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ movs r1, 0xB0
+ subs r0, r1, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r2, r9
+ ldrb r0, [r2]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ mov r2, r10
+ str r2, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ movs r0, 0x9F
+ lsls r0, 1
+ add r0, r8
+ movs r4, 0
+ ldrsh r1, [r0, r4]
+ ldr r0, =gStringVar1
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gStringVar2
+ movs r1, 0xA0
+ lsls r1, 1
+ add r1, r8
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r5, =gStringVar4
+ ldr r1, =gText_XDotY2
+ adds r0, r5, 0
+ bl StringExpandPlaceholders
+ movs r0, 0x2
+ adds r1, r5, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ subs r0, r6, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r4, r9
+ ldrb r0, [r4]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ mov r2, r10
+ str r2, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ ldr r4, =gText_SpaceMin
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ subs r0, r6, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r2, =gUnknown_082F32D8
+ str r2, [sp]
+ mov r1, r10
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ movs r0, 0x9E
+ lsls r0, 1
+ add r0, r8
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ ldr r0, =gStringVar1
+ movs r2, 0x2
+ movs r3, 0x1
+ bl ConvertIntToDecimalStringN
+ ldr r1, =gText_StrVar1
+ adds r0, r5, 0
+ bl StringExpandPlaceholders
+ movs r0, 0x2
+ adds r1, r5, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ subs r0, r6, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r4, r9
+ ldrb r0, [r4]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ mov r2, r10
+ str r2, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ adds r0, r7, 0
+ adds r0, 0xE
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r4]
+ ldr r4, =gUnknown_082F32D8
+ str r4, [sp]
+ mov r1, r10
+ str r1, [sp, 0x4]
+ ldr r1, =gText_PressingSpeed
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ ldr r4, =gText_TimesPerSec
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ movs r2, 0xB0
+ subs r0, r2, r0
+ lsls r0, 24
+ str r0, [sp, 0x18]
+ lsrs r6, r0, 24
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r2, =gUnknown_082F32D8
+ str r2, [sp]
+ mov r1, r10
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ mov r4, r8
+ ldrb r2, [r4, 0x16]
+ ldrh r0, [r4, 0x16]
+ mov r12, r0
+ movs r1, 0x7
+ mov r9, r1
+ movs r5, 0x1
+ ldr r3, =gUnknown_082F334C
+_08021EEC:
+ mov r4, r9
+ mov r0, r10
+ subs r1, r4, r0
+ adds r0, r2, 0
+ asrs r0, r1
+ ands r0, r5
+ cmp r0, 0
+ beq _08021F0A
+ mov r1, r10
+ lsls r0, r1, 2
+ adds r0, r3
+ ldr r0, [r0]
+ ldr r4, [sp, 0xC]
+ adds r4, r0
+ str r4, [sp, 0xC]
+_08021F0A:
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ cmp r0, 0x7
+ bls _08021EEC
+ ldr r0, =gStringVar1
+ mov r2, r12
+ lsrs r1, r2, 8
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r4, =gStringVar2
+ ldr r1, =0x000f4240
+ ldr r0, [sp, 0xC]
+ bl __udivsi3
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r4, =gStringVar4
+ ldr r1, =gText_XDotY3
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl GetStringWidth
+ subs r0, r6, r0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r0, r8
+ adds r0, 0x25
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _08021FC4
+ movs r0, 0xDD
+ lsls r0, 1
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r1, =gUnknown_082F32E7
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ b _08021FDE
+ .pool
+_08021FC4:
+ movs r0, 0xDD
+ lsls r0, 1
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ str r2, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+_08021FDE:
+ adds r0, r7, 0
+ adds r0, 0xE
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r4, 0xDD
+ lsls r4, 1
+ add r8, r4
+ mov r1, r8
+ ldrb r0, [r1]
+ ldr r2, =gUnknown_082F32D8
+ mov r9, r2
+ str r2, [sp]
+ movs r5, 0
+ str r5, [sp, 0x4]
+ ldr r1, =gText_Silkiness
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ ldr r0, =gStringVar1
+ ldr r4, [sp, 0x10]
+ ldrh r1, [r4, 0x8]
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r4, =gStringVar4
+ ldr r1, =gText_Var1Percent
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl GetStringWidth
+ movs r1, 0xB0
+ subs r1, r0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ mov r1, r8
+ ldrb r0, [r1]
+ mov r2, r9
+ str r2, [sp]
+ str r5, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x2
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl AddTextPrinterParameterized3
+ add sp, 0x1C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8021D34
+
+ thumb_func_start sub_8022070
+sub_8022070: @ 8022070
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r6, r1, 0
+ adds r0, r6, 0
+ adds r0, 0x80
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bls _08022084
+ b _08022218
+_08022084:
+ lsls r0, 2
+ ldr r1, =_08022094
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08022094:
+ .4byte _080220AC
+ .4byte _080220F8
+ .4byte _0802210C
+ .4byte _08022130
+ .4byte _080221F8
+ .4byte _08022200
+_080220AC:
+ ldrb r0, [r4, 0x9]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r6, 0
+ bl sub_8022554
+ ldrh r0, [r4, 0x12]
+ lsls r0, 3
+ ldr r2, =gUnknown_082F32CC
+ mov r1, sp
+ adds r0, r2
+ ldm r0!, {r2,r3}
+ stm r1!, {r2,r3}
+ ldrh r0, [r4, 0x12]
+ cmp r0, 0xD
+ bne _080220DC
+ ldr r0, =gUnknown_082F3344
+ adds r0, 0x4
+ b _080220DE
+ .pool
+_080220DC:
+ ldr r0, =gUnknown_082F3344
+_080220DE:
+ adds r0, r5, r0
+ ldrb r1, [r0]
+ mov r0, sp
+ strb r1, [r0, 0x4]
+ mov r0, sp
+ bl AddWindow
+ adds r1, r6, 0
+ adds r1, 0x82
+ strb r0, [r1]
+ b _08022218
+ .pool
+_080220F8:
+ adds r4, r6, 0
+ adds r4, 0x82
+ ldrb r0, [r4]
+ bl PutWindowTilemap
+ ldrb r0, [r4]
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ b _08022218
+_0802210C:
+ adds r5, r6, 0
+ adds r5, 0x82
+ ldrb r0, [r5]
+ ldr r4, =0x0000021d
+ adds r1, r4, 0
+ movs r2, 0xD0
+ bl LoadUserWindowBorderGfx_
+ ldrb r0, [r5]
+ movs r1, 0
+ adds r2, r4, 0
+ movs r3, 0xD
+ bl DrawStdFrameWithCustomTileAndPalette
+ b _08022218
+ .pool
+_08022130:
+ ldrb r0, [r4, 0x9]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrh r0, [r4, 0x12]
+ cmp r0, 0xC
+ beq _08022184
+ cmp r0, 0xC
+ bgt _08022148
+ cmp r0, 0xB
+ beq _0802214E
+ b _08022218
+_08022148:
+ cmp r0, 0xD
+ beq _080221C8
+ b _08022218
+_0802214E:
+ adds r0, r6, 0
+ adds r0, 0x82
+ ldrb r0, [r0]
+ ldr r3, =gText_PressesRankings
+ movs r1, 0x14
+ movs r2, 0x3
+ bl sub_80219C8
+ ldr r0, =gUnknown_082F3344
+ adds r0, r5, r0
+ ldrb r3, [r0]
+ lsls r3, 27
+ lsrs r3, 24
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0xA0
+ bl sub_8021A28
+ adds r1, r6, 0
+ adds r1, 0x80
+ movs r0, 0x5
+ b _08022220
+ .pool
+_08022184:
+ adds r0, r6, 0
+ adds r0, 0x82
+ ldrb r0, [r0]
+ ldr r2, =gUnknown_082F43B4
+ adds r1, r4, 0
+ adds r1, 0x8F
+ ldrb r1, [r1]
+ adds r1, 0x3
+ lsls r1, 2
+ adds r1, r2
+ ldr r3, [r1]
+ movs r1, 0x14
+ movs r2, 0x4
+ bl sub_80219C8
+ ldr r0, =gUnknown_082F3344
+ adds r0, r5, r0
+ ldrb r3, [r0]
+ lsls r3, 27
+ lsrs r3, 24
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0xA0
+ bl sub_8021A28
+ adds r1, r6, 0
+ adds r1, 0x80
+ movs r0, 0x5
+ b _08022220
+ .pool
+_080221C8:
+ adds r0, r6, 0
+ adds r0, 0x82
+ ldrb r0, [r0]
+ ldr r3, =gText_CrushingResults
+ movs r1, 0x16
+ movs r2, 0x3
+ bl sub_80219C8
+ ldr r0, =gUnknown_082F3344
+ adds r0, 0x4
+ adds r0, r5, r0
+ ldrb r3, [r0]
+ lsls r3, 27
+ lsrs r3, 24
+ adds r0, r4, 0
+ movs r1, 0x2
+ movs r2, 0xB0
+ bl sub_8021A28
+ b _08022218
+ .pool
+_080221F8:
+ adds r0, r4, 0
+ bl sub_8021D34
+ b _08022218
+_08022200:
+ adds r0, r6, 0
+ adds r0, 0x82
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ adds r1, r6, 0
+ adds r1, 0x80
+ movs r0, 0
+ strb r0, [r1]
+ movs r0, 0x1
+ b _08022224
+_08022218:
+ adds r1, r6, 0
+ adds r1, 0x80
+ ldrb r0, [r1]
+ adds r0, 0x1
+_08022220:
+ strb r0, [r1]
+ movs r0, 0
+_08022224:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022070
+
+ thumb_func_start sub_802222C
+sub_802222C: @ 802222C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0xDD
+ lsls r0, 1
+ adds r5, r4, r0
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl ClearStdWindowAndFrameToTransparent
+ ldrb r0, [r5]
+ bl RemoveWindow
+ adds r0, r4, 0
+ bl sub_8022600
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802222C
+
+ thumb_func_start sub_8022250
+sub_8022250: @ 8022250
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0
+ mov r9, r0
+ movs r1, 0
+ str r1, [sp, 0xC]
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r6, r0, r1
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x1
+ beq _080222D0
+ cmp r0, 0x1
+ bgt _08022288
+ cmp r0, 0
+ beq _08022296
+ b _080224BA
+ .pool
+_08022288:
+ cmp r0, 0x2
+ bne _0802228E
+ b _08022480
+_0802228E:
+ cmp r0, 0x3
+ bne _08022294
+ b _08022494
+_08022294:
+ b _080224BA
+_08022296:
+ ldr r0, =gUnknown_082F32EC
+ bl AddWindow
+ strh r0, [r6, 0x2]
+ lsls r0, 24
+ lsrs r0, 24
+ bl PutWindowTilemap
+ ldrb r0, [r6, 0x2]
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ ldrb r0, [r6, 0x2]
+ ldr r4, =0x0000021d
+ adds r1, r4, 0
+ movs r2, 0xD0
+ bl LoadUserWindowBorderGfx_
+ ldrb r0, [r6, 0x2]
+ movs r1, 0
+ adds r2, r4, 0
+ movs r3, 0xD
+ bl DrawStdFrameWithCustomTileAndPalette
+ b _080224BA
+ .pool
+_080222D0:
+ ldr r0, =gText_BerryCrush2
+ mov r10, r0
+ movs r1, 0x1
+ negs r1, r1
+ mov r8, r1
+ movs r0, 0x1
+ mov r1, r10
+ mov r2, r8
+ bl GetStringWidth
+ lsrs r0, 1
+ movs r4, 0x60
+ subs r0, r4, r0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r6, 0x2]
+ ldr r5, =gUnknown_082F32E1
+ str r5, [sp]
+ mov r1, r9
+ str r1, [sp, 0x4]
+ mov r1, r10
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ ldr r0, =gText_PressingSpeedRankings
+ mov r10, r0
+ movs r0, 0x1
+ mov r1, r10
+ mov r2, r8
+ bl GetStringWidth
+ lsrs r0, 1
+ subs r4, r0
+ lsls r4, 24
+ lsrs r7, r4, 24
+ ldrb r0, [r6, 0x2]
+ str r5, [sp]
+ mov r1, r9
+ str r1, [sp, 0x4]
+ mov r1, r10
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ movs r3, 0x11
+ bl AddTextPrinterParameterized3
+ movs r0, 0x29
+ mov r10, r0
+_08022336:
+ mov r1, r9
+ adds r1, 0x2
+ ldr r0, =gStringVar1
+ movs r2, 0
+ movs r3, 0x1
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gStringVar4
+ ldr r1, =gText_Var1Players
+ bl StringExpandPlaceholders
+ ldrb r0, [r6, 0x2]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r1, =gStringVar4
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r2, 0
+ mov r3, r10
+ bl AddTextPrinterParameterized3
+ movs r0, 0x1
+ ldr r1, =gText_TimesPerSec
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ movs r1, 0xC0
+ subs r1, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldrb r0, [r6, 0x2]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r1, =gText_TimesPerSec
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ mov r3, r10
+ bl AddTextPrinterParameterized3
+ movs r2, 0
+ mov r0, r9
+ lsls r4, r0, 1
+ mov r1, r10
+ adds r1, 0x10
+ str r1, [sp, 0x10]
+ movs r0, 0x1
+ add r9, r0
+ adds r0, r4, r6
+ ldrb r3, [r0, 0x4]
+ movs r1, 0x7
+ mov r12, r1
+ movs r0, 0x1
+ mov r8, r0
+ ldr r5, =gUnknown_082F334C
+_080223AE:
+ mov r0, r12
+ subs r1, r0, r2
+ adds r0, r3, 0
+ asrs r0, r1
+ mov r1, r8
+ ands r0, r1
+ cmp r0, 0
+ beq _080223CA
+ lsls r0, r2, 2
+ adds r0, r5
+ ldr r0, [r0]
+ ldr r1, [sp, 0xC]
+ adds r1, r0
+ str r1, [sp, 0xC]
+_080223CA:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x7
+ bls _080223AE
+ adds r0, r4, r6
+ ldrh r1, [r0, 0x4]
+ lsrs r1, 8
+ ldr r0, =gStringVar1
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ ldr r0, [sp, 0xC]
+ ldr r1, =0x000f4240
+ bl __udivsi3
+ adds r1, r0, 0
+ ldr r0, =gStringVar2
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, =gStringVar4
+ ldr r1, =gText_XDotY3
+ bl StringExpandPlaceholders
+ movs r0, 0x1
+ ldr r1, =gStringVar4
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ subs r0, r7, r0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r6, 0x2]
+ ldr r1, =gUnknown_082F32D8
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r1, =gStringVar4
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ mov r3, r10
+ bl AddTextPrinterParameterized3
+ ldr r1, [sp, 0x10]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ mov r10, r0
+ movs r0, 0
+ str r0, [sp, 0xC]
+ mov r1, r9
+ lsls r0, r1, 24
+ lsrs r0, 24
+ mov r9, r0
+ cmp r0, 0x3
+ bhi _08022444
+ b _08022336
+_08022444:
+ ldrb r0, [r6, 0x2]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ b _080224BA
+ .pool
+_08022480:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _080224BA
+ b _080224C0
+ .pool
+_08022494:
+ ldrb r0, [r6, 0x2]
+ movs r1, 0x1
+ bl ClearStdWindowAndFrameToTransparent
+ ldrb r0, [r6, 0x2]
+ bl ClearWindowTilemap
+ ldrb r0, [r6, 0x2]
+ bl RemoveWindow
+ adds r0, r4, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ bl ScriptContext2_Disable
+ mov r0, r9
+ b _080224BE
+_080224BA:
+ ldrh r0, [r6]
+ adds r0, 0x1
+_080224BE:
+ strh r0, [r6]
+_080224C0:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022250
+
+ thumb_func_start sub_80224D0
+sub_80224D0: @ 80224D0
+ push {lr}
+ bl ScriptContext2_Enable
+ ldr r0, =sub_8022250
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r0, =gSaveBlock2Ptr
+ ldr r2, [r0]
+ movs r3, 0xF6
+ lsls r3, 1
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, 0xC]
+ adds r3, 0x2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, 0xE]
+ adds r3, 0x2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, 0x10]
+ adds r3, 0x2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, 0x12]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80224D0
+
+ thumb_func_start sub_8022524
+sub_8022524: @ 8022524
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ bl sub_8021944
+ movs r0, 0x4
+ ldrsh r1, [r4, r0]
+ movs r0, 0
+ bl sub_8035044
+ movs r0, 0x6
+ ldrsh r1, [r4, r0]
+ movs r0, 0x1
+ bl sub_8035044
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ movs r0, 0x2
+ bl sub_8035044
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022524
+
+ thumb_func_start sub_8022554
+sub_8022554: @ 8022554
+ push {lr}
+ ldr r2, [r0, 0x78]
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r3, 0x4
+ orrs r1, r3
+ strb r1, [r2]
+ ldr r1, [r0, 0x7C]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ orrs r0, r3
+ strb r0, [r1]
+ movs r0, 0x2
+ movs r1, 0x1
+ bl sub_803547C
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_803547C
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_803547C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022554
+
+ thumb_func_start sub_8022588
+sub_8022588: @ 8022588
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ movs r6, 0
+ ldrb r0, [r5, 0x9]
+ cmp r6, r0
+ bcs _080225E8
+ ldr r7, =gUnknown_082F417C
+_08022596:
+ lsls r0, r6, 2
+ movs r1, 0xA2
+ lsls r1, 1
+ adds r2, r5, r1
+ adds r2, r0
+ ldrb r1, [r5, 0x9]
+ subs r1, 0x2
+ lsls r0, r1, 2
+ adds r0, r1
+ adds r0, r6, r0
+ adds r0, r7
+ ldrb r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gUnknown_082F4190
+ adds r0, r1
+ str r0, [r2]
+ ldrb r0, [r0]
+ lsls r0, 3
+ ldr r1, =gUnknown_082F32F4
+ adds r0, r1
+ bl AddWindow
+ ldr r1, =0x000001bb
+ adds r4, r5, r1
+ adds r4, r6
+ strb r0, [r4]
+ ldrb r0, [r4]
+ bl PutWindowTilemap
+ ldrb r0, [r4]
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r5, 0x9]
+ cmp r6, r0
+ bcc _08022596
+_080225E8:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022588
+
+ thumb_func_start sub_8022600
+sub_8022600: @ 8022600
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x14
+ adds r6, r0, 0
+ movs r7, 0
+ ldrb r0, [r6, 0x9]
+ cmp r7, r0
+ bcs _080226B6
+ movs r1, 0
+ mov r8, r1
+_08022616:
+ ldr r1, =0x000001bb
+ adds r0, r6, r1
+ adds r5, r0, r7
+ ldrb r0, [r5]
+ bl PutWindowTilemap
+ ldrb r0, [r6, 0x8]
+ cmp r7, r0
+ bne _08022668
+ lsls r4, r7, 5
+ adds r4, 0x98
+ adds r4, r6, r4
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetStringWidth
+ lsrs r0, 1
+ movs r2, 0x24
+ subs r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r0, [r5]
+ mov r1, r8
+ str r1, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, =gUnknown_082F32DB
+ str r1, [sp, 0x8]
+ mov r1, r8
+ str r1, [sp, 0xC]
+ str r4, [sp, 0x10]
+ movs r1, 0x2
+ movs r3, 0x1
+ bl AddTextPrinterParameterized4
+ b _0802269C
+ .pool
+_08022668:
+ lsls r4, r7, 5
+ adds r4, 0x98
+ adds r4, r6, r4
+ movs r0, 0x2
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetStringWidth
+ lsrs r0, 1
+ movs r2, 0x24
+ subs r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r0, [r5]
+ mov r1, r8
+ str r1, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, =gUnknown_082F32DE
+ str r1, [sp, 0x8]
+ mov r1, r8
+ str r1, [sp, 0xC]
+ str r4, [sp, 0x10]
+ movs r1, 0x2
+ movs r3, 0x1
+ bl AddTextPrinterParameterized4
+_0802269C:
+ ldr r1, =0x000001bb
+ adds r0, r6, r1
+ adds r0, r7
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r6, 0x9]
+ cmp r7, r0
+ bcc _08022616
+_080226B6:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ add sp, 0x14
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022600
+
+ thumb_func_start sub_80226D0
+sub_80226D0: @ 80226D0
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r6, r0, 0
+ movs r5, 0
+ ldr r0, =gUnknown_08DE3FD4
+ ldr r4, =gDecompressionBuffer
+ adds r1, r4, 0
+ bl LZ77UnCompWram
+ b _0802271A
+ .pool
+_080226EC:
+ lsls r1, r5, 2
+ movs r2, 0xA2
+ lsls r2, 1
+ adds r0, r6, r2
+ adds r0, r1
+ ldr r3, [r0]
+ ldrb r0, [r3]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r4, r1
+ ldrb r2, [r3, 0x1]
+ ldrb r3, [r3, 0x2]
+ movs r0, 0xA
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x3
+ bl CopyToBgTilemapBufferRect
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_0802271A:
+ ldrb r0, [r6, 0x9]
+ cmp r5, r0
+ bcc _080226EC
+ movs r0, 0x3
+ bl CopyBgTilemapBufferToVram
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80226D0
+
+ thumb_func_start sub_8022730
+sub_8022730: @ 8022730
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ ldr r0, =0x0000ff98
+ strh r0, [r6, 0x2A]
+ strh r5, [r6, 0x2C]
+ ldr r1, =gSpriteCoordOffsetX
+ strh r5, [r1]
+ ldr r1, =gSpriteCoordOffsetY
+ strh r0, [r1]
+ ldr r4, =gUnknown_082F41F4
+_08022746:
+ lsls r0, r5, 3
+ adds r0, r4
+ bl LoadCompressedSpriteSheet
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _08022746
+ ldr r0, =gUnknown_082F421C
+ bl LoadSpritePalettes
+ ldr r0, =gUnknown_082F430C
+ movs r1, 0x78
+ movs r2, 0x58
+ movs r3, 0x5
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r0, 0xAC
+ lsls r0, 1
+ adds r3, r6, r0
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r3]
+ ldrb r1, [r0, 0x5]
+ movs r2, 0xC
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ ldr r1, [r3]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x2
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r1, [r3]
+ adds r1, 0x2C
+ ldrb r0, [r1]
+ movs r2, 0x40
+ orrs r0, r2
+ strb r0, [r1]
+ movs r5, 0
+ ldrb r1, [r6, 0x9]
+ cmp r5, r1
+ bcs _08022822
+ movs r7, 0x4
+_080227AA:
+ lsls r4, r5, 2
+ movs r3, 0xA2
+ lsls r3, 1
+ adds r0, r6, r3
+ adds r0, r4
+ ldr r0, [r0]
+ ldrh r1, [r0, 0x4]
+ adds r1, 0x78
+ lsls r1, 16
+ asrs r1, 16
+ ldrh r2, [r0, 0x6]
+ adds r2, 0x20
+ lsls r2, 16
+ asrs r2, 16
+ ldr r0, =gUnknown_082F4324
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r0, 0xAE
+ lsls r0, 1
+ adds r3, r6, r0
+ adds r3, r4
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ ldr r0, =gSprites
+ adds r1, r0
+ str r1, [r3]
+ ldrb r0, [r1, 0x5]
+ movs r4, 0xD
+ negs r4, r4
+ adds r2, r4, 0
+ ands r0, r2
+ orrs r0, r7
+ strb r0, [r1, 0x5]
+ ldr r1, [r3]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ orrs r0, r7
+ strb r0, [r1]
+ ldr r2, [r3]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrb r0, [r6, 0x9]
+ cmp r5, r0
+ bcc _080227AA
+_08022822:
+ movs r5, 0
+ ldr r4, =gUnknown_082F41CC+6
+ adds r7, r4, 0x1
+_08022828:
+ lsls r2, r5, 1
+ adds r0, r2, r4
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ adds r1, 0x78
+ adds r2, r7
+ ldrb r2, [r2]
+ lsls r2, 24
+ asrs r2, 24
+ adds r2, 0x88
+ ldr r0, =gUnknown_082F433C
+ movs r3, 0x6
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r0, r5, 2
+ movs r1, 0xC2
+ lsls r1, 1
+ adds r3, r6, r1
+ adds r3, r0
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r3]
+ ldrb r1, [r0, 0x5]
+ movs r2, 0xC
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ ldr r2, [r3]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, [r3]
+ strh r5, [r0, 0x2E]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08022828
+ movs r5, 0
+_0802288E:
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 19
+ movs r3, 0xB0
+ lsls r3, 16
+ adds r1, r3
+ asrs r1, 16
+ ldr r0, =gUnknown_082F4354
+ movs r2, 0x8
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r0, r5, 2
+ movs r4, 0xD8
+ lsls r4, 1
+ adds r3, r6, r4
+ adds r3, r0
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r3]
+ ldrb r1, [r0, 0x5]
+ movs r4, 0xD
+ negs r4, r4
+ adds r2, r4, 0
+ ands r1, r2
+ strb r1, [r0, 0x5]
+ ldr r2, [r3]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ adds r4, 0x8
+ adds r1, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r3, 0x41
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x1
+ bls _0802288E
+ ldr r4, =gUnknown_082F4384
+ movs r0, 0
+ movs r1, 0
+ adds r2, r4, 0
+ bl sub_8034D14
+ adds r2, r4, 0
+ adds r2, 0x10
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_8034D14
+ adds r4, 0x20
+ movs r0, 0x2
+ movs r1, 0
+ adds r2, r4, 0
+ bl sub_8034D14
+ ldrh r0, [r6, 0x12]
+ cmp r0, 0x1
+ bne _08022928
+ movs r4, 0x9C
+ lsls r4, 1
+ adds r0, r6, r4
+ bl sub_8022554
+_08022928:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022730
+
+ thumb_func_start sub_8022960
+sub_8022960: @ 8022960
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r4, 0
+ movs r0, 0x4
+ bl FreeSpriteTilesByTag
+ movs r0, 0x3
+ bl FreeSpriteTilesByTag
+ movs r0, 0x2
+ bl FreeSpriteTilesByTag
+ movs r0, 0x1
+ bl FreeSpriteTilesByTag
+ movs r0, 0x4
+ bl FreeSpritePaletteByTag
+ movs r0, 0x2
+ bl FreeSpritePaletteByTag
+ movs r0, 0x1
+ bl FreeSpritePaletteByTag
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r6, r5, r0
+_08022996:
+ lsls r0, r4, 2
+ adds r0, r6, r0
+ ldr r0, [r0]
+ bl DestroySprite
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x1
+ bls _08022996
+ movs r0, 0x2
+ bl sub_80353DC
+ movs r0, 0x1
+ bl sub_80353DC
+ movs r0, 0
+ bl sub_80353DC
+ movs r4, 0
+ movs r1, 0xC2
+ lsls r1, 1
+ adds r6, r5, r1
+_080229C4:
+ lsls r0, r4, 2
+ adds r0, r6, r0
+ ldr r0, [r0]
+ bl DestroySprite
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0xA
+ bls _080229C4
+ movs r4, 0
+ ldrb r2, [r5, 0x9]
+ cmp r4, r2
+ bcs _080229FC
+_080229E0:
+ lsls r1, r4, 2
+ movs r2, 0xAE
+ lsls r2, 1
+ adds r0, r5, r2
+ adds r0, r1
+ ldr r0, [r0]
+ bl DestroySprite
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldrb r0, [r5, 0x9]
+ cmp r4, r0
+ bcc _080229E0
+_080229FC:
+ movs r1, 0xAC
+ lsls r1, 1
+ adds r0, r5, r1
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08022A18
+ adds r0, r2, 0
+ bl DestroySprite
+_08022A18:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022960
+
+ thumb_func_start sub_8022A20
+sub_8022A20: @ 8022A20
+ push {lr}
+ adds r3, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08022A46
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ subs r2, 0x12
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+_08022A46:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022A20
+
+ thumb_func_start sub_8022A4C
+sub_8022A4C: @ 8022A4C
+ push {r4,r5,lr}
+ adds r3, r0, 0
+ movs r1, 0
+ ldr r5, =SpriteCallbackDummy
+ adds r2, r3, 0
+ adds r2, 0x2E
+ movs r4, 0
+_08022A5A:
+ lsls r0, r1, 1
+ adds r0, r2, r0
+ strh r4, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x7
+ bls _08022A5A
+ movs r0, 0
+ strh r0, [r3, 0x24]
+ strh r0, [r3, 0x26]
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ subs r2, 0x12
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+ str r5, [r3, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022A4C
+
+ thumb_func_start sub_8022A94
+sub_8022A94: @ 8022A94
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r4, r5, 0
+ adds r4, 0x2E
+ ldrh r0, [r4, 0x4]
+ ldrh r1, [r4, 0x2]
+ adds r0, r1
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r2, [r5, 0x26]
+ adds r0, r2
+ strh r0, [r5, 0x26]
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ movs r6, 0x80
+ lsls r6, 8
+ ands r0, r6
+ cmp r0, 0
+ beq _08022AFA
+ ldrh r0, [r4, 0x6]
+ ldrh r2, [r5, 0x2E]
+ adds r0, r2
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r4, 0xA]
+ ldrh r1, [r4, 0x8]
+ adds r0, r1
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 23
+ movs r2, 0xC
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r5, 0x24]
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ ands r0, r6
+ cmp r0, 0
+ beq _08022AFA
+ ldrh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 23
+ cmp r0, 0x7E
+ ble _08022AFA
+ movs r0, 0
+ strh r0, [r5, 0x24]
+ ldrh r1, [r4, 0xE]
+ ldr r0, =0x00007fff
+ ands r0, r1
+ strh r0, [r4, 0xE]
+_08022AFA:
+ ldrh r0, [r4]
+ lsls r0, 16
+ asrs r0, 23
+ strh r0, [r5, 0x20]
+ movs r2, 0x22
+ ldrsh r1, [r5, r2]
+ movs r2, 0x26
+ ldrsh r0, [r5, r2]
+ adds r1, r0
+ ldrh r2, [r4, 0xE]
+ ldr r0, =0x00007fff
+ ands r0, r2
+ cmp r1, r0
+ ble _08022B1A
+ ldr r0, =sub_8022A4C
+ str r0, [r5, 0x1C]
+_08022B1A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022A94
+
+ thumb_func_start sub_8022B28
+sub_8022B28: @ 8022B28
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ adds r7, r6, 0
+ adds r7, 0x2E
+ movs r0, 0
+ mov r8, r0
+ movs r2, 0xA0
+ lsls r2, 2
+ strh r2, [r7, 0x2]
+ movs r0, 0x20
+ strh r0, [r7, 0x4]
+ movs r1, 0xA8
+ strh r1, [r7, 0xE]
+ movs r0, 0x24
+ ldrsh r4, [r6, r0]
+ lsls r4, 23
+ lsrs r4, 16
+ ldrh r0, [r6, 0x22]
+ subs r1, r0
+ lsls r1, 23
+ asrs r1, 16
+ adds r2, 0x20
+ asrs r2, 1
+ movs r0, 0x7
+ bl sub_81515D4
+ adds r5, r0, 0
+ ldrh r0, [r6, 0x20]
+ lsls r0, 7
+ strh r0, [r6, 0x2E]
+ lsls r4, 16
+ asrs r4, 16
+ lsls r5, 16
+ asrs r5, 16
+ movs r0, 0x7
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_81515D4
+ strh r0, [r7, 0x6]
+ movs r0, 0x7
+ adds r1, r5, 0
+ movs r2, 0x55
+ bl sub_8151550
+ adds r2, r0, 0
+ mov r1, r8
+ strh r1, [r7, 0x8]
+ movs r1, 0xFE
+ lsls r1, 6
+ lsls r2, 16
+ asrs r2, 16
+ movs r0, 0x7
+ bl sub_81515D4
+ strh r0, [r7, 0xA]
+ movs r2, 0x24
+ ldrsh r0, [r6, r2]
+ cmp r0, 0
+ bge _08022BA6
+ adds r0, 0x3
+_08022BA6:
+ asrs r0, 2
+ strh r0, [r7, 0xC]
+ ldrh r0, [r7, 0xE]
+ ldr r2, =0xffff8000
+ adds r1, r2, 0
+ orrs r0, r1
+ strh r0, [r7, 0xE]
+ mov r0, r8
+ strh r0, [r6, 0x26]
+ strh r0, [r6, 0x24]
+ ldr r0, =sub_8022A94
+ str r0, [r6, 0x1C]
+ adds r2, r6, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x41
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ adds r2, 0x12
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022B28
+
+ thumb_func_start sub_8022BEC
+sub_8022BEC: @ 8022BEC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r2, 0
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r1, 24
+ lsrs r4, r1, 24
+ mov r8, r4
+ bl sub_8020C00
+ adds r6, r0, 0
+ cmp r5, 0x19
+ bls _08022C0A
+ movs r5, 0
+_08022C0A:
+ cmp r4, 0
+ beq _08022C14
+ cmp r4, 0x1
+ beq _08022C40
+ b _08022C4A
+_08022C14:
+ cmp r5, 0
+ beq _08022C28
+ ldr r0, =gUnknown_082F43CC
+ lsls r1, r5, 2
+ adds r1, r0
+ ldr r2, [r1]
+ adds r0, r6, 0
+ adds r1, r7, 0
+ bl _call_via_r2
+_08022C28:
+ ldrb r0, [r6, 0xE]
+ cmp r0, 0x19
+ bls _08022C32
+ mov r0, r8
+ strb r0, [r6, 0xE]
+_08022C32:
+ ldr r0, =gUnknown_082F43CC
+ ldrb r1, [r6, 0xE]
+ lsls r1, 2
+ b _08022C44
+ .pool
+_08022C40:
+ ldr r0, =gUnknown_082F43CC
+ lsls r1, r5, 2
+_08022C44:
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r6, 0x4]
+_08022C4A:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8022BEC
+
+ thumb_func_start sub_8022C58
+sub_8022C58: @ 8022C58
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ ldrb r2, [r1]
+ ldrb r3, [r1, 0x1]
+ lsls r3, 8
+ orrs r2, r3
+ ldrb r3, [r1, 0x2]
+ lsls r3, 16
+ orrs r2, r3
+ ldrb r3, [r1, 0x3]
+ lsls r3, 24
+ adds r0, r2, 0
+ orrs r0, r3
+ ldrb r2, [r1, 0x9]
+ strb r2, [r1]
+ ldrb r4, [r1, 0x8]
+ lsls r4, 8
+ ldrb r2, [r1, 0x7]
+ orrs r4, r2
+ ldr r5, =gPaletteFade
+ ldrb r3, [r5, 0x8]
+ movs r2, 0x7F
+ ands r2, r3
+ strb r2, [r5, 0x8]
+ movs r5, 0x4
+ ldrsb r5, [r1, r5]
+ ldrb r2, [r1, 0x5]
+ ldrb r3, [r1, 0x6]
+ str r4, [sp]
+ adds r1, r5, 0
+ bl BeginNormalPaletteFade
+ bl UpdatePaletteFade
+ movs r0, 0x2
+ strb r0, [r6, 0xE]
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8022C58
+
+ thumb_func_start sub_8022CB0
+sub_8022CB0: @ 8022CB0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x1
+ beq _08022CE4
+ cmp r0, 0x1
+ bgt _08022CC6
+ cmp r0, 0
+ beq _08022CD0
+ b _08022D06
+_08022CC6:
+ cmp r0, 0x2
+ beq _08022CEA
+ cmp r0, 0x3
+ beq _08022CF6
+ b _08022D06
+_08022CD0:
+ bl UpdatePaletteFade
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022D0C
+ ldrb r0, [r5]
+ cmp r0, 0
+ bne _08022D06
+ movs r0, 0x3
+ b _08022D0A
+_08022CE4:
+ bl sub_8010434
+ b _08022D06
+_08022CEA:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022D06
+ b _08022D0C
+_08022CF6:
+ ldrb r0, [r4, 0xF]
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ strb r0, [r4, 0xC]
+ b _08022D0E
+_08022D06:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+_08022D0A:
+ strb r0, [r4, 0xC]
+_08022D0C:
+ movs r0, 0
+_08022D0E:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022CB0
+
+ thumb_func_start sub_8022D14
+sub_8022D14: @ 8022D14
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x10
+ adds r7, r0, 0
+ adds r5, r1, 0
+ ldrb r4, [r5, 0x3]
+ lsls r4, 8
+ ldrb r0, [r5, 0x2]
+ orrs r4, r0
+ ldrb r6, [r7, 0xC]
+ cmp r6, 0x1
+ beq _08022DC0
+ cmp r6, 0x1
+ bgt _08022D38
+ cmp r6, 0
+ beq _08022D42
+ b _08022E08
+_08022D38:
+ cmp r6, 0x2
+ beq _08022DD8
+ cmp r6, 0x3
+ beq _08022DE8
+ b _08022E08
+_08022D42:
+ movs r0, 0
+ movs r1, 0
+ bl DrawDialogueFrame
+ ldrb r1, [r5, 0x1]
+ movs r0, 0x2
+ mov r8, r0
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _08022D90
+ ldr r4, =gStringVar4
+ ldr r1, =gUnknown_082F32A4
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldrb r3, [r7, 0xB]
+ str r6, [sp]
+ mov r0, r8
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ bl AddTextPrinterParameterized2
+ b _08022DB2
+ .pool
+_08022D90:
+ ldr r1, =gUnknown_082F32A4
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r2, [r0]
+ ldrb r3, [r7, 0xB]
+ str r4, [sp]
+ mov r0, r8
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ bl AddTextPrinterParameterized2
+_08022DB2:
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ b _08022E08
+ .pool
+_08022DC0:
+ movs r0, 0
+ bl IsTextPrinterActive
+ lsls r0, 16
+ cmp r0, 0
+ bne _08022E0E
+ cmp r4, 0
+ bne _08022E08
+ ldrb r0, [r7, 0xC]
+ adds r0, 0x1
+ strb r0, [r7, 0xC]
+ b _08022E08
+_08022DD8:
+ ldr r0, =gMain
+ ldrh r0, [r0, 0x2E]
+ ands r4, r0
+ cmp r4, 0
+ bne _08022E08
+ b _08022E0E
+ .pool
+_08022DE8:
+ ldrb r1, [r5, 0x1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08022DFA
+ movs r0, 0
+ movs r1, 0x1
+ bl ClearDialogWindowAndFrame
+_08022DFA:
+ ldrb r0, [r7, 0xE]
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ ldrb r0, [r5, 0x4]
+ b _08022E0C
+_08022E08:
+ ldrb r0, [r7, 0xC]
+ adds r0, 0x1
+_08022E0C:
+ strb r0, [r7, 0xC]
+_08022E0E:
+ movs r0, 0
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022D14
+
+ thumb_func_start sub_8022E1C
+sub_8022E1C: @ 8022E1C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_802104C
+ cmp r0, 0
+ beq _08022E34
+ ldrb r0, [r4, 0xE]
+ adds r2, r4, 0
+ adds r2, 0x36
+ movs r1, 0
+ bl sub_8022BEC
+_08022E34:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022E1C
+
+ thumb_func_start sub_8022E3C
+sub_8022E3C: @ 8022E3C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_802130C
+ cmp r0, 0
+ beq _08022E54
+ ldrb r0, [r4, 0xE]
+ adds r2, r4, 0
+ adds r2, 0x36
+ movs r1, 0
+ bl sub_8022BEC
+_08022E54:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022E3C
+
+ thumb_func_start sub_8022E5C
+sub_8022E5C: @ 8022E5C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0
+ beq _08022E6C
+ cmp r0, 0x1
+ beq _08022E72
+ b _08022E9C
+_08022E6C:
+ bl sub_8010434
+ b _08022E9C
+_08022E72:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08022EA2
+ ldr r0, =0x000001e5
+ bl PlayNewMapMusic
+ movs r0, 0x7
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0x3
+ strh r0, [r4, 0x12]
+ strb r1, [r4, 0xC]
+ b _08022EA2
+ .pool
+_08022E9C:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_08022EA2:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022E5C
+
+ thumb_func_start sub_8022EAC
+sub_8022EAC: @ 8022EAC
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0
+ beq _08022EC2
+ cmp r0, 0x1
+ beq _08022EE8
+ adds r0, 0x1
+ b _08022EF8
+_08022EC2:
+ adds r0, r4, 0
+ bl sub_8024578
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x7
+ strb r0, [r4, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _08022EFA
+_08022EE8:
+ movs r0, 0x8
+ strb r0, [r4, 0xE]
+ movs r0, 0x5
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0x2
+_08022EF8:
+ strb r0, [r4, 0xC]
+_08022EFA:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022EAC
+
+ thumb_func_start sub_8022F04
+sub_8022F04: @ 8022F04
+ push {lr}
+ movs r1, 0
+ str r1, [r0, 0x4]
+ ldr r0, =sub_8020E1C
+ bl SetMainCallback2
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8022F04
+
+ thumb_func_start sub_8022F1C
+sub_8022F1C: @ 8022F1C
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r2, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x5
+ bls _08022F2C
+ b _08023060
+_08022F2C:
+ lsls r0, 2
+ ldr r1, =_08022F3C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08022F3C:
+ .4byte _08022F54
+ .4byte _08022F74
+ .4byte _08022F7A
+ .4byte _08022FAA
+ .4byte _08022FBA
+ .4byte _08023044
+_08022F54:
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r2, 0
+ movs r1, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x9
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _08023066
+_08022F74:
+ bl sub_8010434
+ b _08023060
+_08022F7A:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023066
+ adds r4, r5, 0
+ adds r4, 0x42
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ ldrb r0, [r5, 0x8]
+ lsls r0, 5
+ adds r0, r5, r0
+ adds r0, 0xA4
+ ldrh r0, [r0]
+ strh r0, [r4]
+ movs r0, 0
+ adds r1, r4, 0
+ movs r2, 0x2
+ bl SendBlock
+ b _08023060
+_08022FAA:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023066
+ movs r0, 0
+ strh r0, [r5, 0x10]
+ b _08023060
+_08022FBA:
+ bl GetBlockReceivedStatus
+ ldr r2, =gUnknown_082F4448
+ ldrb r4, [r5, 0x9]
+ subs r1, r4, 0x2
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _08023066
+ movs r3, 0
+ cmp r3, r4
+ bcs _0802301E
+ ldr r7, =gBlockRecvBuffer
+ movs r6, 0
+ ldr r4, =gUnknown_0858AB24
+_08022FDC:
+ lsls r0, r3, 5
+ adds r0, r5, r0
+ lsls r1, r3, 8
+ adds r1, r7
+ ldrh r1, [r1]
+ adds r2, r0, 0
+ adds r2, 0xA4
+ strh r1, [r2]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0xB0
+ bls _08022FF6
+ strh r6, [r2]
+_08022FF6:
+ ldrh r1, [r2]
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r5, 0x18]
+ ldrb r1, [r1]
+ adds r0, r1
+ strh r0, [r5, 0x18]
+ ldrh r0, [r2]
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r0, 0x2]
+ ldr r0, [r5, 0x1C]
+ adds r0, r1
+ str r0, [r5, 0x1C]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldrb r0, [r5, 0x9]
+ cmp r3, r0
+ bcc _08022FDC
+_0802301E:
+ movs r0, 0
+ strh r0, [r5, 0x10]
+ bl ResetBlockReceivedFlags
+ movs r1, 0x18
+ ldrsh r0, [r5, r1]
+ lsls r0, 8
+ movs r1, 0x80
+ lsls r1, 6
+ bl sub_81515FC
+ str r0, [r5, 0x20]
+ b _08023060
+ .pool
+_08023044:
+ movs r0, 0
+ movs r1, 0x1
+ bl ClearDialogWindowAndFrame
+ movs r0, 0xA
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0x4
+ strh r0, [r5, 0x12]
+ strb r1, [r5, 0xC]
+ b _08023066
+_08023060:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_08023066:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022F1C
+
+ thumb_func_start sub_8023070
+sub_8023070: @ 8023070
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x6
+ bls _0802307C
+ b _080231A8
+_0802307C:
+ lsls r0, 2
+ ldr r1, =_0802308C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802308C:
+ .4byte _080230A8
+ .4byte _080230BA
+ .4byte _080230E8
+ .4byte _08023120
+ .4byte _08023150
+ .4byte _08023172
+ .4byte _08023184
+_080230A8:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r4, r0
+ adds r0, r4, 0
+ bl sub_80214A8
+ bl sub_8010434
+ b _080231A8
+_080230BA:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080231AE
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r4, r2
+ movs r0, 0
+ strb r0, [r1]
+ ldr r3, =0x00000139
+ adds r1, r4, r3
+ strb r0, [r1]
+ adds r2, 0x2
+ adds r1, r4, r2
+ strb r0, [r1]
+ adds r3, 0x2
+ adds r1, r4, r3
+ strb r0, [r1]
+ b _080231A8
+ .pool
+_080230E8:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r3, r4, r0
+ ldrb r0, [r3]
+ lsls r0, 2
+ movs r2, 0xB8
+ lsls r2, 1
+ adds r1, r4, r2
+ adds r0, r1, r0
+ ldr r2, [r0]
+ ldr r0, =sub_8021608
+ str r0, [r2, 0x1C]
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldr r1, [r1]
+ adds r1, 0x2C
+ ldrb r2, [r1]
+ movs r0, 0x7F
+ ands r0, r2
+ strb r0, [r1]
+ movs r0, 0x3D
+ bl PlaySE
+ b _080231A8
+ .pool
+_08023120:
+ movs r3, 0x9C
+ lsls r3, 1
+ adds r2, r4, r3
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r3, 0x38
+ adds r1, r4, r3
+ adds r3, r1, r0
+ ldr r0, [r3]
+ ldr r1, [r0, 0x1C]
+ ldr r0, =sub_8021608
+ cmp r1, r0
+ beq _080231AE
+ movs r0, 0
+ str r0, [r3]
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r2]
+ bl sub_8010434
+ b _080231A8
+ .pool
+_08023150:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080231AE
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r4, r0
+ ldrb r0, [r1]
+ ldrb r2, [r4, 0x9]
+ cmp r0, r2
+ bcs _0802316C
+ movs r0, 0x2
+ b _080231AC
+_0802316C:
+ movs r0, 0
+ strb r0, [r1]
+ b _080231A8
+_08023172:
+ movs r3, 0x9C
+ lsls r3, 1
+ adds r1, r4, r3
+ adds r0, r4, 0
+ bl sub_80216A8
+ bl sub_8010434
+ b _080231A8
+_08023184:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080231AE
+ movs r0, 0x2B
+ bl PlaySE
+ movs r0, 0xB
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0x5
+ strh r0, [r4, 0x12]
+ strb r1, [r4, 0xC]
+ b _080231AE
+_080231A8:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+_080231AC:
+ strb r0, [r4, 0xC]
+_080231AE:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023070
+
+ thumb_func_start sub_80231B8
+sub_80231B8: @ 80231B8
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldrb r1, [r4, 0xC]
+ cmp r1, 0x1
+ beq _0802321C
+ cmp r1, 0x1
+ bgt _080231CC
+ cmp r1, 0
+ beq _080231D6
+ b _080232DC
+_080231CC:
+ cmp r1, 0x2
+ beq _0802329C
+ cmp r1, 0x3
+ beq _080232BE
+ b _080232DC
+_080231D6:
+ ldrh r0, [r4, 0x2A]
+ adds r0, 0x4
+ strh r0, [r4, 0x2A]
+ lsls r0, 16
+ cmp r0, 0
+ bge _080231E4
+ b _080232E2
+_080231E4:
+ strh r1, [r4, 0x2A]
+ ldr r0, =0x00000139
+ adds r3, r4, r0
+ movs r0, 0x4
+ strb r0, [r3]
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r4, r2
+ movs r0, 0
+ strb r0, [r1]
+ ldr r2, =gUnknown_082F326C
+ ldrb r1, [r3]
+ lsls r0, r1, 3
+ subs r0, r1
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r2, 0x9D
+ lsls r2, 1
+ adds r1, r4, r2
+ strb r0, [r1]
+ movs r0, 0xD6
+ bl PlaySE
+ b _080232DC
+ .pool
+_0802321C:
+ ldr r7, =gUnknown_082F326C
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r6, r4, r0
+ ldr r1, =0x00000139
+ adds r5, r4, r1
+ ldrb r1, [r5]
+ lsls r0, r1, 3
+ subs r0, r1
+ ldrb r2, [r6]
+ adds r0, r2
+ adds r0, r7
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ strh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x12
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1A
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1E
+ bl SetGpuReg
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ movs r1, 0x9D
+ lsls r1, 1
+ adds r2, r4, r1
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r2]
+ cmp r0, r1
+ bcc _080232E2
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _080232DC
+ subs r0, 0x1
+ strb r0, [r5]
+ ldrb r1, [r5]
+ lsls r0, r1, 3
+ subs r0, r1
+ adds r0, r7
+ ldrb r0, [r0]
+ strb r0, [r2]
+ movs r0, 0
+ strb r0, [r6]
+ b _080232E2
+ .pool
+_0802329C:
+ movs r0, 0
+ strh r0, [r4, 0x2C]
+ movs r0, 0x12
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1A
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1E
+ movs r1, 0
+ bl SetGpuReg
+ bl sub_8010434
+ b _080232DC
+_080232BE:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080232E2
+ movs r0, 0xC
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r4, 0x12]
+ strb r1, [r4, 0xC]
+ b _080232E2
+_080232DC:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_080232E2:
+ movs r0, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80231B8
+
+ thumb_func_start sub_80232EC
+sub_80232EC: @ 80232EC
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x1
+ beq _0802330C
+ cmp r0, 0x1
+ bgt _08023302
+ cmp r0, 0
+ beq _08023332
+ b _0802338C
+_08023302:
+ cmp r0, 0x2
+ beq _0802332A
+ cmp r0, 0x3
+ beq _08023338
+ b _0802338C
+_0802330C:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023392
+ movs r1, 0x80
+ lsls r1, 5
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r1, 0
+ movs r2, 0x78
+ movs r3, 0x50
+ bl sub_802EB24
+ b _0802338C
+_0802332A:
+ bl sub_802EB84
+ cmp r0, 0
+ bne _08023392
+_08023332:
+ bl sub_8010434
+ b _0802338C
+_08023338:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023392
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0
+ strb r0, [r1]
+ ldr r2, =0x00000139
+ adds r1, r4, r2
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r1, r4, r2
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r1, r4, r2
+ strb r0, [r1]
+ strh r0, [r4, 0x10]
+ ldrb r0, [r4, 0x8]
+ cmp r0, 0
+ bne _08023378
+ movs r0, 0xD
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _08023382
+ .pool
+_08023378:
+ movs r0, 0xE
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+_08023382:
+ movs r1, 0
+ movs r0, 0x7
+ strh r0, [r4, 0x12]
+ strb r1, [r4, 0xC]
+ b _08023392
+_0802338C:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_08023392:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80232EC
+
+ thumb_func_start sub_802339C
+sub_802339C: @ 802339C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r4, r0, 0
+ movs r0, 0
+ mov r8, r0
+ movs r2, 0
+ adds r7, r2, 0
+ ldrb r1, [r4, 0x9]
+ cmp r7, r1
+ bcs _080234AA
+ movs r2, 0x5E
+ adds r2, r4
+ mov r9, r2
+ ldr r3, =gUnknown_082F325C
+ mov r10, r3
+_080233C0:
+ lsls r0, r7, 4
+ ldr r1, =gRecvCmds
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ movs r3, 0xBC
+ lsls r3, 6
+ cmp r0, r3
+ bne _0802349E
+ ldrh r0, [r2, 0x2]
+ cmp r0, 0x2
+ bne _0802349E
+ ldrb r1, [r2, 0x4]
+ movs r0, 0x4
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _08023496
+ mov r0, r9
+ ldrb r2, [r0]
+ lsrs r1, r2, 3
+ mov r3, r10
+ adds r0, r7, r3
+ ldrb r0, [r0]
+ orrs r1, r0
+ lsls r1, 3
+ movs r0, 0x7
+ ands r0, r2
+ orrs r0, r1
+ mov r1, r9
+ strb r0, [r1]
+ lsls r2, r7, 5
+ adds r3, r4, r2
+ mov r12, r3
+ mov r1, r12
+ adds r1, 0xB5
+ movs r0, 0x1
+ strb r0, [r1]
+ subs r1, 0x7
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ subs r1, 0x8
+ ldrh r0, [r4, 0x28]
+ ldrh r1, [r1]
+ subs r0, r1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ mov r5, r12
+ adds r5, 0xAA
+ ldrh r1, [r5]
+ subs r0, r1, 0x1
+ adds r6, r2, 0
+ cmp r3, r0
+ blt _08023468
+ adds r0, r1, 0x1
+ cmp r3, r0
+ bgt _08023468
+ mov r1, r12
+ adds r1, 0xA8
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ strh r3, [r5]
+ mov r0, r12
+ adds r0, 0xAC
+ ldrh r1, [r1]
+ ldrh r2, [r0]
+ cmp r1, r2
+ bls _08023476
+ strh r1, [r0]
+ b _08023476
+ .pool
+_08023468:
+ adds r0, r4, r6
+ adds r2, r0, 0
+ adds r2, 0xA8
+ movs r1, 0
+ strh r1, [r2]
+ adds r0, 0xAA
+ strh r3, [r0]
+_08023476:
+ adds r1, r4, r6
+ ldrh r0, [r4, 0x28]
+ adds r3, r1, 0
+ adds r3, 0xA6
+ movs r2, 0
+ strh r0, [r3]
+ adds r1, 0xB4
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bls _0802349E
+ strb r2, [r1]
+ b _0802349E
+_08023496:
+ lsls r0, r7, 5
+ adds r0, r4, r0
+ adds r0, 0xB5
+ strb r1, [r0]
+_0802349E:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r3, [r4, 0x9]
+ cmp r7, r3
+ bcc _080233C0
+_080234AA:
+ mov r0, r8
+ cmp r0, 0x1
+ bls _080234E0
+ movs r7, 0
+ ldrb r1, [r4, 0x9]
+ cmp r7, r1
+ bcs _080234E0
+ movs r3, 0x2
+_080234BA:
+ lsls r0, r7, 5
+ adds r1, r4, r0
+ adds r2, r1, 0
+ adds r2, 0xB5
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _080234D4
+ orrs r0, r3
+ strb r0, [r2]
+ adds r1, 0xB0
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_080234D4:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r2, [r4, 0x9]
+ cmp r7, r2
+ bcc _080234BA
+_080234E0:
+ mov r3, r8
+ cmp r3, 0
+ beq _08023548
+ ldrh r0, [r4, 0x2E]
+ add r0, r8
+ strh r0, [r4, 0x2E]
+ ldr r1, =gUnknown_082F3264
+ mov r0, r8
+ subs r0, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ add r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrh r0, [r4, 0x34]
+ add r0, r8
+ strh r0, [r4, 0x34]
+ ldrh r0, [r4, 0x1A]
+ add r0, r8
+ strh r0, [r4, 0x1A]
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ movs r3, 0x1A
+ ldrsh r2, [r4, r3]
+ subs r0, r2
+ cmp r0, 0
+ ble _08023534
+ lsls r2, 8
+ ldr r1, [r4, 0x20]
+ adds r0, r2, 0
+ bl sub_81515FC
+ adds r2, r0, 0
+ asrs r2, 8
+ adds r0, r4, 0
+ adds r0, 0x24
+ strb r2, [r0]
+ b _08023548
+ .pool
+_08023534:
+ adds r1, r4, 0
+ adds r1, 0x24
+ movs r0, 0x20
+ strb r0, [r1]
+ adds r2, r4, 0
+ adds r2, 0x5E
+ ldrb r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+_08023548:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802339C
+
+ thumb_func_start sub_8023558
+sub_8023558: @ 8023558
+ push {r4-r6,lr}
+ adds r3, r0, 0
+ movs r6, 0
+ movs r1, 0
+ adds r4, r1, 0
+ ldrb r0, [r3, 0x9]
+ cmp r4, r0
+ bcs _080235B0
+ adds r5, r3, 0
+ adds r5, 0x64
+_0802356C:
+ lsls r0, r4, 5
+ adds r1, r3, r0
+ adds r0, r1, 0
+ adds r0, 0xB5
+ ldrb r2, [r0]
+ cmp r2, 0
+ beq _080235A4
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ adds r0, r1, 0
+ adds r0, 0xB4
+ ldrb r0, [r0]
+ adds r1, r0, 0x1
+ movs r0, 0x2
+ ands r0, r2
+ cmp r0, 0
+ beq _08023594
+ movs r0, 0x4
+ orrs r1, r0
+_08023594:
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r1, r0
+ lsls r0, r1, 16
+ lsrs r1, r0, 16
+ ldrh r0, [r5]
+ orrs r1, r0
+ strh r1, [r5]
+_080235A4:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldrb r1, [r3, 0x9]
+ cmp r4, r1
+ bcc _0802356C
+_080235B0:
+ adds r0, r3, 0
+ adds r0, 0x24
+ ldrb r1, [r0]
+ adds r0, 0x3C
+ strh r1, [r0]
+ cmp r6, 0
+ bne _080235D4
+ ldr r2, =0x0000013b
+ adds r0, r3, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080236A0
+ movs r4, 0x9C
+ lsls r4, 1
+ adds r1, r3, r4
+ b _08023612
+ .pool
+_080235D4:
+ ldr r5, =0x0000013b
+ adds r2, r3, r5
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _0802361A
+ ldr r0, =0x00000139
+ adds r1, r3, r0
+ ldrb r2, [r1]
+ cmp r6, r2
+ beq _0802360C
+ subs r0, r6, 0x1
+ strb r0, [r1]
+ ldr r1, =gUnknown_082F3290
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r4, 0x9D
+ lsls r4, 1
+ adds r1, r3, r4
+ strb r0, [r1]
+ b _08023640
+ .pool
+_0802360C:
+ movs r5, 0x9C
+ lsls r5, 1
+ adds r1, r3, r5
+_08023612:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08023640
+_0802361A:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r3, r0
+ movs r0, 0
+ strb r0, [r1]
+ subs r0, r6, 0x1
+ ldr r4, =0x00000139
+ adds r1, r3, r4
+ strb r0, [r1]
+ ldr r1, =gUnknown_082F3290
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r5, 0x9D
+ lsls r5, 1
+ adds r1, r3, r5
+ strb r0, [r1]
+ movs r0, 0x1
+ strb r0, [r2]
+_08023640:
+ ldr r0, =0x0000013b
+ adds r4, r3, r0
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _080236A0
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r3, r2
+ movs r5, 0x9D
+ lsls r5, 1
+ adds r2, r3, r5
+ ldrb r0, [r1]
+ ldrb r5, [r2]
+ cmp r0, r5
+ bcc _0802367C
+ movs r0, 0
+ strb r0, [r1]
+ ldr r5, =0x00000139
+ adds r1, r3, r5
+ strb r0, [r1]
+ strb r0, [r2]
+ strb r0, [r4]
+ movs r1, 0
+ b _08023690
+ .pool
+_0802367C:
+ ldr r2, =gUnknown_082F3290
+ ldrb r1, [r1]
+ ldr r4, =0x00000139
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, 0x1
+ adds r1, r0
+ adds r1, r2
+ ldrb r1, [r1]
+_08023690:
+ adds r0, r3, 0
+ adds r0, 0x5F
+ strb r1, [r0]
+ b _080236A8
+ .pool
+_080236A0:
+ adds r1, r3, 0
+ adds r1, 0x5F
+ movs r0, 0
+ strb r0, [r1]
+_080236A8:
+ ldrh r1, [r3, 0x26]
+ adds r0, r3, 0
+ adds r0, 0x62
+ strh r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8023558
+
+ thumb_func_start sub_80236B8
+sub_80236B8: @ 80236B8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ ldr r3, =gMain
+ ldrh r1, [r3, 0x2E]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080236DA
+ adds r2, r5, 0
+ adds r2, 0x5E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_080236DA:
+ ldrh r1, [r3, 0x2C]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080236FA
+ ldrb r0, [r5, 0x8]
+ lsls r0, 5
+ adds r0, r5, r0
+ adds r1, r0, 0
+ adds r1, 0xB2
+ ldrh r0, [r1]
+ ldrh r2, [r5, 0x28]
+ cmp r0, r2
+ bcs _080236FA
+ adds r0, 0x1
+ strh r0, [r1]
+_080236FA:
+ ldrb r0, [r5, 0x8]
+ adds r7, r5, 0
+ adds r7, 0x5E
+ cmp r0, 0
+ beq _08023710
+ ldrb r1, [r7]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ bne _08023710
+ b _0802384C
+_08023710:
+ adds r4, r5, 0
+ adds r4, 0x5C
+ movs r0, 0x2
+ strh r0, [r4]
+ ldrh r0, [r5, 0x28]
+ movs r1, 0x1E
+ bl __umodsi3
+ lsls r0, 16
+ mov r8, r4
+ adds r6, r5, 0
+ adds r6, 0x25
+ cmp r0, 0
+ bne _08023768
+ movs r0, 0x2E
+ ldrsh r2, [r5, r0]
+ ldr r1, =gUnknown_082F4444
+ ldrb r0, [r5, 0x9]
+ subs r0, 0x2
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r2, r0
+ ble _08023754
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x1
+ strh r0, [r5, 0x30]
+ ldrb r0, [r6]
+ movs r1, 0x10
+ orrs r0, r1
+ b _0802375C
+ .pool
+_08023754:
+ ldrb r1, [r6]
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+_0802375C:
+ strb r0, [r6]
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x1
+ strh r0, [r5, 0x32]
+_08023768:
+ ldrh r0, [r5, 0x28]
+ movs r1, 0xF
+ bl __umodsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _080237DE
+ movs r0, 0x34
+ ldrsh r2, [r5, r0]
+ ldr r3, =gUnknown_082F4434
+ ldrb r0, [r5, 0x9]
+ subs r0, 0x2
+ lsls r1, r0, 2
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r2, r0
+ bge _08023798
+ ldrb r1, [r6]
+ movs r0, 0x1F
+ ands r0, r1
+ strb r0, [r6]
+ b _080237D8
+ .pool
+_08023798:
+ adds r0, r3, 0x1
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ cmp r2, r0
+ bge _080237AC
+ ldrb r0, [r6]
+ movs r1, 0x1F
+ ands r1, r0
+ movs r0, 0x20
+ b _080237D4
+_080237AC:
+ adds r0, r3, 0x2
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ cmp r2, r0
+ bge _080237BC
+ movs r0, 0x2
+ strh r0, [r5, 0x34]
+ b _080237D8
+_080237BC:
+ adds r0, r3, 0x3
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ cmp r2, r0
+ bge _080237CC
+ movs r0, 0x3
+ strh r0, [r5, 0x34]
+ b _080237D8
+_080237CC:
+ ldrb r0, [r6]
+ movs r1, 0x1F
+ ands r1, r0
+ movs r0, 0x80
+_080237D4:
+ orrs r1, r0
+ strb r1, [r6]
+_080237D8:
+ movs r0, 0
+ strh r0, [r5, 0x34]
+ b _0802380A
+_080237DE:
+ ldrh r0, [r5, 0x10]
+ adds r0, 0x1
+ strh r0, [r5, 0x10]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x3C
+ bls _0802380A
+ cmp r0, 0x46
+ bls _080237FA
+ bl sub_8011AC8
+ movs r0, 0
+ strh r0, [r5, 0x10]
+ b _0802380A
+_080237FA:
+ ldrb r0, [r7]
+ movs r4, 0xF8
+ ands r4, r0
+ cmp r4, 0
+ bne _0802380A
+ bl sub_8011AC8
+ strh r4, [r5, 0x10]
+_0802380A:
+ ldrh r1, [r5, 0x28]
+ ldr r0, =0x00008c9f
+ cmp r1, r0
+ bls _0802381A
+ ldrb r0, [r7]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r7]
+_0802381A:
+ ldrb r1, [r6]
+ lsls r1, 27
+ lsrs r1, 31
+ lsls r1, 1
+ ldrb r2, [r7]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r7]
+ ldrb r0, [r6]
+ lsrs r0, 5
+ adds r2, r5, 0
+ adds r2, 0x66
+ strh r0, [r2]
+ adds r4, r5, 0
+ adds r4, 0x42
+ adds r0, r4, 0
+ mov r1, r8
+ movs r2, 0xC
+ bl memcpy
+ adds r0, r4, 0
+ bl sub_800FE50
+_0802384C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80236B8
+
+ thumb_func_start sub_802385C
+sub_802385C: @ 802385C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r4, 0
+ ldr r3, =gRecvCmds
+ ldrb r0, [r5, 0x9]
+ cmp r4, r0
+ bcs _08023880
+ movs r1, 0
+_0802386C:
+ lsls r0, r4, 5
+ adds r0, r5, r0
+ adds r0, 0xB5
+ strb r1, [r0]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldrb r0, [r5, 0x9]
+ cmp r4, r0
+ bcc _0802386C
+_08023880:
+ adds r2, r3, 0
+ ldrh r0, [r2]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _08023898
+ ldrh r0, [r2, 0x2]
+ cmp r0, 0x2
+ beq _080238AC
+_08023898:
+ adds r2, r5, 0
+ adds r2, 0x25
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ b _080238EA
+ .pool
+_080238AC:
+ adds r4, r5, 0
+ adds r4, 0x4E
+ adds r0, r4, 0
+ adds r1, r3, 0
+ movs r2, 0xE
+ bl memcpy
+ ldrh r0, [r4, 0x6]
+ strh r0, [r5, 0x2A]
+ movs r0, 0x5
+ ldrsb r0, [r4, r0]
+ strh r0, [r5, 0x2C]
+ ldrh r0, [r4, 0x8]
+ strh r0, [r5, 0x28]
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ adds r0, r5, 0
+ bl sub_80216E0
+ ldrb r1, [r4, 0x4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080238EA
+ adds r0, r5, 0
+ adds r0, 0x25
+ ldrb r1, [r0]
+ movs r2, 0x8
+ orrs r1, r2
+ strb r1, [r0]
+_080238EA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802385C
+
+ thumb_func_start sub_80238F0
+sub_80238F0: @ 80238F0
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ adds r0, r4, 0
+ adds r0, 0x4E
+ movs r1, 0
+ movs r2, 0xE
+ bl memset
+ adds r0, r4, 0
+ bl sub_802385C
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x12
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1A
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1E
+ bl SetGpuReg
+ adds r0, r4, 0
+ adds r0, 0x25
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08023978
+ ldrh r1, [r4, 0x28]
+ ldr r0, =0x00008c9f
+ cmp r1, r0
+ bls _08023964
+ adds r0, 0x1
+ strh r0, [r4, 0x28]
+ movs r0, 0x10
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _0802396E
+ .pool
+_08023964:
+ movs r0, 0xF
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+_0802396E:
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r4, 0x10]
+ strb r1, [r4, 0xC]
+ b _08023992
+_08023978:
+ ldrh r0, [r4, 0x26]
+ adds r0, 0x1
+ strh r0, [r4, 0x26]
+ adds r0, r4, 0
+ bl sub_802339C
+ adds r0, r4, 0
+ bl sub_8023558
+ adds r0, r4, 0
+ bl sub_80236B8
+ movs r0, 0
+_08023992:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80238F0
+
+ thumb_func_start sub_8023998
+sub_8023998: @ 8023998
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ adds r0, r4, 0
+ adds r0, 0x4E
+ movs r1, 0
+ movs r2, 0xE
+ bl memset
+ adds r0, r4, 0
+ bl sub_802385C
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x12
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1A
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1E
+ bl SetGpuReg
+ adds r0, r4, 0
+ adds r0, 0x25
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08023A20
+ ldrh r1, [r4, 0x28]
+ ldr r0, =0x00008c9f
+ cmp r1, r0
+ bls _08023A0C
+ adds r0, 0x1
+ strh r0, [r4, 0x28]
+ movs r0, 0x10
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _08023A16
+ .pool
+_08023A0C:
+ movs r0, 0xF
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+_08023A16:
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r4, 0x10]
+ strb r1, [r4, 0xC]
+ b _08023A28
+_08023A20:
+ adds r0, r4, 0
+ bl sub_80236B8
+ movs r0, 0
+_08023A28:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023998
+
+ thumb_func_start sub_8023A30
+sub_8023A30: @ 8023A30
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x5
+ bls _08023A3C
+ b _08023BB2
+_08023A3C:
+ lsls r0, 2
+ ldr r1, =_08023A4C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08023A4C:
+ .4byte _08023A64
+ .4byte _08023A8C
+ .4byte _08023ADC
+ .4byte _08023B5C
+ .4byte _08023B7A
+ .4byte _08023B94
+_08023A64:
+ movs r0, 0x8
+ strh r0, [r4, 0x12]
+ movs r0, 0xD6
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ ldr r2, =0x000003ff
+ movs r1, 0x8
+ bl BlendPalettes
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0x2
+ strb r0, [r1]
+ b _08023BB2
+ .pool
+_08023A8C:
+ movs r1, 0x9C
+ lsls r1, 1
+ adds r5, r4, r1
+ ldrb r0, [r5]
+ subs r0, 0x1
+ strb r0, [r5]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _08023AA2
+ b _08023BB8
+_08023AA2:
+ movs r0, 0x1
+ negs r0, r0
+ ldr r2, =0x000003ff
+ movs r1, 0
+ bl BlendPalettes
+ ldr r2, =0x00000139
+ adds r1, r4, r2
+ movs r0, 0x4
+ strb r0, [r1]
+ movs r0, 0
+ strb r0, [r5]
+ ldr r2, =gUnknown_082F326C
+ ldrb r1, [r1]
+ lsls r0, r1, 3
+ subs r0, r1
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r2, 0x9D
+ lsls r2, 1
+ adds r1, r4, r2
+ strb r0, [r1]
+ b _08023BB2
+ .pool
+_08023ADC:
+ ldr r7, =gUnknown_082F326C
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r6, r4, r0
+ ldr r1, =0x00000139
+ adds r5, r4, r1
+ ldrb r1, [r5]
+ lsls r0, r1, 3
+ subs r0, r1
+ ldrb r2, [r6]
+ adds r0, r2
+ adds r0, r7
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ strh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x12
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1A
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2C]
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1E
+ bl SetGpuReg
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ movs r1, 0x9D
+ lsls r1, 1
+ adds r2, r4, r1
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r2]
+ cmp r0, r1
+ bcc _08023BB8
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08023BB2
+ subs r0, 0x1
+ strb r0, [r5]
+ ldrb r1, [r5]
+ lsls r0, r1, 3
+ subs r0, r1
+ adds r0, r7
+ ldrb r0, [r0]
+ strb r0, [r2]
+ movs r0, 0
+ strb r0, [r6]
+ b _08023BB8
+ .pool
+_08023B5C:
+ movs r0, 0
+ strh r0, [r4, 0x2C]
+ movs r0, 0x12
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1A
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1E
+ movs r1, 0
+ bl SetGpuReg
+ b _08023BB2
+_08023B7A:
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r4, r2
+ adds r0, r4, 0
+ bl sub_80218D4
+ cmp r0, 0
+ beq _08023BB8
+ bl sub_8010434
+ movs r0, 0
+ strh r0, [r4, 0x10]
+ b _08023BB2
+_08023B94:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023BB8
+ movs r0, 0x11
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r4, 0x10]
+ strb r1, [r4, 0xC]
+ b _08023BBA
+_08023BB2:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_08023BB8:
+ movs r0, 0
+_08023BBA:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023A30
+
+ thumb_func_start sub_8023BC0
+sub_8023BC0: @ 8023BC0
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x1
+ beq _08023C04
+ cmp r0, 0x1
+ bgt _08023BD8
+ cmp r0, 0
+ beq _08023BE2
+ b _08023C9C
+_08023BD8:
+ cmp r0, 0x2
+ beq _08023C2A
+ cmp r0, 0x3
+ beq _08023C5C
+ b _08023C9C
+_08023BE2:
+ movs r0, 0x9
+ strh r0, [r5, 0x12]
+ movs r0, 0x20
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0x8
+ movs r2, 0x1F
+ bl BlendPalettes
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ movs r0, 0x4
+ strb r0, [r1]
+ b _08023C9C
+_08023C04:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r4, r5, r0
+ ldrb r0, [r4]
+ subs r0, 0x1
+ strb r0, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ bne _08023CA2
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ movs r2, 0x1F
+ bl BlendPalettes
+ movs r0, 0
+ strb r0, [r4]
+ b _08023C9C
+_08023C2A:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ adds r0, r5, 0
+ bl sub_80218D4
+ cmp r0, 0
+ beq _08023CA2
+ bl sub_8010434
+ movs r0, 0
+ strh r0, [r5, 0x10]
+ movs r0, 0x12
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1A
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x1E
+ movs r1, 0
+ bl SetGpuReg
+ b _08023C9C
+_08023C5C:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023CA2
+ ldr r0, =gStringVar1
+ ldr r1, [r5, 0x1C]
+ movs r2, 0
+ movs r3, 0x6
+ bl ConvertIntToDecimalStringN
+ movs r4, 0
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0x7
+ movs r2, 0x1
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x13
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ strh r4, [r5, 0x10]
+ b _08023CA0
+ .pool
+_08023C9C:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+_08023CA0:
+ strb r0, [r5, 0xC]
+_08023CA2:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023BC0
+
+ thumb_func_start sub_8023CAC
+sub_8023CAC: @ 8023CAC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ adds r7, r0, 0
+ ldrb r0, [r7, 0xC]
+ cmp r0, 0x7
+ bls _08023CC2
+ b _0802402E
+_08023CC2:
+ lsls r0, 2
+ ldr r1, =_08023CD0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08023CD0:
+ .4byte _08023CF0
+ .4byte _08023D2A
+ .4byte _08023D38
+ .4byte _08023DA0
+ .4byte _08023F20
+ .4byte _08023FD0
+ .4byte _08023FDC
+ .4byte _08024010
+_08023CF0:
+ adds r4, r7, 0
+ adds r4, 0x42
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x4
+ bl memset
+ ldrb r0, [r7, 0x8]
+ lsls r0, 5
+ adds r0, r7, r0
+ adds r2, r0, 0
+ adds r2, 0xB2
+ ldrh r1, [r7, 0x28]
+ ldrh r0, [r2]
+ cmp r0, r1
+ bls _08023D12
+ strh r1, [r2]
+_08023D12:
+ ldrb r0, [r7, 0x8]
+ lsls r0, 5
+ adds r0, r7, r0
+ adds r0, 0xB2
+ ldrh r0, [r0]
+ strh r0, [r4]
+ movs r0, 0
+ adds r1, r4, 0
+ movs r2, 0x2
+ bl SendBlock
+ b _0802402E
+_08023D2A:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023D36
+ b _08024034
+_08023D36:
+ b _08024004
+_08023D38:
+ bl GetBlockReceivedStatus
+ ldr r2, =gUnknown_082F4448
+ ldrb r3, [r7, 0x9]
+ subs r1, r3, 0x2
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r1]
+ cmp r0, r1
+ beq _08023D50
+ b _08024034
+_08023D50:
+ movs r0, 0
+ mov r8, r0
+ adds r4, r7, 0
+ adds r4, 0x42
+ cmp r8, r3
+ bcs _08023D7E
+ ldr r2, =gBlockRecvBuffer
+_08023D5E:
+ mov r3, r8
+ lsls r1, r3, 5
+ adds r1, r7, r1
+ lsls r0, r3, 8
+ adds r0, r2
+ ldrh r0, [r0]
+ adds r1, 0xB2
+ strh r0, [r1]
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrb r6, [r7, 0x9]
+ cmp r8, r6
+ bcc _08023D5E
+_08023D7E:
+ movs r0, 0
+ strh r0, [r7, 0x10]
+ strh r0, [r4]
+ bl ResetBlockReceivedFlags
+ ldrb r0, [r7, 0x8]
+ cmp r0, 0
+ bne _08023D9C
+ movs r0, 0x3
+ b _08024032
+ .pool
+_08023D9C:
+ movs r0, 0x6
+ b _08024032
+_08023DA0:
+ adds r0, r7, 0
+ adds r0, 0x68
+ movs r1, 0
+ movs r2, 0x30
+ bl memset
+ ldrh r1, [r7, 0x28]
+ adds r0, r7, 0
+ adds r0, 0x6C
+ strh r1, [r0]
+ movs r0, 0x18
+ ldrsh r4, [r7, r0]
+ ldrh r0, [r7, 0x28]
+ movs r1, 0x3C
+ bl __udivsi3
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl __divsi3
+ adds r1, r7, 0
+ adds r1, 0x6E
+ strh r0, [r1]
+ movs r1, 0x30
+ ldrsh r0, [r7, r1]
+ lsls r0, 8
+ movs r4, 0xC8
+ lsls r4, 6
+ adds r1, r4, 0
+ bl sub_8151574
+ adds r2, r0, 0
+ movs r3, 0x32
+ ldrsh r1, [r7, r3]
+ lsls r1, 8
+ bl sub_81515FC
+ adds r2, r0, r4
+ asrs r2, 8
+ movs r1, 0x7F
+ adds r0, r2, 0
+ ands r0, r1
+ adds r1, r7, 0
+ adds r1, 0x70
+ strh r0, [r1]
+ lsls r2, 8
+ movs r1, 0xC8
+ lsls r1, 7
+ adds r0, r2, 0
+ bl sub_81515FC
+ adds r2, r0, 0
+ ldrb r1, [r7, 0x9]
+ ldr r0, [r7, 0x1C]
+ muls r0, r1
+ lsls r4, r0, 8
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_8151574
+ adds r4, r0, 0
+ asrs r0, r4, 8
+ str r0, [r7, 0x68]
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x3
+ bl __umodsi3
+ adds r1, r7, 0
+ adds r1, 0x8F
+ strb r0, [r1]
+ movs r6, 0
+ mov r8, r6
+ mov r9, r1
+ ldrb r0, [r7, 0x9]
+ cmp r8, r0
+ bcc _08023E44
+ b _0802402E
+_08023E44:
+ adds r0, r7, 0
+ adds r0, 0x88
+ add r0, r8
+ mov r1, r8
+ strb r1, [r0]
+ adds r0, r7, 0
+ adds r0, 0x90
+ add r0, r8
+ strb r1, [r0]
+ mov r3, r8
+ lsls r2, r3, 1
+ adds r1, r7, 0
+ adds r1, 0x74
+ adds r1, r2
+ lsls r0, r3, 5
+ adds r3, r7, r0
+ adds r5, r3, 0
+ adds r5, 0xAE
+ ldrh r0, [r5]
+ strh r0, [r1]
+ adds r1, r7, 0
+ adds r1, 0x72
+ ldrh r6, [r1]
+ adds r0, r6
+ strh r0, [r1]
+ mov r1, r9
+ ldrb r0, [r1]
+ adds r6, r2, 0
+ cmp r0, 0x1
+ beq _08023EAE
+ cmp r0, 0x1
+ bgt _08023E8A
+ cmp r0, 0
+ beq _08023E90
+ b _08023F04
+_08023E8A:
+ cmp r0, 0x2
+ beq _08023ECC
+ b _08023F04
+_08023E90:
+ ldrh r0, [r5]
+ cmp r0, 0
+ beq _08023ED2
+ adds r0, r3, 0
+ adds r0, 0xAC
+ ldrh r2, [r0]
+ lsls r2, 8
+ adds r0, r2, 0
+ movs r1, 0xC8
+ lsls r1, 7
+ bl sub_8151574
+ adds r2, r0, 0
+ ldrh r4, [r5]
+ b _08023EFA
+_08023EAE:
+ ldrh r0, [r5]
+ cmp r0, 0
+ beq _08023ED2
+ adds r0, r3, 0
+ adds r0, 0xB0
+ ldrh r2, [r0]
+ lsls r2, 8
+ adds r0, r2, 0
+ movs r1, 0xC8
+ lsls r1, 7
+ bl sub_8151574
+ adds r2, r0, 0
+ ldrh r4, [r5]
+ b _08023EFA
+_08023ECC:
+ ldrh r0, [r5]
+ cmp r0, 0
+ bne _08023ED6
+_08023ED2:
+ movs r4, 0
+ b _08023F04
+_08023ED6:
+ adds r1, r3, 0
+ adds r1, 0xB2
+ ldrh r0, [r1]
+ ldrh r2, [r7, 0x28]
+ cmp r0, r2
+ bcc _08023EE8
+ movs r4, 0xC8
+ lsls r4, 7
+ b _08023F04
+_08023EE8:
+ ldrh r2, [r1]
+ lsls r2, 8
+ adds r0, r2, 0
+ movs r1, 0xC8
+ lsls r1, 7
+ bl sub_8151574
+ adds r2, r0, 0
+ ldrh r4, [r7, 0x28]
+_08023EFA:
+ lsls r4, 8
+ adds r1, r4, 0
+ bl sub_81515FC
+ adds r4, r0, 0
+_08023F04:
+ asrs r4, 4
+ adds r0, r7, 0
+ adds r0, 0x7E
+ adds r0, r6
+ strh r4, [r0]
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrb r3, [r7, 0x9]
+ cmp r8, r3
+ bcc _08023E44
+ b _0802402E
+_08023F20:
+ movs r6, 0
+ mov r8, r6
+ ldrb r0, [r7, 0x9]
+ subs r0, 0x1
+ adds r1, r7, 0
+ adds r1, 0x68
+ str r1, [sp, 0xC]
+ cmp r8, r0
+ bge _08023FC4
+_08023F32:
+ ldrb r0, [r7, 0x9]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ mov r2, r8
+ adds r2, 0x1
+ str r2, [sp, 0x8]
+ cmp r4, r8
+ bls _08023FB4
+ adds r3, r7, 0
+ adds r3, 0x74
+ str r3, [sp]
+ adds r6, r7, 0
+ adds r6, 0x88
+ str r6, [sp, 0x4]
+ movs r0, 0x90
+ adds r0, r7
+ mov r10, r0
+ movs r1, 0x7E
+ adds r1, r7
+ mov r9, r1
+_08023F5C:
+ subs r2, r4, 0x1
+ mov r12, r2
+ lsls r6, r2, 1
+ ldr r0, [sp]
+ adds r3, r0, r6
+ lsls r5, r4, 1
+ adds r1, r0, r5
+ ldrh r2, [r3]
+ ldrh r0, [r1]
+ cmp r2, r0
+ bcs _08023F86
+ ldrh r0, [r1]
+ strh r2, [r1]
+ strh r0, [r3]
+ ldr r1, [sp, 0x4]
+ adds r2, r1, r4
+ ldrb r3, [r2]
+ add r1, r12
+ ldrb r0, [r1]
+ strb r0, [r2]
+ strb r3, [r1]
+_08023F86:
+ mov r2, r9
+ adds r3, r2, r6
+ adds r1, r2, r5
+ ldrh r2, [r3]
+ ldrh r6, [r1]
+ cmp r2, r6
+ bcs _08023FAA
+ ldrh r0, [r1]
+ strh r2, [r1]
+ strh r0, [r3]
+ mov r0, r10
+ adds r2, r0, r4
+ ldrb r3, [r2]
+ mov r1, r10
+ add r1, r12
+ ldrb r0, [r1]
+ strb r0, [r2]
+ strb r3, [r1]
+_08023FAA:
+ mov r1, r12
+ lsls r0, r1, 24
+ lsrs r4, r0, 24
+ cmp r4, r8
+ bhi _08023F5C
+_08023FB4:
+ ldr r2, [sp, 0x8]
+ lsls r0, r2, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrb r0, [r7, 0x9]
+ subs r0, 0x1
+ cmp r8, r0
+ blt _08023F32
+_08023FC4:
+ movs r0, 0
+ ldr r1, [sp, 0xC]
+ movs r2, 0x30
+ bl SendBlock
+ b _0802402E
+_08023FD0:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024034
+ b _08024004
+_08023FDC:
+ bl GetBlockReceivedStatus
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08024034
+ adds r4, r7, 0
+ adds r4, 0x68
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x30
+ bl memset
+ ldr r1, =gBlockRecvBuffer
+ adds r0, r4, 0
+ movs r2, 0x30
+ bl memcpy
+ bl ResetBlockReceivedFlags
+_08024004:
+ movs r0, 0
+ strh r0, [r7, 0x10]
+ b _0802402E
+ .pool
+_08024010:
+ bl sub_8020E58
+ movs r0, 0x12
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ movs r1, 0xB
+ strh r1, [r7, 0x12]
+ strb r0, [r7, 0xC]
+ adds r1, r7, 0
+ adds r1, 0x24
+ strb r0, [r1]
+ b _08024034
+_0802402E:
+ ldrb r0, [r7, 0xC]
+ adds r0, 0x1
+_08024032:
+ strb r0, [r7, 0xC]
+_08024034:
+ movs r0, 0
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023CAC
+
+ thumb_func_start sub_8024048
+sub_8024048: @ 8024048
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x4
+ bhi _08024124
+ lsls r0, 2
+ ldr r1, =_08024064
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08024064:
+ .4byte _08024078
+ .4byte _0802408A
+ .4byte _0802409C
+ .4byte _080240CC
+ .4byte _080240DC
+_08024078:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ adds r0, r5, 0
+ bl sub_8022070
+ cmp r0, 0
+ bne _08024124
+ b _0802412A
+_0802408A:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ movs r0, 0x1E
+ strb r0, [r1]
+ b _08024124
+_0802409C:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080240AE
+ subs r0, 0x1
+ strb r0, [r1]
+ b _0802412A
+_080240AE:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0802412A
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r5, 0
+ bl sub_802222C
+ b _08024124
+ .pool
+_080240CC:
+ ldrh r0, [r5, 0x12]
+ cmp r0, 0xC
+ bhi _08024124
+ adds r0, 0x1
+ movs r1, 0
+ strh r0, [r5, 0x12]
+ strb r1, [r5, 0xC]
+ b _0802412A
+_080240DC:
+ ldr r0, =gStringVar1
+ ldr r1, [r5, 0x1C]
+ movs r2, 0
+ movs r3, 0x6
+ bl ConvertIntToDecimalStringN
+ ldr r4, =gStringVar2
+ bl GetBerryPowder
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x6
+ bl ConvertIntToDecimalStringN
+ movs r4, 0
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0x2
+ movs r2, 0x3
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x13
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _0802412A
+ .pool
+_08024124:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_0802412A:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024048
+
+ thumb_func_start sub_8024134
+sub_8024134: @ 8024134
+ push {r4,r5,lr}
+ sub sp, 0x10
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x4
+ bhi _08024218
+ lsls r0, 2
+ ldr r1, =_08024150
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08024150:
+ .4byte _08024164
+ .4byte _080241A0
+ .4byte _080241A6
+ .4byte _080241F0
+ .4byte _08024204
+_08024164:
+ ldrh r1, [r5, 0x28]
+ ldr r0, =0x00008c9f
+ cmp r1, r0
+ bls _08024176
+ movs r1, 0x9C
+ lsls r1, 1
+ adds r0, r5, r1
+ bl sub_8022554
+_08024176:
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0x8
+ movs r2, 0
+ movs r3, 0
+ bl sub_8024644
+ movs r4, 0
+ movs r0, 0x13
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _0802421E
+ .pool
+_080241A0:
+ bl sub_8010434
+ b _08024218
+_080241A6:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802421E
+ movs r0, 0
+ movs r1, 0
+ bl DrawDialogueFrame
+ ldr r2, =gText_SavingDontTurnOffPower
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized2
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ ldr r0, =sub_8153688
+ movs r1, 0
+ bl CreateTask
+ b _08024218
+ .pool
+_080241F0:
+ ldr r0, =sub_8153688
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024218
+ b _0802421E
+ .pool
+_08024204:
+ movs r0, 0x14
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r1, 0
+ movs r0, 0xF
+ strh r0, [r5, 0x12]
+ strb r1, [r5, 0xC]
+ b _0802421E
+_08024218:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_0802421E:
+ movs r0, 0
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024134
+
+ thumb_func_start sub_8024228
+sub_8024228: @ 8024228
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldrb r0, [r5, 0xC]
+ cmp r0, 0x1
+ beq _0802426A
+ cmp r0, 0x1
+ bgt _08024240
+ cmp r0, 0
+ beq _08024246
+ b _080242D0
+_08024240:
+ cmp r0, 0x2
+ beq _08024270
+ b _080242D0
+_08024246:
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r6, 0
+ movs r1, 0x4
+ movs r2, 0
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x14
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ strb r0, [r5, 0xC]
+ b _080242D8
+_0802426A:
+ bl DisplayYesNoMenuDefaultYes
+ b _080242D0
+_08024270:
+ bl Menu_ProcessInputNoWrapClearOnChoose
+ lsls r0, 24
+ asrs r4, r0, 24
+ movs r0, 0x2
+ negs r0, r0
+ cmp r4, r0
+ beq _080242D6
+ adds r0, r5, 0
+ adds r0, 0x42
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ cmp r4, 0
+ bne _080242A2
+ bl HasAtLeastOneBerry
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802429E
+ strh r4, [r5, 0x14]
+ b _080242A6
+_0802429E:
+ movs r0, 0x3
+ b _080242A4
+_080242A2:
+ movs r0, 0x1
+_080242A4:
+ strh r0, [r5, 0x14]
+_080242A6:
+ movs r0, 0
+ movs r1, 0x1
+ bl ClearDialogWindowAndFrame
+ movs r4, 0
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0x8
+ movs r2, 0
+ movs r3, 0
+ bl sub_8024644
+ movs r0, 0x15
+ strb r0, [r5, 0xE]
+ movs r0, 0x3
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _080242D6
+_080242D0:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_080242D6:
+ movs r0, 0
+_080242D8:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024228
+
+ thumb_func_start sub_80242E0
+sub_80242E0: @ 80242E0
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ movs r5, 0
+ ldrb r0, [r4, 0xC]
+ cmp r0, 0x1
+ beq _08024306
+ cmp r0, 0x1
+ bgt _080242F6
+ cmp r0, 0
+ beq _08024300
+ b _080243AC
+_080242F6:
+ cmp r0, 0x2
+ beq _08024328
+ cmp r0, 0x3
+ beq _08024336
+ b _080243AC
+_08024300:
+ bl sub_8010434
+ b _080243AC
+_08024306:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080243B2
+ ldrh r0, [r4, 0x14]
+ adds r1, r4, 0
+ adds r1, 0x42
+ strh r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x4E
+ strh r5, [r0]
+ movs r0, 0
+ movs r2, 0x2
+ bl SendBlock
+ b _080243AC
+_08024328:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080243B2
+ strh r5, [r4, 0x10]
+ b _080243AC
+_08024336:
+ bl GetBlockReceivedStatus
+ ldr r2, =gUnknown_082F4448
+ ldrb r3, [r4, 0x9]
+ subs r1, r3, 0x2
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _080243B2
+ adds r7, r4, 0
+ adds r7, 0x42
+ adds r6, r4, 0
+ adds r6, 0x4E
+ cmp r5, r3
+ bcs _08024374
+ adds r1, r6, 0
+ ldr r2, =gBlockRecvBuffer
+_0802435C:
+ lsls r0, r5, 8
+ adds r0, r2
+ ldrh r0, [r0]
+ ldrh r3, [r1]
+ adds r0, r3
+ strh r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrb r0, [r4, 0x9]
+ cmp r5, r0
+ bcc _0802435C
+_08024374:
+ ldrh r0, [r6]
+ cmp r0, 0
+ beq _08024390
+ movs r0, 0x17
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ b _0802439A
+ .pool
+_08024390:
+ movs r0, 0x16
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+_0802439A:
+ bl ResetBlockReceivedFlags
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r7]
+ strh r0, [r6]
+ strh r0, [r4, 0x10]
+ strb r1, [r4, 0xC]
+ b _080243B4
+_080243AC:
+ ldrb r0, [r4, 0xC]
+ adds r0, 0x1
+ strb r0, [r4, 0xC]
+_080243B2:
+ movs r0, 0
+_080243B4:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80242E0
+
+ thumb_func_start sub_80243BC
+sub_80243BC: @ 80243BC
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldrb r4, [r5, 0xC]
+ cmp r4, 0x1
+ beq _080243EA
+ cmp r4, 0x1
+ bgt _080243D2
+ cmp r4, 0
+ beq _080243DC
+ b _08024434
+_080243D2:
+ cmp r4, 0x2
+ beq _080243F6
+ cmp r4, 0x3
+ beq _0802441A
+ b _08024434
+_080243DC:
+ movs r0, 0x1
+ negs r0, r0
+ str r4, [sp]
+ movs r1, 0x1
+ movs r2, 0
+ movs r3, 0x10
+ b _08024410
+_080243EA:
+ bl UpdatePaletteFade
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024434
+ b _0802443A
+_080243F6:
+ movs r0, 0
+ movs r1, 0x1
+ bl ClearDialogWindowAndFrame
+ adds r0, r5, 0
+ bl sub_8021488
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+_08024410:
+ bl BeginNormalPaletteFade
+ bl UpdatePaletteFade
+ b _08024434
+_0802441A:
+ bl UpdatePaletteFade
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802443A
+ movs r0, 0x7
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ movs r0, 0
+ strh r4, [r5, 0x12]
+ b _08024438
+_08024434:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+_08024438:
+ strb r0, [r5, 0xC]
+_0802443A:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80243BC
+
+ thumb_func_start sub_8024444
+sub_8024444: @ 8024444
+ push {r4,r5,lr}
+ sub sp, 0x10
+ adds r5, r0, 0
+ ldrb r4, [r5, 0xC]
+ cmp r4, 0x1
+ beq _080244BC
+ cmp r4, 0x1
+ bgt _0802445A
+ cmp r4, 0
+ beq _08024460
+ b _080244F6
+_0802445A:
+ cmp r4, 0x2
+ beq _080244D4
+ b _080244F6
+_08024460:
+ movs r0, 0
+ movs r1, 0
+ bl DrawDialogueFrame
+ ldrh r1, [r5, 0x14]
+ cmp r1, 0x3
+ bne _08024490
+ ldr r0, =gUnknown_082F32A4
+ ldr r2, [r0, 0x14]
+ ldrb r3, [r5, 0xB]
+ str r4, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ str r1, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ bl AddTextPrinterParameterized2
+ b _080244AC
+ .pool
+_08024490:
+ ldr r0, =gUnknown_082F32A4
+ ldr r2, [r0, 0x18]
+ ldrb r3, [r5, 0xB]
+ str r4, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ bl AddTextPrinterParameterized2
+_080244AC:
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ b _080244F6
+ .pool
+_080244BC:
+ movs r0, 0
+ bl IsTextPrinterActive
+ lsls r0, 16
+ cmp r0, 0
+ bne _080244FC
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ movs r0, 0x78
+ strb r0, [r1]
+ b _080244F6
+_080244D4:
+ movs r0, 0x9C
+ lsls r0, 1
+ adds r1, r5, r0
+ ldrb r0, [r1]
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _080244E8
+ subs r0, 0x1
+ strb r0, [r1]
+ b _080244FC
+_080244E8:
+ movs r0, 0x18
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _080244FC
+_080244F6:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_080244FC:
+ movs r0, 0
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024444
+
+ thumb_func_start sub_8024508
+sub_8024508: @ 8024508
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrb r4, [r5, 0xC]
+ cmp r4, 0x1
+ beq _08024528
+ cmp r4, 0x1
+ bgt _0802451C
+ cmp r4, 0
+ beq _08024522
+ b _08024558
+_0802451C:
+ cmp r4, 0x2
+ beq _08024538
+ b _08024558
+_08024522:
+ bl sub_8010434
+ b _08024558
+_08024528:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802455E
+ bl sub_800AC34
+ b _08024558
+_08024538:
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802455E
+ movs r0, 0x19
+ strb r0, [r5, 0xE]
+ movs r0, 0x5
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8022BEC
+ strb r4, [r5, 0xC]
+ b _0802455E
+ .pool
+_08024558:
+ ldrb r0, [r5, 0xC]
+ adds r0, 0x1
+ strb r0, [r5, 0xC]
+_0802455E:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024508
+
+ thumb_func_start sub_8024568
+sub_8024568: @ 8024568
+ push {lr}
+ movs r0, 0
+ bl sub_8020C0C
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024568
+
+ thumb_func_start sub_8024578
+sub_8024578: @ 8024578
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r5, 0
+ movs r0, 0x33
+ bl IncrementGameStat
+ strb r5, [r4, 0xD]
+ movs r1, 0
+ strh r5, [r4, 0x10]
+ movs r0, 0x2
+ strh r0, [r4, 0x12]
+ strh r5, [r4, 0x14]
+ str r5, [r4, 0x1C]
+ strh r5, [r4, 0x18]
+ strh r5, [r4, 0x1A]
+ str r5, [r4, 0x20]
+ adds r0, r4, 0
+ adds r0, 0x24
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x25
+ movs r0, 0
+ strb r0, [r1]
+ strh r5, [r4, 0x26]
+ strh r5, [r4, 0x28]
+ strh r5, [r4, 0x2E]
+ ldr r0, =0x0000ffff
+ strh r0, [r4, 0x32]
+ strh r5, [r4, 0x30]
+ strh r5, [r4, 0x34]
+ movs r6, 0
+ movs r3, 0
+_080245B8:
+ lsls r0, r5, 5
+ adds r2, r4, r0
+ adds r1, r2, 0
+ adds r1, 0xA4
+ ldr r0, =0x0000ffff
+ strh r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0xA6
+ strh r3, [r0]
+ adds r0, 0x2
+ strh r3, [r0]
+ adds r1, 0x6
+ movs r0, 0x1
+ strh r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0xAC
+ strh r3, [r0]
+ adds r0, 0x2
+ strh r3, [r0]
+ adds r0, 0x2
+ strh r3, [r0]
+ adds r0, 0x2
+ strh r3, [r0]
+ adds r0, 0x2
+ strb r6, [r0]
+ adds r0, 0x1
+ strb r6, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _080245B8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024578
+
+ thumb_func_start sub_8024604
+sub_8024604: @ 8024604
+ push {r4-r6,lr}
+ sub sp, 0x8
+ str r2, [sp, 0x4]
+ ldr r5, [sp, 0x18]
+ ldr r6, [sp, 0x1C]
+ ldr r4, [sp, 0x20]
+ mov r2, sp
+ strh r4, [r2]
+ add r4, sp, 0x4
+ ldrb r2, [r4]
+ strb r2, [r0]
+ ldrb r2, [r4, 0x1]
+ strb r2, [r0, 0x1]
+ ldrb r2, [r4, 0x2]
+ strb r2, [r0, 0x2]
+ ldrb r2, [r4, 0x3]
+ strb r2, [r0, 0x3]
+ strb r3, [r0, 0x4]
+ strb r5, [r0, 0x5]
+ strb r6, [r0, 0x6]
+ mov r2, sp
+ ldrb r2, [r2]
+ strb r2, [r0, 0x7]
+ mov r2, sp
+ ldrb r2, [r2, 0x1]
+ strb r2, [r0, 0x8]
+ strb r1, [r0, 0x9]
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024604
+
+ thumb_func_start sub_8024644
+sub_8024644: @ 8024644
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r5, [sp, 0x10]
+ mov r4, sp
+ strh r3, [r4]
+ strb r1, [r0]
+ strb r2, [r0, 0x1]
+ mov r1, sp
+ ldrb r1, [r1]
+ strb r1, [r0, 0x2]
+ mov r1, sp
+ ldrb r1, [r1, 0x1]
+ strb r1, [r0, 0x3]
+ strb r5, [r0, 0x4]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024644
+
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s
deleted file mode 100644
index 801e840b9..000000000
--- a/asm/contest_painting_effects.s
+++ /dev/null
@@ -1,1152 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
-
-
- thumb_func_start sub_8126058
-sub_8126058: @ 8126058
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldrb r1, [r0, 0x1D]
- lsrs r5, r1, 3
- ldrb r1, [r0, 0x1E]
- lsrs r1, 3
- str r1, [sp, 0x8]
- ldr r1, [r0, 0x4]
- str r1, [sp]
- ldr r2, [r0, 0x10]
- str r2, [sp, 0x4]
- ldrh r0, [r0, 0x16]
- cmp r0, 0x2
- bne _08126108
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcc _08126086
- b _08126194
-_08126086:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _081260FA
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_0812609A:
- movs r4, 0
- lsls r6, r0, 4
- adds r7, r0, 0x1
- add r0, r9
- lsls r0, 6
- ldr r1, [sp, 0x4]
- adds r1, r0
- mov r12, r1
-_081260AA:
- lsls r0, r4, 3
- mov r2, r12
- adds r3, r2, r0
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 3
- muls r0, r5
- lsls r0, 1
- ldr r2, [sp]
- adds r0, r2, r0
- adds r2, r0, r6
- ldrh r0, [r2, 0x2]
- lsls r0, 8
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r3]
- ldrh r0, [r2, 0x6]
- lsls r0, 8
- ldrh r1, [r2, 0x4]
- orrs r0, r1
- strh r0, [r3, 0x2]
- ldrh r0, [r2, 0xA]
- lsls r0, 8
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r2, 0xE]
- lsls r0, 8
- ldrh r1, [r2, 0xC]
- orrs r0, r1
- strh r0, [r3, 0x6]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _081260AA
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _0812609A
-_081260FA:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _08126086
- b _08126194
-_08126108:
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcs _08126194
-_08126110:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _08126188
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_08126124:
- movs r4, 0
- lsls r6, r0, 4
- adds r7, r0, 0x1
- add r0, r9
- lsls r0, 5
- ldr r1, [sp, 0x4]
- adds r1, r0
- mov r12, r1
-_08126134:
- lsls r0, r4, 2
- mov r2, r12
- adds r3, r2, r0
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 3
- muls r0, r5
- lsls r0, 1
- ldr r2, [sp]
- adds r0, r2, r0
- adds r2, r0, r6
- ldrh r1, [r2, 0x2]
- lsls r1, 4
- ldrh r0, [r2]
- orrs r1, r0
- ldrh r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2, 0x6]
- lsls r0, 12
- orrs r1, r0
- strh r1, [r3]
- ldrh r1, [r2, 0xA]
- lsls r1, 4
- ldrh r0, [r2, 0x8]
- orrs r1, r0
- ldrh r0, [r2, 0xC]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2, 0xE]
- lsls r0, 12
- orrs r1, r0
- strh r1, [r3, 0x2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _08126134
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _08126124
-_08126188:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _08126110
-_08126194:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8126058
-
- thumb_func_start sub_81261A4
-sub_81261A4: @ 81261A4
- push {lr}
- ldr r2, =gUnknown_03006188
- ldrb r1, [r0, 0x18]
- lsls r1, 4
- strh r1, [r2]
- ldr r3, =gUnknown_03006184
- ldrh r2, [r2]
- lsls r2, 1
- ldr r1, [r0, 0x8]
- adds r1, r2
- str r1, [r3]
- ldr r2, =gUnknown_03006168
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, =gUnknown_03006164
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, =gUnknown_03006178
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, =gUnknown_03006174
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, =gUnknown_0300616C
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, =gUnknown_03006180
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, =gUnknown_03006170
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrh r0, [r0, 0x14]
- cmp r0, 0x5
- bhi _0812626A
- lsls r0, 2
- ldr r1, =_0812621C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812621C:
- .4byte _08126234
- .4byte _0812623C
- .4byte _08126244
- .4byte _0812624E
- .4byte _08126258
- .4byte _08126262
-_08126234:
- movs r0, 0
- bl sub_81263A4
- b _0812626A
-_0812623C:
- movs r0, 0x1
- bl sub_81263A4
- b _0812626A
-_08126244:
- bl sub_8126270
- bl sub_8126714
- b _0812626A
-_0812624E:
- bl sub_8126370
- bl sub_8126664
- b _0812626A
-_08126258:
- bl sub_8126334
- bl sub_81265B4
- b _0812626A
-_08126262:
- bl sub_8126318
- bl sub_81264FC
-_0812626A:
- pop {r0}
- bx r0
- thumb_func_end sub_81261A4
-
- thumb_func_start sub_8126270
-sub_8126270: @ 8126270
- ldr r2, =gUnknown_03006184
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r0, [r2]
- ldr r2, =0x000018c6
- adds r1, r2, 0
- strh r1, [r0, 0x2]
- ldr r2, =0x000077bd
- adds r1, r2, 0
- strh r1, [r0, 0x4]
- ldr r2, =0x00002d6b
- adds r1, r2, 0
- strh r1, [r0, 0x6]
- ldr r2, =0x000018dd
- adds r1, r2, 0
- strh r1, [r0, 0x8]
- ldr r2, =0x00001ba6
- adds r1, r2, 0
- strh r1, [r0, 0xA]
- ldr r2, =0x000074c6
- adds r1, r2, 0
- strh r1, [r0, 0xC]
- ldr r2, =0x00001bbd
- adds r1, r2, 0
- strh r1, [r0, 0xE]
- ldr r2, =0x000074dd
- adds r1, r2, 0
- strh r1, [r0, 0x10]
- ldr r2, =0x000077a6
- adds r1, r2, 0
- strh r1, [r0, 0x12]
- ldr r2, =0x0000197d
- adds r1, r2, 0
- strh r1, [r0, 0x14]
- ldr r2, =0x00001bab
- adds r1, r2, 0
- strh r1, [r0, 0x16]
- ldr r2, =0x00007566
- adds r1, r2, 0
- strh r1, [r0, 0x18]
- ldr r2, =0x00002cdd
- adds r1, r2, 0
- strh r1, [r0, 0x1A]
- ldr r2, =0x00002fa6
- adds r1, r2, 0
- strh r1, [r0, 0x1C]
- ldr r2, =0x000074cb
- adds r1, r2, 0
- strh r1, [r0, 0x1E]
- bx lr
- .pool
- thumb_func_end sub_8126270
-
- thumb_func_start sub_8126318
-sub_8126318: @ 8126318
- ldr r2, =gUnknown_03006184
- ldr r0, [r2]
- movs r1, 0
- strh r1, [r0]
- ldr r2, [r2]
- strh r1, [r2, 0x2]
- ldr r1, =0x00007fff
- adds r0, r1, 0
- strh r0, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end sub_8126318
-
- thumb_func_start sub_8126334
-sub_8126334: @ 8126334
- push {r4,r5,lr}
- ldr r1, =gUnknown_03006184
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0]
- ldr r0, [r1]
- strh r2, [r0, 0x2]
- movs r4, 0
- adds r5, r1, 0
-_08126346:
- ldr r0, [r5]
- lsls r2, r4, 1
- adds r2, r0
- adds r0, r4, 0x2
- lsls r3, r0, 1
- lsls r1, r0, 11
- lsls r0, 6
- orrs r1, r0
- orrs r1, r3
- strh r1, [r2, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xD
- bls _08126346
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8126334
-
- thumb_func_start sub_8126370
-sub_8126370: @ 8126370
- push {r4,lr}
- ldr r2, =gUnknown_03006184
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- movs r3, 0
- adds r4, r2, 0
-_0812637E:
- ldr r0, [r4]
- lsls r2, r3, 1
- adds r2, r0
- lsls r0, r3, 10
- lsls r1, r3, 5
- orrs r0, r1
- orrs r0, r3
- strh r0, [r2, 0x2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1F
- bls _0812637E
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8126370
-
- thumb_func_start sub_81263A4
-sub_81263A4: @ 81263A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- movs r1, 0xDF
- mov r9, r1
- cmp r0, 0
- bne _081263BC
- movs r2, 0xFF
- mov r9, r2
-_081263BC:
- movs r6, 0
- ldr r3, =gUnknown_03006184
- mov r12, r3
- mov r0, r9
- lsls r4, r0, 1
- ldr r5, =gUnknown_0300616C
- cmp r6, r9
- bcs _081263E0
- movs r2, 0
-_081263CE:
- ldr r0, [r3]
- lsls r1, r6, 1
- adds r1, r0
- strh r2, [r1]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r9
- bcc _081263CE
-_081263E0:
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4, r0
- ldr r2, =0x00003def
- adds r1, r2, 0
- strh r1, [r0]
- movs r3, 0
- ldrb r5, [r5]
- cmp r3, r5
- bcs _081264E4
-_081263F4:
- ldr r2, =gUnknown_03006168
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r3
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- ldr r1, [r2]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, =gUnknown_03006174
- adds r2, r0, 0
- adds r3, 0x1
- mov r10, r3
- ldrb r3, [r2]
- cmp r6, r3
- bcs _081264D6
- ldr r0, =gUnknown_03006188
- mov r8, r0
-_08126424:
- ldrh r0, [r4]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08126464
- mov r1, r8
- ldrh r0, [r1]
- strh r0, [r4]
- adds r6, 0x1
- adds r7, r4, 0x2
- b _081264CA
- .pool
-_08126464:
- adds r0, r4, 0
- bl sub_81267C4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0x1
- adds r6, 0x1
- adds r7, r4, 0x2
- cmp r3, r9
- bcs _081264C0
- ldr r0, =gUnknown_03006184
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- mov r12, r0
- cmp r1, 0
- bne _08126494
- strh r5, [r2, 0x2]
- mov r2, r8
- ldrh r0, [r2]
- adds r0, 0x1
- b _081264BE
- .pool
-_08126494:
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- beq _081264B8
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r9
- bcs _081264C0
- lsls r0, r3, 1
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- bne _08126494
- strh r5, [r1]
-_081264B8:
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r3
-_081264BE:
- strh r0, [r4]
-_081264C0:
- ldr r2, =gUnknown_03006174
- cmp r3, r9
- bne _081264CA
- mov r3, r9
- strh r3, [r4]
-_081264CA:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- adds r4, r7, 0
- ldrb r0, [r2]
- cmp r6, r0
- bcc _08126424
-_081264D6:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r3, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r3, r0
- bcc _081263F4
-_081264E4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81263A4
-
- thumb_func_start sub_81264FC
-sub_81264FC: @ 81264FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081265A0
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_08126510:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, =gUnknown_03006174
- adds r3, r0, 0
- adds r7, r2, 0x1
- ldrb r0, [r3]
- cmp r6, r0
- bcs _08126594
- ldr r5, =gUnknown_03006188
-_0812653C:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0812656C
- ldrh r0, [r5]
- strh r0, [r4]
- b _08126586
- .pool
-_0812656C:
- adds r0, r4, 0
- bl ConvertToBlackOrWhite
- lsls r0, 16
- cmp r0, 0
- bne _0812657E
- ldrh r0, [r5]
- adds r0, 0x1
- b _08126582
-_0812657E:
- ldrh r0, [r5]
- adds r0, 0x2
-_08126582:
- strh r0, [r4]
- ldr r3, =gUnknown_03006174
-_08126586:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r6, r0
- bcc _0812653C
-_08126594:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08126510
-_081265A0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81264FC
-
- thumb_func_start sub_81265B4
-sub_81265B4: @ 81265B4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08126650
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_081265CA:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, =gUnknown_03006174
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _08126644
- ldr r6, =gUnknown_03006188
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_081265FA:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _08126624
- ldrh r0, [r6]
- strh r0, [r4]
- b _08126634
- .pool
-_08126624:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_8126908
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_08126634:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r5, r0
- bcc _081265FA
-_08126644:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081265CA
-_08126650:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81265B4
-
- thumb_func_start sub_8126664
-sub_8126664: @ 8126664
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08126700
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_0812667A:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, =gUnknown_03006174
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _081266F4
- ldr r6, =gUnknown_03006188
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_081266AA:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _081266D4
- ldrh r0, [r6]
- strh r0, [r4]
- b _081266E4
- .pool
-_081266D4:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_812693C
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_081266E4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r5, r0
- bcc _081266AA
-_081266F4:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0812667A
-_08126700:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8126664
-
- thumb_func_start sub_8126714
-sub_8126714: @ 8126714
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081267B0
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_0812672A:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, =gUnknown_03006174
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _081267A4
- ldr r6, =gUnknown_03006188
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_0812675A:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _08126784
- ldrh r0, [r6]
- strh r0, [r4]
- b _08126794
- .pool
-_08126784:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_8126838
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_08126794:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r5, r0
- bcc _0812675A
-_081267A4:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0812672A
-_081267B0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8126714
-
- thumb_func_start sub_81267C4
-sub_81267C4: @ 81267C4
- push {r4,lr}
- ldrh r0, [r0]
- movs r1, 0x1F
- movs r4, 0x1F
- ands r4, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r1
- lsrs r2, r0, 26
- ands r2, r1
- movs r1, 0x3
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _081267E8
- movs r0, 0x1C
- ands r0, r4
- adds r4, r0, 0x4
-_081267E8:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _081267F6
- movs r0, 0x1C
- ands r0, r3
- adds r3, r0, 0x4
-_081267F6:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08126804
- movs r0, 0x1C
- ands r0, r2
- adds r2, r0, 0x4
-_08126804:
- cmp r4, 0x5
- bhi _0812680A
- movs r4, 0x6
-_0812680A:
- cmp r4, 0x1E
- bls _08126810
- movs r4, 0x1E
-_08126810:
- cmp r3, 0x5
- bhi _08126816
- movs r3, 0x6
-_08126816:
- cmp r3, 0x1E
- bls _0812681C
- movs r3, 0x1E
-_0812681C:
- cmp r2, 0x5
- bhi _08126822
- movs r2, 0x6
-_08126822:
- cmp r2, 0x1E
- bls _08126828
- movs r2, 0x1E
-_08126828:
- lsls r0, r2, 10
- lsls r1, r3, 5
- orrs r0, r1
- orrs r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81267C4
-
- thumb_func_start sub_8126838
-sub_8126838: @ 8126838
- push {lr}
- ldrh r0, [r0]
- movs r1, 0x1F
- movs r3, 0x1F
- ands r3, r0
- lsls r0, 16
- lsrs r2, r0, 21
- ands r2, r1
- lsrs r0, 26
- ands r0, r1
- cmp r3, 0xB
- bhi _0812685C
- cmp r2, 0xA
- bhi _0812685C
- cmp r0, 0xA
- bhi _0812685C
- movs r0, 0x1
- b _08126902
-_0812685C:
- cmp r3, 0x13
- bls _08126880
- cmp r2, 0x13
- bls _08126868
- cmp r0, 0x13
- bhi _0812688C
-_08126868:
- cmp r3, 0x13
- bls _08126880
- cmp r2, 0x13
- bls _08126876
- cmp r0, 0xE
- bhi _0812688C
- b _081268C4
-_08126876:
- cmp r0, 0x13
- bls _08126880
- cmp r2, 0xE
- bhi _0812688C
- b _081268A0
-_08126880:
- cmp r2, 0x13
- bls _08126890
- cmp r0, 0x13
- bls _08126890
- cmp r3, 0xE
- bls _081268E8
-_0812688C:
- movs r0, 0x2
- b _08126902
-_08126890:
- cmp r3, 0x13
- bls _081268B4
- cmp r2, 0xB
- bls _081268A8
- cmp r0, 0xB
- bls _081268A4
- cmp r2, r0
- bcs _081268C4
-_081268A0:
- movs r0, 0x8
- b _08126902
-_081268A4:
- movs r0, 0xA
- b _08126902
-_081268A8:
- cmp r0, 0xB
- bls _081268B0
- movs r0, 0xD
- b _08126902
-_081268B0:
- movs r0, 0x4
- b _08126902
-_081268B4:
- cmp r2, 0x13
- bls _081268D8
- cmp r3, 0xB
- bls _081268CC
- cmp r0, 0xB
- bls _081268C8
- cmp r3, r0
- bcc _081268E8
-_081268C4:
- movs r0, 0x7
- b _08126902
-_081268C8:
- movs r0, 0xB
- b _08126902
-_081268CC:
- cmp r0, 0xB
- bls _081268D4
- movs r0, 0xE
- b _08126902
-_081268D4:
- movs r0, 0x5
- b _08126902
-_081268D8:
- cmp r0, 0x13
- bls _08126900
- cmp r3, 0xB
- bls _081268EC
- cmp r2, 0xB
- bls _081268F4
- cmp r3, r2
- bcs _081268A0
-_081268E8:
- movs r0, 0x9
- b _08126902
-_081268EC:
- cmp r2, 0xB
- bls _081268F4
- movs r0, 0xC
- b _08126902
-_081268F4:
- cmp r0, 0xB
- bls _081268FC
- movs r0, 0xF
- b _08126902
-_081268FC:
- movs r0, 0x6
- b _08126902
-_08126900:
- movs r0, 0x3
-_08126902:
- pop {r1}
- bx r1
- thumb_func_end sub_8126838
-
- thumb_func_start sub_8126908
-sub_8126908: @ 8126908
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- movs r1, 0x1E
- ands r0, r1
- lsls r0, 16
- cmp r0, 0
- beq _08126934
- lsrs r0, 17
- b _08126936
-_08126934:
- movs r0, 0x1
-_08126936:
- pop {r1}
- bx r1
- thumb_func_end sub_8126908
-
- thumb_func_start sub_812693C
-sub_812693C: @ 812693C
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_812693C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
new file mode 100755
index 000000000..505f305b9
--- /dev/null
+++ b/asm/dodrio_berry_picking.s
@@ -0,0 +1,11806 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_802493C
+sub_802493C: @ 802493C
+ push {r4-r6,lr}
+ adds r5, r1, 0
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldr r1, =gUnknown_03000DB0
+ movs r0, 0
+ str r0, [r1]
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08024A10
+ ldr r4, =gUnknown_02022C98
+ ldr r0, =0x00003330
+ bl AllocZeroed
+ str r0, [r4]
+ cmp r0, 0
+ beq _08024A10
+ bl sub_8024A1C
+ ldr r0, [r4]
+ bl sub_8024A30
+ ldr r0, [r4]
+ str r5, [r0]
+ bl GetMultiplayerId
+ ldr r1, [r4]
+ adds r1, 0x28
+ strb r0, [r1]
+ ldr r1, [r4]
+ ldr r2, =0x000032cc
+ adds r0, r1, r2
+ adds r2, r1, 0
+ adds r2, 0x28
+ ldrb r3, [r2]
+ lsls r2, r3, 4
+ subs r2, r3
+ lsls r2, 2
+ adds r1, r2
+ ldr r2, =0x000031a0
+ adds r1, r2
+ movs r2, 0x3C
+ bl memcpy
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x28
+ ldrb r1, [r1]
+ lsls r1, 2
+ ldr r2, =0x0000318c
+ adds r1, r2
+ adds r0, r1
+ movs r1, 0x64
+ muls r1, r6
+ ldr r2, =gPlayerParty
+ adds r1, r2
+ bl sub_80261F8
+ ldr r0, =sub_8024BC8
+ movs r1, 0x1
+ bl CreateTask
+ ldr r0, =sub_80261CC
+ bl SetMainCallback2
+ bl sub_80273F0
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ adds r1, r2, 0
+ adds r1, 0x44
+ adds r2, 0x48
+ bl sub_8026B5C
+ bl StopMapMusic
+ ldr r0, =0x0000021e
+ bl PlayNewMapMusic
+ b _08024A16
+ .pool
+_08024A10:
+ adds r0, r5, 0
+ bl SetMainCallback2
+_08024A16:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802493C
+
+ thumb_func_start sub_8024A1C
+sub_8024A1C: @ 8024A1C
+ push {lr}
+ bl ResetTasks
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024A1C
+
+ thumb_func_start sub_8024A30
+sub_8024A30: @ 8024A30
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x28
+ adds r2, r0, 0
+ movs r0, 0
+ strb r0, [r2, 0xC]
+ strb r0, [r2, 0x10]
+ strb r0, [r2, 0x14]
+ strb r0, [r2, 0x18]
+ strb r0, [r2, 0x1C]
+ movs r3, 0x8E
+ lsls r3, 1
+ adds r1, r2, r3
+ str r0, [r1]
+ movs r7, 0x90
+ lsls r7, 1
+ adds r1, r2, r7
+ str r0, [r1]
+ adds r1, r2, 0
+ adds r1, 0x30
+ strb r0, [r1]
+ adds r1, 0x10
+ strb r0, [r1]
+ subs r1, 0x4
+ strb r0, [r1]
+ adds r3, 0x10
+ adds r1, r2, r3
+ str r0, [r1]
+ movs r5, 0
+ adds r1, r2, 0
+ adds r1, 0x98
+ movs r3, 0
+_08024A76:
+ adds r0, r1, r5
+ strb r3, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _08024A76
+ movs r5, 0
+ adds r7, r2, 0
+ adds r7, 0xA8
+ str r7, [sp]
+ adds r0, r2, 0
+ adds r0, 0xB0
+ str r0, [sp, 0xC]
+ movs r1, 0x4A
+ adds r1, r2
+ mov r10, r1
+ movs r3, 0x4C
+ adds r3, r2
+ mov r9, r3
+ movs r7, 0x4E
+ adds r7, r2
+ mov r12, r7
+ subs r0, 0x60
+ str r0, [sp, 0x24]
+ adds r6, r2, 0
+ adds r6, 0x54
+ adds r1, r2, 0
+ adds r1, 0xD0
+ str r1, [sp, 0x1C]
+ adds r3, r2, 0
+ adds r3, 0xDC
+ str r3, [sp, 0x20]
+ adds r7, r2, 0
+ adds r7, 0xC4
+ str r7, [sp, 0x14]
+ adds r0, 0xA4
+ str r0, [sp, 0x4]
+ adds r1, 0x25
+ str r1, [sp, 0x8]
+ subs r3, 0xBC
+ str r3, [sp, 0x10]
+ movs r7, 0x24
+ adds r7, r2
+ mov r8, r7
+ subs r0, 0xC0
+ str r0, [sp, 0x18]
+ movs r3, 0
+ movs r1, 0x86
+ lsls r1, 1
+ adds r4, r2, r1
+ movs r7, 0x98
+ lsls r7, 1
+ adds r2, r7
+_08024AE2:
+ ldr r1, [sp]
+ adds r0, r1, r5
+ strb r3, [r0]
+ ldr r7, [sp, 0xC]
+ adds r0, r7, r5
+ strb r3, [r0]
+ lsls r0, r5, 1
+ adds r0, r5
+ lsls r0, 2
+ mov r7, r10
+ adds r1, r7, r0
+ strh r3, [r1]
+ mov r7, r9
+ adds r1, r7, r0
+ strh r3, [r1]
+ mov r7, r12
+ adds r1, r7, r0
+ strh r3, [r1]
+ ldr r7, [sp, 0x24]
+ adds r1, r7, r0
+ strh r3, [r1]
+ adds r0, r6, r0
+ strh r3, [r0]
+ adds r0, r4, r5
+ strb r3, [r0]
+ lsls r0, r5, 2
+ adds r0, r2, r0
+ str r3, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _08024AE2
+ movs r5, 0
+ movs r3, 0
+ movs r4, 0xFF
+ ldr r6, [sp, 0x1C]
+_08024B2C:
+ adds r0, r6, r5
+ strb r3, [r0]
+ ldr r1, [sp, 0x20]
+ adds r0, r1, r5
+ strb r3, [r0]
+ ldr r7, [sp, 0x14]
+ adds r0, r7, r5
+ strb r3, [r0]
+ lsls r1, r5, 1
+ ldr r0, [sp, 0x4]
+ adds r2, r0, r1
+ ldrb r0, [r2]
+ orrs r0, r4
+ strb r0, [r2]
+ ldr r7, [sp, 0x8]
+ adds r1, r7, r1
+ ldrb r0, [r1]
+ orrs r0, r4
+ strb r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08024B2C
+ bl GetMultiplayerId
+ movs r1, 0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08024B6A
+ movs r1, 0x1
+_08024B6A:
+ ldr r0, [sp, 0x10]
+ strb r1, [r0]
+ bl GetLinkPlayerCount
+ mov r1, r8
+ strb r0, [r1]
+ bl GetMultiplayerId
+ ldr r3, [sp, 0x18]
+ strb r0, [r3]
+ movs r5, 0x1
+ mov r7, r8
+ ldrb r7, [r7]
+ cmp r5, r7
+ bcs _08024BB6
+ ldr r7, [sp, 0x18]
+ mov r6, r8
+_08024B8C:
+ adds r4, r7, r5
+ subs r0, r5, 0x1
+ adds r0, r7, r0
+ ldrb r0, [r0]
+ adds r0, 0x1
+ strb r0, [r4]
+ ldrb r2, [r4]
+ ldrb r1, [r6]
+ subs r0, r1, 0x1
+ cmp r2, r0
+ ble _08024BAA
+ adds r0, r2, 0
+ bl __umodsi3
+ strb r0, [r4]
+_08024BAA:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrb r0, [r6]
+ cmp r5, r0
+ bcc _08024B8C
+_08024BB6:
+ add sp, 0x28
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024A30
+
+ thumb_func_start sub_8024BC8
+sub_8024BC8: @ 8024BC8
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0x7
+ bls _08024BDC
+ b _08024D34
+_08024BDC:
+ lsls r0, 2
+ ldr r1, =_08024BF0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08024BF0:
+ .4byte _08024C10
+ .4byte _08024C24
+ .4byte _08024C4C
+ .4byte _08024C5A
+ .4byte _08024C80
+ .4byte _08024CD4
+ .4byte _08024CE6
+ .4byte _08024D10
+_08024C10:
+ movs r0, 0
+ bl SetVBlankCallback
+ ldr r0, =sub_8025910
+ movs r1, 0x4
+ bl sub_802620C
+ b _08024D20
+ .pool
+_08024C24:
+ ldr r0, =sub_8025910
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024C32
+ b _08024D40
+_08024C32:
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ movs r1, 0xB0
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8029274
+ ldr r1, [r4]
+ b _08024D24
+ .pool
+_08024C4C:
+ bl sub_802A770
+ cmp r0, 0
+ bne _08024D40
+ bl sub_8010434
+ b _08024D20
+_08024C5A:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024D40
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08024D20
+ bl sub_800E0E8
+ movs r0, 0
+ movs r1, 0
+ bl CreateWirelessStatusIndicatorSprite
+ b _08024D20
+ .pool
+_08024C80:
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ bl sub_80283A8
+ movs r4, 0
+ cmp r4, r5
+ bcs _08024CBA
+_08024C92:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x34
+ adds r0, r4
+ ldrb r2, [r0]
+ lsls r0, r2, 2
+ ldr r3, =0x0000318c
+ adds r0, r3
+ adds r0, r1, r0
+ adds r1, 0x24
+ ldrb r3, [r1]
+ adds r1, r4, 0
+ bl sub_8028408
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08024C92
+_08024CBA:
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ adds r0, 0x24
+ ldrb r1, [r0]
+ movs r0, 0
+ bl sub_802868C
+ ldr r1, [r4]
+ b _08024D24
+ .pool
+_08024CD4:
+ bl sub_8028A34
+ bl sub_8028A88
+ bl sub_8028D44
+ bl sub_8028734
+ b _08024D20
+_08024CE6:
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r0, =sub_80261E4
+ bl SetVBlankCallback
+ b _08024D20
+ .pool
+_08024D10:
+ bl UpdatePaletteFade
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08024D40
+_08024D20:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+_08024D24:
+ ldrb r0, [r1, 0xC]
+ adds r0, 0x1
+ strb r0, [r1, 0xC]
+ b _08024D40
+ .pool
+_08024D34:
+ adds r0, r1, 0
+ bl DestroyTask
+ ldr r0, =sub_802589C
+ bl sub_802621C
+_08024D40:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024BC8
+
+ thumb_func_start sub_8024D4C
+sub_8024D4C: @ 8024D4C
+ push {lr}
+ bl sub_8025D04
+ ldr r1, =gUnknown_082F7AC4
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x18]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, =gUnknown_03000DB0
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08024D70
+ bl sub_8026AF4
+_08024D70:
+ bl sub_8025D50
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024D4C
+
+ thumb_func_start sub_8024D84
+sub_8024D84: @ 8024D84
+ push {lr}
+ bl sub_8025E0C
+ ldr r1, =gUnknown_082F7AF4
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x18]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, =gUnknown_03000DB0
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08024DA8
+ bl sub_8026B28
+_08024DA8:
+ bl sub_8025ED8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024D84
+
+ thumb_func_start sub_8024DBC
+sub_8024DBC: @ 8024DBC
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0
+ beq _08024DD4
+ cmp r0, 0x1
+ beq _08024DEA
+ b _08024DF8
+ .pool
+_08024DD4:
+ movs r0, 0x1
+ bl sub_8028504
+ movs r0, 0x1
+ bl sub_80292E0
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08024DF8
+_08024DEA:
+ bl sub_802A770
+ cmp r0, 0
+ bne _08024DF8
+ movs r0, 0x1
+ bl sub_8026240
+_08024DF8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024DBC
+
+ thumb_func_start sub_8024E00
+sub_8024E00: @ 8024E00
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0
+ bne _08024E20
+ bl sub_80262C0
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08024E30
+ .pool
+_08024E20:
+ movs r0, 0x8C
+ lsls r0, 1
+ adds r1, r0
+ movs r0, 0x1
+ str r0, [r1]
+ movs r0, 0x2
+ bl sub_8026240
+_08024E30:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024E00
+
+ thumb_func_start sub_8024E38
+sub_8024E38: @ 8024E38
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x10]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bhi _08024F08
+ lsls r0, 2
+ ldr r1, =_08024E5C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08024E5C:
+ .4byte _08024E74
+ .4byte _08024E90
+ .4byte _08024EA0
+ .4byte _08024EC4
+ .4byte _08024ED8
+ .4byte _08024EF8
+_08024E74:
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x7
+ movs r1, 0x8
+ movs r2, 0x78
+ movs r3, 0x50
+ bl sub_802EB24
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08024EF0
+ .pool
+_08024E90:
+ bl sub_8010434
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08024EF0
+ .pool
+_08024EA0:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024F08
+ ldr r2, =gUnknown_02022C98
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ movs r3, 0
+ strb r0, [r1, 0x10]
+ ldr r0, [r2]
+ adds r0, 0x30
+ strb r3, [r0]
+ b _08024F08
+ .pool
+_08024EC4:
+ bl sub_802EB84
+ cmp r0, 0
+ bne _08024F08
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08024EF0
+ .pool
+_08024ED8:
+ ldr r1, [r4]
+ adds r1, 0x30
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bls _08024F08
+ bl sub_8010434
+ ldr r1, [r4]
+_08024EF0:
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08024F08
+_08024EF8:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024F08
+ movs r0, 0x3
+ bl sub_8026240
+_08024F08:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024E38
+
+ thumb_func_start sub_8024F10
+sub_8024F10: @ 8024F10
+ push {lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0
+ bne _08024F2E
+ movs r2, 0x8E
+ lsls r2, 1
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08024F2E
+ movs r0, 0x4
+ bl sub_8026240
+_08024F2E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8024F10
+
+ thumb_func_start sub_8024F38
+sub_8024F38: @ 8024F38
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x10]
+ cmp r0, 0
+ bne _08024FF6
+ adds r0, r2, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bhi _08024FE8
+ adds r0, r2, 0
+ adds r0, 0xA8
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08024FEE
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08024F88
+ ldr r1, =0x000031cc
+ adds r0, r2, r1
+ ldrb r1, [r0]
+ cmp r1, 0
+ bne _08024FEE
+ ldr r3, =0x000031d0
+ adds r0, r2, r3
+ strb r1, [r0]
+ movs r0, 0x2
+ b _08024FC2
+ .pool
+_08024F88:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08024FA8
+ ldr r3, =0x000031cc
+ adds r0, r2, r3
+ ldrb r1, [r0]
+ cmp r1, 0
+ bne _08024FEE
+ adds r3, 0x4
+ adds r0, r2, r3
+ strb r1, [r0]
+ movs r0, 0x1
+ b _08024FC2
+ .pool
+_08024FA8:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08024FD4
+ ldr r3, =0x000031cc
+ adds r0, r2, r3
+ ldrb r1, [r0]
+ cmp r1, 0
+ bne _08024FEE
+ adds r3, 0x4
+ adds r0, r2, r3
+ strb r1, [r0]
+ movs r0, 0x3
+_08024FC2:
+ bl sub_8027518
+ ldr r1, [r4]
+ ldr r2, =0x000031cc
+ adds r1, r2
+ strb r0, [r1]
+ b _08024FEE
+ .pool
+_08024FD4:
+ movs r0, 0
+ bl sub_8027518
+ ldr r1, [r4]
+ ldr r3, =0x000031cc
+ adds r1, r3
+ strb r0, [r1]
+ b _08024FEE
+ .pool
+_08024FE8:
+ movs r0, 0xB
+ bl sub_8026240
+_08024FEE:
+ bl sub_802671C
+ bl sub_8025F48
+_08024FF6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024F38
+
+ thumb_func_start sub_8024FFC
+sub_8024FFC: @ 8024FFC
+ push {lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bhi _080250C4
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0802504C
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080250CA
+ ldr r3, =0x000032f8
+ adds r1, r2, r3
+ movs r0, 0x2
+ strb r0, [r1]
+ b _080250CA
+ .pool
+_0802504C:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08025080
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080250CA
+ ldr r3, =0x000032f8
+ adds r1, r2, r3
+ movs r0, 0x1
+ strb r0, [r1]
+ b _080250CA
+ .pool
+_08025080:
+ movs r0, 0x20
+ ands r0, r1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _080250B8
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080250CA
+ ldr r3, =0x000032f8
+ adds r1, r2, r3
+ movs r0, 0x3
+ strb r0, [r1]
+ b _080250CA
+ .pool
+_080250B8:
+ ldr r3, =0x000032f8
+ adds r0, r2, r3
+ strb r1, [r0]
+ b _080250CA
+ .pool
+_080250C4:
+ movs r0, 0xB
+ bl sub_8026240
+_080250CA:
+ bl sub_8026044
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024FFC
+
+ thumb_func_start sub_80250D4
+sub_80250D4: @ 80250D4
+ push {r4,r5,lr}
+ bl sub_802671C
+ bl sub_8025F48
+ bl sub_8026C50
+ cmp r0, 0x1
+ bne _080250F2
+ bl sub_80272A4
+ movs r0, 0x5
+ bl sub_8026240
+ b _08025150
+_080250F2:
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ movs r1, 0x96
+ lsls r1, 1
+ adds r4, r2, r1
+ movs r1, 0x1
+ str r1, [r4]
+ movs r3, 0x1
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r5, r0, 0
+ ldrb r1, [r1]
+ cmp r3, r1
+ bcs _08025150
+ movs r1, 0x9A
+ lsls r1, 1
+ adds r0, r2, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _08025124
+ movs r0, 0
+ str r0, [r4]
+ b _08025150
+ .pool
+_08025124:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r3, r0
+ bcs _08025150
+ lsls r0, r3, 2
+ movs r4, 0x98
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldr r0, [r1]
+ cmp r0, 0x1
+ beq _08025124
+ movs r0, 0x96
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0
+ str r0, [r1]
+_08025150:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80250D4
+
+ thumb_func_start sub_8025158
+sub_8025158: @ 8025158
+ push {lr}
+ bl sub_8026044
+ bl sub_8026C90
+ cmp r0, 0x1
+ bne _0802516C
+ movs r0, 0x5
+ bl sub_8026240
+_0802516C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025158
+
+ thumb_func_start sub_8025170
+sub_8025170: @ 8025170
+ push {r4,lr}
+ bl GetBlockReceivedStatus
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_800A9D8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ beq _0802518C
+ movs r0, 0
+ b _08025192
+_0802518C:
+ bl ResetBlockReceivedFlags
+ movs r0, 0x1
+_08025192:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8025170
+
+ thumb_func_start sub_8025198
+sub_8025198: @ 8025198
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022C98
+ ldr r1, [r5]
+ ldrb r4, [r1, 0x10]
+ cmp r4, 0x1
+ beq _080251D0
+ cmp r4, 0x1
+ bgt _080251B4
+ cmp r4, 0
+ beq _080251BA
+ b _0802520C
+ .pool
+_080251B4:
+ cmp r4, 0x2
+ beq _080251DC
+ b _0802520C
+_080251BA:
+ adds r1, 0x4A
+ movs r0, 0
+ movs r2, 0x3C
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025226
+ ldr r0, [r5]
+ strb r4, [r0, 0x8]
+ b _08025202
+_080251D0:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025226
+ b _08025202
+_080251DC:
+ bl sub_8025170
+ cmp r0, 0
+ beq _080251EE
+ ldr r0, [r5]
+ adds r1, r0, 0
+ adds r1, 0x24
+ ldrb r1, [r1]
+ strb r1, [r0, 0x8]
+_080251EE:
+ ldr r2, [r5]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r0, [r2, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _08025226
+ ldrb r0, [r2, 0x14]
+ adds r0, 0x1
+ strb r0, [r2, 0x14]
+_08025202:
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08025226
+_0802520C:
+ movs r0, 0x1
+ bl WaitFanfare
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025226
+ movs r0, 0x6
+ bl sub_8026240
+ ldr r0, =0x0000020b
+ movs r1, 0x4
+ bl FadeOutAndPlayNewMapMusic
+_08025226:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025198
+
+ thumb_func_start sub_8025230
+sub_8025230: @ 8025230
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022C98
+ ldr r2, [r5]
+ ldrb r4, [r2, 0x10]
+ cmp r4, 0x1
+ beq _08025274
+ cmp r4, 0x1
+ bgt _0802524C
+ cmp r4, 0
+ beq _08025252
+ b _080252DC
+ .pool
+_0802524C:
+ cmp r4, 0x2
+ beq _08025282
+ b _080252DC
+_08025252:
+ ldrb r0, [r2, 0x14]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, 0x4A
+ adds r1, r2, r1
+ movs r0, 0
+ movs r2, 0x3C
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025316
+ ldr r0, [r5]
+ strb r4, [r0, 0x8]
+ ldr r1, [r5]
+ b _080252CC
+_08025274:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025316
+ ldr r1, [r5]
+ b _080252CC
+_08025282:
+ bl sub_8025170
+ cmp r0, 0
+ beq _080252B4
+ movs r4, 0
+ b _080252AA
+_0802528E:
+ ldr r0, [r5]
+ adds r0, 0x4A
+ ldr r1, =gBlockRecvBuffer
+ movs r2, 0x3C
+ bl memcpy
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ strb r0, [r1, 0x8]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+_080252AA:
+ ldr r0, [r5]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r4, r0
+ bcc _0802528E
+_080252B4:
+ ldr r3, =gUnknown_02022C98
+ ldr r2, [r3]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r0, [r2, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _08025316
+ ldrb r0, [r2, 0x14]
+ adds r0, 0x1
+ strb r0, [r2, 0x14]
+ ldr r1, [r3]
+_080252CC:
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08025316
+ .pool
+_080252DC:
+ movs r0, 0x1
+ bl WaitFanfare
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025316
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r0, r2, 0
+ adds r0, 0x54
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r3, 0x8A
+ lsls r3, 1
+ adds r0, r2, r3
+ strh r1, [r0]
+ movs r0, 0x6
+ bl sub_8026240
+ ldr r0, =0x0000020b
+ movs r1, 0x4
+ bl FadeOutAndPlayNewMapMusic
+_08025316:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025230
+
+ thumb_func_start sub_8025324
+sub_8025324: @ 8025324
+ push {r4,r5,lr}
+ sub sp, 0x4
+ movs r1, 0x1
+ mov r0, sp
+ strb r1, [r0]
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0x4
+ bls _0802533A
+ b _08025458
+_0802533A:
+ lsls r0, 2
+ ldr r1, =_0802534C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802534C:
+ .4byte _08025360
+ .4byte _08025384
+ .4byte _0802539C
+ .4byte _080253BC
+ .4byte _080253DC
+_08025360:
+ bl sub_802749C
+ movs r0, 0x1
+ bl sub_80289E8
+ bl sub_8028DFC
+ movs r0, 0x1
+ bl sub_8028EC8
+ movs r0, 0x2
+ bl sub_80292E0
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08025448
+ .pool
+_08025384:
+ bl sub_802A770
+ cmp r0, 0
+ bne _08025466
+ movs r0, 0x5
+ bl sub_80292E0
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08025448
+ .pool
+_0802539C:
+ bl sub_802A794
+ mov r1, sp
+ strb r0, [r1]
+ movs r0, 0
+ movs r2, 0x1
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025466
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08025448
+ .pool
+_080253BC:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025466
+ ldr r3, =gUnknown_02022C98
+ ldr r1, [r3]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1, 0x10]
+ ldr r0, [r3]
+ strb r2, [r0, 0x8]
+ b _08025466
+ .pool
+_080253DC:
+ bl sub_8025170
+ cmp r0, 0
+ beq _08025422
+ movs r2, 0
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _08025422
+ adds r3, r1, 0
+ movs r5, 0x86
+ lsls r5, 1
+ ldr r4, =gBlockRecvBuffer
+_080253FA:
+ ldr r1, [r3]
+ adds r1, r2, r1
+ adds r1, r5
+ lsls r0, r2, 8
+ adds r0, r4
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ strb r0, [r1, 0x8]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, [r3]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _080253FA
+_08025422:
+ ldr r4, =gUnknown_02022C98
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r0, [r2, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _08025466
+ ldrb r0, [r2, 0x14]
+ adds r0, 0x1
+ strb r0, [r2, 0x14]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x77
+ bls _08025466
+ movs r0, 0x6
+ bl sub_80292E0
+ ldr r1, [r4]
+_08025448:
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08025466
+ .pool
+_08025458:
+ bl sub_802A770
+ cmp r0, 0
+ bne _08025466
+ movs r0, 0x7
+ bl sub_8026240
+_08025466:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025324
+
+ thumb_func_start sub_8025470
+sub_8025470: @ 8025470
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0x7
+ bls _08025480
+ b _08025606
+_08025480:
+ lsls r0, 2
+ ldr r1, =_08025494
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08025494:
+ .4byte _080254B4
+ .4byte _080254D4
+ .4byte _080254F0
+ .4byte _08025504
+ .4byte _08025520
+ .4byte _0802553C
+ .4byte _08025564
+ .4byte _08025578
+_080254B4:
+ bl sub_8027748
+ ldr r1, =0x00000bb7
+ cmp r0, r1
+ bls _080254C4
+ movs r0, 0x4
+ bl sub_80292E0
+_080254C4:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_080254D4:
+ bl sub_802A770
+ cmp r0, 0
+ beq _080254DE
+ b _0802563C
+_080254DE:
+ movs r0, 0x3
+ bl sub_80292E0
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_080254F0:
+ bl sub_8028FCC
+ bl sub_80272E8
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_08025504:
+ bl sub_802A794
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, sp
+ strb r0, [r1]
+ cmp r0, 0
+ bne _08025516
+ b _0802563C
+_08025516:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_08025520:
+ bl sub_802A770
+ cmp r0, 0
+ beq _0802552A
+ b _0802563C
+_0802552A:
+ movs r0, 0x5
+ bl sub_80292E0
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_0802553C:
+ bl sub_802A794
+ mov r1, sp
+ strb r0, [r1]
+ movs r0, 0
+ movs r2, 0x1
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802563C
+ ldr r2, =gUnknown_02022C98
+ ldr r1, [r2]
+ movs r0, 0
+ strb r0, [r1, 0x8]
+ ldr r1, [r2]
+ b _080255E8
+ .pool
+_08025564:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802563C
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _080255E8
+ .pool
+_08025578:
+ bl sub_8025170
+ cmp r0, 0
+ beq _080255BE
+ movs r2, 0
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _080255BE
+ adds r3, r1, 0
+ movs r5, 0x86
+ lsls r5, 1
+ ldr r4, =gBlockRecvBuffer
+_08025596:
+ ldr r1, [r3]
+ adds r1, r2, r1
+ adds r1, r5
+ lsls r0, r2, 8
+ adds r0, r4
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ strb r0, [r1, 0x8]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, [r3]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _08025596
+_080255BE:
+ ldr r4, =gUnknown_02022C98
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r0, [r2, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _080255F8
+ ldrb r0, [r2, 0x14]
+ adds r0, 0x1
+ strb r0, [r2, 0x14]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x77
+ bls _0802563C
+ bl sub_8027608
+ movs r0, 0x6
+ bl sub_80292E0
+ ldr r1, [r4]
+_080255E8:
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _0802563C
+ .pool
+_080255F8:
+ bl sub_8027554
+ b _0802563C
+_080255FE:
+ movs r0, 0x8
+ bl sub_8026240
+ b _0802563C
+_08025606:
+ bl sub_802A770
+ cmp r0, 0
+ bne _0802563C
+ movs r2, 0
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _08025636
+ movs r4, 0x86
+ lsls r4, 1
+ adds r3, r1, r4
+ adds r1, r0, 0
+_08025624:
+ adds r0, r3, r2
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _080255FE
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r1
+ bcc _08025624
+_08025636:
+ movs r0, 0xA
+ bl sub_8026240
+_0802563C:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025470
+
+ thumb_func_start sub_8025644
+sub_8025644: @ 8025644
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0x1
+ beq _08025672
+ cmp r0, 0x1
+ bgt _08025660
+ cmp r0, 0
+ beq _08025666
+ b _08025692
+ .pool
+_08025660:
+ cmp r0, 0x2
+ beq _0802567C
+ b _08025692
+_08025666:
+ bl sub_800AC34
+ movs r0, 0x7
+ bl sub_80292E0
+ b _08025688
+_08025672:
+ bl sub_802A770
+ cmp r0, 0
+ bne _080256A0
+ b _08025688
+_0802567C:
+ bl sub_802A794
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _080256A0
+_08025688:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _080256A0
+_08025692:
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080256A0
+ movs r0, 0x9
+ bl sub_8026240
+_080256A0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025644
+
+ thumb_func_start sub_80256AC
+sub_80256AC: @ 80256AC
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldrb r1, [r0, 0x10]
+ cmp r1, 0x1
+ beq _080256E0
+ cmp r1, 0x1
+ bgt _080256C8
+ cmp r1, 0
+ beq _080256CE
+ b _08025728
+ .pool
+_080256C8:
+ cmp r1, 0x2
+ beq _080256F8
+ b _08025728
+_080256CE:
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _0802571A
+_080256E0:
+ bl UpdatePaletteFade
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0802574C
+ b _0802571A
+ .pool
+_080256F8:
+ bl sub_8028B80
+ bl sub_80287E4
+ ldr r0, [r4]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ bl sub_8028614
+ bl sub_8028E84
+ ldr r1, =gUnknown_03000DB0
+ movs r0, 0x1
+ str r0, [r1]
+ movs r0, 0x8
+ bl sub_80292E0
+_0802571A:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _0802574C
+ .pool
+_08025728:
+ bl sub_802A770
+ cmp r0, 0
+ bne _0802574C
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl SetMainCallback2
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ bl DestroyTask
+ ldr r0, [r4]
+ bl Free
+ bl FreeAllWindowBuffers
+_0802574C:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80256AC
+
+ thumb_func_start sub_8025758
+sub_8025758: @ 8025758
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0x6
+ bls _08025768
+ b _0802585C
+_08025768:
+ lsls r0, 2
+ ldr r1, =_0802577C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802577C:
+ .4byte _08025798
+ .4byte _08025838
+ .4byte _080257B0
+ .4byte _08025802
+ .4byte _08025808
+ .4byte _08025818
+ .4byte _08025838
+_08025798:
+ movs r0, 0x9
+ bl sub_80292E0
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _08025848
+_080257B0:
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ b _08025848
+_08025802:
+ bl StopMapMusic
+ b _08025848
+_08025808:
+ ldr r0, =0x0000021e
+ bl PlayNewMapMusic
+ bl sub_8028E4C
+ b _08025848
+ .pool
+_08025818:
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ b _08025848
+_08025838:
+ bl UpdatePaletteFade
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0802588C
+_08025848:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _0802588C
+ .pool
+_0802585C:
+ ldrb r0, [r1, 0x4]
+ bl DestroyTask
+ ldr r0, =sub_802589C
+ bl sub_802621C
+ bl sub_802903C
+ ldr r0, [r4]
+ bl sub_8024A30
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025882
+ ldr r0, [r4]
+ adds r0, 0x24
+ movs r1, 0x1
+ strb r1, [r0]
+_08025882:
+ bl sub_80273F0
+ movs r0, 0
+ bl sub_8028EC8
+_0802588C:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025758
+
+ thumb_func_start sub_802589C
+sub_802589C: @ 802589C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x10]
+ adds r4, r1, 0
+ cmp r0, 0x1
+ beq _080258C8
+ cmp r0, 0x1
+ bgt _080258BC
+ cmp r0, 0
+ beq _080258C2
+ b _080258E0
+ .pool
+_080258BC:
+ cmp r0, 0x2
+ beq _080258CE
+ b _080258E0
+_080258C2:
+ bl sub_8026264
+ b _080258D2
+_080258C8:
+ bl sub_80286E4
+ b _080258D6
+_080258CE:
+ bl sub_8028828
+_080258D2:
+ cmp r0, 0x1
+ bne _08025904
+_080258D6:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+ b _08025904
+_080258E0:
+ ldr r0, [r4]
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080258F8
+ ldr r0, =sub_8024D4C
+ bl sub_802621C
+ b _080258FE
+ .pool
+_080258F8:
+ ldr r0, =sub_8024D84
+ bl sub_802621C
+_080258FE:
+ adds r0, r5, 0
+ bl DestroyTask
+_08025904:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802589C
+
+ thumb_func_start sub_8025910
+sub_8025910: @ 8025910
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r5, r0, r1
+ movs r0, 0
+ ldrsh r4, [r5, r0]
+ cmp r4, 0x1
+ beq _0802596C
+ cmp r4, 0x1
+ bgt _08025938
+ cmp r4, 0
+ beq _0802593E
+ b _080259E8
+ .pool
+_08025938:
+ cmp r4, 0x2
+ beq _0802597E
+ b _080259E8
+_0802593E:
+ ldr r6, =gUnknown_02022C98
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r0, 2
+ ldr r2, =0x0000318c
+ adds r0, r2
+ adds r1, r0
+ movs r0, 0
+ movs r2, 0x1
+ bl SendBlock
+ lsls r0, 24
+ cmp r0, 0
+ beq _080259E8
+ ldr r0, [r6]
+ strb r4, [r0, 0x8]
+ b _08025976
+ .pool
+_0802596C:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _080259E8
+_08025976:
+ ldrh r0, [r5]
+ adds r0, 0x1
+ strh r0, [r5]
+ b _080259E8
+_0802597E:
+ bl sub_8025170
+ cmp r0, 0
+ beq _080259C4
+ movs r2, 0
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _080259C4
+ adds r3, r1, 0
+ ldr r5, =gBlockRecvBuffer
+ ldr r4, =0x0000318c
+_0802599A:
+ ldr r0, [r3]
+ lsls r1, r2, 2
+ adds r1, r0
+ adds r1, r4
+ lsls r0, r2, 8
+ adds r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ strb r0, [r1, 0x8]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, [r3]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _0802599A
+_080259C4:
+ ldr r4, =gUnknown_02022C98
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x24
+ ldrb r0, [r0, 0x8]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bcc _080259E8
+ adds r0, r6, 0
+ bl DestroyTask
+ movs r0, 0x6
+ bl sub_80292E0
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x10]
+ adds r0, 0x1
+ strb r0, [r1, 0x10]
+_080259E8:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025910
+
+ thumb_func_start sub_80259FC
+sub_80259FC: @ 80259FC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x18
+ ldr r6, =gUnknown_02022C98
+ ldr r0, [r6]
+ adds r1, r0, 0
+ adds r1, 0x24
+ ldrb r7, [r1]
+ ldr r2, =0x000031a0
+ adds r1, r0, r2
+ ldr r3, =0x000031cc
+ adds r2, r0, r3
+ ldr r4, =0x00003208
+ adds r3, r0, r4
+ ldr r5, =0x00003244
+ adds r4, r0, r5
+ str r4, [sp]
+ adds r5, 0x3C
+ adds r4, r0, r5
+ str r4, [sp, 0x4]
+ adds r5, 0x3C
+ adds r4, r0, r5
+ str r4, [sp, 0x8]
+ adds r4, r0, 0
+ adds r4, 0x40
+ str r4, [sp, 0xC]
+ movs r5, 0x90
+ lsls r5, 1
+ adds r4, r0, r5
+ str r4, [sp, 0x10]
+ movs r4, 0x96
+ lsls r4, 1
+ adds r0, r4
+ str r0, [sp, 0x14]
+ movs r0, 0
+ bl sub_8028164
+ ldr r1, [r6]
+ ldr r5, =0x000031b0
+ adds r2, r1, r5
+ str r0, [r2]
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r5, 0x1
+ cmp r5, r7
+ bcs _08025AA4
+_08025A60:
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0xA8
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025A9A
+ lsls r0, r5, 4
+ subs r0, r5
+ lsls r4, r0, 2
+ adds r1, r4, r1
+ ldr r2, =0x000031cc
+ adds r1, r2
+ adds r0, r5, 0
+ bl sub_8028318
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _08025A9A
+ ldr r0, [r6]
+ adds r0, r4
+ ldr r3, =0x000031cc
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r6]
+ movs r4, 0x94
+ lsls r4, 1
+ adds r0, r4
+ strb r1, [r0]
+_08025A9A:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _08025A60
+_08025AA4:
+ ldr r5, =gUnknown_02022C98
+ ldr r1, [r5]
+ movs r6, 0x92
+ lsls r6, 1
+ adds r1, r6
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3B
+ bls _08025B02
+ ldr r1, [r5]
+ movs r2, 0x94
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrb r4, [r0]
+ cmp r4, 0
+ beq _08025AF0
+ bl sub_8011AC8
+ ldr r0, [r5]
+ adds r0, r6
+ movs r1, 0
+ strb r1, [r0]
+ b _08025B02
+ .pool
+_08025AF0:
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ cmp r0, 0x46
+ bls _08025B02
+ bl sub_8011AC8
+ ldr r0, [r5]
+ adds r0, r6
+ strb r4, [r0]
+_08025B02:
+ movs r5, 0
+ cmp r5, r7
+ bcs _08025BF6
+ ldr r3, =0x000031cc
+ mov r12, r3
+ ldr r4, =gUnknown_02022C98
+ mov r8, r4
+_08025B10:
+ mov r6, r8
+ ldr r2, [r6]
+ lsls r0, r5, 4
+ subs r1, r0, r5
+ lsls r1, 2
+ adds r1, r2, r1
+ add r1, r12
+ ldrb r1, [r1]
+ adds r6, r0, 0
+ cmp r1, 0
+ beq _08025B36
+ adds r0, r2, 0
+ adds r0, 0xA8
+ adds r1, r0, r5
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08025B36
+ movs r0, 0x1
+ strb r0, [r1]
+_08025B36:
+ adds r3, r4, 0
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0xA8
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bgt _08025B54
+ cmp r0, 0x1
+ bge _08025B5A
+ b _08025BEC
+ .pool
+_08025B54:
+ cmp r0, 0x4
+ beq _08025BA8
+ b _08025BEC
+_08025B5A:
+ adds r1, 0xB0
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bls _08025BEC
+ ldr r0, [r3]
+ adds r0, 0xB0
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r0, 0xA8
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r3]
+ subs r1, r6, r5
+ lsls r1, 2
+ adds r0, r1
+ add r0, r12
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r0, r1
+ ldr r6, =0x000031d0
+ adds r0, r6
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r0, r1
+ ldr r1, =0x000031d4
+ adds r0, r1
+ b _08025BEA
+ .pool
+_08025BA8:
+ adds r1, 0xB0
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x27
+ bls _08025BEC
+ ldr r0, [r4]
+ adds r0, 0xB0
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, 0xA8
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r4]
+ subs r1, r6, r5
+ lsls r1, 2
+ adds r0, r1
+ add r0, r12
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, r1
+ ldr r3, =0x000031d0
+ adds r0, r3
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, r1
+ ldr r6, =0x000031d4
+ adds r0, r6
+_08025BEA:
+ strb r2, [r0]
+_08025BEC:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _08025B10
+_08025BF6:
+ add sp, 0x18
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80259FC
+
+ thumb_func_start sub_8025C0C
+sub_8025C0C: @ 8025C0C
+ push {r4-r7,lr}
+ sub sp, 0x18
+ ldr r5, =gUnknown_02022C98
+ ldr r0, [r5]
+ adds r1, r0, 0
+ adds r1, 0x24
+ ldrb r6, [r1]
+ ldr r2, =0x000031a0
+ adds r1, r0, r2
+ ldr r3, =0x000031cc
+ adds r2, r0, r3
+ ldr r4, =0x00003208
+ adds r3, r0, r4
+ ldr r7, =0x00003244
+ adds r4, r0, r7
+ str r4, [sp]
+ adds r7, 0x3C
+ adds r4, r0, r7
+ str r4, [sp, 0x4]
+ adds r7, 0x3C
+ adds r4, r0, r7
+ str r4, [sp, 0x8]
+ adds r4, r0, 0
+ adds r4, 0x40
+ str r4, [sp, 0xC]
+ movs r7, 0x90
+ lsls r7, 1
+ adds r4, r0, r7
+ str r4, [sp, 0x10]
+ movs r4, 0x96
+ lsls r4, 1
+ adds r0, r4
+ str r0, [sp, 0x14]
+ movs r0, 0
+ bl sub_8028164
+ ldr r1, [r5]
+ ldr r7, =0x000031b0
+ adds r2, r1, r7
+ str r0, [r2]
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r4, 0x1
+ cmp r4, r6
+ bcs _08025C9C
+_08025C6C:
+ adds r0, r4, 0
+ bl sub_8028374
+ cmp r0, 0
+ beq _08025C92
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ lsls r1, r4, 2
+ movs r3, 0x98
+ lsls r3, 1
+ adds r0, r2, r3
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ movs r7, 0x94
+ lsls r7, 1
+ adds r1, r2, r7
+ movs r0, 0
+ strb r0, [r1]
+_08025C92:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r6
+ bcc _08025C6C
+_08025C9C:
+ ldr r5, =gUnknown_02022C98
+ ldr r1, [r5]
+ movs r6, 0x92
+ lsls r6, 1
+ adds r1, r6
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3B
+ bls _08025CFA
+ ldr r1, [r5]
+ movs r2, 0x94
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrb r4, [r0]
+ cmp r4, 0
+ beq _08025CE8
+ bl sub_8011AC8
+ ldr r0, [r5]
+ adds r0, r6
+ movs r1, 0
+ strb r1, [r0]
+ b _08025CFA
+ .pool
+_08025CE8:
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ cmp r0, 0x46
+ bls _08025CFA
+ bl sub_8011AC8
+ ldr r0, [r5]
+ adds r0, r6
+ strb r4, [r0]
+_08025CFA:
+ add sp, 0x18
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025C0C
+
+ thumb_func_start sub_8025D04
+sub_8025D04: @ 8025D04
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022C98
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x18]
+ cmp r0, 0x4
+ beq _08025D40
+ cmp r0, 0x4
+ bgt _08025D20
+ cmp r0, 0x3
+ beq _08025D26
+ b _08025D4A
+ .pool
+_08025D20:
+ cmp r0, 0xB
+ beq _08025D46
+ b _08025D4A
+_08025D26:
+ bl sub_8026BB8
+ adds r4, r0, 0
+ cmp r4, 0x1
+ bne _08025D4A
+ bl sub_8026C28
+ ldr r0, [r5]
+ movs r1, 0x8E
+ lsls r1, 1
+ adds r0, r1
+ str r4, [r0]
+ b _08025D4A
+_08025D40:
+ bl sub_80259FC
+ b _08025D4A
+_08025D46:
+ bl sub_8025C0C
+_08025D4A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025D04
+
+ thumb_func_start sub_8025D50
+sub_8025D50: @ 8025D50
+ push {r4-r6,lr}
+ sub sp, 0x14
+ ldr r0, =gUnknown_02022C98
+ ldr r5, [r0]
+ ldrb r0, [r5, 0x18]
+ cmp r0, 0x4
+ beq _08025D68
+ cmp r0, 0xB
+ beq _08025DB8
+ b _08025DF4
+ .pool
+_08025D68:
+ ldr r1, =0x000032cc
+ adds r0, r5, r1
+ ldr r2, =0x000031cc
+ adds r1, r5, r2
+ ldr r3, =0x00003208
+ adds r2, r5, r3
+ ldr r4, =0x00003244
+ adds r3, r5, r4
+ movs r6, 0xCA
+ lsls r6, 6
+ adds r4, r5, r6
+ str r4, [sp]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x4]
+ adds r4, r5, 0
+ adds r4, 0x40
+ ldrb r4, [r4]
+ str r4, [sp, 0x8]
+ movs r6, 0x90
+ lsls r6, 1
+ adds r4, r5, r6
+ ldr r4, [r4]
+ str r4, [sp, 0xC]
+ adds r6, 0xC
+ adds r4, r5, r6
+ ldr r4, [r4]
+ str r4, [sp, 0x10]
+ bl sub_8027E30
+ b _08025DF4
+ .pool
+_08025DB8:
+ ldr r1, =0x000032cc
+ adds r0, r5, r1
+ ldr r2, =0x000031cc
+ adds r1, r5, r2
+ ldr r3, =0x00003208
+ adds r2, r5, r3
+ ldr r4, =0x00003244
+ adds r3, r5, r4
+ movs r6, 0xCA
+ lsls r6, 6
+ adds r4, r5, r6
+ str r4, [sp]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x4]
+ adds r4, r5, 0
+ adds r4, 0x40
+ ldrb r4, [r4]
+ str r4, [sp, 0x8]
+ movs r6, 0x90
+ lsls r6, 1
+ adds r4, r5, r6
+ ldr r4, [r4]
+ str r4, [sp, 0xC]
+ adds r6, 0xC
+ adds r4, r5, r6
+ ldr r4, [r4]
+ str r4, [sp, 0x10]
+ bl sub_8027E30
+_08025DF4:
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025D50
+
+ thumb_func_start sub_8025E0C
+sub_8025E0C: @ 8025E0C
+ push {r4-r6,lr}
+ sub sp, 0x18
+ ldr r0, =gUnknown_02022C98
+ ldr r5, [r0]
+ ldrb r0, [r5, 0x18]
+ cmp r0, 0x4
+ beq _08025E24
+ cmp r0, 0xB
+ beq _08025E7C
+ b _08025EC0
+ .pool
+_08025E24:
+ adds r0, r5, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ subs r1, r0
+ lsls r1, 2
+ ldr r2, =0x000031a0
+ adds r1, r2
+ adds r1, r5, r1
+ ldr r3, =0x000031cc
+ adds r2, r5, r3
+ ldr r4, =0x00003208
+ adds r3, r5, r4
+ ldr r6, =0x00003244
+ adds r4, r5, r6
+ str r4, [sp]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x4]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x8]
+ adds r4, r5, 0
+ adds r4, 0x40
+ str r4, [sp, 0xC]
+ movs r6, 0x90
+ lsls r6, 1
+ adds r4, r5, r6
+ str r4, [sp, 0x10]
+ adds r6, 0xC
+ adds r4, r5, r6
+ str r4, [sp, 0x14]
+ bl sub_8028164
+ b _08025EC0
+ .pool
+_08025E7C:
+ adds r0, r5, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ subs r1, r0
+ lsls r1, 2
+ ldr r2, =0x000031a0
+ adds r1, r2
+ adds r1, r5, r1
+ ldr r3, =0x000031cc
+ adds r2, r5, r3
+ ldr r4, =0x00003208
+ adds r3, r5, r4
+ ldr r6, =0x00003244
+ adds r4, r5, r6
+ str r4, [sp]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x4]
+ adds r6, 0x3C
+ adds r4, r5, r6
+ str r4, [sp, 0x8]
+ adds r4, r5, 0
+ adds r4, 0x40
+ str r4, [sp, 0xC]
+ movs r6, 0x90
+ lsls r6, 1
+ adds r4, r5, r6
+ str r4, [sp, 0x10]
+ adds r6, 0xC
+ adds r4, r5, r6
+ str r4, [sp, 0x14]
+ bl sub_8028164
+_08025EC0:
+ add sp, 0x18
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8025E0C
+
+ thumb_func_start sub_8025ED8
+sub_8025ED8: @ 8025ED8
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x18]
+ cmp r0, 0x4
+ beq _08025F0E
+ cmp r0, 0x4
+ bgt _08025EF4
+ cmp r0, 0x3
+ beq _08025EFA
+ b _08025F40
+ .pool
+_08025EF4:
+ cmp r0, 0xB
+ beq _08025F24
+ b _08025F40
+_08025EFA:
+ movs r0, 0x1
+ bl sub_8027DD0
+ ldr r0, [r4]
+ movs r1, 0x8E
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ b _08025F40
+_08025F0E:
+ ldr r2, =0x000032f8
+ adds r1, r2
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08025F40
+ bl sub_80282EC
+ b _08025F40
+ .pool
+_08025F24:
+ movs r2, 0x90
+ lsls r2, 1
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08025F40
+ adds r2, 0xC
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08025F40
+ movs r0, 0x1
+ bl sub_8028350
+_08025F40:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025ED8
+
+ thumb_func_start sub_8025F48
+sub_8025F48: @ 8025F48
+ push {r4-r6,lr}
+ ldr r6, =gUnknown_02022C98
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r1, r2, r0
+ ldr r3, =0x000031cc
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025F88
+ bl IsSEPlaying
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _08025FEA
+ ldr r0, [r6]
+ movs r2, 0xA2
+ lsls r2, 1
+ adds r0, r2
+ strb r1, [r0]
+ b _08025FEA
+ .pool
+_08025F88:
+ ldr r3, =0x000031d0
+ adds r0, r1, r3
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ bne _08025FB8
+ movs r1, 0xA2
+ lsls r1, 1
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025FEA
+ movs r0, 0x1F
+ bl m4aSongNumStop
+ movs r0, 0x1F
+ bl PlaySE
+ ldr r0, [r6]
+ movs r2, 0xA2
+ lsls r2, 1
+ adds r0, r2
+ b _08025FE8
+ .pool
+_08025FB8:
+ ldr r3, =0x000031d4
+ adds r0, r1, r3
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ bne _08025FEA
+ movs r5, 0xA2
+ lsls r5, 1
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08025FEA
+ bl IsSEPlaying
+ lsls r0, 24
+ cmp r0, 0
+ bne _08025FEA
+ movs r0, 0x16
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_80284CC
+ ldr r0, [r6]
+ adds r0, r5
+_08025FE8:
+ strb r4, [r0]
+_08025FEA:
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ movs r5, 0xAA
+ lsls r5, 1
+ adds r1, r2, r5
+ ldrb r1, [r1]
+ adds r4, r0, 0
+ cmp r1, 0
+ bne _0802601C
+ adds r0, r2, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _0802601C
+ bl StopMapMusic
+ ldr r0, [r4]
+ adds r0, r5
+ movs r1, 0x1
+ b _0802603A
+ .pool
+_0802601C:
+ ldr r0, [r4]
+ movs r1, 0xAA
+ lsls r1, 1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0802603C
+ movs r0, 0xB
+ bl PlayFanfareByFanfareNum
+ ldr r0, [r4]
+ movs r2, 0xAA
+ lsls r2, 1
+ adds r0, r2
+ movs r1, 0x2
+_0802603A:
+ strb r1, [r0]
+_0802603C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025F48
+
+ thumb_func_start sub_8026044
+sub_8026044: @ 8026044
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r6, =gUnknown_02022C98
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0x44
+ ldrb r0, [r0]
+ mov r8, r0
+ adds r0, r2, 0
+ adds r0, 0x48
+ ldrb r7, [r0]
+ subs r0, 0x20
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r1, r2, r0
+ ldr r3, =0x000031cc
+ adds r0, r1, r3
+ ldrb r3, [r0]
+ cmp r3, 0
+ bne _0802609C
+ ldr r4, =0x000031d0
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _080260FE
+ adds r4, 0x4
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _080260FE
+ movs r1, 0xA2
+ lsls r1, 1
+ adds r0, r2, r1
+ strb r3, [r0]
+ b _080260FE
+ .pool
+_0802609C:
+ ldr r3, =0x000031d0
+ adds r0, r1, r3
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ bne _080260CC
+ movs r1, 0xA2
+ lsls r1, 1
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080260FE
+ movs r0, 0x1F
+ bl m4aSongNumStop
+ movs r0, 0x1F
+ bl PlaySE
+ ldr r0, [r6]
+ movs r3, 0xA2
+ lsls r3, 1
+ adds r0, r3
+ b _080260FC
+ .pool
+_080260CC:
+ ldr r4, =0x000031d4
+ adds r0, r1, r4
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ bne _080260FE
+ movs r5, 0xA2
+ lsls r5, 1
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080260FE
+ bl IsSEPlaying
+ lsls r0, 24
+ cmp r0, 0
+ bne _080260FE
+ movs r0, 0x16
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_80284CC
+ ldr r0, [r6]
+ adds r0, r5
+_080260FC:
+ strb r4, [r0]
+_080260FE:
+ mov r4, r8
+ cmp r4, r7
+ bcs _08026172
+ ldr r5, =gUnknown_02022C98
+_08026106:
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ ldr r1, =0x000031a0
+ adds r0, r1
+ adds r0, r2, r0
+ adds r1, r0, 0
+ adds r1, 0x14
+ adds r0, 0x1F
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _0802615C
+ movs r3, 0xA4
+ lsls r3, 1
+ adds r0, r2, r3
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026168
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ adds r0, 0x4A
+ bl PlaySE
+ ldr r0, [r5]
+ movs r1, 0xA4
+ lsls r1, 1
+ adds r0, r1
+ adds r0, r4
+ movs r1, 0x1
+ b _08026166
+ .pool
+_0802615C:
+ movs r3, 0xA4
+ lsls r3, 1
+ adds r0, r2, r3
+ adds r0, r4
+ movs r1, 0
+_08026166:
+ strb r1, [r0]
+_08026168:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r7
+ bcc _08026106
+_08026172:
+ ldr r0, =gUnknown_02022C98
+ ldr r2, [r0]
+ movs r5, 0xAA
+ lsls r5, 1
+ adds r1, r2, r5
+ ldrb r1, [r1]
+ adds r4, r0, 0
+ cmp r1, 0
+ bne _080261A0
+ adds r0, r2, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _080261A0
+ bl StopMapMusic
+ ldr r0, [r4]
+ adds r0, r5
+ movs r1, 0x1
+ b _080261BE
+ .pool
+_080261A0:
+ ldr r0, [r4]
+ movs r1, 0xAA
+ lsls r1, 1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080261C0
+ movs r0, 0xB
+ bl PlayFanfareByFanfareNum
+ ldr r0, [r4]
+ movs r3, 0xAA
+ lsls r3, 1
+ adds r0, r3
+ movs r1, 0x2
+_080261BE:
+ strb r1, [r0]
+_080261C0:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026044
+
+ thumb_func_start sub_80261CC
+sub_80261CC: @ 80261CC
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80261CC
+
+ thumb_func_start sub_80261E4
+sub_80261E4: @ 80261E4
+ push {lr}
+ bl TransferPlttBuffer
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80261E4
+
+ thumb_func_start sub_80261F8
+sub_80261F8: @ 80261F8
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, r1, 0
+ bl IsMonShiny
+ strb r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80261F8
+
+ thumb_func_start sub_802620C
+sub_802620C: @ 802620C
+ push {lr}
+ lsls r1, 24
+ lsrs r1, 24
+ bl CreateTask
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802620C
+
+ thumb_func_start sub_802621C
+sub_802621C: @ 802621C
+ push {lr}
+ movs r1, 0x1
+ bl CreateTask
+ ldr r1, =gUnknown_02022C98
+ ldr r3, [r1]
+ movs r2, 0
+ strb r0, [r3, 0x4]
+ ldr r0, [r1]
+ strb r2, [r0, 0x10]
+ ldr r0, [r1]
+ strb r2, [r0, 0xC]
+ ldr r0, [r1]
+ strb r2, [r0, 0x14]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802621C
+
+ thumb_func_start sub_8026240
+sub_8026240: @ 8026240
+ push {r4,lr}
+ ldr r2, =gUnknown_02022C98
+ ldr r1, [r2]
+ ldrb r3, [r1, 0x18]
+ movs r4, 0
+ strb r3, [r1, 0x1C]
+ ldr r1, [r2]
+ strb r0, [r1, 0x18]
+ ldr r0, [r2]
+ strb r4, [r0, 0x10]
+ ldr r0, [r2]
+ strb r4, [r0, 0x14]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026240
+
+ thumb_func_start sub_8026264
+sub_8026264: @ 8026264
+ push {r4,lr}
+ ldr r3, =gUnknown_02022C98
+ ldr r1, [r3]
+ ldrb r0, [r1, 0x14]
+ lsrs r2, r0, 2
+ adds r0, 0x1
+ strb r0, [r1, 0x14]
+ cmp r2, 0
+ beq _080262B8
+ ldr r3, [r3]
+ ldrb r0, [r3, 0x14]
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _080262B8
+ ldr r1, =gUnknown_082F7A94
+ adds r0, r3, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ subs r0, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _080262A0
+ movs r0, 0x1
+ b _080262BA
+ .pool
+_080262A0:
+ lsls r4, r2, 3
+ adds r1, r4, 0
+ movs r0, 0x14
+ bl SetGpuReg
+ negs r4, r4
+ lsls r4, 16
+ lsrs r4, 16
+ movs r0, 0x18
+ adds r1, r4, 0
+ bl SetGpuReg
+_080262B8:
+ movs r0, 0
+_080262BA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026264
+
+ thumb_func_start sub_80262C0
+sub_80262C0: @ 80262C0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r2, =gUnknown_02022C98
+ ldr r0, [r2]
+ adds r1, r0, 0
+ adds r1, 0x44
+ adds r0, 0x48
+ ldrb r5, [r0]
+ ldrb r1, [r1]
+ cmp r1, r5
+ bcs _0802630C
+ mov r8, r2
+ ldr r0, =0x000032e0
+ mov r12, r0
+ movs r7, 0
+ movs r6, 0x1
+_080262E2:
+ mov r2, r8
+ ldr r0, [r2]
+ mov r2, r12
+ adds r4, r0, r2
+ ldr r2, =0x000032eb
+ adds r0, r2
+ adds r2, r0, r1
+ movs r3, 0
+ adds r0, r1, 0
+ ands r0, r6
+ cmp r0, 0
+ bne _080262FC
+ movs r3, 0x1
+_080262FC:
+ strb r3, [r2]
+ adds r0, r4, r1
+ strb r7, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, r5
+ bcc _080262E2
+_0802630C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80262C0
+
+ thumb_func_start sub_8026324
+sub_8026324: @ 8026324
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x44
+ ldrb r0, [r0]
+ str r0, [sp]
+ adds r0, r1, 0
+ adds r0, 0x48
+ ldrb r0, [r0]
+ str r0, [sp, 0x4]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ str r0, [sp, 0x8]
+ adds r0, r1, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _08026358
+ b _08026614
+_08026358:
+ movs r6, 0
+ ldr r0, [sp, 0x8]
+ cmp r6, r0
+ bcs _08026440
+_08026360:
+ ldr r3, =gUnknown_02022C98
+ lsls r0, r6, 4
+ subs r1, r0, r6
+ lsls r1, 2
+ ldr r2, [r3]
+ adds r1, r2
+ ldr r4, =0x000031cc
+ adds r4, r1
+ mov r8, r4
+ ldrb r1, [r4]
+ mov r9, r0
+ adds r0, r6, 0x1
+ str r0, [sp, 0xC]
+ cmp r1, 0
+ beq _08026434
+ adds r0, r2, 0
+ adds r0, 0xA8
+ adds r0, r6
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _08026434
+ ldr r1, [sp]
+ mov r10, r1
+ ldr r2, [sp, 0x4]
+ cmp r10, r2
+ bcs _08026434
+ adds r7, r3, 0
+_08026396:
+ ldr r0, =gUnknown_082F449C
+ add r0, r10
+ ldrb r5, [r0]
+ ldr r1, [r7]
+ lsls r4, r5, 1
+ adds r0, r1, 0
+ adds r0, 0xF4
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, r6
+ beq _08026434
+ adds r0, r1, 0
+ adds r0, 0xF5
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, r6
+ beq _08026434
+ mov r0, r8
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ adds r2, r5, 0
+ bl sub_8026634
+ cmp r0, 0x1
+ bne _08026410
+ movs r2, 0
+ ldr r3, =gUnknown_02022C98
+ mov r8, r4
+_080263CE:
+ ldr r0, [r3]
+ mov r4, r8
+ adds r1, r2, r4
+ adds r0, 0xF4
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ bne _08026404
+ strb r6, [r1]
+ ldr r0, [r3]
+ adds r0, 0xA8
+ adds r0, r6
+ movs r1, 0x2
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r0, 0xC4
+ adds r0, r5
+ movs r1, 0x1
+ strb r1, [r0]
+ b _08026434
+ .pool
+_08026404:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1
+ bls _080263CE
+ b _08026434
+_08026410:
+ ldr r0, [r7]
+ mov r2, r9
+ subs r1, r2, r6
+ lsls r1, 2
+ adds r0, r1
+ ldr r4, =0x000031d4
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08026434
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r0, [sp, 0x4]
+ cmp r10, r0
+ bcc _08026396
+_08026434:
+ ldr r1, [sp, 0xC]
+ lsls r0, r1, 24
+ lsrs r6, r0, 24
+ ldr r2, [sp, 0x8]
+ cmp r6, r2
+ bcc _08026360
+_08026440:
+ ldr r4, [sp]
+ mov r10, r4
+ ldr r0, [sp, 0x4]
+ cmp r10, r0
+ bcc _0802644C
+ b _08026614
+_0802644C:
+ ldr r1, =gUnknown_02022C98
+ mov r9, r1
+_08026450:
+ movs r6, 0xFF
+ ldr r0, =gUnknown_082F449C
+ add r0, r10
+ ldrb r5, [r0]
+ mov r2, r9
+ ldr r0, [r2]
+ adds r0, 0xC4
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08026468
+ b _08026602
+_08026468:
+ adds r0, r5, 0
+ bl sub_8026D8C
+ mov r1, r9
+ ldr r4, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r4, 0
+ adds r1, 0x90
+ adds r1, r0
+ ldrb r0, [r1]
+ movs r1, 0x7
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _0802648E
+ movs r3, 0x2
+_0802648E:
+ ldr r2, =gUnknown_082F7A88
+ ldr r0, =0x000031b4
+ adds r1, r4, r0
+ adds r1, r5
+ lsls r0, r3, 1
+ adds r0, r3
+ ldrb r1, [r1]
+ adds r0, r1
+ adds r0, r2
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ adds r0, 0xD0
+ adds r0, r5
+ ldrb r0, [r0]
+ subs r2, r1, r0
+ cmp r2, 0x5
+ bgt _080264BC
+ adds r1, r4, 0
+ adds r1, 0x9C
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, r2
+ strb r0, [r1]
+_080264BC:
+ mov r2, r9
+ ldr r1, [r2]
+ adds r1, 0x9C
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1]
+ movs r4, 0xFF
+ ands r0, r4
+ cmp r0, 0x5
+ bhi _080264D6
+ b _08026602
+_080264D6:
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, 0x9C
+ adds r0, r5
+ strb r2, [r0]
+ ldr r3, [r1]
+ lsls r1, r5, 1
+ adds r0, r3, 0
+ adds r0, 0xF4
+ adds r2, r0, r1
+ ldrb r0, [r2]
+ mov r8, r1
+ cmp r0, 0xFF
+ bne _08026518
+ adds r0, r3, 0
+ adds r0, 0xF5
+ add r0, r8
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _08026500
+ b _08026602
+_08026500:
+ b _08026528
+ .pool
+_08026518:
+ adds r0, r3, 0
+ adds r0, 0xF5
+ add r0, r8
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _08026528
+ ldrb r4, [r2]
+ b _0802654E
+_08026528:
+ mov r2, r9
+ ldr r1, [r2]
+ adds r0, r1, 0
+ adds r0, 0xF4
+ add r0, r8
+ ldrb r7, [r0]
+ adds r1, 0xF5
+ add r1, r8
+ ldrb r6, [r1]
+ bl Random
+ movs r1, 0x1
+ ands r1, r0
+ cmp r1, 0
+ bne _0802654A
+ adds r4, r7, 0
+ b _0802654E
+_0802654A:
+ adds r4, r6, 0
+ adds r6, r7, 0
+_0802654E:
+ mov r1, r9
+ ldr r0, [r1]
+ ldr r2, =0x000032eb
+ adds r0, r2
+ adds r0, r5
+ movs r1, 0x7
+ strb r1, [r0]
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, 0xC4
+ adds r0, r5
+ movs r1, 0x2
+ strb r1, [r0]
+ mov r2, r9
+ ldr r0, [r2]
+ adds r0, 0xA8
+ adds r0, r4
+ movs r1, 0x3
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0xB8
+ adds r0, r5
+ strb r4, [r0]
+ ldr r1, [r2]
+ lsls r0, r4, 4
+ subs r0, r4
+ lsls r0, 2
+ adds r1, r0
+ ldr r2, =0x000031d0
+ adds r1, r2
+ movs r0, 0x1
+ strb r0, [r1]
+ mov r2, r9
+ ldr r1, [r2]
+ lsls r0, r6, 4
+ subs r0, r6
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, =0x000031d4
+ adds r1, r0
+ movs r2, 0x1
+ strb r2, [r1]
+ mov r0, r9
+ ldr r1, [r0]
+ lsls r0, r4, 1
+ adds r1, 0x86
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ movs r0, 0
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_8026F1C
+ movs r0, 0x1
+ bl sub_8027234
+ adds r0, r4, 0
+ bl sub_8026D1C
+ mov r1, r9
+ ldr r0, [r1]
+ adds r1, r0, 0
+ adds r1, 0xE8
+ adds r1, r5
+ ldr r2, =0x000032e0
+ adds r0, r2
+ adds r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ mov r4, r9
+ ldr r0, [r4]
+ adds r0, r2
+ adds r0, r5
+ movs r1, 0x3
+ strb r1, [r0]
+ ldr r1, [r4]
+ adds r1, 0xF4
+ add r1, r8
+ ldrb r0, [r1]
+ movs r2, 0xFF
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r1, [r4]
+ adds r1, 0xF5
+ add r1, r8
+ ldrb r0, [r1]
+ orrs r0, r2
+ strb r0, [r1]
+_08026602:
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r4, [sp, 0x4]
+ cmp r10, r4
+ bcs _08026614
+ b _08026450
+_08026614:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026324
+
+ thumb_func_start sub_8026634
+sub_8026634: @ 8026634
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r3, r1, 24
+ lsls r2, 24
+ lsrs r6, r2, 24
+ movs r7, 0
+ ldr r2, =gUnknown_02022C98
+ ldr r1, [r2]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, =0x000032e0
+ adds r1, r0
+ mov r12, r2
+ cmp r3, 0x2
+ beq _08026670
+ cmp r3, 0x2
+ bgt _08026676
+ cmp r3, 0x1
+ beq _08026674
+ b _08026676
+ .pool
+_08026670:
+ movs r7, 0x1
+ b _08026676
+_08026674:
+ movs r7, 0x2
+_08026676:
+ adds r0, r1, 0
+ adds r0, 0xB
+ adds r0, r6
+ ldrb r0, [r0]
+ subs r0, 0x6
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080266D4
+ ldr r0, =gUnknown_082F449C+0x113
+ lsls r1, r4, 1
+ adds r1, r4
+ adds r1, r7, r1
+ lsls r2, r5, 4
+ subs r2, r5
+ adds r1, r2
+ adds r1, r0
+ ldrb r1, [r1]
+ cmp r6, r1
+ bne _0802670A
+ mov r0, r12
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0xC4
+ adds r0, r6
+ ldrb r0, [r0]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080266D0
+ lsls r0, r4, 4
+ subs r0, r4
+ lsls r0, 2
+ adds r0, r1, r0
+ ldr r1, =0x000031d4
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+ b _0802670A
+ .pool
+_080266D0:
+ movs r0, 0x1
+ b _0802670C
+_080266D4:
+ ldr r0, =gUnknown_082F449C+0x113
+ lsls r1, r4, 1
+ adds r1, r4
+ adds r1, r7, r1
+ lsls r2, r5, 4
+ subs r2, r5
+ adds r1, r2
+ adds r1, r0
+ ldrb r1, [r1]
+ cmp r6, r1
+ bne _0802670A
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, 0xA8
+ adds r0, r4
+ movs r1, 0x4
+ strb r1, [r0]
+ mov r0, r12
+ ldr r1, [r0]
+ lsls r0, r4, 4
+ subs r0, r4
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, =0x000031d4
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+_0802670A:
+ movs r0, 0
+_0802670C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8026634
+
+ thumb_func_start sub_802671C
+sub_802671C: @ 802671C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r2, =gUnknown_02022C98
+ ldr r4, [r2]
+ adds r0, r4, 0
+ adds r0, 0x44
+ ldrb r1, [r0]
+ adds r0, 0x4
+ ldrb r0, [r0]
+ mov r9, r0
+ movs r3, 0
+ mov r10, r3
+ movs r5, 0x90
+ lsls r5, 1
+ adds r0, r4, r5
+ str r3, [r0]
+ adds r5, r1, 0
+ mov r0, r9
+ subs r0, 0x1
+ cmp r5, r0
+ blt _0802674E
+ b _08026974
+_0802674E:
+ mov r8, r2
+_08026750:
+ mov r0, r8
+ ldr r4, [r0]
+ adds r0, r4, 0
+ adds r0, 0xC4
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bls _08026762
+ b _0802686C
+_08026762:
+ movs r1, 0x90
+ lsls r1, 1
+ adds r0, r4, r1
+ movs r2, 0x1
+ str r2, [r0]
+ ldr r1, =0x000032eb
+ adds r0, r4, r1
+ adds r6, r0, r5
+ ldrb r0, [r6]
+ cmp r0, 0x9
+ bls _080267FC
+ movs r7, 0
+ movs r0, 0xA
+ strb r0, [r6]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0xC4
+ adds r0, r5
+ movs r1, 0x3
+ strb r1, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ movs r6, 0xA4
+ lsls r6, 1
+ adds r0, r6
+ adds r1, r0, r5
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080267AC
+ strb r2, [r1]
+ ldr r2, =0x000032e0
+ adds r0, r4, r2
+ adds r0, r5
+ ldrb r0, [r0]
+ adds r0, 0x4A
+ bl PlaySE
+_080267AC:
+ mov r0, r8
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _080267C2
+ mov r2, r10
+ cmp r2, 0x1
+ beq _080267C2
+ b _08026964
+_080267C2:
+ movs r0, 0x1
+ mov r10, r0
+ adds r0, r1, r6
+ adds r0, r5
+ strb r7, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r1, r0, 0
+ adds r1, 0x40
+ ldrb r0, [r1]
+ cmp r0, 0x9
+ bhi _080267DE
+ adds r0, 0x1
+ strb r0, [r1]
+_080267DE:
+ movs r0, 0x3
+ adds r1, r5, 0
+ movs r2, 0
+ bl sub_8026F1C
+ movs r0, 0
+ bl sub_8027234
+ b _08026964
+ .pool
+_080267FC:
+ adds r0, r5, 0
+ bl sub_8026D8C
+ mov r2, r8
+ ldr r7, [r2]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r7, 0
+ adds r1, 0x90
+ adds r1, r0
+ ldrb r0, [r1]
+ movs r1, 0x7
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _08026822
+ movs r3, 0x2
+_08026822:
+ ldr r2, =gUnknown_082F7A88
+ ldr r0, =0x000032e0
+ adds r1, r4, r0
+ adds r1, r5
+ lsls r0, r3, 1
+ adds r0, r3
+ ldrb r1, [r1]
+ adds r0, r1
+ adds r0, r2
+ ldrb r2, [r0]
+ adds r1, r7, 0
+ adds r1, 0xD0
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r3, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, r2
+ bcc _0802685C
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0xD0
+ adds r0, r5
+ strb r3, [r0]
+_0802685C:
+ bl sub_8026324
+ b _08026964
+ .pool
+_0802686C:
+ cmp r0, 0x2
+ bne _080268F4
+ movs r2, 0x90
+ lsls r2, 1
+ adds r0, r4, r2
+ movs r6, 0x1
+ str r6, [r0]
+ adds r1, r4, 0
+ adds r1, 0xDC
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r3, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x13
+ bls _08026964
+ mov r0, r8
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xB8
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, r0
+ ldr r1, =0x000031d0
+ adds r2, r1
+ strb r3, [r2]
+ mov r2, r8
+ ldr r0, [r2]
+ adds r0, 0xDC
+ adds r0, r5
+ strb r3, [r0]
+ ldr r0, [r2]
+ adds r0, 0xD0
+ adds r0, r5
+ strb r3, [r0]
+ ldr r0, [r2]
+ adds r0, 0xC4
+ adds r0, r5
+ strb r3, [r0]
+ ldr r1, =0x000032eb
+ adds r0, r4, r1
+ adds r0, r5
+ strb r6, [r0]
+ adds r0, r5, 0
+ bl sub_8026D8C
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r5, 0
+ bl sub_8026DB0
+ ldr r2, =0x000032e0
+ adds r1, r4, r2
+ adds r1, r5
+ strb r0, [r1]
+ b _08026964
+ .pool
+_080268F4:
+ cmp r0, 0x3
+ bne _08026964
+ adds r1, r4, 0
+ adds r1, 0xDC
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ movs r2, 0
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x13
+ bls _08026964
+ mov r0, r8
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bhi _08026964
+ adds r0, r1, 0
+ adds r0, 0xDC
+ adds r0, r5
+ strb r2, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0xD0
+ adds r0, r5
+ strb r2, [r0]
+ ldr r0, [r1]
+ adds r0, 0xC4
+ adds r0, r5
+ strb r2, [r0]
+ ldr r2, =0x000032eb
+ adds r0, r4, r2
+ adds r0, r5
+ movs r1, 0x1
+ strb r1, [r0]
+ mov r0, r8
+ ldr r1, [r0]
+ adds r1, 0xE8
+ adds r1, r5
+ subs r2, 0xB
+ adds r4, r2
+ adds r4, r5
+ ldrb r0, [r4]
+ strb r0, [r1]
+ adds r0, r5, 0
+ bl sub_8026D8C
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r5, 0
+ bl sub_8026DB0
+ strb r0, [r4]
+_08026964:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ mov r0, r9
+ subs r0, 0x1
+ cmp r5, r0
+ bge _08026974
+ b _08026750
+_08026974:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802671C
+
+ thumb_func_start sub_8026988
+sub_8026988: @ 8026988
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r1, r0, 0
+ adds r1, 0x44
+ adds r0, 0x48
+ ldrb r0, [r0]
+ mov r8, r0
+ ldrb r6, [r1]
+ cmp r6, r8
+ bcs _08026A7A
+ ldr r0, =gUnknown_082F449C
+ mov r9, r0
+_080269A8:
+ ldr r0, =gUnknown_02022C98
+ ldr r3, [r0]
+ adds r0, r3, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ ldr r2, =0x000031a0
+ adds r0, r2
+ adds r7, r3, r0
+ movs r0, 0xB
+ adds r2, r1, 0
+ muls r2, r0
+ adds r2, r6, r2
+ adds r3, 0x24
+ ldrb r1, [r3]
+ subs r1, 0x1
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 3
+ subs r0, r1
+ adds r2, r0
+ add r2, r9
+ ldrb r4, [r2]
+ adds r0, r7, 0
+ adds r0, 0x1F
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080269FC
+ adds r0, r6, 0
+ movs r1, 0
+ bl sub_8028BF8
+ b _08026A04
+ .pool
+_080269FC:
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_8028BF8
+_08026A04:
+ adds r0, r7, 0
+ adds r0, 0x1F
+ adds r5, r0, r4
+ ldrb r0, [r5]
+ cmp r0, 0x9
+ bls _08026A30
+ adds r0, r7, 0
+ adds r0, 0x14
+ adds r0, r4
+ ldrb r1, [r0]
+ adds r1, 0x3
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8028CA4
+ ldrb r1, [r5]
+ lsls r1, 25
+ movs r0, 0xFF
+ lsls r0, 24
+ adds r1, r0
+ b _08026A52
+_08026A30:
+ adds r0, r7, 0
+ adds r0, 0x14
+ adds r3, r0, r4
+ ldrb r0, [r3]
+ cmp r0, 0x3
+ bne _08026A5C
+ movs r0, 0x7
+ strb r0, [r5]
+ adds r0, r6, 0
+ movs r1, 0x6
+ bl sub_8028CA4
+ ldrb r1, [r5]
+ lsls r1, 25
+ movs r2, 0xFF
+ lsls r2, 24
+ adds r1, r2
+_08026A52:
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8028C7C
+ b _08026A70
+_08026A5C:
+ ldrb r1, [r3]
+ adds r0, r6, 0
+ bl sub_8028CA4
+ ldrb r1, [r5]
+ lsls r1, 25
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8028C7C
+_08026A70:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r8
+ bcc _080269A8
+_08026A7A:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026988
+
+ thumb_func_start sub_8026A88
+sub_8026A88: @ 8026A88
+ push {r4-r6,lr}
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ movs r4, 0
+ cmp r4, r5
+ bcs _08026ABA
+ adds r6, r1, 0
+_08026A9A:
+ lsls r0, r4, 4
+ subs r0, r4
+ lsls r0, 2
+ ldr r1, [r6]
+ adds r0, r1
+ ldr r1, =0x000031cc
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_80286B4
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026A9A
+_08026ABA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026A88
+
+ thumb_func_start sub_8026AC8
+sub_8026AC8: @ 8026AC8
+ push {r4,r5,lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ movs r4, 0
+ cmp r4, r5
+ bcs _08026AEA
+_08026AD8:
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl sub_80286B4
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026AD8
+_08026AEA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026AC8
+
+ thumb_func_start sub_8026AF4
+sub_8026AF4: @ 8026AF4
+ push {lr}
+ bl sub_8026988
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _08026B10
+ bl sub_8026AC8
+ b _08026B14
+ .pool
+_08026B10:
+ bl sub_8026A88
+_08026B14:
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ bl sub_80288D4
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026AF4
+
+ thumb_func_start sub_8026B28
+sub_8026B28: @ 8026B28
+ push {lr}
+ bl sub_8026988
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bls _08026B44
+ bl sub_8026AC8
+ b _08026B48
+ .pool
+_08026B44:
+ bl sub_8026A88
+_08026B48:
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ bl sub_80288D4
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026B28
+
+ thumb_func_start sub_8026B5C
+sub_8026B5C: @ 8026B5C
+ push {lr}
+ adds r3, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ cmp r0, 0x4
+ bhi _08026BB4
+ lsls r0, 2
+ ldr r1, =_08026B78
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08026B78:
+ .4byte _08026B8C
+ .4byte _08026B94
+ .4byte _08026B9C
+ .4byte _08026BA4
+ .4byte _08026BAC
+_08026B8C:
+ movs r0, 0x4
+ strb r0, [r3]
+ movs r0, 0x7
+ b _08026BB2
+_08026B94:
+ movs r0, 0x3
+ strb r0, [r3]
+ movs r0, 0x8
+ b _08026BB2
+_08026B9C:
+ movs r0, 0x2
+ strb r0, [r3]
+ movs r0, 0x9
+ b _08026BB2
+_08026BA4:
+ movs r0, 0x1
+ strb r0, [r3]
+ movs r0, 0xA
+ b _08026BB2
+_08026BAC:
+ movs r0, 0
+ strb r0, [r3]
+ movs r0, 0xB
+_08026BB2:
+ strb r0, [r2]
+_08026BB4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026B5C
+
+ thumb_func_start sub_8026BB8
+sub_8026BB8: @ 8026BB8
+ push {r4-r6,lr}
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ movs r4, 0x1
+ cmp r4, r5
+ bcs _08026C1E
+ adds r6, r1, 0
+_08026BCA:
+ ldr r0, [r6]
+ movs r1, 0xAC
+ lsls r1, 1
+ adds r0, r1
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026BEC
+ adds r0, r4, 0
+ bl sub_8027DFC
+ ldr r1, [r6]
+ movs r2, 0xAC
+ lsls r2, 1
+ adds r1, r2
+ adds r1, r4
+ strb r0, [r1]
+_08026BEC:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026BCA
+ cmp r4, r5
+ bcs _08026C1E
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ movs r2, 0xAC
+ lsls r2, 1
+ adds r1, r0, r2
+_08026C04:
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026C14
+ movs r0, 0
+ b _08026C20
+ .pool
+_08026C14:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026C04
+_08026C1E:
+ movs r0, 0x1
+_08026C20:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026BB8
+
+ thumb_func_start sub_8026C28
+sub_8026C28: @ 8026C28
+ push {r4,lr}
+ movs r1, 0
+ ldr r4, =gUnknown_02022C98
+ movs r3, 0xAC
+ lsls r3, 1
+ movs r2, 0
+_08026C34:
+ ldr r0, [r4]
+ adds r0, r3
+ adds r0, r1
+ strb r2, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x4
+ bls _08026C34
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026C28
+
+ thumb_func_start sub_8026C50
+sub_8026C50: @ 8026C50
+ push {r4,lr}
+ ldr r3, =gUnknown_02022C98
+ ldr r1, [r3]
+ adds r2, r1, 0
+ adds r2, 0x40
+ ldrb r0, [r2]
+ cmp r0, 0x9
+ bls _08026C88
+ movs r4, 0x90
+ lsls r4, 1
+ adds r0, r1, r4
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08026C88
+ movs r0, 0xA
+ strb r0, [r2]
+ ldr r0, [r3]
+ movs r1, 0x96
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08026C88
+ movs r0, 0x1
+ b _08026C8A
+ .pool
+_08026C88:
+ movs r0, 0
+_08026C8A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026C50
+
+ thumb_func_start sub_8026C90
+sub_8026C90: @ 8026C90
+ push {r4-r6,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ adds r2, r1, 0
+ adds r2, 0x40
+ ldrb r0, [r2]
+ cmp r0, 0x9
+ bls _08026D14
+ adds r0, r1, 0
+ adds r0, 0x44
+ ldrb r3, [r0]
+ adds r0, 0x4
+ ldrb r5, [r0]
+ movs r0, 0xA
+ strb r0, [r2]
+ ldr r4, [r4]
+ mov r12, r4
+ movs r0, 0x96
+ lsls r0, 1
+ add r0, r12
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08026D14
+ adds r4, r3, 0
+ cmp r4, r5
+ bcs _08026D04
+ mov r0, r12
+ adds r0, 0x28
+ ldrb r3, [r0]
+ lsls r1, r3, 4
+ subs r1, r3
+ lsls r1, 2
+ ldr r6, =gUnknown_082F449C
+ subs r0, 0x4
+ ldrb r2, [r0]
+ subs r2, 0x1
+ add r1, r12
+ movs r0, 0xB
+ muls r3, r0
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 3
+ subs r2, r0, r2
+ ldr r0, =0x000031bf
+ adds r1, r0
+_08026CEA:
+ adds r0, r4, r3
+ adds r0, r2
+ adds r0, r6
+ ldrb r0, [r0]
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ cmp r0, 0xA
+ bne _08026D14
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08026CEA
+_08026D04:
+ movs r0, 0x1
+ b _08026D16
+ .pool
+_08026D14:
+ movs r0, 0
+_08026D16:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026C90
+
+ thumb_func_start sub_8026D1C
+sub_8026D1C: @ 8026D1C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, =gUnknown_082F7A9C
+ mov r8, r0
+ ldr r0, =gUnknown_02022C98
+ ldr r6, [r0]
+ adds r0, r6, 0
+ adds r0, 0x90
+ adds r0, r5
+ mov r9, r0
+ ldrb r7, [r0]
+ adds r0, r7, 0
+ movs r1, 0x7
+ bl __umodsi3
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ add r4, r8
+ adds r0, r7, 0
+ movs r1, 0x7
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldrb r4, [r4]
+ adds r0, r4
+ lsls r0, 24
+ lsls r5, 1
+ adds r6, 0x86
+ adds r6, r5
+ ldrh r1, [r6]
+ lsrs r0, 24
+ cmp r1, r0
+ bcc _08026D76
+ adds r0, r7, 0x1
+ mov r1, r9
+ strb r0, [r1]
+_08026D76:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8026D1C
+
+ thumb_func_start sub_8026D8C
+sub_8026D8C: @ 8026D8C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, =gUnknown_082F449C+0x1AC
+ ldr r1, =gUnknown_02022C98
+ ldr r1, [r1]
+ adds r1, 0x24
+ ldrb r1, [r1]
+ subs r1, 0x1
+ movs r2, 0xB
+ muls r1, r2
+ adds r0, r1
+ adds r0, r3
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8026D8C
+
+ thumb_func_start sub_8026DB0
+sub_8026DB0: @ 8026DB0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r4, =gUnknown_02022C98
+ ldr r1, [r4]
+ adds r1, 0x24
+ ldrb r2, [r1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r3, =gUnknown_082F449C+0x15E
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r0, r2, 4
+ subs r0, r2
+ adds r1, r0
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ mov r12, r0
+ adds r0, r3, 0x1
+ adds r0, r1, r0
+ ldrb r7, [r0]
+ adds r3, 0x2
+ adds r1, r3
+ ldrb r1, [r1]
+ mov r8, r1
+ movs r3, 0
+ ldr r1, =gUnknown_082F449C+0x1E3
+ lsls r0, r2, 2
+ adds r2, r0, r2
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08026E18
+ adds r6, r1, 0
+_08026DFE:
+ adds r0, r3, r2
+ adds r0, r6
+ ldrb r0, [r0]
+ cmp r5, r0
+ beq _08026E3C
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r3, r2
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026DFE
+_08026E18:
+ ldr r0, [r4]
+ adds r0, 0x90
+ mov r1, r12
+ adds r2, r0, r1
+ adds r1, r0, r7
+ ldrb r0, [r2]
+ ldrb r3, [r1]
+ cmp r0, r3
+ bls _08026E46
+ adds r1, r0, 0
+ b _08026E48
+ .pool
+_08026E3C:
+ ldr r0, [r4]
+ adds r0, 0x90
+ adds r0, r7
+ ldrb r0, [r0]
+ b _08026E5A
+_08026E46:
+ ldrb r1, [r1]
+_08026E48:
+ ldr r0, [r4]
+ adds r0, 0x90
+ mov r2, r8
+ adds r4, r0, r2
+ ldrb r0, [r4]
+ cmp r0, r1
+ bls _08026E58
+ adds r1, r0, 0
+_08026E58:
+ adds r0, r1, 0
+_08026E5A:
+ adds r1, r5, 0
+ bl sub_8026E70
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026DB0
+
+ thumb_func_start sub_8026E70
+sub_8026E70: @ 8026E70
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_02022C98
+ ldr r2, [r2]
+ adds r2, 0xE8
+ adds r2, r1
+ ldrb r4, [r2]
+ movs r1, 0x7
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x6
+ bhi _08026EDE
+ lsls r0, 2
+ ldr r1, =_08026EA4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08026EA4:
+ .4byte _08026EDE
+ .4byte _08026ED6
+ .4byte _08026EE2
+ .4byte _08026EC0
+ .4byte _08026EC6
+ .4byte _08026ECC
+ .4byte _08026ED2
+_08026EC0:
+ cmp r4, 0
+ beq _08026ED6
+ b _08026EDE
+_08026EC6:
+ cmp r4, 0
+ beq _08026EE2
+ b _08026EDE
+_08026ECC:
+ cmp r4, 0x2
+ beq _08026ED6
+ b _08026EE2
+_08026ED2:
+ cmp r4, 0
+ bne _08026EDA
+_08026ED6:
+ movs r0, 0x1
+ b _08026EE4
+_08026EDA:
+ cmp r4, 0x1
+ beq _08026EE2
+_08026EDE:
+ movs r0, 0
+ b _08026EE4
+_08026EE2:
+ movs r0, 0x2
+_08026EE4:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026E70
+
+ thumb_func_start sub_8026EEC
+sub_8026EEC: @ 8026EEC
+ push {r4-r6,lr}
+ movs r6, 0
+ movs r5, 0
+ adds r4, r0, 0
+ b _08026EFE
+_08026EF6:
+ ldrh r0, [r4, 0x6]
+ adds r6, r0
+ adds r4, 0xC
+ adds r5, 0x1
+_08026EFE:
+ bl GetLinkPlayerCount
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, r0
+ blt _08026EF6
+ cmp r6, 0xA
+ bgt _08026F12
+ movs r0, 0
+ b _08026F14
+_08026F12:
+ movs r0, 0x1
+_08026F14:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026EEC
+
+ thumb_func_start sub_8026F1C
+sub_8026F1C: @ 8026F1C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r1, 24
+ lsrs r4, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r6, =gUnknown_02022C98
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldrb r5, [r0]
+ cmp r3, 0
+ bge _08026F3A
+ b _0802722C
+_08026F3A:
+ cmp r3, 0x2
+ ble _08026F48
+ cmp r3, 0x3
+ beq _08026F78
+ b _0802722C
+ .pool
+_08026F48:
+ ldr r3, =0x000031b4
+ adds r0, r1, r3
+ adds r0, r4
+ ldrb r4, [r0]
+ lsls r4, 1
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r4, r0
+ adds r0, r1, 0
+ adds r0, 0x4A
+ adds r0, r4
+ ldrh r0, [r0]
+ ldr r1, =0x00004e20
+ bl sub_8027A28
+ ldr r1, [r6]
+ adds r1, 0x4A
+ adds r1, r4
+ b _0802722A
+ .pool
+_08026F78:
+ adds r0, r1, 0
+ adds r0, 0x4A
+ bl sub_8026EEC
+ cmp r0, 0
+ beq _08026F86
+ b _0802722C
+_08026F86:
+ cmp r5, 0x3
+ bne _08026F8C
+ b _08027154
+_08026F8C:
+ cmp r5, 0x3
+ bgt _08026F98
+ cmp r5, 0x2
+ bne _08026F96
+ b _080271E8
+_08026F96:
+ b _0802722C
+_08026F98:
+ cmp r5, 0x4
+ bne _08026F9E
+ b _08027090
+_08026F9E:
+ cmp r5, 0x5
+ beq _08026FA4
+ b _0802722C
+_08026FA4:
+ cmp r4, 0x9
+ bls _08026FAA
+ b _0802722C
+_08026FAA:
+ lsls r0, r4, 2
+ ldr r1, =_08026FB8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08026FB8:
+ .4byte _08026FE0
+ .4byte _08026FF8
+ .4byte _08027004
+ .4byte _0802701C
+ .4byte _08027028
+ .4byte _08027040
+ .4byte _0802704C
+ .4byte _08027060
+ .4byte _0802706C
+ .4byte _08027084
+_08026FE0:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x68
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x74
+ b _08027226
+ .pool
+_08026FF8:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x74
+ b _08027226
+ .pool
+_08027004:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x74
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x80
+ b _08027226
+ .pool
+_0802701C:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x80
+ b _08027226
+ .pool
+_08027028:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x80
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_08027040:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_0802704C:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+ .pool
+_08027060:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08027224
+ .pool
+_0802706C:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x5C
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027084:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027090:
+ subs r0, r4, 0x1
+ cmp r0, 0x7
+ bls _08027098
+ b _0802722C
+_08027098:
+ lsls r0, 2
+ ldr r1, =_080270A8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_080270A8:
+ .4byte _080270C8
+ .4byte _080270E0
+ .4byte _080270EC
+ .4byte _08027104
+ .4byte _08027110
+ .4byte _08027124
+ .4byte _08027130
+ .4byte _08027148
+_080270C8:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x68
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x74
+ b _08027226
+ .pool
+_080270E0:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x74
+ b _08027226
+ .pool
+_080270EC:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x74
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_08027104:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_08027110:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+ .pool
+_08027124:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08027224
+ .pool
+_08027130:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x5C
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027148:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027154:
+ subs r0, r4, 0x2
+ cmp r0, 0x5
+ bhi _0802722C
+ lsls r0, 2
+ ldr r1, =_08027168
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08027168:
+ .4byte _08027180
+ .4byte _08027198
+ .4byte _080271A4
+ .4byte _080271BC
+ .4byte _080271C8
+ .4byte _080271DC
+_08027180:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x5C
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_08027198:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x68
+ b _08027226
+ .pool
+_080271A4:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x68
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_080271BC:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x50
+ b _08027226
+ .pool
+_080271C8:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+ .pool
+_080271DC:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ b _08027224
+ .pool
+_080271E8:
+ cmp r4, 0x4
+ beq _0802720E
+ cmp r4, 0x4
+ bgt _080271F6
+ cmp r4, 0x3
+ beq _08027200
+ b _0802722C
+_080271F6:
+ cmp r4, 0x5
+ beq _08027214
+ cmp r4, 0x6
+ beq _08027222
+ b _0802722C
+_08027200:
+ ldr r1, [r6]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+_0802720E:
+ ldr r1, [r6]
+ adds r1, 0x50
+ b _08027226
+_08027214:
+ ldr r1, [r6]
+ adds r2, r1, 0
+ adds r2, 0x50
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ b _08027224
+_08027222:
+ ldr r1, [r6]
+_08027224:
+ adds r1, 0x5C
+_08027226:
+ ldrh r0, [r1]
+ adds r0, 0x1
+_0802722A:
+ strh r0, [r1]
+_0802722C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026F1C
+
+ thumb_func_start sub_8027234
+sub_8027234: @ 8027234
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ ldr r4, =gUnknown_02022C98
+ ldr r3, [r4]
+ adds r0, r3, 0
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bne _0802729E
+ cmp r1, 0x1
+ bne _08027280
+ movs r5, 0x89
+ lsls r5, 1
+ adds r1, r3, r5
+ ldrh r0, [r1]
+ adds r2, r0, 0x1
+ strh r2, [r1]
+ movs r0, 0x8A
+ lsls r0, 1
+ adds r1, r3, r0
+ lsls r0, r2, 16
+ lsrs r0, 16
+ ldrh r3, [r1]
+ cmp r0, r3
+ bls _08027268
+ strh r2, [r1]
+_08027268:
+ ldr r0, [r4]
+ adds r2, r0, r5
+ ldrh r0, [r2]
+ ldr r1, =0x0000270f
+ cmp r0, r1
+ bls _0802729E
+ strh r1, [r2]
+ b _0802729E
+ .pool
+_08027280:
+ movs r2, 0x89
+ lsls r2, 1
+ adds r0, r3, r2
+ movs r5, 0x8A
+ lsls r5, 1
+ adds r1, r3, r5
+ ldrh r0, [r0]
+ ldrh r3, [r1]
+ cmp r0, r3
+ bls _08027296
+ strh r0, [r1]
+_08027296:
+ ldr r0, [r4]
+ adds r0, r2
+ movs r1, 0
+ strh r1, [r0]
+_0802729E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027234
+
+ thumb_func_start sub_80272A4
+sub_80272A4: @ 80272A4
+ push {r4,r5,lr}
+ movs r3, 0
+ ldr r2, =gUnknown_02022C98
+ ldr r0, [r2]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r3, r0
+ bcs _080272DC
+ adds r5, r2, 0
+ movs r4, 0x8A
+ lsls r4, 1
+_080272BA:
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r1, r2, 0
+ adds r1, 0x54
+ adds r1, r0
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r2, 0x24
+ ldrb r2, [r2]
+ cmp r3, r2
+ bcc _080272BA
+_080272DC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80272A4
+
+ thumb_func_start sub_80272E8
+sub_80272E8: @ 80272E8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r5, 0
+ ldr r7, =gUnknown_02022C98
+ movs r4, 0
+ ldr r0, =0x000031bf
+ mov r10, r0
+_080272FC:
+ movs r2, 0
+ lsls r6, r5, 4
+ lsls r1, r5, 1
+ mov r8, r1
+ lsls r0, r5, 3
+ mov r12, r0
+ adds r1, r5, 0x1
+ mov r9, r1
+ subs r0, r6, r5
+ lsls r3, r0, 2
+_08027310:
+ ldr r0, [r7]
+ adds r1, r2, r3
+ add r0, r10
+ adds r0, r1
+ strb r4, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xA
+ bls _08027310
+ ldr r0, [r7]
+ subs r1, r6, r5
+ lsls r1, 2
+ adds r0, r1
+ ldr r2, =0x000031cc
+ adds r0, r2
+ strb r4, [r0]
+ ldr r0, [r7]
+ adds r0, r1
+ ldr r1, =0x000031d0
+ adds r0, r1
+ strb r4, [r0]
+ ldr r0, [r7]
+ adds r0, 0x90
+ adds r0, r5
+ strb r4, [r0]
+ ldr r1, [r7]
+ adds r0, r1, 0
+ adds r0, 0x86
+ add r0, r8
+ strh r4, [r0]
+ add r1, r12
+ ldr r2, =0x00003308
+ adds r1, r2
+ strb r4, [r1]
+ ldr r2, [r7]
+ ldr r1, =0x0000330c
+ adds r0, r2, r1
+ add r0, r12
+ str r4, [r0]
+ mov r0, r8
+ adds r1, r0, r5
+ lsls r1, 2
+ adds r0, r2, 0
+ adds r0, 0x4A
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4C
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4E
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x50
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x52
+ adds r0, r1
+ strh r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x54
+ adds r0, r1
+ strh r4, [r0]
+ mov r1, r9
+ lsls r0, r1, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _080272FC
+ ldr r2, =gUnknown_02022C98
+ ldr r0, [r2]
+ movs r1, 0xAA
+ lsls r1, 1
+ adds r0, r1
+ movs r2, 0
+ strb r2, [r0]
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ movs r1, 0x89
+ lsls r1, 1
+ adds r3, r0, r1
+ movs r1, 0
+ strh r2, [r3]
+ adds r0, 0x40
+ strb r1, [r0]
+ bl sub_8026A88
+ bl sub_8026988
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80272E8
+
+ thumb_func_start sub_80273F0
+sub_80273F0: @ 80273F0
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ beq _0802740C
+ cmp r0, 0x5
+ beq _08027410
+ b _08027412
+ .pool
+_0802740C:
+ movs r4, 0x1
+ b _08027412
+_08027410:
+ movs r4, 0x2
+_08027412:
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0xA
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ lsls r1, r4, 2
+ ldr r5, =gUnknown_02022C98
+ ldr r2, =gUnknown_082F7AA4
+ adds r1, r4
+ lsls r1, 1
+ adds r0, r1
+ adds r0, r2
+ ldrb r2, [r0]
+_08027436:
+ ldr r1, [r5]
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r1, 0x52
+ adds r1, r0
+ strh r2, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x4
+ bls _08027436
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80273F0
+
+ thumb_func_start sub_802745C
+sub_802745C: @ 802745C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r2, [r1]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r0, r2, 0
+ adds r0, 0x4A
+ adds r0, r1
+ ldrh r3, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4C
+ adds r0, r1
+ ldrh r0, [r0]
+ adds r2, 0x4E
+ adds r2, r1
+ adds r3, r0
+ ldrh r2, [r2]
+ adds r0, r3, r2
+ ldr r1, =0x0000270f
+ cmp r0, r1
+ bls _0802748E
+ adds r0, r1, 0
+_0802748E:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802745C
+
+ thumb_func_start sub_802749C
+sub_802749C: @ 802749C
+ push {r4-r6,lr}
+ ldr r5, =gUnknown_02022C98
+ ldr r0, [r5]
+ adds r0, 0x28
+ ldrb r0, [r0]
+ bl sub_802745C
+ ldr r1, =0x0000270f
+ bl sub_8027A38
+ adds r4, r0, 0
+ ldr r0, [r5]
+ adds r0, 0x28
+ ldrb r0, [r0]
+ bl sub_80276C0
+ ldr r1, =0x000f4236
+ bl sub_8027A38
+ adds r2, r0, 0
+ ldr r3, =gSaveBlock2Ptr
+ ldr r0, [r3]
+ movs r6, 0x83
+ lsls r6, 2
+ adds r1, r0, r6
+ ldr r0, [r1]
+ cmp r0, r2
+ bcs _080274D6
+ str r2, [r1]
+_080274D6:
+ ldr r0, [r3]
+ movs r2, 0x84
+ lsls r2, 2
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, r4
+ bcs _080274E6
+ strh r4, [r1]
+_080274E6:
+ ldr r0, [r3]
+ ldr r6, =0x00000212
+ adds r2, r0, r6
+ ldr r0, [r5]
+ movs r1, 0x8A
+ lsls r1, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ ldrh r0, [r2]
+ cmp r0, r1
+ bcs _080274FE
+ strh r1, [r2]
+_080274FE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802749C
+
+ thumb_func_start sub_8027518
+sub_8027518: @ 8027518
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r0, [r1]
+ adds r0, 0x9B
+ ldrb r6, [r0]
+ movs r3, 0x3
+ adds r5, r1, 0
+ adds r4, r5, 0
+_0802752C:
+ ldr r0, [r4]
+ adds r0, 0x98
+ adds r2, r0, r3
+ subs r1, r3, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ lsls r1, 24
+ lsrs r3, r1, 24
+ cmp r3, 0
+ bne _0802752C
+ ldr r0, [r5]
+ adds r0, 0x98
+ strb r7, [r0]
+ adds r0, r6, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8027518
+
+ thumb_func_start sub_8027554
+sub_8027554: @ 8027554
+ push {r4,lr}
+ ldr r4, =gUnknown_02022C98
+ ldr r3, [r4]
+ adds r0, r3, 0
+ adds r0, 0x28
+ ldrb r1, [r0]
+ adds r0, 0x88
+ adds r2, r0, r1
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _080275FC
+ ldr r0, =gMain
+ ldrh r2, [r0, 0x2E]
+ movs r0, 0x40
+ ands r0, r2
+ cmp r0, 0
+ beq _08027594
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ movs r1, 0x2
+ b _080275CA
+ .pool
+_08027594:
+ movs r0, 0x20
+ ands r0, r2
+ cmp r0, 0
+ beq _080275B0
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ movs r1, 0x3
+ b _080275CA
+ .pool
+_080275B0:
+ movs r0, 0x10
+ ands r0, r2
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0
+ beq _080275E8
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ movs r1, 0x1
+_080275CA:
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x28
+ adds r0, 0xB0
+ ldrb r1, [r1]
+ adds r0, r1
+ movs r1, 0x6
+ strb r1, [r0]
+ movs r0, 0xD4
+ bl PlaySE
+ b _08027600
+ .pool
+_080275E8:
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, =0x000031cc
+ adds r0, r1
+ strb r2, [r0]
+ b _08027600
+ .pool
+_080275FC:
+ subs r0, 0x1
+ strb r0, [r2]
+_08027600:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027554
+
+ thumb_func_start sub_8027608
+sub_8027608: @ 8027608
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldrb r2, [r0]
+ lsls r0, r2, 4
+ subs r0, r2
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, =0x000031cc
+ adds r1, r0
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end sub_8027608
+
+ thumb_func_start sub_802762C
+sub_802762C: @ 802762C
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldrb r2, [r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r1, 0x52
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x85
+ lsls r0, 16
+ lsrs r0, 16
+ bx lr
+ .pool
+ thumb_func_end sub_802762C
+
+ thumb_func_start sub_8027650
+sub_8027650: @ 8027650
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8027650
+
+ thumb_func_start sub_8027660
+sub_8027660: @ 8027660
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802768C
+ ldr r0, =gUnknown_02022C98
+ lsls r1, r2, 4
+ subs r1, r2
+ lsls r1, 2
+ ldr r2, =0x000031a0
+ adds r1, r2
+ ldr r0, [r0]
+ b _08027694
+ .pool
+_0802768C:
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ ldr r1, =gLinkPlayers + 8
+_08027694:
+ adds r0, r1
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8027660
+
+ thumb_func_start sub_80276A0
+sub_80276A0: @ 80276A0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ ldr r2, =gUnknown_02022C98
+ ldr r3, [r2]
+ lsrs r1, 23
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 2
+ adds r1, r2
+ adds r3, 0x4A
+ adds r3, r1
+ ldrh r0, [r3]
+ bx lr
+ .pool
+ thumb_func_end sub_80276A0
+
+ thumb_func_start sub_80276C0
+sub_80276C0: @ 80276C0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r5, 0
+ movs r3, 0
+ ldr r0, =gUnknown_02022C98
+ mov r9, r0
+ ldr r2, =gUnknown_082F7B24
+ mov r10, r2
+ ldr r2, [r0]
+ lsls r1, r4, 1
+ adds r0, r1, r4
+ lsls r0, 2
+ str r0, [sp]
+ adds r6, r2, 0
+ adds r6, 0x4A
+ mov r12, r1
+ mov r8, r10
+_080276EE:
+ lsls r1, r3, 1
+ ldr r7, [sp]
+ adds r0, r1, r7
+ adds r0, r6, r0
+ ldrh r2, [r0]
+ add r1, r8
+ movs r7, 0
+ ldrsh r0, [r1, r7]
+ muls r0, r2
+ adds r5, r0
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x2
+ bls _080276EE
+ mov r0, r9
+ ldr r1, [r0]
+ mov r2, r12
+ adds r0, r2, r4
+ lsls r0, 2
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r1, [r1]
+ mov r3, r10
+ movs r7, 0x6
+ ldrsh r0, [r3, r7]
+ muls r0, r1
+ cmp r5, r0
+ bls _08027734
+ subs r0, r5, r0
+ b _08027736
+ .pool
+_08027734:
+ movs r0, 0
+_08027736:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80276C0
+
+ thumb_func_start sub_8027748
+sub_8027748: @ 8027748
+ push {r4-r6,lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r6, [r0]
+ movs r0, 0
+ bl sub_80276C0
+ adds r5, r0, 0
+ movs r4, 0x1
+ cmp r4, r6
+ bcs _08027776
+_08027760:
+ adds r0, r4, 0
+ bl sub_80276C0
+ cmp r0, r5
+ bls _0802776C
+ adds r5, r0, 0
+_0802776C:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r6
+ bcc _08027760
+_08027776:
+ ldr r1, =0x000f4236
+ adds r0, r5, 0
+ bl sub_8027A38
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8027748
+
+ thumb_func_start sub_802778C
+sub_802778C: @ 802778C
+ push {r4,r5,lr}
+ lsls r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r2, [r1]
+ adds r1, r2, 0
+ adds r1, 0x24
+ ldrb r5, [r1]
+ lsrs r4, r0, 23
+ adds r2, 0x4A
+ adds r0, r2, r4
+ ldrh r3, [r0]
+ movs r1, 0
+ cmp r1, r5
+ bcs _080277C4
+_080277A8:
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4, r0
+ adds r0, r2, r0
+ ldrh r0, [r0]
+ cmp r0, r3
+ bls _080277BA
+ adds r3, r0, 0
+_080277BA:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, r5
+ bcc _080277A8
+_080277C4:
+ adds r0, r3, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802778C
+
+ thumb_func_start sub_80277D0
+sub_80277D0: @ 80277D0
+ push {r4-r7,lr}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0x1
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ movs r4, 0
+ cmp r4, r5
+ bcs _080277FE
+_080277E8:
+ adds r0, r4, 0
+ bl sub_80276C0
+ lsls r1, r4, 2
+ add r1, sp
+ str r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _080277E8
+_080277FE:
+ lsls r7, 2
+ mov r12, r7
+ cmp r6, 0
+ beq _08027838
+ subs r7, r5, 0x1
+_08027808:
+ movs r6, 0
+ movs r4, 0
+ cmp r6, r7
+ bge _08027834
+ adds r5, r7, 0
+_08027812:
+ lsls r0, r4, 2
+ mov r2, sp
+ adds r1, r2, r0
+ adds r4, 0x1
+ lsls r0, r4, 2
+ adds r3, r2, r0
+ ldr r0, [r1]
+ ldr r2, [r3]
+ cmp r0, r2
+ bcs _0802782C
+ str r2, [r1]
+ str r0, [r3]
+ movs r6, 0x1
+_0802782C:
+ lsls r0, r4, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ blt _08027812
+_08027834:
+ cmp r6, 0
+ bne _08027808
+_08027838:
+ mov r0, sp
+ add r0, r12
+ ldr r0, [r0]
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_80277D0
+
+ thumb_func_start sub_802784C
+sub_802784C: @ 802784C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r0, 0
+ mov r10, r0
+ mov r8, r0
+ mov r9, r0
+ ldr r6, =gUnknown_02022C98
+ ldr r0, [r6]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ bl sub_8027748
+ bl sub_8027748
+ cmp r0, 0
+ bne _080278A0
+ movs r4, 0
+ cmp r9, r5
+ bcs _080278A0
+ adds r2, r6, 0
+ ldr r1, =0x00003308
+ mov r12, r1
+ movs r7, 0
+ movs r6, 0x4
+ ldr r3, =0x0000330c
+_08027884:
+ ldr r0, [r2]
+ lsls r1, r4, 3
+ adds r0, r1
+ add r0, r12
+ strb r6, [r0]
+ ldr r0, [r2]
+ adds r0, r3
+ adds r0, r1
+ str r7, [r0]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08027884
+_080278A0:
+ movs r4, 0
+ cmp r4, r5
+ bcs _080278CA
+_080278A6:
+ adds r0, r4, 0
+ bl sub_80276C0
+ ldr r1, =0x000f4236
+ bl sub_8027A38
+ ldr r1, =gUnknown_02022C98
+ ldr r1, [r1]
+ lsls r2, r4, 3
+ ldr r3, =0x0000330c
+ adds r1, r3
+ adds r1, r2
+ str r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _080278A6
+_080278CA:
+ mov r0, r10
+ bl sub_80277D0
+ adds r6, r0, 0
+ mov r3, r8
+ movs r4, 0
+ cmp r4, r5
+ bcs _08027916
+ ldr r7, =gUnknown_02022C98
+ mov r10, r7
+_080278DE:
+ mov r0, r10
+ ldr r2, [r0]
+ lsls r1, r4, 3
+ ldr r7, =0x0000330c
+ adds r0, r2, r7
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r6, r0
+ bne _0802790C
+ adds r0, r2, r1
+ ldr r1, =0x00003308
+ adds r0, r1
+ strb r3, [r0]
+ mov r0, r8
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r0, r9
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+_0802790C:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _080278DE
+_08027916:
+ mov r10, r8
+ cmp r9, r5
+ bcc _080278CA
+ movs r0, 0
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802784C
+
+ thumb_func_start sub_802793C
+sub_802793C: @ 802793C
+ lsls r1, 24
+ ldr r2, =gUnknown_02022C98
+ ldr r2, [r2]
+ lsrs r1, 21
+ ldr r3, =0x00003308
+ adds r2, r3
+ adds r2, r1
+ ldr r1, [r2]
+ ldr r2, [r2, 0x4]
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ bx lr
+ .pool
+ thumb_func_end sub_802793C
+
+ thumb_func_start sub_802795C
+sub_802795C: @ 802795C
+ push {r4-r7,lr}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r7, 0
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r5, [r0]
+ mov r0, sp
+ movs r1, 0
+ movs r2, 0x14
+ bl memset
+ movs r4, 0
+ cmp r7, r5
+ bcs _08027994
+_0802797E:
+ adds r0, r4, 0
+ bl sub_80276C0
+ lsls r1, r4, 2
+ add r1, sp
+ str r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _0802797E
+_08027994:
+ lsls r0, r6, 2
+ add r0, sp
+ ldr r1, [r0]
+ movs r4, 0
+_0802799C:
+ cmp r4, r6
+ beq _080279B0
+ lsls r0, r4, 2
+ add r0, sp
+ ldr r0, [r0]
+ cmp r1, r0
+ bcs _080279B0
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+_080279B0:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _0802799C
+ adds r0, r7, 0
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802795C
+
+ thumb_func_start sub_80279C8
+sub_80279C8: @ 80279C8
+ push {r4-r6,lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x28
+ ldrb r4, [r0]
+ bl sub_802762C
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r6, r5, 0
+ adds r0, r4, 0
+ bl sub_80276C0
+ adds r4, r0, 0
+ bl sub_8027748
+ cmp r4, r0
+ beq _080279F4
+ movs r0, 0x3
+ b _08027A22
+ .pool
+_080279F4:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl CheckBagHasSpace
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027A06
+ movs r0, 0x2
+ b _08027A22
+_08027A06:
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl AddBagItem
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl CheckBagHasSpace
+ lsls r0, 24
+ cmp r0, 0
+ beq _08027A20
+ movs r0, 0
+ b _08027A22
+_08027A20:
+ movs r0, 0x1
+_08027A22:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80279C8
+
+ thumb_func_start sub_8027A28
+sub_8027A28: @ 8027A28
+ push {lr}
+ adds r2, r0, 0
+ adds r0, r1, 0
+ cmp r2, r0
+ bcs _08027A34
+ adds r0, r2, 0x1
+_08027A34:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8027A28
+
+ thumb_func_start sub_8027A38
+sub_8027A38: @ 8027A38
+ push {lr}
+ adds r2, r0, 0
+ adds r0, r1, 0
+ cmp r2, r0
+ bcs _08027A44
+ adds r0, r2, 0
+_08027A44:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8027A38
+
+ thumb_func_start sub_8027A48
+sub_8027A48: @ 8027A48
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gUnknown_02022C98
+ ldr r1, [r1]
+ adds r1, 0x34
+ adds r1, r0
+ ldrb r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end sub_8027A48
+
+ thumb_func_start sub_8027A5C
+sub_8027A5C: @ 8027A5C
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, =gSpecialVar_Result
+_08027A62:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GetMonData
+ cmp r0, 0
+ beq _08027A94
+ adds r0, r4, 0
+ movs r1, 0x41
+ bl GetMonData
+ cmp r0, 0x55
+ bne _08027A94
+ movs r0, 0x1
+ strh r0, [r6]
+ b _08027AA0
+ .pool
+_08027A94:
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _08027A62
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0
+ strh r0, [r1]
+_08027AA0:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027A5C
+
+ thumb_func_start sub_8027AAC
+sub_8027AAC: @ 8027AAC
+ push {r4,lr}
+ ldr r4, =sub_8027ACC
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ bl _call_via_r4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027AAC
+
+ thumb_func_start sub_8027ACC
+sub_8027ACC: @ 8027ACC
+ push {r4-r7,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r7, r0, r1
+ movs r1, 0
+ ldrsh r0, [r7, r1]
+ cmp r0, 0x1
+ beq _08027B94
+ cmp r0, 0x1
+ bgt _08027AF4
+ cmp r0, 0
+ beq _08027AFE
+ b _08027BE2
+ .pool
+_08027AF4:
+ cmp r0, 0x2
+ beq _08027BA0
+ cmp r0, 0x3
+ beq _08027BC8
+ b _08027BE2
+_08027AFE:
+ ldr r0, =gUnknown_082F7B2C
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, =gText_BerryPickingRecords
+ movs r0, 0x1
+ movs r2, 0
+ bl GetStringWidth
+ adds r4, r0, 0
+ movs r6, 0
+ ldr r5, =gUnknown_082F7B34
+_08027B18:
+ ldr r1, [r5]
+ movs r0, 0x1
+ movs r2, 0
+ bl GetStringWidth
+ adds r0, 0x32
+ cmp r0, r4
+ ble _08027B2A
+ adds r4, r0, 0
+_08027B2A:
+ adds r5, 0x4
+ adds r6, 0x1
+ cmp r6, 0x2
+ bls _08027B18
+ adds r0, r4, 0x7
+ cmp r0, 0
+ bge _08027B3A
+ adds r0, 0x7
+_08027B3A:
+ asrs r4, r0, 3
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _08027B46
+ adds r4, 0x1
+_08027B46:
+ movs r1, 0x1E
+ subs r1, r4
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ lsls r1, 24
+ lsrs r1, 16
+ ldr r2, =0xffff00ff
+ ldr r0, [sp]
+ ands r0, r2
+ orrs r0, r1
+ lsls r2, r4, 24
+ ldr r1, =0x00ffffff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp]
+ mov r0, sp
+ bl AddWindow
+ strh r0, [r7, 0x2]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r4, 0
+ bl sub_8027BEC
+ ldrb r0, [r7, 0x2]
+ movs r1, 0x3
+ b _08027BB6
+ .pool
+_08027B94:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027BE2
+ b _08027BBA
+_08027BA0:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _08027BE2
+ ldrb r0, [r7, 0x2]
+ bl rbox_fill_rectangle
+ ldrb r0, [r7, 0x2]
+ movs r1, 0x1
+_08027BB6:
+ bl CopyWindowToVram
+_08027BBA:
+ ldrh r0, [r7]
+ adds r0, 0x1
+ strh r0, [r7]
+ b _08027BE2
+ .pool
+_08027BC8:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027BE2
+ ldrb r0, [r7, 0x2]
+ bl RemoveWindow
+ adds r0, r4, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+_08027BE2:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027ACC
+
+ thumb_func_start sub_8027BEC
+sub_8027BEC: @ 8027BEC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ str r1, [sp, 0x18]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, =gSaveBlock2Ptr
+ ldr r1, [r0]
+ movs r2, 0x84
+ lsls r2, 2
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ str r0, [sp, 0xC]
+ subs r2, 0x4
+ adds r0, r1, r2
+ ldr r0, [r0]
+ str r0, [sp, 0x10]
+ ldr r0, =0x00000212
+ adds r1, r0
+ ldrh r0, [r1]
+ str r0, [sp, 0x14]
+ ldr r4, =0x0000021d
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0xD0
+ bl LoadUserWindowBorderGfx_
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0xD
+ bl DrawTextBorderOuter
+ adds r0, r7, 0
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r4, =gText_BerryPickingRecords
+ ldr r0, [sp, 0x18]
+ lsls r2, r0, 3
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl GetStringCenterAlignXOffset
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0x1
+ str r0, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ bl AddTextPrinterParameterized
+ movs r6, 0
+ ldr r2, =gStringVar1
+ mov r8, r2
+ movs r0, 0xFF
+ mov r10, r0
+ mov r9, r6
+ mov r2, sp
+ adds r2, 0xC
+ str r2, [sp, 0x1C]
+_08027C76:
+ lsls r4, r6, 2
+ ldr r0, [sp, 0x1C]
+ ldm r0!, {r1}
+ str r0, [sp, 0x1C]
+ ldr r0, =gUnknown_082F7B40
+ adds r0, r6, r0
+ ldrb r3, [r0]
+ mov r0, r8
+ movs r2, 0
+ bl ConvertIntToDecimalStringN
+ movs r0, 0x1
+ mov r1, r8
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ adds r5, r0, 0
+ ldr r0, =gUnknown_082F7B34
+ adds r4, r0
+ ldr r2, [r4]
+ ldr r0, =gUnknown_082F7B44
+ lsls r4, r6, 1
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ str r0, [sp]
+ mov r0, r10
+ str r0, [sp, 0x4]
+ mov r0, r9
+ str r0, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r2, [sp, 0x18]
+ lsls r3, r2, 3
+ subs r3, r5
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, =gUnknown_082F7B4A
+ adds r4, r0
+ ldrb r0, [r4]
+ str r0, [sp]
+ mov r0, r10
+ str r0, [sp, 0x4]
+ mov r2, r9
+ str r2, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ mov r2, r8
+ bl AddTextPrinterParameterized
+ adds r6, 0x1
+ cmp r6, 0x2
+ ble _08027C76
+ adds r0, r7, 0
+ bl PutWindowTilemap
+ add sp, 0x20
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027BEC
+
+ thumb_func_start sub_8027D20
+sub_8027D20: @ 8027D20
+ push {lr}
+ bl GetLinkPlayerCount
+ ldr r1, =gUnknown_02022C98
+ ldr r1, [r1]
+ adds r1, 0x24
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027D20
+
+ thumb_func_start sub_8027D38
+sub_8027D38: @ 8027D38
+ push {r4-r7,lr}
+ ldr r0, =gUnknown_02022C98
+ ldr r0, [r0]
+ adds r0, 0x24
+ ldrb r4, [r0]
+ cmp r4, 0x4
+ bhi _08027D66
+ ldr r5, =gUnknown_082F7B90
+_08027D48:
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ ldr r1, =gLinkPlayers + 8
+ adds r0, r1
+ lsls r1, r4, 2
+ adds r1, r5
+ ldr r1, [r1]
+ bl StringCopy
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _08027D48
+_08027D66:
+ ldr r0, =gUnknown_02022C98
+ ldr r1, [r0]
+ adds r1, 0x24
+ movs r2, 0x5
+ strb r2, [r1]
+ movs r1, 0
+ mov r12, r0
+_08027D74:
+ movs r4, 0
+ mov r2, r12
+ ldr r0, [r2]
+ adds r0, 0x24
+ adds r5, r1, 0x1
+ ldrb r0, [r0]
+ cmp r4, r0
+ bcs _08027DB2
+ ldr r7, =gUnknown_02022C98
+ lsls r3, r1, 1
+ ldr r6, =gUnknown_082F7B50
+_08027D8A:
+ ldr r2, [r7]
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r3, r0
+ adds r1, r2, 0
+ adds r1, 0x4A
+ adds r1, r0
+ lsls r0, r4, 3
+ adds r0, r3, r0
+ adds r0, r6
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r2, 0x24
+ ldrb r2, [r2]
+ cmp r4, r2
+ bcc _08027D8A
+_08027DB2:
+ lsls r0, r5, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x3
+ bls _08027D74
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027D38
+
+ thumb_func_start sub_8027DD0
+sub_8027DD0: @ 8027DD0
+ push {lr}
+ sub sp, 0x8
+ ldr r3, =0xffffff00
+ ldr r1, [sp]
+ ands r1, r3
+ movs r2, 0x1
+ orrs r1, r2
+ str r1, [sp]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, [sp, 0x4]
+ ands r1, r3
+ orrs r1, r0
+ str r1, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8027DD0
+
+ thumb_func_start sub_8027DFC
+sub_8027DFC: @ 8027DFC
+ push {lr}
+ adds r2, r0, 0
+ ldr r3, =gRecvCmds
+ ldrh r0, [r3]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _08027E1E
+ lsls r0, r2, 4
+ adds r1, r3, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ beq _08027E28
+_08027E1E:
+ movs r0, 0
+ b _08027E2A
+ .pool
+_08027E28:
+ ldrb r0, [r1, 0x4]
+_08027E2A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8027DFC
+
+ thumb_func_start sub_8027E30
+sub_8027E30: @ 8027E30
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ ldr r4, [sp, 0x48]
+ lsls r4, 24
+ str r4, [sp, 0x1C]
+ movs r4, 0x14
+ adds r4, r0
+ mov r9, r4
+ mov r5, sp
+ movs r4, 0x2
+ strb r4, [r5]
+ mov r10, sp
+ mov r5, r9
+ ldrb r4, [r5, 0xB]
+ movs r7, 0xF
+ adds r5, r7, 0
+ ands r5, r4
+ mov r6, r10
+ ldrb r6, [r6, 0x1]
+ mov r8, r6
+ movs r4, 0x10
+ negs r4, r4
+ mov r6, r8
+ ands r4, r6
+ orrs r4, r5
+ mov r5, r10
+ strb r4, [r5, 0x1]
+ mov r8, sp
+ mov r6, r9
+ ldrb r5, [r6, 0xC]
+ lsls r5, 4
+ ands r4, r7
+ orrs r4, r5
+ mov r5, r8
+ strb r4, [r5, 0x1]
+ ldrb r5, [r6, 0xD]
+ movs r6, 0xF
+ ands r5, r6
+ mov r4, r10
+ ldrb r4, [r4, 0x2]
+ mov r8, r4
+ movs r4, 0x10
+ negs r4, r4
+ mov r6, r8
+ ands r4, r6
+ orrs r4, r5
+ mov r5, r10
+ strb r4, [r5, 0x2]
+ mov r8, sp
+ mov r6, r9
+ ldrb r5, [r6, 0xE]
+ lsls r5, 4
+ ands r4, r7
+ orrs r4, r5
+ mov r5, r8
+ strb r4, [r5, 0x2]
+ ldrb r5, [r6, 0xF]
+ movs r6, 0xF
+ ands r5, r6
+ mov r4, r10
+ ldrb r4, [r4, 0x3]
+ mov r8, r4
+ movs r4, 0x10
+ negs r4, r4
+ mov r6, r8
+ ands r4, r6
+ orrs r4, r5
+ mov r5, r10
+ strb r4, [r5, 0x3]
+ mov r8, sp
+ mov r6, r9
+ ldrb r5, [r6, 0x10]
+ lsls r5, 4
+ ands r4, r7
+ orrs r4, r5
+ mov r5, r8
+ strb r4, [r5, 0x3]
+ ldrb r5, [r6, 0x11]
+ movs r6, 0xF
+ ands r5, r6
+ mov r4, r10
+ ldrb r4, [r4, 0x4]
+ mov r8, r4
+ movs r4, 0x10
+ negs r4, r4
+ mov r6, r8
+ ands r4, r6
+ orrs r4, r5
+ mov r5, r10
+ strb r4, [r5, 0x4]
+ mov r8, sp
+ mov r6, r9
+ ldrb r5, [r6, 0x12]
+ lsls r5, 4
+ ands r4, r7
+ orrs r4, r5
+ mov r5, r8
+ strb r4, [r5, 0x4]
+ ldrb r4, [r6, 0x13]
+ movs r6, 0xF
+ ands r4, r6
+ mov r6, r8
+ ldrb r5, [r6, 0x5]
+ movs r6, 0x10
+ negs r6, r6
+ ands r6, r5
+ orrs r6, r4
+ str r6, [sp, 0xC]
+ mov r4, r8
+ strb r6, [r4, 0x5]
+ mov r5, sp
+ mov r6, r9
+ ldrb r4, [r6, 0x14]
+ lsls r4, 4
+ ldr r6, [sp, 0xC]
+ ands r6, r7
+ orrs r6, r4
+ strb r6, [r5, 0x5]
+ mov r7, sp
+ movs r4, 0x3
+ mov r8, r4
+ ldrb r0, [r0, 0x14]
+ mov r5, r8
+ ands r0, r5
+ ldrb r5, [r7, 0x6]
+ movs r6, 0x4
+ negs r6, r6
+ mov r10, r6
+ mov r4, r10
+ ands r4, r5
+ orrs r4, r0
+ strb r4, [r7, 0x6]
+ mov r5, r9
+ ldrb r0, [r5, 0x1]
+ mov r6, r8
+ ands r0, r6
+ lsls r0, 2
+ movs r5, 0xD
+ negs r5, r5
+ ands r5, r4
+ orrs r5, r0
+ strb r5, [r7, 0x6]
+ mov r0, r9
+ ldrb r4, [r0, 0x2]
+ ands r4, r6
+ lsls r4, 4
+ movs r0, 0x31
+ negs r0, r0
+ ands r0, r5
+ orrs r0, r4
+ strb r0, [r7, 0x6]
+ mov r5, sp
+ mov r6, r9
+ ldrb r4, [r6, 0x3]
+ lsls r4, 6
+ movs r6, 0x3F
+ ands r0, r6
+ orrs r0, r4
+ strb r0, [r5, 0x6]
+ mov r4, r9
+ ldrb r0, [r4, 0x4]
+ mov r5, r8
+ ands r0, r5
+ ldrb r5, [r7, 0x7]
+ mov r4, r10
+ ands r4, r5
+ orrs r4, r0
+ strb r4, [r7, 0x7]
+ mov r6, r9
+ ldrb r0, [r6, 0x5]
+ mov r5, r8
+ ands r0, r5
+ lsls r0, 2
+ movs r5, 0xD
+ negs r5, r5
+ ands r5, r4
+ orrs r5, r0
+ strb r5, [r7, 0x7]
+ ldrb r4, [r6, 0x6]
+ mov r6, r8
+ ands r4, r6
+ lsls r4, 4
+ movs r0, 0x31
+ negs r0, r0
+ ands r0, r5
+ orrs r0, r4
+ strb r0, [r7, 0x7]
+ mov r5, sp
+ mov r6, r9
+ ldrb r4, [r6, 0x7]
+ lsls r4, 6
+ movs r6, 0x3F
+ ands r0, r6
+ orrs r0, r4
+ strb r0, [r5, 0x7]
+ mov r8, sp
+ mov r0, r9
+ ldrb r4, [r0, 0x8]
+ movs r7, 0x3
+ adds r0, r7, 0
+ ands r0, r4
+ mov r4, r8
+ ldrb r5, [r4, 0x8]
+ mov r4, r10
+ ands r4, r5
+ orrs r4, r0
+ mov r5, r8
+ strb r4, [r5, 0x8]
+ mov r6, r9
+ ldrb r5, [r6, 0x9]
+ adds r0, r7, 0
+ ands r0, r5
+ lsls r0, 2
+ movs r5, 0xD
+ negs r5, r5
+ ands r5, r4
+ orrs r5, r0
+ mov r0, r8
+ strb r5, [r0, 0x8]
+ ldrb r0, [r1]
+ adds r4, r7, 0
+ ands r4, r0
+ lsls r4, 4
+ movs r0, 0x31
+ negs r0, r0
+ ands r0, r5
+ orrs r0, r4
+ mov r4, r8
+ strb r0, [r4, 0x8]
+ mov r5, sp
+ ldrb r4, [r2]
+ lsls r4, 6
+ movs r6, 0x3F
+ ands r0, r6
+ orrs r0, r4
+ strb r0, [r5, 0x8]
+ ldrb r4, [r3]
+ adds r0, r7, 0
+ ands r0, r4
+ ldrb r4, [r5, 0x9]
+ mov r6, r10
+ ands r6, r4
+ orrs r6, r0
+ mov r10, r6
+ strb r6, [r5, 0x9]
+ ldr r0, [sp, 0x40]
+ ldrb r4, [r0]
+ adds r0, r7, 0
+ ands r0, r4
+ lsls r0, 2
+ movs r4, 0xD
+ negs r4, r4
+ ands r6, r4
+ orrs r6, r0
+ str r6, [sp, 0x10]
+ strb r6, [r5, 0x9]
+ mov r4, sp
+ ldr r5, [sp, 0x44]
+ ldrb r0, [r5]
+ adds r6, r7, 0
+ ands r6, r0
+ lsls r0, r6, 4
+ subs r7, 0x34
+ ldr r5, [sp, 0x10]
+ ands r7, r5
+ orrs r7, r0
+ strb r7, [r4, 0x9]
+ mov r5, sp
+ ldrb r0, [r1, 0x4]
+ movs r6, 0x1
+ mov r12, r6
+ mov r4, r12
+ ands r4, r0
+ lsls r4, 6
+ movs r0, 0x41
+ negs r0, r0
+ mov r10, r0
+ ands r0, r7
+ orrs r0, r4
+ strb r0, [r5, 0x9]
+ ldrb r4, [r2, 0x4]
+ lsls r4, 7
+ movs r5, 0x7F
+ ands r0, r5
+ orrs r0, r4
+ mov r4, r8
+ strb r0, [r4, 0x9]
+ ldrb r4, [r3, 0x4]
+ mov r0, r12
+ ands r0, r4
+ mov r5, r8
+ ldrb r4, [r5, 0xA]
+ movs r7, 0x2
+ negs r7, r7
+ adds r5, r7, 0
+ ands r5, r4
+ orrs r5, r0
+ mov r6, r8
+ strb r5, [r6, 0xA]
+ mov r9, sp
+ ldr r4, [sp, 0x40]
+ ldrb r0, [r4, 0x4]
+ mov r4, r12
+ ands r4, r0
+ lsls r4, 1
+ movs r6, 0x3
+ negs r6, r6
+ mov r8, r6
+ mov r0, r8
+ ands r0, r5
+ orrs r0, r4
+ mov r4, r9
+ strb r0, [r4, 0xA]
+ ldr r6, [sp, 0x44]
+ ldrb r5, [r6, 0x4]
+ mov r4, r12
+ ands r4, r5
+ lsls r4, 2
+ movs r5, 0x5
+ negs r5, r5
+ ands r0, r5
+ orrs r0, r4
+ mov r4, r9
+ strb r0, [r4, 0xA]
+ mov r4, sp
+ ldrb r1, [r1, 0x8]
+ mov r0, r12
+ ands r0, r1
+ lsls r0, 2
+ ldrb r1, [r4, 0xB]
+ ands r5, r1
+ orrs r5, r0
+ strb r5, [r4, 0xB]
+ ldrb r1, [r2, 0x8]
+ mov r0, r12
+ ands r0, r1
+ lsls r0, 3
+ movs r1, 0x9
+ negs r1, r1
+ ands r1, r5
+ orrs r1, r0
+ strb r1, [r4, 0xB]
+ ldrb r2, [r3, 0x8]
+ mov r0, r12
+ ands r0, r2
+ lsls r0, 4
+ movs r2, 0x11
+ negs r2, r2
+ ands r2, r1
+ orrs r2, r0
+ strb r2, [r4, 0xB]
+ mov r3, sp
+ ldr r5, [sp, 0x40]
+ ldrb r0, [r5, 0x8]
+ mov r1, r12
+ ands r1, r0
+ lsls r1, 5
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, 0xB]
+ mov r2, sp
+ ldrb r1, [r6, 0x8]
+ mov r6, r12
+ ands r6, r1
+ lsls r1, r6, 6
+ mov r3, r10
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2, 0xB]
+ ldr r4, [sp, 0x1C]
+ lsrs r3, r4, 21
+ ldrb r1, [r2, 0xA]
+ movs r0, 0x7
+ ands r0, r1
+ orrs r0, r3
+ strb r0, [r2, 0xA]
+ mov r1, sp
+ ldr r5, [sp, 0x4C]
+ movs r6, 0x1
+ ands r5, r6
+ lsls r2, r5, 1
+ ldrb r0, [r1, 0xB]
+ mov r3, r8
+ ands r3, r0
+ orrs r3, r2
+ mov r8, r3
+ strb r3, [r1, 0xB]
+ mov r0, sp
+ ldr r4, [sp, 0x50]
+ ands r4, r6
+ mov r5, r8
+ ands r5, r7
+ orrs r5, r4
+ strb r5, [r0, 0xB]
+ bl sub_800FE50
+ add sp, 0x20
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027E30
+
+ thumb_func_start sub_8028164
+sub_8028164: @ 8028164
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r7, r1, 0
+ adds r5, r2, 0
+ adds r6, r3, 0
+ ldr r0, [sp, 0x1C]
+ mov r12, r0
+ ldr r1, [sp, 0x20]
+ mov r8, r1
+ ldr r0, [sp, 0x24]
+ mov r9, r0
+ adds r2, r7, 0
+ adds r2, 0x14
+ ldr r4, =gRecvCmds
+ ldrh r0, [r4]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _0802819C
+ adds r3, r4, 0x2
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x2
+ beq _080281A4
+_0802819C:
+ movs r0, 0
+ b _080282DE
+ .pool
+_080281A4:
+ ldrb r0, [r3, 0x1]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0xB]
+ ldrb r0, [r3, 0x1]
+ lsrs r0, 4
+ strb r0, [r2, 0xC]
+ ldrb r0, [r3, 0x2]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0xD]
+ ldrb r0, [r3, 0x2]
+ lsrs r0, 4
+ strb r0, [r2, 0xE]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0xF]
+ ldrb r0, [r3, 0x3]
+ lsrs r0, 4
+ strb r0, [r2, 0x10]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0x11]
+ ldrb r0, [r3, 0x4]
+ lsrs r0, 4
+ strb r0, [r2, 0x12]
+ ldrb r0, [r3, 0x5]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0x13]
+ ldrb r0, [r3, 0x5]
+ lsrs r0, 4
+ strb r0, [r2, 0x14]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 28
+ lsrs r0, 28
+ strb r0, [r2, 0x15]
+ ldrb r0, [r3, 0x6]
+ lsls r0, 30
+ lsrs r0, 30
+ strb r0, [r7, 0x14]
+ ldrb r0, [r3, 0x6]
+ lsls r0, 28
+ lsrs r0, 30
+ strb r0, [r2, 0x1]
+ ldrb r0, [r3, 0x6]
+ lsls r0, 26
+ lsrs r0, 30
+ strb r0, [r2, 0x2]
+ ldrb r0, [r3, 0x6]
+ lsrs r0, 6
+ strb r0, [r2, 0x3]
+ ldrb r0, [r3, 0x7]
+ lsls r0, 30
+ lsrs r0, 30
+ strb r0, [r2, 0x4]
+ ldrb r0, [r3, 0x7]
+ lsls r0, 28
+ lsrs r0, 30
+ strb r0, [r2, 0x5]
+ ldrb r0, [r3, 0x7]
+ lsls r0, 26
+ lsrs r0, 30
+ strb r0, [r2, 0x6]
+ ldrb r0, [r3, 0x7]
+ lsrs r0, 6
+ strb r0, [r2, 0x7]
+ ldrb r0, [r3, 0x8]
+ lsls r0, 30
+ lsrs r0, 30
+ strb r0, [r2, 0x8]
+ ldrb r0, [r3, 0x8]
+ lsls r0, 28
+ lsrs r0, 30
+ strb r0, [r2, 0x9]
+ ldrb r0, [r3, 0x6]
+ lsls r0, 30
+ lsrs r0, 30
+ strb r0, [r2, 0xA]
+ ldrb r0, [r3, 0x8]
+ lsls r0, 26
+ lsrs r0, 30
+ strb r0, [r5]
+ ldrb r0, [r3, 0x9]
+ lsls r0, 25
+ lsrs r0, 31
+ strb r0, [r5, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 29
+ lsrs r0, 31
+ strb r0, [r5, 0x8]
+ ldrb r0, [r3, 0x8]
+ lsrs r0, 6
+ strb r0, [r6]
+ ldrb r0, [r3, 0x9]
+ lsrs r0, 7
+ strb r0, [r6, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 28
+ lsrs r0, 31
+ strb r0, [r6, 0x8]
+ ldrb r0, [r3, 0x9]
+ lsls r0, 30
+ lsrs r0, 30
+ mov r1, r12
+ strb r0, [r1]
+ ldrb r0, [r3, 0xA]
+ lsls r0, 31
+ lsrs r0, 31
+ strb r0, [r1, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 27
+ lsrs r0, 31
+ strb r0, [r1, 0x8]
+ ldrb r0, [r3, 0x9]
+ lsls r0, 28
+ lsrs r0, 30
+ mov r1, r8
+ strb r0, [r1]
+ ldrb r0, [r3, 0xA]
+ lsls r0, 30
+ lsrs r0, 31
+ strb r0, [r1, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 26
+ lsrs r0, 31
+ strb r0, [r1, 0x8]
+ ldrb r0, [r3, 0x9]
+ lsls r0, 26
+ lsrs r0, 30
+ mov r1, r9
+ strb r0, [r1]
+ ldrb r0, [r3, 0xA]
+ lsls r0, 29
+ lsrs r0, 31
+ strb r0, [r1, 0x4]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 25
+ lsrs r0, 31
+ strb r0, [r1, 0x8]
+ ldrb r0, [r3, 0xA]
+ lsrs r0, 3
+ ldr r1, [sp, 0x28]
+ strb r0, [r1]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 30
+ lsrs r0, 31
+ ldr r1, [sp, 0x2C]
+ str r0, [r1]
+ ldrb r0, [r3, 0xB]
+ lsls r0, 31
+ lsrs r0, 31
+ ldr r1, [sp, 0x30]
+ str r0, [r1]
+ movs r0, 0x1
+_080282DE:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028164
+
+ thumb_func_start sub_80282EC
+sub_80282EC: @ 80282EC
+ push {lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, =0xffffff00
+ ldr r1, [sp]
+ ands r1, r3
+ movs r2, 0x3
+ orrs r1, r2
+ str r1, [sp]
+ ldr r1, [sp, 0x4]
+ ands r1, r3
+ orrs r1, r0
+ str r1, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80282EC
+
+ thumb_func_start sub_8028318
+sub_8028318: @ 8028318
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ ldr r3, =gRecvCmds
+ ldrh r0, [r3]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _0802833C
+ lsls r0, r2, 4
+ adds r1, r3, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0x3
+ beq _08028344
+_0802833C:
+ movs r0, 0
+ b _0802834A
+ .pool
+_08028344:
+ ldrb r0, [r1, 0x4]
+ strb r0, [r4]
+ movs r0, 0x1
+_0802834A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028318
+
+ thumb_func_start sub_8028350
+sub_8028350: @ 8028350
+ push {lr}
+ sub sp, 0x8
+ ldr r2, =0xffffff00
+ ldr r1, [sp]
+ ands r1, r2
+ movs r2, 0x4
+ orrs r1, r2
+ str r1, [sp]
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028350
+
+ thumb_func_start sub_8028374
+sub_8028374: @ 8028374
+ push {lr}
+ adds r2, r0, 0
+ ldr r3, =gRecvCmds
+ ldrh r0, [r3]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _08028396
+ lsls r0, r2, 4
+ adds r1, r3, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0x4
+ beq _080283A0
+_08028396:
+ movs r0, 0
+ b _080283A2
+ .pool
+_080283A0:
+ ldr r0, [r1, 0x4]
+_080283A2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028374
+
+ thumb_func_start sub_80283A8
+sub_80283A8: @ 80283A8
+ push {r4,r5,lr}
+ sub sp, 0x18
+ movs r5, 0xC0
+ lsls r5, 6
+ adds r0, r5, 0
+ bl AllocZeroed
+ adds r4, r0, 0
+ ldr r0, =gUnknown_082FB2D8
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x8]
+ str r1, [sp, 0xC]
+ ldr r0, =gUnknown_082FB2E0
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x10]
+ str r1, [sp, 0x14]
+ ldr r0, =gDodrioBerryPkmnGfx
+ adds r1, r4, 0
+ bl LZ77UnCompWram
+ cmp r4, 0
+ beq _080283E8
+ str r4, [sp]
+ str r5, [sp, 0x4]
+ mov r0, sp
+ bl LoadSpriteSheet
+ adds r0, r4, 0
+ bl Free
+_080283E8:
+ add r0, sp, 0x8
+ bl LoadSpritePalette
+ add r0, sp, 0x10
+ bl LoadSpritePalette
+ add sp, 0x18
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80283A8
+
+ thumb_func_start sub_8028408
+sub_8028408: @ 8028408
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x30
+ adds r6, r1, 0
+ mov r8, r2
+ adds r5, r3, 0
+ lsls r6, 24
+ lsrs r6, 24
+ mov r1, r8
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r5, 24
+ lsrs r5, 24
+ add r1, sp, 0x18
+ movs r3, 0
+ strh r3, [r1]
+ ldrb r2, [r0]
+ mov r0, sp
+ adds r0, 0x1A
+ strh r2, [r0]
+ ldr r0, =gUnknown_082FB1E0
+ str r0, [sp, 0x1C]
+ ldr r0, =gUnknown_082FB228
+ str r0, [sp, 0x20]
+ str r3, [sp, 0x24]
+ ldr r0, =gDummySpriteAffineAnimTable
+ str r0, [sp, 0x28]
+ ldr r0, =sub_80284A8
+ str r0, [sp, 0x2C]
+ mov r0, sp
+ movs r2, 0x18
+ bl memcpy
+ movs r0, 0x4
+ bl AllocZeroed
+ ldr r1, =gUnknown_02022C9C
+ mov r2, r8
+ lsls r4, r2, 2
+ adds r4, r1
+ str r0, [r4]
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_8028F14
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ mov r0, sp
+ movs r2, 0x88
+ movs r3, 0x3
+ bl CreateSprite
+ ldr r1, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ movs r0, 0x1
+ mov r1, r8
+ bl sub_8028654
+ add sp, 0x30
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028408
+
+ thumb_func_start sub_80284A8
+sub_80284A8: @ 80284A8
+ push {lr}
+ movs r2, 0x2E
+ ldrsh r1, [r0, r2]
+ cmp r1, 0x1
+ beq _080284BC
+ cmp r1, 0x1
+ ble _080284C6
+ cmp r1, 0x2
+ beq _080284C2
+ b _080284C6
+_080284BC:
+ bl sub_802853C
+ b _080284C6
+_080284C2:
+ bl sub_80285AC
+_080284C6:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80284A8
+
+ thumb_func_start sub_80284CC
+sub_80284CC: @ 80284CC
+ push {lr}
+ bl GetMultiplayerId
+ ldr r1, =gUnknown_02022C9C
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r2, 0
+ movs r1, 0x1
+ strh r1, [r0, 0x2E]
+ strh r2, [r0, 0x30]
+ strh r2, [r0, 0x32]
+ strh r2, [r0, 0x34]
+ strh r2, [r0, 0x36]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80284CC
+
+ thumb_func_start sub_8028504
+sub_8028504: @ 8028504
+ push {lr}
+ bl GetMultiplayerId
+ ldr r1, =gUnknown_02022C9C
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r2, 0
+ movs r1, 0x2
+ strh r1, [r0, 0x2E]
+ strh r2, [r0, 0x30]
+ strh r2, [r0, 0x32]
+ strh r2, [r0, 0x34]
+ strh r2, [r0, 0x36]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028504
+
+ thumb_func_start sub_802853C
+sub_802853C: @ 802853C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r2, r0, 16
+ lsrs r0, 31
+ adds r0, r2, r0
+ asrs r1, r0, 1
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _08028558
+ adds r0, r1, 0x3
+_08028558:
+ asrs r0, 2
+ lsls r0, 2
+ subs r0, r1, r0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r2, 0x2
+ ble _080285A2
+ cmp r0, 0x2
+ bgt _0802856E
+ cmp r0, 0x1
+ bge _08028572
+_0802856E:
+ movs r0, 0x1
+ b _08028574
+_08028572:
+ movs r0, 0xFF
+_08028574:
+ lsls r0, 24
+ asrs r0, 24
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x27
+ ble _080285A2
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ bl sub_8027650
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0
+ bl sub_8028F14
+ strh r0, [r4, 0x20]
+_080285A2:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802853C
+
+ thumb_func_start sub_80285AC
+sub_80285AC: @ 80285AC
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x1
+ strh r0, [r5, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0xD
+ bl __divsi3
+ lsls r0, 16
+ asrs r1, r0, 16
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _080285CC
+ adds r0, r1, 0x3
+_080285CC:
+ asrs r0, 2
+ lsls r0, 2
+ subs r0, r1, r0
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r1, 0x30
+ ldrsh r0, [r5, r1]
+ movs r1, 0xD
+ bl __modsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _080285F0
+ cmp r4, 0
+ beq _080285F0
+ movs r0, 0xD4
+ bl PlaySE
+_080285F0:
+ movs r1, 0x30
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x67
+ ble _080285FE
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ movs r4, 0
+_080285FE:
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r4, 0
+ bl sub_80286B4
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80285AC
+
+ thumb_func_start sub_8028614
+sub_8028614: @ 8028614
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _08028646
+ ldr r6, =gUnknown_02022C9C
+_08028622:
+ lsls r0, r4, 2
+ adds r0, r6
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _0802863C
+ bl DestroySpriteAndFreeResources
+_0802863C:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08028622
+_08028646:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028614
+
+ thumb_func_start sub_8028654
+sub_8028654: @ 8028654
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ ldr r3, =gSprites
+ ldr r2, =gUnknown_02022C9C
+ lsrs r1, 22
+ adds r1, r2
+ ldr r1, [r1]
+ ldrh r1, [r1]
+ lsls r2, r1, 4
+ adds r2, r1
+ lsls r2, 2
+ adds r2, r3
+ adds r2, 0x3E
+ movs r1, 0x1
+ ands r0, r1
+ lsls r0, 2
+ ldrb r3, [r2]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r3
+ orrs r1, r0
+ strb r1, [r2]
+ bx lr
+ .pool
+ thumb_func_end sub_8028654
+
+ thumb_func_start sub_802868C
+sub_802868C: @ 802868C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _080286AE
+_0802869C:
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_8028654
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _0802869C
+_080286AE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802868C
+
+ thumb_func_start sub_80286B4
+sub_80286B4: @ 80286B4
+ push {lr}
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_02022C9C
+ lsrs r0, 22
+ adds r0, r2
+ ldr r0, [r0]
+ ldrh r2, [r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r2, =gSprites
+ adds r0, r2
+ bl StartSpriteAnim
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80286B4
+
+ thumb_func_start nullsub_15
+nullsub_15: @ 80286E0
+ bx lr
+ thumb_func_end nullsub_15
+
+ thumb_func_start sub_80286E4
+sub_80286E4: @ 80286E4
+ push {r4-r7,lr}
+ movs r4, 0
+ ldr r0, =gSprites
+ mov r12, r0
+ movs r6, 0
+ ldr r5, =gUnknown_02022CF4
+_080286F0:
+ ldr r3, [r5]
+ lsls r1, r4, 1
+ adds r0, r3, 0
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ add r1, r12
+ lsls r0, r4, 4
+ adds r0, 0x30
+ strh r0, [r1, 0x20]
+ lsls r2, r4, 3
+ movs r7, 0x8
+ negs r7, r7
+ adds r0, r7, 0
+ subs r0, r2
+ strh r0, [r1, 0x22]
+ adds r3, 0xC
+ adds r3, r4
+ strb r6, [r3]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _080286F0
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80286E4
+
+ thumb_func_start sub_8028734
+sub_8028734: @ 8028734
+ push {r4-r6,lr}
+ sub sp, 0x28
+ movs r4, 0xC0
+ lsls r4, 1
+ adds r0, r4, 0
+ bl AllocZeroed
+ adds r6, r0, 0
+ ldr r0, =gUnknown_082FB2E8
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ ldr r0, =gDodrioBerryStatusGfx
+ adds r1, r6, 0
+ bl LZ77UnCompWram
+ cmp r6, 0
+ beq _080287C4
+ str r6, [sp, 0x18]
+ add r5, sp, 0x18
+ movs r0, 0x80
+ lsls r0, 9
+ orrs r0, r4
+ str r0, [r5, 0x4]
+ mov r1, sp
+ ldr r0, =gUnknown_082FB2F0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r4, =gUnknown_02022CF4
+ movs r0, 0x40
+ bl AllocZeroed
+ str r0, [r4]
+ adds r0, r5, 0
+ bl LoadSpriteSheet
+ add r0, sp, 0x20
+ bl LoadSpritePalette
+ movs r4, 0
+_0802878A:
+ lsls r1, r4, 20
+ movs r0, 0xC0
+ lsls r0, 14
+ adds r1, r0
+ asrs r1, 16
+ lsls r0, r4, 3
+ movs r3, 0x8
+ negs r3, r3
+ adds r2, r3, 0
+ subs r2, r0
+ lsls r2, 16
+ asrs r2, 16
+ mov r0, sp
+ movs r3, 0
+ bl CreateSprite
+ ldr r1, =gUnknown_02022CF4
+ ldr r1, [r1]
+ lsls r2, r4, 1
+ adds r1, 0x2A
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _0802878A
+_080287C4:
+ adds r0, r6, 0
+ bl Free
+ add sp, 0x28
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028734
+
+ thumb_func_start sub_80287E4
+sub_80287E4: @ 80287E4
+ push {r4,r5,lr}
+ movs r4, 0
+_080287E8:
+ ldr r5, =gUnknown_02022CF4
+ ldr r0, [r5]
+ lsls r1, r4, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _08028806
+ bl DestroySpriteAndFreeResources
+_08028806:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _080287E8
+ ldr r0, [r5]
+ bl Free
+ movs r0, 0
+ str r0, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80287E4
+
+ thumb_func_start sub_8028828
+sub_8028828: @ 8028828
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ movs r3, 0
+ movs r6, 0
+ ldr r0, =gUnknown_02022CF4
+ mov r9, r0
+_0802883A:
+ mov r7, r9
+ ldr r2, [r7]
+ lsls r5, r6, 1
+ adds r0, r2, 0
+ adds r0, 0x2A
+ adds r0, r5
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r4, r0, r1
+ adds r0, r2, 0
+ adds r0, 0x16
+ adds r0, r5
+ movs r1, 0x2
+ strh r1, [r0]
+ adds r0, r2, 0
+ adds r0, 0xC
+ adds r2, r0, r6
+ ldrb r1, [r2]
+ cmp r1, 0
+ beq _08028870
+ movs r7, 0x22
+ ldrsh r0, [r4, r7]
+ cmp r0, 0x8
+ beq _080288A6
+_08028870:
+ movs r3, 0x1
+ movs r7, 0x22
+ ldrsh r0, [r4, r7]
+ cmp r0, 0x8
+ bne _08028896
+ cmp r1, 0
+ bne _080288A6
+ strb r3, [r2]
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, 0x16
+ adds r0, r5
+ ldr r1, =0x0000fff0
+ strh r1, [r0]
+ movs r0, 0x24
+ str r3, [sp]
+ bl PlaySE
+ ldr r3, [sp]
+_08028896:
+ mov r7, r9
+ ldr r0, [r7]
+ adds r0, 0x16
+ adds r0, r5
+ ldrh r0, [r0]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+_080288A6:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x9
+ bls _0802883A
+ cmp r3, 0
+ bne _080288C4
+ movs r0, 0x1
+ b _080288C6
+ .pool
+_080288C4:
+ movs r0, 0
+_080288C6:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028828
+
+ thumb_func_start sub_80288D4
+sub_80288D4: @ 80288D4
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08028910
+ movs r4, 0
+_080288E0:
+ ldr r0, =gUnknown_02022CF4
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r1, 0x1
+ bl StartSpriteAnim
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _080288E0
+ b _080289DA
+ .pool
+_08028910:
+ movs r4, 0
+ movs r0, 0xA
+ subs r0, r5
+ cmp r4, r0
+ bge _080289D6
+ ldr r6, =gSprites
+_0802891C:
+ cmp r5, 0x6
+ bls _08028984
+ ldr r0, =gUnknown_02022CF4
+ ldr r2, [r0]
+ ldr r1, =0x0000fffa
+ adds r0, r1, 0
+ ldrh r1, [r2, 0x3E]
+ adds r0, r1
+ adds r0, r5
+ movs r1, 0
+ strh r0, [r2, 0x3E]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1E
+ bls _0802894C
+ strh r1, [r2, 0x3E]
+ b _0802899E
+ .pool
+_0802894C:
+ cmp r0, 0xA
+ bls _0802896A
+ lsls r1, r4, 1
+ adds r0, r2, 0
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0x2
+ bl StartSpriteAnim
+ b _0802899E
+_0802896A:
+ lsls r1, r4, 1
+ adds r0, r2, 0
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0
+ bl StartSpriteAnim
+ b _0802899E
+_08028984:
+ ldr r0, =gUnknown_02022CF4
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0
+ bl StartSpriteAnim
+_0802899E:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0xA
+ subs r0, r5
+ cmp r4, r0
+ blt _0802891C
+ b _080289D6
+ .pool
+_080289B4:
+ ldr r0, =gUnknown_02022CF4
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r1, 0x1
+ bl StartSpriteAnim
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+_080289D6:
+ cmp r4, 0x9
+ bls _080289B4
+_080289DA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80288D4
+
+ thumb_func_start sub_80289E8
+sub_80289E8: @ 80289E8
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r7, =gSprites
+ movs r1, 0x1
+ ands r0, r1
+ lsls r4, r0, 2
+ movs r6, 0x5
+ negs r6, r6
+ ldr r5, =gUnknown_02022CF4
+_080289FE:
+ ldr r0, [r5]
+ lsls r1, r3, 1
+ adds r0, 0x2A
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ adds r0, r6, 0
+ ands r0, r2
+ orrs r0, r4
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x9
+ bls _080289FE
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80289E8
+
+ thumb_func_start sub_8028A34
+sub_8028A34: @ 8028A34
+ push {r4,r5,lr}
+ sub sp, 0x10
+ movs r5, 0x90
+ lsls r5, 3
+ adds r0, r5, 0
+ bl AllocZeroed
+ adds r4, r0, 0
+ ldr r0, =gUnknown_082FB314
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x8]
+ str r1, [sp, 0xC]
+ ldr r0, =gDodrioBerrySpritesGfx
+ adds r1, r4, 0
+ bl LZ77UnCompWram
+ cmp r4, 0
+ beq _08028A6A
+ str r4, [sp]
+ movs r0, 0x80
+ lsls r0, 10
+ orrs r0, r5
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl LoadSpriteSheet
+_08028A6A:
+ add r0, sp, 0x8
+ bl LoadSpritePalette
+ adds r0, r4, 0
+ bl Free
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028A34
+
+ thumb_func_start sub_8028A88
+sub_8028A88: @ 8028A88
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x30
+ mov r1, sp
+ ldr r0, =gUnknown_082FB324
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ add r2, sp, 0x18
+ adds r1, r2, 0
+ ldr r0, =gUnknown_082FB33C
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ movs r5, 0
+ mov r9, r2
+_08028AB0:
+ movs r0, 0x4
+ bl AllocZeroed
+ ldr r1, =gUnknown_02022CB8
+ lsls r4, r5, 2
+ adds r4, r1
+ str r0, [r4]
+ lsls r0, r5, 3
+ lsls r1, r5, 4
+ adds r1, r0
+ mov r0, sp
+ movs r2, 0x8
+ movs r3, 0x1
+ bl CreateSprite
+ ldr r1, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8028BF8
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08028AB0
+ movs r5, 0
+ ldr r7, =gUnknown_02022CE4
+ ldr r4, =gUnknown_082FB31C
+ mov r8, r4
+_08028AF0:
+ movs r0, 0x4
+ bl AllocZeroed
+ lsls r1, r5, 2
+ adds r4, r1, r7
+ str r0, [r4]
+ adds r6, r1, 0
+ cmp r5, 0x3
+ bne _08028B2C
+ mov r0, r8
+ movs r2, 0x6
+ ldrsh r1, [r0, r2]
+ mov r0, r9
+ movs r2, 0x31
+ movs r3, 0
+ bl CreateSprite
+ ldr r1, [r7, 0xC]
+ b _08028B40
+ .pool
+_08028B2C:
+ lsls r0, r5, 1
+ add r0, r8
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ mov r0, r9
+ movs r2, 0x34
+ movs r3, 0
+ bl CreateSprite
+ ldr r1, [r4]
+_08028B40:
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ adds r0, r6, r7
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ adds r1, r5, 0
+ bl StartSpriteAnim
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _08028AF0
+ movs r0, 0x1
+ bl sub_8028C30
+ add sp, 0x30
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028A88
+
+ thumb_func_start sub_8028B80
+sub_8028B80: @ 8028B80
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, =gUnknown_02022CB8
+_08028B86:
+ lsls r0, r5, 2
+ adds r4, r0, r6
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _08028BA0
+ bl DestroySprite
+_08028BA0:
+ ldr r0, [r4]
+ bl Free
+ movs r0, 0
+ str r0, [r4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xA
+ bls _08028B86
+ movs r5, 0
+ ldr r6, =gUnknown_02022CE4
+_08028BB8:
+ lsls r0, r5, 2
+ adds r4, r0, r6
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _08028BD2
+ bl DestroySprite
+_08028BD2:
+ ldr r0, [r4]
+ bl Free
+ movs r0, 0
+ str r0, [r4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _08028BB8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028B80
+
+ thumb_func_start sub_8028BF8
+sub_8028BF8: @ 8028BF8
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r3, =gSprites
+ ldr r2, =gUnknown_02022CB8
+ lsrs r0, 22
+ adds r0, r2
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r3
+ adds r2, 0x3E
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r3, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2]
+ bx lr
+ .pool
+ thumb_func_end sub_8028BF8
+
+ thumb_func_start sub_8028C30
+sub_8028C30: @ 8028C30
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r7, =gSprites
+ ldr r6, =gUnknown_02022CE4
+ movs r1, 0x1
+ ands r0, r1
+ lsls r4, r0, 2
+ movs r5, 0x5
+ negs r5, r5
+_08028C46:
+ lsls r0, r3, 2
+ adds r0, r6
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ adds r0, r5, 0
+ ands r0, r2
+ orrs r0, r4
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x3
+ bls _08028C46
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028C30
+
+ thumb_func_start sub_8028C7C
+sub_8028C7C: @ 8028C7C
+ lsls r0, 24
+ lsls r1, 24
+ ldr r3, =gSprites
+ ldr r2, =gUnknown_02022CB8
+ lsrs r0, 22
+ adds r0, r2
+ ldr r0, [r0]
+ ldrh r2, [r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ lsrs r1, 21
+ strh r1, [r0, 0x22]
+ bx lr
+ .pool
+ thumb_func_end sub_8028C7C
+
+ thumb_func_start sub_8028CA4
+sub_8028CA4: @ 8028CA4
+ push {lr}
+ lsls r0, 16
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_02022CB8
+ lsrs r0, 14
+ adds r0, r2
+ ldr r0, [r0]
+ ldrh r2, [r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ ldr r2, =gSprites
+ adds r0, r2
+ bl StartSpriteAnim
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028CA4
+
+ thumb_func_start sub_8028CD0
+sub_8028CD0: @ 8028CD0
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r1
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r1, 0x32
+ strh r1, [r2, 0x20]
+ movs r0, 0x32
+ strh r0, [r2, 0x22]
+ bx lr
+ .pool
+ thumb_func_end sub_8028CD0
+
+ thumb_func_start sub_8028CF4
+sub_8028CF4: @ 8028CF4
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ adds r0, 0x42
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ beq _08028D36
+ movs r3, 0
+ ldr r7, =gUnknown_082FB354
+ ldr r6, =gUnknown_02022CB0
+ movs r5, 0
+_08028D0A:
+ lsls r0, r3, 2
+ adds r2, r0, r6
+ ldr r1, [r2]
+ ldrh r0, [r1, 0x2]
+ adds r0, 0x1
+ strh r0, [r1, 0x2]
+ adds r1, r3, r7
+ lsls r0, 16
+ lsrs r0, 16
+ ldrb r1, [r1]
+ cmp r0, r1
+ bls _08028D2C
+ ldrh r0, [r4, 0x20]
+ subs r0, 0x1
+ strh r0, [r4, 0x20]
+ ldr r0, [r2]
+ strh r5, [r0, 0x2]
+_08028D2C:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _08028D0A
+_08028D36:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028CF4
+
+ thumb_func_start sub_8028D44
+sub_8028D44: @ 8028D44
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x28
+ movs r4, 0x80
+ lsls r4, 3
+ adds r0, r4, 0
+ bl AllocZeroed
+ adds r6, r0, 0
+ ldr r0, =gUnknown_082FB360
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ ldr r0, =gDodrioBerryPlatformGfx
+ adds r1, r6, 0
+ bl LZ77UnCompWram
+ cmp r6, 0
+ beq _08028DD2
+ str r6, [sp, 0x18]
+ add r0, sp, 0x18
+ movs r1, 0xA0
+ lsls r1, 11
+ orrs r1, r4
+ str r1, [r0, 0x4]
+ mov r2, sp
+ ldr r1, =gUnknown_082FB368
+ ldm r1!, {r3-r5}
+ stm r2!, {r3-r5}
+ ldm r1!, {r3-r5}
+ stm r2!, {r3-r5}
+ bl LoadSpriteSheet
+ add r0, sp, 0x20
+ bl LoadSpritePalette
+ movs r5, 0
+ ldr r7, =gUnknown_082FB356
+ adds r0, r7, 0x2
+ mov r9, r0
+ ldr r1, =gUnknown_02022CB0
+ mov r8, r1
+_08028D9E:
+ movs r0, 0x4
+ bl AllocZeroed
+ lsls r2, r5, 2
+ mov r3, r8
+ adds r4, r2, r3
+ str r0, [r4]
+ adds r0, r2, r7
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ add r2, r9
+ movs r0, 0
+ ldrsh r2, [r2, r0]
+ mov r0, sp
+ movs r3, 0x4
+ bl CreateSprite
+ ldr r1, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x1
+ bls _08028D9E
+_08028DD2:
+ adds r0, r6, 0
+ bl Free
+ add sp, 0x28
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028D44
+
+ thumb_func_start sub_8028DFC
+sub_8028DFC: @ 8028DFC
+ push {r4-r7,lr}
+ movs r3, 0
+ ldr r0, =gUnknown_02022CB0
+ mov r12, r0
+ ldr r4, =gUnknown_082FB356
+ adds r7, r4, 0x2
+ ldr r6, =gSprites
+ movs r5, 0x1
+_08028E0C:
+ lsls r2, r3, 2
+ mov r1, r12
+ adds r0, r2, r1
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ adds r0, r1, 0
+ adds r0, 0x42
+ strh r5, [r0]
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ strh r0, [r1, 0x20]
+ adds r2, r7
+ ldrh r0, [r2]
+ strh r0, [r1, 0x22]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _08028E0C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028DFC
+
+ thumb_func_start sub_8028E4C
+sub_8028E4C: @ 8028E4C
+ push {r4,r5,lr}
+ movs r2, 0
+ ldr r5, =gUnknown_02022CB0
+ ldr r4, =gSprites
+ movs r3, 0
+_08028E56:
+ lsls r0, r2, 2
+ adds r0, r5
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ adds r0, 0x42
+ strh r3, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1
+ bls _08028E56
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028E4C
+
+ thumb_func_start sub_8028E84
+sub_8028E84: @ 8028E84
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, =gUnknown_02022CB0
+_08028E8A:
+ lsls r0, r5, 2
+ adds r4, r0, r6
+ ldr r0, [r4]
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ cmp r0, 0
+ beq _08028EA4
+ bl DestroySprite
+_08028EA4:
+ ldr r0, [r4]
+ bl Free
+ movs r0, 0
+ str r0, [r4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x1
+ bls _08028E8A
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028E84
+
+ thumb_func_start sub_8028EC8
+sub_8028EC8: @ 8028EC8
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r7, =gSprites
+ ldr r6, =gUnknown_02022CB0
+ movs r1, 0x1
+ ands r0, r1
+ lsls r4, r0, 2
+ movs r5, 0x5
+ negs r5, r5
+_08028EDE:
+ lsls r0, r3, 2
+ adds r0, r6
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ adds r0, r5, 0
+ ands r0, r2
+ orrs r0, r4
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1
+ bls _08028EDE
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8028EC8
+
+ thumb_func_start sub_8028F14
+sub_8028F14: @ 8028F14
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ movs r3, 0
+ subs r0, r1, 0x1
+ cmp r0, 0x4
+ bhi _08028FC6
+ lsls r0, 2
+ ldr r1, =_08028F34
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08028F34:
+ .4byte _08028FB4
+ .4byte _08028F48
+ .4byte _08028F52
+ .4byte _08028F66
+ .4byte _08028F8E
+_08028F48:
+ cmp r2, 0
+ beq _08028F7E
+ cmp r2, 0x1
+ bne _08028FC6
+ b _08028F82
+_08028F52:
+ cmp r2, 0x1
+ beq _08028FB8
+ cmp r2, 0x1
+ bgt _08028F60
+ cmp r2, 0
+ beq _08028FB4
+ b _08028FC6
+_08028F60:
+ cmp r2, 0x2
+ bne _08028FC6
+ b _08028FC4
+_08028F66:
+ cmp r2, 0x1
+ beq _08028F82
+ cmp r2, 0x1
+ bgt _08028F74
+ cmp r2, 0
+ beq _08028F7E
+ b _08028FC6
+_08028F74:
+ cmp r2, 0x2
+ beq _08028F86
+ cmp r2, 0x3
+ beq _08028F8A
+ b _08028FC6
+_08028F7E:
+ movs r3, 0xC
+ b _08028FC6
+_08028F82:
+ movs r3, 0x12
+ b _08028FC6
+_08028F86:
+ movs r3, 0x18
+ b _08028FC6
+_08028F8A:
+ movs r3, 0x6
+ b _08028FC6
+_08028F8E:
+ cmp r2, 0x4
+ bhi _08028FC6
+ lsls r0, r2, 2
+ ldr r1, =_08028FA0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08028FA0:
+ .4byte _08028FB4
+ .4byte _08028FB8
+ .4byte _08028FBC
+ .4byte _08028FC0
+ .4byte _08028FC4
+_08028FB4:
+ movs r3, 0xF
+ b _08028FC6
+_08028FB8:
+ movs r3, 0x15
+ b _08028FC6
+_08028FBC:
+ movs r3, 0x1B
+ b _08028FC6
+_08028FC0:
+ movs r3, 0x3
+ b _08028FC6
+_08028FC4:
+ movs r3, 0x9
+_08028FC6:
+ lsls r0, r3, 3
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8028F14
+
+ thumb_func_start sub_8028FCC
+sub_8028FCC: @ 8028FCC
+ push {r4,lr}
+ movs r4, 0
+_08028FD0:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8028BF8
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8028C7C
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0xA
+ bls _08028FD0
+ movs r0, 0
+ bl sub_80289E8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8028FCC
+
+ thumb_func_start sub_8028FF8
+sub_8028FF8: @ 8028FF8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl GetWindowFrameTilesPal
+ ldr r1, [r0]
+ movs r2, 0x90
+ lsls r2, 1
+ movs r0, 0
+ movs r3, 0x1
+ bl LoadBgTiles
+ adds r0, r4, 0
+ bl GetWindowFrameTilesPal
+ ldr r0, [r0, 0x4]
+ movs r1, 0xA0
+ movs r2, 0x20
+ bl LoadPalette
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8028FF8
+
+ thumb_func_start sub_802902C
+sub_802902C: @ 802902C
+ push {lr}
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0xB0
+ bl LoadUserWindowBorderGfx_
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802902C
+
+ thumb_func_start sub_802903C
+sub_802903C: @ 802903C
+ ldr r3, =gUnknown_02022CF8
+ ldr r0, [r3]
+ movs r2, 0xC0
+ lsls r2, 6
+ adds r1, r0, r2
+ movs r2, 0
+ str r2, [r1]
+ ldr r1, =0x00003014
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r1, 0x4
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r1, 0x8
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r3]
+ adds r1, 0x4
+ adds r0, r1
+ strb r2, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802903C
+
+ thumb_func_start sub_8029074
+sub_8029074: @ 8029074
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ movs r6, 0xA
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ movs r5, 0x1
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x1
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4, 0x3]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x2
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x3
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ str r5, [sp]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x4
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ str r5, [sp]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x6
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x4]
+ ldrb r0, [r4, 0x2]
+ adds r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x7
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ ldrb r3, [r4, 0x4]
+ ldrb r0, [r4, 0x2]
+ adds r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4, 0x3]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x8
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x4]
+ ldrb r4, [r4, 0x2]
+ adds r3, r4
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x9
+ bl FillBgTilemapBufferRect
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8029074
+
+ thumb_func_start sub_8029174
+sub_8029174: @ 8029174
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ movs r6, 0xB
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ movs r5, 0x1
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xA
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4, 0x3]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xB
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xC
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ str r5, [sp]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xD
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x2]
+ str r5, [sp]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xF
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x4]
+ ldrb r0, [r4, 0x2]
+ adds r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x10
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x1]
+ ldrb r3, [r4, 0x4]
+ ldrb r0, [r4, 0x2]
+ adds r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4, 0x3]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x11
+ bl FillBgTilemapBufferRect
+ ldrb r2, [r4, 0x3]
+ ldrb r0, [r4, 0x1]
+ adds r2, r0
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r3, [r4, 0x4]
+ ldrb r4, [r4, 0x2]
+ adds r3, r4
+ lsls r3, 24
+ lsrs r3, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x12
+ bl FillBgTilemapBufferRect
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8029174
+
+ thumb_func_start sub_8029274
+sub_8029274: @ 8029274
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CF8
+ str r0, [r4]
+ movs r2, 0xC0
+ lsls r2, 6
+ adds r1, r0, r2
+ movs r2, 0
+ str r2, [r1]
+ ldr r3, =0x00003014
+ adds r1, r0, r3
+ strb r2, [r1]
+ ldr r1, =0x00003018
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r3, 0xC
+ adds r0, r3
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r1, 0xC
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, =sub_8029314
+ movs r1, 0x3
+ bl CreateTask
+ ldr r1, [r4]
+ ldr r2, =0x00003004
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, =sub_8029338
+ bl sub_802A72C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8029274
+
+ thumb_func_start sub_80292D4
+sub_80292D4: @ 80292D4
+ push {lr}
+ bl FreeAllWindowBuffers
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80292D4
+
+ thumb_func_start sub_80292E0
+sub_80292E0: @ 80292E0
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r4, 0
+ ldr r5, =gUnknown_082FB40C
+ adds r7, r5, 0x4
+_080292EC:
+ lsls r1, r4, 3
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ cmp r0, r6
+ bne _080292FE
+ adds r0, r1, r7
+ ldr r0, [r0]
+ bl sub_802A72C
+_080292FE:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _080292EC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80292E0
+
+ thumb_func_start sub_8029314
+sub_8029314: @ 8029314
+ push {lr}
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0802932E
+ bl sub_802A75C
+ bl _call_via_r0
+_0802932E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8029314
+
+ thumb_func_start sub_8029338
+sub_8029338: @ 8029338
+ push {lr}
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r2, =0x00003014
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bhi _08029430
+ lsls r0, 2
+ ldr r1, =_08029360
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08029360:
+ .4byte _08029374
+ .4byte _0802937A
+ .4byte _08029394
+ .4byte _080293D8
+ .4byte _08029404
+_08029374:
+ bl sub_802A7A8
+ b _08029414
+_0802937A:
+ bl sub_802A8E8
+ cmp r0, 0x1
+ bne _0802943A
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802941C
+ .pool
+_08029394:
+ ldr r1, =gDodrioBerryBgTilemap1
+ movs r0, 0x3
+ movs r2, 0
+ movs r3, 0
+ bl CopyToBgTilemapBuffer
+ ldr r1, =gDodrioBerryBgTilemap2Left
+ movs r0, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl CopyToBgTilemapBuffer
+ ldr r1, =gDodrioBerryBgTilemap2Right
+ movs r0, 0x2
+ movs r2, 0
+ movs r3, 0
+ bl CopyToBgTilemapBuffer
+ movs r0, 0x3
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x1
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x2
+ bl CopyBgTilemapBufferToVram
+ b _08029414
+ .pool
+_080293D8:
+ movs r0, 0
+ bl ShowBg
+ movs r0, 0x3
+ bl ShowBg
+ movs r0, 0x1
+ bl ShowBg
+ movs r0, 0x2
+ bl ShowBg
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802941C
+ .pool
+_08029404:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x14]
+ lsrs r0, 3
+ bl sub_8028FF8
+ bl sub_802902C
+_08029414:
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+_0802941C:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802943A
+ .pool
+_08029430:
+ movs r2, 0xC0
+ lsls r2, 6
+ adds r1, r2
+ movs r0, 0x1
+ str r0, [r1]
+_0802943A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8029338
+
+ thumb_func_start sub_8029440
+sub_8029440: @ 8029440
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1C
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r2, =0x00003014
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08029488
+ cmp r0, 0x1
+ bne _08029460
+ b _080295EC
+_08029460:
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xB4
+ bhi _0802946E
+ b _0802968E
+_0802946E:
+ bl sub_8027650
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ cmp r6, r7
+ bcc _0802947E
+ b _08029666
+_0802947E:
+ b _08029640
+ .pool
+_08029488:
+ bl sub_8027650
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, =gUnknown_082FB3C8
+ subs r0, r7, 0x1
+ lsls r0, 2
+ adds r0, r1
+ ldr r5, [r0]
+ ldr r2, =0xffffff00
+ ldr r0, [sp, 0xC]
+ ands r0, r2
+ ldr r1, =0x00ffffff
+ ands r0, r1
+ movs r1, 0xE0
+ lsls r1, 19
+ orrs r0, r1
+ str r0, [sp, 0xC]
+ ldr r0, [sp, 0x10]
+ ands r0, r2
+ movs r1, 0x2
+ orrs r0, r1
+ ldr r1, =0xffff00ff
+ ands r0, r1
+ movs r1, 0xD0
+ lsls r1, 4
+ orrs r0, r1
+ ldr r1, =0x0000ffff
+ ands r0, r1
+ movs r1, 0x98
+ lsls r1, 13
+ orrs r0, r1
+ str r0, [sp, 0x10]
+ movs r6, 0
+ cmp r6, r7
+ bcs _080295B8
+ mov r3, sp
+ adds r3, 0xC
+ str r3, [sp, 0x18]
+ mov r10, r4
+ ldr r0, =0x00003008
+ mov r9, r0
+_080294DC:
+ movs r1, 0
+ mov r8, r1
+ adds r0, r6, 0
+ bl sub_8027A48
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0, 0
+ bl sub_8027660
+ adds r1, r0, 0
+ movs r0, 0x1
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ movs r1, 0x38
+ subs r1, r0
+ lsrs r1, 1
+ str r1, [sp, 0x14]
+ ldrb r0, [r5]
+ lsls r0, 8
+ ldr r2, =0xffff00ff
+ ldr r1, [sp, 0xC]
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp, 0xC]
+ ldrb r2, [r5, 0x1]
+ lsls r2, 16
+ ldr r0, =0xff00ffff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp, 0xC]
+ add r0, sp, 0xC
+ bl AddWindow
+ mov r2, r10
+ ldr r1, [r2]
+ add r1, r9
+ adds r1, r6
+ strb r0, [r1]
+ ldr r0, [r2]
+ add r0, r9
+ adds r0, r6
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ mov r3, r10
+ ldr r0, [r3]
+ add r0, r9
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _0802955A
+ movs r0, 0x2
+ mov r8, r0
+_0802955A:
+ adds r0, r4, 0
+ bl sub_8027660
+ adds r4, r0, 0
+ mov r1, r10
+ ldr r0, [r1]
+ add r0, r9
+ adds r0, r6
+ ldrb r0, [r0]
+ ldr r3, [sp, 0x14]
+ lsls r2, r3, 24
+ lsrs r2, 24
+ mov r3, r8
+ lsls r1, r3, 1
+ add r1, r8
+ ldr r3, =gUnknown_082FB380
+ adds r1, r3
+ str r1, [sp]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ mov r2, r10
+ ldr r0, [r2]
+ add r0, r9
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r3, [sp, 0x18]
+ ldrh r0, [r3, 0x6]
+ adds r0, 0xE
+ strh r0, [r3, 0x6]
+ add r0, sp, 0xC
+ bl sub_8029174
+ adds r5, 0x4
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r7
+ bcc _080294DC
+_080295B8:
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _0802962A
+ .pool
+_080295EC:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802968E
+ bl sub_8027650
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ cmp r6, r7
+ bcs _0802961C
+_08029604:
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ adds r0, r6
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r7
+ bcc _08029604
+_0802961C:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r2, =0x00003014
+ adds r1, r2
+_0802962A:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802968E
+ .pool
+_08029640:
+ ldr r5, =gUnknown_02022CF8
+ ldr r0, [r5]
+ ldr r4, =0x00003008
+ adds r0, r4
+ adds r0, r6
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r5]
+ adds r0, r4
+ adds r0, r6
+ ldrb r0, [r0]
+ bl RemoveWindow
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r7
+ bcc _08029640
+_08029666:
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ movs r3, 0xC0
+ lsls r3, 6
+ adds r0, r3
+ movs r1, 0x1
+ str r1, [r0]
+_0802968E:
+ add sp, 0x1C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8029440
+
+ thumb_func_start sub_80296A8
+sub_80296A8: @ 80296A8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x6C
+ lsls r0, 24
+ movs r1, 0
+ mov r8, r1
+ movs r6, 0
+ lsrs r7, r0, 24
+ add r4, sp, 0x2C
+ ldr r1, =gUnknown_082FB45C
+ adds r0, r4, 0
+ movs r2, 0x5
+ bl memcpy
+ movs r5, 0
+ cmp r5, r7
+ bcs _080296F8
+ add r4, sp, 0x34
+_080296D2:
+ mov r0, sp
+ adds r0, r5
+ adds r0, 0x2C
+ strb r5, [r0]
+ add r0, sp, 0x5C
+ adds r1, r5, 0
+ bl sub_802793C
+ lsls r2, r5, 3
+ adds r2, r4, r2
+ ldr r0, [sp, 0x5C]
+ ldr r1, [sp, 0x60]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _080296D2
+_080296F8:
+ bl sub_8027748
+ cmp r0, 0
+ beq _0802972E
+_08029700:
+ movs r5, 0
+ cmp r5, r7
+ bcs _08029728
+ add r2, sp, 0x34
+ add r1, sp, 0x2C
+_0802970A:
+ lsls r0, r5, 3
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ cmp r0, r8
+ bne _0802971E
+ adds r0, r1, r6
+ strb r5, [r0]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_0802971E:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _0802970A
+_08029728:
+ mov r8, r6
+ cmp r6, r7
+ bcc _08029700
+_0802972E:
+ movs r5, 0
+ ldr r4, =gText_SpacePoints
+ cmp r5, r7
+ bcs _08029754
+ add r1, sp, 0x34
+ add r6, sp, 0x38
+ subs r3, r7, 0x1
+_0802973C:
+ lsls r2, r5, 3
+ adds r0, r6, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0802974A
+ adds r0, r1, r2
+ strb r3, [r0]
+_0802974A:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _0802973C
+_08029754:
+ movs r0, 0x1
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetStringWidth
+ movs r1, 0xD8
+ subs r1, r0
+ str r1, [sp, 0x64]
+ movs r5, 0
+ cmp r5, r7
+ bcs _08029860
+ mov r2, sp
+ adds r2, 0x34
+ str r2, [sp, 0x68]
+ ldr r3, =0x00003009
+ mov r10, r3
+_08029774:
+ movs r0, 0
+ mov r8, r0
+ mov r0, sp
+ adds r0, r5
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ adds r4, r0, 0
+ lsls r1, r4, 3
+ add r0, sp, 0x38
+ adds r0, r1
+ ldr r0, [r0]
+ mov r9, r0
+ ldr r2, =gUnknown_02022CF8
+ ldr r0, [r2]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r2, =gUnknown_082FB3DC
+ ldr r3, [sp, 0x68]
+ adds r1, r3, r1
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ ldr r2, [r1]
+ ldr r3, =gUnknown_082FB402
+ lsls r1, r5, 1
+ adds r1, r3
+ ldrb r6, [r1]
+ str r6, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ mov r3, r8
+ str r3, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _080297CC
+ movs r0, 0x2
+ mov r8, r0
+_080297CC:
+ adds r0, r4, 0
+ bl sub_8027660
+ adds r3, r0, 0
+ ldr r1, =gUnknown_02022CF8
+ ldr r0, [r1]
+ add r0, r10
+ ldrb r0, [r0]
+ mov r2, r8
+ lsls r1, r2, 1
+ add r1, r8
+ ldr r2, =gUnknown_082FB380
+ adds r1, r2
+ str r1, [sp]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [sp, 0x4]
+ str r3, [sp, 0x8]
+ movs r1, 0x1
+ movs r2, 0x1C
+ adds r3, r6, 0
+ bl AddTextPrinterParameterized3
+ add r0, sp, 0xC
+ mov r1, r9
+ movs r2, 0
+ movs r3, 0x7
+ bl ConvertIntToDecimalStringN
+ movs r0, 0x1
+ add r1, sp, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ adds r3, r0, 0
+ ldr r2, =gUnknown_02022CF8
+ ldr r0, [r2]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r1, [sp, 0x64]
+ subs r3, r1, r3
+ lsls r3, 24
+ lsrs r3, 24
+ str r6, [sp]
+ movs r2, 0xFF
+ str r2, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ add r2, sp, 0xC
+ bl AddTextPrinterParameterized
+ ldr r2, =gUnknown_02022CF8
+ ldr r0, [r2]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r1, [sp, 0x64]
+ lsls r3, r1, 24
+ str r6, [sp]
+ movs r2, 0xFF
+ str r2, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ ldr r2, =gText_SpacePoints
+ lsrs r3, 24
+ bl AddTextPrinterParameterized
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _08029774
+_08029860:
+ add sp, 0x6C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80296A8
+
+ thumb_func_start sub_802988C
+sub_802988C: @ 802988C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ bl sub_8027650
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0xC]
+ ldr r6, =gUnknown_02022CF8
+ ldr r1, [r6]
+ ldr r2, =0x00003014
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0xB
+ bls _080298B2
+ b _08029FA8
+_080298B2:
+ lsls r0, 2
+ ldr r1, =_080298C8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_080298C8:
+ .4byte _080298F8
+ .4byte _08029914
+ .4byte _0802996C
+ .4byte _08029B6C
+ .4byte _08029BB8
+ .4byte _08029BFC
+ .4byte _08029C60
+ .4byte _08029C9C
+ .4byte _08029CE0
+ .4byte _08029DA0
+ .4byte _08029F08
+ .4byte _08029F5C
+_080298F8:
+ bl sub_802784C
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x0000301c
+ adds r2, r1, r0
+ movs r0, 0
+ strh r0, [r2]
+ b _08029F8A
+ .pool
+_08029914:
+ ldr r6, =gUnknown_082F7BBC
+ adds r0, r6, 0
+ bl AddWindow
+ ldr r4, =gUnknown_02022CF8
+ ldr r1, [r4]
+ ldr r2, =0x00003008
+ mov r8, r2
+ add r1, r8
+ strb r0, [r1]
+ movs r0, 0x8
+ adds r0, r6
+ mov r9, r0
+ bl AddWindow
+ ldr r1, [r4]
+ ldr r5, =0x00003009
+ adds r1, r5
+ strb r0, [r1]
+ ldr r0, [r4]
+ add r0, r8
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r0, r6, 0
+ bl sub_8029174
+ mov r0, r9
+ bl sub_8029174
+ b _08029F88
+ .pool
+_0802996C:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r5, =0x00003008
+ adds r0, r5
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r4]
+ ldr r1, =0x00003009
+ mov r9, r1
+ add r0, r9
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r2, =gText_BerryPickingResults
+ mov r8, r2
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x1
+ mov r1, r8
+ bl GetStringWidth
+ adds r1, r0, 0
+ movs r0, 0xE0
+ subs r0, r1
+ lsrs r3, r0, 1
+ ldr r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r3, 24
+ lsrs r3, 24
+ movs r1, 0x1
+ str r1, [sp]
+ movs r6, 0xFF
+ str r6, [sp, 0x4]
+ movs r5, 0
+ str r5, [sp, 0x8]
+ mov r2, r8
+ bl AddTextPrinterParameterized
+ ldr r0, [r4]
+ add r0, r9
+ ldrb r0, [r0]
+ ldr r2, =gText_10P30P50P50P
+ movs r1, 0x11
+ str r1, [sp]
+ str r6, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x44
+ bl AddTextPrinterParameterized
+ mov r9, r5
+ ldr r0, [sp, 0xC]
+ cmp r9, r0
+ bcc _080299E2
+ b _08029B2A
+_080299E2:
+ movs r4, 0
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r9, r0
+ bne _080299F2
+ movs r4, 0x2
+_080299F2:
+ mov r0, r9
+ bl sub_8027660
+ adds r6, r0, 0
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r1, =0x00003009
+ adds r0, r1
+ ldrb r0, [r0]
+ mov r2, r9
+ lsls r5, r2, 1
+ ldr r2, =gUnknown_082FB3F8
+ adds r1, r5, r2
+ ldrb r3, [r1]
+ lsls r1, r4, 1
+ adds r1, r4
+ ldr r2, =gUnknown_082FB380
+ adds r1, r2
+ str r1, [sp]
+ movs r4, 0x1
+ negs r4, r4
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r1, 0x1
+ movs r2, 0
+ bl AddTextPrinterParameterized3
+ movs r7, 0
+ mov r8, r5
+ mov r0, r9
+ adds r0, 0x1
+ str r0, [sp, 0x10]
+ ldr r1, =gStringVar4
+ mov r10, r1
+_08029A36:
+ mov r0, r9
+ adds r1, r7, 0
+ bl sub_80276A0
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, =0x0000270f
+ bl sub_8027A38
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r7, 0
+ bl sub_802778C
+ ldr r1, =0x0000270f
+ bl sub_8027A38
+ lsls r0, 16
+ lsrs r6, r0, 16
+ mov r0, r10
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0x4
+ bl ConvertIntToDecimalStringN
+ movs r0, 0x1
+ mov r1, r10
+ movs r2, 0x1
+ negs r2, r2
+ bl GetStringWidth
+ adds r5, r0, 0
+ cmp r6, r4
+ bne _08029AE0
+ cmp r6, 0
+ beq _08029AE0
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r1, r7, 1
+ ldr r2, =gUnknown_082FB3F0
+ adds r1, r2
+ ldrb r2, [r1]
+ subs r2, r5
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r1, =gUnknown_082FB3F8
+ add r1, r8
+ ldrb r3, [r1]
+ ldr r1, =gUnknown_082FB383
+ str r1, [sp]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [sp, 0x4]
+ mov r1, r10
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ bl AddTextPrinterParameterized3
+ b _08029B10
+ .pool
+_08029AE0:
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r1, r7, 1
+ ldr r2, =gUnknown_082FB3F0
+ adds r1, r2
+ ldrb r3, [r1]
+ subs r3, r5
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r1, =gUnknown_082FB3F8
+ add r1, r8
+ ldrb r1, [r1]
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ ldr r2, =gStringVar4
+ bl AddTextPrinterParameterized
+_08029B10:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x3
+ bls _08029A36
+ ldr r1, [sp, 0x10]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldr r2, [sp, 0xC]
+ cmp r9, r2
+ bcs _08029B2A
+ b _080299E2
+_08029B2A:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r4]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029B6C:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08029B90
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_08029B90:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0
+ bl sub_8028C30
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029BB8:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x0000301c
+ adds r2, r0, r1
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bhi _08029BD0
+ b _08029FF8
+_08029BD0:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08029BDE
+ b _08029FF8
+_08029BDE:
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_8028C30
+ b _08029F88
+ .pool
+_08029BFC:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r5, =0x00003008
+ adds r0, r5
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r4]
+ ldr r1, =0x00003009
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r6, =gText_AnnouncingRankings
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x1
+ adds r1, r6, 0
+ bl GetStringWidth
+ adds r1, r0, 0
+ movs r0, 0xE0
+ subs r0, r1
+ lsrs r3, r0, 1
+ ldr r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r3, 24
+ lsrs r3, 24
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r6, 0
+ bl AddTextPrinterParameterized
+ b _08029F88
+ .pool
+_08029C60:
+ ldr r0, [sp, 0xC]
+ bl sub_80296A8
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r4]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029C9C:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08029CC0
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_08029CC0:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029CE0:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x0000301c
+ adds r2, r0, r1
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bhi _08029CF8
+ b _08029FF8
+_08029CF8:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08029D06
+ b _08029FF8
+_08029D06:
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x5
+ bl PlaySE
+ bl sub_8027748
+ ldr r1, =0x00000bb7
+ cmp r0, r1
+ bhi _08029D3C
+ ldr r0, [r4]
+ ldr r2, =0x00003014
+ adds r0, r2
+ movs r1, 0x7F
+ strb r1, [r0]
+ b _08029D4C
+ .pool
+_08029D3C:
+ bl StopMapMusic
+ ldr r1, [r4]
+ ldr r0, =0x00003014
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_08029D4C:
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0xF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x5
+ bl FillBgTilemapBufferRect_Palette0
+ ldr r5, =gUnknown_02022CF8
+ ldr r0, [r5]
+ ldr r4, =0x00003009
+ adds r0, r4
+ ldrb r0, [r0]
+ bl RemoveWindow
+ ldr r6, =gUnknown_082F7BCC
+ adds r0, r6, 0
+ bl AddWindow
+ ldr r1, [r5]
+ adds r1, r4
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r0, r6, 0
+ bl sub_8029174
+ b _08029FF8
+ .pool
+_08029DA0:
+ ldr r0, =0x0000016f
+ bl PlayNewMapMusic
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r6, =0x00003008
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r4]
+ ldr r1, =0x00003009
+ mov r10, r1
+ add r0, r10
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r5, =gText_AnnouncingPrizes
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x1
+ adds r1, r5, 0
+ bl GetStringWidth
+ adds r1, r0, 0
+ movs r0, 0xE0
+ subs r0, r1
+ lsrs r3, r0, 1
+ ldr r0, [r4]
+ adds r0, r6
+ ldrb r0, [r0]
+ lsls r3, 24
+ lsrs r3, 24
+ movs r2, 0x1
+ mov r9, r2
+ str r2, [sp]
+ movs r1, 0xFF
+ mov r8, r1
+ str r1, [sp, 0x4]
+ movs r6, 0
+ str r6, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r5, 0
+ bl AddTextPrinterParameterized
+ bl DynamicPlaceholderTextUtil_Reset
+ bl sub_802762C
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r5, =gStringVar1
+ adds r1, r5, 0
+ bl CopyItemName
+ movs r0, 0
+ adds r1, r5, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r7, =gStringVar4
+ ldr r1, =gText_FirstPlacePrize
+ adds r0, r7, 0
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ ldr r0, [r4]
+ add r0, r10
+ ldrb r0, [r0]
+ mov r2, r9
+ str r2, [sp]
+ mov r1, r8
+ str r1, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r7, 0
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ bl sub_80279C8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r6, r4, 0
+ cmp r4, 0
+ beq _08029EC8
+ cmp r4, 0x3
+ beq _08029EC8
+ bl DynamicPlaceholderTextUtil_Reset
+ bl sub_802762C
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r5, 0
+ bl CopyItemName
+ movs r0, 0
+ adds r1, r5, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ cmp r4, 0x2
+ bne _08029E9C
+ ldr r1, =gText_CantHoldAnyMore
+ adds r0, r7, 0
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ b _08029EA8
+ .pool
+_08029E9C:
+ cmp r6, 0x1
+ bne _08029EA8
+ ldr r1, =gText_FilledStorageSpace
+ adds r0, r7, 0
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+_08029EA8:
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ ldr r2, =gStringVar4
+ movs r1, 0x29
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+_08029EC8:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r4]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029F08:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08029F2C
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ ldr r0, [r4]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_08029F2C:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =0x0000020b
+ movs r1, 0x14
+ movs r2, 0xA
+ bl FadeOutAndFadeInNewMapMusic
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _08029F8E
+ .pool
+_08029F5C:
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x0000301c
+ adds r2, r0, r1
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bls _08029FF8
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08029FF8
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x5
+ bl PlaySE
+_08029F88:
+ ldr r1, [r4]
+_08029F8A:
+ ldr r2, =0x00003014
+ adds r1, r2
+_08029F8E:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08029FF8
+ .pool
+_08029FA8:
+ ldr r5, =0x00003008
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r6]
+ ldr r4, =0x00003009
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r6]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl RemoveWindow
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl RemoveWindow
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, [r6]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+_08029FF8:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802988C
+
+ thumb_func_start sub_802A010
+sub_802A010: @ 802A010
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ ldr r1, =gUnknown_02022CF8
+ ldr r2, [r1]
+ ldr r3, =0x00003014
+ adds r0, r2, r3
+ ldrb r6, [r0]
+ adds r7, r1, 0
+ cmp r6, 0x1
+ beq _0802A0CC
+ cmp r6, 0x1
+ bgt _0802A040
+ cmp r6, 0
+ beq _0802A04E
+ b _0802A2FC
+ .pool
+_0802A040:
+ cmp r6, 0x2
+ bne _0802A046
+ b _0802A194
+_0802A046:
+ cmp r6, 0x3
+ bne _0802A04C
+ b _0802A1D0
+_0802A04C:
+ b _0802A2FC
+_0802A04E:
+ ldr r0, =gUnknown_082F7BD4
+ mov r9, r0
+ bl AddWindow
+ ldr r1, [r7]
+ ldr r4, =0x00003008
+ adds r1, r4
+ strb r0, [r1]
+ movs r1, 0x8
+ add r1, r9
+ mov r8, r1
+ mov r0, r8
+ bl AddWindow
+ ldr r1, [r7]
+ ldr r2, =0x00003009
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, [r7]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r7]
+ ldr r3, =0x00003009
+ adds r0, r3
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ mov r0, r9
+ bl sub_8029174
+ mov r0, r8
+ bl sub_8029074
+ ldr r1, [r7]
+ ldr r0, =0x00003014
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r7]
+ ldr r1, =0x00003020
+ adds r0, r1
+ strb r6, [r0]
+ ldr r0, [r7]
+ ldr r2, =0x00003024
+ adds r0, r2
+ strb r6, [r0]
+ b _0802A35E
+ .pool
+_0802A0CC:
+ ldr r3, =0x00003008
+ mov r8, r3
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r7]
+ ldr r1, =0x00003009
+ mov r10, r1
+ add r0, r10
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r2, =gText_WantToPlayAgain
+ movs r1, 0x5
+ str r1, [sp]
+ movs r3, 0xFF
+ mov r9, r3
+ str r3, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r2, =gText_Yes
+ str r6, [sp]
+ mov r3, r9
+ str r3, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r2, =gText_No
+ movs r1, 0x11
+ str r1, [sp]
+ mov r3, r9
+ str r3, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r10
+ ldrb r0, [r0]
+ ldr r2, =gText_SelectorArrow2
+ str r6, [sp]
+ mov r3, r9
+ str r3, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r7]
+ add r0, r10
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r7]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802A2EA
+ .pool
+_0802A194:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A1B6
+ ldr r0, [r7]
+ ldr r3, =0x00003008
+ adds r0, r3
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ ldr r0, [r7]
+ ldr r1, =0x00003009
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_0802A1B6:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r1, [r7]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802A2EA
+ .pool
+_0802A1D0:
+ ldr r3, =0x00003020
+ adds r0, r2, r3
+ ldrb r5, [r0]
+ cmp r5, 0
+ bne _0802A1DC
+ movs r5, 0x1
+_0802A1DC:
+ ldr r0, =0x00003009
+ mov r8, r0
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r2, =gText_Yes
+ movs r1, 0x1
+ str r1, [sp]
+ movs r3, 0xFF
+ mov r10, r3
+ str r3, [sp, 0x4]
+ movs r1, 0
+ mov r9, r1
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r2, =gText_No
+ movs r1, 0x11
+ str r1, [sp]
+ mov r3, r10
+ str r3, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0x8
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ ldr r2, =gText_SelectorArrow2
+ subs r1, r5, 0x1
+ lsls r1, 4
+ adds r1, 0x1
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp]
+ mov r3, r10
+ str r3, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r7]
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r5, 0x1
+ movs r2, 0x1
+ ands r2, r1
+ cmp r2, 0
+ beq _0802A294
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, [r7]
+ ldr r3, =0x00003020
+ adds r1, r0, r3
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _0802A2E4
+ strb r5, [r1]
+ b _0802A2E4
+ .pool
+_0802A294:
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0
+ beq _0802A2CC
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, [r7]
+ ldr r2, =0x00003020
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ beq _0802A2C2
+ cmp r0, 0x1
+ bgt _0802A2BC
+ cmp r0, 0
+ beq _0802A2C2
+ b _0802A35E
+ .pool
+_0802A2BC:
+ cmp r0, 0x2
+ beq _0802A2C8
+ b _0802A35E
+_0802A2C2:
+ movs r0, 0x2
+ strb r0, [r1]
+ b _0802A35E
+_0802A2C8:
+ strb r5, [r1]
+ b _0802A35E
+_0802A2CC:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0802A35E
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, [r7]
+ ldr r3, =0x00003020
+ adds r0, r3
+ movs r1, 0x2
+ strb r1, [r0]
+_0802A2E4:
+ ldr r1, [r7]
+ ldr r0, =0x00003014
+ adds r1, r0
+_0802A2EA:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802A35E
+ .pool
+_0802A2FC:
+ ldr r0, [r7]
+ ldr r2, =0x00003020
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r3, =0x00003024
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r7]
+ ldr r6, =0x00003008
+ adds r0, r6
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r7]
+ ldr r1, =0x00003009
+ adds r0, r1
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r7]
+ adds r0, r6
+ ldrb r0, [r0]
+ bl RemoveWindow
+ ldr r0, [r7]
+ ldr r2, =0x00003009
+ adds r0, r2
+ ldrb r0, [r0]
+ bl RemoveWindow
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, [r7]
+ movs r3, 0xC0
+ lsls r3, 6
+ adds r0, r3
+ movs r1, 0x1
+ str r1, [r0]
+_0802A35E:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A010
+
+ thumb_func_start sub_802A380
+sub_802A380: @ 802A380
+ push {r4-r6,lr}
+ sub sp, 0x10
+ ldr r5, =gUnknown_02022CF8
+ ldr r0, [r5]
+ ldr r6, =0x00003014
+ adds r0, r6
+ ldrb r4, [r0]
+ cmp r4, 0x1
+ beq _0802A3D8
+ cmp r4, 0x1
+ bgt _0802A3A4
+ cmp r4, 0
+ beq _0802A3AE
+ b _0802A420
+ .pool
+_0802A3A4:
+ cmp r4, 0x2
+ beq _0802A3EC
+ cmp r4, 0x3
+ beq _0802A404
+ b _0802A420
+_0802A3AE:
+ movs r0, 0
+ movs r1, 0
+ bl DrawDialogueFrame
+ ldr r2, =gText_SavingDontTurnOffPower
+ str r4, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized2
+ b _0802A410
+ .pool
+_0802A3D8:
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ ldr r1, [r5]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _0802A414
+ .pool
+_0802A3EC:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A448
+ ldr r0, =sub_8153688
+ movs r1, 0
+ bl CreateTask
+ b _0802A410
+ .pool
+_0802A404:
+ ldr r0, =sub_8153688
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A448
+_0802A410:
+ ldr r1, [r5]
+ adds r1, r6
+_0802A414:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802A448
+ .pool
+_0802A420:
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+_0802A448:
+ add sp, 0x10
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A380
+
+ thumb_func_start sub_802A454
+sub_802A454: @ 802A454
+ push {r4-r6,lr}
+ sub sp, 0xC
+ ldr r1, =gUnknown_02022CF8
+ ldr r2, [r1]
+ ldr r6, =0x00003014
+ adds r0, r2, r6
+ ldrb r0, [r0]
+ adds r5, r1, 0
+ cmp r0, 0x1
+ beq _0802A4AC
+ cmp r0, 0x1
+ bgt _0802A47C
+ cmp r0, 0
+ beq _0802A482
+ b _0802A520
+ .pool
+_0802A47C:
+ cmp r0, 0x2
+ beq _0802A4F4
+ b _0802A520
+_0802A482:
+ ldr r4, =gUnknown_082F7BEC
+ adds r0, r4, 0
+ bl AddWindow
+ ldr r1, [r5]
+ ldr r2, =0x00003008
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r0, r2
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r0, r4, 0
+ bl sub_8029174
+ b _0802A510
+ .pool
+_0802A4AC:
+ ldr r4, =0x00003008
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ ldr r2, =gText_CommunicationStandby3
+ movs r1, 0x5
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r5]
+ ldr r0, =0x00003014
+ adds r1, r0
+ b _0802A514
+ .pool
+_0802A4F4:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A50A
+ ldr r0, [r5]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_0802A50A:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802A510:
+ ldr r1, [r5]
+ adds r1, r6
+_0802A514:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802A52C
+ .pool
+_0802A520:
+ ldr r0, [r5]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+_0802A52C:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802A454
+
+ thumb_func_start sub_802A534
+sub_802A534: @ 802A534
+ push {r4,r5,lr}
+ sub sp, 0x8
+ ldr r5, =gUnknown_02022CF8
+ ldr r0, [r5]
+ ldr r4, =0x00003008
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl RemoveWindow
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, [r5]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A534
+
+ thumb_func_start sub_802A588
+sub_802A588: @ 802A588
+ push {r4-r7,lr}
+ sub sp, 0xC
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r7, =0x00003014
+ adds r2, r1, r7
+ ldrb r5, [r2]
+ adds r6, r0, 0
+ cmp r5, 0x1
+ beq _0802A610
+ cmp r5, 0x1
+ bgt _0802A5B0
+ cmp r5, 0
+ beq _0802A5BA
+ b _0802A6A4
+ .pool
+_0802A5B0:
+ cmp r5, 0x2
+ beq _0802A658
+ cmp r5, 0x3
+ beq _0802A684
+ b _0802A6A4
+_0802A5BA:
+ ldr r4, =gUnknown_082F7BE4
+ adds r0, r4, 0
+ bl AddWindow
+ ldr r1, [r6]
+ ldr r2, =0x00003008
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r2
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r0, r4, 0
+ bl sub_8029174
+ ldr r1, [r6]
+ adds r1, r7
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r6]
+ ldr r2, =0x0000301c
+ adds r1, r0, r2
+ movs r2, 0
+ strh r5, [r1]
+ ldr r1, =0x00003020
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r1, 0x4
+ adds r0, r1
+ strb r2, [r0]
+ b _0802A6EA
+ .pool
+_0802A610:
+ ldr r4, =0x00003008
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r0, [r0]
+ ldr r2, =gText_SomeoneDroppedOut
+ movs r1, 0x5
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r6]
+ ldr r2, =0x00003014
+ adds r1, r2
+ b _0802A678
+ .pool
+_0802A658:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802A66E
+ ldr r0, [r6]
+ ldr r1, =0x00003008
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+_0802A66E:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r1, [r6]
+ adds r1, r7
+_0802A678:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802A6EA
+ .pool
+_0802A684:
+ ldr r0, =0x0000301c
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x77
+ bls _0802A6EA
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r2]
+ b _0802A6EA
+ .pool
+_0802A6A4:
+ ldr r0, [r6]
+ ldr r1, =0x00003024
+ adds r0, r1
+ movs r1, 0x5
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r4, =0x00003008
+ adds r0, r4
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl RemoveWindow
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, [r6]
+ movs r2, 0xC0
+ lsls r2, 6
+ adds r0, r2
+ movs r1, 0x1
+ str r1, [r0]
+_0802A6EA:
+ add sp, 0xC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A588
+
+ thumb_func_start unused_0
+unused_0: @ 802A6FC
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CF8
+ ldr r0, [r4]
+ ldr r1, =0x00003004
+ adds r0, r1
+ ldrb r0, [r0]
+ bl DestroyTask
+ ldr r0, [r4]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end unused_0
+
+ thumb_func_start nullsub_16
+nullsub_16: @ 802A728
+ bx lr
+ thumb_func_end nullsub_16
+
+ thumb_func_start sub_802A72C
+sub_802A72C: @ 802A72C
+ push {r4,lr}
+ ldr r2, =gUnknown_02022CF8
+ ldr r1, [r2]
+ ldr r3, =0x00003014
+ adds r1, r3
+ movs r3, 0
+ strb r3, [r1]
+ ldr r1, [r2]
+ movs r4, 0xC0
+ lsls r4, 6
+ adds r2, r1, r4
+ str r3, [r2]
+ ldr r2, =0x00003028
+ adds r1, r2
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A72C
+
+ thumb_func_start sub_802A75C
+sub_802A75C: @ 802A75C
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r1, =0x00003028
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802A75C
+
+ thumb_func_start sub_802A770
+sub_802A770: @ 802A770
+ push {lr}
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 6
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _0802A78C
+ movs r0, 0x1
+ b _0802A78E
+ .pool
+_0802A78C:
+ movs r0, 0
+_0802A78E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802A770
+
+ thumb_func_start sub_802A794
+sub_802A794: @ 802A794
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r1, =0x00003024
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802A794
+
+ thumb_func_start sub_802A7A8
+sub_802A7A8: @ 802A7A8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ movs r3, 0xC0
+ lsls r3, 19
+ movs r4, 0xC0
+ lsls r4, 9
+ add r0, sp, 0x4
+ mov r8, r0
+ mov r2, sp
+ movs r6, 0
+ ldr r1, =0x040000d4
+ movs r5, 0x80
+ lsls r5, 5
+ ldr r7, =0x81000800
+ movs r0, 0x81
+ lsls r0, 24
+ mov r12, r0
+_0802A7CE:
+ strh r6, [r2]
+ mov r0, sp
+ str r0, [r1]
+ str r3, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r3, r5
+ subs r4, r5
+ cmp r4, r5
+ bhi _0802A7CE
+ strh r6, [r2]
+ mov r2, sp
+ str r2, [r1]
+ str r3, [r1, 0x4]
+ lsrs r0, r4, 1
+ mov r2, r12
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ movs r0, 0xE0
+ lsls r0, 19
+ movs r3, 0x80
+ lsls r3, 3
+ movs r4, 0
+ str r4, [sp, 0x4]
+ ldr r2, =0x040000d4
+ mov r1, r8
+ str r1, [r2]
+ str r0, [r2, 0x4]
+ lsrs r0, r3, 2
+ movs r1, 0x85
+ lsls r1, 24
+ orrs r0, r1
+ str r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r1, 0xA0
+ lsls r1, 19
+ mov r0, sp
+ strh r4, [r0]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ lsrs r3, 1
+ movs r0, 0x81
+ lsls r0, 24
+ orrs r3, r0
+ str r3, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r0, 0
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0
+ bl ResetBgsAndClearDma3BusyFlags
+ ldr r1, =gUnknown_082F7BA4
+ movs r0, 0
+ movs r2, 0x4
+ bl InitBgsFromTemplates
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ bl InitStandardTextBoxWindows
+ bl sub_8197200
+ movs r1, 0x82
+ lsls r1, 5
+ movs r0, 0
+ bl SetGpuReg
+ ldr r4, =gUnknown_02022CF8
+ ldr r1, [r4]
+ movs r0, 0x3
+ bl SetBgTilemapBuffer
+ ldr r1, [r4]
+ movs r2, 0x80
+ lsls r2, 5
+ adds r1, r2
+ movs r0, 0x1
+ bl SetBgTilemapBuffer
+ ldr r1, [r4]
+ movs r0, 0x80
+ lsls r0, 6
+ adds r1, r0
+ movs r0, 0x2
+ bl SetBgTilemapBuffer
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802A7A8
+
+ thumb_func_start sub_802A8E8
+sub_802A8E8: @ 802A8E8
+ push {lr}
+ sub sp, 0x4
+ ldr r0, =gUnknown_02022CF8
+ ldr r0, [r0]
+ ldr r2, =0x00003018
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0x5
+ bhi _0802A982
+ lsls r0, 2
+ ldr r1, =_0802A910
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802A910:
+ .4byte _0802A928
+ .4byte _0802A938
+ .4byte _0802A93E
+ .4byte _0802A94C
+ .4byte _0802A964
+ .4byte _0802A972
+_0802A928:
+ ldr r0, =gDodrioBerryBgPal1
+ movs r1, 0
+ movs r2, 0x40
+ bl LoadPalette
+ b _0802A98A
+ .pool
+_0802A938:
+ bl reset_temp_tile_data_buffers
+ b _0802A98A
+_0802A93E:
+ ldr r1, =gDodrioBerryBgGfx1
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x3
+ b _0802A954
+ .pool
+_0802A94C:
+ ldr r1, =gDodrioBerryBgGfx2
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x1
+_0802A954:
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ b _0802A98A
+ .pool
+_0802A964:
+ bl free_temp_tile_data_buffers_if_possible
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0802A98A
+ b _0802A998
+_0802A972:
+ movs r0, 0x3
+ bl stdpal_get
+ movs r1, 0xD0
+ movs r2, 0x20
+ bl LoadPalette
+ b _0802A98A
+_0802A982:
+ movs r0, 0
+ strb r0, [r1]
+ movs r0, 0x1
+ b _0802A99A
+_0802A98A:
+ ldr r0, =gUnknown_02022CF8
+ ldr r1, [r0]
+ ldr r0, =0x00003018
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_0802A998:
+ movs r0, 0
+_0802A99A:
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802A8E8
+
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/m4a_1.s b/asm/m4a_1.s
index 361f66c1a..cab4ed174 100644
--- a/asm/m4a_1.s
+++ b/asm/m4a_1.s
@@ -1907,3 +1907,28 @@ _081DDD90:
thumb_func_end ply_mod
.align 2, 0 @ Don't pad with nop.
+
+ .bss
+gUnknown_03001300:
+ .space 0x40
+ .size gUnknown_03001300, .-gUnknown_03001300
+
+ .global gMPlayTrack_BGM
+gMPlayTrack_BGM:
+ .space 0x320
+ .size gMPlayTrack_BGM, .-gMPlayTrack_BGM
+
+ .global gMPlayTrack_SE1
+gMPlayTrack_SE1:
+ .space 0xF0
+ .size gMPlayTrack_SE1, .-gMPlayTrack_SE1
+
+ .global gMPlayTrack_SE2
+gMPlayTrack_SE2:
+ .space 0x2D0
+ .size gMPlayTrack_SE2, .-gMPlayTrack_SE2
+
+ .global gMPlayTrack_SE3
+gMPlayTrack_SE3:
+ .space 0x50
+ .size gMPlayTrack_SE3, .-gMPlayTrack_SE3
diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc
index 6ccd8d505..32d9de82c 100644
--- a/asm/macros/battle_anim_script.inc
+++ b/asm/macros/battle_anim_script.inc
@@ -153,19 +153,19 @@
.byte \param4
.endm
- .macro loopsewithpan se:req, param1:req, param2:req, param3:req
+ .macro loopsewithpan se:req, pan:req, wait:req, times:req
.byte 0x1c
.2byte \se
- .byte \param1
- .byte \param2
- .byte \param3
+ .byte \pan
+ .byte \wait
+ .byte \times
.endm
- .macro waitplaysewithpan se:req, param1:req, param2:req
+ .macro waitplaysewithpan se:req, pan:req, wait:req
.byte 0x1d
.2byte \se
- .byte \param1
- .byte \param2
+ .byte \pan
+ .byte \wait
.endm
.macro setbldcnt param0:req
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index ed32e4643..997af51cc 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -403,6 +403,38 @@
.byte \param0
.byte \param1
.endm
+
+ @ Help macros for 5 uses of moveend command
+
+ @ All cases
+ .macro moveendall
+ setbyte sMOVEEND_STATE, 0
+ moveend 0, 0
+ .endm
+
+ @ Chosen case
+ .macro moveendcase case:req
+ setbyte sMOVEEND_STATE, \case
+ moveend 1, 0
+ .endm
+
+ @ All cases from (inclusive)
+ .macro moveendfrom from:req
+ setbyte sMOVEEND_STATE, \from
+ moveend 0, 0
+ .endm
+
+ @ All cases from 0 to (not inclusive)
+ .macro moveendto to:req
+ setbyte sMOVEEND_STATE, 0
+ moveend 2, \to
+ .endm
+
+ @ Cases from (inclusive) to (not inclusive)
+ .macro moveendfromto from:req, to:req
+ setbyte sMOVEEND_STATE, \from
+ moveend 2, \to
+ .endm
.macro typecalc2
.byte 0x4a
@@ -1092,7 +1124,7 @@
.byte 0xdd
.endm
- .macro asistattackselect param0:req
+ .macro assistattackselect param0:req
.byte 0xde
.4byte \param0
.endm
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index 8b3466fe7..e00bdb600 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -77,7 +77,7 @@
.endm
@ Executes a script stored in a default RAM location.
- .macro gotoram
+ .macro returnram
.byte 0x0c
.endm
@@ -1440,7 +1440,7 @@
.endm
@ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0.
- .macro execram
+ .macro gotoram
.byte 0xcf
.endm
diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s
new file mode 100755
index 000000000..074a87474
--- /dev/null
+++ b/asm/pokemon_jump.s
@@ -0,0 +1,9040 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_802A9A8
+sub_802A9A8: @ 802A9A8
+ push {r4-r7,lr}
+ adds r6, r1, 0
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802AA3C
+ ldr r5, =gUnknown_02022CFC
+ ldr r0, =0x000083b0
+ bl Alloc
+ str r0, [r5]
+ cmp r0, 0
+ beq _0802AA3C
+ bl ResetTasks
+ ldr r0, =sub_802ACA0
+ movs r1, 0x1
+ bl CreateTask
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, [r5]
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ str r6, [r0]
+ strb r4, [r0, 0x4]
+ bl GetMultiplayerId
+ ldr r1, [r5]
+ strb r0, [r1, 0x6]
+ ldr r0, [r5]
+ ldrb r2, [r0, 0x6]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ ldr r2, =0x000082a8
+ adds r1, r2
+ adds r0, r1
+ movs r1, 0x64
+ muls r1, r7
+ ldr r2, =gPlayerParty
+ adds r1, r2
+ bl sub_802AC2C
+ ldr r0, [r5]
+ bl sub_802AA60
+ ldr r2, [r5]
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl SetWordTaskArg
+ ldr r0, =sub_802AC6C
+ bl SetMainCallback2
+ b _0802AA42
+ .pool
+_0802AA3C:
+ adds r0, r6, 0
+ bl SetMainCallback2
+_0802AA42:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802A9A8
+
+ thumb_func_start sub_802AA48
+sub_802AA48: @ 802AA48
+ push {lr}
+ bl sub_802D0AC
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ bl Free
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AA48
+
+ thumb_func_start sub_802AA60
+sub_802AA60: @ 802AA60
+ push {r4,lr}
+ adds r4, r0, 0
+ bl GetLinkPlayerCount
+ movs r2, 0
+ strb r0, [r4, 0x5]
+ adds r1, r4, 0
+ adds r1, 0x70
+ movs r0, 0x5
+ strb r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x72
+ strh r2, [r0]
+ bl sub_802AB20
+ adds r0, r4, 0
+ bl sub_802AA94
+ ldrb r0, [r4, 0x5]
+ cmp r0, 0x5
+ bne _0802AA8E
+ bl sub_802E3A8
+_0802AA8E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AA60
+
+ thumb_func_start sub_802AA94
+sub_802AA94: @ 802AA94
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r0, 0x6
+ str r0, [r4, 0x14]
+ str r0, [r4, 0x18]
+ adds r0, r4, 0
+ adds r0, 0x4A
+ movs r6, 0
+ movs r5, 0
+ strh r5, [r0]
+ str r5, [r4, 0x1C]
+ str r5, [r4, 0x5C]
+ bl GetMultiplayerId
+ movs r1, 0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802AABA
+ movs r1, 0x1
+_0802AABA:
+ adds r0, r4, 0
+ adds r0, 0x47
+ strb r1, [r0]
+ strh r5, [r4, 0x8]
+ strh r5, [r4, 0xA]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ str r5, [r4, 0x58]
+ strh r5, [r4, 0x3A]
+ subs r0, 0x3
+ strb r6, [r0]
+ str r5, [r4, 0x54]
+ adds r0, 0x2
+ strb r6, [r0]
+ adds r0, 0x3
+ strb r6, [r0]
+ subs r0, 0x1
+ movs r1, 0x1
+ strb r1, [r0]
+ str r5, [r4, 0x78]
+ adds r0, 0x29
+ strb r6, [r0]
+ adds r0, 0x3
+ strh r5, [r0]
+ str r1, [r4, 0x60]
+ subs r0, 0x27
+ strb r6, [r0]
+ str r5, [r4, 0x68]
+ str r5, [r4, 0x64]
+ str r5, [r4, 0x2C]
+ str r5, [r4, 0x30]
+ bl sub_802AB98
+ bl sub_802C0E8
+ movs r2, 0
+ adds r5, r4, 0
+ adds r5, 0x7C
+ movs r3, 0
+ adds r1, r4, 0
+ adds r1, 0x9A
+_0802AB0C:
+ adds r0, r5, r2
+ strb r3, [r0]
+ strh r3, [r1]
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, 0x4
+ ble _0802AB0C
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AA94
+
+ thumb_func_start sub_802AB20
+sub_802AB20: @ 802AB20
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r7, =gUnknown_02022CFC
+ movs r6, 0
+ movs r5, 0
+ ldr r0, =gPkmnJumpSpecies
+ mov r8, r0
+ movs r4, 0x4
+_0802AB32:
+ ldr r0, [r7]
+ adds r0, r5
+ ldr r1, =0x000082a8
+ adds r0, r1
+ ldrh r0, [r0]
+ bl sub_802AC00
+ lsls r0, 16
+ ldr r1, [r7]
+ adds r1, r6
+ asrs r0, 14
+ add r0, r8
+ ldrh r0, [r0, 0x2]
+ ldr r2, =0x000082f0
+ adds r1, r2
+ strh r0, [r1]
+ adds r6, 0x28
+ adds r5, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0802AB32
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldr r0, =0x000083ac
+ adds r3, r1, r0
+ ldrb r2, [r1, 0x6]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r2, =0x000082e4
+ adds r0, r2
+ adds r1, r0
+ str r1, [r3]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AB20
+
+ thumb_func_start sub_802AB98
+sub_802AB98: @ 802AB98
+ push {r4-r7,lr}
+ movs r5, 0
+ ldr r6, =gUnknown_02022CFC
+ movs r4, 0
+ movs r3, 0
+_0802ABA2:
+ ldr r2, [r6]
+ adds r1, r2, r3
+ ldr r7, =0x000082f2
+ adds r0, r1, r7
+ strh r4, [r0]
+ adds r7, 0x2
+ adds r0, r1, r7
+ strh r4, [r0]
+ ldr r0, =0x000082f6
+ adds r1, r0
+ strh r4, [r1]
+ ldr r1, =0x000082e4
+ adds r0, r2, r1
+ adds r0, r3
+ str r4, [r0]
+ subs r7, 0xC
+ adds r0, r2, r7
+ adds r0, r3
+ ldr r1, =0x7fffffff
+ str r1, [r0]
+ ldr r1, =0x000082f8
+ adds r0, r2, r1
+ adds r0, r3
+ str r4, [r0]
+ adds r2, 0x8B
+ adds r2, r5
+ movs r0, 0x9
+ strb r0, [r2]
+ adds r3, 0x28
+ adds r5, 0x1
+ cmp r5, 0x4
+ ble _0802ABA2
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AB98
+
+ thumb_func_start sub_802AC00
+sub_802AC00: @ 802AC00
+ push {lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r1, 0
+ ldr r2, =gPkmnJumpSpecies
+_0802AC0A:
+ ldrh r0, [r2]
+ cmp r0, r3
+ bne _0802AC1C
+ lsls r0, r1, 16
+ asrs r0, 16
+ b _0802AC28
+ .pool
+_0802AC1C:
+ adds r2, 0x4
+ adds r1, 0x1
+ cmp r1, 0x63
+ bls _0802AC0A
+ movs r0, 0x1
+ negs r0, r0
+_0802AC28:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802AC00
+
+ thumb_func_start sub_802AC2C
+sub_802AC2C: @ 802AC2C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ strh r0, [r5]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl GetMonData
+ str r0, [r5, 0x4]
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetMonData
+ str r0, [r5, 0x8]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AC2C
+
+ thumb_func_start sub_802AC58
+sub_802AC58: @ 802AC58
+ push {lr}
+ bl TransferPlttBuffer
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AC58
+
+ thumb_func_start sub_802AC6C
+sub_802AC6C: @ 802AC6C
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802AC6C
+
+ thumb_func_start sub_802AC84
+sub_802AC84: @ 802AC84
+ push {lr}
+ movs r1, 0x1
+ bl CreateTask
+ ldr r2, =gUnknown_02022CFC
+ ldr r1, [r2]
+ movs r3, 0
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ strh r3, [r0, 0x8]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AC84
+
+ thumb_func_start sub_802ACA0
+sub_802ACA0: @ 802ACA0
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0x8]
+ adds r2, r1, 0
+ cmp r0, 0x5
+ bls _0802ACB6
+ b _0802AE08
+_0802ACB6:
+ lsls r0, 2
+ ldr r1, =_0802ACC8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802ACC8:
+ .4byte _0802ACE0
+ .4byte _0802AD0C
+ .4byte _0802AD3C
+ .4byte _0802AD68
+ .4byte _0802ADA4
+ .4byte _0802ADD0
+_0802ACE0:
+ movs r0, 0
+ bl SetVBlankCallback
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ ldr r0, =sub_802BD84
+ movs r1, 0x5
+ bl sub_802BE60
+ movs r0, 0x4
+ bl FadeOutMapMusic
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802ADC0
+ .pool
+_0802AD0C:
+ ldr r0, =sub_802BD84
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802AE08
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ adds r0, 0xA4
+ bl sub_802D074
+ bl sub_800E0E8
+ movs r0, 0
+ movs r1, 0
+ bl CreateWirelessStatusIndicatorSprite
+ ldr r1, [r4]
+ b _0802ADC0
+ .pool
+_0802AD3C:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802AE08
+ bl IsNotWaitingForBGMStop
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0802AE08
+ ldr r0, =0x0000021a
+ movs r1, 0x8
+ bl FadeOutAndPlayNewMapMusic
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802ADC0
+ .pool
+_0802AD68:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802AE08
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r0, =sub_802AC58
+ bl SetVBlankCallback
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802ADC0
+ .pool
+_0802ADA4:
+ bl UpdatePaletteFade
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ bne _0802AE08
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ strb r2, [r0, 0x7]
+ ldr r1, [r1]
+_0802ADC0:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802AE08
+ .pool
+_0802ADD0:
+ ldr r0, [r2]
+ ldrb r1, [r0, 0x7]
+ adds r1, 0x1
+ strb r1, [r0, 0x7]
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0x13
+ bls _0802AE08
+ adds r0, r1, 0
+ adds r0, 0x47
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802ADF8
+ ldr r0, =sub_802AF80
+ bl sub_802AC84
+ b _0802ADFE
+ .pool
+_0802ADF8:
+ ldr r0, =sub_802B194
+ bl sub_802AC84
+_0802ADFE:
+ bl sub_802BE80
+ adds r0, r4, 0
+ bl DestroyTask
+_0802AE08:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802ACA0
+
+ thumb_func_start sub_802AE14
+sub_802AE14: @ 802AE14
+ push {lr}
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _0802AE34
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldr r0, =0x00001111
+ str r0, [r1, 0x30]
+ movs r0, 0x1
+ str r0, [r1, 0x2C]
+ b _0802AE46
+ .pool
+_0802AE34:
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ subs r1, 0x1
+ movs r0, 0x1
+ lsls r0, r1
+ subs r0, 0x1
+ str r0, [r2, 0x30]
+ movs r0, 0
+ str r0, [r2, 0x2C]
+_0802AE46:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AE14
+
+ thumb_func_start sub_802AE50
+sub_802AE50: @ 802AE50
+ push {r4-r6,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ adds r1, 0x70
+ movs r2, 0
+ strb r0, [r1]
+ ldr r0, [r4]
+ movs r3, 0
+ strh r2, [r0, 0x8]
+ strh r2, [r0, 0xA]
+ adds r0, 0x48
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x49
+ strb r3, [r0]
+ movs r3, 0x1
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x5]
+ cmp r3, r0
+ bge _0802AE94
+ adds r6, r4, 0
+ ldr r5, =0x000082fc
+ movs r4, 0
+ movs r2, 0x28
+_0802AE82:
+ ldr r1, [r6]
+ adds r0, r1, r5
+ adds r0, r2
+ str r4, [r0]
+ adds r2, 0x28
+ adds r3, 0x1
+ ldrb r1, [r1, 0x5]
+ cmp r3, r1
+ blt _0802AE82
+_0802AE94:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AE50
+
+ thumb_func_start sub_802AEA4
+sub_802AEA4: @ 802AEA4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ movs r4, 0x1
+ movs r0, 0
+ str r0, [sp, 0x4]
+ ldr r7, =gUnknown_02022CFC
+ ldr r0, [r7]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ bge _0802AF48
+ adds r1, r7, 0
+ mov r10, r1
+ movs r2, 0x2
+ add r2, sp
+ mov r8, r2
+ ldr r3, =0x0000830c
+ mov r9, r3
+ movs r6, 0x28
+_0802AED0:
+ mov r1, r10
+ ldr r0, [r1]
+ adds r1, r0, r6
+ ldr r2, =0x000082f4
+ adds r1, r2
+ ldrh r5, [r1]
+ add r0, r9
+ adds r1, r4, 0
+ mov r2, sp
+ mov r3, r8
+ bl sub_802E264
+ cmp r0, 0
+ beq _0802AF10
+ ldr r2, [r7]
+ lsls r1, r4, 1
+ adds r0, r2, 0
+ adds r0, 0x90
+ adds r0, r1
+ mov r3, r8
+ ldrh r1, [r3]
+ strh r1, [r0]
+ adds r2, 0x8B
+ adds r2, r4
+ mov r0, sp
+ ldrb r0, [r0]
+ strb r0, [r2]
+ ldr r0, [r7]
+ adds r0, r6
+ ldr r1, =0x000082f6
+ adds r0, r1
+ strh r5, [r0]
+_0802AF10:
+ mov r2, r10
+ ldr r1, [r2]
+ ldr r3, =0x000082fc
+ adds r0, r1, r3
+ adds r0, r6
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0802AF36
+ adds r0, r1, 0
+ adds r0, 0x8B
+ adds r0, r4
+ adds r1, 0x70
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _0802AF36
+ ldr r0, [sp, 0x4]
+ adds r0, 0x1
+ str r0, [sp, 0x4]
+_0802AF36:
+ movs r1, 0x28
+ add r9, r1
+ adds r6, 0x28
+ adds r4, 0x1
+ ldr r7, =gUnknown_02022CFC
+ ldr r0, [r7]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ blt _0802AED0
+_0802AF48:
+ ldr r2, =gUnknown_02022CFC
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x5]
+ subs r0, 0x1
+ ldr r3, [sp, 0x4]
+ cmp r3, r0
+ bne _0802AF5C
+ adds r1, 0x49
+ movs r0, 0x1
+ strb r0, [r1]
+_0802AF5C:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AEA4
+
+ thumb_func_start sub_802AF80
+sub_802AF80: @ 802AF80
+ push {r4,r5,lr}
+ bl sub_802AEA4
+ bl sub_802C43C
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802AFB2
+ adds r0, r1, 0
+ adds r0, 0x49
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802AFB2
+ adds r0, r1, 0
+ adds r0, 0x4C
+ ldrb r0, [r0]
+ bl sub_802AE50
+ movs r0, 0x3
+ bl sub_802AE14
+_0802AFB2:
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x48
+ ldrb r5, [r0]
+ cmp r5, 0x1
+ bne _0802AFEE
+ ldr r1, =gUnknown_082FB5F4
+ adds r0, 0x28
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _0802AFEE
+ ldr r0, [r4]
+ adds r0, 0x48
+ strb r1, [r0]
+ ldr r1, [r4]
+ ldrb r2, [r1, 0x6]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r2, =0x000082fc
+ adds r1, r2
+ adds r1, r0
+ str r5, [r1]
+_0802AFEE:
+ bl sub_802C1DC
+ bl sub_802B008
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802AF80
+
+ thumb_func_start sub_802B008
+sub_802B008: @ 802B008
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x2C]
+ cmp r0, 0
+ bne _0802B01E
+ ldr r2, =0x000082e4
+ adds r0, r1, r2
+ adds r1, 0x70
+ bl sub_802E138
+_0802B01E:
+ ldr r1, [r4]
+ ldr r2, [r1, 0x30]
+ ldr r0, =0x00001111
+ cmp r2, r0
+ beq _0802B030
+ ldr r0, [r1, 0x2C]
+ adds r0, 0x1
+ ands r0, r2
+ str r0, [r1, 0x2C]
+_0802B030:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802B008
+
+ thumb_func_start sub_802B044
+sub_802B044: @ 802B044
+ ldr r2, =gUnknown_02022CFC
+ ldr r1, [r2]
+ adds r1, 0x70
+ movs r3, 0
+ strb r0, [r1]
+ ldr r0, [r2]
+ strh r3, [r0, 0x8]
+ strh r3, [r0, 0xA]
+ adds r0, 0x48
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r1, [r2]
+ ldrb r2, [r1, 0x6]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r2, =0x000082fc
+ adds r1, r2
+ adds r1, r0
+ str r3, [r1]
+ bx lr
+ .pool
+ thumb_func_end sub_802B044
+
+ thumb_func_start sub_802B078
+sub_802B078: @ 802B078
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x10
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldr r2, =0x000082f4
+ adds r1, r0, r2
+ ldrh r1, [r1]
+ mov r8, r1
+ ldr r3, =0x000082e4
+ adds r0, r3
+ mov r1, sp
+ bl sub_802E1BC
+ cmp r0, 0
+ beq _0802B128
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x6]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r3, =0x000082fc
+ adds r0, r2, r3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0802B0C6
+ mov r0, sp
+ adds r1, r2, 0
+ adds r1, 0x70
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ beq _0802B0C6
+ mov r0, sp
+ ldrb r0, [r0]
+ bl sub_802B044
+_0802B0C6:
+ ldr r3, =gUnknown_02022CFC
+ ldr r2, [r3]
+ ldr r0, [r2, 0x78]
+ ldr r1, [sp, 0x8]
+ cmp r0, r1
+ beq _0802B108
+ str r1, [r2, 0x78]
+ movs r4, 0x1
+ str r4, [r2, 0x5C]
+ mov r0, sp
+ ldrb r1, [r0, 0x1]
+ adds r0, r2, 0
+ adds r0, 0x71
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r1, r0, 0
+ adds r1, 0x71
+ ldrb r1, [r1]
+ cmp r1, 0
+ beq _0802B104
+ adds r0, 0x4D
+ strb r4, [r0]
+ b _0802B108
+ .pool
+_0802B104:
+ adds r0, 0x4D
+ strb r1, [r0]
+_0802B108:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ mov r0, sp
+ ldrh r0, [r0, 0x2]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ mov r0, sp
+ ldrh r2, [r0, 0x4]
+ adds r0, r1, 0
+ adds r0, 0x74
+ strh r2, [r0]
+ ldr r0, =0x000082f6
+ adds r1, r0
+ mov r2, r8
+ strh r2, [r1]
+_0802B128:
+ movs r4, 0x1
+ ldr r2, =gUnknown_02022CFC
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ bge _0802B176
+ adds r7, r2, 0
+ ldr r6, =0x0000830c
+ movs r5, 0x28
+_0802B13A:
+ ldr r1, [r7]
+ ldrb r3, [r1, 0x6]
+ cmp r4, r3
+ beq _0802B168
+ adds r0, r1, r5
+ ldr r3, =0x000082f4
+ adds r0, r3
+ ldrh r0, [r0]
+ mov r8, r0
+ adds r0, r1, r6
+ adds r1, r4, 0
+ str r2, [sp, 0xC]
+ bl sub_802E2D0
+ ldr r2, [sp, 0xC]
+ cmp r0, 0
+ beq _0802B168
+ ldr r0, [r7]
+ adds r0, r5
+ ldr r1, =0x000082f6
+ adds r0, r1
+ mov r3, r8
+ strh r3, [r0]
+_0802B168:
+ adds r6, 0x28
+ adds r5, 0x28
+ adds r4, 0x1
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ blt _0802B13A
+_0802B176:
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802B078
+
+ thumb_func_start sub_802B194
+sub_802B194: @ 802B194
+ push {r4,lr}
+ bl sub_802B078
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802B1E0
+ ldr r1, =gUnknown_082FB618
+ adds r0, r2, 0
+ adds r0, 0x70
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _0802B1E0
+ ldr r0, [r4]
+ adds r0, 0x48
+ strb r1, [r0]
+ ldr r1, [r4]
+ ldrb r2, [r1, 0x6]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r2, =0x000082fc
+ adds r1, r2
+ adds r1, r0
+ movs r0, 0x1
+ str r0, [r1]
+ movs r0, 0x3
+ bl sub_802AE14
+_0802B1E0:
+ bl sub_802C1DC
+ bl sub_802B1FC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802B194
+
+ thumb_func_start sub_802B1FC
+sub_802B1FC: @ 802B1FC
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ ldr r0, [r2, 0x2C]
+ cmp r0, 0
+ bne _0802B224
+ ldrb r1, [r2, 0x6]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =0x000082e4
+ adds r0, r1
+ adds r0, r2, r0
+ adds r1, r2, 0
+ adds r1, 0x70
+ ldrb r1, [r1]
+ adds r2, 0x42
+ ldrh r2, [r2]
+ bl sub_802E234
+_0802B224:
+ ldr r1, [r4]
+ ldr r2, [r1, 0x30]
+ ldr r0, =0x00001111
+ cmp r2, r0
+ beq _0802B236
+ ldr r0, [r1, 0x2C]
+ adds r0, 0x1
+ ands r0, r2
+ str r0, [r1, 0x2C]
+_0802B236:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802B1FC
+
+ thumb_func_start sub_802B248
+sub_802B248: @ 802B248
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B260
+ cmp r0, 0x1
+ beq _0802B26E
+ b _0802B294
+ .pool
+_0802B260:
+ movs r0, 0x3
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B26E:
+ bl sub_802B7E0
+ cmp r0, 0
+ bne _0802B294
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x4A
+ ldrh r0, [r0]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r0, 0
+ b _0802B296
+ .pool
+_0802B294:
+ movs r0, 0x1
+_0802B296:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B248
+
+ thumb_func_start sub_802B29C
+sub_802B29C: @ 802B29C
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B2B4
+ cmp r0, 0x1
+ beq _0802B2CA
+ movs r0, 0x1
+ b _0802B2CE
+ .pool
+_0802B2B4:
+ movs r0, 0
+ bl sub_802AE14
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x72
+ ldrh r0, [r0]
+ str r0, [r1, 0x24]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B2CA:
+ bl sub_802B7E0
+_0802B2CE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B29C
+
+ thumb_func_start sub_802B2D4
+sub_802B2D4: @ 802B2D4
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0
+ beq _0802B2EC
+ cmp r0, 0x1
+ beq _0802B300
+ b _0802B314
+ .pool
+_0802B2EC:
+ bl sub_802C0E8
+ movs r0, 0x5
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B314
+_0802B300:
+ adds r0, r1, 0
+ adds r0, 0x49
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802B314
+ adds r1, 0x4C
+ movs r0, 0x2
+ strb r0, [r1]
+ movs r0, 0
+ b _0802B316
+_0802B314:
+ movs r0, 0x1
+_0802B316:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B2D4
+
+ thumb_func_start sub_802B31C
+sub_802B31C: @ 802B31C
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B334
+ cmp r0, 0x1
+ beq _0802B352
+ b _0802B35E
+ .pool
+_0802B334:
+ bl sub_802C0E8
+ movs r0, 0
+ bl sub_802AE14
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x72
+ ldrh r0, [r0]
+ adds r2, r1, 0
+ adds r2, 0x4A
+ strh r0, [r2]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B352:
+ bl sub_802C70C
+ cmp r0, 0
+ beq _0802B35E
+ movs r0, 0
+ b _0802B360
+_0802B35E:
+ movs r0, 0x1
+_0802B360:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B31C
+
+ thumb_func_start sub_802B368
+sub_802B368: @ 802B368
+ push {lr}
+ bl sub_802B8CC
+ cmp r0, 0
+ bne _0802B390
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x4A
+ ldrh r0, [r0]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x1
+ strb r0, [r1]
+ b _0802B3AA
+ .pool
+_0802B390:
+ bl sub_802C538
+ cmp r0, 0
+ beq _0802B39C
+ movs r0, 0x1
+ b _0802B3AC
+_0802B39C:
+ bl sub_802C0B8
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x4C
+ movs r1, 0x3
+ strb r1, [r0]
+_0802B3AA:
+ movs r0, 0
+_0802B3AC:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802B368
+
+ thumb_func_start sub_802B3B4
+sub_802B3B4: @ 802B3B4
+ push {lr}
+ bl sub_802B8CC
+ cmp r0, 0
+ beq _0802B3CE
+ bl sub_802C538
+ cmp r0, 0
+ beq _0802B3CA
+ movs r0, 0x1
+ b _0802B3D0
+_0802B3CA:
+ bl sub_802C0B8
+_0802B3CE:
+ movs r0, 0
+_0802B3D0:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B3B4
+
+ thumb_func_start sub_802B3D4
+sub_802B3D4: @ 802B3D4
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0x1
+ beq _0802B40C
+ cmp r0, 0x1
+ bgt _0802B3F0
+ cmp r0, 0
+ beq _0802B3F6
+ b _0802B468
+ .pool
+_0802B3F0:
+ cmp r0, 0x2
+ beq _0802B460
+ b _0802B468
+_0802B3F6:
+ bl sub_802C538
+ bl sub_802C5DC
+ cmp r0, 0
+ beq _0802B468
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B468
+_0802B40C:
+ bl sub_802B964
+ cmp r0, 0
+ bne _0802B468
+ bl sub_802C7BC
+ cmp r0, 0
+ beq _0802B42E
+ bl sub_802C7E0
+ ldr r1, [r4]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x7
+ b _0802B454
+_0802B42E:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x74
+ ldrh r0, [r0]
+ cmp r0, 0xC7
+ bls _0802B448
+ ldrh r0, [r1, 0xE]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x8
+ b _0802B454
+_0802B448:
+ ldrh r0, [r1, 0xE]
+ adds r2, r1, 0
+ adds r2, 0x72
+ strh r0, [r2]
+ adds r1, 0x4C
+ movs r0, 0x4
+_0802B454:
+ strb r0, [r1]
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B460:
+ movs r0, 0
+ b _0802B46A
+ .pool
+_0802B468:
+ movs r0, 0x1
+_0802B46A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B3D4
+
+ thumb_func_start sub_802B470
+sub_802B470: @ 802B470
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0x1
+ beq _0802B4B0
+ cmp r0, 0x1
+ bgt _0802B48C
+ cmp r0, 0
+ beq _0802B492
+ b _0802B4C4
+ .pool
+_0802B48C:
+ cmp r0, 0x2
+ beq _0802B4C0
+ b _0802B4C4
+_0802B492:
+ bl sub_802C538
+ cmp r0, 0
+ bne _0802B49E
+ bl sub_802C0B8
+_0802B49E:
+ bl sub_802C5DC
+ cmp r0, 0
+ beq _0802B4C4
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B4C4
+_0802B4B0:
+ bl sub_802B964
+ cmp r0, 0
+ bne _0802B4C4
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B4C0:
+ movs r0, 0
+ b _0802B4C6
+_0802B4C4:
+ movs r0, 0x1
+_0802B4C6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B470
+
+ thumb_func_start sub_802B4CC
+sub_802B4CC: @ 802B4CC
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x8]
+ cmp r1, 0x1
+ beq _0802B500
+ cmp r1, 0x1
+ bgt _0802B4E8
+ cmp r1, 0
+ beq _0802B4F2
+ b _0802B560
+ .pool
+_0802B4E8:
+ cmp r1, 0x2
+ beq _0802B52C
+ cmp r1, 0x3
+ beq _0802B556
+ b _0802B560
+_0802B4F2:
+ movs r0, 0x4
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B500:
+ bl sub_802BB84
+ cmp r0, 0
+ bne _0802B560
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ ldr r0, [r2, 0x78]
+ adds r1, r2, 0
+ adds r1, 0x74
+ ldrh r1, [r1]
+ adds r2, 0x72
+ ldrh r2, [r2]
+ bl sub_802E354
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B560
+ .pool
+_0802B52C:
+ adds r0, 0x49
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802B560
+ bl sub_802C650
+ cmp r0, 0
+ beq _0802B544
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0x5
+ b _0802B54A
+_0802B544:
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0x6
+_0802B54A:
+ strb r1, [r0]
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B556:
+ movs r0, 0
+ b _0802B562
+ .pool
+_0802B560:
+ movs r0, 0x1
+_0802B562:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B4CC
+
+ thumb_func_start sub_802B568
+sub_802B568: @ 802B568
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B580
+ cmp r0, 0x1
+ beq _0802B58E
+ b _0802B5C0
+ .pool
+_0802B580:
+ movs r0, 0
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B58E:
+ bl sub_802BB84
+ cmp r0, 0
+ bne _0802B5C0
+ ldr r4, =gUnknown_02022CFC
+ ldr r2, [r4]
+ ldr r0, [r2, 0x78]
+ adds r1, r2, 0
+ adds r1, 0x74
+ ldrh r1, [r1]
+ adds r2, 0x72
+ ldrh r2, [r2]
+ bl sub_802E354
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x45
+ ldrb r1, [r1]
+ adds r0, 0x42
+ strh r1, [r0]
+ movs r0, 0
+ b _0802B5C2
+ .pool
+_0802B5C0:
+ movs r0, 0x1
+_0802B5C2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B568
+
+ thumb_func_start sub_802B5C8
+sub_802B5C8: @ 802B5C8
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0
+ beq _0802B5E0
+ cmp r0, 0x1
+ beq _0802B5F2
+ b _0802B61E
+ .pool
+_0802B5E0:
+ bl sub_802BD30
+ cmp r0, 0
+ bne _0802B61E
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B61E
+_0802B5F2:
+ adds r0, r1, 0
+ adds r0, 0x49
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802B61E
+ adds r0, r1, 0
+ bl sub_802AA94
+ bl Random
+ ldr r1, [r4]
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [r1, 0x24]
+ adds r3, r1, 0
+ adds r3, 0x72
+ movs r2, 0
+ strh r0, [r3]
+ adds r1, 0x4C
+ strb r2, [r1]
+ movs r0, 0
+ b _0802B620
+_0802B61E:
+ movs r0, 0x1
+_0802B620:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B5C8
+
+ thumb_func_start sub_802B628
+sub_802B628: @ 802B628
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B640
+ cmp r0, 0x1
+ beq _0802B656
+ b _0802B65A
+ .pool
+_0802B640:
+ bl sub_802BD30
+ cmp r0, 0
+ bne _0802B65A
+ ldr r0, [r4]
+ bl sub_802AA94
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_0802B656:
+ movs r0, 0
+ b _0802B65C
+_0802B65A:
+ movs r0, 0x1
+_0802B65C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B628
+
+ thumb_func_start sub_802B664
+sub_802B664: @ 802B664
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0x1
+ beq _0802B68C
+ cmp r0, 0x1
+ bgt _0802B680
+ cmp r0, 0
+ beq _0802B686
+ b _0802B6B0
+ .pool
+_0802B680:
+ cmp r0, 0x2
+ beq _0802B69C
+ b _0802B6B0
+_0802B686:
+ movs r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B6B0
+_0802B68C:
+ movs r0, 0
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B6B0
+_0802B69C:
+ bl sub_802BC60
+ cmp r0, 0
+ bne _0802B6B0
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl SetMainCallback2
+ bl sub_802AA48
+_0802B6B0:
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B664
+
+ thumb_func_start sub_802B6B8
+sub_802B6B8: @ 802B6B8
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x8]
+ cmp r0, 0
+ beq _0802B6D0
+ cmp r0, 0x1
+ beq _0802B6E0
+ b _0802B6FC
+ .pool
+_0802B6D0:
+ movs r0, 0x4
+ bl sub_802AE14
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B6FC
+_0802B6E0:
+ bl sub_802BA58
+ cmp r0, 0
+ bne _0802B6FC
+ ldr r0, [r4]
+ ldrh r1, [r0, 0xE]
+ adds r2, r0, 0
+ adds r2, 0x72
+ strh r1, [r2]
+ adds r0, 0x4C
+ movs r1, 0x8
+ strb r1, [r0]
+ movs r0, 0
+ b _0802B6FE
+_0802B6FC:
+ movs r0, 0x1
+_0802B6FE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B6B8
+
+ thumb_func_start sub_802B704
+sub_802B704: @ 802B704
+ push {lr}
+ movs r0, 0
+ bl sub_802AE14
+ bl sub_802BA58
+ cmp r0, 0
+ beq _0802B718
+ movs r0, 0x1
+ b _0802B71A
+_0802B718:
+ movs r0, 0
+_0802B71A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B704
+
+ thumb_func_start sub_802B720
+sub_802B720: @ 802B720
+ push {r4,lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0x8]
+ adds r4, r1, 0
+ cmp r0, 0x4
+ bhi _0802B7D8
+ lsls r0, 2
+ ldr r1, =_0802B740
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802B740:
+ .4byte _0802B754
+ .4byte _0802B770
+ .4byte _0802B780
+ .4byte _0802B798
+ .4byte _0802B7BC
+_0802B754:
+ ldr r2, [r4]
+ ldr r0, [r2, 0x78]
+ adds r1, r2, 0
+ adds r1, 0x74
+ ldrh r1, [r1]
+ adds r2, 0x72
+ ldrh r2, [r2]
+ bl sub_802E354
+ movs r0, 0x5
+ bl sub_802D0C8
+ ldr r1, [r4]
+ b _0802B7AC
+_0802B770:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802B7D8
+ movs r0, 0
+ bl sub_802AE14
+ b _0802B7A8
+_0802B780:
+ bl sub_802C70C
+ cmp r0, 0
+ beq _0802B7D8
+ ldr r0, =sub_8153688
+ movs r1, 0x6
+ bl CreateTask
+ b _0802B7A8
+ .pool
+_0802B798:
+ ldr r0, =sub_8153688
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802B7D8
+ bl sub_802DA14
+_0802B7A8:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802B7AC:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0802B7D8
+ .pool
+_0802B7BC:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802B7D8
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x4C
+ movs r1, 0x4
+ strb r1, [r0]
+ movs r0, 0
+ b _0802B7DA
+ .pool
+_0802B7D8:
+ movs r0, 0x1
+_0802B7DA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B720
+
+ thumb_func_start sub_802B7E0
+sub_802B7E0: @ 802B7E0
+ push {r4,r5,lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0xA]
+ adds r4, r1, 0
+ cmp r0, 0x7
+ bhi _0802B8C4
+ lsls r0, 2
+ ldr r1, =_0802B800
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802B800:
+ .4byte _0802B820
+ .4byte _0802B82C
+ .4byte _0802B84C
+ .4byte _0802B866
+ .4byte _0802B878
+ .4byte _0802B880
+ .4byte _0802B8A0
+ .4byte _0802B8BA
+_0802B820:
+ movs r0, 0x2
+ bl sub_802D0C8
+ bl sub_802DDE0
+ b _0802B890
+_0802B82C:
+ bl sub_802D0F0
+ adds r5, r0, 0
+ cmp r5, 0
+ bne _0802B8C4
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x6]
+ bl sub_802DDF4
+ ldr r1, [r4]
+ strh r5, [r1, 0x3C]
+ b _0802B894
+ .pool
+_0802B84C:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3C]
+ adds r0, 0x1
+ strh r0, [r1, 0x3C]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x78
+ bls _0802B8C4
+ movs r0, 0x3
+ bl sub_802D0C8
+ ldr r1, [r4]
+ b _0802B894
+_0802B866:
+ bl sub_802D0F0
+ cmp r0, 0x1
+ beq _0802B8C4
+ bl sub_802DE08
+ cmp r0, 0x1
+ beq _0802B8C4
+ b _0802B890
+_0802B878:
+ movs r0, 0x9
+ bl sub_802D0C8
+ b _0802B890
+_0802B880:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802B8C4
+ bl sub_802C260
+ bl sub_802D764
+_0802B890:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802B894:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802B8C4
+ .pool
+_0802B8A0:
+ bl sub_802D788
+ cmp r0, 0
+ bne _0802B8C4
+ bl sub_802C270
+ bl sub_802BEA0
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802B8BA:
+ movs r0, 0
+ b _0802B8C6
+ .pool
+_0802B8C4:
+ movs r0, 0x1
+_0802B8C6:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B7E0
+
+ thumb_func_start sub_802B8CC
+sub_802B8CC: @ 802B8CC
+ push {r4,r5,lr}
+ bl sub_802BEE4
+ ldr r5, =gUnknown_02022CFC
+ ldr r1, [r5]
+ ldrh r4, [r1, 0x36]
+ cmp r4, 0
+ beq _0802B8E8
+ movs r0, 0
+ strh r0, [r1, 0x36]
+ b _0802B95C
+ .pool
+_0802B8E8:
+ ldrh r0, [r1, 0xA]
+ cmp r0, 0x1
+ beq _0802B914
+ cmp r0, 0x1
+ bgt _0802B8F8
+ cmp r0, 0
+ beq _0802B902
+ b _0802B95A
+_0802B8F8:
+ cmp r0, 0x2
+ beq _0802B938
+ cmp r0, 0x3
+ beq _0802B94C
+ b _0802B95A
+_0802B902:
+ movs r0, 0
+ bl sub_802C130
+ cmp r0, 0
+ beq _0802B95A
+ ldr r1, [r5]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802B914:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0802B95A
+ bl sub_802C164
+ movs r0, 0x3
+ bl sub_802AE14
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802B944
+ .pool
+_0802B938:
+ movs r0, 0x1
+ bl sub_802C130
+ cmp r0, 0x1
+ bne _0802B95A
+ ldr r1, [r5]
+_0802B944:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802B95A
+_0802B94C:
+ movs r0, 0
+ bl sub_802C130
+ cmp r0, 0x1
+ bne _0802B95A
+ ldr r0, [r5]
+ strh r4, [r0, 0xA]
+_0802B95A:
+ movs r0, 0x1
+_0802B95C:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B8CC
+
+ thumb_func_start sub_802B964
+sub_802B964: @ 802B964
+ push {r4-r6,lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0xA]
+ adds r5, r1, 0
+ cmp r0, 0x4
+ bhi _0802BA50
+ lsls r0, 2
+ ldr r1, =_0802B984
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802B984:
+ .4byte _0802B998
+ .4byte _0802B9BC
+ .4byte _0802BA00
+ .4byte _0802BA24
+ .4byte _0802BA46
+_0802B998:
+ movs r4, 0
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ bge _0802B9B8
+ adds r6, r5, 0
+_0802B9A4:
+ adds r0, r4, 0
+ bl sub_802DDB8
+ cmp r0, 0x1
+ beq _0802BA50
+ adds r4, 0x1
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ blt _0802B9A4
+_0802B9B8:
+ ldr r1, [r5]
+ b _0802BA1C
+_0802B9BC:
+ movs r4, 0
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ bge _0802B9EC
+ adds r6, r5, 0
+ movs r5, 0
+_0802B9CA:
+ ldr r0, [r6]
+ adds r0, r5
+ ldr r1, =0x000082f4
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0x2
+ bne _0802B9E0
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_802DDA0
+_0802B9E0:
+ adds r5, 0x28
+ adds r4, 0x1
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x5]
+ cmp r4, r0
+ blt _0802B9CA
+_0802B9EC:
+ movs r0, 0x1
+ bl sub_802D0C8
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ b _0802BA18
+ .pool
+_0802BA00:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x3C]
+ adds r0, 0x1
+ strh r0, [r1, 0x3C]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x64
+ bls _0802BA50
+ movs r0, 0x3
+ bl sub_802D0C8
+ ldr r1, [r5]
+_0802BA18:
+ movs r0, 0
+ strh r0, [r1, 0x3C]
+_0802BA1C:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BA50
+_0802BA24:
+ bl sub_802D0F0
+ adds r5, r0, 0
+ cmp r5, 0
+ bne _0802BA50
+ bl sub_802DDCC
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ adds r0, 0x71
+ strb r5, [r0]
+ bl sub_802C114
+ ldr r1, [r4]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802BA46:
+ movs r0, 0
+ b _0802BA52
+ .pool
+_0802BA50:
+ movs r0, 0x1
+_0802BA52:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802B964
+
+ thumb_func_start sub_802BA58
+sub_802BA58: @ 802BA58
+ push {r4,lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0xA]
+ adds r4, r1, 0
+ cmp r0, 0x6
+ bls _0802BA68
+ b _0802BB7C
+_0802BA68:
+ lsls r0, 2
+ ldr r1, =_0802BA7C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802BA7C:
+ .4byte _0802BA98
+ .4byte _0802BAB8
+ .4byte _0802BAD0
+ .4byte _0802BB00
+ .4byte _0802BAB8
+ .4byte _0802BAD0
+ .4byte _0802BB70
+_0802BA98:
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x72
+ ldrh r0, [r0]
+ adds r1, r2, 0
+ adds r1, 0x3E
+ adds r2, 0x40
+ bl sub_802C808
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3E]
+ adds r1, 0x40
+ ldrh r1, [r1]
+ bl sub_802D7E8
+ b _0802BAF0
+_0802BAB8:
+ bl sub_802D974
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _0802BB7C
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ strh r2, [r1, 0x3C]
+ b _0802BAF2
+ .pool
+_0802BAD0:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3C]
+ adds r2, r0, 0x1
+ strh r2, [r1, 0x3C]
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _0802BAEC
+ lsls r0, r2, 16
+ lsrs r0, 16
+ cmp r0, 0xB4
+ bls _0802BB7C
+_0802BAEC:
+ bl sub_802DA14
+_0802BAF0:
+ ldr r1, [r4]
+_0802BAF2:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BB7C
+ .pool
+_0802BB00:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802BB7C
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3E]
+ adds r1, 0x40
+ ldrh r1, [r1]
+ bl sub_802C880
+ ldr r1, [r4]
+ adds r2, r1, 0
+ adds r2, 0x40
+ strh r0, [r2]
+ lsls r0, 16
+ cmp r0, 0
+ beq _0802BB58
+ ldrh r0, [r1, 0x3E]
+ ldrh r1, [r2]
+ bl AddBagItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802BB58
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x3E]
+ movs r1, 0x1
+ bl CheckBagHasSpace
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802BB50
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x3E]
+ bl sub_802D884
+ b _0802BB62
+ .pool
+_0802BB50:
+ ldr r1, [r4]
+ movs r0, 0x6
+ strh r0, [r1, 0xA]
+ b _0802BB7C
+_0802BB58:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x3E]
+ bl sub_802D8FC
+_0802BB62:
+ ldr r1, [r4]
+ movs r0, 0x4
+ strh r0, [r1, 0xA]
+ b _0802BB7C
+ .pool
+_0802BB70:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802BB7C
+ movs r0, 0
+ b _0802BB7E
+_0802BB7C:
+ movs r0, 0x1
+_0802BB7E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802BA58
+
+ thumb_func_start sub_802BB84
+sub_802BB84: @ 802BB84
+ push {r4,lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrh r0, [r0, 0xA]
+ cmp r0, 0x6
+ bhi _0802BC58
+ lsls r0, 2
+ ldr r1, =_0802BBA4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802BBA4:
+ .4byte _0802BBC0
+ .4byte _0802BBC4
+ .4byte _0802BBCE
+ .4byte _0802BC1C
+ .4byte _0802BC26
+ .4byte _0802BC3C
+ .4byte _0802BC4E
+_0802BBC0:
+ movs r0, 0x4
+ b _0802BC28
+_0802BBC4:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802BC58
+ b _0802BC2C
+_0802BBCE:
+ bl sub_802DA8C
+ lsls r0, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ beq _0802BC04
+ cmp r1, 0
+ bgt _0802BBE8
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _0802BBEC
+ b _0802BC58
+_0802BBE8:
+ cmp r1, 0x1
+ bne _0802BC58
+_0802BBEC:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ adds r0, 0x45
+ movs r1, 0x1
+ strb r1, [r0]
+ movs r0, 0x6
+ bl sub_802D0C8
+ ldr r1, [r4]
+ b _0802BC30
+ .pool
+_0802BC04:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ adds r0, 0x45
+ movs r1, 0x2
+ strb r1, [r0]
+ movs r0, 0x6
+ bl sub_802D0C8
+ ldr r1, [r4]
+ b _0802BC30
+ .pool
+_0802BC1C:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802BC58
+ b _0802BC2C
+_0802BC26:
+ movs r0, 0x8
+_0802BC28:
+ bl sub_802D0C8
+_0802BC2C:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802BC30:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BC58
+ .pool
+_0802BC3C:
+ bl sub_802D0F0
+ cmp r0, 0
+ bne _0802BC58
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802BC4E:
+ movs r0, 0
+ b _0802BC5A
+ .pool
+_0802BC58:
+ movs r0, 0x1
+_0802BC5A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802BB84
+
+ thumb_func_start sub_802BC60
+sub_802BC60: @ 802BC60
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrh r0, [r0, 0xA]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bhi _0802BD24
+ lsls r0, 2
+ ldr r1, =_0802BC84
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802BC84:
+ .4byte _0802BC9C
+ .4byte _0802BCA2
+ .4byte _0802BCB2
+ .4byte _0802BCC8
+ .4byte _0802BCEE
+ .4byte _0802BD14
+_0802BC9C:
+ bl sub_802DA14
+ b _0802BCFE
+_0802BCA2:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802BD24
+ movs r0, 0x7
+ bl sub_802D0C8
+ b _0802BCFE
+_0802BCB2:
+ bl sub_802D0F0
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _0802BD24
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ strh r2, [r1, 0x3C]
+ b _0802BD02
+ .pool
+_0802BCC8:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x3C]
+ adds r0, 0x1
+ strh r0, [r1, 0x3C]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x78
+ bls _0802BD24
+ movs r1, 0x1
+ negs r1, r1
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, [r4]
+ b _0802BD02
+_0802BCEE:
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0802BD24
+ bl sub_800AC34
+_0802BCFE:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802BD02:
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BD24
+ .pool
+_0802BD14:
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802BD24
+ movs r0, 0
+ b _0802BD26
+ .pool
+_0802BD24:
+ movs r0, 0x1
+_0802BD26:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802BC60
+
+ thumb_func_start sub_802BD30
+sub_802BD30: @ 802BD30
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldrh r0, [r0, 0xA]
+ cmp r0, 0x1
+ beq _0802BD66
+ cmp r0, 0x1
+ bgt _0802BD4C
+ cmp r0, 0
+ beq _0802BD52
+ b _0802BD7A
+ .pool
+_0802BD4C:
+ cmp r0, 0x2
+ beq _0802BD76
+ b _0802BD7A
+_0802BD52:
+ bl sub_802DA14
+ movs r0, 0
+ bl sub_802DD64
+ ldr r1, [r4]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0802BD7A
+_0802BD66:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802BD7A
+ ldr r1, [r4]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+_0802BD76:
+ movs r0, 0
+ b _0802BD7C
+_0802BD7A:
+ movs r0, 0x1
+_0802BD7C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802BD30
+
+ thumb_func_start sub_802BD84
+sub_802BD84: @ 802BD84
+ 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 r10, r0
+ lsls r0, 2
+ add r0, r10
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r6, r0, r1
+ mov r0, r10
+ movs r1, 0xE
+ bl GetWordTaskArg
+ mov r8, r0
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ beq _0802BDC8
+ cmp r0, 0x1
+ beq _0802BDDC
+ b _0802BE48
+ .pool
+_0802BDBC:
+ bl sub_802AB20
+ mov r0, r10
+ bl DestroyTask
+ b _0802BE48
+_0802BDC8:
+ movs r1, 0
+ adds r0, r6, 0
+ adds r0, 0x8
+_0802BDCE:
+ strh r1, [r0, 0x4]
+ subs r0, 0x2
+ cmp r0, r6
+ bge _0802BDCE
+ ldrh r0, [r6]
+ adds r0, 0x1
+ strh r0, [r6]
+_0802BDDC:
+ mov r3, r8
+ ldrb r1, [r3, 0x6]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, =0x000082a8
+ adds r0, r4
+ add r0, r8
+ bl sub_802E0AC
+ movs r2, 0
+ adds r5, r6, 0x4
+ mov r9, r2
+ movs r7, 0x83
+ lsls r7, 8
+ add r7, r8
+ add r4, r8
+_0802BDFE:
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _0802BE38
+ adds r0, r2, 0
+ adds r1, r4, 0
+ str r2, [sp]
+ bl sub_802E0D0
+ ldr r2, [sp]
+ cmp r0, 0
+ beq _0802BE38
+ ldr r1, =gLinkPlayers + 8
+ add r1, r9
+ adds r0, r7, 0
+ bl StringCopy
+ movs r0, 0x1
+ strh r0, [r5]
+ ldrh r0, [r6, 0x2]
+ adds r0, 0x1
+ strh r0, [r6, 0x2]
+ movs r3, 0x2
+ ldrsh r0, [r6, r3]
+ ldr r2, [sp]
+ mov r1, r8
+ ldrb r1, [r1, 0x5]
+ cmp r0, r1
+ beq _0802BDBC
+_0802BE38:
+ adds r5, 0x2
+ movs r3, 0x1C
+ add r9, r3
+ adds r7, 0x28
+ adds r4, 0xC
+ adds r2, 0x1
+ cmp r2, 0x4
+ ble _0802BDFE
+_0802BE48:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BD84
+
+ thumb_func_start sub_802BE60
+sub_802BE60: @ 802BE60
+ push {lr}
+ lsls r1, 24
+ lsrs r1, 24
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gUnknown_02022CFC
+ ldr r2, [r1]
+ movs r1, 0xE
+ bl SetWordTaskArg
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BE60
+
+ thumb_func_start sub_802BE80
+sub_802BE80: @ 802BE80
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4A
+ movs r1, 0
+ strh r1, [r0]
+ movs r0, 0x6
+ str r0, [r2, 0x14]
+ strh r1, [r2, 0x34]
+ str r1, [r2, 0x1C]
+ strh r1, [r2, 0x36]
+ str r1, [r2, 0x10]
+ bx lr
+ .pool
+ thumb_func_end sub_802BE80
+
+ thumb_func_start sub_802BEA0
+sub_802BEA0: @ 802BEA0
+ push {r4,lr}
+ ldr r3, =gUnknown_02022CFC
+ ldr r0, [r3]
+ adds r1, r0, 0
+ adds r1, 0x4A
+ movs r4, 0
+ movs r2, 0
+ strh r2, [r1]
+ ldr r1, =0x000006ff
+ strh r1, [r0, 0x34]
+ movs r1, 0x7
+ str r1, [r0, 0x14]
+ strh r2, [r0, 0x36]
+ str r2, [r0, 0x10]
+ adds r0, 0x51
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r0, 0x50
+ strb r4, [r0]
+ ldr r0, [r3]
+ str r2, [r0, 0x20]
+ adds r1, r0, 0
+ adds r1, 0x4E
+ strh r2, [r1]
+ str r2, [r0, 0x6C]
+ bl sub_802BF7C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BEA0
+
+ thumb_func_start sub_802BEE4
+sub_802BEE4: @ 802BEE4
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x46
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802BF34
+ adds r1, 0x4A
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ bl sub_802BF48
+ ldr r3, [r4]
+ ldrh r1, [r3, 0x34]
+ adds r2, r1, r0
+ strh r2, [r3, 0x34]
+ lsls r1, r2, 16
+ ldr r0, =0x09fe0000
+ cmp r1, r0
+ bls _0802BF16
+ ldr r1, =0xfffff601
+ adds r0, r2, r1
+ strh r0, [r3, 0x34]
+_0802BF16:
+ ldr r1, [r4]
+ ldr r2, [r1, 0x14]
+ str r2, [r1, 0x18]
+ ldrh r0, [r1, 0x34]
+ lsrs r0, 8
+ str r0, [r1, 0x14]
+ cmp r0, 0x6
+ bls _0802BF34
+ cmp r2, 0x6
+ bhi _0802BF34
+ ldrh r0, [r1, 0x36]
+ adds r0, 0x1
+ strh r0, [r1, 0x36]
+ bl sub_802BF7C
+_0802BF34:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BEE4
+
+ thumb_func_start sub_802BF48
+sub_802BF48: @ 802BF48
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ ldr r0, [r2, 0x10]
+ cmp r0, 0
+ beq _0802BF5C
+ movs r0, 0
+ b _0802BF72
+ .pool
+_0802BF5C:
+ ldr r3, [r2, 0x1C]
+ ldrh r1, [r2, 0x34]
+ ldr r0, =0x000005ff
+ cmp r1, r0
+ bhi _0802BF70
+ ldr r0, [r2, 0x20]
+ adds r0, 0x50
+ str r0, [r2, 0x20]
+ lsrs r0, 8
+ adds r3, r0
+_0802BF70:
+ adds r0, r3, 0
+_0802BF72:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802BF48
+
+ thumb_func_start sub_802BF7C
+sub_802BF7C: @ 802BF7C
+ push {r4,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r3, [r4]
+ movs r0, 0
+ str r0, [r3, 0x20]
+ adds r1, r3, 0
+ adds r1, 0x4E
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _0802BFC0
+ subs r0, 0x1
+ strh r0, [r1]
+ ldr r0, [r3, 0x6C]
+ cmp r0, 0
+ beq _0802C08A
+ bl sub_802C098
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0
+ beq _0802BFB0
+ ldr r1, [r4]
+ b _0802C086
+ .pool
+_0802BFB0:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x28]
+ cmp r0, 0x36
+ bls _0802BFBC
+ movs r0, 0x1E
+ b _0802C088
+_0802BFBC:
+ movs r0, 0x52
+ b _0802C088
+_0802BFC0:
+ adds r2, r3, 0
+ adds r2, 0x50
+ ldrb r1, [r2]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _0802C014
+ ldr r0, =gUnknown_082FB63C
+ ldrb r1, [r2]
+ lsls r1, 1
+ adds r1, r0
+ adds r0, r3, 0
+ adds r0, 0x51
+ ldrb r2, [r0]
+ lsls r0, r2, 3
+ subs r0, r2
+ ldrh r1, [r1]
+ adds r0, r1
+ str r0, [r3, 0x28]
+ bl sub_802C098
+ ldr r2, [r4]
+ ldr r3, =gUnknown_082FB64C
+ movs r1, 0x3
+ ands r1, r0
+ lsls r1, 1
+ adds r1, r3
+ ldrh r0, [r1]
+ adds r0, 0x2
+ adds r1, r2, 0
+ adds r1, 0x4E
+ strh r0, [r1]
+ adds r2, 0x50
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r2]
+ b _0802C082
+ .pool
+_0802C014:
+ lsls r0, r1, 24
+ lsrs r0, 24
+ cmp r0, 0x8
+ bne _0802C030
+ adds r1, r3, 0
+ adds r1, 0x51
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ bhi _0802C02C
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0802C030
+_0802C02C:
+ movs r0, 0x1
+ str r0, [r3, 0x6C]
+_0802C030:
+ ldr r2, =gUnknown_082FB63C
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ mov r12, r0
+ mov r3, r12
+ adds r3, 0x50
+ ldrb r0, [r3]
+ movs r1, 0xF
+ subs r1, r0
+ lsls r1, 1
+ adds r1, r2
+ mov r0, r12
+ adds r0, 0x51
+ ldrb r2, [r0]
+ lsls r0, r2, 3
+ subs r0, r2
+ ldrh r1, [r1]
+ adds r0, r1
+ mov r1, r12
+ str r0, [r1, 0x28]
+ ldrb r0, [r3]
+ adds r0, 0x1
+ strb r0, [r3]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xF
+ bls _0802C082
+ bl sub_802C098
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0
+ bne _0802C07A
+ ldr r1, [r4]
+ ldr r0, [r1, 0x28]
+ subs r0, 0x5
+ str r0, [r1, 0x28]
+_0802C07A:
+ ldr r0, [r4]
+ adds r0, 0x50
+ movs r1, 0
+ strb r1, [r0]
+_0802C082:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+_0802C086:
+ ldr r0, [r1, 0x28]
+_0802C088:
+ str r0, [r1, 0x1C]
+_0802C08A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802BF7C
+
+ thumb_func_start sub_802C098
+sub_802C098: @ 802C098
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ ldr r1, [r2, 0x24]
+ ldr r0, =0x41c64e6d
+ muls r0, r1
+ ldr r1, =0x00006073
+ adds r0, r1
+ str r0, [r2, 0x24]
+ lsrs r0, 16
+ bx lr
+ .pool
+ thumb_func_end sub_802C098
+
+ thumb_func_start sub_802C0B8
+sub_802C0B8: @ 802C0B8
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ movs r0, 0x1
+ str r0, [r1, 0x10]
+ movs r0, 0x6
+ str r0, [r1, 0x14]
+ ldr r0, =0x000005ff
+ strh r0, [r1, 0x34]
+ bl sub_802C270
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C0B8
+
+ thumb_func_start sub_802C0DC
+sub_802C0DC: @ 802C0DC
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x10]
+ bx lr
+ .pool
+ thumb_func_end sub_802C0DC
+
+ thumb_func_start sub_802C0E8
+sub_802C0E8: @ 802C0E8
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022CFC
+ ldr r4, =0x000082f8
+ movs r3, 0
+ movs r2, 0
+ movs r1, 0x4
+_0802C0F4:
+ ldr r0, [r5]
+ adds r0, r4
+ adds r0, r2
+ str r3, [r0]
+ adds r2, 0x28
+ subs r1, 0x1
+ cmp r1, 0
+ bge _0802C0F4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C0E8
+
+ thumb_func_start sub_802C114
+sub_802C114: @ 802C114
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r1, =0x000083ac
+ adds r0, r1
+ ldr r1, [r0]
+ movs r2, 0
+ strh r2, [r1, 0x10]
+ ldr r0, [r0]
+ strh r2, [r0, 0x12]
+ bx lr
+ .pool
+ thumb_func_end sub_802C114
+
+ thumb_func_start sub_802C130
+sub_802C130: @ 802C130
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, =gUnknown_02022CFC
+ ldr r2, [r1]
+ ldrb r3, [r2, 0x6]
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r2, r1
+ ldr r1, =0x000082f4
+ adds r2, r1
+ ldrh r1, [r2]
+ cmp r1, r0
+ beq _0802C15C
+ movs r0, 0
+ b _0802C15E
+ .pool
+_0802C15C:
+ movs r0, 0x1
+_0802C15E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C130
+
+ thumb_func_start sub_802C164
+sub_802C164: @ 802C164
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r1, =0x000083ac
+ adds r2, r0, r1
+ ldr r1, [r2]
+ adds r0, 0x4A
+ ldrh r0, [r0]
+ strh r0, [r1, 0xE]
+ ldr r1, [r2]
+ ldrh r0, [r1, 0x10]
+ strh r0, [r1, 0x12]
+ ldr r1, [r2]
+ movs r0, 0x1
+ strh r0, [r1, 0x10]
+ bx lr
+ .pool
+ thumb_func_end sub_802C164
+
+ thumb_func_start sub_802C18C
+sub_802C18C: @ 802C18C
+ push {r4,lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ ldr r0, =0x000083ac
+ adds r3, r2, r0
+ ldr r1, [r3]
+ ldrh r0, [r1, 0x10]
+ strh r0, [r1, 0x12]
+ ldr r0, [r3]
+ movs r4, 0x2
+ strh r4, [r0, 0x10]
+ ldr r1, [r3]
+ adds r2, 0x4A
+ ldrh r0, [r2]
+ strh r0, [r1, 0xE]
+ ldr r0, [r3]
+ str r4, [r0, 0x14]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C18C
+
+ thumb_func_start sub_802C1BC
+sub_802C1BC: @ 802C1BC
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r1, =0x000083ac
+ adds r0, r1
+ ldr r1, [r0]
+ ldrh r2, [r1, 0x10]
+ movs r3, 0
+ strh r2, [r1, 0x12]
+ ldr r0, [r0]
+ strh r3, [r0, 0x10]
+ bx lr
+ .pool
+ thumb_func_end sub_802C1BC
+
+ thumb_func_start sub_802C1DC
+sub_802C1DC: @ 802C1DC
+ push {r4,r5,lr}
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x5C]
+ cmp r0, 0
+ beq _0802C21C
+ ldr r0, [r1, 0x78]
+ bl sub_802DD64
+ ldr r1, [r4]
+ movs r5, 0
+ str r5, [r1, 0x5C]
+ adds r0, r1, 0
+ adds r0, 0x4D
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802C21C
+ adds r0, r1, 0
+ adds r0, 0x71
+ ldrb r0, [r0]
+ bl sub_802DCCC
+ ldr r1, =gUnknown_082FB654
+ subs r0, 0x2
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl PlaySE
+ ldr r0, [r4]
+ adds r0, 0x4D
+ strb r5, [r0]
+_0802C21C:
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x74
+ ldrh r0, [r0]
+ bl sub_802DD74
+ bl sub_802C280
+ bl sub_802C240
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C1DC
+
+ thumb_func_start sub_802C240
+sub_802C240: @ 802C240
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x46
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802C256
+ ldr r0, [r1, 0x14]
+ bl sub_802DC9C
+_0802C256:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C240
+
+ thumb_func_start sub_802C260
+sub_802C260: @ 802C260
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x46
+ movs r1, 0
+ strb r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802C260
+
+ thumb_func_start sub_802C270
+sub_802C270: @ 802C270
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x46
+ movs r1, 0x1
+ strb r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802C270
+
+ thumb_func_start sub_802C280
+sub_802C280: @ 802C280
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ movs r6, 0
+ ldr r2, =gUnknown_02022CFC
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x5]
+ mov r9, r0
+ movs r5, 0
+ cmp r6, r9
+ bge _0802C360
+ mov r10, r2
+ mov r8, r5
+ movs r7, 0
+_0802C2A2:
+ mov r0, r10
+ ldr r3, [r0]
+ adds r1, r3, r7
+ ldr r2, =0x000082f4
+ adds r0, r1, r2
+ ldrh r2, [r0]
+ cmp r2, 0x1
+ beq _0802C2D4
+ cmp r2, 0x1
+ bgt _0802C2C4
+ cmp r2, 0
+ beq _0802C2CA
+ b _0802C354
+ .pool
+_0802C2C4:
+ cmp r2, 0x2
+ beq _0802C338
+ b _0802C354
+_0802C2CA:
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_802DC80
+ b _0802C354
+_0802C2D4:
+ ldr r0, =0x000082f6
+ adds r4, r1, r0
+ ldrh r0, [r4]
+ cmp r0, 0x1
+ bne _0802C2F6
+ ldr r0, =0x000082f2
+ adds r0, r1
+ adds r1, r3, 0
+ adds r1, 0x9A
+ add r1, r8
+ str r1, [sp]
+ ldrh r1, [r0]
+ mov r12, r1
+ ldr r0, [sp]
+ ldrh r0, [r0]
+ cmp r12, r0
+ beq _0802C31E
+_0802C2F6:
+ ldrb r3, [r3, 0x6]
+ cmp r5, r3
+ bne _0802C2FE
+ strh r2, [r4]
+_0802C2FE:
+ orrs r6, r2
+ mov r1, r10
+ ldr r2, [r1]
+ ldr r1, =0x000082e8
+ adds r0, r2, r1
+ adds r0, r7
+ ldr r1, =0x7fffffff
+ str r1, [r0]
+ adds r1, r2, 0
+ adds r1, 0x9A
+ add r1, r8
+ adds r2, r7
+ ldr r0, =0x000082f2
+ adds r2, r0
+ ldrh r0, [r2]
+ strh r0, [r1]
+_0802C31E:
+ adds r0, r5, 0
+ bl sub_802C398
+ b _0802C354
+ .pool
+_0802C338:
+ ldr r0, =0x000082f6
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0x2
+ beq _0802C354
+ ldrb r3, [r3, 0x6]
+ cmp r5, r3
+ bne _0802C34A
+ strh r2, [r1]
+_0802C34A:
+ orrs r6, r2
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_802DD88
+_0802C354:
+ movs r1, 0x2
+ add r8, r1
+ adds r7, 0x28
+ adds r5, 0x1
+ cmp r5, r9
+ blt _0802C2A2
+_0802C360:
+ movs r0, 0x2
+ ands r0, r6
+ cmp r0, 0
+ beq _0802C378
+ movs r0, 0x83
+ lsls r0, 1
+ bl PlaySE
+ b _0802C386
+ .pool
+_0802C378:
+ movs r0, 0x1
+ ands r6, r0
+ cmp r6, 0
+ beq _0802C386
+ movs r0, 0xA
+ bl PlaySE
+_0802C386:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802C280
+
+ thumb_func_start sub_802C398
+sub_802C398: @ 802C398
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ ldr r0, =gUnknown_02022CFC
+ ldr r2, [r0]
+ ldr r0, [r2, 0x68]
+ cmp r0, 0
+ bne _0802C432
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =0x000082e4
+ adds r0, r1
+ adds r5, r2, r0
+ ldr r1, [r5, 0x4]
+ ldr r0, =0x7fffffff
+ cmp r1, r0
+ beq _0802C3D0
+ adds r0, r1, 0x1
+ str r0, [r5, 0x4]
+ adds r3, r0, 0
+ b _0802C3E8
+ .pool
+_0802C3D0:
+ adds r0, r2, 0
+ adds r0, 0x4A
+ ldrh r1, [r0]
+ ldrh r0, [r5, 0xE]
+ subs r3, r1, r0
+ ldr r0, =0x0000fde7
+ cmp r3, r0
+ ble _0802C3E6
+ ldr r0, =0xffff0218
+ adds r3, r0
+ adds r3, r1
+_0802C3E6:
+ str r3, [r5, 0x4]
+_0802C3E8:
+ cmp r3, 0x3
+ ble _0802C432
+ subs r3, 0x4
+ cmp r3, 0x2F
+ bgt _0802C414
+ ldr r2, =gUnknown_082FB65C
+ ldrh r1, [r5, 0xC]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 4
+ adds r0, r3, r0
+ adds r0, r2
+ movs r4, 0
+ ldrsb r4, [r0, r4]
+ b _0802C416
+ .pool
+_0802C414:
+ movs r4, 0
+_0802C416:
+ adds r1, r4, 0
+ adds r0, r6, 0
+ bl sub_802DC80
+ cmp r4, 0
+ bne _0802C430
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x6]
+ cmp r6, r0
+ bne _0802C430
+ bl sub_802C1BC
+_0802C430:
+ str r4, [r5]
+_0802C432:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C398
+
+ thumb_func_start sub_802C43C
+sub_802C43C: @ 802C43C
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022CFC
+ ldr r1, [r5]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0x8
+ bne _0802C4CE
+ ldr r0, [r1, 0x18]
+ cmp r0, 0x7
+ bne _0802C4CE
+ ldr r4, [r1, 0x58]
+ cmp r4, 0
+ bne _0802C46C
+ bl sub_802C780
+ ldr r0, [r5]
+ str r4, [r0, 0x54]
+ movs r1, 0x1
+ str r1, [r0, 0x58]
+ adds r0, 0x71
+ strb r4, [r0]
+ b _0802C4CE
+ .pool
+_0802C46C:
+ ldr r0, [r1, 0x54]
+ cmp r0, 0x5
+ bne _0802C480
+ ldrh r0, [r1, 0xC]
+ adds r0, 0x1
+ strh r0, [r1, 0xC]
+ ldrh r0, [r1, 0xC]
+ bl sub_802C7A0
+ b _0802C484
+_0802C480:
+ movs r0, 0
+ strh r0, [r1, 0xC]
+_0802C484:
+ ldr r4, =gUnknown_02022CFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x54]
+ cmp r0, 0x1
+ ble _0802C49E
+ movs r0, 0x1
+ str r0, [r1, 0x64]
+ adds r0, r1, 0
+ adds r0, 0x86
+ adds r1, 0x81
+ movs r2, 0x5
+ bl memcpy
+_0802C49E:
+ bl sub_802C780
+ ldr r0, [r4]
+ movs r2, 0
+ str r2, [r0, 0x54]
+ movs r1, 0x1
+ str r1, [r0, 0x58]
+ adds r0, 0x71
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r2, r0, 0
+ adds r2, 0x74
+ ldrh r1, [r2]
+ ldr r0, =0x0000270e
+ cmp r1, r0
+ bhi _0802C4C2
+ adds r0, r1, 0x1
+ strh r0, [r2]
+_0802C4C2:
+ movs r0, 0xA
+ bl sub_802C688
+ movs r0, 0x3
+ bl sub_802AE14
+_0802C4CE:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldr r0, [r0, 0x64]
+ cmp r0, 0
+ beq _0802C504
+ bl sub_802C618
+ cmp r0, 0x1
+ beq _0802C4E8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x14]
+ cmp r0, 0
+ bne _0802C504
+_0802C4E8:
+ ldr r0, [r4]
+ adds r0, 0x86
+ bl sub_802C73C
+ bl sub_802C790
+ bl sub_802C688
+ movs r0, 0x3
+ bl sub_802AE14
+ ldr r1, [r4]
+ movs r0, 0
+ str r0, [r1, 0x64]
+_0802C504:
+ ldr r4, =gUnknown_02022CFC
+ ldr r0, [r4]
+ ldr r0, [r0, 0x58]
+ cmp r0, 0
+ beq _0802C52A
+ bl sub_802C6B0
+ adds r2, r0, 0
+ ldr r1, [r4]
+ ldr r0, [r1, 0x54]
+ cmp r2, r0
+ ble _0802C52A
+ str r2, [r1, 0x54]
+ adds r0, r1, 0
+ adds r0, 0x81
+ adds r1, 0x7C
+ movs r2, 0x5
+ bl memcpy
+_0802C52A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C43C
+
+ thumb_func_start sub_802C538
+sub_802C538: @ 802C538
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022CFC
+ ldr r1, [r5]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0x6
+ bne _0802C582
+ ldr r4, =0x000083ac
+ adds r0, r1, r4
+ ldr r1, [r0]
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _0802C582
+ ldrh r0, [r1, 0x12]
+ cmp r0, 0x1
+ bne _0802C578
+ bl sub_802C0DC
+ adds r1, r0, 0
+ cmp r1, 0x1
+ bne _0802C578
+ ldr r0, [r5]
+ adds r0, r4
+ ldr r0, [r0]
+ str r1, [r0, 0x14]
+ b _0802C582
+ .pool
+_0802C574:
+ movs r0, 0
+ b _0802C5CA
+_0802C578:
+ bl sub_802C18C
+ movs r0, 0x3
+ bl sub_802AE14
+_0802C582:
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0x7
+ bne _0802C5A8
+ ldr r0, [r1, 0x18]
+ cmp r0, 0x6
+ bne _0802C5A8
+ ldr r2, =0x000083ac
+ adds r0, r1, r2
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x10]
+ cmp r0, 0x2
+ beq _0802C5A8
+ movs r0, 0x1
+ str r0, [r1, 0x14]
+ movs r0, 0x3
+ bl sub_802AE14
+_0802C5A8:
+ movs r2, 0
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ cmp r2, r1
+ bge _0802C5C8
+ adds r3, r1, 0
+ ldr r4, =0x000082f4
+ adds r1, r0, r4
+_0802C5BA:
+ ldrh r0, [r1]
+ cmp r0, 0x2
+ beq _0802C574
+ adds r1, 0x28
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802C5BA
+_0802C5C8:
+ movs r0, 0x1
+_0802C5CA:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C538
+
+ thumb_func_start sub_802C5DC
+sub_802C5DC: @ 802C5DC
+ push {r4,lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r3, [r0, 0x5]
+ movs r4, 0
+ cmp r4, r3
+ bge _0802C600
+ ldr r1, =0x000082f8
+ adds r2, r0, r1
+ adds r1, r3, 0
+_0802C5F0:
+ ldr r0, [r2]
+ cmp r0, 0
+ beq _0802C5F8
+ adds r4, 0x1
+_0802C5F8:
+ adds r2, 0x28
+ subs r1, 0x1
+ cmp r1, 0
+ bne _0802C5F0
+_0802C600:
+ movs r0, 0
+ cmp r4, r3
+ bne _0802C608
+ movs r0, 0x1
+_0802C608:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C5DC
+
+ thumb_func_start sub_802C618
+sub_802C618: @ 802C618
+ push {r4,lr}
+ movs r2, 0
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ cmp r2, r1
+ bge _0802C648
+ adds r3, r1, 0
+ ldr r4, =0x000082f8
+ adds r1, r0, r4
+_0802C62C:
+ ldr r0, [r1]
+ cmp r0, 0x1
+ beq _0802C640
+ movs r0, 0
+ b _0802C64A
+ .pool
+_0802C640:
+ adds r1, 0x28
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802C62C
+_0802C648:
+ movs r0, 0x1
+_0802C64A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C618
+
+ thumb_func_start sub_802C650
+sub_802C650: @ 802C650
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x45
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0802C668
+_0802C660:
+ movs r0, 0
+ b _0802C684
+ .pool
+_0802C668:
+ movs r2, 0x1
+ ldrb r0, [r1, 0x5]
+ cmp r2, r0
+ bge _0802C682
+ adds r3, r0, 0
+ adds r1, 0x92
+_0802C674:
+ ldrh r0, [r1]
+ cmp r0, 0x1
+ beq _0802C660
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802C674
+_0802C682:
+ movs r0, 0x1
+_0802C684:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C650
+
+ thumb_func_start sub_802C688
+sub_802C688: @ 802C688
+ push {lr}
+ ldr r1, =gUnknown_02022CFC
+ ldr r2, [r1]
+ ldr r1, [r2, 0x78]
+ adds r1, r0
+ str r1, [r2, 0x78]
+ movs r0, 0x1
+ str r0, [r2, 0x5C]
+ ldr r0, =0x00018695
+ cmp r1, r0
+ bls _0802C6A2
+ adds r0, 0x1
+ str r0, [r2, 0x78]
+_0802C6A2:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C688
+
+ thumb_func_start sub_802C6B0
+sub_802C6B0: @ 802C6B0
+ push {r4-r7,lr}
+ movs r5, 0
+ ldr r1, =gUnknown_02022CFC
+ ldr r0, [r1]
+ ldrb r4, [r0, 0x5]
+ movs r2, 0
+ cmp r5, r4
+ bge _0802C702
+ mov r12, r1
+ movs r3, 0
+ ldr r7, =0x000082e4
+ movs r6, 0x1E
+ negs r6, r6
+_0802C6CA:
+ mov r0, r12
+ ldr r1, [r0]
+ adds r0, r1, r7
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r0, r6
+ bne _0802C6F0
+ adds r0, r1, 0
+ adds r0, 0x7C
+ adds r0, r2
+ movs r1, 0x1
+ strb r1, [r0]
+ adds r5, 0x1
+ b _0802C6FA
+ .pool
+_0802C6F0:
+ adds r0, r1, 0
+ adds r0, 0x7C
+ adds r0, r2
+ movs r1, 0
+ strb r1, [r0]
+_0802C6FA:
+ adds r3, 0x28
+ adds r2, 0x1
+ cmp r2, r4
+ blt _0802C6CA
+_0802C702:
+ adds r0, r5, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C6B0
+
+ thumb_func_start sub_802C70C
+sub_802C70C: @ 802C70C
+ push {lr}
+ movs r2, 0
+ ldr r1, =gUnknown_03005000
+ ldr r3, =0x000009e6
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802C728
+ ldr r3, =0x00000c1a
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0802C728
+ movs r2, 0x1
+_0802C728:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C70C
+
+ thumb_func_start sub_802C73C
+sub_802C73C: @ 802C73C
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ ldr r6, =gUnknown_02022CFC
+ movs r5, 0x1
+_0802C74A:
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802C75A
+ adds r0, r5, 0
+ lsls r0, r1
+ orrs r2, r0
+ adds r3, 0x1
+_0802C75A:
+ adds r1, 0x1
+ cmp r1, 0x4
+ ble _0802C74A
+ ldr r0, [r6]
+ adds r0, 0x71
+ strb r2, [r0]
+ cmp r2, 0
+ beq _0802C772
+ ldr r0, [r6]
+ adds r0, 0x4D
+ movs r1, 0x1
+ strb r1, [r0]
+_0802C772:
+ adds r0, r3, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C73C
+
+ thumb_func_start sub_802C780
+sub_802C780: @ 802C780
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ adds r0, 0x44
+ movs r1, 0
+ strb r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802C780
+
+ thumb_func_start sub_802C790
+sub_802C790: @ 802C790
+ ldr r1, =gUnknown_082FB6EC
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_802C790
+
+ thumb_func_start sub_802C7A0
+sub_802C7A0: @ 802C7A0
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrh r2, [r0, 0xE]
+ cmp r1, r2
+ bls _0802C7B2
+ strh r1, [r0, 0xE]
+_0802C7B2:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C7A0
+
+ thumb_func_start sub_802C7BC
+sub_802C7BC: @ 802C7BC
+ push {lr}
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldr r1, =gUnknown_082FB714
+ ldr r2, [r0, 0x78]
+ ldr r0, [r1]
+ cmp r2, r0
+ bcs _0802C7D8
+ movs r0, 0
+ b _0802C7DA
+ .pool
+_0802C7D8:
+ movs r0, 0x1
+_0802C7DA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C7BC
+
+ thumb_func_start sub_802C7E0
+sub_802C7E0: @ 802C7E0
+ push {r4,lr}
+ bl sub_802C818
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ bl sub_802C838
+ lsls r0, 16
+ lsrs r0, 4
+ ldr r1, =0x00000fff
+ ands r4, r1
+ orrs r0, r4
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r4}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C7E0
+
+ thumb_func_start sub_802C808
+sub_802C808: @ 802C808
+ lsls r0, 16
+ lsrs r3, r0, 28
+ strh r3, [r2]
+ lsls r0, 4
+ lsrs r0, 20
+ strh r0, [r1]
+ bx lr
+ thumb_func_end sub_802C808
+
+ thumb_func_start sub_802C818
+sub_802C818: @ 802C818
+ push {lr}
+ bl Random
+ lsls r0, 16
+ movs r1, 0xE0
+ lsls r1, 11
+ ands r1, r0
+ ldr r0, =gUnknown_082FB704
+ lsrs r1, 15
+ adds r1, r0
+ ldrh r0, [r1]
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802C818
+
+ thumb_func_start sub_802C838
+sub_802C838: @ 802C838
+ push {r4-r6,lr}
+ movs r5, 0
+ movs r4, 0
+ ldr r3, =gUnknown_02022CFC
+ ldr r0, [r3]
+ ldr r2, =gUnknown_082FB714
+ ldr r1, [r0, 0x78]
+ ldr r0, [r2]
+ cmp r1, r0
+ bcc _0802C874
+ ldr r5, [r2, 0x4]
+ adds r6, r3, 0
+ adds r3, r2, 0x4
+_0802C852:
+ adds r3, 0x8
+ adds r2, 0x8
+ adds r4, 0x1
+ cmp r4, 0x4
+ bhi _0802C874
+ ldr r0, [r6]
+ ldr r1, [r0, 0x78]
+ ldr r0, [r2]
+ cmp r1, r0
+ bcc _0802C874
+ ldr r5, [r3]
+ b _0802C852
+ .pool
+_0802C874:
+ lsls r0, r5, 16
+ lsrs r0, 16
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C838
+
+ thumb_func_start sub_802C880
+sub_802C880: @ 802C880
+ push {r4,r5,lr}
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ b _0802C892
+_0802C88C:
+ subs r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+_0802C892:
+ cmp r4, 0
+ beq _0802C8A4
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl CheckBagHasSpace
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802C88C
+_0802C8A4:
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C880
+
+ thumb_func_start sub_802C8AC
+sub_802C8AC: @ 802C8AC
+ push {lr}
+ bl GetLinkPlayerCount
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C8AC
+
+ thumb_func_start sub_802C8BC
+sub_802C8BC: @ 802C8BC
+ ldr r0, =gUnknown_02022CFC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x6]
+ bx lr
+ .pool
+ thumb_func_end sub_802C8BC
+
+ thumb_func_start sub_802C8C8
+sub_802C8C8: @ 802C8C8
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gUnknown_02022CFC
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, =0x000082a8
+ adds r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .pool
+ thumb_func_end sub_802C8C8
+
+ thumb_func_start sub_802C8E8
+sub_802C8E8: @ 802C8E8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_02022CFC
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, [r2]
+ adds r0, r1
+ movs r1, 0x83
+ lsls r1, 8
+ adds r0, r1
+ bx lr
+ .pool
+ thumb_func_end sub_802C8E8
+
+ thumb_func_start sub_802C908
+sub_802C908: @ 802C908
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_802AC00
+ lsls r0, 16
+ asrs r0, 16
+ mvns r0, r0
+ lsrs r0, 31
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802C908
+
+ thumb_func_start sub_802C920
+sub_802C920: @ 802C920
+ push {r4,r5,lr}
+ movs r5, 0
+_0802C924:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GetMonData
+ cmp r0, 0
+ beq _0802C95C
+ adds r0, r4, 0
+ movs r1, 0x41
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_802C908
+ cmp r0, 0
+ beq _0802C95C
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x1
+ b _0802C966
+ .pool
+_0802C95C:
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _0802C924
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0
+_0802C966:
+ strh r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C920
+
+ thumb_func_start sub_802C974
+sub_802C974: @ 802C974
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r4, 0
+ ldr r5, =gUnknown_082FBE08
+_0802C97C:
+ adds r0, r5, 0
+ bl LoadCompressedSpriteSheet
+ adds r5, 0x8
+ adds r4, 0x1
+ cmp r4, 0x4
+ bls _0802C97C
+ movs r4, 0
+ ldr r5, =gUnknown_082FBE30
+_0802C98E:
+ adds r0, r5, 0
+ bl LoadSpritePalette
+ adds r5, 0x8
+ adds r4, 0x1
+ cmp r4, 0x1
+ bls _0802C98E
+ movs r0, 0x5
+ bl IndexOfSpritePaletteTag
+ strb r0, [r6, 0xE]
+ movs r0, 0x6
+ bl IndexOfSpritePaletteTag
+ strb r0, [r6, 0xF]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C974
+
+ thumb_func_start sub_802C9BC
+sub_802C9BC: @ 802C9BC
+ push {lr}
+ movs r2, 0
+ movs r1, 0x7
+ adds r0, 0x3C
+_0802C9C4:
+ strh r2, [r0]
+ subs r0, 0x2
+ subs r1, 0x1
+ cmp r1, 0
+ bge _0802C9C4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802C9BC
+
+ thumb_func_start sub_802C9D4
+sub_802C9D4: @ 802C9D4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x34
+ mov r9, r0
+ adds r7, r1, 0
+ ldr r0, [sp, 0x54]
+ lsls r2, 16
+ lsrs r2, 16
+ str r2, [sp, 0x28]
+ lsls r3, 16
+ lsrs r3, 16
+ str r3, [sp, 0x2C]
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r1, sp
+ ldr r0, =gUnknown_082FBE40
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ movs r0, 0x80
+ lsls r0, 6
+ bl Alloc
+ mov r8, r0
+ movs r0, 0x80
+ lsls r0, 4
+ bl Alloc
+ mov r10, r0
+ bl sub_802C8BC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r6, r0
+ bne _0802CA2C
+ movs r0, 0x3
+ b _0802CA32
+ .pool
+_0802CA2C:
+ adds r0, r6, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+_0802CA32:
+ str r0, [sp, 0x30]
+ mov r1, r8
+ cmp r1, 0
+ beq _0802CAF4
+ mov r2, r10
+ cmp r2, 0
+ beq _0802CAF4
+ ldrh r2, [r7]
+ lsls r0, r2, 3
+ ldr r1, =gMonStillFrontPicTable
+ adds r0, r1
+ ldr r3, [r7, 0x8]
+ mov r1, r8
+ bl HandleLoadSpecialPokePic
+ mov r3, r8
+ str r3, [sp, 0x18]
+ adds r4, r6, 0
+ add r0, sp, 0x18
+ ldr r5, =0xffff0000
+ lsls r1, r4, 16
+ movs r2, 0x80
+ lsls r2, 4
+ orrs r1, r2
+ str r1, [r0, 0x4]
+ bl LoadSpriteSheet
+ ldrh r0, [r7]
+ ldr r1, [r7, 0x4]
+ ldr r2, [r7, 0x8]
+ bl GetFrontSpritePalFromSpeciesAndPersonality
+ str r0, [sp, 0x20]
+ add r0, sp, 0x20
+ ldr r1, [r0, 0x4]
+ ands r1, r5
+ orrs r1, r4
+ str r1, [r0, 0x4]
+ bl LoadCompressedSpritePalette
+ mov r0, r8
+ bl Free
+ mov r0, r10
+ bl Free
+ mov r1, sp
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r0, r6
+ strh r0, [r1]
+ mov r0, sp
+ ldrh r0, [r0, 0x2]
+ adds r0, r6
+ strh r0, [r1, 0x2]
+ ldr r4, [sp, 0x28]
+ lsls r1, r4, 16
+ asrs r1, 16
+ ldr r0, [sp, 0x2C]
+ lsls r2, r0, 16
+ asrs r2, 16
+ mov r0, sp
+ ldr r3, [sp, 0x30]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _0802CAF4
+ lsls r0, r6, 2
+ ldr r2, =0x000081a8
+ add r2, r9
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r2]
+ ldr r0, =0x000081fc
+ add r0, r9
+ adds r0, r6
+ add r1, sp, 0x30
+ ldrb r1, [r1]
+ strb r1, [r0]
+ b _0802CB00
+ .pool
+_0802CAF4:
+ lsls r0, r6, 2
+ ldr r1, =0x000081a8
+ add r1, r9
+ adds r1, r0
+ movs r0, 0
+ str r0, [r1]
+_0802CB00:
+ add sp, 0x34
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802C9D4
+
+ thumb_func_start sub_802CB14
+sub_802CB14: @ 802CB14
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r6, r1, 2
+ ldr r0, =0x000081bc
+ adds r5, r4, r0
+ adds r5, r6
+ ldr r0, [r5]
+ bl sub_802C9BC
+ ldr r2, [r5]
+ ldr r0, =0x000081a8
+ adds r4, r0
+ adds r4, r6
+ ldr r1, [r4]
+ ldr r0, =gSprites
+ subs r1, r0
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r1, r0, 8
+ adds r0, r1
+ lsls r1, r0, 16
+ adds r0, r1
+ negs r0, r0
+ asrs r0, 2
+ strh r0, [r2, 0x3C]
+ ldr r1, [r5]
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+ ldr r1, [r5]
+ movs r0, 0x60
+ strh r0, [r1, 0x22]
+ ldr r0, [r5]
+ ldr r1, =sub_802CB7C
+ str r1, [r0, 0x1C]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CB14
+
+ thumb_func_start sub_802CB7C
+sub_802CB7C: @ 802CB7C
+ push {lr}
+ adds r2, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r2, r1]
+ cmp r0, 0x1
+ beq _0802CBA8
+ cmp r0, 0x1
+ bgt _0802CB92
+ cmp r0, 0
+ beq _0802CB98
+ b _0802CBE6
+_0802CB92:
+ cmp r0, 0x2
+ beq _0802CBC8
+ b _0802CBE6
+_0802CB98:
+ adds r0, r2, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0802CBE6
+ b _0802CBD6
+_0802CBA8:
+ ldrh r1, [r2, 0x22]
+ subs r1, 0x1
+ strh r1, [r2, 0x22]
+ ldrh r0, [r2, 0x30]
+ adds r0, 0x1
+ strh r0, [r2, 0x30]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x48
+ bgt _0802CBE6
+ movs r0, 0x48
+ strh r0, [r2, 0x22]
+ ldrh r0, [r2, 0x2E]
+ adds r0, 0x1
+ strh r0, [r2, 0x2E]
+ b _0802CBE6
+_0802CBC8:
+ ldrh r0, [r2, 0x30]
+ adds r0, 0x1
+ strh r0, [r2, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2F
+ ble _0802CBE6
+_0802CBD6:
+ adds r3, r2, 0
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3]
+ ldr r0, =SpriteCallbackDummy
+ str r0, [r2, 0x1C]
+_0802CBE6:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CB7C
+
+ thumb_func_start sub_802CBF0
+sub_802CBF0: @ 802CBF0
+ push {lr}
+ lsls r1, 2
+ ldr r2, =0x000081a8
+ adds r0, r2
+ adds r0, r1
+ ldr r2, [r0]
+ ldr r1, =sub_802CC40
+ str r1, [r2, 0x1C]
+ movs r1, 0
+ strh r1, [r2, 0x26]
+ ldr r0, [r0]
+ bl sub_802C9BC
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CBF0
+
+ thumb_func_start sub_802CC18
+sub_802CC18: @ 802CC18
+ push {lr}
+ movs r2, 0
+ lsls r1, 2
+ ldr r3, =0x000081a8
+ adds r0, r3
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r1, [r0, 0x1C]
+ ldr r0, =sub_802CC40
+ cmp r1, r0
+ bne _0802CC30
+ movs r2, 0x1
+_0802CC30:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802CC18
+
+ thumb_func_start sub_802CC40
+sub_802CC40: @ 802CC40
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x30]
+ adds r0, 0x1
+ strh r0, [r2, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0802CC6C
+ ldrh r0, [r2, 0x32]
+ adds r0, 0x1
+ strh r0, [r2, 0x32]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0802CC64
+ movs r0, 0x2
+ b _0802CC66
+_0802CC64:
+ ldr r0, =0x0000fffe
+_0802CC66:
+ strh r0, [r2, 0x26]
+ movs r0, 0
+ strh r0, [r2, 0x30]
+_0802CC6C:
+ movs r1, 0x32
+ ldrsh r0, [r2, r1]
+ cmp r0, 0xC
+ ble _0802CC7C
+ movs r0, 0
+ strh r0, [r2, 0x26]
+ ldr r0, =SpriteCallbackDummy
+ str r0, [r2, 0x1C]
+_0802CC7C:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CC40
+
+ thumb_func_start sub_802CC88
+sub_802CC88: @ 802CC88
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 2
+ ldr r0, =0x000081a8
+ adds r4, r0
+ adds r4, r1
+ ldr r0, [r4]
+ bl sub_802C9BC
+ ldr r1, [r4]
+ ldr r0, =sub_802CD08
+ str r0, [r1, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CC88
+
+ thumb_func_start sub_802CCB0
+sub_802CCB0: @ 802CCB0
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0
+ beq _0802CCF4
+ movs r1, 0x5
+ negs r1, r1
+ mov r12, r1
+ ldr r1, =0x000081a8
+ adds r3, r4, r1
+ ldr r7, =sub_802CD08
+ ldr r6, =SpriteCallbackDummy
+ movs r5, 0xA
+ adds r4, r0, 0
+_0802CCD2:
+ ldr r2, [r3]
+ ldr r0, [r2, 0x1C]
+ cmp r0, r7
+ bne _0802CCEC
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ mov r0, r12
+ ands r0, r1
+ strb r0, [r2]
+ ldr r0, [r3]
+ str r6, [r0, 0x1C]
+ adds r0, 0x43
+ strb r5, [r0]
+_0802CCEC:
+ adds r3, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bne _0802CCD2
+_0802CCF4:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CCB0
+
+ thumb_func_start sub_802CD08
+sub_802CD08: @ 802CD08
+ push {lr}
+ adds r3, r0, 0
+ ldrh r0, [r3, 0x2E]
+ adds r0, 0x1
+ strh r0, [r3, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _0802CD36
+ movs r0, 0
+ strh r0, [r3, 0x2E]
+ adds r3, 0x3E
+ ldrb r2, [r3]
+ lsls r0, r2, 29
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+_0802CD36:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802CD08
+
+ thumb_func_start sub_802CD3C
+sub_802CD3C: @ 802CD3C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0
+ cmp r2, r3
+ bge _0802CD66
+ ldr r0, =0x000081fc
+ adds r5, r4, r0
+ subs r0, 0x54
+ adds r4, r0
+_0802CD56:
+ ldm r4!, {r0}
+ adds r1, r5, r2
+ ldrb r1, [r1]
+ adds r0, 0x43
+ strb r1, [r0]
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802CD56
+_0802CD66:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CD3C
+
+ thumb_func_start sub_802CD70
+sub_802CD70: @ 802CD70
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 2
+ ldr r0, =0x000081a8
+ adds r4, r0
+ adds r4, r1
+ ldr r0, [r4]
+ bl sub_802C9BC
+ ldr r1, [r4]
+ ldr r0, =sub_802CDD4
+ str r0, [r1, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CD70
+
+ thumb_func_start sub_802CD98
+sub_802CD98: @ 802CD98
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0
+ cmp r2, r3
+ bge _0802CDCC
+ ldr r5, =sub_802CDD4
+ ldr r0, =0x000081a8
+ adds r1, r4, r0
+_0802CDB0:
+ ldr r0, [r1]
+ ldr r0, [r0, 0x1C]
+ cmp r0, r5
+ bne _0802CDC4
+ movs r0, 0x1
+ b _0802CDCE
+ .pool
+_0802CDC4:
+ adds r1, 0x4
+ adds r2, 0x1
+ cmp r2, r3
+ blt _0802CDB0
+_0802CDCC:
+ movs r0, 0
+_0802CDCE:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802CD98
+
+ thumb_func_start sub_802CDD4
+sub_802CDD4: @ 802CDD4
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r0, 0x2E
+ ldrsh r4, [r5, r0]
+ cmp r4, 0
+ beq _0802CDE6
+ cmp r4, 0x1
+ beq _0802CDF4
+ b _0802CE3C
+_0802CDE6:
+ movs r0, 0x22
+ bl PlaySE
+ strh r4, [r5, 0x30]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+_0802CDF4:
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x4
+ strh r0, [r5, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7F
+ ble _0802CE06
+ movs r0, 0
+ strh r0, [r5, 0x30]
+_0802CE06:
+ ldr r1, =gSineTable
+ movs r2, 0x30
+ ldrsh r0, [r5, r2]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r0, 16
+ asrs r0, 19
+ negs r0, r0
+ strh r0, [r5, 0x26]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ cmp r1, 0
+ bne _0802CE3C
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x1
+ strh r0, [r5, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bgt _0802CE38
+ strh r1, [r5, 0x2E]
+ b _0802CE3C
+ .pool
+_0802CE38:
+ ldr r0, =SpriteCallbackDummy
+ str r0, [r5, 0x1C]
+_0802CE3C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CDD4
+
+ thumb_func_start sub_802CE48
+sub_802CE48: @ 802CE48
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r3, 24
+ lsrs r4, r3, 24
+ ldr r0, =gUnknown_082FC00C
+ lsls r1, 16
+ asrs r1, 16
+ lsls r2, 16
+ asrs r2, 16
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _0802CE88
+ ldr r0, =gSprites
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ adds r3, r1, 0
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r3]
+ lsls r2, r4, 2
+ ldr r3, =0x000081bc
+ adds r0, r5, r3
+ adds r0, r2
+ str r1, [r0]
+_0802CE88:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CE48
+
+ thumb_func_start sub_802CE9C
+sub_802CE9C: @ 802CE9C
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r5, 0
+ movs r4, 0
+ ldr r6, =gUnknown_082FBE58
+_0802CEA6:
+ ldr r1, =gUnknown_082FBEB8
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r2, =gUnknown_082FBEA8
+ lsls r1, r5, 1
+ adds r1, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r3, 0
+ ldrsh r2, [r6, r3]
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ lsls r0, r5, 2
+ ldr r3, =0x000081d0
+ adds r2, r7, r3
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r2]
+ adds r5, 0x1
+ adds r6, 0x14
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0802CEA6
+ movs r4, 0x3
+ movs r6, 0x3C
+_0802CEE8:
+ ldr r1, =gUnknown_082FBEB8
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r2, =gUnknown_082FBEA8
+ lsls r1, r5, 1
+ adds r1, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ ldr r2, =gUnknown_082FBE58
+ adds r2, r6, r2
+ movs r3, 0
+ ldrsh r2, [r2, r3]
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ lsls r0, r5, 2
+ ldr r3, =0x000081d0
+ adds r2, r7, r3
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ str r0, [r2]
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0]
+ adds r5, 0x1
+ subs r6, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0802CEE8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CE9C
+
+ thumb_func_start sub_802CF50
+sub_802CF50: @ 802CF50
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ str r0, [sp, 0x8]
+ cmp r1, 0x5
+ ble _0802CF70
+ movs r0, 0xA
+ subs r1, r0, r1
+ movs r0, 0x3
+ str r0, [sp]
+ ldr r2, [sp, 0x8]
+ ldrb r0, [r2, 0xF]
+ b _0802CF78
+_0802CF70:
+ movs r3, 0x2
+ str r3, [sp]
+ ldr r7, [sp, 0x8]
+ ldrb r0, [r7, 0xE]
+_0802CF78:
+ movs r6, 0
+ lsls r2, r1, 1
+ str r2, [sp, 0x4]
+ lsls r0, 4
+ mov r9, r0
+ lsls r1, 24
+ mov r8, r1
+ ldr r0, =gUnknown_082FBE58
+ adds r4, r2, r0
+ ldr r3, [sp]
+ lsls r3, 2
+ mov r10, r3
+ movs r5, 0x3
+_0802CF92:
+ lsls r0, r6, 2
+ ldr r7, [sp, 0x8]
+ ldr r1, =0x000081d0
+ adds r2, r7, r1
+ adds r2, r0
+ ldr r1, [r2]
+ ldrh r0, [r4]
+ strh r0, [r1, 0x22]
+ ldr r3, [r2]
+ ldrb r0, [r3, 0x5]
+ movs r7, 0xD
+ negs r7, r7
+ adds r1, r7, 0
+ ands r0, r1
+ mov r1, r10
+ orrs r0, r1
+ strb r0, [r3, 0x5]
+ ldr r3, [r2]
+ ldrb r1, [r3, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ mov r7, r9
+ orrs r0, r7
+ strb r0, [r3, 0x5]
+ ldr r0, [r2]
+ mov r2, r8
+ lsrs r1, r2, 24
+ bl StartSpriteAnim
+ adds r6, 0x1
+ adds r4, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0802CF92
+ movs r5, 0x3
+ ldr r0, =gUnknown_082FBE58
+ ldr r3, [sp, 0x4]
+ adds r0, r3, r0
+ adds r4, r0, 0
+ adds r4, 0x3C
+ ldr r7, [sp]
+ lsls r7, 2
+ mov r10, r7
+_0802CFE8:
+ lsls r0, r6, 2
+ ldr r1, [sp, 0x8]
+ ldr r3, =0x000081d0
+ adds r2, r1, r3
+ adds r2, r0
+ ldr r1, [r2]
+ ldrh r0, [r4]
+ strh r0, [r1, 0x22]
+ ldr r3, [r2]
+ ldrb r0, [r3, 0x5]
+ movs r7, 0xD
+ negs r7, r7
+ adds r1, r7, 0
+ ands r0, r1
+ mov r1, r10
+ orrs r0, r1
+ strb r0, [r3, 0x5]
+ ldr r3, [r2]
+ ldrb r1, [r3, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ mov r7, r9
+ orrs r0, r7
+ strb r0, [r3, 0x5]
+ ldr r0, [r2]
+ mov r2, r8
+ lsrs r1, r2, 24
+ bl StartSpriteAnim
+ adds r6, 0x1
+ subs r4, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0802CFE8
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802CF50
+
+ thumb_func_start sub_802D044
+sub_802D044: @ 802D044
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x9
+ movs r1, 0x7
+ movs r2, 0x78
+ movs r3, 0x50
+ bl sub_802EB24
+ adds r0, r4, 0
+ bl sub_802CD3C
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D044
+
+ thumb_func_start sub_802D068
+sub_802D068: @ 802D068
+ push {lr}
+ bl sub_802EB84
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802D068
+
+ thumb_func_start sub_802D074
+sub_802D074: @ 802D074
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ str r0, [r4]
+ bl sub_802D0BC
+ ldr r0, =sub_802D12C
+ movs r1, 0x3
+ bl CreateTask
+ ldr r1, [r4]
+ strb r0, [r1, 0x6]
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x6]
+ movs r1, 0x2
+ bl SetWordTaskArg
+ ldr r0, =sub_802D150
+ bl sub_802D108
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D074
+
+ thumb_func_start sub_802D0AC
+sub_802D0AC: @ 802D0AC
+ push {lr}
+ bl FreeAllWindowBuffers
+ bl sub_8034CC8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D0AC
+
+ thumb_func_start sub_802D0BC
+sub_802D0BC: @ 802D0BC
+ movs r1, 0
+ strh r1, [r0, 0x4]
+ str r1, [r0]
+ movs r1, 0xFF
+ strh r1, [r0, 0x12]
+ bx lr
+ thumb_func_end sub_802D0BC
+
+ thumb_func_start sub_802D0C8
+sub_802D0C8: @ 802D0C8
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ ldr r4, =gUnknown_082FE18C
+_0802D0D0:
+ ldr r0, [r4]
+ cmp r0, r6
+ bne _0802D0DC
+ ldr r0, [r4, 0x4]
+ bl sub_802D108
+_0802D0DC:
+ adds r4, 0x8
+ adds r5, 0x1
+ cmp r5, 0x9
+ bls _0802D0D0
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D0C8
+
+ thumb_func_start sub_802D0F0
+sub_802D0F0: @ 802D0F0
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ ldr r1, [r0]
+ movs r0, 0x1
+ eors r1, r0
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ bx lr
+ .pool
+ thumb_func_end sub_802D0F0
+
+ thumb_func_start sub_802D108
+sub_802D108: @ 802D108
+ push {r4,lr}
+ adds r2, r0, 0
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x6]
+ movs r1, 0
+ bl SetWordTaskArg
+ ldr r1, [r4]
+ movs r0, 0
+ strh r0, [r1, 0x4]
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D108
+
+ thumb_func_start sub_802D12C
+sub_802D12C: @ 802D12C
+ push {lr}
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0802D148
+ adds r0, r1, 0
+ movs r1, 0
+ bl GetWordTaskArg
+ bl _call_via_r0
+_0802D148:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D12C
+
+ thumb_func_start sub_802D150
+sub_802D150: @ 802D150
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r6, =gUnknown_02022D00
+ ldr r1, [r6]
+ ldrh r5, [r1, 0x4]
+ cmp r5, 0x1
+ bne _0802D160
+ b _0802D298
+_0802D160:
+ cmp r5, 0x1
+ bgt _0802D170
+ cmp r5, 0
+ beq _0802D178
+ b _0802D2DA
+ .pool
+_0802D170:
+ cmp r5, 0x2
+ bne _0802D176
+ b _0802D2D6
+_0802D176:
+ b _0802D2DA
+_0802D178:
+ movs r0, 0
+ bl ResetBgsAndClearDma3BusyFlags
+ ldr r1, =gUnknown_082FE164
+ movs r0, 0
+ movs r2, 0x4
+ bl InitBgsFromTemplates
+ ldr r0, =gUnknown_082FE174
+ bl InitWindows
+ bl reset_temp_tile_data_buffers
+ ldr r0, [r6]
+ bl sub_802C974
+ bl sub_802DD08
+ ldr r0, =gPkmnJumpBgPal
+ movs r1, 0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, =gPkmnJumpBgGfx
+ str r5, [sp]
+ movs r0, 0x3
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r1, =gPkmnJumpBgTilemap
+ movs r4, 0x1
+ str r4, [sp]
+ movs r0, 0x3
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r0, =gPkmnJumpVenusaurPal
+ movs r1, 0x30
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, =gPkmnJumpVenusaurGfx
+ str r5, [sp]
+ movs r0, 0x2
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r1, =gPkmnJumpVenusaurTilemap
+ str r4, [sp]
+ movs r0, 0x2
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r0, =gPkmnJumpResultsPal
+ movs r1, 0x10
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, =gPkmnJumpResultsGfx
+ str r5, [sp]
+ movs r0, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r1, =gPkmnJumpResultsTilemap
+ str r4, [sp]
+ movs r0, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl decompress_and_copy_tile_data_to_vram
+ ldr r0, =gPkmnJumpPal3
+ movs r1, 0x20
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, [r6]
+ movs r0, 0xD3
+ lsls r0, 1
+ adds r1, r0
+ movs r0, 0
+ bl SetBgTilemapBuffer
+ movs r0, 0x20
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect_Palette0
+ bl sub_802DB8C
+ movs r0, 0
+ bl sub_802DD64
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0xE0
+ bl sub_8098C6C
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x2
+ bl CopyBgTilemapBufferToVram
+ movs r0, 0x1
+ bl CopyBgTilemapBufferToVram
+ bl ResetBgPositions
+ b _0802D2CC
+ .pool
+_0802D298:
+ bl free_temp_tile_data_buffers_if_possible
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D2DA
+ bl sub_802DBF8
+ ldr r0, [r6]
+ bl sub_802CE9C
+ ldr r0, [r6]
+ movs r1, 0x6
+ bl sub_802CF50
+ movs r0, 0x3
+ bl ShowBg
+ movs r0, 0
+ bl ShowBg
+ movs r0, 0x2
+ bl ShowBg
+ movs r0, 0x1
+ bl HideBg
+_0802D2CC:
+ ldr r1, [r6]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D2DA
+_0802D2D6:
+ movs r0, 0x1
+ str r0, [r1]
+_0802D2DA:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D150
+
+ thumb_func_start sub_802D2E4
+sub_802D2E4: @ 802D2E4
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x4]
+ cmp r0, 0x1
+ beq _0802D310
+ cmp r0, 0x1
+ bgt _0802D300
+ cmp r0, 0
+ beq _0802D30A
+ b _0802D34A
+ .pool
+_0802D300:
+ cmp r0, 0x2
+ beq _0802D322
+ cmp r0, 0x3
+ beq _0802D33A
+ b _0802D34A
+_0802D30A:
+ bl sub_802DE1C
+ b _0802D330
+_0802D310:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D34A
+ movs r0, 0
+ bl sub_802DF70
+ b _0802D330
+_0802D322:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D34A
+ bl sub_802DFD4
+_0802D330:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D34A
+_0802D33A:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D34A
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D34A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D2E4
+
+ thumb_func_start sub_802D350
+sub_802D350: @ 802D350
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x4]
+ cmp r0, 0x1
+ beq _0802D37C
+ cmp r0, 0x1
+ bgt _0802D36C
+ cmp r0, 0
+ beq _0802D376
+ b _0802D3B6
+ .pool
+_0802D36C:
+ cmp r0, 0x2
+ beq _0802D38E
+ cmp r0, 0x3
+ beq _0802D3A6
+ b _0802D3B6
+_0802D376:
+ bl sub_802DE1C
+ b _0802D39C
+_0802D37C:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D3B6
+ movs r0, 0x1
+ bl sub_802DF70
+ b _0802D39C
+_0802D38E:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D3B6
+ bl sub_802DFD4
+_0802D39C:
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D3B6
+_0802D3A6:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D3B6
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D3B6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D350
+
+ thumb_func_start sub_802D3BC
+sub_802D3BC: @ 802D3BC
+ push {r4,r5,lr}
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ ldrh r0, [r0, 0x4]
+ cmp r0, 0
+ beq _0802D3DC
+ cmp r0, 0x1
+ beq _0802D410
+ b _0802D43E
+ .pool
+_0802D3DC:
+ movs r4, 0
+ cmp r4, r5
+ bge _0802D3F8
+_0802D3E2:
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x1C
+ adds r0, r1
+ ldrb r0, [r0]
+ bl ClearWindowTilemap
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802D3E2
+_0802D3F8:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r0, =gUnknown_02022D00
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D43E
+ .pool
+_0802D410:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D43E
+ movs r4, 0
+ cmp r4, r5
+ bge _0802D436
+_0802D420:
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x1C
+ adds r0, r1
+ ldrb r0, [r0]
+ bl RemoveWindow
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802D420
+_0802D436:
+ ldr r0, =gUnknown_02022D00
+ ldr r1, [r0]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D43E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D3BC
+
+ thumb_func_start sub_802D448
+sub_802D448: @ 802D448
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0x1
+ beq _0802D4A4
+ cmp r4, 0x1
+ bgt _0802D464
+ cmp r4, 0
+ beq _0802D46A
+ b _0802D4EC
+ .pool
+_0802D464:
+ cmp r4, 0x2
+ beq _0802D4DC
+ b _0802D4EC
+_0802D46A:
+ movs r0, 0x1
+ movs r1, 0x8
+ movs r2, 0x14
+ movs r3, 0x2
+ bl sub_802DA9C
+ ldr r1, [r5]
+ strh r0, [r1, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_WantToPlayAgain2
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ b _0802D4D2
+ .pool
+_0802D4A4:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D4EC
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0x17
+ movs r1, 0x7
+ movs r2, 0
+ bl sub_802DB18
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802D4D2:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D4EC
+_0802D4DC:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D4EC
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D4EC:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D448
+
+ thumb_func_start sub_802D4F4
+sub_802D4F4: @ 802D4F4
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0x1
+ beq _0802D550
+ cmp r4, 0x1
+ bgt _0802D510
+ cmp r4, 0
+ beq _0802D516
+ b _0802D58E
+ .pool
+_0802D510:
+ cmp r4, 0x2
+ beq _0802D57E
+ b _0802D58E
+_0802D516:
+ movs r0, 0x2
+ movs r1, 0x7
+ movs r2, 0x1A
+ movs r3, 0x4
+ bl sub_802DA9C
+ ldr r1, [r5]
+ strh r0, [r1, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_SavingDontTurnOffPower
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ b _0802D574
+ .pool
+_0802D550:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D58E
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802D574:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D58E
+_0802D57E:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D58E
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D58E:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D4F4
+
+ thumb_func_start sub_802D598
+sub_802D598: @ 802D598
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0
+ beq _0802D5B0
+ cmp r4, 0x1
+ beq _0802D5C8
+ b _0802D5DE
+ .pool
+_0802D5B0:
+ bl sub_802DA14
+ bl sub_8198C78
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D5DE
+_0802D5C8:
+ bl sub_802DA44
+ cmp r0, 0
+ bne _0802D5DE
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D5DE
+ ldr r0, [r5]
+ str r4, [r0]
+_0802D5DE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D598
+
+ thumb_func_start sub_802D5E4
+sub_802D5E4: @ 802D5E4
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0x1
+ beq _0802D640
+ cmp r4, 0x1
+ bgt _0802D600
+ cmp r4, 0
+ beq _0802D606
+ b _0802D67E
+ .pool
+_0802D600:
+ cmp r4, 0x2
+ beq _0802D66E
+ b _0802D67E
+_0802D606:
+ movs r0, 0x2
+ movs r1, 0x8
+ movs r2, 0x16
+ movs r3, 0x4
+ bl sub_802DA9C
+ ldr r1, [r5]
+ strh r0, [r1, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_SomeoneDroppedOut2
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ b _0802D664
+ .pool
+_0802D640:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D67E
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802D664:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D67E
+_0802D66E:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D67E
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D67E:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D5E4
+
+ thumb_func_start sub_802D688
+sub_802D688: @ 802D688
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0x1
+ beq _0802D6E4
+ cmp r4, 0x1
+ bgt _0802D6A4
+ cmp r4, 0
+ beq _0802D6AA
+ b _0802D722
+ .pool
+_0802D6A4:
+ cmp r4, 0x2
+ beq _0802D712
+ b _0802D722
+_0802D6AA:
+ movs r0, 0x7
+ movs r1, 0xA
+ movs r2, 0x10
+ movs r3, 0x2
+ bl sub_802DA9C
+ ldr r1, [r5]
+ strh r0, [r1, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_CommunicationStandby4
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ b _0802D708
+ .pool
+_0802D6E4:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D722
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+_0802D708:
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D722
+_0802D712:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802D722
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1]
+_0802D722:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D688
+
+ thumb_func_start sub_802D72C
+sub_802D72C: @ 802D72C
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_02022D00
+ ldr r0, [r5]
+ ldrh r4, [r0, 0x4]
+ cmp r4, 0
+ beq _0802D744
+ cmp r4, 0x1
+ beq _0802D752
+ b _0802D75E
+ .pool
+_0802D744:
+ bl sub_802D044
+ ldr r1, [r5]
+ ldrh r0, [r1, 0x4]
+ adds r0, 0x1
+ strh r0, [r1, 0x4]
+ b _0802D75E
+_0802D752:
+ bl sub_802D068
+ cmp r0, 0
+ bne _0802D75E
+ ldr r0, [r5]
+ str r4, [r0]
+_0802D75E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802D72C
+
+ thumb_func_start sub_802D764
+sub_802D764: @ 802D764
+ push {lr}
+ ldr r1, =gUnknown_02022D00
+ ldr r0, [r1]
+ movs r2, 0
+ strb r2, [r0, 0xA]
+ ldr r0, [r1]
+ strb r2, [r0, 0xB]
+ ldr r2, [r1]
+ movs r0, 0x6
+ strb r0, [r2, 0xC]
+ ldr r0, [r1]
+ ldrb r0, [r0, 0xC]
+ bl sub_802DC9C
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D764
+
+ thumb_func_start sub_802D788
+sub_802D788: @ 802D788
+ push {r4,lr}
+ ldr r0, =gUnknown_02022D00
+ ldr r2, [r0]
+ ldrb r3, [r2, 0xA]
+ adds r4, r0, 0
+ cmp r3, 0
+ beq _0802D7A0
+ cmp r3, 0x1
+ beq _0802D7DA
+ b _0802D7DE
+ .pool
+_0802D7A0:
+ ldrb r0, [r2, 0xB]
+ adds r0, 0x1
+ strb r0, [r2, 0xB]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xB]
+ cmp r0, 0xA
+ bls _0802D7CA
+ strb r3, [r1, 0xB]
+ ldr r0, [r4]
+ ldrb r1, [r0, 0xC]
+ adds r1, 0x1
+ strb r1, [r0, 0xC]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xC]
+ cmp r0, 0x9
+ bls _0802D7CA
+ strb r3, [r1, 0xC]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xA]
+ adds r0, 0x1
+ strb r0, [r1, 0xA]
+_0802D7CA:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xC]
+ bl sub_802DC9C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0x7
+ bne _0802D7DE
+_0802D7DA:
+ movs r0, 0
+ b _0802D7E0
+_0802D7DE:
+ movs r0, 0x1
+_0802D7E0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802D788
+
+ thumb_func_start sub_802D7E8
+sub_802D7E8: @ 802D7E8
+ push {r4,r5,lr}
+ sub sp, 0xC
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r5, =gUnknown_02022D00
+ ldr r1, [r5]
+ adds r1, 0x26
+ adds r2, r4, 0
+ bl CopyItemNameHandlePlural
+ ldr r0, [r5]
+ adds r0, 0x66
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl ConvertIntToDecimalStringN
+ bl DynamicPlaceholderTextUtil_Reset
+ ldr r1, [r5]
+ adds r1, 0x26
+ movs r0, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r1, [r5]
+ adds r1, 0x66
+ movs r0, 0x1
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r0, [r5]
+ adds r0, 0xA6
+ ldr r1, =gText_AwesomeWonF701F700
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ movs r0, 0x4
+ movs r1, 0x8
+ movs r2, 0x16
+ movs r3, 0x4
+ bl sub_802DA9C
+ ldr r2, [r5]
+ movs r4, 0
+ movs r3, 0
+ strh r0, [r2, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, 0xA6
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r3, [sp, 0x8]
+ movs r1, 0x1
+ bl AddTextPrinterParameterized
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r1, [r5]
+ ldr r0, =0x0000016f
+ strh r0, [r1, 0x14]
+ strb r4, [r1, 0xD]
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D7E8
+
+ thumb_func_start sub_802D884
+sub_802D884: @ 802D884
+ push {r4-r6,lr}
+ sub sp, 0xC
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, =gUnknown_02022D00
+ ldr r1, [r4]
+ adds r1, 0x26
+ bl CopyItemName
+ bl DynamicPlaceholderTextUtil_Reset
+ ldr r1, [r4]
+ adds r1, 0x26
+ movs r0, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r0, [r4]
+ adds r0, 0xA6
+ ldr r1, =gText_FilledStorageSpace2
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ movs r0, 0x4
+ movs r1, 0x8
+ movs r2, 0x16
+ movs r3, 0x4
+ bl sub_802DA9C
+ ldr r2, [r4]
+ movs r6, 0
+ movs r5, 0
+ strh r0, [r2, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, 0xA6
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ strh r5, [r0, 0x14]
+ strb r6, [r0, 0xD]
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D884
+
+ thumb_func_start sub_802D8FC
+sub_802D8FC: @ 802D8FC
+ push {r4-r6,lr}
+ sub sp, 0xC
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, =gUnknown_02022D00
+ ldr r1, [r4]
+ adds r1, 0x26
+ bl CopyItemName
+ bl DynamicPlaceholderTextUtil_Reset
+ ldr r1, [r4]
+ adds r1, 0x26
+ movs r0, 0
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
+ ldr r0, [r4]
+ adds r0, 0xA6
+ ldr r1, =gText_CantHoldMore
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
+ movs r0, 0x4
+ movs r1, 0x9
+ movs r2, 0x16
+ movs r3, 0x2
+ bl sub_802DA9C
+ ldr r2, [r4]
+ movs r6, 0
+ movs r5, 0
+ strh r0, [r2, 0x12]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, 0xA6
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldr r0, [r4]
+ strh r5, [r0, 0x14]
+ strb r6, [r0, 0xD]
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802D8FC
+
+ thumb_func_start sub_802D974
+sub_802D974: @ 802D974
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xD]
+ cmp r0, 0x1
+ beq _0802D9C8
+ cmp r0, 0x1
+ bgt _0802D990
+ cmp r0, 0
+ beq _0802D99A
+ b _0802DA0C
+ .pool
+_0802D990:
+ cmp r0, 0x2
+ beq _0802D9EE
+ cmp r0, 0x3
+ beq _0802DA02
+ b _0802DA0C
+_0802D99A:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802DA0C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ bl PutWindowTilemap
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x1
+ strb r0, [r1, 0xD]
+ b _0802DA0C
+_0802D9C8:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802DA0C
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x14]
+ cmp r0, 0
+ bne _0802D9E0
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x2
+ b _0802DA00
+_0802D9E0:
+ ldrh r0, [r1, 0x14]
+ bl PlayFanfare
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x1
+ strb r0, [r1, 0xD]
+_0802D9EE:
+ bl IsFanfareTaskInactive
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802DA0C
+ ldr r0, =gUnknown_02022D00
+ ldr r1, [r0]
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x1
+_0802DA00:
+ strb r0, [r1, 0xD]
+_0802DA02:
+ movs r0, 0
+ b _0802DA0E
+ .pool
+_0802DA0C:
+ movs r0, 0x1
+_0802DA0E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802D974
+
+ thumb_func_start sub_802DA14
+sub_802DA14: @ 802DA14
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldrh r0, [r0, 0x12]
+ cmp r0, 0xFF
+ beq _0802DA38
+ lsls r0, 24
+ lsrs r0, 24
+ bl rbox_fill_rectangle
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ movs r1, 0x1
+ bl CopyWindowToVram
+ ldr r1, [r4]
+ movs r0, 0
+ strb r0, [r1, 0xD]
+_0802DA38:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DA14
+
+ thumb_func_start sub_802DA44
+sub_802DA44: @ 802DA44
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x12]
+ cmp r0, 0xFF
+ bne _0802DA58
+_0802DA50:
+ movs r0, 0
+ b _0802DA84
+ .pool
+_0802DA58:
+ ldrb r0, [r1, 0xD]
+ cmp r0, 0
+ bne _0802DA7E
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802DA82
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ bl RemoveWindow
+ ldr r1, [r4]
+ movs r0, 0xFF
+ strh r0, [r1, 0x12]
+ ldrb r0, [r1, 0xD]
+ adds r0, 0x1
+ strb r0, [r1, 0xD]
+ b _0802DA50
+_0802DA7E:
+ cmp r0, 0x1
+ beq _0802DA50
+_0802DA82:
+ movs r0, 0x1
+_0802DA84:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802DA44
+
+ thumb_func_start sub_802DA8C
+sub_802DA8C: @ 802DA8C
+ push {lr}
+ bl Menu_ProcessInputNoWrapClearOnChoose
+ lsls r0, 24
+ asrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802DA8C
+
+ thumb_func_start sub_802DA9C
+sub_802DA9C: @ 802DA9C
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r6, =0xffffff00
+ ldr r4, [sp]
+ ands r4, r6
+ lsls r0, 24
+ lsrs r0, 16
+ ldr r5, =0xffff00ff
+ ands r4, r5
+ orrs r4, r0
+ lsls r1, 24
+ lsrs r1, 8
+ ldr r0, =0xff00ffff
+ ands r4, r0
+ orrs r4, r1
+ lsls r2, 24
+ ldr r0, =0x00ffffff
+ ands r4, r0
+ orrs r4, r2
+ str r4, [sp]
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, [sp, 0x4]
+ ands r0, r6
+ orrs r0, r3
+ ands r0, r5
+ movs r1, 0xF0
+ lsls r1, 4
+ orrs r0, r1
+ ldr r1, =0x0000ffff
+ ands r0, r1
+ movs r1, 0x86
+ lsls r1, 15
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl AddWindow
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r0, r4, 24
+ lsrs r0, 24
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ adds r0, r4, 0
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802DA9C
+
+ thumb_func_start sub_802DB18
+sub_802DB18: @ 802DB18
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r3, r2, 0
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r5, =0xffffff00
+ ldr r2, [sp]
+ ands r2, r5
+ lsls r0, 24
+ lsrs r0, 16
+ ldr r4, =0xffff00ff
+ ands r2, r4
+ orrs r2, r0
+ lsls r1, 24
+ lsrs r1, 8
+ ldr r0, =0xff00ffff
+ ands r2, r0
+ orrs r2, r1
+ ldr r0, =0x00ffffff
+ ands r2, r0
+ movs r0, 0xC0
+ lsls r0, 19
+ orrs r2, r0
+ str r2, [sp]
+ ldr r0, [sp, 0x4]
+ ands r0, r5
+ movs r1, 0x4
+ orrs r0, r1
+ ands r0, r4
+ movs r1, 0x80
+ lsls r1, 2
+ orrs r0, r1
+ ldr r1, =0x0000ffff
+ ands r0, r1
+ movs r1, 0xAC
+ lsls r1, 14
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ mov r0, sp
+ movs r1, 0x1
+ movs r2, 0xD
+ bl CreateYesNoMenu
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DB18
+
+ thumb_func_start sub_802DB8C
+sub_802DB8C: @ 802DB8C
+ push {r4,lr}
+ sub sp, 0x10
+ ldr r1, =gUnknown_082FE1DC
+ add r0, sp, 0xC
+ movs r2, 0x3
+ bl memcpy
+ movs r0, 0
+ bl PutWindowTilemap
+ movs r0, 0x1
+ bl PutWindowTilemap
+ movs r0, 0
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ movs r0, 0x1
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ add r0, sp, 0xC
+ str r0, [sp]
+ movs r4, 0
+ str r4, [sp, 0x4]
+ ldr r0, =gText_SpacePoints2
+ str r0, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ add r0, sp, 0xC
+ str r0, [sp]
+ str r4, [sp, 0x4]
+ ldr r0, =gText_SpaceTimes3
+ str r0, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DB8C
+
+ thumb_func_start sub_802DBF8
+sub_802DBF8: @ 802DBF8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r0, 16
+ mov r10, r0
+ ldr r1, =gUnknown_082FE260
+ subs r0, 0x2
+ lsls r0, 2
+ adds r0, r1
+ ldr r5, [r0]
+ movs r6, 0
+ cmp r6, r10
+ bge _0802DC62
+ ldr r0, =gMonFrontPicCoords
+ mov r9, r0
+ ldr r1, =gUnknown_02022D00
+ mov r8, r1
+_0802DC26:
+ lsls r4, r6, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_802C8C8
+ adds r1, r0, 0
+ ldrh r0, [r1]
+ lsls r0, 2
+ add r0, r9
+ ldrb r3, [r0, 0x1]
+ mov r2, r8
+ ldr r0, [r2]
+ movs r7, 0
+ ldrsh r2, [r5, r7]
+ adds r3, 0x70
+ str r4, [sp]
+ bl sub_802C9D4
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, 0
+ ldrsh r1, [r5, r2]
+ movs r2, 0x70
+ adds r3, r4, 0
+ bl sub_802CE48
+ adds r5, 0x2
+ adds r6, 0x1
+ cmp r6, r10
+ blt _0802DC26
+_0802DC62:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DBF8
+
+ thumb_func_start sub_802DC80
+sub_802DC80: @ 802DC80
+ ldr r2, =gUnknown_02022D00
+ ldr r2, [r2]
+ lsls r0, 2
+ ldr r3, =0x000081a8
+ adds r2, r3
+ adds r2, r0
+ ldr r0, [r2]
+ strh r1, [r0, 0x26]
+ bx lr
+ .pool
+ thumb_func_end sub_802DC80
+
+ thumb_func_start sub_802DC9C
+sub_802DC9C: @ 802DC9C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ adds r1, r4, 0
+ bl sub_802CF50
+ ldr r0, =gUnknown_082FE1DF
+ adds r4, r0
+ ldrb r0, [r4]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 13
+ movs r0, 0x2
+ movs r2, 0
+ bl ChangeBgY
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DC9C
+
+ thumb_func_start sub_802DCCC
+sub_802DCCC: @ 802DCCC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r5, 0
+ movs r6, 0
+_0802DCD6:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _0802DCEA
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ adds r1, r5, 0
+ bl sub_802CB14
+ adds r6, 0x1
+_0802DCEA:
+ lsrs r4, 1
+ adds r5, 0x1
+ cmp r5, 0x4
+ ble _0802DCD6
+ subs r0, r6, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_802E00C
+ adds r0, r6, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802DCCC
+
+ thumb_func_start sub_802DD08
+sub_802DD08: @ 802DD08
+ push {r4,lr}
+ sub sp, 0x10
+ mov r1, sp
+ movs r0, 0x40
+ strb r0, [r1]
+ movs r0, 0x5
+ strb r0, [r1, 0x1]
+ movs r0, 0x8
+ strb r0, [r1, 0x2]
+ movs r0, 0x6C
+ strh r0, [r1, 0x4]
+ movs r4, 0x6
+ strh r4, [r1, 0x6]
+ ldr r0, =gUnknown_082FE1EC
+ str r0, [sp, 0x8]
+ ldr r0, =gUnknown_082FE1F4
+ str r0, [sp, 0xC]
+ movs r0, 0x2
+ bl sub_8034C54
+ movs r0, 0
+ movs r1, 0
+ mov r2, sp
+ bl sub_8034D14
+ mov r1, sp
+ movs r0, 0x4
+ strb r0, [r1, 0x1]
+ movs r0, 0x1E
+ strh r0, [r1, 0x4]
+ mov r0, sp
+ strh r4, [r0, 0x6]
+ movs r0, 0x1
+ movs r1, 0
+ mov r2, sp
+ bl sub_8034D14
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DD08
+
+ thumb_func_start sub_802DD64
+sub_802DD64: @ 802DD64
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_8035044
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802DD64
+
+ thumb_func_start sub_802DD74
+sub_802DD74: @ 802DD74
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1
+ bl sub_8035044
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802DD74
+
+ thumb_func_start sub_802DD88
+sub_802DD88: @ 802DD88
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CBF0
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DD88
+
+ thumb_func_start sub_802DDA0
+sub_802DDA0: @ 802DDA0
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CC88
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DDA0
+
+ thumb_func_start sub_802DDB8
+sub_802DDB8: @ 802DDB8
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CC18
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802DDB8
+
+ thumb_func_start sub_802DDCC
+sub_802DDCC: @ 802DDCC
+ push {lr}
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CCB0
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DDCC
+
+ thumb_func_start sub_802DDE0
+sub_802DDE0: @ 802DDE0
+ push {lr}
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CD3C
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DDE0
+
+ thumb_func_start sub_802DDF4
+sub_802DDF4: @ 802DDF4
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CD70
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DDF4
+
+ thumb_func_start sub_802DE08
+sub_802DE08: @ 802DE08
+ push {lr}
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ bl sub_802CD98
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802DE08
+
+ thumb_func_start sub_802DE1C
+sub_802DE1C: @ 802DE1C
+ push {r4-r7,lr}
+ sub sp, 0x8
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r1, =gUnknown_082FE234
+ subs r0, r7, 0x2
+ lsls r0, 2
+ adds r0, r1
+ ldr r4, [r0]
+ ldr r2, =0xffffff00
+ ldr r0, [sp]
+ ands r0, r2
+ ldr r1, =0x00ffffff
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 20
+ orrs r0, r1
+ str r0, [sp]
+ ldr r0, [sp, 0x4]
+ ands r0, r2
+ movs r1, 0x2
+ orrs r0, r1
+ ldr r1, =0xffff00ff
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 2
+ orrs r0, r1
+ ldr r1, =0x0000ffff
+ ands r0, r1
+ movs r1, 0xAC
+ lsls r1, 14
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ movs r5, 0
+ cmp r5, r7
+ bge _0802DEAC
+ mov r6, sp
+_0802DE6A:
+ ldrb r0, [r4]
+ lsls r0, 8
+ ldr r2, =0xffff00ff
+ ldr r1, [sp]
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ ldrb r2, [r4, 0x2]
+ lsls r2, 16
+ ldr r0, =0xff00ffff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp]
+ mov r0, sp
+ bl AddWindow
+ ldr r1, =gUnknown_02022D00
+ ldr r1, [r1]
+ lsls r2, r5, 1
+ adds r1, 0x1C
+ adds r1, r2
+ strh r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ bl ClearWindowTilemap
+ ldrh r0, [r6, 0x6]
+ adds r0, 0x10
+ strh r0, [r6, 0x6]
+ adds r4, 0x4
+ adds r5, 0x1
+ cmp r5, r7
+ blt _0802DE6A
+_0802DEAC:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DE1C
+
+ thumb_func_start sub_802DED8
+sub_802DED8: @ 802DED8
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x10
+ adds r5, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ add r0, sp, 0xC
+ strb r1, [r0]
+ strb r2, [r0, 0x1]
+ strb r3, [r0, 0x2]
+ ldr r6, =gUnknown_02022D00
+ ldr r0, [r6]
+ lsls r1, r5, 1
+ mov r8, r1
+ adds r0, 0x1C
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ lsls r5, 24
+ lsrs r5, 24
+ adds r0, r5, 0
+ bl sub_802C8E8
+ adds r1, r0, 0
+ movs r2, 0x1
+ negs r2, r2
+ mov r9, r2
+ movs r0, 0x1
+ bl GetStringWidth
+ movs r4, 0x40
+ subs r4, r0
+ lsrs r4, 1
+ adds r0, r5, 0
+ bl sub_802C8E8
+ adds r1, r0, 0
+ ldr r0, [r6]
+ adds r0, 0x1C
+ add r0, r8
+ ldrb r0, [r0]
+ lsls r4, 24
+ lsrs r4, 24
+ add r2, sp, 0xC
+ str r2, [sp]
+ mov r2, r9
+ str r2, [sp, 0x4]
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl AddTextPrinterParameterized3
+ ldr r0, [r6]
+ adds r0, 0x1C
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ add sp, 0x10
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DED8
+
+ thumb_func_start sub_802DF70
+sub_802DF70: @ 802DF70
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r4, 0
+ bne _0802DF9A
+ movs r4, 0
+ cmp r4, r5
+ bge _0802DFCC
+_0802DF86:
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x2
+ movs r3, 0x3
+ bl sub_802DED8
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802DF86
+ b _0802DFCC
+_0802DF9A:
+ bl sub_802C8BC
+ lsls r0, 16
+ lsrs r6, r0, 16
+ movs r4, 0
+ cmp r4, r5
+ bge _0802DFCC
+_0802DFA8:
+ cmp r6, r4
+ beq _0802DFBA
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x2
+ movs r3, 0x3
+ bl sub_802DED8
+ b _0802DFC6
+_0802DFBA:
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x4
+ movs r3, 0x5
+ bl sub_802DED8
+_0802DFC6:
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802DFA8
+_0802DFCC:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802DF70
+
+ thumb_func_start sub_802DFD4
+sub_802DFD4: @ 802DFD4
+ push {r4,r5,lr}
+ bl sub_802C8AC
+ lsls r0, 16
+ lsrs r5, r0, 16
+ movs r4, 0
+ cmp r4, r5
+ bge _0802DFFA
+_0802DFE4:
+ ldr r0, =gUnknown_02022D00
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x1C
+ adds r0, r1
+ ldrb r0, [r0]
+ bl PutWindowTilemap
+ adds r4, 0x1
+ cmp r4, r5
+ blt _0802DFE4
+_0802DFFA:
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802DFD4
+
+ thumb_func_start sub_802E00C
+sub_802E00C: @ 802E00C
+ push {r4,lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r4, r1, 24
+ ldr r0, =gUnknown_02022D00
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [r2, 0x18]
+ lsrs r1, 25
+ lsls r1, 16
+ movs r0, 0x1
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x1
+ ands r4, r0
+ lsls r4, 8
+ subs r4, 0x28
+ lsls r4, 8
+ adds r1, r4, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x1
+ bl ShowBg
+ ldr r0, =sub_802E090
+ movs r1, 0x4
+ bl CreateTask
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E00C
+
+ thumb_func_start sub_802E058
+sub_802E058: @ 802E058
+ push {r4,lr}
+ ldr r4, =gUnknown_02022D00
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ cmp r0, 0x1F
+ bls _0802E06C
+ movs r0, 0
+ b _0802E08A
+ .pool
+_0802E06C:
+ movs r0, 0x1
+ movs r1, 0x80
+ movs r2, 0x1
+ bl ChangeBgY
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r0, 0x1
+ str r0, [r1, 0x18]
+ cmp r0, 0x1F
+ bls _0802E088
+ movs r0, 0x1
+ bl HideBg
+_0802E088:
+ movs r0, 0x1
+_0802E08A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E058
+
+ thumb_func_start sub_802E090
+sub_802E090: @ 802E090
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_802E058
+ cmp r0, 0
+ bne _0802E0A4
+ adds r0, r4, 0
+ bl DestroyTask
+_0802E0A4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E090
+
+ thumb_func_start sub_802E0AC
+sub_802E0AC: @ 802E0AC
+ push {lr}
+ sub sp, 0xC
+ mov r2, sp
+ movs r1, 0x1
+ strb r1, [r2]
+ ldrh r1, [r0]
+ strh r1, [r2, 0x2]
+ ldr r1, [r0, 0x4]
+ str r1, [sp, 0x8]
+ ldr r0, [r0, 0x8]
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E0AC
+
+ thumb_func_start sub_802E0D0
+sub_802E0D0: @ 802E0D0
+ push {r4,lr}
+ sub sp, 0xC
+ adds r4, r1, 0
+ ldr r3, =gRecvCmds
+ lsls r2, r0, 4
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ movs r1, 0xBC
+ lsls r1, 6
+ cmp r0, r1
+ bne _0802E100
+ adds r1, r3, 0x2
+ adds r1, r2, r1
+ mov r0, sp
+ movs r2, 0xC
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _0802E108
+_0802E100:
+ movs r0, 0
+ b _0802E118
+ .pool
+_0802E108:
+ mov r0, sp
+ ldrh r0, [r0, 0x2]
+ strh r0, [r4]
+ ldr r0, [sp, 0x8]
+ str r0, [r4, 0x4]
+ ldr r0, [sp, 0x4]
+ str r0, [r4, 0x8]
+ movs r0, 0x1
+_0802E118:
+ add sp, 0xC
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E0D0
+
+ thumb_func_start sub_802E120
+sub_802E120: @ 802E120
+ push {lr}
+ sub sp, 0xC
+ mov r2, sp
+ movs r1, 0x2
+ strb r1, [r2]
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E120
+
+ thumb_func_start sub_802E138
+sub_802E138: @ 802E138
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0xC
+ mov r3, sp
+ movs r2, 0x3
+ strb r2, [r3]
+ ldr r3, [r1, 0x8]
+ lsls r3, 15
+ ldr r2, [sp, 0x8]
+ ldr r4, =0x00007fff
+ mov r8, r4
+ ands r2, r4
+ orrs r2, r3
+ str r2, [sp, 0x8]
+ mov r6, sp
+ ldrb r2, [r1, 0x1]
+ movs r5, 0x1F
+ adds r3, r5, 0
+ ands r3, r2
+ ldrb r4, [r6, 0x3]
+ movs r2, 0x20
+ negs r2, r2
+ ands r2, r4
+ orrs r2, r3
+ strb r2, [r6, 0x3]
+ mov r3, sp
+ ldrb r2, [r1]
+ strb r2, [r3, 0x1]
+ ldrh r2, [r1, 0x2]
+ strh r2, [r3, 0x6]
+ mov r4, sp
+ ldrh r2, [r1, 0x4]
+ mov r1, r8
+ ands r2, r1
+ ldrh r3, [r4, 0x8]
+ ldr r1, =0xffff8000
+ ands r1, r3
+ orrs r1, r2
+ strh r1, [r4, 0x8]
+ mov r2, sp
+ ldrh r1, [r0, 0x10]
+ strb r1, [r2, 0x2]
+ mov r3, sp
+ ldr r1, [r0, 0x14]
+ lsls r1, 5
+ ldrb r2, [r3, 0x3]
+ ands r5, r2
+ orrs r5, r1
+ strb r5, [r3, 0x3]
+ mov r1, sp
+ ldrh r0, [r0, 0xE]
+ strh r0, [r1, 0x4]
+ mov r0, sp
+ bl sub_800FE50
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E138
+
+ thumb_func_start sub_802E1BC
+sub_802E1BC: @ 802E1BC
+ push {r4,r5,lr}
+ sub sp, 0xC
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldr r2, =gRecvCmds
+ ldrh r0, [r2]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r1, r0
+ movs r0, 0xBC
+ lsls r0, 6
+ cmp r1, r0
+ bne _0802E228
+ adds r1, r2, 0x2
+ mov r0, sp
+ movs r2, 0xC
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bne _0802E228
+ ldr r0, [sp, 0x8]
+ lsrs r0, 15
+ str r0, [r4, 0x8]
+ mov r0, sp
+ ldrb r1, [r0, 0x3]
+ lsls r0, r1, 27
+ lsrs r0, 27
+ strb r0, [r4, 0x1]
+ mov r0, sp
+ ldrb r0, [r0, 0x1]
+ strb r0, [r4]
+ mov r0, sp
+ ldrh r0, [r0, 0x6]
+ strh r0, [r4, 0x2]
+ mov r0, sp
+ ldrh r0, [r0, 0x8]
+ lsls r0, 17
+ lsrs r0, 17
+ strh r0, [r4, 0x4]
+ mov r0, sp
+ ldrb r0, [r0, 0x2]
+ strh r0, [r5, 0x10]
+ lsls r1, 24
+ lsrs r1, 29
+ str r1, [r5, 0x14]
+ mov r0, sp
+ ldrh r0, [r0, 0x4]
+ strh r0, [r5, 0xE]
+ movs r0, 0x1
+ b _0802E22A
+ .pool
+_0802E228:
+ movs r0, 0
+_0802E22A:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E1BC
+
+ thumb_func_start sub_802E234
+sub_802E234: @ 802E234
+ push {r4,lr}
+ sub sp, 0xC
+ mov r4, sp
+ movs r3, 0x4
+ strb r3, [r4]
+ ldrh r3, [r0, 0x10]
+ strb r3, [r4, 0x1]
+ ldr r3, [r0, 0x14]
+ strb r3, [r4, 0x2]
+ ldr r3, [r0, 0x18]
+ strb r3, [r4, 0x3]
+ mov r3, sp
+ ldrh r0, [r0, 0xE]
+ strh r0, [r3, 0x4]
+ mov r0, sp
+ strb r1, [r0, 0x6]
+ strh r2, [r0, 0x8]
+ bl sub_800FE50
+ add sp, 0xC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E234
+
+ thumb_func_start sub_802E264
+sub_802E264: @ 802E264
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ adds r5, r2, 0
+ adds r6, r3, 0
+ ldr r3, =gRecvCmds
+ lsls r2, r1, 4
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ movs r1, 0xBC
+ lsls r1, 6
+ cmp r0, r1
+ bne _0802E2C4
+ adds r1, r3, 0x2
+ adds r1, r2, r1
+ mov r0, sp
+ movs r2, 0xC
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _0802E2C4
+ mov r0, sp
+ ldrb r0, [r0, 0x1]
+ strh r0, [r4, 0x10]
+ mov r0, sp
+ ldrb r0, [r0, 0x2]
+ str r0, [r4, 0x14]
+ mov r0, sp
+ ldrb r0, [r0, 0x3]
+ str r0, [r4, 0x18]
+ mov r0, sp
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0xE]
+ mov r0, sp
+ ldrb r0, [r0, 0x6]
+ strb r0, [r5]
+ mov r0, sp
+ ldrh r0, [r0, 0x8]
+ strh r0, [r6]
+ movs r0, 0x1
+ b _0802E2C6
+ .pool
+_0802E2C4:
+ movs r0, 0
+_0802E2C6:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E264
+
+ thumb_func_start sub_802E2D0
+sub_802E2D0: @ 802E2D0
+ push {r4,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ ldr r3, =gRecvCmds
+ lsls r2, r1, 4
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ movs r1, 0xBC
+ lsls r1, 6
+ cmp r0, r1
+ bne _0802E320
+ adds r1, r3, 0x2
+ adds r1, r2, r1
+ mov r0, sp
+ movs r2, 0xC
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _0802E320
+ mov r0, sp
+ ldrb r0, [r0, 0x1]
+ strh r0, [r4, 0x10]
+ mov r0, sp
+ ldrb r0, [r0, 0x2]
+ str r0, [r4, 0x14]
+ mov r0, sp
+ ldrb r0, [r0, 0x3]
+ str r0, [r4, 0x18]
+ mov r0, sp
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0xE]
+ movs r0, 0x1
+ b _0802E322
+ .pool
+_0802E320:
+ movs r0, 0
+_0802E322:
+ add sp, 0xC
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E2D0
+
+ thumb_func_start sub_802E32C
+sub_802E32C: @ 802E32C
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ movs r1, 0xFE
+ lsls r1, 1
+ adds r0, r1
+ bx lr
+ .pool
+ thumb_func_end sub_802E32C
+
+ thumb_func_start ResetPokeJumpResults
+ResetPokeJumpResults: @ 802E33C
+ push {lr}
+ bl sub_802E32C
+ movs r1, 0
+ strh r1, [r0]
+ str r1, [r0, 0xC]
+ strh r1, [r0, 0x4]
+ strh r1, [r0, 0x6]
+ str r1, [r0, 0x8]
+ strh r1, [r0, 0x2]
+ pop {r0}
+ bx r0
+ thumb_func_end ResetPokeJumpResults
+
+ thumb_func_start sub_802E354
+sub_802E354: @ 802E354
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r1, 16
+ lsrs r5, r1, 16
+ lsls r2, 16
+ lsrs r6, r2, 16
+ bl sub_802E32C
+ adds r1, r0, 0
+ movs r2, 0
+ ldr r0, [r1, 0xC]
+ cmp r0, r4
+ bcs _0802E378
+ ldr r0, =0x00018696
+ cmp r4, r0
+ bhi _0802E378
+ str r4, [r1, 0xC]
+ movs r2, 0x1
+_0802E378:
+ ldrh r0, [r1]
+ cmp r0, r5
+ bcs _0802E388
+ ldr r0, =0x0000270f
+ cmp r5, r0
+ bhi _0802E388
+ strh r5, [r1]
+ movs r2, 0x1
+_0802E388:
+ ldrh r0, [r1, 0x4]
+ cmp r0, r6
+ bcs _0802E398
+ ldr r0, =0x0000270f
+ cmp r6, r0
+ bhi _0802E398
+ strh r6, [r1, 0x4]
+ movs r2, 0x1
+_0802E398:
+ adds r0, r2, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802E354
+
+ thumb_func_start sub_802E3A8
+sub_802E3A8: @ 802E3A8
+ push {lr}
+ bl sub_802E32C
+ adds r2, r0, 0
+ ldrh r1, [r2, 0x6]
+ ldr r0, =0x0000270e
+ cmp r1, r0
+ bhi _0802E3BC
+ adds r0, r1, 0x1
+ strh r0, [r2, 0x6]
+_0802E3BC:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E3A8
+
+ thumb_func_start sub_802E3C4
+sub_802E3C4: @ 802E3C4
+ push {r4,lr}
+ ldr r4, =sub_802E3E4
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ bl _call_via_r4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E3C4
+
+ thumb_func_start sub_802E3E4
+sub_802E3E4: @ 802E3E4
+ push {r4-r7,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r7, r0, r1
+ movs r1, 0
+ ldrsh r0, [r7, r1]
+ cmp r0, 0x1
+ beq _0802E4A8
+ cmp r0, 0x1
+ bgt _0802E40C
+ cmp r0, 0
+ beq _0802E416
+ b _0802E4F6
+ .pool
+_0802E40C:
+ cmp r0, 0x2
+ beq _0802E4B4
+ cmp r0, 0x3
+ beq _0802E4DC
+ b _0802E4F6
+_0802E416:
+ ldr r0, =gUnknown_082FE270
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, =gText_PkmnJumpRecords
+ movs r0, 0x1
+ movs r2, 0
+ bl GetStringWidth
+ adds r4, r0, 0
+ movs r6, 0
+ ldr r5, =gUnknown_082FE278
+_0802E430:
+ ldr r1, [r5]
+ movs r0, 0x1
+ movs r2, 0
+ bl GetStringWidth
+ adds r0, 0x26
+ cmp r0, r4
+ ble _0802E442
+ adds r4, r0, 0
+_0802E442:
+ adds r5, 0x4
+ adds r6, 0x1
+ cmp r6, 0x2
+ bls _0802E430
+ adds r0, r4, 0x7
+ cmp r0, 0
+ bge _0802E452
+ adds r0, 0x7
+_0802E452:
+ asrs r4, r0, 3
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _0802E45E
+ adds r4, 0x1
+_0802E45E:
+ movs r1, 0x1E
+ subs r1, r4
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ lsls r1, 24
+ lsrs r1, 16
+ ldr r2, =0xffff00ff
+ ldr r0, [sp]
+ ands r0, r2
+ orrs r0, r1
+ lsls r2, r4, 24
+ ldr r1, =0x00ffffff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp]
+ mov r0, sp
+ bl AddWindow
+ strh r0, [r7, 0x2]
+ ldrh r0, [r7, 0x2]
+ adds r1, r4, 0
+ bl sub_802E500
+ ldrb r0, [r7, 0x2]
+ movs r1, 0x3
+ b _0802E4CA
+ .pool
+_0802E4A8:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802E4F6
+ b _0802E4CE
+_0802E4B4:
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _0802E4F6
+ ldrb r0, [r7, 0x2]
+ bl rbox_fill_rectangle
+ ldrb r0, [r7, 0x2]
+ movs r1, 0x1
+_0802E4CA:
+ bl CopyWindowToVram
+_0802E4CE:
+ ldrh r0, [r7]
+ adds r0, 0x1
+ strh r0, [r7]
+ b _0802E4F6
+ .pool
+_0802E4DC:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802E4F6
+ ldrb r0, [r7, 0x2]
+ bl RemoveWindow
+ adds r0, r4, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+_0802E4F6:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E3E4
+
+ thumb_func_start sub_802E500
+sub_802E500: @ 802E500
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x24
+ str r1, [sp, 0x1C]
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp, 0x18]
+ bl sub_802E32C
+ ldrh r1, [r0]
+ str r1, [sp, 0xC]
+ ldr r1, [r0, 0xC]
+ str r1, [sp, 0x10]
+ ldrh r0, [r0, 0x4]
+ str r0, [sp, 0x14]
+ ldr r0, [sp, 0x18]
+ lsls r4, r0, 24
+ lsrs r4, 24
+ ldr r5, =0x0000021d
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xD0
+ bl LoadUserWindowBorderGfx_
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xD
+ bl DrawTextBorderOuter
+ adds r0, r4, 0
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r5, =gText_PkmnJumpRecords
+ ldr r1, [sp, 0x1C]
+ lsls r2, r1, 3
+ movs r0, 0x1
+ adds r1, r5, 0
+ bl GetStringCenterAlignXOffset
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0x1
+ str r0, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x1
+ adds r2, r5, 0
+ bl AddTextPrinterParameterized
+ movs r6, 0
+ adds r7, r4, 0
+ movs r0, 0xFF
+ mov r10, r0
+ mov r9, r6
+ mov r1, sp
+ adds r1, 0xC
+ str r1, [sp, 0x20]
+ movs r0, 0xC8
+ lsls r0, 21
+ mov r8, r0
+ ldr r5, =gStringVar1
+_0802E58A:
+ ldr r1, =gUnknown_082FE278
+ lsls r0, r6, 2
+ adds r0, r1
+ ldr r2, [r0]
+ mov r1, r8
+ lsrs r4, r1, 24
+ str r4, [sp]
+ mov r0, r10
+ str r0, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r0, [sp, 0x20]
+ ldm r0!, {r1}
+ str r0, [sp, 0x20]
+ adds r0, r5, 0
+ movs r2, 0
+ movs r3, 0x5
+ bl ConvertIntToDecimalStringN
+ adds r0, r5, 0
+ bl sub_802E620
+ movs r0, 0x1
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetStringWidth
+ ldr r1, [sp, 0x1C]
+ lsls r3, r1, 3
+ subs r3, r0
+ lsls r3, 24
+ lsrs r3, 24
+ str r4, [sp]
+ mov r0, r10
+ str r0, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ adds r0, r7, 0
+ movs r1, 0x1
+ adds r2, r5, 0
+ bl AddTextPrinterParameterized
+ movs r0, 0x80
+ lsls r0, 21
+ add r8, r0
+ adds r6, 0x1
+ ldr r1, [sp, 0x18]
+ lsls r0, r1, 24
+ cmp r6, 0x2
+ bls _0802E58A
+ lsrs r0, 24
+ bl PutWindowTilemap
+ add sp, 0x24
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E500
+
+ thumb_func_start sub_802E620
+sub_802E620: @ 802E620
+ push {lr}
+ adds r1, r0, 0
+ b _0802E628
+_0802E626:
+ adds r1, 0x1
+_0802E628:
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ beq _0802E636
+ cmp r0, 0
+ bne _0802E626
+ movs r0, 0xFF
+ strb r0, [r1]
+_0802E636:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E620
+
+ thumb_func_start sub_802E63C
+sub_802E63C: @ 802E63C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r0, =sub_802E6D0
+ bl CreateTask
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0, 0x8]
+ strh r5, [r0, 0xA]
+ ldr r0, =gUnknown_082FE748
+ lsls r5, 4
+ adds r5, r0
+ ldr r1, [r5]
+ adds r0, r4, 0
+ bl _call_via_r1
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802E63C
+
+ thumb_func_start sub_802E688
+sub_802E688: @ 802E688
+ push {lr}
+ ldr r0, =sub_802E6D0
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _0802E6B4
+ ldr r0, =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x2
+ strh r0, [r1, 0x8]
+ movs r0, 0x1
+ b _0802E6B6
+ .pool
+_0802E6B4:
+ movs r0, 0
+_0802E6B6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802E688
+
+ thumb_func_start sub_802E6BC
+sub_802E6BC: @ 802E6BC
+ push {lr}
+ ldr r0, =sub_802E6D0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802E6BC
+
+ thumb_func_start sub_802E6D0
+sub_802E6D0: @ 802E6D0
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r4, r0, r1
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x3
+ beq _0802E71C
+ cmp r0, 0x3
+ bgt _0802E6F8
+ cmp r0, 0x2
+ beq _0802E6FE
+ b _0802E752
+ .pool
+_0802E6F8:
+ cmp r0, 0x4
+ beq _0802E738
+ b _0802E752
+_0802E6FE:
+ ldr r1, =gUnknown_082FE748
+ movs r2, 0x2
+ ldrsh r0, [r4, r2]
+ lsls r0, 4
+ adds r1, 0x8
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl _call_via_r1
+ movs r0, 0x3
+ strh r0, [r4]
+ b _0802E752
+ .pool
+_0802E71C:
+ ldr r0, =gUnknown_082FE748
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ lsls r1, 4
+ adds r0, 0xC
+ adds r1, r0
+ ldr r1, [r1]
+ adds r0, r5, 0
+ bl _call_via_r1
+ b _0802E752
+ .pool
+_0802E738:
+ ldr r0, =gUnknown_082FE748
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ lsls r1, 4
+ adds r0, 0x4
+ adds r1, r0
+ ldr r1, [r1]
+ adds r0, r5, 0
+ bl _call_via_r1
+ adds r0, r5, 0
+ bl DestroyTask
+_0802E752:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E6D0
+
+ thumb_func_start sub_802E75C
+sub_802E75C: @ 802E75C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ movs r1, 0x6
+ ldrsh r0, [r4, r1]
+ lsls r0, 3
+ ldr r1, =gUnknown_082FE6C8
+ adds r0, r1
+ bl LoadCompressedSpriteSheet
+ movs r2, 0x8
+ ldrsh r0, [r4, r2]
+ lsls r0, 3
+ ldr r1, =gUnknown_082FE6D8
+ adds r0, r1
+ bl LoadSpritePalette
+ movs r5, 0
+ movs r3, 0x10
+ ldrsh r0, [r4, r3]
+ cmp r5, r0
+ bge _0802E7C4
+_0802E790:
+ movs r0, 0x4
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gUnknown_082FE730
+ adds r0, r1
+ movs r2, 0x12
+ ldrsh r1, [r4, r2]
+ movs r3, 0x14
+ ldrsh r2, [r4, r3]
+ ldrb r3, [r4, 0xE]
+ bl CreateSprite
+ lsls r1, r5, 1
+ adds r1, r4
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x1A]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r5, r0
+ blt _0802E790
+_0802E7C4:
+ movs r5, 0
+ movs r2, 0x10
+ ldrsh r0, [r4, r2]
+ cmp r5, r0
+ bge _0802E820
+ movs r7, 0x3
+ movs r3, 0xD
+ negs r3, r3
+ mov r12, r3
+ ldr r6, =gSprites
+_0802E7D8:
+ lsls r0, r5, 1
+ adds r0, r4
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r6
+ ldrb r1, [r4, 0xC]
+ ands r1, r7
+ lsls r1, 2
+ ldrb r3, [r2, 0x5]
+ mov r0, r12
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2, 0x5]
+ adds r3, r2, 0
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3]
+ ldrh r0, [r4, 0xA]
+ strh r0, [r2, 0x30]
+ mov r3, r8
+ strh r3, [r2, 0x34]
+ strh r5, [r2, 0x36]
+ ldrh r0, [r4, 0x1A]
+ strh r0, [r2, 0x38]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r5, r0
+ blt _0802E7D8
+_0802E820:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E75C
+
+ thumb_func_start sub_802E83C
+sub_802E83C: @ 802E83C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ ldr r1, =gTasks + 0x8
+ adds r4, r1
+ movs r5, 0
+ strh r5, [r4, 0x4]
+ strh r5, [r4, 0x6]
+ strh r5, [r4, 0x8]
+ movs r1, 0x3C
+ strh r1, [r4, 0xA]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ movs r1, 0x3
+ strh r1, [r4, 0x10]
+ movs r1, 0x78
+ strh r1, [r4, 0x12]
+ movs r1, 0x58
+ strh r1, [r4, 0x14]
+ adds r1, r4, 0
+ bl sub_802E75C
+ movs r0, 0x1C
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r5, =gSprites
+ adds r0, r5
+ movs r1, 0x4
+ bl StartSpriteAnim
+ movs r0, 0x1C
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, =0x0000ffe0
+ strh r1, [r0, 0x24]
+ movs r0, 0x1E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x5
+ bl StartSpriteAnim
+ movs r0, 0x1E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x20
+ strh r1, [r0, 0x24]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E83C
+
+ thumb_func_start sub_802E8C8
+sub_802E8C8: @ 802E8C8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r5, 0
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks + 0x8
+ adds r4, r1, r0
+ b _0802E8FC
+ .pool
+_0802E8E0:
+ lsls r0, r5, 1
+ adds r0, r4
+ movs r2, 0x1A
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ bl DestroySprite
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_0802E8FC:
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r5, r0
+ blt _0802E8E0
+ ldr r1, =gUnknown_082FE6C8
+ movs r2, 0x6
+ ldrsh r0, [r4, r2]
+ lsls r0, 3
+ adds r0, r1
+ ldrh r0, [r0, 0x6]
+ bl FreeSpriteTilesByTag
+ ldr r1, =gUnknown_082FE6D8
+ movs r2, 0x8
+ ldrsh r0, [r4, r2]
+ lsls r0, 3
+ adds r0, r1
+ ldrh r0, [r0, 0x4]
+ bl FreeSpritePaletteByTag
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802E8C8
+
+ thumb_func_start sub_802E938
+sub_802E938: @ 802E938
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r0, 0x34
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r5, r0, r1
+ movs r1, 0x16
+ ldrsh r0, [r5, r1]
+ movs r2, 0xA
+ ldrsh r1, [r5, r2]
+ bl __modsi3
+ cmp r0, 0
+ bne _0802EA4A
+ ldrh r2, [r5, 0x16]
+ movs r3, 0x16
+ ldrsh r1, [r5, r3]
+ movs r3, 0x14
+ ldrsh r0, [r5, r3]
+ cmp r1, r0
+ beq _0802EA4A
+ strh r2, [r5, 0x14]
+ movs r1, 0x32
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x4
+ bhi _0802EA44
+ lsls r0, 2
+ ldr r1, =_0802E984
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802E984:
+ .4byte _0802E998
+ .4byte _0802E9A6
+ .4byte _0802E9A6
+ .4byte _0802E9BA
+ .4byte _0802EA04
+_0802E998:
+ adds r2, r6, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+_0802E9A6:
+ movs r0, 0x38
+ bl PlaySE
+ ldrh r1, [r6, 0x32]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl StartSpriteAnim
+ b _0802EA44
+_0802E9BA:
+ movs r0, 0x15
+ bl PlaySE
+ ldrh r1, [r6, 0x32]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl StartSpriteAnim
+ ldr r4, =gSprites
+ movs r2, 0x1C
+ ldrsh r0, [r5, r2]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ adds r1, 0x3E
+ ldrb r3, [r1]
+ movs r2, 0x5
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ strb r0, [r1]
+ movs r3, 0x1E
+ ldrsh r1, [r5, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ ands r2, r1
+ strb r2, [r0]
+ b _0802EA44
+ .pool
+_0802EA04:
+ adds r1, r6, 0
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r3, =gSprites
+ movs r0, 0x1C
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ orrs r1, r2
+ strb r1, [r0]
+ movs r0, 0x1E
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ orrs r1, r2
+ strb r1, [r0]
+ movs r0, 0x4
+ strh r0, [r5]
+ b _0802EA4A
+ .pool
+_0802EA44:
+ ldrh r0, [r6, 0x32]
+ adds r0, 0x1
+ strh r0, [r6, 0x32]
+_0802EA4A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802E938
+
+ thumb_func_start sub_802EA50
+sub_802EA50: @ 802EA50
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ ldr r5, =gTasks + 0x8
+ adds r6, r4, r5
+ movs r0, 0x38
+ bl PlaySE
+ ldr r2, =gSprites
+ movs r0, 0x1A
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r2, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, =sub_802E938
+ str r1, [r0]
+ movs r0, 0x1A
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ subs r5, 0x8
+ adds r4, r5
+ movs r0, 0x3
+ strh r0, [r4, 0x8]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EA50
+
+ thumb_func_start sub_802EAB0
+sub_802EAB0: @ 802EAB0
+ push {r4,r5,lr}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks + 0x8
+ adds r4, r1, r0
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0802EB14
+ ldr r1, =gRecvCmds
+ ldrh r0, [r1, 0x2]
+ ldr r5, =0x00007fff
+ cmp r0, r5
+ bne _0802EAD8
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x16]
+_0802EAD8:
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802EB1A
+ ldrh r0, [r4, 0x18]
+ adds r0, 0x1
+ strh r0, [r4, 0x18]
+ mov r0, sp
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ mov r0, sp
+ strh r5, [r0]
+ mov r1, sp
+ ldrh r0, [r4, 0x18]
+ strh r0, [r1, 0x2]
+ mov r0, sp
+ bl sub_800FE50
+ b _0802EB1A
+ .pool
+_0802EB14:
+ ldrh r0, [r4, 0x16]
+ adds r0, 0x1
+ strh r0, [r4, 0x16]
+_0802EB1A:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802EAB0
+
+ thumb_func_start sub_802EB24
+sub_802EB24: @ 802EB24
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r6, r2, 0
+ ldr r0, [sp, 0x18]
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r5, 16
+ lsrs r5, 16
+ lsls r6, 16
+ lsrs r6, 16
+ lsls r3, 16
+ lsrs r3, 16
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, =sub_802EB98
+ movs r1, 0x50
+ str r3, [sp]
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0xC]
+ strh r5, [r1, 0xE]
+ strh r6, [r1, 0x10]
+ ldr r3, [sp]
+ strh r3, [r1, 0x12]
+ mov r0, r8
+ strh r0, [r1, 0x14]
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EB24
+
+ thumb_func_start sub_802EB84
+sub_802EB84: @ 802EB84
+ push {lr}
+ ldr r0, =sub_802EB98
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802EB84
+
+ thumb_func_start sub_802EB98
+sub_802EB98: @ 802EB98
+ push {r4-r6,lr}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r5, r0, r1
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _0802EC08
+ cmp r0, 0x1
+ bgt _0802EBC0
+ cmp r0, 0
+ beq _0802EBC6
+ b _0802EC8A
+ .pool
+_0802EBC0:
+ cmp r0, 0x2
+ beq _0802EC4C
+ b _0802EC8A
+_0802EBC6:
+ ldrh r0, [r5, 0x4]
+ ldrh r1, [r5, 0x6]
+ bl sub_802EF50
+ ldrh r0, [r5, 0x4]
+ ldrh r1, [r5, 0x6]
+ movs r3, 0x8
+ ldrsh r2, [r5, r3]
+ movs r4, 0xA
+ ldrsh r3, [r5, r4]
+ ldrb r4, [r5, 0xC]
+ str r4, [sp]
+ bl sub_802EFA8
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0xE]
+ ldrh r0, [r5, 0x4]
+ ldrh r1, [r5, 0x6]
+ movs r3, 0x8
+ ldrsh r2, [r5, r3]
+ movs r4, 0xA
+ ldrsh r3, [r5, r4]
+ ldrb r4, [r5, 0xC]
+ str r4, [sp]
+ adds r4, r5, 0
+ adds r4, 0x10
+ str r4, [sp, 0x4]
+ adds r4, 0x2
+ str r4, [sp, 0x8]
+ bl sub_802EFFC
+ b _0802EC3E
+_0802EC08:
+ ldrb r0, [r5, 0xE]
+ bl sub_802EC98
+ cmp r0, 0
+ bne _0802EC8A
+ ldrb r0, [r5, 0xE]
+ ldrb r1, [r5, 0x10]
+ ldrb r2, [r5, 0x12]
+ bl sub_802EDCC
+ movs r0, 0xE
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, =gSprites
+ adds r0, r4
+ bl FreeSpriteOamMatrix
+ movs r3, 0xE
+ ldrsh r1, [r5, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl DestroySprite
+_0802EC3E:
+ ldrh r0, [r5]
+ adds r0, 0x1
+ strh r0, [r5]
+ b _0802EC8A
+ .pool
+_0802EC4C:
+ ldrb r0, [r5, 0x10]
+ bl sub_802EE30
+ cmp r0, 0
+ bne _0802EC8A
+ movs r4, 0x10
+ ldrsh r1, [r5, r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, =gSprites
+ adds r0, r4
+ bl DestroySprite
+ movs r0, 0x12
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl DestroySprite
+ ldrh r0, [r5, 0x4]
+ bl FreeSpriteTilesByTag
+ ldrh r0, [r5, 0x6]
+ bl FreeSpritePaletteByTag
+ adds r0, r6, 0
+ bl DestroyTask
+_0802EC8A:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EB98
+
+ thumb_func_start sub_802EC98
+sub_802EC98: @ 802EC98
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, =gSprites
+ adds r4, r1, r0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x7
+ bls _0802ECB2
+ b _0802EDC4
+_0802ECB2:
+ lsls r0, 2
+ ldr r1, =_0802ECC4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802ECC4:
+ .4byte _0802ECE4
+ .4byte _0802ECF6
+ .4byte _0802ED1C
+ .4byte _0802ED2C
+ .4byte _0802ED4E
+ .4byte _0802ED86
+ .4byte _0802EDAC
+ .4byte _0802ED82
+_0802ECE4:
+ movs r1, 0x80
+ lsls r1, 4
+ adds r0, r4, 0
+ movs r2, 0x1A
+ bl sub_8007E18
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+_0802ECF6:
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _0802ED04
+ movs r0, 0x39
+ bl PlaySE
+_0802ED04:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x13
+ ble _0802EDC4
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ adds r0, r4, 0
+ movs r1, 0x1
+ b _0802EDA2
+_0802ED1C:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0802EDC4
+ b _0802EDA6
+_0802ED2C:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _0802EDC4
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ b _0802EDC4
+_0802ED4E:
+ ldrh r0, [r4, 0x22]
+ subs r0, 0x4
+ strh r0, [r4, 0x22]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ ble _0802EDC4
+ ldrh r1, [r4, 0x36]
+ movs r2, 0x36
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x1
+ bgt _0802ED7E
+ adds r1, 0x1
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ b _0802EDA6
+_0802ED7E:
+ movs r0, 0x7
+ strh r0, [r4, 0x2E]
+_0802ED82:
+ movs r0, 0
+ b _0802EDC6
+_0802ED86:
+ ldrh r0, [r4, 0x22]
+ adds r0, 0x4
+ strh r0, [r4, 0x22]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ ble _0802EDC4
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ adds r0, r4, 0
+ movs r1, 0x3
+_0802EDA2:
+ bl StartSpriteAffineAnim
+_0802EDA6:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ b _0802EDC2
+_0802EDAC:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0802EDC4
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x1
+ strh r0, [r4, 0x36]
+ movs r0, 0x1
+_0802EDC2:
+ strh r0, [r4, 0x2E]
+_0802EDC4:
+ movs r0, 0x1
+_0802EDC6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_802EC98
+
+ thumb_func_start sub_802EDCC
+sub_802EDCC: @ 802EDCC
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r0, =gSprites
+ mov r8, r0
+ lsls r4, r1, 4
+ adds r4, r1
+ lsls r4, 2
+ adds r5, r4, r0
+ ldr r0, =0x0000ffd8
+ strh r0, [r5, 0x26]
+ lsls r3, r2, 4
+ adds r3, r2
+ lsls r3, 2
+ mov r1, r8
+ adds r2, r3, r1
+ strh r0, [r2, 0x26]
+ adds r5, 0x3E
+ ldrb r6, [r5]
+ movs r1, 0x5
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r6
+ strb r0, [r5]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ ands r1, r0
+ strb r1, [r2]
+ movs r0, 0x1C
+ add r8, r0
+ add r4, r8
+ ldr r0, =sub_802EE5C
+ str r0, [r4]
+ add r3, r8
+ str r0, [r3]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EDCC
+
+ thumb_func_start sub_802EE30
+sub_802EE30: @ 802EE30
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r2, =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r2, 0x1C
+ adds r1, r2
+ ldr r1, [r1]
+ ldr r0, =sub_802EE5C
+ cmp r1, r0
+ bne _0802EE4E
+ movs r3, 0x1
+_0802EE4E:
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802EE30
+
+ thumb_func_start sub_802EE5C
+sub_802EE5C: @ 802EE5C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r5, 0
+ adds r4, 0x2E
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x4
+ bhi _0802EF46
+ lsls r0, 2
+ ldr r1, =_0802EE7C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0802EE7C:
+ .4byte _0802EE90
+ .4byte _0802EEA0
+ .4byte _0802EEC8
+ .4byte _0802EEFC
+ .4byte _0802EF34
+_0802EE90:
+ movs r0, 0x40
+ strh r0, [r4, 0x8]
+ ldrh r0, [r5, 0x26]
+ lsls r0, 4
+ strh r0, [r4, 0xA]
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+_0802EEA0:
+ ldrh r1, [r4, 0x8]
+ ldrh r2, [r4, 0xA]
+ adds r0, r1, r2
+ strh r0, [r4, 0xA]
+ adds r1, 0x1
+ strh r1, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 20
+ strh r0, [r5, 0x26]
+ cmp r0, 0
+ blt _0802EF46
+ movs r0, 0x39
+ bl PlaySE
+ movs r0, 0
+ strh r0, [r5, 0x26]
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ b _0802EF46
+_0802EEC8:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0xC
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7F
+ ble _0802EEE6
+ movs r0, 0x39
+ bl PlaySE
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+_0802EEE6:
+ ldr r0, =gSineTable
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ lsls r1, 1
+ adds r1, r0
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ asrs r0, 4
+ b _0802EF2A
+ .pool
+_0802EEFC:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x10
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7F
+ ble _0802EF1A
+ movs r0, 0x39
+ bl PlaySE
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+_0802EF1A:
+ ldr r1, =gSineTable
+ movs r2, 0x2
+ ldrsh r0, [r4, r2]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r0, 16
+ asrs r0, 21
+_0802EF2A:
+ negs r0, r0
+ strh r0, [r5, 0x26]
+ b _0802EF46
+ .pool
+_0802EF34:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x28
+ ble _0802EF46
+ ldr r0, =SpriteCallbackDummy
+ str r0, [r5, 0x1C]
+_0802EF46:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EE5C
+
+ thumb_func_start sub_802EF50
+sub_802EF50: @ 802EF50
+ push {r4,lr}
+ sub sp, 0x10
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, =gUnknown_082FEBCC
+ ldr r3, [r2, 0x4]
+ ldr r2, [r2]
+ str r2, [sp]
+ str r3, [sp, 0x4]
+ ldr r2, =gUnknown_082FEBD4
+ ldr r3, [r2, 0x4]
+ ldr r2, [r2]
+ str r2, [sp, 0x8]
+ str r3, [sp, 0xC]
+ lsls r0, 16
+ ldr r3, =0x0000ffff
+ ldr r2, [sp, 0x4]
+ ands r2, r3
+ orrs r2, r0
+ str r2, [sp, 0x4]
+ ldr r2, =0xffff0000
+ add r4, sp, 0x8
+ ldr r0, [r4, 0x4]
+ ands r0, r2
+ orrs r0, r1
+ str r0, [r4, 0x4]
+ mov r0, sp
+ bl LoadCompressedSpriteSheet
+ adds r0, r4, 0
+ bl LoadSpritePalette
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EF50
+
+ thumb_func_start sub_802EFA8
+sub_802EFA8: @ 802EFA8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x18
+ mov r12, r3
+ ldr r3, [sp, 0x30]
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r3, 24
+ lsrs r3, 24
+ mov r8, r3
+ mov r5, sp
+ ldr r4, =gUnknown_082FEC90
+ ldm r4!, {r3,r6,r7}
+ stm r5!, {r3,r6,r7}
+ ldm r4!, {r3,r6,r7}
+ stm r5!, {r3,r6,r7}
+ mov r4, sp
+ strh r0, [r4]
+ mov r0, sp
+ strh r1, [r0, 0x2]
+ lsls r2, 16
+ asrs r2, 16
+ mov r0, r12
+ lsls r6, r0, 16
+ asrs r6, 16
+ mov r0, sp
+ adds r1, r2, 0
+ adds r2, r6, 0
+ mov r3, r8
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x18
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_802EFA8
+
+ thumb_func_start sub_802EFFC
+sub_802EFFC: @ 802EFFC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ mov r12, r3
+ ldr r6, [sp, 0x38]
+ ldr r3, [sp, 0x3C]
+ mov r9, r3
+ ldr r4, [sp, 0x40]
+ mov r8, r4
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r6, 24
+ lsrs r6, 24
+ mov r10, r6
+ mov r4, sp
+ ldr r3, =gUnknown_082FECA8
+ ldm r3!, {r5-r7}
+ stm r4!, {r5-r7}
+ ldm r3!, {r5-r7}
+ stm r4!, {r5-r7}
+ mov r3, sp
+ strh r0, [r3]
+ mov r0, sp
+ strh r1, [r0, 0x2]
+ lsls r2, 16
+ asrs r4, r2, 16
+ ldr r0, =0xffe00000
+ adds r2, r0
+ asrs r2, 16
+ mov r1, r12
+ lsls r5, r1, 16
+ asrs r5, 16
+ mov r0, sp
+ adds r1, r2, 0
+ adds r2, r5, 0
+ mov r3, r10
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ mov r3, r9
+ strh r0, [r3]
+ adds r4, 0x20
+ lsls r4, 16
+ asrs r4, 16
+ mov r0, sp
+ adds r1, r4, 0
+ adds r2, r5, 0
+ mov r3, r10
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ mov r4, r8
+ strh r0, [r4]
+ ldr r2, =gSprites
+ mov r5, r9
+ movs r6, 0
+ ldrsh r1, [r5, r6]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r3, 0x4
+ orrs r1, r3
+ strb r1, [r0]
+ movs r7, 0
+ ldrsh r1, [r4, r7]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ orrs r1, r3
+ strb r1, [r0]
+ movs r0, 0
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x1
+ bl StartSpriteAnim
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_802EFFC
+
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/pokenav.s b/asm/pokenav.s
index af47d33e7..e453c814c 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -5961,7 +5961,7 @@ sub_81CC09C: @ 81CC09C
ldrb r0, [r4, 0x14]
movs r1, 0x1
movs r2, 0x4
- bl sub_8098858
+ bl DrawTextBorderOuter
ldrb r0, [r4, 0x14]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -7211,7 +7211,7 @@ sub_81CCA1C: @ 81CCA1C
ldrb r0, [r5, 0x8]
movs r1, 0x42
movs r2, 0x4
- bl sub_8098858
+ bl DrawTextBorderOuter
ldr r1, =gUnknown_08622888
str r4, [sp]
movs r0, 0x1
@@ -8696,7 +8696,7 @@ sub_81CD624: @ 81CD624
adds r1, r6, 0
movs r2, 0x2D
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
cmp r0, 0
beq _081CD690
ldr r1, =gText_EggNickname
@@ -8711,14 +8711,14 @@ _081CD690:
adds r1, r6, 0
movs r2, 0x2
adds r3, r5, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
adds r0, r5, 0
bl StringGetEnd10
adds r0, r4, 0
adds r1, r6, 0
movs r2, 0xB
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
lsls r0, 16
lsrs r7, r0, 16
cmp r4, 0xE
@@ -9185,7 +9185,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x16
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
mov r1, r9
lsls r5, r1, 2
adds r4, r5, r1
@@ -9197,7 +9197,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x2F
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x00006429
add r1, r8
adds r1, r4
@@ -9206,7 +9206,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x21
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x0000642a
add r1, r8
adds r1, r4
@@ -9215,7 +9215,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x18
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x0000642b
add r1, r8
adds r1, r4
@@ -9224,7 +9224,7 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x17
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x0000642c
add r1, r8
adds r1, r4
@@ -9238,14 +9238,14 @@ _081CDA5A:
adds r1, r7, 0
movs r2, 0x30
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
cmp r0, 0xFF
beq _081CDB10
adds r0, r6, 0
adds r1, r7, 0
movs r2, 0x30
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
movs r1, 0x1D
bl __udivsi3
b _081CDB12
@@ -9258,7 +9258,7 @@ _081CDB12:
adds r1, r7, 0
movs r2, 0x8
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
ldr r1, =0x00006783
add r1, r8
add r1, r9
@@ -9355,7 +9355,7 @@ _081CDBD0:
adds r1, r6, 0
movs r2, 0x41
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
@@ -9363,13 +9363,13 @@ _081CDBD0:
adds r1, r6, 0
movs r2, 0x1
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
mov r8, r0
adds r0, r5, 0
adds r1, r6, 0
movs r2, 0
movs r3, 0
- bl sub_81D2C68
+ bl GetBoxOrPartyMonData
adds r5, r0, 0
lsls r0, r4, 3
ldr r1, =gMonFrontPicTable
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
deleted file mode 100644
index d61f3f270..000000000
--- a/asm/rom_8011DC0.s
+++ /dev/null
@@ -1,48288 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
-
-
- thumb_func_start sub_8016CA0
-sub_8016CA0: @ 8016CA0
- 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
- mov r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r7, 0
- mov r0, sp
- adds r0, 0x10
- str r0, [sp, 0x18]
-_08016CC4:
- lsls r2, r7, 24
- lsrs r2, 24
- mov r0, sp
- ldr r1, [sp, 0x18]
- bl sub_800DE7C
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r0, [r0, 0xA]
- lsls r0, 25
- lsrs r0, 25
- mov r2, r10
- lsls r1, r2, 2
- add r1, r10
- lsls r1, 3
- ldr r3, =gTasks
- adds r1, r3
- movs r5, 0x10
- ldrsh r1, [r1, r5]
- bl sub_8013D88
- cmp r0, 0
- bne _08016D00
- mov r1, sp
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_08016D00:
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _08016D18
- mov r1, sp
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_08016D18:
- cmp r4, 0
- bne _08016D9C
- lsls r0, r7, 3
- mov r8, r0
- adds r1, r7, 0x1
- mov r9, r1
- cmp r7, 0
- ble _08016D58
- movs r2, 0
- str r2, [sp, 0x1C]
- adds r4, r7, 0
-_08016D2E:
- ldr r0, [r6, 0x4]
- ldr r3, [sp, 0x1C]
- adds r0, r3
- mov r1, sp
- bl sub_8017630
- lsls r0, 24
- cmp r0, 0
- bne _08016D4C
- mov r1, sp
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_08016D4C:
- ldr r5, [sp, 0x1C]
- adds r5, 0x1C
- str r5, [sp, 0x1C]
- subs r4, 0x1
- cmp r4, 0
- bne _08016D2E
-_08016D58:
- ldr r1, [r6, 0x4]
- mov r0, r8
- subs r4, r0, r7
- lsls r4, 2
- adds r1, r4
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r6, 0x4]
- adds r0, r4
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- ldr r3, [r6, 0x4]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldrb r0, [r3, 0x18]
- movs r4, 0x2
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- b _08016DD4
- .pool
-_08016D9C:
- ldr r1, [r6]
- lsls r4, r7, 3
- subs r4, r7
- lsls r4, 2
- adds r1, r4
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r6]
- adds r0, r4
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- ldr r3, [r6]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldrb r0, [r3, 0x18]
- movs r4, 0x2
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- adds r7, 0x1
- mov r9, r7
-_08016DD4:
- mov r7, r9
- cmp r7, 0x3
- bgt _08016DDC
- b _08016CC4
-_08016DDC:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8016CA0
-
- thumb_func_start sub_8016DF0
-sub_8016DF0: @ 8016DF0
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, =sub_8016CA0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, =gTasks + 0x8
- adds r3, r1, r2
- str r4, [r3]
- str r5, [r3, 0x4]
- adds r2, r1
- strh r6, [r2, 0x8]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8016DF0
-
- thumb_func_start sub_8016E24
-sub_8016E24: @ 8016E24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r3, 0
-_08016E42:
- lsls r4, r3, 3
- subs r0, r4, r3
- lsls r5, r0, 2
- ldr r0, [r6]
- adds r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- lsls r2, r3, 24
- lsrs r2, 24
- str r3, [sp]
- bl sub_800DE7C
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0, 0xA]
- lsls r0, 25
- lsrs r0, 25
- mov r2, r10
- lsls r1, r2, 2
- add r1, r10
- lsls r1, 3
- ldr r7, =gTasks
- adds r1, r7
- movs r2, 0xC
- ldrsh r1, [r1, r2]
- bl sub_8013D88
- mov r8, r4
- ldr r3, [sp]
- cmp r0, 0
- bne _08016E8E
- ldr r1, [r6]
- adds r1, r5
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
-_08016E8E:
- adds r4, r3, 0x1
- mov r9, r4
- cmp r3, 0
- ble _08016ED2
- str r5, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- adds r4, r3, 0
-_08016E9E:
- ldr r1, [r6]
- ldr r7, [sp, 0x8]
- adds r0, r1, r7
- ldr r2, [sp, 0x4]
- adds r1, r2
- str r3, [sp]
- bl sub_8017630
- lsls r0, 24
- ldr r3, [sp]
- cmp r0, 0
- bne _08016EC6
- ldr r1, [r6]
- ldr r5, [sp, 0x4]
- adds r1, r5
- ldr r0, =gUnknown_082F045C
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
-_08016EC6:
- ldr r7, [sp, 0x8]
- adds r7, 0x1C
- str r7, [sp, 0x8]
- subs r4, 0x1
- cmp r4, 0
- bne _08016E9E
-_08016ED2:
- mov r0, r8
- subs r4, r0, r3
- lsls r4, 2
- ldr r0, [r6]
- adds r0, r4
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- ldr r3, [r6]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldrb r0, [r3, 0x18]
- movs r4, 0x2
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- mov r3, r9
- cmp r3, 0x3
- ble _08016E42
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8016E24
-
- thumb_func_start sub_8016F1C
-sub_8016F1C: @ 8016F1C
- push {lr}
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7
- bne _08016F2C
- ldrb r1, [r0]
- movs r0, 0x20
- b _08016F34
-_08016F2C:
- cmp r1, 0x8
- bne _08016F3E
- ldrb r1, [r0]
- movs r0, 0x10
-_08016F34:
- ands r0, r1
- cmp r0, 0
- beq _08016F3E
- movs r0, 0x1
- b _08016F40
-_08016F3E:
- movs r0, 0
-_08016F40:
- pop {r1}
- bx r1
- thumb_func_end sub_8016F1C
-
- thumb_func_start sub_8016F44
-sub_8016F44: @ 8016F44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r6, 0
- subs r0, 0x8
- movs r5, 0
- adds r1, r0
- mov r8, r1
-_08016F62:
- ldr r0, [r4]
- adds r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- lsls r2, r6, 24
- lsrs r2, 24
- bl sub_800DF34
- lsls r0, 24
- cmp r0, 0
- beq _08016F86
- ldr r0, [r4]
- adds r0, r5
- mov r2, r8
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- bl sub_8016F1C
-_08016F86:
- ldr r0, [r4]
- adds r0, r5
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- ldr r3, [r4]
- adds r3, r5
- movs r2, 0x1
- ands r2, r0
- ldrb r0, [r3, 0x18]
- movs r7, 0x2
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _08016F62
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8016F44
-
- thumb_func_start sub_8016FC0
-sub_8016FC0: @ 8016FC0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =sub_8016E24
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- ldr r1, =gTasks + 0x8
- adds r3, r2, r1
- str r4, [r3]
- adds r1, r2
- strh r5, [r1, 0x4]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8016FC0
-
- thumb_func_start sub_8016FF0
-sub_8016FF0: @ 8016FF0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =sub_8016F44
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- ldr r1, =gTasks + 0x8
- adds r3, r2, r1
- str r4, [r3]
- adds r1, r2
- strh r5, [r1, 0x4]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8016FF0
-
- thumb_func_start sub_8017020
-sub_8017020: @ 8017020
- push {r4,lr}
- adds r4, r0, 0
- bl sub_81973A4
- movs r0, 0
- movs r1, 0x1
- bl DrawDialogueFrame
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterWithCustomSpeedForMessage
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8017020
-
- thumb_func_start sub_801704C
-sub_801704C: @ 801704C
- push {lr}
- bl RunTextPrintersAndIsPrinter0Active
- lsls r0, 16
- cmp r0, 0
- beq _0801705C
- movs r0, 0
- b _0801705E
-_0801705C:
- movs r0, 0x1
-_0801705E:
- pop {r1}
- bx r1
- thumb_func_end sub_801704C
-
- thumb_func_start PrintOnTextbox
-PrintOnTextbox: @ 8017064
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _08017076
- cmp r0, 0x1
- beq _0801709C
- b _080170AE
-_08017076:
- bl sub_81973A4
- movs r0, 0
- movs r1, 0x1
- bl DrawDialogueFrame
- ldr r0, =gStringVar4
- adds r1, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage_2
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080170AE
- .pool
-_0801709C:
- bl RunTextPrintersAndIsPrinter0Active
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080170AE
- strb r0, [r4]
- movs r0, 0x1
- b _080170B0
-_080170AE:
- movs r0, 0
-_080170B0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end PrintOnTextbox
-
- thumb_func_start sub_80170B8
-sub_80170B8: @ 80170B8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080170CA
- cmp r0, 0x1
- beq _080170E0
- b _0801710C
-_080170CA:
- cmp r5, 0
- beq _080170D4
- movs r0, 0x3
- negs r0, r0
- b _08017110
-_080170D4:
- bl DisplayYesNoMenuDefaultYes
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801710C
-_080170E0:
- cmp r5, 0
- beq _080170F2
- bl sub_8198C78
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x3
- negs r0, r0
- b _08017110
-_080170F2:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x2
- bhi _0801710C
- strb r5, [r4]
- adds r0, r1, 0
- b _08017110
-_0801710C:
- movs r0, 0x2
- negs r0, r0
-_08017110:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80170B8
-
- thumb_func_start sub_8017118
-sub_8017118: @ 8017118
- push {r4,lr}
- sub sp, 0x8
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl DrawStdWindowFrame
- adds r0, r4, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r2, =gUnknown_082EFD94
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl sub_80173E0
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8017118
-
- thumb_func_start sub_8017168
-sub_8017168: @ 8017168
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- pop {r0}
- bx r0
- thumb_func_end sub_8017168
-
- thumb_func_start sub_8017178
-sub_8017178: @ 8017178
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r7, r0, 0
- adds r5, r1, 0
- mov r9, r2
- ldrb r4, [r7]
- cmp r4, 0
- beq _08017194
- cmp r4, 0x1
- beq _08017228
- b _0801728E
-_08017194:
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [sp, 0x24]
- bl sub_81DB41C
- adds r1, r0, 0
- ldr r2, [sp]
- lsrs r0, r2, 24
- cmp r0, r1
- ble _080171B6
- lsls r1, 24
- ldr r0, =0x00ffffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
-_080171B6:
- ldr r2, [sp]
- lsrs r0, r2, 8
- lsls r0, 24
- lsrs r0, 24
- lsrs r1, r2, 24
- adds r0, r1
- cmp r0, 0x1D
- ble _080171DC
- movs r0, 0x1D
- subs r0, r1
- cmp r0, 0
- bge _080171D0
- movs r0, 0
-_080171D0:
- lsls r1, r0, 24
- lsrs r1, 16
- ldr r0, =0xffff00ff
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
-_080171DC:
- mov r0, sp
- bl AddWindow
- strb r0, [r5]
- ldrb r0, [r5]
- movs r1, 0
- bl DrawStdWindowFrame
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, [sp, 0x24]
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldrb r1, [r5]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r5]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- b _0801728E
- .pool
-_08017228:
- mov r3, r9
- ldrb r0, [r3]
- bl ListMenu_ProcessInput
- mov r8, r0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- ands r4, r1
- cmp r4, 0
- beq _08017264
- mov r4, r9
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r5]
- movs r1, 0x1
- bl ClearStdWindowAndFrame
- ldrb r0, [r5]
- bl RemoveWindow
- movs r0, 0
- strb r0, [r7]
- mov r0, r8
- b _08017292
- .pool
-_08017264:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0801728E
- mov r6, r9
- ldrb r0, [r6]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r5]
- movs r1, 0x1
- bl ClearStdWindowAndFrame
- ldrb r0, [r5]
- bl RemoveWindow
- strb r4, [r7]
- movs r0, 0x2
- negs r0, r0
- b _08017292
-_0801728E:
- movs r0, 0x1
- negs r0, r0
-_08017292:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8017178
-
- thumb_func_start sub_80172A0
-sub_80172A0: @ 80172A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r10, r2
- mov r9, r3
- ldrb r4, [r5]
- cmp r4, 0x1
- beq _0801730C
- cmp r4, 0x1
- bgt _080172C2
- cmp r4, 0
- beq _080172C8
- b _0801739C
-_080172C2:
- cmp r4, 0x2
- beq _0801731C
- b _0801739C
-_080172C8:
- ldr r0, =gUnknown_082F0344
- bl sub_8017118
- mov r1, r9
- strb r0, [r1]
- ldr r0, [sp, 0x20]
- bl AddWindow
- strb r0, [r6]
- ldrb r0, [r6]
- movs r1, 0
- bl DrawStdWindowFrame
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, [sp, 0x24]
- ldm r1!, {r3,r4,r7}
- stm r2!, {r3,r4,r7}
- ldm r1!, {r3,r4,r7}
- stm r2!, {r3,r4,r7}
- ldrb r1, [r6]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0x1
- bl ListMenuInit
- mov r1, r10
- strb r0, [r1]
- b _08017314
- .pool
-_0801730C:
- ldrb r0, [r6]
- movs r1, 0x1
- bl CopyWindowToVram
-_08017314:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0801739C
-_0801731C:
- mov r3, r10
- ldrb r0, [r3]
- bl ListMenu_ProcessInput
- adds r1, r0, 0
- ldr r0, =gMain
- ldrh r2, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0
- beq _0801739C
- cmp r1, 0x8
- beq _0801733E
- ands r4, r2
- mov r8, r4
- cmp r4, 0
- beq _08017368
-_0801733E:
- mov r4, r10
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r6]
- bl RemoveWindow
- mov r7, r9
- ldrb r0, [r7]
- bl sub_8017168
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x2
- negs r0, r0
- b _080173A0
- .pool
-_08017368:
- ldr r0, [sp, 0x28]
- bl sub_8017CB0
- adds r4, r0, 0
- cmp r4, 0
- blt _08017396
- mov r1, r10
- ldrb r0, [r1]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r6]
- bl RemoveWindow
- mov r3, r9
- ldrb r0, [r3]
- bl sub_8017168
- mov r7, r8
- strb r7, [r5]
- adds r0, r4, 0
- b _080173A0
-_08017396:
- movs r0, 0x7
- bl PlaySE
-_0801739C:
- movs r0, 0x1
- negs r0, r0
-_080173A0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80172A0
-
- thumb_func_start sub_80173B0
-sub_80173B0: @ 80173B0
- push {lr}
- sub sp, 0xC
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_80173B0
-
- thumb_func_start sub_80173D4
-sub_80173D4: @ 80173D4
- push {lr}
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80173D4
-
- thumb_func_start sub_80173E0
-sub_80173E0: @ 80173E0
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- lsls r3, 24
- lsrs r3, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- str r2, [sp]
- mov r2, sp
- strb r0, [r2, 0x4]
- mov r0, sp
- strb r1, [r0, 0x5]
- strb r3, [r0, 0x6]
- strb r5, [r0, 0x7]
- strb r3, [r0, 0x8]
- strb r5, [r0, 0x9]
- ldrb r1, [r2, 0xC]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0xC]
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- cmp r4, 0x6
- bls _08017422
- b _0801756E
-_08017422:
- lsls r0, r4, 2
- ldr r1, =_08017434
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08017434:
- .4byte _08017450
- .4byte _0801747C
- .4byte _080174A8
- .4byte _080174D4
- .4byte _08017500
- .4byte _0801752C
- .4byte _08017544
-_08017450:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x30
- b _0801756A
-_0801747C:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x50
- b _0801756A
-_080174A8:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x60
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x70
- b _0801756A
-_080174D4:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x30
- b _0801756A
-_08017500:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldrb r1, [r2, 0xD]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0xD]
- ands r0, r3
- movs r1, 0x30
- b _0801756A
-_0801752C:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r4, 0xF
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x70
- b _0801755A
-_08017544:
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r4, 0xF
- movs r3, 0xF
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0xE0
-_0801755A:
- orrs r0, r1
- strb r0, [r2, 0xC]
- mov r1, sp
- ldrb r0, [r1, 0xD]
- orrs r0, r4
- strb r0, [r1, 0xD]
- ands r0, r3
- movs r1, 0x90
-_0801756A:
- orrs r0, r1
- strb r0, [r2, 0xD]
-_0801756E:
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80173E0
-
- thumb_func_start sub_8017580
-sub_8017580: @ 8017580
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _080175D8
- ldr r2, =gUnknown_082F045C
- mov r8, r2
- movs r5, 0
- mov r9, r5
- movs r6, 0x4
- negs r6, r6
- mov r12, r6
- adds r2, r0, 0
- adds r2, 0x18
- adds r4, r0, 0
- movs r7, 0xFF
- mov r10, r7
- adds r3, r1, 0
-_080175AC:
- adds r1, r4, 0
- mov r0, r8
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- mov r0, r10
- strh r0, [r2]
- ldrb r1, [r2, 0x2]
- mov r0, r12
- ands r0, r1
- movs r1, 0x5
- negs r1, r1
- ands r0, r1
- strb r0, [r2, 0x2]
- mov r5, r9
- strb r5, [r2, 0x3]
- adds r2, 0x20
- adds r4, 0x20
- subs r3, 0x1
- cmp r3, 0
- bne _080175AC
-_080175D8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8017580
-
- thumb_func_start sub_80175EC
-sub_80175EC: @ 80175EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, =gUnknown_082F045C
- mov r12, r1
- movs r5, 0x2
- negs r5, r5
- mov r8, r5
- adds r2, r0, 0
- adds r2, 0x18
- adds r3, r0, 0
- movs r4, 0x3
-_08017604:
- adds r1, r3, 0
- mov r0, r12
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldrb r1, [r2]
- mov r0, r8
- ands r0, r1
- strb r0, [r2]
- adds r2, 0x1C
- adds r3, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _08017604
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80175EC
-
- thumb_func_start sub_8017630
-sub_8017630: @ 8017630
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r2, 0
- adds r4, r5, 0x2
- adds r3, r6, 0x2
-_0801763C:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08017664
- adds r2, 0x1
- cmp r2, 0x1
- ble _0801763C
- movs r2, 0
- adds r4, r5, 0
- adds r4, 0x10
- adds r3, r6, 0
- adds r3, 0x10
-_08017658:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08017668
-_08017664:
- movs r0, 0x1
- b _08017670
-_08017668:
- adds r2, 0x1
- cmp r2, 0x7
- ble _08017658
- movs r0, 0
-_08017670:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8017630
-
- thumb_func_start sub_8017678
-sub_8017678: @ 8017678
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r3, [r5, 0xA]
- movs r0, 0x7F
- ldrb r2, [r6, 0xA]
- adds r1, r0, 0
- ands r1, r3
- ands r0, r2
- cmp r1, r0
- bne _080176DC
- movs r0, 0x80
- adds r1, r0, 0
- ands r1, r3
- ands r0, r2
- cmp r1, r0
- bne _080176DC
- movs r2, 0
- adds r4, r5, 0x4
- adds r3, r6, 0x4
-_080176A0:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080176DC
- adds r2, 0x1
- cmp r2, 0x3
- ble _080176A0
- ldrh r2, [r5, 0x8]
- ldr r0, =0x000003ff
- ldrh r3, [r6, 0x8]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _080176DC
- ldrb r2, [r5, 0x9]
- movs r0, 0xFC
- ldrb r3, [r6, 0x9]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _080176DC
- movs r0, 0
- b _080176DE
- .pool
-_080176DC:
- movs r0, 0x1
-_080176DE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8017678
-
- thumb_func_start sub_80176E4
-sub_80176E4: @ 80176E4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- movs r7, 0xFF
- movs r6, 0
- adds r4, r1, 0
- adds r4, 0x18
- adds r5, r1, 0
-_080176F6:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801771E
- mov r0, r8
- adds r1, r5, 0
- bl sub_8017630
- lsls r0, 24
- cmp r0, 0
- bne _0801771E
- lsls r0, r6, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- movs r2, 0x2
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r4]
-_0801771E:
- adds r4, 0x1C
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _080176F6
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80176E4
-
- thumb_func_start sub_8017734
-sub_8017734: @ 8017734
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r3, r0, 0
- mov r8, r1
- lsls r2, 24
- lsrs r6, r2, 24
- ldrb r1, [r1, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080177A8
- movs r5, 0
- cmp r5, r6
- bge _080177A8
- movs r0, 0x4
- negs r0, r0
- mov r9, r0
- movs r1, 0x2
- negs r1, r1
- mov r12, r1
- adds r2, r3, 0
- adds r2, 0x18
- adds r1, r3, 0
-_08017766:
- ldrb r0, [r2, 0x2]
- movs r3, 0x3
- ands r3, r0
- cmp r3, 0
- bne _0801779E
- mov r0, r8
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- strh r3, [r2]
- ldrb r1, [r2, 0x2]
- mov r0, r9
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- movs r0, 0x40
- strb r0, [r2, 0x3]
- mov r0, r8
- ldrb r1, [r0, 0x18]
- mov r0, r12
- ands r0, r1
- mov r1, r8
- strb r0, [r1, 0x18]
- lsls r0, r5, 24
- lsrs r0, 24
- b _080177AA
-_0801779E:
- adds r2, 0x20
- adds r1, 0x20
- adds r5, 0x1
- cmp r5, r6
- blt _08017766
-_080177A8:
- movs r0, 0xFF
-_080177AA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8017734
-
- thumb_func_start sub_80177B8
-sub_80177B8: @ 80177B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r4, r1, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r1, 24
- lsrs r1, 24
- ldr r5, =gStringVar4
- adds r1, 0x1
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_Colon
- adds r0, r5, 0
- bl StringAppend
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r0, r8
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80173E0
- adds r4, 0x12
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6, 0xA]
- lsls r0, 25
- lsrs r2, r0, 25
- ldrb r1, [r6, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08017884
- movs r0, 0x40
- ands r2, r0
- cmp r2, 0
- bne _08017884
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8018404
- str r7, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- mov r0, r8
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80173E0
- ldrb r1, [r6, 0x2]
- ldrb r0, [r6, 0x3]
- lsls r0, 8
- orrs r1, r0
- add r0, sp, 0x8
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_UnkCtrlCodeF907
- adds r0, r5, 0
- bl StringCopy
- adds r0, r5, 0
- add r1, sp, 0x8
- bl StringAppend
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x88
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- str r7, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- mov r0, r8
- movs r1, 0x1
- adds r2, r5, 0
- bl sub_80173E0
-_08017884:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80177B8
-
- thumb_func_start sub_80178A0
-sub_80178A0: @ 80178A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r5, r3, 0
- ldr r3, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- ldrb r1, [r5, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801792A
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8018404
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- mov r0, r9
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_80173E0
- ldrb r1, [r5, 0x2]
- ldrb r0, [r5, 0x3]
- lsls r0, 8
- orrs r1, r0
- add r0, sp, 0x8
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_UnkCtrlCodeF907
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- add r1, sp, 0x8
- bl StringAppend
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x68
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- mov r0, r9
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_80173E0
-_0801792A:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80178A0
-
- thumb_func_start sub_8017940
-sub_8017940: @ 8017940
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x9
- bne _08017978
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bne _08017978
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x2
- beq _0801796E
- cmp r0, 0
- bne _08017978
-_0801796E:
- movs r0, 0x1
- b _0801797A
- .pool
-_08017978:
- movs r0, 0
-_0801797A:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8017940
-
- thumb_func_start sub_8017984
-sub_8017984: @ 8017984
- push {lr}
- cmp r0, 0x4
- beq _0801799C
- cmp r0, 0x4
- ble _080179A4
- cmp r0, 0x5
- beq _08017998
- cmp r0, 0x8
- beq _080179A0
- b _080179A4
-_08017998:
- movs r0, 0x1
- b _080179A6
-_0801799C:
- movs r0, 0x2
- b _080179A6
-_080179A0:
- movs r0, 0x3
- b _080179A6
-_080179A4:
- movs r0, 0
-_080179A6:
- pop {r1}
- bx r1
- thumb_func_end sub_8017984
-
- thumb_func_start sub_80179AC
-sub_80179AC: @ 80179AC
- push {r4,lr}
- sub sp, 0x20
- adds r4, r0, 0
- mov r0, sp
- adds r1, r4, 0
- bl sub_8018404
- adds r4, 0x2
- adds r0, r4, 0
- bl ReadAsU16
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- bl sub_800E540
- add sp, 0x20
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80179AC
-
- thumb_func_start sub_80179D4
-sub_80179D4: @ 80179D4
- push {r4-r6,lr}
- adds r6, r3, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r2, 19
- adds r5, r0, r2
- ldrb r1, [r5, 0xA]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08017A4C
- cmp r4, 0
- bne _08017A4C
- ldr r4, =gStringVar1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8018404
- adds r0, r5, 0x2
- bl ReadAsU16
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl sub_800E540
- adds r2, r0, 0
- ldrb r1, [r5, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _08017A38
- ldr r0, =gStringVar4
- ldr r3, =gUnknown_082EE6B8
- lsls r1, r6, 2
- lsls r2, 3
- adds r1, r2
- adds r1, r3
- ldr r1, [r1]
- bl StringExpandPlaceholders
- movs r0, 0x2
- b _08017B2A
- .pool
-_08017A38:
- ldr r0, =gUnknown_082EE17C
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_8017020
- movs r0, 0x1
- b _08017B2A
- .pool
-_08017A4C:
- ldr r0, =gStringVar1
- adds r1, r5, 0
- bl sub_8018404
- cmp r4, 0
- beq _08017A62
- adds r0, r5, r4
- ldrb r0, [r0, 0x3]
- lsrs r6, r0, 3
- movs r0, 0x1
- ands r6, r0
-_08017A62:
- ldrb r0, [r5, 0xA]
- lsls r0, 25
- lsrs r0, 25
- movs r1, 0x3F
- ands r1, r0
- cmp r1, 0x4
- beq _08017AB0
- cmp r1, 0x4
- bgt _08017A80
- cmp r1, 0x1
- beq _08017A8A
- b _08017B20
- .pool
-_08017A80:
- cmp r1, 0x5
- beq _08017AD0
- cmp r1, 0x8
- beq _08017AF4
- b _08017B20
-_08017A8A:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_082EEEAC
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 14
- lsls r0, r6, 4
- adds r1, r0
- adds r1, r4
- ldr r1, [r1]
- b _08017B0E
- .pool
-_08017AB0:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_082EF1CC
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- lsls r1, r6, 4
- b _08017B08
- .pool
-_08017AD0:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_082EF010
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 14
- lsls r0, r6, 4
- adds r1, r0
- adds r1, r4
- ldr r1, [r1]
- b _08017B0E
- .pool
-_08017AF4:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_082EF100
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- lsls r1, r6, 3
-_08017B08:
- adds r0, r1
- adds r0, r4
- ldr r1, [r0]
-_08017B0E:
- adds r0, r5, 0
- bl StringExpandPlaceholders
- b _08017B28
- .pool
-_08017B20:
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EE6C8
- bl StringExpandPlaceholders
-_08017B28:
- movs r0, 0
-_08017B2A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80179D4
-
- thumb_func_start nullsub_14
-nullsub_14: @ 8017B38
- bx lr
- thumb_func_end nullsub_14
-
- thumb_func_start sub_8017B3C
-sub_8017B3C: @ 8017B3C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- ldr r4, [sp, 0x28]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r4, 24
- lsrs r4, 24
- ldrh r0, [r2, 0x8]
- lsls r0, 22
- lsrs r0, 22
- mov r8, r0
- ldrb r0, [r2, 0x9]
- lsrs r7, r0, 2
- ldrb r0, [r2, 0xB]
- lsrs r0, 1
- mov r9, r0
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- adds r2, r3, 0
- movs r3, 0x8
- bl sub_80173E0
- movs r0, 0xCE
- lsls r0, 1
- cmp r8, r0
- bne _08017B94
- ldr r2, =gUnknown_082EF7D0
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0x44
- bl sub_80173E0
- b _08017BD4
- .pool
-_08017B94:
- adds r1, r7, 0x1
- adds r0, r6, 0
- movs r2, 0x44
- adds r3, r5, 0
- bl blit_move_info_icon
- movs r0, 0xB
- mov r2, r8
- muls r2, r0
- ldr r0, =gSpeciesNames
- adds r2, r0
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0x76
- bl sub_80173E0
- add r0, sp, 0x8
- mov r1, r9
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- add r2, sp, 0x8
- movs r3, 0xC6
- bl sub_80173E0
-_08017BD4:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8017B3C
-
- thumb_func_start sub_8017BE8
-sub_8017BE8: @ 8017BE8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r0, =gUnknown_02022C30
- ldr r0, [r0]
- mov r8, r0
- movs r0, 0x3
- negs r0, r0
- cmp r4, r0
- bne _08017C6C
- ldr r0, =gUnknown_082F03A4
- ldrb r0, [r0, 0x14]
- lsls r0, 28
- lsrs r0, 28
- cmp r7, r0
- bne _08017C6C
- bl sub_800F7DC
- adds r2, r0, 0
- ldrh r1, [r2, 0x8]
- ldr r0, =0x000003ff
- ands r0, r1
- cmp r0, 0
- beq _08017CA0
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- movs r0, 0x5
- str r0, [sp]
- mov r0, r9
- adds r1, r7, 0
- bl sub_8017B3C
- b _08017CA0
- .pool
-_08017C4C:
- mov r0, r12
- adds r1, r0, r4
- add r0, sp, 0x4
- bl sub_8018404
- mov r0, r8
- ldr r2, [r0]
- adds r2, r4
- movs r0, 0x6
- str r0, [sp]
- mov r0, r9
- adds r1, r7, 0
- add r3, sp, 0x4
- bl sub_8017B3C
- b _08017CA0
-_08017C6C:
- movs r5, 0
- movs r1, 0
- mov r2, r8
- ldr r2, [r2]
- mov r12, r2
- adds r2, 0x8
- movs r3, 0
- adds r6, r4, 0x1
-_08017C7C:
- ldrb r0, [r2, 0x12]
- lsls r0, 30
- lsrs r0, 30
- adds r4, r3, 0
- cmp r0, 0x1
- bne _08017C92
- ldrh r0, [r2]
- lsls r0, 22
- cmp r0, 0
- beq _08017C92
- adds r5, 0x1
-_08017C92:
- cmp r5, r6
- beq _08017C4C
- adds r2, 0x20
- adds r3, 0x20
- adds r1, 0x1
- cmp r1, 0x7
- ble _08017C7C
-_08017CA0:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8017BE8
-
- thumb_func_start sub_8017CB0
-sub_8017CB0: @ 8017CB0
- push {r4-r7,lr}
- movs r4, 0
- movs r3, 0
- movs r7, 0x3
- ldr r6, =0x000003ff
- adds r2, r0, 0
- adds r2, 0x8
- adds r5, r1, 0x1
-_08017CC0:
- ldrb r1, [r2, 0x12]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0x1
- bne _08017CD6
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08017CD6
- adds r4, 0x1
-_08017CD6:
- cmp r4, r5
- bne _08017CE4
- adds r0, r3, 0
- b _08017CF0
- .pool
-_08017CE4:
- adds r2, 0x20
- adds r3, 0x1
- cmp r3, 0x7
- ble _08017CC0
- movs r0, 0x1
- negs r0, r0
-_08017CF0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8017CB0
-
- thumb_func_start sub_8017CF8
-sub_8017CF8: @ 8017CF8
- lsls r0, 5
- adds r0, r1
- ldrb r0, [r0, 0xB]
- lsls r0, 31
- lsrs r0, 31
- bx lr
- thumb_func_end sub_8017CF8
-
- thumb_func_start sub_8017D04
-sub_8017D04: @ 8017D04
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _08017D44
- movs r4, 0
- b _08017D2E
-_08017D14:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _08017D74
- adds r4, 0x1
-_08017D2E:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- blt _08017D14
- movs r0, 0x2
- b _08017D90
- .pool
-_08017D44:
- movs r4, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bge _08017D8E
- ldr r6, =gBaseStats
-_08017D50:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r0, r6
- ldrb r0, [r1, 0x6]
- cmp r0, r5
- beq _08017D74
- ldrb r0, [r1, 0x7]
- cmp r0, r5
- bne _08017D84
-_08017D74:
- movs r0, 0
- b _08017D90
- .pool
-_08017D84:
- adds r4, 0x1
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- blt _08017D50
-_08017D8E:
- movs r0, 0x1
-_08017D90:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8017D04
-
- thumb_func_start sub_8017D9C
-sub_8017D9C: @ 8017D9C
- push {lr}
- adds r3, r0, 0
- cmp r1, 0x44
- beq _08017DD8
- cmp r1, 0x44
- bgt _08017DAE
- cmp r1, 0x41
- beq _08017DB8
- b _08017DF6
-_08017DAE:
- cmp r1, 0x45
- beq _08017DC8
- cmp r1, 0x48
- beq _08017DE8
- b _08017DF6
-_08017DB8:
- ldr r0, =gUnknown_082EEA68
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- b _08017DDA
- .pool
-_08017DC8:
- ldr r0, =gUnknown_082EED3C
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- b _08017DDA
- .pool
-_08017DD8:
- ldr r1, =gUnknown_082EF7B0
-_08017DDA:
- adds r0, r3, 0
- bl StringExpandPlaceholders
- b _08017DF6
- .pool
-_08017DE8:
- ldr r0, =gUnknown_082EEB08
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r3, 0
- bl StringExpandPlaceholders
-_08017DF6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8017D9C
-
- thumb_func_start sub_8017E00
-sub_8017E00: @ 8017E00
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- adds r6, r4, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gLinkPlayers
- movs r0, 0x1
- adds r1, r3, 0
- eors r1, r0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x13]
- cmp r4, 0x44
- beq _08017E54
- cmp r4, 0x44
- bgt _08017E38
- cmp r4, 0x41
- beq _08017E3E
- b _08017E94
- .pool
-_08017E38:
- cmp r6, 0x45
- beq _08017E78
- b _08017E94
-_08017E3E:
- ldr r2, =gUnknown_082EE984
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 3
- adds r1, r0
- b _08017E66
- .pool
-_08017E54:
- ldr r2, =gUnknown_082EE984
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 3
- adds r1, r0
- adds r2, 0x8
-_08017E66:
- adds r1, r2
- ldr r1, [r1]
- adds r0, r5, 0
- bl StringCopy
- b _08017E94
- .pool
-_08017E78:
- ldr r2, =gUnknown_082EE984
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 3
- adds r1, r0
- adds r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- adds r0, r5, 0
- bl StringCopy
-_08017E94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8017E00
-
- thumb_func_start sub_8017EA0
-sub_8017EA0: @ 8017EA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- movs r2, 0
- mov r8, r2
- ldrh r0, [r5]
- subs r0, 0x40
- cmp r0, 0x8
- bls _08017EBA
- b _08017FC6
-_08017EBA:
- lsls r0, 2
- ldr r1, =_08017EC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08017EC8:
- .4byte _08017FBC
- .4byte _08017EEC
- .4byte _08017FC6
- .4byte _08017FC6
- .4byte _08017EFC
- .4byte _08017EF4
- .4byte _08017FC6
- .4byte _08017FC6
- .4byte _08017FAC
-_08017EEC:
- ldr r1, =gUnknown_082EE3DC
- b _08017FAE
- .pool
-_08017EF4:
- ldr r1, =gUnknown_082EE430
- b _08017FAE
- .pool
-_08017EFC:
- adds r0, r6, 0
- adds r0, 0x58
- ldr r4, =gUnknown_02022C40
- ldrh r1, [r4, 0xC]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- adds r0, 0x68
- ldrh r2, [r4, 0xA]
- movs r1, 0xB
- muls r1, r2
- ldr r2, =gSpeciesNames
- adds r1, r2
- bl StringCopy
- movs r4, 0
- b _08017F2E
- .pool
-_08017F2C:
- adds r4, 0x1
-_08017F2E:
- cmp r4, 0x3
- bgt _08017F64
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- lsls r1, r4, 5
- adds r0, r1
- ldrh r0, [r0, 0x18]
- cmp r0, 0x2
- bne _08017F2C
- ldrh r1, [r5, 0x4]
- adds r0, r6, 0
- adds r0, 0x78
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldrh r1, [r5, 0x2]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r6, 0
- adds r0, 0x88
- bl StringCopy
- ldrh r5, [r5, 0x2]
- mov r8, r5
-_08017F64:
- movs r0, 0xCE
- lsls r0, 1
- cmp r8, r0
- bne _08017F84
- ldr r1, =gUnknown_082EE4F0
- adds r0, r7, 0
- bl StringCopy
- b _08017FB4
- .pool
-_08017F84:
- movs r4, 0
- adds r5, r6, 0
- adds r5, 0x58
-_08017F8A:
- lsls r0, r4, 24
- lsrs r0, 24
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- adds r5, 0x10
- adds r4, 0x1
- cmp r4, 0x3
- ble _08017F8A
- ldr r1, =gUnknown_082EE47C
- adds r0, r7, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- b _08017FB4
- .pool
-_08017FAC:
- ldr r1, =gUnknown_082EE380
-_08017FAE:
- adds r0, r7, 0
- bl StringExpandPlaceholders
-_08017FB4:
- movs r2, 0x1
- b _08017FC6
- .pool
-_08017FBC:
- ldr r1, =gUnknown_082EE544
- adds r0, r7, 0
- bl StringExpandPlaceholders
- movs r2, 0x2
-_08017FC6:
- adds r0, r2, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8017EA0
-
- thumb_func_start sub_8017FD8
-sub_8017FD8: @ 8017FD8
- push {lr}
- adds r2, r0, 0
- ldr r0, =gRecvCmds
- ldrh r1, [r0, 0x2]
- cmp r1, 0
- beq _08017FFC
- cmp r1, 0x51
- beq _08017FEC
- cmp r1, 0x52
- bne _08017FFC
-_08017FEC:
- adds r0, r2, 0
- adds r0, 0x98
- strh r1, [r0]
- movs r0, 0x1
- b _08017FFE
- .pool
-_08017FFC:
- movs r0, 0
-_08017FFE:
- pop {r1}
- bx r1
- thumb_func_end sub_8017FD8
-
- thumb_func_start InUnionRoom
-InUnionRoom: @ 8018004
- push {lr}
- movs r2, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00003c19
- cmp r1, r0
- bne _08018016
- movs r2, 0x1
-_08018016:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end InUnionRoom
-
- thumb_func_start sub_8018024
-sub_8018024: @ 8018024
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r6, r0
- bge _08018064
-_08018032:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x1E
- bhi _0801805A
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _0801805A
- adds r6, 0x1
-_0801805A:
- adds r5, 0x1
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _08018032
-_08018064:
- cmp r6, 0x1
- bgt _08018074
- movs r0, 0
- b _08018076
- .pool
-_08018074:
- movs r0, 0x1
-_08018076:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8018024
-
- thumb_func_start sub_801807C
-sub_801807C: @ 801807C
- movs r1, 0
- strh r1, [r0]
- strh r1, [r0, 0x2]
- str r1, [r0, 0x4]
- strh r1, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- strh r1, [r0, 0x10]
- str r1, [r0, 0x14]
- bx lr
- thumb_func_end sub_801807C
-
- thumb_func_start sub_8018090
-sub_8018090: @ 8018090
- push {lr}
- ldr r0, =gUnknown_02022C40
- bl sub_801807C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8018090
-
- thumb_func_start sub_80180A0
-sub_80180A0: @ 80180A0
- push {r4,r5,lr}
- adds r5, r1, 0
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- strh r0, [r5, 0xC]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x4]
- ldrh r1, [r5, 0xA]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _080180E0
- movs r0, 0
- b _080180E2
- .pool
-_080180E0:
- movs r0, 0x1
-_080180E2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80180A0
-
- thumb_func_start sub_80180E8
-sub_80180E8: @ 80180E8
- push {r4,r5,lr}
- adds r5, r1, 0
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- strh r0, [r5, 0xE]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- strh r0, [r5, 0x10]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x14]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80180E8
-
- thumb_func_start sub_8018120
-sub_8018120: @ 8018120
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 24
- movs r2, 0
- mov r8, r2
- cmp r1, 0
- bne _0801813E
- ldrh r7, [r0, 0xA]
- ldr r6, [r0, 0x4]
- b _08018142
-_08018136:
- lsls r0, r5, 16
- lsrs r0, 16
- mov r8, r0
- b _08018176
-_0801813E:
- ldrh r7, [r0, 0xE]
- ldr r6, [r0, 0x14]
-_08018142:
- movs r5, 0
- b _0801816E
-_08018146:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- cmp r0, r6
- bne _0801816C
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r7
- beq _08018136
-_0801816C:
- adds r5, 0x1
-_0801816E:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _08018146
-_08018176:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8018120
-
- thumb_func_start sub_801818C
-sub_801818C: @ 801818C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80173B0
- bl ScriptContext2_Disable
- bl sub_8098524
- ldr r1, =gUnknown_02022C2C
- movs r0, 0
- strb r0, [r1]
- cmp r4, 0
- beq _080181BC
- ldr r2, =gUnknown_02022C40
- ldrh r0, [r2, 0x2]
- ldrh r1, [r2, 0xA]
- ldrh r2, [r2, 0xC]
- bl sub_8010FCC
- movs r0, 0x40
- movs r1, 0
- movs r2, 0
- bl sub_8011090
-_080181BC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801818C
-
- thumb_func_start sub_80181CC
-sub_80181CC: @ 80181CC
- push {lr}
- bl ScriptContext2_Enable
- bl ScriptFreezeEventObjects
- pop {r0}
- bx r0
- thumb_func_end sub_80181CC
-
- thumb_func_start sub_80181DC
-sub_80181DC: @ 80181DC
- push {r4,lr}
- movs r3, 0x80
- movs r2, 0
- ldr r4, [r0, 0xC]
-_080181E4:
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r1, r4, r0
- ldrb r0, [r1, 0x18]
- lsls r0, 31
- cmp r0, 0
- beq _0801820C
- ldrb r0, [r1, 0xB]
- lsls r0, 31
- lsrs r0, 31
- lsls r0, 3
- orrs r3, r0
- ldrb r1, [r1, 0x2]
- movs r0, 0x7
- ands r0, r1
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
- b _08018216
-_0801820C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080181E4
-_08018216:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80181DC
-
- thumb_func_start sub_8018220
-sub_8018220: @ 8018220
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gTrainerCards
- adds r1, r0
- mov r8, r1
- bl DynamicPlaceholderTextUtil_Reset
- mov r6, r9
- adds r6, 0xC0
- bl sub_8068BB0
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, =gTrainerClassNames
- adds r1, r0
- adds r0, r6, 0
- bl StringCopy
- movs r0, 0
- adds r1, r6, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- mov r1, r8
- adds r1, 0x30
- movs r0, 0x1
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r4, 0xBA
- lsls r4, 1
- add r4, r9
- ldr r1, =gUnknown_082EFF50
- mov r2, r8
- ldrb r0, [r2, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0x2
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- mov r5, r9
- adds r5, 0xDE
- mov r0, r8
- ldrh r1, [r0, 0xC]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x3
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r2, 0xED
- add r2, r9
- mov r10, r2
- mov r0, r8
- ldrh r1, [r0, 0x10]
- mov r0, r10
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r4, r9
- adds r4, 0xFC
- mov r2, r8
- ldrh r1, [r2, 0x12]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- mov r1, r10
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r0, 0x5
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r4, 0xD2
- lsls r4, 1
- add r4, r9
- ldr r1, =gUnknown_082EFF64
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl StringCopy
- mov r0, r8
- ldrh r1, [r0, 0x14]
- ldr r4, =0x0000270f
- cmp r1, r4
- ble _0801830C
- adds r1, r4, 0
-_0801830C:
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- movs r0, 0
- adds r1, r6, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- mov r2, r8
- ldrh r1, [r2, 0x16]
- cmp r1, r4
- ble _08018328
- adds r1, r4, 0
-_08018328:
- mov r4, r9
- adds r4, 0xCF
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- movs r0, 0x2
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- mov r0, r8
- ldrh r1, [r0, 0x20]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- movs r0, 0x3
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r7, 0
- movs r6, 0x80
- lsls r6, 19
- mov r5, r8
- adds r5, 0x28
- mov r4, r10
-_08018360:
- ldrh r1, [r5]
- adds r0, r4, 0
- bl CopyEasyChatWord
- lsrs r0, r6, 24
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r2, 0x80
- lsls r2, 17
- adds r6, r2
- adds r5, 0x2
- adds r4, 0xF
- adds r7, 0x1
- cmp r7, 0x3
- ble _08018360
- movs r4, 0xD2
- lsls r4, 1
- add r4, r9
- ldr r1, =gUnknown_082EFFA4
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r5, =gStringVar4
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringAppend
- ldr r0, [sp]
- cmp r0, 0x1
- bne _080183D0
- ldr r1, =gUnknown_082F0020
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringAppend
- b _080183F0
- .pool
-_080183D0:
- ldr r2, [sp]
- cmp r2, 0
- bne _080183F0
- ldr r0, =gUnknown_082F0018
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringAppend
-_080183F0:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8018220
-
- thumb_func_start sub_8018404
-sub_8018404: @ 8018404
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r1, 0x10
- bl StringCopy7
- ldrb r1, [r4]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r5, 0
- bl ConvertInternationalString
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8018404
-
- thumb_func_start sub_8018424
-sub_8018424: @ 8018424
- push {lr}
- bl ProcessSpriteCopyRequests
- bl LoadOam
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8018424
-
- thumb_func_start sub_8018438
-sub_8018438: @ 8018438
- push {lr}
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8018438
-
- thumb_func_start sub_8018450
-sub_8018450: @ 8018450
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- bne _08018466
- b _08018574
-_08018466:
- cmp r0, 0x1
- bgt _08018474
- cmp r0, 0
- beq _08018482
- b _08018644
- .pool
-_08018474:
- cmp r0, 0x2
- bne _0801847A
- b _080185F8
-_0801847A:
- cmp r0, 0x3
- bne _08018480
- b _08018618
-_08018480:
- b _08018644
-_08018482:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ScanlineEffect_Stop
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F0598
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x3
- bl bgid_upload_textbox_1
- ldr r0, =gUnknown_082F05A8
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r1, 0xC0
- lsls r1, 7
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- b _08018610
- .pool
-_08018574:
- ldr r0, =gUnkTextboxBorderPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0xC0
- bl sub_81978B0
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xF0
- bl LoadUserWindowBorderGfx_
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x3
- bl sub_8018798
- lsls r0, r7, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80186EC
- b _08018610
- .pool
-_080185F8:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08018610:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _08018644
-_08018618:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r0, =0x0000021d
- bl PlayBGM
- ldr r0, =sub_8018424
- bl SetVBlankCallback
- movs r0, 0xC5
- bl EnableInterrupts
- movs r0, 0x1
- b _08018646
- .pool
-_08018644:
- movs r0, 0
-_08018646:
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8018450
-
- thumb_func_start c2_mystery_gift
-c2_mystery_gift: @ 8018650
- push {lr}
- movs r0, 0
- bl sub_8018450
- cmp r0, 0
- beq _0801866C
- ldr r0, =sub_8018438
- bl SetMainCallback2
- ldr r1, =gUnknown_02022C60
- movs r0, 0
- strb r0, [r1]
- bl task_add_00_mystery_gift
-_0801866C:
- bl RunTasks
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_mystery_gift
-
- thumb_func_start sub_801867C
-sub_801867C: @ 801867C
- push {lr}
- movs r0, 0x1
- bl sub_8018450
- cmp r0, 0
- beq _08018698
- ldr r0, =sub_8018438
- bl SetMainCallback2
- ldr r1, =gUnknown_02022C60
- movs r0, 0x1
- strb r0, [r1]
- bl sub_81D5014
-_08018698:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801867C
-
- thumb_func_start sub_80186A4
-sub_80186A4: @ 80186A4
- push {lr}
- ldr r1, =gUnknown_02022C60
- movs r0, 0
- strb r0, [r1]
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x1
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x2
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x3
- bl GetBgTilemapBuffer
- bl Free
- ldr r0, =CB2_InitTitleScreen
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80186A4
-
- thumb_func_start sub_80186EC
-sub_80186EC: @ 80186EC
- push {r4-r7,lr}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- cmp r4, 0
- bne _0801871C
- ldr r0, =gText_MysteryGift
- ldr r7, =gText_PickOKCancel
- cmp r5, 0
- bne _08018720
- ldr r7, =gText_PickOKExit
- b _08018720
- .pool
-_0801871C:
- ldr r0, =gJPText_MysteryGift
- ldr r7, =gJPText_DecideStop
-_08018720:
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r6, =gUnknown_082F0720
- str r6, [sp, 0x8]
- movs r5, 0x1
- negs r5, r5
- str r5, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x4
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- movs r0, 0
- adds r1, r7, 0
- movs r2, 0xDE
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- str r5, [sp, 0xC]
- str r7, [sp, 0x10]
- movs r0, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl PutWindowTilemap
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80186EC
-
- thumb_func_start sub_8018784
-sub_8018784: @ 8018784
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- movs r2, 0xF
- bl sub_8098858
- pop {r0}
- bx r0
- thumb_func_end sub_8018784
-
- thumb_func_start sub_8018798
-sub_8018798: @ 8018798
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- mov r9, r0
- lsls r4, 24
- lsrs r0, r4, 24
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x2
- str r1, [sp, 0x4]
- movs r1, 0x11
- str r1, [sp, 0x8]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- mov r8, r4
- movs r4, 0x1
-_080187C8:
- movs r7, 0
- mov r0, r9
- adds r0, 0x2
- movs r1, 0x1
- add r1, r9
- mov r10, r1
- lsls r5, r0, 24
- movs r6, 0
-_080187D8:
- mov r1, r9
- ands r1, r4
- adds r0, r7, 0
- ands r0, r4
- cmp r1, r0
- beq _080187FC
- lsrs r2, r6, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r1, r8
- lsrs r0, r1, 24
- movs r1, 0x1
- lsrs r3, r5, 24
- bl FillBgTilemapBufferRect
- b _08018812
-_080187FC:
- lsrs r2, r6, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r1, r8
- lsrs r0, r1, 24
- movs r1, 0x2
- lsrs r3, r5, 24
- bl FillBgTilemapBufferRect
-_08018812:
- movs r0, 0x80
- lsls r0, 17
- adds r6, r0
- adds r7, 0x1
- cmp r7, 0x1F
- ble _080187D8
- mov r9, r10
- mov r1, r9
- cmp r1, 0x11
- ble _080187C8
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8018798
-
- thumb_func_start sub_8018838
-sub_8018838: @ 8018838
- push {lr}
- sub sp, 0xC
- cmp r0, 0
- beq _08018846
- cmp r0, 0x1
- beq _0801885E
- b _08018876
-_08018846:
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- b _08018876
-_0801885E:
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x1E
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect
-_08018876:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8018838
-
- thumb_func_start sub_8018884
-sub_8018884: @ 8018884
- push {r4,lr}
- sub sp, 0x14
- adds r1, r0, 0
- ldr r4, =gStringVar4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, =gUnknown_082F0728
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xF
- bl sub_8098858
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8018884
-
- thumb_func_start sub_80188DC
-sub_80188DC: @ 80188DC
- push {lr}
- movs r0, 0x1
- bl rbox_fill_rectangle
- movs r0, 0x1
- bl ClearWindowTilemap
- movs r0, 0x1
- movs r1, 0x1
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_80188DC
-
- thumb_func_start mevent_0814257C
-mevent_0814257C: @ 80188F8
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r0, r1, 0
- ldrb r2, [r4]
- cmp r2, 0x1
- beq _08018920
- cmp r2, 0x1
- bgt _08018910
- cmp r2, 0
- beq _0801891A
- b _08018980
-_08018910:
- cmp r2, 0x2
- beq _08018954
- cmp r2, 0xFF
- beq _0801897C
- b _08018980
-_0801891A:
- bl sub_8018884
- b _08018944
-_08018920:
- movs r0, 0
- str r0, [sp]
- ldr r0, =gUnknown_02022C58
- str r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD0
- movs r2, 0x14
- movs r3, 0x1
- bl DrawDownArrow
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08018980
-_08018944:
- ldrb r0, [r4]
- adds r0, 0x1
- b _0801897E
- .pool
-_08018954:
- movs r0, 0x1
- str r0, [sp]
- ldr r0, =gUnknown_02022C58
- str r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD0
- movs r2, 0x14
- movs r3, 0x1
- bl DrawDownArrow
- movs r0, 0
- strb r0, [r4]
- bl sub_80188DC
- movs r0, 0x1
- b _08018982
- .pool
-_0801897C:
- movs r0, 0x2
-_0801897E:
- strb r0, [r4]
-_08018980:
- movs r0, 0
-_08018982:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end mevent_0814257C
-
- thumb_func_start sub_801898C
-sub_801898C: @ 801898C
- push {lr}
- sub sp, 0xC
- movs r0, 0
- str r0, [sp]
- ldr r0, =gUnknown_02022C58
- str r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD0
- movs r2, 0x14
- movs r3, 0x1
- bl DrawDownArrow
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801898C
-
- thumb_func_start sub_80189B4
-sub_80189B4: @ 80189B4
- push {lr}
- sub sp, 0xC
- movs r0, 0x1
- str r0, [sp]
- ldr r0, =gUnknown_02022C58
- str r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD0
- movs r2, 0x14
- movs r3, 0x1
- bl DrawDownArrow
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80189B4
-
- thumb_func_start sub_80189DC
-sub_80189DC: @ 80189DC
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080189EC
- cmp r0, 0x1
- beq _08018A08
- b _08018A14
-_080189EC:
- bl sub_801898C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08018A14
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08018A14
- .pool
-_08018A08:
- bl sub_80189B4
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x1
- b _08018A16
-_08018A14:
- movs r0, 0
-_08018A16:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80189DC
-
- thumb_func_start sub_8018A1C
-sub_8018A1C: @ 8018A1C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- bne _08018A2C
- adds r0, r1, 0
- bl sub_8018884
-_08018A2C:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- bhi _08018A3E
- movs r0, 0
- b _08018A48
-_08018A3E:
- movs r0, 0
- strb r0, [r4]
- bl sub_80188DC
- movs r0, 0x1
-_08018A48:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8018A1C
-
- thumb_func_start sub_8018A50
-sub_8018A50: @ 8018A50
- push {r4,r5,lr}
- sub sp, 0x24
- lsls r2, 24
- add r1, sp, 0x4
- ldr r0, =gUnknown_082F0638
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, =gUnknown_082F05E0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x1C]
- str r1, [sp, 0x20]
- cmp r2, 0
- bne _08018A80
- ldr r0, =gUnknown_082F0608
- b _08018A82
- .pool
-_08018A80:
- ldr r0, =gUnknown_082F0620
-_08018A82:
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- bl sub_81DB41C
- adds r3, r0, 0
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _08018A96
- adds r3, 0x1
-_08018A96:
- lsls r1, r3, 24
- ldr r0, =0x00ffffff
- ldr r2, [sp, 0x1C]
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x1C]
- cmp r3, 0x1D
- bgt _08018ACC
- movs r0, 0x1E
- subs r0, r3
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r0, 24
- lsrs r0, 16
- ldr r1, =0xffff00ff
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x1C]
- b _08018AD2
- .pool
-_08018ACC:
- ldr r0, =0xffff00ff
- ands r2, r0
- str r2, [sp, 0x1C]
-_08018AD2:
- add r0, sp, 0x1C
- movs r1, 0xE0
- str r1, [sp]
- add r1, sp, 0x4
- movs r2, 0x1
- movs r3, 0xA
- bl DoMysteryGiftListMenu
- adds r4, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08018AFA
- movs r0, 0x2
- bl ClearWindowTilemap
- movs r0, 0x2
- movs r1, 0x1
- bl CopyWindowToVram
-_08018AFA:
- adds r0, r4, 0
- add sp, 0x24
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8018A50
-
- thumb_func_start sub_8018B08
-sub_8018B08: @ 8018B08
- push {r4-r6,lr}
- sub sp, 0x1C
- adds r5, r0, 0
- adds r4, r1, 0
- adds r1, r3, 0
- lsls r2, 24
- lsrs r6, r2, 24
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _08018B98
- cmp r0, 0x1
- bgt _08018B26
- cmp r0, 0
- beq _08018B30
- b _08018C3E
-_08018B26:
- cmp r0, 0x2
- beq _08018BE4
- cmp r0, 0xFF
- beq _08018C1A
- b _08018C3E
-_08018B30:
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- cmp r6, 0
- bne _08018B48
- ldr r0, =gUnknown_082F05C8
- b _08018B4A
- .pool
-_08018B48:
- ldr r0, =gUnknown_082F05D0
-_08018B4A:
- bl AddWindow
- strh r0, [r4]
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- movs r2, 0
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r1, =gUnknown_082F0728
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r1, =gStringVar4
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- ldrb r0, [r4]
- movs r1, 0x1
- movs r2, 0xF
- bl sub_8098858
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl PutWindowTilemap
- b _08018BD6
- .pool
-_08018B98:
- ldr r0, =gUnknown_082F05E8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x14]
- str r1, [sp, 0x18]
- cmp r6, 0
- bne _08018BBC
- ldr r0, =0xff00ffff
- ldr r1, [sp, 0x14]
- ands r1, r0
- movs r0, 0x90
- lsls r0, 12
- b _08018BC6
- .pool
-_08018BBC:
- ldr r0, =0xff00ffff
- ldr r1, [sp, 0x14]
- ands r1, r0
- movs r0, 0xF0
- lsls r0, 12
-_08018BC6:
- orrs r1, r0
- str r1, [sp, 0x14]
- add r0, sp, 0x14
- movs r1, 0xA
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
-_08018BD6:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08018C3E
- .pool
-_08018BE4:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r6, r0, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x2
- bhi _08018C3E
- movs r0, 0
- strb r0, [r5]
- ldrb r0, [r4]
- bl rbox_fill_rectangle
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl RemoveWindow
- adds r0, r6, 0
- b _08018C42
-_08018C1A:
- movs r0, 0
- strb r0, [r5]
- ldrb r0, [r4]
- bl rbox_fill_rectangle
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0x1
- negs r0, r0
- b _08018C42
-_08018C3E:
- movs r0, 0x2
- negs r0, r0
-_08018C42:
- add sp, 0x1C
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8018B08
-
- thumb_func_start sub_8018C4C
-sub_8018C4C: @ 8018C4C
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _08018CE8
- cmp r0, 0x1
- bgt _08018C64
- cmp r0, 0
- beq _08018C6C
- b _08018D8C
-_08018C64:
- cmp r0, 0xFF
- bne _08018C6A
- b _08018D68
-_08018C6A:
- b _08018D8C
-_08018C6C:
- cmp r2, 0
- bne _08018C84
- ldr r0, =gStringVar4
- ldr r1, =gText_WhatToDoWithCards
- bl StringExpandPlaceholders
- b _08018C8C
- .pool
-_08018C84:
- ldr r0, =gStringVar4
- ldr r1, =gText_WhatToDoWithNews
- bl StringExpandPlaceholders
-_08018C8C:
- ldr r0, =gUnknown_082F05D8
- bl AddWindow
- strh r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldrb r0, [r5]
- movs r2, 0
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r1, =gUnknown_082F0728
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r1, =gStringVar4
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- ldrb r0, [r5]
- movs r1, 0x1
- movs r2, 0xF
- bl sub_8098858
- ldrb r0, [r5]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _08018D8C
- .pool
-_08018CE8:
- cmp r3, 0
- beq _08018D10
- cmp r2, 0
- bne _08018D00
- ldr r0, =gUnknown_082F05F8
- ldr r1, =gUnknown_082F06C8
- b _08018D28
- .pool
-_08018D00:
- ldr r0, =gUnknown_082F0600
- ldr r1, =gUnknown_082F06F8
- b _08018D28
- .pool
-_08018D10:
- cmp r2, 0
- bne _08018D24
- ldr r0, =gUnknown_082F05F0
- ldr r1, =gUnknown_082F06B0
- b _08018D28
- .pool
-_08018D24:
- ldr r0, =gUnknown_082F05F8
- ldr r1, =gUnknown_082F06E0
-_08018D28:
- movs r2, 0xE0
- str r2, [sp]
- movs r2, 0x1
- movs r3, 0xA
- bl DoMysteryGiftListMenu
- adds r4, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08018D8C
- movs r0, 0
- strb r0, [r6]
- ldrb r0, [r5]
- bl rbox_fill_rectangle
- ldrb r0, [r5]
- bl ClearWindowTilemap
- ldrb r0, [r5]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r5]
- bl RemoveWindow
- adds r0, r4, 0
- b _08018D90
- .pool
-_08018D68:
- movs r0, 0
- strb r0, [r6]
- ldrb r0, [r5]
- bl rbox_fill_rectangle
- ldrb r0, [r5]
- bl ClearWindowTilemap
- ldrb r0, [r5]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r5]
- bl RemoveWindow
- movs r0, 0x2
- negs r0, r0
- b _08018D90
-_08018D8C:
- movs r0, 0x1
- negs r0, r0
-_08018D90:
- add sp, 0x14
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8018C4C
-
- thumb_func_start sub_8018D98
-sub_8018D98: @ 8018D98
- push {lr}
- cmp r0, 0
- beq _08018DA4
- bl sub_801B0CC
- b _08018DA8
-_08018DA4:
- bl sub_801B27C
-_08018DA8:
- pop {r1}
- bx r1
- thumb_func_end sub_8018D98
-
- thumb_func_start sub_8018DAC
-sub_8018DAC: @ 8018DAC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0
- beq _08018DBC
- cmp r0, 0x1
- beq _08018DE4
- b _08018E00
-_08018DBC:
- cmp r1, 0
- bne _08018DD4
- bl sav1_get_mevent_buffer_1
- adds r4, r0, 0
- bl sav1_get_mevent_buffer_2
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_801BAAC
- b _08018DDC
-_08018DD4:
- bl sub_801B00C
- bl sub_801C6C8
-_08018DDC:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08018E00
-_08018DE4:
- cmp r1, 0
- bne _08018DF2
- bl sub_801BB74
-_08018DEC:
- cmp r0, 0
- bne _08018DF8
- b _08018E00
-_08018DF2:
- bl sub_801C758
- b _08018DEC
-_08018DF8:
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x1
- b _08018E02
-_08018E00:
- movs r0, 0
-_08018E02:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8018DAC
-
- thumb_func_start sub_8018E08
-sub_8018E08: @ 8018E08
- push {lr}
- cmp r0, 0
- bne _08018E14
- bl sub_801B1E8
- b _08018E18
-_08018E14:
- bl sub_801B06C
-_08018E18:
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8018E08
-
- thumb_func_start sub_8018E20
-sub_8018E20: @ 8018E20
- push {lr}
- cmp r0, 0
- bne _08018E36
- adds r0, r1, 0
- bl sub_801BDA4
- cmp r0, 0
- beq _08018E40
- bl sub_801BB48
- b _08018E48
-_08018E36:
- adds r0, r1, 0
- bl sub_801CA50
- cmp r0, 0
- bne _08018E44
-_08018E40:
- movs r0, 0
- b _08018E4A
-_08018E44:
- bl sub_801C72C
-_08018E48:
- movs r0, 0x1
-_08018E4A:
- pop {r1}
- bx r1
- thumb_func_end sub_8018E20
-
- thumb_func_start sub_8018E50
-sub_8018E50: @ 8018E50
- push {lr}
- cmp r2, 0
- beq _08018E60
- ldr r3, =gText_OkayToDiscardNews
- b _08018E62
- .pool
-_08018E60:
- ldr r3, =gText_IfThrowAwayCardEventWontHappen
-_08018E62:
- movs r2, 0x1
- bl sub_8018B08
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8018E50
-
- thumb_func_start mevent_message_was_thrown_away
-mevent_message_was_thrown_away: @ 8018E74
- push {lr}
- cmp r1, 0
- beq _08018E84
- ldr r1, =gText_WonderNewsThrownAway
- b _08018E86
- .pool
-_08018E84:
- ldr r1, =gText_WonderCardThrownAway
-_08018E86:
- bl mevent_0814257C
- pop {r1}
- bx r1
- .pool
- thumb_func_end mevent_message_was_thrown_away
-
- thumb_func_start mevent_save_game
-mevent_save_game: @ 8018E94
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x4
- bhi _08018F04
- lsls r0, 2
- ldr r1, =_08018EAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08018EAC:
- .4byte _08018EC0
- .4byte _08018ECC
- .4byte _08018ED4
- .4byte _08018EE0
- .4byte _08018EF8
-_08018EC0:
- ldr r0, =gText_DataWillBeSaved
- bl sub_8018884
- b _08018EEC
- .pool
-_08018ECC:
- movs r0, 0
- bl TrySavingData
- b _08018EEC
-_08018ED4:
- ldr r0, =gText_SaveCompletedPressA
- bl sub_8018884
- b _08018EEC
- .pool
-_08018EE0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08018F04
-_08018EEC:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08018F04
- .pool
-_08018EF8:
- movs r0, 0
- strb r0, [r4]
- bl sub_80188DC
- movs r0, 0x1
- b _08018F06
-_08018F04:
- movs r0, 0
-_08018F06:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end mevent_save_game
-
- thumb_func_start mevent_message
-mevent_message: @ 8018F0C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r2, 0
- str r2, [r4]
- cmp r3, 0xE
- bls _08018F22
- b _08019034
-_08018F22:
- lsls r0, r3, 2
- ldr r1, =_08018F30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08018F30:
- .4byte _08018F6C
- .4byte _08018F78
- .4byte _08018F84
- .4byte _08018F9C
- .4byte _08018FB4
- .4byte _08018FC0
- .4byte _08018FCC
- .4byte _08018FD8
- .4byte _08018FE4
- .4byte _08018FF0
- .4byte _08018FFC
- .4byte _08019014
- .4byte _08019020
- .4byte _0801902C
- .4byte _08019030
-_08018F6C:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_NothingSentOver
- b _08019034
- .pool
-_08018F78:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_RecordUploadedViaWireless
- b _08019034
- .pool
-_08018F84:
- movs r0, 0x1
- str r0, [r4]
- ldr r2, =gText_WonderCardReceivedFrom
- cmp r5, 0
- bne _08019034
- ldr r2, =gText_WonderCardReceived
- b _08019034
- .pool
-_08018F9C:
- movs r0, 0x1
- str r0, [r4]
- ldr r2, =gText_WonderNewsReceivedFrom
- cmp r5, 0
- bne _08019034
- ldr r2, =gText_WonderNewsReceived
- b _08019034
- .pool
-_08018FB4:
- movs r0, 0x1
- str r0, [r4]
- ldr r2, =gText_NewStampReceived
- b _08019034
- .pool
-_08018FC0:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_AlreadyHadCard
- b _08019034
- .pool
-_08018FCC:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_AlreadyHadStamp
- b _08019034
- .pool
-_08018FD8:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_AlreadyHadNews
- b _08019034
- .pool
-_08018FE4:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_NoMoreRoomForStamps
- b _08019034
- .pool
-_08018FF0:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_CommunicationCanceled
- b _08019034
- .pool
-_08018FFC:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_CantAcceptNewsFromTrainer
- cmp r6, 0
- bne _08019034
- ldr r2, =gText_CantAcceptCardFromTrainer
- b _08019034
- .pool
-_08019014:
- movs r0, 0
- str r0, [r4]
- ldr r2, =gText_CommunicationError
- b _08019034
- .pool
-_08019020:
- movs r0, 0x1
- str r0, [r4]
- ldr r2, =gText_NewTrainerReceived
- b _08019034
- .pool
-_0801902C:
- movs r0, 0x1
- b _08019032
-_08019030:
- movs r0, 0
-_08019032:
- str r0, [r4]
-_08019034:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end mevent_message
-
- thumb_func_start mevent_08142CE8
-mevent_08142CE8: @ 801903C
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0
- ldrb r4, [r6]
- cmp r4, 0x1
- beq _0801906E
- cmp r4, 0x1
- bgt _08019054
- cmp r4, 0
- beq _0801905A
- b _0801909A
-_08019054:
- cmp r4, 0x2
- beq _08019084
- b _0801909A
-_0801905A:
- cmp r0, 0
- beq _08019062
- bl sub_8018884
-_08019062:
- movs r0, 0xB9
- lsls r0, 1
- bl PlayFanfare
- strh r4, [r5]
- b _0801907C
-_0801906E:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF0
- bls _0801909A
-_0801907C:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _0801909A
-_08019084:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0801909A
- movs r0, 0
- strb r0, [r6]
- bl sub_80188DC
- movs r0, 0x1
- b _0801909C
-_0801909A:
- movs r0, 0
-_0801909C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end mevent_08142CE8
-
- thumb_func_start mevent_message_stamp_card_etc_send_status
-mevent_message_stamp_card_etc_send_status: @ 80190A4
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, =gText_CommunicationError
- movs r0, 0
- str r0, [r3]
- adds r4, r1, 0
- cmp r2, 0xE
- bhi _08019166
- lsls r0, r2, 2
- ldr r1, =_080190C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080190C8:
- .4byte _08019104
- .4byte _0801910C
- .4byte _08019114
- .4byte _0801911C
- .4byte _08019128
- .4byte _08019130
- .4byte _08019138
- .4byte _08019140
- .4byte _08019148
- .4byte _08019150
- .4byte _08019164
- .4byte _08019158
- .4byte _0801915C
- .4byte _0801915C
- .4byte _08019164
-_08019104:
- ldr r1, =gText_NothingSentOver
- b _08019166
- .pool
-_0801910C:
- ldr r1, =gText_RecordUploadedViaWireless
- b _08019166
- .pool
-_08019114:
- ldr r1, =gText_WonderCardSentTo
- b _0801911E
- .pool
-_0801911C:
- ldr r1, =gText_WonderNewsSentTo
-_0801911E:
- movs r0, 0x1
- str r0, [r3]
- b _08019166
- .pool
-_08019128:
- ldr r1, =gText_StampSentTo
- b _08019166
- .pool
-_08019130:
- ldr r1, =gText_OtherTrainerHasCard
- b _08019166
- .pool
-_08019138:
- ldr r1, =gText_OtherTrainerHasStamp
- b _08019166
- .pool
-_08019140:
- ldr r1, =gText_OtherTrainerHasNews
- b _08019166
- .pool
-_08019148:
- ldr r1, =gText_NoMoreRoomForStamps
- b _08019166
- .pool
-_08019150:
- ldr r1, =gText_OtherTrainerCanceled
- b _08019166
- .pool
-_08019158:
- adds r1, r4, 0
- b _08019166
-_0801915C:
- ldr r1, =gText_GiftSentTo
- b _08019166
- .pool
-_08019164:
- ldr r1, =gText_CantSendGiftToTrainer
-_08019166:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end mevent_message_stamp_card_etc_send_status
-
- thumb_func_start sub_8019174
-sub_8019174: @ 8019174
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r1, r2, 0
- adds r2, r3, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl mevent_message_stamp_card_etc_send_status
- adds r1, r0, 0
- ldr r0, [sp]
- cmp r0, 0
- bne _0801919A
- adds r0, r4, 0
- bl mevent_0814257C
- b _080191A2
-_0801919A:
- adds r0, r4, 0
- adds r2, r5, 0
- bl mevent_08142CE8
-_080191A2:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8019174
-
- thumb_func_start task_add_00_mystery_gift
-task_add_00_mystery_gift: @ 80191AC
- push {r4,lr}
- ldr r0, =task00_mystery_gift
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r0, 0
- strb r0, [r4, 0x8]
- strb r0, [r4, 0x9]
- strb r0, [r4, 0xA]
- strb r0, [r4, 0xB]
- strb r0, [r4, 0xC]
- strb r0, [r4, 0xD]
- movs r1, 0
- strh r0, [r4]
- strh r0, [r4, 0x2]
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- strb r1, [r4, 0xE]
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_00_mystery_gift
-
- thumb_func_start task00_mystery_gift
-task00_mystery_gift: @ 80191F4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldrb r0, [r5, 0x8]
- cmp r0, 0x25
- bls _0801920E
- b _08019922
-_0801920E:
- lsls r0, 2
- ldr r1, =_08019220
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08019220:
- .4byte _080192B8
- .4byte _080192BE
- .4byte _08019300
- .4byte _08019338
- .4byte _0801935C
- .4byte _080193AC
- .4byte _0801940C
- .4byte _08019444
- .4byte _08019454
- .4byte _080194CC
- .4byte _080194F0
- .4byte _08019508
- .4byte _08019538
- .4byte _08019574
- .4byte _0801958C
- .4byte _080195BC
- .4byte _080198EC
- .4byte _0801961A
- .4byte _0801962A
- .4byte _08019922
- .4byte _0801963C
- .4byte _08019688
- .4byte _080196FE
- .4byte _0801972E
- .4byte _08019764
- .4byte _0801977E
- .4byte _08019792
- .4byte _0801979E
- .4byte _080197B2
- .4byte _080197C6
- .4byte _080197F8
- .4byte _0801982C
- .4byte _08019870
- .4byte _08019884
- .4byte _080198A0
- .4byte _080198B8
- .4byte _080198EC
- .4byte _0801990C
-_080192B8:
- movs r0, 0x1
- strb r0, [r5, 0x8]
- b _08019922
-_080192BE:
- adds r0, r5, 0
- adds r0, 0x9
- adds r1, r5, 0
- movs r2, 0
- bl sub_8018A50
- adds r1, r0, 0
- cmp r1, 0x1
- beq _080192E8
- cmp r1, 0x1
- bcc _080192DE
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080192FA
- b _08019922
-_080192DE:
- movs r0, 0
- strb r0, [r5, 0xC]
- bl sub_801B27C
- b _080192EE
-_080192E8:
- strb r1, [r5, 0xC]
- bl sub_801B0CC
-_080192EE:
- cmp r0, 0x1
- bne _080192F4
- b _08019820
-_080192F4:
- movs r0, 0x2
- strb r0, [r5, 0x8]
- b _08019922
-_080192FA:
- movs r0, 0x25
- strb r0, [r5, 0x8]
- b _08019922
-_08019300:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _08019314
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_DontHaveCardNewOneInput
- b _0801931A
- .pool
-_08019314:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_DontHaveNewsNewOneInput
-_0801931A:
- bl mevent_0814257C
- cmp r0, 0
- bne _08019324
- b _08019922
-_08019324:
- movs r0, 0x3
- strb r0, [r5, 0x8]
- movs r0, 0
- movs r1, 0x1
- bl sub_80186EC
- b _08019922
- .pool
-_08019338:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _0801934C
- ldr r0, =gText_WhereShouldCardBeAccessed
- bl sub_8018884
- b _08019352
- .pool
-_0801934C:
- ldr r0, =gText_WhereShouldNewsBeAccessed
- bl sub_8018884
-_08019352:
- movs r0, 0x4
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_0801935C:
- adds r0, r5, 0
- adds r0, 0x9
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8018A50
- adds r4, r0, 0
- cmp r4, 0x1
- beq _0801938A
- cmp r4, 0x1
- bcc _0801937C
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _08019396
- b _08019922
-_0801937C:
- bl sub_80188DC
- movs r1, 0
- movs r0, 0x5
- strb r0, [r5, 0x8]
- strb r1, [r5, 0xD]
- b _08019922
-_0801938A:
- bl sub_80188DC
- movs r0, 0x5
- strb r0, [r5, 0x8]
- strb r4, [r5, 0xD]
- b _08019922
-_08019396:
- bl sub_80188DC
- ldrb r0, [r5, 0xC]
- bl sub_8018D98
- cmp r0, 0
- beq _080193A6
- b _08019820
-_080193A6:
- strb r0, [r5, 0x8]
- movs r0, 0
- b _080198FE
-_080193AC:
- ldr r0, =gStringVar1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, =gStringVar2
- strb r1, [r0]
- ldr r0, =gStringVar3
- strb r1, [r0]
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- beq _080193D4
- cmp r0, 0x1
- beq _080193EE
- b _08019406
- .pool
-_080193D4:
- ldrb r0, [r5, 0xD]
- cmp r0, 0x1
- bne _080193E2
- movs r0, 0x15
- bl sub_8014EFC
- b _08019406
-_080193E2:
- cmp r0, 0
- bne _08019406
- movs r0, 0x15
- bl sub_80152A8
- b _08019406
-_080193EE:
- ldrb r0, [r5, 0xD]
- cmp r0, 0x1
- bne _080193FC
- movs r0, 0x16
- bl sub_8014EFC
- b _08019406
-_080193FC:
- cmp r0, 0
- bne _08019406
- movs r0, 0x16
- bl sub_80152A8
-_08019406:
- movs r0, 0x6
- strb r0, [r5, 0x8]
- b _08019922
-_0801940C:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801942C
- movs r0, 0x1
- bl sub_8018838
- movs r0, 0x7
- strb r0, [r5, 0x8]
- ldrb r0, [r5, 0xC]
- bl sub_801D484
- b _08019922
- .pool
-_0801942C:
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x5
- beq _08019436
- b _08019922
-_08019436:
- movs r0, 0x1
- bl sub_8018838
- b _080197C0
- .pool
-_08019444:
- ldr r0, =gText_Communicating
- bl sub_8018884
- movs r0, 0x8
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_08019454:
- adds r0, r5, 0
- bl sub_801D4A8
- subs r0, 0x2
- cmp r0, 0x4
- bls _08019462
- b _08019922
-_08019462:
- lsls r0, 2
- ldr r1, =_08019470
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08019470:
- .4byte _080194AE
- .4byte _080194A8
- .4byte _080194B4
- .4byte _08019492
- .4byte _08019484
-_08019484:
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- ldrh r0, [r5]
- strb r0, [r5, 0xE]
- movs r0, 0xD
- strb r0, [r5, 0x8]
- b _08019922
-_08019492:
- ldr r4, [r5, 0x10]
- bl sub_801D4F4
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x40
- bl memcpy
- bl sub_801D4E4
- b _08019922
-_080194A8:
- movs r0, 0xA
- strb r0, [r5, 0x8]
- b _08019922
-_080194AE:
- movs r0, 0x9
- strb r0, [r5, 0x8]
- b _08019922
-_080194B4:
- movs r0, 0xB
- strb r0, [r5, 0x8]
- ldr r0, =gStringVar1
- ldr r1, =gLinkPlayers + 8
- bl StringCopy
- b _08019922
- .pool
-_080194CC:
- adds r4, r5, 0
- adds r4, 0x9
- bl sub_801D4F4
- adds r3, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8018B08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0x1
- beq _08019564
- cmp r1, 0x1
- bcs _08019552
- movs r0, 0
- b _08019566
-_080194F0:
- adds r4, r5, 0
- adds r4, 0x9
- bl sub_801D4F4
- adds r1, r0, 0
- adds r0, r4, 0
- bl mevent_0814257C
- cmp r0, 0
- bne _08019506
- b _08019922
-_08019506:
- b _0801956A
-_08019508:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r3, =gText_ThrowAwayWonderCard
- adds r1, r5, 0
- movs r2, 0
- bl sub_8018B08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0x1
- beq _08019564
- cmp r1, 0x1
- bcs _08019552
- bl sub_801B3F8
- cmp r0, 0x1
- bne _08019534
- movs r0, 0xC
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_08019534:
- movs r0, 0
- b _08019566
-_08019538:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r3, =gText_HaventReceivedCardsGift
- adds r1, r5, 0
- movs r2, 0
- bl sub_8018B08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0x1
- beq _08019564
- cmp r1, 0x1
- bcc _08019560
-_08019552:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08019564
- b _08019922
- .pool
-_08019560:
- movs r0, 0
- b _08019566
-_08019564:
- movs r0, 0x1
-_08019566:
- bl sub_801D500
-_0801956A:
- bl sub_801D4E4
- movs r0, 0x7
- strb r0, [r5, 0x8]
- b _08019922
-_08019574:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801957E
- b _08019922
-_0801957E:
- bl sub_800E084
- movs r0, 0xE
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_0801958C:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_CommunicationCompleted
- bl sub_8018A1C
- cmp r0, 0
- bne _0801959C
- b _08019922
-_0801959C:
- ldrb r0, [r5, 0xD]
- cmp r0, 0x1
- bne _080195AA
- ldr r0, =gStringVar1
- ldr r1, =gLinkPlayers + 8
- bl StringCopy
-_080195AA:
- movs r0, 0xF
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_080195BC:
- ldrb r1, [r5, 0xC]
- ldrb r2, [r5, 0xD]
- ldrb r3, [r5, 0xE]
- mov r0, sp
- bl mevent_message
- adds r1, r0, 0
- cmp r1, 0
- bne _080195D0
- ldr r1, [r5, 0x10]
-_080195D0:
- ldr r0, [sp]
- cmp r0, 0
- beq _080195E2
- adds r0, r5, 0
- adds r0, 0x9
- adds r2, r5, 0
- bl mevent_08142CE8
- b _080195EA
-_080195E2:
- adds r0, r5, 0
- adds r0, 0x9
- bl mevent_0814257C
-_080195EA:
- adds r1, r0, 0
- cmp r1, 0
- bne _080195F2
- b _08019922
-_080195F2:
- ldrb r0, [r5, 0xE]
- cmp r0, 0x3
- bne _0801960C
- ldrb r0, [r5, 0xD]
- cmp r0, 0x1
- bne _08019606
- movs r0, 0x1
- bl sub_801DB68
- b _0801960C
-_08019606:
- movs r0, 0x2
- bl sub_801DB68
-_0801960C:
- ldr r0, [sp]
- cmp r0, 0
- beq _08019614
- b _080198DC
-_08019614:
- strb r0, [r5, 0x8]
- movs r0, 0
- b _080198FE
-_0801961A:
- adds r0, r5, 0
- adds r0, 0x9
- bl mevent_save_game
- cmp r0, 0
- bne _08019628
- b _08019922
-_08019628:
- b _08019820
-_0801962A:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r1, [r5, 0xC]
- bl sub_8018DAC
- cmp r0, 0
- bne _0801963A
- b _08019922
-_0801963A:
- b _080196F8
-_0801963C:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _08019664
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08019652
- movs r0, 0x15
- strb r0, [r5, 0x8]
-_08019652:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0801965E
- b _08019922
-_0801965E:
- b _08019682
- .pool
-_08019664:
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- bl sub_801CCD0
- cmp r0, 0
- beq _0801967C
- cmp r0, 0x1
- beq _08019682
- b _08019922
- .pool
-_0801967C:
- bl sub_801CC38
- b _0801975E
-_08019682:
- movs r0, 0x1B
- strb r0, [r5, 0x8]
- b _08019922
-_08019688:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _080196A2
- bl sub_801B308
- cmp r0, 0
- beq _080196B6
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xC]
- adds r1, r5, 0
- movs r3, 0
- b _080196C0
-_080196A2:
- bl sub_801B128
- cmp r0, 0
- beq _080196B6
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xC]
- adds r1, r5, 0
- movs r3, 0
- b _080196C0
-_080196B6:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xC]
- adds r1, r5, 0
- movs r3, 0x1
-_080196C0:
- bl sub_8018C4C
- adds r1, r0, 0
- cmp r1, 0x1
- beq _080196E2
- cmp r1, 0x1
- bcc _080196DC
- cmp r1, 0x2
- beq _080196E8
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080196EE
- b _08019922
-_080196DC:
- movs r0, 0x1C
- strb r0, [r5, 0x8]
- b _08019922
-_080196E2:
- movs r0, 0x1D
- strb r0, [r5, 0x8]
- b _08019922
-_080196E8:
- movs r0, 0x16
- strb r0, [r5, 0x8]
- b _08019922
-_080196EE:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- bne _080196F8
- bl sub_801CC80
-_080196F8:
- movs r0, 0x14
- strb r0, [r5, 0x8]
- b _08019922
-_080196FE:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xC]
- adds r1, r5, 0
- bl sub_8018E50
- adds r1, r0, 0
- cmp r1, 0
- beq _0801971A
- cmp r1, 0
- ble _08019748
- cmp r1, 0x1
- beq _0801975E
- b _08019922
-_0801971A:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _08019758
- bl sub_801B3F8
- cmp r0, 0x1
- bne _08019758
- movs r0, 0x17
- strb r0, [r5, 0x8]
- b _08019922
-_0801972E:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r3, =gText_HaventReceivedGiftOkayToDiscard
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8018B08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0x1
- beq _0801975E
- cmp r1, 0x1
- bcc _08019758
-_08019748:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801975E
- b _08019922
- .pool
-_08019758:
- movs r0, 0x18
- strb r0, [r5, 0x8]
- b _08019922
-_0801975E:
- movs r0, 0x15
- strb r0, [r5, 0x8]
- b _08019922
-_08019764:
- ldrb r0, [r5, 0xC]
- movs r1, 0x1
- bl sub_8018E20
- cmp r0, 0
- bne _08019772
- b _08019922
-_08019772:
- ldrb r0, [r5, 0xC]
- bl sub_8018E08
- movs r0, 0x19
- strb r0, [r5, 0x8]
- b _08019922
-_0801977E:
- adds r0, r5, 0
- adds r0, 0x9
- bl mevent_save_game
- cmp r0, 0
- bne _0801978C
- b _08019922
-_0801978C:
- movs r0, 0x1A
- strb r0, [r5, 0x8]
- b _08019922
-_08019792:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r1, [r5, 0xC]
- bl mevent_message_was_thrown_away
- b _080198F6
-_0801979E:
- ldrb r0, [r5, 0xC]
- movs r1, 0
- bl sub_8018E20
- cmp r0, 0
- bne _080197AC
- b _08019922
-_080197AC:
- movs r0, 0
- strb r0, [r5, 0x8]
- b _08019922
-_080197B2:
- ldrb r0, [r5, 0xC]
- movs r1, 0x1
- bl sub_8018E20
- cmp r0, 0
- bne _080197C0
- b _08019922
-_080197C0:
- movs r0, 0x3
- strb r0, [r5, 0x8]
- b _08019922
-_080197C6:
- ldrb r0, [r5, 0xC]
- movs r1, 0x1
- bl sub_8018E20
- cmp r0, 0
- bne _080197D4
- b _08019922
-_080197D4:
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- beq _080197E0
- cmp r0, 0x1
- beq _080197E8
- b _080197EE
-_080197E0:
- movs r0, 0x15
- bl sub_8014A00
- b _080197EE
-_080197E8:
- movs r0, 0x16
- bl sub_8014A00
-_080197EE:
- movs r0, 0x1
- strb r0, [r5, 0xD]
- movs r0, 0x1E
- strb r0, [r5, 0x8]
- b _08019922
-_080197F8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08019810
- movs r0, 0x1
- bl sub_8018838
- movs r0, 0x1F
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_08019810:
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x5
- beq _0801981A
- b _08019922
-_0801981A:
- movs r0, 0x1
- bl sub_8018838
-_08019820:
- movs r0, 0x12
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_0801982C:
- ldr r0, =gStringVar1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, =gStringVar2
- strb r1, [r0]
- ldr r0, =gStringVar3
- strb r1, [r0]
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _0801985C
- ldr r0, =gText_SendingWonderCard
- bl sub_8018884
- bl mevent_srv_new_wcard
- b _08019866
- .pool
-_0801985C:
- ldr r0, =gText_SendingWonderNews
- bl sub_8018884
- bl mevent_srv_init_wnews
-_08019866:
- movs r0, 0x20
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_08019870:
- adds r0, r5, 0
- bl sub_801D0C4
- cmp r0, 0x3
- bne _08019922
- ldrh r0, [r5]
- strb r0, [r5, 0xE]
- movs r0, 0x21
- strb r0, [r5, 0x8]
- b _08019922
-_08019884:
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- ldr r0, =gStringVar1
- ldr r1, =gLinkPlayers + 0x1C + 0x08 @ &gLinkPlayers[1].name
- bl StringCopy
- movs r0, 0x22
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_080198A0:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08019922
- bl sub_800E084
- movs r0, 0x23
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_080198B8:
- adds r0, r5, 0
- adds r0, 0x9
- ldrb r2, [r5, 0xD]
- ldrb r3, [r5, 0xE]
- adds r1, r5, 0
- bl sub_8019174
- cmp r0, 0
- beq _08019922
- ldr r0, [r5, 0xC]
- ldr r1, =0x00ffff00
- ands r0, r1
- ldr r1, =0x00030100
- cmp r0, r1
- bne _080198FA
- movs r0, 0x3
- bl sub_801DB68
-_080198DC:
- movs r0, 0x11
- strb r0, [r5, 0x8]
- b _08019922
- .pool
-_080198EC:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_CommunicationError
- bl mevent_0814257C
-_080198F6:
- cmp r0, 0
- beq _08019922
-_080198FA:
- movs r0, 0
- strb r0, [r5, 0x8]
-_080198FE:
- movs r1, 0
- bl sub_80186EC
- b _08019922
- .pool
-_0801990C:
- bl CloseLink
- ldr r0, [r5, 0x10]
- bl Free
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =sub_80186A4
- bl SetMainCallback2
-_08019922:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_mystery_gift
-
- thumb_func_start sub_8019930
-sub_8019930: @ 8019930
- ldr r0, =0x000001a9
- bx lr
- .pool
- thumb_func_end sub_8019930
-
- thumb_func_start bgid_upload_textbox_1
-bgid_upload_textbox_1: @ 8019938
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnkTextboxBorderGfx
- movs r2, 0x80
- lsls r2, 1
- movs r3, 0
- str r3, [sp]
- bl DecompressAndLoadBgGfxUsingHeap
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end bgid_upload_textbox_1
-
- thumb_func_start is_walking_or_running
-is_walking_or_running: @ 8019958
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x2
- beq _08019966
- cmp r0, 0
- bne _08019970
-_08019966:
- movs r0, 0x1
- b _08019972
- .pool
-_08019970:
- movs r0, 0
-_08019972:
- pop {r1}
- bx r1
- thumb_func_end is_walking_or_running
-
- thumb_func_start sub_8019978
-sub_8019978: @ 8019978
- ldr r3, =gUnknown_082F072C
- movs r2, 0x7
- ands r2, r1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- adds r2, r1
- adds r2, r3
- ldrb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8019978
-
- thumb_func_start sub_8019990
-sub_8019990: @ 8019990
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, =gUnknown_082F0740
- mov r8, r4
- lsls r0, 2
- adds r4, r0, r4
- movs r6, 0
- ldrsh r5, [r4, r6]
- ldr r6, =gUnknown_082F0760
- lsls r1, 1
- adds r4, r1, r6
- ldrb r4, [r4]
- lsls r4, 24
- asrs r4, 24
- adds r5, r4
- adds r5, 0x7
- str r5, [r2]
- movs r2, 0x2
- add r8, r2
- add r0, r8
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r6, 0x1
- adds r1, r6
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- str r0, [r3]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019990
-
- thumb_func_start sub_80199E0
-sub_80199E0: @ 80199E0
- push {r4-r7,lr}
- mov r12, r3
- ldr r7, =gUnknown_082F0740
- lsls r5, r0, 2
- adds r0, r5, r7
- movs r4, 0
- ldrsh r3, [r0, r4]
- ldr r6, =gUnknown_082F0760
- lsls r4, r1, 1
- adds r0, r4, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r3, r0
- adds r3, 0x7
- cmp r3, r2
- bne _08019A28
- adds r0, r7, 0x2
- adds r0, r5, r0
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r6, 0x1
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r0
- adds r1, 0x7
- cmp r1, r12
- bne _08019A28
- movs r0, 0x1
- b _08019A2A
- .pool
-_08019A28:
- movs r0, 0
-_08019A2A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80199E0
-
- thumb_func_start sub_8019A30
-sub_8019A30: @ 8019A30
- push {lr}
- ldr r1, =0x000002bf
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8019A30
-
- thumb_func_start flag_set_x63
-flag_set_x63: @ 8019A4C
- push {lr}
- ldr r1, =0x000002bf
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end flag_set_x63
-
- thumb_func_start flag_clear_x63
-flag_clear_x63: @ 8019A64
- push {lr}
- ldr r1, =0x000002bf
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end flag_clear_x63
-
- thumb_func_start sub_8019A7C
-sub_8019A7C: @ 8019A7C
- push {lr}
- ldr r2, =0x00004010
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019A7C
-
- thumb_func_start sub_8019A98
-sub_8019A98: @ 8019A98
- push {lr}
- ldr r1, =gUnknown_082F0774
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl show_sprite
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019A98
-
- thumb_func_start sub_8019AB8
-sub_8019AB8: @ 8019AB8
- push {lr}
- ldr r1, =gUnknown_082F0774
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl RemoveEventObjectByLocalIdAndMap
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019AB8
-
- thumb_func_start sub_8019AD8
-sub_8019AD8: @ 8019AD8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- ldr r1, =gUnknown_082F0774
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- mov r3, sp
- bl TryGetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08019B30
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl EventObjectIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- bne _08019B30
- ldrb r1, [r5]
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- lsls r0, 24
- cmp r0, 0
- bne _08019B30
- movs r0, 0x1
- b _08019B32
- .pool
-_08019B30:
- movs r0, 0
-_08019B32:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8019AD8
-
- thumb_func_start sub_8019B3C
-sub_8019B3C: @ 8019B3C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_082F0774
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- mov r3, sp
- bl TryGetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08019B9C
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- bne _08019B84
- movs r0, 0
- b _08019B9E
- .pool
-_08019B84:
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- cmp r0, 0
- bne _08019B96
- adds r0, r4, 0
- bl UnfreezeEventObject
- b _08019B9C
-_08019B96:
- adds r0, r4, 0
- bl FreezeEventObject
-_08019B9C:
- movs r0, 0x1
-_08019B9E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8019B3C
-
- thumb_func_start sub_8019BA8
-sub_8019BA8: @ 8019BA8
- push {lr}
- ldr r2, =gUnknown_02022C68
- movs r1, 0
- str r1, [r2]
- ldr r1, =gUnknown_02022C64
- str r0, [r1]
- movs r1, 0
- movs r2, 0x7
-_08019BB8:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- adds r0, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _08019BB8
- bl sub_8019DF4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8019BA8
-
- thumb_func_start sub_8019BDC
-sub_8019BDC: @ 8019BDC
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- beq _08019BF0
- cmp r0, 0x1
- beq _08019C10
- b _08019C2E
-_08019BF0:
- ldr r1, =gUnknown_082F078C
- adds r0, r4, 0
- bl sub_8019AD8
- cmp r0, 0x1
- bne _08019C2E
- adds r0, r4, 0
- bl flag_set_x63
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08019C2E
- .pool
-_08019C10:
- adds r0, r4, 0
- bl sub_8019B3C
- cmp r0, 0
- beq _08019C2E
- adds r0, r4, 0
- bl sub_8019AB8
- adds r0, r4, 0
- bl flag_set_x63
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x1
- b _08019C30
-_08019C2E:
- movs r0, 0
-_08019C30:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8019BDC
-
- thumb_func_start sub_8019C38
-sub_8019C38: @ 8019C38
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x2
- beq _08019CD4
- cmp r0, 0x2
- bgt _08019C54
- cmp r0, 0
- beq _08019C5A
- b _08019CE6
-_08019C54:
- cmp r0, 0x3
- beq _08019CBC
- b _08019CE6
-_08019C5A:
- bl is_walking_or_running
- cmp r0, 0
- beq _08019CE6
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r4, r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_80199E0
- cmp r0, 0x1
- beq _08019CE6
- mov r0, sp
- adds r1, r4, 0
- bl player_get_pos_including_state_based_drift
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r4, r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_80199E0
- cmp r0, 0x1
- beq _08019CE6
- ldrb r1, [r7, 0x1]
- adds r0, r5, 0
- bl sub_8019A7C
- adds r0, r5, 0
- bl sub_8019A98
- adds r0, r5, 0
- bl flag_clear_x63
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_08019CBC:
- ldr r1, =gUnknown_082F078E
- adds r0, r5, 0
- bl sub_8019AD8
- cmp r0, 0x1
- bne _08019CE6
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _08019CE6
- .pool
-_08019CD4:
- adds r0, r5, 0
- bl sub_8019B3C
- cmp r0, 0
- beq _08019CE6
- movs r0, 0
- strb r0, [r6]
- movs r0, 0x1
- b _08019CE8
-_08019CE6:
- movs r0, 0
-_08019CE8:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8019C38
-
- thumb_func_start sub_8019CF0
-sub_8019CF0: @ 8019CF0
- push {r4,lr}
- ldr r3, =gUnknown_02022C64
- lsls r0, 2
- ldr r4, [r3]
- adds r4, r0
- movs r0, 0x1
- strb r0, [r4, 0x3]
- adds r0, r1, 0
- adds r1, r2, 0
- bl sub_8019978
- strb r0, [r4, 0x1]
- ldrb r0, [r4]
- cmp r0, 0
- beq _08019D18
- movs r0, 0
- b _08019D1A
- .pool
-_08019D18:
- movs r0, 0x1
-_08019D1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8019CF0
-
- thumb_func_start AGBAssert
-AGBAssert: @ 8019D20
- push {lr}
- ldr r1, =gUnknown_02022C64
- lsls r0, 2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0x2
- strb r0, [r1, 0x3]
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08019D3C
- movs r0, 0
- b _08019D3E
- .pool
-_08019D3C:
- movs r0, 0x1
-_08019D3E:
- pop {r1}
- bx r1
- thumb_func_end AGBAssert
-
- thumb_func_start sub_8019D44
-sub_8019D44: @ 8019D44
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _08019DA6
- cmp r1, 0x1
- bgt _08019D5A
- cmp r1, 0
- beq _08019D64
- b _08019DC6
-_08019D5A:
- cmp r1, 0x2
- beq _08019D70
- cmp r1, 0x3
- beq _08019DB4
- b _08019DC6
-_08019D64:
- ldrb r0, [r4, 0x3]
- cmp r0, 0x1
- bne _08019DC6
- movs r0, 0x2
- strb r0, [r4]
- strb r1, [r4, 0x2]
-_08019D70:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8019F8C
- adds r1, r0, 0
- cmp r1, 0
- bne _08019D96
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- bne _08019D96
- strb r1, [r4]
- strb r1, [r4, 0x2]
- adds r0, r5, 0
- bl sub_8019AB8
- adds r0, r5, 0
- bl flag_set_x63
- b _08019DC6
-_08019D96:
- adds r0, r4, 0x2
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8019C38
- cmp r0, 0x1
- bne _08019DC6
- b _08019DC4
-_08019DA6:
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- bne _08019DC6
- movs r1, 0
- movs r0, 0x3
- strb r0, [r4]
- strb r1, [r4, 0x2]
-_08019DB4:
- adds r0, r4, 0x2
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8019BDC
- cmp r0, 0x1
- bne _08019DC6
- movs r0, 0
-_08019DC4:
- strb r0, [r4]
-_08019DC6:
- movs r0, 0
- strb r0, [r4, 0x3]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8019D44
-
- thumb_func_start sub_8019DD0
-sub_8019DD0: @ 8019DD0
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gUnknown_02022C64
-_08019DD6:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- adds r0, r4, 0
- bl sub_8019D44
- adds r4, 0x1
- cmp r4, 0x7
- ble _08019DD6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019DD0
-
- thumb_func_start sub_8019DF4
-sub_8019DF4: @ 8019DF4
- push {r4,lr}
- ldr r4, =sub_8019DD0
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08019E18
- adds r0, r4, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- b _08019E1A
- .pool
-_08019E18:
- movs r0, 0x10
-_08019E1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8019DF4
-
- thumb_func_start sub_8019E20
-sub_8019E20: @ 8019E20
- push {lr}
- ldr r0, =sub_8019DD0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _08019E34
- bl DestroyTask
-_08019E34:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019E20
-
- thumb_func_start sub_8019E3C
-sub_8019E3C: @ 8019E3C
- push {r4,lr}
- movs r4, 0
-_08019E40:
- adds r0, r4, 0
- bl sub_8019A30
- cmp r0, 0
- bne _08019E56
- adds r0, r4, 0
- bl sub_8019AB8
- adds r0, r4, 0
- bl flag_set_x63
-_08019E56:
- adds r4, 0x1
- cmp r4, 0x7
- ble _08019E40
- ldr r1, =gUnknown_02022C64
- movs r0, 0
- str r0, [r1]
- bl sub_8019E20
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019E3C
-
- thumb_func_start sub_8019E70
-sub_8019E70: @ 8019E70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp, 0x8]
- mov r9, r1
- movs r7, 0
- mov r0, r9
- lsls r0, 2
- mov r8, r0
- ldr r0, =gUnknown_082F0740
- mov r2, r8
- adds r1, r2, r0
- ldrh r1, [r1]
- mov r2, sp
- strh r1, [r2, 0xC]
- adds r0, 0x2
- add r0, r8
- ldrh r0, [r0]
- mov r10, r0
- ldr r6, =gUnknown_082F0760
-_08019E9E:
- mov r5, r8
- add r5, r9
- adds r5, r7
- adds r4, r5, 0
- subs r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0
- ldrsb r2, [r6, r2]
- mov r0, sp
- ldrh r0, [r0, 0xC]
- adds r2, r0, r2
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x1
- ldrsb r3, [r6, r3]
- add r3, r10
- lsls r3, 16
- asrs r3, 16
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x41
- adds r1, r4, 0
- bl sprite_new
- ldr r1, [sp, 0x8]
- adds r5, r1, r5
- strb r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8097C44
- adds r6, 0x2
- adds r7, 0x1
- cmp r7, 0x4
- ble _08019E9E
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019E70
-
- thumb_func_start sub_8019F04
-sub_8019F04: @ 8019F04
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gSprites
-_08019F0C:
- adds r0, r5, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- adds r4, 0x1
- cmp r4, 0x27
- ble _08019F0C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8019F04
-
- thumb_func_start sub_8019F2C
-sub_8019F2C: @ 8019F2C
- push {r4-r7,lr}
- sub sp, 0x8
- movs r5, 0
- add r7, sp, 0x4
-_08019F34:
- movs r4, 0
- adds r6, r5, 0x1
-_08019F38:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r7, 0
- bl sub_8019990
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0
- bl sub_8088B94
- adds r4, 0x1
- cmp r4, 0x4
- ble _08019F38
- adds r5, r6, 0
- cmp r5, 0x7
- ble _08019F34
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8019F2C
-
- thumb_func_start sub_8019F64
-sub_8019F64: @ 8019F64
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- beq _08019F78
- ldr r0, =gUnknown_082F076F
- adds r0, r1, r0
- ldrb r0, [r0]
- b _08019F88
- .pool
-_08019F78:
- ldrb r1, [r2, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _08019F86
- movs r0, 0x4
- b _08019F88
-_08019F86:
- movs r0, 0x1
-_08019F88:
- pop {r1}
- bx r1
- thumb_func_end sub_8019F64
-
- thumb_func_start sub_8019F8C
-sub_8019F8C: @ 8019F8C
- push {lr}
- adds r2, r0, 0
- lsls r0, r2, 2
- adds r0, r2
- adds r0, r1
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097C8C
- pop {r1}
- bx r1
- thumb_func_end sub_8019F8C
-
- thumb_func_start sub_8019FA4
-sub_8019FA4: @ 8019FA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- mov r9, r3
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r0, r5, 2
- adds r0, r5
- adds r7, r0, r6
- adds r0, r5, 0
- bl sub_8019F8C
- cmp r0, 0x1
- bne _08019FE2
- adds r4, r7, 0
- subs r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_8097C44
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8097CC4
-_08019FE2:
- adds r0, r7, 0
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- bl sub_8097BB4
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r9
- bl sub_8019F64
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_801A3B0
- add r3, sp, 0x4
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, sp
- bl sub_8019990
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0x1
- bl sub_8088B94
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8019FA4
-
- thumb_func_start sub_801A02C
-sub_801A02C: @ 801A02C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r4, 2
- adds r0, r4
- adds r0, r5
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_8097CC4
- add r3, sp, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_8019990
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0
- bl sub_8088B94
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A02C
-
- thumb_func_start sub_801A064
-sub_801A064: @ 801A064
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r0, 0
- mov r8, r1
- mov r6, sp
- adds r6, 0x2
- mov r0, sp
- adds r1, r6, 0
- bl PlayerGetDestCoords
- add r4, sp, 0x4
- mov r5, sp
- adds r5, 0x6
- adds r0, r4, 0
- adds r1, r5, 0
- bl player_get_pos_including_state_based_drift
- lsls r0, r7, 2
- adds r0, r7
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097C8C
- mov r10, r6
- mov r9, r4
- adds r6, r5, 0
- cmp r0, 0x1
- bne _0801A0F0
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, r10
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r0, r7, 0
- movs r1, 0
- bl sub_80199E0
- cmp r0, 0x1
- beq _0801A15C
- movs r0, 0
- ldrsh r2, [r4, r0]
- movs r1, 0
- ldrsh r3, [r6, r1]
- adds r0, r7, 0
- movs r1, 0
- bl sub_80199E0
- cmp r0, 0x1
- beq _0801A15C
- mov r2, r8
- ldrb r0, [r2, 0xB]
- lsls r0, 31
- lsrs r0, 31
- ldrb r1, [r2, 0x2]
- bl sub_8019978
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- movs r1, 0
- mov r3, r8
- bl sub_8019FA4
-_0801A0F0:
- movs r5, 0x1
- mov r4, r8
- adds r4, 0x4
-_0801A0F6:
- ldrb r0, [r4]
- cmp r0, 0
- bne _0801A106
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_801A02C
- b _0801A154
-_0801A106:
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, r10
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80199E0
- cmp r0, 0
- bne _0801A154
- mov r0, r9
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r6, r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80199E0
- cmp r0, 0
- bne _0801A154
- ldrb r2, [r4]
- lsrs r0, r2, 3
- movs r1, 0x1
- ands r0, r1
- movs r1, 0x7
- ands r1, r2
- bl sub_8019978
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r5, 0
- mov r3, r8
- bl sub_8019FA4
-_0801A154:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x4
- ble _0801A0F6
-_0801A15C:
- 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_801A064
-
- thumb_func_start sub_801A16C
-sub_801A16C: @ 801A16C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r4, 0xA]
- lsls r0, 25
- lsrs r0, 25
- subs r0, 0x40
- cmp r0, 0x14
- bhi _0801A20E
- lsls r0, 2
- ldr r1, =_0801A18C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801A18C:
- .4byte _0801A1E0
- .4byte _0801A200
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A200
- .4byte _0801A200
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A200
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A20E
- .4byte _0801A200
- .4byte _0801A200
- .4byte _0801A200
- .4byte _0801A1E0
-_0801A1E0:
- ldrb r1, [r4, 0xB]
- lsls r1, 31
- lsrs r1, 31
- ldrb r2, [r4, 0x2]
- adds r0, r5, 0
- bl sub_8019CF0
- movs r4, 0
-_0801A1F0:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A02C
- adds r4, 0x1
- cmp r4, 0x4
- bls _0801A1F0
- b _0801A20E
-_0801A200:
- adds r0, r5, 0
- bl AGBAssert
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A064
-_0801A20E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A16C
-
- thumb_func_start sub_801A214
-sub_801A214: @ 801A214
- push {r4,r5,lr}
- adds r5, r0, 0
- bl AGBAssert
- movs r4, 0
-_0801A21E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A02C
- adds r4, 0x1
- cmp r4, 0x4
- ble _0801A21E
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A214
-
- thumb_func_start sub_801A234
-sub_801A234: @ 801A234
- push {r4,r5,lr}
- ldr r2, =gUnknown_02022C68
- movs r1, 0
- str r1, [r2]
- movs r5, 0
- ldr r4, [r0]
-_0801A240:
- ldrb r0, [r4, 0x1A]
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x1
- bne _0801A258
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A16C
- b _0801A264
- .pool
-_0801A258:
- cmp r1, 0x2
- bne _0801A264
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A214
-_0801A264:
- adds r4, 0x20
- adds r5, 0x1
- cmp r5, 0x7
- ble _0801A240
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A234
-
- thumb_func_start sub_801A274
-sub_801A274: @ 801A274
- ldr r1, =gUnknown_02022C68
- movs r0, 0x96
- lsls r0, 1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_801A274
-
- thumb_func_start sub_801A284
-sub_801A284: @ 801A284
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02022C68
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- movs r0, 0x96
- lsls r0, 1
- cmp r1, r0
- bls _0801A29E
- adds r0, r2, 0
- bl sub_801A234
-_0801A29E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A284
-
- thumb_func_start sub_801A2A8
-sub_801A2A8: @ 801A2A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r5, r0, 0
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- bl is_walking_or_running
- cmp r0, 0
- bne _0801A2F0
- b _0801A396
-_0801A2C4:
- ldr r4, =gUnknown_082F076A
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r2, [r0]
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- bl sub_801A3B0
- ldr r0, [sp, 0x4]
- strh r6, [r0]
- mov r1, sp
- ldrh r2, [r1, 0xC]
- ldr r1, [sp, 0x8]
- strh r2, [r1]
- movs r0, 0x1
- b _0801A398
- .pool
-_0801A2F0:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, =gUnknown_082F0740
- adds r7, r5, 0
- movs r1, 0
- mov r10, r1
- adds r2, r0, 0x2
- str r2, [sp, 0x10]
- str r0, [sp, 0x14]
-_0801A30E:
- movs r6, 0
- ldr r4, [sp, 0x14]
- movs r0, 0
- ldrsh r4, [r4, r0]
- mov r9, r4
- ldr r1, [sp, 0x10]
- mov r8, r1
- ldr r5, =gUnknown_082F0760
-_0801A31E:
- mov r2, r10
- adds r3, r2, r6
- mov r0, sp
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0
- ldrsb r0, [r5, r0]
- add r0, r9
- adds r0, 0x7
- cmp r1, r0
- bne _0801A372
- mov r1, sp
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- mov r4, r8
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r2, 0x1
- ldrsb r2, [r5, r2]
- adds r1, r2
- adds r1, 0x7
- cmp r0, r1
- bne _0801A372
- adds r0, r3, 0
- subs r0, 0x38
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8097C8C
- cmp r0, 0
- bne _0801A372
- adds r0, r4, 0
- bl sub_8097D9C
- cmp r0, 0
- bne _0801A372
- ldrb r1, [r7, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0801A2C4
-_0801A372:
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x4
- ble _0801A31E
- adds r7, 0x20
- movs r4, 0x5
- add r10, r4
- ldr r0, [sp, 0x10]
- adds r0, 0x4
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- adds r1, 0x4
- str r1, [sp, 0x14]
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- str r2, [sp, 0xC]
- cmp r2, 0x7
- ble _0801A30E
-_0801A396:
- movs r0, 0
-_0801A398:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801A2A8
-
- thumb_func_start sub_801A3B0
-sub_801A3B0: @ 801A3B0
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r1, r2, 24
- lsrs r1, 24
- lsls r0, r3, 2
- adds r0, r3
- subs r0, 0x38
- adds r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097B78
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801A3B0
-
- thumb_func_start sub_801A3D0
-sub_801A3D0: @ 801A3D0
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r3, r4, 5
- adds r3, r2
- adds r2, r3, 0
- bl sub_8019F64
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_801A3B0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801A3D0
-
- thumb_func_start sub_801A3F4
-sub_801A3F4: @ 801A3F4
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801A414
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
-_0801A414:
- pop {r0}
- bx r0
- thumb_func_end sub_801A3F4
-
- thumb_func_start sub_801A418
-sub_801A418: @ 801A418
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_801A418
-
- thumb_func_start sub_801A42C
-sub_801A42C: @ 801A42C
- push {lr}
- ldr r0, =sub_801A43C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A42C
-
- thumb_func_start sub_801A43C
-sub_801A43C: @ 801A43C
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r5, =gUnknown_03000DAC
- movs r0, 0x6C
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F0D34
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, =gWirelessInfoScreenGfx
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r1, =gWirelessInfoScreenTilemap
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r0, =gUnknown_082F0D3C
- bl InitWindows
- bl DeactivateAllTextPrinters
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl ScanlineEffect_Stop
- bl m4aSoundVSyncOn
- ldr r0, =sub_801A418
- bl SetVBlankCallback
- ldr r0, =sub_801A6C0
- movs r1, 0
- bl CreateTask
- ldr r1, [r5]
- adds r1, 0x60
- strb r0, [r1]
- bl sub_8013C40
- ldr r1, [r5]
- adds r1, 0x61
- strb r0, [r1]
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x1C]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gWirelessInfoScreenPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0xF0
- bl sub_81978B0
- bl DynamicPlaceholderTextUtil_Reset
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, =sub_801A3F4
- bl SetMainCallback2
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A43C
-
- thumb_func_start sub_801A584
-sub_801A584: @ 801A584
- push {r4,lr}
- bl FreeAllWindowBuffers
- movs r4, 0
-_0801A58C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBgTilemapBuffer
- bl Free
- adds r4, 0x1
- cmp r4, 0x1
- ble _0801A58C
- ldr r0, =gUnknown_03000DAC
- ldr r0, [r0]
- bl Free
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A584
-
- thumb_func_start sub_801A5BC
-sub_801A5BC: @ 801A5BC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _0801A5E4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bne _0801A5E0
- movs r0, 0
- strh r0, [r1]
-_0801A5E0:
- movs r0, 0
- strh r0, [r2]
-_0801A5E4:
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x2
- lsls r0, 5
- ldr r1, =gWirelessInfoScreenPal
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A5BC
-
- thumb_func_start sub_801A600
-sub_801A600: @ 801A600
- push {r4,r5,lr}
- sub sp, 0x8
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_082F0D5C
- ldr r4, [r5]
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_801A8B0
- movs r1, 0
-_0801A644:
- adds r4, r1, 0x1
- lsls r0, r4, 2
- adds r0, r5
- ldr r2, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 25
- movs r1, 0x80
- lsls r1, 20
- adds r0, r1
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x1
- movs r3, 0
- bl sub_801A8B0
- adds r1, r4, 0
- cmp r4, 0x2
- ble _0801A644
- ldr r1, =gUnknown_082F0D5C
- adds r0, r4, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 25
- movs r1, 0x80
- lsls r1, 20
- adds r0, r1
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl sub_801A8B0
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A600
-
- thumb_func_start sub_801A6C0
-sub_801A6C0: @ 801A6C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x5
- bls _0801A6E2
- b _0801A89C
-_0801A6E2:
- lsls r0, 2
- ldr r1, =_0801A6F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801A6F4:
- .4byte _0801A70C
- .4byte _0801A728
- .4byte _0801A74C
- .4byte _0801A768
- .4byte _0801A85C
- .4byte _0801A884
-_0801A70C:
- bl sub_801A600
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0801A89C
- .pool
-_0801A728:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl ShowBg
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl ShowBg
- b _0801A86C
-_0801A74C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0801A75A
- b _0801A89C
-_0801A75A:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- b _0801A876
- .pool
-_0801A768:
- ldr r0, =gUnknown_03000DAC
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
- adds r2, r0, 0
- adds r2, 0x20
- adds r3, r0, 0
- adds r3, 0x61
- ldrb r3, [r3]
- bl sub_801AA30
- lsls r1, r5, 2
- mov r8, r1
- cmp r0, 0
- beq _0801A7F8
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r4, 0
- ldr r6, =gStringVar4
- movs r7, 0x80
- lsls r7, 20
-_0801A796:
- ldr r0, =gUnknown_03000DAC
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- cmp r4, 0x3
- beq _0801A7CC
- lsrs r0, r7, 24
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x1
- adds r2, r6, 0
- movs r3, 0xC
- bl sub_801A8B0
- b _0801A7DE
- .pool
-_0801A7CC:
- movs r0, 0x62
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r1, 0x1
- adds r2, r6, 0
- movs r3, 0xC
- bl sub_801A8B0
-_0801A7DE:
- movs r2, 0xF0
- lsls r2, 21
- adds r7, r2
- adds r4, 0x1
- cmp r4, 0x3
- ble _0801A796
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
-_0801A7F8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801A80C
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0801A836
-_0801A80C:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gTasks
- ldr r0, =gUnknown_03000DAC
- ldr r0, [r0]
- adds r0, 0x61
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0xFF
- strh r1, [r0, 0x26]
- mov r0, r8
- adds r1, r0, r5
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0801A836:
- mov r2, r8
- adds r1, r2, r5
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r0, r1, 0
- adds r0, 0xE
- adds r1, 0x10
- bl sub_801A5BC
- b _0801A89C
- .pool
-_0801A85C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0801A86C:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
-_0801A876:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0801A89C
- .pool
-_0801A884:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0801A89C
- ldr r0, =sub_801A584
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_0801A89C:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801A6C0
-
- thumb_func_start sub_801A8B0
-sub_801A8B0: @ 801A8B0
- push {r4-r7,lr}
- sub sp, 0x18
- mov r12, r2
- ldr r2, [sp, 0x2C]
- ldr r4, [sp, 0x30]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r2, 24
- lsrs r3, r2, 24
- lsls r4, 24
- lsrs r0, r4, 24
- cmp r0, 0x4
- bhi _0801A93A
- lsls r0, 2
- ldr r1, =_0801A8E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801A8E0:
- .4byte _0801A8F4
- .4byte _0801A902
- .4byte _0801A910
- .4byte _0801A91E
- .4byte _0801A92C
-_0801A8F4:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- movs r0, 0x3
- b _0801A938
-_0801A902:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x3
- b _0801A938
-_0801A910:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- movs r0, 0x5
- b _0801A938
-_0801A91E:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x7
- strb r0, [r1, 0x1]
- movs r0, 0x6
- b _0801A938
-_0801A92C:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x2
-_0801A938:
- strb r0, [r1, 0x2]
-_0801A93A:
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- mov r0, r12
- str r0, [sp, 0x10]
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl AddTextPrinterParameterized4
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801A8B0
-
- thumb_func_start sub_801A960
-sub_801A960: @ 801A960
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r12, r0
- adds r7, r1, 0
- ldrb r0, [r0, 0xA]
- lsls r0, 25
- lsrs r0, 25
- mov r8, r0
- movs r4, 0
- ldr r0, =gUnknown_082F0D70
- mov r9, r0
- movs r1, 0x1
- add r1, r9
- mov r10, r1
- mov r3, r12
- adds r3, 0x4
- str r3, [sp]
-_0801A98A:
- lsls r0, r4, 1
- adds r2, r0, r4
- mov r3, r9
- adds r1, r2, r3
- adds r5, r0, 0
- adds r6, r4, 0x1
- ldrb r1, [r1]
- cmp r8, r1
- bne _0801A9EE
- mov r0, r12
- ldrb r1, [r0, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801A9EE
- mov r0, r9
- adds r0, 0x2
- adds r3, r2, r0
- ldrb r0, [r3]
- cmp r0, 0
- bne _0801A9DC
- movs r2, 0
- movs r1, 0
- ldr r3, [sp]
-_0801A9BA:
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801A9C4
- adds r2, 0x1
-_0801A9C4:
- adds r1, 0x1
- cmp r1, 0x3
- ble _0801A9BA
- adds r2, 0x1
- adds r0, r5, r4
- add r0, r10
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r7
- b _0801A9E8
- .pool
-_0801A9DC:
- mov r1, r10
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r3]
-_0801A9E8:
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
-_0801A9EE:
- adds r4, r6, 0
- cmp r4, 0x1E
- bls _0801A98A
- mov r0, r8
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801A960
-
- thumb_func_start sub_801AA08
-sub_801AA08: @ 801AA08
- push {r4,lr}
- movs r4, 0
- adds r3, r1, 0
- adds r2, r0, 0
-_0801AA10:
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- beq _0801AA1C
- movs r0, 0x1
- b _0801AA28
-_0801AA1C:
- adds r3, 0x4
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _0801AA10
- movs r0, 0
-_0801AA28:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801AA08
-
- thumb_func_start sub_801AA30
-sub_801AA30: @ 801AA30
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r6, r0, 0
- mov r9, r1
- adds r5, r2, 0
- lsls r4, r3, 24
- lsrs r4, 24
- movs r0, 0
- mov r8, r0
- mov r0, sp
- movs r1, 0
- movs r2, 0x10
- bl memset
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r4, 0
-_0801AA5E:
- lsls r1, r4, 5
- ldr r0, [r7]
- adds r0, r1
- mov r1, sp
- bl sub_801A960
- adds r1, r0, 0
- ldr r0, [r5]
- cmp r1, r0
- beq _0801AA78
- str r1, [r5]
- movs r2, 0x1
- mov r8, r2
-_0801AA78:
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0xF
- ble _0801AA5E
- mov r0, sp
- mov r1, r9
- bl sub_801AA08
- cmp r0, 0
- bne _0801AA9C
- mov r3, r8
- cmp r3, 0x1
- beq _0801AAC4
- movs r0, 0
- b _0801AAC6
- .pool
-_0801AA9C:
- adds r1, r6, 0
- mov r0, sp
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- mov r1, r9
- mov r0, sp
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- adds r0, r1
- ldr r1, [r6, 0x8]
- adds r0, r1
- ldr r1, [r6, 0xC]
- adds r0, r1
- str r0, [r6, 0xC]
-_0801AAC4:
- movs r0, 0x1
-_0801AAC6:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801AA30
-
- thumb_func_start sub_801AAD4
-sub_801AAD4: @ 801AAD4
- push {r4-r7,lr}
- movs r0, 0xA
- bl sub_8014210
- movs r4, 0
- movs r7, 0x64
- ldr r6, =gPlayerParty
- ldr r5, =gEnemyParty
-_0801AAE4:
- ldr r0, =gSelectedOrderFromParty
- adds r0, r4, r0
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, r0, 0
- muls r1, r7
- adds r1, r6
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x64
- adds r4, 0x1
- cmp r4, 0x1
- ble _0801AAE4
- ldr r4, =gPlayerParty
- movs r0, 0xFA
- lsls r0, 1
- adds r5, r4, r0
-_0801AB0A:
- adds r0, r4, 0
- bl ZeroMonData
- adds r4, 0x64
- cmp r4, r5
- ble _0801AB0A
- ldr r4, =gPlayerParty
- movs r5, 0
- adds r6, r4, 0
- adds r6, 0x64
-_0801AB1E:
- ldr r1, =gEnemyParty
- adds r1, r5, r1
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r4, 0x64
- adds r5, 0x64
- cmp r4, r6
- ble _0801AB1E
- movs r0, 0x32
- bl IncrementGameStat
- bl CalculatePlayerPartyCount
- ldr r0, =gTrainerBattleOpponent_A
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801AAD4
-
- thumb_func_start sub_801AB68
-sub_801AB68: @ 801AB68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r5, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- ldr r4, [sp, 0x38]
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- mov r9, r0
- movs r1, 0x1
- mov r10, r1
- ldr r0, =gUnknown_082F0DE4
- mov r8, r0
- ldrb r0, [r0]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- str r3, [sp, 0x14]
- bl FillWindowPixelBuffer
- mov r1, r9
- str r1, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0xC]
- str r7, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized4
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801AB68
-
- thumb_func_start sub_801ABDC
-sub_801ABDC: @ 801ABDC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0801ABF4
- cmp r0, 0x1
- beq _0801AC22
- b _0801AC36
-_0801ABF4:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD
- bl sub_8098858
- str r5, [sp]
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_801AB68
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0801AC36
-_0801AC22:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0801AC36
- strh r0, [r4]
- movs r0, 0x1
- b _0801AC38
-_0801AC36:
- movs r0, 0
-_0801AC38:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801ABDC
-
- thumb_func_start sub_801AC40
-sub_801AC40: @ 801AC40
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_801AC40
-
- thumb_func_start sub_801AC54
-sub_801AC54: @ 801AC54
- push {r4,lr}
- sub sp, 0xC
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x33
- bls _0801AC6A
- b _0801AFAE
-_0801AC6A:
- lsls r0, 2
- ldr r1, =_0801AC7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801AC7C:
- .4byte _0801AD4C
- .4byte _0801ADFC
- .4byte _0801AE24
- .4byte _0801AE48
- .4byte _0801AE98
- .4byte _0801AFAE
- .4byte _0801AF7C
- .4byte _0801AF58
- .4byte _0801AF7C
- .4byte _0801AF98
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AFAE
- .4byte _0801AF24
- .4byte _0801AF40
-_0801AD4C:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r4, =gUnknown_02022C6C
- movs r0, 0x4
- bl AllocZeroed
- str r0, [r4]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F0DD0
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- bl reset_temp_tile_data_buffers
- ldr r0, =gUnknown_082F0DD4
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- bne _0801AD8C
- b _0801AFC2
-_0801AD8C:
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- bl sub_819789C
- ldr r0, =sub_801AC40
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0801AF8A
- .pool
-_0801ADFC:
- ldr r0, =gUnknown_02022C6C
- ldr r0, [r0]
- ldr r1, =gText_CommStandbyAwaitingOtherPlayer
- movs r2, 0
- bl sub_801ABDC
- cmp r0, 0
- bne _0801AE0E
- b _0801AFAE
-_0801AE0E:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0801AF8A
- .pool
-_0801AE24:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0801AF8A
- .pool
-_0801AE48:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0801AE54
- b _0801AFAE
-_0801AE54:
- ldr r4, =gBlockSendBuffer
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x20
- bl memset
- ldr r0, =gSelectedOrderFromParty
- ldrb r1, [r0]
- ldrb r0, [r0, 0x1]
- cmn r1, r0
- bne _0801AE78
- movs r0, 0x52
- b _0801AE7A
- .pool
-_0801AE78:
- movs r0, 0x51
-_0801AE7A:
- strb r0, [r4]
- ldr r1, =gBlockSendBuffer
- movs r0, 0
- movs r2, 0x20
- bl SendBlock
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0801AF8A
- .pool
-_0801AE98:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _0801AEA6
- b _0801AFAE
-_0801AEA6:
- ldr r1, =gBlockRecvBuffer
- ldrh r0, [r1]
- cmp r0, 0x51
- bne _0801AEE0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x51
- bne _0801AEE0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x32
- b _0801AF16
- .pool
-_0801AEE0:
- bl sub_800AC34
- ldr r4, =gBlockRecvBuffer
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 16
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x52
- bne _0801AF0C
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x6
- b _0801AF16
- .pool
-_0801AF0C:
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x8
-_0801AF16:
- strb r1, [r0]
- bl ResetBlockReceivedFlags
- b _0801AFAE
- .pool
-_0801AF24:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0801AFAE
- bl sub_800ADF8
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0801AF8A
- .pool
-_0801AF40:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801AFAE
- ldr r0, =sub_801AAD4
- bl SetMainCallback2
- b _0801AFAE
- .pool
-_0801AF58:
- ldr r0, =gUnknown_02022C6C
- ldr r0, [r0]
- ldr r1, =gText_RefusedBattle
- movs r2, 0x1
- bl sub_801ABDC
- cmp r0, 0
- beq _0801AFAE
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- b _0801AFAE
- .pool
-_0801AF7C:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801AFAE
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
-_0801AF8A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0801AFAE
- .pool
-_0801AF98:
- ldr r0, =gUnknown_02022C6C
- ldr r0, [r0]
- ldr r1, =gText_BattleWasRefused
- movs r2, 0x1
- bl sub_801ABDC
- cmp r0, 0
- beq _0801AFAE
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
-_0801AFAE:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
-_0801AFC2:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801AC54
-
-@void sub_801AFD8() {
-@ CpuFill32(0, &gSaveBlock1Ptr->field_322C, 219);
-@ sub_801B180();
-@ sub_811F8BC();
-@}
- thumb_func_start sub_801AFD8
-sub_801AFD8: @ 801AFD8
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x0000322c
- adds r1, r0
- ldr r2, =0x050000db
- mov r0, sp
- bl CpuSet
- bl sub_801B180
- bl sub_811F8BC
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801AFD8
-
- thumb_func_start sub_801B00C
-sub_801B00C: @ 801B00C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003230
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_801B00C
-
- thumb_func_start sav1_get_mevent_buffer_1
-sav1_get_mevent_buffer_1: @ 801B020
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sav1_get_mevent_buffer_1
-
- thumb_func_start sav1_get_mevent_buffer_2
-sav1_get_mevent_buffer_2: @ 801B034
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sav1_get_mevent_buffer_2
-
- thumb_func_start GetSaveBlock1Field356C
-GetSaveBlock1Field356C: @ 801B044
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000356c
- adds r0, r1
- bx lr
- .pool
- thumb_func_end GetSaveBlock1Field356C
-
- thumb_func_start GetSaveBlock1Field3564
-GetSaveBlock1Field3564: @ 801B058
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003564
- adds r0, r1
- bx lr
- .pool
- thumb_func_end GetSaveBlock1Field3564
-
- thumb_func_start sub_801B06C
-sub_801B06C: @ 801B06C
- push {lr}
- bl sub_801B14C
- pop {r0}
- bx r0
- thumb_func_end sub_801B06C
-
- thumb_func_start sub_801B078
-sub_801B078: @ 801B078
- push {r4-r7,lr}
- adds r7, r0, 0
- bl sub_801B114
- cmp r0, 0
- beq _0801B0C4
- bl sub_801B14C
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r5, =0x00003230
- adds r0, r5
- movs r6, 0xDE
- lsls r6, 1
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
- ldr r0, [r4]
- adds r0, r5
- adds r1, r6, 0
- bl CalcCRC16WithTable
- ldr r1, [r4]
- ldr r2, =0x0000322c
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- str r0, [r1]
- movs r0, 0x1
- b _0801B0C6
- .pool
-_0801B0C4:
- movs r0, 0
-_0801B0C6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801B078
-
- thumb_func_start sub_801B0CC
-sub_801B0CC: @ 801B0CC
- push {r4,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00003230
- adds r0, r1
- movs r1, 0xDE
- lsls r1, 1
- bl CalcCRC16WithTable
- lsls r0, 16
- lsrs r0, 16
- ldr r4, [r4]
- ldr r2, =0x0000322c
- adds r1, r4, r2
- ldr r1, [r1]
- cmp r0, r1
- bne _0801B10C
- ldr r1, =0x00003230
- adds r0, r4, r1
- bl sub_801B114
- cmp r0, 0
- beq _0801B10C
- movs r0, 0x1
- b _0801B10E
- .pool
-_0801B10C:
- movs r0, 0
-_0801B10E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801B0CC
-
- thumb_func_start sub_801B114
-sub_801B114: @ 801B114
- push {lr}
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801B120
- movs r0, 0x1
- b _0801B122
-_0801B120:
- movs r0, 0
-_0801B122:
- pop {r1}
- bx r1
- thumb_func_end sub_801B114
-
- thumb_func_start sub_801B128
-sub_801B128: @ 801B128
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003230
- adds r0, r1
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _0801B144
- movs r0, 0x1
- b _0801B146
- .pool
-_0801B144:
- movs r0, 0
-_0801B146:
- pop {r1}
- bx r1
- thumb_func_end sub_801B128
-
- thumb_func_start sub_801B14C
-sub_801B14C: @ 801B14C
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0
- str r4, [sp]
- bl sub_801B00C
- adds r1, r0, 0
- ldr r2, =0x0500006f
- mov r0, sp
- bl CpuSet
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000322c
- adds r0, r1
- str r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B14C
-
- thumb_func_start sub_801B180
-sub_801B180: @ 801B180
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl GetSaveBlock1Field356C
- adds r1, r0, 0
- ldr r2, =0x05000001
- mov r0, sp
- bl CpuSet
- bl sub_801DBC0
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B180
-
- thumb_func_start sub_801B1A4
-sub_801B1A4: @ 801B1A4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003230
- adds r4, r0, r1
- bl sub_801B0CC
- cmp r0, 0
- bne _0801B1C4
-_0801B1B8:
- movs r0, 0
- b _0801B1DC
- .pool
-_0801B1C4:
- movs r2, 0
- ldr r3, =0x000001bb
-_0801B1C8:
- adds r0, r4, r2
- adds r1, r5, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0801B1B8
- adds r2, 0x1
- cmp r2, r3
- bls _0801B1C8
- movs r0, 0x1
-_0801B1DC:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801B1A4
-
- thumb_func_start sub_801B1E8
-sub_801B1E8: @ 801B1E8
- push {lr}
- bl sub_801B330
- bl sub_801B368
- bl sub_801B9F8
- bl ClearRamScript
- bl sub_809D4D8
- bl sub_809D570
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bec
- adds r0, r1
- bl ClearEReaderTrainer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B1E8
-
- thumb_func_start sub_801B21C
-sub_801B21C: @ 801B21C
- push {r4-r7,lr}
- adds r7, r0, 0
- bl sub_801B2CC
- cmp r0, 0
- beq _0801B274
- bl sub_801B1E8
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r5, =0x000033f0
- adds r0, r5
- movs r6, 0xA6
- lsls r6, 1
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
- ldr r0, [r4]
- adds r0, r5
- adds r1, r6, 0
- bl CalcCRC16WithTable
- ldr r1, [r4]
- ldr r3, =0x000033ec
- adds r2, r1, r3
- lsls r0, 16
- lsrs r0, 16
- str r0, [r2]
- movs r0, 0xD5
- lsls r0, 6
- adds r2, r1, r0
- adds r1, r5
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x6]
- movs r0, 0x1
- b _0801B276
- .pool
-_0801B274:
- movs r0, 0
-_0801B276:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801B21C
-
- thumb_func_start sub_801B27C
-sub_801B27C: @ 801B27C
- push {r4,r5,lr}
- ldr r5, =gSaveBlock1Ptr
- ldr r0, [r5]
- ldr r1, =0x000033ec
- adds r4, r0, r1
- adds r1, 0x4
- adds r0, r1
- movs r1, 0xA6
- lsls r1, 1
- bl CalcCRC16WithTable
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r4]
- cmp r1, r0
- bne _0801B2C4
- ldr r0, [r5]
- ldr r1, =0x000033f0
- adds r0, r1
- bl sub_801B2CC
- cmp r0, 0
- beq _0801B2C4
- bl sub_80991F8
- cmp r0, 0
- beq _0801B2C4
- movs r0, 0x1
- b _0801B2C6
- .pool
-_0801B2C4:
- movs r0, 0
-_0801B2C6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801B27C
-
- thumb_func_start sub_801B2CC
-sub_801B2CC: @ 801B2CC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2]
- cmp r0, 0
- beq _0801B302
- ldrb r1, [r2, 0x8]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x2
- bhi _0801B302
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _0801B2F0
- cmp r0, 0x40
- beq _0801B2F0
- cmp r0, 0x80
- bne _0801B302
-_0801B2F0:
- lsls r0, r1, 26
- lsrs r0, 28
- cmp r0, 0x7
- bhi _0801B302
- ldrb r0, [r2, 0x9]
- cmp r0, 0x7
- bhi _0801B302
- movs r0, 0x1
- b _0801B304
-_0801B302:
- movs r0, 0
-_0801B304:
- pop {r1}
- bx r1
- thumb_func_end sub_801B2CC
-
- thumb_func_start sub_801B308
-sub_801B308: @ 801B308
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _0801B328
- movs r0, 0x1
- b _0801B32A
- .pool
-_0801B328:
- movs r0, 0
-_0801B32A:
- pop {r1}
- bx r1
- thumb_func_end sub_801B308
-
- thumb_func_start sub_801B330
-sub_801B330: @ 801B330
- push {r4,r5,lr}
- sub sp, 0x4
- movs r5, 0
- str r5, [sp]
- ldr r4, =gSaveBlock1Ptr
- ldr r1, [r4]
- ldr r0, =0x000033f0
- adds r1, r0
- ldr r2, =0x05000053
- mov r0, sp
- bl CpuSet
- ldr r0, [r4]
- ldr r1, =0x000033ec
- adds r0, r1
- str r5, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B330
-
- thumb_func_start sub_801B368
-sub_801B368: @ 801B368
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0
- str r4, [sp]
- bl sav1_get_mevent_buffer_2
- adds r1, r0, 0
- ldr r2, =0x05000009
- mov r0, sp
- bl CpuSet
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000353c
- adds r0, r1
- str r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B368
-
- thumb_func_start sub_801B39C
-sub_801B39C: @ 801B39C
- push {lr}
- bl sub_801B27C
- cmp r0, 0
- bne _0801B3AA
- movs r0, 0
- b _0801B3B4
-_0801B3AA:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrh r0, [r0]
-_0801B3B4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801B39C
-
- thumb_func_start sub_801B3C0
-sub_801B3C0: @ 801B3C0
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2, 0x8]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- bne _0801B3D4
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x8]
-_0801B3D4:
- pop {r0}
- bx r0
- thumb_func_end sub_801B3C0
-
- thumb_func_start sub_801B3D8
-sub_801B3D8: @ 801B3D8
- push {lr}
- lsls r0, 16
- ldr r1, =0xfc180000
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0x13
- bls _0801B3F0
- movs r0, 0
- b _0801B3F2
- .pool
-_0801B3F0:
- movs r0, 0x1
-_0801B3F2:
- pop {r1}
- bx r1
- thumb_func_end sub_801B3D8
-
- thumb_func_start sub_801B3F8
-sub_801B3F8: @ 801B3F8
- push {r4,lr}
- bl sub_801B39C
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl sub_801B3D8
- cmp r0, 0
- beq _0801B430
- ldr r1, =gUnknown_082F0DE8
- ldr r2, =0xfffffc18
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0801B430
- movs r0, 0x1
- b _0801B432
- .pool
-_0801B430:
- movs r0, 0
-_0801B432:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801B3F8
-
- thumb_func_start sub_801B438
-sub_801B438: @ 801B438
- push {lr}
- movs r3, 0
- cmp r3, r1
- bge _0801B45A
- adds r2, r0, 0
- adds r2, 0x8
-_0801B444:
- ldrh r0, [r2, 0xE]
- cmp r0, 0
- beq _0801B452
- ldrh r0, [r2]
- cmp r0, 0
- beq _0801B452
- adds r3, 0x1
-_0801B452:
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _0801B444
-_0801B45A:
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end sub_801B438
-
- thumb_func_start sub_801B460
-sub_801B460: @ 801B460
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0
- cmp r1, r2
- bge _0801B49A
- ldrh r6, [r4, 0x2]
- movs r0, 0x16
- adds r0, r5
- mov r12, r0
-_0801B474:
- lsls r3, r1, 1
- mov r7, r12
- ldrh r0, [r7]
- cmp r0, r6
- beq _0801B48C
- adds r0, r5, 0
- adds r0, 0x8
- adds r0, r3
- ldrh r0, [r0]
- ldrh r3, [r4]
- cmp r0, r3
- bne _0801B490
-_0801B48C:
- movs r0, 0x1
- b _0801B49C
-_0801B490:
- movs r7, 0x2
- add r12, r7
- adds r1, 0x1
- cmp r1, r2
- blt _0801B474
-_0801B49A:
- movs r0, 0
-_0801B49C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801B460
-
- thumb_func_start sub_801B4A4
-sub_801B4A4: @ 801B4A4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _0801B4C4
- ldrh r1, [r1]
- cmp r1, 0
- beq _0801B4C4
- ldr r0, =0x0000019b
- cmp r1, r0
- bhi _0801B4C4
- movs r0, 0x1
- b _0801B4C6
- .pool
-_0801B4C4:
- movs r0, 0
-_0801B4C6:
- pop {r1}
- bx r1
- thumb_func_end sub_801B4A4
-
- thumb_func_start sub_801B4CC
-sub_801B4CC: @ 801B4CC
- push {lr}
- bl sub_801B27C
- cmp r0, 0
- beq _0801B500
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- ldr r0, =0x000033f0
- adds r2, r3, r0
- ldrb r1, [r2, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801B500
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r3, r1
- ldrb r1, [r2, 0x9]
- bl sub_801B438
- b _0801B502
- .pool
-_0801B500:
- movs r0, 0
-_0801B502:
- pop {r1}
- bx r1
- thumb_func_end sub_801B4CC
-
- thumb_func_start sub_801B508
-sub_801B508: @ 801B508
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gSaveBlock1Ptr
- ldr r0, [r6]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrb r4, [r0, 0x9]
- adds r0, r5, 0
- bl sub_801B4A4
- cmp r0, 0
- beq _0801B572
- ldr r0, [r6]
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r1
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_801B460
- cmp r0, 0
- beq _0801B54C
- b _0801B572
- .pool
-_0801B540:
- ldrh r0, [r5, 0x2]
- strh r0, [r1]
- ldrh r0, [r5]
- strh r0, [r2]
- movs r0, 0x1
- b _0801B574
-_0801B54C:
- movs r3, 0
- cmp r3, r4
- bge _0801B572
- ldr r0, [r6]
- ldr r6, =0x00003548
- adds r2, r0, r6
- adds r6, 0xE
- adds r1, r0, r6
-_0801B55C:
- ldrh r0, [r2, 0xE]
- cmp r0, 0
- bne _0801B568
- ldrh r0, [r2]
- cmp r0, 0
- beq _0801B540
-_0801B568:
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, r4
- blt _0801B55C
-_0801B572:
- movs r0, 0
-_0801B574:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801B508
-
- thumb_func_start sub_801B580
-sub_801B580: @ 801B580
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- str r0, [sp]
- ldr r2, =0x05000019
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- ldr r0, =0x00000101
- str r0, [r5]
- movs r0, 0x1
- strh r0, [r5, 0x4]
- str r0, [r5, 0x8]
- cmp r4, 0
- beq _0801B5C0
- movs r0, 0x5
- strh r0, [r5, 0xC]
- ldr r0, =0x00000201
- b _0801B5C8
- .pool
-_0801B5C0:
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r0, 0x80
- lsls r0, 2
-_0801B5C8:
- str r0, [r5, 0x10]
- bl sub_801B27C
- cmp r0, 0
- beq _0801B5FC
- bl sav1_get_mevent_buffer_1
- ldrh r0, [r0]
- strh r0, [r5, 0x14]
- bl sav1_get_mevent_buffer_2
- adds r1, r5, 0
- adds r1, 0x20
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sav1_get_mevent_buffer_1
- ldrb r1, [r0, 0x9]
- adds r0, r5, 0
- adds r0, 0x44
- strb r1, [r0]
- b _0801B5FE
-_0801B5FC:
- strh r0, [r5, 0x14]
-_0801B5FE:
- adds r4, r5, 0
- adds r4, 0x4C
- ldr r0, =gSaveBlock2Ptr
- mov r8, r0
- adds r6, r5, 0
- adds r6, 0x45
- adds r7, r5, 0
- adds r7, 0x50
- movs r1, 0x5C
- adds r1, r5
- mov r9, r1
- movs r2, 0x60
- adds r2, r5
- mov r10, r2
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00003564
- adds r2, r0, r3
- adds r1, r5, 0
- adds r1, 0x16
- movs r3, 0x3
-_0801B628:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0801B628
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0xA
- adds r0, r4, 0
- bl CopyTrainerId
- mov r2, r8
- ldr r1, [r2]
- adds r0, r6, 0
- bl StringCopy
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00002bb0
- adds r2, r0, r3
- adds r1, r7, 0
- movs r3, 0x5
-_0801B658:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0801B658
- ldr r1, =RomHeaderGameCode
- mov r0, r9
- movs r2, 0x4
- bl memcpy
- ldr r0, =RomHeaderSoftwareVersion
- ldrb r0, [r0]
- mov r4, r10
- strb r0, [r4]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B580
-
- thumb_func_start sub_801B6A0
-sub_801B6A0: @ 801B6A0
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldr r1, [r2]
- ldr r0, =0x00000101
- cmp r1, r0
- bne _0801B6DC
- ldrh r1, [r2, 0x4]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0801B6DC
- ldr r0, [r2, 0x8]
- ands r0, r3
- cmp r0, 0
- beq _0801B6DC
- cmp r4, 0
- bne _0801B6E4
- ldrh r1, [r2, 0xC]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0801B6DC
- ldr r0, [r2, 0x10]
- movs r1, 0xE0
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- bne _0801B6E4
-_0801B6DC:
- movs r0, 0
- b _0801B6E6
- .pool
-_0801B6E4:
- movs r0, 0x1
-_0801B6E6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801B6A0
-
- thumb_func_start sub_801B6EC
-sub_801B6EC: @ 801B6EC
- push {lr}
- ldrh r1, [r1, 0x14]
- cmp r1, 0
- bne _0801B6F8
- movs r0, 0
- b _0801B704
-_0801B6F8:
- ldrh r0, [r0]
- cmp r0, r1
- beq _0801B702
- movs r0, 0x2
- b _0801B704
-_0801B702:
- movs r0, 0x1
-_0801B704:
- pop {r1}
- bx r1
- thumb_func_end sub_801B6EC
-
- thumb_func_start sub_801B708
-sub_801B708: @ 801B708
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r4, 0
- adds r5, 0x20
- adds r4, 0x44
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_801B438
- ldrb r2, [r4]
- subs r4, r2, r0
- cmp r4, 0
- bne _0801B728
- movs r0, 0x1
- b _0801B742
-_0801B728:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_801B460
- cmp r0, 0
- beq _0801B738
- movs r0, 0x3
- b _0801B742
-_0801B738:
- cmp r4, 0x1
- beq _0801B740
- movs r0, 0x2
- b _0801B742
-_0801B740:
- movs r0, 0x4
-_0801B742:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801B708
-
- thumb_func_start sub_801B748
-sub_801B748: @ 801B748
- push {r4,lr}
- movs r3, 0
- adds r2, r0, 0
- adds r2, 0x16
-_0801B750:
- ldrh r0, [r2]
- ldrh r4, [r1]
- cmp r0, r4
- beq _0801B75C
- movs r0, 0
- b _0801B768
-_0801B75C:
- adds r1, 0x2
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _0801B750
- movs r0, 0x1
-_0801B768:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801B748
-
- thumb_func_start sub_801B770
-sub_801B770: @ 801B770
- push {lr}
- adds r2, r0, 0
- adds r2, 0x20
- adds r0, 0x44
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_801B438
- pop {r1}
- bx r1
- thumb_func_end sub_801B770
-
- thumb_func_start sub_801B784
-sub_801B784: @ 801B784
- push {lr}
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _0801B7D0
- lsls r0, r1, 2
- ldr r1, =_0801B79C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801B79C:
- .4byte _0801B7B0
- .4byte _0801B7B4
- .4byte _0801B7B8
- .4byte _0801B7BC
- .4byte _0801B7C8
-_0801B7B0:
- ldrh r0, [r2, 0x20]
- b _0801B7D2
-_0801B7B4:
- ldrh r0, [r2, 0x22]
- b _0801B7D2
-_0801B7B8:
- ldrh r0, [r2, 0x24]
- b _0801B7D2
-_0801B7BC:
- adds r0, r2, 0
- bl sub_801B770
- lsls r0, 16
- lsrs r0, 16
- b _0801B7D2
-_0801B7C8:
- adds r0, r2, 0
- adds r0, 0x44
- ldrb r0, [r0]
- b _0801B7D2
-_0801B7D0:
- movs r0, 0
-_0801B7D2:
- pop {r1}
- bx r1
- thumb_func_end sub_801B784
-
- thumb_func_start sub_801B7D8
-sub_801B7D8: @ 801B7D8
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0x2
- bne _0801B850
- movs r2, 0
- cmp r4, 0x4
- bhi _0801B83A
- lsls r0, r4, 2
- ldr r1, =_0801B80C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801B80C:
- .4byte _0801B820
- .4byte _0801B828
- .4byte _0801B834
- .4byte _0801B83A
- .4byte _0801B83A
-_0801B820:
- ldr r0, [r3]
- movs r1, 0xD5
- lsls r1, 6
- b _0801B838
-_0801B828:
- ldr r0, [r3]
- ldr r1, =0x00003542
- b _0801B838
- .pool
-_0801B834:
- ldr r0, [r3]
- ldr r1, =0x00003544
-_0801B838:
- adds r2, r0, r1
-_0801B83A:
- cmp r2, 0
- beq _0801B850
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x000003e7
- cmp r0, r1
- bls _0801B850
- strh r1, [r2]
-_0801B850:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B7D8
-
- thumb_func_start mevent_081445C0
-mevent_081445C0: @ 801B860
- push {lr}
- cmp r0, 0x4
- bhi _0801B938
- lsls r0, 2
- ldr r1, =_0801B874
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801B874:
- .4byte _0801B888
- .4byte _0801B8AC
- .4byte _0801B8D0
- .4byte _0801B8F4
- .4byte _0801B918
-_0801B888:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x000033f0
- adds r0, r2, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0801B938
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r2, r1
- ldrh r0, [r0]
- b _0801B93A
- .pool
-_0801B8AC:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x000033f0
- adds r0, r2, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0801B938
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r2, r1
- ldrh r0, [r0, 0x2]
- b _0801B93A
- .pool
-_0801B8D0:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x000033f0
- adds r0, r2, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0801B938
- movs r1, 0xD5
- lsls r1, 6
- adds r0, r2, r1
- ldrh r0, [r0, 0x4]
- b _0801B93A
- .pool
-_0801B8F4:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801B938
- bl sub_801B4CC
- lsls r0, 16
- lsrs r0, 16
- b _0801B93A
- .pool
-_0801B918:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r2, r0, r1
- ldrb r1, [r2, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801B938
- ldrb r0, [r2, 0x9]
- b _0801B93A
- .pool
-_0801B938:
- movs r0, 0
-_0801B93A:
- pop {r1}
- bx r1
- thumb_func_end mevent_081445C0
-
- thumb_func_start sub_801B940
-sub_801B940: @ 801B940
- ldr r1, =gUnknown_02022C70
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_801B940
-
- thumb_func_start sub_801B94C
-sub_801B94C: @ 801B94C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0, 0
- ldr r5, =gUnknown_02022C70
- movs r0, 0
- str r0, [r5]
- cmp r4, 0
- beq _0801B98A
- bl sub_801B27C
- cmp r0, 0
- beq _0801B988
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000033f0
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r4
- bne _0801B988
- movs r0, 0x1
- str r0, [r5]
- b _0801B98A
- .pool
-_0801B988:
- movs r0, 0
-_0801B98A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801B94C
-
- thumb_func_start sub_801B990
-sub_801B990: @ 801B990
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02022C70
- ldr r0, [r0]
- cmp r0, 0
- beq _0801B9EC
- cmp r2, 0x1
- beq _0801B9DC
- cmp r2, 0x1
- bcc _0801B9C0
- cmp r2, 0x2
- bne _0801B9EC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x00003584
- adds r2, r0
- movs r0, 0x2
- b _0801B9CA
- .pool
-_0801B9C0:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x00003570
- adds r2, r0
- movs r0, 0
-_0801B9CA:
- movs r3, 0x5
- bl sub_801BA8C
- b _0801B9EC
- .pool
-_0801B9DC:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x00003570
- adds r2, r0
- movs r0, 0x1
- movs r3, 0x5
- bl sub_801BA8C
-_0801B9EC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B990
-
- thumb_func_start sub_801B9F8
-sub_801B9F8: @ 801B9F8
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00003570
- adds r1, r0
- ldr r2, =0x0500000a
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801B9F8
-
- thumb_func_start sub_801BA24
-sub_801BA24: @ 801BA24
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0
- cmp r1, r2
- bge _0801BA46
- ldr r0, [r4]
- cmp r0, r5
- beq _0801BA46
- adds r3, r4, 0
-_0801BA38:
- adds r3, 0x4
- adds r1, 0x1
- cmp r1, r2
- bge _0801BA46
- ldr r0, [r3]
- cmp r0, r5
- bne _0801BA38
-_0801BA46:
- cmp r1, r2
- bne _0801BA68
- subs r3, r1, 0x1
- cmp r3, 0
- ble _0801BA62
- lsls r0, r3, 2
- subs r0, 0x4
- adds r2, r0, r4
-_0801BA56:
- ldr r0, [r2]
- str r0, [r2, 0x4]
- subs r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bgt _0801BA56
-_0801BA62:
- str r5, [r4]
- movs r0, 0x1
- b _0801BA84
-_0801BA68:
- adds r3, r1, 0
- cmp r3, 0
- ble _0801BA80
- lsls r0, r3, 2
- subs r0, 0x4
- adds r2, r0, r4
-_0801BA74:
- ldr r0, [r2]
- str r0, [r2, 0x4]
- subs r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bgt _0801BA74
-_0801BA80:
- str r5, [r4]
- movs r0, 0
-_0801BA84:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801BA24
-
- thumb_func_start sub_801BA8C
-sub_801BA8C: @ 801BA8C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r1, r2, 0
- adds r2, r3, 0
- bl sub_801BA24
- cmp r0, 0
- beq _0801BAA4
- adds r0, r4, 0
- bl sub_801B7D8
-_0801BAA4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801BA8C
-
- thumb_func_start sub_801BAAC
-sub_801BAAC: @ 801BAAC
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- beq _0801BAC8
- cmp r6, 0
- beq _0801BAC8
- ldr r7, =gUnknown_02022C74
- ldr r0, =0x0000145c
- bl AllocZeroed
- str r0, [r7]
- cmp r0, 0
- bne _0801BAD4
-_0801BAC8:
- movs r0, 0
- b _0801BB3E
- .pool
-_0801BAD4:
- movs r4, 0xA6
- lsls r4, 1
- adds r1, r5, 0
- adds r2, r4, 0
- bl memcpy
- ldr r1, [r7]
- adds r1, r4
- adds r0, r6, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r7]
- ldrb r1, [r2, 0x8]
- lsls r0, r1, 26
- lsrs r0, 28
- cmp r0, 0x7
- bls _0801BB06
- movs r0, 0x3D
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x8]
-_0801BB06:
- ldr r2, [r7]
- ldrb r1, [r2, 0x8]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x2
- bls _0801BB1A
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x8]
-_0801BB1A:
- ldr r1, [r7]
- ldrb r0, [r1, 0x9]
- cmp r0, 0x7
- bls _0801BB26
- movs r0, 0
- strb r0, [r1, 0x9]
-_0801BB26:
- ldr r0, [r7]
- movs r1, 0xB8
- lsls r1, 1
- adds r2, r0, r1
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 28
- lsls r0, 4
- ldr r1, =gUnknown_082F1D60
- adds r0, r1
- str r0, [r2]
- movs r0, 0x1
-_0801BB3E:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801BAAC
-
- thumb_func_start sub_801BB48
-sub_801BB48: @ 801BB48
- push {r4,lr}
- ldr r4, =gUnknown_02022C74
- ldr r0, [r4]
- cmp r0, 0
- beq _0801BB64
- ldr r2, =0x0000145c
- movs r1, 0
- bl memset
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801BB64:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801BB48
-
- thumb_func_start sub_801BB74
-sub_801BB74: @ 801BB74
- push {r4-r6,lr}
- sub sp, 0x24
- ldr r5, =gUnknown_02022C74
- ldr r0, [r5]
- cmp r0, 0
- bne _0801BB8C
- movs r0, 0x1
- negs r0, r0
- b _0801BD98
- .pool
-_0801BB8C:
- movs r4, 0xBA
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _0801BB9A
- b _0801BD70
-_0801BB9A:
- lsls r0, 2
- ldr r1, =_0801BBA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801BBA8:
- .4byte _0801BBC8
- .4byte _0801BBDA
- .4byte _0801BBE8
- .4byte _0801BC8C
- .4byte _0801BD14
- .4byte _0801BD1A
- .4byte _0801BD34
- .4byte _0801BD3A
-_0801BBC8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0801BD86
-_0801BBDA:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0801BBE6
- b _0801BD86
-_0801BBE6:
- b _0801BD96
-_0801BBE8:
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r5, =gUnknown_02022C74
- ldr r0, [r5]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0x8
- bl decompress_and_copy_tile_data_to_vram
- ldr r4, =gUnknown_082F0E1C
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- movs r2, 0xBB
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x8
- bl AddWindow
- ldr r1, [r5]
- movs r2, 0xBC
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- adds r4, 0x10
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- movs r2, 0xBD
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- b _0801BD86
- .pool
-_0801BC8C:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _0801BC9A
- b _0801BD96
-_0801BC9A:
- movs r0, 0x1
- bl stdpal_get
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r5, =gUnknown_02022C74
- ldr r0, [r5]
- movs r4, 0xB8
- lsls r4, 1
- adds r0, r4
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- ldr r4, =0x0000045c
- adds r1, r4
- bl LZ77UnCompWram
- ldr r1, [r5]
- adds r1, r4
- movs r2, 0x1E
- str r2, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- str r6, [sp, 0xC]
- str r2, [sp, 0x10]
- str r0, [sp, 0x14]
- movs r0, 0x1
- str r0, [sp, 0x18]
- movs r0, 0x8
- str r0, [sp, 0x1C]
- str r6, [sp, 0x20]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _0801BD86
- .pool
-_0801BD14:
- bl sub_801BEF8
- b _0801BD86
-_0801BD1A:
- movs r0, 0
- bl sub_801C178
- movs r0, 0x1
- bl sub_801C178
- movs r0, 0x2
- bl sub_801C178
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _0801BD86
-_0801BD34:
- bl LoadMonIconPalettes
- b _0801BD86
-_0801BD3A:
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- bl sub_801C4C0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _0801BD86
- .pool
-_0801BD70:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0801BD96
- ldr r0, [r5]
- adds r0, r4
- strb r1, [r0]
- movs r0, 0x1
- b _0801BD98
-_0801BD86:
- ldr r0, =gUnknown_02022C74
- ldr r1, [r0]
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0801BD96:
- movs r0, 0
-_0801BD98:
- add sp, 0x24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801BB74
-
- thumb_func_start sub_801BDA4
-sub_801BDA4: @ 801BDA4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r2, r0, 0
- ldr r5, =gUnknown_02022C74
- ldr r0, [r5]
- cmp r0, 0
- bne _0801BDBC
- movs r0, 0x1
- negs r0, r0
- b _0801BEEC
- .pool
-_0801BDBC:
- movs r4, 0xBA
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _0801BDCA
- b _0801BEC4
-_0801BDCA:
- lsls r0, 2
- ldr r1, =_0801BDD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801BDD8:
- .4byte _0801BDF0
- .4byte _0801BE02
- .4byte _0801BE0E
- .4byte _0801BE56
- .4byte _0801BE94
- .4byte _0801BE9E
-_0801BDF0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0801BEDA
-_0801BE02:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0801BEDA
- b _0801BEEA
-_0801BE0E:
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _0801BEDA
-_0801BE56:
- movs r0, 0x1
- bl HideBg
- movs r0, 0x2
- bl HideBg
- ldr r4, =gUnknown_02022C74
- ldr r0, [r4]
- movs r1, 0xBD
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r4]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- b _0801BEDA
- .pool
-_0801BE94:
- bl sub_801C61C
- bl FreeMonIconPalettes
- b _0801BEDA
-_0801BE9E:
- ldr r0, =gUnknown_02022C60
- ldrb r0, [r0]
- adds r1, r2, 0
- bl sub_80186EC
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0801BEDA
- .pool
-_0801BEC4:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0801BEEA
- ldr r0, [r5]
- adds r0, r4
- strb r1, [r0]
- movs r0, 0x1
- b _0801BEEC
-_0801BEDA:
- ldr r0, =gUnknown_02022C74
- ldr r1, [r0]
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0801BEEA:
- movs r0, 0
-_0801BEEC:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801BDA4
-
- thumb_func_start sub_801BEF8
-sub_801BEF8: @ 801BEF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r5, 0
- mov r0, sp
- movs r1, 0
- movs r2, 0x6
- bl memset
- ldr r4, =gUnknown_02022C74
- ldr r1, [r4]
- ldr r2, =0x0000018b
- adds r0, r1, r2
- adds r1, 0xA
- movs r2, 0x28
- bl memcpy
- ldr r0, [r4]
- ldr r3, =0x000001b3
- adds r1, r0, r3
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, [r4]
- movs r2, 0xDA
- lsls r2, 1
- adds r0, r1, r2
- adds r1, 0x32
- movs r2, 0x28
- bl memcpy
- ldr r0, [r4]
- movs r3, 0xEE
- lsls r3, 1
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- ldr r2, =0x000f423f
- cmp r0, r2
- bls _0801BF54
- str r2, [r1, 0x4]
-_0801BF54:
- ldr r1, [r4]
- ldr r2, =0x000001dd
- adds r0, r1, r2
- ldr r1, [r1, 0x4]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- adds r6, r4, 0
-_0801BF66:
- ldr r2, [r6]
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r5
- adds r0, r4, r2
- movs r3, 0xF2
- lsls r3, 1
- adds r0, r3
- adds r1, r2
- adds r1, 0x5A
- movs r2, 0x28
- bl memcpy
- ldr r1, [r6]
- movs r0, 0x83
- lsls r0, 2
- adds r1, r0
- adds r1, r4
- movs r2, 0x1
- negs r2, r2
- adds r7, r2, 0
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0801BF66
- ldr r6, =gUnknown_02022C74
- ldr r1, [r6]
- movs r3, 0xA2
- lsls r3, 2
- adds r0, r1, r3
- adds r1, 0xFA
- movs r2, 0x28
- bl memcpy
- ldr r0, [r6]
- movs r4, 0xAC
- lsls r4, 2
- adds r0, r4
- movs r1, 0x1
- negs r1, r1
- adds r4, r1, 0
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- beq _0801C018
- cmp r0, 0x1
- bgt _0801BFF0
- cmp r0, 0
- beq _0801BFF6
- b _0801C168
- .pool
-_0801BFF0:
- cmp r0, 0x2
- beq _0801C028
- b _0801C168
-_0801BFF6:
- ldr r2, =0x000002b1
- adds r0, r1, r2
- movs r3, 0x91
- lsls r3, 1
- adds r1, r3
- movs r2, 0x28
- bl memcpy
- ldr r1, [r6]
- ldr r0, =0x000002d9
- adds r1, r0
- b _0801C01C
- .pool
-_0801C018:
- ldr r2, =0x000002b1
- adds r1, r2
-_0801C01C:
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- b _0801C168
- .pool
-_0801C028:
- ldr r3, =0x000002b1
- adds r0, r1, r3
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- mov r3, sp
- ldr r1, [r6]
- movs r4, 0xA6
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- ldr r2, =0x000003e7
- cmp r0, r2
- bls _0801C046
- adds r0, r2, 0
-_0801C046:
- strh r0, [r3]
- mov r3, sp
- movs r4, 0xA7
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, r2
- bls _0801C058
- adds r0, r2, 0
-_0801C058:
- strh r0, [r3, 0x2]
- mov r3, sp
- movs r4, 0xA8
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, r2
- bls _0801C06A
- adds r0, r2, 0
-_0801C06A:
- strh r0, [r3, 0x4]
- movs r5, 0
-_0801C06E:
- lsls r4, r5, 1
- adds r4, r5
- lsls r4, 4
- movs r0, 0xB7
- lsls r0, 2
- adds r4, r0
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x2A
- movs r1, 0xFF
- movs r2, 0x4
- bl memset
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x1
- movs r1, 0xFF
- movs r2, 0x29
- bl memset
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _0801C06E
- movs r5, 0
- movs r6, 0
- ldr r1, =gUnknown_02022C74
- mov r8, r1
- movs r2, 0x91
- lsls r2, 1
- mov r10, r2
- ldr r7, =0x00000175
- movs r3, 0xB7
- lsls r3, 2
- mov r9, r3
-_0801C0B6:
- mov r4, r8
- ldr r2, [r4]
- mov r0, r10
- adds r1, r2, r0
- adds r0, r1, r5
- ldrb r3, [r0]
- cmp r3, 0xF7
- beq _0801C0F8
- ldr r1, =0x00000175
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- adds r0, r6, r0
- ldr r4, =0x000002dd
- adds r1, r2, r4
- adds r1, r0
- strb r3, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- b _0801C15E
- .pool
-_0801C0F8:
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- cmp r3, 0x2
- bls _0801C108
- adds r0, r5, 0x2
- lsls r0, 16
- b _0801C15C
-_0801C108:
- adds r0, r2, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- add r0, r9
- adds r0, r2, r0
- adds r0, 0x2A
- lsls r1, r3, 1
- add r1, sp
- ldrh r1, [r1]
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, r7
- ldrb r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r0, r1, r0
- adds r4, r5, 0x2
- add r1, r10
- adds r1, r4
- ldrb r1, [r1]
- add r0, r9
- strb r1, [r0]
- mov r2, r8
- ldr r1, [r2]
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0x7
- bhi _0801C168
- movs r6, 0
- lsls r0, r4, 16
-_0801C15C:
- lsrs r5, r0, 16
-_0801C15E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x27
- bls _0801C0B6
-_0801C168:
- 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_801BEF8
-
- thumb_func_start sub_801C178
-sub_801C178: @ 801C178
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r7, =gUnknown_02022C74
- ldr r0, [r7]
- lsls r1, r4, 1
- movs r2, 0xBB
- lsls r2, 1
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- lsls r6, r0, 24
- lsrs r5, r6, 24
- adds r0, r5, 0
- bl PutWindowTilemap
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- cmp r4, 0x1
- beq _0801C2A0
- cmp r4, 0x1
- bgt _0801C1C4
- cmp r4, 0
- beq _0801C1D0
- mov r9, r6
- b _0801C498
- .pool
-_0801C1C4:
- mov r0, r8
- cmp r0, 0x2
- bne _0801C1CC
- b _0801C304
-_0801C1CC:
- mov r9, r6
- b _0801C498
-_0801C1D0:
- ldr r2, [r7]
- movs r1, 0xB8
- lsls r1, 1
- mov r10, r1
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 28
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, =gUnknown_082F0E10
- mov r8, r0
- add r1, r8
- str r1, [sp]
- ldr r1, [sp, 0xC]
- str r1, [sp, 0x4]
- ldr r0, =0x0000018b
- adds r2, r0
- str r2, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- ldr r4, [r7]
- movs r1, 0xDA
- lsls r1, 1
- mov r9, r1
- add r4, r9
- movs r0, 0x3
- movs r1, 0x2
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x3
- adds r1, r4, 0
- bl GetStringWidth
- movs r1, 0xA0
- subs r1, r0
- cmp r1, 0
- bge _0801C22E
- movs r1, 0
-_0801C22E:
- lsls r2, r1, 24
- lsrs r2, 24
- ldr r3, [r7]
- mov r1, r10
- adds r0, r3, r1
- ldr r0, [r0]
- ldrb r1, [r0]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- add r0, r8
- str r0, [sp]
- ldr r0, [sp, 0xC]
- str r0, [sp, 0x4]
- add r3, r9
- str r3, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3
- movs r3, 0x11
- bl AddTextPrinterParameterized3
- ldr r2, [r7]
- ldr r0, [r2, 0x4]
- mov r9, r6
- cmp r0, 0
- bne _0801C266
- b _0801C498
-_0801C266:
- mov r1, r10
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r1, [r0]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- add r0, r8
- str r0, [sp]
- ldr r0, [sp, 0xC]
- str r0, [sp, 0x4]
- ldr r1, =0x000001dd
- adds r0, r2, r1
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0xA6
- movs r3, 0x11
- bl AddTextPrinterParameterized3
- b _0801C498
- .pool
-_0801C2A0:
- mov r9, r6
-_0801C2A2:
- ldr r2, [sp, 0xC]
- lsls r4, r2, 24
- asrs r4, 24
- lsls r3, r4, 4
- adds r3, 0x2
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_02022C74
- ldr r2, [r0]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- lsrs r0, 4
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, =gUnknown_082F0E10
- adds r1, r0
- str r1, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r4
- movs r1, 0xF2
- lsls r1, 1
- adds r0, r1
- adds r2, r0
- str r2, [sp, 0x8]
- mov r2, r9
- lsrs r0, r2, 24
- movs r1, 0x3
- movs r2, 0
- bl AddTextPrinterParameterized3
- adds r4, 0x1
- lsls r4, 24
- lsrs r0, r4, 24
- str r0, [sp, 0xC]
- asrs r4, 24
- cmp r4, 0x3
- ble _0801C2A2
- b _0801C498
- .pool
-_0801C304:
- ldr r4, =gUnknown_082F0E18
- ldr r2, [r7]
- ldrb r0, [r2, 0x8]
- lsls r0, 30
- lsrs r0, 30
- adds r0, r4
- ldrb r3, [r0]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsls r0, 28
- lsrs r0, 28
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, =gUnknown_082F0E10
- mov r10, r0
- add r1, r10
- str r1, [sp]
- ldr r1, [sp, 0xC]
- str r1, [sp, 0x4]
- movs r1, 0xA2
- lsls r1, 2
- adds r0, r2, r1
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0
- bl AddTextPrinterParameterized3
- ldr r2, [r7]
- ldrb r1, [r2, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _0801C398
- lsls r0, r1, 30
- lsrs r0, 30
- adds r0, r4
- ldrb r3, [r0]
- adds r3, 0x10
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- add r0, r10
- str r0, [sp]
- ldr r0, [sp, 0xC]
- str r0, [sp, 0x4]
- ldr r1, =0x000002b1
- adds r0, r2, r1
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0
- bl AddTextPrinterParameterized3
- mov r9, r6
- b _0801C498
- .pool
-_0801C398:
- movs r2, 0
- mov r8, r2
- lsls r0, r1, 30
- lsrs r0, 30
- adds r0, r4
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
- movs r0, 0x3
- movs r1, 0x2
- bl GetFontAttribute
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r7]
- ldr r1, =0x00000175
- adds r0, r1
- mov r9, r6
- ldr r1, [sp, 0xC]
- ldrb r0, [r0]
- cmp r1, r0
- bge _0801C498
- str r5, [sp, 0x10]
- lsls r0, r4, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- mov r10, r2
-_0801C3CE:
- mov r0, r8
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r3, [r7]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- ldr r1, =gUnknown_082F0E10
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- asrs r6, r0, 24
- lsls r0, r6, 1
- adds r0, r6
- lsls r5, r0, 4
- movs r0, 0xB7
- lsls r0, 2
- adds r4, r5, r0
- adds r3, r4
- adds r3, 0x1
- str r3, [sp, 0x8]
- ldr r0, [sp, 0x10]
- movs r1, 0x3
- ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized3
- ldr r1, [r7]
- adds r0, r1, r5
- ldr r2, =0x00000306
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0801C482
- adds r1, r4
- adds r1, 0x1
- movs r0, 0x3
- mov r2, r10
- bl GetStringWidth
- add r8, r0
- mov r0, r8
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r3, [r7]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- ldr r1, =gUnknown_082F0E10
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r3, r4
- adds r3, 0x2A
- str r3, [sp, 0x8]
- ldr r0, [sp, 0x10]
- movs r1, 0x3
- ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized3
- ldr r1, [r7]
- adds r1, r4
- adds r1, 0x2A
- movs r0, 0x3
- mov r2, r10
- bl GetStringWidth
- ldr r1, [r7]
- adds r1, r5
- movs r2, 0xB7
- lsls r2, 2
- adds r1, r2
- ldrb r1, [r1]
- adds r0, r1
- add r8, r0
-_0801C482:
- adds r1, r6, 0x1
- lsls r1, 24
- lsrs r0, r1, 24
- str r0, [sp, 0xC]
- asrs r1, 24
- ldr r0, [r7]
- ldr r2, =0x00000175
- adds r0, r2
- ldrb r0, [r0]
- cmp r1, r0
- blt _0801C3CE
-_0801C498:
- mov r1, r9
- lsrs r0, r1, 24
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801C178
-
- thumb_func_start sub_801C4C0
-sub_801C4C0: @ 801C4C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r7, 0
- ldr r4, =gUnknown_02022C74
- ldr r0, [r4]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r4]
- movs r2, 0xA9
- lsls r2, 1
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _0801C52C
- bl sub_80D2E84
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =SpriteCallbackDummy
- str r7, [sp]
- str r7, [sp, 0x4]
- movs r2, 0xDC
- movs r3, 0x14
- bl sub_80D2D78
- ldr r1, [r4]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- strb r0, [r1]
- ldr r2, =gSprites
- ldr r0, [r4]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
-_0801C52C:
- ldr r1, [r4]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- beq _0801C5EE
- ldrb r1, [r1, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801C5EE
- ldr r0, =gUnknown_082F1D00
- bl LoadCompressedSpriteSheetUsingHeap
- ldr r0, [r4]
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsrs r0, 4
- lsls r0, 3
- ldr r1, =gUnknown_082F1D08
- adds r0, r1
- bl LoadSpritePalette
- ldr r0, [r4]
- ldrb r0, [r0, 0x9]
- cmp r7, r0
- bcs _0801C5EE
- adds r6, r4, 0
- ldr r0, =0x0000017d
- mov r10, r0
- movs r1, 0
- mov r9, r1
- movs r2, 0xFF
- mov r8, r2
-_0801C572:
- ldr r1, [r6]
- lsls r4, r7, 1
- add r1, r10
- adds r1, r4
- ldrb r0, [r1]
- mov r2, r8
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r6]
- movs r0, 0xBF
- lsls r0, 1
- adds r1, r0
- adds r1, r4
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- lsls r1, r7, 5
- movs r0, 0xD8
- subs r5, r0, r1
- ldr r0, =gUnknown_082F1D48
- adds r1, r5, 0
- movs r2, 0x90
- movs r3, 0x8
- bl CreateSprite
- ldr r1, [r6]
- add r1, r10
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _0801C5E0
- bl sub_80D2E84
- lsls r0, 16
- lsrs r0, 16
- mov r2, r9
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r1, =SpriteCallbackDummy
- adds r2, r5, 0
- movs r3, 0x88
- bl sub_80D2D78
- ldr r1, [r6]
- movs r2, 0xBF
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
-_0801C5E0:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r6]
- ldrb r0, [r0, 0x9]
- cmp r7, r0
- bcc _0801C572
-_0801C5EE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801C4C0
-
- thumb_func_start sub_801C61C
-sub_801C61C: @ 801C61C
- push {r4-r7,lr}
- movs r5, 0
- ldr r4, =gUnknown_02022C74
- ldr r0, [r4]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801C640
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl sub_80D2EF8
-_0801C640:
- ldr r0, [r4]
- ldrb r2, [r0, 0x9]
- cmp r2, 0
- beq _0801C6B4
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0801C6B4
- cmp r5, r2
- bcs _0801C6A4
- adds r6, r4, 0
- ldr r7, =gSprites
-_0801C65A:
- ldr r0, [r6]
- lsls r4, r5, 1
- ldr r1, =0x0000017d
- adds r0, r1
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801C678
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl DestroySprite
-_0801C678:
- ldr r0, [r6]
- movs r2, 0xBF
- lsls r2, 1
- adds r0, r2
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801C696
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl sub_80D2EF8
-_0801C696:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r6]
- ldrb r0, [r0, 0x9]
- cmp r5, r0
- bcc _0801C65A
-_0801C6A4:
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
-_0801C6B4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801C61C
-
- thumb_func_start sub_801C6C8
-sub_801C6C8: @ 801C6C8
- push {r4-r6,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0801C6DE
- ldr r5, =gUnknown_02022C78
- ldr r0, =0x000013a4
- bl AllocZeroed
- str r0, [r5]
- cmp r0, 0
- bne _0801C6EC
-_0801C6DE:
- movs r0, 0
- b _0801C71C
- .pool
-_0801C6EC:
- movs r6, 0xDE
- lsls r6, 1
- adds r1, r4, 0
- adds r2, r6, 0
- bl memcpy
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x7
- bls _0801C704
- movs r0, 0
- strb r0, [r1, 0x3]
-_0801C704:
- ldr r2, [r5]
- adds r3, r2, r6
- ldrb r0, [r2, 0x3]
- lsls r0, 4
- ldr r1, =gUnknown_082F24C8
- adds r0, r1
- str r0, [r3]
- ldr r0, =0x000001c1
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
-_0801C71C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801C6C8
-
- thumb_func_start sub_801C72C
-sub_801C72C: @ 801C72C
- push {r4,lr}
- ldr r4, =gUnknown_02022C78
- ldr r0, [r4]
- cmp r0, 0
- beq _0801C748
- ldr r2, =0x000013a4
- movs r1, 0
- bl memset
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801C748:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801C72C
-
- thumb_func_start sub_801C758
-sub_801C758: @ 801C758
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r5, =gUnknown_02022C78
- ldr r0, [r5]
- cmp r0, 0
- bne _0801C778
- movs r0, 0x1
- negs r0, r0
- b _0801CA3A
- .pool
-_0801C778:
- movs r4, 0xE0
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- lsrs r0, 1
- cmp r0, 0x6
- bls _0801C788
- b _0801CA04
-_0801C788:
- lsls r0, 2
- ldr r1, =_0801C798
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801C798:
- .4byte _0801C7B4
- .4byte _0801C7C6
- .4byte _0801C82C
- .4byte _0801C8D4
- .4byte _0801C990
- .4byte _0801C996
- .4byte _0801C9A8
-_0801C7B4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0801CA1E
-_0801C7C6:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0801C7D2
- b _0801CA38
-_0801C7D2:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- ldr r1, =0x00001a98
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x1F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x1B
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- b _0801CA1E
- .pool
-_0801C82C:
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r5, =gUnknown_02022C78
- ldr r0, [r5]
- movs r1, 0xDE
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x8
- bl decompress_and_copy_tile_data_to_vram
- ldr r4, =gUnknown_082F1DE8
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- adds r4, 0x8
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- movs r3, 0xE5
- lsls r3, 1
- adds r1, r3
- strh r0, [r1]
- b _0801CA1E
- .pool
-_0801C8D4:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _0801C8E2
- b _0801CA38
-_0801C8E2:
- movs r0, 0x1
- bl stdpal_get
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r0, =gUnknown_02022C78
- mov r8, r0
- ldr r0, [r0]
- movs r4, 0xDE
- lsls r4, 1
- adds r0, r4
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- mov r2, r8
- ldr r1, [r2]
- adds r4, r1, r4
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- movs r6, 0xE9
- lsls r6, 2
- adds r1, r6
- bl LZ77UnCompWram
- mov r3, r8
- ldr r1, [r3]
- adds r1, r6
- movs r4, 0x1E
- str r4, [sp]
- movs r5, 0x3
- str r5, [sp, 0x4]
- str r7, [sp, 0x8]
- str r7, [sp, 0xC]
- str r4, [sp, 0x10]
- str r5, [sp, 0x14]
- movs r0, 0x1
- mov r10, r0
- str r0, [sp, 0x18]
- movs r2, 0x8
- mov r9, r2
- str r2, [sp, 0x1C]
- str r7, [sp, 0x20]
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- mov r3, r8
- ldr r1, [r3]
- adds r1, r6
- str r4, [sp]
- movs r0, 0x17
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- str r0, [sp, 0x14]
- mov r0, r10
- str r0, [sp, 0x18]
- mov r2, r9
- str r2, [sp, 0x1C]
- str r7, [sp, 0x20]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x3
- bl CopyRectToBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0801CA1E
- .pool
-_0801C990:
- bl sub_801CDCC
- b _0801CA1E
-_0801C996:
- bl sub_801CE7C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _0801CA1E
-_0801C9A8:
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r4, =gUnknown_02022C78
- ldr r1, [r4]
- movs r3, 0xE5
- lsls r3, 2
- adds r0, r1, r3
- movs r2, 0xE3
- lsls r2, 1
- adds r1, r2
- bl AddScrollIndicatorArrowPair
- ldr r1, [r4]
- ldr r3, =0x000001c1
- adds r2, r1, r3
- movs r1, 0
- strb r0, [r2]
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _0801CA1E
- .pool
-_0801CA04:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0801CA38
- ldr r0, [r5]
- adds r0, r4
- ldrb r2, [r0]
- movs r1, 0x1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1
- b _0801CA3A
-_0801CA1E:
- ldr r0, =gUnknown_02022C78
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r2, r0
- ldrb r3, [r2]
- lsrs r1, r3, 1
- adds r1, 0x1
- lsls r1, 1
- movs r0, 0x1
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_0801CA38:
- movs r0, 0
-_0801CA3A:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801C758
-
- thumb_func_start sub_801CA50
-sub_801CA50: @ 801CA50
- push {r4,r5,lr}
- sub sp, 0x8
- adds r2, r0, 0
- ldr r5, =gUnknown_02022C78
- ldr r0, [r5]
- cmp r0, 0
- bne _0801CA68
- movs r0, 0x1
- negs r0, r0
- b _0801CC2A
- .pool
-_0801CA68:
- movs r4, 0xE0
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- lsrs r0, 1
- cmp r0, 0x5
- bls _0801CA78
- b _0801CBF4
-_0801CA78:
- lsls r0, 2
- ldr r1, =_0801CA88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801CA88:
- .4byte _0801CAA0
- .4byte _0801CAB2
- .4byte _0801CAF4
- .4byte _0801CB54
- .4byte _0801CB84
- .4byte _0801CBC0
-_0801CAA0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0801CC0E
-_0801CAB2:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0801CABE
- b _0801CC28
-_0801CABE:
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- b _0801CC0E
-_0801CAF4:
- movs r4, 0x1E
- str r4, [sp]
- movs r5, 0x14
- str r5, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- movs r5, 0x18
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0801CC0E
-_0801CB54:
- movs r0, 0x1
- bl HideBg
- movs r0, 0x2
- bl HideBg
- ldr r4, =gUnknown_02022C78
- ldr r0, [r4]
- movs r1, 0xE5
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r4]
- movs r2, 0xE4
- lsls r2, 1
- adds r0, r2
- ldrb r0, [r0]
- bl RemoveWindow
- b _0801CC0E
- .pool
-_0801CB84:
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r4, =gUnknown_02022C78
- ldr r0, [r4]
- ldr r2, =0x000001c1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801CC0E
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r2, =0x000001c1
- adds r1, r0, r2
- movs r0, 0xFF
- strb r0, [r1]
- b _0801CC0E
- .pool
-_0801CBC0:
- ldr r0, =gUnknown_02022C60
- ldrb r0, [r0]
- adds r1, r2, 0
- bl sub_80186EC
- movs r0, 0x3
- bl sub_8018798
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0801CC0E
- .pool
-_0801CBF4:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0801CC28
- ldr r0, [r5]
- adds r0, r4
- ldrb r2, [r0]
- movs r1, 0x1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1
- b _0801CC2A
-_0801CC0E:
- ldr r0, =gUnknown_02022C78
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r2, r0
- ldrb r3, [r2]
- lsrs r1, r3, 1
- adds r1, 0x1
- lsls r1, 1
- movs r0, 0x1
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_0801CC28:
- movs r0, 0
-_0801CC2A:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801CA50
-
- thumb_func_start sub_801CC38
-sub_801CC38: @ 801CC38
- push {r4,r5,lr}
- ldr r4, =gUnknown_02022C78
- ldr r2, [r4]
- movs r5, 0xE0
- lsls r5, 1
- adds r0, r2, r5
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801CC72
- ldr r0, =0x000001c1
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0801CC72
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r2, =0x000001c1
- adds r1, r0, r2
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
-_0801CC72:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CC38
-
- thumb_func_start sub_801CC80
-sub_801CC80: @ 801CC80
- push {r4,lr}
- ldr r4, =gUnknown_02022C78
- ldr r2, [r4]
- movs r1, 0xE0
- lsls r1, 1
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801CCC0
- movs r3, 0xE5
- lsls r3, 2
- adds r0, r2, r3
- movs r3, 0xE3
- lsls r3, 1
- adds r1, r2, r3
- bl AddScrollIndicatorArrowPair
- ldr r1, [r4]
- ldr r2, =0x000001c1
- adds r1, r2
- strb r0, [r1]
- ldr r1, [r4]
- movs r3, 0xE0
- lsls r3, 1
- adds r1, r3
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0801CCC0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CC80
-
- thumb_func_start sub_801CCD0
-sub_801CCD0: @ 801CCD0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r3, r4, 0
- ldr r2, =gUnknown_02022C78
- ldr r0, [r2]
- mov r12, r0
- movs r0, 0xE1
- lsls r0, 1
- add r0, r12
- ldrb r1, [r0]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _0801CD00
- bl sub_801CFA4
-_0801CCF6:
- movs r0, 0xFF
- b _0801CDC6
- .pool
-_0801CD00:
- cmp r4, 0x2
- beq _0801CD1C
- cmp r4, 0x2
- bgt _0801CD0E
- cmp r4, 0x1
- beq _0801CD18
- b _0801CCF6
-_0801CD0E:
- cmp r3, 0x40
- beq _0801CD20
- cmp r3, 0x80
- beq _0801CD50
- b _0801CCF6
-_0801CD18:
- movs r0, 0
- b _0801CDC6
-_0801CD1C:
- movs r0, 0x1
- b _0801CDC6
-_0801CD20:
- movs r0, 0xE3
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801CCF6
- movs r0, 0xE0
- lsls r0, 1
- add r0, r12
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0801CCF6
- ldr r2, =0x000001c3
- add r2, r12
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- b _0801CD7E
- .pool
-_0801CD50:
- movs r0, 0xE3
- lsls r0, 1
- add r0, r12
- movs r1, 0xE2
- lsls r1, 1
- add r1, r12
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _0801CCF6
- movs r0, 0xE0
- lsls r0, 1
- add r0, r12
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0801CCF6
- ldr r2, =0x000001c3
- add r2, r12
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
-_0801CD7E:
- strb r0, [r2]
- ldr r2, [r6]
- movs r4, 0xE1
- lsls r4, 1
- adds r2, r4
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r3, [r6]
- adds r3, r4
- ldrb r1, [r3]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldr r1, [r6]
- adds r4, 0x1
- adds r1, r4
- ldrb r3, [r1]
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- ands r2, r0
- cmp r2, 0
- beq _0801CDC4
- movs r0, 0x3
- b _0801CDC6
- .pool
-_0801CDC4:
- movs r0, 0x2
-_0801CDC6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801CCD0
-
- thumb_func_start sub_801CDCC
-sub_801CDCC: @ 801CDCC
- push {r4-r6,lr}
- movs r5, 0
- ldr r4, =gUnknown_02022C78
- ldr r1, [r4]
- movs r2, 0xE7
- lsls r2, 1
- adds r0, r1, r2
- adds r1, 0x4
- movs r2, 0x28
- bl memcpy
- ldr r0, [r4]
- movs r3, 0xFB
- lsls r3, 1
- adds r1, r0, r3
- movs r0, 0xFF
- strb r0, [r1]
- adds r6, r4, 0
-_0801CDF0:
- ldr r2, [r6]
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r5
- adds r0, r4, r2
- ldr r3, =0x000001f7
- adds r0, r3
- adds r1, r2
- adds r1, 0x2C
- movs r2, 0x28
- bl memcpy
- ldr r0, [r6]
- ldr r1, =0x0000021f
- adds r0, r1
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
- cmp r5, 0x7
- bls _0801CE34
- ldr r1, [r6]
- ldr r2, =0x000001f7
- adds r0, r1, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0801CE34
- movs r3, 0xE2
- lsls r3, 1
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0801CE34:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _0801CDF0
- ldr r2, =gUnknown_02022C78
- ldr r1, [r2]
- movs r4, 0xE5
- lsls r4, 2
- adds r1, r4
- ldr r0, =gUnknown_082F1DF8
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, [r2]
- movs r5, 0xE2
- lsls r5, 1
- adds r0, r2, r5
- ldrh r1, [r0]
- movs r3, 0xE7
- lsls r3, 2
- adds r0, r2, r3
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CDCC
-
- thumb_func_start sub_801CE7C
-sub_801CE7C: @ 801CE7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- movs r5, 0
- ldr r6, =gUnknown_02022C78
- ldr r0, [r6]
- movs r7, 0xE4
- lsls r7, 1
- adds r0, r7
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r6]
- movs r4, 0xE5
- lsls r4, 1
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r6]
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r4, [r6]
- movs r0, 0xE7
- lsls r0, 1
- mov r8, r0
- add r4, r8
- movs r0, 0x3
- movs r1, 0x2
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x3
- adds r1, r4, 0
- bl GetStringWidth
- movs r1, 0xE0
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- cmp r1, 0
- bge _0801CEEC
- movs r1, 0
-_0801CEEC:
- ldr r4, [r6]
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r2, r1, 24
- lsrs r2, 24
- movs r3, 0xDE
- lsls r3, 1
- adds r1, r4, r3
- ldr r1, [r1]
- ldrb r1, [r1]
- lsls r1, 28
- lsrs r1, 28
- lsls r3, r1, 1
- adds r3, r1
- ldr r1, =gUnknown_082F1DE0
- adds r3, r1
- str r3, [sp]
- str r5, [sp, 0x4]
- add r4, r8
- str r4, [sp, 0x8]
- movs r1, 0x3
- movs r3, 0x6
- bl AddTextPrinterParameterized3
-_0801CF1C:
- ldr r6, =gUnknown_02022C78
- ldr r4, [r6]
- movs r1, 0xE5
- lsls r1, 1
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r3, r5, 4
- adds r3, 0x2
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0xDE
- lsls r2, 1
- adds r1, r4, r2
- ldr r1, [r1]
- ldrb r1, [r1]
- lsrs r1, 4
- lsls r2, r1, 1
- adds r2, r1
- ldr r1, =gUnknown_082F1DE0
- adds r2, r1
- str r2, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r5
- ldr r2, =0x000001f7
- adds r1, r2
- adds r4, r1
- str r4, [sp, 0x8]
- movs r1, 0x3
- movs r2, 0
- bl AddTextPrinterParameterized3
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _0801CF1C
- ldr r0, [r6]
- movs r3, 0xE4
- lsls r3, 1
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, [r6]
- movs r1, 0xE5
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CE7C
-
- thumb_func_start sub_801CFA4
-sub_801CFA4: @ 801CFA4
- push {r4-r6,lr}
- ldr r0, =gUnknown_02022C78
- ldr r1, [r0]
- movs r2, 0xE1
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsrs r4, r0, 1
- lsls r4, 8
- ldr r6, =0x000001c3
- adds r0, r1, r6
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801CFE4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x3
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- b _0801CFF8
- .pool
-_0801CFE4:
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x2
- bl ChangeBgY
- movs r0, 0x3
- adds r1, r4, 0
- movs r2, 0x2
- bl ChangeBgY
-_0801CFF8:
- ldr r3, =gUnknown_02022C78
- ldr r0, [r3]
- ldr r2, =0x000001c3
- adds r5, r0, r2
- ldrb r4, [r5]
- lsrs r1, r4, 1
- movs r6, 0xE1
- lsls r6, 1
- adds r0, r6
- ldrb r0, [r0]
- lsrs r0, 1
- adds r1, r0
- lsls r1, 1
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r4
- orrs r0, r1
- strb r0, [r5]
- ldr r1, [r3]
- adds r2, r1, r2
- ldrb r2, [r2]
- lsrs r0, r2, 1
- cmp r0, 0xF
- bls _0801D070
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- beq _0801D044
- movs r0, 0xE3
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- b _0801D04E
- .pool
-_0801D044:
- movs r2, 0xE3
- lsls r2, 1
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
-_0801D04E:
- strh r0, [r1]
- ldr r0, [r3]
- movs r6, 0xE1
- lsls r6, 1
- adds r2, r0, r6
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r1, =0x000001c3
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- strb r0, [r2]
-_0801D070:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801CFA4
-
- thumb_func_start mevent_srv_init_wnews
-mevent_srv_init_wnews: @ 801D07C
- push {r4,lr}
- ldr r4, =gUnknown_02022C7C
- movs r0, 0x60
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gUnknown_082F298C
- movs r2, 0
- movs r3, 0x1
- bl mevent_srv_init_common
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mevent_srv_init_wnews
-
- thumb_func_start mevent_srv_new_wcard
-mevent_srv_new_wcard: @ 801D0A0
- push {r4,lr}
- ldr r4, =gUnknown_02022C7C
- movs r0, 0x60
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gUnknown_082F29EC
- movs r2, 0
- movs r3, 0x1
- bl mevent_srv_init_common
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mevent_srv_new_wcard
-
- thumb_func_start sub_801D0C4
-sub_801D0C4: @ 801D0C4
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r4, =gUnknown_02022C7C
- ldr r0, [r4]
- cmp r0, 0
- bne _0801D0D8
- movs r0, 0x3
- b _0801D0F8
- .pool
-_0801D0D8:
- bl mevent_dispatch_08145600
- adds r5, r0, 0
- cmp r5, 0x3
- bne _0801D0F6
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- strh r1, [r6]
- bl mevent_srv_free_resources
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801D0F6:
- adds r0, r5, 0
-_0801D0F8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801D0C4
-
- thumb_func_start mevent_srv_init_common
-mevent_srv_init_common: @ 801D100
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r9, r3
- movs r5, 0
- str r5, [r4]
- str r5, [r4, 0x8]
- movs r0, 0xA6
- lsls r0, 1
- bl AllocZeroed
- str r0, [r4, 0x18]
- movs r0, 0xDE
- lsls r0, 1
- bl AllocZeroed
- str r0, [r4, 0x1C]
- movs r0, 0x80
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4, 0x14]
- movs r0, 0x64
- bl AllocZeroed
- str r0, [r4, 0x20]
- str r6, [r4, 0x10]
- str r5, [r4, 0xC]
- adds r4, 0x38
- adds r0, r4, 0
- mov r1, r8
- mov r2, r9
- bl sub_801D8D8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end mevent_srv_init_common
-
- thumb_func_start mevent_srv_free_resources
-mevent_srv_free_resources: @ 801D158
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x18]
- bl Free
- ldr r0, [r4, 0x1C]
- bl Free
- ldr r0, [r4, 0x14]
- bl Free
- ldr r0, [r4, 0x20]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end mevent_srv_free_resources
-
- thumb_func_start mevent_srv_814501C
-mevent_srv_814501C: @ 801D17C
- push {lr}
- adds r0, 0x38
- bl sub_801D904
- pop {r0}
- bx r0
- thumb_func_end mevent_srv_814501C
-
- thumb_func_start sub_801D188
-sub_801D188: @ 801D188
- push {lr}
- cmp r0, 0
- bne _0801D190
- adds r0, r1, 0
-_0801D190:
- pop {r1}
- bx r1
- thumb_func_end sub_801D188
-
- thumb_func_start sub_801D194
-sub_801D194: @ 801D194
- push {lr}
- cmp r1, r0
- bcs _0801D19E
- movs r0, 0
- b _0801D1A8
-_0801D19E:
- cmp r1, r0
- beq _0801D1A6
- movs r0, 0x2
- b _0801D1A8
-_0801D1A6:
- movs r0, 0x1
-_0801D1A8:
- pop {r1}
- bx r1
- thumb_func_end sub_801D194
-
- thumb_func_start sub_801D1AC
-sub_801D1AC: @ 801D1AC
- movs r1, 0x4
- str r1, [r0, 0x8]
- movs r0, 0
- bx lr
- thumb_func_end sub_801D1AC
-
- thumb_func_start sub_801D1B4
-sub_801D1B4: @ 801D1B4
- movs r0, 0x3
- bx lr
- thumb_func_end sub_801D1B4
-
- thumb_func_start sub_801D1B8
-sub_801D1B8: @ 801D1B8
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x38
- bl sub_801D8C0
- cmp r0, 0
- beq _0801D1CA
- movs r0, 0x4
- str r0, [r4, 0x8]
-_0801D1CA:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D1B8
-
- thumb_func_start sub_801D1D4
-sub_801D1D4: @ 801D1D4
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x38
- bl sub_801D8CC
- cmp r0, 0
- beq _0801D1E6
- movs r0, 0x4
- str r0, [r4, 0x8]
-_0801D1E6:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D1D4
-
- thumb_func_start sub_801D1F0
-sub_801D1F0: @ 801D1F0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0xC]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r2, [r5, 0x10]
- adds r3, r2, r1
- adds r0, 0x1
- str r0, [r5, 0xC]
- ldr r0, [r3]
- cmp r0, 0x1E
- bls _0801D20C
- b _0801D464
-_0801D20C:
- lsls r0, 2
- ldr r1, =_0801D21C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801D21C:
- .4byte _0801D298
- .4byte _0801D2A2
- .4byte _0801D2A8
- .4byte _0801D2E2
- .4byte _0801D2D8
- .4byte _0801D2BA
- .4byte _0801D2C6
- .4byte _0801D2EC
- .4byte _0801D300
- .4byte _0801D308
- .4byte _0801D31E
- .4byte _0801D32E
- .4byte _0801D33A
- .4byte _0801D360
- .4byte _0801D348
- .4byte _0801D390
- .4byte _0801D378
- .4byte _0801D3DC
- .4byte _0801D3A8
- .4byte _0801D3C0
- .4byte _0801D3CE
- .4byte _0801D406
- .4byte _0801D3EA
- .4byte _0801D3F8
- .4byte _0801D40E
- .4byte _0801D418
- .4byte _0801D422
- .4byte _0801D43C
- .4byte _0801D450
- .4byte _0801D458
- .4byte _0801D2CC
-_0801D298:
- movs r0, 0x1
- str r0, [r5, 0x8]
- ldr r0, [r3, 0x4]
- str r0, [r5, 0x4]
- b _0801D464
-_0801D2A2:
- movs r0, 0x3
- str r0, [r5, 0x8]
- b _0801D464
-_0801D2A8:
- adds r0, r5, 0
- adds r0, 0x38
- ldr r1, [r3, 0x4]
- ldr r2, [r5, 0x14]
- bl sub_801D928
- movs r0, 0x2
- str r0, [r5, 0x8]
- b _0801D464
-_0801D2BA:
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- movs r2, 0x64
- bl memcpy
- b _0801D464
-_0801D2C6:
- ldr r0, [r5, 0x20]
- movs r1, 0
- b _0801D2D0
-_0801D2CC:
- ldr r0, [r5, 0x20]
- movs r1, 0x1
-_0801D2D0:
- bl sub_801B6A0
- str r0, [r5, 0x4]
- b _0801D464
-_0801D2D8:
- ldr r1, [r5, 0x4]
- ldr r0, [r3, 0x4]
- cmp r1, r0
- beq _0801D2E2
- b _0801D464
-_0801D2E2:
- movs r0, 0
- str r0, [r5, 0xC]
- ldr r0, [r3, 0x8]
- str r0, [r5, 0x10]
- b _0801D464
-_0801D2EC:
- ldr r0, [r3, 0x8]
- ldr r1, [r5, 0x18]
- bl sub_801D188
- adds r2, r0, 0
- ldr r1, [r5, 0x20]
- bl sub_801B6EC
- str r0, [r5, 0x4]
- b _0801D464
-_0801D300:
- ldr r0, [r5, 0x14]
- ldr r0, [r0]
- str r0, [r5, 0x4]
- b _0801D464
-_0801D308:
- ldr r0, [r3, 0x8]
- adds r1, r5, 0
- adds r1, 0x34
- bl sub_801D188
- adds r2, r0, 0
- ldr r1, [r5, 0x20]
- bl sub_801B708
- str r0, [r5, 0x4]
- b _0801D464
-_0801D31E:
- ldr r0, [r5, 0x20]
- ldr r1, [r3, 0x4]
- bl sub_801B784
- lsls r0, 16
- lsrs r0, 16
- str r0, [r5, 0x4]
- b _0801D464
-_0801D32E:
- ldr r0, [r5, 0x20]
- ldr r1, [r3, 0x8]
- bl sub_801B748
- str r0, [r5, 0x4]
- b _0801D464
-_0801D33A:
- ldr r0, [r3, 0x8]
- ldr r1, [r5, 0x14]
- ldr r1, [r1]
- bl sub_801D194
- str r0, [r5, 0x4]
- b _0801D464
-_0801D348:
- ldr r0, [r3, 0x8]
- ldr r1, [r5, 0x1C]
- bl sub_801D188
- adds r2, r0, 0
- movs r3, 0xDE
- lsls r3, 1
- adds r0, r5, 0
- movs r1, 0x17
- bl mevent_srv_814501C
- b _0801D464
-_0801D360:
- ldr r0, [r3, 0x8]
- ldr r1, [r5, 0x18]
- bl sub_801D188
- adds r2, r0, 0
- movs r3, 0xA6
- lsls r3, 1
- adds r0, r5, 0
- movs r1, 0x16
- bl mevent_srv_814501C
- b _0801D464
-_0801D378:
- ldr r0, [r3, 0x8]
- adds r1, r5, 0
- adds r1, 0x34
- bl sub_801D188
- adds r2, r0, 0
- adds r0, r5, 0
- movs r1, 0x18
- movs r3, 0x4
- bl mevent_srv_814501C
- b _0801D464
-_0801D390:
- ldr r2, [r3, 0x8]
- cmp r2, 0
- bne _0801D39C
- ldr r2, [r5, 0x24]
- ldr r3, [r5, 0x28]
- b _0801D39E
-_0801D39C:
- ldr r3, [r3, 0x4]
-_0801D39E:
- adds r0, r5, 0
- movs r1, 0x19
- bl mevent_srv_814501C
- b _0801D464
-_0801D3A8:
- ldr r2, [r3, 0x8]
- cmp r2, 0
- bne _0801D3B4
- ldr r2, [r5, 0x2C]
- ldr r3, [r5, 0x30]
- b _0801D3B6
-_0801D3B4:
- ldr r3, [r3, 0x4]
-_0801D3B6:
- adds r0, r5, 0
- movs r1, 0x10
- bl mevent_srv_814501C
- b _0801D464
-_0801D3C0:
- ldr r2, [r3, 0x8]
- adds r0, r5, 0
- movs r1, 0x1A
- movs r3, 0xBC
- bl mevent_srv_814501C
- b _0801D464
-_0801D3CE:
- ldr r2, [r3, 0x8]
- ldr r3, [r3, 0x4]
- adds r0, r5, 0
- movs r1, 0x15
- bl mevent_srv_814501C
- b _0801D464
-_0801D3DC:
- ldr r2, [r3, 0x8]
- ldr r3, [r3, 0x4]
- adds r0, r5, 0
- movs r1, 0x1C
- bl mevent_srv_814501C
- b _0801D464
-_0801D3EA:
- ldr r0, [r5, 0x18]
- ldr r1, [r3, 0x8]
- movs r2, 0xA6
- lsls r2, 1
- bl memcpy
- b _0801D464
-_0801D3F8:
- ldr r0, [r5, 0x1C]
- ldr r1, [r3, 0x8]
- movs r2, 0xDE
- lsls r2, 1
- bl memcpy
- b _0801D464
-_0801D406:
- ldr r0, [r3, 0x8]
- ldr r0, [r0]
- str r0, [r5, 0x34]
- b _0801D464
-_0801D40E:
- ldr r0, [r3, 0x8]
- str r0, [r5, 0x24]
- ldr r0, [r3, 0x4]
- str r0, [r5, 0x28]
- b _0801D464
-_0801D418:
- ldr r0, [r3, 0x8]
- str r0, [r5, 0x2C]
- ldr r0, [r3, 0x4]
- str r0, [r5, 0x30]
- b _0801D464
-_0801D422:
- ldr r4, [r5, 0x18]
- bl sav1_get_mevent_buffer_1
- adds r1, r0, 0
- movs r2, 0xA6
- lsls r2, 1
- adds r0, r4, 0
- bl memcpy
- ldr r0, [r5, 0x18]
- bl sub_801B3C0
- b _0801D464
-_0801D43C:
- ldr r4, [r5, 0x1C]
- bl sub_801B00C
- adds r1, r0, 0
- movs r2, 0xDE
- lsls r2, 1
- adds r0, r4, 0
- bl memcpy
- b _0801D464
-_0801D450:
- bl sub_8099244
- str r0, [r5, 0x24]
- b _0801D464
-_0801D458:
- ldr r2, [r3, 0x8]
- ldr r3, [r3, 0x4]
- adds r0, r5, 0
- movs r1, 0x1B
- bl mevent_srv_814501C
-_0801D464:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801D1F0
-
- thumb_func_start mevent_dispatch_08145600
-mevent_dispatch_08145600: @ 801D46C
- push {lr}
- ldr r2, =gUnknown_082F2548
- ldr r1, [r0, 0x8]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r1}
- bx r1
- .pool
- thumb_func_end mevent_dispatch_08145600
-
- thumb_func_start sub_801D484
-sub_801D484: @ 801D484
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gUnknown_02022C80
- movs r0, 0x50
- bl AllocZeroed
- str r0, [r4]
- movs r1, 0x1
- movs r2, 0
- bl mevent_srv_ish_init
- ldr r0, [r4]
- str r5, [r0, 0x4C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801D484
-
- thumb_func_start sub_801D4A8
-sub_801D4A8: @ 801D4A8
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r4, =gUnknown_02022C80
- ldr r0, [r4]
- cmp r0, 0
- bne _0801D4BC
- movs r0, 0x6
- b _0801D4DC
- .pool
-_0801D4BC:
- bl mevent_srv_ish_exec
- adds r5, r0, 0
- cmp r5, 0x6
- bne _0801D4DA
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- strh r1, [r6]
- bl sub_801D55C
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801D4DA:
- adds r0, r5, 0
-_0801D4DC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801D4A8
-
- thumb_func_start sub_801D4E4
-sub_801D4E4: @ 801D4E4
- ldr r0, =gUnknown_02022C80
- ldr r1, [r0]
- ldr r0, [r1, 0xC]
- adds r0, 0x1
- str r0, [r1, 0xC]
- bx lr
- .pool
- thumb_func_end sub_801D4E4
-
- thumb_func_start sub_801D4F4
-sub_801D4F4: @ 801D4F4
- ldr r0, =gUnknown_02022C80
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- bx lr
- .pool
- thumb_func_end sub_801D4F4
-
- thumb_func_start sub_801D500
-sub_801D500: @ 801D500
- ldr r1, =gUnknown_02022C80
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_801D500
-
- thumb_func_start mevent_srv_ish_init
-mevent_srv_ish_init: @ 801D50C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- movs r0, 0
- str r0, [r4]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- movs r5, 0x80
- lsls r5, 3
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4, 0x14]
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4, 0x18]
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4, 0x1C]
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4, 0x20]
- adds r4, 0x24
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r8
- bl sub_801D8D8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end mevent_srv_ish_init
-
- thumb_func_start sub_801D55C
-sub_801D55C: @ 801D55C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- bl Free
- ldr r0, [r4, 0x18]
- bl Free
- ldr r0, [r4, 0x1C]
- bl Free
- ldr r0, [r4, 0x20]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D55C
-
- thumb_func_start sub_801D580
-sub_801D580: @ 801D580
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x1C]
- ldr r1, [r4, 0x18]
- movs r2, 0x80
- lsls r2, 3
- bl memcpy
- movs r0, 0
- str r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D580
-
- thumb_func_start sub_801D59C
-sub_801D59C: @ 801D59C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r0, 0
- str r0, [sp]
- ldr r1, [r4, 0x14]
- ldr r2, =0x05000100
- mov r0, sp
- bl CpuSet
- ldr r2, [r4, 0x14]
- str r5, [r2]
- adds r4, 0x24
- adds r0, r4, 0
- adds r1, r6, 0
- movs r3, 0x4
- bl sub_801D904
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801D59C
-
- thumb_func_start sub_801D5D0
-sub_801D5D0: @ 801D5D0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x1C]
- ldr r1, =gUnknown_082F2598
- movs r2, 0x80
- lsls r2, 3
- bl memcpy
- movs r1, 0
- str r1, [r4, 0x10]
- movs r0, 0x4
- str r0, [r4, 0x8]
- str r1, [r4, 0xC]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801D5D0
-
- thumb_func_start sub_801D5F8
-sub_801D5F8: @ 801D5F8
- movs r0, 0x6
- bx lr
- thumb_func_end sub_801D5F8
-
- thumb_func_start sub_801D5FC
-sub_801D5FC: @ 801D5FC
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x24
- bl sub_801D8C0
- cmp r0, 0
- beq _0801D612
- movs r0, 0x4
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
-_0801D612:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D5FC
-
- thumb_func_start sub_801D61C
-sub_801D61C: @ 801D61C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x24
- bl sub_801D8CC
- cmp r0, 0
- beq _0801D632
- movs r0, 0x4
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
-_0801D632:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D61C
-
- thumb_func_start sub_801D63C
-sub_801D63C: @ 801D63C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x10]
- lsls r2, r0, 3
- ldr r1, [r4, 0x1C]
- adds r2, r1, r2
- adds r0, 0x1
- str r0, [r4, 0x10]
- ldr r0, [r2]
- cmp r0, 0x15
- bls _0801D654
- b _0801D804
-_0801D654:
- lsls r0, 2
- ldr r1, =_0801D664
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801D664:
- .4byte _0801D804
- .4byte _0801D6BC
- .4byte _0801D6C4
- .4byte _0801D6D4
- .4byte _0801D70E
- .4byte _0801D716
- .4byte _0801D6FE
- .4byte _0801D708
- .4byte _0801D764
- .4byte _0801D790
- .4byte _0801D788
- .4byte _0801D72C
- .4byte _0801D742
- .4byte _0801D758
- .4byte _0801D77C
- .4byte _0801D7B8
- .4byte _0801D7BC
- .4byte _0801D7C4
- .4byte _0801D7D0
- .4byte _0801D6EA
- .4byte _0801D6D8
- .4byte _0801D7F0
-_0801D6BC:
- ldr r0, [r2, 0x4]
- str r0, [r4, 0x4]
- movs r0, 0x1
- b _0801D7FE
-_0801D6C4:
- adds r0, r4, 0
- adds r0, 0x24
- ldr r1, [r2, 0x4]
- ldr r2, [r4, 0x18]
- bl sub_801D928
- movs r0, 0x2
- b _0801D7FE
-_0801D6D4:
- movs r0, 0x3
- b _0801D7FE
-_0801D6D8:
- adds r0, r4, 0
- adds r0, 0x24
- ldr r2, [r4, 0x14]
- movs r1, 0x14
- movs r3, 0
- bl sub_801D904
- movs r0, 0x3
- b _0801D7FE
-_0801D6EA:
- ldrb r0, [r2, 0x4]
- bl GetGameStat
- adds r2, r0, 0
- adds r0, r4, 0
- movs r1, 0x12
- bl sub_801D59C
- movs r0, 0x3
- b _0801D7FE
-_0801D6FE:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0801D706
- b _0801D804
-_0801D706:
- b _0801D70E
-_0801D708:
- ldr r0, [r4, 0x4]
- cmp r0, 0x1
- bne _0801D804
-_0801D70E:
- adds r0, r4, 0
- bl sub_801D580
- b _0801D804
-_0801D716:
- ldr r0, [r4, 0x20]
- ldr r1, [r4, 0x18]
- movs r2, 0x40
- bl memcpy
- movs r0, 0x5
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- movs r0, 0x2
- b _0801D806
-_0801D72C:
- ldr r0, [r4, 0x20]
- ldr r1, [r4, 0x18]
- movs r2, 0x40
- bl memcpy
- movs r0, 0x5
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- movs r0, 0x3
- b _0801D806
-_0801D742:
- ldr r0, [r4, 0x20]
- ldr r1, [r4, 0x18]
- movs r2, 0x40
- bl memcpy
- movs r0, 0x5
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- movs r0, 0x5
- b _0801D806
-_0801D758:
- movs r0, 0x5
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- movs r0, 0x4
- b _0801D806
-_0801D764:
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x4C]
- bl sub_801B580
- adds r0, r4, 0
- adds r0, 0x24
- ldr r2, [r4, 0x14]
- movs r1, 0x11
- movs r3, 0x64
- bl sub_801D904
- b _0801D804
-_0801D77C:
- ldr r2, [r4, 0x4]
- adds r0, r4, 0
- movs r1, 0x13
- bl sub_801D59C
- b _0801D804
-_0801D788:
- ldr r0, [r4, 0x18]
- bl sub_801B21C
- b _0801D804
-_0801D790:
- ldr r0, [r4, 0x18]
- bl sub_801B1A4
- cmp r0, 0
- bne _0801D7AC
- ldr r0, [r4, 0x18]
- bl sub_801B078
- adds r0, r4, 0
- movs r1, 0x13
- movs r2, 0
- bl sub_801D59C
- b _0801D804
-_0801D7AC:
- adds r0, r4, 0
- movs r1, 0x13
- movs r2, 0x1
- bl sub_801D59C
- b _0801D804
-_0801D7B8:
- movs r0, 0x6
- b _0801D7FE
-_0801D7BC:
- ldr r0, [r4, 0x18]
- bl sub_801B508
- b _0801D804
-_0801D7C4:
- ldr r0, [r4, 0x18]
- movs r1, 0xFA
- lsls r1, 2
- bl sub_80992A0
- b _0801D804
-_0801D7D0:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bec
- adds r0, r1
- ldr r1, [r4, 0x18]
- movs r2, 0xBC
- bl memcpy
- bl ValidateEReaderTrainer
- b _0801D804
- .pool
-_0801D7F0:
- ldr r0, =gDecompressionBuffer
- ldr r1, [r4, 0x18]
- movs r2, 0x80
- lsls r2, 3
- bl memcpy
- movs r0, 0x7
-_0801D7FE:
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
-_0801D804:
- movs r0, 0x1
-_0801D806:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801D63C
-
- thumb_func_start sub_801D810
-sub_801D810: @ 801D810
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _0801D822
- movs r0, 0x4
- str r0, [r1, 0x8]
- movs r0, 0
- str r0, [r1, 0xC]
-_0801D822:
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_801D810
-
- thumb_func_start sub_801D828
-sub_801D828: @ 801D828
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0801D838
- cmp r0, 0x1
- beq _0801D846
- b _0801D858
-_0801D838:
- ldr r0, [r4, 0x18]
- bl sub_8153870
- ldr r0, [r4, 0xC]
- adds r0, 0x1
- str r0, [r4, 0xC]
- b _0801D858
-_0801D846:
- adds r0, r4, 0x4
- bl sub_8153884
- adds r1, r0, 0
- cmp r1, 0
- bne _0801D858
- movs r0, 0x4
- str r0, [r4, 0x8]
- str r1, [r4, 0xC]
-_0801D858:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D828
-
- thumb_func_start sub_801D860
-sub_801D860: @ 801D860
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, =gDecompressionBuffer
- adds r0, r4, 0x4
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- bl _call_via_r3
- cmp r0, 0x1
- bne _0801D880
- movs r0, 0x4
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
-_0801D880:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801D860
-
- thumb_func_start mevent_srv_ish_exec
-mevent_srv_ish_exec: @ 801D894
- push {r4,r5,lr}
- sub sp, 0x20
- mov r2, sp
- ldr r1, =gUnknown_082F255C
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3,r4}
- stm r2!, {r3,r4}
- ldr r1, [r0, 0x8]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- bl _call_via_r1
- add sp, 0x20
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end mevent_srv_ish_exec
-
- thumb_func_start sub_801D8C0
-sub_801D8C0: @ 801D8C0
- push {lr}
- ldr r1, [r0, 0x20]
- bl _call_via_r1
- pop {r1}
- bx r1
- thumb_func_end sub_801D8C0
-
- thumb_func_start sub_801D8CC
-sub_801D8CC: @ 801D8CC
- push {lr}
- ldr r1, [r0, 0x24]
- bl _call_via_r1
- pop {r1}
- bx r1
- thumb_func_end sub_801D8CC
-
- thumb_func_start sub_801D8D8
-sub_801D8D8: @ 801D8D8
- movs r3, 0
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x5]
- str r3, [r0]
- strh r3, [r0, 0x12]
- strh r3, [r0, 0x14]
- strh r3, [r0, 0x10]
- strh r3, [r0, 0xA]
- strh r3, [r0, 0xC]
- strh r3, [r0, 0x8]
- str r3, [r0, 0x1C]
- str r3, [r0, 0x18]
- ldr r1, =sub_801DA5C
- str r1, [r0, 0x24]
- ldr r1, =sub_801D988
- str r1, [r0, 0x20]
- bx lr
- .pool
- thumb_func_end sub_801D8D8
-
- thumb_func_start sub_801D904
-sub_801D904: @ 801D904
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- str r0, [r4]
- strh r1, [r4, 0xE]
- strh r0, [r4, 0x10]
- strh r0, [r4, 0x12]
- cmp r3, 0
- beq _0801D91A
- strh r3, [r4, 0x14]
- b _0801D920
-_0801D91A:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r4, 0x14]
-_0801D920:
- str r2, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D904
-
- thumb_func_start sub_801D928
-sub_801D928: @ 801D928
- movs r3, 0
- str r3, [r0]
- strh r1, [r0, 0x6]
- strh r3, [r0, 0x8]
- strh r3, [r0, 0xA]
- strh r3, [r0, 0xC]
- str r2, [r0, 0x18]
- bx lr
- thumb_func_end sub_801D928
-
- thumb_func_start sub_801D938
-sub_801D938: @ 801D938
- push {lr}
- adds r3, r0, 0
- adds r0, r1, 0
- lsls r3, 8
- ldr r1, =gBlockRecvBuffer
- adds r3, r1
- adds r1, r3, 0
- bl memcpy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801D938
-
- thumb_func_start sub_801D954
-sub_801D954: @ 801D954
- push {r4,lr}
- adds r4, r0, 0
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801D96E
- movs r0, 0
- b _0801D970
-_0801D96E:
- movs r0, 0x1
-_0801D970:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D954
-
- thumb_func_start sub_801D978
-sub_801D978: @ 801D978
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl ResetBlockReceivedFlag
- pop {r0}
- bx r0
- thumb_func_end sub_801D978
-
- thumb_func_start sub_801D988
-sub_801D988: @ 801D988
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r6, [r5]
- cmp r6, 0x1
- beq _0801D9EC
- cmp r6, 0x1
- bgt _0801D99E
- cmp r6, 0
- beq _0801D9A4
- b _0801DA52
-_0801D99E:
- cmp r6, 0x2
- beq _0801DA38
- b _0801DA52
-_0801D9A4:
- ldrb r0, [r5, 0x5]
- bl sub_801D954
- cmp r0, 0
- beq _0801DA52
- ldrb r0, [r5, 0x5]
- mov r4, sp
- mov r1, sp
- movs r2, 0x8
- bl sub_801D938
- ldrh r1, [r4, 0x4]
- strh r1, [r5, 0xC]
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0xA]
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 19
- cmp r1, r0
- bls _0801D9D2
-_0801D9CC:
- bl sub_8010198
- b _0801DA52
-_0801D9D2:
- mov r1, sp
- ldrh r0, [r5, 0x6]
- ldrh r1, [r1]
- cmp r0, r1
- bne _0801D9CC
- strh r6, [r5, 0x8]
- ldrb r0, [r5, 0x5]
- bl sub_801D978
- ldr r0, [r5]
- adds r0, 0x1
- str r0, [r5]
- b _0801DA52
-_0801D9EC:
- ldrb r0, [r5, 0x5]
- bl sub_801D954
- cmp r0, 0
- beq _0801DA52
- ldrh r0, [r5, 0x8]
- lsls r1, r0, 6
- subs r1, r0
- lsls r3, r1, 2
- ldrh r0, [r5, 0xC]
- subs r2, r0, r3
- cmp r2, 0xFC
- bhi _0801DA1E
- ldrb r0, [r5, 0x5]
- ldr r1, [r5, 0x18]
- adds r1, r3
- bl sub_801D938
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- ldr r0, [r5]
- adds r0, 0x1
- str r0, [r5]
- b _0801DA30
-_0801DA1E:
- ldrb r0, [r5, 0x5]
- ldr r1, [r5, 0x18]
- adds r1, r3
- movs r2, 0xFC
- bl sub_801D938
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0801DA30:
- ldrb r0, [r5, 0x5]
- bl sub_801D978
- b _0801DA52
-_0801DA38:
- ldr r0, [r5, 0x18]
- ldrh r1, [r5, 0xC]
- bl CalcCRC16WithTable
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r5, 0xA]
- cmp r0, r1
- bne _0801D9CC
- movs r0, 0
- str r0, [r5]
- movs r0, 0x1
- b _0801DA54
-_0801DA52:
- movs r0, 0
-_0801DA54:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801D988
-
- thumb_func_start sub_801DA5C
-sub_801DA5C: @ 801DA5C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r5, [r4]
- cmp r5, 0x1
- beq _0801DAC8
- cmp r5, 0x1
- bgt _0801DA72
- cmp r5, 0
- beq _0801DA7C
- b _0801DB5E
-_0801DA72:
- cmp r5, 0x2
- beq _0801DB1C
- cmp r5, 0x3
- beq _0801DB46
- b _0801DB5E
-_0801DA7C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801DB5E
- ldrh r1, [r4, 0xE]
- ldr r2, =0xffff0000
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r4, 0x14]
- ldr r0, [sp, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r4, 0x1C]
- bl CalcCRC16WithTable
- lsls r0, 16
- ldr r2, =0x0000ffff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- lsrs r1, 16
- strh r1, [r4, 0x12]
- strh r5, [r4, 0x10]
- movs r0, 0
- mov r1, sp
- movs r2, 0x8
- bl SendBlock
- b _0801DB3E
- .pool
-_0801DAC8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801DB5E
- ldrb r0, [r4, 0x4]
- bl sub_801D954
- cmp r0, 0
- beq _0801DB5E
- ldrb r0, [r4, 0x4]
- bl sub_801D978
- ldrh r1, [r4, 0x10]
- lsls r0, r1, 6
- subs r0, r1
- lsls r3, r0, 2
- ldrh r0, [r4, 0x14]
- subs r0, r3
- cmp r0, 0xFC
- bhi _0801DB08
- ldr r1, [r4, 0x1C]
- adds r1, r3
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0
- bl SendBlock
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- b _0801DB3E
-_0801DB08:
- ldr r1, [r4, 0x1C]
- adds r1, r3
- movs r0, 0
- movs r2, 0xFC
- bl SendBlock
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- b _0801DB5E
-_0801DB1C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801DB5E
- ldr r0, [r4, 0x1C]
- ldrh r1, [r4, 0x14]
- bl CalcCRC16WithTable
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x12]
- cmp r0, r1
- beq _0801DB3E
- bl sub_8010198
- b _0801DB5E
-_0801DB3E:
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- b _0801DB5E
-_0801DB46:
- ldrb r0, [r4, 0x4]
- bl sub_801D954
- cmp r0, 0
- beq _0801DB5E
- ldrb r0, [r4, 0x4]
- bl sub_801D978
- movs r0, 0
- str r0, [r4]
- movs r0, 0x1
- b _0801DB60
-_0801DB5E:
- movs r0, 0
-_0801DB60:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801DA5C
-
- thumb_func_start sub_801DB68
-sub_801DB68: @ 801DB68
- push {r4,r5,lr}
- adds r4, r0, 0
- bl GetSaveBlock1Field356C
- adds r5, r0, 0
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r5]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- cmp r4, 0x2
- bhi _0801DB8E
- cmp r4, 0x1
- bcs _0801DB94
- b _0801DBB8
-_0801DB8E:
- cmp r4, 0x3
- beq _0801DBA6
- b _0801DBB8
-_0801DB94:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- bl __umodsi3
- adds r0, 0x10
- b _0801DBB6
-_0801DBA6:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- bl __umodsi3
- adds r0, 0x1
-_0801DBB6:
- strb r0, [r5, 0x1]
-_0801DBB8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801DB68
-
- thumb_func_start sub_801DBC0
-sub_801DBC0: @ 801DBC0
- push {lr}
- bl GetSaveBlock1Field356C
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0, 0x1]
- ldr r0, =0x0000402e
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DBC0
-
- thumb_func_start sub_801DBDC
-sub_801DBDC: @ 801DBDC
- push {r4,lr}
- ldr r0, =0x0000402e
- bl GetVarPointer
- adds r4, r0, 0
- bl GetSaveBlock1Field356C
- adds r2, r0, 0
- ldr r0, [r2]
- lsls r0, 24
- lsrs r0, 29
- cmp r0, 0x4
- bls _0801DC10
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- ldr r1, =0x01f30000
- cmp r0, r1
- bls _0801DC10
- ldrb r0, [r2]
- movs r1, 0x1F
- ands r1, r0
- strb r1, [r2]
- movs r0, 0
- strh r0, [r4]
-_0801DC10:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DBDC
-
- thumb_func_start sub_801DC20
-sub_801DC20: @ 801DC20
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_Result
- bl GetSaveBlock1Field356C
- adds r4, r0, 0
- bl IsMysteryEventEnabled
- cmp r0, 0
- beq _0801DC3A
- bl sub_801B0CC
- cmp r0, 0
- bne _0801DC44
-_0801DC3A:
- movs r0, 0
- b _0801DCA6
- .pool
-_0801DC44:
- adds r0, r4, 0
- bl sub_801DD44
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bhi _0801DCA4
- lsls r0, r5, 2
- ldr r1, =_0801DC60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801DC60:
- .4byte _0801DCA4
- .4byte _0801DC7C
- .4byte _0801DC7C
- .4byte _0801DCA4
- .4byte _0801DC86
- .4byte _0801DC96
- .4byte _0801DCA4
-_0801DC7C:
- adds r0, r4, 0
- bl sub_801DCAC
- strh r0, [r6]
- b _0801DCA4
-_0801DC86:
- adds r0, r4, 0
- bl sub_801DCAC
- strh r0, [r6]
- adds r0, r4, 0
- bl sub_801DCD8
- b _0801DCA4
-_0801DC96:
- adds r0, r4, 0
- bl sub_801DCAC
- strh r0, [r6]
- adds r0, r4, 0
- bl sub_801DCCC
-_0801DCA4:
- adds r0, r5, 0
-_0801DCA6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801DC20
-
- thumb_func_start sub_801DCAC
-sub_801DCAC: @ 801DCAC
- push {r4,lr}
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r4, [r0, 0x1]
- adds r4, 0x84
- movs r1, 0
- strb r1, [r0, 0x1]
- bl sub_801DD10
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801DCAC
-
- thumb_func_start sub_801DCCC
-sub_801DCCC: @ 801DCCC
- ldrb r2, [r0]
- movs r1, 0x1D
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_801DCCC
-
- thumb_func_start sub_801DCD8
-sub_801DCD8: @ 801DCD8
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, [r3]
- lsls r0, 27
- lsrs r0, 29
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- lsls r0, 2
- ldrb r1, [r3]
- movs r4, 0x1D
- negs r4, r4
- adds r2, r4, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r3]
- ldr r0, [r3]
- lsls r0, 27
- lsrs r0, 29
- cmp r0, 0x4
- bls _0801DD0A
- ands r2, r4
- movs r0, 0x10
- orrs r2, r0
- strb r2, [r3]
-_0801DD0A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801DCD8
-
- thumb_func_start sub_801DD10
-sub_801DD10: @ 801DD10
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, [r3]
- lsls r0, 24
- lsrs r0, 29
- adds r0, 0x1
- lsls r0, 5
- ldrb r1, [r3]
- movs r4, 0x1F
- adds r2, r4, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r3]
- ldr r0, [r3]
- lsls r0, 24
- lsrs r0, 29
- cmp r0, 0x5
- bls _0801DD3C
- ands r2, r4
- movs r0, 0xA0
- orrs r2, r0
- strb r2, [r3]
-_0801DD3C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801DD10
-
- thumb_func_start sub_801DD44
-sub_801DD44: @ 801DD44
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2]
- movs r0, 0xE0
- ands r0, r1
- cmp r0, 0xA0
- bne _0801DD56
- movs r0, 0x6
- b _0801DD92
-_0801DD56:
- ldr r1, [r2]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x1
- beq _0801DD78
- cmp r0, 0x1
- bgt _0801DD6A
- cmp r0, 0
- beq _0801DD74
- b _0801DD90
-_0801DD6A:
- cmp r0, 0x2
- beq _0801DD7C
- cmp r0, 0x3
- beq _0801DD80
- b _0801DD90
-_0801DD74:
- movs r0, 0x3
- b _0801DD92
-_0801DD78:
- movs r0, 0x1
- b _0801DD92
-_0801DD7C:
- movs r0, 0x2
- b _0801DD92
-_0801DD80:
- lsls r0, r1, 27
- lsrs r0, 29
- cmp r0, 0x2
- bhi _0801DD8C
- movs r0, 0x4
- b _0801DD92
-_0801DD8C:
- movs r0, 0x5
- b _0801DD92
-_0801DD90:
- movs r0, 0
-_0801DD92:
- pop {r1}
- bx r1
- thumb_func_end sub_801DD44
-
- thumb_func_start sub_801DD98
-sub_801DD98: @ 801DD98
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- movs r0, 0xDE
- lsls r0, 1
- bl Alloc
- str r0, [r4]
- bl sub_801DDD0
- ldr r1, =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =c2_081284E0
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DD98
-
- thumb_func_start sub_801DDD0
-sub_801DDD0: @ 801DDD0
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- strb r5, [r4, 0x10]
- strb r5, [r4, 0x11]
- strb r5, [r4, 0x12]
- strb r5, [r4, 0x14]
- strb r5, [r4, 0x15]
- strb r5, [r4, 0x16]
- movs r0, 0xFF
- strb r0, [r4, 0x1A]
- bl GetLinkPlayerCount
- strb r0, [r4, 0xD]
- bl GetMultiplayerId
- strb r0, [r4, 0x13]
- strb r5, [r4, 0x17]
- strb r5, [r4, 0x18]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r4, r1
- bl sub_801EF1C
- ldr r7, =gSaveBlock1Ptr
- ldr r6, =0x00003c88
- adds r4, 0xB9
- movs r5, 0x9
-_0801DE0E:
- ldr r1, [r7]
- adds r1, r6
- adds r0, r4, 0
- bl StringCopy
- adds r6, 0x15
- adds r4, 0x15
- subs r5, 0x1
- cmp r5, 0
- bge _0801DE0E
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DDD0
-
- thumb_func_start sub_801DE30
-sub_801DE30: @ 801DE30
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- bl DestroyTask
- ldr r0, [r4]
- ldrb r0, [r0, 0xF]
- bl DestroyTask
- ldr r0, [r4]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DE30
-
- thumb_func_start c2_081284E0
-c2_081284E0: @ 801DE54
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _0801DE8C
- cmp r0, 0x1
- bgt _0801DE74
- cmp r0, 0
- beq _0801DE7A
- b _0801DF04
- .pool
-_0801DE74:
- cmp r0, 0x2
- beq _0801DEC8
- b _0801DF04
-_0801DE7A:
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl sub_801F4D0
- b _0801DEBC
-_0801DE8C:
- bl sub_801F5B8
- bl sub_801F534
- adds r5, r0, 0
- cmp r5, 0
- bne _0801DF04
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_801DF20
- bl SetVBlankCallback
-_0801DEBC:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _0801DF04
- .pool
-_0801DEC8:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0801DF04
- ldr r0, =sub_801DF38
- bl SetMainCallback2
- ldr r0, =sub_801DF54
- movs r1, 0x8
- bl CreateTask
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- strb r0, [r1, 0xE]
- ldr r0, =sub_801F2B4
- movs r1, 0x7
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0xF]
- bl sub_800E0E8
- movs r0, 0xE8
- movs r1, 0x96
- bl CreateWirelessStatusIndicatorSprite
-_0801DF04:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_081284E0
-
- thumb_func_start sub_801DF20
-sub_801DF20: @ 801DF20
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl ScanlineEffect_InitHBlankDmaTransfer
- pop {r0}
- bx r0
- thumb_func_end sub_801DF20
-
- thumb_func_start sub_801DF38
-sub_801DF38: @ 801DF38
- push {lr}
- bl RunTasks
- bl sub_801F5B8
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_801DF38
-
- thumb_func_start sub_801DF54
-sub_801DF54: @ 801DF54
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- cmp r0, 0x2
- beq _0801DF7A
- cmp r0, 0x2
- bgt _0801DF70
- cmp r0, 0x1
- beq _0801DF76
- b _0801DF8A
- .pool
-_0801DF70:
- cmp r0, 0x3
- beq _0801DF7E
- b _0801DF8A
-_0801DF76:
- movs r0, 0x6
- b _0801DF80
-_0801DF7A:
- movs r0, 0x7
- b _0801DF80
-_0801DF7E:
- movs r0, 0x8
-_0801DF80:
- bl sub_801EBD4
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x17]
-_0801DF8A:
- ldr r1, =gUnknown_082F2A7C
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801DF54
-
- thumb_func_start sub_801DFAC
-sub_801DFAC: @ 801DFAC
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrh r1, [r0, 0x6]
- cmp r1, 0x1
- beq _0801DFE0
- cmp r1, 0x1
- bgt _0801DFC8
- cmp r1, 0
- beq _0801DFCE
- b _0801E028
- .pool
-_0801DFC8:
- cmp r1, 0x2
- beq _0801E018
- b _0801E028
-_0801DFCE:
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bl sub_801EF24
- ldr r1, [r4]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
-_0801DFE0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E028
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E028
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0801E028
- ldr r1, [r4]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E028
- .pool
-_0801E018:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E028
- movs r0, 0x1
- bl sub_801EBD4
-_0801E028:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801DFAC
-
- thumb_func_start sub_801E030
-sub_801E030: @ 801E030
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C84
- ldr r3, [r5]
- ldrh r0, [r3, 0x6]
- cmp r0, 0
- beq _0801E048
- cmp r0, 0x1
- beq _0801E0F6
- b _0801E118
- .pool
-_0801E048:
- ldr r1, =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0801E068
- ldrb r0, [r3, 0x15]
- cmp r0, 0
- beq _0801E118
- movs r0, 0x4
- bl sub_801EBD4
- b _0801E118
- .pool
-_0801E068:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _0801E078
- movs r0, 0x2
- bl sub_801EBD4
- b _0801E118
-_0801E078:
- ldrh r1, [r1, 0x30]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0801E0A4
- ldrb r0, [r3, 0x15]
- cmp r0, 0
- beq _0801E09C
- bl sub_801ED68
- movs r0, 0x8
- movs r1, 0
- bl sub_801F5EC
- ldr r1, [r5]
- movs r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E118
-_0801E09C:
- movs r0, 0x3
- bl sub_801EBD4
- b _0801E118
-_0801E0A4:
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _0801E0C0
- bl sub_801EC94
- movs r0, 0x8
- movs r1, 0
- bl sub_801F5EC
- movs r0, 0x2
- movs r1, 0x1
- b _0801E0EC
-_0801E0C0:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0801E0E0
- ldrb r0, [r3, 0x10]
- cmp r0, 0x3
- beq _0801E0D8
- bl sub_801ED94
- movs r0, 0x8
- b _0801E0EA
-_0801E0D8:
- movs r0, 0x5
- bl sub_801EBD4
- b _0801E118
-_0801E0E0:
- bl sub_801EBE4
- cmp r0, 0
- beq _0801E118
- movs r0, 0x1
-_0801E0EA:
- movs r1, 0
-_0801E0EC:
- bl sub_801F5EC
- ldr r0, [r5]
- strh r4, [r0, 0x6]
- b _0801E118
-_0801E0F6:
- movs r0, 0
- bl sub_801F644
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_801F644
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0
- bne _0801E118
- cmp r1, 0
- bne _0801E118
- ldr r0, [r5]
- strh r1, [r0, 0x6]
-_0801E118:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801E030
-
- thumb_func_start sub_801E120
-sub_801E120: @ 801E120
- push {r4-r6,lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrh r0, [r0, 0x6]
- cmp r0, 0x4
- bls _0801E12E
- b _0801E23A
-_0801E12E:
- lsls r0, 2
- ldr r1, =_0801E140
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E140:
- .4byte _0801E154
- .4byte _0801E15E
- .4byte _0801E17C
- .4byte _0801E208
- .4byte _0801E21C
-_0801E154:
- movs r0, 0x3
- movs r1, 0
- bl sub_801F5EC
- b _0801E16A
-_0801E15E:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E23A
-_0801E16A:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E23A
- .pool
-_0801E17C:
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r0, 8
- lsrs r6, r0, 16
- asrs r4, r0, 16
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0801E1B4
- adds r0, 0x1
- cmp r4, r0
- beq _0801E1D4
- movs r0, 0x4
- movs r1, 0
- bl sub_801F5EC
- ldr r5, =gUnknown_02022C84
- ldr r2, [r5]
- ldrb r0, [r2, 0x10]
- cmp r0, r4
- beq _0801E1DC
- cmp r4, 0x3
- ble _0801E1EC
- b _0801E1DC
- .pool
-_0801E1B4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0801E23A
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl Menu_MoveCursor
- b _0801E23A
- .pool
-_0801E1D4:
- movs r0, 0x4
- movs r1, 0
- bl sub_801F5EC
-_0801E1DC:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
- strh r0, [r1, 0x6]
- b _0801E23A
- .pool
-_0801E1EC:
- movs r1, 0
- strb r1, [r2, 0x11]
- ldr r0, [r5]
- strb r1, [r0, 0x12]
- movs r0, 0x5
- movs r1, 0x1
- bl sub_801F5EC
- ldr r0, [r5]
- strb r6, [r0, 0x10]
- ldr r1, [r5]
- movs r0, 0x4
- strh r0, [r1, 0x6]
- b _0801E23A
-_0801E208:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E23A
- movs r0, 0x1
- bl sub_801EBD4
- b _0801E23A
-_0801E21C:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E23A
- movs r0, 0x1
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E23A
- movs r0, 0x1
- bl sub_801EBD4
-_0801E23A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_801E120
-
- thumb_func_start sub_801E240
-sub_801E240: @ 801E240
- push {r4,r5,lr}
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r2, r1, 0
- cmp r0, 0xA
- bls _0801E250
- b _0801E458
-_0801E250:
- lsls r0, 2
- ldr r1, =_0801E264
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E264:
- .4byte _0801E290
- .4byte _0801E2A8
- .4byte _0801E2C4
- .4byte _0801E322
- .4byte _0801E3D4
- .4byte _0801E424
- .4byte _0801E458
- .4byte _0801E458
- .4byte _0801E378
- .4byte _0801E338
- .4byte _0801E35C
-_0801E290:
- movs r0, 0x6
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E2A8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E2B6
- b _0801E458
-_0801E2B6:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x2
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E2C4:
- bl sub_801FF08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0801E2E6
- cmp r1, 0
- bgt _0801E2DE
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801E396
- b _0801E458
-_0801E2DE:
- cmp r1, 0x1
- beq _0801E2E4
- b _0801E458
-_0801E2E4:
- b _0801E396
-_0801E2E6:
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _0801E310
- movs r2, 0xC8
- lsls r2, 1
- adds r0, r1, r2
- bl sub_801EFD0
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r1, [r4]
- movs r0, 0x9
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E310:
- movs r2, 0xC8
- lsls r2, 1
- adds r0, r1, r2
- bl sub_801EF7C
- ldr r1, [r4]
- movs r0, 0x4
- strh r0, [r1, 0x6]
- b _0801E458
-_0801E322:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E330
- b _0801E458
-_0801E330:
- movs r0, 0x1
- bl sub_801EBD4
- b _0801E458
-_0801E338:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E346
- b _0801E458
-_0801E346:
- movs r0, 0x14
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0xA
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E35C:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E36A
- b _0801E458
-_0801E36A:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x8
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E378:
- bl sub_801FF08
- lsls r0, 24
- asrs r5, r0, 24
- cmp r5, 0
- beq _0801E3AC
- cmp r5, 0
- bgt _0801E392
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _0801E396
- b _0801E458
-_0801E392:
- cmp r5, 0x1
- bne _0801E458
-_0801E396:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
- strh r0, [r1, 0x6]
- b _0801E458
- .pool
-_0801E3AC:
- bl sub_80104B0
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bl sub_801EFD0
- ldr r0, [r4]
- movs r1, 0x4
- strh r1, [r0, 0x6]
- movs r2, 0xDC
- lsls r2, 1
- adds r0, r2
- strh r5, [r0]
- b _0801E458
- .pool
-_0801E3D4:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E414
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E414
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0801E414
- ldr r1, [r4]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _0801E410
- movs r0, 0x6
- b _0801E412
- .pool
-_0801E410:
- movs r0, 0x5
-_0801E412:
- strh r0, [r1, 0x6]
-_0801E414:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E458
- b _0801E42C
- .pool
-_0801E424:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E438
-_0801E42C:
- movs r0, 0x9
- bl sub_801EBD4
- b _0801E458
- .pool
-_0801E438:
- ldr r3, [r2]
- movs r1, 0xDC
- lsls r1, 1
- adds r2, r3, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- bls _0801E458
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x4
- strh r0, [r3, 0x6]
-_0801E458:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801E240
-
- thumb_func_start sub_801E460
-sub_801E460: @ 801E460
- push {r4,lr}
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r2, r1, 0
- cmp r0, 0x7
- bls _0801E470
- b _0801E5BC
-_0801E470:
- lsls r0, 2
- ldr r1, =_0801E484
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E484:
- .4byte _0801E4A4
- .4byte _0801E4C8
- .4byte _0801E4E8
- .4byte _0801E50C
- .4byte _0801E540
- .4byte _0801E560
- .4byte _0801E584
- .4byte _0801E5A8
-_0801E4A4:
- ldr r0, =sub_801F2B4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0801E4B2
- b _0801E5BC
-_0801E4B2:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801E59A
- .pool
-_0801E4C8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E5BC
- movs r0, 0x12
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801E59A
- .pool
-_0801E4E8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E5BC
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bl sub_801EFA8
- ldr r1, [r4]
- b _0801E59A
- .pool
-_0801E50C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E5BC
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E5BC
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0801E5BC
- ldr r1, [r4]
- b _0801E59A
- .pool
-_0801E540:
- bl GetBlockReceivedStatus
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0801E5BC
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E5BC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801E59A
- .pool
-_0801E560:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E5BC
- bl sub_8011A9C
- adds r4, r0, 0
- cmp r4, 0
- bne _0801E5BC
- bl sub_800AC34
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- strh r4, [r1, 0xA]
- b _0801E59A
- .pool
-_0801E584:
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bhi _0801E590
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E590:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E5BC
- ldr r1, [r2]
-_0801E59A:
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E5BC
- .pool
-_0801E5A8:
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bls _0801E5B8
- movs r0, 0x9
- bl sub_801EBD4
- b _0801E5BC
-_0801E5B8:
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E5BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E460
-
- thumb_func_start sub_801E5C4
-sub_801E5C4: @ 801E5C4
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C84
- ldr r1, [r5]
- ldrh r0, [r1, 0x6]
- cmp r0, 0x1
- beq _0801E604
- cmp r0, 0x1
- bgt _0801E5E0
- cmp r0, 0
- beq _0801E5EA
- b _0801E662
- .pool
-_0801E5E0:
- cmp r0, 0x2
- beq _0801E62E
- cmp r0, 0x3
- beq _0801E650
- b _0801E662
-_0801E5EA:
- ldr r0, =sub_801F2B4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0801E662
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- b _0801E640
- .pool
-_0801E604:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E662
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E662
- bl sub_8011A9C
- adds r4, r0, 0
- cmp r4, 0
- bne _0801E662
- bl sub_800AC34
- ldr r1, [r5]
- strh r4, [r1, 0xA]
- b _0801E642
-_0801E62E:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bhi _0801E638
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E638:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E662
-_0801E640:
- ldr r1, [r5]
-_0801E642:
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E662
- .pool
-_0801E650:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bls _0801E65E
- movs r0, 0x9
- bl sub_801EBD4
- b _0801E662
-_0801E65E:
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E662:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801E5C4
-
- thumb_func_start sub_801E668
-sub_801E668: @ 801E668
- push {r4,lr}
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0801E75C
- lsls r0, 2
- ldr r1, =_0801E688
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E688:
- .4byte _0801E69C
- .4byte _0801E6C8
- .4byte _0801E6F0
- .4byte _0801E724
- .4byte _0801E748
-_0801E69C:
- ldr r0, =sub_801F2B4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0801E75C
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _0801E6BA
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
-_0801E6BA:
- ldr r1, [r4]
- b _0801E73A
- .pool
-_0801E6C8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E75C
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _0801E6E6
- movs r0, 0x13
- movs r1, 0
- bl sub_801F5EC
-_0801E6E6:
- ldr r1, [r4]
- b _0801E73A
- .pool
-_0801E6F0:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0801E75C
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E75C
- bl sub_8011A9C
- adds r4, r0, 0
- cmp r4, 0
- bne _0801E75C
- bl sub_800AC34
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- strh r4, [r1, 0xA]
- b _0801E73A
- .pool
-_0801E724:
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bhi _0801E730
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E730:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E75C
- ldr r1, [r2]
-_0801E73A:
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E75C
- .pool
-_0801E748:
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x95
- bls _0801E758
- movs r0, 0x9
- bl sub_801EBD4
- b _0801E75C
-_0801E758:
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0801E75C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E668
-
- thumb_func_start sub_801E764
-sub_801E764: @ 801E764
- push {r4,lr}
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0801E830
- lsls r0, 2
- ldr r1, =_0801E784
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E784:
- .4byte _0801E798
- .4byte _0801E7C0
- .4byte _0801E7F4
- .4byte _0801E802
- .4byte _0801E820
-_0801E798:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801E7AC
- movs r0, 0x1
- bl sub_801EBD4
- b _0801E830
- .pool
-_0801E7AC:
- ldr r0, [r4]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bl sub_801EF4C
- ldr r1, [r4]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
-_0801E7C0:
- bl IsLinkTaskFinished
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0801E830
- bl sub_8011A9C
- cmp r0, 0
- bne _0801E830
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0801E830
- ldr r1, [r4]
- b _0801E812
- .pool
-_0801E7F4:
- bl sub_801EE10
- movs r0, 0x8
- movs r1, 0
- bl sub_801F5EC
- b _0801E80E
-_0801E802:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E830
-_0801E80E:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
-_0801E812:
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- b _0801E830
- .pool
-_0801E820:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0801E830
- movs r0, 0x1
- bl sub_801EBD4
-_0801E830:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E764
-
- thumb_func_start sub_801E838
-sub_801E838: @ 801E838
- push {r4,lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrh r0, [r0, 0x6]
- cmp r0, 0x6
- bls _0801E846
- b _0801E968
-_0801E846:
- lsls r0, 2
- ldr r1, =_0801E858
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E858:
- .4byte _0801E874
- .4byte _0801E8A4
- .4byte _0801E8F8
- .4byte _0801E910
- .4byte _0801E920
- .4byte _0801E934
- .4byte _0801E94C
-_0801E874:
- bl sub_801EDC4
- cmp r0, 0
- beq _0801E890
- movs r0, 0x9
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x2
- b _0801E966
- .pool
-_0801E890:
- movs r0, 0xD
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x5
- b _0801E966
- .pool
-_0801E8A4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801E8CC
- bl sub_801EDE0
- movs r0, 0xB
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
- b _0801E966
- .pool
-_0801E8CC:
- movs r4, 0x2
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0801E8DA
- movs r0, 0xA
- b _0801E95A
-_0801E8DA:
- bl sub_801EBE4
- cmp r0, 0
- beq _0801E968
- movs r0, 0x1
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- strh r4, [r0, 0x6]
- b _0801E968
- .pool
-_0801E8F8:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E968
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x1
- b _0801E966
- .pool
-_0801E910:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E968
- movs r0, 0xA
- b _0801E95A
-_0801E920:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E968
- movs r0, 0x1
- bl sub_801EBD4
- b _0801E968
-_0801E934:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801E968
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x6
- b _0801E966
- .pool
-_0801E94C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0801E968
- movs r0, 0x7
-_0801E95A:
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x4
-_0801E966:
- strh r0, [r1, 0x6]
-_0801E968:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801E838
-
- thumb_func_start sub_801E978
-sub_801E978: @ 801E978
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_02022C84
- ldr r0, [r1]
- ldrh r0, [r0, 0x6]
- adds r4, r1, 0
- cmp r0, 0xD
- bls _0801E98A
- b _0801EBC2
-_0801E98A:
- lsls r0, 2
- ldr r1, =_0801E99C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801E99C:
- .4byte _0801E9D4
- .4byte _0801E9EE
- .4byte _0801EA14
- .4byte _0801EA58
- .4byte _0801EA7C
- .4byte _0801EA98
- .4byte _0801EADC
- .4byte _0801EB04
- .4byte _0801EB28
- .4byte _0801EB40
- .4byte _0801EB64
- .4byte _0801EB72
- .4byte _0801EB88
- .4byte _0801EBA8
-_0801E9D4:
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- bne _0801E9DE
- b _0801EB82
-_0801E9DE:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r1, [r4]
- movs r0, 0x1
- strh r0, [r1, 0x6]
- b _0801EBC2
-_0801E9EE:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801E9FC
- b _0801EBC2
-_0801E9FC:
- movs r0, 0xE
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x2
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EA14:
- bl sub_801FF08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0801EA40
- cmp r1, 0
- bgt _0801EA2E
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801EA34
- b _0801EBC2
-_0801EA2E:
- cmp r1, 0x1
- beq _0801EA34
- b _0801EBC2
-_0801EA34:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801EB82
- .pool
-_0801EA40:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EA58:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801EA66
- b _0801EBC2
-_0801EA66:
- movs r0, 0xF
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x4
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EA7C:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- beq _0801EA8A
- b _0801EBC2
-_0801EA8A:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x5
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EA98:
- bl sub_801FF08
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0801EAC4
- cmp r1, 0
- bgt _0801EAB2
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801EAB8
- b _0801EBC2
-_0801EAB2:
- cmp r1, 0x1
- beq _0801EAB8
- b _0801EBC2
-_0801EAB8:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- b _0801EB82
- .pool
-_0801EAC4:
- movs r0, 0x7
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x6
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EADC:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801EBC2
- movs r0, 0x10
- movs r1, 0
- bl sub_801F5EC
- bl sub_801EE2C
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x7
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EB04:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801EBC2
- bl SetContinueGameWarpStatusToDynamicWarp
- movs r0, 0
- bl TrySavingData
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x8
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EB28:
- movs r0, 0x11
- movs r1, 0
- bl sub_801F5EC
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x9
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EB40:
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801EBC2
- movs r0, 0x37
- bl PlaySE
- bl ClearContinueGameWarpStatus2
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0xA
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EB64:
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x19]
- ldr r1, [r4]
- movs r0, 0xB
- strh r0, [r1, 0x6]
- b _0801EBC2
-_0801EB72:
- ldr r0, [r4]
- ldrb r1, [r0, 0x19]
- adds r1, 0x1
- strb r1, [r0, 0x19]
- ldr r1, [r4]
- ldrb r0, [r1, 0x19]
- cmp r0, 0x78
- bls _0801EBC2
-_0801EB82:
- movs r0, 0xC
- strh r0, [r1, 0x6]
- b _0801EBC2
-_0801EB88:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0xD
- strh r0, [r1, 0x6]
- b _0801EBC2
- .pool
-_0801EBA8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0801EBC2
- bl sub_801F544
- bl sub_801DE30
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
-_0801EBC2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801E978
-
- thumb_func_start sub_801EBD4
-sub_801EBD4: @ 801EBD4
- ldr r1, =gUnknown_02022C84
- ldr r1, [r1]
- movs r2, 0
- strh r0, [r1, 0x4]
- strh r2, [r1, 0x6]
- bx lr
- .pool
- thumb_func_end sub_801EBD4
-
- thumb_func_start sub_801EBE4
-sub_801EBE4: @ 801EBE4
- push {lr}
- ldr r0, =gMain
- ldrh r2, [r0, 0x30]
- movs r0, 0x40
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _0801EC6E
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _0801EC24
- ldr r0, =gUnknown_02022C84
- ldr r2, [r0]
- ldr r1, =gUnknown_082F2AA4
- ldrb r0, [r2, 0x10]
- adds r0, r1
- ldrb r1, [r2, 0x12]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0801EC20
- adds r0, r1, 0x1
- b _0801EC88
- .pool
-_0801EC20:
- strb r3, [r2, 0x12]
- b _0801EC8A
-_0801EC24:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0x3
- beq _0801EC6A
- movs r0, 0x20
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _0801EC52
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _0801EC4C
- subs r0, 0x1
- strb r0, [r1, 0x11]
- b _0801EC8A
- .pool
-_0801EC4C:
- movs r0, 0x4
- strb r0, [r1, 0x11]
- b _0801EC8A
-_0801EC52:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _0801EC6A
- ldrb r0, [r1, 0x11]
- cmp r0, 0x3
- bhi _0801EC66
- adds r0, 0x1
- strb r0, [r1, 0x11]
- b _0801EC8A
-_0801EC66:
- strb r3, [r1, 0x11]
- b _0801EC8A
-_0801EC6A:
- movs r0, 0
- b _0801EC8C
-_0801EC6E:
- ldr r0, =gUnknown_02022C84
- ldr r2, [r0]
- ldrb r0, [r2, 0x12]
- cmp r0, 0
- beq _0801EC80
- subs r0, 0x1
- b _0801EC88
- .pool
-_0801EC80:
- ldr r0, =gUnknown_082F2AA4
- ldrb r1, [r2, 0x10]
- adds r1, r0
- ldrb r0, [r1]
-_0801EC88:
- strb r0, [r2, 0x12]
-_0801EC8A:
- movs r0, 0x1
-_0801EC8C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801EBE4
-
- thumb_func_start sub_801EC94
-sub_801EC94: @ 801EC94
- push {r4-r6,lr}
- sub sp, 0x18
- ldr r0, =gUnknown_02022C84
- ldr r5, [r0]
- ldrb r0, [r5, 0x10]
- cmp r0, 0x3
- beq _0801ECDC
- ldr r3, =gUnknown_082F2BA8
- ldrb r1, [r5, 0x12]
- lsls r1, 2
- adds r2, r0, 0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r3
- ldr r4, [r1]
- ldrb r0, [r5, 0x11]
- cmp r0, 0
- beq _0801ECCE
- adds r1, r0, 0
-_0801ECBE:
- ldrb r0, [r4]
- cmp r0, 0xF9
- bne _0801ECC6
- adds r4, 0x1
-_0801ECC6:
- adds r4, 0x1
- subs r1, 0x1
- cmp r1, 0
- bne _0801ECBE
-_0801ECCE:
- movs r5, 0x1
- b _0801ED02
- .pool
-_0801ECDC:
- ldrb r0, [r5, 0x12]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r0
- adds r1, 0xB9
- adds r1, r5, r1
- mov r0, sp
- bl StringCopy
- movs r1, 0
- strb r1, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x1]
- mov r4, sp
- mov r0, sp
- bl StringLength_Multibyte
- adds r5, r0, 0
-_0801ED02:
- ldr r6, =gUnknown_02022C84
- ldr r1, [r6]
- ldrb r0, [r1, 0x15]
- strb r0, [r1, 0x14]
- cmp r4, 0
- beq _0801ED5A
- bl sub_801EE84
- adds r2, r0, 0
- subs r5, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _0801ED56
- ldr r0, [r6]
- ldrb r0, [r0, 0x15]
- cmp r0, 0xE
- bhi _0801ED56
- adds r3, r6, 0
-_0801ED28:
- ldrb r0, [r4]
- cmp r0, 0xF9
- bne _0801ED34
- strb r0, [r2]
- adds r4, 0x1
- adds r2, 0x1
-_0801ED34:
- ldrb r0, [r4]
- strb r0, [r2]
- adds r4, 0x1
- adds r2, 0x1
- ldr r1, [r3]
- ldrb r0, [r1, 0x15]
- adds r0, 0x1
- strb r0, [r1, 0x15]
- subs r5, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _0801ED56
- ldr r0, [r3]
- ldrb r0, [r0, 0x15]
- cmp r0, 0xE
- bls _0801ED28
-_0801ED56:
- movs r0, 0xFF
- strb r0, [r2]
-_0801ED5A:
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EC94
-
- thumb_func_start sub_801ED68
-sub_801ED68: @ 801ED68
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r1, [r4]
- ldrb r0, [r1, 0x15]
- strb r0, [r1, 0x14]
- ldr r0, [r4]
- ldrb r0, [r0, 0x15]
- cmp r0, 0
- beq _0801ED8A
- bl sub_801EEA8
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r0, [r1, 0x15]
- subs r0, 0x1
- strb r0, [r1, 0x15]
-_0801ED8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801ED68
-
- thumb_func_start sub_801ED94
-sub_801ED94: @ 801ED94
- push {lr}
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrb r0, [r1, 0x15]
- subs r0, 0x1
- strb r0, [r1, 0x14]
- bl sub_801EEA8
- adds r2, r0, 0
- ldrb r0, [r2]
- cmp r0, 0xF9
- beq _0801EDB8
- ldr r1, =gUnknown_082F2AA8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801EDB8
- strb r0, [r2]
-_0801EDB8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801ED94
-
- thumb_func_start sub_801EDC4
-sub_801EDC4: @ 801EDC4
- push {lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- cmp r0, 0
- bne _0801EDD8
- movs r0, 0
- b _0801EDDA
- .pool
-_0801EDD8:
- movs r0, 0x1
-_0801EDDA:
- pop {r1}
- bx r1
- thumb_func_end sub_801EDC4
-
- thumb_func_start sub_801EDE0
-sub_801EDE0: @ 801EDE0
- push {r4,lr}
- bl sub_801F114
- adds r1, r0, 0
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- ldrb r3, [r0, 0x12]
- lsls r2, r3, 2
- adds r2, r3
- lsls r2, 2
- adds r2, r3
- adds r2, 0xB9
- adds r0, r2
- bl StringCopy
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x18]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EDE0
-
- thumb_func_start sub_801EE10
-sub_801EE10: @ 801EE10
- ldr r1, =gUnknown_02022C84
- ldr r2, [r1]
- movs r0, 0xFF
- strb r0, [r2, 0x1A]
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0xF
- strb r0, [r2, 0x14]
- ldr r0, [r1]
- strb r3, [r0, 0x15]
- bx lr
- .pool
- thumb_func_end sub_801EE10
-
- thumb_func_start sub_801EE2C
-sub_801EE2C: @ 801EE2C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gSaveBlock1Ptr
- mov r8, r0
- ldr r7, =gUnknown_02022C84
- movs r6, 0xB9
- ldr r5, =0x00003c88
- movs r4, 0x9
-_0801EE3E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- ldr r1, [r7]
- adds r1, r6
- bl StringCopy
- adds r6, 0x15
- adds r5, 0x15
- subs r4, 0x1
- cmp r4, 0
- bge _0801EE3E
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EE2C
-
- thumb_func_start sub_801EE6C
-sub_801EE6C: @ 801EE6C
- ldr r2, =gUnknown_02022C84
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r0
- adds r1, 0xB9
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_801EE6C
-
- thumb_func_start sub_801EE84
-sub_801EE84: @ 801EE84
- push {lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x1A
- ldrb r0, [r0, 0x1A]
- cmp r0, 0xFF
- beq _0801EE9C
-_0801EE94:
- adds r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0801EE94
-_0801EE9C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801EE84
-
- thumb_func_start sub_801EEA8
-sub_801EEA8: @ 801EEA8
- push {lr}
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0x1A
- adds r1, r2, 0
- ldrb r0, [r0, 0x1A]
- cmp r0, 0xFF
- beq _0801EECC
-_0801EEBA:
- adds r2, r1, 0
- ldrb r0, [r2]
- cmp r0, 0xF9
- bne _0801EEC4
- adds r1, r2, 0x1
-_0801EEC4:
- adds r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0801EEBA
-_0801EECC:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801EEA8
-
- thumb_func_start sub_801EED8
-sub_801EED8: @ 801EED8
- push {r4,lr}
- ldr r4, =gUnknown_02022C84
- ldr r0, [r4]
- adds r0, 0x1A
- bl StringLength_Multibyte
- adds r2, r0, 0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x1A
- movs r4, 0
- cmp r2, 0xA
- bls _0801EF0C
- subs r2, 0xA
- movs r3, 0
- cmp r4, r2
- bcs _0801EF0C
-_0801EEFA:
- ldrb r0, [r1]
- cmp r0, 0xF9
- bne _0801EF02
- adds r1, 0x1
-_0801EF02:
- adds r1, 0x1
- adds r4, 0x1
- adds r3, 0x1
- cmp r3, r2
- bcc _0801EEFA
-_0801EF0C:
- lsls r0, r4, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801EED8
-
- thumb_func_start sub_801EF1C
-sub_801EF1C: @ 801EF1C
- movs r1, 0
- strb r1, [r0]
- bx lr
- thumb_func_end sub_801EF1C
-
- thumb_func_start sub_801EF24
-sub_801EF24: @ 801EF24
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- strb r0, [r4, 0x9]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EF24
-
- thumb_func_start sub_801EF4C
-sub_801EF4C: @ 801EF4C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- adds r4, 0x9
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- adds r1, 0x1A
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EF4C
-
- thumb_func_start sub_801EF7C
-sub_801EF7C: @ 801EF7C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- strb r0, [r4, 0x9]
- bl sub_8011A50
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EF7C
-
- thumb_func_start sub_801EFA8
-sub_801EFA8: @ 801EFA8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x4
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- strb r0, [r4, 0x9]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EFA8
-
- thumb_func_start sub_801EFD0
-sub_801EFD0: @ 801EFD0
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x5
- strb r0, [r4]
- adds r0, r4, 0x1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- strb r0, [r4, 0x9]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801EFD0
-
- thumb_func_start sub_801EFF8
-sub_801EFF8: @ 801EFF8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldrb r0, [r5]
- adds r1, r0, 0
- adds r4, r5, 0x1
- adds r5, r4, 0
- adds r5, 0x8
- cmp r0, 0x2
- beq _0801F020
- cmp r0, 0x2
- bgt _0801F016
- cmp r0, 0x1
- beq _0801F044
- b _0801F0A8
-_0801F016:
- cmp r1, 0x3
- beq _0801F07A
- cmp r1, 0x5
- beq _0801F06E
- b _0801F0A8
-_0801F020:
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- ldrb r1, [r4, 0x8]
- cmp r0, r1
- beq _0801F0A8
- bl DynamicPlaceholderTextUtil_Reset
- movs r0, 0
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, =gText_F700JoinedChat
- b _0801F094
- .pool
-_0801F044:
- adds r0, r6, 0
- adds r1, r4, 0
- bl StringCopy
- movs r1, 0xFC
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x13
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x2A
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0xF0
- strb r1, [r0]
- adds r0, 0x1
- adds r1, r5, 0
- bl StringCopy
- movs r0, 0x1
- b _0801F0AA
-_0801F06E:
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r0, 0x79
- adds r1, r4, 0
- bl StringCopy
-_0801F07A:
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- ldrb r5, [r5]
- cmp r0, r5
- beq _0801F0A8
- bl DynamicPlaceholderTextUtil_Reset
- movs r0, 0
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, =gText_F700LeftChat
-_0801F094:
- adds r0, r6, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x1
- b _0801F0AA
- .pool
-_0801F0A8:
- movs r0, 0
-_0801F0AA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801EFF8
-
- thumb_func_start sub_801F0B0
-sub_801F0B0: @ 801F0B0
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- bx lr
- .pool
- thumb_func_end sub_801F0B0
-
- thumb_func_start sub_801F0BC
-sub_801F0BC: @ 801F0BC
- ldr r2, =gUnknown_02022C84
- ldr r3, [r2]
- ldrb r2, [r3, 0x11]
- strb r2, [r0]
- ldrb r0, [r3, 0x12]
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_801F0BC
-
- thumb_func_start sub_801F0D0
-sub_801F0D0: @ 801F0D0
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r0, 0x1A
- bx lr
- .pool
- thumb_func_end sub_801F0D0
-
- thumb_func_start sub_801F0DC
-sub_801F0DC: @ 801F0DC
- push {lr}
- bl sub_801F0D0
- bl StringLength_Multibyte
- pop {r1}
- bx r1
- thumb_func_end sub_801F0DC
-
- thumb_func_start sub_801F0EC
-sub_801F0EC: @ 801F0EC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r3, [r0, 0x15]
- ldrb r2, [r0, 0x14]
- subs r0, r3, r2
- cmp r0, 0
- bge _0801F108
- negs r0, r0
- str r3, [r4]
- b _0801F10A
- .pool
-_0801F108:
- str r2, [r4]
-_0801F10A:
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801F0EC
-
- thumb_func_start sub_801F114
-sub_801F114: @ 801F114
- push {lr}
- bl sub_801EED8
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x1A
- cmp r2, 0
- beq _0801F13A
-_0801F12A:
- ldrb r0, [r1]
- cmp r0, 0xF9
- bne _0801F132
- adds r1, 0x1
-_0801F132:
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bne _0801F12A
-_0801F13A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801F114
-
- thumb_func_start sub_801F144
-sub_801F144: @ 801F144
- push {r4,lr}
- bl sub_801EED8
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x1A
- movs r2, 0
- movs r3, 0
- cmp r2, r4
- bcs _0801F174
-_0801F15E:
- ldrb r0, [r1]
- cmp r0, 0xF9
- bne _0801F166
- adds r1, 0x1
-_0801F166:
- adds r1, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, 0x1
- cmp r3, r4
- bcc _0801F15E
-_0801F174:
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801F144
-
- thumb_func_start sub_801F180
-sub_801F180: @ 801F180
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r0, 0x39
- bx lr
- .pool
- thumb_func_end sub_801F180
-
- thumb_func_start sub_801F18C
-sub_801F18C: @ 801F18C
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x16]
- bx lr
- .pool
- thumb_func_end sub_801F18C
-
- thumb_func_start sub_801F198
-sub_801F198: @ 801F198
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- bx lr
- .pool
- thumb_func_end sub_801F198
-
- thumb_func_start sub_801F1A4
-sub_801F1A4: @ 801F1A4
- push {lr}
- bl sub_801EEA8
- ldrb r1, [r0]
- cmp r1, 0xFF
- bhi _0801F1BE
- ldr r0, =gUnknown_082F2AA8
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, r1
- beq _0801F1BE
- cmp r0, 0
- bne _0801F1C8
-_0801F1BE:
- movs r0, 0x3
- b _0801F1CA
- .pool
-_0801F1C8:
- movs r0, 0
-_0801F1CA:
- pop {r1}
- bx r1
- thumb_func_end sub_801F1A4
-
- thumb_func_start sub_801F1D0
-sub_801F1D0: @ 801F1D0
- ldr r0, =gUnknown_02022C84
- ldr r0, [r0]
- adds r0, 0x79
- bx lr
- .pool
- thumb_func_end sub_801F1D0
-
- thumb_func_start copy_strings_to_sav1
-copy_strings_to_sav1: @ 801F1DC
- push {r4,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00003c88
- adds r0, r1
- ldr r1, =gText_Hello
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003c9d
- adds r0, r1
- ldr r1, =gText_Pokemon2
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003cb2
- adds r0, r1
- ldr r1, =gText_Trade
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003cc7
- adds r0, r1
- ldr r1, =gText_Battle
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003cdc
- adds r0, r1
- ldr r1, =gText_Lets
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003cf1
- adds r0, r1
- ldr r1, =gText_Ok
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003d06
- adds r0, r1
- ldr r1, =gText_Sorry
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003d1b
- adds r0, r1
- ldr r1, =gText_YayUnkF9F9
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003d30
- adds r0, r1
- ldr r1, =gText_ThankYou
- bl StringCopy
- ldr r0, [r4]
- ldr r1, =0x00003d45
- adds r0, r1
- ldr r1, =gText_ByeBye
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end copy_strings_to_sav1
-
- thumb_func_start sub_801F2B4
-sub_801F2B4: @ 801F2B4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bls _0801F2CE
- b _0801F4C4
-_0801F2CE:
- lsls r0, 2
- ldr r1, =_0801F2E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801F2E0:
- .4byte _0801F300
- .4byte _0801F30E
- .4byte _0801F4A8
- .4byte _0801F35C
- .4byte _0801F448
- .4byte _0801F480
- .4byte _0801F494
- .4byte _0801F438
-_0801F300:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801F30A
- b _0801F49C
-_0801F30A:
- movs r0, 0x1
- strh r0, [r4]
-_0801F30E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- strh r0, [r4, 0x8]
- ldr r3, =gUnknown_02022C84
- ldr r0, [r3]
- ldrb r1, [r0, 0xD]
- movs r5, 0x8
- ldrsh r0, [r4, r5]
- cmp r1, r0
- beq _0801F33C
- movs r0, 0x2
- strh r0, [r4]
- ldr r0, [r3]
- strb r2, [r0, 0xD]
- b _0801F4C4
- .pool
-_0801F33C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x6]
- cmp r0, 0
- bne _0801F354
- bl sub_8011A9C
- cmp r0, 0
- beq _0801F354
- b _0801F4C4
-_0801F354:
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x3
- strh r0, [r4]
-_0801F35C:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bgt _0801F396
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801F396
- movs r2, 0x1
-_0801F378:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _0801F396
- movs r5, 0x6
- ldrsh r0, [r4, r5]
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- asrs r0, r1
- ands r0, r2
- cmp r0, 0
- beq _0801F378
-_0801F396:
- ldrh r1, [r4, 0x2]
- movs r5, 0x2
- ldrsh r0, [r4, r5]
- cmp r0, 0x5
- bne _0801F3A2
- b _0801F4C0
-_0801F3A2:
- strh r1, [r4, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- bl ResetBlockReceivedFlag
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- lsls r0, 8
- ldr r1, =gBlockRecvBuffer
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x4
- bhi _0801F3E4
- lsls r0, 2
- ldr r1, =_0801F3D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801F3D0:
- .4byte _0801F3E4
- .4byte _0801F3E8
- .4byte _0801F3EC
- .4byte _0801F3F0
- .4byte _0801F3F4
-_0801F3E4:
- movs r0, 0x3
- b _0801F3F6
-_0801F3E8:
- movs r0, 0x3
- b _0801F3F6
-_0801F3EC:
- movs r0, 0x4
- b _0801F3F6
-_0801F3F0:
- movs r0, 0x5
- b _0801F3F6
-_0801F3F4:
- movs r0, 0x6
-_0801F3F6:
- strh r0, [r4, 0xA]
- ldr r5, =gUnknown_02022C84
- ldr r0, [r5]
- adds r0, 0x39
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- bl sub_801EFF8
- cmp r0, 0
- beq _0801F42C
- ldr r0, [r5]
- ldrh r1, [r4, 0x2]
- strb r1, [r0, 0x16]
- movs r0, 0xC
- movs r1, 0x2
- bl sub_801F5EC
- movs r0, 0x7
- b _0801F42E
- .pool
-_0801F42C:
- ldrh r0, [r4, 0xA]
-_0801F42E:
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- b _0801F4C4
-_0801F438:
- movs r0, 0x2
- bl sub_801F644
- lsls r0, 24
- cmp r0, 0
- bne _0801F4C4
- ldrh r0, [r4, 0xA]
- b _0801F4C2
-_0801F448:
- ldr r6, =gUnknown_02022C84
- ldr r0, [r6]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- bne _0801F47C
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0801F47C
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0801F474
- bl sub_80104B0
- ldr r1, [r6]
- movs r0, 0x1
- b _0801F49A
- .pool
-_0801F474:
- movs r5, 0x4
- ldrsh r0, [r4, r5]
- bl sub_8011DE0
-_0801F47C:
- movs r0, 0x3
- b _0801F4C2
-_0801F480:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- beq _0801F49C
- movs r0, 0x2
- b _0801F49A
- .pool
-_0801F494:
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- movs r0, 0x3
-_0801F49A:
- strb r0, [r1, 0x17]
-_0801F49C:
- adds r0, r5, 0
- bl DestroyTask
- b _0801F4C4
- .pool
-_0801F4A8:
- bl sub_8011A9C
- cmp r0, 0
- bne _0801F4C4
- ldr r0, =gUnknown_02022C84
- ldr r1, [r0]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _0801F4C0
- ldrb r0, [r1, 0xD]
- bl sub_80110B8
-_0801F4C0:
- movs r0, 0x1
-_0801F4C2:
- strh r0, [r4]
-_0801F4C4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801F2B4
-
- thumb_func_start sub_801F4D0
-sub_801F4D0: @ 801F4D0
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, =0x00002168
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _0801F52C
- bl sub_8020890
- cmp r0, 0
- beq _0801F52C
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F2C60
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_082F2C70
- bl InitWindows
- bl reset_temp_tile_data_buffers
- bl sub_8020770
- ldr r0, [r4]
- bl sub_801F574
- bl sub_801F580
- movs r0, 0
- movs r1, 0
- bl sub_801F5EC
- movs r0, 0x1
- b _0801F52E
- .pool
-_0801F52C:
- movs r0, 0
-_0801F52E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F4D0
-
- thumb_func_start sub_801F534
-sub_801F534: @ 801F534
- push {lr}
- movs r0, 0
- bl sub_801F644
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_801F534
-
- thumb_func_start sub_801F544
-sub_801F544: @ 801F544
- push {r4,lr}
- bl sub_80208D0
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- cmp r0, 0
- beq _0801F55A
- bl Free
- movs r0, 0
- str r0, [r4]
-_0801F55A:
- bl FreeAllWindowBuffers
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801F544
-
- thumb_func_start sub_801F574
-sub_801F574: @ 801F574
- movs r2, 0
- movs r1, 0xFF
- strh r1, [r0, 0x18]
- strh r1, [r0, 0x1E]
- strh r2, [r0, 0x1A]
- bx lr
- thumb_func_end sub_801F574
-
- thumb_func_start sub_801F580
-sub_801F580: @ 801F580
- push {r4,r5,lr}
- ldr r1, =gUnknown_02022C88
- ldr r0, [r1]
- cmp r0, 0
- beq _0801F5A8
- movs r2, 0
- adds r4, r1, 0
- ldr r5, =sub_801FDD8
- movs r3, 0
-_0801F592:
- ldr r0, [r4]
- lsls r1, r2, 3
- adds r0, r1
- str r5, [r0]
- strb r3, [r0, 0x4]
- ldr r0, [r4]
- adds r0, r1
- strb r3, [r0, 0x5]
- adds r2, 0x1
- cmp r2, 0x2
- ble _0801F592
-_0801F5A8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801F580
-
- thumb_func_start sub_801F5B8
-sub_801F5B8: @ 801F5B8
- push {r4-r6,lr}
- ldr r1, =gUnknown_02022C88
- ldr r0, [r1]
- cmp r0, 0
- beq _0801F5E0
- movs r5, 0
- adds r6, r1, 0
-_0801F5C6:
- ldr r1, [r6]
- lsls r4, r5, 3
- adds r1, r4
- adds r0, r1, 0x5
- ldr r1, [r1]
- bl _call_via_r1
- ldr r1, [r6]
- adds r1, r4
- strb r0, [r1, 0x4]
- adds r5, 0x1
- cmp r5, 0x2
- ble _0801F5C6
-_0801F5E0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801F5B8
-
- thumb_func_start sub_801F5EC
-sub_801F5EC: @ 801F5EC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- ldr r3, =gUnknown_02022C88
- ldr r0, [r3]
- lsrs r1, 21
- adds r0, r1
- ldr r2, =sub_801FDD8
- str r2, [r0]
- movs r4, 0
- adds r5, r3, 0
- adds r3, r1, 0
- mov r12, r4
- ldr r1, =gUnknown_082F2C98
- movs r7, 0x1
- adds r2, r1, 0x4
-_0801F60E:
- ldrh r0, [r1]
- cmp r0, r6
- bne _0801F634
- ldr r1, [r5]
- adds r1, r3
- ldr r0, [r2]
- str r0, [r1]
- strb r7, [r1, 0x4]
- ldr r0, [r5]
- adds r0, r3
- mov r1, r12
- strb r1, [r0, 0x5]
- b _0801F63E
- .pool
-_0801F634:
- adds r1, 0x8
- adds r2, 0x8
- adds r4, 0x1
- cmp r4, 0x14
- bls _0801F60E
-_0801F63E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801F5EC
-
- thumb_func_start sub_801F644
-sub_801F644: @ 801F644
- lsls r0, 24
- ldr r1, =gUnknown_02022C88
- ldr r1, [r1]
- lsrs r0, 21
- adds r1, r0
- ldrb r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_801F644
-
- thumb_func_start sub_801F658
-sub_801F658: @ 801F658
- push {r4,lr}
- adds r4, r0, 0
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0801F6EE
- ldrb r0, [r4]
- cmp r0, 0x6
- bhi _0801F6E4
- lsls r0, 2
- ldr r1, =_0801F67C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801F67C:
- .4byte _0801F698
- .4byte _0801F6A2
- .4byte _0801F6A8
- .4byte _0801F6AE
- .4byte _0801F6B4
- .4byte _0801F6BA
- .4byte _0801F6CC
-_0801F698:
- bl sub_8020480
- bl sub_8020538
- b _0801F6E8
-_0801F6A2:
- bl sub_8020584
- b _0801F6E8
-_0801F6A8:
- bl sub_80205B4
- b _0801F6E8
-_0801F6AE:
- bl task_tutorial_story_unknown
- b _0801F6E8
-_0801F6B4:
- bl sub_8020680
- b _0801F6E8
-_0801F6BA:
- bl sub_80206A4
- bl sub_80206D0
- bl sub_8020740
- bl sub_80206E8
- b _0801F6E8
-_0801F6CC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F6E8
- bl sub_80208E8
- bl sub_8020A68
- bl sub_8020B20
- b _0801F6E8
-_0801F6E4:
- movs r0, 0
- b _0801F6F0
-_0801F6E8:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0801F6EE:
- movs r0, 0x1
-_0801F6F0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F658
-
- thumb_func_start sub_801F6F8
-sub_801F6F8: @ 801F6F8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F708
- cmp r0, 0x1
- beq _0801F716
- b _0801F720
-_0801F708:
- bl sub_80203B0
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801F720
-_0801F716:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801F728
-_0801F720:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
-_0801F728:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F6F8
-
- thumb_func_start sub_801F730
-sub_801F730: @ 801F730
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F740
- cmp r0, 0x1
- beq _0801F74E
- b _0801F758
-_0801F740:
- bl sub_802040C
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801F758
-_0801F74E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801F760
-_0801F758:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
-_0801F760:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F730
-
- thumb_func_start sub_801F768
-sub_801F768: @ 801F768
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _0801F79E
- cmp r0, 0x1
- bgt _0801F77C
- cmp r0, 0
- beq _0801F782
- b _0801F7C4
-_0801F77C:
- cmp r0, 0x2
- beq _0801F7AA
- b _0801F7C4
-_0801F782:
- movs r0, 0x1
- bl sub_802091C
- bl sub_8020320
- cmp r0, 0
- bne _0801F7CA
- bl sub_80201A4
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801F7C4
-_0801F79E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _0801F7C4
- b _0801F7CA
-_0801F7AA:
- bl sub_8020368
- cmp r0, 0
- bne _0801F7CA
- bl sub_802093C
- movs r0, 0
- bl sub_802091C
- bl sub_8020B80
- movs r0, 0
- b _0801F7CC
-_0801F7C4:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0801F7CA:
- movs r0, 0x1
-_0801F7CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F768
-
- thumb_func_start sub_801F7D4
-sub_801F7D4: @ 801F7D4
- push {lr}
- bl sub_802093C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_801F7D4
-
- thumb_func_start sub_801F7E0
-sub_801F7E0: @ 801F7E0
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F7F0
- cmp r0, 0x1
- beq _0801F814
- b _0801F81E
-_0801F7F0:
- movs r0, 0
- movs r1, 0
- bl sub_801FF18
- movs r0, 0x17
- movs r1, 0xB
- movs r2, 0x1
- bl sub_801FDDC
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801F81E
- .pool
-_0801F814:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801F826
-_0801F81E:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
-_0801F826:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F7E0
-
- thumb_func_start sub_801F82C
-sub_801F82C: @ 801F82C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F83C
- cmp r0, 0x1
- beq _0801F84C
- b _0801F862
-_0801F83C:
- bl sub_8020094
- bl sub_801FEBC
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- b _0801F862
-_0801F84C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F868
- bl sub_80200C8
- bl sub_801FEE4
- movs r0, 0
- b _0801F86A
-_0801F862:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0801F868:
- movs r0, 0x1
-_0801F86A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F82C
-
- thumb_func_start sub_801F870
-sub_801F870: @ 801F870
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801F882
- cmp r0, 0x1
- beq _0801F8BA
- b _0801F8CC
-_0801F882:
- add r1, sp, 0x8
- add r0, sp, 0x4
- bl sub_801F0EC
- ldr r0, [sp, 0x4]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x8]
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0
- bl sub_80200EC
- bl sub_801F0D0
- adds r1, r0, 0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8020118
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801F8CC
-_0801F8BA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F8D2
- bl sub_8020B80
- movs r0, 0
- b _0801F8D4
-_0801F8CC:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0801F8D2:
- movs r0, 0x1
-_0801F8D4:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801F870
-
- thumb_func_start sub_801F8DC
-sub_801F8DC: @ 801F8DC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _0801F938
- cmp r0, 0x1
- bgt _0801F8F2
- cmp r0, 0
- beq _0801F8FC
- b _0801F972
-_0801F8F2:
- cmp r0, 0x2
- beq _0801F95C
- cmp r0, 0x3
- beq _0801F96E
- b _0801F972
-_0801F8FC:
- bl sub_801F144
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_801F114
- adds r5, r0, 0
- bl StringLength_Multibyte
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x66
- bl sub_80200EC
- movs r0, 0x5
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x4
- bl sub_8020118
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801F972
-_0801F938:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F978
- movs r0, 0x1
- movs r1, 0x10
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801F972
- .pool
-_0801F95C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801F978
- movs r0, 0x1
- bl sub_80209AC
- b _0801F972
-_0801F96E:
- movs r0, 0
- b _0801F97A
-_0801F972:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0801F978:
- movs r0, 0x1
-_0801F97A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801F8DC
-
- thumb_func_start sub_801F984
-sub_801F984: @ 801F984
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _0801F9E0
- cmp r0, 0x1
- bgt _0801F99A
- cmp r0, 0
- beq _0801F9A4
- b _0801FA1A
-_0801F99A:
- cmp r0, 0x2
- beq _0801FA00
- cmp r0, 0x3
- beq _0801FA16
- b _0801FA1A
-_0801F9A4:
- bl sub_801F144
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_801F114
- adds r5, r0, 0
- bl StringLength_Multibyte
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl sub_80200EC
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8020118
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801FA1A
-_0801F9E0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801FA20
- bl sub_8020094
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- b _0801FA1A
- .pool
-_0801FA00:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801FA20
- movs r0, 0
- bl sub_80209AC
- bl sub_80200C8
- b _0801FA1A
-_0801FA16:
- movs r0, 0
- b _0801FA22
-_0801FA1A:
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0801FA20:
- movs r0, 0x1
-_0801FA22:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801F984
-
- thumb_func_start sub_801FA2C
-sub_801FA2C: @ 801FA2C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FA3C
- cmp r0, 0x1
- beq _0801FA50
- b _0801FA5E
-_0801FA3C:
- bl sub_80201A4
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FA5E
-_0801FA50:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801FA5E
- movs r0, 0
- b _0801FA60
-_0801FA5E:
- movs r0, 0x1
-_0801FA60:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FA2C
-
- thumb_func_start sub_801FA68
-sub_801FA68: @ 801FA68
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrb r0, [r6]
- cmp r0, 0x4
- bhi _0801FB3A
- lsls r0, 2
- ldr r1, =_0801FA80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801FA80:
- .4byte _0801FA94
- .4byte _0801FAC0
- .4byte _0801FAF0
- .4byte _0801FB14
- .4byte _0801FADE
-_0801FA94:
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrh r5, [r0, 0x1A]
- bl sub_801F180
- adds r4, r0, 0
- bl sub_801F18C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8020420
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _0801FB34
- .pool
-_0801FAC0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0801FB3A
- ldr r0, =gUnknown_02022C88
- ldr r1, [r0]
- ldrh r0, [r1, 0x1A]
- cmp r0, 0x8
- bhi _0801FAE8
- adds r0, 0x1
- strh r0, [r1, 0x1A]
- movs r0, 0x4
- strb r0, [r6]
-_0801FADE:
- movs r0, 0
- b _0801FB3C
- .pool
-_0801FAE8:
- strh r2, [r1, 0x1C]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0801FAF0:
- movs r0, 0
- movs r1, 0
- movs r2, 0x5
- movs r3, 0x11
- bl ScrollWindow
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gUnknown_02022C88
- ldr r1, [r0]
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0801FB14:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0801FB3A
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrh r0, [r0, 0x1C]
- cmp r0, 0x2
- bhi _0801FB34
- ldrb r0, [r6]
- subs r0, 0x1
- b _0801FB38
- .pool
-_0801FB34:
- ldrb r0, [r6]
- adds r0, 0x1
-_0801FB38:
- strb r0, [r6]
-_0801FB3A:
- movs r0, 0x1
-_0801FB3C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801FA68
-
- thumb_func_start sub_801FB44
-sub_801FB44: @ 801FB44
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FB54
- cmp r0, 0x1
- beq _0801FB60
- b _0801FB66
-_0801FB54:
- bl sub_80209E0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FB66
-_0801FB60:
- bl sub_8020A1C
- b _0801FB68
-_0801FB66:
- movs r0, 0x1
-_0801FB68:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FB44
-
- thumb_func_start sub_801FB70
-sub_801FB70: @ 801FB70
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FB80
- cmp r0, 0x1
- beq _0801FBA0
- b _0801FBAA
-_0801FB80:
- movs r0, 0x3
- movs r1, 0x10
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FBAA
- .pool
-_0801FBA0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FBAC
-_0801FBAA:
- movs r0, 0x1
-_0801FBAC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FB70
-
- thumb_func_start sub_801FBB4
-sub_801FBB4: @ 801FBB4
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FBC4
- cmp r0, 0x1
- beq _0801FBE4
- b _0801FBEE
-_0801FBC4:
- movs r0, 0x4
- movs r1, 0
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FBEE
- .pool
-_0801FBE4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FBF0
-_0801FBEE:
- movs r0, 0x1
-_0801FBF0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FBB4
-
- thumb_func_start sub_801FBF8
-sub_801FBF8: @ 801FBF8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FC08
- cmp r0, 0x1
- beq _0801FC38
- b _0801FC42
-_0801FC08:
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_801F1D0
- adds r1, r0, 0
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r0, 0x5
- movs r1, 0
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FC42
- .pool
-_0801FC38:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FC44
-_0801FC42:
- movs r0, 0x1
-_0801FC44:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FBF8
-
- thumb_func_start sub_801FC4C
-sub_801FC4C: @ 801FC4C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FC5C
- cmp r0, 0x1
- beq _0801FC88
- b _0801FC92
-_0801FC5C:
- movs r0, 0x6
- movs r1, 0
- bl sub_801FF18
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1
- bl sub_801FDDC
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FC92
- .pool
-_0801FC88:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FC94
-_0801FC92:
- movs r0, 0x1
-_0801FC94:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FC4C
-
- thumb_func_start sub_801FC9C
-sub_801FC9C: @ 801FC9C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FCAC
- cmp r0, 0x1
- beq _0801FCD8
- b _0801FCE2
-_0801FCAC:
- movs r0, 0x7
- movs r1, 0
- bl sub_801FF18
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1
- bl sub_801FDDC
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FCE2
- .pool
-_0801FCD8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FCE4
-_0801FCE2:
- movs r0, 0x1
-_0801FCE4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FC9C
-
- thumb_func_start sub_801FCEC
-sub_801FCEC: @ 801FCEC
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FCFC
- cmp r0, 0x1
- beq _0801FD1C
- b _0801FD26
-_0801FCFC:
- movs r0, 0x8
- movs r1, 0
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FD26
- .pool
-_0801FD1C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FD28
-_0801FD26:
- movs r0, 0x1
-_0801FD28:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FCEC
-
- thumb_func_start sub_801FD30
-sub_801FD30: @ 801FD30
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FD40
- cmp r0, 0x1
- beq _0801FD74
- b _0801FD7E
-_0801FD40:
- bl DynamicPlaceholderTextUtil_Reset
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- movs r0, 0x9
- movs r1, 0
- bl sub_801FF18
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FD7E
- .pool
-_0801FD74:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FD80
-_0801FD7E:
- movs r0, 0x1
-_0801FD80:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FD30
-
- thumb_func_start sub_801FD88
-sub_801FD88: @ 801FD88
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0801FD98
- cmp r0, 0x1
- beq _0801FDC4
- b _0801FDCE
-_0801FD98:
- movs r0, 0xA
- movs r1, 0
- bl sub_801FF18
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1
- bl sub_801FDDC
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- ldrb r0, [r0, 0x1E]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0801FDCE
- .pool
-_0801FDC4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0801FDD0
-_0801FDCE:
- movs r0, 0x1
-_0801FDD0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801FD88
-
- thumb_func_start sub_801FDD8
-sub_801FDD8: @ 801FDD8
- movs r0, 0
- bx lr
- thumb_func_end sub_801FDD8
-
- thumb_func_start sub_801FDDC
-sub_801FDDC: @ 801FDDC
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsls r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r4, =0xffffff00
- ldr r2, [sp, 0xC]
- ands r2, r4
- lsrs r0, 16
- ldr r3, =0xffff00ff
- ands r2, r3
- orrs r2, r0
- lsrs r1, 8
- ldr r0, =0xff00ffff
- ands r2, r0
- orrs r2, r1
- ldr r0, =0x00ffffff
- ands r2, r0
- movs r0, 0xC0
- lsls r0, 19
- orrs r2, r0
- str r2, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r4
- movs r1, 0x4
- orrs r0, r1
- ands r0, r3
- movs r1, 0xE0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xA4
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x10]
- add r0, sp, 0xC
- bl AddWindow
- adds r1, r0, 0
- ldr r5, =gUnknown_02022C88
- ldr r0, [r5]
- movs r6, 0
- strh r1, [r0, 0x18]
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0xFF
- beq _0801FE94
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- ldr r2, =gText_Yes
- movs r1, 0x1
- str r1, [sp]
- movs r4, 0xFF
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- ldr r2, =gText_No
- movs r1, 0x11
- str r1, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- movs r1, 0x1
- movs r2, 0xD
- bl sub_8098858
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- movs r1, 0x2
- adds r2, r7, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
-_0801FE94:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801FDDC
-
- thumb_func_start sub_801FEBC
-sub_801FEBC: @ 801FEBC
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- ldrh r0, [r0, 0x18]
- cmp r0, 0xFF
- beq _0801FEDA
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- ldr r0, [r4]
- ldrb r0, [r0, 0x18]
- bl ClearWindowTilemap
-_0801FEDA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801FEBC
-
- thumb_func_start sub_801FEE4
-sub_801FEE4: @ 801FEE4
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- ldrh r0, [r0, 0x18]
- cmp r0, 0xFF
- beq _0801FEFE
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- ldr r1, [r4]
- movs r0, 0xFF
- strh r0, [r1, 0x18]
-_0801FEFE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801FEE4
-
- thumb_func_start sub_801FF08
-sub_801FF08: @ 801FF08
- push {lr}
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_801FF08
-
- thumb_func_start sub_801FF18
-sub_801FF18: @ 801FF18
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- adds r7, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r1, =0xffffff00
- ldr r3, [sp, 0x14]
- ands r3, r1
- ldr r2, =0xffff00ff
- ands r3, r2
- movs r0, 0x80
- lsls r0, 4
- orrs r3, r0
- ldr r0, =0xff00ffff
- ands r3, r0
- movs r0, 0x80
- lsls r0, 13
- orrs r3, r0
- ldr r5, =0x00ffffff
- ands r3, r5
- movs r0, 0xA8
- lsls r0, 21
- orrs r3, r0
- str r3, [sp, 0x14]
- ldr r0, [sp, 0x18]
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- ands r0, r2
- movs r1, 0xE0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xD4
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x18]
- ldr r1, =gUnknown_082F2D40
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r1
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _0801FF98
- lsls r0, r3, 16
- movs r1, 0xF9
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- ands r2, r3
- orrs r2, r0
- lsrs r1, r2, 24
- adds r1, 0x7
- lsls r1, 24
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
-_0801FF98:
- add r0, sp, 0x14
- bl AddWindow
- ldr r5, =gUnknown_02022C88
- ldr r1, [r5]
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x1E]
- mov r8, r0
- cmp r0, 0xFF
- beq _08020082
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0801FFE0
- adds r0, r1, 0
- adds r0, 0x22
- ldr r1, [r4]
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r0, [r5]
- adds r6, r0, 0
- adds r6, 0x22
- b _0801FFE2
- .pool
-_0801FFE0:
- ldr r6, [r4]
-_0801FFE2:
- mov r0, r9
- lsls r1, r0, 8
- movs r0, 0
- movs r2, 0
- bl ChangeBgY
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- ldr r1, =gUnknown_082F2D40
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0x1
- bne _08020050
- adds r0, r5, 0
- movs r1, 0xA
- movs r2, 0x2
- bl sub_80989E0
- ldrb r3, [r4, 0x5]
- adds r3, 0x8
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x6]
- adds r0, 0x8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x7]
- str r0, [sp, 0xC]
- ldrb r0, [r4, 0x8]
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl AddTextPrinterParameterized5
- b _0802007A
- .pool
-_08020050:
- adds r0, r5, 0
- movs r1, 0xA
- movs r2, 0x2
- bl sub_8098858
- ldrb r3, [r4, 0x5]
- ldrb r0, [r4, 0x6]
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x7]
- str r0, [sp, 0xC]
- ldrb r0, [r4, 0x8]
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl AddTextPrinterParameterized5
-_0802007A:
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- mov r1, r8
- strh r1, [r0, 0x1E]
-_08020082:
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801FF18
-
- thumb_func_start sub_8020094
-sub_8020094: @ 8020094
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- ldrh r0, [r0, 0x1E]
- cmp r0, 0xFF
- beq _080200B2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- ldr r0, [r4]
- ldrb r0, [r0, 0x1E]
- bl ClearWindowTilemap
-_080200B2:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020094
-
- thumb_func_start sub_80200C8
-sub_80200C8: @ 80200C8
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r0, [r4]
- ldrh r0, [r0, 0x1E]
- cmp r0, 0xFF
- beq _080200E2
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- ldr r1, [r4]
- movs r0, 0xFF
- strh r0, [r1, 0x1E]
-_080200E2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80200C8
-
- thumb_func_start sub_80200EC
-sub_80200EC: @ 80200EC
- push {lr}
- sub sp, 0x8
- adds r3, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 19
- lsrs r3, 16
- lsls r1, 19
- lsrs r1, 16
- str r1, [sp]
- movs r0, 0xE
- str r0, [sp, 0x4]
- movs r0, 0x1
- adds r1, r2, 0
- adds r2, r3, 0
- movs r3, 0x1
- bl FillWindowPixelRect
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80200EC
-
- thumb_func_start sub_8020118
-sub_8020118: @ 8020118
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r10, r1
- ldr r1, [sp, 0x54]
- lsls r0, 16
- lsrs r5, r0, 16
- mov r9, r5
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r4, 0
- beq _08020154
- bl sub_801F198
- adds r1, r0, 0
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- adds r2, r4, 0
- bl sub_80200EC
-_08020154:
- add r0, sp, 0xC
- mov r1, r8
- strb r1, [r0]
- strb r7, [r0, 0x1]
- strb r6, [r0, 0x2]
- add r4, sp, 0x10
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x14
- strb r0, [r4, 0x1]
- movs r0, 0x8
- strb r0, [r4, 0x2]
- mov r0, sp
- adds r0, 0x13
- mov r1, r10
- bl StringCopy
- mov r0, r9
- lsls r2, r0, 27
- lsrs r2, 24
- add r1, sp, 0xC
- str r1, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8020118
-
- thumb_func_start sub_80201A4
-sub_80201A4: @ 80201A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4C
- movs r0, 0x2
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- bl sub_801F0B0
- lsls r0, 24
- lsrs r2, r0, 24
- add r1, sp, 0xC
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xE
- strb r0, [r1, 0x1]
- movs r0, 0xD
- strb r0, [r1, 0x2]
- cmp r2, 0x3
- beq _08020240
- add r1, sp, 0x10
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x14
- strb r0, [r1, 0x1]
- movs r0, 0x8
- strb r0, [r1, 0x2]
- str r0, [sp, 0x40]
- str r1, [sp, 0x44]
- cmp r2, 0x2
- bne _080201EC
- movs r1, 0x6
- str r1, [sp, 0x40]
-_080201EC:
- movs r7, 0
- movs r6, 0
- lsls r0, r2, 2
- ldr r1, =gUnknown_082F2BA8
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- ldr r0, [sp, 0x40]
- lsls r5, r0, 24
-_080201FE:
- ldr r1, [r4]
- cmp r1, 0
- bne _08020206
- b _0802030C
-_08020206:
- mov r0, sp
- adds r0, 0x13
- bl StringCopy
- lsls r3, r6, 24
- lsrs r3, 24
- add r1, sp, 0xC
- str r1, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x44]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- lsrs r2, r5, 24
- bl AddTextPrinterParameterized3
- adds r4, 0x4
- adds r7, 0x1
- adds r0, r6, 0
- adds r0, 0xC
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r7, 0x9
- ble _080201FE
- b _0802030C
- .pool
-_08020240:
- movs r1, 0x4
- str r1, [sp, 0x40]
- movs r7, 0
- movs r6, 0
-_08020248:
- adds r0, r7, 0
- bl sub_801EE6C
- adds r5, r0, 0
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- cmp r0, 0x28
- bgt _08020286
- lsls r3, r6, 24
- lsrs r3, 24
- add r4, sp, 0xC
- str r4, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r4, 0x80
- lsls r4, 19
- lsrs r2, r4, 24
- bl AddTextPrinterParameterized3
- adds r0, r7, 0x1
- str r0, [sp, 0x48]
- adds r6, 0xC
- mov r10, r6
- b _08020300
-_08020286:
- adds r0, r5, 0
- bl StringLength_Multibyte
- adds r4, r0, 0
- mov r1, sp
- adds r1, 0x10
- str r1, [sp, 0x44]
- ldr r0, [sp, 0x40]
- lsls r0, 24
- mov r8, r0
- lsls r1, r6, 24
- mov r9, r1
- adds r0, r7, 0x1
- str r0, [sp, 0x48]
- adds r6, 0xC
- mov r10, r6
- ldr r7, [sp, 0x40]
- adds r7, 0x23
- ldr r6, [sp, 0x44]
-_080202AC:
- subs r4, 0x1
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl StringCopyN_Multibyte
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- cmp r0, 0x23
- bgt _080202AC
- mov r1, r8
- lsrs r2, r1, 24
- mov r0, r9
- lsrs r4, r0, 24
- add r1, sp, 0xC
- str r1, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x44]
- str r1, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized3
- adds r2, r7, 0
- add r0, sp, 0xC
- str r0, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- ldr r0, =gText_Ellipsis
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized3
-_08020300:
- ldr r7, [sp, 0x48]
- mov r4, r10
- lsls r0, r4, 16
- lsrs r6, r0, 16
- cmp r7, 0x9
- ble _08020248
-_0802030C:
- add sp, 0x4C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80201A4
-
- thumb_func_start sub_8020320
-sub_8020320: @ 8020320
- push {r4,lr}
- ldr r1, =gUnknown_02022C88
- ldr r2, [r1]
- ldrh r3, [r2, 0x20]
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, 0x37
- bgt _08020354
- adds r0, r3, 0
- adds r0, 0xC
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x37
- ble _08020348
- movs r0, 0x38
- strh r0, [r2, 0x20]
- b _08020354
- .pool
-_08020348:
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- bl sub_80207C0
- movs r0, 0x1
- b _08020360
-_08020354:
- ldr r0, [r1]
- movs r4, 0x20
- ldrsh r0, [r0, r4]
- bl sub_8020818
- movs r0, 0
-_08020360:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8020320
-
- thumb_func_start sub_8020368
-sub_8020368: @ 8020368
- push {r4,lr}
- ldr r1, =gUnknown_02022C88
- ldr r2, [r1]
- ldrh r3, [r2, 0x20]
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, 0
- ble _0802039C
- adds r0, r3, 0
- subs r0, 0xC
- strh r0, [r2, 0x20]
- lsls r0, 16
- cmp r0, 0
- bgt _08020390
- movs r0, 0
- strh r0, [r2, 0x20]
- b _0802039C
- .pool
-_08020390:
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- bl sub_80207C0
- movs r0, 0x1
- b _080203A8
-_0802039C:
- ldr r0, [r1]
- movs r4, 0x20
- ldrsh r0, [r0, r4]
- bl sub_8020818
- movs r0, 0
-_080203A8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8020368
-
- thumb_func_start sub_80203B0
-sub_80203B0: @ 80203B0
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0x3
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0xD
- bl sub_8098858
- movs r5, 0xE
- str r5, [sp]
- movs r4, 0x5
- str r4, [sp, 0x4]
- ldr r0, =gUnknown_082F2DC8
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x2
- movs r2, 0x8
- movs r3, 0x1
- bl PrintTextArray
- bl sub_801F0B0
- lsls r0, 24
- lsrs r0, 24
- str r5, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x1
- bl sub_81983AC
- movs r0, 0x3
- bl PutWindowTilemap
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80203B0
-
- thumb_func_start sub_802040C
-sub_802040C: @ 802040C
- push {lr}
- movs r0, 0x3
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- movs r0, 0x3
- bl ClearWindowTilemap
- pop {r0}
- bx r0
- thumb_func_end sub_802040C
-
- thumb_func_start sub_8020420
-sub_8020420: @ 8020420
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 24
- add r3, sp, 0xC
- movs r1, 0x1
- strb r1, [r3]
- lsrs r2, 23
- adds r1, r2, 0x2
- strb r1, [r3, 0x1]
- adds r1, r3, 0
- adds r2, 0x3
- strb r2, [r1, 0x2]
- lsls r4, r0, 4
- subs r4, r0
- lsls r3, r4, 16
- lsrs r3, 16
- movs r0, 0xA8
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- bl FillWindowPixelRect
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- add r0, sp, 0xC
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized3
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8020420
-
- thumb_func_start sub_8020480
-sub_8020480: @ 8020480
- push {lr}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r1, 0xE0
- lsls r1, 8
- movs r0, 0
- bl ClearGpuRegBits
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, =0x000040f0
- movs r0, 0x40
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0x90
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3D
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3F
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020480
-
- thumb_func_start sub_8020538
-sub_8020538: @ 8020538
- push {r4,lr}
- ldr r4, =gUnknown_02022C88
- ldr r1, [r4]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00000928
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001128
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001928
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020538
-
- thumb_func_start sub_8020584
-sub_8020584: @ 8020584
- push {lr}
- sub sp, 0x8
- movs r1, 0xC0
- lsls r1, 19
- movs r0, 0
- movs r2, 0x20
- movs r3, 0x1
- bl RequestDma3Fill
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8020584
-
- thumb_func_start sub_80205B4
-sub_80205B4: @ 80205B4
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_08DD4BD0
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08DD4BB0
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gUnknown_08DD4BF0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DD4C4C
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80205B4
-
- thumb_func_start task_tutorial_story_unknown
-task_tutorial_story_unknown: @ 8020604
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, =gLinkMiscMenu_Pal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gLinkMiscMenu_Gfx
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- adds r5, r0, 0
- cmp r5, 0
- beq _0802064E
- movs r1, 0x88
- lsls r1, 2
- adds r0, r5, r1
- ldr r4, =gUnknown_02022C88
- ldr r1, [r4]
- ldr r2, =0x00002128
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- movs r1, 0x84
- lsls r1, 3
- adds r0, r5, r1
- ldr r1, [r4]
- ldr r2, =0x00002148
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
-_0802064E:
- ldr r1, =gLinkMiscMenu_Tilemap
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_tutorial_story_unknown
-
- thumb_func_start sub_8020680
-sub_8020680: @ 8020680
- push {lr}
- ldr r0, =gUnknown_082F2C20
- movs r1, 0x80
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =0x06004020
- movs r0, 0
- movs r2, 0x20
- movs r3, 0x1
- bl RequestDma3Fill
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020680
-
- thumb_func_start sub_80206A4
-sub_80206A4: @ 80206A4
- push {lr}
- ldr r0, =gUnknown_082F2C40
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80206A4
-
- thumb_func_start sub_80206D0
-sub_80206D0: @ 80206D0
- push {lr}
- movs r0, 0x2
- bl PutWindowTilemap
- bl sub_80201A4
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_80206D0
-
- thumb_func_start sub_80206E8
-sub_80206E8: @ 80206E8
- push {r4,lr}
- sub sp, 0xC
- add r1, sp, 0x8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- movs r4, 0
-_080206F8:
- ldr r0, =gUnknown_02022C88
- ldr r1, [r0]
- ldr r0, =0x00002128
- adds r1, r0
- lsls r2, r4, 19
- lsrs r2, 16
- movs r0, 0x8
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r3, 0
- bl BlitBitmapToWindow
- adds r4, 0x1
- cmp r4, 0xE
- ble _080206F8
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80206E8
-
- thumb_func_start sub_8020740
-sub_8020740: @ 8020740
- push {lr}
- movs r0, 0x3
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- movs r0, 0x3
- movs r1, 0xA
- movs r2, 0x20
- bl LoadUserWindowBorderGfx_
- ldr r0, =gUnknown_0860F074
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020740
-
- thumb_func_start sub_8020770
-sub_8020770: @ 8020770
- push {lr}
- sub sp, 0x10
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- ldr r0, =0x04000014
- str r0, [sp]
- mov r2, sp
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- mov r0, sp
- strb r1, [r0, 0x9]
- ldr r0, =gUnknown_02022C88
- ldr r0, [r0]
- strh r1, [r0, 0x20]
- str r1, [sp, 0xC]
- add r0, sp, 0xC
- ldr r1, =gScanlineEffectRegBuffers
- ldr r2, =0x010003c0
- bl CpuFastSet
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020770
-
- thumb_func_start sub_80207C0
-sub_80207C0: @ 80207C0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- strh r0, [r1]
- ldr r5, =gScanlineEffect
- ldrb r0, [r5, 0x14]
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 7
- ldr r4, =gScanlineEffectRegBuffers
- adds r1, r4
- ldr r2, =0x01000090
- mov r0, sp
- bl CpuSet
- mov r0, sp
- adds r0, 0x2
- movs r1, 0
- strh r1, [r0]
- ldrb r2, [r5, 0x14]
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 7
- movs r2, 0x90
- lsls r2, 1
- adds r4, r2
- adds r1, r4
- ldr r2, =0x01000010
- bl CpuSet
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80207C0
-
- thumb_func_start sub_8020818
-sub_8020818: @ 8020818
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- strh r4, [r0]
- ldr r5, =gScanlineEffectRegBuffers
- ldr r0, =0x01000090
- mov r9, r0
- mov r0, sp
- adds r1, r5, 0
- mov r2, r9
- bl CpuSet
- mov r0, sp
- adds r0, 0x2
- movs r6, 0
- strh r6, [r0]
- movs r2, 0x90
- lsls r2, 1
- adds r1, r5, r2
- ldr r2, =0x01000010
- mov r8, r2
- bl CpuSet
- add r0, sp, 0x4
- strh r4, [r0]
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r5, r2
- mov r2, r9
- bl CpuSet
- mov r0, sp
- adds r0, 0x6
- strh r6, [r0]
- movs r1, 0x8A
- lsls r1, 4
- adds r5, r1
- adds r1, r5, 0
- mov r2, r8
- bl CpuSet
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020818
-
- thumb_func_start sub_8020890
-sub_8020890: @ 8020890
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, =gUnknown_082F3134
-_08020896:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x4
- bls _08020896
- ldr r0, =gUnknown_082F315C
- bl LoadSpritePalette
- ldr r4, =gUnknown_02022C8C
- movs r0, 0x18
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _080208C8
- movs r0, 0x1
- b _080208CA
- .pool
-_080208C8:
- movs r0, 0
-_080208CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8020890
-
- thumb_func_start sub_80208D0
-sub_80208D0: @ 80208D0
- push {lr}
- ldr r0, =gUnknown_02022C8C
- ldr r0, [r0]
- cmp r0, 0
- beq _080208DE
- bl Free
-_080208DE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80208D0
-
- thumb_func_start sub_80208E8
-sub_80208E8: @ 80208E8
- push {lr}
- ldr r0, =gUnknown_082F319C
- movs r1, 0xA
- movs r2, 0x18
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02022C8C
- ldr r2, [r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80208E8
-
- thumb_func_start sub_802091C
-sub_802091C: @ 802091C
- ldr r1, =gUnknown_02022C8C
- ldr r1, [r1]
- ldr r2, [r1]
- adds r2, 0x3E
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- ldrb r3, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r0
- strb r1, [r2]
- bx lr
- .pool
- thumb_func_end sub_802091C
-
- thumb_func_start sub_802093C
-sub_802093C: @ 802093C
- push {r4,r5,lr}
- sub sp, 0x4
- bl sub_801F0B0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r5, sp
- adds r5, 0x1
- mov r0, sp
- adds r1, r5, 0
- bl sub_801F0BC
- cmp r4, 0x3
- beq _0802097C
- ldr r4, =gUnknown_02022C8C
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- ldr r1, [r4]
- ldr r2, [r1]
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0xA
- strh r0, [r2, 0x20]
- ldr r2, [r1]
- b _08020992
- .pool
-_0802097C:
- ldr r4, =gUnknown_02022C8C
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r2, [r4]
- ldr r1, [r2]
- movs r0, 0x18
- strh r0, [r1, 0x20]
- ldr r2, [r2]
-_08020992:
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x18
- strh r0, [r2, 0x22]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802093C
-
- thumb_func_start sub_80209AC
-sub_80209AC: @ 80209AC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 2
- ldr r0, =gUnknown_082F2DF0+2
- adds r4, r0
- movs r0, 0
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- ldr r0, =0x01010000
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x4
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80209AC
-
- thumb_func_start sub_80209E0
-sub_80209E0: @ 80209E0
- push {lr}
- bl sub_801F0B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08020A00
- ldr r0, =gUnknown_02022C8C
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08020A0C
- .pool
-_08020A00:
- ldr r0, =gUnknown_02022C8C
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
-_08020A0C:
- ldr r0, =gUnknown_02022C8C
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x14]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80209E0
-
- thumb_func_start sub_8020A1C
-sub_8020A1C: @ 8020A1C
- push {r4,lr}
- ldr r4, =gUnknown_02022C8C
- ldr r1, [r4]
- ldrh r0, [r1, 0x14]
- cmp r0, 0x3
- bls _08020A30
-_08020A28:
- movs r0, 0
- b _08020A62
- .pool
-_08020A30:
- adds r0, 0x1
- strh r0, [r1, 0x14]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bls _08020A60
- bl sub_801F0B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08020A54
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- b _08020A28
-_08020A54:
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- b _08020A28
-_08020A60:
- movs r0, 0x1
-_08020A62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8020A1C
-
- thumb_func_start sub_8020A68
-sub_8020A68: @ 8020A68
- push {r4,r5,lr}
- ldr r0, =gUnknown_082F31BC
- movs r1, 0x4C
- movs r2, 0x98
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_02022C8C
- ldr r2, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, =gSprites
- adds r1, r4
- str r1, [r2, 0x8]
- ldr r0, =gUnknown_082F31D4
- movs r1, 0x40
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r2, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020A68
-
- thumb_func_start sub_8020ABC
-sub_8020ABC: @ 8020ABC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_801F198
- adds r3, r0, 0
- cmp r3, 0xF
- bne _08020AD8
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _08020AEC
-_08020AD8:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- lsls r0, r3, 3
- adds r0, 0x4C
- strh r0, [r4, 0x20]
-_08020AEC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020ABC
-
- thumb_func_start sub_8020AF4
-sub_8020AF4: @ 8020AF4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08020B1A
- strh r2, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08020B1A
- strh r2, [r1, 0x24]
-_08020B1A:
- pop {r0}
- bx r0
- thumb_func_end sub_8020AF4
-
- thumb_func_start sub_8020B20
-sub_8020B20: @ 8020B20
- push {r4,r5,lr}
- ldr r0, =gUnknown_082F322C
- movs r1, 0x8
- movs r2, 0x98
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_02022C8C
- ldr r2, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, =gSprites
- adds r1, r4
- str r1, [r2, 0xC]
- ldr r0, =gUnknown_082F3244
- movs r1, 0x20
- movs r2, 0x98
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r2, 0x10]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020B20
-
- thumb_func_start sub_8020B80
-sub_8020B80: @ 8020B80
- push {r4,lr}
- bl sub_801F0B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _08020BB8
- bl sub_801F0DC
- cmp r0, 0
- beq _08020BC2
- ldr r3, =gUnknown_02022C8C
- ldr r0, [r3]
- ldr r1, [r0, 0x10]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- ldr r0, [r0, 0x10]
- movs r1, 0x3
- bl StartSpriteAnim
- b _08020BF6
- .pool
-_08020BB8:
- bl sub_801F1A4
- adds r4, r0, 0
- cmp r4, 0x3
- bne _08020BD8
-_08020BC2:
- ldr r0, =gUnknown_02022C8C
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _08020BF6
- .pool
-_08020BD8:
- ldr r3, =gUnknown_02022C8C
- ldr r0, [r3]
- ldr r1, [r0, 0x10]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- ldr r0, [r0, 0x10]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
-_08020BF6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020B80
-
- thumb_func_start sub_8020C00
-sub_8020C00: @ 8020C00
- ldr r0, =gUnknown_02022C90
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8020C00
-
- thumb_func_start sub_8020C0C
-sub_8020C0C: @ 8020C0C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_02022C90
- ldr r0, [r5]
- cmp r0, 0
- bne _08020C20
- movs r0, 0x2
- b _08020C5C
- .pool
-_08020C20:
- cmp r4, 0
- bne _08020C26
- ldr r4, [r0]
-_08020C26:
- ldrb r0, [r0, 0xA]
- bl DestroyTask
- ldr r0, [r5]
- bl Free
- movs r0, 0
- str r0, [r5]
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =CB2_ReturnToField
- cmp r4, r0
- bne _08020C5A
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0xC8
- lsls r0, 1
- bl PlayNewMapMusic
- ldr r0, =CB1_Overworld
- bl SetMainCallback1
-_08020C5A:
- movs r0, 0
-_08020C5C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8020C0C
-
- thumb_func_start sub_8020C70
-sub_8020C70: @ 8020C70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- mov r8, r0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08020C8E
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _08020CAC
-_08020C8E:
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =gUnknown_03005000
- mov r1, r8
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- b _08020CF8
- .pool
-_08020CAC:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r8
- cmp r0, 0x1
- bls _08020CC8
- cmp r7, r8
- bcc _08020CDC
-_08020CC8:
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =gUnknown_03005000
- movs r1, 0
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- b _08020CF8
- .pool
-_08020CDC:
- ldr r6, =gUnknown_02022C90
- ldr r0, =0x000041c0
- bl AllocZeroed
- adds r5, r0, 0
- str r5, [r6]
- cmp r5, 0
- bne _08020D10
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =gUnknown_03005000
- strh r5, [r0, 0x10]
- strh r5, [r0, 0x12]
-_08020CF8:
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
- b _08020D74
- .pool
-_08020D10:
- str r4, [r5]
- movs r4, 0
- strb r7, [r5, 0x8]
- ldr r0, [r6]
- mov r1, r8
- strb r1, [r0, 0x9]
- ldr r0, [r6]
- bl sub_8020FC4
- ldr r1, [r6]
- movs r2, 0x1
- movs r0, 0x1
- strh r0, [r1, 0x12]
- strb r2, [r1, 0xE]
- ldr r1, [r6]
- movs r0, 0x6
- strb r0, [r1, 0xF]
- ldr r0, [r6]
- adds r0, 0x36
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x10
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl sub_8024604
- ldr r2, [r6]
- adds r2, 0x36
- movs r0, 0x4
- movs r1, 0x1
- bl sub_8022BEC
- ldr r0, =sub_8020F88
- bl SetMainCallback2
- ldr r0, =sub_8020FA0
- movs r1, 0x8
- bl CreateTask
- ldr r1, [r6]
- strb r0, [r1, 0xA]
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08020D74:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020C70
-
- thumb_func_start sub_8020D8C
-sub_8020D8C: @ 8020D8C
- push {r4,lr}
- sub sp, 0xC
- ldr r1, =gSpecialVar_ItemId
- ldrh r0, [r1]
- subs r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _08020DA8
- movs r0, 0x85
- strh r0, [r1]
- b _08020DB0
- .pool
-_08020DA8:
- ldrh r0, [r1]
- movs r1, 0x1
- bl RemoveBagItem
-_08020DB0:
- ldr r4, =gUnknown_02022C90
- ldr r2, [r4]
- ldrb r0, [r2, 0x8]
- lsls r0, 5
- adds r0, r2, r0
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- subs r1, 0x85
- adds r0, 0xA4
- movs r3, 0
- strh r1, [r0]
- movs r0, 0x1
- strb r0, [r2, 0xE]
- ldr r1, [r4]
- movs r0, 0x9
- strb r0, [r1, 0xF]
- ldr r0, [r4]
- adds r0, 0x36
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x10
- str r1, [sp]
- str r3, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0
- bl sub_8024604
- ldr r2, [r4]
- adds r2, 0x36
- movs r0, 0x4
- movs r1, 0x1
- bl sub_8022BEC
- ldr r0, =sub_8020FA0
- movs r1, 0x8
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0xA]
- ldr r0, =sub_8020F88
- bl SetMainCallback2
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020D8C
-
- thumb_func_start sub_8020E1C
-sub_8020E1C: @ 8020E1C
- push {lr}
- ldr r0, =gUnknown_02022C90
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl DestroyTask
- ldr r0, =sub_8020D8C
- bl sub_81AABF0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020E1C
-
- thumb_func_start sub_8020E3C
-sub_8020E3C: @ 8020E3C
- push {lr}
- ldr r0, =sub_8020F74
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020E3C
-
- thumb_func_start sub_8020E4C
-sub_8020E4C: @ 8020E4C
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_8020E4C
-
- thumb_func_start sub_8020E58
-sub_8020E58: @ 8020E58
- push {r4-r6,lr}
- ldr r4, =gUnknown_02022C90
- ldr r0, [r4]
- adds r0, 0x6C
- ldrh r2, [r0]
- lsls r2, 8
- movs r1, 0xF0
- lsls r1, 6
- adds r0, r2, 0
- bl sub_81515FC
- adds r2, r0, 0
- ldr r0, [r4]
- adds r0, 0x72
- ldrh r3, [r0]
- lsls r3, 8
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_81515FC
- adds r3, r0, 0
- ldr r0, =0x0000ffff
- ands r3, r0
- ldr r2, [r4]
- strh r3, [r2, 0x16]
- ldrb r0, [r2, 0x9]
- cmp r0, 0x3
- beq _08020EDC
- cmp r0, 0x3
- bgt _08020EA4
- cmp r0, 0x2
- beq _08020EAE
- b _08020F48
- .pool
-_08020EA4:
- cmp r0, 0x4
- beq _08020EEC
- cmp r0, 0x5
- beq _08020F20
- b _08020F48
-_08020EAE:
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r0, 0xF6
- lsls r0, 1
- adds r1, r0
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _08020F48
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, [r4]
- ldrh r1, [r1, 0x16]
- movs r2, 0xF6
- lsls r2, 1
- b _08020F14
- .pool
-_08020EDC:
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- movs r6, 0xF7
- lsls r6, 1
- b _08020F28
- .pool
-_08020EEC:
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r0, 0xF8
- lsls r0, 1
- adds r1, r0
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _08020F48
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, [r4]
- ldrh r1, [r1, 0x16]
- movs r2, 0xF8
- lsls r2, 1
-_08020F14:
- adds r0, r2
- strh r1, [r0]
- b _08020F48
- .pool
-_08020F20:
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- movs r6, 0xF9
- lsls r6, 1
-_08020F28:
- adds r1, r0, r6
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _08020F48
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r5]
- ldr r0, [r4]
- ldrh r0, [r0, 0x16]
- adds r1, r6
- strh r0, [r1]
-_08020F48:
- ldr r4, =gUnknown_02022C90
- ldr r1, [r4]
- ldr r0, [r1, 0x68]
- str r0, [r1, 0x1C]
- bl sub_8024700
- lsls r0, 24
- cmp r0, 0
- bne _08020F66
- ldr r0, [r4]
- adds r0, 0x25
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
-_08020F66:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020E58
-
- thumb_func_start sub_8020F74
-sub_8020F74: @ 8020F74
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_8020F74
-
- thumb_func_start sub_8020F88
-sub_8020F88: @ 8020F88
- push {lr}
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8020F88
-
- thumb_func_start sub_8020FA0
-sub_8020FA0: @ 8020FA0
- push {r4,lr}
- ldr r4, =gUnknown_02022C90
- ldr r0, [r4]
- ldr r2, [r0, 0x4]
- cmp r2, 0
- beq _08020FB4
- adds r1, r0, 0
- adds r1, 0x36
- bl _call_via_r2
-_08020FB4:
- ldr r0, [r4]
- bl sub_8021450
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8020FA0
-
- thumb_func_start sub_8020FC4
-sub_8020FC4: @ 8020FC4
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- b _08020FE6
-_08020FCC:
- lsls r0, r5, 5
- adds r0, 0x98
- adds r0, r6, r0
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- ldr r2, =gLinkPlayers + 8
- adds r1, r2
- bl StringCopy
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08020FE6:
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _08020FCC
- cmp r5, 0x4
- bhi _08021012
-_08020FF0:
- lsls r4, r5, 5
- adds r0, r4, 0
- adds r0, 0x98
- adds r0, r6, r0
- movs r1, 0x1
- movs r2, 0x7
- bl memset
- adds r4, r6, r4
- adds r4, 0x9F
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08020FF0
-_08021012:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsls r0, 29
- lsrs r0, 29
- cmp r0, 0x1
- beq _0802103E
- cmp r0, 0x1
- bgt _08021034
- cmp r0, 0
- beq _0802103A
- b _08021046
- .pool
-_08021034:
- cmp r0, 0x2
- beq _08021042
- b _08021046
-_0802103A:
- movs r0, 0x8
- b _08021044
-_0802103E:
- movs r0, 0x4
- b _08021044
-_08021042:
- movs r0, 0x1
-_08021044:
- strb r0, [r6, 0xB]
-_08021046:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8020FC4
-
- thumb_func_start sub_802104C
-sub_802104C: @ 802104C
- push {r4,r5,lr}
- sub sp, 0xC
- bl sub_8020C00
- adds r5, r0, 0
- cmp r5, 0
- bne _08021060
- movs r0, 0x1
- negs r0, r0
- b _08021304
-_08021060:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x9
- bls _08021068
- b _080212FC
-_08021068:
- lsls r0, 2
- ldr r1, =_08021078
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08021078:
- .4byte _080210A0
- .4byte _080210BE
- .4byte _080210E4
- .4byte _080210F2
- .4byte _08021178
- .4byte _080211BE
- .4byte _080211EC
- .4byte _0802121C
- .4byte _08021278
- .4byte _080212B4
-_080210A0:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ScanlineEffect_Stop
- bl reset_temp_tile_data_buffers
- b _080212FC
-_080210BE:
- add r0, sp, 0x8
- movs r4, 0
- strh r4, [r0]
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, =0x01000200
- bl CpuSet
- ldr r0, =gReservedSpritePaletteCount
- strb r4, [r0]
- movs r0, 0x3
- bl sub_8034C54
- b _080212FC
- .pool
-_080210E4:
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- b _080212FC
-_080210F2:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F32C8
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x87
- lsls r0, 6
- adds r1, r5, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- movs r0, 0xC7
- lsls r0, 6
- adds r1, r5, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- b _080212FC
- .pool
-_08021178:
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- b _080212FC
-_080211BE:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r1, =gUnknown_08DE34B8
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _080212FC
- .pool
-_080211EC:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _080211F8
- b _08021302
-_080211F8:
- bl InitStandardTextBoxWindows
- bl sub_8197200
- adds r0, r5, 0
- bl sub_8022588
- adds r0, r5, 0
- bl sub_8022600
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x8]
- b _080212FC
- .pool
-_0802121C:
- ldr r0, =gUnknown_08DE3398
- movs r2, 0xC0
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- ldr r1, =gBerryCrushGrinderTopTilemap
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gBerryCrushContainerCapTilemap
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gBerryCrushBackgroundTilemap
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- adds r0, r5, 0
- bl sub_80226D0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080212FC
- .pool
-_08021278:
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- adds r0, r5, 0
- bl sub_8022730
- ldr r0, =gSpriteCoordOffsetY
- ldrh r1, [r0]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x16
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _080212FC
- .pool
-_080212B4:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- bl sub_8020E3C
- movs r0, 0
- strb r0, [r5, 0xC]
- movs r0, 0x1
- b _08021304
- .pool
-_080212FC:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_08021302:
- movs r0, 0
-_08021304:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802104C
-
- thumb_func_start sub_802130C
-sub_802130C: @ 802130C
- push {r4,r5,lr}
- sub sp, 0x8
- bl sub_8020C00
- adds r5, r0, 0
- cmp r5, 0
- bne _08021320
- movs r0, 0x1
- negs r0, r0
- b _08021446
-_08021320:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x7
- bls _08021328
- b _0802143E
-_08021328:
- lsls r0, 2
- ldr r1, =_08021338
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08021338:
- .4byte _08021358
- .4byte _0802135E
- .4byte _08021368
- .4byte _0802137E
- .4byte _0802138A
- .4byte _080213E6
- .4byte _08021426
- .4byte _08021436
-_08021358:
- bl sub_8010434
- b _0802143E
-_0802135E:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08021444
-_08021368:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _0802143E
-_0802137E:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0802143E
- b _08021444
-_0802138A:
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0802143E
-_080213E6:
- bl FreeAllWindowBuffers
- movs r0, 0
- bl HideBg
- movs r0, 0
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl HideBg
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x2
- bl HideBg
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0x3
- bl HideBg
- movs r0, 0x3
- bl UnsetBgTilemapBuffer
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl ClearGpuRegBits
- b _0802143E
-_08021426:
- bl sub_800E084
- adds r0, r5, 0
- bl sub_8022960
- bl sub_8034CC8
- b _0802143E
-_08021436:
- movs r0, 0
- strb r0, [r5, 0xC]
- movs r0, 0x1
- b _08021446
-_0802143E:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_08021444:
- movs r0, 0
-_08021446:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802130C
-
- thumb_func_start sub_8021450
-sub_8021450: @ 8021450
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gSpriteCoordOffsetY
- ldrh r1, [r4, 0x2C]
- ldrh r2, [r4, 0x2A]
- adds r1, r2
- strh r1, [r0]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x16
- bl SetGpuReg
- ldrh r0, [r4, 0x12]
- cmp r0, 0x7
- bne _0802147C
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r4, r1
- ldrh r1, [r4, 0x28]
- bl sub_8022524
-_0802147C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8021450
-
- thumb_func_start sub_8021488
-sub_8021488: @ 8021488
- movs r1, 0
- ldr r2, =0x0000ff98
- strh r2, [r0, 0x2A]
- strh r1, [r0, 0x2C]
- ldr r0, =gSpriteCoordOffsetX
- strh r1, [r0]
- ldr r0, =gSpriteCoordOffsetY
- strh r2, [r0]
- bx lr
- .pool
- thumb_func_end sub_8021488
-
- thumb_func_start sub_80214A8
-sub_80214A8: @ 80214A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r10, r0
- str r1, [sp]
- movs r0, 0
- mov r9, r0
- mov r1, r10
- ldrb r1, [r1, 0x9]
- cmp r9, r1
- bcc _080214C6
- b _080215E4
-_080214C6:
- ldr r1, =gUnknown_082F41E8
- mov r2, r9
- lsls r0, r2, 1
- adds r0, r1
- ldrh r2, [r0]
- mov r1, r9
- lsls r0, r1, 5
- add r0, r10
- adds r0, 0xA4
- ldrh r3, [r0]
- adds r3, 0x85
- lsls r3, 16
- lsrs r3, 16
- ldr r0, =gUnknown_082F436C
- adds r1, r2, 0
- bl AddCustomItemIconSprite
- lsls r0, 24
- lsrs r0, 24
- mov r2, r9
- lsls r3, r2, 2
- ldr r1, [sp]
- adds r1, 0x38
- adds r6, r1, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r6]
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r2, [r6]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r6]
- ldr r0, [sp]
- adds r0, 0xC
- adds r0, r3
- mov r8, r0
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- adds r0, 0x78
- strh r0, [r1, 0x20]
- ldr r1, [r6]
- ldr r0, =0x0000fff0
- strh r0, [r1, 0x22]
- ldr r3, [r6]
- adds r5, r3, 0
- adds r5, 0x2E
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r5, 0x2]
- movs r0, 0x20
- strh r0, [r5, 0x4]
- movs r0, 0x70
- strh r0, [r5, 0xE]
- mov r2, r8
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- ldrh r1, [r1, 0x8]
- subs r0, r1
- lsls r0, 16
- asrs r1, r0, 16
- adds r0, r1, 0
- cmp r1, 0
- bge _08021558
- adds r0, r1, 0x3
-_08021558:
- asrs r0, 2
- strh r0, [r5, 0xC]
- lsls r0, r1, 23
- lsrs r7, r0, 16
- movs r2, 0x80
- lsls r2, 2
- adds r2, 0x20
- lsrs r2, 1
- movs r0, 0x7
- movs r1, 0xFE
- lsls r1, 6
- str r3, [sp, 0x4]
- bl sub_81515D4
- adds r4, r0, 0
- ldr r0, [r6]
- ldrh r0, [r0, 0x20]
- lsls r0, 7
- ldr r3, [sp, 0x4]
- strh r0, [r3, 0x2E]
- lsls r1, r7, 16
- asrs r1, 16
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x7
- adds r2, r4, 0
- bl sub_81515D4
- strh r0, [r5, 0x6]
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x55
- bl sub_8151550
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r5, 0x8]
- lsls r2, 16
- asrs r2, 16
- movs r0, 0x7
- movs r1, 0xFE
- lsls r1, 6
- bl sub_81515D4
- strh r0, [r5, 0xA]
- ldrh r0, [r5, 0xE]
- ldr r2, =0xffff8000
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r5, 0xE]
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080215D0
- ldr r0, [r6]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080215D0:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- ldrb r0, [r0, 0x9]
- cmp r9, r0
- bcs _080215E4
- b _080214C6
-_080215E4:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80214A8
-
- thumb_func_start sub_8021608
-sub_8021608: @ 8021608
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrh r0, [r4, 0x4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r5, 0x26]
- adds r0, r2
- strh r0, [r5, 0x26]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r6, 0x80
- lsls r6, 8
- ands r0, r6
- cmp r0, 0
- beq _0802166E
- ldrh r0, [r4, 0x6]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ands r0, r6
- cmp r0, 0
- beq _0802166E
- ldrh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- cmp r0, 0x7E
- ble _0802166E
- movs r0, 0
- strh r0, [r5, 0x24]
- ldrh r1, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xE]
-_0802166E:
- ldrh r0, [r4]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r5, 0x20]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r2, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r2
- cmp r1, r0
- blt _0802169A
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- bl FreeSpriteOamMatrix
- adds r0, r5, 0
- bl DestroySprite
-_0802169A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021608
-
- thumb_func_start sub_80216A8
-sub_80216A8: @ 80216A8
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcs _080216D4
- ldr r7, =gUnknown_082F41E8
-_080216B6:
- lsls r0, r5, 1
- adds r0, r7
- ldrh r4, [r0]
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _080216B6
-_080216D4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80216A8
-
- thumb_func_start sub_80216E0
-sub_80216E0: @ 80216E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r6, r0, 0
- str r1, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0x4E
- adds r1, r6
- mov r10, r1
- mov r9, r0
- ldrb r2, [r6, 0x9]
- cmp r0, r2
- bcs _080217AE
- ldr r7, =gUnknown_082F41CC
-_08021704:
- mov r3, r10
- ldrh r0, [r3, 0xA]
- mov r4, r9
- lsls r1, r4, 1
- add r1, r9
- asrs r0, r1
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- mov r8, r1
- cmp r1, 0
- beq _0802179E
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08021748
- lsls r4, 2
- ldr r5, [sp]
- adds r5, 0x24
- adds r0, r5, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _0802175A
- .pool
-_08021748:
- mov r0, r9
- lsls r4, r0, 2
- ldr r5, [sp]
- adds r5, 0x24
- adds r0, r5, r4
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_0802175A:
- adds r3, r5, r4
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r4, 0x5
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- subs r4, 0x3C
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- mov r8, r1
- subs r1, 0x1
- lsls r1, 1
- adds r0, r1, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r2, 0x24]
- ldr r2, [r3]
- ldr r3, =gUnknown_082F41CC+1
- adds r1, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- strh r0, [r2, 0x26]
-_0802179E:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r4, [r6, 0x9]
- cmp r9, r4
- bcc _08021704
-_080217AE:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _080217C0
- adds r2, r6, 0
- adds r2, 0x25
- ldrb r1, [r2]
- b _0802189C
- .pool
-_080217C0:
- ldrh r0, [r6, 0x28]
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r1, r8
- str r1, [sp, 0x8]
- movs r2, 0
- mov r9, r2
- mov r3, r10
- ldrh r1, [r3, 0xC]
- lsls r0, r1, 1
- adds r0, 0x3
- adds r6, 0x25
- str r6, [sp, 0xC]
- adds r3, r1, 0
- cmp r9, r0
- bge _08021890
-_080217E8:
- mov r4, r9
- lsls r1, r4, 2
- ldr r0, [sp]
- adds r0, 0x4C
- adds r7, r0, r1
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0802187E
- ldr r0, =sub_8022B28
- str r0, [r2, 0x1C]
- lsls r1, r4, 1
- ldr r3, =gUnknown_082F41CC+6
- adds r0, r1, r3
- movs r4, 0
- ldrsb r4, [r0, r4]
- adds r0, r4, 0
- adds r0, 0x78
- strh r0, [r2, 0x20]
- ldr r2, [r7]
- ldr r0, =gUnknown_082F41CC+7
- adds r1, r0
- movs r6, 0
- ldrsb r6, [r1, r6]
- mov r1, r8
- lsls r0, r1, 2
- subs r0, 0x88
- subs r0, r6, r0
- strh r0, [r2, 0x22]
- ldr r5, [r7]
- ldr r2, [sp, 0x8]
- lsls r1, r2, 2
- adds r0, r4, 0
- bl __divsi3
- adds r4, r0
- strh r4, [r5, 0x24]
- ldr r0, [r7]
- strh r6, [r0, 0x26]
- mov r3, r10
- ldrb r1, [r3, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08021860
- ldr r0, [r7]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08021868
- .pool
-_08021860:
- ldr r0, [r7]
- movs r1, 0
- bl StartSpriteAnim
-_08021868:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r4, r10
- ldrh r3, [r4, 0xC]
- cmp r0, 0x3
- bls _0802187E
- movs r0, 0
- mov r8, r0
-_0802187E:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r0, r3, 1
- adds r0, 0x3
- cmp r9, r0
- blt _080217E8
-_08021890:
- ldr r2, [sp, 0xC]
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080218A6
-_0802189C:
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _080218C4
-_080218A6:
- ldr r3, [sp, 0x4]
- cmp r3, 0x1
- bne _080218B4
- movs r0, 0x4E
- bl PlaySE
- b _080218BA
-_080218B4:
- movs r0, 0x4D
- bl PlaySE
-_080218BA:
- ldr r4, [sp, 0xC]
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
-_080218C4:
- 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_80216E0
-
- thumb_func_start sub_80218D4
-sub_80218D4: @ 80218D4
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r2, 0
- ldrb r0, [r5, 0x9]
- cmp r2, r0
- bcs _08021906
- adds r4, r6, 0
- adds r4, 0x24
- movs r7, 0x4
- adds r3, r0, 0
-_080218EA:
- lsls r0, r2, 2
- adds r0, r4, r0
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08021920
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _080218EA
-_08021906:
- movs r2, 0
- adds r3, r6, 0
- adds r3, 0x4C
- movs r4, 0x4
-_0802190E:
- lsls r0, r2, 2
- adds r0, r3, r0
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _08021924
-_08021920:
- movs r0, 0
- b _0802193C
-_08021924:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _0802190E
- movs r1, 0x2C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0802193A
- movs r0, 0
- strh r0, [r5, 0x2C]
-_0802193A:
- movs r0, 0x1
-_0802193C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80218D4
-
- thumb_func_start sub_8021944
-sub_8021944: @ 8021944
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r4, r1, 16
- lsrs r4, 16
- movs r7, 0
- movs r5, 0xE1
- lsls r5, 4
- adds r0, r4, 0
- adds r1, r5, 0
- bl __udivsi3
- strh r0, [r6, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3C
- bl __udivsi3
- strh r0, [r6, 0x6]
- adds r0, r4, 0
- movs r1, 0x3C
- bl __umodsi3
- lsls r0, 24
- asrs r0, 16
- movs r1, 0x4
- bl sub_8151534
- adds r2, r7, 0
- lsls r0, 16
- asrs r3, r0, 16
- movs r0, 0x7
- mov r12, r0
- ldr r5, =gUnknown_082F334C
- movs r4, 0x1
-_08021990:
- mov r0, r12
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- ands r0, r4
- cmp r0, 0
- beq _080219A6
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- adds r7, r0
-_080219A6:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _08021990
- ldr r1, =0x000f4240
- adds r0, r7, 0
- bl __udivsi3
- strh r0, [r6, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021944
-
- thumb_func_start sub_80219C8
-sub_80219C8: @ 80219C8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- mov r1, r8
- bl GetStringWidth
- lsls r4, 2
- lsrs r0, 1
- subs r4, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r5, 1
- adds r0, r5
- ldr r1, =gUnknown_082F32D8
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized3
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80219C8
-
- thumb_func_start sub_8021A28
-sub_8021A28: @ 8021A28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r0, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- lsls r3, 24
- movs r0, 0
- str r0, [sp, 0x18]
- movs r1, 0
- str r1, [sp, 0x1C]
- ldr r2, [sp, 0xC]
- adds r2, 0x68
- str r2, [sp, 0x20]
- movs r4, 0xF0
- lsls r4, 24
- adds r3, r4
- lsrs r3, 24
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- bne _08021A68
- adds r0, r3, 0
- subs r0, 0x2A
- lsls r0, 24
- lsrs r3, r0, 24
-_08021A68:
- ldr r2, [sp, 0xC]
- ldrb r1, [r2, 0x9]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- subs r6, r3, r0
- cmp r6, 0
- ble _08021A84
- lsrs r0, r6, 31
- adds r0, r6, r0
- asrs r0, 1
- adds r6, r0, 0
- adds r6, 0x10
- b _08021A86
-_08021A84:
- movs r6, 0x10
-_08021A86:
- movs r5, 0
- ldr r3, [sp, 0xC]
- ldrb r3, [r3, 0x9]
- cmp r5, r3
- bcc _08021A92
- b _08021D14
-_08021A92:
- ldr r4, [sp, 0x10]
- lsls r4, 2
- str r4, [sp, 0x24]
-_08021A98:
- bl DynamicPlaceholderTextUtil_Reset
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- beq _08021B48
- cmp r0, 0x1
- bgt _08021AC0
- cmp r0, 0
- beq _08021ADE
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r1, r6, 24
- mov r10, r1
- ldr r2, [sp, 0x1C]
- adds r2, 0xA2
- mov r9, r2
- ldr r3, [sp, 0x18]
- lsls r3, 5
- mov r8, r3
- b _08021C5A
-_08021AC0:
- ldr r4, [sp, 0x10]
- cmp r4, 0x2
- bne _08021AC8
- b _08021C1C
-_08021AC8:
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xA2
- mov r9, r1
- ldr r2, [sp, 0x18]
- lsls r2, 5
- mov r8, r2
- b _08021C5A
-_08021ADE:
- ldr r0, [sp, 0x20]
- adds r0, 0x20
- adds r0, r5
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- lsls r3, r5, 1
- ldr r2, [sp, 0x20]
- adds r2, 0xC
- cmp r5, 0
- beq _08021B04
- adds r0, r2, r3
- subs r1, r5, 0x1
- lsls r1, 1
- adds r1, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08021B04
- str r5, [sp, 0x1C]
-_08021B04:
- ldr r4, [sp, 0x24]
- ldr r1, [sp, 0x10]
- adds r0, r4, r1
- lsls r0, 1
- adds r0, r3, r0
- adds r0, r2, r0
- ldrh r1, [r0]
- ldr r0, =gStringVar4
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_082F43B4
- adds r0, r4, r0
- ldr r1, [r0]
- ldr r0, =gStringVar4
- bl StringAppend
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r2, r6, 24
- mov r10, r2
- ldr r3, [sp, 0x1C]
- adds r3, 0xA2
- mov r9, r3
- ldr r0, [sp, 0x18]
- lsls r0, 5
- mov r8, r0
- b _08021C5A
- .pool
-_08021B48:
- ldr r1, [sp, 0x20]
- adds r0, r1, r5
- adds r0, 0x28
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- lsls r3, r5, 1
- adds r2, r1, 0
- adds r2, 0xC
- cmp r5, 0
- beq _08021B72
- adds r0, r3, 0
- adds r0, 0xA
- adds r0, r2, r0
- adds r1, r3, 0
- adds r1, 0x8
- adds r1, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08021B72
- str r5, [sp, 0x1C]
-_08021B72:
- ldr r0, [sp, 0x24]
- ldr r1, [sp, 0x10]
- adds r4, r0, r1
- lsls r4, 1
- adds r4, r3, r4
- adds r4, r2, r4
- ldrh r1, [r4]
- lsrs r1, 4
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r7, 0
- ldrb r0, [r4]
- movs r3, 0xF
- ands r3, r0
- movs r2, 0
- ldr r4, [sp, 0x10]
- lsls r4, 2
- str r4, [sp, 0x28]
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xA2
- mov r9, r1
- ldr r0, [sp, 0x18]
- lsls r0, 5
- mov r8, r0
- adds r6, 0xE
- adds r5, 0x1
- ldr r1, =gUnknown_082F334C
- mov r12, r1
-_08021BB8:
- movs r0, 0x3
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08021BD0
- lsls r0, r2, 2
- add r0, r12
- ldr r0, [r0]
- adds r7, r0
-_08021BD0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _08021BB8
- adds r0, r7, 0
- ldr r1, =0x000f4240
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gStringVar2
- adds r1, r3, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_082F43B4
- ldr r2, [sp, 0x28]
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- b _08021C5E
- .pool
-_08021C1C:
- str r5, [sp, 0x18]
- str r5, [sp, 0x1C]
- lsls r7, r5, 5
- ldr r3, [sp, 0xC]
- adds r0, r3, r7
- adds r0, 0xA4
- ldrb r2, [r0]
- cmp r2, 0x2B
- bls _08021C30
- movs r2, 0
-_08021C30:
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, =gBerries
- adds r1, r0
- ldr r0, =gStringVar1
- bl StringCopy
- ldr r0, =gUnknown_082F43B4
- ldr r1, [r0, 0x8]
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- movs r1, 0xA2
- adds r1, r5
- mov r9, r1
- mov r8, r7
-_08021C5A:
- adds r6, 0xE
- adds r5, 0x1
-_08021C5E:
- movs r0, 0x2
- ldr r1, =gStringVar4
- adds r2, r4, 0
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldr r3, [sp, 0xC]
- movs r4, 0xDD
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r2, 24
- lsrs r2, 24
- mov r1, r10
- lsrs r3, r1, 24
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x2
- bl AddTextPrinterParameterized3
- ldr r3, [sp, 0x18]
- ldr r2, [sp, 0xC]
- ldrb r2, [r2, 0x8]
- cmp r3, r2
- bne _08021CC0
- ldr r0, =gStringVar3
- ldr r1, =gText_1DotBlueF700
- bl StringCopy
- b _08021CC8
- .pool
-_08021CC0:
- ldr r0, =gStringVar3
- ldr r1, =gText_1DotF700
- bl StringCopy
-_08021CC8:
- ldr r4, =gStringVar3
- mov r3, r9
- strb r3, [r4]
- mov r1, r8
- adds r1, 0x98
- ldr r0, [sp, 0xC]
- adds r1, r0, r1
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r1, [sp, 0xC]
- movs r2, 0xDD
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r4, r10
- lsrs r3, r4, 24
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r2, =gStringVar4
- str r2, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x4
- bl AddTextPrinterParameterized3
- lsls r0, r5, 24
- lsrs r5, r0, 24
- ldr r3, [sp, 0xC]
- ldrb r3, [r3, 0x9]
- cmp r5, r3
- bcs _08021D14
- b _08021A98
-_08021D14:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021A28
-
- thumb_func_start sub_8021D34
-sub_8021D34: @ 8021D34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r8, r0
- movs r0, 0
- mov r10, r0
- movs r6, 0
- movs r1, 0
- str r1, [sp, 0xC]
- mov r2, r8
- adds r2, 0x68
- str r2, [sp, 0x10]
- movs r4, 0xDD
- lsls r4, 1
- add r4, r8
- mov r9, r4
- ldrb r0, [r4]
- movs r1, 0x4
- bl GetWindowAttribute
- lsls r0, 27
- movs r1, 0xD6
- lsls r1, 24
- adds r0, r1
- lsrs r7, r0, 24
- movs r0, 0x9C
- lsls r0, 1
- add r0, r8
- ldr r2, [sp, 0x10]
- ldrh r1, [r2, 0x4]
- bl sub_8021944
- ldrb r0, [r4]
- ldr r4, =gUnknown_082F32D8
- str r4, [sp]
- str r6, [sp, 0x4]
- ldr r1, =gText_TimeColon
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_SpaceSec
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0xB0
- subs r0, r1, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r2, r9
- ldrb r0, [r2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- movs r0, 0x9F
- lsls r0, 1
- add r0, r8
- movs r4, 0
- ldrsh r1, [r0, r4]
- ldr r0, =gStringVar1
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- movs r1, 0xA0
- lsls r1, 1
- add r1, r8
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r5, =gStringVar4
- ldr r1, =gText_XDotY2
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r4, r9
- ldrb r0, [r4]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_SpaceMin
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- str r2, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, =gStringVar1
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_StrVar1
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r4, r9
- ldrb r0, [r4]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- adds r0, r7, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- ldr r4, =gUnknown_082F32D8
- str r4, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- ldr r1, =gText_PressingSpeed
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_TimesPerSec
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r2, 0xB0
- subs r0, r2, r0
- lsls r0, 24
- str r0, [sp, 0x18]
- lsrs r6, r0, 24
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- str r2, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- mov r4, r8
- ldrb r2, [r4, 0x16]
- ldrh r0, [r4, 0x16]
- mov r12, r0
- movs r1, 0x7
- mov r9, r1
- movs r5, 0x1
- ldr r3, =gUnknown_082F334C
-_08021EEC:
- mov r4, r9
- mov r0, r10
- subs r1, r4, r0
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _08021F0A
- mov r1, r10
- lsls r0, r1, 2
- adds r0, r3
- ldr r0, [r0]
- ldr r4, [sp, 0xC]
- adds r4, r0
- str r4, [sp, 0xC]
-_08021F0A:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0x7
- bls _08021EEC
- ldr r0, =gStringVar1
- mov r2, r12
- lsrs r1, r2, 8
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- ldr r1, =0x000f4240
- ldr r0, [sp, 0xC]
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_XDotY3
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- adds r1, r4, 0
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08021FC4
- movs r0, 0xDD
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- ldr r1, =gUnknown_082F32E7
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- b _08021FDE
- .pool
-_08021FC4:
- movs r0, 0xDD
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
-_08021FDE:
- adds r0, r7, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0xDD
- lsls r4, 1
- add r8, r4
- mov r1, r8
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- mov r9, r2
- str r2, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- ldr r1, =gText_Silkiness
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r0, =gStringVar1
- ldr r4, [sp, 0x10]
- ldrh r1, [r4, 0x8]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_Var1Percent
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- adds r1, r4, 0
- bl GetStringWidth
- movs r1, 0xB0
- subs r1, r0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r1, r8
- ldrb r0, [r1]
- mov r2, r9
- str r2, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021D34
-
- thumb_func_start sub_8022070
-sub_8022070: @ 8022070
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- adds r0, r6, 0
- adds r0, 0x80
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _08022084
- b _08022218
-_08022084:
- lsls r0, 2
- ldr r1, =_08022094
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08022094:
- .4byte _080220AC
- .4byte _080220F8
- .4byte _0802210C
- .4byte _08022130
- .4byte _080221F8
- .4byte _08022200
-_080220AC:
- ldrb r0, [r4, 0x9]
- subs r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- bl sub_8022554
- ldrh r0, [r4, 0x12]
- lsls r0, 3
- ldr r2, =gUnknown_082F32CC
- mov r1, sp
- adds r0, r2
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- ldrh r0, [r4, 0x12]
- cmp r0, 0xD
- bne _080220DC
- ldr r0, =gUnknown_082F3344
- adds r0, 0x4
- b _080220DE
- .pool
-_080220DC:
- ldr r0, =gUnknown_082F3344
-_080220DE:
- adds r0, r5, r0
- ldrb r1, [r0]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r0, sp
- bl AddWindow
- adds r1, r6, 0
- adds r1, 0x82
- strb r0, [r1]
- b _08022218
- .pool
-_080220F8:
- adds r4, r6, 0
- adds r4, 0x82
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- b _08022218
-_0802210C:
- adds r5, r6, 0
- adds r5, 0x82
- ldrb r0, [r5]
- ldr r4, =0x0000021d
- adds r1, r4, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- ldrb r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- b _08022218
- .pool
-_08022130:
- ldrb r0, [r4, 0x9]
- subs r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4, 0x12]
- cmp r0, 0xC
- beq _08022184
- cmp r0, 0xC
- bgt _08022148
- cmp r0, 0xB
- beq _0802214E
- b _08022218
-_08022148:
- cmp r0, 0xD
- beq _080221C8
- b _08022218
-_0802214E:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r3, =gText_PressesRankings
- movs r1, 0x14
- movs r2, 0x3
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xA0
- bl sub_8021A28
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0x5
- b _08022220
- .pool
-_08022184:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r2, =gUnknown_082F43B4
- adds r1, r4, 0
- adds r1, 0x8F
- ldrb r1, [r1]
- adds r1, 0x3
- lsls r1, 2
- adds r1, r2
- ldr r3, [r1]
- movs r1, 0x14
- movs r2, 0x4
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xA0
- bl sub_8021A28
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0x5
- b _08022220
- .pool
-_080221C8:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r3, =gText_CrushingResults
- movs r1, 0x16
- movs r2, 0x3
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, 0x4
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xB0
- bl sub_8021A28
- b _08022218
- .pool
-_080221F8:
- adds r0, r4, 0
- bl sub_8021D34
- b _08022218
-_08022200:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _08022224
-_08022218:
- adds r1, r6, 0
- adds r1, 0x80
- ldrb r0, [r1]
- adds r0, 0x1
-_08022220:
- strb r0, [r1]
- movs r0, 0
-_08022224:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8022070
-
- thumb_func_start sub_802222C
-sub_802222C: @ 802222C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xDD
- lsls r0, 1
- adds r5, r4, r0
- ldrb r0, [r5]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r5]
- bl RemoveWindow
- adds r0, r4, 0
- bl sub_8022600
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802222C
-
- thumb_func_start sub_8022250
-sub_8022250: @ 8022250
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- mov r9, r0
- movs r1, 0
- str r1, [sp, 0xC]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- beq _080222D0
- cmp r0, 0x1
- bgt _08022288
- cmp r0, 0
- beq _08022296
- b _080224BA
- .pool
-_08022288:
- cmp r0, 0x2
- bne _0802228E
- b _08022480
-_0802228E:
- cmp r0, 0x3
- bne _08022294
- b _08022494
-_08022294:
- b _080224BA
-_08022296:
- ldr r0, =gUnknown_082F32EC
- bl AddWindow
- strh r0, [r6, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- ldrb r0, [r6, 0x2]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0x2]
- ldr r4, =0x0000021d
- adds r1, r4, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- ldrb r0, [r6, 0x2]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- b _080224BA
- .pool
-_080222D0:
- ldr r0, =gText_BerryCrush2
- mov r10, r0
- movs r1, 0x1
- negs r1, r1
- mov r8, r1
- movs r0, 0x1
- mov r1, r10
- mov r2, r8
- bl GetStringWidth
- lsrs r0, 1
- movs r4, 0x60
- subs r0, r4, r0
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x2]
- ldr r5, =gUnknown_082F32E1
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- ldr r0, =gText_PressingSpeedRankings
- mov r10, r0
- movs r0, 0x1
- mov r1, r10
- mov r2, r8
- bl GetStringWidth
- lsrs r0, 1
- subs r4, r0
- lsls r4, 24
- lsrs r7, r4, 24
- ldrb r0, [r6, 0x2]
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- movs r3, 0x11
- bl AddTextPrinterParameterized3
- movs r0, 0x29
- mov r10, r0
-_08022336:
- mov r1, r9
- adds r1, 0x2
- ldr r0, =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar4
- ldr r1, =gText_Var1Players
- bl StringExpandPlaceholders
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- movs r0, 0x1
- ldr r1, =gText_TimesPerSec
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0xC0
- subs r1, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gText_TimesPerSec
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- movs r2, 0
- mov r0, r9
- lsls r4, r0, 1
- mov r1, r10
- adds r1, 0x10
- str r1, [sp, 0x10]
- movs r0, 0x1
- add r9, r0
- adds r0, r4, r6
- ldrb r3, [r0, 0x4]
- movs r1, 0x7
- mov r12, r1
- movs r0, 0x1
- mov r8, r0
- ldr r5, =gUnknown_082F334C
-_080223AE:
- mov r0, r12
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _080223CA
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- ldr r1, [sp, 0xC]
- adds r1, r0
- str r1, [sp, 0xC]
-_080223CA:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _080223AE
- adds r0, r4, r6
- ldrh r1, [r0, 0x4]
- lsrs r1, 8
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, [sp, 0xC]
- ldr r1, =0x000f4240
- bl __udivsi3
- adds r1, r0, 0
- ldr r0, =gStringVar2
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar4
- ldr r1, =gText_XDotY3
- bl StringExpandPlaceholders
- movs r0, 0x1
- ldr r1, =gStringVar4
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r7, r0
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- ldr r1, [sp, 0x10]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- str r0, [sp, 0xC]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0x3
- bhi _08022444
- b _08022336
-_08022444:
- ldrb r0, [r6, 0x2]
- movs r1, 0x3
- bl CopyWindowToVram
- b _080224BA
- .pool
-_08022480:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080224BA
- b _080224C0
- .pool
-_08022494:
- ldrb r0, [r6, 0x2]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r6, 0x2]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0x2]
- bl RemoveWindow
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- bl ScriptContext2_Disable
- mov r0, r9
- b _080224BE
-_080224BA:
- ldrh r0, [r6]
- adds r0, 0x1
-_080224BE:
- strh r0, [r6]
-_080224C0:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022250
-
- thumb_func_start sub_80224D0
-sub_80224D0: @ 80224D0
- push {lr}
- bl ScriptContext2_Enable
- ldr r0, =sub_8022250
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r3, 0xF6
- lsls r3, 1
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x10]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x12]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80224D0
-
- thumb_func_start sub_8022524
-sub_8022524: @ 8022524
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_8021944
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl sub_8035044
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- bl sub_8035044
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- movs r0, 0x2
- bl sub_8035044
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022524
-
- thumb_func_start sub_8022554
-sub_8022554: @ 8022554
- push {lr}
- ldr r2, [r0, 0x78]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2]
- ldr r1, [r0, 0x7C]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_803547C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_803547C
- movs r0, 0
- movs r1, 0x1
- bl sub_803547C
- pop {r0}
- bx r0
- thumb_func_end sub_8022554
-
- thumb_func_start sub_8022588
-sub_8022588: @ 8022588
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r6, 0
- ldrb r0, [r5, 0x9]
- cmp r6, r0
- bcs _080225E8
- ldr r7, =gUnknown_082F417C
-_08022596:
- lsls r0, r6, 2
- movs r1, 0xA2
- lsls r1, 1
- adds r2, r5, r1
- adds r2, r0
- ldrb r1, [r5, 0x9]
- subs r1, 0x2
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r6, r0
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, =gUnknown_082F4190
- adds r0, r1
- str r0, [r2]
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, =gUnknown_082F32F4
- adds r0, r1
- bl AddWindow
- ldr r1, =0x000001bb
- adds r4, r5, r1
- adds r4, r6
- strb r0, [r4]
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r6, r0
- bcc _08022596
-_080225E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022588
-
- thumb_func_start sub_8022600
-sub_8022600: @ 8022600
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- movs r7, 0
- ldrb r0, [r6, 0x9]
- cmp r7, r0
- bcs _080226B6
- movs r1, 0
- mov r8, r1
-_08022616:
- ldr r1, =0x000001bb
- adds r0, r6, r1
- adds r5, r0, r7
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x8]
- cmp r7, r0
- bne _08022668
- lsls r4, r7, 5
- adds r4, 0x98
- adds r4, r6, r4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- lsrs r0, 1
- movs r2, 0x24
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_082F32DB
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- b _0802269C
- .pool
-_08022668:
- lsls r4, r7, 5
- adds r4, 0x98
- adds r4, r6, r4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- lsrs r0, 1
- movs r2, 0x24
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_082F32DE
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized4
-_0802269C:
- ldr r1, =0x000001bb
- adds r0, r6, r1
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r7, r0
- bcc _08022616
-_080226B6:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022600
-
- thumb_func_start sub_80226D0
-sub_80226D0: @ 80226D0
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r5, 0
- ldr r0, =gUnknown_08DE3FD4
- ldr r4, =gDecompressionBuffer
- adds r1, r4, 0
- bl LZ77UnCompWram
- b _0802271A
- .pool
-_080226EC:
- lsls r1, r5, 2
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r6, r2
- adds r0, r1
- ldr r3, [r0]
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- ldrb r2, [r3, 0x1]
- ldrb r3, [r3, 0x2]
- movs r0, 0xA
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x3
- bl CopyToBgTilemapBufferRect
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0802271A:
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _080226EC
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80226D0
-
- thumb_func_start sub_8022730
-sub_8022730: @ 8022730
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r0, =0x0000ff98
- strh r0, [r6, 0x2A]
- strh r5, [r6, 0x2C]
- ldr r1, =gSpriteCoordOffsetX
- strh r5, [r1]
- ldr r1, =gSpriteCoordOffsetY
- strh r0, [r1]
- ldr r4, =gUnknown_082F41F4
-_08022746:
- lsls r0, r5, 3
- adds r0, r4
- bl LoadCompressedSpriteSheet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08022746
- ldr r0, =gUnknown_082F421C
- bl LoadSpritePalettes
- ldr r0, =gUnknown_082F430C
- movs r1, 0x78
- movs r2, 0x58
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xAC
- lsls r0, 1
- adds r3, r6, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0x2C
- ldrb r0, [r1]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1]
- movs r5, 0
- ldrb r1, [r6, 0x9]
- cmp r5, r1
- bcs _08022822
- movs r7, 0x4
-_080227AA:
- lsls r4, r5, 2
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r6, r3
- adds r0, r4
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- adds r1, 0x78
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r0, 0x6]
- adds r2, 0x20
- lsls r2, 16
- asrs r2, 16
- ldr r0, =gUnknown_082F4324
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xAE
- lsls r0, 1
- adds r3, r6, r0
- adds r3, r4
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r3]
- ldrb r0, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r0, r2
- orrs r0, r7
- strb r0, [r1, 0x5]
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r7
- strb r0, [r1]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _080227AA
-_08022822:
- movs r5, 0
- ldr r4, =gUnknown_082F41CC+6
- adds r7, r4, 0x1
-_08022828:
- lsls r2, r5, 1
- adds r0, r2, r4
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r1, 0x78
- adds r2, r7
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- adds r2, 0x88
- ldr r0, =gUnknown_082F433C
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r5, 2
- movs r1, 0xC2
- lsls r1, 1
- adds r3, r6, r1
- adds r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08022828
- movs r5, 0
-_0802288E:
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 19
- movs r3, 0xB0
- lsls r3, 16
- adds r1, r3
- asrs r1, 16
- ldr r0, =gUnknown_082F4354
- movs r2, 0x8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r5, 2
- movs r4, 0xD8
- lsls r4, 1
- adds r3, r6, r4
- adds r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r1, r2
- strb r1, [r0, 0x5]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- adds r4, 0x8
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r3, 0x41
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0802288E
- ldr r4, =gUnknown_082F4384
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_8034D14
- adds r2, r4, 0
- adds r2, 0x10
- movs r0, 0x1
- movs r1, 0
- bl sub_8034D14
- adds r4, 0x20
- movs r0, 0x2
- movs r1, 0
- adds r2, r4, 0
- bl sub_8034D14
- ldrh r0, [r6, 0x12]
- cmp r0, 0x1
- bne _08022928
- movs r4, 0x9C
- lsls r4, 1
- adds r0, r6, r4
- bl sub_8022554
-_08022928:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022730
-
- thumb_func_start sub_8022960
-sub_8022960: @ 8022960
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- movs r0, 0x3
- bl FreeSpriteTilesByTag
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- movs r0, 0x4
- bl FreeSpritePaletteByTag
- movs r0, 0x2
- bl FreeSpritePaletteByTag
- movs r0, 0x1
- bl FreeSpritePaletteByTag
- movs r0, 0xD8
- lsls r0, 1
- adds r6, r5, r0
-_08022996:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _08022996
- movs r0, 0x2
- bl sub_80353DC
- movs r0, 0x1
- bl sub_80353DC
- movs r0, 0
- bl sub_80353DC
- movs r4, 0
- movs r1, 0xC2
- lsls r1, 1
- adds r6, r5, r1
-_080229C4:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _080229C4
- movs r4, 0
- ldrb r2, [r5, 0x9]
- cmp r4, r2
- bcs _080229FC
-_080229E0:
- lsls r1, r4, 2
- movs r2, 0xAE
- lsls r2, 1
- adds r0, r5, r2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcc _080229E0
-_080229FC:
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r5, r1
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08022A18
- adds r0, r2, 0
- bl DestroySprite
-_08022A18:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8022960
-
- thumb_func_start sub_8022A20
-sub_8022A20: @ 8022A20
- push {lr}
- adds r3, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08022A46
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
-_08022A46:
- pop {r0}
- bx r0
- thumb_func_end sub_8022A20
-
- thumb_func_start sub_8022A4C
-sub_8022A4C: @ 8022A4C
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r1, 0
- ldr r5, =SpriteCallbackDummy
- adds r2, r3, 0
- adds r2, 0x2E
- movs r4, 0
-_08022A5A:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _08022A5A
- movs r0, 0
- strh r0, [r3, 0x24]
- strh r0, [r3, 0x26]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- str r5, [r3, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022A4C
-
- thumb_func_start sub_8022A94
-sub_8022A94: @ 8022A94
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrh r0, [r4, 0x4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r5, 0x26]
- adds r0, r2
- strh r0, [r5, 0x26]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r6, 0x80
- lsls r6, 8
- ands r0, r6
- cmp r0, 0
- beq _08022AFA
- ldrh r0, [r4, 0x6]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ands r0, r6
- cmp r0, 0
- beq _08022AFA
- ldrh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- cmp r0, 0x7E
- ble _08022AFA
- movs r0, 0
- strh r0, [r5, 0x24]
- ldrh r1, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xE]
-_08022AFA:
- ldrh r0, [r4]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r5, 0x20]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r2, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r2
- cmp r1, r0
- ble _08022B1A
- ldr r0, =sub_8022A4C
- str r0, [r5, 0x1C]
-_08022B1A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022A94
-
- thumb_func_start sub_8022B28
-sub_8022B28: @ 8022B28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r6, 0
- adds r7, 0x2E
- movs r0, 0
- mov r8, r0
- movs r2, 0xA0
- lsls r2, 2
- strh r2, [r7, 0x2]
- movs r0, 0x20
- strh r0, [r7, 0x4]
- movs r1, 0xA8
- strh r1, [r7, 0xE]
- movs r0, 0x24
- ldrsh r4, [r6, r0]
- lsls r4, 23
- lsrs r4, 16
- ldrh r0, [r6, 0x22]
- subs r1, r0
- lsls r1, 23
- asrs r1, 16
- adds r2, 0x20
- asrs r2, 1
- movs r0, 0x7
- bl sub_81515D4
- adds r5, r0, 0
- ldrh r0, [r6, 0x20]
- lsls r0, 7
- strh r0, [r6, 0x2E]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- movs r0, 0x7
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_81515D4
- strh r0, [r7, 0x6]
- movs r0, 0x7
- adds r1, r5, 0
- movs r2, 0x55
- bl sub_8151550
- adds r2, r0, 0
- mov r1, r8
- strh r1, [r7, 0x8]
- movs r1, 0xFE
- lsls r1, 6
- lsls r2, 16
- asrs r2, 16
- movs r0, 0x7
- bl sub_81515D4
- strh r0, [r7, 0xA]
- movs r2, 0x24
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bge _08022BA6
- adds r0, 0x3
-_08022BA6:
- asrs r0, 2
- strh r0, [r7, 0xC]
- ldrh r0, [r7, 0xE]
- ldr r2, =0xffff8000
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r7, 0xE]
- mov r0, r8
- strh r0, [r6, 0x26]
- strh r0, [r6, 0x24]
- ldr r0, =sub_8022A94
- str r0, [r6, 0x1C]
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r2, 0x12
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022B28
-
- thumb_func_start sub_8022BEC
-sub_8022BEC: @ 8022BEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r2, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- mov r8, r4
- bl sub_8020C00
- adds r6, r0, 0
- cmp r5, 0x19
- bls _08022C0A
- movs r5, 0
-_08022C0A:
- cmp r4, 0
- beq _08022C14
- cmp r4, 0x1
- beq _08022C40
- b _08022C4A
-_08022C14:
- cmp r5, 0
- beq _08022C28
- ldr r0, =gUnknown_082F43CC
- lsls r1, r5, 2
- adds r1, r0
- ldr r2, [r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r2
-_08022C28:
- ldrb r0, [r6, 0xE]
- cmp r0, 0x19
- bls _08022C32
- mov r0, r8
- strb r0, [r6, 0xE]
-_08022C32:
- ldr r0, =gUnknown_082F43CC
- ldrb r1, [r6, 0xE]
- lsls r1, 2
- b _08022C44
- .pool
-_08022C40:
- ldr r0, =gUnknown_082F43CC
- lsls r1, r5, 2
-_08022C44:
- adds r1, r0
- ldr r0, [r1]
- str r0, [r6, 0x4]
-_08022C4A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022BEC
-
- thumb_func_start sub_8022C58
-sub_8022C58: @ 8022C58
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldrb r2, [r1]
- ldrb r3, [r1, 0x1]
- lsls r3, 8
- orrs r2, r3
- ldrb r3, [r1, 0x2]
- lsls r3, 16
- orrs r2, r3
- ldrb r3, [r1, 0x3]
- lsls r3, 24
- adds r0, r2, 0
- orrs r0, r3
- ldrb r2, [r1, 0x9]
- strb r2, [r1]
- ldrb r4, [r1, 0x8]
- lsls r4, 8
- ldrb r2, [r1, 0x7]
- orrs r4, r2
- ldr r5, =gPaletteFade
- ldrb r3, [r5, 0x8]
- movs r2, 0x7F
- ands r2, r3
- strb r2, [r5, 0x8]
- movs r5, 0x4
- ldrsb r5, [r1, r5]
- ldrb r2, [r1, 0x5]
- ldrb r3, [r1, 0x6]
- str r4, [sp]
- adds r1, r5, 0
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- movs r0, 0x2
- strb r0, [r6, 0xE]
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8022C58
-
- thumb_func_start sub_8022CB0
-sub_8022CB0: @ 8022CB0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _08022CE4
- cmp r0, 0x1
- bgt _08022CC6
- cmp r0, 0
- beq _08022CD0
- b _08022D06
-_08022CC6:
- cmp r0, 0x2
- beq _08022CEA
- cmp r0, 0x3
- beq _08022CF6
- b _08022D06
-_08022CD0:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08022D0C
- ldrb r0, [r5]
- cmp r0, 0
- bne _08022D06
- movs r0, 0x3
- b _08022D0A
-_08022CE4:
- bl sub_8010434
- b _08022D06
-_08022CEA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _08022D06
- b _08022D0C
-_08022CF6:
- ldrb r0, [r4, 0xF]
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strb r0, [r4, 0xC]
- b _08022D0E
-_08022D06:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
-_08022D0A:
- strb r0, [r4, 0xC]
-_08022D0C:
- movs r0, 0
-_08022D0E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8022CB0
-
- thumb_func_start sub_8022D14
-sub_8022D14: @ 8022D14
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r7, r0, 0
- adds r5, r1, 0
- ldrb r4, [r5, 0x3]
- lsls r4, 8
- ldrb r0, [r5, 0x2]
- orrs r4, r0
- ldrb r6, [r7, 0xC]
- cmp r6, 0x1
- beq _08022DC0
- cmp r6, 0x1
- bgt _08022D38
- cmp r6, 0
- beq _08022D42
- b _08022E08
-_08022D38:
- cmp r6, 0x2
- beq _08022DD8
- cmp r6, 0x3
- beq _08022DE8
- b _08022E08
-_08022D42:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldrb r1, [r5, 0x1]
- movs r0, 0x2
- mov r8, r0
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08022D90
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_082F32A4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldrb r3, [r7, 0xB]
- str r6, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- b _08022DB2
- .pool
-_08022D90:
- ldr r1, =gUnknown_082F32A4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldrb r3, [r7, 0xB]
- str r4, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
-_08022DB2:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _08022E08
- .pool
-_08022DC0:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _08022E0E
- cmp r4, 0
- bne _08022E08
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
- strb r0, [r7, 0xC]
- b _08022E08
-_08022DD8:
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- ands r4, r0
- cmp r4, 0
- bne _08022E08
- b _08022E0E
- .pool
-_08022DE8:
- ldrb r1, [r5, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08022DFA
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
-_08022DFA:
- ldrb r0, [r7, 0xE]
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- ldrb r0, [r5, 0x4]
- b _08022E0C
-_08022E08:
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
-_08022E0C:
- strb r0, [r7, 0xC]
-_08022E0E:
- movs r0, 0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8022D14
-
- thumb_func_start sub_8022E1C
-sub_8022E1C: @ 8022E1C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_802104C
- cmp r0, 0
- beq _08022E34
- ldrb r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x36
- movs r1, 0
- bl sub_8022BEC
-_08022E34:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E1C
-
- thumb_func_start sub_8022E3C
-sub_8022E3C: @ 8022E3C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_802130C
- cmp r0, 0
- beq _08022E54
- ldrb r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x36
- movs r1, 0
- bl sub_8022BEC
-_08022E54:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E3C
-
- thumb_func_start sub_8022E5C
-sub_8022E5C: @ 8022E5C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _08022E6C
- cmp r0, 0x1
- beq _08022E72
- b _08022E9C
-_08022E6C:
- bl sub_8010434
- b _08022E9C
-_08022E72:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08022EA2
- ldr r0, =0x000001e5
- bl PlayNewMapMusic
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x3
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _08022EA2
- .pool
-_08022E9C:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08022EA2:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E5C
-
- thumb_func_start sub_8022EAC
-sub_8022EAC: @ 8022EAC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _08022EC2
- cmp r0, 0x1
- beq _08022EE8
- adds r0, 0x1
- b _08022EF8
-_08022EC2:
- adds r0, r4, 0
- bl sub_8024578
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8024644
- movs r0, 0x7
- strb r0, [r4, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08022EFA
-_08022EE8:
- movs r0, 0x8
- strb r0, [r4, 0xE]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0x2
-_08022EF8:
- strb r0, [r4, 0xC]
-_08022EFA:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8022EAC
-
- thumb_func_start sub_8022F04
-sub_8022F04: @ 8022F04
- push {lr}
- movs r1, 0
- str r1, [r0, 0x4]
- ldr r0, =sub_8020E1C
- bl SetMainCallback2
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8022F04
-
- thumb_func_start sub_8022F1C
-sub_8022F1C: @ 8022F1C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r2, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x5
- bls _08022F2C
- b _08023060
-_08022F2C:
- lsls r0, 2
- ldr r1, =_08022F3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08022F3C:
- .4byte _08022F54
- .4byte _08022F74
- .4byte _08022F7A
- .4byte _08022FAA
- .4byte _08022FBA
- .4byte _08023044
-_08022F54:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x9
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023066
-_08022F74:
- bl sub_8010434
- b _08023060
-_08022F7A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023066
- adds r4, r5, 0
- adds r4, 0x42
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xC
- bl memset
- ldrb r0, [r5, 0x8]
- lsls r0, 5
- adds r0, r5, r0
- adds r0, 0xA4
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl SendBlock
- b _08023060
-_08022FAA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023066
- movs r0, 0
- strh r0, [r5, 0x10]
- b _08023060
-_08022FBA:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r4, [r5, 0x9]
- subs r1, r4, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _08023066
- movs r3, 0
- cmp r3, r4
- bcs _0802301E
- ldr r7, =gBlockRecvBuffer
- movs r6, 0
- ldr r4, =gUnknown_0858AB24
-_08022FDC:
- lsls r0, r3, 5
- adds r0, r5, r0
- lsls r1, r3, 8
- adds r1, r7
- ldrh r1, [r1]
- adds r2, r0, 0
- adds r2, 0xA4
- strh r1, [r2]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xB0
- bls _08022FF6
- strh r6, [r2]
-_08022FF6:
- ldrh r1, [r2]
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r5, 0x18]
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r5, 0x18]
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x2]
- ldr r0, [r5, 0x1C]
- adds r0, r1
- str r0, [r5, 0x1C]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r3, r0
- bcc _08022FDC
-_0802301E:
- movs r0, 0
- strh r0, [r5, 0x10]
- bl ResetBlockReceivedFlags
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r1, 0x80
- lsls r1, 6
- bl sub_81515FC
- str r0, [r5, 0x20]
- b _08023060
- .pool
-_08023044:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x4
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _08023066
-_08023060:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_08023066:
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8022F1C
-
- thumb_func_start sub_8023070
-sub_8023070: @ 8023070
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x6
- bls _0802307C
- b _080231A8
-_0802307C:
- lsls r0, 2
- ldr r1, =_0802308C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802308C:
- .4byte _080230A8
- .4byte _080230BA
- .4byte _080230E8
- .4byte _08023120
- .4byte _08023150
- .4byte _08023172
- .4byte _08023184
-_080230A8:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_80214A8
- bl sub_8010434
- b _080231A8
-_080230BA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
- ldr r3, =0x00000139
- adds r1, r4, r3
- strb r0, [r1]
- adds r2, 0x2
- adds r1, r4, r2
- strb r0, [r1]
- adds r3, 0x2
- adds r1, r4, r3
- strb r0, [r1]
- b _080231A8
- .pool
-_080230E8:
- movs r0, 0x9C
- lsls r0, 1
- adds r3, r4, r0
- ldrb r0, [r3]
- lsls r0, 2
- movs r2, 0xB8
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r1, r0
- ldr r2, [r0]
- ldr r0, =sub_8021608
- str r0, [r2, 0x1C]
- ldrb r0, [r3]
- lsls r0, 2
- adds r1, r0
- ldr r1, [r1]
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x3D
- bl PlaySE
- b _080231A8
- .pool
-_08023120:
- movs r3, 0x9C
- lsls r3, 1
- adds r2, r4, r3
- ldrb r0, [r2]
- lsls r0, 2
- adds r3, 0x38
- adds r1, r4, r3
- adds r3, r1, r0
- ldr r0, [r3]
- ldr r1, [r0, 0x1C]
- ldr r0, =sub_8021608
- cmp r1, r0
- beq _080231AE
- movs r0, 0
- str r0, [r3]
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- bl sub_8010434
- b _080231A8
- .pool
-_08023150:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- ldrb r0, [r1]
- ldrb r2, [r4, 0x9]
- cmp r0, r2
- bcs _0802316C
- movs r0, 0x2
- b _080231AC
-_0802316C:
- movs r0, 0
- strb r0, [r1]
- b _080231A8
-_08023172:
- movs r3, 0x9C
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- bl sub_80216A8
- bl sub_8010434
- b _080231A8
-_08023184:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r0, 0x2B
- bl PlaySE
- movs r0, 0xB
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x5
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _080231AE
-_080231A8:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
-_080231AC:
- strb r0, [r4, 0xC]
-_080231AE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023070
-
- thumb_func_start sub_80231B8
-sub_80231B8: @ 80231B8
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0xC]
- cmp r1, 0x1
- beq _0802321C
- cmp r1, 0x1
- bgt _080231CC
- cmp r1, 0
- beq _080231D6
- b _080232DC
-_080231CC:
- cmp r1, 0x2
- beq _0802329C
- cmp r1, 0x3
- beq _080232BE
- b _080232DC
-_080231D6:
- ldrh r0, [r4, 0x2A]
- adds r0, 0x4
- strh r0, [r4, 0x2A]
- lsls r0, 16
- cmp r0, 0
- bge _080231E4
- b _080232E2
-_080231E4:
- strh r1, [r4, 0x2A]
- ldr r0, =0x00000139
- adds r3, r4, r0
- movs r0, 0x4
- strb r0, [r3]
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
- ldr r2, =gUnknown_082F326C
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r2, 0x9D
- lsls r2, 1
- adds r1, r4, r2
- strb r0, [r1]
- movs r0, 0xD6
- bl PlaySE
- b _080232DC
- .pool
-_0802321C:
- ldr r7, =gUnknown_082F326C
- movs r0, 0x9C
- lsls r0, 1
- adds r6, r4, r0
- ldr r1, =0x00000139
- adds r5, r4, r1
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- ldrb r2, [r6]
- adds r0, r2
- adds r0, r7
- movs r1, 0
- ldrsb r1, [r0, r1]
- strh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- movs r1, 0x9D
- lsls r1, 1
- adds r2, r4, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- bcc _080232E2
- ldrb r0, [r5]
- cmp r0, 0
- beq _080232DC
- subs r0, 0x1
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0
- strb r0, [r6]
- b _080232E2
- .pool
-_0802329C:
- movs r0, 0
- strh r0, [r4, 0x2C]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- bl sub_8010434
- b _080232DC
-_080232BE:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080232E2
- movs r0, 0xC
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x6
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _080232E2
-_080232DC:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_080232E2:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80231B8
-
- thumb_func_start sub_80232EC
-sub_80232EC: @ 80232EC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _0802330C
- cmp r0, 0x1
- bgt _08023302
- cmp r0, 0
- beq _08023332
- b _0802338C
-_08023302:
- cmp r0, 0x2
- beq _0802332A
- cmp r0, 0x3
- beq _08023338
- b _0802338C
-_0802330C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023392
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x78
- movs r3, 0x50
- bl sub_802EB24
- b _0802338C
-_0802332A:
- bl sub_802EB84
- cmp r0, 0
- bne _08023392
-_08023332:
- bl sub_8010434
- b _0802338C
-_08023338:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023392
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
- ldr r2, =0x00000139
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- bne _08023378
- movs r0, 0xD
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023382
- .pool
-_08023378:
- movs r0, 0xE
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_08023382:
- movs r1, 0
- movs r0, 0x7
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _08023392
-_0802338C:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08023392:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80232EC
-
- thumb_func_start sub_802339C
-sub_802339C: @ 802339C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- movs r0, 0
- mov r8, r0
- movs r2, 0
- adds r7, r2, 0
- ldrb r1, [r4, 0x9]
- cmp r7, r1
- bcs _080234AA
- movs r2, 0x5E
- adds r2, r4
- mov r9, r2
- ldr r3, =gUnknown_082F325C
- mov r10, r3
-_080233C0:
- lsls r0, r7, 4
- ldr r1, =gRecvCmds
- adds r2, r0, r1
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r3, 0xBC
- lsls r3, 6
- cmp r0, r3
- bne _0802349E
- ldrh r0, [r2, 0x2]
- cmp r0, 0x2
- bne _0802349E
- ldrb r1, [r2, 0x4]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08023496
- mov r0, r9
- ldrb r2, [r0]
- lsrs r1, r2, 3
- mov r3, r10
- adds r0, r7, r3
- ldrb r0, [r0]
- orrs r1, r0
- lsls r1, 3
- movs r0, 0x7
- ands r0, r2
- orrs r0, r1
- mov r1, r9
- strb r0, [r1]
- lsls r2, r7, 5
- adds r3, r4, r2
- mov r12, r3
- mov r1, r12
- adds r1, 0xB5
- movs r0, 0x1
- strb r0, [r1]
- subs r1, 0x7
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- subs r1, 0x8
- ldrh r0, [r4, 0x28]
- ldrh r1, [r1]
- subs r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r5, r12
- adds r5, 0xAA
- ldrh r1, [r5]
- subs r0, r1, 0x1
- adds r6, r2, 0
- cmp r3, r0
- blt _08023468
- adds r0, r1, 0x1
- cmp r3, r0
- bgt _08023468
- mov r1, r12
- adds r1, 0xA8
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- strh r3, [r5]
- mov r0, r12
- adds r0, 0xAC
- ldrh r1, [r1]
- ldrh r2, [r0]
- cmp r1, r2
- bls _08023476
- strh r1, [r0]
- b _08023476
- .pool
-_08023468:
- adds r0, r4, r6
- adds r2, r0, 0
- adds r2, 0xA8
- movs r1, 0
- strh r1, [r2]
- adds r0, 0xAA
- strh r3, [r0]
-_08023476:
- adds r1, r4, r6
- ldrh r0, [r4, 0x28]
- adds r3, r1, 0
- adds r3, 0xA6
- movs r2, 0
- strh r0, [r3]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0802349E
- strb r2, [r1]
- b _0802349E
-_08023496:
- lsls r0, r7, 5
- adds r0, r4, r0
- adds r0, 0xB5
- strb r1, [r0]
-_0802349E:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r3, [r4, 0x9]
- cmp r7, r3
- bcc _080233C0
-_080234AA:
- mov r0, r8
- cmp r0, 0x1
- bls _080234E0
- movs r7, 0
- ldrb r1, [r4, 0x9]
- cmp r7, r1
- bcs _080234E0
- movs r3, 0x2
-_080234BA:
- lsls r0, r7, 5
- adds r1, r4, r0
- adds r2, r1, 0
- adds r2, 0xB5
- ldrb r0, [r2]
- cmp r0, 0
- beq _080234D4
- orrs r0, r3
- strb r0, [r2]
- adds r1, 0xB0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080234D4:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r2, [r4, 0x9]
- cmp r7, r2
- bcc _080234BA
-_080234E0:
- mov r3, r8
- cmp r3, 0
- beq _08023548
- ldrh r0, [r4, 0x2E]
- add r0, r8
- strh r0, [r4, 0x2E]
- ldr r1, =gUnknown_082F3264
- mov r0, r8
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- add r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r4, 0x34]
- add r0, r8
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x1A]
- add r0, r8
- strh r0, [r4, 0x1A]
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- movs r3, 0x1A
- ldrsh r2, [r4, r3]
- subs r0, r2
- cmp r0, 0
- ble _08023534
- lsls r2, 8
- ldr r1, [r4, 0x20]
- adds r0, r2, 0
- bl sub_81515FC
- adds r2, r0, 0
- asrs r2, 8
- adds r0, r4, 0
- adds r0, 0x24
- strb r2, [r0]
- b _08023548
- .pool
-_08023534:
- adds r1, r4, 0
- adds r1, 0x24
- movs r0, 0x20
- strb r0, [r1]
- adds r2, r4, 0
- adds r2, 0x5E
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_08023548:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802339C
-
- thumb_func_start sub_8023558
-sub_8023558: @ 8023558
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r6, 0
- movs r1, 0
- adds r4, r1, 0
- ldrb r0, [r3, 0x9]
- cmp r4, r0
- bcs _080235B0
- adds r5, r3, 0
- adds r5, 0x64
-_0802356C:
- lsls r0, r4, 5
- adds r1, r3, r0
- adds r0, r1, 0
- adds r0, 0xB5
- ldrb r2, [r0]
- cmp r2, 0
- beq _080235A4
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r1, 0
- adds r0, 0xB4
- ldrb r0, [r0]
- adds r1, r0, 0x1
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _08023594
- movs r0, 0x4
- orrs r1, r0
-_08023594:
- lsls r0, r4, 1
- adds r0, r4
- lsls r1, r0
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldrh r0, [r5]
- orrs r1, r0
- strh r1, [r5]
-_080235A4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r1, [r3, 0x9]
- cmp r4, r1
- bcc _0802356C
-_080235B0:
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r1, [r0]
- adds r0, 0x3C
- strh r1, [r0]
- cmp r6, 0
- bne _080235D4
- ldr r2, =0x0000013b
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080236A0
- movs r4, 0x9C
- lsls r4, 1
- adds r1, r3, r4
- b _08023612
- .pool
-_080235D4:
- ldr r5, =0x0000013b
- adds r2, r3, r5
- ldrb r0, [r2]
- cmp r0, 0
- beq _0802361A
- ldr r0, =0x00000139
- adds r1, r3, r0
- ldrb r2, [r1]
- cmp r6, r2
- beq _0802360C
- subs r0, r6, 0x1
- strb r0, [r1]
- ldr r1, =gUnknown_082F3290
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r4, 0x9D
- lsls r4, 1
- adds r1, r3, r4
- strb r0, [r1]
- b _08023640
- .pool
-_0802360C:
- movs r5, 0x9C
- lsls r5, 1
- adds r1, r3, r5
-_08023612:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08023640
-_0802361A:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0
- strb r0, [r1]
- subs r0, r6, 0x1
- ldr r4, =0x00000139
- adds r1, r3, r4
- strb r0, [r1]
- ldr r1, =gUnknown_082F3290
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r5, 0x9D
- lsls r5, 1
- adds r1, r3, r5
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r2]
-_08023640:
- ldr r0, =0x0000013b
- adds r4, r3, r0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080236A0
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r3, r2
- movs r5, 0x9D
- lsls r5, 1
- adds r2, r3, r5
- ldrb r0, [r1]
- ldrb r5, [r2]
- cmp r0, r5
- bcc _0802367C
- movs r0, 0
- strb r0, [r1]
- ldr r5, =0x00000139
- adds r1, r3, r5
- strb r0, [r1]
- strb r0, [r2]
- strb r0, [r4]
- movs r1, 0
- b _08023690
- .pool
-_0802367C:
- ldr r2, =gUnknown_082F3290
- ldrb r1, [r1]
- ldr r4, =0x00000139
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, 0x1
- adds r1, r0
- adds r1, r2
- ldrb r1, [r1]
-_08023690:
- adds r0, r3, 0
- adds r0, 0x5F
- strb r1, [r0]
- b _080236A8
- .pool
-_080236A0:
- adds r1, r3, 0
- adds r1, 0x5F
- movs r0, 0
- strb r0, [r1]
-_080236A8:
- ldrh r1, [r3, 0x26]
- adds r0, r3, 0
- adds r0, 0x62
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8023558
-
- thumb_func_start sub_80236B8
-sub_80236B8: @ 80236B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r3, =gMain
- ldrh r1, [r3, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080236DA
- adds r2, r5, 0
- adds r2, 0x5E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080236DA:
- ldrh r1, [r3, 0x2C]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080236FA
- ldrb r0, [r5, 0x8]
- lsls r0, 5
- adds r0, r5, r0
- adds r1, r0, 0
- adds r1, 0xB2
- ldrh r0, [r1]
- ldrh r2, [r5, 0x28]
- cmp r0, r2
- bcs _080236FA
- adds r0, 0x1
- strh r0, [r1]
-_080236FA:
- ldrb r0, [r5, 0x8]
- adds r7, r5, 0
- adds r7, 0x5E
- cmp r0, 0
- beq _08023710
- ldrb r1, [r7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08023710
- b _0802384C
-_08023710:
- adds r4, r5, 0
- adds r4, 0x5C
- movs r0, 0x2
- strh r0, [r4]
- ldrh r0, [r5, 0x28]
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- mov r8, r4
- adds r6, r5, 0
- adds r6, 0x25
- cmp r0, 0
- bne _08023768
- movs r0, 0x2E
- ldrsh r2, [r5, r0]
- ldr r1, =gUnknown_082F4444
- ldrb r0, [r5, 0x9]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- ble _08023754
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- ldrb r0, [r6]
- movs r1, 0x10
- orrs r0, r1
- b _0802375C
- .pool
-_08023754:
- ldrb r1, [r6]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
-_0802375C:
- strb r0, [r6]
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
-_08023768:
- ldrh r0, [r5, 0x28]
- movs r1, 0xF
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _080237DE
- movs r0, 0x34
- ldrsh r2, [r5, r0]
- ldr r3, =gUnknown_082F4434
- ldrb r0, [r5, 0x9]
- subs r0, 0x2
- lsls r1, r0, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bge _08023798
- ldrb r1, [r6]
- movs r0, 0x1F
- ands r0, r1
- strb r0, [r6]
- b _080237D8
- .pool
-_08023798:
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237AC
- ldrb r0, [r6]
- movs r1, 0x1F
- ands r1, r0
- movs r0, 0x20
- b _080237D4
-_080237AC:
- adds r0, r3, 0x2
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237BC
- movs r0, 0x2
- strh r0, [r5, 0x34]
- b _080237D8
-_080237BC:
- adds r0, r3, 0x3
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237CC
- movs r0, 0x3
- strh r0, [r5, 0x34]
- b _080237D8
-_080237CC:
- ldrb r0, [r6]
- movs r1, 0x1F
- ands r1, r0
- movs r0, 0x80
-_080237D4:
- orrs r1, r0
- strb r1, [r6]
-_080237D8:
- movs r0, 0
- strh r0, [r5, 0x34]
- b _0802380A
-_080237DE:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3C
- bls _0802380A
- cmp r0, 0x46
- bls _080237FA
- bl sub_8011AC8
- movs r0, 0
- strh r0, [r5, 0x10]
- b _0802380A
-_080237FA:
- ldrb r0, [r7]
- movs r4, 0xF8
- ands r4, r0
- cmp r4, 0
- bne _0802380A
- bl sub_8011AC8
- strh r4, [r5, 0x10]
-_0802380A:
- ldrh r1, [r5, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _0802381A
- ldrb r0, [r7]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r7]
-_0802381A:
- ldrb r1, [r6]
- lsls r1, 27
- lsrs r1, 31
- lsls r1, 1
- ldrb r2, [r7]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7]
- ldrb r0, [r6]
- lsrs r0, 5
- adds r2, r5, 0
- adds r2, 0x66
- strh r0, [r2]
- adds r4, r5, 0
- adds r4, 0x42
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0xC
- bl memcpy
- adds r0, r4, 0
- bl sub_800FE50
-_0802384C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80236B8
-
- thumb_func_start sub_802385C
-sub_802385C: @ 802385C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r3, =gRecvCmds
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcs _08023880
- movs r1, 0
-_0802386C:
- lsls r0, r4, 5
- adds r0, r5, r0
- adds r0, 0xB5
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcc _0802386C
-_08023880:
- adds r2, r3, 0
- ldrh r0, [r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _08023898
- ldrh r0, [r2, 0x2]
- cmp r0, 0x2
- beq _080238AC
-_08023898:
- adds r2, r5, 0
- adds r2, 0x25
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _080238EA
- .pool
-_080238AC:
- adds r4, r5, 0
- adds r4, 0x4E
- adds r0, r4, 0
- adds r1, r3, 0
- movs r2, 0xE
- bl memcpy
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x2A]
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- strh r0, [r5, 0x2C]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x28]
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_80216E0
- ldrb r1, [r4, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080238EA
- adds r0, r5, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_080238EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802385C
-
- thumb_func_start sub_80238F0
-sub_80238F0: @ 80238F0
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- adds r0, 0x4E
- movs r1, 0
- movs r2, 0xE
- bl memset
- adds r0, r4, 0
- bl sub_802385C
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08023978
- ldrh r1, [r4, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08023964
- adds r0, 0x1
- strh r0, [r4, 0x28]
- movs r0, 0x10
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _0802396E
- .pool
-_08023964:
- movs r0, 0xF
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_0802396E:
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023992
-_08023978:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- bl sub_802339C
- adds r0, r4, 0
- bl sub_8023558
- adds r0, r4, 0
- bl sub_80236B8
- movs r0, 0
-_08023992:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80238F0
-
- thumb_func_start sub_8023998
-sub_8023998: @ 8023998
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- adds r0, 0x4E
- movs r1, 0
- movs r2, 0xE
- bl memset
- adds r0, r4, 0
- bl sub_802385C
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08023A20
- ldrh r1, [r4, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08023A0C
- adds r0, 0x1
- strh r0, [r4, 0x28]
- movs r0, 0x10
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023A16
- .pool
-_08023A0C:
- movs r0, 0xF
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_08023A16:
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023A28
-_08023A20:
- adds r0, r4, 0
- bl sub_80236B8
- movs r0, 0
-_08023A28:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023998
-
- thumb_func_start sub_8023A30
-sub_8023A30: @ 8023A30
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x5
- bls _08023A3C
- b _08023BB2
-_08023A3C:
- lsls r0, 2
- ldr r1, =_08023A4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08023A4C:
- .4byte _08023A64
- .4byte _08023A8C
- .4byte _08023ADC
- .4byte _08023B5C
- .4byte _08023B7A
- .4byte _08023B94
-_08023A64:
- movs r0, 0x8
- strh r0, [r4, 0x12]
- movs r0, 0xD6
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- ldr r2, =0x000003ff
- movs r1, 0x8
- bl BlendPalettes
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- b _08023BB2
- .pool
-_08023A8C:
- movs r1, 0x9C
- lsls r1, 1
- adds r5, r4, r1
- ldrb r0, [r5]
- subs r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08023AA2
- b _08023BB8
-_08023AA2:
- movs r0, 0x1
- negs r0, r0
- ldr r2, =0x000003ff
- movs r1, 0
- bl BlendPalettes
- ldr r2, =0x00000139
- adds r1, r4, r2
- movs r0, 0x4
- strb r0, [r1]
- movs r0, 0
- strb r0, [r5]
- ldr r2, =gUnknown_082F326C
- ldrb r1, [r1]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r2, 0x9D
- lsls r2, 1
- adds r1, r4, r2
- strb r0, [r1]
- b _08023BB2
- .pool
-_08023ADC:
- ldr r7, =gUnknown_082F326C
- movs r0, 0x9C
- lsls r0, 1
- adds r6, r4, r0
- ldr r1, =0x00000139
- adds r5, r4, r1
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- ldrb r2, [r6]
- adds r0, r2
- adds r0, r7
- movs r1, 0
- ldrsb r1, [r0, r1]
- strh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- movs r1, 0x9D
- lsls r1, 1
- adds r2, r4, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- bcc _08023BB8
- ldrb r0, [r5]
- cmp r0, 0
- beq _08023BB2
- subs r0, 0x1
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0
- strb r0, [r6]
- b _08023BB8
- .pool
-_08023B5C:
- movs r0, 0
- strh r0, [r4, 0x2C]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- b _08023BB2
-_08023B7A:
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r4, 0
- bl sub_80218D4
- cmp r0, 0
- beq _08023BB8
- bl sub_8010434
- movs r0, 0
- strh r0, [r4, 0x10]
- b _08023BB2
-_08023B94:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023BB8
- movs r0, 0x11
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023BBA
-_08023BB2:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08023BB8:
- movs r0, 0
-_08023BBA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8023A30
-
- thumb_func_start sub_8023BC0
-sub_8023BC0: @ 8023BC0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- beq _08023C04
- cmp r0, 0x1
- bgt _08023BD8
- cmp r0, 0
- beq _08023BE2
- b _08023C9C
-_08023BD8:
- cmp r0, 0x2
- beq _08023C2A
- cmp r0, 0x3
- beq _08023C5C
- b _08023C9C
-_08023BE2:
- movs r0, 0x9
- strh r0, [r5, 0x12]
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x8
- movs r2, 0x1F
- bl BlendPalettes
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x4
- strb r0, [r1]
- b _08023C9C
-_08023C04:
- movs r0, 0x9C
- lsls r0, 1
- adds r4, r5, r0
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08023CA2
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- movs r2, 0x1F
- bl BlendPalettes
- movs r0, 0
- strb r0, [r4]
- b _08023C9C
-_08023C2A:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_80218D4
- cmp r0, 0
- beq _08023CA2
- bl sub_8010434
- movs r0, 0
- strh r0, [r5, 0x10]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- b _08023C9C
-_08023C5C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023CA2
- ldr r0, =gStringVar1
- ldr r1, [r5, 0x1C]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0x1
- movs r3, 0
- bl sub_8024644
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strh r4, [r5, 0x10]
- b _08023CA0
- .pool
-_08023C9C:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
-_08023CA0:
- strb r0, [r5, 0xC]
-_08023CA2:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8023BC0
-
- thumb_func_start sub_8023CAC
-sub_8023CAC: @ 8023CAC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r0, 0
- ldrb r0, [r7, 0xC]
- cmp r0, 0x7
- bls _08023CC2
- b _0802402E
-_08023CC2:
- lsls r0, 2
- ldr r1, =_08023CD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08023CD0:
- .4byte _08023CF0
- .4byte _08023D2A
- .4byte _08023D38
- .4byte _08023DA0
- .4byte _08023F20
- .4byte _08023FD0
- .4byte _08023FDC
- .4byte _08024010
-_08023CF0:
- adds r4, r7, 0
- adds r4, 0x42
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- bl memset
- ldrb r0, [r7, 0x8]
- lsls r0, 5
- adds r0, r7, r0
- adds r2, r0, 0
- adds r2, 0xB2
- ldrh r1, [r7, 0x28]
- ldrh r0, [r2]
- cmp r0, r1
- bls _08023D12
- strh r1, [r2]
-_08023D12:
- ldrb r0, [r7, 0x8]
- lsls r0, 5
- adds r0, r7, r0
- adds r0, 0xB2
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl SendBlock
- b _0802402E
-_08023D2A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _08023D36
- b _08024034
-_08023D36:
- b _08024004
-_08023D38:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r3, [r7, 0x9]
- subs r1, r3, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _08023D50
- b _08024034
-_08023D50:
- movs r0, 0
- mov r8, r0
- adds r4, r7, 0
- adds r4, 0x42
- cmp r8, r3
- bcs _08023D7E
- ldr r2, =gBlockRecvBuffer
-_08023D5E:
- mov r3, r8
- lsls r1, r3, 5
- adds r1, r7, r1
- lsls r0, r3, 8
- adds r0, r2
- ldrh r0, [r0]
- adds r1, 0xB2
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r6, [r7, 0x9]
- cmp r8, r6
- bcc _08023D5E
-_08023D7E:
- movs r0, 0
- strh r0, [r7, 0x10]
- strh r0, [r4]
- bl ResetBlockReceivedFlags
- ldrb r0, [r7, 0x8]
- cmp r0, 0
- bne _08023D9C
- movs r0, 0x3
- b _08024032
- .pool
-_08023D9C:
- movs r0, 0x6
- b _08024032
-_08023DA0:
- adds r0, r7, 0
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldrh r1, [r7, 0x28]
- adds r0, r7, 0
- adds r0, 0x6C
- strh r1, [r0]
- movs r0, 0x18
- ldrsh r4, [r7, r0]
- ldrh r0, [r7, 0x28]
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl __divsi3
- adds r1, r7, 0
- adds r1, 0x6E
- strh r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- lsls r0, 8
- movs r4, 0xC8
- lsls r4, 6
- adds r1, r4, 0
- bl sub_8151574
- adds r2, r0, 0
- movs r3, 0x32
- ldrsh r1, [r7, r3]
- lsls r1, 8
- bl sub_81515FC
- adds r2, r0, r4
- asrs r2, 8
- movs r1, 0x7F
- adds r0, r2, 0
- ands r0, r1
- adds r1, r7, 0
- adds r1, 0x70
- strh r0, [r1]
- lsls r2, 8
- movs r1, 0xC8
- lsls r1, 7
- adds r0, r2, 0
- bl sub_81515FC
- adds r2, r0, 0
- ldrb r1, [r7, 0x9]
- ldr r0, [r7, 0x1C]
- muls r0, r1
- lsls r4, r0, 8
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_8151574
- adds r4, r0, 0
- asrs r0, r4, 8
- str r0, [r7, 0x68]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r1, r7, 0
- adds r1, 0x8F
- strb r0, [r1]
- movs r6, 0
- mov r8, r6
- mov r9, r1
- ldrb r0, [r7, 0x9]
- cmp r8, r0
- bcc _08023E44
- b _0802402E
-_08023E44:
- adds r0, r7, 0
- adds r0, 0x88
- add r0, r8
- mov r1, r8
- strb r1, [r0]
- adds r0, r7, 0
- adds r0, 0x90
- add r0, r8
- strb r1, [r0]
- mov r3, r8
- lsls r2, r3, 1
- adds r1, r7, 0
- adds r1, 0x74
- adds r1, r2
- lsls r0, r3, 5
- adds r3, r7, r0
- adds r5, r3, 0
- adds r5, 0xAE
- ldrh r0, [r5]
- strh r0, [r1]
- adds r1, r7, 0
- adds r1, 0x72
- ldrh r6, [r1]
- adds r0, r6
- strh r0, [r1]
- mov r1, r9
- ldrb r0, [r1]
- adds r6, r2, 0
- cmp r0, 0x1
- beq _08023EAE
- cmp r0, 0x1
- bgt _08023E8A
- cmp r0, 0
- beq _08023E90
- b _08023F04
-_08023E8A:
- cmp r0, 0x2
- beq _08023ECC
- b _08023F04
-_08023E90:
- ldrh r0, [r5]
- cmp r0, 0
- beq _08023ED2
- adds r0, r3, 0
- adds r0, 0xAC
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r5]
- b _08023EFA
-_08023EAE:
- ldrh r0, [r5]
- cmp r0, 0
- beq _08023ED2
- adds r0, r3, 0
- adds r0, 0xB0
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r5]
- b _08023EFA
-_08023ECC:
- ldrh r0, [r5]
- cmp r0, 0
- bne _08023ED6
-_08023ED2:
- movs r4, 0
- b _08023F04
-_08023ED6:
- adds r1, r3, 0
- adds r1, 0xB2
- ldrh r0, [r1]
- ldrh r2, [r7, 0x28]
- cmp r0, r2
- bcc _08023EE8
- movs r4, 0xC8
- lsls r4, 7
- b _08023F04
-_08023EE8:
- ldrh r2, [r1]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r7, 0x28]
-_08023EFA:
- lsls r4, 8
- adds r1, r4, 0
- bl sub_81515FC
- adds r4, r0, 0
-_08023F04:
- asrs r4, 4
- adds r0, r7, 0
- adds r0, 0x7E
- adds r0, r6
- strh r4, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r3, [r7, 0x9]
- cmp r8, r3
- bcc _08023E44
- b _0802402E
-_08023F20:
- movs r6, 0
- mov r8, r6
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- adds r1, r7, 0
- adds r1, 0x68
- str r1, [sp, 0xC]
- cmp r8, r0
- bge _08023FC4
-_08023F32:
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r2, r8
- adds r2, 0x1
- str r2, [sp, 0x8]
- cmp r4, r8
- bls _08023FB4
- adds r3, r7, 0
- adds r3, 0x74
- str r3, [sp]
- adds r6, r7, 0
- adds r6, 0x88
- str r6, [sp, 0x4]
- movs r0, 0x90
- adds r0, r7
- mov r10, r0
- movs r1, 0x7E
- adds r1, r7
- mov r9, r1
-_08023F5C:
- subs r2, r4, 0x1
- mov r12, r2
- lsls r6, r2, 1
- ldr r0, [sp]
- adds r3, r0, r6
- lsls r5, r4, 1
- adds r1, r0, r5
- ldrh r2, [r3]
- ldrh r0, [r1]
- cmp r2, r0
- bcs _08023F86
- ldrh r0, [r1]
- strh r2, [r1]
- strh r0, [r3]
- ldr r1, [sp, 0x4]
- adds r2, r1, r4
- ldrb r3, [r2]
- add r1, r12
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
-_08023F86:
- mov r2, r9
- adds r3, r2, r6
- adds r1, r2, r5
- ldrh r2, [r3]
- ldrh r6, [r1]
- cmp r2, r6
- bcs _08023FAA
- ldrh r0, [r1]
- strh r2, [r1]
- strh r0, [r3]
- mov r0, r10
- adds r2, r0, r4
- ldrb r3, [r2]
- mov r1, r10
- add r1, r12
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
-_08023FAA:
- mov r1, r12
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r4, r8
- bhi _08023F5C
-_08023FB4:
- ldr r2, [sp, 0x8]
- lsls r0, r2, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- cmp r8, r0
- blt _08023F32
-_08023FC4:
- movs r0, 0
- ldr r1, [sp, 0xC]
- movs r2, 0x30
- bl SendBlock
- b _0802402E
-_08023FD0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024034
- b _08024004
-_08023FDC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08024034
- adds r4, r7, 0
- adds r4, 0x68
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldr r1, =gBlockRecvBuffer
- adds r0, r4, 0
- movs r2, 0x30
- bl memcpy
- bl ResetBlockReceivedFlags
-_08024004:
- movs r0, 0
- strh r0, [r7, 0x10]
- b _0802402E
- .pool
-_08024010:
- bl sub_8020E58
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- movs r1, 0xB
- strh r1, [r7, 0x12]
- strb r0, [r7, 0xC]
- adds r1, r7, 0
- adds r1, 0x24
- strb r0, [r1]
- b _08024034
-_0802402E:
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
-_08024032:
- strb r0, [r7, 0xC]
-_08024034:
- movs r0, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8023CAC
-
- thumb_func_start sub_8024048
-sub_8024048: @ 8024048
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x4
- bhi _08024124
- lsls r0, 2
- ldr r1, =_08024064
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024064:
- .4byte _08024078
- .4byte _0802408A
- .4byte _0802409C
- .4byte _080240CC
- .4byte _080240DC
-_08024078:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_8022070
- cmp r0, 0
- bne _08024124
- b _0802412A
-_0802408A:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1E
- strb r0, [r1]
- b _08024124
-_0802409C:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080240AE
- subs r0, 0x1
- strb r0, [r1]
- b _0802412A
-_080240AE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802412A
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_802222C
- b _08024124
- .pool
-_080240CC:
- ldrh r0, [r5, 0x12]
- cmp r0, 0xC
- bhi _08024124
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0802412A
-_080240DC:
- ldr r0, =gStringVar1
- ldr r1, [r5, 0x1C]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- bl sub_80247BC
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0x3
- movs r3, 0
- bl sub_8024644
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802412A
- .pool
-_08024124:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802412A:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8024048
-
- thumb_func_start sub_8024134
-sub_8024134: @ 8024134
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x4
- bhi _08024218
- lsls r0, 2
- ldr r1, =_08024150
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024150:
- .4byte _08024164
- .4byte _080241A0
- .4byte _080241A6
- .4byte _080241F0
- .4byte _08024204
-_08024164:
- ldrh r1, [r5, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08024176
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r5, r1
- bl sub_8022554
-_08024176:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r4, 0
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802421E
- .pool
-_080241A0:
- bl sub_8010434
- b _08024218
-_080241A6:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802421E
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, =gText_SavingDontTurnOffPower
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sub_8153688
- movs r1, 0
- bl CreateTask
- b _08024218
- .pool
-_080241F0:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08024218
- b _0802421E
- .pool
-_08024204:
- movs r0, 0x14
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0xF
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0802421E
-_08024218:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802421E:
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024134
-
- thumb_func_start sub_8024228
-sub_8024228: @ 8024228
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- beq _0802426A
- cmp r0, 0x1
- bgt _08024240
- cmp r0, 0
- beq _08024246
- b _080242D0
-_08024240:
- cmp r0, 0x2
- beq _08024270
- b _080242D0
-_08024246:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x14
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strb r0, [r5, 0xC]
- b _080242D8
-_0802426A:
- bl DisplayYesNoMenuDefaultYes
- b _080242D0
-_08024270:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _080242D6
- adds r0, r5, 0
- adds r0, 0x42
- movs r1, 0
- movs r2, 0xC
- bl memset
- cmp r4, 0
- bne _080242A2
- bl HasAtLeastOneBerry
- lsls r0, 24
- cmp r0, 0
- beq _0802429E
- strh r4, [r5, 0x14]
- b _080242A6
-_0802429E:
- movs r0, 0x3
- b _080242A4
-_080242A2:
- movs r0, 0x1
-_080242A4:
- strh r0, [r5, 0x14]
-_080242A6:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x15
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _080242D6
-_080242D0:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_080242D6:
- movs r0, 0
-_080242D8:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8024228
-
- thumb_func_start sub_80242E0
-sub_80242E0: @ 80242E0
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _08024306
- cmp r0, 0x1
- bgt _080242F6
- cmp r0, 0
- beq _08024300
- b _080243AC
-_080242F6:
- cmp r0, 0x2
- beq _08024328
- cmp r0, 0x3
- beq _08024336
- b _080243AC
-_08024300:
- bl sub_8010434
- b _080243AC
-_08024306:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080243B2
- ldrh r0, [r4, 0x14]
- adds r1, r4, 0
- adds r1, 0x42
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x4E
- strh r5, [r0]
- movs r0, 0
- movs r2, 0x2
- bl SendBlock
- b _080243AC
-_08024328:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080243B2
- strh r5, [r4, 0x10]
- b _080243AC
-_08024336:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r3, [r4, 0x9]
- subs r1, r3, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _080243B2
- adds r7, r4, 0
- adds r7, 0x42
- adds r6, r4, 0
- adds r6, 0x4E
- cmp r5, r3
- bcs _08024374
- adds r1, r6, 0
- ldr r2, =gBlockRecvBuffer
-_0802435C:
- lsls r0, r5, 8
- adds r0, r2
- ldrh r0, [r0]
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4, 0x9]
- cmp r5, r0
- bcc _0802435C
-_08024374:
- ldrh r0, [r6]
- cmp r0, 0
- beq _08024390
- movs r0, 0x17
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _0802439A
- .pool
-_08024390:
- movs r0, 0x16
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_0802439A:
- bl ResetBlockReceivedFlags
- movs r1, 0
- movs r0, 0
- strh r0, [r7]
- strh r0, [r6]
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _080243B4
-_080243AC:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_080243B2:
- movs r0, 0
-_080243B4:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80242E0
-
- thumb_func_start sub_80243BC
-sub_80243BC: @ 80243BC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _080243EA
- cmp r4, 0x1
- bgt _080243D2
- cmp r4, 0
- beq _080243DC
- b _08024434
-_080243D2:
- cmp r4, 0x2
- beq _080243F6
- cmp r4, 0x3
- beq _0802441A
- b _08024434
-_080243DC:
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- b _08024410
-_080243EA:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _08024434
- b _0802443A
-_080243F6:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- adds r0, r5, 0
- bl sub_8021488
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
-_08024410:
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _08024434
-_0802441A:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0802443A
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strh r4, [r5, 0x12]
- b _08024438
-_08024434:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
-_08024438:
- strb r0, [r5, 0xC]
-_0802443A:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80243BC
-
- thumb_func_start sub_8024444
-sub_8024444: @ 8024444
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _080244BC
- cmp r4, 0x1
- bgt _0802445A
- cmp r4, 0
- beq _08024460
- b _080244F6
-_0802445A:
- cmp r4, 0x2
- beq _080244D4
- b _080244F6
-_08024460:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldrh r1, [r5, 0x14]
- cmp r1, 0x3
- bne _08024490
- ldr r0, =gUnknown_082F32A4
- ldr r2, [r0, 0x14]
- ldrb r3, [r5, 0xB]
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
- b _080244AC
- .pool
-_08024490:
- ldr r0, =gUnknown_082F32A4
- ldr r2, [r0, 0x18]
- ldrb r3, [r5, 0xB]
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
-_080244AC:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _080244F6
- .pool
-_080244BC:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080244FC
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x78
- strb r0, [r1]
- b _080244F6
-_080244D4:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- ldrb r0, [r1]
- adds r4, r0, 0
- cmp r4, 0
- beq _080244E8
- subs r0, 0x1
- strb r0, [r1]
- b _080244FC
-_080244E8:
- movs r0, 0x18
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _080244FC
-_080244F6:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_080244FC:
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024444
-
- thumb_func_start sub_8024508
-sub_8024508: @ 8024508
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _08024528
- cmp r4, 0x1
- bgt _0802451C
- cmp r4, 0
- beq _08024522
- b _08024558
-_0802451C:
- cmp r4, 0x2
- beq _08024538
- b _08024558
-_08024522:
- bl sub_8010434
- b _08024558
-_08024528:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802455E
- bl sub_800AC34
- b _08024558
-_08024538:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802455E
- movs r0, 0x19
- strb r0, [r5, 0xE]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802455E
- .pool
-_08024558:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802455E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024508
-
- thumb_func_start sub_8024568
-sub_8024568: @ 8024568
- push {lr}
- movs r0, 0
- bl sub_8020C0C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8024568
-
- thumb_func_start sub_8024578
-sub_8024578: @ 8024578
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0x33
- bl IncrementGameStat
- strb r5, [r4, 0xD]
- movs r1, 0
- strh r5, [r4, 0x10]
- movs r0, 0x2
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x14]
- str r5, [r4, 0x1C]
- strh r5, [r4, 0x18]
- strh r5, [r4, 0x1A]
- str r5, [r4, 0x20]
- adds r0, r4, 0
- adds r0, 0x24
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x25
- movs r0, 0
- strb r0, [r1]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x28]
- strh r5, [r4, 0x2E]
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x34]
- movs r6, 0
- movs r3, 0
-_080245B8:
- lsls r0, r5, 5
- adds r2, r4, r0
- adds r1, r2, 0
- adds r1, 0xA4
- ldr r0, =0x0000ffff
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xA6
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r1, 0x6
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xAC
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strb r6, [r0]
- adds r0, 0x1
- strb r6, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080245B8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024578
-
- thumb_func_start sub_8024604
-sub_8024604: @ 8024604
- push {r4-r6,lr}
- sub sp, 0x8
- str r2, [sp, 0x4]
- ldr r5, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- mov r2, sp
- strh r4, [r2]
- add r4, sp, 0x4
- ldrb r2, [r4]
- strb r2, [r0]
- ldrb r2, [r4, 0x1]
- strb r2, [r0, 0x1]
- ldrb r2, [r4, 0x2]
- strb r2, [r0, 0x2]
- ldrb r2, [r4, 0x3]
- strb r2, [r0, 0x3]
- strb r3, [r0, 0x4]
- strb r5, [r0, 0x5]
- strb r6, [r0, 0x6]
- mov r2, sp
- ldrb r2, [r2]
- strb r2, [r0, 0x7]
- mov r2, sp
- ldrb r2, [r2, 0x1]
- strb r2, [r0, 0x8]
- strb r1, [r0, 0x9]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8024604
-
- thumb_func_start sub_8024644
-sub_8024644: @ 8024644
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, [sp, 0x10]
- mov r4, sp
- strh r3, [r4]
- strb r1, [r0]
- strb r2, [r0, 0x1]
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r0, 0x2]
- mov r1, sp
- ldrb r1, [r1, 0x1]
- strb r1, [r0, 0x3]
- strb r5, [r0, 0x4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8024644
-
- thumb_func_start sub_8024668
-sub_8024668: @ 8024668
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- adds r1, 0xAC
- ldr r0, [r0]
- ldr r1, [r1]
- eors r0, r1
- bx lr
- .pool
- thumb_func_end sub_8024668
-
- thumb_func_start SetBerryPowder
-SetBerryPowder: @ 802467C
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- adds r2, 0xAC
- ldr r2, [r2]
- eors r2, r1
- str r2, [r0]
- bx lr
- .pool
- thumb_func_end SetBerryPowder
-
- thumb_func_start ApplyNewEncryptionKeyToBerryPowder
-ApplyNewEncryptionKeyToBerryPowder: @ 8024690
- push {lr}
- adds r1, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r2, 0xFA
- lsls r2, 1
- adds r0, r2
- bl ApplyNewEncryptionKeyToWord
- pop {r0}
- bx r0
- .pool
- thumb_func_end ApplyNewEncryptionKeyToBerryPowder
-
- thumb_func_start sub_80246AC
-sub_80246AC: @ 80246AC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1
- bl sub_8024668
- cmp r0, r4
- bcc _080246CC
- movs r0, 0x1
- b _080246CE
- .pool
-_080246CC:
- movs r0, 0
-_080246CE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80246AC
-
- thumb_func_start sub_80246D4
-sub_80246D4: @ 80246D4
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1
- bl sub_8024668
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- cmp r0, r1
- bcc _080246F8
- movs r0, 0x1
- b _080246FA
- .pool
-_080246F8:
- movs r0, 0
-_080246FA:
- pop {r1}
- bx r1
- thumb_func_end sub_80246D4
-
- thumb_func_start sub_8024700
-sub_8024700: @ 8024700
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r5, r0, r1
- adds r0, r5, 0
- bl sub_8024668
- adds r1, r0, r4
- ldr r2, =0x0001869f @ Note to decompiler: See UNKNOWN_OFFSET
- cmp r1, r2
- bhi _08024730
- adds r0, r5, 0
- bl SetBerryPowder
- movs r0, 0x1
- b _0802473A
- .pool
-_08024730:
- adds r0, r5, 0
- adds r1, r2, 0
- bl SetBerryPowder
- movs r0, 0
-_0802473A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024700
-
- thumb_func_start sub_8024740
-sub_8024740: @ 8024740
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r4, r0, r1
- adds r0, r5, 0
- bl sub_80246AC
- lsls r0, 24
- cmp r0, 0
- beq _08024774
- adds r0, r4, 0
- bl sub_8024668
- adds r1, r0, 0
- subs r1, r5
- adds r0, r4, 0
- bl SetBerryPowder
- movs r0, 0x1
- b _08024776
- .pool
-_08024774:
- movs r0, 0
-_08024776:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024740
-
- thumb_func_start sub_802477C
-sub_802477C: @ 802477C
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r4, r0, r1
- ldr r5, =gSpecialVar_0x8004
- ldrh r0, [r5]
- bl sub_80246AC
- lsls r0, 24
- cmp r0, 0
- beq _080247B4
- adds r0, r4, 0
- bl sub_8024668
- adds r1, r0, 0
- ldrh r0, [r5]
- subs r1, r0
- adds r0, r4, 0
- bl SetBerryPowder
- movs r0, 0x1
- b _080247B6
- .pool
-_080247B4:
- movs r0, 0
-_080247B6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802477C
-
- thumb_func_start sub_80247BC
-sub_80247BC: @ 80247BC
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1
- bl sub_8024668
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80247BC
-
- thumb_func_start sub_80247D4
-sub_80247D4: @ 80247D4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- adds r6, r0, 0
- mov r8, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x24]
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gStringVar1
- mov r9, r0
- movs r2, 0x1
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- mov r2, r9
- mov r3, r8
- bl AddTextPrinterParameterized
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80247D4
-
- thumb_func_start sub_802482C
-sub_802482C: @ 802482C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl DrawStdFrameWithCustomTileAndPalette
- ldr r2, =gText_Powder
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- str r4, [sp]
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0x1A
- movs r3, 0x11
- bl sub_80247D4
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802482C
-
- thumb_func_start sub_802488C
-sub_802488C: @ 802488C
- push {lr}
- sub sp, 0x4
- bl sub_80247BC
- adds r1, r0, 0
- ldr r0, =gUnknown_02022C94
- ldrb r0, [r0]
- movs r2, 0
- str r2, [sp]
- movs r2, 0x1A
- movs r3, 0x11
- bl sub_80247D4
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802488C
-
- thumb_func_start sub_80248B0
-sub_80248B0: @ 80248B0
- push {r4,r5,lr}
- sub sp, 0x18
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x1C
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl SetWindowTemplateFields
- ldr r4, =gUnknown_02022C94
- add r0, sp, 0x10
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- ldr r5, =0x0000021d
- adds r1, r5, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- ldrb r4, [r4]
- bl sub_80247BC
- adds r3, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD
- bl sub_802482C
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80248B0
-
- thumb_func_start sub_8024918
-sub_8024918: @ 8024918
- push {r4,lr}
- ldr r4, =gUnknown_02022C94
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024918
-
- thumb_func_start sub_802493C
-sub_802493C: @ 802493C
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, =gUnknown_03000DB0
- movs r0, 0
- str r0, [r1]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08024A10
- ldr r4, =gUnknown_02022C98
- ldr r0, =0x00003330
- bl AllocZeroed
- str r0, [r4]
- cmp r0, 0
- beq _08024A10
- bl sub_8024A1C
- ldr r0, [r4]
- bl sub_8024A30
- ldr r0, [r4]
- str r5, [r0]
- bl GetMultiplayerId
- ldr r1, [r4]
- adds r1, 0x28
- strb r0, [r1]
- ldr r1, [r4]
- ldr r2, =0x000032cc
- adds r0, r1, r2
- adds r2, r1, 0
- adds r2, 0x28
- ldrb r3, [r2]
- lsls r2, r3, 4
- subs r2, r3
- lsls r2, 2
- adds r1, r2
- ldr r2, =0x000031a0
- adds r1, r2
- movs r2, 0x3C
- bl memcpy
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x28
- ldrb r1, [r1]
- lsls r1, 2
- ldr r2, =0x0000318c
- adds r1, r2
- adds r0, r1
- movs r1, 0x64
- muls r1, r6
- ldr r2, =gPlayerParty
- adds r1, r2
- bl sub_80261F8
- ldr r0, =sub_8024BC8
- movs r1, 0x1
- bl CreateTask
- ldr r0, =sub_80261CC
- bl SetMainCallback2
- bl sub_80273F0
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x44
- adds r2, 0x48
- bl sub_8026B5C
- bl StopMapMusic
- ldr r0, =0x0000021e
- bl PlayNewMapMusic
- b _08024A16
- .pool
-_08024A10:
- adds r0, r5, 0
- bl SetMainCallback2
-_08024A16:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802493C
-
- thumb_func_start sub_8024A1C
-sub_8024A1C: @ 8024A1C
- push {lr}
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- pop {r0}
- bx r0
- thumb_func_end sub_8024A1C
-
- thumb_func_start sub_8024A30
-sub_8024A30: @ 8024A30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2, 0xC]
- strb r0, [r2, 0x10]
- strb r0, [r2, 0x14]
- strb r0, [r2, 0x18]
- strb r0, [r2, 0x1C]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- str r0, [r1]
- movs r7, 0x90
- lsls r7, 1
- adds r1, r2, r7
- str r0, [r1]
- adds r1, r2, 0
- adds r1, 0x30
- strb r0, [r1]
- adds r1, 0x10
- strb r0, [r1]
- subs r1, 0x4
- strb r0, [r1]
- adds r3, 0x10
- adds r1, r2, r3
- str r0, [r1]
- movs r5, 0
- adds r1, r2, 0
- adds r1, 0x98
- movs r3, 0
-_08024A76:
- adds r0, r1, r5
- strb r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08024A76
- movs r5, 0
- adds r7, r2, 0
- adds r7, 0xA8
- str r7, [sp]
- adds r0, r2, 0
- adds r0, 0xB0
- str r0, [sp, 0xC]
- movs r1, 0x4A
- adds r1, r2
- mov r10, r1
- movs r3, 0x4C
- adds r3, r2
- mov r9, r3
- movs r7, 0x4E
- adds r7, r2
- mov r12, r7
- subs r0, 0x60
- str r0, [sp, 0x24]
- adds r6, r2, 0
- adds r6, 0x54
- adds r1, r2, 0
- adds r1, 0xD0
- str r1, [sp, 0x1C]
- adds r3, r2, 0
- adds r3, 0xDC
- str r3, [sp, 0x20]
- adds r7, r2, 0
- adds r7, 0xC4
- str r7, [sp, 0x14]
- adds r0, 0xA4
- str r0, [sp, 0x4]
- adds r1, 0x25
- str r1, [sp, 0x8]
- subs r3, 0xBC
- str r3, [sp, 0x10]
- movs r7, 0x24
- adds r7, r2
- mov r8, r7
- subs r0, 0xC0
- str r0, [sp, 0x18]
- movs r3, 0
- movs r1, 0x86
- lsls r1, 1
- adds r4, r2, r1
- movs r7, 0x98
- lsls r7, 1
- adds r2, r7
-_08024AE2:
- ldr r1, [sp]
- adds r0, r1, r5
- strb r3, [r0]
- ldr r7, [sp, 0xC]
- adds r0, r7, r5
- strb r3, [r0]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- mov r7, r10
- adds r1, r7, r0
- strh r3, [r1]
- mov r7, r9
- adds r1, r7, r0
- strh r3, [r1]
- mov r7, r12
- adds r1, r7, r0
- strh r3, [r1]
- ldr r7, [sp, 0x24]
- adds r1, r7, r0
- strh r3, [r1]
- adds r0, r6, r0
- strh r3, [r0]
- adds r0, r4, r5
- strb r3, [r0]
- lsls r0, r5, 2
- adds r0, r2, r0
- str r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08024AE2
- movs r5, 0
- movs r3, 0
- movs r4, 0xFF
- ldr r6, [sp, 0x1C]
-_08024B2C:
- adds r0, r6, r5
- strb r3, [r0]
- ldr r1, [sp, 0x20]
- adds r0, r1, r5
- strb r3, [r0]
- ldr r7, [sp, 0x14]
- adds r0, r7, r5
- strb r3, [r0]
- lsls r1, r5, 1
- ldr r0, [sp, 0x4]
- adds r2, r0, r1
- ldrb r0, [r2]
- orrs r0, r4
- strb r0, [r2]
- ldr r7, [sp, 0x8]
- adds r1, r7, r1
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08024B2C
- bl GetMultiplayerId
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08024B6A
- movs r1, 0x1
-_08024B6A:
- ldr r0, [sp, 0x10]
- strb r1, [r0]
- bl GetLinkPlayerCount
- mov r1, r8
- strb r0, [r1]
- bl GetMultiplayerId
- ldr r3, [sp, 0x18]
- strb r0, [r3]
- movs r5, 0x1
- mov r7, r8
- ldrb r7, [r7]
- cmp r5, r7
- bcs _08024BB6
- ldr r7, [sp, 0x18]
- mov r6, r8
-_08024B8C:
- adds r4, r7, r5
- subs r0, r5, 0x1
- adds r0, r7, r0
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r4]
- ldrb r2, [r4]
- ldrb r1, [r6]
- subs r0, r1, 0x1
- cmp r2, r0
- ble _08024BAA
- adds r0, r2, 0
- bl __umodsi3
- strb r0, [r4]
-_08024BAA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- cmp r5, r0
- bcc _08024B8C
-_08024BB6:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8024A30
-
- thumb_func_start sub_8024BC8
-sub_8024BC8: @ 8024BC8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0x7
- bls _08024BDC
- b _08024D34
-_08024BDC:
- lsls r0, 2
- ldr r1, =_08024BF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024BF0:
- .4byte _08024C10
- .4byte _08024C24
- .4byte _08024C4C
- .4byte _08024C5A
- .4byte _08024C80
- .4byte _08024CD4
- .4byte _08024CE6
- .4byte _08024D10
-_08024C10:
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =sub_8025910
- movs r1, 0x4
- bl sub_802620C
- b _08024D20
- .pool
-_08024C24:
- ldr r0, =sub_8025910
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08024C32
- b _08024D40
-_08024C32:
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r1
- bl sub_8029274
- ldr r1, [r4]
- b _08024D24
- .pool
-_08024C4C:
- bl sub_802A770
- cmp r0, 0
- bne _08024D40
- bl sub_8010434
- b _08024D20
-_08024C5A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024D40
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08024D20
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- b _08024D20
- .pool
-_08024C80:
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- bl sub_80283A8
- movs r4, 0
- cmp r4, r5
- bcs _08024CBA
-_08024C92:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x34
- adds r0, r4
- ldrb r2, [r0]
- lsls r0, r2, 2
- ldr r3, =0x0000318c
- adds r0, r3
- adds r0, r1, r0
- adds r1, 0x24
- ldrb r3, [r1]
- adds r1, r4, 0
- bl sub_8028408
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08024C92
-_08024CBA:
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- adds r0, 0x24
- ldrb r1, [r0]
- movs r0, 0
- bl sub_802868C
- ldr r1, [r4]
- b _08024D24
- .pool
-_08024CD4:
- bl sub_8028A34
- bl sub_8028A88
- bl sub_8028D44
- bl sub_8028734
- b _08024D20
-_08024CE6:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_80261E4
- bl SetVBlankCallback
- b _08024D20
- .pool
-_08024D10:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08024D40
-_08024D20:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
-_08024D24:
- ldrb r0, [r1, 0xC]
- adds r0, 0x1
- strb r0, [r1, 0xC]
- b _08024D40
- .pool
-_08024D34:
- adds r0, r1, 0
- bl DestroyTask
- ldr r0, =sub_802589C
- bl sub_802621C
-_08024D40:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024BC8
-
- thumb_func_start sub_8024D4C
-sub_8024D4C: @ 8024D4C
- push {lr}
- bl sub_8025D04
- ldr r1, =gUnknown_082F7AC4
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gUnknown_03000DB0
- ldr r0, [r0]
- cmp r0, 0
- bne _08024D70
- bl sub_8026AF4
-_08024D70:
- bl sub_8025D50
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024D4C
-
- thumb_func_start sub_8024D84
-sub_8024D84: @ 8024D84
- push {lr}
- bl sub_8025E0C
- ldr r1, =gUnknown_082F7AF4
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gUnknown_03000DB0
- ldr r0, [r0]
- cmp r0, 0
- bne _08024DA8
- bl sub_8026B28
-_08024DA8:
- bl sub_8025ED8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024D84
-
- thumb_func_start sub_8024DBC
-sub_8024DBC: @ 8024DBC
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _08024DD4
- cmp r0, 0x1
- beq _08024DEA
- b _08024DF8
- .pool
-_08024DD4:
- movs r0, 0x1
- bl sub_8028504
- movs r0, 0x1
- bl sub_80292E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08024DF8
-_08024DEA:
- bl sub_802A770
- cmp r0, 0
- bne _08024DF8
- movs r0, 0x1
- bl sub_8026240
-_08024DF8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8024DBC
-
- thumb_func_start sub_8024E00
-sub_8024E00: @ 8024E00
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- bne _08024E20
- bl sub_80262C0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08024E30
- .pool
-_08024E20:
- movs r0, 0x8C
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x2
- bl sub_8026240
-_08024E30:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8024E00
-
- thumb_func_start sub_8024E38
-sub_8024E38: @ 8024E38
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- adds r4, r1, 0
- cmp r0, 0x5
- bhi _08024F08
- lsls r0, 2
- ldr r1, =_08024E5C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024E5C:
- .4byte _08024E74
- .4byte _08024E90
- .4byte _08024EA0
- .4byte _08024EC4
- .4byte _08024ED8
- .4byte _08024EF8
-_08024E74:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x78
- movs r3, 0x50
- bl sub_802EB24
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08024EF0
- .pool
-_08024E90:
- bl sub_8010434
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08024EF0
- .pool
-_08024EA0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024F08
- ldr r2, =gUnknown_02022C98
- ldr r1, [r2]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1, 0x10]
- ldr r0, [r2]
- adds r0, 0x30
- strb r3, [r0]
- b _08024F08
- .pool
-_08024EC4:
- bl sub_802EB84
- cmp r0, 0
- bne _08024F08
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08024EF0
- .pool
-_08024ED8:
- ldr r1, [r4]
- adds r1, 0x30
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _08024F08
- bl sub_8010434
- ldr r1, [r4]
-_08024EF0:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08024F08
-_08024EF8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024F08
- movs r0, 0x3
- bl sub_8026240
-_08024F08:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8024E38
-
- thumb_func_start sub_8024F10
-sub_8024F10: @ 8024F10
- push {lr}
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- bne _08024F2E
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _08024F2E
- movs r0, 0x4
- bl sub_8026240
-_08024F2E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024F10
-
- thumb_func_start sub_8024F38
-sub_8024F38: @ 8024F38
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r2, [r4]
- ldrb r0, [r2, 0x10]
- cmp r0, 0
- bne _08024FF6
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08024FE8
- adds r0, r2, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- bne _08024FEE
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08024F88
- ldr r1, =0x000031cc
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0
- bne _08024FEE
- ldr r3, =0x000031d0
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x2
- b _08024FC2
- .pool
-_08024F88:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08024FA8
- ldr r3, =0x000031cc
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- bne _08024FEE
- adds r3, 0x4
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x1
- b _08024FC2
- .pool
-_08024FA8:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08024FD4
- ldr r3, =0x000031cc
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- bne _08024FEE
- adds r3, 0x4
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x3
-_08024FC2:
- bl sub_8027518
- ldr r1, [r4]
- ldr r2, =0x000031cc
- adds r1, r2
- strb r0, [r1]
- b _08024FEE
- .pool
-_08024FD4:
- movs r0, 0
- bl sub_8027518
- ldr r1, [r4]
- ldr r3, =0x000031cc
- adds r1, r3
- strb r0, [r1]
- b _08024FEE
- .pool
-_08024FE8:
- movs r0, 0xB
- bl sub_8026240
-_08024FEE:
- bl sub_802671C
- bl sub_8025F48
-_08024FF6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8024F38
-
- thumb_func_start sub_8024FFC
-sub_8024FFC: @ 8024FFC
- push {lr}
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _080250C4
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0802504C
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080250CA
- ldr r3, =0x000032f8
- adds r1, r2, r3
- movs r0, 0x2
- strb r0, [r1]
- b _080250CA
- .pool
-_0802504C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08025080
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080250CA
- ldr r3, =0x000032f8
- adds r1, r2, r3
- movs r0, 0x1
- strb r0, [r1]
- b _080250CA
- .pool
-_08025080:
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080250B8
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080250CA
- ldr r3, =0x000032f8
- adds r1, r2, r3
- movs r0, 0x3
- strb r0, [r1]
- b _080250CA
- .pool
-_080250B8:
- ldr r3, =0x000032f8
- adds r0, r2, r3
- strb r1, [r0]
- b _080250CA
- .pool
-_080250C4:
- movs r0, 0xB
- bl sub_8026240
-_080250CA:
- bl sub_8026044
- pop {r0}
- bx r0
- thumb_func_end sub_8024FFC
-
- thumb_func_start sub_80250D4
-sub_80250D4: @ 80250D4
- push {r4,r5,lr}
- bl sub_802671C
- bl sub_8025F48
- bl sub_8026C50
- cmp r0, 0x1
- bne _080250F2
- bl sub_80272A4
- movs r0, 0x5
- bl sub_8026240
- b _08025150
-_080250F2:
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- movs r1, 0x96
- lsls r1, 1
- adds r4, r2, r1
- movs r1, 0x1
- str r1, [r4]
- movs r3, 0x1
- adds r1, r2, 0
- adds r1, 0x24
- adds r5, r0, 0
- ldrb r1, [r1]
- cmp r3, r1
- bcs _08025150
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08025124
- movs r0, 0
- str r0, [r4]
- b _08025150
- .pool
-_08025124:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r3, r0
- bcs _08025150
- lsls r0, r3, 2
- movs r4, 0x98
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0x1
- beq _08025124
- movs r0, 0x96
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- str r0, [r1]
-_08025150:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80250D4
-
- thumb_func_start sub_8025158
-sub_8025158: @ 8025158
- push {lr}
- bl sub_8026044
- bl sub_8026C90
- cmp r0, 0x1
- bne _0802516C
- movs r0, 0x5
- bl sub_8026240
-_0802516C:
- pop {r0}
- bx r0
- thumb_func_end sub_8025158
-
- thumb_func_start sub_8025170
-sub_8025170: @ 8025170
- push {r4,lr}
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800A9D8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _0802518C
- movs r0, 0
- b _08025192
-_0802518C:
- bl ResetBlockReceivedFlags
- movs r0, 0x1
-_08025192:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8025170
-
- thumb_func_start sub_8025198
-sub_8025198: @ 8025198
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C98
- ldr r1, [r5]
- ldrb r4, [r1, 0x10]
- cmp r4, 0x1
- beq _080251D0
- cmp r4, 0x1
- bgt _080251B4
- cmp r4, 0
- beq _080251BA
- b _0802520C
- .pool
-_080251B4:
- cmp r4, 0x2
- beq _080251DC
- b _0802520C
-_080251BA:
- adds r1, 0x4A
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _08025226
- ldr r0, [r5]
- strb r4, [r0, 0x8]
- b _08025202
-_080251D0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08025226
- b _08025202
-_080251DC:
- bl sub_8025170
- cmp r0, 0
- beq _080251EE
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r1, [r1]
- strb r1, [r0, 0x8]
-_080251EE:
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08025226
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
-_08025202:
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08025226
-_0802520C:
- movs r0, 0x1
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _08025226
- movs r0, 0x6
- bl sub_8026240
- ldr r0, =0x0000020b
- movs r1, 0x4
- bl FadeOutAndPlayNewMapMusic
-_08025226:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025198
-
- thumb_func_start sub_8025230
-sub_8025230: @ 8025230
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C98
- ldr r2, [r5]
- ldrb r4, [r2, 0x10]
- cmp r4, 0x1
- beq _08025274
- cmp r4, 0x1
- bgt _0802524C
- cmp r4, 0
- beq _08025252
- b _080252DC
- .pool
-_0802524C:
- cmp r4, 0x2
- beq _08025282
- b _080252DC
-_08025252:
- ldrb r0, [r2, 0x14]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, 0x4A
- adds r1, r2, r1
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _08025316
- ldr r0, [r5]
- strb r4, [r0, 0x8]
- ldr r1, [r5]
- b _080252CC
-_08025274:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08025316
- ldr r1, [r5]
- b _080252CC
-_08025282:
- bl sub_8025170
- cmp r0, 0
- beq _080252B4
- movs r4, 0
- b _080252AA
-_0802528E:
- ldr r0, [r5]
- adds r0, 0x4A
- ldr r1, =gBlockRecvBuffer
- movs r2, 0x3C
- bl memcpy
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080252AA:
- ldr r0, [r5]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0802528E
-_080252B4:
- ldr r3, =gUnknown_02022C98
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08025316
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- ldr r1, [r3]
-_080252CC:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08025316
- .pool
-_080252DC:
- movs r0, 0x1
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _08025316
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r1
- ldrh r1, [r0]
- movs r3, 0x8A
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- movs r0, 0x6
- bl sub_8026240
- ldr r0, =0x0000020b
- movs r1, 0x4
- bl FadeOutAndPlayNewMapMusic
-_08025316:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025230
-
- thumb_func_start sub_8025324
-sub_8025324: @ 8025324
- push {r4,r5,lr}
- sub sp, 0x4
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x4
- bls _0802533A
- b _08025458
-_0802533A:
- lsls r0, 2
- ldr r1, =_0802534C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802534C:
- .4byte _08025360
- .4byte _08025384
- .4byte _0802539C
- .4byte _080253BC
- .4byte _080253DC
-_08025360:
- bl sub_802749C
- movs r0, 0x1
- bl sub_80289E8
- bl sub_8028DFC
- movs r0, 0x1
- bl sub_8028EC8
- movs r0, 0x2
- bl sub_80292E0
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08025448
- .pool
-_08025384:
- bl sub_802A770
- cmp r0, 0
- bne _08025466
- movs r0, 0x5
- bl sub_80292E0
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08025448
- .pool
-_0802539C:
- bl sub_802A794
- mov r1, sp
- strb r0, [r1]
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _08025466
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08025448
- .pool
-_080253BC:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08025466
- ldr r3, =gUnknown_02022C98
- ldr r1, [r3]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1, 0x10]
- ldr r0, [r3]
- strb r2, [r0, 0x8]
- b _08025466
- .pool
-_080253DC:
- bl sub_8025170
- cmp r0, 0
- beq _08025422
- movs r2, 0
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08025422
- adds r3, r1, 0
- movs r5, 0x86
- lsls r5, 1
- ldr r4, =gBlockRecvBuffer
-_080253FA:
- ldr r1, [r3]
- adds r1, r2, r1
- adds r1, r5
- lsls r0, r2, 8
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080253FA
-_08025422:
- ldr r4, =gUnknown_02022C98
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08025466
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _08025466
- movs r0, 0x6
- bl sub_80292E0
- ldr r1, [r4]
-_08025448:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08025466
- .pool
-_08025458:
- bl sub_802A770
- cmp r0, 0
- bne _08025466
- movs r0, 0x7
- bl sub_8026240
-_08025466:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025324
-
- thumb_func_start sub_8025470
-sub_8025470: @ 8025470
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x7
- bls _08025480
- b _08025606
-_08025480:
- lsls r0, 2
- ldr r1, =_08025494
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08025494:
- .4byte _080254B4
- .4byte _080254D4
- .4byte _080254F0
- .4byte _08025504
- .4byte _08025520
- .4byte _0802553C
- .4byte _08025564
- .4byte _08025578
-_080254B4:
- bl sub_8027748
- ldr r1, =0x00000bb7
- cmp r0, r1
- bls _080254C4
- movs r0, 0x4
- bl sub_80292E0
-_080254C4:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_080254D4:
- bl sub_802A770
- cmp r0, 0
- beq _080254DE
- b _0802563C
-_080254DE:
- movs r0, 0x3
- bl sub_80292E0
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_080254F0:
- bl sub_8028FCC
- bl sub_80272E8
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_08025504:
- bl sub_802A794
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- cmp r0, 0
- bne _08025516
- b _0802563C
-_08025516:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_08025520:
- bl sub_802A770
- cmp r0, 0
- beq _0802552A
- b _0802563C
-_0802552A:
- movs r0, 0x5
- bl sub_80292E0
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_0802553C:
- bl sub_802A794
- mov r1, sp
- strb r0, [r1]
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _0802563C
- ldr r2, =gUnknown_02022C98
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x8]
- ldr r1, [r2]
- b _080255E8
- .pool
-_08025564:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802563C
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _080255E8
- .pool
-_08025578:
- bl sub_8025170
- cmp r0, 0
- beq _080255BE
- movs r2, 0
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080255BE
- adds r3, r1, 0
- movs r5, 0x86
- lsls r5, 1
- ldr r4, =gBlockRecvBuffer
-_08025596:
- ldr r1, [r3]
- adds r1, r2, r1
- adds r1, r5
- lsls r0, r2, 8
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08025596
-_080255BE:
- ldr r4, =gUnknown_02022C98
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080255F8
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _0802563C
- bl sub_8027608
- movs r0, 0x6
- bl sub_80292E0
- ldr r1, [r4]
-_080255E8:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _0802563C
- .pool
-_080255F8:
- bl sub_8027554
- b _0802563C
-_080255FE:
- movs r0, 0x8
- bl sub_8026240
- b _0802563C
-_08025606:
- bl sub_802A770
- cmp r0, 0
- bne _0802563C
- movs r2, 0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08025636
- movs r4, 0x86
- lsls r4, 1
- adds r3, r1, r4
- adds r1, r0, 0
-_08025624:
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080255FE
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _08025624
-_08025636:
- movs r0, 0xA
- bl sub_8026240
-_0802563C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025470
-
- thumb_func_start sub_8025644
-sub_8025644: @ 8025644
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- beq _08025672
- cmp r0, 0x1
- bgt _08025660
- cmp r0, 0
- beq _08025666
- b _08025692
- .pool
-_08025660:
- cmp r0, 0x2
- beq _0802567C
- b _08025692
-_08025666:
- bl sub_800AC34
- movs r0, 0x7
- bl sub_80292E0
- b _08025688
-_08025672:
- bl sub_802A770
- cmp r0, 0
- bne _080256A0
- b _08025688
-_0802567C:
- bl sub_802A794
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080256A0
-_08025688:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _080256A0
-_08025692:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080256A0
- movs r0, 0x9
- bl sub_8026240
-_080256A0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025644
-
- thumb_func_start sub_80256AC
-sub_80256AC: @ 80256AC
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldrb r1, [r0, 0x10]
- cmp r1, 0x1
- beq _080256E0
- cmp r1, 0x1
- bgt _080256C8
- cmp r1, 0
- beq _080256CE
- b _08025728
- .pool
-_080256C8:
- cmp r1, 0x2
- beq _080256F8
- b _08025728
-_080256CE:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0802571A
-_080256E0:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0802574C
- b _0802571A
- .pool
-_080256F8:
- bl sub_8028B80
- bl sub_80287E4
- ldr r0, [r4]
- adds r0, 0x24
- ldrb r0, [r0]
- bl sub_8028614
- bl sub_8028E84
- ldr r1, =gUnknown_03000DB0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x8
- bl sub_80292E0
-_0802571A:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _0802574C
- .pool
-_08025728:
- bl sub_802A770
- cmp r0, 0
- bne _0802574C
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl DestroyTask
- ldr r0, [r4]
- bl Free
- bl FreeAllWindowBuffers
-_0802574C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80256AC
-
- thumb_func_start sub_8025758
-sub_8025758: @ 8025758
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- cmp r0, 0x6
- bls _08025768
- b _0802585C
-_08025768:
- lsls r0, 2
- ldr r1, =_0802577C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802577C:
- .4byte _08025798
- .4byte _08025838
- .4byte _080257B0
- .4byte _08025802
- .4byte _08025808
- .4byte _08025818
- .4byte _08025838
-_08025798:
- movs r0, 0x9
- bl sub_80292E0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08025848
-_080257B0:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _08025848
-_08025802:
- bl StopMapMusic
- b _08025848
-_08025808:
- ldr r0, =0x0000021e
- bl PlayNewMapMusic
- bl sub_8028E4C
- b _08025848
- .pool
-_08025818:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08025848
-_08025838:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0802588C
-_08025848:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _0802588C
- .pool
-_0802585C:
- ldrb r0, [r1, 0x4]
- bl DestroyTask
- ldr r0, =sub_802589C
- bl sub_802621C
- bl sub_802903C
- ldr r0, [r4]
- bl sub_8024A30
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025882
- ldr r0, [r4]
- adds r0, 0x24
- movs r1, 0x1
- strb r1, [r0]
-_08025882:
- bl sub_80273F0
- movs r0, 0
- bl sub_8028EC8
-_0802588C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025758
-
- thumb_func_start sub_802589C
-sub_802589C: @ 802589C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- adds r4, r1, 0
- cmp r0, 0x1
- beq _080258C8
- cmp r0, 0x1
- bgt _080258BC
- cmp r0, 0
- beq _080258C2
- b _080258E0
- .pool
-_080258BC:
- cmp r0, 0x2
- beq _080258CE
- b _080258E0
-_080258C2:
- bl sub_8026264
- b _080258D2
-_080258C8:
- bl sub_80286E4
- b _080258D6
-_080258CE:
- bl sub_8028828
-_080258D2:
- cmp r0, 0x1
- bne _08025904
-_080258D6:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08025904
-_080258E0:
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _080258F8
- ldr r0, =sub_8024D4C
- bl sub_802621C
- b _080258FE
- .pool
-_080258F8:
- ldr r0, =sub_8024D84
- bl sub_802621C
-_080258FE:
- adds r0, r5, 0
- bl DestroyTask
-_08025904:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802589C
-
- thumb_func_start sub_8025910
-sub_8025910: @ 8025910
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0
- ldrsh r4, [r5, r0]
- cmp r4, 0x1
- beq _0802596C
- cmp r4, 0x1
- bgt _08025938
- cmp r4, 0
- beq _0802593E
- b _080259E8
- .pool
-_08025938:
- cmp r4, 0x2
- beq _0802597E
- b _080259E8
-_0802593E:
- ldr r6, =gUnknown_02022C98
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- ldr r2, =0x0000318c
- adds r0, r2
- adds r1, r0
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _080259E8
- ldr r0, [r6]
- strb r4, [r0, 0x8]
- b _08025976
- .pool
-_0802596C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080259E8
-_08025976:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080259E8
-_0802597E:
- bl sub_8025170
- cmp r0, 0
- beq _080259C4
- movs r2, 0
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080259C4
- adds r3, r1, 0
- ldr r5, =gBlockRecvBuffer
- ldr r4, =0x0000318c
-_0802599A:
- ldr r0, [r3]
- lsls r1, r2, 2
- adds r1, r0
- adds r1, r4
- lsls r0, r2, 8
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0802599A
-_080259C4:
- ldr r4, =gUnknown_02022C98
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080259E8
- adds r0, r6, 0
- bl DestroyTask
- movs r0, 0x6
- bl sub_80292E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
-_080259E8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025910
-
- thumb_func_start sub_80259FC
-sub_80259FC: @ 80259FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- ldr r6, =gUnknown_02022C98
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r7, [r1]
- ldr r2, =0x000031a0
- adds r1, r0, r2
- ldr r3, =0x000031cc
- adds r2, r0, r3
- ldr r4, =0x00003208
- adds r3, r0, r4
- ldr r5, =0x00003244
- adds r4, r0, r5
- str r4, [sp]
- adds r5, 0x3C
- adds r4, r0, r5
- str r4, [sp, 0x4]
- adds r5, 0x3C
- adds r4, r0, r5
- str r4, [sp, 0x8]
- adds r4, r0, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r5, 0x90
- lsls r5, 1
- adds r4, r0, r5
- str r4, [sp, 0x10]
- movs r4, 0x96
- lsls r4, 1
- adds r0, r4
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_8028164
- ldr r1, [r6]
- ldr r5, =0x000031b0
- adds r2, r1, r5
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x1
- cmp r5, r7
- bcs _08025AA4
-_08025A60:
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xA8
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025A9A
- lsls r0, r5, 4
- subs r0, r5
- lsls r4, r0, 2
- adds r1, r4, r1
- ldr r2, =0x000031cc
- adds r1, r2
- adds r0, r5, 0
- bl sub_8028318
- adds r1, r0, 0
- cmp r1, 0
- bne _08025A9A
- ldr r0, [r6]
- adds r0, r4
- ldr r3, =0x000031cc
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r6]
- movs r4, 0x94
- lsls r4, 1
- adds r0, r4
- strb r1, [r0]
-_08025A9A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08025A60
-_08025AA4:
- ldr r5, =gUnknown_02022C98
- ldr r1, [r5]
- movs r6, 0x92
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _08025B02
- ldr r1, [r5]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0
- beq _08025AF0
- bl sub_8011AC8
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
- b _08025B02
- .pool
-_08025AF0:
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x46
- bls _08025B02
- bl sub_8011AC8
- ldr r0, [r5]
- adds r0, r6
- strb r4, [r0]
-_08025B02:
- movs r5, 0
- cmp r5, r7
- bcs _08025BF6
- ldr r3, =0x000031cc
- mov r12, r3
- ldr r4, =gUnknown_02022C98
- mov r8, r4
-_08025B10:
- mov r6, r8
- ldr r2, [r6]
- lsls r0, r5, 4
- subs r1, r0, r5
- lsls r1, 2
- adds r1, r2, r1
- add r1, r12
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- beq _08025B36
- adds r0, r2, 0
- adds r0, 0xA8
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- bne _08025B36
- movs r0, 0x1
- strb r0, [r1]
-_08025B36:
- adds r3, r4, 0
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0xA8
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- bgt _08025B54
- cmp r0, 0x1
- bge _08025B5A
- b _08025BEC
- .pool
-_08025B54:
- cmp r0, 0x4
- beq _08025BA8
- b _08025BEC
-_08025B5A:
- adds r1, 0xB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _08025BEC
- ldr r0, [r3]
- adds r0, 0xB0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, 0xA8
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- ldr r6, =0x000031d0
- adds r0, r6
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- ldr r1, =0x000031d4
- adds r0, r1
- b _08025BEA
- .pool
-_08025BA8:
- adds r1, 0xB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x27
- bls _08025BEC
- ldr r0, [r4]
- adds r0, 0xB0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xA8
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r4]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r3, =0x000031d0
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r6, =0x000031d4
- adds r0, r6
-_08025BEA:
- strb r2, [r0]
-_08025BEC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08025B10
-_08025BF6:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80259FC
-
- thumb_func_start sub_8025C0C
-sub_8025C0C: @ 8025C0C
- push {r4-r7,lr}
- sub sp, 0x18
- ldr r5, =gUnknown_02022C98
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r6, [r1]
- ldr r2, =0x000031a0
- adds r1, r0, r2
- ldr r3, =0x000031cc
- adds r2, r0, r3
- ldr r4, =0x00003208
- adds r3, r0, r4
- ldr r7, =0x00003244
- adds r4, r0, r7
- str r4, [sp]
- adds r7, 0x3C
- adds r4, r0, r7
- str r4, [sp, 0x4]
- adds r7, 0x3C
- adds r4, r0, r7
- str r4, [sp, 0x8]
- adds r4, r0, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r7, 0x90
- lsls r7, 1
- adds r4, r0, r7
- str r4, [sp, 0x10]
- movs r4, 0x96
- lsls r4, 1
- adds r0, r4
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_8028164
- ldr r1, [r5]
- ldr r7, =0x000031b0
- adds r2, r1, r7
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
- cmp r4, r6
- bcs _08025C9C
-_08025C6C:
- adds r0, r4, 0
- bl sub_8028374
- cmp r0, 0
- beq _08025C92
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- lsls r1, r4, 2
- movs r3, 0x98
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- movs r7, 0x94
- lsls r7, 1
- adds r1, r2, r7
- movs r0, 0
- strb r0, [r1]
-_08025C92:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _08025C6C
-_08025C9C:
- ldr r5, =gUnknown_02022C98
- ldr r1, [r5]
- movs r6, 0x92
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _08025CFA
- ldr r1, [r5]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0
- beq _08025CE8
- bl sub_8011AC8
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
- b _08025CFA
- .pool
-_08025CE8:
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x46
- bls _08025CFA
- bl sub_8011AC8
- ldr r0, [r5]
- adds r0, r6
- strb r4, [r0]
-_08025CFA:
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8025C0C
-
- thumb_func_start sub_8025D04
-sub_8025D04: @ 8025D04
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C98
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- cmp r0, 0x4
- beq _08025D40
- cmp r0, 0x4
- bgt _08025D20
- cmp r0, 0x3
- beq _08025D26
- b _08025D4A
- .pool
-_08025D20:
- cmp r0, 0xB
- beq _08025D46
- b _08025D4A
-_08025D26:
- bl sub_8026BB8
- adds r4, r0, 0
- cmp r4, 0x1
- bne _08025D4A
- bl sub_8026C28
- ldr r0, [r5]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r1
- str r4, [r0]
- b _08025D4A
-_08025D40:
- bl sub_80259FC
- b _08025D4A
-_08025D46:
- bl sub_8025C0C
-_08025D4A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025D04
-
- thumb_func_start sub_8025D50
-sub_8025D50: @ 8025D50
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_02022C98
- ldr r5, [r0]
- ldrb r0, [r5, 0x18]
- cmp r0, 0x4
- beq _08025D68
- cmp r0, 0xB
- beq _08025DB8
- b _08025DF4
- .pool
-_08025D68:
- ldr r1, =0x000032cc
- adds r0, r5, r1
- ldr r2, =0x000031cc
- adds r1, r5, r2
- ldr r3, =0x00003208
- adds r2, r5, r3
- ldr r4, =0x00003244
- adds r3, r5, r4
- movs r6, 0xCA
- lsls r6, 6
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r4, r5, 0
- adds r4, 0x40
- ldrb r4, [r4]
- str r4, [sp, 0x8]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0xC]
- adds r6, 0xC
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0x10]
- bl sub_8027E30
- b _08025DF4
- .pool
-_08025DB8:
- ldr r1, =0x000032cc
- adds r0, r5, r1
- ldr r2, =0x000031cc
- adds r1, r5, r2
- ldr r3, =0x00003208
- adds r2, r5, r3
- ldr r4, =0x00003244
- adds r3, r5, r4
- movs r6, 0xCA
- lsls r6, 6
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r4, r5, 0
- adds r4, 0x40
- ldrb r4, [r4]
- str r4, [sp, 0x8]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0xC]
- adds r6, 0xC
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0x10]
- bl sub_8027E30
-_08025DF4:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025D50
-
- thumb_func_start sub_8025E0C
-sub_8025E0C: @ 8025E0C
- push {r4-r6,lr}
- sub sp, 0x18
- ldr r0, =gUnknown_02022C98
- ldr r5, [r0]
- ldrb r0, [r5, 0x18]
- cmp r0, 0x4
- beq _08025E24
- cmp r0, 0xB
- beq _08025E7C
- b _08025EC0
- .pool
-_08025E24:
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 2
- ldr r2, =0x000031a0
- adds r1, r2
- adds r1, r5, r1
- ldr r3, =0x000031cc
- adds r2, r5, r3
- ldr r4, =0x00003208
- adds r3, r5, r4
- ldr r6, =0x00003244
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x8]
- adds r4, r5, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- str r4, [sp, 0x10]
- adds r6, 0xC
- adds r4, r5, r6
- str r4, [sp, 0x14]
- bl sub_8028164
- b _08025EC0
- .pool
-_08025E7C:
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 2
- ldr r2, =0x000031a0
- adds r1, r2
- adds r1, r5, r1
- ldr r3, =0x000031cc
- adds r2, r5, r3
- ldr r4, =0x00003208
- adds r3, r5, r4
- ldr r6, =0x00003244
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x8]
- adds r4, r5, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- str r4, [sp, 0x10]
- adds r6, 0xC
- adds r4, r5, r6
- str r4, [sp, 0x14]
- bl sub_8028164
-_08025EC0:
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8025E0C
-
- thumb_func_start sub_8025ED8
-sub_8025ED8: @ 8025ED8
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0x4
- beq _08025F0E
- cmp r0, 0x4
- bgt _08025EF4
- cmp r0, 0x3
- beq _08025EFA
- b _08025F40
- .pool
-_08025EF4:
- cmp r0, 0xB
- beq _08025F24
- b _08025F40
-_08025EFA:
- movs r0, 0x1
- bl sub_8027DD0
- ldr r0, [r4]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- b _08025F40
-_08025F0E:
- ldr r2, =0x000032f8
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08025F40
- bl sub_80282EC
- b _08025F40
- .pool
-_08025F24:
- movs r2, 0x90
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08025F40
- adds r2, 0xC
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08025F40
- movs r0, 0x1
- bl sub_8028350
-_08025F40:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8025ED8
-
- thumb_func_start sub_8025F48
-sub_8025F48: @ 8025F48
- push {r4-r6,lr}
- ldr r6, =gUnknown_02022C98
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r1, r2, r0
- ldr r3, =0x000031cc
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025F88
- bl IsSEPlaying
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08025FEA
- ldr r0, [r6]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- b _08025FEA
- .pool
-_08025F88:
- ldr r3, =0x000031d0
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _08025FB8
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025FEA
- movs r0, 0x1F
- bl m4aSongNumStop
- movs r0, 0x1F
- bl PlaySE
- ldr r0, [r6]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r2
- b _08025FE8
- .pool
-_08025FB8:
- ldr r3, =0x000031d4
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _08025FEA
- movs r5, 0xA2
- lsls r5, 1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _08025FEA
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _08025FEA
- movs r0, 0x16
- bl PlaySE
- movs r0, 0x1
- bl sub_80284CC
- ldr r0, [r6]
- adds r0, r5
-_08025FE8:
- strb r4, [r0]
-_08025FEA:
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r2, r5
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- bne _0802601C
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _0802601C
- bl StopMapMusic
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- b _0802603A
- .pool
-_0802601C:
- ldr r0, [r4]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0802603C
- movs r0, 0xB
- bl PlayFanfareByFanfareNum
- ldr r0, [r4]
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
- movs r1, 0x2
-_0802603A:
- strb r1, [r0]
-_0802603C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8025F48
-
- thumb_func_start sub_8026044
-sub_8026044: @ 8026044
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, =gUnknown_02022C98
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x44
- ldrb r0, [r0]
- mov r8, r0
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r7, [r0]
- subs r0, 0x20
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r1, r2, r0
- ldr r3, =0x000031cc
- adds r0, r1, r3
- ldrb r3, [r0]
- cmp r3, 0
- bne _0802609C
- ldr r4, =0x000031d0
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080260FE
- adds r4, 0x4
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080260FE
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- strb r3, [r0]
- b _080260FE
- .pool
-_0802609C:
- ldr r3, =0x000031d0
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _080260CC
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080260FE
- movs r0, 0x1F
- bl m4aSongNumStop
- movs r0, 0x1F
- bl PlaySE
- ldr r0, [r6]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r3
- b _080260FC
- .pool
-_080260CC:
- ldr r4, =0x000031d4
- adds r0, r1, r4
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _080260FE
- movs r5, 0xA2
- lsls r5, 1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080260FE
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080260FE
- movs r0, 0x16
- bl PlaySE
- movs r0, 0x1
- bl sub_80284CC
- ldr r0, [r6]
- adds r0, r5
-_080260FC:
- strb r4, [r0]
-_080260FE:
- mov r4, r8
- cmp r4, r7
- bcs _08026172
- ldr r5, =gUnknown_02022C98
-_08026106:
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- ldr r1, =0x000031a0
- adds r0, r1
- adds r0, r2, r0
- adds r1, r0, 0
- adds r1, 0x14
- adds r0, 0x1F
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _0802615C
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026168
- adds r0, r1, r4
- ldrb r0, [r0]
- adds r0, 0x4A
- bl PlaySE
- ldr r0, [r5]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- movs r1, 0x1
- b _08026166
- .pool
-_0802615C:
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r4
- movs r1, 0
-_08026166:
- strb r1, [r0]
-_08026168:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r7
- bcc _08026106
-_08026172:
- ldr r0, =gUnknown_02022C98
- ldr r2, [r0]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r2, r5
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- bne _080261A0
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _080261A0
- bl StopMapMusic
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- b _080261BE
- .pool
-_080261A0:
- ldr r0, [r4]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080261C0
- movs r0, 0xB
- bl PlayFanfareByFanfareNum
- ldr r0, [r4]
- movs r3, 0xAA
- lsls r3, 1
- adds r0, r3
- movs r1, 0x2
-_080261BE:
- strb r1, [r0]
-_080261C0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8026044
-
- thumb_func_start sub_80261CC
-sub_80261CC: @ 80261CC
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80261CC
-
- thumb_func_start sub_80261E4
-sub_80261E4: @ 80261E4
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_80261E4
-
- thumb_func_start sub_80261F8
-sub_80261F8: @ 80261F8
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- bl IsMonShiny
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80261F8
-
- thumb_func_start sub_802620C
-sub_802620C: @ 802620C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- pop {r0}
- bx r0
- thumb_func_end sub_802620C
-
- thumb_func_start sub_802621C
-sub_802621C: @ 802621C
- push {lr}
- movs r1, 0x1
- bl CreateTask
- ldr r1, =gUnknown_02022C98
- ldr r3, [r1]
- movs r2, 0
- strb r0, [r3, 0x4]
- ldr r0, [r1]
- strb r2, [r0, 0x10]
- ldr r0, [r1]
- strb r2, [r0, 0xC]
- ldr r0, [r1]
- strb r2, [r0, 0x14]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802621C
-
- thumb_func_start sub_8026240
-sub_8026240: @ 8026240
- push {r4,lr}
- ldr r2, =gUnknown_02022C98
- ldr r1, [r2]
- ldrb r3, [r1, 0x18]
- movs r4, 0
- strb r3, [r1, 0x1C]
- ldr r1, [r2]
- strb r0, [r1, 0x18]
- ldr r0, [r2]
- strb r4, [r0, 0x10]
- ldr r0, [r2]
- strb r4, [r0, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026240
-
- thumb_func_start sub_8026264
-sub_8026264: @ 8026264
- push {r4,lr}
- ldr r3, =gUnknown_02022C98
- ldr r1, [r3]
- ldrb r0, [r1, 0x14]
- lsrs r2, r0, 2
- adds r0, 0x1
- strb r0, [r1, 0x14]
- cmp r2, 0
- beq _080262B8
- ldr r3, [r3]
- ldrb r0, [r3, 0x14]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080262B8
- ldr r1, =gUnknown_082F7A94
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r0, [r0]
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080262A0
- movs r0, 0x1
- b _080262BA
- .pool
-_080262A0:
- lsls r4, r2, 3
- adds r1, r4, 0
- movs r0, 0x14
- bl SetGpuReg
- negs r4, r4
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x18
- adds r1, r4, 0
- bl SetGpuReg
-_080262B8:
- movs r0, 0
-_080262BA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026264
-
- thumb_func_start sub_80262C0
-sub_80262C0: @ 80262C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r2, =gUnknown_02022C98
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0x44
- adds r0, 0x48
- ldrb r5, [r0]
- ldrb r1, [r1]
- cmp r1, r5
- bcs _0802630C
- mov r8, r2
- ldr r0, =0x000032e0
- mov r12, r0
- movs r7, 0
- movs r6, 0x1
-_080262E2:
- mov r2, r8
- ldr r0, [r2]
- mov r2, r12
- adds r4, r0, r2
- ldr r2, =0x000032eb
- adds r0, r2
- adds r2, r0, r1
- movs r3, 0
- adds r0, r1, 0
- ands r0, r6
- cmp r0, 0
- bne _080262FC
- movs r3, 0x1
-_080262FC:
- strb r3, [r2]
- adds r0, r4, r1
- strb r7, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r5
- bcc _080262E2
-_0802630C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80262C0
-
- thumb_func_start sub_8026324
-sub_8026324: @ 8026324
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x44
- ldrb r0, [r0]
- str r0, [sp]
- adds r0, r1, 0
- adds r0, 0x48
- ldrb r0, [r0]
- str r0, [sp, 0x4]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08026358
- b _08026614
-_08026358:
- movs r6, 0
- ldr r0, [sp, 0x8]
- cmp r6, r0
- bcs _08026440
-_08026360:
- ldr r3, =gUnknown_02022C98
- lsls r0, r6, 4
- subs r1, r0, r6
- lsls r1, 2
- ldr r2, [r3]
- adds r1, r2
- ldr r4, =0x000031cc
- adds r4, r1
- mov r8, r4
- ldrb r1, [r4]
- mov r9, r0
- adds r0, r6, 0x1
- str r0, [sp, 0xC]
- cmp r1, 0
- beq _08026434
- adds r0, r2, 0
- adds r0, 0xA8
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08026434
- ldr r1, [sp]
- mov r10, r1
- ldr r2, [sp, 0x4]
- cmp r10, r2
- bcs _08026434
- adds r7, r3, 0
-_08026396:
- ldr r0, =gUnknown_082F449C
- add r0, r10
- ldrb r5, [r0]
- ldr r1, [r7]
- lsls r4, r5, 1
- adds r0, r1, 0
- adds r0, 0xF4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r6
- beq _08026434
- adds r0, r1, 0
- adds r0, 0xF5
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r6
- beq _08026434
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- adds r2, r5, 0
- bl sub_8026634
- cmp r0, 0x1
- bne _08026410
- movs r2, 0
- ldr r3, =gUnknown_02022C98
- mov r8, r4
-_080263CE:
- ldr r0, [r3]
- mov r4, r8
- adds r1, r2, r4
- adds r0, 0xF4
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08026404
- strb r6, [r1]
- ldr r0, [r3]
- adds r0, 0xA8
- adds r0, r6
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- b _08026434
- .pool
-_08026404:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bls _080263CE
- b _08026434
-_08026410:
- ldr r0, [r7]
- mov r2, r9
- subs r1, r2, r6
- lsls r1, 2
- adds r0, r1
- ldr r4, =0x000031d4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08026434
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, [sp, 0x4]
- cmp r10, r0
- bcc _08026396
-_08026434:
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r2, [sp, 0x8]
- cmp r6, r2
- bcc _08026360
-_08026440:
- ldr r4, [sp]
- mov r10, r4
- ldr r0, [sp, 0x4]
- cmp r10, r0
- bcc _0802644C
- b _08026614
-_0802644C:
- ldr r1, =gUnknown_02022C98
- mov r9, r1
-_08026450:
- movs r6, 0xFF
- ldr r0, =gUnknown_082F449C
- add r0, r10
- ldrb r5, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, 0xC4
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08026468
- b _08026602
-_08026468:
- adds r0, r5, 0
- bl sub_8026D8C
- mov r1, r9
- ldr r4, [r1]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r1, 0x90
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _0802648E
- movs r3, 0x2
-_0802648E:
- ldr r2, =gUnknown_082F7A88
- ldr r0, =0x000031b4
- adds r1, r4, r0
- adds r1, r5
- lsls r0, r3, 1
- adds r0, r3
- ldrb r1, [r1]
- adds r0, r1
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r4, 0
- adds r0, 0xD0
- adds r0, r5
- ldrb r0, [r0]
- subs r2, r1, r0
- cmp r2, 0x5
- bgt _080264BC
- adds r1, r4, 0
- adds r1, 0x9C
- adds r1, r5
- ldrb r0, [r1]
- adds r0, r2
- strb r0, [r1]
-_080264BC:
- mov r2, r9
- ldr r1, [r2]
- adds r1, 0x9C
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- movs r4, 0xFF
- ands r0, r4
- cmp r0, 0x5
- bhi _080264D6
- b _08026602
-_080264D6:
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x9C
- adds r0, r5
- strb r2, [r0]
- ldr r3, [r1]
- lsls r1, r5, 1
- adds r0, r3, 0
- adds r0, 0xF4
- adds r2, r0, r1
- ldrb r0, [r2]
- mov r8, r1
- cmp r0, 0xFF
- bne _08026518
- adds r0, r3, 0
- adds r0, 0xF5
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08026500
- b _08026602
-_08026500:
- b _08026528
- .pool
-_08026518:
- adds r0, r3, 0
- adds r0, 0xF5
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08026528
- ldrb r4, [r2]
- b _0802654E
-_08026528:
- mov r2, r9
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0xF4
- add r0, r8
- ldrb r7, [r0]
- adds r1, 0xF5
- add r1, r8
- ldrb r6, [r1]
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _0802654A
- adds r4, r7, 0
- b _0802654E
-_0802654A:
- adds r4, r6, 0
- adds r6, r7, 0
-_0802654E:
- mov r1, r9
- ldr r0, [r1]
- ldr r2, =0x000032eb
- adds r0, r2
- adds r0, r5
- movs r1, 0x7
- strb r1, [r0]
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x2
- strb r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, 0xA8
- adds r0, r4
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xB8
- adds r0, r5
- strb r4, [r0]
- ldr r1, [r2]
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r1, r0
- ldr r2, =0x000031d0
- adds r1, r2
- movs r0, 0x1
- strb r0, [r1]
- mov r2, r9
- ldr r1, [r2]
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x000031d4
- adds r1, r0
- movs r2, 0x1
- strb r2, [r1]
- mov r0, r9
- ldr r1, [r0]
- lsls r0, r4, 1
- adds r1, 0x86
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8026F1C
- movs r0, 0x1
- bl sub_8027234
- adds r0, r4, 0
- bl sub_8026D1C
- mov r1, r9
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0xE8
- adds r1, r5
- ldr r2, =0x000032e0
- adds r0, r2
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- mov r4, r9
- ldr r0, [r4]
- adds r0, r2
- adds r0, r5
- movs r1, 0x3
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0xF4
- add r1, r8
- ldrb r0, [r1]
- movs r2, 0xFF
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, 0xF5
- add r1, r8
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
-_08026602:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, [sp, 0x4]
- cmp r10, r4
- bcs _08026614
- b _08026450
-_08026614:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026324
-
- thumb_func_start sub_8026634
-sub_8026634: @ 8026634
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r7, 0
- ldr r2, =gUnknown_02022C98
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =0x000032e0
- adds r1, r0
- mov r12, r2
- cmp r3, 0x2
- beq _08026670
- cmp r3, 0x2
- bgt _08026676
- cmp r3, 0x1
- beq _08026674
- b _08026676
- .pool
-_08026670:
- movs r7, 0x1
- b _08026676
-_08026674:
- movs r7, 0x2
-_08026676:
- adds r0, r1, 0
- adds r0, 0xB
- adds r0, r6
- ldrb r0, [r0]
- subs r0, 0x6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080266D4
- ldr r0, =gUnknown_082F449C+0x113
- lsls r1, r4, 1
- adds r1, r4
- adds r1, r7, r1
- lsls r2, r5, 4
- subs r2, r5
- adds r1, r2
- adds r1, r0
- ldrb r1, [r1]
- cmp r6, r1
- bne _0802670A
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xC4
- adds r0, r6
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080266D0
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r0, r1, r0
- ldr r1, =0x000031d4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0802670A
- .pool
-_080266D0:
- movs r0, 0x1
- b _0802670C
-_080266D4:
- ldr r0, =gUnknown_082F449C+0x113
- lsls r1, r4, 1
- adds r1, r4
- adds r1, r7, r1
- lsls r2, r5, 4
- subs r2, r5
- adds r1, r2
- adds r1, r0
- ldrb r1, [r1]
- cmp r6, r1
- bne _0802670A
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xA8
- adds r0, r4
- movs r1, 0x4
- strb r1, [r0]
- mov r0, r12
- ldr r1, [r0]
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x000031d4
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
-_0802670A:
- movs r0, 0
-_0802670C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8026634
-
- thumb_func_start sub_802671C
-sub_802671C: @ 802671C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, =gUnknown_02022C98
- ldr r4, [r2]
- adds r0, r4, 0
- adds r0, 0x44
- ldrb r1, [r0]
- adds r0, 0x4
- ldrb r0, [r0]
- mov r9, r0
- movs r3, 0
- mov r10, r3
- movs r5, 0x90
- lsls r5, 1
- adds r0, r4, r5
- str r3, [r0]
- adds r5, r1, 0
- mov r0, r9
- subs r0, 0x1
- cmp r5, r0
- blt _0802674E
- b _08026974
-_0802674E:
- mov r8, r2
-_08026750:
- mov r0, r8
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0xC4
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08026762
- b _0802686C
-_08026762:
- movs r1, 0x90
- lsls r1, 1
- adds r0, r4, r1
- movs r2, 0x1
- str r2, [r0]
- ldr r1, =0x000032eb
- adds r0, r4, r1
- adds r6, r0, r5
- ldrb r0, [r6]
- cmp r0, 0x9
- bls _080267FC
- movs r7, 0
- movs r0, 0xA
- strb r0, [r6]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x3
- strb r1, [r0]
- mov r1, r8
- ldr r0, [r1]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- bne _080267AC
- strb r2, [r1]
- ldr r2, =0x000032e0
- adds r0, r4, r2
- adds r0, r5
- ldrb r0, [r0]
- adds r0, 0x4A
- bl PlaySE
-_080267AC:
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _080267C2
- mov r2, r10
- cmp r2, 0x1
- beq _080267C2
- b _08026964
-_080267C2:
- movs r0, 0x1
- mov r10, r0
- adds r0, r1, r6
- adds r0, r5
- strb r7, [r0]
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x40
- ldrb r0, [r1]
- cmp r0, 0x9
- bhi _080267DE
- adds r0, 0x1
- strb r0, [r1]
-_080267DE:
- movs r0, 0x3
- adds r1, r5, 0
- movs r2, 0
- bl sub_8026F1C
- movs r0, 0
- bl sub_8027234
- b _08026964
- .pool
-_080267FC:
- adds r0, r5, 0
- bl sub_8026D8C
- mov r2, r8
- ldr r7, [r2]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r1, 0x90
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08026822
- movs r3, 0x2
-_08026822:
- ldr r2, =gUnknown_082F7A88
- ldr r0, =0x000032e0
- adds r1, r4, r0
- adds r1, r5
- lsls r0, r3, 1
- adds r0, r3
- ldrb r1, [r1]
- adds r0, r1
- adds r0, r2
- ldrb r2, [r0]
- adds r1, r7, 0
- adds r1, 0xD0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r2
- bcc _0802685C
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xD0
- adds r0, r5
- strb r3, [r0]
-_0802685C:
- bl sub_8026324
- b _08026964
- .pool
-_0802686C:
- cmp r0, 0x2
- bne _080268F4
- movs r2, 0x90
- lsls r2, 1
- adds r0, r4, r2
- movs r6, 0x1
- str r6, [r0]
- adds r1, r4, 0
- adds r1, 0xDC
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _08026964
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xB8
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r1, =0x000031d0
- adds r2, r1
- strb r3, [r2]
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xDC
- adds r0, r5
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0xD0
- adds r0, r5
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0xC4
- adds r0, r5
- strb r3, [r0]
- ldr r1, =0x000032eb
- adds r0, r4, r1
- adds r0, r5
- strb r6, [r0]
- adds r0, r5, 0
- bl sub_8026D8C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- bl sub_8026DB0
- ldr r2, =0x000032e0
- adds r1, r4, r2
- adds r1, r5
- strb r0, [r1]
- b _08026964
- .pool
-_080268F4:
- cmp r0, 0x3
- bne _08026964
- adds r1, r4, 0
- adds r1, 0xDC
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _08026964
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08026964
- adds r0, r1, 0
- adds r0, 0xDC
- adds r0, r5
- strb r2, [r0]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xD0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- strb r2, [r0]
- ldr r2, =0x000032eb
- adds r0, r4, r2
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0xE8
- adds r1, r5
- subs r2, 0xB
- adds r4, r2
- adds r4, r5
- ldrb r0, [r4]
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8026D8C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- bl sub_8026DB0
- strb r0, [r4]
-_08026964:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r9
- subs r0, 0x1
- cmp r5, r0
- bge _08026974
- b _08026750
-_08026974:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802671C
-
- thumb_func_start sub_8026988
-sub_8026988: @ 8026988
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x44
- adds r0, 0x48
- ldrb r0, [r0]
- mov r8, r0
- ldrb r6, [r1]
- cmp r6, r8
- bcs _08026A7A
- ldr r0, =gUnknown_082F449C
- mov r9, r0
-_080269A8:
- ldr r0, =gUnknown_02022C98
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- ldr r2, =0x000031a0
- adds r0, r2
- adds r7, r3, r0
- movs r0, 0xB
- adds r2, r1, 0
- muls r2, r0
- adds r2, r6, r2
- adds r3, 0x24
- ldrb r1, [r3]
- subs r1, 0x1
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- subs r0, r1
- adds r2, r0
- add r2, r9
- ldrb r4, [r2]
- adds r0, r7, 0
- adds r0, 0x1F
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080269FC
- adds r0, r6, 0
- movs r1, 0
- bl sub_8028BF8
- b _08026A04
- .pool
-_080269FC:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8028BF8
-_08026A04:
- adds r0, r7, 0
- adds r0, 0x1F
- adds r5, r0, r4
- ldrb r0, [r5]
- cmp r0, 0x9
- bls _08026A30
- adds r0, r7, 0
- adds r0, 0x14
- adds r0, r4
- ldrb r1, [r0]
- adds r1, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8028CA4
- ldrb r1, [r5]
- lsls r1, 25
- movs r0, 0xFF
- lsls r0, 24
- adds r1, r0
- b _08026A52
-_08026A30:
- adds r0, r7, 0
- adds r0, 0x14
- adds r3, r0, r4
- ldrb r0, [r3]
- cmp r0, 0x3
- bne _08026A5C
- movs r0, 0x7
- strb r0, [r5]
- adds r0, r6, 0
- movs r1, 0x6
- bl sub_8028CA4
- ldrb r1, [r5]
- lsls r1, 25
- movs r2, 0xFF
- lsls r2, 24
- adds r1, r2
-_08026A52:
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8028C7C
- b _08026A70
-_08026A5C:
- ldrb r1, [r3]
- adds r0, r6, 0
- bl sub_8028CA4
- ldrb r1, [r5]
- lsls r1, 25
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8028C7C
-_08026A70:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r8
- bcc _080269A8
-_08026A7A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8026988
-
- thumb_func_start sub_8026A88
-sub_8026A88: @ 8026A88
- push {r4-r6,lr}
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _08026ABA
- adds r6, r1, 0
-_08026A9A:
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- ldr r1, [r6]
- adds r0, r1
- ldr r1, =0x000031cc
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80286B4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026A9A
-_08026ABA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026A88
-
- thumb_func_start sub_8026AC8
-sub_8026AC8: @ 8026AC8
- push {r4,r5,lr}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _08026AEA
-_08026AD8:
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80286B4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026AD8
-_08026AEA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026AC8
-
- thumb_func_start sub_8026AF4
-sub_8026AF4: @ 8026AF4
- push {lr}
- bl sub_8026988
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08026B10
- bl sub_8026AC8
- b _08026B14
- .pool
-_08026B10:
- bl sub_8026A88
-_08026B14:
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- bl sub_80288D4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026AF4
-
- thumb_func_start sub_8026B28
-sub_8026B28: @ 8026B28
- push {lr}
- bl sub_8026988
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08026B44
- bl sub_8026AC8
- b _08026B48
- .pool
-_08026B44:
- bl sub_8026A88
-_08026B48:
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- bl sub_80288D4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026B28
-
- thumb_func_start sub_8026B5C
-sub_8026B5C: @ 8026B5C
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x4
- bhi _08026BB4
- lsls r0, 2
- ldr r1, =_08026B78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08026B78:
- .4byte _08026B8C
- .4byte _08026B94
- .4byte _08026B9C
- .4byte _08026BA4
- .4byte _08026BAC
-_08026B8C:
- movs r0, 0x4
- strb r0, [r3]
- movs r0, 0x7
- b _08026BB2
-_08026B94:
- movs r0, 0x3
- strb r0, [r3]
- movs r0, 0x8
- b _08026BB2
-_08026B9C:
- movs r0, 0x2
- strb r0, [r3]
- movs r0, 0x9
- b _08026BB2
-_08026BA4:
- movs r0, 0x1
- strb r0, [r3]
- movs r0, 0xA
- b _08026BB2
-_08026BAC:
- movs r0, 0
- strb r0, [r3]
- movs r0, 0xB
-_08026BB2:
- strb r0, [r2]
-_08026BB4:
- pop {r0}
- bx r0
- thumb_func_end sub_8026B5C
-
- thumb_func_start sub_8026BB8
-sub_8026BB8: @ 8026BB8
- push {r4-r6,lr}
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0x1
- cmp r4, r5
- bcs _08026C1E
- adds r6, r1, 0
-_08026BCA:
- ldr r0, [r6]
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026BEC
- adds r0, r4, 0
- bl sub_8027DFC
- ldr r1, [r6]
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
-_08026BEC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026BCA
- cmp r4, r5
- bcs _08026C1E
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r0, r2
-_08026C04:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026C14
- movs r0, 0
- b _08026C20
- .pool
-_08026C14:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026C04
-_08026C1E:
- movs r0, 0x1
-_08026C20:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8026BB8
-
- thumb_func_start sub_8026C28
-sub_8026C28: @ 8026C28
- push {r4,lr}
- movs r1, 0
- ldr r4, =gUnknown_02022C98
- movs r3, 0xAC
- lsls r3, 1
- movs r2, 0
-_08026C34:
- ldr r0, [r4]
- adds r0, r3
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _08026C34
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026C28
-
- thumb_func_start sub_8026C50
-sub_8026C50: @ 8026C50
- push {r4,lr}
- ldr r3, =gUnknown_02022C98
- ldr r1, [r3]
- adds r2, r1, 0
- adds r2, 0x40
- ldrb r0, [r2]
- cmp r0, 0x9
- bls _08026C88
- movs r4, 0x90
- lsls r4, 1
- adds r0, r1, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _08026C88
- movs r0, 0xA
- strb r0, [r2]
- ldr r0, [r3]
- movs r1, 0x96
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08026C88
- movs r0, 0x1
- b _08026C8A
- .pool
-_08026C88:
- movs r0, 0
-_08026C8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026C50
-
- thumb_func_start sub_8026C90
-sub_8026C90: @ 8026C90
- push {r4-r6,lr}
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x40
- ldrb r0, [r2]
- cmp r0, 0x9
- bls _08026D14
- adds r0, r1, 0
- adds r0, 0x44
- ldrb r3, [r0]
- adds r0, 0x4
- ldrb r5, [r0]
- movs r0, 0xA
- strb r0, [r2]
- ldr r4, [r4]
- mov r12, r4
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- beq _08026D14
- adds r4, r3, 0
- cmp r4, r5
- bcs _08026D04
- mov r0, r12
- adds r0, 0x28
- ldrb r3, [r0]
- lsls r1, r3, 4
- subs r1, r3
- lsls r1, 2
- ldr r6, =gUnknown_082F449C
- subs r0, 0x4
- ldrb r2, [r0]
- subs r2, 0x1
- add r1, r12
- movs r0, 0xB
- muls r3, r0
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 3
- subs r2, r0, r2
- ldr r0, =0x000031bf
- adds r1, r0
-_08026CEA:
- adds r0, r4, r3
- adds r0, r2
- adds r0, r6
- ldrb r0, [r0]
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08026D14
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08026CEA
-_08026D04:
- movs r0, 0x1
- b _08026D16
- .pool
-_08026D14:
- movs r0, 0
-_08026D16:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8026C90
-
- thumb_func_start sub_8026D1C
-sub_8026D1C: @ 8026D1C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_082F7A9C
- mov r8, r0
- ldr r0, =gUnknown_02022C98
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0x90
- adds r0, r5
- mov r9, r0
- ldrb r7, [r0]
- adds r0, r7, 0
- movs r1, 0x7
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- add r4, r8
- adds r0, r7, 0
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldrb r4, [r4]
- adds r0, r4
- lsls r0, 24
- lsls r5, 1
- adds r6, 0x86
- adds r6, r5
- ldrh r1, [r6]
- lsrs r0, 24
- cmp r1, r0
- bcc _08026D76
- adds r0, r7, 0x1
- mov r1, r9
- strb r0, [r1]
-_08026D76:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8026D1C
-
- thumb_func_start sub_8026D8C
-sub_8026D8C: @ 8026D8C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_082F449C+0x1AC
- ldr r1, =gUnknown_02022C98
- ldr r1, [r1]
- adds r1, 0x24
- ldrb r1, [r1]
- subs r1, 0x1
- movs r2, 0xB
- muls r1, r2
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8026D8C
-
- thumb_func_start sub_8026DB0
-sub_8026DB0: @ 8026DB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, =gUnknown_02022C98
- ldr r1, [r4]
- adds r1, 0x24
- ldrb r2, [r1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =gUnknown_082F449C+0x15E
- lsls r1, r0, 1
- adds r1, r0
- lsls r0, r2, 4
- subs r0, r2
- adds r1, r0
- adds r0, r1, r3
- ldrb r0, [r0]
- mov r12, r0
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r7, [r0]
- adds r3, 0x2
- adds r1, r3
- ldrb r1, [r1]
- mov r8, r1
- movs r3, 0
- ldr r1, =gUnknown_082F449C+0x1E3
- lsls r0, r2, 2
- adds r2, r0, r2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08026E18
- adds r6, r1, 0
-_08026DFE:
- adds r0, r3, r2
- adds r0, r6
- ldrb r0, [r0]
- cmp r5, r0
- beq _08026E3C
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026DFE
-_08026E18:
- ldr r0, [r4]
- adds r0, 0x90
- mov r1, r12
- adds r2, r0, r1
- adds r1, r0, r7
- ldrb r0, [r2]
- ldrb r3, [r1]
- cmp r0, r3
- bls _08026E46
- adds r1, r0, 0
- b _08026E48
- .pool
-_08026E3C:
- ldr r0, [r4]
- adds r0, 0x90
- adds r0, r7
- ldrb r0, [r0]
- b _08026E5A
-_08026E46:
- ldrb r1, [r1]
-_08026E48:
- ldr r0, [r4]
- adds r0, 0x90
- mov r2, r8
- adds r4, r0, r2
- ldrb r0, [r4]
- cmp r0, r1
- bls _08026E58
- adds r1, r0, 0
-_08026E58:
- adds r0, r1, 0
-_08026E5A:
- adds r1, r5, 0
- bl sub_8026E70
- lsls r0, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8026DB0
-
- thumb_func_start sub_8026E70
-sub_8026E70: @ 8026E70
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_02022C98
- ldr r2, [r2]
- adds r2, 0xE8
- adds r2, r1
- ldrb r4, [r2]
- movs r1, 0x7
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bhi _08026EDE
- lsls r0, 2
- ldr r1, =_08026EA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08026EA4:
- .4byte _08026EDE
- .4byte _08026ED6
- .4byte _08026EE2
- .4byte _08026EC0
- .4byte _08026EC6
- .4byte _08026ECC
- .4byte _08026ED2
-_08026EC0:
- cmp r4, 0
- beq _08026ED6
- b _08026EDE
-_08026EC6:
- cmp r4, 0
- beq _08026EE2
- b _08026EDE
-_08026ECC:
- cmp r4, 0x2
- beq _08026ED6
- b _08026EE2
-_08026ED2:
- cmp r4, 0
- bne _08026EDA
-_08026ED6:
- movs r0, 0x1
- b _08026EE4
-_08026EDA:
- cmp r4, 0x1
- beq _08026EE2
-_08026EDE:
- movs r0, 0
- b _08026EE4
-_08026EE2:
- movs r0, 0x2
-_08026EE4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026E70
-
- thumb_func_start sub_8026EEC
-sub_8026EEC: @ 8026EEC
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- adds r4, r0, 0
- b _08026EFE
-_08026EF6:
- ldrh r0, [r4, 0x6]
- adds r6, r0
- adds r4, 0xC
- adds r5, 0x1
-_08026EFE:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _08026EF6
- cmp r6, 0xA
- bgt _08026F12
- movs r0, 0
- b _08026F14
-_08026F12:
- movs r0, 0x1
-_08026F14:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8026EEC
-
- thumb_func_start sub_8026F1C
-sub_8026F1C: @ 8026F1C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r6, =gUnknown_02022C98
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r5, [r0]
- cmp r3, 0
- bge _08026F3A
- b _0802722C
-_08026F3A:
- cmp r3, 0x2
- ble _08026F48
- cmp r3, 0x3
- beq _08026F78
- b _0802722C
- .pool
-_08026F48:
- ldr r3, =0x000031b4
- adds r0, r1, r3
- adds r0, r4
- ldrb r4, [r0]
- lsls r4, 1
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0
- adds r0, r1, 0
- adds r0, 0x4A
- adds r0, r4
- ldrh r0, [r0]
- ldr r1, =0x00004e20
- bl sub_8027A28
- ldr r1, [r6]
- adds r1, 0x4A
- adds r1, r4
- b _0802722A
- .pool
-_08026F78:
- adds r0, r1, 0
- adds r0, 0x4A
- bl sub_8026EEC
- cmp r0, 0
- beq _08026F86
- b _0802722C
-_08026F86:
- cmp r5, 0x3
- bne _08026F8C
- b _08027154
-_08026F8C:
- cmp r5, 0x3
- bgt _08026F98
- cmp r5, 0x2
- bne _08026F96
- b _080271E8
-_08026F96:
- b _0802722C
-_08026F98:
- cmp r5, 0x4
- bne _08026F9E
- b _08027090
-_08026F9E:
- cmp r5, 0x5
- beq _08026FA4
- b _0802722C
-_08026FA4:
- cmp r4, 0x9
- bls _08026FAA
- b _0802722C
-_08026FAA:
- lsls r0, r4, 2
- ldr r1, =_08026FB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08026FB8:
- .4byte _08026FE0
- .4byte _08026FF8
- .4byte _08027004
- .4byte _0802701C
- .4byte _08027028
- .4byte _08027040
- .4byte _0802704C
- .4byte _08027060
- .4byte _0802706C
- .4byte _08027084
-_08026FE0:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x74
- b _08027226
- .pool
-_08026FF8:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x74
- b _08027226
- .pool
-_08027004:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x74
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x80
- b _08027226
- .pool
-_0802701C:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x80
- b _08027226
- .pool
-_08027028:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x80
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08027226
- .pool
-_08027040:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x50
- b _08027226
- .pool
-_0802704C:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
- .pool
-_08027060:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08027224
- .pool
-_0802706C:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08027226
- .pool
-_08027084:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x68
- b _08027226
- .pool
-_08027090:
- subs r0, r4, 0x1
- cmp r0, 0x7
- bls _08027098
- b _0802722C
-_08027098:
- lsls r0, 2
- ldr r1, =_080270A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080270A8:
- .4byte _080270C8
- .4byte _080270E0
- .4byte _080270EC
- .4byte _08027104
- .4byte _08027110
- .4byte _08027124
- .4byte _08027130
- .4byte _08027148
-_080270C8:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x74
- b _08027226
- .pool
-_080270E0:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x74
- b _08027226
- .pool
-_080270EC:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x74
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08027226
- .pool
-_08027104:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x50
- b _08027226
- .pool
-_08027110:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
- .pool
-_08027124:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08027224
- .pool
-_08027130:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08027226
- .pool
-_08027148:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x68
- b _08027226
- .pool
-_08027154:
- subs r0, r4, 0x2
- cmp r0, 0x5
- bhi _0802722C
- lsls r0, 2
- ldr r1, =_08027168
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08027168:
- .4byte _08027180
- .4byte _08027198
- .4byte _080271A4
- .4byte _080271BC
- .4byte _080271C8
- .4byte _080271DC
-_08027180:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08027226
- .pool
-_08027198:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x68
- b _08027226
- .pool
-_080271A4:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08027226
- .pool
-_080271BC:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x50
- b _08027226
- .pool
-_080271C8:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
- .pool
-_080271DC:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- b _08027224
- .pool
-_080271E8:
- cmp r4, 0x4
- beq _0802720E
- cmp r4, 0x4
- bgt _080271F6
- cmp r4, 0x3
- beq _08027200
- b _0802722C
-_080271F6:
- cmp r4, 0x5
- beq _08027214
- cmp r4, 0x6
- beq _08027222
- b _0802722C
-_08027200:
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
-_0802720E:
- ldr r1, [r6]
- adds r1, 0x50
- b _08027226
-_08027214:
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08027224
-_08027222:
- ldr r1, [r6]
-_08027224:
- adds r1, 0x5C
-_08027226:
- ldrh r0, [r1]
- adds r0, 0x1
-_0802722A:
- strh r0, [r1]
-_0802722C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8026F1C
-
- thumb_func_start sub_8027234
-sub_8027234: @ 8027234
- push {r4,r5,lr}
- adds r1, r0, 0
- ldr r4, =gUnknown_02022C98
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _0802729E
- cmp r1, 0x1
- bne _08027280
- movs r5, 0x89
- lsls r5, 1
- adds r1, r3, r5
- ldrh r0, [r1]
- adds r2, r0, 0x1
- strh r2, [r1]
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r3, r0
- lsls r0, r2, 16
- lsrs r0, 16
- ldrh r3, [r1]
- cmp r0, r3
- bls _08027268
- strh r2, [r1]
-_08027268:
- ldr r0, [r4]
- adds r2, r0, r5
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0802729E
- strh r1, [r2]
- b _0802729E
- .pool
-_08027280:
- movs r2, 0x89
- lsls r2, 1
- adds r0, r3, r2
- movs r5, 0x8A
- lsls r5, 1
- adds r1, r3, r5
- ldrh r0, [r0]
- ldrh r3, [r1]
- cmp r0, r3
- bls _08027296
- strh r0, [r1]
-_08027296:
- ldr r0, [r4]
- adds r0, r2
- movs r1, 0
- strh r1, [r0]
-_0802729E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8027234
-
- thumb_func_start sub_80272A4
-sub_80272A4: @ 80272A4
- push {r4,r5,lr}
- movs r3, 0
- ldr r2, =gUnknown_02022C98
- ldr r0, [r2]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080272DC
- adds r5, r2, 0
- movs r4, 0x8A
- lsls r4, 1
-_080272BA:
- ldr r2, [r5]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x54
- adds r1, r0
- adds r0, r2, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, 0x24
- ldrb r2, [r2]
- cmp r3, r2
- bcc _080272BA
-_080272DC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80272A4
-
- thumb_func_start sub_80272E8
-sub_80272E8: @ 80272E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r7, =gUnknown_02022C98
- movs r4, 0
- ldr r0, =0x000031bf
- mov r10, r0
-_080272FC:
- movs r2, 0
- lsls r6, r5, 4
- lsls r1, r5, 1
- mov r8, r1
- lsls r0, r5, 3
- mov r12, r0
- adds r1, r5, 0x1
- mov r9, r1
- subs r0, r6, r5
- lsls r3, r0, 2
-_08027310:
- ldr r0, [r7]
- adds r1, r2, r3
- add r0, r10
- adds r0, r1
- strb r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _08027310
- ldr r0, [r7]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- ldr r2, =0x000031cc
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r7]
- adds r0, r1
- ldr r1, =0x000031d0
- adds r0, r1
- strb r4, [r0]
- ldr r0, [r7]
- adds r0, 0x90
- adds r0, r5
- strb r4, [r0]
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x86
- add r0, r8
- strh r4, [r0]
- add r1, r12
- ldr r2, =0x00003308
- adds r1, r2
- strb r4, [r1]
- ldr r2, [r7]
- ldr r1, =0x0000330c
- adds r0, r2, r1
- add r0, r12
- str r4, [r0]
- mov r0, r8
- adds r1, r0, r5
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x4A
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x4E
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x50
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x52
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r1
- strh r4, [r0]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080272FC
- ldr r2, =gUnknown_02022C98
- ldr r0, [r2]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- movs r1, 0x89
- lsls r1, 1
- adds r3, r0, r1
- movs r1, 0
- strh r2, [r3]
- adds r0, 0x40
- strb r1, [r0]
- bl sub_8026A88
- bl sub_8026988
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80272E8
-
- thumb_func_start sub_80273F0
-sub_80273F0: @ 80273F0
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0802740C
- cmp r0, 0x5
- beq _08027410
- b _08027412
- .pool
-_0802740C:
- movs r4, 0x1
- b _08027412
-_08027410:
- movs r4, 0x2
-_08027412:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- lsls r1, r4, 2
- ldr r5, =gUnknown_02022C98
- ldr r2, =gUnknown_082F7AA4
- adds r1, r4
- lsls r1, 1
- adds r0, r1
- adds r0, r2
- ldrb r2, [r0]
-_08027436:
- ldr r1, [r5]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r1, 0x52
- adds r1, r0
- strh r2, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _08027436
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80273F0
-
- thumb_func_start sub_802745C
-sub_802745C: @ 802745C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r2, [r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x4A
- adds r0, r1
- ldrh r3, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1
- ldrh r0, [r0]
- adds r2, 0x4E
- adds r2, r1
- adds r3, r0
- ldrh r2, [r2]
- adds r0, r3, r2
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0802748E
- adds r0, r1, 0
-_0802748E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802745C
-
- thumb_func_start sub_802749C
-sub_802749C: @ 802749C
- push {r4-r6,lr}
- ldr r5, =gUnknown_02022C98
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_802745C
- ldr r1, =0x0000270f
- bl sub_8027A38
- adds r4, r0, 0
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_80276C0
- ldr r1, =0x000f4236
- bl sub_8027A38
- adds r2, r0, 0
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- movs r6, 0x83
- lsls r6, 2
- adds r1, r0, r6
- ldr r0, [r1]
- cmp r0, r2
- bcs _080274D6
- str r2, [r1]
-_080274D6:
- ldr r0, [r3]
- movs r2, 0x84
- lsls r2, 2
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, r4
- bcs _080274E6
- strh r4, [r1]
-_080274E6:
- ldr r0, [r3]
- ldr r6, =0x00000212
- adds r2, r0, r6
- ldr r0, [r5]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- ldrh r1, [r0]
- ldrh r0, [r2]
- cmp r0, r1
- bcs _080274FE
- strh r1, [r2]
-_080274FE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802749C
-
- thumb_func_start sub_8027518
-sub_8027518: @ 8027518
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r0, [r1]
- adds r0, 0x9B
- ldrb r6, [r0]
- movs r3, 0x3
- adds r5, r1, 0
- adds r4, r5, 0
-_0802752C:
- ldr r0, [r4]
- adds r0, 0x98
- adds r2, r0, r3
- subs r1, r3, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r3, 0
- bne _0802752C
- ldr r0, [r5]
- adds r0, 0x98
- strb r7, [r0]
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8027518
-
- thumb_func_start sub_8027554
-sub_8027554: @ 8027554
- push {r4,lr}
- ldr r4, =gUnknown_02022C98
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, 0x88
- adds r2, r0, r1
- ldrb r0, [r2]
- cmp r0, 0
- bne _080275FC
- ldr r0, =gMain
- ldrh r2, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _08027594
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, =0x000031cc
- adds r0, r1
- movs r1, 0x2
- b _080275CA
- .pool
-_08027594:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _080275B0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, =0x000031cc
- adds r0, r1
- movs r1, 0x3
- b _080275CA
- .pool
-_080275B0:
- movs r0, 0x10
- ands r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _080275E8
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, =0x000031cc
- adds r0, r1
- movs r1, 0x1
-_080275CA:
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x28
- adds r0, 0xB0
- ldrb r1, [r1]
- adds r0, r1
- movs r1, 0x6
- strb r1, [r0]
- movs r0, 0xD4
- bl PlaySE
- b _08027600
- .pool
-_080275E8:
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, =0x000031cc
- adds r0, r1
- strb r2, [r0]
- b _08027600
- .pool
-_080275FC:
- subs r0, 0x1
- strb r0, [r2]
-_08027600:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027554
-
- thumb_func_start sub_8027608
-sub_8027608: @ 8027608
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r2, [r0]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x000031cc
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8027608
-
- thumb_func_start sub_802762C
-sub_802762C: @ 802762C
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, 0x52
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_802762C
-
- thumb_func_start sub_8027650
-sub_8027650: @ 8027650
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8027650
-
- thumb_func_start sub_8027660
-sub_8027660: @ 8027660
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802768C
- ldr r0, =gUnknown_02022C98
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 2
- ldr r2, =0x000031a0
- adds r1, r2
- ldr r0, [r0]
- b _08027694
- .pool
-_0802768C:
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
-_08027694:
- adds r0, r1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8027660
-
- thumb_func_start sub_80276A0
-sub_80276A0: @ 80276A0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r2, =gUnknown_02022C98
- ldr r3, [r2]
- lsrs r1, 23
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- adds r3, 0x4A
- adds r3, r1
- ldrh r0, [r3]
- bx lr
- .pool
- thumb_func_end sub_80276A0
-
- thumb_func_start sub_80276C0
-sub_80276C0: @ 80276C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- movs r3, 0
- ldr r0, =gUnknown_02022C98
- mov r9, r0
- ldr r2, =gUnknown_082F7B24
- mov r10, r2
- ldr r2, [r0]
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- str r0, [sp]
- adds r6, r2, 0
- adds r6, 0x4A
- mov r12, r1
- mov r8, r10
-_080276EE:
- lsls r1, r3, 1
- ldr r7, [sp]
- adds r0, r1, r7
- adds r0, r6, r0
- ldrh r2, [r0]
- add r1, r8
- movs r7, 0
- ldrsh r0, [r1, r7]
- muls r0, r2
- adds r5, r0
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _080276EE
- mov r0, r9
- ldr r1, [r0]
- mov r2, r12
- adds r0, r2, r4
- lsls r0, 2
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- mov r3, r10
- movs r7, 0x6
- ldrsh r0, [r3, r7]
- muls r0, r1
- cmp r5, r0
- bls _08027734
- subs r0, r5, r0
- b _08027736
- .pool
-_08027734:
- movs r0, 0
-_08027736:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80276C0
-
- thumb_func_start sub_8027748
-sub_8027748: @ 8027748
- push {r4-r6,lr}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r6, [r0]
- movs r0, 0
- bl sub_80276C0
- adds r5, r0, 0
- movs r4, 0x1
- cmp r4, r6
- bcs _08027776
-_08027760:
- adds r0, r4, 0
- bl sub_80276C0
- cmp r0, r5
- bls _0802776C
- adds r5, r0, 0
-_0802776C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _08027760
-_08027776:
- ldr r1, =0x000f4236
- adds r0, r5, 0
- bl sub_8027A38
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8027748
-
- thumb_func_start sub_802778C
-sub_802778C: @ 802778C
- push {r4,r5,lr}
- lsls r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r2, [r1]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r5, [r1]
- lsrs r4, r0, 23
- adds r2, 0x4A
- adds r0, r2, r4
- ldrh r3, [r0]
- movs r1, 0
- cmp r1, r5
- bcs _080277C4
-_080277A8:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- adds r0, r2, r0
- ldrh r0, [r0]
- cmp r0, r3
- bls _080277BA
- adds r3, r0, 0
-_080277BA:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r5
- bcc _080277A8
-_080277C4:
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802778C
-
- thumb_func_start sub_80277D0
-sub_80277D0: @ 80277D0
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0x1
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _080277FE
-_080277E8:
- adds r0, r4, 0
- bl sub_80276C0
- lsls r1, r4, 2
- add r1, sp
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080277E8
-_080277FE:
- lsls r7, 2
- mov r12, r7
- cmp r6, 0
- beq _08027838
- subs r7, r5, 0x1
-_08027808:
- movs r6, 0
- movs r4, 0
- cmp r6, r7
- bge _08027834
- adds r5, r7, 0
-_08027812:
- lsls r0, r4, 2
- mov r2, sp
- adds r1, r2, r0
- adds r4, 0x1
- lsls r0, r4, 2
- adds r3, r2, r0
- ldr r0, [r1]
- ldr r2, [r3]
- cmp r0, r2
- bcs _0802782C
- str r2, [r1]
- str r0, [r3]
- movs r6, 0x1
-_0802782C:
- lsls r0, r4, 24
- lsrs r4, r0, 24
- cmp r4, r5
- blt _08027812
-_08027834:
- cmp r6, 0
- bne _08027808
-_08027838:
- mov r0, sp
- add r0, r12
- ldr r0, [r0]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80277D0
-
- thumb_func_start sub_802784C
-sub_802784C: @ 802784C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r10, r0
- mov r8, r0
- mov r9, r0
- ldr r6, =gUnknown_02022C98
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r5, [r0]
- bl sub_8027748
- bl sub_8027748
- cmp r0, 0
- bne _080278A0
- movs r4, 0
- cmp r9, r5
- bcs _080278A0
- adds r2, r6, 0
- ldr r1, =0x00003308
- mov r12, r1
- movs r7, 0
- movs r6, 0x4
- ldr r3, =0x0000330c
-_08027884:
- ldr r0, [r2]
- lsls r1, r4, 3
- adds r0, r1
- add r0, r12
- strb r6, [r0]
- ldr r0, [r2]
- adds r0, r3
- adds r0, r1
- str r7, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08027884
-_080278A0:
- movs r4, 0
- cmp r4, r5
- bcs _080278CA
-_080278A6:
- adds r0, r4, 0
- bl sub_80276C0
- ldr r1, =0x000f4236
- bl sub_8027A38
- ldr r1, =gUnknown_02022C98
- ldr r1, [r1]
- lsls r2, r4, 3
- ldr r3, =0x0000330c
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080278A6
-_080278CA:
- mov r0, r10
- bl sub_80277D0
- adds r6, r0, 0
- mov r3, r8
- movs r4, 0
- cmp r4, r5
- bcs _08027916
- ldr r7, =gUnknown_02022C98
- mov r10, r7
-_080278DE:
- mov r0, r10
- ldr r2, [r0]
- lsls r1, r4, 3
- ldr r7, =0x0000330c
- adds r0, r2, r7
- adds r0, r1
- ldr r0, [r0]
- cmp r6, r0
- bne _0802790C
- adds r0, r2, r1
- ldr r1, =0x00003308
- adds r0, r1
- strb r3, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_0802790C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _080278DE
-_08027916:
- mov r10, r8
- cmp r9, r5
- bcc _080278CA
- movs r0, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802784C
-
- thumb_func_start sub_802793C
-sub_802793C: @ 802793C
- lsls r1, 24
- ldr r2, =gUnknown_02022C98
- ldr r2, [r2]
- lsrs r1, 21
- ldr r3, =0x00003308
- adds r2, r3
- adds r2, r1
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0]
- str r2, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end sub_802793C
-
- thumb_func_start sub_802795C
-sub_802795C: @ 802795C
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r6, r0, 24
- movs r7, 0
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- mov r0, sp
- movs r1, 0
- movs r2, 0x14
- bl memset
- movs r4, 0
- cmp r7, r5
- bcs _08027994
-_0802797E:
- adds r0, r4, 0
- bl sub_80276C0
- lsls r1, r4, 2
- add r1, sp
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0802797E
-_08027994:
- lsls r0, r6, 2
- add r0, sp
- ldr r1, [r0]
- movs r4, 0
-_0802799C:
- cmp r4, r6
- beq _080279B0
- lsls r0, r4, 2
- add r0, sp
- ldr r0, [r0]
- cmp r1, r0
- bcs _080279B0
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080279B0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0802799C
- adds r0, r7, 0
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802795C
-
- thumb_func_start sub_80279C8
-sub_80279C8: @ 80279C8
- push {r4-r6,lr}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x28
- ldrb r4, [r0]
- bl sub_802762C
- lsls r0, 16
- lsrs r5, r0, 16
- adds r6, r5, 0
- adds r0, r4, 0
- bl sub_80276C0
- adds r4, r0, 0
- bl sub_8027748
- cmp r4, r0
- beq _080279F4
- movs r0, 0x3
- b _08027A22
- .pool
-_080279F4:
- adds r0, r5, 0
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- bne _08027A06
- movs r0, 0x2
- b _08027A22
-_08027A06:
- adds r0, r6, 0
- movs r1, 0x1
- bl AddBagItem
- adds r0, r6, 0
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- beq _08027A20
- movs r0, 0
- b _08027A22
-_08027A20:
- movs r0, 0x1
-_08027A22:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80279C8
-
- thumb_func_start sub_8027A28
-sub_8027A28: @ 8027A28
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- cmp r2, r0
- bcs _08027A34
- adds r0, r2, 0x1
-_08027A34:
- pop {r1}
- bx r1
- thumb_func_end sub_8027A28
-
- thumb_func_start sub_8027A38
-sub_8027A38: @ 8027A38
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- cmp r2, r0
- bcs _08027A44
- adds r0, r2, 0
-_08027A44:
- pop {r1}
- bx r1
- thumb_func_end sub_8027A38
-
- thumb_func_start sub_8027A48
-sub_8027A48: @ 8027A48
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02022C98
- ldr r1, [r1]
- adds r1, 0x34
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8027A48
-
- thumb_func_start sub_8027A5C
-sub_8027A5C: @ 8027A5C
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gSpecialVar_Result
-_08027A62:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _08027A94
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0x55
- bne _08027A94
- movs r0, 0x1
- strh r0, [r6]
- b _08027AA0
- .pool
-_08027A94:
- adds r5, 0x1
- cmp r5, 0x5
- ble _08027A62
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_08027AA0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027A5C
-
- thumb_func_start sub_8027AAC
-sub_8027AAC: @ 8027AAC
- push {r4,lr}
- ldr r4, =sub_8027ACC
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027AAC
-
- thumb_func_start sub_8027ACC
-sub_8027ACC: @ 8027ACC
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- beq _08027B94
- cmp r0, 0x1
- bgt _08027AF4
- cmp r0, 0
- beq _08027AFE
- b _08027BE2
- .pool
-_08027AF4:
- cmp r0, 0x2
- beq _08027BA0
- cmp r0, 0x3
- beq _08027BC8
- b _08027BE2
-_08027AFE:
- ldr r0, =gUnknown_082F7B2C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gText_BerryPickingRecords
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- movs r6, 0
- ldr r5, =gUnknown_082F7B34
-_08027B18:
- ldr r1, [r5]
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r0, 0x32
- cmp r0, r4
- ble _08027B2A
- adds r4, r0, 0
-_08027B2A:
- adds r5, 0x4
- adds r6, 0x1
- cmp r6, 0x2
- bls _08027B18
- adds r0, r4, 0x7
- cmp r0, 0
- bge _08027B3A
- adds r0, 0x7
-_08027B3A:
- asrs r4, r0, 3
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08027B46
- adds r4, 0x1
-_08027B46:
- movs r1, 0x1E
- subs r1, r4
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- lsls r1, 24
- lsrs r1, 16
- ldr r2, =0xffff00ff
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- lsls r2, r4, 24
- ldr r1, =0x00ffffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- mov r0, sp
- bl AddWindow
- strh r0, [r7, 0x2]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_8027BEC
- ldrb r0, [r7, 0x2]
- movs r1, 0x3
- b _08027BB6
- .pool
-_08027B94:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08027BE2
- b _08027BBA
-_08027BA0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08027BE2
- ldrb r0, [r7, 0x2]
- bl rbox_fill_rectangle
- ldrb r0, [r7, 0x2]
- movs r1, 0x1
-_08027BB6:
- bl CopyWindowToVram
-_08027BBA:
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
- b _08027BE2
- .pool
-_08027BC8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08027BE2
- ldrb r0, [r7, 0x2]
- bl RemoveWindow
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_08027BE2:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8027ACC
-
- thumb_func_start sub_8027BEC
-sub_8027BEC: @ 8027BEC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r1, [sp, 0x18]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r2, 0x84
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- subs r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [sp, 0x10]
- ldr r0, =0x00000212
- adds r1, r0
- ldrh r0, [r1]
- str r0, [sp, 0x14]
- ldr r4, =0x0000021d
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0xD
- bl sub_8098858
- adds r0, r7, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gText_BerryPickingRecords
- ldr r0, [sp, 0x18]
- lsls r2, r0, 3
- movs r0, 0x1
- adds r1, r4, 0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized
- movs r6, 0
- ldr r2, =gStringVar1
- mov r8, r2
- movs r0, 0xFF
- mov r10, r0
- mov r9, r6
- mov r2, sp
- adds r2, 0xC
- str r2, [sp, 0x1C]
-_08027C76:
- lsls r4, r6, 2
- ldr r0, [sp, 0x1C]
- ldm r0!, {r1}
- str r0, [sp, 0x1C]
- ldr r0, =gUnknown_082F7B40
- adds r0, r6, r0
- ldrb r3, [r0]
- mov r0, r8
- movs r2, 0
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- mov r1, r8
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r5, r0, 0
- ldr r0, =gUnknown_082F7B34
- adds r4, r0
- ldr r2, [r4]
- ldr r0, =gUnknown_082F7B44
- lsls r4, r6, 1
- adds r0, r4, r0
- ldrb r0, [r0]
- str r0, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r2, [sp, 0x18]
- lsls r3, r2, 3
- subs r3, r5
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_082F7B4A
- adds r4, r0
- ldrb r0, [r4]
- str r0, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- mov r2, r8
- bl AddTextPrinterParameterized
- adds r6, 0x1
- cmp r6, 0x2
- ble _08027C76
- adds r0, r7, 0
- bl PutWindowTilemap
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027BEC
-
- thumb_func_start sub_8027D20
-sub_8027D20: @ 8027D20
- push {lr}
- bl GetLinkPlayerCount
- ldr r1, =gUnknown_02022C98
- ldr r1, [r1]
- adds r1, 0x24
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027D20
-
- thumb_func_start sub_8027D38
-sub_8027D38: @ 8027D38
- push {r4-r7,lr}
- ldr r0, =gUnknown_02022C98
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r4, [r0]
- cmp r4, 0x4
- bhi _08027D66
- ldr r5, =gUnknown_082F7B90
-_08027D48:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r5
- ldr r1, [r1]
- bl StringCopy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _08027D48
-_08027D66:
- ldr r0, =gUnknown_02022C98
- ldr r1, [r0]
- adds r1, 0x24
- movs r2, 0x5
- strb r2, [r1]
- movs r1, 0
- mov r12, r0
-_08027D74:
- movs r4, 0
- mov r2, r12
- ldr r0, [r2]
- adds r0, 0x24
- adds r5, r1, 0x1
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08027DB2
- ldr r7, =gUnknown_02022C98
- lsls r3, r1, 1
- ldr r6, =gUnknown_082F7B50
-_08027D8A:
- ldr r2, [r7]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r3, r0
- adds r1, r2, 0
- adds r1, 0x4A
- adds r1, r0
- lsls r0, r4, 3
- adds r0, r3, r0
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, 0x24
- ldrb r2, [r2]
- cmp r4, r2
- bcc _08027D8A
-_08027DB2:
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _08027D74
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027D38
-
- thumb_func_start sub_8027DD0
-sub_8027DD0: @ 8027DD0
- push {lr}
- sub sp, 0x8
- ldr r3, =0xffffff00
- ldr r1, [sp]
- ands r1, r3
- movs r2, 0x1
- orrs r1, r2
- str r1, [sp]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp, 0x4]
- ands r1, r3
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8027DD0
-
- thumb_func_start sub_8027DFC
-sub_8027DFC: @ 8027DFC
- push {lr}
- adds r2, r0, 0
- ldr r3, =gRecvCmds
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _08027E1E
- lsls r0, r2, 4
- adds r1, r3, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08027E28
-_08027E1E:
- movs r0, 0
- b _08027E2A
- .pool
-_08027E28:
- ldrb r0, [r1, 0x4]
-_08027E2A:
- pop {r1}
- bx r1
- thumb_func_end sub_8027DFC
-
- thumb_func_start sub_8027E30
-sub_8027E30: @ 8027E30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r4, [sp, 0x48]
- lsls r4, 24
- str r4, [sp, 0x1C]
- movs r4, 0x14
- adds r4, r0
- mov r9, r4
- mov r5, sp
- movs r4, 0x2
- strb r4, [r5]
- mov r10, sp
- mov r5, r9
- ldrb r4, [r5, 0xB]
- movs r7, 0xF
- adds r5, r7, 0
- ands r5, r4
- mov r6, r10
- ldrb r6, [r6, 0x1]
- mov r8, r6
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x1]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0xC]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x1]
- ldrb r5, [r6, 0xD]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x2]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x2]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0xE]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x2]
- ldrb r5, [r6, 0xF]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x3]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x3]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0x10]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x3]
- ldrb r5, [r6, 0x11]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x4]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x4]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0x12]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x4]
- ldrb r4, [r6, 0x13]
- movs r6, 0xF
- ands r4, r6
- mov r6, r8
- ldrb r5, [r6, 0x5]
- movs r6, 0x10
- negs r6, r6
- ands r6, r5
- orrs r6, r4
- str r6, [sp, 0xC]
- mov r4, r8
- strb r6, [r4, 0x5]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x14]
- lsls r4, 4
- ldr r6, [sp, 0xC]
- ands r6, r7
- orrs r6, r4
- strb r6, [r5, 0x5]
- mov r7, sp
- movs r4, 0x3
- mov r8, r4
- ldrb r0, [r0, 0x14]
- mov r5, r8
- ands r0, r5
- ldrb r5, [r7, 0x6]
- movs r6, 0x4
- negs r6, r6
- mov r10, r6
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- strb r4, [r7, 0x6]
- mov r5, r9
- ldrb r0, [r5, 0x1]
- mov r6, r8
- ands r0, r6
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- strb r5, [r7, 0x6]
- mov r0, r9
- ldrb r4, [r0, 0x2]
- ands r4, r6
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- strb r0, [r7, 0x6]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x3]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x6]
- mov r4, r9
- ldrb r0, [r4, 0x4]
- mov r5, r8
- ands r0, r5
- ldrb r5, [r7, 0x7]
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- strb r4, [r7, 0x7]
- mov r6, r9
- ldrb r0, [r6, 0x5]
- mov r5, r8
- ands r0, r5
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- strb r5, [r7, 0x7]
- ldrb r4, [r6, 0x6]
- mov r6, r8
- ands r4, r6
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- strb r0, [r7, 0x7]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x7]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x7]
- mov r8, sp
- mov r0, r9
- ldrb r4, [r0, 0x8]
- movs r7, 0x3
- adds r0, r7, 0
- ands r0, r4
- mov r4, r8
- ldrb r5, [r4, 0x8]
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- mov r5, r8
- strb r4, [r5, 0x8]
- mov r6, r9
- ldrb r5, [r6, 0x9]
- adds r0, r7, 0
- ands r0, r5
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- mov r0, r8
- strb r5, [r0, 0x8]
- ldrb r0, [r1]
- adds r4, r7, 0
- ands r4, r0
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- mov r4, r8
- strb r0, [r4, 0x8]
- mov r5, sp
- ldrb r4, [r2]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x8]
- ldrb r4, [r3]
- adds r0, r7, 0
- ands r0, r4
- ldrb r4, [r5, 0x9]
- mov r6, r10
- ands r6, r4
- orrs r6, r0
- mov r10, r6
- strb r6, [r5, 0x9]
- ldr r0, [sp, 0x40]
- ldrb r4, [r0]
- adds r0, r7, 0
- ands r0, r4
- lsls r0, 2
- movs r4, 0xD
- negs r4, r4
- ands r6, r4
- orrs r6, r0
- str r6, [sp, 0x10]
- strb r6, [r5, 0x9]
- mov r4, sp
- ldr r5, [sp, 0x44]
- ldrb r0, [r5]
- adds r6, r7, 0
- ands r6, r0
- lsls r0, r6, 4
- subs r7, 0x34
- ldr r5, [sp, 0x10]
- ands r7, r5
- orrs r7, r0
- strb r7, [r4, 0x9]
- mov r5, sp
- ldrb r0, [r1, 0x4]
- movs r6, 0x1
- mov r12, r6
- mov r4, r12
- ands r4, r0
- lsls r4, 6
- movs r0, 0x41
- negs r0, r0
- mov r10, r0
- ands r0, r7
- orrs r0, r4
- strb r0, [r5, 0x9]
- ldrb r4, [r2, 0x4]
- lsls r4, 7
- movs r5, 0x7F
- ands r0, r5
- orrs r0, r4
- mov r4, r8
- strb r0, [r4, 0x9]
- ldrb r4, [r3, 0x4]
- mov r0, r12
- ands r0, r4
- mov r5, r8
- ldrb r4, [r5, 0xA]
- movs r7, 0x2
- negs r7, r7
- adds r5, r7, 0
- ands r5, r4
- orrs r5, r0
- mov r6, r8
- strb r5, [r6, 0xA]
- mov r9, sp
- ldr r4, [sp, 0x40]
- ldrb r0, [r4, 0x4]
- mov r4, r12
- ands r4, r0
- lsls r4, 1
- movs r6, 0x3
- negs r6, r6
- mov r8, r6
- mov r0, r8
- ands r0, r5
- orrs r0, r4
- mov r4, r9
- strb r0, [r4, 0xA]
- ldr r6, [sp, 0x44]
- ldrb r5, [r6, 0x4]
- mov r4, r12
- ands r4, r5
- lsls r4, 2
- movs r5, 0x5
- negs r5, r5
- ands r0, r5
- orrs r0, r4
- mov r4, r9
- strb r0, [r4, 0xA]
- mov r4, sp
- ldrb r1, [r1, 0x8]
- mov r0, r12
- ands r0, r1
- lsls r0, 2
- ldrb r1, [r4, 0xB]
- ands r5, r1
- orrs r5, r0
- strb r5, [r4, 0xB]
- ldrb r1, [r2, 0x8]
- mov r0, r12
- ands r0, r1
- lsls r0, 3
- movs r1, 0x9
- negs r1, r1
- ands r1, r5
- orrs r1, r0
- strb r1, [r4, 0xB]
- ldrb r2, [r3, 0x8]
- mov r0, r12
- ands r0, r2
- lsls r0, 4
- movs r2, 0x11
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0xB]
- mov r3, sp
- ldr r5, [sp, 0x40]
- ldrb r0, [r5, 0x8]
- mov r1, r12
- ands r1, r0
- lsls r1, 5
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xB]
- mov r2, sp
- ldrb r1, [r6, 0x8]
- mov r6, r12
- ands r6, r1
- lsls r1, r6, 6
- mov r3, r10
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0xB]
- ldr r4, [sp, 0x1C]
- lsrs r3, r4, 21
- ldrb r1, [r2, 0xA]
- movs r0, 0x7
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0xA]
- mov r1, sp
- ldr r5, [sp, 0x4C]
- movs r6, 0x1
- ands r5, r6
- lsls r2, r5, 1
- ldrb r0, [r1, 0xB]
- mov r3, r8
- ands r3, r0
- orrs r3, r2
- mov r8, r3
- strb r3, [r1, 0xB]
- mov r0, sp
- ldr r4, [sp, 0x50]
- ands r4, r6
- mov r5, r8
- ands r5, r7
- orrs r5, r4
- strb r5, [r0, 0xB]
- bl sub_800FE50
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8027E30
-
- thumb_func_start sub_8028164
-sub_8028164: @ 8028164
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x1C]
- mov r12, r0
- ldr r1, [sp, 0x20]
- mov r8, r1
- ldr r0, [sp, 0x24]
- mov r9, r0
- adds r2, r7, 0
- adds r2, 0x14
- ldr r4, =gRecvCmds
- ldrh r0, [r4]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0802819C
- adds r3, r4, 0x2
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _080281A4
-_0802819C:
- movs r0, 0
- b _080282DE
- .pool
-_080281A4:
- ldrb r0, [r3, 0x1]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xB]
- ldrb r0, [r3, 0x1]
- lsrs r0, 4
- strb r0, [r2, 0xC]
- ldrb r0, [r3, 0x2]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xD]
- ldrb r0, [r3, 0x2]
- lsrs r0, 4
- strb r0, [r2, 0xE]
- ldrb r0, [r3, 0x3]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xF]
- ldrb r0, [r3, 0x3]
- lsrs r0, 4
- strb r0, [r2, 0x10]
- ldrb r0, [r3, 0x4]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x11]
- ldrb r0, [r3, 0x4]
- lsrs r0, 4
- strb r0, [r2, 0x12]
- ldrb r0, [r3, 0x5]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x13]
- ldrb r0, [r3, 0x5]
- lsrs r0, 4
- strb r0, [r2, 0x14]
- ldrb r0, [r3, 0x1]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x15]
- ldrb r0, [r3, 0x6]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r7, 0x14]
- ldrb r0, [r3, 0x6]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x1]
- ldrb r0, [r3, 0x6]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r2, 0x2]
- ldrb r0, [r3, 0x6]
- lsrs r0, 6
- strb r0, [r2, 0x3]
- ldrb r0, [r3, 0x7]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0x4]
- ldrb r0, [r3, 0x7]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x5]
- ldrb r0, [r3, 0x7]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r2, 0x6]
- ldrb r0, [r3, 0x7]
- lsrs r0, 6
- strb r0, [r2, 0x7]
- ldrb r0, [r3, 0x8]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0x8]
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x9]
- ldrb r0, [r3, 0x6]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0xA]
- ldrb r0, [r3, 0x8]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r5]
- ldrb r0, [r3, 0x9]
- lsls r0, 25
- lsrs r0, 31
- strb r0, [r5, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 29
- lsrs r0, 31
- strb r0, [r5, 0x8]
- ldrb r0, [r3, 0x8]
- lsrs r0, 6
- strb r0, [r6]
- ldrb r0, [r3, 0x9]
- lsrs r0, 7
- strb r0, [r6, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 28
- lsrs r0, 31
- strb r0, [r6, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 30
- lsrs r0, 30
- mov r1, r12
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 31
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 27
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 28
- lsrs r0, 30
- mov r1, r8
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 30
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 26
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 26
- lsrs r0, 30
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 29
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 25
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0xA]
- lsrs r0, 3
- ldr r1, [sp, 0x28]
- strb r0, [r1]
- ldrb r0, [r3, 0xB]
- lsls r0, 30
- lsrs r0, 31
- ldr r1, [sp, 0x2C]
- str r0, [r1]
- ldrb r0, [r3, 0xB]
- lsls r0, 31
- lsrs r0, 31
- ldr r1, [sp, 0x30]
- str r0, [r1]
- movs r0, 0x1
-_080282DE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8028164
-
- thumb_func_start sub_80282EC
-sub_80282EC: @ 80282EC
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =0xffffff00
- ldr r1, [sp]
- ands r1, r3
- movs r2, 0x3
- orrs r1, r2
- str r1, [sp]
- ldr r1, [sp, 0x4]
- ands r1, r3
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80282EC
-
- thumb_func_start sub_8028318
-sub_8028318: @ 8028318
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldr r3, =gRecvCmds
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0802833C
- lsls r0, r2, 4
- adds r1, r3, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _08028344
-_0802833C:
- movs r0, 0
- b _0802834A
- .pool
-_08028344:
- ldrb r0, [r1, 0x4]
- strb r0, [r4]
- movs r0, 0x1
-_0802834A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8028318
-
- thumb_func_start sub_8028350
-sub_8028350: @ 8028350
- push {lr}
- sub sp, 0x8
- ldr r2, =0xffffff00
- ldr r1, [sp]
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- str r1, [sp]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028350
-
- thumb_func_start sub_8028374
-sub_8028374: @ 8028374
- push {lr}
- adds r2, r0, 0
- ldr r3, =gRecvCmds
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _08028396
- lsls r0, r2, 4
- adds r1, r3, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _080283A0
-_08028396:
- movs r0, 0
- b _080283A2
- .pool
-_080283A0:
- ldr r0, [r1, 0x4]
-_080283A2:
- pop {r1}
- bx r1
- thumb_func_end sub_8028374
-
- thumb_func_start sub_80283A8
-sub_80283A8: @ 80283A8
- push {r4,r5,lr}
- sub sp, 0x18
- movs r5, 0xC0
- lsls r5, 6
- adds r0, r5, 0
- bl AllocZeroed
- adds r4, r0, 0
- ldr r0, =gUnknown_082FB2D8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, =gUnknown_082FB2E0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, =gDodrioBerryPkmnGfx
- adds r1, r4, 0
- bl LZ77UnCompWram
- cmp r4, 0
- beq _080283E8
- str r4, [sp]
- str r5, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl Free
-_080283E8:
- add r0, sp, 0x8
- bl LoadSpritePalette
- add r0, sp, 0x10
- bl LoadSpritePalette
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80283A8
-
- thumb_func_start sub_8028408
-sub_8028408: @ 8028408
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x30
- adds r6, r1, 0
- mov r8, r2
- adds r5, r3, 0
- lsls r6, 24
- lsrs r6, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r5, 24
- lsrs r5, 24
- add r1, sp, 0x18
- movs r3, 0
- strh r3, [r1]
- ldrb r2, [r0]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- ldr r0, =gUnknown_082FB1E0
- str r0, [sp, 0x1C]
- ldr r0, =gUnknown_082FB228
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [sp, 0x28]
- ldr r0, =sub_80284A8
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0x4
- bl AllocZeroed
- ldr r1, =gUnknown_02022C9C
- mov r2, r8
- lsls r4, r2, 2
- adds r4, r1
- str r0, [r4]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8028F14
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x88
- movs r3, 0x3
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- movs r0, 0x1
- mov r1, r8
- bl sub_8028654
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028408
-
- thumb_func_start sub_80284A8
-sub_80284A8: @ 80284A8
- push {lr}
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- cmp r1, 0x1
- beq _080284BC
- cmp r1, 0x1
- ble _080284C6
- cmp r1, 0x2
- beq _080284C2
- b _080284C6
-_080284BC:
- bl sub_802853C
- b _080284C6
-_080284C2:
- bl sub_80285AC
-_080284C6:
- pop {r0}
- bx r0
- thumb_func_end sub_80284A8
-
- thumb_func_start sub_80284CC
-sub_80284CC: @ 80284CC
- push {lr}
- bl GetMultiplayerId
- ldr r1, =gUnknown_02022C9C
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- strh r2, [r0, 0x34]
- strh r2, [r0, 0x36]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80284CC
-
- thumb_func_start sub_8028504
-sub_8028504: @ 8028504
- push {lr}
- bl GetMultiplayerId
- ldr r1, =gUnknown_02022C9C
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r2, 0
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- strh r2, [r0, 0x34]
- strh r2, [r0, 0x36]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028504
-
- thumb_func_start sub_802853C
-sub_802853C: @ 802853C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r2, r0, 16
- lsrs r0, 31
- adds r0, r2, r0
- asrs r1, r0, 1
- adds r0, r1, 0
- cmp r1, 0
- bge _08028558
- adds r0, r1, 0x3
-_08028558:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r2, 0x2
- ble _080285A2
- cmp r0, 0x2
- bgt _0802856E
- cmp r0, 0x1
- bge _08028572
-_0802856E:
- movs r0, 0x1
- b _08028574
-_08028572:
- movs r0, 0xFF
-_08028574:
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080285A2
- movs r0, 0
- strh r0, [r4, 0x2E]
- bl sub_8027650
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_8028F14
- strh r0, [r4, 0x20]
-_080285A2:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802853C
-
- thumb_func_start sub_80285AC
-sub_80285AC: @ 80285AC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xD
- bl __divsi3
- lsls r0, 16
- asrs r1, r0, 16
- adds r0, r1, 0
- cmp r1, 0
- bge _080285CC
- adds r0, r1, 0x3
-_080285CC:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r1, 0xD
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _080285F0
- cmp r4, 0
- beq _080285F0
- movs r0, 0xD4
- bl PlaySE
-_080285F0:
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0x67
- ble _080285FE
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r4, 0
-_080285FE:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_80286B4
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80285AC
-
- thumb_func_start sub_8028614
-sub_8028614: @ 8028614
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _08028646
- ldr r6, =gUnknown_02022C9C
-_08028622:
- lsls r0, r4, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _0802863C
- bl DestroySpriteAndFreeResources
-_0802863C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08028622
-_08028646:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028614
-
- thumb_func_start sub_8028654
-sub_8028654: @ 8028654
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gSprites
- ldr r2, =gUnknown_02022C9C
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- ldrh r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- ldrb r3, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r0
- strb r1, [r2]
- bx lr
- .pool
- thumb_func_end sub_8028654
-
- thumb_func_start sub_802868C
-sub_802868C: @ 802868C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- cmp r4, r5
- bcs _080286AE
-_0802869C:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8028654
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0802869C
-_080286AE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802868C
-
- thumb_func_start sub_80286B4
-sub_80286B4: @ 80286B4
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_02022C9C
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80286B4
-
- thumb_func_start nullsub_15
-nullsub_15: @ 80286E0
- bx lr
- thumb_func_end nullsub_15
-
- thumb_func_start sub_80286E4
-sub_80286E4: @ 80286E4
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, =gSprites
- mov r12, r0
- movs r6, 0
- ldr r5, =gUnknown_02022CF4
-_080286F0:
- ldr r3, [r5]
- lsls r1, r4, 1
- adds r0, r3, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- lsls r0, r4, 4
- adds r0, 0x30
- strh r0, [r1, 0x20]
- lsls r2, r4, 3
- movs r7, 0x8
- negs r7, r7
- adds r0, r7, 0
- subs r0, r2
- strh r0, [r1, 0x22]
- adds r3, 0xC
- adds r3, r4
- strb r6, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080286F0
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80286E4
-
- thumb_func_start sub_8028734
-sub_8028734: @ 8028734
- push {r4-r6,lr}
- sub sp, 0x28
- movs r4, 0xC0
- lsls r4, 1
- adds r0, r4, 0
- bl AllocZeroed
- adds r6, r0, 0
- ldr r0, =gUnknown_082FB2E8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, =gDodrioBerryStatusGfx
- adds r1, r6, 0
- bl LZ77UnCompWram
- cmp r6, 0
- beq _080287C4
- str r6, [sp, 0x18]
- add r5, sp, 0x18
- movs r0, 0x80
- lsls r0, 9
- orrs r0, r4
- str r0, [r5, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_082FB2F0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r4, =gUnknown_02022CF4
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- add r0, sp, 0x20
- bl LoadSpritePalette
- movs r4, 0
-_0802878A:
- lsls r1, r4, 20
- movs r0, 0xC0
- lsls r0, 14
- adds r1, r0
- asrs r1, 16
- lsls r0, r4, 3
- movs r3, 0x8
- negs r3, r3
- adds r2, r3, 0
- subs r2, r0
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- ldr r1, =gUnknown_02022CF4
- ldr r1, [r1]
- lsls r2, r4, 1
- adds r1, 0x2A
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0802878A
-_080287C4:
- adds r0, r6, 0
- bl Free
- add sp, 0x28
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028734
-
- thumb_func_start sub_80287E4
-sub_80287E4: @ 80287E4
- push {r4,r5,lr}
- movs r4, 0
-_080287E8:
- ldr r5, =gUnknown_02022CF4
- ldr r0, [r5]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08028806
- bl DestroySpriteAndFreeResources
-_08028806:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080287E8
- ldr r0, [r5]
- bl Free
- movs r0, 0
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80287E4
-
- thumb_func_start sub_8028828
-sub_8028828: @ 8028828
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r3, 0
- movs r6, 0
- ldr r0, =gUnknown_02022CF4
- mov r9, r0
-_0802883A:
- mov r7, r9
- ldr r2, [r7]
- lsls r5, r6, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r5
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- adds r0, r2, 0
- adds r0, 0x16
- adds r0, r5
- movs r1, 0x2
- strh r1, [r0]
- adds r0, r2, 0
- adds r0, 0xC
- adds r2, r0, r6
- ldrb r1, [r2]
- cmp r1, 0
- beq _08028870
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r0, 0x8
- beq _080288A6
-_08028870:
- movs r3, 0x1
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r0, 0x8
- bne _08028896
- cmp r1, 0
- bne _080288A6
- strb r3, [r2]
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x16
- adds r0, r5
- ldr r1, =0x0000fff0
- strh r1, [r0]
- movs r0, 0x24
- str r3, [sp]
- bl PlaySE
- ldr r3, [sp]
-_08028896:
- mov r7, r9
- ldr r0, [r7]
- adds r0, 0x16
- adds r0, r5
- ldrh r0, [r0]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_080288A6:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x9
- bls _0802883A
- cmp r3, 0
- bne _080288C4
- movs r0, 0x1
- b _080288C6
- .pool
-_080288C4:
- movs r0, 0
-_080288C6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8028828
-
- thumb_func_start sub_80288D4
-sub_80288D4: @ 80288D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08028910
- movs r4, 0
-_080288E0:
- ldr r0, =gUnknown_02022CF4
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080288E0
- b _080289DA
- .pool
-_08028910:
- movs r4, 0
- movs r0, 0xA
- subs r0, r5
- cmp r4, r0
- bge _080289D6
- ldr r6, =gSprites
-_0802891C:
- cmp r5, 0x6
- bls _08028984
- ldr r0, =gUnknown_02022CF4
- ldr r2, [r0]
- ldr r1, =0x0000fffa
- adds r0, r1, 0
- ldrh r1, [r2, 0x3E]
- adds r0, r1
- adds r0, r5
- movs r1, 0
- strh r0, [r2, 0x3E]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _0802894C
- strh r1, [r2, 0x3E]
- b _0802899E
- .pool
-_0802894C:
- cmp r0, 0xA
- bls _0802896A
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- bl StartSpriteAnim
- b _0802899E
-_0802896A:
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- bl StartSpriteAnim
- b _0802899E
-_08028984:
- ldr r0, =gUnknown_02022CF4
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- bl StartSpriteAnim
-_0802899E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0xA
- subs r0, r5
- cmp r4, r0
- blt _0802891C
- b _080289D6
- .pool
-_080289B4:
- ldr r0, =gUnknown_02022CF4
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080289D6:
- cmp r4, 0x9
- bls _080289B4
-_080289DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80288D4
-
- thumb_func_start sub_80289E8
-sub_80289E8: @ 80289E8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, =gSprites
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r6, 0x5
- negs r6, r6
- ldr r5, =gUnknown_02022CF4
-_080289FE:
- ldr r0, [r5]
- lsls r1, r3, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x9
- bls _080289FE
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80289E8
-
- thumb_func_start sub_8028A34
-sub_8028A34: @ 8028A34
- push {r4,r5,lr}
- sub sp, 0x10
- movs r5, 0x90
- lsls r5, 3
- adds r0, r5, 0
- bl AllocZeroed
- adds r4, r0, 0
- ldr r0, =gUnknown_082FB314
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, =gDodrioBerrySpritesGfx
- adds r1, r4, 0
- bl LZ77UnCompWram
- cmp r4, 0
- beq _08028A6A
- str r4, [sp]
- movs r0, 0x80
- lsls r0, 10
- orrs r0, r5
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
-_08028A6A:
- add r0, sp, 0x8
- bl LoadSpritePalette
- adds r0, r4, 0
- bl Free
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028A34
-
- thumb_func_start sub_8028A88
-sub_8028A88: @ 8028A88
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- mov r1, sp
- ldr r0, =gUnknown_082FB324
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- add r2, sp, 0x18
- adds r1, r2, 0
- ldr r0, =gUnknown_082FB33C
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- movs r5, 0
- mov r9, r2
-_08028AB0:
- movs r0, 0x4
- bl AllocZeroed
- ldr r1, =gUnknown_02022CB8
- lsls r4, r5, 2
- adds r4, r1
- str r0, [r4]
- lsls r0, r5, 3
- lsls r1, r5, 4
- adds r1, r0
- mov r0, sp
- movs r2, 0x8
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8028BF8
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08028AB0
- movs r5, 0
- ldr r7, =gUnknown_02022CE4
- ldr r4, =gUnknown_082FB31C
- mov r8, r4
-_08028AF0:
- movs r0, 0x4
- bl AllocZeroed
- lsls r1, r5, 2
- adds r4, r1, r7
- str r0, [r4]
- adds r6, r1, 0
- cmp r5, 0x3
- bne _08028B2C
- mov r0, r8
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- mov r0, r9
- movs r2, 0x31
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7, 0xC]
- b _08028B40
- .pool
-_08028B2C:
- lsls r0, r5, 1
- add r0, r8
- movs r3, 0
- ldrsh r1, [r0, r3]
- mov r0, r9
- movs r2, 0x34
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
-_08028B40:
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r6, r7
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08028AF0
- movs r0, 0x1
- bl sub_8028C30
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028A88
-
- thumb_func_start sub_8028B80
-sub_8028B80: @ 8028B80
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gUnknown_02022CB8
-_08028B86:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08028BA0
- bl DestroySprite
-_08028BA0:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08028B86
- movs r5, 0
- ldr r6, =gUnknown_02022CE4
-_08028BB8:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08028BD2
- bl DestroySprite
-_08028BD2:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08028BB8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028B80
-
- thumb_func_start sub_8028BF8
-sub_8028BF8: @ 8028BF8
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gSprites
- ldr r2, =gUnknown_02022CB8
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8028BF8
-
- thumb_func_start sub_8028C30
-sub_8028C30: @ 8028C30
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, =gSprites
- ldr r6, =gUnknown_02022CE4
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r5, 0x5
- negs r5, r5
-_08028C46:
- lsls r0, r3, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _08028C46
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028C30
-
- thumb_func_start sub_8028C7C
-sub_8028C7C: @ 8028C7C
- lsls r0, 24
- lsls r1, 24
- ldr r3, =gSprites
- ldr r2, =gUnknown_02022CB8
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsrs r1, 21
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_8028C7C
-
- thumb_func_start sub_8028CA4
-sub_8028CA4: @ 8028CA4
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_02022CB8
- lsrs r0, 14
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028CA4
-
- thumb_func_start sub_8028CD0
-sub_8028CD0: @ 8028CD0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, 0x32
- strh r1, [r2, 0x20]
- movs r0, 0x32
- strh r0, [r2, 0x22]
- bx lr
- .pool
- thumb_func_end sub_8028CD0
-
- thumb_func_start sub_8028CF4
-sub_8028CF4: @ 8028CF4
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r0, 0x42
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _08028D36
- movs r3, 0
- ldr r7, =gUnknown_082FB354
- ldr r6, =gUnknown_02022CB0
- movs r5, 0
-_08028D0A:
- lsls r0, r3, 2
- adds r2, r0, r6
- ldr r1, [r2]
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
- adds r1, r3, r7
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1]
- cmp r0, r1
- bls _08028D2C
- ldrh r0, [r4, 0x20]
- subs r0, 0x1
- strh r0, [r4, 0x20]
- ldr r0, [r2]
- strh r5, [r0, 0x2]
-_08028D2C:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08028D0A
-_08028D36:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028CF4
-
- thumb_func_start sub_8028D44
-sub_8028D44: @ 8028D44
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x28
- movs r4, 0x80
- lsls r4, 3
- adds r0, r4, 0
- bl AllocZeroed
- adds r6, r0, 0
- ldr r0, =gUnknown_082FB360
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, =gDodrioBerryPlatformGfx
- adds r1, r6, 0
- bl LZ77UnCompWram
- cmp r6, 0
- beq _08028DD2
- str r6, [sp, 0x18]
- add r0, sp, 0x18
- movs r1, 0xA0
- lsls r1, 11
- orrs r1, r4
- str r1, [r0, 0x4]
- mov r2, sp
- ldr r1, =gUnknown_082FB368
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- bl LoadSpriteSheet
- add r0, sp, 0x20
- bl LoadSpritePalette
- movs r5, 0
- ldr r7, =gUnknown_082FB356
- adds r0, r7, 0x2
- mov r9, r0
- ldr r1, =gUnknown_02022CB0
- mov r8, r1
-_08028D9E:
- movs r0, 0x4
- bl AllocZeroed
- lsls r2, r5, 2
- mov r3, r8
- adds r4, r2, r3
- str r0, [r4]
- adds r0, r2, r7
- movs r3, 0
- ldrsh r1, [r0, r3]
- add r2, r9
- movs r0, 0
- ldrsh r2, [r2, r0]
- mov r0, sp
- movs r3, 0x4
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _08028D9E
-_08028DD2:
- adds r0, r6, 0
- bl Free
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028D44
-
- thumb_func_start sub_8028DFC
-sub_8028DFC: @ 8028DFC
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, =gUnknown_02022CB0
- mov r12, r0
- ldr r4, =gUnknown_082FB356
- adds r7, r4, 0x2
- ldr r6, =gSprites
- movs r5, 0x1
-_08028E0C:
- lsls r2, r3, 2
- mov r1, r12
- adds r0, r2, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r0, r1, 0
- adds r0, 0x42
- strh r5, [r0]
- adds r0, r2, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- adds r2, r7
- ldrh r0, [r2]
- strh r0, [r1, 0x22]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08028E0C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028DFC
-
- thumb_func_start sub_8028E4C
-sub_8028E4C: @ 8028E4C
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, =gUnknown_02022CB0
- ldr r4, =gSprites
- movs r3, 0
-_08028E56:
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x42
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bls _08028E56
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028E4C
-
- thumb_func_start sub_8028E84
-sub_8028E84: @ 8028E84
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gUnknown_02022CB0
-_08028E8A:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08028EA4
- bl DestroySprite
-_08028EA4:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _08028E8A
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028E84
-
- thumb_func_start sub_8028EC8
-sub_8028EC8: @ 8028EC8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, =gSprites
- ldr r6, =gUnknown_02022CB0
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r5, 0x5
- negs r5, r5
-_08028EDE:
- lsls r0, r3, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08028EDE
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8028EC8
-
- thumb_func_start sub_8028F14
-sub_8028F14: @ 8028F14
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- subs r0, r1, 0x1
- cmp r0, 0x4
- bhi _08028FC6
- lsls r0, 2
- ldr r1, =_08028F34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08028F34:
- .4byte _08028FB4
- .4byte _08028F48
- .4byte _08028F52
- .4byte _08028F66
- .4byte _08028F8E
-_08028F48:
- cmp r2, 0
- beq _08028F7E
- cmp r2, 0x1
- bne _08028FC6
- b _08028F82
-_08028F52:
- cmp r2, 0x1
- beq _08028FB8
- cmp r2, 0x1
- bgt _08028F60
- cmp r2, 0
- beq _08028FB4
- b _08028FC6
-_08028F60:
- cmp r2, 0x2
- bne _08028FC6
- b _08028FC4
-_08028F66:
- cmp r2, 0x1
- beq _08028F82
- cmp r2, 0x1
- bgt _08028F74
- cmp r2, 0
- beq _08028F7E
- b _08028FC6
-_08028F74:
- cmp r2, 0x2
- beq _08028F86
- cmp r2, 0x3
- beq _08028F8A
- b _08028FC6
-_08028F7E:
- movs r3, 0xC
- b _08028FC6
-_08028F82:
- movs r3, 0x12
- b _08028FC6
-_08028F86:
- movs r3, 0x18
- b _08028FC6
-_08028F8A:
- movs r3, 0x6
- b _08028FC6
-_08028F8E:
- cmp r2, 0x4
- bhi _08028FC6
- lsls r0, r2, 2
- ldr r1, =_08028FA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08028FA0:
- .4byte _08028FB4
- .4byte _08028FB8
- .4byte _08028FBC
- .4byte _08028FC0
- .4byte _08028FC4
-_08028FB4:
- movs r3, 0xF
- b _08028FC6
-_08028FB8:
- movs r3, 0x15
- b _08028FC6
-_08028FBC:
- movs r3, 0x1B
- b _08028FC6
-_08028FC0:
- movs r3, 0x3
- b _08028FC6
-_08028FC4:
- movs r3, 0x9
-_08028FC6:
- lsls r0, r3, 3
- pop {r1}
- bx r1
- thumb_func_end sub_8028F14
-
- thumb_func_start sub_8028FCC
-sub_8028FCC: @ 8028FCC
- push {r4,lr}
- movs r4, 0
-_08028FD0:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8028BF8
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8028C7C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _08028FD0
- movs r0, 0
- bl sub_80289E8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8028FCC
-
- thumb_func_start sub_8028FF8
-sub_8028FF8: @ 8028FF8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl GetWindowFrameTilesPal
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r0, 0
- movs r3, 0x1
- bl LoadBgTiles
- adds r0, r4, 0
- bl GetWindowFrameTilesPal
- ldr r0, [r0, 0x4]
- movs r1, 0xA0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8028FF8
-
- thumb_func_start sub_802902C
-sub_802902C: @ 802902C
- push {lr}
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xB0
- bl LoadUserWindowBorderGfx_
- pop {r0}
- bx r0
- thumb_func_end sub_802902C
-
- thumb_func_start sub_802903C
-sub_802903C: @ 802903C
- ldr r3, =gUnknown_02022CF8
- ldr r0, [r3]
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r1, =0x00003014
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x8
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- bx lr
- .pool
- thumb_func_end sub_802903C
-
- thumb_func_start sub_8029074
-sub_8029074: @ 8029074
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r6, 0xA
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x4
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x6
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x7
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x8
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r4, [r4, 0x2]
- adds r3, r4
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x9
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8029074
-
- thumb_func_start sub_8029174
-sub_8029174: @ 8029174
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r6, 0xB
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xA
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xB
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xC
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xD
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xF
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x10
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x11
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r4, [r4, 0x2]
- adds r3, r4
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x12
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8029174
-
- thumb_func_start sub_8029274
-sub_8029274: @ 8029274
- push {r4,lr}
- ldr r4, =gUnknown_02022CF8
- str r0, [r4]
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r3, =0x00003014
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, =0x00003018
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r3, 0xC
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, 0xC
- adds r0, r1
- strb r2, [r0]
- ldr r0, =sub_8029314
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- ldr r2, =0x00003004
- adds r1, r2
- strb r0, [r1]
- ldr r0, =sub_8029338
- bl sub_802A72C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8029274
-
- thumb_func_start sub_80292D4
-sub_80292D4: @ 80292D4
- push {lr}
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- thumb_func_end sub_80292D4
-
- thumb_func_start sub_80292E0
-sub_80292E0: @ 80292E0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r5, =gUnknown_082FB40C
- adds r7, r5, 0x4
-_080292EC:
- lsls r1, r4, 3
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, r6
- bne _080292FE
- adds r0, r1, r7
- ldr r0, [r0]
- bl sub_802A72C
-_080292FE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080292EC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80292E0
-
- thumb_func_start sub_8029314
-sub_8029314: @ 8029314
- push {lr}
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0802932E
- bl sub_802A75C
- bl _call_via_r0
-_0802932E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8029314
-
- thumb_func_start sub_8029338
-sub_8029338: @ 8029338
- push {lr}
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r2, =0x00003014
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _08029430
- lsls r0, 2
- ldr r1, =_08029360
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08029360:
- .4byte _08029374
- .4byte _0802937A
- .4byte _08029394
- .4byte _080293D8
- .4byte _08029404
-_08029374:
- bl sub_802A7A8
- b _08029414
-_0802937A:
- bl sub_802A8E8
- cmp r0, 0x1
- bne _0802943A
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802941C
- .pool
-_08029394:
- ldr r1, =gDodrioBerryBgTilemap1
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gDodrioBerryBgTilemap2Left
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gDodrioBerryBgTilemap2Right
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _08029414
- .pool
-_080293D8:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802941C
- .pool
-_08029404:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8028FF8
- bl sub_802902C
-_08029414:
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
-_0802941C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802943A
- .pool
-_08029430:
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r2
- movs r0, 0x1
- str r0, [r1]
-_0802943A:
- pop {r0}
- bx r0
- thumb_func_end sub_8029338
-
- thumb_func_start sub_8029440
-sub_8029440: @ 8029440
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r2, =0x00003014
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08029488
- cmp r0, 0x1
- bne _08029460
- b _080295EC
-_08029460:
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB4
- bhi _0802946E
- b _0802968E
-_0802946E:
- bl sub_8027650
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcc _0802947E
- b _08029666
-_0802947E:
- b _08029640
- .pool
-_08029488:
- bl sub_8027650
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gUnknown_082FB3C8
- subs r0, r7, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- ldr r2, =0xffffff00
- ldr r0, [sp, 0xC]
- ands r0, r2
- ldr r1, =0x00ffffff
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 19
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r2
- movs r1, 0x2
- orrs r0, r1
- ldr r1, =0xffff00ff
- ands r0, r1
- movs r1, 0xD0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0x98
- lsls r1, 13
- orrs r0, r1
- str r0, [sp, 0x10]
- movs r6, 0
- cmp r6, r7
- bcs _080295B8
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x18]
- mov r10, r4
- ldr r0, =0x00003008
- mov r9, r0
-_080294DC:
- movs r1, 0
- mov r8, r1
- adds r0, r6, 0
- bl sub_8027A48
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_8027660
- adds r1, r0, 0
- movs r0, 0x1
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0x38
- subs r1, r0
- lsrs r1, 1
- str r1, [sp, 0x14]
- ldrb r0, [r5]
- lsls r0, 8
- ldr r2, =0xffff00ff
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- ldrb r2, [r5, 0x1]
- lsls r2, 16
- ldr r0, =0xff00ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- bl AddWindow
- mov r2, r10
- ldr r1, [r2]
- add r1, r9
- adds r1, r6
- strb r0, [r1]
- ldr r0, [r2]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r3, r10
- ldr r0, [r3]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0802955A
- movs r0, 0x2
- mov r8, r0
-_0802955A:
- adds r0, r4, 0
- bl sub_8027660
- adds r4, r0, 0
- mov r1, r10
- ldr r0, [r1]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- ldr r3, [sp, 0x14]
- lsls r2, r3, 24
- lsrs r2, 24
- mov r3, r8
- lsls r1, r3, 1
- add r1, r8
- ldr r3, =gUnknown_082FB380
- adds r1, r3
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- mov r2, r10
- ldr r0, [r2]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r3, [sp, 0x18]
- ldrh r0, [r3, 0x6]
- adds r0, 0xE
- strh r0, [r3, 0x6]
- add r0, sp, 0xC
- bl sub_8029174
- adds r5, 0x4
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _080294DC
-_080295B8:
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
- b _0802962A
- .pool
-_080295EC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802968E
- bl sub_8027650
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcs _0802961C
-_08029604:
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- adds r0, r6
- ldrb r0, [r0]
- bl PutWindowTilemap
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08029604
-_0802961C:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r2, =0x00003014
- adds r1, r2
-_0802962A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802968E
- .pool
-_08029640:
- ldr r5, =gUnknown_02022CF8
- ldr r0, [r5]
- ldr r4, =0x00003008
- adds r0, r4
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
- ldrb r0, [r0]
- bl RemoveWindow
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08029640
-_08029666:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- movs r1, 0x1
- str r1, [r0]
-_0802968E:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8029440
-
- thumb_func_start sub_80296A8
-sub_80296A8: @ 80296A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x6C
- lsls r0, 24
- movs r1, 0
- mov r8, r1
- movs r6, 0
- lsrs r7, r0, 24
- add r4, sp, 0x2C
- ldr r1, =gUnknown_082FB45C
- adds r0, r4, 0
- movs r2, 0x5
- bl memcpy
- movs r5, 0
- cmp r5, r7
- bcs _080296F8
- add r4, sp, 0x34
-_080296D2:
- mov r0, sp
- adds r0, r5
- adds r0, 0x2C
- strb r5, [r0]
- add r0, sp, 0x5C
- adds r1, r5, 0
- bl sub_802793C
- lsls r2, r5, 3
- adds r2, r4, r2
- ldr r0, [sp, 0x5C]
- ldr r1, [sp, 0x60]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _080296D2
-_080296F8:
- bl sub_8027748
- cmp r0, 0
- beq _0802972E
-_08029700:
- movs r5, 0
- cmp r5, r7
- bcs _08029728
- add r2, sp, 0x34
- add r1, sp, 0x2C
-_0802970A:
- lsls r0, r5, 3
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, r8
- bne _0802971E
- adds r0, r1, r6
- strb r5, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0802971E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _0802970A
-_08029728:
- mov r8, r6
- cmp r6, r7
- bcc _08029700
-_0802972E:
- movs r5, 0
- ldr r4, =gText_SpacePoints
- cmp r5, r7
- bcs _08029754
- add r1, sp, 0x34
- add r6, sp, 0x38
- subs r3, r7, 0x1
-_0802973C:
- lsls r2, r5, 3
- adds r0, r6, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0802974A
- adds r0, r1, r2
- strb r3, [r0]
-_0802974A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _0802973C
-_08029754:
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xD8
- subs r1, r0
- str r1, [sp, 0x64]
- movs r5, 0
- cmp r5, r7
- bcs _08029860
- mov r2, sp
- adds r2, 0x34
- str r2, [sp, 0x68]
- ldr r3, =0x00003009
- mov r10, r3
-_08029774:
- movs r0, 0
- mov r8, r0
- mov r0, sp
- adds r0, r5
- adds r0, 0x2C
- ldrb r0, [r0]
- adds r4, r0, 0
- lsls r1, r4, 3
- add r0, sp, 0x38
- adds r0, r1
- ldr r0, [r0]
- mov r9, r0
- ldr r2, =gUnknown_02022CF8
- ldr r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, =gUnknown_082FB3DC
- ldr r3, [sp, 0x68]
- adds r1, r3, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r3, =gUnknown_082FB402
- lsls r1, r5, 1
- adds r1, r3
- ldrb r6, [r1]
- str r6, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- mov r3, r8
- str r3, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080297CC
- movs r0, 0x2
- mov r8, r0
-_080297CC:
- adds r0, r4, 0
- bl sub_8027660
- adds r3, r0, 0
- ldr r1, =gUnknown_02022CF8
- ldr r0, [r1]
- add r0, r10
- ldrb r0, [r0]
- mov r2, r8
- lsls r1, r2, 1
- add r1, r8
- ldr r2, =gUnknown_082FB380
- adds r1, r2
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0x1C
- adds r3, r6, 0
- bl AddTextPrinterParameterized3
- add r0, sp, 0xC
- mov r1, r9
- movs r2, 0
- movs r3, 0x7
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r3, r0, 0
- ldr r2, =gUnknown_02022CF8
- ldr r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- ldr r1, [sp, 0x64]
- subs r3, r1, r3
- lsls r3, 24
- lsrs r3, 24
- str r6, [sp]
- movs r2, 0xFF
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- ldr r2, =gUnknown_02022CF8
- ldr r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- ldr r1, [sp, 0x64]
- lsls r3, r1, 24
- str r6, [sp]
- movs r2, 0xFF
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gText_SpacePoints
- lsrs r3, 24
- bl AddTextPrinterParameterized
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08029774
-_08029860:
- add sp, 0x6C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80296A8
-
- thumb_func_start sub_802988C
-sub_802988C: @ 802988C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- bl sub_8027650
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- ldr r6, =gUnknown_02022CF8
- ldr r1, [r6]
- ldr r2, =0x00003014
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xB
- bls _080298B2
- b _08029FA8
-_080298B2:
- lsls r0, 2
- ldr r1, =_080298C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080298C8:
- .4byte _080298F8
- .4byte _08029914
- .4byte _0802996C
- .4byte _08029B6C
- .4byte _08029BB8
- .4byte _08029BFC
- .4byte _08029C60
- .4byte _08029C9C
- .4byte _08029CE0
- .4byte _08029DA0
- .4byte _08029F08
- .4byte _08029F5C
-_080298F8:
- bl sub_802784C
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x0000301c
- adds r2, r1, r0
- movs r0, 0
- strh r0, [r2]
- b _08029F8A
- .pool
-_08029914:
- ldr r6, =gUnknown_082F7BBC
- adds r0, r6, 0
- bl AddWindow
- ldr r4, =gUnknown_02022CF8
- ldr r1, [r4]
- ldr r2, =0x00003008
- mov r8, r2
- add r1, r8
- strb r0, [r1]
- movs r0, 0x8
- adds r0, r6
- mov r9, r0
- bl AddWindow
- ldr r1, [r4]
- ldr r5, =0x00003009
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- add r0, r8
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r6, 0
- bl sub_8029174
- mov r0, r9
- bl sub_8029174
- b _08029F88
- .pool
-_0802996C:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r5, =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, =0x00003009
- mov r9, r1
- add r0, r9
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_BerryPickingResults
- mov r8, r2
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- mov r1, r8
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r6, 0xFF
- str r6, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- mov r2, r8
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- add r0, r9
- ldrb r0, [r0]
- ldr r2, =gText_10P30P50P50P
- movs r1, 0x11
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x44
- bl AddTextPrinterParameterized
- mov r9, r5
- ldr r0, [sp, 0xC]
- cmp r9, r0
- bcc _080299E2
- b _08029B2A
-_080299E2:
- movs r4, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r9, r0
- bne _080299F2
- movs r4, 0x2
-_080299F2:
- mov r0, r9
- bl sub_8027660
- adds r6, r0, 0
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r1, =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- mov r2, r9
- lsls r5, r2, 1
- ldr r2, =gUnknown_082FB3F8
- adds r1, r5, r2
- ldrb r3, [r1]
- lsls r1, r4, 1
- adds r1, r4
- ldr r2, =gUnknown_082FB380
- adds r1, r2
- str r1, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0
- bl AddTextPrinterParameterized3
- movs r7, 0
- mov r8, r5
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x10]
- ldr r1, =gStringVar4
- mov r10, r1
-_08029A36:
- mov r0, r9
- adds r1, r7, 0
- bl sub_80276A0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- bl sub_8027A38
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- bl sub_802778C
- ldr r1, =0x0000270f
- bl sub_8027A38
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- mov r1, r10
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r5, r0, 0
- cmp r6, r4
- bne _08029AE0
- cmp r6, 0
- beq _08029AE0
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r7, 1
- ldr r2, =gUnknown_082FB3F0
- adds r1, r2
- ldrb r2, [r1]
- subs r2, r5
- lsls r2, 24
- lsrs r2, 24
- ldr r1, =gUnknown_082FB3F8
- add r1, r8
- ldrb r3, [r1]
- ldr r1, =gUnknown_082FB383
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- bl AddTextPrinterParameterized3
- b _08029B10
- .pool
-_08029AE0:
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r7, 1
- ldr r2, =gUnknown_082FB3F0
- adds r1, r2
- ldrb r3, [r1]
- subs r3, r5
- lsls r3, 24
- lsrs r3, 24
- ldr r1, =gUnknown_082FB3F8
- add r1, r8
- ldrb r1, [r1]
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar4
- bl AddTextPrinterParameterized
-_08029B10:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _08029A36
- ldr r1, [sp, 0x10]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- ldr r2, [sp, 0xC]
- cmp r9, r2
- bcs _08029B2A
- b _080299E2
-_08029B2A:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029B6C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08029B90
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08029B90:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl sub_8028C30
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029BB8:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _08029BD0
- b _08029FF8
-_08029BD0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08029BDE
- b _08029FF8
-_08029BDE:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_8028C30
- b _08029F88
- .pool
-_08029BFC:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r5, =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r6, =gText_AnnouncingRankings
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- adds r1, r6, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r6, 0
- bl AddTextPrinterParameterized
- b _08029F88
- .pool
-_08029C60:
- ldr r0, [sp, 0xC]
- bl sub_80296A8
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029C9C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08029CC0
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08029CC0:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029CE0:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _08029CF8
- b _08029FF8
-_08029CF8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08029D06
- b _08029FF8
-_08029D06:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
- bl sub_8027748
- ldr r1, =0x00000bb7
- cmp r0, r1
- bhi _08029D3C
- ldr r0, [r4]
- ldr r2, =0x00003014
- adds r0, r2
- movs r1, 0x7F
- strb r1, [r0]
- b _08029D4C
- .pool
-_08029D3C:
- bl StopMapMusic
- ldr r1, [r4]
- ldr r0, =0x00003014
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08029D4C:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x5
- bl FillBgTilemapBufferRect_Palette0
- ldr r5, =gUnknown_02022CF8
- ldr r0, [r5]
- ldr r4, =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r6, =gUnknown_082F7BCC
- adds r0, r6, 0
- bl AddWindow
- ldr r1, [r5]
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r6, 0
- bl sub_8029174
- b _08029FF8
- .pool
-_08029DA0:
- ldr r0, =0x0000016f
- bl PlayNewMapMusic
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r6, =0x00003008
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, =0x00003009
- mov r10, r1
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gText_AnnouncingPrizes
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- adds r1, r5, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r6
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0x1
- mov r9, r2
- str r2, [sp]
- movs r1, 0xFF
- mov r8, r1
- str r1, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_802762C
- lsls r0, 16
- lsrs r0, 16
- ldr r5, =gStringVar1
- adds r1, r5, 0
- bl CopyItemName
- movs r0, 0
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r7, =gStringVar4
- ldr r1, =gText_FirstPlacePrize
- adds r0, r7, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r0, [r4]
- add r0, r10
- ldrb r0, [r0]
- mov r2, r9
- str r2, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- bl sub_80279C8
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- cmp r4, 0
- beq _08029EC8
- cmp r4, 0x3
- beq _08029EC8
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_802762C
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl CopyItemName
- movs r0, 0
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- cmp r4, 0x2
- bne _08029E9C
- ldr r1, =gText_CantHoldAnyMore
- adds r0, r7, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- b _08029EA8
- .pool
-_08029E9C:
- cmp r6, 0x1
- bne _08029EA8
- ldr r1, =gText_FilledStorageSpace
- adds r0, r7, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
-_08029EA8:
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- ldr r2, =gStringVar4
- movs r1, 0x29
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
-_08029EC8:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029F08:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08029F2C
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08029F2C:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =0x0000020b
- movs r1, 0x14
- movs r2, 0xA
- bl FadeOutAndFadeInNewMapMusic
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003014
- adds r1, r0
- b _08029F8E
- .pool
-_08029F5C:
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bls _08029FF8
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08029FF8
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
-_08029F88:
- ldr r1, [r4]
-_08029F8A:
- ldr r2, =0x00003014
- adds r1, r2
-_08029F8E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08029FF8
- .pool
-_08029FA8:
- ldr r5, =0x00003008
- adds r0, r1, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- ldr r4, =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r6]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_08029FF8:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802988C
-
- thumb_func_start sub_802A010
-sub_802A010: @ 802A010
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r1, =gUnknown_02022CF8
- ldr r2, [r1]
- ldr r3, =0x00003014
- adds r0, r2, r3
- ldrb r6, [r0]
- adds r7, r1, 0
- cmp r6, 0x1
- beq _0802A0CC
- cmp r6, 0x1
- bgt _0802A040
- cmp r6, 0
- beq _0802A04E
- b _0802A2FC
- .pool
-_0802A040:
- cmp r6, 0x2
- bne _0802A046
- b _0802A194
-_0802A046:
- cmp r6, 0x3
- bne _0802A04C
- b _0802A1D0
-_0802A04C:
- b _0802A2FC
-_0802A04E:
- ldr r0, =gUnknown_082F7BD4
- mov r9, r0
- bl AddWindow
- ldr r1, [r7]
- ldr r4, =0x00003008
- adds r1, r4
- strb r0, [r1]
- movs r1, 0x8
- add r1, r9
- mov r8, r1
- mov r0, r8
- bl AddWindow
- ldr r1, [r7]
- ldr r2, =0x00003009
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r7]
- ldr r3, =0x00003009
- adds r0, r3
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r0, r9
- bl sub_8029174
- mov r0, r8
- bl sub_8029074
- ldr r1, [r7]
- ldr r0, =0x00003014
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r7]
- ldr r1, =0x00003020
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r7]
- ldr r2, =0x00003024
- adds r0, r2
- strb r6, [r0]
- b _0802A35E
- .pool
-_0802A0CC:
- ldr r3, =0x00003008
- mov r8, r3
- adds r0, r2, r3
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- ldr r1, =0x00003009
- mov r10, r1
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gText_WantToPlayAgain
- movs r1, 0x5
- str r1, [sp]
- movs r3, 0xFF
- mov r9, r3
- str r3, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, =gText_Yes
- str r6, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, =gText_No
- movs r1, 0x11
- str r1, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, =gText_SelectorArrow2
- str r6, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r7]
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r7]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802A2EA
- .pool
-_0802A194:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802A1B6
- ldr r0, [r7]
- ldr r3, =0x00003008
- adds r0, r3
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r7]
- ldr r1, =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
-_0802A1B6:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r7]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802A2EA
- .pool
-_0802A1D0:
- ldr r3, =0x00003020
- adds r0, r2, r3
- ldrb r5, [r0]
- cmp r5, 0
- bne _0802A1DC
- movs r5, 0x1
-_0802A1DC:
- ldr r0, =0x00003009
- mov r8, r0
- adds r0, r2, r0
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gText_Yes
- movs r1, 0x1
- str r1, [sp]
- movs r3, 0xFF
- mov r10, r3
- str r3, [sp, 0x4]
- movs r1, 0
- mov r9, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gText_No
- movs r1, 0x11
- str r1, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gText_SelectorArrow2
- subs r1, r5, 0x1
- lsls r1, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _0802A294
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r7]
- ldr r3, =0x00003020
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _0802A2E4
- strb r5, [r1]
- b _0802A2E4
- .pool
-_0802A294:
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _0802A2CC
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r7]
- ldr r2, =0x00003020
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _0802A2C2
- cmp r0, 0x1
- bgt _0802A2BC
- cmp r0, 0
- beq _0802A2C2
- b _0802A35E
- .pool
-_0802A2BC:
- cmp r0, 0x2
- beq _0802A2C8
- b _0802A35E
-_0802A2C2:
- movs r0, 0x2
- strb r0, [r1]
- b _0802A35E
-_0802A2C8:
- strb r5, [r1]
- b _0802A35E
-_0802A2CC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802A35E
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r7]
- ldr r3, =0x00003020
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
-_0802A2E4:
- ldr r1, [r7]
- ldr r0, =0x00003014
- adds r1, r0
-_0802A2EA:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802A35E
- .pool
-_0802A2FC:
- ldr r0, [r7]
- ldr r2, =0x00003020
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, =0x00003024
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r7]
- ldr r6, =0x00003008
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r7]
- ldr r1, =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r7]
- adds r0, r6
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r7]
- ldr r2, =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r7]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- movs r1, 0x1
- str r1, [r0]
-_0802A35E:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A010
-
- thumb_func_start sub_802A380
-sub_802A380: @ 802A380
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r5, =gUnknown_02022CF8
- ldr r0, [r5]
- ldr r6, =0x00003014
- adds r0, r6
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _0802A3D8
- cmp r4, 0x1
- bgt _0802A3A4
- cmp r4, 0
- beq _0802A3AE
- b _0802A420
- .pool
-_0802A3A4:
- cmp r4, 0x2
- beq _0802A3EC
- cmp r4, 0x3
- beq _0802A404
- b _0802A420
-_0802A3AE:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, =gText_SavingDontTurnOffPower
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- b _0802A410
- .pool
-_0802A3D8:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, [r5]
- ldr r0, =0x00003014
- adds r1, r0
- b _0802A414
- .pool
-_0802A3EC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802A448
- ldr r0, =sub_8153688
- movs r1, 0
- bl CreateTask
- b _0802A410
- .pool
-_0802A404:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0802A448
-_0802A410:
- ldr r1, [r5]
- adds r1, r6
-_0802A414:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802A448
- .pool
-_0802A420:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_0802A448:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A380
-
- thumb_func_start sub_802A454
-sub_802A454: @ 802A454
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r1, =gUnknown_02022CF8
- ldr r2, [r1]
- ldr r6, =0x00003014
- adds r0, r2, r6
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x1
- beq _0802A4AC
- cmp r0, 0x1
- bgt _0802A47C
- cmp r0, 0
- beq _0802A482
- b _0802A520
- .pool
-_0802A47C:
- cmp r0, 0x2
- beq _0802A4F4
- b _0802A520
-_0802A482:
- ldr r4, =gUnknown_082F7BEC
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- ldr r2, =0x00003008
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r2
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r4, 0
- bl sub_8029174
- b _0802A510
- .pool
-_0802A4AC:
- ldr r4, =0x00003008
- adds r0, r2, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, =gText_CommunicationStandby3
- movs r1, 0x5
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r5]
- ldr r0, =0x00003014
- adds r1, r0
- b _0802A514
- .pool
-_0802A4F4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802A50A
- ldr r0, [r5]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
-_0802A50A:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802A510:
- ldr r1, [r5]
- adds r1, r6
-_0802A514:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802A52C
- .pool
-_0802A520:
- ldr r0, [r5]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_0802A52C:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802A454
-
- thumb_func_start sub_802A534
-sub_802A534: @ 802A534
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r5, =gUnknown_02022CF8
- ldr r0, [r5]
- ldr r4, =0x00003008
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r5]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A534
-
- thumb_func_start sub_802A588
-sub_802A588: @ 802A588
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r7, =0x00003014
- adds r2, r1, r7
- ldrb r5, [r2]
- adds r6, r0, 0
- cmp r5, 0x1
- beq _0802A610
- cmp r5, 0x1
- bgt _0802A5B0
- cmp r5, 0
- beq _0802A5BA
- b _0802A6A4
- .pool
-_0802A5B0:
- cmp r5, 0x2
- beq _0802A658
- cmp r5, 0x3
- beq _0802A684
- b _0802A6A4
-_0802A5BA:
- ldr r4, =gUnknown_082F7BE4
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r6]
- ldr r2, =0x00003008
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r2
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r4, 0
- bl sub_8029174
- ldr r1, [r6]
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r6]
- ldr r2, =0x0000301c
- adds r1, r0, r2
- movs r2, 0
- strh r5, [r1]
- ldr r1, =0x00003020
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- b _0802A6EA
- .pool
-_0802A610:
- ldr r4, =0x00003008
- adds r0, r1, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, =gText_SomeoneDroppedOut
- movs r1, 0x5
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r6]
- ldr r2, =0x00003014
- adds r1, r2
- b _0802A678
- .pool
-_0802A658:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802A66E
- ldr r0, [r6]
- ldr r1, =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
-_0802A66E:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r6]
- adds r1, r7
-_0802A678:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0802A6EA
- .pool
-_0802A684:
- ldr r0, =0x0000301c
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x77
- bls _0802A6EA
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _0802A6EA
- .pool
-_0802A6A4:
- ldr r0, [r6]
- ldr r1, =0x00003024
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- ldr r0, [r6]
- ldr r4, =0x00003008
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r6]
- movs r2, 0xC0
- lsls r2, 6
- adds r0, r2
- movs r1, 0x1
- str r1, [r0]
-_0802A6EA:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A588
-
- thumb_func_start unused_0
-unused_0: @ 802A6FC
- push {r4,lr}
- ldr r4, =gUnknown_02022CF8
- ldr r0, [r4]
- ldr r1, =0x00003004
- adds r0, r1
- ldrb r0, [r0]
- bl DestroyTask
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unused_0
-
- thumb_func_start nullsub_16
-nullsub_16: @ 802A728
- bx lr
- thumb_func_end nullsub_16
-
- thumb_func_start sub_802A72C
-sub_802A72C: @ 802A72C
- push {r4,lr}
- ldr r2, =gUnknown_02022CF8
- ldr r1, [r2]
- ldr r3, =0x00003014
- adds r1, r3
- movs r3, 0
- strb r3, [r1]
- ldr r1, [r2]
- movs r4, 0xC0
- lsls r4, 6
- adds r2, r1, r4
- str r3, [r2]
- ldr r2, =0x00003028
- adds r1, r2
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A72C
-
- thumb_func_start sub_802A75C
-sub_802A75C: @ 802A75C
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r1, =0x00003028
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_802A75C
-
- thumb_func_start sub_802A770
-sub_802A770: @ 802A770
- push {lr}
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0802A78C
- movs r0, 0x1
- b _0802A78E
- .pool
-_0802A78C:
- movs r0, 0
-_0802A78E:
- pop {r1}
- bx r1
- thumb_func_end sub_802A770
-
- thumb_func_start sub_802A794
-sub_802A794: @ 802A794
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r1, =0x00003024
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_802A794
-
- thumb_func_start sub_802A7A8
-sub_802A7A8: @ 802A7A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0802A7CE:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0802A7CE
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082F7BA4
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl InitStandardTextBoxWindows
- bl sub_8197200
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, =gUnknown_02022CF8
- ldr r1, [r4]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 6
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802A7A8
-
- thumb_func_start sub_802A8E8
-sub_802A8E8: @ 802A8E8
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02022CF8
- ldr r0, [r0]
- ldr r2, =0x00003018
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x5
- bhi _0802A982
- lsls r0, 2
- ldr r1, =_0802A910
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802A910:
- .4byte _0802A928
- .4byte _0802A938
- .4byte _0802A93E
- .4byte _0802A94C
- .4byte _0802A964
- .4byte _0802A972
-_0802A928:
- ldr r0, =gDodrioBerryBgPal1
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- b _0802A98A
- .pool
-_0802A938:
- bl reset_temp_tile_data_buffers
- b _0802A98A
-_0802A93E:
- ldr r1, =gDodrioBerryBgGfx1
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- b _0802A954
- .pool
-_0802A94C:
- ldr r1, =gDodrioBerryBgGfx2
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
-_0802A954:
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _0802A98A
- .pool
-_0802A964:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0802A98A
- b _0802A998
-_0802A972:
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- b _0802A98A
-_0802A982:
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _0802A99A
-_0802A98A:
- ldr r0, =gUnknown_02022CF8
- ldr r1, [r0]
- ldr r0, =0x00003018
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0802A998:
- movs r0, 0
-_0802A99A:
- add sp, 0x4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802A8E8
-
- thumb_func_start sub_802A9A8
-sub_802A9A8: @ 802A9A8
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802AA3C
- ldr r5, =gUnknown_02022CFC
- ldr r0, =0x000083b0
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _0802AA3C
- bl ResetTasks
- ldr r0, =sub_802ACA0
- movs r1, 0x1
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, [r5]
- movs r1, 0
- strh r1, [r0, 0x8]
- str r6, [r0]
- strb r4, [r0, 0x4]
- bl GetMultiplayerId
- ldr r1, [r5]
- strb r0, [r1, 0x6]
- ldr r0, [r5]
- ldrb r2, [r0, 0x6]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- ldr r2, =0x000082a8
- adds r1, r2
- adds r0, r1
- movs r1, 0x64
- muls r1, r7
- ldr r2, =gPlayerParty
- adds r1, r2
- bl sub_802AC2C
- ldr r0, [r5]
- bl sub_802AA60
- ldr r2, [r5]
- adds r0, r4, 0
- movs r1, 0x2
- bl SetWordTaskArg
- ldr r0, =sub_802AC6C
- bl SetMainCallback2
- b _0802AA42
- .pool
-_0802AA3C:
- adds r0, r6, 0
- bl SetMainCallback2
-_0802AA42:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802A9A8
-
- thumb_func_start sub_802AA48
-sub_802AA48: @ 802AA48
- push {lr}
- bl sub_802D0AC
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AA48
-
- thumb_func_start sub_802AA60
-sub_802AA60: @ 802AA60
- push {r4,lr}
- adds r4, r0, 0
- bl GetLinkPlayerCount
- movs r2, 0
- strb r0, [r4, 0x5]
- adds r1, r4, 0
- adds r1, 0x70
- movs r0, 0x5
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x72
- strh r2, [r0]
- bl sub_802AB20
- adds r0, r4, 0
- bl sub_802AA94
- ldrb r0, [r4, 0x5]
- cmp r0, 0x5
- bne _0802AA8E
- bl sub_802E3A8
-_0802AA8E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802AA60
-
- thumb_func_start sub_802AA94
-sub_802AA94: @ 802AA94
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r0, 0x6
- str r0, [r4, 0x14]
- str r0, [r4, 0x18]
- adds r0, r4, 0
- adds r0, 0x4A
- movs r6, 0
- movs r5, 0
- strh r5, [r0]
- str r5, [r4, 0x1C]
- str r5, [r4, 0x5C]
- bl GetMultiplayerId
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _0802AABA
- movs r1, 0x1
-_0802AABA:
- adds r0, r4, 0
- adds r0, 0x47
- strb r1, [r0]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- str r5, [r4, 0x58]
- strh r5, [r4, 0x3A]
- subs r0, 0x3
- strb r6, [r0]
- str r5, [r4, 0x54]
- adds r0, 0x2
- strb r6, [r0]
- adds r0, 0x3
- strb r6, [r0]
- subs r0, 0x1
- movs r1, 0x1
- strb r1, [r0]
- str r5, [r4, 0x78]
- adds r0, 0x29
- strb r6, [r0]
- adds r0, 0x3
- strh r5, [r0]
- str r1, [r4, 0x60]
- subs r0, 0x27
- strb r6, [r0]
- str r5, [r4, 0x68]
- str r5, [r4, 0x64]
- str r5, [r4, 0x2C]
- str r5, [r4, 0x30]
- bl sub_802AB98
- bl sub_802C0E8
- movs r2, 0
- adds r5, r4, 0
- adds r5, 0x7C
- movs r3, 0
- adds r1, r4, 0
- adds r1, 0x9A
-_0802AB0C:
- adds r0, r5, r2
- strb r3, [r0]
- strh r3, [r1]
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x4
- ble _0802AB0C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802AA94
-
- thumb_func_start sub_802AB20
-sub_802AB20: @ 802AB20
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r7, =gUnknown_02022CFC
- movs r6, 0
- movs r5, 0
- ldr r0, =gPkmnJumpSpecies
- mov r8, r0
- movs r4, 0x4
-_0802AB32:
- ldr r0, [r7]
- adds r0, r5
- ldr r1, =0x000082a8
- adds r0, r1
- ldrh r0, [r0]
- bl sub_802AC00
- lsls r0, 16
- ldr r1, [r7]
- adds r1, r6
- asrs r0, 14
- add r0, r8
- ldrh r0, [r0, 0x2]
- ldr r2, =0x000082f0
- adds r1, r2
- strh r0, [r1]
- adds r6, 0x28
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _0802AB32
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldr r0, =0x000083ac
- adds r3, r1, r0
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, =0x000082e4
- adds r0, r2
- adds r1, r0
- str r1, [r3]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AB20
-
- thumb_func_start sub_802AB98
-sub_802AB98: @ 802AB98
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, =gUnknown_02022CFC
- movs r4, 0
- movs r3, 0
-_0802ABA2:
- ldr r2, [r6]
- adds r1, r2, r3
- ldr r7, =0x000082f2
- adds r0, r1, r7
- strh r4, [r0]
- adds r7, 0x2
- adds r0, r1, r7
- strh r4, [r0]
- ldr r0, =0x000082f6
- adds r1, r0
- strh r4, [r1]
- ldr r1, =0x000082e4
- adds r0, r2, r1
- adds r0, r3
- str r4, [r0]
- subs r7, 0xC
- adds r0, r2, r7
- adds r0, r3
- ldr r1, =0x7fffffff
- str r1, [r0]
- ldr r1, =0x000082f8
- adds r0, r2, r1
- adds r0, r3
- str r4, [r0]
- adds r2, 0x8B
- adds r2, r5
- movs r0, 0x9
- strb r0, [r2]
- adds r3, 0x28
- adds r5, 0x1
- cmp r5, 0x4
- ble _0802ABA2
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AB98
-
- thumb_func_start sub_802AC00
-sub_802AC00: @ 802AC00
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0
- ldr r2, =gPkmnJumpSpecies
-_0802AC0A:
- ldrh r0, [r2]
- cmp r0, r3
- bne _0802AC1C
- lsls r0, r1, 16
- asrs r0, 16
- b _0802AC28
- .pool
-_0802AC1C:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0x63
- bls _0802AC0A
- movs r0, 0x1
- negs r0, r0
-_0802AC28:
- pop {r1}
- bx r1
- thumb_func_end sub_802AC00
-
- thumb_func_start sub_802AC2C
-sub_802AC2C: @ 802AC2C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802AC2C
-
- thumb_func_start sub_802AC58
-sub_802AC58: @ 802AC58
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_802AC58
-
- thumb_func_start sub_802AC6C
-sub_802AC6C: @ 802AC6C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_802AC6C
-
- thumb_func_start sub_802AC84
-sub_802AC84: @ 802AC84
- push {lr}
- movs r1, 0x1
- bl CreateTask
- ldr r2, =gUnknown_02022CFC
- ldr r1, [r2]
- movs r3, 0
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- strh r3, [r0, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AC84
-
- thumb_func_start sub_802ACA0
-sub_802ACA0: @ 802ACA0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0x8]
- adds r2, r1, 0
- cmp r0, 0x5
- bls _0802ACB6
- b _0802AE08
-_0802ACB6:
- lsls r0, 2
- ldr r1, =_0802ACC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802ACC8:
- .4byte _0802ACE0
- .4byte _0802AD0C
- .4byte _0802AD3C
- .4byte _0802AD68
- .4byte _0802ADA4
- .4byte _0802ADD0
-_0802ACE0:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =sub_802BD84
- movs r1, 0x5
- bl sub_802BE60
- movs r0, 0x4
- bl FadeOutMapMusic
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802ADC0
- .pool
-_0802AD0C:
- ldr r0, =sub_802BD84
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0802AE08
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- adds r0, 0xA4
- bl sub_802D074
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- ldr r1, [r4]
- b _0802ADC0
- .pool
-_0802AD3C:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802AE08
- bl IsNotWaitingForBGMStop
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0802AE08
- ldr r0, =0x0000021a
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802ADC0
- .pool
-_0802AD68:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802AE08
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_802AC58
- bl SetVBlankCallback
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802ADC0
- .pool
-_0802ADA4:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0802AE08
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- strb r2, [r0, 0x7]
- ldr r1, [r1]
-_0802ADC0:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802AE08
- .pool
-_0802ADD0:
- ldr r0, [r2]
- ldrb r1, [r0, 0x7]
- adds r1, 0x1
- strb r1, [r0, 0x7]
- ldr r1, [r2]
- ldrb r0, [r1, 0x7]
- cmp r0, 0x13
- bls _0802AE08
- adds r0, r1, 0
- adds r0, 0x47
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802ADF8
- ldr r0, =sub_802AF80
- bl sub_802AC84
- b _0802ADFE
- .pool
-_0802ADF8:
- ldr r0, =sub_802B194
- bl sub_802AC84
-_0802ADFE:
- bl sub_802BE80
- adds r0, r4, 0
- bl DestroyTask
-_0802AE08:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802ACA0
-
- thumb_func_start sub_802AE14
-sub_802AE14: @ 802AE14
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- bne _0802AE34
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldr r0, =0x00001111
- str r0, [r1, 0x30]
- movs r0, 0x1
- str r0, [r1, 0x2C]
- b _0802AE46
- .pool
-_0802AE34:
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- subs r1, 0x1
- movs r0, 0x1
- lsls r0, r1
- subs r0, 0x1
- str r0, [r2, 0x30]
- movs r0, 0
- str r0, [r2, 0x2C]
-_0802AE46:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AE14
-
- thumb_func_start sub_802AE50
-sub_802AE50: @ 802AE50
- push {r4-r6,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- adds r1, 0x70
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r4]
- movs r3, 0
- strh r2, [r0, 0x8]
- strh r2, [r0, 0xA]
- adds r0, 0x48
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x49
- strb r3, [r0]
- movs r3, 0x1
- ldr r0, [r4]
- ldrb r0, [r0, 0x5]
- cmp r3, r0
- bge _0802AE94
- adds r6, r4, 0
- ldr r5, =0x000082fc
- movs r4, 0
- movs r2, 0x28
-_0802AE82:
- ldr r1, [r6]
- adds r0, r1, r5
- adds r0, r2
- str r4, [r0]
- adds r2, 0x28
- adds r3, 0x1
- ldrb r1, [r1, 0x5]
- cmp r3, r1
- blt _0802AE82
-_0802AE94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AE50
-
- thumb_func_start sub_802AEA4
-sub_802AEA4: @ 802AEA4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r4, 0x1
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r7, =gUnknown_02022CFC
- ldr r0, [r7]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _0802AF48
- adds r1, r7, 0
- mov r10, r1
- movs r2, 0x2
- add r2, sp
- mov r8, r2
- ldr r3, =0x0000830c
- mov r9, r3
- movs r6, 0x28
-_0802AED0:
- mov r1, r10
- ldr r0, [r1]
- adds r1, r0, r6
- ldr r2, =0x000082f4
- adds r1, r2
- ldrh r5, [r1]
- add r0, r9
- adds r1, r4, 0
- mov r2, sp
- mov r3, r8
- bl sub_802E264
- cmp r0, 0
- beq _0802AF10
- ldr r2, [r7]
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x90
- adds r0, r1
- mov r3, r8
- ldrh r1, [r3]
- strh r1, [r0]
- adds r2, 0x8B
- adds r2, r4
- mov r0, sp
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r0, [r7]
- adds r0, r6
- ldr r1, =0x000082f6
- adds r0, r1
- strh r5, [r0]
-_0802AF10:
- mov r2, r10
- ldr r1, [r2]
- ldr r3, =0x000082fc
- adds r0, r1, r3
- adds r0, r6
- ldr r0, [r0]
- cmp r0, 0
- beq _0802AF36
- adds r0, r1, 0
- adds r0, 0x8B
- adds r0, r4
- adds r1, 0x70
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0802AF36
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x4]
-_0802AF36:
- movs r1, 0x28
- add r9, r1
- adds r6, 0x28
- adds r4, 0x1
- ldr r7, =gUnknown_02022CFC
- ldr r0, [r7]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _0802AED0
-_0802AF48:
- ldr r2, =gUnknown_02022CFC
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- ldr r3, [sp, 0x4]
- cmp r3, r0
- bne _0802AF5C
- adds r1, 0x49
- movs r0, 0x1
- strb r0, [r1]
-_0802AF5C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AEA4
-
- thumb_func_start sub_802AF80
-sub_802AF80: @ 802AF80
- push {r4,r5,lr}
- bl sub_802AEA4
- bl sub_802C43C
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802AFB2
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802AFB2
- adds r0, r1, 0
- adds r0, 0x4C
- ldrb r0, [r0]
- bl sub_802AE50
- movs r0, 0x3
- bl sub_802AE14
-_0802AFB2:
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r5, [r0]
- cmp r5, 0x1
- bne _0802AFEE
- ldr r1, =gUnknown_082FB5F4
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- adds r1, r0, 0
- cmp r1, 0
- bne _0802AFEE
- ldr r0, [r4]
- adds r0, 0x48
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, =0x000082fc
- adds r1, r2
- adds r1, r0
- str r5, [r1]
-_0802AFEE:
- bl sub_802C1DC
- bl sub_802B008
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802AF80
-
- thumb_func_start sub_802B008
-sub_802B008: @ 802B008
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldr r0, [r1, 0x2C]
- cmp r0, 0
- bne _0802B01E
- ldr r2, =0x000082e4
- adds r0, r1, r2
- adds r1, 0x70
- bl sub_802E138
-_0802B01E:
- ldr r1, [r4]
- ldr r2, [r1, 0x30]
- ldr r0, =0x00001111
- cmp r2, r0
- beq _0802B030
- ldr r0, [r1, 0x2C]
- adds r0, 0x1
- ands r0, r2
- str r0, [r1, 0x2C]
-_0802B030:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802B008
-
- thumb_func_start sub_802B044
-sub_802B044: @ 802B044
- ldr r2, =gUnknown_02022CFC
- ldr r1, [r2]
- adds r1, 0x70
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- strh r3, [r0, 0x8]
- strh r3, [r0, 0xA]
- adds r0, 0x48
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r2]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, =0x000082fc
- adds r1, r2
- adds r1, r0
- str r3, [r1]
- bx lr
- .pool
- thumb_func_end sub_802B044
-
- thumb_func_start sub_802B078
-sub_802B078: @ 802B078
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldr r2, =0x000082f4
- adds r1, r0, r2
- ldrh r1, [r1]
- mov r8, r1
- ldr r3, =0x000082e4
- adds r0, r3
- mov r1, sp
- bl sub_802E1BC
- cmp r0, 0
- beq _0802B128
- ldr r2, [r4]
- ldrb r0, [r2, 0x6]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r3, =0x000082fc
- adds r0, r2, r3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0802B0C6
- mov r0, sp
- adds r1, r2, 0
- adds r1, 0x70
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _0802B0C6
- mov r0, sp
- ldrb r0, [r0]
- bl sub_802B044
-_0802B0C6:
- ldr r3, =gUnknown_02022CFC
- ldr r2, [r3]
- ldr r0, [r2, 0x78]
- ldr r1, [sp, 0x8]
- cmp r0, r1
- beq _0802B108
- str r1, [r2, 0x78]
- movs r4, 0x1
- str r4, [r2, 0x5C]
- mov r0, sp
- ldrb r1, [r0, 0x1]
- adds r0, r2, 0
- adds r0, 0x71
- strb r1, [r0]
- ldr r0, [r3]
- adds r1, r0, 0
- adds r1, 0x71
- ldrb r1, [r1]
- cmp r1, 0
- beq _0802B104
- adds r0, 0x4D
- strb r4, [r0]
- b _0802B108
- .pool
-_0802B104:
- adds r0, 0x4D
- strb r1, [r0]
-_0802B108:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- mov r0, sp
- ldrh r2, [r0, 0x4]
- adds r0, r1, 0
- adds r0, 0x74
- strh r2, [r0]
- ldr r0, =0x000082f6
- adds r1, r0
- mov r2, r8
- strh r2, [r1]
-_0802B128:
- movs r4, 0x1
- ldr r2, =gUnknown_02022CFC
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _0802B176
- adds r7, r2, 0
- ldr r6, =0x0000830c
- movs r5, 0x28
-_0802B13A:
- ldr r1, [r7]
- ldrb r3, [r1, 0x6]
- cmp r4, r3
- beq _0802B168
- adds r0, r1, r5
- ldr r3, =0x000082f4
- adds r0, r3
- ldrh r0, [r0]
- mov r8, r0
- adds r0, r1, r6
- adds r1, r4, 0
- str r2, [sp, 0xC]
- bl sub_802E2D0
- ldr r2, [sp, 0xC]
- cmp r0, 0
- beq _0802B168
- ldr r0, [r7]
- adds r0, r5
- ldr r1, =0x000082f6
- adds r0, r1
- mov r3, r8
- strh r3, [r0]
-_0802B168:
- adds r6, 0x28
- adds r5, 0x28
- adds r4, 0x1
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _0802B13A
-_0802B176:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802B078
-
- thumb_func_start sub_802B194
-sub_802B194: @ 802B194
- push {r4,lr}
- bl sub_802B078
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802B1E0
- ldr r1, =gUnknown_082FB618
- adds r0, r2, 0
- adds r0, 0x70
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- adds r1, r0, 0
- cmp r1, 0
- bne _0802B1E0
- ldr r0, [r4]
- adds r0, 0x48
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, =0x000082fc
- adds r1, r2
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x3
- bl sub_802AE14
-_0802B1E0:
- bl sub_802C1DC
- bl sub_802B1FC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802B194
-
- thumb_func_start sub_802B1FC
-sub_802B1FC: @ 802B1FC
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- ldr r0, [r2, 0x2C]
- cmp r0, 0
- bne _0802B224
- ldrb r1, [r2, 0x6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =0x000082e4
- adds r0, r1
- adds r0, r2, r0
- adds r1, r2, 0
- adds r1, 0x70
- ldrb r1, [r1]
- adds r2, 0x42
- ldrh r2, [r2]
- bl sub_802E234
-_0802B224:
- ldr r1, [r4]
- ldr r2, [r1, 0x30]
- ldr r0, =0x00001111
- cmp r2, r0
- beq _0802B236
- ldr r0, [r1, 0x2C]
- adds r0, 0x1
- ands r0, r2
- str r0, [r1, 0x2C]
-_0802B236:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802B1FC
-
- thumb_func_start sub_802B248
-sub_802B248: @ 802B248
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B260
- cmp r0, 0x1
- beq _0802B26E
- b _0802B294
- .pool
-_0802B260:
- movs r0, 0x3
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B26E:
- bl sub_802B7E0
- cmp r0, 0
- bne _0802B294
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x4A
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0
- b _0802B296
- .pool
-_0802B294:
- movs r0, 0x1
-_0802B296:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B248
-
- thumb_func_start sub_802B29C
-sub_802B29C: @ 802B29C
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B2B4
- cmp r0, 0x1
- beq _0802B2CA
- movs r0, 0x1
- b _0802B2CE
- .pool
-_0802B2B4:
- movs r0, 0
- bl sub_802AE14
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x72
- ldrh r0, [r0]
- str r0, [r1, 0x24]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B2CA:
- bl sub_802B7E0
-_0802B2CE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B29C
-
- thumb_func_start sub_802B2D4
-sub_802B2D4: @ 802B2D4
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- beq _0802B2EC
- cmp r0, 0x1
- beq _0802B300
- b _0802B314
- .pool
-_0802B2EC:
- bl sub_802C0E8
- movs r0, 0x5
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B314
-_0802B300:
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802B314
- adds r1, 0x4C
- movs r0, 0x2
- strb r0, [r1]
- movs r0, 0
- b _0802B316
-_0802B314:
- movs r0, 0x1
-_0802B316:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B2D4
-
- thumb_func_start sub_802B31C
-sub_802B31C: @ 802B31C
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B334
- cmp r0, 0x1
- beq _0802B352
- b _0802B35E
- .pool
-_0802B334:
- bl sub_802C0E8
- movs r0, 0
- bl sub_802AE14
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x72
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x4A
- strh r0, [r2]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B352:
- bl sub_802C70C
- cmp r0, 0
- beq _0802B35E
- movs r0, 0
- b _0802B360
-_0802B35E:
- movs r0, 0x1
-_0802B360:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B31C
-
- thumb_func_start sub_802B368
-sub_802B368: @ 802B368
- push {lr}
- bl sub_802B8CC
- cmp r0, 0
- bne _0802B390
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x4A
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x1
- strb r0, [r1]
- b _0802B3AA
- .pool
-_0802B390:
- bl sub_802C538
- cmp r0, 0
- beq _0802B39C
- movs r0, 0x1
- b _0802B3AC
-_0802B39C:
- bl sub_802C0B8
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x4C
- movs r1, 0x3
- strb r1, [r0]
-_0802B3AA:
- movs r0, 0
-_0802B3AC:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802B368
-
- thumb_func_start sub_802B3B4
-sub_802B3B4: @ 802B3B4
- push {lr}
- bl sub_802B8CC
- cmp r0, 0
- beq _0802B3CE
- bl sub_802C538
- cmp r0, 0
- beq _0802B3CA
- movs r0, 0x1
- b _0802B3D0
-_0802B3CA:
- bl sub_802C0B8
-_0802B3CE:
- movs r0, 0
-_0802B3D0:
- pop {r1}
- bx r1
- thumb_func_end sub_802B3B4
-
- thumb_func_start sub_802B3D4
-sub_802B3D4: @ 802B3D4
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0x1
- beq _0802B40C
- cmp r0, 0x1
- bgt _0802B3F0
- cmp r0, 0
- beq _0802B3F6
- b _0802B468
- .pool
-_0802B3F0:
- cmp r0, 0x2
- beq _0802B460
- b _0802B468
-_0802B3F6:
- bl sub_802C538
- bl sub_802C5DC
- cmp r0, 0
- beq _0802B468
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B468
-_0802B40C:
- bl sub_802B964
- cmp r0, 0
- bne _0802B468
- bl sub_802C7BC
- cmp r0, 0
- beq _0802B42E
- bl sub_802C7E0
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x7
- b _0802B454
-_0802B42E:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0xC7
- bls _0802B448
- ldrh r0, [r1, 0xE]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x8
- b _0802B454
-_0802B448:
- ldrh r0, [r1, 0xE]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x4
-_0802B454:
- strb r0, [r1]
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B460:
- movs r0, 0
- b _0802B46A
- .pool
-_0802B468:
- movs r0, 0x1
-_0802B46A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B3D4
-
- thumb_func_start sub_802B470
-sub_802B470: @ 802B470
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0x1
- beq _0802B4B0
- cmp r0, 0x1
- bgt _0802B48C
- cmp r0, 0
- beq _0802B492
- b _0802B4C4
- .pool
-_0802B48C:
- cmp r0, 0x2
- beq _0802B4C0
- b _0802B4C4
-_0802B492:
- bl sub_802C538
- cmp r0, 0
- bne _0802B49E
- bl sub_802C0B8
-_0802B49E:
- bl sub_802C5DC
- cmp r0, 0
- beq _0802B4C4
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B4C4
-_0802B4B0:
- bl sub_802B964
- cmp r0, 0
- bne _0802B4C4
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B4C0:
- movs r0, 0
- b _0802B4C6
-_0802B4C4:
- movs r0, 0x1
-_0802B4C6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B470
-
- thumb_func_start sub_802B4CC
-sub_802B4CC: @ 802B4CC
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r1, [r0, 0x8]
- cmp r1, 0x1
- beq _0802B500
- cmp r1, 0x1
- bgt _0802B4E8
- cmp r1, 0
- beq _0802B4F2
- b _0802B560
- .pool
-_0802B4E8:
- cmp r1, 0x2
- beq _0802B52C
- cmp r1, 0x3
- beq _0802B556
- b _0802B560
-_0802B4F2:
- movs r0, 0x4
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B500:
- bl sub_802BB84
- cmp r0, 0
- bne _0802B560
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_802E354
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B560
- .pool
-_0802B52C:
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802B560
- bl sub_802C650
- cmp r0, 0
- beq _0802B544
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x5
- b _0802B54A
-_0802B544:
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x6
-_0802B54A:
- strb r1, [r0]
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B556:
- movs r0, 0
- b _0802B562
- .pool
-_0802B560:
- movs r0, 0x1
-_0802B562:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B4CC
-
- thumb_func_start sub_802B568
-sub_802B568: @ 802B568
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B580
- cmp r0, 0x1
- beq _0802B58E
- b _0802B5C0
- .pool
-_0802B580:
- movs r0, 0
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B58E:
- bl sub_802BB84
- cmp r0, 0
- bne _0802B5C0
- ldr r4, =gUnknown_02022CFC
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_802E354
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x45
- ldrb r1, [r1]
- adds r0, 0x42
- strh r1, [r0]
- movs r0, 0
- b _0802B5C2
- .pool
-_0802B5C0:
- movs r0, 0x1
-_0802B5C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B568
-
- thumb_func_start sub_802B5C8
-sub_802B5C8: @ 802B5C8
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- beq _0802B5E0
- cmp r0, 0x1
- beq _0802B5F2
- b _0802B61E
- .pool
-_0802B5E0:
- bl sub_802BD30
- cmp r0, 0
- bne _0802B61E
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B61E
-_0802B5F2:
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802B61E
- adds r0, r1, 0
- bl sub_802AA94
- bl Random
- ldr r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- str r0, [r1, 0x24]
- adds r3, r1, 0
- adds r3, 0x72
- movs r2, 0
- strh r0, [r3]
- adds r1, 0x4C
- strb r2, [r1]
- movs r0, 0
- b _0802B620
-_0802B61E:
- movs r0, 0x1
-_0802B620:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B5C8
-
- thumb_func_start sub_802B628
-sub_802B628: @ 802B628
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B640
- cmp r0, 0x1
- beq _0802B656
- b _0802B65A
- .pool
-_0802B640:
- bl sub_802BD30
- cmp r0, 0
- bne _0802B65A
- ldr r0, [r4]
- bl sub_802AA94
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0802B656:
- movs r0, 0
- b _0802B65C
-_0802B65A:
- movs r0, 0x1
-_0802B65C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B628
-
- thumb_func_start sub_802B664
-sub_802B664: @ 802B664
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0x1
- beq _0802B68C
- cmp r0, 0x1
- bgt _0802B680
- cmp r0, 0
- beq _0802B686
- b _0802B6B0
- .pool
-_0802B680:
- cmp r0, 0x2
- beq _0802B69C
- b _0802B6B0
-_0802B686:
- movs r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B6B0
-_0802B68C:
- movs r0, 0
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B6B0
-_0802B69C:
- bl sub_802BC60
- cmp r0, 0
- bne _0802B6B0
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_802AA48
-_0802B6B0:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B664
-
- thumb_func_start sub_802B6B8
-sub_802B6B8: @ 802B6B8
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0802B6D0
- cmp r0, 0x1
- beq _0802B6E0
- b _0802B6FC
- .pool
-_0802B6D0:
- movs r0, 0x4
- bl sub_802AE14
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B6FC
-_0802B6E0:
- bl sub_802BA58
- cmp r0, 0
- bne _0802B6FC
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- adds r2, r0, 0
- adds r2, 0x72
- strh r1, [r2]
- adds r0, 0x4C
- movs r1, 0x8
- strb r1, [r0]
- movs r0, 0
- b _0802B6FE
-_0802B6FC:
- movs r0, 0x1
-_0802B6FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B6B8
-
- thumb_func_start sub_802B704
-sub_802B704: @ 802B704
- push {lr}
- movs r0, 0
- bl sub_802AE14
- bl sub_802BA58
- cmp r0, 0
- beq _0802B718
- movs r0, 0x1
- b _0802B71A
-_0802B718:
- movs r0, 0
-_0802B71A:
- pop {r1}
- bx r1
- thumb_func_end sub_802B704
-
- thumb_func_start sub_802B720
-sub_802B720: @ 802B720
- push {r4,lr}
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0x8]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0802B7D8
- lsls r0, 2
- ldr r1, =_0802B740
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802B740:
- .4byte _0802B754
- .4byte _0802B770
- .4byte _0802B780
- .4byte _0802B798
- .4byte _0802B7BC
-_0802B754:
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_802E354
- movs r0, 0x5
- bl sub_802D0C8
- ldr r1, [r4]
- b _0802B7AC
-_0802B770:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802B7D8
- movs r0, 0
- bl sub_802AE14
- b _0802B7A8
-_0802B780:
- bl sub_802C70C
- cmp r0, 0
- beq _0802B7D8
- ldr r0, =sub_8153688
- movs r1, 0x6
- bl CreateTask
- b _0802B7A8
- .pool
-_0802B798:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0802B7D8
- bl sub_802DA14
-_0802B7A8:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802B7AC:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0802B7D8
- .pool
-_0802B7BC:
- bl sub_802DA44
- cmp r0, 0
- bne _0802B7D8
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x4C
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0
- b _0802B7DA
- .pool
-_0802B7D8:
- movs r0, 0x1
-_0802B7DA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B720
-
- thumb_func_start sub_802B7E0
-sub_802B7E0: @ 802B7E0
- push {r4,r5,lr}
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x7
- bhi _0802B8C4
- lsls r0, 2
- ldr r1, =_0802B800
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802B800:
- .4byte _0802B820
- .4byte _0802B82C
- .4byte _0802B84C
- .4byte _0802B866
- .4byte _0802B878
- .4byte _0802B880
- .4byte _0802B8A0
- .4byte _0802B8BA
-_0802B820:
- movs r0, 0x2
- bl sub_802D0C8
- bl sub_802DDE0
- b _0802B890
-_0802B82C:
- bl sub_802D0F0
- adds r5, r0, 0
- cmp r5, 0
- bne _0802B8C4
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- bl sub_802DDF4
- ldr r1, [r4]
- strh r5, [r1, 0x3C]
- b _0802B894
- .pool
-_0802B84C:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x78
- bls _0802B8C4
- movs r0, 0x3
- bl sub_802D0C8
- ldr r1, [r4]
- b _0802B894
-_0802B866:
- bl sub_802D0F0
- cmp r0, 0x1
- beq _0802B8C4
- bl sub_802DE08
- cmp r0, 0x1
- beq _0802B8C4
- b _0802B890
-_0802B878:
- movs r0, 0x9
- bl sub_802D0C8
- b _0802B890
-_0802B880:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802B8C4
- bl sub_802C260
- bl sub_802D764
-_0802B890:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802B894:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802B8C4
- .pool
-_0802B8A0:
- bl sub_802D788
- cmp r0, 0
- bne _0802B8C4
- bl sub_802C270
- bl sub_802BEA0
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802B8BA:
- movs r0, 0
- b _0802B8C6
- .pool
-_0802B8C4:
- movs r0, 0x1
-_0802B8C6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802B7E0
-
- thumb_func_start sub_802B8CC
-sub_802B8CC: @ 802B8CC
- push {r4,r5,lr}
- bl sub_802BEE4
- ldr r5, =gUnknown_02022CFC
- ldr r1, [r5]
- ldrh r4, [r1, 0x36]
- cmp r4, 0
- beq _0802B8E8
- movs r0, 0
- strh r0, [r1, 0x36]
- b _0802B95C
- .pool
-_0802B8E8:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x1
- beq _0802B914
- cmp r0, 0x1
- bgt _0802B8F8
- cmp r0, 0
- beq _0802B902
- b _0802B95A
-_0802B8F8:
- cmp r0, 0x2
- beq _0802B938
- cmp r0, 0x3
- beq _0802B94C
- b _0802B95A
-_0802B902:
- movs r0, 0
- bl sub_802C130
- cmp r0, 0
- beq _0802B95A
- ldr r1, [r5]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802B914:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802B95A
- bl sub_802C164
- movs r0, 0x3
- bl sub_802AE14
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802B944
- .pool
-_0802B938:
- movs r0, 0x1
- bl sub_802C130
- cmp r0, 0x1
- bne _0802B95A
- ldr r1, [r5]
-_0802B944:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802B95A
-_0802B94C:
- movs r0, 0
- bl sub_802C130
- cmp r0, 0x1
- bne _0802B95A
- ldr r0, [r5]
- strh r4, [r0, 0xA]
-_0802B95A:
- movs r0, 0x1
-_0802B95C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802B8CC
-
- thumb_func_start sub_802B964
-sub_802B964: @ 802B964
- push {r4-r6,lr}
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r5, r1, 0
- cmp r0, 0x4
- bhi _0802BA50
- lsls r0, 2
- ldr r1, =_0802B984
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802B984:
- .4byte _0802B998
- .4byte _0802B9BC
- .4byte _0802BA00
- .4byte _0802BA24
- .4byte _0802BA46
-_0802B998:
- movs r4, 0
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _0802B9B8
- adds r6, r5, 0
-_0802B9A4:
- adds r0, r4, 0
- bl sub_802DDB8
- cmp r0, 0x1
- beq _0802BA50
- adds r4, 0x1
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _0802B9A4
-_0802B9B8:
- ldr r1, [r5]
- b _0802BA1C
-_0802B9BC:
- movs r4, 0
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _0802B9EC
- adds r6, r5, 0
- movs r5, 0
-_0802B9CA:
- ldr r0, [r6]
- adds r0, r5
- ldr r1, =0x000082f4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _0802B9E0
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_802DDA0
-_0802B9E0:
- adds r5, 0x28
- adds r4, 0x1
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _0802B9CA
-_0802B9EC:
- movs r0, 0x1
- bl sub_802D0C8
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- b _0802BA18
- .pool
-_0802BA00:
- ldr r1, [r5]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x64
- bls _0802BA50
- movs r0, 0x3
- bl sub_802D0C8
- ldr r1, [r5]
-_0802BA18:
- movs r0, 0
- strh r0, [r1, 0x3C]
-_0802BA1C:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BA50
-_0802BA24:
- bl sub_802D0F0
- adds r5, r0, 0
- cmp r5, 0
- bne _0802BA50
- bl sub_802DDCC
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- adds r0, 0x71
- strb r5, [r0]
- bl sub_802C114
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802BA46:
- movs r0, 0
- b _0802BA52
- .pool
-_0802BA50:
- movs r0, 0x1
-_0802BA52:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_802B964
-
- thumb_func_start sub_802BA58
-sub_802BA58: @ 802BA58
- push {r4,lr}
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _0802BA68
- b _0802BB7C
-_0802BA68:
- lsls r0, 2
- ldr r1, =_0802BA7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802BA7C:
- .4byte _0802BA98
- .4byte _0802BAB8
- .4byte _0802BAD0
- .4byte _0802BB00
- .4byte _0802BAB8
- .4byte _0802BAD0
- .4byte _0802BB70
-_0802BA98:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x72
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x3E
- adds r2, 0x40
- bl sub_802C808
- ldr r1, [r4]
- ldrh r0, [r1, 0x3E]
- adds r1, 0x40
- ldrh r1, [r1]
- bl sub_802D7E8
- b _0802BAF0
-_0802BAB8:
- bl sub_802D974
- adds r2, r0, 0
- cmp r2, 0
- bne _0802BB7C
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- strh r2, [r1, 0x3C]
- b _0802BAF2
- .pool
-_0802BAD0:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r2, r0, 0x1
- strh r2, [r1, 0x3C]
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0802BAEC
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0xB4
- bls _0802BB7C
-_0802BAEC:
- bl sub_802DA14
-_0802BAF0:
- ldr r1, [r4]
-_0802BAF2:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BB7C
- .pool
-_0802BB00:
- bl sub_802DA44
- cmp r0, 0
- bne _0802BB7C
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldrh r0, [r1, 0x3E]
- adds r1, 0x40
- ldrh r1, [r1]
- bl sub_802C880
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x40
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- beq _0802BB58
- ldrh r0, [r1, 0x3E]
- ldrh r1, [r2]
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _0802BB58
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- bne _0802BB50
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- bl sub_802D884
- b _0802BB62
- .pool
-_0802BB50:
- ldr r1, [r4]
- movs r0, 0x6
- strh r0, [r1, 0xA]
- b _0802BB7C
-_0802BB58:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- bl sub_802D8FC
-_0802BB62:
- ldr r1, [r4]
- movs r0, 0x4
- strh r0, [r1, 0xA]
- b _0802BB7C
- .pool
-_0802BB70:
- bl sub_802DA44
- cmp r0, 0
- bne _0802BB7C
- movs r0, 0
- b _0802BB7E
-_0802BB7C:
- movs r0, 0x1
-_0802BB7E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802BA58
-
- thumb_func_start sub_802BB84
-sub_802BB84: @ 802BB84
- push {r4,lr}
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x6
- bhi _0802BC58
- lsls r0, 2
- ldr r1, =_0802BBA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802BBA4:
- .4byte _0802BBC0
- .4byte _0802BBC4
- .4byte _0802BBCE
- .4byte _0802BC1C
- .4byte _0802BC26
- .4byte _0802BC3C
- .4byte _0802BC4E
-_0802BBC0:
- movs r0, 0x4
- b _0802BC28
-_0802BBC4:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802BC58
- b _0802BC2C
-_0802BBCE:
- bl sub_802DA8C
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0802BC04
- cmp r1, 0
- bgt _0802BBE8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0802BBEC
- b _0802BC58
-_0802BBE8:
- cmp r1, 0x1
- bne _0802BC58
-_0802BBEC:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- adds r0, 0x45
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x6
- bl sub_802D0C8
- ldr r1, [r4]
- b _0802BC30
- .pool
-_0802BC04:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- adds r0, 0x45
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x6
- bl sub_802D0C8
- ldr r1, [r4]
- b _0802BC30
- .pool
-_0802BC1C:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802BC58
- b _0802BC2C
-_0802BC26:
- movs r0, 0x8
-_0802BC28:
- bl sub_802D0C8
-_0802BC2C:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802BC30:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BC58
- .pool
-_0802BC3C:
- bl sub_802D0F0
- cmp r0, 0
- bne _0802BC58
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802BC4E:
- movs r0, 0
- b _0802BC5A
- .pool
-_0802BC58:
- movs r0, 0x1
-_0802BC5A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802BB84
-
- thumb_func_start sub_802BC60
-sub_802BC60: @ 802BC60
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x5
- bhi _0802BD24
- lsls r0, 2
- ldr r1, =_0802BC84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802BC84:
- .4byte _0802BC9C
- .4byte _0802BCA2
- .4byte _0802BCB2
- .4byte _0802BCC8
- .4byte _0802BCEE
- .4byte _0802BD14
-_0802BC9C:
- bl sub_802DA14
- b _0802BCFE
-_0802BCA2:
- bl sub_802DA44
- cmp r0, 0
- bne _0802BD24
- movs r0, 0x7
- bl sub_802D0C8
- b _0802BCFE
-_0802BCB2:
- bl sub_802D0F0
- adds r2, r0, 0
- cmp r2, 0
- bne _0802BD24
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- strh r2, [r1, 0x3C]
- b _0802BD02
- .pool
-_0802BCC8:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x78
- bls _0802BD24
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- b _0802BD02
-_0802BCEE:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0802BD24
- bl sub_800AC34
-_0802BCFE:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802BD02:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BD24
- .pool
-_0802BD14:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802BD24
- movs r0, 0
- b _0802BD26
- .pool
-_0802BD24:
- movs r0, 0x1
-_0802BD26:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802BC60
-
- thumb_func_start sub_802BD30
-sub_802BD30: @ 802BD30
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x1
- beq _0802BD66
- cmp r0, 0x1
- bgt _0802BD4C
- cmp r0, 0
- beq _0802BD52
- b _0802BD7A
- .pool
-_0802BD4C:
- cmp r0, 0x2
- beq _0802BD76
- b _0802BD7A
-_0802BD52:
- bl sub_802DA14
- movs r0, 0
- bl sub_802DD64
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _0802BD7A
-_0802BD66:
- bl sub_802DA44
- cmp r0, 0
- bne _0802BD7A
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0802BD76:
- movs r0, 0
- b _0802BD7C
-_0802BD7A:
- movs r0, 0x1
-_0802BD7C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802BD30
-
- thumb_func_start sub_802BD84
-sub_802BD84: @ 802BD84
- 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 r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- mov r0, r10
- movs r1, 0xE
- bl GetWordTaskArg
- mov r8, r0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0802BDC8
- cmp r0, 0x1
- beq _0802BDDC
- b _0802BE48
- .pool
-_0802BDBC:
- bl sub_802AB20
- mov r0, r10
- bl DestroyTask
- b _0802BE48
-_0802BDC8:
- movs r1, 0
- adds r0, r6, 0
- adds r0, 0x8
-_0802BDCE:
- strh r1, [r0, 0x4]
- subs r0, 0x2
- cmp r0, r6
- bge _0802BDCE
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_0802BDDC:
- mov r3, r8
- ldrb r1, [r3, 0x6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r4, =0x000082a8
- adds r0, r4
- add r0, r8
- bl sub_802E0AC
- movs r2, 0
- adds r5, r6, 0x4
- mov r9, r2
- movs r7, 0x83
- lsls r7, 8
- add r7, r8
- add r4, r8
-_0802BDFE:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0802BE38
- adds r0, r2, 0
- adds r1, r4, 0
- str r2, [sp]
- bl sub_802E0D0
- ldr r2, [sp]
- cmp r0, 0
- beq _0802BE38
- ldr r1, =gLinkPlayers + 8
- add r1, r9
- adds r0, r7, 0
- bl StringCopy
- movs r0, 0x1
- strh r0, [r5]
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- movs r3, 0x2
- ldrsh r0, [r6, r3]
- ldr r2, [sp]
- mov r1, r8
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- beq _0802BDBC
-_0802BE38:
- adds r5, 0x2
- movs r3, 0x1C
- add r9, r3
- adds r7, 0x28
- adds r4, 0xC
- adds r2, 0x1
- cmp r2, 0x4
- ble _0802BDFE
-_0802BE48:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BD84
-
- thumb_func_start sub_802BE60
-sub_802BE60: @ 802BE60
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02022CFC
- ldr r2, [r1]
- movs r1, 0xE
- bl SetWordTaskArg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BE60
-
- thumb_func_start sub_802BE80
-sub_802BE80: @ 802BE80
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4A
- movs r1, 0
- strh r1, [r0]
- movs r0, 0x6
- str r0, [r2, 0x14]
- strh r1, [r2, 0x34]
- str r1, [r2, 0x1C]
- strh r1, [r2, 0x36]
- str r1, [r2, 0x10]
- bx lr
- .pool
- thumb_func_end sub_802BE80
-
- thumb_func_start sub_802BEA0
-sub_802BEA0: @ 802BEA0
- push {r4,lr}
- ldr r3, =gUnknown_02022CFC
- ldr r0, [r3]
- adds r1, r0, 0
- adds r1, 0x4A
- movs r4, 0
- movs r2, 0
- strh r2, [r1]
- ldr r1, =0x000006ff
- strh r1, [r0, 0x34]
- movs r1, 0x7
- str r1, [r0, 0x14]
- strh r2, [r0, 0x36]
- str r2, [r0, 0x10]
- adds r0, 0x51
- strb r4, [r0]
- ldr r0, [r3]
- adds r0, 0x50
- strb r4, [r0]
- ldr r0, [r3]
- str r2, [r0, 0x20]
- adds r1, r0, 0
- adds r1, 0x4E
- strh r2, [r1]
- str r2, [r0, 0x6C]
- bl sub_802BF7C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BEA0
-
- thumb_func_start sub_802BEE4
-sub_802BEE4: @ 802BEE4
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x46
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802BF34
- adds r1, 0x4A
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl sub_802BF48
- ldr r3, [r4]
- ldrh r1, [r3, 0x34]
- adds r2, r1, r0
- strh r2, [r3, 0x34]
- lsls r1, r2, 16
- ldr r0, =0x09fe0000
- cmp r1, r0
- bls _0802BF16
- ldr r1, =0xfffff601
- adds r0, r2, r1
- strh r0, [r3, 0x34]
-_0802BF16:
- ldr r1, [r4]
- ldr r2, [r1, 0x14]
- str r2, [r1, 0x18]
- ldrh r0, [r1, 0x34]
- lsrs r0, 8
- str r0, [r1, 0x14]
- cmp r0, 0x6
- bls _0802BF34
- cmp r2, 0x6
- bhi _0802BF34
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
- bl sub_802BF7C
-_0802BF34:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BEE4
-
- thumb_func_start sub_802BF48
-sub_802BF48: @ 802BF48
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- ldr r0, [r2, 0x10]
- cmp r0, 0
- beq _0802BF5C
- movs r0, 0
- b _0802BF72
- .pool
-_0802BF5C:
- ldr r3, [r2, 0x1C]
- ldrh r1, [r2, 0x34]
- ldr r0, =0x000005ff
- cmp r1, r0
- bhi _0802BF70
- ldr r0, [r2, 0x20]
- adds r0, 0x50
- str r0, [r2, 0x20]
- lsrs r0, 8
- adds r3, r0
-_0802BF70:
- adds r0, r3, 0
-_0802BF72:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802BF48
-
- thumb_func_start sub_802BF7C
-sub_802BF7C: @ 802BF7C
- push {r4,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r3, [r4]
- movs r0, 0
- str r0, [r3, 0x20]
- adds r1, r3, 0
- adds r1, 0x4E
- ldrh r0, [r1]
- cmp r0, 0
- beq _0802BFC0
- subs r0, 0x1
- strh r0, [r1]
- ldr r0, [r3, 0x6C]
- cmp r0, 0
- beq _0802C08A
- bl sub_802C098
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- beq _0802BFB0
- ldr r1, [r4]
- b _0802C086
- .pool
-_0802BFB0:
- ldr r1, [r4]
- ldr r0, [r1, 0x28]
- cmp r0, 0x36
- bls _0802BFBC
- movs r0, 0x1E
- b _0802C088
-_0802BFBC:
- movs r0, 0x52
- b _0802C088
-_0802BFC0:
- adds r2, r3, 0
- adds r2, 0x50
- ldrb r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0802C014
- ldr r0, =gUnknown_082FB63C
- ldrb r1, [r2]
- lsls r1, 1
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x51
- ldrb r2, [r0]
- lsls r0, r2, 3
- subs r0, r2
- ldrh r1, [r1]
- adds r0, r1
- str r0, [r3, 0x28]
- bl sub_802C098
- ldr r2, [r4]
- ldr r3, =gUnknown_082FB64C
- movs r1, 0x3
- ands r1, r0
- lsls r1, 1
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x2
- adds r1, r2, 0
- adds r1, 0x4E
- strh r0, [r1]
- adds r2, 0x50
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _0802C082
- .pool
-_0802C014:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x8
- bne _0802C030
- adds r1, r3, 0
- adds r1, 0x51
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _0802C02C
- adds r0, 0x1
- strb r0, [r1]
- b _0802C030
-_0802C02C:
- movs r0, 0x1
- str r0, [r3, 0x6C]
-_0802C030:
- ldr r2, =gUnknown_082FB63C
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- mov r12, r0
- mov r3, r12
- adds r3, 0x50
- ldrb r0, [r3]
- movs r1, 0xF
- subs r1, r0
- lsls r1, 1
- adds r1, r2
- mov r0, r12
- adds r0, 0x51
- ldrb r2, [r0]
- lsls r0, r2, 3
- subs r0, r2
- ldrh r1, [r1]
- adds r0, r1
- mov r1, r12
- str r0, [r1, 0x28]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _0802C082
- bl sub_802C098
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- bne _0802C07A
- ldr r1, [r4]
- ldr r0, [r1, 0x28]
- subs r0, 0x5
- str r0, [r1, 0x28]
-_0802C07A:
- ldr r0, [r4]
- adds r0, 0x50
- movs r1, 0
- strb r1, [r0]
-_0802C082:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
-_0802C086:
- ldr r0, [r1, 0x28]
-_0802C088:
- str r0, [r1, 0x1C]
-_0802C08A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802BF7C
-
- thumb_func_start sub_802C098
-sub_802C098: @ 802C098
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- ldr r1, [r2, 0x24]
- ldr r0, =0x41c64e6d
- muls r0, r1
- ldr r1, =0x00006073
- adds r0, r1
- str r0, [r2, 0x24]
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_802C098
-
- thumb_func_start sub_802C0B8
-sub_802C0B8: @ 802C0B8
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1, 0x10]
- movs r0, 0x6
- str r0, [r1, 0x14]
- ldr r0, =0x000005ff
- strh r0, [r1, 0x34]
- bl sub_802C270
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C0B8
-
- thumb_func_start sub_802C0DC
-sub_802C0DC: @ 802C0DC
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bx lr
- .pool
- thumb_func_end sub_802C0DC
-
- thumb_func_start sub_802C0E8
-sub_802C0E8: @ 802C0E8
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022CFC
- ldr r4, =0x000082f8
- movs r3, 0
- movs r2, 0
- movs r1, 0x4
-_0802C0F4:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r2
- str r3, [r0]
- adds r2, 0x28
- subs r1, 0x1
- cmp r1, 0
- bge _0802C0F4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C0E8
-
- thumb_func_start sub_802C114
-sub_802C114: @ 802C114
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r1, =0x000083ac
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0
- strh r2, [r1, 0x10]
- ldr r0, [r0]
- strh r2, [r0, 0x12]
- bx lr
- .pool
- thumb_func_end sub_802C114
-
- thumb_func_start sub_802C130
-sub_802C130: @ 802C130
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gUnknown_02022CFC
- ldr r2, [r1]
- ldrb r3, [r2, 0x6]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r2, r1
- ldr r1, =0x000082f4
- adds r2, r1
- ldrh r1, [r2]
- cmp r1, r0
- beq _0802C15C
- movs r0, 0
- b _0802C15E
- .pool
-_0802C15C:
- movs r0, 0x1
-_0802C15E:
- pop {r1}
- bx r1
- thumb_func_end sub_802C130
-
- thumb_func_start sub_802C164
-sub_802C164: @ 802C164
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r1, =0x000083ac
- adds r2, r0, r1
- ldr r1, [r2]
- adds r0, 0x4A
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- ldr r1, [r2]
- ldrh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- ldr r1, [r2]
- movs r0, 0x1
- strh r0, [r1, 0x10]
- bx lr
- .pool
- thumb_func_end sub_802C164
-
- thumb_func_start sub_802C18C
-sub_802C18C: @ 802C18C
- push {r4,lr}
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- ldr r0, =0x000083ac
- adds r3, r2, r0
- ldr r1, [r3]
- ldrh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- ldr r0, [r3]
- movs r4, 0x2
- strh r4, [r0, 0x10]
- ldr r1, [r3]
- adds r2, 0x4A
- ldrh r0, [r2]
- strh r0, [r1, 0xE]
- ldr r0, [r3]
- str r4, [r0, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C18C
-
- thumb_func_start sub_802C1BC
-sub_802C1BC: @ 802C1BC
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r1, =0x000083ac
- adds r0, r1
- ldr r1, [r0]
- ldrh r2, [r1, 0x10]
- movs r3, 0
- strh r2, [r1, 0x12]
- ldr r0, [r0]
- strh r3, [r0, 0x10]
- bx lr
- .pool
- thumb_func_end sub_802C1BC
-
- thumb_func_start sub_802C1DC
-sub_802C1DC: @ 802C1DC
- push {r4,r5,lr}
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldr r0, [r1, 0x5C]
- cmp r0, 0
- beq _0802C21C
- ldr r0, [r1, 0x78]
- bl sub_802DD64
- ldr r1, [r4]
- movs r5, 0
- str r5, [r1, 0x5C]
- adds r0, r1, 0
- adds r0, 0x4D
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802C21C
- adds r0, r1, 0
- adds r0, 0x71
- ldrb r0, [r0]
- bl sub_802DCCC
- ldr r1, =gUnknown_082FB654
- subs r0, 0x2
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl PlaySE
- ldr r0, [r4]
- adds r0, 0x4D
- strb r5, [r0]
-_0802C21C:
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x74
- ldrh r0, [r0]
- bl sub_802DD74
- bl sub_802C280
- bl sub_802C240
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C1DC
-
- thumb_func_start sub_802C240
-sub_802C240: @ 802C240
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x46
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802C256
- ldr r0, [r1, 0x14]
- bl sub_802DC9C
-_0802C256:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C240
-
- thumb_func_start sub_802C260
-sub_802C260: @ 802C260
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x46
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_802C260
-
- thumb_func_start sub_802C270
-sub_802C270: @ 802C270
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x46
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_802C270
-
- thumb_func_start sub_802C280
-sub_802C280: @ 802C280
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r6, 0
- ldr r2, =gUnknown_02022CFC
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- mov r9, r0
- movs r5, 0
- cmp r6, r9
- bge _0802C360
- mov r10, r2
- mov r8, r5
- movs r7, 0
-_0802C2A2:
- mov r0, r10
- ldr r3, [r0]
- adds r1, r3, r7
- ldr r2, =0x000082f4
- adds r0, r1, r2
- ldrh r2, [r0]
- cmp r2, 0x1
- beq _0802C2D4
- cmp r2, 0x1
- bgt _0802C2C4
- cmp r2, 0
- beq _0802C2CA
- b _0802C354
- .pool
-_0802C2C4:
- cmp r2, 0x2
- beq _0802C338
- b _0802C354
-_0802C2CA:
- adds r0, r5, 0
- movs r1, 0
- bl sub_802DC80
- b _0802C354
-_0802C2D4:
- ldr r0, =0x000082f6
- adds r4, r1, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- bne _0802C2F6
- ldr r0, =0x000082f2
- adds r0, r1
- adds r1, r3, 0
- adds r1, 0x9A
- add r1, r8
- str r1, [sp]
- ldrh r1, [r0]
- mov r12, r1
- ldr r0, [sp]
- ldrh r0, [r0]
- cmp r12, r0
- beq _0802C31E
-_0802C2F6:
- ldrb r3, [r3, 0x6]
- cmp r5, r3
- bne _0802C2FE
- strh r2, [r4]
-_0802C2FE:
- orrs r6, r2
- mov r1, r10
- ldr r2, [r1]
- ldr r1, =0x000082e8
- adds r0, r2, r1
- adds r0, r7
- ldr r1, =0x7fffffff
- str r1, [r0]
- adds r1, r2, 0
- adds r1, 0x9A
- add r1, r8
- adds r2, r7
- ldr r0, =0x000082f2
- adds r2, r0
- ldrh r0, [r2]
- strh r0, [r1]
-_0802C31E:
- adds r0, r5, 0
- bl sub_802C398
- b _0802C354
- .pool
-_0802C338:
- ldr r0, =0x000082f6
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0x2
- beq _0802C354
- ldrb r3, [r3, 0x6]
- cmp r5, r3
- bne _0802C34A
- strh r2, [r1]
-_0802C34A:
- orrs r6, r2
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_802DD88
-_0802C354:
- movs r1, 0x2
- add r8, r1
- adds r7, 0x28
- adds r5, 0x1
- cmp r5, r9
- blt _0802C2A2
-_0802C360:
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _0802C378
- movs r0, 0x83
- lsls r0, 1
- bl PlaySE
- b _0802C386
- .pool
-_0802C378:
- movs r0, 0x1
- ands r6, r0
- cmp r6, 0
- beq _0802C386
- movs r0, 0xA
- bl PlaySE
-_0802C386:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802C280
-
- thumb_func_start sub_802C398
-sub_802C398: @ 802C398
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, =gUnknown_02022CFC
- ldr r2, [r0]
- ldr r0, [r2, 0x68]
- cmp r0, 0
- bne _0802C432
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =0x000082e4
- adds r0, r1
- adds r5, r2, r0
- ldr r1, [r5, 0x4]
- ldr r0, =0x7fffffff
- cmp r1, r0
- beq _0802C3D0
- adds r0, r1, 0x1
- str r0, [r5, 0x4]
- adds r3, r0, 0
- b _0802C3E8
- .pool
-_0802C3D0:
- adds r0, r2, 0
- adds r0, 0x4A
- ldrh r1, [r0]
- ldrh r0, [r5, 0xE]
- subs r3, r1, r0
- ldr r0, =0x0000fde7
- cmp r3, r0
- ble _0802C3E6
- ldr r0, =0xffff0218
- adds r3, r0
- adds r3, r1
-_0802C3E6:
- str r3, [r5, 0x4]
-_0802C3E8:
- cmp r3, 0x3
- ble _0802C432
- subs r3, 0x4
- cmp r3, 0x2F
- bgt _0802C414
- ldr r2, =gUnknown_082FB65C
- ldrh r1, [r5, 0xC]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- adds r0, r3, r0
- adds r0, r2
- movs r4, 0
- ldrsb r4, [r0, r4]
- b _0802C416
- .pool
-_0802C414:
- movs r4, 0
-_0802C416:
- adds r1, r4, 0
- adds r0, r6, 0
- bl sub_802DC80
- cmp r4, 0
- bne _0802C430
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r6, r0
- bne _0802C430
- bl sub_802C1BC
-_0802C430:
- str r4, [r5]
-_0802C432:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C398
-
- thumb_func_start sub_802C43C
-sub_802C43C: @ 802C43C
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022CFC
- ldr r1, [r5]
- ldr r0, [r1, 0x14]
- cmp r0, 0x8
- bne _0802C4CE
- ldr r0, [r1, 0x18]
- cmp r0, 0x7
- bne _0802C4CE
- ldr r4, [r1, 0x58]
- cmp r4, 0
- bne _0802C46C
- bl sub_802C780
- ldr r0, [r5]
- str r4, [r0, 0x54]
- movs r1, 0x1
- str r1, [r0, 0x58]
- adds r0, 0x71
- strb r4, [r0]
- b _0802C4CE
- .pool
-_0802C46C:
- ldr r0, [r1, 0x54]
- cmp r0, 0x5
- bne _0802C480
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0xC]
- bl sub_802C7A0
- b _0802C484
-_0802C480:
- movs r0, 0
- strh r0, [r1, 0xC]
-_0802C484:
- ldr r4, =gUnknown_02022CFC
- ldr r1, [r4]
- ldr r0, [r1, 0x54]
- cmp r0, 0x1
- ble _0802C49E
- movs r0, 0x1
- str r0, [r1, 0x64]
- adds r0, r1, 0
- adds r0, 0x86
- adds r1, 0x81
- movs r2, 0x5
- bl memcpy
-_0802C49E:
- bl sub_802C780
- ldr r0, [r4]
- movs r2, 0
- str r2, [r0, 0x54]
- movs r1, 0x1
- str r1, [r0, 0x58]
- adds r0, 0x71
- strb r2, [r0]
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x74
- ldrh r1, [r2]
- ldr r0, =0x0000270e
- cmp r1, r0
- bhi _0802C4C2
- adds r0, r1, 0x1
- strh r0, [r2]
-_0802C4C2:
- movs r0, 0xA
- bl sub_802C688
- movs r0, 0x3
- bl sub_802AE14
-_0802C4CE:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldr r0, [r0, 0x64]
- cmp r0, 0
- beq _0802C504
- bl sub_802C618
- cmp r0, 0x1
- beq _0802C4E8
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- cmp r0, 0
- bne _0802C504
-_0802C4E8:
- ldr r0, [r4]
- adds r0, 0x86
- bl sub_802C73C
- bl sub_802C790
- bl sub_802C688
- movs r0, 0x3
- bl sub_802AE14
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x64]
-_0802C504:
- ldr r4, =gUnknown_02022CFC
- ldr r0, [r4]
- ldr r0, [r0, 0x58]
- cmp r0, 0
- beq _0802C52A
- bl sub_802C6B0
- adds r2, r0, 0
- ldr r1, [r4]
- ldr r0, [r1, 0x54]
- cmp r2, r0
- ble _0802C52A
- str r2, [r1, 0x54]
- adds r0, r1, 0
- adds r0, 0x81
- adds r1, 0x7C
- movs r2, 0x5
- bl memcpy
-_0802C52A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C43C
-
- thumb_func_start sub_802C538
-sub_802C538: @ 802C538
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022CFC
- ldr r1, [r5]
- ldr r0, [r1, 0x14]
- cmp r0, 0x6
- bne _0802C582
- ldr r4, =0x000083ac
- adds r0, r1, r4
- ldr r1, [r0]
- ldr r0, [r1]
- cmp r0, 0
- bne _0802C582
- ldrh r0, [r1, 0x12]
- cmp r0, 0x1
- bne _0802C578
- bl sub_802C0DC
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0802C578
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- str r1, [r0, 0x14]
- b _0802C582
- .pool
-_0802C574:
- movs r0, 0
- b _0802C5CA
-_0802C578:
- bl sub_802C18C
- movs r0, 0x3
- bl sub_802AE14
-_0802C582:
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- ldr r0, [r1, 0x14]
- cmp r0, 0x7
- bne _0802C5A8
- ldr r0, [r1, 0x18]
- cmp r0, 0x6
- bne _0802C5A8
- ldr r2, =0x000083ac
- adds r0, r1, r2
- ldr r1, [r0]
- ldrh r0, [r1, 0x10]
- cmp r0, 0x2
- beq _0802C5A8
- movs r0, 0x1
- str r0, [r1, 0x14]
- movs r0, 0x3
- bl sub_802AE14
-_0802C5A8:
- movs r2, 0
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- cmp r2, r1
- bge _0802C5C8
- adds r3, r1, 0
- ldr r4, =0x000082f4
- adds r1, r0, r4
-_0802C5BA:
- ldrh r0, [r1]
- cmp r0, 0x2
- beq _0802C574
- adds r1, 0x28
- adds r2, 0x1
- cmp r2, r3
- blt _0802C5BA
-_0802C5C8:
- movs r0, 0x1
-_0802C5CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C538
-
- thumb_func_start sub_802C5DC
-sub_802C5DC: @ 802C5DC
- push {r4,lr}
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r3, [r0, 0x5]
- movs r4, 0
- cmp r4, r3
- bge _0802C600
- ldr r1, =0x000082f8
- adds r2, r0, r1
- adds r1, r3, 0
-_0802C5F0:
- ldr r0, [r2]
- cmp r0, 0
- beq _0802C5F8
- adds r4, 0x1
-_0802C5F8:
- adds r2, 0x28
- subs r1, 0x1
- cmp r1, 0
- bne _0802C5F0
-_0802C600:
- movs r0, 0
- cmp r4, r3
- bne _0802C608
- movs r0, 0x1
-_0802C608:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C5DC
-
- thumb_func_start sub_802C618
-sub_802C618: @ 802C618
- push {r4,lr}
- movs r2, 0
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- cmp r2, r1
- bge _0802C648
- adds r3, r1, 0
- ldr r4, =0x000082f8
- adds r1, r0, r4
-_0802C62C:
- ldr r0, [r1]
- cmp r0, 0x1
- beq _0802C640
- movs r0, 0
- b _0802C64A
- .pool
-_0802C640:
- adds r1, 0x28
- adds r2, 0x1
- cmp r2, r3
- blt _0802C62C
-_0802C648:
- movs r0, 0x1
-_0802C64A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802C618
-
- thumb_func_start sub_802C650
-sub_802C650: @ 802C650
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x45
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0802C668
-_0802C660:
- movs r0, 0
- b _0802C684
- .pool
-_0802C668:
- movs r2, 0x1
- ldrb r0, [r1, 0x5]
- cmp r2, r0
- bge _0802C682
- adds r3, r0, 0
- adds r1, 0x92
-_0802C674:
- ldrh r0, [r1]
- cmp r0, 0x1
- beq _0802C660
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _0802C674
-_0802C682:
- movs r0, 0x1
-_0802C684:
- pop {r1}
- bx r1
- thumb_func_end sub_802C650
-
- thumb_func_start sub_802C688
-sub_802C688: @ 802C688
- push {lr}
- ldr r1, =gUnknown_02022CFC
- ldr r2, [r1]
- ldr r1, [r2, 0x78]
- adds r1, r0
- str r1, [r2, 0x78]
- movs r0, 0x1
- str r0, [r2, 0x5C]
- ldr r0, =0x00018695
- cmp r1, r0
- bls _0802C6A2
- adds r0, 0x1
- str r0, [r2, 0x78]
-_0802C6A2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C688
-
- thumb_func_start sub_802C6B0
-sub_802C6B0: @ 802C6B0
- push {r4-r7,lr}
- movs r5, 0
- ldr r1, =gUnknown_02022CFC
- ldr r0, [r1]
- ldrb r4, [r0, 0x5]
- movs r2, 0
- cmp r5, r4
- bge _0802C702
- mov r12, r1
- movs r3, 0
- ldr r7, =0x000082e4
- movs r6, 0x1E
- negs r6, r6
-_0802C6CA:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, r7
- adds r0, r3
- ldr r0, [r0]
- cmp r0, r6
- bne _0802C6F0
- adds r0, r1, 0
- adds r0, 0x7C
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- adds r5, 0x1
- b _0802C6FA
- .pool
-_0802C6F0:
- adds r0, r1, 0
- adds r0, 0x7C
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
-_0802C6FA:
- adds r3, 0x28
- adds r2, 0x1
- cmp r2, r4
- blt _0802C6CA
-_0802C702:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_802C6B0
-
- thumb_func_start sub_802C70C
-sub_802C70C: @ 802C70C
- push {lr}
- movs r2, 0
- ldr r1, =gUnknown_03005000
- ldr r3, =0x000009e6
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802C728
- ldr r3, =0x00000c1a
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802C728
- movs r2, 0x1
-_0802C728:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C70C
-
- thumb_func_start sub_802C73C
-sub_802C73C: @ 802C73C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- ldr r6, =gUnknown_02022CFC
- movs r5, 0x1
-_0802C74A:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802C75A
- adds r0, r5, 0
- lsls r0, r1
- orrs r2, r0
- adds r3, 0x1
-_0802C75A:
- adds r1, 0x1
- cmp r1, 0x4
- ble _0802C74A
- ldr r0, [r6]
- adds r0, 0x71
- strb r2, [r0]
- cmp r2, 0
- beq _0802C772
- ldr r0, [r6]
- adds r0, 0x4D
- movs r1, 0x1
- strb r1, [r0]
-_0802C772:
- adds r0, r3, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C73C
-
- thumb_func_start sub_802C780
-sub_802C780: @ 802C780
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- adds r0, 0x44
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_802C780
-
- thumb_func_start sub_802C790
-sub_802C790: @ 802C790
- ldr r1, =gUnknown_082FB6EC
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_802C790
-
- thumb_func_start sub_802C7A0
-sub_802C7A0: @ 802C7A0
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrh r2, [r0, 0xE]
- cmp r1, r2
- bls _0802C7B2
- strh r1, [r0, 0xE]
-_0802C7B2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C7A0
-
- thumb_func_start sub_802C7BC
-sub_802C7BC: @ 802C7BC
- push {lr}
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldr r1, =gUnknown_082FB714
- ldr r2, [r0, 0x78]
- ldr r0, [r1]
- cmp r2, r0
- bcs _0802C7D8
- movs r0, 0
- b _0802C7DA
- .pool
-_0802C7D8:
- movs r0, 0x1
-_0802C7DA:
- pop {r1}
- bx r1
- thumb_func_end sub_802C7BC
-
- thumb_func_start sub_802C7E0
-sub_802C7E0: @ 802C7E0
- push {r4,lr}
- bl sub_802C818
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_802C838
- lsls r0, 16
- lsrs r0, 4
- ldr r1, =0x00000fff
- ands r4, r1
- orrs r0, r4
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C7E0
-
- thumb_func_start sub_802C808
-sub_802C808: @ 802C808
- lsls r0, 16
- lsrs r3, r0, 28
- strh r3, [r2]
- lsls r0, 4
- lsrs r0, 20
- strh r0, [r1]
- bx lr
- thumb_func_end sub_802C808
-
- thumb_func_start sub_802C818
-sub_802C818: @ 802C818
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, =gUnknown_082FB704
- lsrs r1, 15
- adds r1, r0
- ldrh r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802C818
-
- thumb_func_start sub_802C838
-sub_802C838: @ 802C838
- push {r4-r6,lr}
- movs r5, 0
- movs r4, 0
- ldr r3, =gUnknown_02022CFC
- ldr r0, [r3]
- ldr r2, =gUnknown_082FB714
- ldr r1, [r0, 0x78]
- ldr r0, [r2]
- cmp r1, r0
- bcc _0802C874
- ldr r5, [r2, 0x4]
- adds r6, r3, 0
- adds r3, r2, 0x4
-_0802C852:
- adds r3, 0x8
- adds r2, 0x8
- adds r4, 0x1
- cmp r4, 0x4
- bhi _0802C874
- ldr r0, [r6]
- ldr r1, [r0, 0x78]
- ldr r0, [r2]
- cmp r1, r0
- bcc _0802C874
- ldr r5, [r3]
- b _0802C852
- .pool
-_0802C874:
- lsls r0, r5, 16
- lsrs r0, 16
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_802C838
-
- thumb_func_start sub_802C880
-sub_802C880: @ 802C880
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- b _0802C892
-_0802C88C:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_0802C892:
- cmp r4, 0
- beq _0802C8A4
- adds r0, r5, 0
- adds r1, r4, 0
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- beq _0802C88C
-_0802C8A4:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802C880
-
- thumb_func_start sub_802C8AC
-sub_802C8AC: @ 802C8AC
- push {lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_802C8AC
-
- thumb_func_start sub_802C8BC
-sub_802C8BC: @ 802C8BC
- ldr r0, =gUnknown_02022CFC
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- bx lr
- .pool
- thumb_func_end sub_802C8BC
-
- thumb_func_start sub_802C8C8
-sub_802C8C8: @ 802C8C8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022CFC
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, =0x000082a8
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_802C8C8
-
- thumb_func_start sub_802C8E8
-sub_802C8E8: @ 802C8E8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_02022CFC
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, [r2]
- adds r0, r1
- movs r1, 0x83
- lsls r1, 8
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_802C8E8
-
- thumb_func_start sub_802C908
-sub_802C908: @ 802C908
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_802AC00
- lsls r0, 16
- asrs r0, 16
- mvns r0, r0
- lsrs r0, 31
- pop {r1}
- bx r1
- thumb_func_end sub_802C908
-
- thumb_func_start sub_802C920
-sub_802C920: @ 802C920
- push {r4,r5,lr}
- movs r5, 0
-_0802C924:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _0802C95C
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl sub_802C908
- cmp r0, 0
- beq _0802C95C
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _0802C966
- .pool
-_0802C95C:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0802C924
- ldr r1, =gSpecialVar_Result
- movs r0, 0
-_0802C966:
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C920
-
- thumb_func_start sub_802C974
-sub_802C974: @ 802C974
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r4, 0
- ldr r5, =gUnknown_082FBE08
-_0802C97C:
- adds r0, r5, 0
- bl LoadCompressedSpriteSheet
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x4
- bls _0802C97C
- movs r4, 0
- ldr r5, =gUnknown_082FBE30
-_0802C98E:
- adds r0, r5, 0
- bl LoadSpritePalette
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x1
- bls _0802C98E
- movs r0, 0x5
- bl IndexOfSpritePaletteTag
- strb r0, [r6, 0xE]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- strb r0, [r6, 0xF]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C974
-
- thumb_func_start sub_802C9BC
-sub_802C9BC: @ 802C9BC
- push {lr}
- movs r2, 0
- movs r1, 0x7
- adds r0, 0x3C
-_0802C9C4:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _0802C9C4
- pop {r0}
- bx r0
- thumb_func_end sub_802C9BC
-
- thumb_func_start sub_802C9D4
-sub_802C9D4: @ 802C9D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r9, r0
- adds r7, r1, 0
- ldr r0, [sp, 0x54]
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x28]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x2C]
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, sp
- ldr r0, =gUnknown_082FBE40
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x80
- lsls r0, 6
- bl Alloc
- mov r8, r0
- movs r0, 0x80
- lsls r0, 4
- bl Alloc
- mov r10, r0
- bl sub_802C8BC
- lsls r0, 16
- lsrs r0, 16
- cmp r6, r0
- bne _0802CA2C
- movs r0, 0x3
- b _0802CA32
- .pool
-_0802CA2C:
- adds r0, r6, 0x4
- lsls r0, 24
- lsrs r0, 24
-_0802CA32:
- str r0, [sp, 0x30]
- mov r1, r8
- cmp r1, 0
- beq _0802CAF4
- mov r2, r10
- cmp r2, 0
- beq _0802CAF4
- ldrh r2, [r7]
- lsls r0, r2, 3
- ldr r1, =gMonStillFrontPicTable
- adds r0, r1
- ldr r3, [r7, 0x8]
- mov r1, r8
- bl HandleLoadSpecialPokePic
- mov r3, r8
- str r3, [sp, 0x18]
- adds r4, r6, 0
- add r0, sp, 0x18
- ldr r5, =0xffff0000
- lsls r1, r4, 16
- movs r2, 0x80
- lsls r2, 4
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpriteSheet
- ldrh r0, [r7]
- ldr r1, [r7, 0x4]
- ldr r2, [r7, 0x8]
- bl GetFrontSpritePalFromSpeciesAndPersonality
- str r0, [sp, 0x20]
- add r0, sp, 0x20
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r4
- str r1, [r0, 0x4]
- bl LoadCompressedSpritePalette
- mov r0, r8
- bl Free
- mov r0, r10
- bl Free
- mov r1, sp
- mov r0, sp
- ldrh r0, [r0]
- adds r0, r6
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- adds r0, r6
- strh r0, [r1, 0x2]
- ldr r4, [sp, 0x28]
- lsls r1, r4, 16
- asrs r1, 16
- ldr r0, [sp, 0x2C]
- lsls r2, r0, 16
- asrs r2, 16
- mov r0, sp
- ldr r3, [sp, 0x30]
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0802CAF4
- lsls r0, r6, 2
- ldr r2, =0x000081a8
- add r2, r9
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- ldr r0, =0x000081fc
- add r0, r9
- adds r0, r6
- add r1, sp, 0x30
- ldrb r1, [r1]
- strb r1, [r0]
- b _0802CB00
- .pool
-_0802CAF4:
- lsls r0, r6, 2
- ldr r1, =0x000081a8
- add r1, r9
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0802CB00:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802C9D4
-
- thumb_func_start sub_802CB14
-sub_802CB14: @ 802CB14
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r6, r1, 2
- ldr r0, =0x000081bc
- adds r5, r4, r0
- adds r5, r6
- ldr r0, [r5]
- bl sub_802C9BC
- ldr r2, [r5]
- ldr r0, =0x000081a8
- adds r4, r0
- adds r4, r6
- ldr r1, [r4]
- ldr r0, =gSprites
- subs r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r1, r0, 8
- adds r0, r1
- lsls r1, r0, 16
- adds r0, r1
- negs r0, r0
- asrs r0, 2
- strh r0, [r2, 0x3C]
- ldr r1, [r5]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r5]
- movs r0, 0x60
- strh r0, [r1, 0x22]
- ldr r0, [r5]
- ldr r1, =sub_802CB7C
- str r1, [r0, 0x1C]
- movs r1, 0x1
- bl StartSpriteAnim
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CB14
-
- thumb_func_start sub_802CB7C
-sub_802CB7C: @ 802CB7C
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _0802CBA8
- cmp r0, 0x1
- bgt _0802CB92
- cmp r0, 0
- beq _0802CB98
- b _0802CBE6
-_0802CB92:
- cmp r0, 0x2
- beq _0802CBC8
- b _0802CBE6
-_0802CB98:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0802CBE6
- b _0802CBD6
-_0802CBA8:
- ldrh r1, [r2, 0x22]
- subs r1, 0x1
- strh r1, [r2, 0x22]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x48
- bgt _0802CBE6
- movs r0, 0x48
- strh r0, [r2, 0x22]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _0802CBE6
-_0802CBC8:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _0802CBE6
-_0802CBD6:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_0802CBE6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CB7C
-
- thumb_func_start sub_802CBF0
-sub_802CBF0: @ 802CBF0
- push {lr}
- lsls r1, 2
- ldr r2, =0x000081a8
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- ldr r1, =sub_802CC40
- str r1, [r2, 0x1C]
- movs r1, 0
- strh r1, [r2, 0x26]
- ldr r0, [r0]
- bl sub_802C9BC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CBF0
-
- thumb_func_start sub_802CC18
-sub_802CC18: @ 802CC18
- push {lr}
- movs r2, 0
- lsls r1, 2
- ldr r3, =0x000081a8
- adds r0, r3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- ldr r0, =sub_802CC40
- cmp r1, r0
- bne _0802CC30
- movs r2, 0x1
-_0802CC30:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802CC18
-
- thumb_func_start sub_802CC40
-sub_802CC40: @ 802CC40
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0802CC6C
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802CC64
- movs r0, 0x2
- b _0802CC66
-_0802CC64:
- ldr r0, =0x0000fffe
-_0802CC66:
- strh r0, [r2, 0x26]
- movs r0, 0
- strh r0, [r2, 0x30]
-_0802CC6C:
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0xC
- ble _0802CC7C
- movs r0, 0
- strh r0, [r2, 0x26]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_0802CC7C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CC40
-
- thumb_func_start sub_802CC88
-sub_802CC88: @ 802CC88
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 2
- ldr r0, =0x000081a8
- adds r4, r0
- adds r4, r1
- ldr r0, [r4]
- bl sub_802C9BC
- ldr r1, [r4]
- ldr r0, =sub_802CD08
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CC88
-
- thumb_func_start sub_802CCB0
-sub_802CCB0: @ 802CCB0
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_802C8AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _0802CCF4
- movs r1, 0x5
- negs r1, r1
- mov r12, r1
- ldr r1, =0x000081a8
- adds r3, r4, r1
- ldr r7, =sub_802CD08
- ldr r6, =SpriteCallbackDummy
- movs r5, 0xA
- adds r4, r0, 0
-_0802CCD2:
- ldr r2, [r3]
- ldr r0, [r2, 0x1C]
- cmp r0, r7
- bne _0802CCEC
- adds r2, 0x3E
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- str r6, [r0, 0x1C]
- adds r0, 0x43
- strb r5, [r0]
-_0802CCEC:
- adds r3, 0x4
- subs r4, 0x1
- cmp r4, 0
- bne _0802CCD2
-_0802CCF4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CCB0
-
- thumb_func_start sub_802CD08
-sub_802CD08: @ 802CD08
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0802CD36
- movs r0, 0
- strh r0, [r3, 0x2E]
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_0802CD36:
- pop {r0}
- bx r0
- thumb_func_end sub_802CD08
-
- thumb_func_start sub_802CD3C
-sub_802CD3C: @ 802CD3C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_802C8AC
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r3
- bge _0802CD66
- ldr r0, =0x000081fc
- adds r5, r4, r0
- subs r0, 0x54
- adds r4, r0
-_0802CD56:
- ldm r4!, {r0}
- adds r1, r5, r2
- ldrb r1, [r1]
- adds r0, 0x43
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r3
- blt _0802CD56
-_0802CD66:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CD3C
-
- thumb_func_start sub_802CD70
-sub_802CD70: @ 802CD70
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 2
- ldr r0, =0x000081a8
- adds r4, r0
- adds r4, r1
- ldr r0, [r4]
- bl sub_802C9BC
- ldr r1, [r4]
- ldr r0, =sub_802CDD4
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CD70
-
- thumb_func_start sub_802CD98
-sub_802CD98: @ 802CD98
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_802C8AC
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r3
- bge _0802CDCC
- ldr r5, =sub_802CDD4
- ldr r0, =0x000081a8
- adds r1, r4, r0
-_0802CDB0:
- ldr r0, [r1]
- ldr r0, [r0, 0x1C]
- cmp r0, r5
- bne _0802CDC4
- movs r0, 0x1
- b _0802CDCE
- .pool
-_0802CDC4:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, r3
- blt _0802CDB0
-_0802CDCC:
- movs r0, 0
-_0802CDCE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802CD98
-
- thumb_func_start sub_802CDD4
-sub_802CDD4: @ 802CDD4
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- cmp r4, 0
- beq _0802CDE6
- cmp r4, 0x1
- beq _0802CDF4
- b _0802CE3C
-_0802CDE6:
- movs r0, 0x22
- bl PlaySE
- strh r4, [r5, 0x30]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_0802CDF4:
- ldrh r0, [r5, 0x30]
- adds r0, 0x4
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0802CE06
- movs r0, 0
- strh r0, [r5, 0x30]
-_0802CE06:
- ldr r1, =gSineTable
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- negs r0, r0
- strh r0, [r5, 0x26]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _0802CE3C
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bgt _0802CE38
- strh r1, [r5, 0x2E]
- b _0802CE3C
- .pool
-_0802CE38:
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_0802CE3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CDD4
-
- thumb_func_start sub_802CE48
-sub_802CE48: @ 802CE48
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r3, 24
- lsrs r4, r3, 24
- ldr r0, =gUnknown_082FC00C
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0802CE88
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- lsls r2, r4, 2
- ldr r3, =0x000081bc
- adds r0, r5, r3
- adds r0, r2
- str r1, [r0]
-_0802CE88:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CE48
-
- thumb_func_start sub_802CE9C
-sub_802CE9C: @ 802CE9C
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- movs r4, 0
- ldr r6, =gUnknown_082FBE58
-_0802CEA6:
- ldr r1, =gUnknown_082FBEB8
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r2, =gUnknown_082FBEA8
- lsls r1, r5, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r6, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r5, 2
- ldr r3, =0x000081d0
- adds r2, r7, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- adds r5, 0x1
- adds r6, 0x14
- adds r4, 0x1
- cmp r4, 0x3
- ble _0802CEA6
- movs r4, 0x3
- movs r6, 0x3C
-_0802CEE8:
- ldr r1, =gUnknown_082FBEB8
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r2, =gUnknown_082FBEA8
- lsls r1, r5, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- ldr r2, =gUnknown_082FBE58
- adds r2, r6, r2
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r5, 2
- ldr r3, =0x000081d0
- adds r2, r7, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- adds r5, 0x1
- subs r6, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _0802CEE8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CE9C
-
- thumb_func_start sub_802CF50
-sub_802CF50: @ 802CF50
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r0, [sp, 0x8]
- cmp r1, 0x5
- ble _0802CF70
- movs r0, 0xA
- subs r1, r0, r1
- movs r0, 0x3
- str r0, [sp]
- ldr r2, [sp, 0x8]
- ldrb r0, [r2, 0xF]
- b _0802CF78
-_0802CF70:
- movs r3, 0x2
- str r3, [sp]
- ldr r7, [sp, 0x8]
- ldrb r0, [r7, 0xE]
-_0802CF78:
- movs r6, 0
- lsls r2, r1, 1
- str r2, [sp, 0x4]
- lsls r0, 4
- mov r9, r0
- lsls r1, 24
- mov r8, r1
- ldr r0, =gUnknown_082FBE58
- adds r4, r2, r0
- ldr r3, [sp]
- lsls r3, 2
- mov r10, r3
- movs r5, 0x3
-_0802CF92:
- lsls r0, r6, 2
- ldr r7, [sp, 0x8]
- ldr r1, =0x000081d0
- adds r2, r7, r1
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r4]
- strh r0, [r1, 0x22]
- ldr r3, [r2]
- ldrb r0, [r3, 0x5]
- movs r7, 0xD
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- mov r1, r10
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xF
- ands r0, r1
- mov r7, r9
- orrs r0, r7
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- mov r2, r8
- lsrs r1, r2, 24
- bl StartSpriteAnim
- adds r6, 0x1
- adds r4, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _0802CF92
- movs r5, 0x3
- ldr r0, =gUnknown_082FBE58
- ldr r3, [sp, 0x4]
- adds r0, r3, r0
- adds r4, r0, 0
- adds r4, 0x3C
- ldr r7, [sp]
- lsls r7, 2
- mov r10, r7
-_0802CFE8:
- lsls r0, r6, 2
- ldr r1, [sp, 0x8]
- ldr r3, =0x000081d0
- adds r2, r1, r3
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r4]
- strh r0, [r1, 0x22]
- ldr r3, [r2]
- ldrb r0, [r3, 0x5]
- movs r7, 0xD
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- mov r1, r10
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xF
- ands r0, r1
- mov r7, r9
- orrs r0, r7
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- mov r2, r8
- lsrs r1, r2, 24
- bl StartSpriteAnim
- adds r6, 0x1
- subs r4, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _0802CFE8
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802CF50
-
- thumb_func_start sub_802D044
-sub_802D044: @ 802D044
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- movs r1, 0x7
- movs r2, 0x78
- movs r3, 0x50
- bl sub_802EB24
- adds r0, r4, 0
- bl sub_802CD3C
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D044
-
- thumb_func_start sub_802D068
-sub_802D068: @ 802D068
- push {lr}
- bl sub_802EB84
- pop {r1}
- bx r1
- thumb_func_end sub_802D068
-
- thumb_func_start sub_802D074
-sub_802D074: @ 802D074
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- str r0, [r4]
- bl sub_802D0BC
- ldr r0, =sub_802D12C
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x6]
- ldr r2, [r4]
- ldrb r0, [r2, 0x6]
- movs r1, 0x2
- bl SetWordTaskArg
- ldr r0, =sub_802D150
- bl sub_802D108
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D074
-
- thumb_func_start sub_802D0AC
-sub_802D0AC: @ 802D0AC
- push {lr}
- bl FreeAllWindowBuffers
- bl sub_8034CC8
- pop {r0}
- bx r0
- thumb_func_end sub_802D0AC
-
- thumb_func_start sub_802D0BC
-sub_802D0BC: @ 802D0BC
- movs r1, 0
- strh r1, [r0, 0x4]
- str r1, [r0]
- movs r1, 0xFF
- strh r1, [r0, 0x12]
- bx lr
- thumb_func_end sub_802D0BC
-
- thumb_func_start sub_802D0C8
-sub_802D0C8: @ 802D0C8
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r4, =gUnknown_082FE18C
-_0802D0D0:
- ldr r0, [r4]
- cmp r0, r6
- bne _0802D0DC
- ldr r0, [r4, 0x4]
- bl sub_802D108
-_0802D0DC:
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x9
- bls _0802D0D0
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D0C8
-
- thumb_func_start sub_802D0F0
-sub_802D0F0: @ 802D0F0
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- ldr r1, [r0]
- movs r0, 0x1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_802D0F0
-
- thumb_func_start sub_802D108
-sub_802D108: @ 802D108
- push {r4,lr}
- adds r2, r0, 0
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- movs r1, 0
- bl SetWordTaskArg
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1, 0x4]
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D108
-
- thumb_func_start sub_802D12C
-sub_802D12C: @ 802D12C
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- bne _0802D148
- adds r0, r1, 0
- movs r1, 0
- bl GetWordTaskArg
- bl _call_via_r0
-_0802D148:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D12C
-
- thumb_func_start sub_802D150
-sub_802D150: @ 802D150
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, =gUnknown_02022D00
- ldr r1, [r6]
- ldrh r5, [r1, 0x4]
- cmp r5, 0x1
- bne _0802D160
- b _0802D298
-_0802D160:
- cmp r5, 0x1
- bgt _0802D170
- cmp r5, 0
- beq _0802D178
- b _0802D2DA
- .pool
-_0802D170:
- cmp r5, 0x2
- bne _0802D176
- b _0802D2D6
-_0802D176:
- b _0802D2DA
-_0802D178:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082FE164
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_082FE174
- bl InitWindows
- bl reset_temp_tile_data_buffers
- ldr r0, [r6]
- bl sub_802C974
- bl sub_802DD08
- ldr r0, =gPkmnJumpBgPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gPkmnJumpBgGfx
- str r5, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gPkmnJumpBgTilemap
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gPkmnJumpVenusaurPal
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gPkmnJumpVenusaurGfx
- str r5, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gPkmnJumpVenusaurTilemap
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gPkmnJumpResultsPal
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gPkmnJumpResultsGfx
- str r5, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gPkmnJumpResultsTilemap
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gPkmnJumpPal3
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r1, [r6]
- movs r0, 0xD3
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- bl sub_802DB8C
- movs r0, 0
- bl sub_802DD64
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl sub_8098C6C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- bl ResetBgPositions
- b _0802D2CC
- .pool
-_0802D298:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- bne _0802D2DA
- bl sub_802DBF8
- ldr r0, [r6]
- bl sub_802CE9C
- ldr r0, [r6]
- movs r1, 0x6
- bl sub_802CF50
- movs r0, 0x3
- bl ShowBg
- movs r0, 0
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- bl HideBg
-_0802D2CC:
- ldr r1, [r6]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D2DA
-_0802D2D6:
- movs r0, 0x1
- str r0, [r1]
-_0802D2DA:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802D150
-
- thumb_func_start sub_802D2E4
-sub_802D2E4: @ 802D2E4
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x1
- beq _0802D310
- cmp r0, 0x1
- bgt _0802D300
- cmp r0, 0
- beq _0802D30A
- b _0802D34A
- .pool
-_0802D300:
- cmp r0, 0x2
- beq _0802D322
- cmp r0, 0x3
- beq _0802D33A
- b _0802D34A
-_0802D30A:
- bl sub_802DE1C
- b _0802D330
-_0802D310:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D34A
- movs r0, 0
- bl sub_802DF70
- b _0802D330
-_0802D322:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D34A
- bl sub_802DFD4
-_0802D330:
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D34A
-_0802D33A:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D34A
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
-_0802D34A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D2E4
-
- thumb_func_start sub_802D350
-sub_802D350: @ 802D350
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x1
- beq _0802D37C
- cmp r0, 0x1
- bgt _0802D36C
- cmp r0, 0
- beq _0802D376
- b _0802D3B6
- .pool
-_0802D36C:
- cmp r0, 0x2
- beq _0802D38E
- cmp r0, 0x3
- beq _0802D3A6
- b _0802D3B6
-_0802D376:
- bl sub_802DE1C
- b _0802D39C
-_0802D37C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D3B6
- movs r0, 0x1
- bl sub_802DF70
- b _0802D39C
-_0802D38E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D3B6
- bl sub_802DFD4
-_0802D39C:
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D3B6
-_0802D3A6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D3B6
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
-_0802D3B6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D350
-
- thumb_func_start sub_802D3BC
-sub_802D3BC: @ 802D3BC
- push {r4,r5,lr}
- bl sub_802C8AC
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- beq _0802D3DC
- cmp r0, 0x1
- beq _0802D410
- b _0802D43E
- .pool
-_0802D3DC:
- movs r4, 0
- cmp r4, r5
- bge _0802D3F8
-_0802D3E2:
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r4, 0x1
- cmp r4, r5
- blt _0802D3E2
-_0802D3F8:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_02022D00
- ldr r1, [r0]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D43E
- .pool
-_0802D410:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D43E
- movs r4, 0
- cmp r4, r5
- bge _0802D436
-_0802D420:
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- adds r4, 0x1
- cmp r4, r5
- blt _0802D420
-_0802D436:
- ldr r0, =gUnknown_02022D00
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1]
-_0802D43E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D3BC
-
- thumb_func_start sub_802D448
-sub_802D448: @ 802D448
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0802D4A4
- cmp r4, 0x1
- bgt _0802D464
- cmp r4, 0
- beq _0802D46A
- b _0802D4EC
- .pool
-_0802D464:
- cmp r4, 0x2
- beq _0802D4DC
- b _0802D4EC
-_0802D46A:
- movs r0, 0x1
- movs r1, 0x8
- movs r2, 0x14
- movs r3, 0x2
- bl sub_802DA9C
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_WantToPlayAgain2
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0802D4D2
- .pool
-_0802D4A4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D4EC
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x17
- movs r1, 0x7
- movs r2, 0
- bl sub_802DB18
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802D4D2:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D4EC
-_0802D4DC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D4EC
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0802D4EC:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D448
-
- thumb_func_start sub_802D4F4
-sub_802D4F4: @ 802D4F4
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0802D550
- cmp r4, 0x1
- bgt _0802D510
- cmp r4, 0
- beq _0802D516
- b _0802D58E
- .pool
-_0802D510:
- cmp r4, 0x2
- beq _0802D57E
- b _0802D58E
-_0802D516:
- movs r0, 0x2
- movs r1, 0x7
- movs r2, 0x1A
- movs r3, 0x4
- bl sub_802DA9C
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_SavingDontTurnOffPower
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0802D574
- .pool
-_0802D550:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D58E
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802D574:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D58E
-_0802D57E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D58E
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0802D58E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D4F4
-
- thumb_func_start sub_802D598
-sub_802D598: @ 802D598
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0
- beq _0802D5B0
- cmp r4, 0x1
- beq _0802D5C8
- b _0802D5DE
- .pool
-_0802D5B0:
- bl sub_802DA14
- bl sub_8198C78
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D5DE
-_0802D5C8:
- bl sub_802DA44
- cmp r0, 0
- bne _0802D5DE
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D5DE
- ldr r0, [r5]
- str r4, [r0]
-_0802D5DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D598
-
- thumb_func_start sub_802D5E4
-sub_802D5E4: @ 802D5E4
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0802D640
- cmp r4, 0x1
- bgt _0802D600
- cmp r4, 0
- beq _0802D606
- b _0802D67E
- .pool
-_0802D600:
- cmp r4, 0x2
- beq _0802D66E
- b _0802D67E
-_0802D606:
- movs r0, 0x2
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_802DA9C
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_SomeoneDroppedOut2
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0802D664
- .pool
-_0802D640:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D67E
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802D664:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D67E
-_0802D66E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D67E
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0802D67E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D5E4
-
- thumb_func_start sub_802D688
-sub_802D688: @ 802D688
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0802D6E4
- cmp r4, 0x1
- bgt _0802D6A4
- cmp r4, 0
- beq _0802D6AA
- b _0802D722
- .pool
-_0802D6A4:
- cmp r4, 0x2
- beq _0802D712
- b _0802D722
-_0802D6AA:
- movs r0, 0x7
- movs r1, 0xA
- movs r2, 0x10
- movs r3, 0x2
- bl sub_802DA9C
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_CommunicationStandby4
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0802D708
- .pool
-_0802D6E4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D722
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0802D708:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D722
-_0802D712:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802D722
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0802D722:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D688
-
- thumb_func_start sub_802D72C
-sub_802D72C: @ 802D72C
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022D00
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0
- beq _0802D744
- cmp r4, 0x1
- beq _0802D752
- b _0802D75E
- .pool
-_0802D744:
- bl sub_802D044
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0802D75E
-_0802D752:
- bl sub_802D068
- cmp r0, 0
- bne _0802D75E
- ldr r0, [r5]
- str r4, [r0]
-_0802D75E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802D72C
-
- thumb_func_start sub_802D764
-sub_802D764: @ 802D764
- push {lr}
- ldr r1, =gUnknown_02022D00
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0xA]
- ldr r0, [r1]
- strb r2, [r0, 0xB]
- ldr r2, [r1]
- movs r0, 0x6
- strb r0, [r2, 0xC]
- ldr r0, [r1]
- ldrb r0, [r0, 0xC]
- bl sub_802DC9C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D764
-
- thumb_func_start sub_802D788
-sub_802D788: @ 802D788
- push {r4,lr}
- ldr r0, =gUnknown_02022D00
- ldr r2, [r0]
- ldrb r3, [r2, 0xA]
- adds r4, r0, 0
- cmp r3, 0
- beq _0802D7A0
- cmp r3, 0x1
- beq _0802D7DA
- b _0802D7DE
- .pool
-_0802D7A0:
- ldrb r0, [r2, 0xB]
- adds r0, 0x1
- strb r0, [r2, 0xB]
- ldr r1, [r4]
- ldrb r0, [r1, 0xB]
- cmp r0, 0xA
- bls _0802D7CA
- strb r3, [r1, 0xB]
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- adds r1, 0x1
- strb r1, [r0, 0xC]
- ldr r1, [r4]
- ldrb r0, [r1, 0xC]
- cmp r0, 0x9
- bls _0802D7CA
- strb r3, [r1, 0xC]
- ldr r1, [r4]
- ldrb r0, [r1, 0xA]
- adds r0, 0x1
- strb r0, [r1, 0xA]
-_0802D7CA:
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl sub_802DC9C
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- cmp r0, 0x7
- bne _0802D7DE
-_0802D7DA:
- movs r0, 0
- b _0802D7E0
-_0802D7DE:
- movs r0, 0x1
-_0802D7E0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802D788
-
- thumb_func_start sub_802D7E8
-sub_802D7E8: @ 802D7E8
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- ldr r5, =gUnknown_02022D00
- ldr r1, [r5]
- adds r1, 0x26
- adds r2, r4, 0
- bl CopyItemNameHandlePlural
- ldr r0, [r5]
- adds r0, 0x66
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, [r5]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, [r5]
- adds r1, 0x66
- movs r0, 0x1
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r5]
- adds r0, 0xA6
- ldr r1, =gText_AwesomeWonF701F700
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_802DA9C
- ldr r2, [r5]
- movs r4, 0
- movs r3, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0x1
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r5]
- ldr r0, =0x0000016f
- strh r0, [r1, 0x14]
- strb r4, [r1, 0xD]
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D7E8
-
- thumb_func_start sub_802D884
-sub_802D884: @ 802D884
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gUnknown_02022D00
- ldr r1, [r4]
- adds r1, 0x26
- bl CopyItemName
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, [r4]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r4]
- adds r0, 0xA6
- ldr r1, =gText_FilledStorageSpace2
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_802DA9C
- ldr r2, [r4]
- movs r6, 0
- movs r5, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- strh r5, [r0, 0x14]
- strb r6, [r0, 0xD]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D884
-
- thumb_func_start sub_802D8FC
-sub_802D8FC: @ 802D8FC
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gUnknown_02022D00
- ldr r1, [r4]
- adds r1, 0x26
- bl CopyItemName
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, [r4]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r4]
- adds r0, 0xA6
- ldr r1, =gText_CantHoldMore
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x9
- movs r2, 0x16
- movs r3, 0x2
- bl sub_802DA9C
- ldr r2, [r4]
- movs r6, 0
- movs r5, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- strh r5, [r0, 0x14]
- strb r6, [r0, 0xD]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802D8FC
-
- thumb_func_start sub_802D974
-sub_802D974: @ 802D974
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrb r0, [r0, 0xD]
- cmp r0, 0x1
- beq _0802D9C8
- cmp r0, 0x1
- bgt _0802D990
- cmp r0, 0
- beq _0802D99A
- b _0802DA0C
- .pool
-_0802D990:
- cmp r0, 0x2
- beq _0802D9EE
- cmp r0, 0x3
- beq _0802DA02
- b _0802DA0C
-_0802D99A:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802DA0C
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
- b _0802DA0C
-_0802D9C8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802DA0C
- ldr r1, [r4]
- ldrh r0, [r1, 0x14]
- cmp r0, 0
- bne _0802D9E0
- ldrb r0, [r1, 0xD]
- adds r0, 0x2
- b _0802DA00
-_0802D9E0:
- ldrh r0, [r1, 0x14]
- bl PlayFanfare
- ldr r1, [r4]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
-_0802D9EE:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0802DA0C
- ldr r0, =gUnknown_02022D00
- ldr r1, [r0]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
-_0802DA00:
- strb r0, [r1, 0xD]
-_0802DA02:
- movs r0, 0
- b _0802DA0E
- .pool
-_0802DA0C:
- movs r0, 0x1
-_0802DA0E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802D974
-
- thumb_func_start sub_802DA14
-sub_802DA14: @ 802DA14
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldrh r0, [r0, 0x12]
- cmp r0, 0xFF
- beq _0802DA38
- lsls r0, 24
- lsrs r0, 24
- bl rbox_fill_rectangle
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- bl CopyWindowToVram
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0xD]
-_0802DA38:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DA14
-
- thumb_func_start sub_802DA44
-sub_802DA44: @ 802DA44
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r1, [r4]
- ldrh r0, [r1, 0x12]
- cmp r0, 0xFF
- bne _0802DA58
-_0802DA50:
- movs r0, 0
- b _0802DA84
- .pool
-_0802DA58:
- ldrb r0, [r1, 0xD]
- cmp r0, 0
- bne _0802DA7E
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802DA82
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl RemoveWindow
- ldr r1, [r4]
- movs r0, 0xFF
- strh r0, [r1, 0x12]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
- b _0802DA50
-_0802DA7E:
- cmp r0, 0x1
- beq _0802DA50
-_0802DA82:
- movs r0, 0x1
-_0802DA84:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802DA44
-
- thumb_func_start sub_802DA8C
-sub_802DA8C: @ 802DA8C
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_802DA8C
-
- thumb_func_start sub_802DA9C
-sub_802DA9C: @ 802DA9C
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, =0xffffff00
- ldr r4, [sp]
- ands r4, r6
- lsls r0, 24
- lsrs r0, 16
- ldr r5, =0xffff00ff
- ands r4, r5
- orrs r4, r0
- lsls r1, 24
- lsrs r1, 8
- ldr r0, =0xff00ffff
- ands r4, r0
- orrs r4, r1
- lsls r2, 24
- ldr r0, =0x00ffffff
- ands r4, r0
- orrs r4, r2
- str r4, [sp]
- lsls r3, 24
- lsrs r3, 24
- ldr r0, [sp, 0x4]
- ands r0, r6
- orrs r0, r3
- ands r0, r5
- movs r1, 0xF0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0x86
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802DA9C
-
- thumb_func_start sub_802DB18
-sub_802DB18: @ 802DB18
- push {r4,r5,lr}
- sub sp, 0x8
- adds r3, r2, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r5, =0xffffff00
- ldr r2, [sp]
- ands r2, r5
- lsls r0, 24
- lsrs r0, 16
- ldr r4, =0xffff00ff
- ands r2, r4
- orrs r2, r0
- lsls r1, 24
- lsrs r1, 8
- ldr r0, =0xff00ffff
- ands r2, r0
- orrs r2, r1
- ldr r0, =0x00ffffff
- ands r2, r0
- movs r0, 0xC0
- lsls r0, 19
- orrs r2, r0
- str r2, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r5
- movs r1, 0x4
- orrs r0, r1
- ands r0, r4
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xAC
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- movs r1, 0x1
- movs r2, 0xD
- bl CreateYesNoMenu
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DB18
-
- thumb_func_start sub_802DB8C
-sub_802DB8C: @ 802DB8C
- push {r4,lr}
- sub sp, 0x10
- ldr r1, =gUnknown_082FE1DC
- add r0, sp, 0xC
- movs r2, 0x3
- bl memcpy
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- add r0, sp, 0xC
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r0, =gText_SpacePoints2
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- add r0, sp, 0xC
- str r0, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_SpaceTimes3
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DB8C
-
- thumb_func_start sub_802DBF8
-sub_802DBF8: @ 802DBF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- bl sub_802C8AC
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- ldr r1, =gUnknown_082FE260
- subs r0, 0x2
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- movs r6, 0
- cmp r6, r10
- bge _0802DC62
- ldr r0, =gMonFrontPicCoords
- mov r9, r0
- ldr r1, =gUnknown_02022D00
- mov r8, r1
-_0802DC26:
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_802C8C8
- adds r1, r0, 0
- ldrh r0, [r1]
- lsls r0, 2
- add r0, r9
- ldrb r3, [r0, 0x1]
- mov r2, r8
- ldr r0, [r2]
- movs r7, 0
- ldrsh r2, [r5, r7]
- adds r3, 0x70
- str r4, [sp]
- bl sub_802C9D4
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x70
- adds r3, r4, 0
- bl sub_802CE48
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, r10
- blt _0802DC26
-_0802DC62:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DBF8
-
- thumb_func_start sub_802DC80
-sub_802DC80: @ 802DC80
- ldr r2, =gUnknown_02022D00
- ldr r2, [r2]
- lsls r0, 2
- ldr r3, =0x000081a8
- adds r2, r3
- adds r2, r0
- ldr r0, [r2]
- strh r1, [r0, 0x26]
- bx lr
- .pool
- thumb_func_end sub_802DC80
-
- thumb_func_start sub_802DC9C
-sub_802DC9C: @ 802DC9C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_802CF50
- ldr r0, =gUnknown_082FE1DF
- adds r4, r0
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 13
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DC9C
-
- thumb_func_start sub_802DCCC
-sub_802DCCC: @ 802DCCC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- movs r6, 0
-_0802DCD6:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0802DCEA
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- adds r1, r5, 0
- bl sub_802CB14
- adds r6, 0x1
-_0802DCEA:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x4
- ble _0802DCD6
- subs r0, r6, 0x2
- lsls r0, 24
- lsrs r0, 24
- bl sub_802E00C
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802DCCC
-
- thumb_func_start sub_802DD08
-sub_802DD08: @ 802DD08
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- movs r0, 0x40
- strb r0, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- movs r0, 0x8
- strb r0, [r1, 0x2]
- movs r0, 0x6C
- strh r0, [r1, 0x4]
- movs r4, 0x6
- strh r4, [r1, 0x6]
- ldr r0, =gUnknown_082FE1EC
- str r0, [sp, 0x8]
- ldr r0, =gUnknown_082FE1F4
- str r0, [sp, 0xC]
- movs r0, 0x2
- bl sub_8034C54
- movs r0, 0
- movs r1, 0
- mov r2, sp
- bl sub_8034D14
- mov r1, sp
- movs r0, 0x4
- strb r0, [r1, 0x1]
- movs r0, 0x1E
- strh r0, [r1, 0x4]
- mov r0, sp
- strh r4, [r0, 0x6]
- movs r0, 0x1
- movs r1, 0
- mov r2, sp
- bl sub_8034D14
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DD08
-
- thumb_func_start sub_802DD64
-sub_802DD64: @ 802DD64
- push {lr}
- adds r1, r0, 0
- movs r0, 0
- bl sub_8035044
- pop {r0}
- bx r0
- thumb_func_end sub_802DD64
-
- thumb_func_start sub_802DD74
-sub_802DD74: @ 802DD74
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1
- bl sub_8035044
- pop {r0}
- bx r0
- thumb_func_end sub_802DD74
-
- thumb_func_start sub_802DD88
-sub_802DD88: @ 802DD88
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CBF0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DD88
-
- thumb_func_start sub_802DDA0
-sub_802DDA0: @ 802DDA0
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CC88
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DDA0
-
- thumb_func_start sub_802DDB8
-sub_802DDB8: @ 802DDB8
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CC18
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802DDB8
-
- thumb_func_start sub_802DDCC
-sub_802DDCC: @ 802DDCC
- push {lr}
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CCB0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DDCC
-
- thumb_func_start sub_802DDE0
-sub_802DDE0: @ 802DDE0
- push {lr}
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CD3C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DDE0
-
- thumb_func_start sub_802DDF4
-sub_802DDF4: @ 802DDF4
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CD70
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DDF4
-
- thumb_func_start sub_802DE08
-sub_802DE08: @ 802DE08
- push {lr}
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- bl sub_802CD98
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802DE08
-
- thumb_func_start sub_802DE1C
-sub_802DE1C: @ 802DE1C
- push {r4-r7,lr}
- sub sp, 0x8
- bl sub_802C8AC
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r1, =gUnknown_082FE234
- subs r0, r7, 0x2
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldr r2, =0xffffff00
- ldr r0, [sp]
- ands r0, r2
- ldr r1, =0x00ffffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 20
- orrs r0, r1
- str r0, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r2
- movs r1, 0x2
- orrs r0, r1
- ldr r1, =0xffff00ff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xAC
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r5, 0
- cmp r5, r7
- bge _0802DEAC
- mov r6, sp
-_0802DE6A:
- ldrb r0, [r4]
- lsls r0, 8
- ldr r2, =0xffff00ff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- ldrb r2, [r4, 0x2]
- lsls r2, 16
- ldr r0, =0xff00ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- mov r0, sp
- bl AddWindow
- ldr r1, =gUnknown_02022D00
- ldr r1, [r1]
- lsls r2, r5, 1
- adds r1, 0x1C
- adds r1, r2
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldrh r0, [r6, 0x6]
- adds r0, 0x10
- strh r0, [r6, 0x6]
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r7
- blt _0802DE6A
-_0802DEAC:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DE1C
-
- thumb_func_start sub_802DED8
-sub_802DED8: @ 802DED8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x10
- adds r5, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- strb r1, [r0]
- strb r2, [r0, 0x1]
- strb r3, [r0, 0x2]
- ldr r6, =gUnknown_02022D00
- ldr r0, [r6]
- lsls r1, r5, 1
- mov r8, r1
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl sub_802C8E8
- adds r1, r0, 0
- movs r2, 0x1
- negs r2, r2
- mov r9, r2
- movs r0, 0x1
- bl GetStringWidth
- movs r4, 0x40
- subs r4, r0
- lsrs r4, 1
- adds r0, r5, 0
- bl sub_802C8E8
- adds r1, r0, 0
- ldr r0, [r6]
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- lsls r4, 24
- lsrs r4, 24
- add r2, sp, 0xC
- str r2, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- ldr r0, [r6]
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DED8
-
- thumb_func_start sub_802DF70
-sub_802DF70: @ 802DF70
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_802C8AC
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0
- bne _0802DF9A
- movs r4, 0
- cmp r4, r5
- bge _0802DFCC
-_0802DF86:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x3
- bl sub_802DED8
- adds r4, 0x1
- cmp r4, r5
- blt _0802DF86
- b _0802DFCC
-_0802DF9A:
- bl sub_802C8BC
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
- cmp r4, r5
- bge _0802DFCC
-_0802DFA8:
- cmp r6, r4
- beq _0802DFBA
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x3
- bl sub_802DED8
- b _0802DFC6
-_0802DFBA:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- movs r3, 0x5
- bl sub_802DED8
-_0802DFC6:
- adds r4, 0x1
- cmp r4, r5
- blt _0802DFA8
-_0802DFCC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802DF70
-
- thumb_func_start sub_802DFD4
-sub_802DFD4: @ 802DFD4
- push {r4,r5,lr}
- bl sub_802C8AC
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0
- cmp r4, r5
- bge _0802DFFA
-_0802DFE4:
- ldr r0, =gUnknown_02022D00
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- adds r4, 0x1
- cmp r4, r5
- blt _0802DFE4
-_0802DFFA:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802DFD4
-
- thumb_func_start sub_802E00C
-sub_802E00C: @ 802E00C
- push {r4,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_02022D00
- ldr r2, [r0]
- movs r0, 0
- str r0, [r2, 0x18]
- lsrs r1, 25
- lsls r1, 16
- movs r0, 0x1
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- ands r4, r0
- lsls r4, 8
- subs r4, 0x28
- lsls r4, 8
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- bl ShowBg
- ldr r0, =sub_802E090
- movs r1, 0x4
- bl CreateTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E00C
-
- thumb_func_start sub_802E058
-sub_802E058: @ 802E058
- push {r4,lr}
- ldr r4, =gUnknown_02022D00
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- cmp r0, 0x1F
- bls _0802E06C
- movs r0, 0
- b _0802E08A
- .pool
-_0802E06C:
- movs r0, 0x1
- movs r1, 0x80
- movs r2, 0x1
- bl ChangeBgY
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r0, 0x1
- str r0, [r1, 0x18]
- cmp r0, 0x1F
- bls _0802E088
- movs r0, 0x1
- bl HideBg
-_0802E088:
- movs r0, 0x1
-_0802E08A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802E058
-
- thumb_func_start sub_802E090
-sub_802E090: @ 802E090
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_802E058
- cmp r0, 0
- bne _0802E0A4
- adds r0, r4, 0
- bl DestroyTask
-_0802E0A4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802E090
-
- thumb_func_start sub_802E0AC
-sub_802E0AC: @ 802E0AC
- push {lr}
- sub sp, 0xC
- mov r2, sp
- movs r1, 0x1
- strb r1, [r2]
- ldrh r1, [r0]
- strh r1, [r2, 0x2]
- ldr r1, [r0, 0x4]
- str r1, [sp, 0x8]
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_802E0AC
-
- thumb_func_start sub_802E0D0
-sub_802E0D0: @ 802E0D0
- push {r4,lr}
- sub sp, 0xC
- adds r4, r1, 0
- ldr r3, =gRecvCmds
- lsls r2, r0, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _0802E100
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0802E108
-_0802E100:
- movs r0, 0
- b _0802E118
- .pool
-_0802E108:
- mov r0, sp
- ldrh r0, [r0, 0x2]
- strh r0, [r4]
- ldr r0, [sp, 0x8]
- str r0, [r4, 0x4]
- ldr r0, [sp, 0x4]
- str r0, [r4, 0x8]
- movs r0, 0x1
-_0802E118:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802E0D0
-
- thumb_func_start sub_802E120
-sub_802E120: @ 802E120
- push {lr}
- sub sp, 0xC
- mov r2, sp
- movs r1, 0x2
- strb r1, [r2]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_802E120
-
- thumb_func_start sub_802E138
-sub_802E138: @ 802E138
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- mov r3, sp
- movs r2, 0x3
- strb r2, [r3]
- ldr r3, [r1, 0x8]
- lsls r3, 15
- ldr r2, [sp, 0x8]
- ldr r4, =0x00007fff
- mov r8, r4
- ands r2, r4
- orrs r2, r3
- str r2, [sp, 0x8]
- mov r6, sp
- ldrb r2, [r1, 0x1]
- movs r5, 0x1F
- adds r3, r5, 0
- ands r3, r2
- ldrb r4, [r6, 0x3]
- movs r2, 0x20
- negs r2, r2
- ands r2, r4
- orrs r2, r3
- strb r2, [r6, 0x3]
- mov r3, sp
- ldrb r2, [r1]
- strb r2, [r3, 0x1]
- ldrh r2, [r1, 0x2]
- strh r2, [r3, 0x6]
- mov r4, sp
- ldrh r2, [r1, 0x4]
- mov r1, r8
- ands r2, r1
- ldrh r3, [r4, 0x8]
- ldr r1, =0xffff8000
- ands r1, r3
- orrs r1, r2
- strh r1, [r4, 0x8]
- mov r2, sp
- ldrh r1, [r0, 0x10]
- strb r1, [r2, 0x2]
- mov r3, sp
- ldr r1, [r0, 0x14]
- lsls r1, 5
- ldrb r2, [r3, 0x3]
- ands r5, r2
- orrs r5, r1
- strb r5, [r3, 0x3]
- mov r1, sp
- ldrh r0, [r0, 0xE]
- strh r0, [r1, 0x4]
- mov r0, sp
- bl sub_800FE50
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E138
-
- thumb_func_start sub_802E1BC
-sub_802E1BC: @ 802E1BC
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r2, =gRecvCmds
- ldrh r0, [r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0802E228
- adds r1, r2, 0x2
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0802E228
- ldr r0, [sp, 0x8]
- lsrs r0, 15
- str r0, [r4, 0x8]
- mov r0, sp
- ldrb r1, [r0, 0x3]
- lsls r0, r1, 27
- lsrs r0, 27
- strb r0, [r4, 0x1]
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strb r0, [r4]
- mov r0, sp
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x2]
- mov r0, sp
- ldrh r0, [r0, 0x8]
- lsls r0, 17
- lsrs r0, 17
- strh r0, [r4, 0x4]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- strh r0, [r5, 0x10]
- lsls r1, 24
- lsrs r1, 29
- str r1, [r5, 0x14]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0xE]
- movs r0, 0x1
- b _0802E22A
- .pool
-_0802E228:
- movs r0, 0
-_0802E22A:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802E1BC
-
- thumb_func_start sub_802E234
-sub_802E234: @ 802E234
- push {r4,lr}
- sub sp, 0xC
- mov r4, sp
- movs r3, 0x4
- strb r3, [r4]
- ldrh r3, [r0, 0x10]
- strb r3, [r4, 0x1]
- ldr r3, [r0, 0x14]
- strb r3, [r4, 0x2]
- ldr r3, [r0, 0x18]
- strb r3, [r4, 0x3]
- mov r3, sp
- ldrh r0, [r0, 0xE]
- strh r0, [r3, 0x4]
- mov r0, sp
- strb r1, [r0, 0x6]
- strh r2, [r0, 0x8]
- bl sub_800FE50
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802E234
-
- thumb_func_start sub_802E264
-sub_802E264: @ 802E264
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, =gRecvCmds
- lsls r2, r1, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _0802E2C4
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0802E2C4
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strh r0, [r4, 0x10]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- str r0, [r4, 0x14]
- mov r0, sp
- ldrb r0, [r0, 0x3]
- str r0, [r4, 0x18]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0xE]
- mov r0, sp
- ldrb r0, [r0, 0x6]
- strb r0, [r5]
- mov r0, sp
- ldrh r0, [r0, 0x8]
- strh r0, [r6]
- movs r0, 0x1
- b _0802E2C6
- .pool
-_0802E2C4:
- movs r0, 0
-_0802E2C6:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_802E264
-
- thumb_func_start sub_802E2D0
-sub_802E2D0: @ 802E2D0
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r3, =gRecvCmds
- lsls r2, r1, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _0802E320
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0802E320
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strh r0, [r4, 0x10]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- str r0, [r4, 0x14]
- mov r0, sp
- ldrb r0, [r0, 0x3]
- str r0, [r4, 0x18]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0xE]
- movs r0, 0x1
- b _0802E322
- .pool
-_0802E320:
- movs r0, 0
-_0802E322:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802E2D0
-
- thumb_func_start sub_802E32C
-sub_802E32C: @ 802E32C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xFE
- lsls r1, 1
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_802E32C
-
- thumb_func_start ResetPokeJumpResults
-ResetPokeJumpResults: @ 802E33C
- push {lr}
- bl sub_802E32C
- movs r1, 0
- strh r1, [r0]
- str r1, [r0, 0xC]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- str r1, [r0, 0x8]
- strh r1, [r0, 0x2]
- pop {r0}
- bx r0
- thumb_func_end ResetPokeJumpResults
-
- thumb_func_start sub_802E354
-sub_802E354: @ 802E354
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- bl sub_802E32C
- adds r1, r0, 0
- movs r2, 0
- ldr r0, [r1, 0xC]
- cmp r0, r4
- bcs _0802E378
- ldr r0, =0x00018696
- cmp r4, r0
- bhi _0802E378
- str r4, [r1, 0xC]
- movs r2, 0x1
-_0802E378:
- ldrh r0, [r1]
- cmp r0, r5
- bcs _0802E388
- ldr r0, =0x0000270f
- cmp r5, r0
- bhi _0802E388
- strh r5, [r1]
- movs r2, 0x1
-_0802E388:
- ldrh r0, [r1, 0x4]
- cmp r0, r6
- bcs _0802E398
- ldr r0, =0x0000270f
- cmp r6, r0
- bhi _0802E398
- strh r6, [r1, 0x4]
- movs r2, 0x1
-_0802E398:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802E354
-
- thumb_func_start sub_802E3A8
-sub_802E3A8: @ 802E3A8
- push {lr}
- bl sub_802E32C
- adds r2, r0, 0
- ldrh r1, [r2, 0x6]
- ldr r0, =0x0000270e
- cmp r1, r0
- bhi _0802E3BC
- adds r0, r1, 0x1
- strh r0, [r2, 0x6]
-_0802E3BC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E3A8
-
- thumb_func_start sub_802E3C4
-sub_802E3C4: @ 802E3C4
- push {r4,lr}
- ldr r4, =sub_802E3E4
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E3C4
-
- thumb_func_start sub_802E3E4
-sub_802E3E4: @ 802E3E4
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- beq _0802E4A8
- cmp r0, 0x1
- bgt _0802E40C
- cmp r0, 0
- beq _0802E416
- b _0802E4F6
- .pool
-_0802E40C:
- cmp r0, 0x2
- beq _0802E4B4
- cmp r0, 0x3
- beq _0802E4DC
- b _0802E4F6
-_0802E416:
- ldr r0, =gUnknown_082FE270
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gText_PkmnJumpRecords
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- movs r6, 0
- ldr r5, =gUnknown_082FE278
-_0802E430:
- ldr r1, [r5]
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r0, 0x26
- cmp r0, r4
- ble _0802E442
- adds r4, r0, 0
-_0802E442:
- adds r5, 0x4
- adds r6, 0x1
- cmp r6, 0x2
- bls _0802E430
- adds r0, r4, 0x7
- cmp r0, 0
- bge _0802E452
- adds r0, 0x7
-_0802E452:
- asrs r4, r0, 3
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0802E45E
- adds r4, 0x1
-_0802E45E:
- movs r1, 0x1E
- subs r1, r4
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- lsls r1, 24
- lsrs r1, 16
- ldr r2, =0xffff00ff
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- lsls r2, r4, 24
- ldr r1, =0x00ffffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- mov r0, sp
- bl AddWindow
- strh r0, [r7, 0x2]
- ldrh r0, [r7, 0x2]
- adds r1, r4, 0
- bl sub_802E500
- ldrb r0, [r7, 0x2]
- movs r1, 0x3
- b _0802E4CA
- .pool
-_0802E4A8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802E4F6
- b _0802E4CE
-_0802E4B4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0802E4F6
- ldrb r0, [r7, 0x2]
- bl rbox_fill_rectangle
- ldrb r0, [r7, 0x2]
- movs r1, 0x1
-_0802E4CA:
- bl CopyWindowToVram
-_0802E4CE:
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
- b _0802E4F6
- .pool
-_0802E4DC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0802E4F6
- ldrb r0, [r7, 0x2]
- bl RemoveWindow
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_0802E4F6:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802E3E4
-
- thumb_func_start sub_802E500
-sub_802E500: @ 802E500
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp, 0x1C]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
- bl sub_802E32C
- ldrh r1, [r0]
- str r1, [sp, 0xC]
- ldr r1, [r0, 0xC]
- str r1, [sp, 0x10]
- ldrh r0, [r0, 0x4]
- str r0, [sp, 0x14]
- ldr r0, [sp, 0x18]
- lsls r4, r0, 24
- lsrs r4, 24
- ldr r5, =0x0000021d
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD
- bl sub_8098858
- adds r0, r4, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gText_PkmnJumpRecords
- ldr r1, [sp, 0x1C]
- lsls r2, r1, 3
- movs r0, 0x1
- adds r1, r5, 0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- movs r6, 0
- adds r7, r4, 0
- movs r0, 0xFF
- mov r10, r0
- mov r9, r6
- mov r1, sp
- adds r1, 0xC
- str r1, [sp, 0x20]
- movs r0, 0xC8
- lsls r0, 21
- mov r8, r0
- ldr r5, =gStringVar1
-_0802E58A:
- ldr r1, =gUnknown_082FE278
- lsls r0, r6, 2
- adds r0, r1
- ldr r2, [r0]
- mov r1, r8
- lsrs r4, r1, 24
- str r4, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [sp, 0x20]
- ldm r0!, {r1}
- str r0, [sp, 0x20]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r5, 0
- bl sub_802E620
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- ldr r1, [sp, 0x1C]
- lsls r3, r1, 3
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r4, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- movs r0, 0x80
- lsls r0, 21
- add r8, r0
- adds r6, 0x1
- ldr r1, [sp, 0x18]
- lsls r0, r1, 24
- cmp r6, 0x2
- bls _0802E58A
- lsrs r0, 24
- bl PutWindowTilemap
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E500
-
- thumb_func_start sub_802E620
-sub_802E620: @ 802E620
- push {lr}
- adds r1, r0, 0
- b _0802E628
-_0802E626:
- adds r1, 0x1
-_0802E628:
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0802E636
- cmp r0, 0
- bne _0802E626
- movs r0, 0xFF
- strb r0, [r1]
-_0802E636:
- pop {r0}
- bx r0
- thumb_func_end sub_802E620
-
- thumb_func_start sub_802E63C
-sub_802E63C: @ 802E63C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_802E6D0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- strh r5, [r0, 0xA]
- ldr r0, =gUnknown_082FE748
- lsls r5, 4
- adds r5, r0
- ldr r1, [r5]
- adds r0, r4, 0
- bl _call_via_r1
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802E63C
-
- thumb_func_start sub_802E688
-sub_802E688: @ 802E688
- push {lr}
- ldr r0, =sub_802E6D0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _0802E6B4
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- movs r0, 0x1
- b _0802E6B6
- .pool
-_0802E6B4:
- movs r0, 0
-_0802E6B6:
- pop {r1}
- bx r1
- thumb_func_end sub_802E688
-
- thumb_func_start sub_802E6BC
-sub_802E6BC: @ 802E6BC
- push {lr}
- ldr r0, =sub_802E6D0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802E6BC
-
- thumb_func_start sub_802E6D0
-sub_802E6D0: @ 802E6D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- beq _0802E71C
- cmp r0, 0x3
- bgt _0802E6F8
- cmp r0, 0x2
- beq _0802E6FE
- b _0802E752
- .pool
-_0802E6F8:
- cmp r0, 0x4
- beq _0802E738
- b _0802E752
-_0802E6FE:
- ldr r1, =gUnknown_082FE748
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r1, 0x8
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- movs r0, 0x3
- strh r0, [r4]
- b _0802E752
- .pool
-_0802E71C:
- ldr r0, =gUnknown_082FE748
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 4
- adds r0, 0xC
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl _call_via_r1
- b _0802E752
- .pool
-_0802E738:
- ldr r0, =gUnknown_082FE748
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 4
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl _call_via_r1
- adds r0, r5, 0
- bl DestroyTask
-_0802E752:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E6D0
-
- thumb_func_start sub_802E75C
-sub_802E75C: @ 802E75C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- lsls r0, 3
- ldr r1, =gUnknown_082FE6C8
- adds r0, r1
- bl LoadCompressedSpriteSheet
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 3
- ldr r1, =gUnknown_082FE6D8
- adds r0, r1
- bl LoadSpritePalette
- movs r5, 0
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r5, r0
- bge _0802E7C4
-_0802E790:
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, =gUnknown_082FE730
- adds r0, r1
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- movs r3, 0x14
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0xE]
- bl CreateSprite
- lsls r1, r5, 1
- adds r1, r4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x1A]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _0802E790
-_0802E7C4:
- movs r5, 0
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r5, r0
- bge _0802E820
- movs r7, 0x3
- movs r3, 0xD
- negs r3, r3
- mov r12, r3
- ldr r6, =gSprites
-_0802E7D8:
- lsls r0, r5, 1
- adds r0, r4
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrb r1, [r4, 0xC]
- ands r1, r7
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- mov r0, r12
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0xA]
- strh r0, [r2, 0x30]
- mov r3, r8
- strh r3, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r4, 0x1A]
- strh r0, [r2, 0x38]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _0802E7D8
-_0802E820:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E75C
-
- thumb_func_start sub_802E83C
-sub_802E83C: @ 802E83C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r1, =gTasks + 0x8
- adds r4, r1
- movs r5, 0
- strh r5, [r4, 0x4]
- strh r5, [r4, 0x6]
- strh r5, [r4, 0x8]
- movs r1, 0x3C
- strh r1, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- movs r1, 0x3
- strh r1, [r4, 0x10]
- movs r1, 0x78
- strh r1, [r4, 0x12]
- movs r1, 0x58
- strh r1, [r4, 0x14]
- adds r1, r4, 0
- bl sub_802E75C
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- movs r1, 0x4
- bl StartSpriteAnim
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x24]
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x5
- bl StartSpriteAnim
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x24]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E83C
-
- thumb_func_start sub_802E8C8
-sub_802E8C8: @ 802E8C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- b _0802E8FC
- .pool
-_0802E8E0:
- lsls r0, r5, 1
- adds r0, r4
- movs r2, 0x1A
- ldrsh r1, [r0, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0802E8FC:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _0802E8E0
- ldr r1, =gUnknown_082FE6C8
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldr r1, =gUnknown_082FE6D8
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802E8C8
-
- thumb_func_start sub_802E938
-sub_802E938: @ 802E938
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x34
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- bl __modsi3
- cmp r0, 0
- bne _0802EA4A
- ldrh r2, [r5, 0x16]
- movs r3, 0x16
- ldrsh r1, [r5, r3]
- movs r3, 0x14
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _0802EA4A
- strh r2, [r5, 0x14]
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bhi _0802EA44
- lsls r0, 2
- ldr r1, =_0802E984
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802E984:
- .4byte _0802E998
- .4byte _0802E9A6
- .4byte _0802E9A6
- .4byte _0802E9BA
- .4byte _0802EA04
-_0802E998:
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0802E9A6:
- movs r0, 0x38
- bl PlaySE
- ldrh r1, [r6, 0x32]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl StartSpriteAnim
- b _0802EA44
-_0802E9BA:
- movs r0, 0x15
- bl PlaySE
- ldrh r1, [r6, 0x32]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl StartSpriteAnim
- ldr r4, =gSprites
- movs r2, 0x1C
- ldrsh r0, [r5, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r3, 0x1E
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- b _0802EA44
- .pool
-_0802EA04:
- adds r1, r6, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r3, =gSprites
- movs r0, 0x1C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x1E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x4
- strh r0, [r5]
- b _0802EA4A
- .pool
-_0802EA44:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
-_0802EA4A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802E938
-
- thumb_func_start sub_802EA50
-sub_802EA50: @ 802EA50
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r6, r4, r5
- movs r0, 0x38
- bl PlaySE
- ldr r2, =gSprites
- movs r0, 0x1A
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_802E938
- str r1, [r0]
- movs r0, 0x1A
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- subs r5, 0x8
- adds r4, r5
- movs r0, 0x3
- strh r0, [r4, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EA50
-
- thumb_func_start sub_802EAB0
-sub_802EAB0: @ 802EAB0
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802EB14
- ldr r1, =gRecvCmds
- ldrh r0, [r1, 0x2]
- ldr r5, =0x00007fff
- cmp r0, r5
- bne _0802EAD8
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x16]
-_0802EAD8:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0802EB1A
- ldrh r0, [r4, 0x18]
- adds r0, 0x1
- strh r0, [r4, 0x18]
- mov r0, sp
- movs r1, 0
- movs r2, 0xC
- bl memset
- mov r0, sp
- strh r5, [r0]
- mov r1, sp
- ldrh r0, [r4, 0x18]
- strh r0, [r1, 0x2]
- mov r0, sp
- bl sub_800FE50
- b _0802EB1A
- .pool
-_0802EB14:
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_0802EB1A:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802EAB0
-
- thumb_func_start sub_802EB24
-sub_802EB24: @ 802EB24
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, [sp, 0x18]
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =sub_802EB98
- movs r1, 0x50
- str r3, [sp]
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r6, [r1, 0x10]
- ldr r3, [sp]
- strh r3, [r1, 0x12]
- mov r0, r8
- strh r0, [r1, 0x14]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EB24
-
- thumb_func_start sub_802EB84
-sub_802EB84: @ 802EB84
- push {lr}
- ldr r0, =sub_802EB98
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802EB84
-
- thumb_func_start sub_802EB98
-sub_802EB98: @ 802EB98
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0802EC08
- cmp r0, 0x1
- bgt _0802EBC0
- cmp r0, 0
- beq _0802EBC6
- b _0802EC8A
- .pool
-_0802EBC0:
- cmp r0, 0x2
- beq _0802EC4C
- b _0802EC8A
-_0802EBC6:
- ldrh r0, [r5, 0x4]
- ldrh r1, [r5, 0x6]
- bl sub_802EF50
- ldrh r0, [r5, 0x4]
- ldrh r1, [r5, 0x6]
- movs r3, 0x8
- ldrsh r2, [r5, r3]
- movs r4, 0xA
- ldrsh r3, [r5, r4]
- ldrb r4, [r5, 0xC]
- str r4, [sp]
- bl sub_802EFA8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r5, 0x6]
- movs r3, 0x8
- ldrsh r2, [r5, r3]
- movs r4, 0xA
- ldrsh r3, [r5, r4]
- ldrb r4, [r5, 0xC]
- str r4, [sp]
- adds r4, r5, 0
- adds r4, 0x10
- str r4, [sp, 0x4]
- adds r4, 0x2
- str r4, [sp, 0x8]
- bl sub_802EFFC
- b _0802EC3E
-_0802EC08:
- ldrb r0, [r5, 0xE]
- bl sub_802EC98
- cmp r0, 0
- bne _0802EC8A
- ldrb r0, [r5, 0xE]
- ldrb r1, [r5, 0x10]
- ldrb r2, [r5, 0x12]
- bl sub_802EDCC
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- movs r3, 0xE
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_0802EC3E:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0802EC8A
- .pool
-_0802EC4C:
- ldrb r0, [r5, 0x10]
- bl sub_802EE30
- cmp r0, 0
- bne _0802EC8A
- movs r4, 0x10
- ldrsh r1, [r5, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- movs r0, 0x12
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldrh r0, [r5, 0x4]
- bl FreeSpriteTilesByTag
- ldrh r0, [r5, 0x6]
- bl FreeSpritePaletteByTag
- adds r0, r6, 0
- bl DestroyTask
-_0802EC8A:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EB98
-
- thumb_func_start sub_802EC98
-sub_802EC98: @ 802EC98
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r4, r1, r0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bls _0802ECB2
- b _0802EDC4
-_0802ECB2:
- lsls r0, 2
- ldr r1, =_0802ECC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802ECC4:
- .4byte _0802ECE4
- .4byte _0802ECF6
- .4byte _0802ED1C
- .4byte _0802ED2C
- .4byte _0802ED4E
- .4byte _0802ED86
- .4byte _0802EDAC
- .4byte _0802ED82
-_0802ECE4:
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0x1A
- bl sub_8007E18
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0802ECF6:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0802ED04
- movs r0, 0x39
- bl PlaySE
-_0802ED04:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _0802EDC4
- movs r0, 0
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- movs r1, 0x1
- b _0802EDA2
-_0802ED1C:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0802EDC4
- b _0802EDA6
-_0802ED2C:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0802EDC4
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _0802EDC4
-_0802ED4E:
- ldrh r0, [r4, 0x22]
- subs r0, 0x4
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0802EDC4
- ldrh r1, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bgt _0802ED7E
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0
- strh r0, [r4, 0x32]
- b _0802EDA6
-_0802ED7E:
- movs r0, 0x7
- strh r0, [r4, 0x2E]
-_0802ED82:
- movs r0, 0
- b _0802EDC6
-_0802ED86:
- ldrh r0, [r4, 0x22]
- adds r0, 0x4
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0802EDC4
- movs r0, 0
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- movs r1, 0x3
-_0802EDA2:
- bl StartSpriteAffineAnim
-_0802EDA6:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- b _0802EDC2
-_0802EDAC:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0802EDC4
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r0, 0x1
-_0802EDC2:
- strh r0, [r4, 0x2E]
-_0802EDC4:
- movs r0, 0x1
-_0802EDC6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802EC98
-
- thumb_func_start sub_802EDCC
-sub_802EDCC: @ 802EDCC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gSprites
- mov r8, r0
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r5, r4, r0
- ldr r0, =0x0000ffd8
- strh r0, [r5, 0x26]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- mov r1, r8
- adds r2, r3, r1
- strh r0, [r2, 0x26]
- adds r5, 0x3E
- ldrb r6, [r5]
- movs r1, 0x5
- negs r1, r1
- adds r0, r1, 0
- ands r0, r6
- strb r0, [r5]
- adds r2, 0x3E
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, =sub_802EE5C
- str r0, [r4]
- add r3, r8
- str r0, [r3]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EDCC
-
- thumb_func_start sub_802EE30
-sub_802EE30: @ 802EE30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, 0x1C
- adds r1, r2
- ldr r1, [r1]
- ldr r0, =sub_802EE5C
- cmp r1, r0
- bne _0802EE4E
- movs r3, 0x1
-_0802EE4E:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802EE30
-
- thumb_func_start sub_802EE5C
-sub_802EE5C: @ 802EE5C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bhi _0802EF46
- lsls r0, 2
- ldr r1, =_0802EE7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802EE7C:
- .4byte _0802EE90
- .4byte _0802EEA0
- .4byte _0802EEC8
- .4byte _0802EEFC
- .4byte _0802EF34
-_0802EE90:
- movs r0, 0x40
- strh r0, [r4, 0x8]
- ldrh r0, [r5, 0x26]
- lsls r0, 4
- strh r0, [r4, 0xA]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0802EEA0:
- ldrh r1, [r4, 0x8]
- ldrh r2, [r4, 0xA]
- adds r0, r1, r2
- strh r0, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x26]
- cmp r0, 0
- blt _0802EF46
- movs r0, 0x39
- bl PlaySE
- movs r0, 0
- strh r0, [r5, 0x26]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0802EF46
-_0802EEC8:
- ldrh r0, [r4, 0x2]
- adds r0, 0xC
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0802EEE6
- movs r0, 0x39
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0802EEE6:
- ldr r0, =gSineTable
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- asrs r0, 4
- b _0802EF2A
- .pool
-_0802EEFC:
- ldrh r0, [r4, 0x2]
- adds r0, 0x10
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0802EF1A
- movs r0, 0x39
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0802EF1A:
- ldr r1, =gSineTable
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
-_0802EF2A:
- negs r0, r0
- strh r0, [r5, 0x26]
- b _0802EF46
- .pool
-_0802EF34:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _0802EF46
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_0802EF46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EE5C
-
- thumb_func_start sub_802EF50
-sub_802EF50: @ 802EF50
- push {r4,lr}
- sub sp, 0x10
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gUnknown_082FEBCC
- ldr r3, [r2, 0x4]
- ldr r2, [r2]
- str r2, [sp]
- str r3, [sp, 0x4]
- ldr r2, =gUnknown_082FEBD4
- ldr r3, [r2, 0x4]
- ldr r2, [r2]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- lsls r0, 16
- ldr r3, =0x0000ffff
- ldr r2, [sp, 0x4]
- ands r2, r3
- orrs r2, r0
- str r2, [sp, 0x4]
- ldr r2, =0xffff0000
- add r4, sp, 0x8
- ldr r0, [r4, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- bl LoadCompressedSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EF50
-
- thumb_func_start sub_802EFA8
-sub_802EFA8: @ 802EFA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- mov r12, r3
- ldr r3, [sp, 0x30]
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- mov r5, sp
- ldr r4, =gUnknown_082FEC90
- ldm r4!, {r3,r6,r7}
- stm r5!, {r3,r6,r7}
- ldm r4!, {r3,r6,r7}
- stm r5!, {r3,r6,r7}
- mov r4, sp
- strh r0, [r4]
- mov r0, sp
- strh r1, [r0, 0x2]
- lsls r2, 16
- asrs r2, 16
- mov r0, r12
- lsls r6, r0, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r6, 0
- mov r3, r8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_802EFA8
-
- thumb_func_start sub_802EFFC
-sub_802EFFC: @ 802EFFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r12, r3
- ldr r6, [sp, 0x38]
- ldr r3, [sp, 0x3C]
- mov r9, r3
- ldr r4, [sp, 0x40]
- mov r8, r4
- lsls r1, 16
- lsrs r1, 16
- lsls r6, 24
- lsrs r6, 24
- mov r10, r6
- mov r4, sp
- ldr r3, =gUnknown_082FECA8
- ldm r3!, {r5-r7}
- stm r4!, {r5-r7}
- ldm r3!, {r5-r7}
- stm r4!, {r5-r7}
- mov r3, sp
- strh r0, [r3]
- mov r0, sp
- strh r1, [r0, 0x2]
- lsls r2, 16
- asrs r4, r2, 16
- ldr r0, =0xffe00000
- adds r2, r0
- asrs r2, 16
- mov r1, r12
- lsls r5, r1, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r5, 0
- mov r3, r10
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r3, r9
- strh r0, [r3]
- adds r4, 0x20
- lsls r4, 16
- asrs r4, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r10
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r4, r8
- strh r0, [r4]
- ldr r2, =gSprites
- mov r5, r9
- movs r6, 0
- ldrsh r1, [r5, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r0]
- movs r7, 0
- ldrsh r1, [r4, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- movs r0, 0
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- bl StartSpriteAnim
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_802EFFC
-
- .align 2, 0 @ don't pad with nop
diff --git a/asm/rom_81D1C44.s b/asm/rom_81D1C44.s
deleted file mode 100644
index 36ebd29da..000000000
--- a/asm/rom_81D1C44.s
+++ /dev/null
@@ -1,7087 +0,0 @@
-
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_81D1C44
-sub_81D1C44: @ 81D1C44
- push {r4,lr}
- lsls r0, 24
- ldr r4, =gUnknown_0203CF4C
- lsrs r0, 21
- adds r0, 0x8
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _081D1C60
- movs r0, 0
- b _081D1C7A
- .pool
-_081D1C60:
- movs r2, 0
- ldr r4, =gUnknown_0203CF48
- movs r3, 0xFF
-_081D1C66:
- adds r0, r2, r4
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _081D1C66
- movs r0, 0x1
-_081D1C7A:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D1C44
-
- thumb_func_start sub_81D1C84
-sub_81D1C84: @ 81D1C84
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gUnknown_0203CF48
- adds r5, r4, r6
- ldrb r0, [r5]
- cmp r0, 0xFF
- bne _081D1CEC
- cmp r4, 0x2
- bne _081D1CD4
- ldr r0, =gUnknown_086253E8
- ldr r1, [r0, 0x14]
- ldr r0, [r0, 0x10]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, =gMailboxMailOptions
- movs r1, 0x4
- bl GetMaxWidthInMenuTable
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl AddWindow
- strb r0, [r6, 0x2]
- b _081D1CE0
- .pool
-_081D1CD4:
- lsls r0, r4, 3
- ldr r1, =gUnknown_086253E8
- adds r0, r1
- bl AddWindow
- strb r0, [r5]
-_081D1CE0:
- ldr r0, =gUnknown_0203CF48
- adds r0, r4, r0
- ldrb r0, [r0]
- movs r1, 0
- bl SetStandardWindowBorderStyle
-_081D1CEC:
- ldr r0, =gUnknown_0203CF48
- adds r0, r4, r0
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D1C84
-
- thumb_func_start sub_81D1D04
-sub_81D1D04: @ 81D1D04
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CF48
- adds r4, r0
- ldrb r0, [r4]
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1D04
-
- thumb_func_start sub_81D1D34
-sub_81D1D34: @ 81D1D34
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CF48
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81D1D34
-
- thumb_func_start sub_81D1D44
-sub_81D1D44: @ 81D1D44
- push {r4,r5,lr}
- sub sp, 0x34
- adds r3, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0x2
- negs r0, r0
- cmp r3, r0
- beq _081D1DAC
- ldr r0, =gSaveBlock1Ptr
- lsls r1, r3, 3
- adds r1, r3
- lsls r1, 2
- ldr r0, [r0]
- adds r1, r0
- ldr r0, =0x00002cca
- adds r1, r0
- add r0, sp, 0x14
- bl StringCopy
- add r0, sp, 0x14
- bl sub_81DB52C
- add r0, sp, 0x14
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _081D1D8C
- add r0, sp, 0x14
- movs r1, 0x1
- bl ConvertInternationalString
-_081D1D8C:
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_08625400
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- add r0, sp, 0x14
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x8
- adds r3, r5, 0
- bl AddTextPrinterParameterized4
-_081D1DAC:
- add sp, 0x34
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1D44
-
- thumb_func_start sub_81D1DC0
-sub_81D1DC0: @ 81D1DC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- movs r3, 0
- ldr r7, =gUnknown_0203CF4C
- ldr r0, =gText_Cancel2
- mov r12, r0
- ldr r4, =gMultiuseListMenuTemplate
- ldr r1, =gUnknown_0203CF48
- mov r8, r1
- ldr r2, =sub_81D1E7C
- mov r9, r2
- ldr r0, =sub_81D1D44
- mov r10, r0
- ldrb r1, [r5, 0x5]
- cmp r3, r1
- bcs _081D1E02
- adds r6, r7, 0
- ldr r2, =gUnknown_08625403
-_081D1DEC:
- ldr r1, [r6]
- lsls r0, r3, 3
- adds r0, r1
- str r2, [r0]
- str r3, [r0, 0x4]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r0, [r5, 0x5]
- cmp r3, r0
- bcc _081D1DEC
-_081D1E02:
- ldr r2, [r7]
- lsls r0, r3, 3
- adds r0, r2
- mov r1, r12
- str r1, [r0]
- movs r1, 0x2
- negs r1, r1
- str r1, [r0, 0x4]
- str r2, [r4]
- ldrb r0, [r5, 0x5]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0xC]
- mov r2, r8
- ldrb r0, [r2, 0x1]
- strb r0, [r4, 0x10]
- strb r1, [r4, 0x11]
- movs r0, 0x8
- strb r0, [r4, 0x12]
- strb r1, [r4, 0x13]
- strh r0, [r4, 0xE]
- movs r0, 0x29
- strb r0, [r4, 0x14]
- movs r0, 0x31
- strb r0, [r4, 0x15]
- mov r0, r9
- str r0, [r4, 0x4]
- mov r1, r10
- str r1, [r4, 0x8]
- movs r0, 0x1
- strb r0, [r4, 0x17]
- movs r0, 0
- strb r0, [r4, 0x16]
- ldrh r1, [r5, 0x2]
- ldrh r2, [r5]
- adds r0, r4, 0
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D1DC0
-
- thumb_func_start sub_81D1E7C
-sub_81D1E7C: @ 81D1E7C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _081D1E8C
- movs r0, 0x5
- bl PlaySE
-_081D1E8C:
- pop {r0}
- bx r0
- thumb_func_end sub_81D1E7C
-
- thumb_func_start sub_81D1E90
-sub_81D1E90: @ 81D1E90
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- ldrb r0, [r4, 0x5]
- ldrb r1, [r4, 0x4]
- subs r0, r1
- adds r0, 0x1
- str r0, [sp]
- movs r0, 0x6E
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r1, 0xC8
- movs r2, 0xC
- movs r3, 0x94
- bl AddScrollIndicatorArrowPairParameterized
- strb r0, [r4, 0x9]
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81D1E90
-
- thumb_func_start sub_81D1EC0
-sub_81D1EC0: @ 81D1EC0
- push {lr}
- ldr r0, =gUnknown_0203CF4C
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1EC0
-
- thumb_func_start sub_81D1ED4
-sub_81D1ED4: @ 81D1ED4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r3, r0, 0
- movs r6, 0
- movs r7, 0
-_081D1EE6:
- movs r2, 0
- lsls r5, r6, 2
- adds r0, r6, 0x1
- mov r10, r0
- adds r4, r5, 0
-_081D1EF0:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r0, r4, r0
- adds r0, r3, r0
- adds r1, r0, 0
- adds r1, 0x64
- strh r7, [r1]
- adds r0, 0x66
- strh r7, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x9
- bls _081D1EF0
- movs r2, 0
- mov r9, r2
- str r5, [sp]
- movs r1, 0x9B
- mov r8, r1
- movs r4, 0x5B
- mov r12, r4
-_081D1F1C:
- lsls r0, r2, 2
- adds r0, r2
- adds r1, r6, r0
- adds r1, r3, r1
- mov r4, r9
- strb r4, [r1]
- lsls r0, 2
- ldr r1, [sp]
- adds r0, r1, r0
- adds r0, r3, r0
- mov r4, r8
- strh r4, [r0, 0x14]
- mov r1, r12
- strh r1, [r0, 0x16]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _081D1F1C
- adds r1, r3, r5
- movs r2, 0x96
- lsls r2, 1
- adds r0, r1, r2
- strh r7, [r0]
- movs r4, 0x97
- lsls r4, 1
- adds r0, r1, r4
- strh r7, [r0]
- mov r1, r10
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0x4
- bls _081D1EE6
- movs r2, 0xD5
- lsls r2, 2
- adds r0, r3, r2
- movs r1, 0
- strb r1, [r0]
- ldr r4, =0x00000352
- adds r0, r3, r4
- strh r1, [r0]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1ED4
-
- thumb_func_start sub_81D1F84
-sub_81D1F84: @ 81D1F84
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- str r1, [sp]
- mov r9, r2
- movs r7, 0
-_081D1F98:
- lsls r4, r7, 2
- ldr r1, [sp]
- adds r0, r4, r1
- ldrh r1, [r0]
- lsls r5, r1, 8
- mov r2, r9
- adds r0, r4, r2
- ldrh r0, [r0]
- subs r0, r1
- lsls r0, 8
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- movs r3, 0
- adds r7, 0x1
- mov r10, r7
- mov r12, r4
-_081D1FBC:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- add r0, r12
- add r0, r8
- asrs r2, r5, 8
- asrs r1, r5, 7
- movs r7, 0x1
- ands r1, r7
- adds r2, r1
- adds r0, 0x64
- strh r2, [r0]
- adds r5, r6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x8
- bls _081D1FBC
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r4, r0
- add r0, r8
- mov r1, r9
- adds r2, r4, r1
- ldrh r1, [r2]
- adds r0, 0x64
- strh r1, [r0]
- ldr r7, [sp]
- adds r0, r4, r7
- ldrh r1, [r0, 0x2]
- lsls r5, r1, 8
- ldrh r0, [r2, 0x2]
- subs r0, r1
- lsls r0, 8
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- movs r3, 0
- str r4, [sp, 0x4]
- movs r0, 0x1
- mov r12, r0
-_081D2012:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- ldr r1, [sp, 0x4]
- adds r0, r1, r0
- add r0, r8
- asrs r2, r5, 8
- asrs r1, r5, 7
- mov r7, r12
- ands r1, r7
- adds r2, r1
- adds r0, 0x66
- strh r2, [r0]
- adds r5, r6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x8
- bls _081D2012
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r4, r0
- add r0, r8
- mov r2, r9
- adds r1, r4, r2
- ldrh r1, [r1, 0x2]
- adds r0, 0x66
- strh r1, [r0]
- mov r7, r10
- lsls r0, r7, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _081D1F98
- ldr r1, =0x00000352
- add r1, r8
- movs r0, 0
- strh r0, [r1]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1F84
-
- thumb_func_start sub_81D2074
-sub_81D2074: @ 81D2074
- push {r4,lr}
- adds r1, r0, 0
- ldr r0, =0x00000352
- adds r4, r1, r0
- ldrh r0, [r4]
- cmp r0, 0x9
- bls _081D208C
- movs r0, 0
- b _081D20A6
- .pool
-_081D208C:
- adds r0, r1, 0
- bl sub_81D2230
- ldrh r1, [r4]
- adds r1, 0x1
- strh r1, [r4]
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0xA
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_081D20A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D2074
-
- thumb_func_start sub_81D20AC
-sub_81D20AC: @ 81D20AC
- ldr r1, =0x00000355
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81D20AC
-
- thumb_func_start sub_81D20BC
-sub_81D20BC: @ 81D20BC
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, =0x00000355
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _081D20D4
- cmp r0, 0x1
- beq _081D20E2
- b _081D20FA
- .pool
-_081D20D4:
- bl ScanlineEffect_Clear
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- b _081D20FC
-_081D20E2:
- mov r0, sp
- ldr r1, =gUnknown_08625404
- ldm r1!, {r2,r3,r5}
- stm r0!, {r2,r3,r5}
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_081D20FA:
- movs r0, 0
-_081D20FC:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D20BC
-
- thumb_func_start sub_81D2108
-sub_81D2108: @ 81D2108
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r6, r0, 0
- movs r1, 0xD5
- lsls r1, 2
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _081D21BE
- adds r0, r6, 0
- bl sub_81D24A4
- adds r0, r6, 0
- bl sub_81D2634
- movs r7, 0
- ldr r5, =gScanlineEffectRegBuffers
- mov r12, r5
- movs r0, 0xF0
- lsls r0, 3
- add r0, r12
- mov r9, r0
- movs r1, 0xA0
- lsls r1, 1
- adds r1, r6, r1
- str r1, [sp]
- ldr r5, =0x0000ffff
- mov r8, r5
- movs r0, 0xA1
- lsls r0, 1
- adds r0, r6, r0
- str r0, [sp, 0x4]
- movs r1, 0x92
- lsls r1, 2
- adds r1, r6, r1
- str r1, [sp, 0x8]
- ldr r5, =0x0000024a
- adds r5, r6
- mov r10, r5
-_081D215E:
- adds r2, r7, 0
- adds r2, 0x37
- lsls r3, r2, 2
- mov r0, r9
- adds r0, r3, r0
- str r0, [sp, 0xC]
- add r3, r12
- lsls r4, r7, 2
- ldr r1, [sp]
- adds r0, r1, r4
- ldrh r0, [r0]
- lsls r0, 8
- ldr r5, [sp, 0x4]
- adds r1, r5, r4
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r3]
- mov r1, r8
- ands r0, r1
- ldr r5, [sp, 0xC]
- strh r0, [r5]
- lsls r2, 1
- adds r2, 0x1
- lsls r2, 1
- mov r0, r9
- adds r3, r2, r0
- add r2, r12
- ldr r1, [sp, 0x8]
- adds r0, r1, r4
- ldrh r0, [r0]
- lsls r0, 8
- add r4, r10
- ldrh r1, [r4]
- orrs r0, r1
- strh r0, [r2]
- mov r5, r8
- ands r0, r5
- strh r0, [r3]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x41
- bls _081D215E
- movs r0, 0xD5
- lsls r0, 2
- adds r1, r6, r0
- movs r0, 0
- strb r0, [r1]
-_081D21BE:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2108
-
- thumb_func_start sub_81D21DC
-sub_81D21DC: @ 81D21DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _081D21E8
- movs r1, 0
-_081D21E8:
- movs r0, 0x1
- lsls r0, r1
- movs r5, 0x1F
- bics r5, r0
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0x9B
- bl SetGpuReg
- ldr r4, =0x00003879
- movs r0, 0x44
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x46
- adds r1, r4, 0
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r5, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D21DC
-
- thumb_func_start sub_81D2230
-sub_81D2230: @ 81D2230
- push {r4-r7,lr}
- mov r12, r0
- movs r4, 0
- movs r7, 0x96
- lsls r7, 1
- add r7, r12
- ldr r6, =0x00000352
- add r6, r12
- mov r5, r12
- adds r5, 0x64
-_081D2244:
- lsls r2, r4, 2
- adds r3, r7, r2
- ldrh r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- adds r2, r5, r2
- ldr r0, [r2]
- str r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _081D2244
- movs r1, 0xD5
- lsls r1, 2
- add r1, r12
- movs r0, 0x1
- strb r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2230
-
- thumb_func_start sub_81D2278
-sub_81D2278: @ 81D2278
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp]
- adds r6, r1, 0
- adds r5, r2, 0
- str r3, [sp, 0x4]
- ldr r0, [sp, 0x38]
- ldr r7, [sp, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- str r0, [sp, 0xC]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r3, 0x2]
- cmp r0, r1
- bcs _081D22B2
- adds r2, r0, 0
- mov r10, r2
- ldrh r0, [r3, 0x2]
- ldrh r1, [r5]
- lsls r4, r1, 10
- ldrh r3, [r3]
- str r3, [sp, 0x8]
- b _081D22C6
-_081D22B2:
- ldrh r0, [r5, 0x2]
- ldr r1, [sp, 0x4]
- ldrh r1, [r1, 0x2]
- mov r10, r1
- ldr r2, [sp, 0x4]
- ldrh r1, [r2]
- lsls r4, r1, 10
- ldrh r3, [r5]
- str r3, [sp, 0x8]
- mov r2, r10
-_081D22C6:
- subs r0, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _081D22DE
- subs r0, r3, r1
- lsls r0, 10
- mov r1, r8
- bl __divsi3
- str r0, [sp, 0xC]
-_081D22DE:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r7, 0
- bne _081D2328
- mov r0, r10
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- movs r5, 0
- mov r3, r9
- lsls r3, 1
- mov r12, r3
- ldr r0, [sp, 0x8]
- add r0, r9
- str r0, [sp, 0x10]
- cmp r7, r8
- bcs _081D23B6
- movs r7, 0x1
-_081D2308:
- adds r2, r3, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r7
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r1, [sp, 0xC]
- adds r4, r1
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _081D2308
- b _081D23B6
-_081D2328:
- ldr r2, [sp, 0xC]
- cmp r2, 0
- ble _081D23C0
- mov r0, r10
- subs r0, 0x38
- lsls r0, 2
- adds r7, r0
- movs r5, 0
- mov r3, r9
- lsls r3, 1
- mov r12, r3
- ldr r0, [sp, 0x8]
- add r0, r9
- str r0, [sp, 0x10]
- cmp r5, r8
- bcs _081D237A
- ldr r0, =0x00026bff
- cmp r4, r0
- bgt _081D237A
- mov r1, r12
- str r1, [sp, 0x14]
-_081D2352:
- ldr r3, [sp, 0x14]
- adds r2, r3, r7
- asrs r1, r4, 10
- asrs r0, r4, 9
- movs r3, 0x1
- ands r0, r3
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0xC]
- adds r4, r0
- adds r7, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcs _081D237A
- ldr r1, =0x00026bff
- cmp r4, r1
- ble _081D2352
-_081D237A:
- mov r2, r10
- adds r1, r2, r5
- ldr r3, [sp]
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r3, r2
- strh r1, [r0]
- ldrh r0, [r0]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- cmp r5, r8
- bcs _081D23B6
- mov r3, r12
- movs r7, 0x1
-_081D2398:
- adds r2, r3, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r7
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0xC]
- adds r4, r0
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _081D2398
-_081D23B6:
- subs r0, r6, 0x4
- b _081D248C
- .pool
-_081D23C0:
- ldr r1, [sp, 0xC]
- cmp r1, 0
- bge _081D2464
- mov r0, r10
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- movs r5, 0
- mov r2, r9
- lsls r2, 1
- mov r12, r2
- ldr r3, [sp, 0x8]
- add r3, r9
- str r3, [sp, 0x10]
- cmp r5, r8
- bcs _081D241E
- adds r3, r2, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- movs r2, 0x1
- ands r0, r2
- adds r1, r0
- add r1, r9
- strh r1, [r3]
- b _081D2414
-_081D23F2:
- ldr r0, [sp, 0xC]
- adds r4, r0
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcs _081D241E
- mov r1, r12
- adds r3, r1, r6
- asrs r2, r4, 10
- asrs r0, r4, 9
- movs r1, 0x1
- ands r0, r1
- adds r2, r0
- add r2, r9
- strh r2, [r3]
-_081D2414:
- ldr r0, =0x00026bff
- cmp r4, r0
- bgt _081D23F2
- movs r0, 0x9B
- strh r0, [r3]
-_081D241E:
- mov r2, r10
- adds r1, r2, r5
- ldr r3, [sp]
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r3, r2
- strh r1, [r0]
- ldrh r0, [r0]
- subs r0, 0x38
- lsls r0, 2
- adds r7, r0
- cmp r5, r8
- bcs _081D245A
- mov r3, r12
- movs r6, 0x1
-_081D243C:
- adds r2, r3, r7
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r6
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0xC]
- adds r4, r0
- adds r7, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _081D243C
-_081D245A:
- subs r0, r7, 0x4
- b _081D248C
- .pool
-_081D2464:
- ldr r1, [sp]
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r1, r2
- mov r3, r10
- strh r3, [r0]
- mov r0, r10
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- adds r7, r0
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- ldr r1, [sp, 0x4]
- ldrh r0, [r1]
- strh r0, [r7]
- movs r0, 0x9B
- strh r0, [r7, 0x2]
- b _081D2494
-_081D248C:
- add r0, r12
- mov r2, sp
- ldrh r2, [r2, 0x10]
- strh r2, [r0]
-_081D2494:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2278
-
- thumb_func_start sub_81D24A4
-sub_81D24A4: @ 81D24A4
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r0, 0x97
- lsls r0, 1
- adds r2, r4, r0
- movs r3, 0x99
- lsls r3, 1
- adds r1, r4, r3
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bcs _081D24E0
- adds r7, r0, 0
- movs r0, 0xA0
- lsls r0, 1
- adds r1, r4, r0
- movs r3, 0x96
- lsls r3, 1
- adds r2, r4, r3
- subs r0, 0x10
- adds r3, r4, r0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_81D2278
- b _081D2500
-_081D24E0:
- ldrh r7, [r1]
- movs r2, 0xA0
- lsls r2, 1
- adds r1, r4, r2
- movs r3, 0x98
- lsls r3, 1
- adds r2, r4, r3
- movs r0, 0x96
- lsls r0, 1
- adds r3, r4, r0
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_81D2278
-_081D2500:
- movs r1, 0xA0
- lsls r1, 1
- adds r5, r4, r1
- movs r3, 0x98
- lsls r3, 1
- adds r2, r4, r3
- movs r0, 0x9A
- lsls r0, 1
- adds r6, r4, r0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r3, r6, 0
- bl sub_81D2278
- movs r2, 0
- movs r1, 0x9B
- lsls r1, 1
- adds r0, r4, r1
- movs r3, 0x9D
- lsls r3, 1
- adds r1, r4, r3
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bhi _081D253C
- movs r2, 0x1
-_081D253C:
- movs r0, 0x9C
- lsls r0, 1
- adds r3, r4, r0
- str r2, [sp]
- movs r1, 0x92
- lsls r1, 2
- adds r0, r4, r1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_81D2278
- movs r2, 0x38
- cmp r2, r7
- bcs _081D257E
- adds r6, r5, 0
- movs r3, 0
- movs r0, 0xA1
- lsls r0, 1
- adds r5, r4, r0
-_081D2566:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r6, r0
- strh r3, [r1]
- adds r0, r5, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r7
- bcc _081D2566
-_081D257E:
- movs r1, 0x97
- lsls r1, 1
- adds r0, r4, r1
- ldrh r2, [r0]
- movs r3, 0xD4
- lsls r3, 2
- adds r0, r4, r3
- ldrh r1, [r0]
- cmp r2, r1
- bhi _081D25B2
- movs r1, 0xA0
- lsls r1, 1
- adds r3, r4, r1
- movs r5, 0x9B
- adds r1, r0, 0
-_081D259C:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r0, r3, r0
- strh r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1]
- cmp r2, r0
- bls _081D259C
-_081D25B2:
- movs r2, 0x9B
- lsls r2, 1
- adds r1, r4, r2
- movs r3, 0xD4
- lsls r3, 2
- adds r0, r4, r3
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _081D25C8
- adds r0, r1, 0
-_081D25C8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bhi _081D25F8
- movs r0, 0xA0
- lsls r0, 1
- adds r6, r4, r0
- movs r3, 0
- movs r1, 0xA1
- lsls r1, 1
- adds r5, r4, r1
-_081D25E0:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r6, r0
- strh r3, [r1]
- adds r0, r5, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bls _081D25E0
-_081D25F8:
- movs r2, 0x38
- movs r3, 0xA0
- lsls r3, 1
- adds r5, r4, r3
- movs r0, 0xA1
- lsls r0, 1
- adds r4, r0
- movs r6, 0x9B
-_081D2608:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r1, r0, 2
- adds r3, r5, r1
- ldrh r0, [r3]
- cmp r0, 0
- bne _081D2620
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _081D2620
- strh r6, [r3]
-_081D2620:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bls _081D2608
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D24A4
-
- thumb_func_start sub_81D2634
-sub_81D2634: @ 81D2634
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r0, 0x97
- lsls r0, 1
- adds r2, r4, r0
- movs r3, 0x9F
- lsls r3, 1
- adds r1, r4, r3
- ldrh r0, [r2]
- ldrh r5, [r1]
- cmp r0, r5
- bcs _081D266E
- adds r6, r0, 0
- movs r0, 0x92
- lsls r0, 2
- adds r1, r4, r0
- subs r3, 0x12
- adds r2, r4, r3
- movs r5, 0x9E
- lsls r5, 1
- adds r3, r4, r5
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_81D2278
- b _081D2690
-_081D266E:
- ldrh r6, [r1]
- movs r0, 0x92
- lsls r0, 2
- adds r1, r4, r0
- movs r3, 0x9E
- lsls r3, 1
- adds r2, r4, r3
- movs r5, 0x96
- lsls r5, 1
- adds r3, r4, r5
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_81D2278
-_081D2690:
- movs r0, 0x92
- lsls r0, 2
- adds r5, r4, r0
- movs r1, 0x9E
- lsls r1, 1
- adds r2, r4, r1
- movs r0, 0x9C
- lsls r0, 1
- adds r3, r4, r0
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81D2278
- cmp r6, 0x38
- ble _081D26C8
- movs r0, 0
- adds r1, r5, 0
- adds r2, r6, 0
- subs r2, 0x38
-_081D26BC:
- strh r0, [r1]
- strh r0, [r1, 0x2]
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bne _081D26BC
-_081D26C8:
- movs r1, 0x97
- lsls r1, 1
- adds r0, r4, r1
- ldrh r2, [r0]
- movs r3, 0xD4
- lsls r3, 2
- adds r0, r4, r3
- ldrh r5, [r0]
- cmp r2, r5
- bgt _081D26F6
- movs r3, 0x9B
- adds r1, r0, 0
- lsls r0, r2, 2
- movs r5, 0xB5
- lsls r5, 1
- adds r0, r5
- adds r0, r4
-_081D26EA:
- strh r3, [r0]
- adds r0, 0x4
- adds r2, 0x1
- ldrh r5, [r1]
- cmp r2, r5
- ble _081D26EA
-_081D26F6:
- movs r1, 0x9D
- lsls r1, 1
- adds r0, r4, r1
- ldrh r0, [r0]
- adds r1, r0, 0x1
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r4, r2
- ldrh r0, [r0]
- cmp r0, r1
- bge _081D270E
- adds r0, r1, 0
-_081D270E:
- adds r2, r0, 0
- cmp r2, 0x79
- bgt _081D272C
- movs r1, 0
- lsls r0, r2, 2
- movs r3, 0xB4
- lsls r3, 1
- adds r0, r3
- adds r0, r4
-_081D2720:
- strh r1, [r0]
- strh r1, [r0, 0x2]
- adds r0, 0x4
- adds r2, 0x1
- cmp r2, 0x79
- ble _081D2720
-_081D272C:
- movs r3, 0
- movs r5, 0x92
- lsls r5, 2
- adds r1, r4, r5
- movs r2, 0x41
-_081D2736:
- ldrh r0, [r1]
- ldrh r4, [r1, 0x2]
- cmp r0, r4
- bcc _081D2742
- strh r3, [r1, 0x2]
- strh r3, [r1]
-_081D2742:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _081D2736
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2634
-
- thumb_func_start sub_81D2754
-sub_81D2754: @ 81D2754
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r8, r1
- ldr r1, =gUnknown_08625410
- ldrb r0, [r6]
- adds r0, r1
- ldrb r2, [r0]
- adds r6, 0x1
- movs r0, 0x9B
- mov r3, r8
- strh r0, [r3]
- movs r0, 0x5B
- subs r0, r2
- strh r0, [r3, 0x2]
- movs r7, 0x40
- movs r0, 0
- mov r12, r0
- movs r2, 0x1
- mov r9, r2
- ldr r3, =gSineTable
- mov r10, r3
-_081D2786:
- adds r0, r7, 0
- adds r0, 0x33
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, r12
- lsls r0, r1, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r3, r0, 24
- mov r12, r3
- cmp r0, 0
- bge _081D27A4
- movs r0, 0x4
- mov r12, r0
-_081D27A4:
- mov r1, r12
- lsls r0, r1, 24
- asrs r4, r0, 24
- cmp r4, 0x2
- bne _081D27B4
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_081D27B4:
- ldrb r0, [r6]
- ldr r2, =gUnknown_08625410
- adds r0, r2
- ldrb r2, [r0]
- adds r6, 0x1
- lsls r0, r4, 2
- mov r1, r8
- adds r3, r0, r1
- adds r0, r7, 0
- adds r0, 0x40
- lsls r0, 1
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r2
- asrs r5, r0, 8
- adds r0, r5, 0
- adds r0, 0x9B
- strh r0, [r3]
- lsls r0, r7, 1
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r1, r2, 0
- muls r1, r0
- asrs r1, 8
- movs r0, 0x5B
- subs r0, r1
- strh r0, [r3, 0x2]
- cmp r4, 0x2
- bgt _081D2800
- cmp r2, 0x20
- bne _081D27FA
- cmp r4, 0x2
- beq _081D2800
-_081D27FA:
- adds r0, r5, 0
- adds r0, 0x9C
- strh r0, [r3]
-_081D2800:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x4
- bls _081D2786
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2754
-
- thumb_func_start sub_81D2824
-sub_81D2824: @ 81D2824
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_08625510
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r4, 0
-_081D284A:
- adds r0, r4, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _081D284A
- cmp r5, 0
- bne _081D287C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
- b _081D288E
- .pool
-_081D287C:
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
-_081D288E:
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
- bl nullsub_79
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2824
-
- thumb_func_start nullsub_79
-nullsub_79: @ 81D28C4
- bx lr
- thumb_func_end nullsub_79
-
- thumb_func_start sub_81D28C8
-sub_81D28C8: @ 81D28C8
- push {r4-r7,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r3, =gMultiuseListMenuTemplate
- adds r2, r3, 0
- ldr r1, =gUnknown_08625548
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- strh r4, [r3, 0xC]
- str r0, [r3]
- cmp r4, 0x5
- bhi _081D28F0
- strh r4, [r3, 0xE]
- b _081D28F4
- .pool
-_081D28F0:
- movs r0, 0x6
- strh r0, [r3, 0xE]
-_081D28F4:
- ldrb r0, [r3, 0xE]
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D28C8
-
- thumb_func_start sub_81D28FC
-sub_81D28FC: @ 81D28FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r9, r0
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gText_BattleMoves2
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x80
- bl GetStringCenterAlignXOffset
- adds r4, r0, 0
- lsls r3, r4, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- mov r8, r0
- str r0, [sp, 0x4]
- movs r7, 0
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldr r5, =gText_PPSlash
- movs r1, 0x29
- mov r10, r1
- str r1, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized
- ldr r5, =gText_PowerSlash
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x6A
- bl GetStringRightAlignXOffset
- adds r4, r0, 0
- lsls r3, r4, 24
- lsrs r3, 24
- movs r1, 0x19
- str r1, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldr r5, =gText_AccuracySlash
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x6A
- bl GetStringRightAlignXOffset
- adds r4, r0, 0
- lsls r3, r4, 24
- lsrs r3, 24
- mov r1, r10
- str r1, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- negs r0, r0
- cmp r9, r0
- bne _081D29C4
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _081D2AB6
- .pool
-_081D29C4:
- mov r1, r9
- lsls r0, r1, 1
- add r0, r9
- lsls r0, 2
- ldr r1, =gBattleMoves
- adds r6, r0, r1
- ldrb r1, [r6, 0x2]
- lsls r0, r1, 3
- subs r0, r1
- ldr r1, =gTypeNames
- adds r5, r0, r1
- movs r0, 0x19
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized
- ldr r1, =gText_PPSlash
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0x4
- ldrb r1, [r6, 0x4]
- add r0, sp, 0xC
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- lsls r3, r4, 24
- lsrs r3, 24
- mov r0, r10
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- ldrb r0, [r6, 0x1]
- cmp r0, 0x1
- bhi _081D2A3C
- ldr r5, =gText_ThreeDashes
- b _081D2A4A
- .pool
-_081D2A3C:
- ldrb r1, [r6, 0x1]
- add r0, sp, 0xC
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r5, sp, 0xC
-_081D2A4A:
- movs r0, 0x19
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x6A
- bl AddTextPrinterParameterized
- ldrb r0, [r6, 0x3]
- cmp r0, 0
- bne _081D2A70
- ldr r5, =gText_ThreeDashes
- b _081D2A7E
- .pool
-_081D2A70:
- ldrb r1, [r6, 0x3]
- add r0, sp, 0xC
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r5, sp, 0xC
-_081D2A7E:
- movs r0, 0x29
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x6A
- bl AddTextPrinterParameterized
- ldr r1, =gMoveDescriptionPointers
- mov r0, r9
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- movs r0, 0x41
- str r0, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x7
- adds r2, r5, 0
- movs r3, 0
- bl AddTextPrinterParameterized
-_081D2AB6:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D28FC
-
- thumb_func_start sub_81D2ACC
-sub_81D2ACC: @ 81D2ACC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- bl ShowHideHearts
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gText_ContestMoves2
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x80
- bl GetStringCenterAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r7, 0xFF
- str r7, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldr r5, =gText_Appeal2
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x5C
- bl GetStringRightAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- movs r0, 0x19
- mov r8, r0
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- ldr r5, =gText_Jam2
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x5C
- bl GetStringRightAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- movs r0, 0x29
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- bne _081D2B6C
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _081D2BB8
- .pool
-_081D2B6C:
- lsls r4, 3
- ldr r0, =gContestMoves
- adds r4, r0
- ldr r1, =gContestMoveTypeTextPointers
- ldrb r0, [r4, 0x1]
- lsls r0, 29
- lsrs r0, 27
- adds r0, r1
- ldr r5, [r0]
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized
- ldr r1, =gContestEffectDescriptionPointers
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- movs r0, 0x41
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x7
- adds r2, r5, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
-_081D2BB8:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2ACC
-
- thumb_func_start sub_81D2BD0
-sub_81D2BD0: @ 81D2BD0
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _081D2BE2
- movs r0, 0x5
- bl PlaySE
-_081D2BE2:
- adds r0, r4, 0
- bl sub_81D28FC
- adds r0, r4, 0
- bl sub_81D2ACC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2BD0
-
- thumb_func_start sub_81D2BF4
-sub_81D2BF4: @ 81D2BF4
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r0, 0x3
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl GetPlayerTextSpeedDelay
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2BF4
-
- thumb_func_start sub_81D2C3C
-sub_81D2C3C: @ 81D2C3C
- push {lr}
- bl RunTextPrinters
- movs r0, 0x3
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_81D2C3C
-
- thumb_func_start sub_81D2C50
-sub_81D2C50: @ 81D2C50
- push {lr}
- ldr r0, =gUnknown_08625540
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D2C50
-
- thumb_func_start sub_81D2C68
-sub_81D2C68: @ 81D2C68
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r0, 0xE
- bne _081D2CA8
- cmp r2, 0x2
- beq _081D2C7E
- cmp r2, 0x7
- bne _081D2C94
-_081D2C7E:
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r2, 0
- adds r2, r3, 0
- bl GetMonData
- b _081D2CCA
- .pool
-_081D2C94:
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r2, 0
- bl GetMonData
- b _081D2CCA
- .pool
-_081D2CA8:
- cmp r2, 0x2
- beq _081D2CB0
- cmp r2, 0x7
- bne _081D2CBE
-_081D2CB0:
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetAndCopyBoxMonDataAt
- b _081D2CCA
-_081D2CBE:
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetBoxMonDataAt
-_081D2CCA:
- pop {r1}
- bx r1
- thumb_func_end sub_81D2C68
-
- thumb_func_start sub_81D2CD0
-sub_81D2CD0: @ 81D2CD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- movs r0, 0xFC
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0x4
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0x8
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0x9
- strb r0, [r5]
- adds r5, 0x1
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x2D
- movs r3, 0
- bl sub_81D2C68
- cmp r0, 0
- beq _081D2D20
- ldr r1, =gText_EggNickname
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0xC
- bl StringCopyPadded
- b _081D2E70
- .pool
-_081D2D20:
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x2
- adds r3, r5, 0
- bl sub_81D2C68
- adds r0, r5, 0
- bl StringGetEnd10
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81D2C68
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r4, 0xE
- bne _081D2D70
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r6, r0, 24
- b _081D2D92
- .pool
-_081D2D70:
- lsls r0, r4, 24
- lsrs r0, 24
- lsls r1, r6, 24
- lsrs r1, 24
- bl GetBoxedMonPtr
- adds r4, r0, 0
- bl GetBoxMonGender
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- bl GetLevelFromBoxMonExp
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_081D2D92:
- cmp r7, 0x1D
- beq _081D2D9A
- cmp r7, 0x20
- bne _081D2DB0
-_081D2D9A:
- movs r0, 0xB
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r5, 0
- bl StringCompare
- cmp r0, 0
- bne _081D2DB0
- movs r6, 0xFF
-_081D2DB0:
- adds r3, r5, 0
- b _081D2DBA
- .pool
-_081D2DB8:
- adds r3, 0x1
-_081D2DBA:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _081D2DB8
- movs r1, 0xFC
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x12
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x3C
- strb r0, [r3]
- adds r3, 0x1
- cmp r6, 0
- beq _081D2DDE
- cmp r6, 0xFE
- beq _081D2E02
- movs r0, 0
- b _081D2E24
-_081D2DDE:
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x1
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x4
- strb r0, [r3]
- adds r3, 0x1
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x3
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x5
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xB5
- b _081D2E24
-_081D2E02:
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x1
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x6
- strb r0, [r3]
- adds r3, 0x1
- strb r1, [r3]
- adds r3, 0x1
- movs r0, 0x3
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x7
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xB6
-_081D2E24:
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xFC
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x4
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x8
- strb r0, [r3]
- adds r3, 0x1
- movs r4, 0
- strb r4, [r3]
- adds r3, 0x1
- movs r0, 0x9
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xBA
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0xF9
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x5
- strb r0, [r3]
- adds r3, 0x1
- adds r0, r3, 0
- mov r1, r8
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r3, r0, 0
- strb r4, [r3]
- adds r3, 0x1
- movs r0, 0xFF
- strb r0, [r3]
- adds r0, r3, 0
-_081D2E70:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D2CD0
-
- thumb_func_start sub_81D2E7C
-sub_81D2E7C: @ 81D2E7C
- push {r4,lr}
- adds r4, r0, 0
- lsls r2, 16
- lsrs r2, 16
- b _081D2E94
-_081D2E86:
- strb r3, [r4]
- adds r1, 0x1
- adds r4, 0x1
- lsls r0, r2, 16
- ldr r2, =0xffff0000
- adds r0, r2
- lsrs r2, r0, 16
-_081D2E94:
- ldrb r3, [r1]
- adds r0, r3, 0
- cmp r0, 0xFF
- bne _081D2E86
- adds r1, r2, 0
- lsls r0, r1, 16
- ldr r2, =0xffff0000
- adds r0, r2
- lsrs r2, r0, 16
- lsls r1, 16
- cmp r1, 0
- ble _081D2EC2
- movs r3, 0
-_081D2EAE:
- strb r3, [r4]
- adds r4, 0x1
- adds r1, r2, 0
- lsls r0, r1, 16
- ldr r2, =0xffff0000
- adds r0, r2
- lsrs r2, r0, 16
- lsls r1, 16
- cmp r1, 0
- bgt _081D2EAE
-_081D2EC2:
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D2E7C
-
- thumb_func_start sub_81D2ED4
-sub_81D2ED4: @ 81D2ED4
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x18]
- ldr r4, [sp, 0x1C]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r4, 24
- cmp r4, 0
- bne _081D2EFC
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
-_081D2EFC:
- cmp r2, r0
- beq _081D2F42
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r3, 0
- bl sub_81D2CD0
- movs r0, 0xFC
- strb r0, [r5]
- movs r0, 0x4
- strb r0, [r5, 0x1]
- movs r0, 0x8
- strb r0, [r5, 0x2]
- movs r0, 0
- strb r0, [r5, 0x3]
- movs r0, 0x9
- strb r0, [r5, 0x4]
- cmp r7, 0xE
- bne _081D2F2C
- adds r0, r5, 0x5
- ldr r1, =gText_InParty
- b _081D2F3A
- .pool
-_081D2F2C:
- adds r4, r5, 0x5
- lsls r0, r7, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
-_081D2F3A:
- movs r2, 0x8
- bl sub_81D2E7C
- b _081D2F72
-_081D2F42:
- movs r1, 0
- movs r2, 0
-_081D2F46:
- adds r0, r6, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xB
- bls _081D2F46
- adds r1, r6, r1
- movs r0, 0xFF
- strb r0, [r1]
- movs r1, 0
- movs r2, 0
-_081D2F5E:
- adds r0, r5, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x7
- bls _081D2F5E
- adds r1, r5, r1
- movs r0, 0xFF
- strb r0, [r1]
-_081D2F72:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2ED4
-
- thumb_func_start sub_81D2F78
-sub_81D2F78: @ 81D2F78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r10, r1
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x24]
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r4, 16
- lsrs r0, r4, 16
- lsls r5, 24
- cmp r5, 0
- bne _081D2FB0
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
-_081D2FB0:
- cmp r2, r0
- beq _081D305C
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x16
- movs r3, 0
- bl sub_81D2C68
- mov r1, r9
- lsls r5, r1, 2
- adds r4, r5, r1
- mov r2, r8
- adds r1, r2, r4
- strb r0, [r1]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x2F
- movs r3, 0
- bl sub_81D2C68
- mov r1, r8
- adds r1, 0x1
- adds r1, r4
- strb r0, [r1]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x21
- movs r3, 0
- bl sub_81D2C68
- mov r1, r8
- adds r1, 0x2
- adds r1, r4
- strb r0, [r1]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x18
- movs r3, 0
- bl sub_81D2C68
- mov r1, r8
- adds r1, 0x3
- adds r1, r4
- strb r0, [r1]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x17
- movs r3, 0
- bl sub_81D2C68
- mov r1, r8
- adds r1, 0x4
- adds r1, r4
- strb r0, [r1]
- mov r4, r10
- add r4, r9
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x30
- movs r3, 0
- bl sub_81D2C68
- cmp r0, 0xFF
- beq _081D3044
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x30
- movs r3, 0
- bl sub_81D2C68
- movs r1, 0x1D
- bl __udivsi3
- b _081D3046
-_081D3044:
- movs r0, 0x9
-_081D3046:
- strb r0, [r4]
- mov r0, r9
- adds r1, r5, r0
- mov r2, r8
- adds r0, r2, r1
- lsls r1, 2
- adds r1, 0x14
- add r1, r8
- bl sub_81D2754
- b _081D3086
-_081D305C:
- movs r2, 0
- mov r0, r9
- lsls r5, r0, 2
- adds r1, r5, r0
- movs r6, 0
- lsls r3, r1, 2
- movs r5, 0x9B
- movs r4, 0x5B
-_081D306C:
- adds r0, r2, r1
- add r0, r8
- strb r6, [r0]
- lsls r0, r2, 2
- adds r0, r3
- add r0, r8
- strh r5, [r0, 0x14]
- strh r4, [r0, 0x16]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x4
- bls _081D306C
-_081D3086:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D2F78
-
- thumb_func_start sub_81D3094
-sub_81D3094: @ 81D3094
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r0
- mov r9, r1
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r5, r3, 16
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r4, 24
- cmp r4, 0
- bne _081D30C4
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
-_081D30C4:
- cmp r2, r0
- beq _081D311A
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x41
- movs r3, 0
- bl sub_81D2C68
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_81D2C68
- adds r6, r0, 0
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_81D2C68
- adds r5, r0, 0
- lsls r0, r4, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- movs r1, 0x1
- str r1, [sp]
- mov r1, r8
- adds r2, r4, 0
- adds r3, r5, 0
- bl LoadSpecialPokePic
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl GetFrontSpritePalFromSpeciesAndPersonality
- mov r1, r9
- bl LZ77UnCompWram
-_081D311A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3094
-
- thumb_func_start sub_81D312C
-sub_81D312C: @ 81D312C
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1]
- adds r0, 0x18
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- ble _081D3140
- movs r0, 0
- strh r0, [r1]
-_081D3140:
- movs r0, 0
- ldrsh r1, [r1, r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- thumb_func_end sub_81D312C
-
- thumb_func_start sub_81D3150
-sub_81D3150: @ 81D3150
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1]
- subs r0, 0x18
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x50
- negs r2, r2
- cmp r0, r2
- bge _081D3168
- strh r2, [r1]
-_081D3168:
- movs r0, 0
- ldrsh r1, [r1, r0]
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- thumb_func_end sub_81D3150
-
- thumb_func_start sub_81D3178
-sub_81D3178: @ 81D3178
- push {r4,r5,lr}
- adds r5, r1, 0
- bl sub_81D2074
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_81D312C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r4, 0
- bne _081D319A
- cmp r0, 0
- beq _081D319C
-_081D319A:
- movs r1, 0x1
-_081D319C:
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3178
-
- thumb_func_start sub_81D31A4
-sub_81D31A4: @ 81D31A4
- push {r4,r5,lr}
- adds r5, r1, 0
- bl sub_81D2074
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_81D3150
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r4, 0
- bne _081D31C6
- cmp r0, 0
- beq _081D31C8
-_081D31C6:
- movs r1, 0x1
-_081D31C8:
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D31A4
-
- thumb_func_start sub_81D31D0
-sub_81D31D0: @ 81D31D0
- push {r4-r7,lr}
- sub sp, 0x20
- ldr r3, =gUnknown_08625A48
- ldr r4, [r3]
- ldr r5, [r3, 0x4]
- str r4, [sp, 0x18]
- str r5, [sp, 0x1C]
- mov r4, sp
- ldr r3, =gUnknown_08625A50
- ldm r3!, {r5-r7}
- stm r4!, {r5-r7}
- ldm r3!, {r5-r7}
- stm r4!, {r5-r7}
- ldr r3, =gUnknown_08625A68
- ldr r4, [r3, 0x4]
- ldr r3, [r3]
- ldr r5, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- str r5, [r0]
- str r6, [r0, 0x4]
- mov r0, sp
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- str r3, [r2]
- str r4, [r2, 0x4]
- add sp, 0x20
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D31D0
-
- thumb_func_start sub_81D321C
-sub_81D321C: @ 81D321C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x50
- adds r5, r0, 0
- mov r12, r1
- mov r8, r2
- mov r1, sp
- ldr r0, =gUnknown_08625A70
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r3,r4}
- stm r1!, {r3,r4}
- add r3, sp, 0x20
- adds r1, r3, 0
- ldr r0, =gUnknown_08625A90
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- add r2, sp, 0x38
- adds r1, r2, 0
- ldr r0, =gUnknown_08625AA8
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- movs r4, 0
-_081D3258:
- lsls r0, r4, 3
- add r0, sp
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- stm r5!, {r0,r1}
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081D3258
- mov r1, r12
- adds r0, r2, 0
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- movs r4, 0
-_081D327A:
- lsls r0, r4, 3
- adds r0, r3, r0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- mov r5, r8
- adds r5, 0x8
- mov r8, r5
- subs r5, 0x8
- stm r5!, {r0,r1}
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081D327A
- add sp, 0x50
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D321C
-
- thumb_func_start sub_81D32B0
-sub_81D32B0: @ 81D32B0
- push {r4,r5,lr}
- ldr r2, =gUnknown_08625AC0
- ldr r4, [r2]
- ldr r5, [r2, 0x4]
- ldr r2, =gUnknown_08625AC8
- ldr r3, [r2, 0x4]
- ldr r2, [r2]
- str r4, [r0]
- str r5, [r0, 0x4]
- str r2, [r1]
- str r3, [r1, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D32B0
-
- thumb_func_start sub_81D32D4
-sub_81D32D4: @ 81D32D4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _081D32F0
- movs r0, 0
- strh r0, [r1, 0x30]
- adds r0, r1, 0
- bl sub_81D3408
-_081D32F0:
- pop {r0}
- bx r0
- thumb_func_end sub_81D32D4
-
- thumb_func_start sub_81D32F4
-sub_81D32F4: @ 81D32F4
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081D330C
- movs r0, 0
- strh r0, [r2, 0x30]
- ldr r0, =sub_81D32D4
- str r0, [r2, 0x1C]
-_081D330C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D32F4
-
- thumb_func_start sub_81D3314
-sub_81D3314: @ 81D3314
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r3, r1, r0
- cmp r3, 0
- beq _081D3360
- ldrh r1, [r3, 0x24]
- ldrh r2, [r3, 0x20]
- adds r1, r2
- ldr r2, =gUnknown_08625B2C
- movs r5, 0x2E
- ldrsh r0, [r4, r5]
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r1, [r3, 0x26]
- ldrh r3, [r3, 0x22]
- adds r1, r3
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- lsls r0, 2
- adds r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1
- b _081D337E
- .pool
-_081D3360:
- ldr r1, =gUnknown_08625B2C
- movs r5, 0x2E
- ldrsh r0, [r4, r5]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x28
- strh r0, [r4, 0x20]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r1, 0x2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x68
-_081D337E:
- strh r0, [r4, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3314
-
- thumb_func_start sub_81D338C
-sub_81D338C: @ 81D338C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r2
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- movs r5, 0
-_081D339E:
- lsls r0, r5, 2
- mov r1, r8
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _081D33F0
- strh r5, [r0, 0x2E]
- ldr r1, [r4]
- lsls r0, r5, 4
- adds r0, 0x1
- strh r0, [r1, 0x30]
- ldr r0, [r4]
- strh r6, [r0, 0x32]
- ldr r0, [r4]
- strh r5, [r0, 0x34]
- cmp r7, 0
- beq _081D33C4
- cmp r6, 0x9
- beq _081D33D0
-_081D33C4:
- ldr r1, [r4]
- ldr r0, =sub_81D3564
- str r0, [r1, 0x1C]
- b _081D33F0
- .pool
-_081D33D0:
- ldr r0, [r4]
- bl sub_81D3314
- ldr r0, [r4]
- bl sub_81D35E8
- ldr r2, [r4]
- ldr r0, =sub_81D32F4
- str r0, [r2, 0x1C]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r3, 0x5
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
-_081D33F0:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _081D339E
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D338C
-
- thumb_func_start sub_81D3408
-sub_81D3408: @ 81D3408
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r2, r0, 24
- movs r3, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- cmp r3, r0
- bge _081D3454
- ldr r5, =gSprites
- movs r7, 0x1C
- adds r7, r5
- mov r12, r7
- ldr r6, =sub_81D3564
-_081D3428:
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r2, r1, r5
- movs r7, 0x2E
- ldrsh r0, [r2, r7]
- lsls r0, 4
- adds r0, 0x1
- strh r0, [r2, 0x30]
- add r1, r12
- str r6, [r1]
- ldrh r0, [r2, 0x38]
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- cmp r3, r0
- blt _081D3428
-_081D3454:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3408
-
- thumb_func_start sub_81D3464
-sub_81D3464: @ 81D3464
- push {lr}
- adds r2, r0, 0
- movs r1, 0
- movs r3, 0
-_081D346C:
- lsls r0, r1, 2
- adds r0, r2
- str r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _081D346C
- pop {r0}
- bx r0
- thumb_func_end sub_81D3464
-
- thumb_func_start sub_81D3480
-sub_81D3480: @ 81D3480
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- movs r0, 0
- mov r9, r0
- lsrs r7, r2, 24
- movs r5, 0
- adds r0, r7, 0x1
- cmp r9, r0
- bge _081D34FE
-_081D34A2:
- ldr r0, =gUnknown_08625B14
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- adds r6, r3, 0
- cmp r3, 0x40
- beq _081D34FE
- lsls r0, r5, 2
- mov r1, r8
- adds r4, r0, r1
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r4]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- mov r1, r10
- strh r1, [r0, 0x36]
- cmp r5, 0
- beq _081D34F0
- subs r0, r4, 0x4
- ldr r0, [r0]
- strh r3, [r0, 0x38]
- b _081D34F2
- .pool
-_081D34F0:
- mov r9, r6
-_081D34F2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r7, 0x1
- cmp r5, r0
- blt _081D34A2
-_081D34FE:
- lsls r0, r7, 2
- add r0, r8
- ldr r0, [r0]
- mov r1, r9
- strh r1, [r0, 0x38]
- adds r0, r7, 0
- movs r1, 0x1
- mov r2, r8
- bl sub_81D338C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D3480
-
- thumb_func_start sub_81D3520
-sub_81D3520: @ 81D3520
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
-_081D3526:
- cmp r5, 0x9
- bhi _081D3544
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- cmp r0, 0
- beq _081D3544
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- b _081D3526
-_081D3544:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81D3520
-
- thumb_func_start sub_81D354C
-sub_81D354C: @ 81D354C
- push {lr}
- bl sub_81D3520
- movs r0, 0x68
- bl FreeSpriteTilesByTag
- movs r0, 0x68
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- thumb_func_end sub_81D354C
-
- thumb_func_start sub_81D3564
-sub_81D3564: @ 81D3564
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081D3592
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _081D35DC
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_081D3592:
- adds r0, r4, 0
- bl sub_81D3314
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081D35DC
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _081D35D8
- cmp r1, 0x9
- bne _081D35D0
- adds r0, r4, 0
- bl sub_81D35E8
- ldr r0, =sub_81D32F4
- b _081D35DA
- .pool
-_081D35D0:
- ldr r0, =sub_81D32D4
- b _081D35DA
- .pool
-_081D35D8:
- ldr r0, =SpriteCallbackDummy
-_081D35DA:
- str r0, [r4, 0x1C]
-_081D35DC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3564
-
- thumb_func_start sub_81D35E8
-sub_81D35E8: @ 81D35E8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x38]
- lsls r0, 24
- lsrs r1, r0, 24
- movs r5, 0
- movs r2, 0x32
- ldrsh r0, [r6, r2]
- adds r0, 0x1
- cmp r5, r0
- bge _081D3636
- movs r0, 0x5
- negs r0, r0
- adds r7, r0, 0
-_081D3604:
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- adds r1, r4, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- ands r0, r7
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0x32
- ldrsh r0, [r6, r2]
- adds r0, 0x1
- cmp r5, r0
- blt _081D3604
-_081D3636:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D35E8
-
- thumb_func_start sub_81D3640
-sub_81D3640: @ 81D3640
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r8, r0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r4, r3, 0
- ldr r3, [sp, 0x4C]
- ldr r0, [sp, 0x50]
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, r4, 4
- orrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- str r3, [sp, 0x28]
- bl FillWindowPixelBuffer
- add r2, sp, 0xC
- ldrh r0, [r5]
- ldrh r1, [r6]
- subs r0, r1
- strh r0, [r2]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r6, 0x2]
- subs r0, r1
- strh r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r6, 0x4]
- subs r0, r1
- strh r0, [r2, 0x4]
- ldrh r0, [r5, 0x8]
- ldrh r1, [r6, 0x8]
- subs r0, r1
- strh r0, [r2, 0x6]
- ldrh r0, [r5, 0xA]
- ldrh r1, [r6, 0xA]
- subs r0, r1
- strh r0, [r2, 0x8]
- ldrh r0, [r5, 0x6]
- ldrh r1, [r6, 0x6]
- subs r0, r1
- strh r0, [r2, 0xA]
- add r0, sp, 0x24
- strb r4, [r0]
- ldr r3, [sp, 0x28]
- strb r3, [r0, 0x1]
- mov r1, r9
- strb r1, [r0, 0x2]
- movs r7, 0
- mov r10, r0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- add r6, sp, 0x18
-_081D36CA:
- lsls r0, r7, 4
- subs r0, r7
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r10
- str r1, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- ldr r1, =gUnknown_08625B54
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x8]
- mov r0, r8
- movs r1, 0x1
- movs r2, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- lsls r0, r7, 1
- mov r4, sp
- adds r4, r0
- adds r4, 0xC
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldr r1, =gText_Dash
- cmp r0, 0
- blt _081D3704
- ldr r1, =gText_UnkCtrlF904
-_081D3704:
- adds r0, r6, 0
- bl StringCopy
- mov r0, r10
- str r0, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- movs r1, 0x1
- movs r2, 0x38
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _081D372C
- negs r0, r1
-_081D372C:
- movs r4, 0xC
- cmp r0, 0x9
- bgt _081D3734
- movs r4, 0x12
-_081D3734:
- cmp r1, 0
- bge _081D373A
- negs r1, r1
-_081D373A:
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r2, r4, 0
- adds r2, 0x38
- mov r1, r10
- str r1, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- movs r1, 0x1
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x5
- bls _081D36CA
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3640
-
- thumb_func_start sub_81D3784
-sub_81D3784: @ 81D3784
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- adds r6, r3, 0
- ldr r2, [sp, 0x4C]
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, r4, 4
- orrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- str r2, [sp, 0x28]
- bl FillWindowPixelBuffer
- add r1, sp, 0xC
- ldrh r0, [r5]
- strh r0, [r1]
- ldrh r0, [r5, 0x2]
- strh r0, [r1, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0x4]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x6]
- ldrh r0, [r5, 0xA]
- strh r0, [r1, 0x8]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0xA]
- add r0, sp, 0x24
- strb r4, [r0]
- strb r6, [r0, 0x1]
- ldr r2, [sp, 0x28]
- strb r2, [r0, 0x2]
- movs r6, 0
- add r1, sp, 0x18
- mov r9, r1
- mov r7, r8
- mov r10, r0
- movs r2, 0x1
- negs r2, r2
- mov r8, r2
-_081D37EE:
- lsls r1, r6, 1
- mov r0, sp
- adds r0, r1
- adds r0, 0xC
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r4, 0x3
- cmp r0, 0x63
- bgt _081D3808
- movs r4, 0x1
- cmp r0, 0x9
- ble _081D3808
- movs r4, 0x2
-_081D3808:
- mov r0, sp
- adds r0, r1
- adds r0, 0xC
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r0, r9
- movs r2, 0
- adds r3, r4, 0
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- subs r0, r4
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 17
- lsrs r4, 16
- lsls r5, r6, 4
- subs r5, r6
- lsls r5, 24
- lsrs r5, 24
- mov r0, r10
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_08625B54
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- mov r2, r10
- str r2, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _081D37EE
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3784
-
- thumb_func_start sub_81D388C
-sub_81D388C: @ 81D388C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- strh r0, [r5, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- strh r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r5, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- strh r0, [r5, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- strh r0, [r5, 0xA]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D388C
-
- thumb_func_start sub_81D38D4
-sub_81D38D4: @ 81D38D4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d6d
- adds r0, r1
- ldrb r1, [r0]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 8
- lsls r0, 8
- subs r0, r2, r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D38D4
-
- thumb_func_start sub_81D38FC
-sub_81D38FC: @ 81D38FC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x9C
- lsls r5, 2
- adds r1, r5, 0
- bl CalcByteArraySum
- adds r4, r5
- ldr r1, [r4]
- cmp r0, r1
- bne _081D3916
- movs r0, 0x1
- b _081D3918
-_081D3916:
- movs r0, 0
-_081D3918:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D38FC
-
- thumb_func_start sub_81D3920
-sub_81D3920: @ 81D3920
- push {r4-r7,lr}
- adds r7, r0, 0
- ldrb r6, [r7]
- subs r0, r6, 0x1
- cmp r0, 0x7
- bhi _081D3964
- movs r5, 0
- cmp r5, r6
- bcs _081D394C
- adds r4, r7, 0
- adds r4, 0x8
-_081D3936:
- adds r0, r4, 0
- bl sub_81D38FC
- cmp r0, 0
- beq _081D3964
- movs r0, 0x9D
- lsls r0, 2
- adds r4, r0
- adds r5, 0x1
- cmp r5, r6
- bcc _081D3936
-_081D394C:
- adds r0, r7, 0
- adds r0, 0x8
- movs r1, 0x9D
- lsls r1, 2
- muls r1, r6
- bl CalcByteArraySum
- ldr r1, [r7, 0x4]
- cmp r0, r1
- bne _081D3964
- movs r0, 0x1
- b _081D3966
-_081D3964:
- movs r0, 0
-_081D3966:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3920
-
- thumb_func_start sub_81D396C
-sub_81D396C: @ 81D396C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- subs r0, 0x1
- cmp r0, 0x7
- bhi _081D398E
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0xEE
- lsls r1, 4
- bl CalcByteArraySum
- ldr r1, [r4, 0x4]
- cmp r0, r1
- bne _081D398E
- movs r0, 0x1
- b _081D3990
-_081D398E:
- movs r0, 0
-_081D3990:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D396C
-
- thumb_func_start sub_81D3998
-sub_81D3998: @ 81D3998
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- mov r8, r1
- movs r2, 0x80
- lsls r2, 5
- mov r0, r8
- movs r1, 0
- bl memset
- ldrb r0, [r7]
- mov r1, r8
- strb r0, [r1]
- bl sub_81D38D4
- mov r2, r8
- strb r0, [r2, 0x1]
- ldrb r0, [r7]
- adds r0, 0x1
- asrs r0, 1
- strb r0, [r2, 0x2]
- movs r6, 0
- b _081D3A42
-_081D39C8:
- movs r0, 0x1
- ands r0, r6
- cmp r0, 0
- bne _081D3A14
- lsrs r0, r6, 31
- adds r0, r6, r0
- asrs r0, 1
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 3
- subs r4, r0
- lsls r4, 3
- add r4, r8
- movs r0, 0x9D
- lsls r0, 2
- adds r5, r6, 0
- muls r5, r0
- adds r5, r7, r5
- ldrb r0, [r5, 0x8]
- strb r0, [r4, 0x8]
- movs r1, 0xA7
- lsls r1, 2
- adds r0, r4, r1
- movs r2, 0xAA
- lsls r2, 1
- adds r1, r5, r2
- subs r2, 0x30
- bl memcpy
- adds r4, 0xC
- adds r5, 0xC
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xA4
- lsls r2, 1
- bl memcpy
- b _081D3A40
-_081D3A14:
- lsrs r1, r6, 31
- adds r1, r6, r1
- asrs r1, 1
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 3
- subs r0, r1
- lsls r0, 3
- add r0, r8
- movs r1, 0x9D
- lsls r1, 2
- muls r1, r6
- adds r1, r7, r1
- ldrb r2, [r1, 0x8]
- strb r2, [r0, 0x9]
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
- adds r1, 0xC
- subs r2, 0xC
- bl memcpy
-_081D3A40:
- adds r6, 0x1
-_081D3A42:
- ldrb r0, [r7]
- cmp r6, r0
- blt _081D39C8
- movs r0, 0x1
- ands r0, r6
- cmp r0, 0
- beq _081D3A7E
- lsrs r2, r6, 31
- adds r2, r6, r2
- asrs r2, 1
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 3
- subs r0, r2
- lsls r0, 3
- add r0, r8
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldr r3, =gUnknown_08625B6C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r2
- lsls r1, 3
- adds r1, r3
- movs r2, 0xA4
- lsls r2, 1
- bl memcpy
-_081D3A7E:
- mov r0, r8
- adds r0, 0x8
- movs r1, 0xEE
- lsls r1, 4
- bl CalcByteArraySum
- mov r2, r8
- str r0, [r2, 0x4]
- movs r0, 0x1E
- mov r1, r8
- bl sub_8153634
- cmp r0, 0x1
- bne _081D3AA4
- movs r0, 0x1
- b _081D3AA6
- .pool
-_081D3AA4:
- movs r0, 0
-_081D3AA6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3998
-
- thumb_func_start sub_81D3AB0
-sub_81D3AB0: @ 81D3AB0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- adds r5, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81D3998
- adds r4, r0, 0
- adds r0, r5, 0
- bl Free
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3AB0
-
- thumb_func_start sub_81D3AD8
-sub_81D3AD8: @ 81D3AD8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0x1E
- bl TryCopySpecialSaveSection
- cmp r0, 0x1
- bne _081D3B04
- ldr r2, =0x00000ee8
- adds r0, r5, 0
- adds r1, r4, 0
- bl memcpy
- adds r0, r5, 0
- bl sub_81D396C
- cmp r0, 0
- beq _081D3B04
- movs r0, 0x1
- b _081D3B06
- .pool
-_081D3B04:
- movs r0, 0
-_081D3B06:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3AD8
-
- thumb_func_start sub_81D3B0C
-sub_81D3B0C: @ 81D3B0C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- adds r5, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81D3AD8
- adds r4, r0, 0
- adds r0, r5, 0
- bl Free
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3B0C
-
- thumb_func_start sub_81D3B34
-sub_81D3B34: @ 81D3B34
- push {r4,r5,lr}
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- adds r4, r0, 0
- bl sub_81D3B0C
- adds r5, r0, 0
- adds r0, r4, 0
- bl Free
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D3B34
-
- thumb_func_start sub_81D3B54
-sub_81D3B54: @ 81D3B54
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_81D41A0
- movs r7, 0x2
- ldr r4, =gShouldAdvanceLinkState
-_081D3B64:
- bl sub_81D4170
- ldr r0, =gUnknown_030012E2
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081D3B76
- strb r7, [r4]
-_081D3B76:
- movs r0, 0x1
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_81D3D70
- adds r1, r0, 0
- ldr r0, =gUnknown_030012E4
- strh r1, [r0]
- movs r0, 0x13
- ands r0, r1
- cmp r0, 0x10
- bne _081D3BA0
- movs r4, 0
- b _081D3BC2
- .pool
-_081D3BA0:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081D3BAC
- movs r4, 0x1
- b _081D3BC2
-_081D3BAC:
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _081D3BC0
- strb r0, [r4]
- bl VBlankIntrWait
- b _081D3B64
-_081D3BC0:
- movs r4, 0x2
-_081D3BC2:
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_030012C8
- ldr r2, =0x05000006
- mov r0, sp
- bl CpuSet
- bl sub_81D41F4
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D3B54
-
- thumb_func_start sub_81D3BE8
-sub_81D3BE8: @ 81D3BE8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl sub_81D41A0
- movs r6, 0x2
- ldr r4, =gShouldAdvanceLinkState
-_081D3BF6:
- bl sub_81D4170
- ldr r0, =gUnknown_030012E2
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081D3C08
- strb r6, [r4]
-_081D3C08:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- adds r3, r5, 0
- bl sub_81D3D70
- adds r1, r0, 0
- ldr r0, =gUnknown_030012E4
- strh r1, [r0]
- movs r0, 0x13
- ands r0, r1
- cmp r0, 0x10
- bne _081D3C34
- movs r4, 0
- b _081D3C56
- .pool
-_081D3C34:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081D3C40
- movs r4, 0x1
- b _081D3C56
-_081D3C40:
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _081D3C54
- strb r0, [r4]
- bl VBlankIntrWait
- b _081D3BF6
-_081D3C54:
- movs r4, 0x2
-_081D3C56:
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_030012C8
- ldr r2, =0x05000006
- mov r0, sp
- bl CpuSet
- bl sub_81D41F4
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D3BE8
-
- thumb_func_start sub_81D3C7C
-sub_81D3C7C: @ 81D3C7C
- push {r4,lr}
- ldr r4, =0x04000208
- movs r3, 0
- strh r3, [r4]
- ldr r2, =0x04000200
- ldrh r1, [r2]
- ldr r0, =0x0000ff3f
- ands r0, r1
- strh r0, [r2]
- movs r0, 0x1
- strh r0, [r4]
- ldr r0, =0x04000128
- strh r3, [r0]
- subs r0, 0x1A
- strh r3, [r0]
- ldr r1, =0x04000202
- movs r0, 0xC0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3C7C
-
- thumb_func_start sub_81D3CBC
-sub_81D3CBC: @ 81D3CBC
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r5, =0x04000208
- movs r4, 0
- strh r4, [r5]
- ldr r3, =0x04000200
- ldrh r1, [r3]
- ldr r0, =0x0000ff3f
- ands r0, r1
- strh r0, [r3]
- movs r6, 0x1
- strh r6, [r5]
- ldr r0, =0x04000134
- strh r4, [r0]
- ldr r2, =0x04000128
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- ldr r7, =0x00004003
- adds r1, r7, 0
- orrs r0, r1
- strh r0, [r2]
- strh r4, [r5]
- ldrh r0, [r3]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r3]
- strh r6, [r5]
- ldr r1, =gUnknown_030012C8
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _081D3D0A
- str r0, [sp]
- ldr r2, =0x05000006
- mov r0, sp
- bl CpuSet
-_081D3D0A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3CBC
-
- thumb_func_start sub_81D3D34
-sub_81D3D34: @ 81D3D34
- ldr r0, =0x04000134
- movs r3, 0
- strh r3, [r0]
- ldr r2, =0x04000128
- movs r1, 0xA0
- lsls r1, 7
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, =gShouldAdvanceLinkState
- strb r3, [r0]
- ldr r0, =gUnknown_030012E6
- strh r3, [r0]
- ldr r1, =gUnknown_030012E8
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81D3D34
-
- thumb_func_start sub_81D3D70
-sub_81D3D70: @ 81D3D70
- push {r4-r6,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_030012C8
- ldrb r0, [r0, 0x1]
- cmp r0, 0x6
- bls _081D3D86
- b _081D3ECC
-_081D3D86:
- lsls r0, 2
- ldr r1, =_081D3D98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D3D98:
- .4byte _081D3DB4
- .4byte _081D3DC8
- .4byte _081D3DE8
- .4byte _081D3DFC
- .4byte _081D3E74
- .4byte _081D3E84
- .4byte _081D3EBC
-_081D3DB4:
- bl sub_81D3CBC
- ldr r1, =gUnknown_030012C8
- movs r0, 0x1
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x1]
- b _081D3ECC
- .pool
-_081D3DC8:
- adds r0, r2, 0
- bl sub_81D3EE8
- lsls r0, 16
- cmp r0, 0
- beq _081D3DD8
- bl sub_81D413C
-_081D3DD8:
- ldr r0, =gShouldAdvanceLinkState
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _081D3DE2
- b _081D3ECC
-_081D3DE2:
- b _081D3E04
- .pool
-_081D3DE8:
- bl sub_81D3D34
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_81D3F1C
- ldr r1, =gUnknown_030012C8
- movs r0, 0x3
- strb r0, [r1, 0x1]
-_081D3DFC:
- ldr r0, =gShouldAdvanceLinkState
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081D3E18
-_081D3E04:
- ldr r1, =gUnknown_030012C8
- strb r0, [r1, 0x4]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- b _081D3ECC
- .pool
-_081D3E18:
- ldr r2, =gUnknown_030012E6
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ldr r1, =gUnknown_030012E8
- ldr r0, [r1]
- adds r3, r0, 0x1
- str r3, [r1]
- ldr r1, =gUnknown_030012C8
- ldrb r0, [r1]
- cmp r0, 0
- bne _081D3E3C
- cmp r3, 0x3C
- bls _081D3E3C
- movs r0, 0x1
- strb r0, [r1, 0x4]
- movs r0, 0x6
- strb r0, [r1, 0x1]
-_081D3E3C:
- ldr r4, =gUnknown_030012C8
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _081D3ECC
- ldrb r0, [r4]
- cmp r0, 0
- beq _081D3E64
- ldrh r0, [r2]
- cmp r0, 0x2
- bls _081D3E64
- bl sub_81D413C
- movs r0, 0x2
- b _081D3ECA
- .pool
-_081D3E64:
- bl sub_81D413C
- ldr r1, =gUnknown_030012C8
- movs r0, 0x2
- strb r0, [r1, 0x2]
- b _081D3ECC
- .pool
-_081D3E74:
- bl sub_81D3CBC
- ldr r1, =gUnknown_030012C8
- movs r0, 0x5
- strb r0, [r1, 0x1]
- b _081D3ECC
- .pool
-_081D3E84:
- ldr r0, =gUnknown_030012C8
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081D3E98
- ldr r0, =gUnknown_030012E6
- ldrh r0, [r0]
- cmp r0, 0x2
- bls _081D3E98
- bl sub_81D413C
-_081D3E98:
- ldr r1, =gUnknown_030012E6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3C
- bls _081D3ECC
- ldr r0, =gUnknown_030012C8
- movs r1, 0x1
- strb r1, [r0, 0x4]
- movs r1, 0x6
- strb r1, [r0, 0x1]
- b _081D3ECC
- .pool
-_081D3EBC:
- ldr r4, =gUnknown_030012C8
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _081D3ECC
- bl sub_81D3C7C
- movs r0, 0
-_081D3ECA:
- strb r0, [r4, 0x2]
-_081D3ECC:
- ldr r2, =gUnknown_030012C8
- ldrb r0, [r2, 0x2]
- ldrb r1, [r2, 0x4]
- lsls r1, 2
- orrs r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 4
- orrs r0, r1
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D3D70
-
- thumb_func_start sub_81D3EE8
-sub_81D3EE8: @ 81D3EE8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =0x04000128
- ldr r0, [r0]
- movs r1, 0xC
- ands r0, r1
- cmp r0, 0x8
- bne _081D3F0C
- cmp r2, 0
- beq _081D3F0C
- ldr r1, =gUnknown_030012C8
- movs r0, 0x1
- b _081D3F10
- .pool
-_081D3F0C:
- ldr r1, =gUnknown_030012C8
- movs r0, 0
-_081D3F10:
- strb r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D3EE8
-
- thumb_func_start sub_81D3F1C
-sub_81D3F1C: @ 81D3F1C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r3, =gUnknown_030012C8
- ldrb r0, [r3]
- cmp r0, 0
- beq _081D3F54
- ldr r2, =0x04000128
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- str r5, [r3, 0x8]
- ldr r0, =0x04000120
- str r4, [r0]
- lsrs r0, r4, 2
- adds r0, 0x1
- str r0, [r3, 0x10]
- bl sub_81D3F68
- b _081D3F5C
- .pool
-_081D3F54:
- ldr r1, =0x04000128
- ldrh r0, [r1]
- strh r0, [r1]
- str r2, [r3, 0x8]
-_081D3F5C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3F1C
-
- thumb_func_start sub_81D3F68
-sub_81D3F68: @ 81D3F68
- ldr r1, =0x0400010c
- ldr r2, =0x0000fda7
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =0x0400010e
- movs r2, 0x40
- strh r2, [r0]
- ldr r3, =0x04000208
- movs r0, 0
- strh r0, [r3]
- adds r1, 0xF4
- ldrh r0, [r1]
- orrs r0, r2
- strh r0, [r1]
- movs r0, 0x1
- strh r0, [r3]
- bx lr
- .pool
- thumb_func_end sub_81D3F68
-
- thumb_func_start sub_81D3F9C
-sub_81D3F9C: @ 81D3F9C
- push {lr}
- bl sub_81D414C
- bl sub_81D413C
- pop {r0}
- bx r0
- thumb_func_end sub_81D3F9C
-
- thumb_func_start sub_81D3FAC
-sub_81D3FAC: @ 81D3FAC
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r2, =gUnknown_030012C8
- ldrb r0, [r2, 0x1]
- adds r3, r2, 0
- cmp r0, 0x3
- beq _081D4034
- cmp r0, 0x3
- bgt _081D3FC8
- cmp r0, 0x1
- beq _081D3FD0
- b _081D412A
- .pool
-_081D3FC8:
- cmp r0, 0x5
- bne _081D3FCE
- b _081D40FC
-_081D3FCE:
- b _081D412A
-_081D3FD0:
- ldr r1, =0x0400012a
- ldr r2, =0x0000ccd0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =0x04000120
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r4, 0
- ldr r6, =0x0000ccd0
- ldr r5, =0x0000ffff
-_081D3FEC:
- lsls r0, r1, 1
- add r0, sp
- ldrh r0, [r0]
- cmp r0, r6
- bne _081D4010
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- b _081D401A
- .pool
-_081D4010:
- cmp r0, r5
- beq _081D401A
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_081D401A:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _081D3FEC
- cmp r2, 0x2
- beq _081D402A
- b _081D412A
-_081D402A:
- cmp r4, 0
- beq _081D4030
- b _081D412A
-_081D4030:
- strb r2, [r3, 0x1]
- b _081D412A
-_081D4034:
- ldr r0, =0x04000120
- ldr r4, [r0]
- ldr r0, [r2, 0xC]
- cmp r0, 0
- bne _081D404A
- ldrb r0, [r2]
- cmp r0, 0
- bne _081D404A
- lsrs r0, r4, 2
- adds r0, 0x1
- str r0, [r2, 0x10]
-_081D404A:
- ldrb r0, [r3]
- cmp r0, 0x1
- bne _081D4080
- ldr r1, [r3, 0xC]
- ldr r0, [r3, 0x10]
- cmp r1, r0
- bge _081D4074
- ldr r2, =0x04000120
- ldr r0, [r3, 0x8]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [r3, 0x14]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r3, 0x14]
- b _081D40BA
- .pool
-_081D4074:
- ldr r1, =0x04000120
- ldr r0, [r3, 0x14]
- b _081D40B8
- .pool
-_081D4080:
- ldr r1, [r3, 0xC]
- cmp r1, 0
- ble _081D40A0
- ldr r0, [r3, 0x10]
- adds r0, 0x1
- cmp r1, r0
- bge _081D40A0
- ldr r0, [r3, 0x8]
- lsls r1, 2
- adds r1, r0
- subs r1, 0x4
- str r4, [r1]
- ldr r0, [r3, 0x14]
- adds r0, r4
- str r0, [r3, 0x14]
- b _081D40B4
-_081D40A0:
- ldr r0, [r3, 0xC]
- cmp r0, 0
- beq _081D40B4
- ldr r0, [r3, 0x14]
- cmp r0, r4
- bne _081D40B0
- movs r0, 0x1
- b _081D40B2
-_081D40B0:
- movs r0, 0x2
-_081D40B2:
- strb r0, [r3, 0x3]
-_081D40B4:
- ldr r1, =gUnknown_030012E8
- movs r0, 0
-_081D40B8:
- str r0, [r1]
-_081D40BA:
- ldr r1, [r3, 0xC]
- adds r1, 0x1
- str r1, [r3, 0xC]
- ldr r0, [r3, 0x10]
- adds r0, 0x2
- cmp r1, r0
- bge _081D40EA
- ldrb r0, [r3]
- cmp r0, 0
- beq _081D40E4
- ldr r0, =0x0400010e
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
- b _081D412A
- .pool
-_081D40E4:
- bl sub_81D413C
- b _081D412A
-_081D40EA:
- movs r0, 0
- movs r1, 0x4
- strb r1, [r3, 0x1]
- ldr r1, =gUnknown_030012E6
- strh r0, [r1]
- b _081D412A
- .pool
-_081D40FC:
- ldrb r3, [r2]
- cmp r3, 0
- bne _081D4108
- ldr r1, =0x0400012a
- ldrb r0, [r2, 0x3]
- strh r0, [r1]
-_081D4108:
- ldr r0, =0x04000120
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r1, [r0, 0x2]
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _081D412A
- cmp r3, 0x1
- bne _081D4126
- strb r1, [r2, 0x3]
-_081D4126:
- movs r0, 0x6
- strb r0, [r2, 0x1]
-_081D412A:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D3FAC
-
- thumb_func_start sub_81D413C
-sub_81D413C: @ 81D413C
- ldr r0, =0x04000128
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81D413C
-
- thumb_func_start sub_81D414C
-sub_81D414C: @ 81D414C
- ldr r2, =0x0400010e
- ldrh r1, [r2]
- ldr r0, =0x0000ff7f
- ands r0, r1
- strh r0, [r2]
- ldr r1, =0x0400010c
- ldr r2, =0x0000fda7
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81D414C
-
- thumb_func_start sub_81D4170
-sub_81D4170: @ 81D4170
- push {r4,lr}
- ldr r0, =0x04000130
- ldrh r0, [r0]
- ldr r2, =0x000003ff
- adds r1, r2, 0
- eors r1, r0
- ldr r4, =gUnknown_030012E2
- ldr r3, =gUnknown_030012E0
- ldrh r2, [r3]
- adds r0, r1, 0
- bics r0, r2
- strh r0, [r4]
- strh r1, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4170
-
- thumb_func_start sub_81D41A0
-sub_81D41A0: @ 81D41A0
- ldr r1, =gUnknown_030012EC
- ldr r0, =0x04000208
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030012EE
- ldr r0, =0x04000200
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030012F0
- ldr r0, =0x0400010e
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030012F2
- ldr r0, =0x04000128
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030012F4
- ldr r0, =0x04000134
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81D41A0
-
- thumb_func_start sub_81D41F4
-sub_81D41F4: @ 81D41F4
- ldr r1, =0x04000208
- ldr r0, =gUnknown_030012EC
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x8
- ldr r0, =gUnknown_030012EE
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0xF2
- ldr r0, =gUnknown_030012F0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x1A
- ldr r0, =gUnknown_030012F2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0xC
- ldr r0, =gUnknown_030012F4
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81D41F4
-
- thumb_func_start sub_81D4238
-sub_81D4238: @ 81D4238
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_030012C8
- ldr r2, =0x05000006
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4238
-
- thumb_func_start sub_81D4258
-sub_81D4258: @ 81D4258
- push {lr}
- sub sp, 0x4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x1
- mov r3, sp
- bl TryGetEventObjectIdByLocalIdAndMap
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D4258
-
- thumb_func_start sub_81D427C
-sub_81D427C: @ 81D427C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- bl sub_81D4258
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r2, =gEventObjects
- adds r5, r1, r2
- ldr r4, =gUnknown_030012F8
- ldr r3, =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x14]
- ldrh r1, [r5, 0x10]
- subs r0, r1
- strh r0, [r4]
- ldr r4, =gUnknown_030012FA
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x16]
- ldrh r1, [r5, 0x12]
- subs r0, r1
- strh r0, [r4]
- movs r0, 0
- mov r8, r0
- ldr r2, =gUnknown_030012FC
- movs r1, 0
-_081D42CA:
- mov r3, r8
- adds r0, r3, r2
- strb r1, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x3
- bls _081D42CA
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- movs r4, 0x14
- ldrsh r1, [r2, r4]
- movs r6, 0x10
- ldrsh r0, [r2, r6]
- cmp r1, r0
- bne _081D4304
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- movs r3, 0x12
- ldrsh r0, [r2, r3]
- cmp r1, r0
- beq _081D4356
-_081D4304:
- ldr r0, =0x0000403a
- bl VarGet
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- cmp r1, 0
- bne _081D4338
- ldrb r1, [r5, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- b _081D433E
- .pool
-_081D4338:
- ldrb r0, [r5, 0x1]
- movs r1, 0x20
- orrs r0, r1
-_081D433E:
- strb r0, [r5, 0x1]
- ldr r0, =0x0000403a
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x9
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _081D4360
-_081D4356:
- movs r0, 0
- b _081D4816
- .pool
-_081D4360:
- movs r4, 0
- mov r8, r4
- ldr r6, =gEventObjects
- mov r10, r6
-_081D4368:
- ldr r3, =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- mov r1, r10
- adds r4, r0, r1
- mov r2, r8
- lsls r1, r2, 2
- ldr r6, =gUnknown_0862608C
- adds r0, r1, r6
- movs r6, 0x14
- ldrsh r2, [r4, r6]
- movs r6, 0
- ldrsh r0, [r0, r6]
- ldr r6, =gEventObjects
- mov r9, r6
- mov r12, r3
- adds r7, r1, 0
- cmp r2, r0
- beq _081D4394
- b _081D449E
-_081D4394:
- movs r3, 0
- ldr r1, =gUnknown_0862608C + 2
- adds r0, r7, r1
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- movs r4, 0
- ldrsh r2, [r0, r4]
- cmp r1, r2
- bge _081D43C0
- movs r6, 0x12
- ldrsh r0, [r5, r6]
- cmp r0, r2
- bgt _081D43CA
- b _081D449E
- .pool
-_081D43C0:
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- cmp r0, r2
- blt _081D43CA
- movs r3, 0x1
-_081D43CA:
- cmp r3, 0
- bne _081D449E
- ldr r0, =gUnknown_030012F8
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- ble _081D4410
- movs r3, 0x10
- ldrsh r2, [r5, r3]
- adds r2, 0x1
- mov r4, r12
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r6, 0x14
- ldrsh r0, [r0, r6]
- cmp r2, r0
- bne _081D4446
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4446
-_081D4408:
- movs r0, 0x4
- b _081D4816
- .pool
-_081D4410:
- cmp r0, 0
- bge _081D4446
- movs r3, 0x10
- ldrsh r2, [r5, r3]
- subs r2, 0x1
- mov r4, r12
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r6, 0x14
- ldrsh r0, [r0, r6]
- cmp r2, r0
- bne _081D4446
- ldrh r0, [r5, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4446
- b _081D45AA
-_081D4446:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r10
- movs r3, 0x10
- ldrsh r1, [r5, r3]
- movs r4, 0x14
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bne _081D449E
- ldr r0, =gUnknown_030012FA
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r0, 0
- ble _081D4488
- adds r0, r1, 0
- ldrh r1, [r5, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D449E
-_081D447C:
- movs r0, 0x2
- b _081D4816
- .pool
-_081D4488:
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- ldrh r1, [r5, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- bne _081D4538
-_081D449E:
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- mov r3, r10
- adds r4, r0, r3
- ldr r6, =gUnknown_0862608C
- ldr r1, =gUnknown_0862608C + 2
- adds r0, r7, r1
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- movs r3, 0
- ldrsh r0, [r0, r3]
- ldr r3, =gEventObjects
- mov r9, r3
- mov r12, r2
- cmp r1, r0
- beq _081D44C6
- b _081D45D0
-_081D44C6:
- movs r3, 0
- adds r0, r7, r6
- movs r6, 0x14
- ldrsh r1, [r4, r6]
- movs r4, 0
- ldrsh r2, [r0, r4]
- cmp r1, r2
- bge _081D44F0
- movs r6, 0x10
- ldrsh r0, [r5, r6]
- cmp r0, r2
- bgt _081D44FA
- b _081D45D0
- .pool
-_081D44F0:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, r2
- blt _081D44FA
- movs r3, 0x1
-_081D44FA:
- cmp r3, 0
- bne _081D45D0
- ldr r0, =gUnknown_030012FA
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- ble _081D4540
- movs r3, 0x12
- ldrsh r2, [r5, r3]
- adds r2, 0x1
- mov r4, r12
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r6, 0x16
- ldrsh r0, [r0, r6]
- cmp r2, r0
- bne _081D4576
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4576
-_081D4538:
- movs r0, 0x1
- b _081D4816
- .pool
-_081D4540:
- cmp r0, 0
- bge _081D4576
- movs r3, 0x12
- ldrsh r2, [r5, r3]
- subs r2, 0x1
- mov r4, r12
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r6, 0x16
- ldrsh r0, [r0, r6]
- cmp r2, r0
- bne _081D4576
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4576
- b _081D447C
-_081D4576:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r10
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- movs r3, 0x16
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bne _081D45D0
- ldr r0, =gUnknown_030012F8
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- ble _081D45B8
- ldrh r0, [r5, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D45D0
-_081D45AA:
- movs r0, 0x3
- b _081D4816
- .pool
-_081D45B8:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D45D0
- b _081D4408
-_081D45D0:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x3
- bhi _081D45E0
- b _081D4368
-_081D45E0:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81D4C14
- lsls r0, 24
- cmp r0, 0
- beq _081D461C
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C58
- lsls r0, 24
- cmp r0, 0
- beq _081D4604
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D4604:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4CE0
- lsls r0, 24
- cmp r0, 0
- bne _081D4614
- b _081D447C
-_081D4614:
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D461C:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81D4C9C
- lsls r0, 24
- cmp r0, 0
- beq _081D4658
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C58
- lsls r0, 24
- cmp r0, 0
- beq _081D4640
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D4640:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4CE0
- lsls r0, 24
- cmp r0, 0
- bne _081D4650
- b _081D4538
-_081D4650:
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D4658:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81D4C58
- lsls r0, 24
- cmp r0, 0
- beq _081D4694
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C14
- lsls r0, 24
- cmp r0, 0
- beq _081D467C
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D467C:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C9C
- lsls r0, 24
- cmp r0, 0
- bne _081D468C
- b _081D4408
-_081D468C:
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D4694:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81D4CE0
- lsls r0, 24
- cmp r0, 0
- beq _081D46D0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C14
- lsls r0, 24
- cmp r0, 0
- beq _081D46B8
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D46B8:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81D4C9C
- lsls r0, 24
- cmp r0, 0
- bne _081D46C8
- b _081D45AA
-_081D46C8:
- movs r0, 0x2
- bl sub_81D4D24
- b _081D4812
-_081D46D0:
- ldr r0, =gUnknown_030012FA
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _081D476E
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r4, 0x12
- ldrsh r1, [r0, r4]
- ldrh r2, [r5, 0x12]
- movs r6, 0x12
- ldrsh r0, [r5, r6]
- cmp r1, r0
- ble _081D470C
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- subs r1, r2, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D470C
- b _081D447C
-_081D470C:
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- ldrh r2, [r5, 0x12]
- movs r3, 0x12
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bge _081D473E
- movs r4, 0x10
- ldrsh r0, [r5, r4]
- adds r1, r2, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D473E
- b _081D4538
-_081D473E:
- movs r6, 0x10
- ldrsh r0, [r5, r6]
- ldrh r1, [r5, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4756
- b _081D447C
-_081D4756:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D476E
- b _081D4538
-_081D476E:
- ldr r0, =gUnknown_030012F8
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _081D480C
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- ldrh r2, [r5, 0x10]
- movs r4, 0x10
- ldrsh r0, [r5, r4]
- cmp r1, r0
- ble _081D47AA
- subs r0, r2, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x12
- ldrsh r1, [r5, r6]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D47AA
- b _081D45AA
-_081D47AA:
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- ldrh r2, [r5, 0x10]
- movs r3, 0x10
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bge _081D47DC
- adds r0, r2, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r4, 0x12
- ldrsh r1, [r5, r4]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D47DC
- b _081D4408
-_081D47DC:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x12
- ldrsh r1, [r5, r6]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D47F4
- b _081D4408
-_081D47F4:
- ldrh r0, [r5, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D480C
- b _081D45AA
-_081D480C:
- movs r0, 0
- bl sub_81D4890
-_081D4812:
- lsls r0, 24
- lsrs r0, 24
-_081D4816:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D427C
-
- thumb_func_start sub_81D4834
-sub_81D4834: @ 81D4834
- push {r4,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r3, =gEventObjects
- ldr r1, =gPlayerAvatar
- ldrb r2, [r1, 0x5]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r2, r1, r3
- movs r3, 0x10
- ldrsh r1, [r2, r3]
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _081D4870
- movs r0, 0x12
- ldrsh r1, [r2, r0]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r1, r0
- bne _081D4870
- movs r0, 0
- b _081D4888
- .pool
-_081D4870:
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, r4, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsPokeGrass
- lsls r0, 24
- lsrs r0, 24
-_081D4888:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4834
-
- thumb_func_start sub_81D4890
-sub_81D4890: @ 81D4890
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- bl sub_81D4258
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gEventObjects
- adds r4, r1, r0
- movs r1, 0
- ldr r3, =gUnknown_030012FC
- movs r2, 0
-_081D48B0:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _081D48B0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081D48E8
- cmp r6, 0x2
- beq _081D48E8
- ldr r0, =gUnknown_030012FC
- adds r0, r5, r0
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081D48E8:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl sub_81D4834
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081D4912
- cmp r6, 0x4
- beq _081D4912
- ldr r0, =gUnknown_030012FC
- adds r0, r5, r0
- movs r1, 0x4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081D4912:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _081D493A
- cmp r6, 0x1
- beq _081D493A
- ldr r0, =gUnknown_030012FC
- adds r0, r5, r0
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081D493A:
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl sub_81D4834
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081D4964
- cmp r6, 0x3
- beq _081D4964
- ldr r0, =gUnknown_030012FC
- adds r0, r5, r0
- movs r1, 0x3
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081D4964:
- cmp r5, 0x1
- bhi _081D4974
- ldr r0, =gUnknown_030012FC
- b _081D4988
- .pool
-_081D4974:
- ldr r4, =gUnknown_030012FC
- ldr r0, =0x0000403a
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __modsi3
- adds r0, r4
-_081D4988:
- ldrb r0, [r0]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D4890
-
- thumb_func_start sub_81D4998
-sub_81D4998: @ 81D4998
- push {r4,lr}
- ldr r4, =0x0000403a
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000391a
- cmp r1, r0
- bne _081D49E0
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x0000270e
- cmp r2, r0
- bls _081D49D8
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- b _081D49E0
- .pool
-_081D49D8:
- adds r0, r4, 0
- adds r1, r2, 0
- bl VarSet
-_081D49E0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81D4998
-
- thumb_func_start EventObjectIsFarawayIslandMew
-@ bool8 EventObjectIsFarawayIslandMew(struct npc_state *eventObject)
-EventObjectIsFarawayIslandMew: @ 81D49E8
- push {lr}
- adds r2, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000391a
- cmp r1, r0
- bne _081D4A0C
- ldrb r0, [r2, 0x5]
- cmp r0, 0xE5
- bne _081D4A0C
- movs r0, 0x1
- b _081D4A0E
- .pool
-_081D4A0C:
- movs r0, 0
-_081D4A0E:
- pop {r1}
- bx r1
- thumb_func_end EventObjectIsFarawayIslandMew
-
- thumb_func_start IsMewPlayingHideAndSeek
-IsMewPlayingHideAndSeek: @ 81D4A14
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000391a
- cmp r1, r0
- bne _081D4A50
- movs r0, 0xE5
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081D4A50
- ldr r0, =0x000002ce
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081D4A50
- movs r0, 0x1
- b _081D4A52
- .pool
-_081D4A50:
- movs r0, 0
-_081D4A52:
- pop {r1}
- bx r1
- thumb_func_end IsMewPlayingHideAndSeek
-
- thumb_func_start sub_81D4A58
-sub_81D4A58: @ 81D4A58
- push {r4,lr}
- ldr r4, =0x0000403a
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- beq _081D4A88
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- cmp r1, 0
- bne _081D4A88
- movs r0, 0x1
- b _081D4A8A
- .pool
-_081D4A88:
- movs r0, 0
-_081D4A8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4A58
-
- thumb_func_start sub_81D4A90
-sub_81D4A90: @ 81D4A90
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_81D4258
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gEventObjects
- adds r5, r1, r0
- ldrb r1, [r5, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- ldr r0, =gSpecialVar_0x8004
- ldrh r4, [r0]
- cmp r4, 0x1
- bne _081D4AF8
- ldrb r0, [r5, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldr r3, =gSprites
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x42
- ldrb r2, [r0]
- movs r1, 0x3F
- ands r1, r2
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x43
- strb r4, [r0]
- b _081D4BC4
- .pool
-_081D4AF8:
- ldr r0, =0x0000403a
- ldr r1, =0x0000ffff
- bl VarSet
- ldrb r0, [r5, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldr r6, =gSprites
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x42
- ldrb r2, [r0]
- movs r1, 0x3F
- ands r1, r2
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =gSpecialVar_Facing
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _081D4B3A
- ldrb r0, [r5, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x43
- movs r0, 0x1
- strb r0, [r1]
-_081D4B3A:
- ldr r4, =gFieldEffectObjectPaletteInfo1
- adds r0, r4, 0
- bl LoadSpritePalette
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- bl UpdateSpritePaletteWithWeather
- ldrh r1, [r5, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r5, 0x12]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_80930E0
- ldr r0, =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x3C]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- ldrb r4, [r5, 0x4]
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r3, r6
- adds r3, 0x43
- ldrb r3, [r3]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl CreateSpriteAtEnd
- ldr r1, =gUnknown_0203CF50
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _081D4BC4
- ldrb r0, [r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_081D4BC4:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4A90
-
- thumb_func_start sub_81D4BEC
-sub_81D4BEC: @ 81D4BEC
- push {lr}
- ldr r1, =gUnknown_0203CF50
- ldrb r0, [r1]
- cmp r0, 0x40
- beq _081D4C06
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_081D4C06:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4BEC
-
- thumb_func_start sub_81D4C14
-sub_81D4C14: @ 81D4C14
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_030012FA
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _081D4C50
- movs r1, 0x10
- ldrsh r0, [r2, r1]
- ldrh r1, [r2, 0x12]
- subs r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4C50
- ldr r0, =gUnknown_030012FC
- adds r0, r4, r0
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x1
- b _081D4C52
- .pool
-_081D4C50:
- movs r0, 0
-_081D4C52:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4C14
-
- thumb_func_start sub_81D4C58
-sub_81D4C58: @ 81D4C58
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_030012F8
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _081D4C94
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r2, r3]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4C94
- ldr r0, =gUnknown_030012FC
- adds r0, r4, r0
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0x1
- b _081D4C96
- .pool
-_081D4C94:
- movs r0, 0
-_081D4C96:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4C58
-
- thumb_func_start sub_81D4C9C
-sub_81D4C9C: @ 81D4C9C
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_030012FA
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _081D4CD8
- movs r1, 0x10
- ldrsh r0, [r2, r1]
- ldrh r1, [r2, 0x12]
- adds r1, 0x1
- lsls r1, 16
- asrs r1, 16
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4CD8
- ldr r0, =gUnknown_030012FC
- adds r0, r4, r0
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- b _081D4CDA
- .pool
-_081D4CD8:
- movs r0, 0
-_081D4CDA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4C9C
-
- thumb_func_start sub_81D4CE0
-sub_81D4CE0: @ 81D4CE0
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_030012F8
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _081D4D1C
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r2, r3]
- bl sub_81D4834
- lsls r0, 24
- cmp r0, 0
- beq _081D4D1C
- ldr r0, =gUnknown_030012FC
- adds r0, r4, r0
- movs r1, 0x3
- strb r1, [r0]
- movs r0, 0x1
- b _081D4D1E
- .pool
-_081D4D1C:
- movs r0, 0
-_081D4D1E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4CE0
-
- thumb_func_start sub_81D4D24
-sub_81D4D24: @ 81D4D24
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_030012FC
- ldr r0, =0x0000403a
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- adds r0, r5
- ldrb r0, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D4D24
-
- thumb_func_start sub_81D4D50
-sub_81D4D50: @ 81D4D50
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r1, sp
- ldr r4, =0x04000208
- ldrh r0, [r4]
- strh r0, [r1]
- movs r0, 0
- strh r0, [r4]
- ldr r1, =gIntrTable
- ldr r0, =sub_81D3FAC
- str r0, [r1, 0x4]
- ldr r0, =sub_81D3F9C
- str r0, [r1, 0x8]
- bl sub_81D41A0
- bl sub_81D4238
- ldr r2, =0x04000200
- ldrh r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strh r0, [r2]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- strh r0, [r5]
- str r6, [r5, 0x4]
- mov r0, r8
- str r0, [r5, 0x8]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4D50
-
- thumb_func_start sub_81D4DB8
-sub_81D4DB8: @ 81D4DB8
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- ldr r4, =0x04000208
- ldrh r0, [r4]
- strh r0, [r1]
- movs r0, 0
- strh r0, [r4]
- bl sub_81D4238
- bl sub_81D41F4
- bl RestoreSerialTimer3IntrHandlers
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4DB8
-
- thumb_func_start sub_81D4DE8
-sub_81D4DE8: @ 81D4DE8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- ldr r1, [r4, 0x4]
- ldr r2, [r4, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl sub_81D3D70
- adds r1, r0, 0
- strh r1, [r4]
- movs r0, 0x13
- ands r0, r1
- cmp r0, 0x10
- bne _081D4E08
- movs r5, 0x1
-_081D4E08:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081D4E12
- movs r5, 0x2
-_081D4E12:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081D4E1C
- movs r5, 0x3
-_081D4E1C:
- ldr r1, =gShouldAdvanceLinkState
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D4DE8
-
- thumb_func_start sub_81D4E30
-sub_81D4E30: @ 81D4E30
- push {lr}
- ldr r0, =gDecompressionBuffer
- movs r2, 0x80
- lsls r2, 6
- movs r1, 0
- bl memset
- ldr r1, =gLinkType
- ldr r2, =0x00005503
- adds r0, r2, 0
- strh r0, [r1]
- bl OpenLink
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D4E30
-
- thumb_func_start sub_81D4E60
-sub_81D4E60: @ 81D4E60
- push {lr}
- sub sp, 0xC
- mov r1, sp
- ldr r2, =0x04000208
- ldrh r0, [r2]
- strh r0, [r1]
- movs r0, 0
- strh r0, [r2]
- ldr r0, =gLink+0x4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r2]
- add r2, sp, 0x4
- ldrh r1, [r2]
- ldr r0, =0x0000b9a0
- cmp r1, r0
- bne _081D4EB8
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ccd0
- cmp r1, r0
- bne _081D4EB8
- ldrh r1, [r2, 0x4]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081D4EB8
- ldrh r0, [r2, 0x6]
- cmp r0, r1
- bne _081D4EB8
- movs r0, 0x1
- b _081D4EBA
- .pool
-_081D4EB8:
- movs r0, 0
-_081D4EBA:
- add sp, 0xC
- pop {r1}
- bx r1
- thumb_func_end sub_81D4E60
-
- thumb_func_start sub_81D4EC0
-sub_81D4EC0: @ 81D4EC0
- push {lr}
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _081D4EDC
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _081D4EDC
- movs r0, 0x1
- b _081D4EDE
-_081D4EDC:
- movs r0, 0
-_081D4EDE:
- pop {r1}
- bx r1
- thumb_func_end sub_81D4EC0
-
- thumb_func_start sub_81D4EE4
-sub_81D4EE4: @ 81D4EE4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _081D4F08
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- beq _081D4F08
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x3
- b _081D500E
-_081D4F08:
- ldrb r0, [r4]
- cmp r0, 0x5
- bls _081D4F10
- b _081D500C
-_081D4F10:
- lsls r0, 2
- ldr r1, =_081D4F20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D4F20:
- .4byte _081D4F38
- .4byte _081D4F54
- .4byte _081D4F6C
- .4byte _081D4FA0
- .4byte _081D4FEC
- .4byte _081D4FF8
-_081D4F38:
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _081D4F88
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _081D4F88
- movs r0, 0x1
- strb r0, [r4]
- b _081D500C
-_081D4F54:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _081D500C
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x2
- strb r0, [r4]
- b _081D500C
-_081D4F6C:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _081D4F88
- movs r0, 0x49
- bl PlaySE
- bl CheckShouldAdvanceLinkState
- movs r0, 0
- strh r0, [r5]
- b _081D4FE6
-_081D4F88:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081D500C
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x1
- b _081D500E
- .pool
-_081D4FA0:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _081D4FB6
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x5
- b _081D500E
-_081D4FB6:
- bl IsLinkConnectionEstablished
- lsls r0, 24
- cmp r0, 0
- beq _081D500C
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _081D4FE6
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- cmp r0, 0
- beq _081D4FE0
- movs r0, 0
- strb r0, [r4]
- movs r0, 0x2
- b _081D500E
- .pool
-_081D4FE0:
- movs r0, 0x4
- strb r0, [r4]
- b _081D500C
-_081D4FE6:
- movs r0, 0x3
- strb r0, [r4]
- b _081D500C
-_081D4FEC:
- movs r0, 0
- bl sub_800ABF4
- movs r0, 0x5
- strb r0, [r4]
- b _081D500C
-_081D4FF8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081D500C
- strb r0, [r4]
- movs r0, 0x4
- b _081D500E
- .pool
-_081D500C:
- movs r0, 0
-_081D500E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D4EE4
-
- thumb_func_start sub_81D5014
-sub_81D5014: @ 81D5014
- push {r4,lr}
- ldr r0, =sub_81D5084
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r0, 0
- strb r0, [r4, 0x8]
- strb r0, [r4, 0x9]
- strb r0, [r4, 0xA]
- strb r0, [r4, 0xB]
- strb r0, [r4, 0xC]
- strb r0, [r4, 0xD]
- movs r1, 0
- strh r0, [r4]
- strh r0, [r4, 0x2]
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- strb r1, [r4, 0xE]
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D5014
-
- thumb_func_start sub_81D505C
-sub_81D505C: @ 81D505C
- movs r1, 0
- strh r1, [r0]
- bx lr
- thumb_func_end sub_81D505C
-
- thumb_func_start sub_81D5064
-sub_81D5064: @ 81D5064
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, r1
- bhi _081D507A
- movs r0, 0
- b _081D5080
-_081D507A:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x1
-_081D5080:
- pop {r1}
- bx r1
- thumb_func_end sub_81D5064
-
- thumb_func_start sub_81D5084
-sub_81D5084: @ 81D5084
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrb r0, [r4, 0x8]
- cmp r0, 0x1A
- bls _081D509C
- b _081D548A
-_081D509C:
- lsls r0, 2
- ldr r1, =_081D50B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D50B0:
- .4byte _081D511C
- .4byte _081D5138
- .4byte _081D5148
- .4byte _081D515C
- .4byte _081D516C
- .4byte _081D5198
- .4byte _081D51D0
- .4byte _081D524C
- .4byte _081D5268
- .4byte _081D5290
- .4byte _081D52AC
- .4byte _081D52DC
- .4byte _081D52F2
- .4byte _081D5308
- .4byte _081D536A
- .4byte _081D5390
- .4byte _081D53A8
- .4byte _081D53C6
- .4byte _081D53F2
- .4byte _081D5418
- .4byte _081D5448
- .4byte _081D5454
- .4byte _081D5460
- .4byte _081D5430
- .4byte _081D548A
- .4byte _081D548A
- .4byte _081D5478
-_081D511C:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EDFD6
- bl mevent_0814257C
- cmp r0, 0
- bne _081D512C
- b _081D548A
-_081D512C:
- movs r0, 0x1
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5138:
- bl sub_81D4E30
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x2
- strb r0, [r4, 0x8]
- b _081D548A
-_081D5148:
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_81D5064
- cmp r0, 0
- bne _081D5156
- b _081D548A
-_081D5156:
- movs r0, 0x3
- strb r0, [r4, 0x8]
- b _081D548A
-_081D515C:
- bl sub_81D4EC0
- cmp r0, 0
- beq _081D5166
- b _081D52FC
-_081D5166:
- bl CloseLink
- b _081D525C
-_081D516C:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EDFF5
- bl mevent_0814257C
- cmp r0, 0
- bne _081D517C
- b _081D548A
-_081D517C:
- ldr r0, =gUnknown_085EE014
- bl sub_8018884
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x5
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5198:
- adds r0, r4, 0
- movs r1, 0x5A
- bl sub_81D5064
- cmp r0, 0
- beq _081D51AE
- bl sub_81D4E30
- movs r0, 0x6
- strb r0, [r4, 0x8]
- b _081D548A
-_081D51AE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _081D51BC
- b _081D548A
-_081D51BC:
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x5
- bl PlaySE
- b _081D535A
- .pool
-_081D51D0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081D51F4
- movs r0, 0x5
- bl PlaySE
- bl CloseLink
- adds r0, r4, 0
- bl sub_81D505C
- b _081D535A
- .pool
-_081D51F4:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _081D5210
- adds r0, r4, 0
- bl sub_81D505C
- bl CloseLink
- movs r0, 0x7
- strb r0, [r4, 0x8]
- b _081D548A
-_081D5210:
- bl sub_81D4E60
- cmp r0, 0
- beq _081D522E
- movs r0, 0x5
- bl PlaySE
- bl CloseLink
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x8
- strb r0, [r4, 0x8]
- b _081D548A
-_081D522E:
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_81D5064
- cmp r0, 0
- bne _081D523C
- b _081D548A
-_081D523C:
- bl CloseLink
- bl sub_81D4E30
- adds r0, r4, 0
- bl sub_81D505C
- b _081D548A
-_081D524C:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE05C
- bl mevent_0814257C
- cmp r0, 0
- bne _081D525C
- b _081D548A
-_081D525C:
- movs r0, 0x4
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5268:
- ldr r0, =gUnknown_085EE097
- bl sub_8018884
- ldr r0, =gUnknown_03006370
- ldr r1, =gMultiBootProgram_BerryGlitchFix_Start
- ldr r2, =gUnknown_089A3470
- subs r1, r2
- bl sub_81D4D50
- movs r0, 0x9
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5290:
- ldr r0, =gUnknown_03006370
- bl sub_81D4DE8
- strb r0, [r4, 0xE]
- lsls r0, 24
- cmp r0, 0
- bne _081D52A0
- b _081D548A
-_081D52A0:
- movs r0, 0xA
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D52AC:
- ldr r0, =gUnknown_03006370
- bl sub_81D4DB8
- ldrb r0, [r4, 0xE]
- cmp r0, 0x3
- bne _081D52BA
- b _081D53C0
-_081D52BA:
- cmp r0, 0x1
- beq _081D52C0
- b _081D546E
-_081D52C0:
- adds r0, r4, 0
- bl sub_81D505C
- ldr r0, =gUnknown_085EE120
- bl sub_8018884
- movs r0, 0xB
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D52DC:
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r4, 0
- bl sub_81D5064
- cmp r0, 0
- bne _081D52EC
- b _081D548A
-_081D52EC:
- movs r0, 0xC
- strb r0, [r4, 0x8]
- b _081D548A
-_081D52F2:
- bl sub_81D4E30
- ldr r0, =gUnknown_085EE0DC
- bl sub_8018884
-_081D52FC:
- movs r0, 0xD
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5308:
- adds r0, r4, 0
- adds r0, 0x9
- adds r1, r4, 0
- bl sub_81D4EE4
- cmp r0, 0x5
- bls _081D5318
- b _081D548A
-_081D5318:
- lsls r0, 2
- ldr r1, =_081D5328
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D5328:
- .4byte _081D548A
- .4byte _081D5350
- .4byte _081D5340
- .4byte _081D5374
- .4byte _081D5374
- .4byte _081D5360
-_081D5340:
- ldr r0, =gUnknown_085EE097
- bl sub_8018884
- movs r0, 0xE
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5350:
- movs r0, 0x5
- bl PlaySE
- bl CloseLink
-_081D535A:
- movs r0, 0x17
- strb r0, [r4, 0x8]
- b _081D548A
-_081D5360:
- bl CloseLink
- movs r0, 0x15
- strb r0, [r4, 0x8]
- b _081D548A
-_081D536A:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- beq _081D537A
-_081D5374:
- bl CloseLink
- b _081D53C0
-_081D537A:
- bl GetBlockReceivedStatus
- lsls r0, 24
- cmp r0, 0
- bne _081D5386
- b _081D548A
-_081D5386:
- bl ResetBlockReceivedFlags
- movs r0, 0xF
- strb r0, [r4, 0x8]
- b _081D548A
-_081D5390:
- ldr r0, =gDecompressionBuffer
- bl sub_81D3920
- strb r0, [r4, 0xE]
- ldrb r0, [r4, 0xE]
- bl sub_800ABF4
- movs r0, 0x10
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D53A8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081D548A
- ldrb r0, [r4, 0xE]
- cmp r0, 0x1
- bne _081D53C0
- movs r0, 0x11
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D53C0:
- movs r0, 0x14
- strb r0, [r4, 0x8]
- b _081D548A
-_081D53C6:
- ldr r0, =gDecompressionBuffer
- bl sub_81D3AB0
- cmp r0, 0
- beq _081D53EC
- ldr r0, =gUnknown_085EE0FA
- bl sub_8018884
- adds r0, r4, 0
- bl sub_81D505C
- movs r0, 0x12
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D53EC:
- movs r0, 0x16
- strb r0, [r4, 0x8]
- b _081D548A
-_081D53F2:
- adds r0, r4, 0
- movs r1, 0x78
- bl sub_81D5064
- cmp r0, 0
- beq _081D548A
- ldr r0, =gUnknown_085EE107
- bl sub_8018884
- movs r0, 0xB9
- lsls r0, 1
- bl PlayFanfare
- movs r0, 0x13
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5418:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _081D548A
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- b _081D543A
- .pool
-_081D5430:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE06B
- bl mevent_0814257C
-_081D543A:
- cmp r0, 0
- beq _081D548A
- movs r0, 0x1A
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5448:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE0A3
- b _081D5466
- .pool
-_081D5454:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE0BF
- b _081D5466
- .pool
-_081D5460:
- adds r0, r4, 0
- adds r0, 0x9
- ldr r1, =gUnknown_085EE12D
-_081D5466:
- bl mevent_0814257C
- cmp r0, 0
- beq _081D548A
-_081D546E:
- movs r0, 0
- strb r0, [r4, 0x8]
- b _081D548A
- .pool
-_081D5478:
- ldr r0, [r4, 0x10]
- bl Free
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, =sub_80186A4
- bl SetMainCallback2
-_081D548A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D5084
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
deleted file mode 100644
index d2d4913b1..000000000
--- a/asm/use_pokeblock.s
+++ /dev/null
@@ -1,3431 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
- thumb_func_start sub_8166564
-sub_8166564: @ 8166564
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203BC90
- ldr r0, [r4]
- adds r0, 0x50
- ldrb r1, [r0]
- cmp r1, 0
- beq _08166580
- cmp r1, 0x1
- beq _081665C0
- b _08166610
- .pool
-_08166580:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_8166340
- bl SetVBlankCallback
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r1, [r4]
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166610
- .pool
-_081665C0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08166610
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D3464
- ldr r4, [r4]
- ldr r2, =0x00008041
- adds r0, r4, r2
- ldrb r1, [r0]
- ldr r3, =0x00008040
- adds r0, r4, r3
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _0816660A
- ldr r1, =0x00007fb3
- adds r0, r4, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- subs r2, 0x91
- adds r0, r4, r2
- adds r0, r1
- ldrb r2, [r0]
- ldr r3, =0x00007b1c
- adds r0, r4, r3
- subs r3, 0xC
- adds r1, r4, r3
- ldrb r1, [r1]
- bl sub_81D3480
-_0816660A:
- ldr r0, =sub_8166634
- bl sub_816636C
-_08166610:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166564
-
- thumb_func_start sub_8166634
-sub_8166634: @ 8166634
- push {lr}
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _08166644
- b _0816680E
-_08166644:
- lsls r0, 2
- ldr r1, =_08166658
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08166658:
- .4byte _08166678
- .4byte _0816675C
- .4byte _0816680E
- .4byte _08166788
- .4byte _0816680E
- .4byte _08166794
- .4byte _081667AC
- .4byte _081667F4
-_08166678:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081666B8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_8167CA0
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D3520
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x1
- b _0816680C
- .pool
-_081666B8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081666F0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_8167CA0
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00007b1c
- adds r0, r2
- bl sub_81D3520
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x1
- b _0816680C
- .pool
-_081666F0:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08166710
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x3
- b _0816680C
- .pool
-_08166710:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0816671A
- b _0816680E
-_0816671A:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00008041
- adds r1, r0, r2
- ldrb r1, [r1]
- subs r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _0816674C
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x3
- b _0816680C
- .pool
-_0816674C:
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x5
- b _0816680C
- .pool
-_0816675C:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008044
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0816680E
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- b _0816680C
- .pool
-_08166788:
- ldr r0, =sub_8166BEC
- bl sub_816636C
- b _0816680E
- .pool
-_08166794:
- bl sub_8166D44
- ldr r0, =gUnknown_0203BC90
- ldr r1, [r0]
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0816680E
- .pool
-_081667AC:
- bl sub_8166DE4
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081667CC
- cmp r1, 0
- bgt _081667C6
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08166804
- b _0816680E
-_081667C6:
- cmp r1, 0x1
- bne _0816680E
- b _08166804
-_081667CC:
- bl sub_8167268
- lsls r0, 24
- cmp r0, 0
- beq _081667E8
- bl sub_8166F50
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0x7
- b _0816680C
- .pool
-_081667E8:
- ldr r0, =sub_816681C
- bl sub_816636C
- b _0816680E
- .pool
-_081667F4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0816680E
- bl sub_8166F94
-_08166804:
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0
-_0816680C:
- strb r1, [r0]
-_0816680E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166634
-
- thumb_func_start sub_816681C
-sub_816681C: @ 816681C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gUnknown_0203BC90
- ldr r0, [r5]
- adds r0, 0x50
- ldrb r4, [r0]
- cmp r4, 0
- beq _08166838
- cmp r4, 0x1
- beq _08166888
- b _081668D4
- .pool
-_08166838:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008041
- adds r0, r1
- ldrb r0, [r0]
- bl sub_81672A4
- ldr r1, =gPokeblockMonId
- strb r0, [r1]
- ldr r1, =gUnknown_0203BC94
- ldr r2, [r5]
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, =gUnknown_0203BC98
- ldr r0, [r2, 0x8]
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081668D4
- .pool
-_08166888:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081668D4
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, =gUnknown_0203BCA0
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203BCA4
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203BCA8
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- bl FreeAllWindowBuffers
- ldr r1, =gMain
- ldr r0, =CB2_ReturnAndChooseMonToGivePokeblock
- str r0, [r1, 0x8]
- bl CB2_PreparePokeblockFeedScene
-_081668D4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816681C
-
- thumb_func_start sub_81668F8
-sub_81668F8: @ 81668F8
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_0203BC90
- ldr r0, [r1]
- adds r0, 0x50
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _0816690C
- b _08166A18
-_0816690C:
- lsls r0, 2
- ldr r1, =_08166920
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08166920:
- .4byte _0816693C
- .4byte _08166972
- .4byte _08166A18
- .4byte _081669A0
- .4byte _081669AE
- .4byte _081669C8
- .4byte _081669F4
-_0816693C:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008041
- adds r0, r1
- ldr r1, =gPokeblockMonId
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08166968
- ldr r0, [r4]
- adds r0, 0x56
- ldrb r0, [r0]
- bl sub_8167CA0
- ldr r1, [r4]
- b _081669E2
- .pool
-_08166968:
- ldr r0, [r4]
- adds r0, 0x50
- movs r1, 0x3
- strb r1, [r0]
- b _08166A18
-_08166972:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008044
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08166A18
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- adds r0, 0x50
- strb r1, [r0]
- b _08166A18
- .pool
-_081669A0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _081669DE
-_081669AE:
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- b _081669DE
-_081669C8:
- ldr r0, =sub_8166340
- bl SetVBlankCallback
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_081669DE:
- ldr r0, =gUnknown_0203BC90
- ldr r1, [r0]
-_081669E2:
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166A18
- .pool
-_081669F4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08166A18
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D3464
- ldr r0, =sub_8166A34
- bl sub_816636C
- ldr r0, =sub_816631C
- bl SetMainCallback2
-_08166A18:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81668F8
-
- thumb_func_start sub_8166A34
-sub_8166A34: @ 8166A34
- push {r4-r6,lr}
- ldr r1, =gUnknown_0203BC90
- ldr r0, [r1]
- adds r0, 0x50
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x5
- bls _08166A46
- b _08166BDA
-_08166A46:
- lsls r0, 2
- ldr r1, =_08166A58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08166A58:
- .4byte _08166A70
- .4byte _08166AAC
- .4byte _08166AC0
- .4byte _08166B14
- .4byte _08166B94
- .4byte _08166BB6
-_08166A70:
- ldr r4, [r5]
- ldr r3, =gPlayerParty
- str r3, [r4, 0xC]
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00008041
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0, r1
- subs r2, 0x88
- adds r1, r2
- ldrb r2, [r1]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- str r1, [r4, 0xC]
- ldr r3, =0x00007b1c
- adds r0, r3
- bl sub_81D3520
- b _08166BAA
- .pool
-_08166AAC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08166ABA
- b _08166BDA
-_08166ABA:
- b _08166BAA
- .pool
-_08166AC0:
- bl sub_8167104
- ldr r6, =gUnknown_0203BC90
- ldr r0, [r6]
- adds r0, 0x5C
- ldr r4, =gUnknown_0203BCAC
- ldr r1, [r4]
- ldr r5, =0x00007ca8
- adds r1, r5
- bl sub_81D2754
- ldr r2, [r4]
- ldr r4, =0x00007c58
- adds r0, r2, r4
- ldr r3, =0x00007fb3
- adds r1, r2, r3
- movs r3, 0
- ldrsb r3, [r1, r3]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r4, 0x14
- adds r1, r4
- adds r1, r2, r1
- adds r2, r5
- bl sub_81D1F84
- bl sub_8167338
- ldr r1, [r6]
- b _08166BAC
- .pool
-_08166B14:
- ldr r5, =gUnknown_0203BCAC
- ldr r0, [r5]
- ldr r1, =0x00007c58
- adds r0, r1
- bl sub_81D2074
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08166BDA
- ldr r0, [r5]
- ldr r4, =0x00008041
- adds r0, r4
- ldrb r0, [r0]
- bl sub_81672A4
- lsls r0, 24
- lsrs r0, 24
- bl sub_81681F4
- ldr r3, [r5]
- adds r4, r3, r4
- ldrb r1, [r4]
- ldr r2, =0x00008040
- adds r0, r3, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08166B6C
- ldr r4, =0x00007fb3
- adds r0, r3, r4
- movs r1, 0
- ldrsb r1, [r0, r1]
- subs r2, 0x90
- adds r0, r3, r2
- adds r0, r1
- ldrb r2, [r0]
- ldr r4, =0x00007b1c
- adds r0, r3, r4
- subs r4, 0xC
- adds r1, r3, r4
- ldrb r1, [r1]
- bl sub_81D3480
-_08166B6C:
- ldr r1, =gUnknown_0203BC90
- ldr r0, [r1]
- adds r0, 0x52
- strb r6, [r0]
- ldr r1, [r1]
- b _08166BAC
- .pool
-_08166B94:
- ldr r1, [r5]
- adds r1, 0x52
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- bls _08166BDA
- bl sub_8166E24
-_08166BAA:
- ldr r1, [r5]
-_08166BAC:
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166BDA
-_08166BB6:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08166BDA
- bl sub_8166EDC
- lsls r0, 24
- cmp r0, 0
- bne _08166BDA
- ldr r0, =gSpecialVar_ItemId
- ldrb r0, [r0]
- bl TryClearPokeblock
- ldr r0, =sub_8166BEC
- bl sub_816636C
-_08166BDA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166A34
-
- thumb_func_start sub_8166BEC
-sub_8166BEC: @ 8166BEC
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203BC90
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x50
- ldrb r1, [r2]
- cmp r1, 0x1
- beq _08166C28
- cmp r1, 0x1
- bgt _08166C0C
- cmp r1, 0
- beq _08166C16
- b _08166D18
- .pool
-_08166C0C:
- cmp r1, 0x2
- beq _08166C40
- cmp r1, 0x3
- beq _08166C5C
- b _08166D18
-_08166C16:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08166C4A
-_08166C28:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08166D18
- movs r0, 0x2
- strb r0, [r2]
- b _08166D18
- .pool
-_08166C40:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- bl ScanlineEffect_InitHBlankDmaTransfer
-_08166C4A:
- ldr r1, [r4]
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166D18
- .pool
-_08166C5C:
- ldr r0, [r0, 0x4]
- bl SetMainCallback2
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D354C
- movs r4, 0
-_08166C70:
- ldr r5, =gUnknown_0203BCAC
- ldr r0, [r5]
- ldr r2, =0x00007b06
- adds r0, r2
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _08166C70
- movs r0, 0
- bl FreeSpriteTilesByTag
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- movs r0, 0
- bl FreeSpritePaletteByTag
- movs r0, 0x1
- bl FreeSpritePaletteByTag
- movs r4, 0
-_08166CAE:
- ldr r0, [r5]
- lsls r1, r4, 2
- ldr r2, =0x00007b44
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _08166CAE
- ldr r6, =gUnknown_0203BCAC
- ldr r0, [r6]
- ldr r2, =0x00007b10
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08166CE6
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_08166CE6:
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, =gUnknown_0203BCA0
- ldr r0, [r4]
- bl Free
- movs r5, 0
- str r5, [r4]
- ldr r4, =gUnknown_0203BCA4
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203BCA8
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r0, [r6]
- bl Free
- str r5, [r6]
- bl FreeAllWindowBuffers
-_08166D18:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166BEC
-
- thumb_func_start sub_8166D44
-sub_8166D44: @ 8166D44
- push {r4,lr}
- sub sp, 0x4C
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00008041
- adds r0, r1
- ldrb r0, [r0]
- bl sub_81672A4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
- add r0, sp, 0xC
- bl StringGetEnd10
- ldr r1, =gText_GetsAPokeBlockQuestion
- add r0, sp, 0xC
- bl StringAppend
- ldr r4, =gStringVar4
- adds r0, r4, 0
- add r1, sp, 0xC
- bl StringCopy
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x97
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sUsePokeblockYesNoWinTemplate
- movs r1, 0x97
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- add sp, 0x4C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166D44
-
- thumb_func_start sub_8166DE4
-sub_8166DE4: @ 8166DE4
- push {r4,lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- lsrs r4, r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08166E18
- cmp r1, 0
- bgt _08166E02
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08166E06
- b _08166E18
-_08166E02:
- cmp r1, 0x1
- bne _08166E18
-_08166E06:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- bl rbox_fill_rectangle
- movs r0, 0x2
- bl ClearWindowTilemap
-_08166E18:
- lsls r0, r4, 24
- asrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8166DE4
-
- thumb_func_start sub_8166E24
-sub_8166E24: @ 8166E24
- push {r4,lr}
- movs r0, 0x2
- movs r1, 0x97
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r3, =gUnknown_0203BC90
- ldr r0, [r3]
- adds r0, 0x53
- movs r1, 0
- strb r1, [r0]
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08166EA8
- adds r0, r2, 0
- adds r0, 0x61
- ldrb r1, [r1]
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r3, 0
- cmp r0, 0
- bne _08166E84
- adds r2, r4, 0
-_08166E60:
- ldr r0, [r2]
- adds r0, 0x53
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08166EA8
- adds r0, r3, 0
- adds r0, 0x61
- ldrb r1, [r1]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08166E60
-_08166E84:
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08166EA8
- ldr r0, =gStringVar4
- ldrb r1, [r1]
- adds r2, 0x61
- adds r2, r1
- ldrb r2, [r2]
- bl sub_8166FD4
- b _08166EB8
- .pool
-_08166EA8:
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_0203BC90
- ldr r1, [r1]
- adds r1, 0x53
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8166FD4
-_08166EB8:
- ldr r0, =gStringVar4
- bl sub_8166FB0
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166E24
-
- thumb_func_start sub_8166EDC
-sub_8166EDC: @ 8166EDC
- push {r4,r5,lr}
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_0203BC90
- adds r3, r5, 0
- movs r4, 0x5
-_08166EEC:
- ldr r0, [r3]
- adds r0, 0x53
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08166F18
- adds r0, r2, 0
- adds r0, 0x61
- ldrb r1, [r1]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08166F1E
- b _08166EEC
- .pool
-_08166F18:
- strb r4, [r1]
- movs r0, 0
- b _08166F44
-_08166F1E:
- ldr r4, =gStringVar4
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x53
- ldrb r1, [r1]
- adds r0, 0x61
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- bl sub_8166FD4
- adds r0, r4, 0
- bl sub_8166FB0
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
-_08166F44:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8166EDC
-
- thumb_func_start sub_8166F50
-sub_8166F50: @ 8166F50
- push {lr}
- sub sp, 0xC
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x97
- movs r2, 0xE
- bl sub_8098858
- ldr r2, =gText_WontEatAnymore
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166F50
-
- thumb_func_start sub_8166F94
-sub_8166F94: @ 8166F94
- push {lr}
- movs r0, 0x2
- bl rbox_fill_rectangle
- movs r0, 0x2
- bl ClearWindowTilemap
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_8166F94
-
- thumb_func_start sub_8166FB0
-sub_8166FB0: @ 8166FB0
- push {lr}
- sub sp, 0xC
- ldr r2, =gStringVar4
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166FB0
-
- thumb_func_start sub_8166FD4
-sub_8166FD4: @ 8166FD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 16
- lsrs r0, r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _08167010
- cmp r2, 0
- ble _08166FEC
- movs r0, 0
-_08166FEC:
- lsls r0, 16
- ldr r1, =sContestStatNames
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- ldr r1, =gText_WasEnhanced
- adds r0, r4, 0
- bl StringAppend
- b _08167018
- .pool
-_08167010:
- ldr r1, =gText_NothingChanged
- adds r0, r4, 0
- bl StringCopy
-_08167018:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166FD4
-
- thumb_func_start sub_8167024
-sub_8167024: @ 8167024
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- movs r4, 0
- ldr r7, =gUnknown_085DFCB0
-_0816702E:
- lsls r0, r4, 2
- adds r0, r7
- ldr r1, [r0]
- adds r0, r6, 0
- bl GetMonData
- adds r1, r5, r4
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _0816702E
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167024
-
- thumb_func_start sub_8167054
-sub_8167054: @ 8167054
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- adds r0, r5, 0
- movs r1, 0x30
- bl GetMonData
- cmp r0, 0xFF
- beq _081670F0
- mov r0, r8
- adds r1, r5, 0
- bl sub_8167184
- movs r4, 0
- mov r7, sp
-_08167078:
- ldr r1, =gUnknown_085DFCB0
- lsls r0, r4, 2
- adds r0, r1
- ldr r6, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- strb r0, [r7]
- ldr r1, =gUnknown_0203BC90
- ldr r1, [r1]
- lsls r2, r4, 1
- adds r1, 0x66
- adds r1, r2
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r0, 0
- bge _081670A6
- movs r1, 0
-_081670A6:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _081670B0
- movs r1, 0xFF
-_081670B0:
- strb r1, [r7]
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08167078
- adds r0, r5, 0
- movs r1, 0x30
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- ldrb r2, [r2, 0x6]
- adds r1, r0, r2
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _081670E2
- movs r1, 0xFF
-_081670E2:
- mov r0, sp
- strb r1, [r0]
- adds r0, r5, 0
- movs r1, 0x30
- mov r2, sp
- bl SetMonData
-_081670F0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167054
-
- thumb_func_start sub_8167104
-sub_8167104: @ 8167104
- push {r4,r5,lr}
- ldr r5, =gPlayerParty
- ldr r0, =gUnknown_0203BCAC
- ldr r1, [r0]
- ldr r2, =0x00008041
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x00007fb9
- adds r1, r0
- ldrb r1, [r1]
- movs r0, 0x64
- muls r0, r1
- adds r5, r0, r5
- ldr r4, =gUnknown_0203BC90
- ldr r1, [r4]
- adds r1, 0x57
- adds r0, r5, 0
- bl sub_8167024
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- adds r1, r5, 0
- bl sub_8167054
- ldr r1, [r4]
- adds r1, 0x5C
- adds r0, r5, 0
- bl sub_8167024
- movs r3, 0
-_08167144:
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x61
- adds r2, r3
- adds r1, r0, 0
- adds r1, 0x5C
- adds r1, r3
- adds r0, 0x57
- adds r0, r3
- ldrb r1, [r1]
- ldrb r0, [r0]
- subs r1, r0
- strb r1, [r2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x4
- bls _08167144
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167104
-
- thumb_func_start sub_8167184
-sub_8167184: @ 8167184
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- ldr r1, =gUnknown_0203BC90
- ldr r3, [r1]
- ldrb r1, [r0, 0x1]
- adds r2, r3, 0
- adds r2, 0x66
- strh r1, [r2]
- ldrb r2, [r0, 0x5]
- adds r1, r3, 0
- adds r1, 0x68
- strh r2, [r1]
- ldrb r1, [r0, 0x4]
- adds r2, r3, 0
- adds r2, 0x6A
- strh r1, [r2]
- ldrb r2, [r0, 0x3]
- adds r1, r3, 0
- adds r1, 0x6C
- strh r2, [r1]
- ldrb r1, [r0, 0x2]
- adds r0, r3, 0
- adds r0, 0x6E
- strh r1, [r0]
- ldr r0, =gPokeblockGain
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _081671D4
- movs r0, 0x1
- b _081671DA
- .pool
-_081671D4:
- cmp r0, 0
- bge _08167250
- movs r0, 0xFF
-_081671DA:
- movs r2, 0
- lsls r0, 24
- mov r9, r0
- ldr r0, =gUnknown_0203BC90
- mov r8, r0
-_081671E4:
- mov r0, r8
- ldr r1, [r0]
- lsls r0, r2, 24
- asrs r6, r0, 24
- lsls r7, r6, 1
- adds r1, 0x66
- adds r1, r7
- movs r2, 0
- ldrsh r4, [r1, r2]
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0816721C
- lsls r0, r5, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r5, r0, 24
-_0816721C:
- ldr r0, =gUnknown_085DFCC4
- adds r0, r6, r0
- ldrb r1, [r0]
- mov r0, r10
- bl GetMonFlavorRelation
- lsls r0, 24
- asrs r2, r0, 24
- cmp r0, r9
- bne _08167244
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x66
- adds r0, r7
- lsls r1, r5, 24
- asrs r1, 24
- muls r1, r2
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
-_08167244:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _081671E4
-_08167250:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167184
-
- thumb_func_start sub_8167268
-sub_8167268: @ 8167268
- push {lr}
- ldr r0, =gUnknown_0203BCAC
- ldr r1, [r0]
- ldr r2, =0x00008041
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- subs r2, 0x89
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0x30
- movs r3, 0
- bl sub_81D2C68
- cmp r0, 0xFF
- beq _0816729C
- movs r0, 0
- b _0816729E
- .pool
-_0816729C:
- movs r0, 0x1
-_0816729E:
- pop {r1}
- bx r1
- thumb_func_end sub_8167268
-
- thumb_func_start sub_81672A4
-sub_81672A4: @ 81672A4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_081672AC:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081672D2
- cmp r5, 0
- bne _081672CC
- adds r0, r4, 0
- b _081672DE
- .pool
-_081672CC:
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081672D2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081672AC
- movs r0, 0
-_081672DE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81672A4
-
- thumb_func_start sub_81672E4
-sub_81672E4: @ 81672E4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- movs r6, 0
- cmp r6, r5
- bcs _08167314
-_081672F2:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _0816730A
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0816730A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081672F2
-_08167314:
- subs r0, r5, r6
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81672E4
-
- thumb_func_start sub_8167324
-sub_8167324: @ 8167324
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_81672A4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8167324
-
- thumb_func_start sub_8167338
-sub_8167338: @ 8167338
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_085DFD18
- bl LoadSpriteSheet
- ldr r0, =gUnknown_085DFD20
- bl LoadSpritePalette
- ldr r2, =gUnknown_0203BC90
- ldr r0, [r2]
- adds r0, 0x54
- movs r1, 0
- strb r1, [r0]
- movs r4, 0
- adds r5, r2, 0
- ldr r6, =gUnknown_085DFD28
- adds r0, r6, 0x2
- mov r8, r0
- ldr r7, =gSprites + 0x1C
-_08167360:
- ldr r0, [r5]
- adds r0, 0x61
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081673AC
- lsls r2, r4, 2
- adds r0, r2, r6
- movs r3, 0
- ldrsh r1, [r0, r3]
- add r2, r8
- movs r0, 0
- ldrsh r2, [r2, r0]
- ldr r0, =gUnknown_085DFD5C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _081673AC
- ldr r0, [r5]
- adds r0, 0x61
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081673A2
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, =sub_81673DC
- str r1, [r0]
-_081673A2:
- ldr r1, [r5]
- adds r1, 0x54
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081673AC:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08167360
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167338
-
- thumb_func_start sub_81673DC
-sub_81673DC: @ 81673DC
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x5
- bgt _081673EE
- ldrh r0, [r1, 0x26]
- subs r0, 0x2
- b _081673F6
-_081673EE:
- cmp r0, 0xB
- bgt _081673F8
- ldrh r0, [r1, 0x26]
- adds r0, 0x2
-_081673F6:
- strh r0, [r1, 0x26]
-_081673F8:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _08167418
- adds r0, r1, 0
- bl DestroySprite
- ldr r0, =gUnknown_0203BC90
- ldr r1, [r0]
- adds r1, 0x54
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_08167418:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81673DC
-
- thumb_func_start sub_8167420
-sub_8167420: @ 8167420
- push {r4-r6,lr}
- movs r4, 0
- movs r5, 0
- ldr r6, =gUnknown_0203BCAC
- b _08167472
- .pool
-_08167430:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- adds r3, r0, 0
- cmp r3, 0
- bne _0816746C
- ldr r1, [r6]
- lsls r2, r5, 2
- adds r1, r2
- ldr r0, =0x00007fb8
- adds r1, r0
- movs r0, 0xE
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r2
- ldr r1, =0x00007fb9
- adds r0, r1
- strb r4, [r0]
- ldr r0, [r6]
- adds r0, r2
- ldr r2, =0x00007fba
- adds r0, r2
- strh r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0816746C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_08167472:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _08167430
- ldr r2, =gUnknown_0203BCAC
- ldr r0, [r2]
- ldr r1, =0x00008041
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r1, r5, 0x1
- ldr r2, =0x00008040
- adds r0, r2
- strb r1, [r0]
- bl sub_81674BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167420
-
- thumb_func_start sub_81674BC
-sub_81674BC: @ 81674BC
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- ldr r5, =0x00008041
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_816753C
- ldr r0, [r4]
- ldr r1, =0x00007fb3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldr r2, =0x00007fb4
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, =0x00007fb5
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r4]
- adds r5, r0, r5
- ldrb r3, [r5]
- adds r1, r3, 0x1
- adds r2, 0x8C
- adds r0, r2
- ldrb r2, [r0]
- cmp r1, r2
- blt _08167500
- movs r1, 0
-_08167500:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r0, 0
- bge _08167510
- subs r0, r2, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_08167510:
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_816753C
- lsls r0, r4, 16
- asrs r0, 16
- movs r1, 0x2
- bl sub_816753C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81674BC
-
- thumb_func_start sub_816753C
-sub_816753C: @ 816753C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203BCAC
- mov r9, r0
- ldr r1, [r0]
- lsls r5, 16
- asrs r0, r5, 14
- adds r0, r1, r0
- ldr r3, =0x00007fb8
- adds r2, r0, r3
- ldrb r7, [r2]
- ldr r2, =0x00007fb9
- adds r0, r2
- ldrb r0, [r0]
- mov r10, r0
- adds r3, 0x88
- adds r0, r1, r3
- ldrb r6, [r0]
- movs r0, 0
- mov r8, r0
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r2, =0x00007b4d
- adds r0, r2
- adds r0, r1, r0
- lsls r2, r4, 6
- ldr r3, =0x00007b95
- adds r2, r3
- adds r1, r2
- lsrs r5, 16
- str r5, [sp]
- str r6, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- adds r2, r7, 0
- mov r3, r10
- bl sub_81D2ED4
- mov r3, r9
- ldr r1, [r3]
- ldr r2, =0x00007c58
- adds r0, r1, r2
- ldr r3, =0x00007fb0
- adds r1, r3
- str r5, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r2, r8
- str r2, [sp, 0xC]
- adds r2, r7, 0
- mov r3, r10
- bl sub_81D2F78
- lsls r0, r4, 13
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- mov r3, r9
- ldr r1, [r3]
- adds r0, r1, r0
- lsls r4, 7
- adds r4, 0x4
- adds r1, r4
- str r5, [sp]
- str r6, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- adds r2, r7, 0
- mov r3, r10
- bl sub_81D3094
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816753C
-
- thumb_func_start sub_8167608
-sub_8167608: @ 8167608
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gUnknown_0203BCAC
- ldr r3, [r1]
- ldr r0, =0x00007b10
- mov r8, r0
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0xFF
- bne _08167714
- add r5, sp, 0x18
- add r4, sp, 0x20
- adds r0, r5, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_81D31D0
- lsls r0, r6, 13
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldr r1, [r7]
- adds r0, r1, r0
- str r0, [sp, 0x18]
- lsls r0, r6, 7
- adds r0, 0x4
- adds r1, r0
- str r1, [sp, 0x20]
- adds r0, r4, 0
- bl LoadSpritePalette
- ldr r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x00007b12
- adds r1, r2
- strh r0, [r1]
- adds r0, r5, 0
- bl LoadSpriteSheet
- ldr r1, [r7]
- ldr r3, =0x00007b14
- adds r1, r3
- strh r0, [r1]
- mov r0, sp
- movs r1, 0x26
- movs r2, 0x68
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, [r7]
- ldr r2, =0x00007b10
- adds r0, r2
- strb r1, [r0]
- cmp r1, 0x40
- bne _081676AC
- movs r0, 0x64
- bl FreeSpriteTilesByTag
- movs r0, 0x64
- bl FreeSpritePaletteByTag
- ldr r0, [r7]
- add r0, r8
- movs r1, 0xFF
- strb r1, [r0]
- b _08167742
- .pool
-_081676AC:
- ldr r0, [r7]
- add r0, r8
- strb r1, [r0]
- ldr r4, =gSprites
- ldr r2, [r7]
- mov r0, r8
- adds r3, r2, r0
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_8168168
- str r1, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x22
- strh r1, [r0, 0x26]
- ldr r3, =0x00007b18
- adds r1, r2, r3
- subs r3, 0x4
- adds r0, r2, r3
- ldrh r0, [r0]
- lsls r0, 5
- ldr r3, =0x06010000
- adds r0, r3
- str r0, [r1]
- ldr r0, =0x00007b12
- adds r2, r0
- ldrh r0, [r2]
- lsls r0, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r2]
- b _08167742
- .pool
-_08167714:
- lsls r1, r6, 13
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- adds r1, r3, r1
- ldr r2, =0x00007b18
- adds r0, r3, r2
- ldr r2, [r0]
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- lsls r0, r6, 7
- adds r0, 0x4
- adds r0, r3, r0
- ldr r2, =0x00007b12
- adds r1, r3, r2
- ldrh r1, [r1]
- movs r2, 0x20
- bl LoadPalette
-_08167742:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167608
-
- thumb_func_start sub_8167760
-sub_8167760: @ 8167760
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x60
- add r5, sp, 0x20
- add r4, sp, 0x38
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_81D321C
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- movs r4, 0
- ldr r1, =gUnknown_0203BCAC
- ldr r0, [r1]
- ldr r2, =0x00008040
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r5, 0
- add r2, sp, 0x50
- mov r9, r2
- add r2, sp, 0x58
- mov r10, r2
- cmp r4, r0
- bge _0816781C
- adds r5, r1, 0
- ldr r7, =gSprites
- movs r0, 0x1C
- adds r0, r7
- mov r8, r0
-_081677AC:
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 18
- movs r1, 0x80
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- adds r0, r6, 0
- movs r1, 0xE2
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _081677FC
- ldr r0, [r5]
- ldr r2, =0x00007b06
- adds r0, r2
- adds r0, r4
- strb r3, [r0]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r1, r0, r7
- strh r4, [r1, 0x2E]
- add r0, r8
- ldr r1, =sub_8168180
- str r1, [r0]
- b _08167808
- .pool
-_081677FC:
- ldr r0, [r5]
- ldr r1, =0x00007b06
- adds r0, r1
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
-_08167808:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r5]
- ldr r2, =0x00008040
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r4, r0
- blt _081677AC
-_0816781C:
- movs r0, 0x67
- strh r0, [r6]
- cmp r4, 0x5
- bhi _0816788A
- ldr r5, =gUnknown_0203BCAC
- ldr r7, =gSprites
-_08167828:
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 18
- movs r0, 0x80
- lsls r0, 12
- adds r2, r0
- asrs r2, 16
- adds r0, r6, 0
- movs r1, 0xE6
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _08167874
- ldr r0, [r5]
- ldr r1, =0x00007b06
- adds r0, r1
- adds r0, r4
- strb r3, [r0]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x3]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1, 0x3]
- b _08167880
- .pool
-_08167874:
- ldr r0, [r5]
- ldr r2, =0x00007b06
- adds r0, r2
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
-_08167880:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x5
- bls _08167828
-_0816788A:
- movs r0, 0x66
- strh r0, [r6]
- ldr r0, =sub_81681B4
- str r0, [r6, 0x14]
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 18
- movs r0, 0x80
- lsls r0, 12
- adds r2, r0
- asrs r2, 16
- adds r0, r6, 0
- movs r1, 0xDE
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _081678F4
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b06
- adds r0, r1
- adds r0, r4
- strb r3, [r0]
- ldr r0, =gSprites
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r0
- ldrb r3, [r2, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r3
- movs r3, 0x40
- orrs r0, r3
- strb r0, [r2, 0x1]
- ldrb r0, [r2, 0x3]
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r2, 0x3]
- b _08167902
- .pool
-_081678F4:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00007b06
- adds r0, r2
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
-_08167902:
- mov r0, r9
- mov r1, r10
- bl sub_81D32B0
- mov r0, r9
- bl LoadSpriteSheet
- mov r0, r10
- bl LoadSpritePalette
- add sp, 0x60
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167760
-
- thumb_func_start sub_8167930
-sub_8167930: @ 8167930
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00008048
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xB
- bls _08167944
- b _08167B78
-_08167944:
- lsls r0, 2
- ldr r1, =_0816795C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816795C:
- .4byte _0816798C
- .4byte _08167A04
- .4byte _08167A38
- .4byte _08167A48
- .4byte _08167A5C
- .4byte _08167A74
- .4byte _08167A9C
- .4byte _08167AB0
- .4byte _08167AD4
- .4byte _08167AEC
- .4byte _08167B1C
- .4byte _08167B38
-_0816798C:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r1, 0x88
- lsls r1, 6
- movs r0, 0x3
- movs r2, 0
- bl ChangeBgY
- ldr r1, =0x00007040
- movs r0, 0
- bl SetGpuReg
- movs r1, 0x91
- lsls r1, 2
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000040b
- movs r0, 0x52
- bl SetGpuReg
- b _08167B7E
- .pool
-_08167A04:
- ldr r4, =gUnknown_0203BCA4
- movs r0, 0xD0
- lsls r0, 5
- bl Alloc
- str r0, [r4]
- ldr r5, =gUnknown_0203BCA0
- movs r4, 0xA0
- lsls r4, 3
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- ldr r5, =gUnknown_0203BCA8
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- b _08167B7E
- .pool
-_08167A38:
- ldr r0, =gUnknown_085DFB60
- ldr r1, =gUnknown_0203BCA8
- b _08167AA0
- .pool
-_08167A48:
- ldr r1, =gUnknown_085DFA80
- movs r0, 0x3
- movs r2, 0xE0
- movs r3, 0
- bl LoadBgTiles
- b _08167B7E
- .pool
-_08167A5C:
- ldr r0, =gUnknown_0203BCA8
- ldr r1, [r0]
- movs r2, 0xA0
- lsls r2, 3
- movs r0, 0x3
- movs r3, 0
- bl LoadBgTilemap
- b _08167B7E
- .pool
-_08167A74:
- ldr r0, =gUnknown_085DFA60
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b0e
- adds r0, r1
- ldr r1, =0x0000ffb0
- strh r1, [r0]
- b _08167B7E
- .pool
-_08167A9C:
- ldr r0, =gUsePokeblockGraph_Gfx
- ldr r1, =gUnknown_0203BCA4
-_08167AA0:
- ldr r1, [r1]
- bl LZ77UnCompVram
- b _08167B7E
- .pool
-_08167AB0:
- ldr r0, =gUsePokeblockGraph_Tilemap
- ldr r1, =gUnknown_0203BCA0
- ldr r1, [r1]
- bl LZ77UnCompVram
- ldr r0, =gUsePokeblockGraph_Pal
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- b _08167B7E
- .pool
-_08167AD4:
- ldr r0, =gUnknown_0203BCA4
- ldr r1, [r0]
- movs r2, 0xD0
- lsls r2, 5
- movs r3, 0xA0
- lsls r3, 2
- movs r0, 0x1
- bl LoadBgTiles
- b _08167B7E
- .pool
-_08167AEC:
- ldr r0, =gUnknown_0203BCA0
- ldr r1, [r0]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, =gUsePokeblockNatureWin_Pal
- movs r0, 0xC
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0xD
- bl CopyToBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _08167B7E
- .pool
-_08167B1C:
- ldr r0, =gUnknown_085DFC0C
- ldr r1, =gUnknown_0203BCAC
- ldr r1, [r1]
- ldr r2, =0x00007304
- adds r1, r2
- bl LZ77UnCompVram
- b _08167B7E
- .pool
-_08167B38:
- ldr r0, =gUnknown_0203BCAC
- ldr r1, [r0]
- ldr r0, =0x00007304
- adds r1, r0
- movs r2, 0xA0
- lsls r2, 3
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTilemap
- ldr r0, =gUnknown_086231E8
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08623208
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- bl sub_81D21DC
- b _08167B7E
- .pool
-_08167B78:
- movs r0, 0
- strb r0, [r1]
- b _08167B8E
-_08167B7E:
- ldr r0, =gUnknown_0203BCAC
- ldr r1, [r0]
- ldr r2, =0x00008048
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_08167B8E:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8167930
-
- thumb_func_start sub_8167BA0
-sub_8167BA0: @ 8167BA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r7, =gUnknown_0203BCAC
- ldr r3, [r7]
- ldr r1, =0x00008041
- adds r0, r3, r1
- ldrb r1, [r0]
- ldr r2, =0x00008040
- adds r0, r3, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08167C46
- lsls r2, r4, 6
- ldr r0, =0x00007b95
- adds r2, r0
- adds r2, r3, r2
- movs r0, 0x1
- str r0, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r7]
- ldr r1, =0x00008041
- adds r0, r1
- ldrb r0, [r0]
- bl sub_81672A4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNature
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, [r7]
- ldr r6, =0x0000804a
- adds r0, r6
- ldr r1, =gText_NatureSlash
- bl StringCopy
- ldr r1, =gNatureNamePointers
- lsls r4, 2
- adds r4, r1
- ldr r1, [r4]
- bl StringCopy
- ldr r0, =gUnknown_085DFCC9
- str r0, [sp]
- str r5, [sp, 0x4]
- ldr r0, [r7]
- adds r0, r6
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized3
-_08167C46:
- mov r2, r8
- cmp r2, 0
- beq _08167C84
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- b _08167C94
- .pool
-_08167C84:
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
-_08167C94:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8167BA0
-
- thumb_func_start sub_8167CA0
-sub_8167CA0: @ 8167CA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _08167CC0
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007fb5
- adds r0, r1
- b _08167CC8
- .pool
-_08167CC0:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00007fb4
- adds r0, r2
-_08167CC8:
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r5, =gUnknown_0203BCAC
- ldr r2, [r5]
- ldr r3, =0x00007c58
- adds r0, r2, r3
- ldr r4, =0x00007fb3
- adds r1, r2, r4
- movs r3, 0
- ldrsb r3, [r1, r3]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- ldr r4, =0x00007c6c
- adds r1, r4
- adds r1, r2, r1
- lsls r3, r6, 2
- adds r3, r6
- lsls r3, 2
- adds r3, r4
- adds r2, r3
- bl sub_81D1F84
- ldr r4, [r5]
- ldr r1, =0x00008041
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, =0x00008040
- mov r12, r2
- adds r0, r4, r2
- ldrb r0, [r0]
- subs r0, 0x1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- mov r8, r0
- cmp r7, 0
- beq _08167D98
- ldr r3, =0x00007fb4
- adds r0, r4, r3
- ldrb r1, [r0]
- subs r2, 0x8B
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, [r5]
- ldr r4, =0x00007fb3
- adds r1, r0, r4
- ldrb r1, [r1]
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r4
- strb r6, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, =0x00007fb6
- adds r0, r2
- strb r1, [r0]
- ldr r1, [r5]
- adds r3, 0x8D
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08167D58
- mov r4, r12
- adds r0, r1, r4
- ldrb r0, [r0]
-_08167D58:
- subs r2, r0, 0x1
- ldr r0, =0x00008041
- adds r1, r0
- strb r2, [r1]
- ldr r1, =gUnknown_0203BCAC
- ldr r3, [r1]
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0
- bne _08167D74
- ldr r1, =0x00008040
- adds r0, r3, r1
- ldrb r0, [r0]
-_08167D74:
- subs r1, r0, 0x1
- b _08167E1E
- .pool
-_08167D98:
- ldr r3, =0x00007fb5
- adds r0, r4, r3
- ldrb r1, [r0]
- ldr r2, =0x00007fb4
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, [r5]
- ldr r4, =0x00007fb3
- adds r1, r0, r4
- ldrb r1, [r1]
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r4
- strb r6, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, =0x00007fb6
- adds r0, r2
- strb r1, [r0]
- ldr r2, [r5]
- adds r3, 0x8C
- adds r0, r2, r3
- ldrb r1, [r0]
- adds r4, 0x8D
- adds r0, r2, r4
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bge _08167DEC
- adds r3, r1, 0x1
- b _08167DEE
- .pool
-_08167DEC:
- movs r3, 0
-_08167DEE:
- ldr r1, =0x00008041
- adds r0, r2, r1
- strb r3, [r0]
- ldr r2, =gUnknown_0203BCAC
- ldr r3, [r2]
- adds r1, r3, r1
- ldrb r1, [r1]
- ldr r4, =0x00008040
- adds r0, r3, r4
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0
- cmp r1, r0
- bge _08167E1C
- adds r1, 0x1
- b _08167E1E
- .pool
-_08167E1C:
- movs r1, 0
-_08167E1E:
- ldr r2, =0x00007b4c
- adds r0, r3, r2
- strb r1, [r0]
- adds r5, r6, 0
- ldr r0, [r5]
- ldr r3, =0x00008041
- adds r1, r0, r3
- ldrb r2, [r1]
- ldr r4, =0x00008040
- adds r1, r0, r4
- ldrb r1, [r1]
- subs r1, 0x1
- eors r2, r1
- negs r1, r2
- orrs r1, r2
- lsrs r4, r1, 31
- ldr r1, =0x00007b1c
- adds r0, r1
- bl sub_81D3520
- mov r2, r8
- cmp r2, 0
- bne _08167E70
- ldr r0, [r5]
- ldr r3, =0x00008044
- adds r0, r3
- ldr r1, =sub_8167EA4
- b _08167E90
- .pool
-_08167E70:
- cmp r4, 0
- bne _08167E88
- ldr r0, [r5]
- ldr r4, =0x00008044
- adds r0, r4
- ldr r1, =sub_8167FA4
- b _08167E90
- .pool
-_08167E88:
- ldr r0, [r6]
- ldr r1, =0x00008044
- adds r0, r1
- ldr r1, =sub_8168048
-_08167E90:
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8167CA0
-
- thumb_func_start sub_8167EA4
-sub_8167EA4: @ 8167EA4
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r1, [r4]
- ldr r5, =0x00008048
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08167EE4
- cmp r0, 0x1
- bgt _08167EC8
- cmp r0, 0
- beq _08167ED2
- b _08167F9C
- .pool
-_08167EC8:
- cmp r0, 0x2
- beq _08167F08
- cmp r0, 0x3
- beq _08167F48
- b _08167F9C
-_08167ED2:
- ldr r2, =0x00007fb3
- adds r0, r1, r2
- ldrb r0, [r0]
- bl sub_8167608
- b _08167F2C
- .pool
-_08167EE4:
- ldr r6, =0x00007fb3
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8167BA0
- ldr r1, [r4]
- ldr r0, =0x00008048
- adds r1, r0
- b _08167F30
- .pool
-_08167F08:
- ldr r2, =0x00007c58
- adds r0, r1, r2
- ldr r6, =0x00007b0e
- adds r1, r6
- bl sub_81D3178
- lsls r0, 24
- cmp r0, 0
- bne _08167F9C
- ldr r1, [r4]
- ldr r2, =0x00007b4c
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r6, =0x00007fb6
- adds r1, r6
- ldrb r1, [r1]
- bl sub_816753C
-_08167F2C:
- ldr r1, [r4]
- adds r1, r5
-_08167F30:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08167F9C
- .pool
-_08167F48:
- ldr r2, =0x00007b1c
- adds r0, r1, r2
- bl sub_81D3464
- ldr r3, [r4]
- ldr r6, =0x00008041
- adds r0, r3, r6
- ldrb r1, [r0]
- ldr r2, =0x00008040
- adds r0, r3, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08167F82
- subs r6, 0x8E
- adds r0, r3, r6
- movs r1, 0
- ldrsb r1, [r0, r1]
- subs r2, 0x90
- adds r0, r3, r2
- adds r0, r1
- ldrb r2, [r0]
- ldr r6, =0x00007b1c
- adds r0, r3, r6
- subs r6, 0xC
- adds r1, r3, r6
- ldrb r1, [r1]
- bl sub_81D3480
-_08167F82:
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- movs r0, 0
- b _08167F9E
- .pool
-_08167F9C:
- movs r0, 0x1
-_08167F9E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8167EA4
-
- thumb_func_start sub_8167FA4
-sub_8167FA4: @ 8167FA4
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r1, [r4]
- ldr r5, =0x00008048
- adds r2, r1, r5
- ldrb r0, [r2]
- cmp r0, 0x1
- beq _08167FF0
- cmp r0, 0x1
- bgt _08167FC8
- cmp r0, 0
- beq _08167FD2
- b _0816803E
- .pool
-_08167FC8:
- cmp r0, 0x2
- beq _08168014
- cmp r0, 0x3
- beq _08168038
- b _0816803E
-_08167FD2:
- ldr r2, =0x00007c58
- adds r0, r1, r2
- ldr r2, =0x00007b0e
- adds r1, r2
- bl sub_81D31A4
- lsls r0, 24
- cmp r0, 0
- bne _0816803E
- b _08168024
- .pool
-_08167FF0:
- ldr r2, =0x00007fb3
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8167BA0
- ldr r1, [r4]
- ldr r0, =0x00008048
- adds r1, r0
- b _08168028
- .pool
-_08168014:
- ldr r2, =0x00007b4c
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r2, =0x00007fb6
- adds r1, r2
- ldrb r1, [r1]
- bl sub_816753C
-_08168024:
- ldr r1, [r4]
- adds r1, r5
-_08168028:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0816803E
- .pool
-_08168038:
- movs r0, 0
- strb r0, [r2]
- b _08168040
-_0816803E:
- movs r0, 0x1
-_08168040:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8167FA4
-
- thumb_func_start sub_8168048
-sub_8168048: @ 8168048
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r1, [r4]
- ldr r5, =0x00008048
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081680A8
- cmp r0, 0x1
- bgt _0816806C
- cmp r0, 0
- beq _08168076
- b _08168160
- .pool
-_0816806C:
- cmp r0, 0x2
- beq _081680CC
- cmp r0, 0x3
- beq _0816810C
- b _08168160
-_08168076:
- ldr r2, =0x00007c58
- adds r0, r1, r2
- bl sub_81D2074
- ldr r0, [r4]
- ldr r6, =0x00007b0e
- adds r0, r6
- bl sub_81D3150
- lsls r0, 24
- cmp r0, 0
- bne _08168160
- ldr r0, [r4]
- ldr r1, =0x00007fb3
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8167608
- b _081680F0
- .pool
-_081680A8:
- ldr r2, =0x00007fb3
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8167BA0
- ldr r1, [r4]
- ldr r6, =0x00008048
- adds r1, r6
- b _081680F4
- .pool
-_081680CC:
- ldr r2, =0x00007c58
- adds r0, r1, r2
- ldr r6, =0x00007b0e
- adds r1, r6
- bl sub_81D3178
- lsls r0, 24
- cmp r0, 0
- bne _08168160
- ldr r1, [r4]
- ldr r2, =0x00007b4c
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r6, =0x00007fb6
- adds r1, r6
- ldrb r1, [r1]
- bl sub_816753C
-_081680F0:
- ldr r1, [r4]
- adds r1, r5
-_081680F4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08168160
- .pool
-_0816810C:
- ldr r2, =0x00007b1c
- adds r0, r1, r2
- bl sub_81D3464
- ldr r3, [r4]
- ldr r6, =0x00008041
- adds r0, r3, r6
- ldrb r1, [r0]
- ldr r2, =0x00008040
- adds r0, r3, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08168146
- subs r6, 0x8E
- adds r0, r3, r6
- movs r1, 0
- ldrsb r1, [r0, r1]
- subs r2, 0x90
- adds r0, r3, r2
- adds r0, r1
- ldrb r2, [r0]
- ldr r6, =0x00007b1c
- adds r0, r3, r6
- subs r6, 0xC
- adds r1, r3, r6
- ldrb r1, [r1]
- bl sub_81D3480
-_08168146:
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- movs r0, 0
- b _08168162
- .pool
-_08168160:
- movs r0, 0x1
-_08168162:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8168048
-
- thumb_func_start sub_8168168
-sub_8168168: @ 8168168
- ldr r1, =gUnknown_0203BCAC
- ldr r1, [r1]
- ldr r2, =0x00007b0e
- adds r1, r2
- ldrh r1, [r1]
- adds r1, 0x26
- strh r1, [r0, 0x20]
- bx lr
- .pool
- thumb_func_end sub_8168168
-
- thumb_func_start sub_8168180
-sub_8168180: @ 8168180
- push {lr}
- adds r2, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r3, =0x00008041
- adds r0, r3
- ldrb r0, [r0]
- cmp r1, r0
- bne _081681A8
- adds r0, r2, 0
- movs r1, 0
- bl StartSpriteAnim
- b _081681B0
- .pool
-_081681A8:
- adds r0, r2, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_081681B0:
- pop {r0}
- bx r0
- thumb_func_end sub_8168180
-
- thumb_func_start sub_81681B4
-sub_81681B4: @ 81681B4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00008041
- adds r1, r0, r2
- ldrb r1, [r1]
- subs r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _081681DC
- movs r0, 0x65
- b _081681DE
- .pool
-_081681DC:
- movs r0, 0x66
-_081681DE:
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r2, [r4, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81681B4
-
- thumb_func_start sub_81681F4
-sub_81681F4: @ 81681F4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x30
- bl GetMonData
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r3, =0x00007fb3
- adds r1, r0, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- subs r3, 0x3
- adds r0, r3
- adds r4, r0, r1
- cmp r2, 0xFF
- beq _0816823C
- adds r0, r2, 0
- movs r1, 0x1D
- bl __udivsi3
- b _0816823E
- .pool
-_0816823C:
- movs r0, 0x9
-_0816823E:
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81681F4
-
- thumb_func_start sub_8168248
-sub_8168248: @ 8168248
- push {lr}
- sub sp, 0x10
- ldr r0, =gUnknown_085DFDB8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, =gUsePokeblockCondition_Gfx
- str r0, [sp]
- ldr r1, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- adds r1, 0x1
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadCompressedSpriteSheet
- add r0, sp, 0x8
- bl LoadSpritePalette
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8168248
-
- thumb_func_start sub_8168294
-sub_8168294: @ 8168294
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b44
- adds r7, r0, r1
- ldr r0, =gUnknown_085DFDA0
- mov r10, r0
- movs r6, 0
- movs r1, 0x40
- mov r9, r1
- movs r0, 0x60
- negs r0, r0
- mov r8, r0
-_081682B6:
- mov r5, r9
- muls r5, r6
- mov r0, r8
- adds r1, r0, r5
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x11
- lsls r2, r0, 16
- mov r0, r10
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _081682FE
- ldr r0, =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- movs r1, 0x8
- strh r1, [r4, 0x2E]
- movs r0, 0x20
- orrs r5, r0
- strh r5, [r4, 0x30]
- strh r6, [r4, 0x32]
- lsls r1, r6, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- lsls r0, r6, 2
- adds r0, r7
- str r4, [r0]
-_081682FE:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _081682B6
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8168294
-
- thumb_func_start sub_8168328
-sub_8168328: @ 8168328
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- ldr r5, =0x00008048
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _08168348
- cmp r0, 0x1
- beq _08168360
- b _0816836C
- .pool
-_08168348:
- bl sub_8168248
- ldr r1, [r4]
- ldr r0, =0x00008048
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- b _0816836E
- .pool
-_08168360:
- bl sub_8168294
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
-_0816836C:
- movs r0, 0
-_0816836E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8168328
-
- thumb_func_start sub_8168374
-sub_8168374: @ 8168374
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r2, 0x2E]
- adds r3, r0, r1
- strh r3, [r2, 0x20]
- lsls r0, 16
- asrs r4, r0, 16
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r4, r1
- bgt _08168398
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- bge _081683A0
- cmp r4, r1
- blt _081683A8
-_08168398:
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- bgt _081683A8
-_081683A0:
- ldrh r0, [r2, 0x30]
- strh r0, [r2, 0x20]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_081683A8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8168374
-
- .align 2, 0 @ Don't pad with nop.