summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_interface.s5660
-rw-r--r--asm/crt0.s77
-rw-r--r--asm/librfu.s6697
-rw-r--r--asm/librfu_intr.s54
-rw-r--r--asm/librfu_stwi.s1560
-rw-r--r--asm/link_rfu.s134
-rw-r--r--asm/link_rfu_2.s132
-rw-r--r--asm/link_rfu_3.s4
-rw-r--r--asm/pc_screen_effect.s477
-rw-r--r--asm/pokemon_summary_screen.s8
-rw-r--r--asm/region_map.s13825
-rw-r--r--asm/script_pokemon_util_80A0058.s535
-rw-r--r--asm/script_pokemon_util_80BF8FC.s422
13 files changed, 206 insertions, 29379 deletions
diff --git a/asm/battle_interface.s b/asm/battle_interface.s
deleted file mode 100644
index 753b1696b..000000000
--- a/asm/battle_interface.s
+++ /dev/null
@@ -1,5660 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8047B0C
-sub_8047B0C: @ 8047B0C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r3, 0
- movs r2, 0
-_08047B28:
- lsls r0, r3, 24
- asrs r0, 24
- mov r3, sp
- adds r1, r3, r0
- strb r2, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _08047B28
- movs r3, 0x3
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- mov r8, sp
-_08047B48:
- lsls r0, r5, 16
- asrs r6, r0, 16
- cmp r6, 0
- ble _08047B76
- lsls r4, r3, 24
- asrs r4, 24
- mov r1, sp
- adds r5, r1, r4
- adds r0, r6, 0
- movs r1, 0xA
- bl __modsi3
- strb r0, [r5]
- adds r0, r6, 0
- movs r1, 0xA
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- subs r4, 0x1
- lsls r4, 24
- lsrs r3, r4, 24
- b _08047B48
-_08047B76:
- lsls r1, r3, 24
- asrs r0, r1, 24
- cmp r0, r9
- ble _08047B9A
- movs r4, 0xFF
- movs r3, 0x1
- negs r3, r3
-_08047B84:
- asrs r2, r1, 24
- mov r5, sp
- adds r1, r5, r2
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- subs r2, 0x1
- lsls r1, r2, 24
- asrs r0, r1, 24
- cmp r0, r3
- bgt _08047B84
-_08047B9A:
- mov r1, r8
- ldrb r0, [r1, 0x3]
- cmp r0, 0xFF
- bne _08047BA6
- movs r0, 0
- strb r0, [r1, 0x3]
-_08047BA6:
- mov r2, r10
- cmp r2, 0
- bne _08047C36
- movs r3, 0
- movs r1, 0
- movs r6, 0xFC
- lsls r6, 8
- movs r5, 0x1E
- mov r12, r5
-_08047BB8:
- lsls r1, 24
- asrs r2, r1, 24
- mov r0, sp
- adds r5, r0, r2
- ldrb r0, [r5]
- mov r8, r1
- cmp r0, 0xFF
- bne _08047BEE
- lsls r1, r2, 1
- adds r1, r7
- ldrh r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- mov r2, r12
- orrs r0, r2
- strh r0, [r1]
- lsls r3, 24
- asrs r1, r3, 23
- adds r1, r7
- adds r1, 0x40
- ldrh r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- mov r5, r12
- orrs r0, r5
- strh r0, [r1]
- b _08047C1E
-_08047BEE:
- lsls r2, 1
- adds r2, r7
- ldrh r0, [r2]
- adds r1, r6, 0
- ands r1, r0
- ldrb r0, [r5]
- adds r0, 0x14
- orrs r1, r0
- strh r1, [r2]
- lsls r4, r3, 24
- asrs r3, r4, 24
- lsls r2, r3, 1
- adds r2, r7
- adds r2, 0x40
- ldrh r0, [r2]
- adds r1, r6, 0
- ands r1, r0
- mov r5, sp
- adds r0, r5, r3
- ldrb r0, [r0]
- adds r0, 0x34
- orrs r1, r0
- strh r1, [r2]
- adds r3, r4, 0
-_08047C1E:
- movs r0, 0x80
- lsls r0, 17
- add r0, r8
- lsrs r1, r0, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r3, r2
- lsrs r3, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _08047BB8
- b _08047C9A
-_08047C36:
- movs r3, 0
- movs r4, 0xFC
- lsls r4, 8
- movs r6, 0x1E
-_08047C3E:
- lsls r1, r3, 24
- asrs r2, r1, 24
- mov r3, sp
- adds r5, r3, r2
- ldrb r0, [r5]
- adds r3, r1, 0
- cmp r0, 0xFF
- bne _08047C6A
- lsls r1, r2, 1
- adds r1, r7
- ldrh r2, [r1]
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r6
- strh r0, [r1]
- adds r1, 0x40
- ldrh r2, [r1]
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r6
- strh r0, [r1]
- b _08047C8C
-_08047C6A:
- lsls r2, 1
- adds r2, r7
- ldrh r0, [r2]
- adds r1, r4, 0
- ands r1, r0
- ldrb r0, [r5]
- adds r0, 0x14
- orrs r1, r0
- strh r1, [r2]
- adds r2, 0x40
- ldrh r0, [r2]
- adds r1, r4, 0
- ands r1, r0
- ldrb r0, [r5]
- adds r0, 0x34
- orrs r1, r0
- strh r1, [r2]
-_08047C8C:
- movs r5, 0x80
- lsls r5, 17
- adds r0, r3, r5
- lsrs r3, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _08047C3E
-_08047C9A:
- 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_8047B0C
-
- thumb_func_start sub_8047CAC
-sub_8047CAC: @ 8047CAC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- movs r1, 0x1E
- strh r1, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- adds r1, r5, 0
- movs r2, 0
- bl sub_8047B0C
- lsls r4, 16
- asrs r4, 16
- adds r5, 0xA
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8047B0C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8047CAC
-
- thumb_func_start CreateBattlerHealthboxSprites
-CreateBattlerHealthboxSprites: @ 8047CE0
- 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
- movs r0, 0
- str r0, [sp]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08047DF4
- mov r0, r10
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08047D78
- ldr r4, _08047D68 @ =gUnknown_8260278
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, _08047D6C @ =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x1]
- movs r3, 0x3F
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- lsls r2, r7, 4
- adds r2, r7
- lsls r2, 2
- adds r2, r4
- ldrb r0, [r2, 0x1]
- ands r3, r0
- strb r3, [r2, 0x1]
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x40
- ldr r4, _08047D70 @ =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, _08047D74 @ =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- b _08047DBE
- .align 2, 0
-_08047D68: .4byte gUnknown_8260278
-_08047D6C: .4byte gSprites
-_08047D70: .4byte 0x000003ff
-_08047D74: .4byte 0xfffffc00
-_08047D78:
- ldr r4, _08047DE0 @ =gUnknown_82602A8
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _08047DE4 @ =gSprites
- lsls r2, r7, 4
- adds r2, r7
- lsls r2, 2
- adds r2, r0
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x20
- ldr r5, _08047DE8 @ =0x000003ff
- adds r0, r5, 0
- ands r1, r0
- ldr r0, _08047DEC @ =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- movs r0, 0x2
- str r0, [sp]
-_08047DBE:
- ldr r2, _08047DE4 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r2
- strh r7, [r0, 0x6]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r1, r0, r2
- strh r6, [r1, 0x38]
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08047DF0 @ =sub_8048128
- str r1, [r0]
- b _08047F1C
- .align 2, 0
-_08047DE0: .4byte gUnknown_82602A8
-_08047DE4: .4byte gSprites
-_08047DE8: .4byte 0x000003ff
-_08047DEC: .4byte 0xfffffc00
-_08047DF0: .4byte sub_8048128
-_08047DF4:
- mov r0, r10
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08047E98
- mov r0, r10
- bl GetBattlerPosition
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r4, _08047E84 @ =gUnknown_8260278
- adds r0, r4
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r10
- bl GetBattlerPosition
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, _08047E88 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r4
- strh r7, [r0, 0x6]
- lsls r2, r7, 4
- adds r2, r7
- lsls r2, 2
- adds r3, r2, r4
- strh r6, [r3, 0x38]
- ldrh r1, [r3, 0x4]
- mov r8, r1
- mov r5, r8
- lsls r1, r5, 22
- lsrs r1, 22
- adds r1, 0x20
- ldr r5, _08047E8C @ =0x000003ff
- adds r0, r5, 0
- ands r1, r0
- ldr r0, _08047E90 @ =0xfffffc00
- mov r5, r8
- ands r0, r5
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r4, 0x1C
- adds r2, r4
- ldr r0, _08047E94 @ =sub_8048128
- str r0, [r2]
- movs r0, 0x1
- b _08047F1A
- .align 2, 0
-_08047E84: .4byte gUnknown_8260278
-_08047E88: .4byte gSprites
-_08047E8C: .4byte 0x000003ff
-_08047E90: .4byte 0xfffffc00
-_08047E94: .4byte sub_8048128
-_08047E98:
- mov r0, r10
- bl GetBattlerPosition
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r4, _08047FE0 @ =gUnknown_82602A8
- adds r0, r4
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r10
- bl GetBattlerPosition
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, _08047FE4 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r4
- strh r7, [r0, 0x6]
- lsls r2, r7, 4
- adds r2, r7
- lsls r2, 2
- adds r3, r2, r4
- strh r6, [r3, 0x38]
- ldrh r1, [r3, 0x4]
- mov r8, r1
- mov r5, r8
- lsls r1, r5, 22
- lsrs r1, 22
- adds r1, 0x20
- ldr r5, _08047FE8 @ =0x000003ff
- adds r0, r5, 0
- ands r1, r0
- ldr r0, _08047FEC @ =0xfffffc00
- mov r5, r8
- ands r0, r5
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r4, 0x1C
- adds r2, r4
- ldr r0, _08047FF0 @ =sub_8048128
- str r0, [r2]
- movs r0, 0x2
-_08047F1A:
- str r0, [sp]
-_08047F1C:
- ldr r0, _08047FF4 @ =gBattlerPositions
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, _08047FF8 @ =gUnknown_82602F8
- adds r0, r1
- movs r1, 0x8C
- movs r2, 0x3C
- movs r3, 0
- bl CreateSpriteAtEnd
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r1, _08047FE4 @ =gSprites
- mov r8, r1
- add r4, r8
- mov r0, r10
- bl GetBattlerSide
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 21
- ldr r0, _08047FFC @ =gUnknown_82603C4
- adds r1, r0
- adds r0, r4, 0
- bl SetSubspriteTables
- adds r2, r4, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r2, 0x4
- mov r9, r2
- mov r1, r9
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0x1
- bl GetHealthboxElementGfxPtr
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, _08048000 @ =0x06010000
- adds r1, r2
- ldr r2, _08048004 @ =0x04000010
- bl CpuSet
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- add r0, r8
- strh r5, [r0, 0x38]
- mov r2, r10
- strh r2, [r0, 0x3A]
- adds r0, 0x3E
- ldrb r1, [r0]
- mov r5, r9
- orrs r1, r5
- strb r1, [r0]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r5
- strb r1, [r0]
- strh r6, [r4, 0x38]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x3A]
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r5
- strb r0, [r4]
- adds r0, r6, 0
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08047FE0: .4byte gUnknown_82602A8
-_08047FE4: .4byte gSprites
-_08047FE8: .4byte 0x000003ff
-_08047FEC: .4byte 0xfffffc00
-_08047FF0: .4byte sub_8048128
-_08047FF4: .4byte gBattlerPositions
-_08047FF8: .4byte gUnknown_82602F8
-_08047FFC: .4byte gUnknown_82603C4
-_08048000: .4byte 0x06010000
-_08048004: .4byte 0x04000010
- thumb_func_end CreateBattlerHealthboxSprites
-
- thumb_func_start CreateSafariPlayerHealthboxSprites
-CreateSafariPlayerHealthboxSprites: @ 8048008
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _08048094 @ =gUnknown_82602D8
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08048098 @ =gSprites
- mov r9, r1
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- add r4, r9
- ldrb r3, [r4, 0x1]
- movs r2, 0x3F
- adds r1, r2, 0
- ands r1, r3
- strb r1, [r4, 0x1]
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- mov r7, r9
- adds r5, r3, r7
- ldrb r1, [r5, 0x1]
- ands r2, r1
- strb r2, [r5, 0x1]
- ldrh r1, [r5, 0x4]
- mov r8, r1
- mov r7, r8
- lsls r2, r7, 22
- lsrs r2, 22
- adds r2, 0x40
- ldr r7, _0804809C @ =0x000003ff
- adds r1, r7, 0
- ands r2, r1
- ldr r1, _080480A0 @ =0xfffffc00
- mov r7, r8
- ands r1, r7
- orrs r1, r2
- strh r1, [r5, 0x4]
- strh r0, [r4, 0x6]
- strh r6, [r5, 0x38]
- movs r0, 0x1C
- add r9, r0
- add r3, r9
- ldr r0, _080480A4 @ =sub_8048128
- str r0, [r3]
- adds r0, r6, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08048094: .4byte gUnknown_82602D8
-_08048098: .4byte gSprites
-_0804809C: .4byte 0x000003ff
-_080480A0: .4byte 0xfffffc00
-_080480A4: .4byte sub_8048128
- thumb_func_end CreateSafariPlayerHealthboxSprites
-
- thumb_func_start GetHealthboxElementGfxPtr
-GetHealthboxElementGfxPtr: @ 80480A8
- lsls r0, 24
- lsrs r0, 19
- ldr r1, _080480B4 @ =gHealthboxElementsGfxTable
- adds r0, r1
- bx lr
- .align 2, 0
-_080480B4: .4byte gHealthboxElementsGfxTable
- thumb_func_end GetHealthboxElementGfxPtr
-
- thumb_func_start sub_80480B8
-sub_80480B8: @ 80480B8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080480E8
- cmp r0, 0x1
- bgt _080480FC
- cmp r0, 0
- bne _080480FC
- ldr r2, _080480E4 @ =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
- b _0804810A
- .align 2, 0
-_080480E4: .4byte gSprites
-_080480E8:
- ldr r2, _080480F8 @ =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
- b _0804810A
- .align 2, 0
-_080480F8: .4byte gSprites
-_080480FC:
- ldr r2, _08048124 @ =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
-_0804810A:
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x22]
- strh r0, [r4, 0x22]
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- strh r1, [r4, 0x24]
- ldrh r0, [r0, 0x26]
- strh r0, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08048124: .4byte gSprites
- thumb_func_end sub_80480B8
-
- thumb_func_start sub_8048128
-sub_8048128: @ 8048128
- ldrh r1, [r0, 0x38]
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0804814C @ =gSprites
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x20]
- adds r1, 0x40
- strh r1, [r0, 0x20]
- ldrh r1, [r2, 0x22]
- strh r1, [r0, 0x22]
- ldrh r1, [r2, 0x24]
- strh r1, [r0, 0x24]
- ldrh r1, [r2, 0x26]
- strh r1, [r0, 0x26]
- bx lr
- .align 2, 0
-_0804814C: .4byte gSprites
- thumb_func_end sub_8048128
-
- thumb_func_start SetBattleBarStruct
-SetBattleBarStruct: @ 8048150
- push {r4-r7,lr}
- ldr r7, [sp, 0x14]
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _08048180 @ =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, [r4, 0xC]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 2
- adds r5, r4, r5
- strb r1, [r5]
- ldr r0, [r6]
- ldr r0, [r0, 0xC]
- adds r4, r0
- str r2, [r4, 0x4]
- str r3, [r4, 0x8]
- str r7, [r4, 0xC]
- ldr r0, _08048184 @ =0xffff8000
- str r0, [r4, 0x10]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08048180: .4byte gBattleSpritesDataPtr
-_08048184: .4byte 0xffff8000
- thumb_func_end SetBattleBarStruct
-
- thumb_func_start SetHealthboxSpriteInvisible
-SetHealthboxSpriteInvisible: @ 8048188
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080481D0 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- movs r0, 0x38
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- ldrh r1, [r2, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080481D0: .4byte gSprites
- thumb_func_end SetHealthboxSpriteInvisible
-
- thumb_func_start SetHealthboxSpriteVisible
-SetHealthboxSpriteVisible: @ 80481D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08048224 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- adds r4, r2, 0
- adds r4, 0x3E
- ldrb r1, [r4]
- movs r3, 0x5
- negs r3, r3
- adds r0, r3, 0
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x38
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r4, [r0]
- adds r1, r3, 0
- ands r1, r4
- strb r1, [r0]
- ldrh r1, [r2, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08048224: .4byte gSprites
- thumb_func_end SetHealthboxSpriteVisible
-
- thumb_func_start UpdateSpritePos
-UpdateSpritePos: @ 8048228
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08048244 @ =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r4
- strh r1, [r3, 0x20]
- strh r2, [r3, 0x22]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048244: .4byte gSprites
- thumb_func_end UpdateSpritePos
-
- thumb_func_start DestoryHealthboxSprite
-DestoryHealthboxSprite: @ 8048248
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08048284 @ =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r5
- ldrh r1, [r4, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- adds r0, r4, 0
- bl DestroySprite
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08048284: .4byte gSprites
- thumb_func_end DestoryHealthboxSprite
-
- thumb_func_start DummyBattleInterfaceFunc
-DummyBattleInterfaceFunc: @ 8048288
- bx lr
- thumb_func_end DummyBattleInterfaceFunc
-
- thumb_func_start UpdateOamPriorityInAllHealthboxes
-UpdateOamPriorityInAllHealthboxes: @ 804828C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- ldr r1, _08048310 @ =gBattlersCount
- mov r8, r1
- ldrb r2, [r1]
- cmp r6, r2
- bge _08048304
- ldr r1, _08048314 @ =gSprites
- mov r12, r1
- movs r1, 0x3
- ands r0, r1
- lsls r5, r0, 2
- movs r7, 0xD
- negs r7, r7
- ldr r2, _08048318 @ =gHealthboxSpriteIds
- mov r9, r2
-_080482B6:
- mov r1, r9
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- ldrb r4, [r1, 0x6]
- ldrh r3, [r1, 0x38]
- lsls r3, 24
- lsrs r3, 24
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- add r1, r12
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- add r1, r12
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- adds r6, 0x1
- mov r2, r8
- ldrb r2, [r2]
- cmp r6, r2
- blt _080482B6
-_08048304:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08048310: .4byte gBattlersCount
-_08048314: .4byte gSprites
-_08048318: .4byte gHealthboxSpriteIds
- thumb_func_end UpdateOamPriorityInAllHealthboxes
-
- thumb_func_start InitBattlerHealthboxCoords
-InitBattlerHealthboxCoords: @ 804831C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r4, 0
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08048348
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08048342
- movs r5, 0x2C
- movs r4, 0x1E
- b _08048380
-_08048342:
- movs r5, 0x9E
- movs r4, 0x58
- b _08048380
-_08048348:
- adds r0, r6, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08048376
- cmp r0, 0x1
- bgt _08048360
- cmp r0, 0
- beq _0804836A
- b _08048380
-_08048360:
- cmp r0, 0x2
- beq _08048370
- cmp r0, 0x3
- beq _0804837C
- b _08048380
-_0804836A:
- movs r5, 0x9F
- movs r4, 0x4B
- b _08048380
-_08048370:
- movs r5, 0xAB
- movs r4, 0x64
- b _08048380
-_08048376:
- movs r5, 0x2C
- movs r4, 0x13
- b _08048380
-_0804837C:
- movs r5, 0x20
- movs r4, 0x2C
-_08048380:
- ldr r0, _08048394 @ =gHealthboxSpriteIds
- adds r0, r6, r0
- ldrb r0, [r0]
- adds r1, r5, 0
- adds r2, r4, 0
- bl UpdateSpritePos
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08048394: .4byte gHealthboxSpriteIds
- thumb_func_end InitBattlerHealthboxCoords
-
- thumb_func_start UpdateLvlInHealthbox
-UpdateLvlInHealthbox: @ 8048398
- push {r4-r6,lr}
- sub sp, 0x14
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _08048410 @ =gUnknown_826051C
- mov r0, sp
- movs r2, 0x10
- bl memcpy
- mov r0, sp
- adds r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r1, r0, 0
- subs r1, 0x2
- mov r0, sp
- subs r1, r0
- movs r0, 0x3
- subs r0, r1
- lsls r1, r0, 2
- adds r1, r0
- add r3, sp, 0x10
- mov r0, sp
- movs r2, 0x3
- bl AddTextPrinterAndCreateWindowOnHealthbox
- adds r6, r0, 0
- ldr r0, _08048414 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r4, r0, 17
- ldrh r0, [r1, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08048420
- bl IsDoubleBattle
- lsls r0, 24
- ldr r2, _08048418 @ =0x06010420
- adds r1, r4, r2
- cmp r0, 0
- bne _08048424
- ldr r0, _0804841C @ =0x06010820
- adds r1, r4, r0
- b _08048424
- .align 2, 0
-_08048410: .4byte gUnknown_826051C
-_08048414: .4byte gSprites
-_08048418: .4byte 0x06010420
-_0804841C: .4byte 0x06010820
-_08048420:
- ldr r2, _0804843C @ =0x06010400
- adds r1, r4, r2
-_08048424:
- adds r0, r1, 0
- adds r1, r6, 0
- movs r2, 0x3
- bl sub_804A6E8
- ldr r0, [sp, 0x10]
- bl sub_804A6D8
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804843C: .4byte 0x06010400
- thumb_func_end UpdateLvlInHealthbox
-
- thumb_func_start UpdateHpTextInHealthbox
-UpdateHpTextInHealthbox: @ 8048440
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, _080484B4 @ =gSprites
- lsls r0, 4
- add r0, r9
- lsls r0, 2
- adds r4, r0, r1
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08048514
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08048514
- mov r0, r8
- cmp r0, 0
- beq _080484BC
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- add r0, sp, 0x10
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- add r3, sp, 0x2C
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x5
- bl AddTextPrinterAndCreateWindowOnHealthbox
- adds r5, r0, 0
- ldrh r0, [r4, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r1, _080484B8 @ =0x06010a40
- adds r0, r1
- adds r1, r5, 0
- b _080484FE
- .align 2, 0
-_080484B4: .4byte gSprites
-_080484B8: .4byte 0x06010a40
-_080484BC:
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- add r0, sp, 0x10
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r1, 0xBA
- strb r1, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x1]
- add r3, sp, 0x2C
- add r0, sp, 0x10
- movs r1, 0x4
- movs r2, 0x5
- bl AddTextPrinterAndCreateWindowOnHealthbox
- adds r5, r0, 0
- ldrh r4, [r4, 0x4]
- lsls r4, 22
- lsrs r4, 17
- ldr r1, _0804850C @ =0x060102e0
- adds r0, r4, r1
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_804A6E8
- ldr r2, _08048510 @ =0x06010a00
- adds r4, r2
- adds r1, r5, 0
- adds r1, 0x20
- adds r0, r4, 0
-_080484FE:
- movs r2, 0x2
- bl sub_804A6E8
- ldr r0, [sp, 0x2C]
- bl sub_804A6D8
- b _080485F8
- .align 2, 0
-_0804850C: .4byte 0x060102e0
-_08048510: .4byte 0x06010a00
-_08048514:
- add r5, sp, 0x18
- ldr r1, _0804855C @ =gUnknown_826052C
- adds r0, r5, 0
- movs r2, 0x14
- bl memcpy
- ldr r1, _08048560 @ =gSprites
- mov r0, r9
- lsls r4, r0, 4
- adds r0, r4, r0
- lsls r0, 2
- adds r7, r0, r1
- ldrh r0, [r7, 0x3A]
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0804854C
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08048564
-_0804854C:
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- mov r0, r9
- mov r2, r8
- bl sub_8048618
- b _080485F8
- .align 2, 0
-_0804855C: .4byte gUnknown_826052C
-_08048560: .4byte gSprites
-_08048564:
- ldrh r0, [r7, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08048580
- movs r6, 0x59
- mov r0, r8
- cmp r0, 0
- bne _0804858A
- movs r6, 0x1D
- b _0804858A
-_08048580:
- movs r6, 0x30
- mov r1, r8
- cmp r1, 0
- bne _0804858A
- movs r6, 0x14
-_0804858A:
- mov r0, sp
- adds r0, 0x1E
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _08048608 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- adds r2, r5, 0
- movs r3, 0
- bl RenderTextFont9
- movs r5, 0
- ldr r1, _0804860C @ =gSprites
- mov r2, r9
- adds r0, r4, r2
- lsls r0, 2
- adds r4, r0, r1
-_080485C6:
- ldr r0, _08048608 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r5, 6
- adds r1, 0x20
- ldr r0, [r0]
- adds r0, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r6
- adds r1, r5
- lsls r1, 5
- ldr r2, _08048610 @ =0x06010000
- adds r1, r2
- ldr r2, _08048614 @ =0x04000008
- bl CpuSet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080485C6
-_080485F8:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08048608: .4byte gMonSpritesGfxPtr
-_0804860C: .4byte gSprites
-_08048610: .4byte 0x06010000
-_08048614: .4byte 0x04000008
- thumb_func_end UpdateHpTextInHealthbox
-
- thumb_func_start sub_8048618
-sub_8048618: @ 8048618
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, _080486F8 @ =gUnknown_8260542
- add r0, sp, 0x10
- movs r2, 0x14
- bl memcpy
- ldr r5, _080486FC @ =gSprites
- mov r1, r9
- lsls r0, r1, 4
- add r0, r9
- lsls r0, 2
- adds r2, r0, r5
- ldrh r0, [r2, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _08048700 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- mov r3, r10
- lsls r0, r3, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0804866A
- b _080487DC
-_0804866A:
- movs r6, 0x4
- mov r1, r8
- negs r0, r1
- orrs r0, r1
- asrs r0, 31
- ands r6, r0
- ldrh r0, [r2, 0x38]
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, sp
- adds r0, 0x16
- lsls r1, r4, 16
- asrs r1, 16
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r2, r8
- cmp r2, 0
- bne _08048698
- ldr r1, _08048704 @ =gUnknown_8260540
- bl StringCopy
-_08048698:
- ldr r0, _08048708 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r3, 0xBA
- lsls r3, 1
- adds r0, r3
- ldr r0, [r0]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- add r2, sp, 0x10
- movs r3, 0
- bl RenderTextFont9
- adds r4, r6, 0
- adds r0, r4, 0x3
- cmp r4, r0
- bge _08048748
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r5, r0, r5
-_080486C6:
- cmp r4, 0x2
- bhi _08048714
- ldr r0, _08048708 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- subs r1, r4, r6
- lsls r1, 6
- adds r1, 0x20
- ldr r0, [r0]
- adds r0, r1
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r4, 0x1
- adds r1, r4
- lsls r1, 5
- ldr r2, _0804870C @ =0x06010000
- adds r1, r2
- ldr r2, _08048710 @ =0x04000008
- bl CpuSet
- b _0804873E
- .align 2, 0
-_080486F8: .4byte gUnknown_8260542
-_080486FC: .4byte gSprites
-_08048700: .4byte gBattleSpritesDataPtr
-_08048704: .4byte gUnknown_8260540
-_08048708: .4byte gMonSpritesGfxPtr
-_0804870C: .4byte 0x06010000
-_08048710: .4byte 0x04000008
-_08048714:
- ldr r0, _08048790 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r3, 0xBA
- lsls r3, 1
- adds r0, r3
- subs r1, r4, r6
- lsls r1, 6
- adds r1, 0x20
- ldr r0, [r0]
- adds r0, r1
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r4, r1
- lsls r1, 5
- ldr r2, _08048794 @ =0x06010020
- adds r1, r2
- ldr r2, _08048798 @ =0x04000008
- bl CpuSet
- adds r4, 0x1
-_0804873E:
- lsls r0, r4, 24
- lsrs r4, r0, 24
- adds r0, r6, 0x3
- cmp r4, r0
- blt _080486C6
-_08048748:
- mov r3, r8
- cmp r3, 0
- bne _080487A8
- ldr r0, _08048790 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- adds r0, 0xE0
- ldr r1, _0804879C @ =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- adds r1, 0x80
- ldr r5, _080487A0 @ =0x06010000
- adds r1, r5
- ldr r2, _08048798 @ =0x04000008
- bl CpuSet
- mov r2, r8
- str r2, [sp, 0x24]
- add r0, sp, 0x24
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- adds r1, r5
- ldr r2, _080487A4 @ =0x05000008
- bl CpuSet
- b _080487DC
- .align 2, 0
-_08048790: .4byte gMonSpritesGfxPtr
-_08048794: .4byte 0x06010020
-_08048798: .4byte 0x04000008
-_0804879C: .4byte gSprites
-_080487A0: .4byte 0x06010000
-_080487A4: .4byte 0x05000008
-_080487A8:
- mov r0, r10
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080487DC
- movs r0, 0x74
- bl GetHealthboxElementGfxPtr
- ldr r2, _080487EC @ =gSprites
- mov r3, r9
- lsls r1, r3, 4
- add r1, r9
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- movs r2, 0xD0
- lsls r2, 3
- adds r1, r2
- ldr r2, _080487F0 @ =0x06010000
- adds r1, r2
- ldr r2, _080487F4 @ =0x04000008
- bl CpuSet
-_080487DC:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080487EC: .4byte gSprites
-_080487F0: .4byte 0x06010000
-_080487F4: .4byte 0x04000008
- thumb_func_end sub_8048618
-
- thumb_func_start sub_80487F8
-sub_80487F8: @ 80487F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- ldr r1, _080488AC @ =gUnknown_826052C
- add r0, sp, 0x10
- movs r2, 0x14
- bl memcpy
- ldr r1, _080488B0 @ =gSprites
- ldr r2, [sp, 0x24]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerPosition
- ldr r1, _080488B4 @ =gMonSpritesGfxPtr
- ldr r2, [r1]
- movs r3, 0xBA
- lsls r3, 1
- adds r2, r3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 7
- movs r0, 0xA4
- lsls r0, 3
- adds r1, r0
- ldr r0, [r2]
- adds r6, r0, r1
- movs r1, 0x5
- mov r8, r1
- adds r0, r4, 0
- bl GetNature
- lsls r0, 24
- mov r4, sp
- adds r4, 0x16
- ldr r1, _080488B8 @ =gNatureNames
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0
- add r2, sp, 0x10
- movs r3, 0
- bl RenderTextFont9
- movs r7, 0x6
- movs r5, 0
- mov r2, sp
- adds r2, 0x19
- str r2, [sp, 0x28]
-_08048888:
- mov r0, sp
- adds r0, r7
- adds r0, 0x10
- ldrb r1, [r0]
- adds r0, r1, 0
- subs r0, 0x37
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _080488A8
- adds r0, r1, 0
- adds r0, 0x79
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _080488BC
-_080488A8:
- movs r0, 0x2C
- b _080488DA
- .align 2, 0
-_080488AC: .4byte gUnknown_826052C
-_080488B0: .4byte gSprites
-_080488B4: .4byte gMonSpritesGfxPtr
-_080488B8: .4byte gNatureNames
-_080488BC:
- adds r0, r1, 0
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080488D4
- adds r0, r1, 0
- adds r0, 0x65
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080488D8
-_080488D4:
- movs r0, 0x2D
- b _080488DA
-_080488D8:
- movs r0, 0x2B
-_080488DA:
- bl GetHealthboxElementGfxPtr
- lsls r1, r5, 6
- adds r1, r6, r1
- ldr r2, _080489F8 @ =0x04000008
- bl CpuSet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, 0x1
- cmp r5, r8
- bcc _08048888
- movs r7, 0x1
- ldr r3, [sp, 0x24]
- lsls r3, 4
- str r3, [sp, 0x2C]
- movs r0, 0x1
- add r0, r8
- mov r9, r0
- cmp r7, r9
- bge _08048966
- ldr r1, _080489FC @ =gSprites
- ldr r2, _080489F8 @ =0x04000008
- mov r10, r2
- ldr r2, [sp, 0x24]
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- mov r8, r0
-_08048916:
- mov r3, r8
- ldrh r0, [r3, 0x4]
- lsls r0, 22
- lsrs r0, 22
- adds r5, r7, 0
- cmp r7, 0
- bge _08048926
- adds r5, r7, 0x7
-_08048926:
- asrs r5, 3
- lsls r4, r5, 3
- subs r4, r7, r4
- adds r0, r4
- lsls r5, 6
- adds r0, r5
- lsls r0, 5
- ldr r2, _08048A00 @ =0x06010000
- adds r1, r0, r2
- adds r0, r6, 0
- mov r2, r10
- bl CpuSet
- adds r6, 0x20
- mov r3, r8
- ldrh r0, [r3, 0x4]
- lsls r0, 22
- lsrs r0, 22
- adds r4, 0x8
- adds r0, r4
- adds r0, r5
- lsls r0, 5
- ldr r2, _08048A00 @ =0x06010000
- adds r1, r0, r2
- adds r0, r6, 0
- mov r2, r10
- bl CpuSet
- adds r6, 0x20
- adds r7, 0x1
- cmp r7, r9
- blt _08048916
-_08048966:
- ldr r6, _080489FC @ =gSprites
- ldr r3, [sp, 0x2C]
- ldr r1, [sp, 0x24]
- adds r0, r3, r1
- lsls r0, 2
- adds r0, r6
- ldrh r4, [r0, 0x38]
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08048A04 @ =gBattleStruct
- ldr r0, [r5]
- adds r0, 0x7C
- ldrb r1, [r0]
- mov r0, sp
- adds r0, 0x16
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r5]
- adds r0, 0x7B
- ldrb r1, [r0]
- ldr r0, [sp, 0x28]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- add r0, sp, 0x10
- movs r1, 0
- strb r1, [r0, 0x5]
- adds r2, r0, 0
- movs r0, 0xBA
- strb r0, [r2, 0x8]
- ldr r5, _08048A08 @ =gMonSpritesGfxPtr
- ldr r0, [r5]
- movs r2, 0xBA
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- str r1, [sp]
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- add r2, sp, 0x10
- movs r3, 0
- bl RenderTextFont9
- movs r7, 0
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r6, r0, r6
- movs r4, 0x20
-_080489D0:
- cmp r7, 0x1
- bgt _08048A0C
- ldr r0, [r5]
- movs r3, 0xBA
- lsls r3, 1
- adds r0, r3
- ldr r0, [r0]
- adds r0, r4
- ldrh r1, [r6, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r7, 0x2
- adds r1, r2
- lsls r1, 5
- ldr r2, _08048A00 @ =0x06010000
- adds r1, r2
- ldr r2, _080489F8 @ =0x04000008
- bl CpuSet
- b _08048A2C
- .align 2, 0
-_080489F8: .4byte 0x04000008
-_080489FC: .4byte gSprites
-_08048A00: .4byte 0x06010000
-_08048A04: .4byte gBattleStruct
-_08048A08: .4byte gMonSpritesGfxPtr
-_08048A0C:
- ldr r0, [r5]
- movs r3, 0xBA
- lsls r3, 1
- adds r0, r3
- ldr r0, [r0]
- adds r0, r4
- ldrh r1, [r6, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r7, r1
- lsls r1, 5
- ldr r2, _08048A44 @ =0x060100c0
- adds r1, r2
- ldr r2, _08048A48 @ =0x04000008
- bl CpuSet
-_08048A2C:
- adds r4, 0x40
- adds r7, 0x1
- cmp r7, 0x4
- ble _080489D0
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08048A44: .4byte 0x060100c0
-_08048A48: .4byte 0x04000008
- thumb_func_end sub_80487F8
-
- thumb_func_start SwapHpBarsWithHpText
-SwapHpBarsWithHpText: @ 8048A4C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- mov r9, r0
- ldr r0, _08048B78 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r9, r0
- blt _08048A66
- b _08048CF2
-_08048A66:
- ldr r1, _08048B7C @ =gSprites
- mov r10, r1
- ldr r2, _08048B80 @ =gBattlerPartyIndexes
- mov r8, r2
-_08048A6E:
- ldr r0, _08048B84 @ =gHealthboxSpriteIds
- mov r1, r9
- adds r6, r1, r0
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r1, r10
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _08048B88 @ =SpriteCallbackDummy
- cmp r1, r0
- beq _08048A8C
- b _08048CE0
-_08048A8C:
- mov r2, r9
- lsls r0, r2, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08048AA2
- b _08048CE0
-_08048AA2:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08048ABA
- adds r0, r7, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08048ABA
- b _08048CE0
-_08048ABA:
- ldr r5, _08048B8C @ =gBattleSpritesDataPtr
- ldr r0, [r5]
- ldr r3, [r0]
- mov r0, r9
- lsls r4, r0, 2
- adds r3, r4, r3
- ldr r0, [r3]
- lsls r0, 27
- lsrs r0, 31
- movs r2, 0x1
- eors r2, r0
- lsls r2, 4
- mov r12, r2
- ldrb r0, [r3]
- movs r2, 0x11
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strb r0, [r3]
- ldr r0, [r5]
- ldr r0, [r0]
- adds r4, r0
- ldr r0, [r4]
- lsls r0, 27
- lsrs r4, r0, 31
- adds r0, r7, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08048BE8
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08048B08
- b _08048CE0
-_08048B08:
- ldr r0, _08048B90 @ =gBattleTypeFlags
- ldr r2, [r0]
- movs r0, 0x80
- ands r2, r0
- cmp r2, 0
- beq _08048B16
- b _08048CE0
-_08048B16:
- cmp r4, 0x1
- bne _08048BA0
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r0, [r0, 0x38]
- lsls r0, 24
- lsrs r1, r0, 24
- str r2, [sp]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, _08048B94 @ =0x06010000
- adds r1, r2
- mov r0, sp
- ldr r2, _08048B98 @ =0x05000040
- bl CpuSet
- ldrb r4, [r6]
- mov r1, r8
- ldrh r0, [r1]
- movs r2, 0x64
- muls r0, r2
- ldr r1, _08048B9C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl sub_8048618
- ldrb r4, [r6]
- mov r2, r8
- ldrh r0, [r2]
- movs r1, 0x64
- muls r0, r1
- ldr r2, _08048B9C @ =gPlayerParty
- b _08048C6E
- .align 2, 0
-_08048B78: .4byte gBattlersCount
-_08048B7C: .4byte gSprites
-_08048B80: .4byte gBattlerPartyIndexes
-_08048B84: .4byte gHealthboxSpriteIds
-_08048B88: .4byte SpriteCallbackDummy
-_08048B8C: .4byte gBattleSpritesDataPtr
-_08048B90: .4byte gBattleTypeFlags
-_08048B94: .4byte 0x06010000
-_08048B98: .4byte 0x05000040
-_08048B9C: .4byte gPlayerParty
-_08048BA0:
- ldrb r0, [r6]
- bl UpdateStatusIconInHealthbox
- ldrb r0, [r6]
- mov r2, r8
- ldrh r1, [r2]
- movs r2, 0x64
- muls r1, r2
- ldr r2, _08048BDC @ =gPlayerParty
- adds r1, r2
- movs r2, 0x5
- bl UpdateHealthboxAttribute
- movs r0, 0x75
- bl GetHealthboxElementGfxPtr
- ldrb r2, [r6]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r10
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, _08048BE0 @ =0x06010680
- adds r1, r2
- ldr r2, _08048BE4 @ =0x04000008
- bl CpuSet
- b _08048CCA
- .align 2, 0
-_08048BDC: .4byte gPlayerParty
-_08048BE0: .4byte 0x06010680
-_08048BE4: .4byte 0x04000008
-_08048BE8:
- cmp r4, 0x1
- bne _08048C94
- ldr r0, _08048C0C @ =gBattleTypeFlags
- ldr r2, [r0]
- movs r0, 0x80
- ands r2, r0
- cmp r2, 0
- beq _08048C14
- ldrb r0, [r6]
- mov r2, r8
- ldrh r1, [r2]
- movs r2, 0x64
- muls r1, r2
- ldr r2, _08048C10 @ =gEnemyParty
- adds r1, r2
- bl sub_80487F8
- b _08048CCA
- .align 2, 0
-_08048C0C: .4byte gBattleTypeFlags
-_08048C10: .4byte gEnemyParty
-_08048C14:
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r0, [r0, 0x38]
- lsls r0, 24
- lsrs r1, r0, 24
- str r2, [sp]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r0, _08048C88 @ =0x06010000
- adds r1, r0
- mov r0, sp
- ldr r2, _08048C8C @ =0x05000040
- bl CpuSet
- ldrb r4, [r6]
- mov r1, r8
- ldrh r0, [r1]
- movs r2, 0x64
- muls r0, r2
- ldr r1, _08048C90 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl sub_8048618
- ldrb r4, [r6]
- mov r2, r8
- ldrh r0, [r2]
- movs r1, 0x64
- muls r0, r1
- ldr r2, _08048C90 @ =gEnemyParty
-_08048C6E:
- adds r0, r2
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_8048618
- b _08048CCA
- .align 2, 0
-_08048C88: .4byte 0x06010000
-_08048C8C: .4byte 0x05000040
-_08048C90: .4byte gEnemyParty
-_08048C94:
- ldrb r0, [r6]
- bl UpdateStatusIconInHealthbox
- ldrb r0, [r6]
- mov r2, r8
- ldrh r1, [r2]
- movs r5, 0x64
- muls r1, r5
- ldr r4, _08048D04 @ =gEnemyParty
- adds r1, r4
- movs r2, 0x5
- bl UpdateHealthboxAttribute
- ldr r0, _08048D08 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08048CCA
- ldrb r0, [r6]
- mov r2, r8
- ldrh r1, [r2]
- muls r1, r5
- adds r1, r4
- movs r2, 0x4
- bl UpdateHealthboxAttribute
-_08048CCA:
- ldr r0, _08048D0C @ =gHealthboxSpriteIds
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r0, 0x3C]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0, 0x3C]
-_08048CE0:
- movs r0, 0x2
- add r8, r0
- movs r1, 0x1
- add r9, r1
- ldr r0, _08048D10 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r9, r0
- bge _08048CF2
- b _08048A6E
-_08048CF2:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08048D04: .4byte gEnemyParty
-_08048D08: .4byte gBattleTypeFlags
-_08048D0C: .4byte gHealthboxSpriteIds
-_08048D10: .4byte gBattlersCount
- thumb_func_end SwapHpBarsWithHpText
-
- thumb_func_start CreatePartyStatusSummarySprites
-CreatePartyStatusSummarySprites: @ 8048D14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- str r1, [sp, 0xC]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- lsls r2, 24
- lsrs r2, 24
- adds r4, r2, 0
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- cmp r4, 0
- beq _08048D44
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048D88
-_08048D44:
- ldr r0, [sp, 0x8]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08048D64
- movs r7, 0
- movs r1, 0x88
- movs r2, 0x60
- movs r0, 0x64
- mov r8, r0
- ldr r5, _08048D60 @ =0x0000fffb
- b _08048D94
- .align 2, 0
-_08048D60: .4byte 0x0000fffb
-_08048D64:
- movs r7, 0x1
- cmp r4, 0
- beq _08048D74
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08048D7A
-_08048D74:
- movs r1, 0x68
- movs r2, 0x28
- b _08048D7E
-_08048D7A:
- movs r1, 0x68
- movs r2, 0x10
-_08048D7E:
- ldr r3, _08048D84 @ =0x0000ff9c
- mov r8, r3
- b _08048D92
- .align 2, 0
-_08048D84: .4byte 0x0000ff9c
-_08048D88:
- movs r7, 0x1
- movs r1, 0x68
- movs r2, 0x28
- ldr r5, _08048E40 @ =0x0000ff9c
- mov r8, r5
-_08048D92:
- movs r5, 0x5
-_08048D94:
- movs r6, 0
- str r6, [sp, 0x14]
- lsls r4, r7, 3
- ldr r0, _08048E44 @ =gUnknown_826046C
- mov r10, r0
- lsls r3, r7, 1
- mov r9, r3
- lsls r1, 16
- str r1, [sp, 0x20]
- lsls r2, 16
- str r2, [sp, 0x24]
- ldr r2, _08048E48 @ =0x0000ffff
- ldr r1, [sp, 0xC]
- movs r6, 0x5
-_08048DB0:
- ldrh r0, [r1]
- cmp r0, r2
- beq _08048DC4
- ldr r3, [sp, 0x14]
- lsls r0, r3, 24
- movs r3, 0x80
- lsls r3, 17
- adds r0, r3
- lsrs r0, 24
- str r0, [sp, 0x14]
-_08048DC4:
- adds r1, 0x8
- subs r6, 0x1
- cmp r6, 0
- bge _08048DB0
- mov r6, r10
- adds r0, r4, r6
- bl LoadCompressedSpriteSheetUsingHeap
- ldr r0, _08048E4C @ =gUnknown_826049C
- adds r0, r4, r0
- bl LoadSpriteSheet
- ldr r0, _08048E50 @ =gUnknown_826047C
- adds r0, r4, r0
- bl LoadSpritePalette
- ldr r0, _08048E54 @ =gUnknown_826048C
- adds r0, r4, r0
- bl LoadSpritePalette
- mov r1, r9
- adds r0, r1, r7
- lsls r0, 3
- ldr r1, _08048E58 @ =gUnknown_82604BC
- adds r0, r1
- ldr r2, [sp, 0x20]
- asrs r1, r2, 16
- ldr r3, [sp, 0x24]
- asrs r2, r3, 16
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- lsls r0, 4
- ldr r6, [sp, 0x18]
- adds r0, r6
- lsls r0, 2
- ldr r1, _08048E5C @ =gSprites
- adds r4, r0, r1
- ldr r1, _08048E60 @ =gUnknown_82603FC
- adds r0, r4, 0
- bl SetSubspriteTables
- mov r0, r8
- strh r0, [r4, 0x24]
- strh r5, [r4, 0x2E]
- cmp r7, 0
- beq _08048E64
- ldrh r0, [r4, 0x20]
- subs r0, 0x60
- strh r0, [r4, 0x20]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x3]
- b _08048E6A
- .align 2, 0
-_08048E40: .4byte 0x0000ff9c
-_08048E44: .4byte gUnknown_826046C
-_08048E48: .4byte 0x0000ffff
-_08048E4C: .4byte gUnknown_826049C
-_08048E50: .4byte gUnknown_826047C
-_08048E54: .4byte gUnknown_826048C
-_08048E58: .4byte gUnknown_82604BC
-_08048E5C: .4byte gSprites
-_08048E60: .4byte gUnknown_82603FC
-_08048E64:
- ldrh r0, [r4, 0x20]
- adds r0, 0x60
- strh r0, [r4, 0x20]
-_08048E6A:
- movs r6, 0
- ldr r1, _08048F14 @ =gSprites
- mov r10, r1
- mov r4, sp
- mov r2, r9
- adds r0, r2, r7
- lsls r0, 3
- str r0, [sp, 0x1C]
- movs r3, 0xA
- mov r9, r3
- mov r8, r6
-_08048E80:
- ldr r0, _08048F18 @ =gUnknown_82604EC
- ldr r5, [sp, 0x24]
- ldr r1, _08048F1C @ =0xfffc0000
- adds r2, r5, r1
- ldr r3, [sp, 0x1C]
- adds r0, r3, r0
- ldr r5, [sp, 0x20]
- asrs r1, r5, 16
- asrs r2, 16
- movs r3, 0x9
- bl CreateSpriteAtEnd
- strb r0, [r4]
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _08048EB0
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, _08048F20 @ =gSprites + 0x1C
- adds r1, r2
- ldr r0, _08048F24 @ =SpriteCB_StatusSummaryBallsOnSwitchout
- str r0, [r1]
-_08048EB0:
- ldr r5, _08048F14 @ =gSprites
- cmp r7, 0
- bne _08048ECE
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- strh r7, [r0, 0x24]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- strh r7, [r0, 0x26]
-_08048ECE:
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- mov r3, sp
- ldrh r3, [r3, 0x18]
- strh r3, [r0, 0x2E]
- cmp r7, 0
- bne _08048F28
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1, 0x20]
- adds r0, 0x18
- add r0, r8
- strh r0, [r1, 0x20]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r9
- strh r1, [r0, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x78
- b _08048F66
- .align 2, 0
-_08048F14: .4byte gSprites
-_08048F18: .4byte gUnknown_82604EC
-_08048F1C: .4byte 0xfffc0000
-_08048F20: .4byte gSprites + 0x1C
-_08048F24: .4byte SpriteCB_StatusSummaryBallsOnSwitchout
-_08048F28:
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x20]
- subs r3, 0x18
- movs r1, 0x5
- subs r1, r6
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- subs r3, r0
- strh r3, [r2, 0x20]
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- movs r1, 0x6
- subs r1, r6
- lsls r0, r1, 3
- subs r0, r1
- adds r0, 0xA
- strh r0, [r2, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08048FD4 @ =0x0000ff88
-_08048F66:
- strh r1, [r0, 0x24]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r7, [r0, 0x32]
- adds r4, 0x1
- movs r2, 0x7
- add r9, r2
- movs r3, 0xA
- add r8, r3
- adds r6, 0x1
- cmp r6, 0x5
- bgt _08048F86
- b _08048E80
-_08048F86:
- ldr r0, [sp, 0x8]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0804906E
- movs r6, 0
- ldr r5, _08048FD8 @ =gBattleTypeFlags
- mov r10, r5
- ldr r0, _08048FDC @ =0x0000ffff
- mov r9, r0
- ldr r7, _08048FE0 @ =gSprites
- ldr r1, _08048FE4 @ =0x000003ff
- mov r12, r1
- ldr r2, _08048FE8 @ =0xfffffc00
- mov r8, r2
- mov r4, sp
- ldr r5, [sp, 0xC]
-_08048FAA:
- mov r3, r10
- ldr r0, [r3]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08048FEC
- ldrh r0, [r5]
- cmp r0, r9
- beq _08048FF6
- cmp r0, 0
- bne _0804903E
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _08049056
- .align 2, 0
-_08048FD4: .4byte 0x0000ff88
-_08048FD8: .4byte gBattleTypeFlags
-_08048FDC: .4byte 0x0000ffff
-_08048FE0: .4byte gSprites
-_08048FE4: .4byte 0x000003ff
-_08048FE8: .4byte 0xfffffc00
-_08048FEC:
- ldr r1, [sp, 0x14]
- lsls r0, r1, 24
- asrs r0, 24
- cmp r6, r0
- blt _08049024
-_08048FF6:
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x1
- mov r0, r12
- ands r1, r0
- mov r0, r8
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- b _08049062
-_08049024:
- ldrh r0, [r5]
- cmp r0, 0
- bne _0804903E
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _08049056
-_0804903E:
- ldr r0, [r5, 0x4]
- cmp r0, 0
- beq _08049062
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x2
-_08049056:
- mov r0, r12
- ands r1, r0
- mov r0, r8
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
-_08049062:
- adds r4, 0x1
- adds r5, 0x8
- adds r6, 0x1
- cmp r6, 0x5
- ble _08048FAA
- b _08049148
-_0804906E:
- movs r6, 0
- ldr r1, _080490B4 @ =gBattleTypeFlags
- mov r10, r1
- ldr r2, _080490B8 @ =0x0000ffff
- mov r9, r2
- ldr r7, _080490BC @ =gSprites
- ldr r3, _080490C0 @ =0x000003ff
- mov r12, r3
- ldr r5, _080490C4 @ =0xfffffc00
- mov r8, r5
- ldr r5, [sp, 0xC]
- mov r4, sp
- adds r4, 0x5
-_08049088:
- mov r1, r10
- ldr r0, [r1]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080490C8
- ldrh r0, [r5]
- cmp r0, r9
- beq _080490D2
- cmp r0, 0
- bne _0804911A
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _08049132
- .align 2, 0
-_080490B4: .4byte gBattleTypeFlags
-_080490B8: .4byte 0x0000ffff
-_080490BC: .4byte gSprites
-_080490C0: .4byte 0x000003ff
-_080490C4: .4byte 0xfffffc00
-_080490C8:
- ldr r1, [sp, 0x14]
- lsls r0, r1, 24
- asrs r0, 24
- cmp r6, r0
- blt _08049100
-_080490D2:
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x1
- mov r0, r12
- ands r1, r0
- mov r0, r8
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- b _0804913E
-_08049100:
- ldrh r0, [r5]
- cmp r0, 0
- bne _0804911A
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x3
- b _08049132
-_0804911A:
- ldr r0, [r5, 0x4]
- cmp r0, 0
- beq _0804913E
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x2
-_08049132:
- mov r0, r12
- ands r1, r0
- mov r0, r8
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
-_0804913E:
- subs r4, 0x1
- adds r5, 0x8
- adds r6, 0x1
- cmp r6, 0x5
- ble _08049088
-_08049148:
- ldr r0, _080491A8 @ =TaskDummy
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _080491AC @ =gTasks
- lsls r3, r4, 2
- adds r1, r3, r4
- lsls r1, 3
- adds r0, r1, r2
- mov r5, sp
- ldrh r5, [r5, 0x8]
- strh r5, [r0, 0x8]
- mov r6, sp
- ldrh r6, [r6, 0x18]
- strh r6, [r0, 0xA]
- movs r6, 0
- adds r0, r2, 0
- adds r0, 0xE
- adds r1, r0
-_08049172:
- mov r5, sp
- adds r0, r5, r6
- ldrb r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _08049172
- adds r0, r3, r4
- lsls r0, 3
- adds r0, r2
- ldrh r6, [r5, 0x10]
- strh r6, [r0, 0x1C]
- movs r0, 0x6B
- movs r1, 0
- bl PlaySE12WithPanning
- adds r0, r4, 0
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080491A8: .4byte TaskDummy
-_080491AC: .4byte gTasks
- thumb_func_end CreatePartyStatusSummarySprites
-
- thumb_func_start Task_HidePartyStatusSummary
-Task_HidePartyStatusSummary: @ 80491B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r2, _080492C0 @ =gTasks
- lsls r3, r0, 2
- adds r1, r3, r0
- lsls r1, 3
- adds r0, r1, r2
- ldrb r7, [r0, 0x1C]
- ldrb r4, [r0, 0xA]
- mov r10, r4
- ldrb r0, [r0, 0x8]
- str r0, [sp, 0x8]
- movs r5, 0
- str r3, [sp, 0xC]
- adds r2, 0xE
- adds r2, r1, r2
-_080491DE:
- mov r0, sp
- adds r1, r0, r5
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x5
- ble _080491DE
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldr r1, _080492C0 @ =gTasks
- ldr r0, [sp, 0xC]
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x10
- strh r1, [r0, 0x26]
- movs r5, 0
- mov r1, r10
- lsls r1, 4
- str r1, [sp, 0x10]
- ldr r3, _080492C4 @ =gSprites
- movs r6, 0xD
- negs r6, r6
- mov r12, r3
- movs r4, 0x4
-_08049220:
- mov r2, sp
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0x1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x1]
- adds r5, 0x1
- cmp r5, 0x5
- ble _08049220
- ldr r2, [sp, 0x10]
- add r2, r10
- lsls r2, 2
- add r2, r12
- ldrb r1, [r2, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x1]
- cmp r7, 0
- bne _0804925A
- b _08049360
-_0804925A:
- movs r5, 0
- mov r6, r12
- mov r9, r5
- adds r3, r6, 0
- adds r3, 0x1C
- mov r4, sp
- movs r7, 0
-_08049268:
- ldr r0, [sp, 0x8]
- str r3, [sp, 0x14]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, [sp, 0x14]
- cmp r2, 0
- beq _080492CC
- movs r0, 0x5
- subs r0, r5
- mov r1, sp
- adds r2, r1, r0
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r7, [r0, 0x30]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r9
- strh r1, [r0, 0x34]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r9
- strh r1, [r0, 0x36]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _080492C8 @ =sub_8049630
- str r1, [r0]
- ldr r2, _080492C4 @ =gSprites
- mov r12, r2
- b _08049302
- .align 2, 0
-_080492C0: .4byte gTasks
-_080492C4: .4byte gSprites
-_080492C8: .4byte sub_8049630
-_080492CC:
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r7, [r0, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x34]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x36]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _08049348 @ =sub_8049630
- str r1, [r0]
- ldr r0, _0804934C @ =gSprites
- mov r12, r0
-_08049302:
- adds r4, 0x1
- adds r7, 0x7
- adds r5, 0x1
- cmp r5, 0x5
- ble _08049268
- ldr r3, [sp, 0x10]
- add r3, r10
- lsls r3, 2
- mov r1, r12
- adds r0, r3, r1
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- lsrs r2, r1, 31
- adds r1, r2
- asrs r1, 1
- movs r2, 0
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- mov r1, r12
- adds r1, 0x1C
- adds r3, r1
- ldr r1, _08049350 @ =sub_8049568
- str r1, [r3]
- ldr r1, _08049354 @ =gUnknown_8260404
- bl SetSubspriteTables
- ldr r1, _08049358 @ =gTasks
- ldr r0, [sp, 0xC]
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _0804935C @ =sub_8049388
- str r1, [r0]
- b _0804936E
- .align 2, 0
-_08049348: .4byte sub_8049630
-_0804934C: .4byte gSprites
-_08049350: .4byte sub_8049568
-_08049354: .4byte gUnknown_8260404
-_08049358: .4byte gTasks
-_0804935C: .4byte sub_8049388
-_08049360:
- ldr r0, _08049380 @ =gTasks
- ldr r1, [sp, 0xC]
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldr r0, _08049384 @ =sub_804948C
- str r0, [r1]
-_0804936E:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049380: .4byte gTasks
-_08049384: .4byte sub_804948C
- thumb_func_end Task_HidePartyStatusSummary
-
- thumb_func_start sub_8049388
-sub_8049388: @ 8049388
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080493DC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080493C8
- ldrh r0, [r4, 0x26]
- subs r1, r0, 0x1
- strh r1, [r4, 0x26]
- lsls r0, r1, 16
- cmp r0, 0
- blt _080493D4
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_080493C8:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080493D4
- ldr r0, _080493E0 @ =sub_80493E4
- str r0, [r4]
-_080493D4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080493DC: .4byte gTasks
-_080493E0: .4byte sub_80493E4
- thumb_func_end sub_8049388
-
- thumb_func_start sub_80493E4
-sub_80493E4: @ 80493E4
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r7, _0804945C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r6, r0, 3
- adds r1, r6, r7
- ldrh r0, [r1, 0x26]
- subs r0, 0x1
- strh r0, [r1, 0x26]
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _08049464
- ldrb r3, [r1, 0xA]
- movs r5, 0
- adds r0, r7, 0
- adds r0, 0xE
- adds r2, r6, r0
-_08049412:
- mov r0, sp
- adds r1, r0, r5
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x5
- ble _08049412
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r4, _08049460 @ =gSprites
- adds r0, r4
- bl DestroySpriteAndFreeResources
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySpriteAndFreeResources
- movs r5, 0x1
-_08049442:
- mov r1, sp
- adds r0, r1, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- adds r5, 0x1
- cmp r5, 0x5
- ble _08049442
- b _08049482
- .align 2, 0
-_0804945C: .4byte gTasks
-_08049460: .4byte gSprites
-_08049464:
- movs r0, 0x3
- negs r0, r0
- cmp r2, r0
- bne _08049482
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyTask
-_08049482:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80493E4
-
- thumb_func_start sub_804948C
-sub_804948C: @ 804948C
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r7, _080494C4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r6, r0, 3
- adds r3, r6, r7
- ldrh r0, [r3, 0x26]
- subs r1, r0, 0x1
- strh r1, [r3, 0x26]
- lsls r0, r1, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _080494C8
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _08049546
- .align 2, 0
-_080494C4: .4byte gTasks
-_080494C8:
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _08049528
- ldrb r3, [r3, 0xA]
- movs r5, 0
- adds r0, r7, 0
- adds r0, 0xE
- adds r2, r6, r0
-_080494DA:
- mov r0, sp
- adds r1, r0, r5
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x5
- ble _080494DA
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r4, _08049524 @ =gSprites
- adds r0, r4
- bl DestroySpriteAndFreeResources
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySpriteAndFreeResources
- movs r5, 0x1
-_0804950A:
- mov r1, sp
- adds r0, r1, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- adds r5, 0x1
- cmp r5, 0x5
- ble _0804950A
- b _08049546
- .align 2, 0
-_08049524: .4byte gSprites
-_08049528:
- movs r0, 0x3
- negs r0, r0
- cmp r2, r0
- bne _08049546
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyTask
-_08049546:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804948C
-
- thumb_func_start SpriteCB_StatusSummaryBar
-SpriteCB_StatusSummaryBar: @ 8049550
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x24]
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08049564
- ldrh r0, [r1, 0x2E]
- adds r0, r2, r0
- strh r0, [r1, 0x24]
-_08049564:
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_StatusSummaryBar
-
- thumb_func_start sub_8049568
-sub_8049568: @ 8049568
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0
- adds r1, 0x20
- strh r1, [r2, 0x30]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _08049586
- lsls r0, r1, 16
- asrs r0, 20
- ldrh r1, [r2, 0x24]
- adds r0, r1
- b _0804958E
-_08049586:
- lsls r1, 16
- asrs r1, 20
- ldrh r0, [r2, 0x24]
- subs r0, r1
-_0804958E:
- strh r0, [r2, 0x24]
- ldrh r1, [r2, 0x30]
- movs r0, 0xF
- ands r0, r1
- strh r0, [r2, 0x30]
- pop {r0}
- bx r0
- thumb_func_end sub_8049568
-
- thumb_func_start SpriteCB_StatusSummaryBallsOnBattleStart
-SpriteCB_StatusSummaryBallsOnBattleStart: @ 804959C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080495B0
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _08049626
-_080495B0:
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r3, r0, 24
- ldrh r2, [r4, 0x34]
- adds r0, r2, 0
- adds r0, 0x38
- lsls r1, r0, 16
- lsrs r2, r1, 16
- ldr r0, _080495E0 @ =0x0000fff0
- ands r2, r0
- strh r2, [r4, 0x34]
- cmp r3, 0
- beq _080495E4
- lsrs r0, r1, 20
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _080495F4
- movs r0, 0
- strh r0, [r4, 0x24]
- b _080495F4
- .align 2, 0
-_080495E0: .4byte 0x0000fff0
-_080495E4:
- lsrs r1, 20
- ldrh r0, [r4, 0x24]
- subs r0, r1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bge _080495F4
- strh r3, [r4, 0x24]
-_080495F4:
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08049626
- movs r1, 0x3F
- cmp r3, 0
- beq _08049604
- movs r1, 0xC0
-_08049604:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08049618
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x6D
- bl PlaySE2WithPanning
- b _08049622
-_08049618:
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x6C
- bl PlaySE1WithPanning
-_08049622:
- ldr r0, _0804962C @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_08049626:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804962C: .4byte SpriteCallbackDummy
- thumb_func_end SpriteCB_StatusSummaryBallsOnBattleStart
-
- thumb_func_start sub_8049630
-sub_8049630: @ 8049630
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _08049644
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- b _08049694
-_08049644:
- ldrh r0, [r3, 0x32]
- lsls r0, 24
- ldrh r2, [r3, 0x34]
- adds r1, r2, 0
- adds r1, 0x38
- lsls r4, r1, 16
- lsrs r2, r4, 16
- ldr r1, _08049664 @ =0x0000fff0
- ands r2, r1
- strh r2, [r3, 0x34]
- cmp r0, 0
- beq _08049668
- lsrs r0, r4, 20
- ldrh r1, [r3, 0x24]
- adds r0, r1
- b _0804966E
- .align 2, 0
-_08049664: .4byte 0x0000fff0
-_08049668:
- lsrs r1, r4, 20
- ldrh r0, [r3, 0x24]
- subs r0, r1
-_0804966E:
- strh r0, [r3, 0x24]
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- movs r2, 0x20
- ldrsh r1, [r3, r2]
- adds r0, r1
- adds r0, 0x8
- movs r1, 0x80
- lsls r1, 1
- cmp r0, r1
- bls _08049694
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0804969C @ =SpriteCallbackDummy
- str r0, [r3, 0x1C]
-_08049694:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804969C: .4byte SpriteCallbackDummy
- thumb_func_end sub_8049630
-
- thumb_func_start SpriteCB_StatusSummaryBallsOnSwitchout
-SpriteCB_StatusSummaryBallsOnSwitchout: @ 80496A0
- ldrh r2, [r0, 0x2E]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080496BC @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x24]
- strh r2, [r0, 0x24]
- ldrh r1, [r1, 0x26]
- strh r1, [r0, 0x26]
- bx lr
- .align 2, 0
-_080496BC: .4byte gSprites
- thumb_func_end SpriteCB_StatusSummaryBallsOnSwitchout
-
- thumb_func_start sub_80496C0
-sub_80496C0: @ 80496C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _08049760 @ =gDisplayedStringBattle
- ldr r1, _08049764 @ =gUnknown_8260556
- bl StringCopy
- adds r5, r0, 0
- adds r0, r7, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- adds r0, r5, 0
- mov r1, sp
- bl StringCopy
- adds r5, r0, 0
- movs r0, 0xFC
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0x1
- strb r0, [r5]
- adds r5, 0x1
- adds r0, r7, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x1D
- beq _08049720
- cmp r0, 0x20
- bne _08049734
-_08049720:
- movs r0, 0xB
- muls r1, r0
- ldr r0, _08049768 @ =gSpeciesNames
- adds r1, r0
- mov r0, sp
- bl StringCompare
- cmp r0, 0
- bne _08049734
- movs r6, 0x64
-_08049734:
- ldr r1, _0804976C @ =gSprites
- mov r0, r8
- lsls r4, r0, 4
- adds r0, r4, r0
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r7, 0
- bl CheckBattleTypeGhost
- lsls r0, 24
- cmp r0, 0
- beq _08049754
- movs r6, 0x64
-_08049754:
- cmp r6, 0
- beq _08049770
- cmp r6, 0xFE
- beq _0804977A
- movs r0, 0xB
- b _08049782
- .align 2, 0
-_08049760: .4byte gDisplayedStringBattle
-_08049764: .4byte gUnknown_8260556
-_08049768: .4byte gSpeciesNames
-_0804976C: .4byte gSprites
-_08049770:
- movs r0, 0xB
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0xB5
- b _08049782
-_0804977A:
- movs r0, 0xA
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0xB6
-_08049782:
- strb r0, [r5]
- movs r0, 0xFF
- strb r0, [r5, 0x1]
- ldr r0, _080497E4 @ =gDisplayedStringBattle
- add r3, sp, 0xC
- movs r1, 0
- movs r2, 0x3
- bl AddTextPrinterAndCreateWindowOnHealthbox
- adds r6, r0, 0
- ldr r0, _080497E8 @ =gSprites
- mov r2, r8
- adds r1, r4, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r4, r0, 17
- ldrh r0, [r1, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080497F8
- ldr r1, _080497EC @ =0x06010040
- adds r0, r4, r1
- adds r1, r6, 0
- movs r2, 0x6
- bl sub_804A6E8
- bl IsDoubleBattle
- lsls r0, 24
- ldr r2, _080497F0 @ =0x06010400
- adds r5, r4, r2
- cmp r0, 0
- bne _080497D4
- ldr r0, _080497F4 @ =0x06010800
- adds r5, r4, r0
-_080497D4:
- adds r1, r6, 0
- adds r1, 0xC0
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_804A6E8
- b _08049804
- .align 2, 0
-_080497E4: .4byte gDisplayedStringBattle
-_080497E8: .4byte gSprites
-_080497EC: .4byte 0x06010040
-_080497F0: .4byte 0x06010400
-_080497F4: .4byte 0x06010800
-_080497F8:
- ldr r1, _08049818 @ =0x06010020
- adds r0, r4, r1
- adds r1, r6, 0
- movs r2, 0x7
- bl sub_804A6E8
-_08049804:
- ldr r0, [sp, 0xC]
- bl sub_804A6D8
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049818: .4byte 0x06010020
- thumb_func_end sub_80496C0
-
- thumb_func_start sub_804981C
-sub_804981C: @ 804981C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r0, _080498DC @ =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, _080498E0 @ =0x00010210
- ands r0, r1
- cmp r0, 0
- bne _0804991C
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- bne _0804991C
- ldr r0, _080498E4 @ =gSprites
- mov r9, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- add r0, r9
- mov r8, r0
- ldrh r0, [r0, 0x3A]
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0804991C
- ldr r1, _080498E8 @ =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r5, r0, r1
- ldrh r0, [r5]
- movs r7, 0x64
- muls r0, r7
- ldr r6, _080498EC @ =gEnemyParty
- adds r0, r6
- adds r1, r4, 0
- bl CheckBattleTypeGhost
- lsls r0, 24
- cmp r0, 0
- bne _0804991C
- ldrh r0, [r5]
- muls r0, r7
- adds r0, r6
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _0804991C
- mov r1, r8
- ldrh r0, [r1, 0x38]
- lsls r0, 24
- lsrs r4, r0, 24
- mov r2, r10
- cmp r2, 0
- beq _080498F8
- movs r0, 0x46
- bl GetHealthboxElementGfxPtr
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- add r1, r9
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2
- ldr r2, _080498F0 @ =0x06010000
- adds r1, r2
- ldr r2, _080498F4 @ =0x04000008
- bl CpuSet
- b _0804991C
- .align 2, 0
-_080498DC: .4byte gBattleTypeFlags
-_080498E0: .4byte 0x00010210
-_080498E4: .4byte gSprites
-_080498E8: .4byte gBattlerPartyIndexes
-_080498EC: .4byte gEnemyParty
-_080498F0: .4byte 0x06010000
-_080498F4: .4byte 0x04000008
-_080498F8:
- mov r0, r10
- str r0, [sp]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- add r0, r9
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2
- ldr r0, _0804992C @ =0x06010000
- adds r1, r0
- ldr r2, _08049930 @ =0x05000008
- mov r0, sp
- bl CpuSet
-_0804991C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804992C: .4byte 0x06010000
-_08049930: .4byte 0x05000008
- thumb_func_end sub_804981C
-
- thumb_func_start UpdateStatusIconInHealthbox
-UpdateStatusIconInHealthbox: @ 8049934
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _08049998 @ =gSprites
- mov r2, r9
- lsls r1, r2, 4
- add r1, r9
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x3A]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r1, 0x38]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r7, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080499A4
- ldr r1, _0804999C @ =gBattlerPartyIndexes
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080499A0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x37
- bl GetMonData
- adds r4, r0, 0
- bl IsDoubleBattle
- lsls r0, 24
- movs r3, 0x12
- mov r8, r3
- cmp r0, 0
- bne _080499C0
- movs r0, 0x1A
- mov r8, r0
- b _080499C0
- .align 2, 0
-_08049998: .4byte gSprites
-_0804999C: .4byte gBattlerPartyIndexes
-_080499A0: .4byte gPlayerParty
-_080499A4:
- ldr r1, _080499E0 @ =gBattlerPartyIndexes
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080499E4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x37
- bl GetMonData
- adds r4, r0, 0
- movs r1, 0x11
- mov r8, r1
-_080499C0:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _080499E8
- movs r0, 0x1B
- adds r1, r7, 0
- bl GetStatusIconForBankId
- lsls r0, 24
- lsrs r0, 24
- bl GetHealthboxElementGfxPtr
- adds r6, r0, 0
- movs r0, 0x2
- b _08049AF4
- .align 2, 0
-_080499E0: .4byte gBattlerPartyIndexes
-_080499E4: .4byte gEnemyParty
-_080499E8:
- movs r0, 0x88
- ands r0, r4
- cmp r0, 0
- beq _08049A06
- movs r0, 0x15
- adds r1, r7, 0
- bl GetStatusIconForBankId
- lsls r0, 24
- lsrs r0, 24
- bl GetHealthboxElementGfxPtr
- adds r6, r0, 0
- movs r0, 0
- b _08049AF4
-_08049A06:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _08049A24
- movs r0, 0x21
- adds r1, r7, 0
- bl GetStatusIconForBankId
- lsls r0, 24
- lsrs r0, 24
- bl GetHealthboxElementGfxPtr
- adds r6, r0, 0
- movs r0, 0x4
- b _08049AF4
-_08049A24:
- movs r0, 0x20
- ands r0, r4
- cmp r0, 0
- beq _08049A42
- movs r0, 0x1E
- adds r1, r7, 0
- bl GetStatusIconForBankId
- lsls r0, 24
- lsrs r0, 24
- bl GetHealthboxElementGfxPtr
- adds r6, r0, 0
- movs r0, 0x3
- b _08049AF4
-_08049A42:
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- beq _08049A60
- movs r0, 0x18
- adds r1, r7, 0
- bl GetStatusIconForBankId
- lsls r0, 24
- lsrs r0, 24
- bl GetHealthboxElementGfxPtr
- adds r6, r0, 0
- movs r0, 0x1
- b _08049AF4
-_08049A60:
- movs r0, 0x27
- bl GetHealthboxElementGfxPtr
- adds r6, r0, 0
- movs r4, 0
- mov r2, r9
- lsls r0, r2, 4
- mov r3, r8
- lsls r3, 16
- mov r8, r3
- lsls r7, 2
- ldr r1, _08049AE0 @ =gSprites
- add r0, r9
- lsls r0, 2
- adds r5, r0, r1
-_08049A7E:
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- mov r2, r8
- asrs r0, r2, 16
- adds r1, r0
- adds r1, r4
- lsls r1, 5
- ldr r3, _08049AE4 @ =0x06010000
- adds r1, r3
- adds r0, r6, 0
- ldr r2, _08049AE8 @ =0x04000008
- bl CpuSet
- adds r4, 0x1
- cmp r4, 0x2
- ble _08049A7E
- ldr r0, _08049AEC @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, r7, r0
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08049AD4
- movs r0, 0x1
- bl GetHealthboxElementGfxPtr
- ldr r2, _08049AE0 @ =gSprites
- mov r3, r10
- lsls r1, r3, 4
- add r1, r10
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, _08049AE4 @ =0x06010000
- adds r1, r2
- ldr r2, _08049AF0 @ =0x04000010
- bl CpuSet
-_08049AD4:
- mov r0, r9
- movs r1, 0x1
- bl sub_804981C
- b _08049BB6
- .align 2, 0
-_08049AE0: .4byte gSprites
-_08049AE4: .4byte 0x06010000
-_08049AE8: .4byte 0x04000008
-_08049AEC: .4byte gBattleSpritesDataPtr
-_08049AF0: .4byte 0x04000010
-_08049AF4:
- mov r1, r9
- lsls r5, r1, 4
- add r5, r9
- lsls r5, 2
- ldr r2, _08049BC4 @ =gSprites
- adds r5, r2
- ldrb r4, [r5, 0x5]
- lsrs r4, 4
- lsls r4, 4
- adds r4, 0xC
- adds r4, r7
- ldr r1, _08049BC8 @ =gUnknown_826055A
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- movs r3, 0x80
- lsls r3, 1
- adds r1, r4, r3
- movs r2, 0x2
- bl FillPalette
- lsls r4, 1
- ldr r0, _08049BCC @ =gPlttBufferUnfaded + 0x200
- adds r0, r4, r0
- ldr r1, _08049BD0 @ =0x05000200
- adds r4, r1
- adds r1, r4, 0
- movs r2, 0x1
- bl CpuSet
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- add r1, r8
- lsls r1, 5
- ldr r2, _08049BD4 @ =0x06010000
- mov r8, r2
- add r1, r8
- ldr r2, _08049BD8 @ =0x04000018
- adds r0, r6, 0
- bl CpuSet
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08049B62
- adds r0, r7, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08049BAE
-_08049B62:
- ldr r0, _08049BDC @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r7, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08049BAE
- movs r0, 0
- bl GetHealthboxElementGfxPtr
- mov r3, r10
- lsls r4, r3, 4
- add r4, r10
- lsls r4, 2
- ldr r1, _08049BC4 @ =gSprites
- adds r4, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- add r1, r8
- ldr r5, _08049BE0 @ =0x04000008
- adds r2, r5, 0
- bl CpuSet
- movs r0, 0x41
- bl GetHealthboxElementGfxPtr
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- adds r1, 0x20
- add r1, r8
- adds r2, r5, 0
- bl CpuSet
-_08049BAE:
- mov r0, r9
- movs r1, 0
- bl sub_804981C
-_08049BB6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049BC4: .4byte gSprites
-_08049BC8: .4byte gUnknown_826055A
-_08049BCC: .4byte gPlttBufferUnfaded + 0x200
-_08049BD0: .4byte 0x05000200
-_08049BD4: .4byte 0x06010000
-_08049BD8: .4byte 0x04000018
-_08049BDC: .4byte gBattleSpritesDataPtr
-_08049BE0: .4byte 0x04000008
- thumb_func_end UpdateStatusIconInHealthbox
-
- thumb_func_start GetStatusIconForBankId
-GetStatusIconForBankId: @ 8049BE4
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsrs r2, r0, 24
- adds r0, r2, 0
- subs r0, 0x15
- cmp r0, 0xC
- bhi _08049CA4
- lsls r0, 2
- ldr r1, _08049C00 @ =_08049C04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08049C00: .4byte _08049C04
- .align 2, 0
-_08049C04:
- .4byte _08049C38
- .4byte _08049CA4
- .4byte _08049CA4
- .4byte _08049C4E
- .4byte _08049CA4
- .4byte _08049CA4
- .4byte _08049C64
- .4byte _08049CA4
- .4byte _08049CA4
- .4byte _08049C7A
- .4byte _08049CA4
- .4byte _08049CA4
- .4byte _08049C90
-_08049C38:
- movs r2, 0x15
- cmp r3, 0
- beq _08049CA4
- movs r2, 0x47
- cmp r3, 0x1
- beq _08049CA4
- movs r2, 0x65
- cmp r3, 0x2
- bne _08049CA4
- movs r2, 0x56
- b _08049CA4
-_08049C4E:
- movs r2, 0x18
- cmp r3, 0
- beq _08049CA4
- movs r2, 0x4A
- cmp r3, 0x1
- beq _08049CA4
- movs r2, 0x68
- cmp r3, 0x2
- bne _08049CA4
- movs r2, 0x59
- b _08049CA4
-_08049C64:
- movs r2, 0x1B
- cmp r3, 0
- beq _08049CA4
- movs r2, 0x4D
- cmp r3, 0x1
- beq _08049CA4
- movs r2, 0x6B
- cmp r3, 0x2
- bne _08049CA4
- movs r2, 0x5C
- b _08049CA4
-_08049C7A:
- movs r2, 0x1E
- cmp r3, 0
- beq _08049CA4
- movs r2, 0x50
- cmp r3, 0x1
- beq _08049CA4
- movs r2, 0x6E
- cmp r3, 0x2
- bne _08049CA4
- movs r2, 0x5F
- b _08049CA4
-_08049C90:
- movs r2, 0x21
- cmp r3, 0
- beq _08049CA4
- movs r2, 0x53
- cmp r3, 0x1
- beq _08049CA4
- movs r2, 0x71
- cmp r3, 0x2
- bne _08049CA4
- movs r2, 0x62
-_08049CA4:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end GetStatusIconForBankId
-
- thumb_func_start UpdateSafariBallsTextOnHealthbox
-UpdateSafariBallsTextOnHealthbox: @ 8049CAC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08049D00 @ =gUnknown_83FE80C
- movs r1, 0
- movs r2, 0x3
- mov r3, sp
- bl AddTextPrinterAndCreateWindowOnHealthbox
- adds r5, r0, 0
- ldr r1, _08049D04 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r4, [r0, 0x4]
- lsls r4, 22
- lsrs r4, 17
- ldr r1, _08049D08 @ =0x06010040
- adds r0, r4, r1
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_804A6E8
- ldr r0, _08049D0C @ =0x06010800
- adds r4, r0
- adds r5, 0xC0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_804A6E8
- ldr r0, [sp]
- bl sub_804A6D8
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08049D00: .4byte gUnknown_83FE80C
-_08049D04: .4byte gSprites
-_08049D08: .4byte 0x06010040
-_08049D0C: .4byte 0x06010800
- thumb_func_end UpdateSafariBallsTextOnHealthbox
-
- thumb_func_start UpdateLeftNoOfBallsTextOnHealthbox
-UpdateLeftNoOfBallsTextOnHealthbox: @ 8049D10
- push {r4,r5,lr}
- sub sp, 0x14
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _08049D84 @ =gText_HighlightRed_Left
- mov r0, sp
- bl StringCopy
- ldr r1, _08049D88 @ =gNumSafariBalls
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0
- mov r1, sp
- movs r2, 0
- bl GetStringWidth
- movs r1, 0x2F
- subs r1, r0
- add r3, sp, 0x10
- mov r0, sp
- movs r2, 0x3
- bl AddTextPrinterAndCreateWindowOnHealthbox
- adds r5, r0, 0
- ldr r1, _08049D8C @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r4, [r0, 0x4]
- lsls r4, 22
- lsrs r4, 17
- ldr r1, _08049D90 @ =0x060102c0
- adds r0, r4, r1
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_804A734
- ldr r0, _08049D94 @ =0x06010a00
- adds r4, r0
- adds r5, 0x40
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_804A734
- ldr r0, [sp, 0x10]
- bl sub_804A6D8
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08049D84: .4byte gText_HighlightRed_Left
-_08049D88: .4byte gNumSafariBalls
-_08049D8C: .4byte gSprites
-_08049D90: .4byte 0x060102c0
-_08049D94: .4byte 0x06010a00
- thumb_func_end UpdateLeftNoOfBallsTextOnHealthbox
-
- thumb_func_start UpdateHealthboxAttribute
-UpdateHealthboxAttribute: @ 8049D98
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r1
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r1, _08049F44 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r7, 0
- bne _08049DD4
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08049DD4
- mov r0, r9
- bl GetBattlerSide
-_08049DD4:
- ldr r1, _08049F44 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08049DF0
- b _08049F50
-_08049DF0:
- cmp r7, 0x3
- beq _08049DF8
- cmp r7, 0
- bne _08049E0C
-_08049DF8:
- mov r0, r8
- movs r1, 0x38
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl UpdateLvlInHealthbox
-_08049E0C:
- cmp r7, 0x1
- bhi _08049E26
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r6, 0
- movs r2, 0
- bl UpdateHpTextInHealthbox
-_08049E26:
- cmp r7, 0x2
- beq _08049E2E
- cmp r7, 0
- bne _08049E44
-_08049E2E:
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r6, 0
- movs r2, 0x1
- bl UpdateHpTextInHealthbox
-_08049E44:
- cmp r7, 0x5
- beq _08049E4C
- cmp r7, 0
- bne _08049E80
-_08049E4C:
- movs r0, 0
- bl LoadBattleBarGfx
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- movs r0, 0
- str r0, [sp]
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- bl SetBattleBarStruct
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl MoveBattleBar
-_08049E80:
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- bne _08049F06
- cmp r7, 0x6
- beq _08049E96
- cmp r7, 0
- bne _08049F06
-_08049E96:
- movs r0, 0x3
- bl LoadBattleBarGfx
- mov r0, r8
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- movs r1, 0x19
- bl GetMonData
- adds r3, r0, 0
- ldr r0, _08049F48 @ =gExperienceTables
- mov r12, r0
- lsls r1, r4, 2
- ldr r2, _08049F4C @ =gBaseStats
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r2
- adds r1, r0
- add r1, r12
- ldr r1, [r1]
- subs r3, r1
- adds r4, 0x1
- lsls r4, 2
- adds r4, r0
- add r4, r12
- ldr r2, [r4]
- subs r2, r1
- mov r0, r10
- str r0, [sp]
- mov r0, r9
- adds r1, r6, 0
- bl SetBattleBarStruct
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl MoveBattleBar
-_08049F06:
- cmp r7, 0x4
- beq _08049F0E
- cmp r7, 0
- bne _08049F16
-_08049F0E:
- adds r0, r6, 0
- mov r1, r8
- bl sub_80496C0
-_08049F16:
- cmp r7, 0x9
- beq _08049F1E
- cmp r7, 0
- bne _08049F24
-_08049F1E:
- adds r0, r6, 0
- bl UpdateStatusIconInHealthbox
-_08049F24:
- cmp r7, 0xA
- bne _08049F2E
- adds r0, r6, 0
- bl UpdateSafariBallsTextOnHealthbox
-_08049F2E:
- adds r0, r7, 0
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08049FC6
- adds r0, r6, 0
- bl UpdateLeftNoOfBallsTextOnHealthbox
- b _08049FC6
- .align 2, 0
-_08049F44: .4byte gSprites
-_08049F48: .4byte gExperienceTables
-_08049F4C: .4byte gBaseStats
-_08049F50:
- cmp r7, 0x3
- beq _08049F58
- cmp r7, 0
- bne _08049F6C
-_08049F58:
- mov r0, r8
- movs r1, 0x38
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl UpdateLvlInHealthbox
-_08049F6C:
- cmp r7, 0x5
- beq _08049F74
- cmp r7, 0
- bne _08049FA8
-_08049F74:
- movs r0, 0
- bl LoadBattleBarGfx
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- movs r0, 0
- str r0, [sp]
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- bl SetBattleBarStruct
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl MoveBattleBar
-_08049FA8:
- cmp r7, 0x4
- beq _08049FB0
- cmp r7, 0
- bne _08049FB8
-_08049FB0:
- adds r0, r6, 0
- mov r1, r8
- bl sub_80496C0
-_08049FB8:
- cmp r7, 0x9
- beq _08049FC0
- cmp r7, 0
- bne _08049FC6
-_08049FC0:
- adds r0, r6, 0
- bl UpdateStatusIconInHealthbox
-_08049FC6:
- 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 UpdateHealthboxAttribute
-
- thumb_func_start MoveBattleBar
-MoveBattleBar: @ 8049FD8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- cmp r2, 0
- bne _0804A024
- ldr r0, _0804A020 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- mov r1, r8
- lsls r5, r1, 2
- adds r3, r5, r1
- lsls r3, 2
- adds r3, r0
- ldr r0, [r3, 0x4]
- ldr r1, [r3, 0x8]
- ldr r2, [r3, 0xC]
- adds r3, 0x10
- movs r4, 0x6
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- bl sub_804A2F0
- adds r4, r0, 0
- adds r7, r5, 0
- b _0804A080
- .align 2, 0
-_0804A020: .4byte gBattleSpritesDataPtr
-_0804A024:
- ldr r2, _0804A0D0 @ =gBattleSpritesDataPtr
- mov r10, r2
- ldr r0, [r2]
- ldr r2, [r0, 0xC]
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r6, r0, 2
- adds r2, r6, r2
- ldr r0, [r2, 0x8]
- ldr r1, [r2, 0xC]
- ldr r2, [r2, 0x4]
- movs r3, 0x8
- bl GetScaledExpFraction
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r4, 0
- cmp r5, 0
- bne _0804A04E
- movs r5, 0x1
-_0804A04E:
- mov r1, r10
- ldr r0, [r1]
- ldr r0, [r0, 0xC]
- adds r4, r6, r0
- ldr r6, [r4, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- bl __divsi3
- cmp r0, 0
- bge _0804A066
- negs r0, r0
-_0804A066:
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r4, 0x4]
- ldr r1, [r4, 0x8]
- adds r3, r4, 0
- adds r3, 0x10
- movs r2, 0x8
- str r2, [sp]
- str r5, [sp, 0x4]
- adds r2, r6, 0
- bl sub_804A2F0
- adds r4, r0, 0
-_0804A080:
- mov r2, r9
- cmp r2, 0x1
- beq _0804A09C
- cmp r2, 0
- bne _0804A0A4
- ldr r0, _0804A0D0 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, r7, r0
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0804A0A4
-_0804A09C:
- mov r0, r8
- mov r1, r9
- bl sub_804A0D4
-_0804A0A4:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _0804A0BE
- ldr r0, _0804A0D0 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0xC]
- mov r2, r8
- adds r0, r7, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- str r1, [r0, 0x10]
-_0804A0BE:
- adds r0, r4, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0804A0D0: .4byte gBattleSpritesDataPtr
- thumb_func_end MoveBattleBar
-
- thumb_func_start sub_804A0D4
-sub_804A0D4: @ 804A0D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _0804A0F0
- cmp r1, 0x1
- beq _0804A1D8
- b _0804A2D6
-_0804A0F0:
- ldr r0, _0804A184 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- lsls r5, r6, 2
- adds r3, r5, r6
- lsls r3, 2
- adds r3, r0
- ldr r0, [r3, 0x4]
- ldr r1, [r3, 0x8]
- ldr r2, [r3, 0xC]
- adds r3, 0x10
- add r4, sp, 0x8
- str r4, [sp]
- movs r4, 0x6
- str r4, [sp, 0x4]
- bl sub_804A3C4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- mov r9, r1
- adds r7, r5, 0
- cmp r0, 0x18
- bhi _0804A12C
- movs r2, 0x38
- mov r9, r2
- cmp r0, 0x9
- bls _0804A12C
- movs r4, 0x2F
- mov r9, r4
-_0804A12C:
- movs r5, 0
- ldr r0, _0804A188 @ =gSprites
- mov r8, r0
-_0804A132:
- ldr r0, _0804A184 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0xC]
- adds r0, r7, r6
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrh r0, [r0, 0x38]
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r5, 0x1
- bhi _0804A194
- mov r0, r9
- bl GetHealthboxElementGfxPtr
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- ldrb r1, [r1]
- lsls r1, 5
- adds r0, r1
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- add r1, r8
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r5, 0x2
- adds r1, r2
- lsls r1, 5
- ldr r2, _0804A18C @ =0x06010000
- adds r1, r2
- ldr r2, _0804A190 @ =0x04000008
- bl CpuSet
- b _0804A1C2
- .align 2, 0
-_0804A184: .4byte gBattleSpritesDataPtr
-_0804A188: .4byte gSprites
-_0804A18C: .4byte 0x06010000
-_0804A190: .4byte 0x04000008
-_0804A194:
- mov r0, r9
- bl GetHealthboxElementGfxPtr
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- ldrb r1, [r1]
- lsls r1, 5
- adds r0, r1
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- add r1, r8
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r5, r1
- lsls r1, 5
- ldr r4, _0804A1D0 @ =0x06010040
- adds r1, r4
- ldr r2, _0804A1D4 @ =0x04000008
- bl CpuSet
-_0804A1C2:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0804A132
- b _0804A2D6
- .align 2, 0
-_0804A1D0: .4byte 0x06010040
-_0804A1D4: .4byte 0x04000008
-_0804A1D8:
- ldr r0, _0804A27C @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- lsls r5, r6, 2
- adds r3, r5, r6
- lsls r3, 2
- adds r3, r0
- ldr r0, [r3, 0x4]
- ldr r1, [r3, 0x8]
- ldr r2, [r3, 0xC]
- adds r3, 0x10
- add r4, sp, 0x8
- str r4, [sp]
- movs r4, 0x8
- str r4, [sp, 0x4]
- bl sub_804A3C4
- ldr r1, _0804A280 @ =gBattlerPartyIndexes
- lsls r0, r6, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0804A284 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- adds r7, r5, 0
- cmp r0, 0x64
- bne _0804A230
- movs r5, 0
- movs r1, 0
-_0804A21E:
- mov r0, sp
- adds r0, r5
- adds r0, 0x8
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _0804A21E
-_0804A230:
- movs r5, 0
- ldr r0, _0804A288 @ =gSprites
- mov r8, r0
- adds r0, r7, r6
- lsls r4, r0, 2
-_0804A23A:
- cmp r5, 0x3
- bhi _0804A294
- movs r0, 0xC
- bl GetHealthboxElementGfxPtr
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- ldrb r1, [r1]
- lsls r1, 5
- adds r0, r1
- ldr r1, _0804A27C @ =gBattleSpritesDataPtr
- ldr r1, [r1]
- ldr r1, [r1, 0xC]
- adds r1, r4, r1
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r8
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r5, 0
- adds r2, 0x24
- adds r1, r2
- lsls r1, 5
- ldr r2, _0804A28C @ =0x06010000
- adds r1, r2
- ldr r2, _0804A290 @ =0x04000008
- bl CpuSet
- b _0804A2CC
- .align 2, 0
-_0804A27C: .4byte gBattleSpritesDataPtr
-_0804A280: .4byte gBattlerPartyIndexes
-_0804A284: .4byte gPlayerParty
-_0804A288: .4byte gSprites
-_0804A28C: .4byte 0x06010000
-_0804A290: .4byte 0x04000008
-_0804A294:
- movs r0, 0xC
- bl GetHealthboxElementGfxPtr
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- ldrb r1, [r1]
- lsls r1, 5
- adds r0, r1
- ldr r1, _0804A2E4 @ =gBattleSpritesDataPtr
- ldr r1, [r1]
- ldr r1, [r1, 0xC]
- adds r1, r4, r1
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r8
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r1, r5, r1
- lsls r1, 5
- ldr r2, _0804A2E8 @ =0x06010b80
- adds r1, r2
- ldr r2, _0804A2EC @ =0x04000008
- bl CpuSet
-_0804A2CC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _0804A23A
-_0804A2D6:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A2E4: .4byte gBattleSpritesDataPtr
-_0804A2E8: .4byte 0x06010b80
-_0804A2EC: .4byte 0x04000008
- thumb_func_end sub_804A0D4
-
- thumb_func_start sub_804A2F0
-sub_804A2F0: @ 804A2F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r4, r1, 0
- mov r8, r2
- adds r5, r3, 0
- ldr r1, [sp, 0x18]
- ldr r0, [sp, 0x1C]
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 27
- lsrs r2, r1, 24
- ldr r1, [r5]
- ldr r0, _0804A31C @ =0xffff8000
- cmp r1, r0
- bne _0804A322
- cmp r7, r2
- bge _0804A320
- lsls r0, r4, 8
- str r0, [r5]
- b _0804A322
- .align 2, 0
-_0804A31C: .4byte 0xffff8000
-_0804A320:
- str r4, [r5]
-_0804A322:
- mov r0, r8
- subs r4, r0
- cmp r4, 0
- bge _0804A32E
- movs r4, 0
- b _0804A334
-_0804A32E:
- cmp r4, r7
- ble _0804A334
- adds r4, r7, 0
-_0804A334:
- cmp r7, r2
- bge _0804A350
- ldr r0, [r5]
- asrs r1, r0, 8
- adds r6, r0, 0
- cmp r4, r1
- bne _0804A35C
- movs r0, 0xFF
- ands r0, r6
- cmp r0, 0
- bne _0804A35C
- movs r0, 0x1
- negs r0, r0
- b _0804A3B8
-_0804A350:
- ldr r6, [r5]
- cmp r4, r6
- bne _0804A35C
- movs r0, 0x1
- negs r0, r0
- b _0804A3B8
-_0804A35C:
- cmp r7, r2
- bge _0804A396
- lsls r0, r7, 8
- adds r1, r2, 0
- bl __divsi3
- mov r1, r8
- cmp r1, 0
- bge _0804A37A
- adds r0, r6, r0
- str r0, [r5]
- asrs r2, r0, 8
- cmp r2, r4
- blt _0804A3B6
- b _0804A38E
-_0804A37A:
- subs r0, r6, r0
- str r0, [r5]
- asrs r2, r0, 8
- movs r1, 0xFF
- ands r0, r1
- cmp r0, 0
- ble _0804A38A
- adds r2, 0x1
-_0804A38A:
- cmp r2, r4
- bgt _0804A3B6
-_0804A38E:
- lsls r0, r4, 8
- str r0, [r5]
- adds r2, r4, 0
- b _0804A3B6
-_0804A396:
- mov r0, r8
- cmp r0, 0
- bge _0804A3A8
- ldr r0, [r5]
- adds r0, r3
- str r0, [r5]
- cmp r0, r4
- ble _0804A3B4
- b _0804A3B2
-_0804A3A8:
- ldr r0, [r5]
- subs r0, r3
- str r0, [r5]
- cmp r0, r4
- bge _0804A3B4
-_0804A3B2:
- str r4, [r5]
-_0804A3B4:
- ldr r2, [r5]
-_0804A3B6:
- adds r0, r2, 0
-_0804A3B8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804A2F0
-
- thumb_func_start sub_804A3C4
-sub_804A3C4: @ 804A3C4
- push {r4-r7,lr}
- adds r4, r0, 0
- mov r12, r3
- ldr r7, [sp, 0x14]
- ldr r0, [sp, 0x18]
- lsls r0, 24
- lsrs r6, r0, 24
- subs r5, r1, r2
- cmp r5, 0
- bge _0804A3DC
- movs r5, 0
- b _0804A3E2
-_0804A3DC:
- cmp r5, r4
- ble _0804A3E2
- adds r5, r4, 0
-_0804A3E2:
- lsls r0, r6, 27
- lsrs r3, r0, 24
- movs r1, 0
- cmp r1, r6
- bcs _0804A3FC
- movs r2, 0
-_0804A3EE:
- adds r0, r7, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r6
- bcc _0804A3EE
-_0804A3FC:
- cmp r4, r3
- bge _0804A410
- mov r1, r12
- ldr r0, [r1]
- muls r0, r3
- adds r1, r4, 0
- bl __divsi3
- asrs r0, 8
- b _0804A41C
-_0804A410:
- mov r1, r12
- ldr r0, [r1]
- muls r0, r3
- adds r1, r4, 0
- bl __divsi3
-_0804A41C:
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- cmp r3, 0
- bne _0804A432
- cmp r5, 0
- ble _0804A432
- movs r0, 0x1
- strb r0, [r7]
- movs r3, 0x1
- b _0804A456
-_0804A432:
- movs r1, 0
- movs r4, 0x8
-_0804A436:
- cmp r1, r6
- bcs _0804A456
- cmp r2, 0x7
- bls _0804A452
- adds r0, r7, r1
- strb r4, [r0]
- adds r0, r2, 0
- subs r0, 0x8
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- b _0804A436
-_0804A452:
- adds r0, r7, r1
- strb r2, [r0]
-_0804A456:
- adds r0, r3, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804A3C4
-
- thumb_func_start sub_804A460
-sub_804A460: @ 804A460
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- mov r9, r0
- mov r10, r1
- adds r6, r2, 0
- mov r8, r3
- ldr r5, [sp, 0x24]
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r5, 24
- lsrs r5, 24
- mov r1, r9
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- mov r3, r9
- ldr r2, [r3, 0x8]
- movs r3, 0x6
- str r3, [sp]
- movs r3, 0x1
- str r3, [sp, 0x4]
- mov r3, r10
- bl sub_804A2F0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- str r5, [sp]
- mov r0, r9
- mov r1, r10
- adds r2, r6, 0
- mov r3, r8
- bl sub_804A510
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_804A460
-
- thumb_func_start sub_804A4C8
-sub_804A4C8: @ 804A4C8
- push {r4,lr}
- sub sp, 0x8
- adds r3, r1, 0
- ldr r4, [r0]
- ldr r1, [r0, 0x4]
- ldr r2, [r0, 0x8]
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_804A2F0
- lsls r0, 16
- asrs r0, 16
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_804A4C8
-
- thumb_func_start sub_804A4F0
-sub_804A4F0: @ 804A4F0
- push {r4,lr}
- sub sp, 0x4
- ldr r4, [sp, 0xC]
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- bl sub_804A510
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_804A4F0
-
- thumb_func_start sub_804A510
-sub_804A510: @ 804A510
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [sp, 0x40]
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- ldr r2, [r4, 0x8]
- add r3, sp, 0xC
- str r3, [sp]
- movs r3, 0x6
- str r3, [sp, 0x4]
- adds r3, r5, 0
- bl sub_804A3C4
- movs r3, 0
- add r6, sp, 0x14
- adds r7, r6, 0
- ldrb r0, [r4, 0xC]
- lsls r5, r0, 27
- ldr r4, [r4, 0x10]
-_0804A554:
- lsls r2, r3, 1
- adds r2, r7, r2
- lsrs r1, r5, 15
- mov r0, sp
- adds r0, r3
- adds r0, 0xC
- ldrb r0, [r0]
- adds r0, r4, r0
- orrs r1, r0
- strh r1, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- bls _0804A554
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r0, r9
- adds r1, r6, 0
- mov r2, r10
- mov r3, r8
- bl CopyToBgTilemapBufferRect_ChangePalette
- 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_804A510
-
- thumb_func_start GetScaledExpFraction
-GetScaledExpFraction: @ 804A59C
- push {r4-r7,lr}
- adds r6, r2, 0
- lsls r3, 27
- lsrs r7, r3, 24
- subs r5, r0, r1
- cmp r5, 0
- bge _0804A5AE
- movs r5, 0
- b _0804A5B4
-_0804A5AE:
- cmp r5, r6
- ble _0804A5B4
- adds r5, r6, 0
-_0804A5B4:
- muls r0, r7
- adds r1, r6, 0
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- muls r0, r7
- adds r1, r6, 0
- bl __divsi3
- lsls r4, 24
- asrs r4, 24
- lsls r0, 24
- asrs r0, 24
- subs r0, r4, r0
- cmp r0, 0
- bge _0804A5DC
- negs r0, r0
-_0804A5DC:
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetScaledExpFraction
-
- thumb_func_start GetScaledHPFraction
-GetScaledHPFraction: @ 804A5E8
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- muls r0, r2
- lsls r1, 16
- asrs r1, 16
- bl __divsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0804A60C
- cmp r4, 0
- ble _0804A60C
- movs r0, 0x1
-_0804A60C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetScaledHPFraction
-
- thumb_func_start GetHPBarLevel
-GetHPBarLevel: @ 804A614
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- cmp r0, r1
- bne _0804A626
- movs r0, 0x4
- b _0804A642
-_0804A626:
- movs r2, 0x30
- bl GetScaledHPFraction
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0x3
- cmp r1, 0x18
- bhi _0804A642
- movs r0, 0x2
- cmp r1, 0x9
- bhi _0804A642
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_0804A642:
- pop {r1}
- bx r1
- thumb_func_end GetHPBarLevel
-
- thumb_func_start AddTextPrinterAndCreateWindowOnHealthbox
-AddTextPrinterAndCreateWindowOnHealthbox: @ 804A648
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x20
- mov r9, r0
- adds r6, r1, 0
- mov r8, r2
- mov r10, r3
- ldr r0, _0804A6D4 @ =gUnknown_8260564
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- add r0, sp, 0x18
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, r4, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x22
- bl FillWindowPixelBuffer
- add r1, sp, 0x14
- movs r2, 0
- movs r0, 0x2
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x3
- strb r0, [r1, 0x2]
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- str r2, [sp]
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- mov r0, r9
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0
- adds r2, r6, 0
- mov r3, r8
- bl AddTextPrinterParameterized4
- mov r0, r10
- str r4, [r0]
- adds r0, r5, 0
- movs r1, 0x7
- bl GetWindowAttribute
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0804A6D4: .4byte gUnknown_8260564
- thumb_func_end AddTextPrinterAndCreateWindowOnHealthbox
-
- thumb_func_start sub_804A6D8
-sub_804A6D8: @ 804A6D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- pop {r0}
- bx r0
- thumb_func_end sub_804A6D8
-
- thumb_func_start sub_804A6E8
-sub_804A6E8: @ 804A6E8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- movs r1, 0x80
- lsls r1, 1
- adds r0, r5, r1
- adds r1, r6, r1
- lsls r2, r4, 3
- ldr r3, _0804A72C @ =0x001fffff
- ands r2, r3
- movs r3, 0x80
- lsls r3, 19
- orrs r2, r3
- bl CpuSet
- cmp r4, 0
- ble _0804A724
-_0804A70C:
- adds r0, r5, 0
- adds r0, 0x14
- adds r1, r6, 0
- adds r1, 0x14
- ldr r2, _0804A730 @ =0x04000003
- bl CpuSet
- adds r6, 0x20
- adds r5, 0x20
- subs r4, 0x1
- cmp r4, 0
- bne _0804A70C
-_0804A724:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A72C: .4byte 0x001fffff
-_0804A730: .4byte 0x04000003
- thumb_func_end sub_804A6E8
-
- thumb_func_start sub_804A734
-sub_804A734: @ 804A734
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r4, r2, 3
- ldr r0, _0804A768 @ =0x001fffff
- ands r4, r0
- movs r0, 0x80
- lsls r0, 19
- orrs r4, r0
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl CpuSet
- movs r0, 0x80
- lsls r0, 1
- adds r5, r0
- adds r6, r0
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl CpuSet
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A768: .4byte 0x001fffff
- thumb_func_end sub_804A734
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/crt0.s b/asm/crt0.s
index 609845337..8530a76f5 100644
--- a/asm/crt0.s
+++ b/asm/crt0.s
@@ -1,4 +1,6 @@
.include "constants/gba_constants.inc"
+ .include "constants/misc_constants.inc"
+ .include "constants/version.inc"
.syntax unified
@@ -8,8 +10,8 @@
.arm
-Start: @ 8000000
- b Init
+_start: @ 8000000
+ b start_vector
.include "asm/rom_header.inc"
@@ -32,8 +34,6 @@ GPIOPortReadEnable: @ 80000C8
@ 80000D0
-@ TODO: figure out what this data is
-
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
@@ -46,19 +46,21 @@ GPIOPortReadEnable: @ 80000C8
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
+
+@ 8000100
+ .global CartIdent
+CartIdent:
+ .4byte GAME_VERSION
+ .4byte GAME_LANGUAGE
+.game_name:
.ifdef FIRERED
- .4byte 4
- .4byte 2
.ascii "pokemon red version"
- .space 13
.else
.ifdef LEAFGREEN
- .4byte 5
- .4byte 2
.ascii "pokemon green version"
- .space 11
.endif
.endif
+ .space .game_name+0x20-.
.4byte gMonFrontPicTable
.4byte gMonBackPicTable
.4byte gMonPaletteTable
@@ -118,32 +120,32 @@ GPIOPortReadEnable: @ 80000C8
.arm
.align 2, 0
- .global Init
-Init:
+ .global start_vector
+start_vector:
mov r0, PSR_IRQ_MODE
msr cpsr_cf, r0
ldr sp, sp_irq
mov r0, PSR_SYS_MODE
msr cpsr_cf, r0
- ldr sp, sp_sys
+ ldr sp, sp_usr
ldr r1, =INTR_VECTOR
- adr r0, IntrMain
+ adr r0, intr_main
str r0, [r1]
ldr r1, =AgbMain
mov lr, pc
bx r1
- b Init
+ b start_vector
.align 2, 0
-sp_sys: .word IWRAM_END - 0x1C0
+sp_usr: .word IWRAM_END - 0x1C0
sp_irq: .word IWRAM_END - 0x60
.pool
.arm
.align 2, 0
- .global IntrMain
-IntrMain:
+ .global intr_main
+intr_main:
mov r3, REG_BASE
add r3, r3, 0x200
ldr r2, [r3, OFFSET_REG_IE - 0x200]
@@ -155,56 +157,57 @@ IntrMain:
and r1, r2, r2, lsr 16
mov r12, 0
ands r0, r1, INTR_FLAG_VCOUNT
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
mov r0, 0x1
strh r0, [r3, OFFSET_REG_IME - 0x200]
ands r0, r1, INTR_FLAG_SERIAL
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER3
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_HBLANK
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_VBLANK
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER0
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER1
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER2
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA0
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA1
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA2
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA3
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_KEYPAD
- bne IntrMain_FoundIntr
+ bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_GAMEPAK
strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - 0x200]
- bne . @ spin
-IntrMain_FoundIntr:
+loop:
+ bne loop @ spin
+jump_intr:
strh r0, [r3, OFFSET_REG_IF - 0x200]
bic r2, r2, r0
- ldr r0, =gRfuState
+ ldr r0, =gSTWIStatus
ldr r0, [r0]
ldrb r0, [r0, 0xA]
- mov r1, 0x8
+ mov r1, INTR_FLAG_TIMER0
mov r0, r1, lsl r0
orr r0, r0, INTR_FLAG_GAMEPAK
orr r1, r0, INTR_FLAG_SERIAL | INTR_FLAG_TIMER3 | INTR_FLAG_VCOUNT | INTR_FLAG_HBLANK
@@ -218,9 +221,9 @@ IntrMain_FoundIntr:
add r1, r1, r12
ldr r0, [r1]
stmdb sp!, {lr}
- adr lr, IntrMain_RetAddr
+ adr lr, intr_return
bx r0
-IntrMain_RetAddr:
+intr_return:
ldmia sp!, {lr}
mrs r3, cpsr
bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK
diff --git a/asm/librfu.s b/asm/librfu.s
deleted file mode 100644
index 03bf3eeb8..000000000
--- a/asm/librfu.s
+++ /dev/null
@@ -1,6697 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81E05B0
-sub_81E05B0: @ 81E05B0
- push {r4-r7,lr}
- adds r4, r0, 0
- mov r12, r2
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r3, 24
- lsrs r7, r3, 24
- movs r0, 0xF0
- lsls r0, 20
- ands r0, r4
- movs r1, 0x80
- lsls r1, 18
- cmp r0, r1
- bne _081E05D0
- cmp r7, 0
- bne _081E05D8
-_081E05D0:
- movs r0, 0x3
- ands r0, r4
- cmp r0, 0
- beq _081E05DC
-_081E05D8:
- movs r0, 0x2
- b _081E06C6
-_081E05DC:
- cmp r7, 0
- beq _081E05E8
- ldr r3, _081E05E4 @ =0x00000e64
- b _081E05EA
- .align 2, 0
-_081E05E4: .4byte 0x00000e64
-_081E05E8:
- ldr r3, _081E05F4 @ =0x00000504
-_081E05EA:
- cmp r2, r3
- bcs _081E05F8
- movs r0, 0x1
- b _081E06C6
- .align 2, 0
-_081E05F4: .4byte 0x00000504
-_081E05F8:
- ldr r0, _081E06CC @ =gUnknown_3007460
- str r4, [r0]
- ldr r1, _081E06D0 @ =gUnknown_3007464
- adds r0, r4, 0
- adds r0, 0xB4
- str r0, [r1]
- ldr r1, _081E06D4 @ =gUnknown_3007468
- adds r0, 0x28
- str r0, [r1]
- ldr r2, _081E06D8 @ =gUnknown_3007450
- movs r1, 0xDE
- lsls r1, 1
- adds r0, r4, r1
- str r0, [r2]
- ldr r1, _081E06DC @ =gUnknown_3007440
- movs r3, 0xDF
- lsls r3, 2
- adds r0, r4, r3
- str r0, [r1]
- movs r5, 0x1
- adds r6, r2, 0
- adds r4, r1, 0
-_081E0624:
- lsls r2, r5, 2
- adds r3, r2, r6
- subs r1, r5, 0x1
- lsls r1, 2
- adds r0, r1, r6
- ldr r0, [r0]
- adds r0, 0x70
- str r0, [r3]
- adds r2, r4
- adds r1, r4
- ldr r0, [r1]
- adds r0, 0x1C
- str r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _081E0624
- ldr r0, _081E06D4 @ =gUnknown_3007468
- ldr r1, [r0]
- adds r1, 0xDC
- ldr r4, _081E06DC @ =gUnknown_3007440
- ldr r0, [r4, 0xC]
- adds r0, 0x1C
- str r0, [r1]
- mov r1, r12
- adds r2, r7, 0
- bl STWI_init_all
- bl rfu_STC_clearAPIVariables
- movs r5, 0
- ldr r3, _081E06D8 @ =gUnknown_3007450
- movs r2, 0
-_081E0668:
- lsls r1, r5, 2
- adds r0, r1, r3
- ldr r0, [r0]
- str r2, [r0, 0x68]
- str r2, [r0, 0x6C]
- adds r1, r4
- ldr r0, [r1]
- str r2, [r0, 0x14]
- str r2, [r0, 0x18]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _081E0668
- ldr r1, _081E06E0 @ =sub_81E1B24
- movs r5, 0x2
- negs r5, r5
- ands r5, r1
- ldr r2, _081E06D4 @ =gUnknown_3007468
- ldr r0, [r2]
- adds r4, r0, 0
- adds r4, 0x8
- ldr r0, _081E06E4 @ =rfu_REQ_changeMasterSlave
- subs r0, r1
- lsls r0, 15
- lsrs r3, r0, 16
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, _081E06E8 @ =0x0000ffff
- cmp r3, r0
- beq _081E06BC
- adds r6, r0, 0
-_081E06AA:
- ldrh r0, [r5]
- strh r0, [r4]
- adds r5, 0x2
- adds r4, 0x2
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r6
- bne _081E06AA
-_081E06BC:
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0
-_081E06C6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081E06CC: .4byte gUnknown_3007460
-_081E06D0: .4byte gUnknown_3007464
-_081E06D4: .4byte gUnknown_3007468
-_081E06D8: .4byte gUnknown_3007450
-_081E06DC: .4byte gUnknown_3007440
-_081E06E0: .4byte sub_81E1B24
-_081E06E4: .4byte rfu_REQ_changeMasterSlave
-_081E06E8: .4byte 0x0000ffff
- thumb_func_end sub_81E05B0
-
- thumb_func_start rfu_STC_clearAPIVariables
-rfu_STC_clearAPIVariables: @ 81E06EC
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, _081E0760 @ =0x04000208
- ldrh r0, [r1]
- adds r7, r0, 0
- movs r6, 0
- strh r6, [r1]
- ldr r5, _081E0764 @ =gUnknown_3007464
- ldr r1, [r5]
- ldrb r4, [r1]
- mov r0, sp
- strh r6, [r0]
- ldr r2, _081E0768 @ =0x01000014
- bl CpuSet
- ldr r2, [r5]
- movs r0, 0x8
- ands r4, r0
- movs r1, 0
- strb r4, [r2]
- mov r0, sp
- adds r0, 0x2
- strh r1, [r0]
- ldr r4, _081E076C @ =gUnknown_3007460
- ldr r1, [r4]
- ldr r2, _081E0770 @ =0x0100005a
- bl CpuSet
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1, 0x9]
- ldr r0, [r5]
- strb r6, [r0, 0x6]
- ldr r1, [r4]
- movs r0, 0xFF
- strb r0, [r1]
- bl rfu_clearAllSlot
- ldr r0, [r5]
- strb r6, [r0, 0x9]
- movs r2, 0
- movs r3, 0
-_081E0740:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, 0x12
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _081E0740
- ldr r0, _081E0760 @ =0x04000208
- strh r7, [r0]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E0760: .4byte 0x04000208
-_081E0764: .4byte gUnknown_3007464
-_081E0768: .4byte 0x01000014
-_081E076C: .4byte gUnknown_3007460
-_081E0770: .4byte 0x0100005a
- thumb_func_end rfu_STC_clearAPIVariables
-
- thumb_func_start rfu_REQ_PARENT_resumeRetransmitAndChange
-rfu_REQ_PARENT_resumeRetransmitAndChange: @ 81E0774
- push {lr}
- ldr r0, _081E0784 @ =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- bl STWI_send_ResumeRetransmitAndChangeREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E0784: .4byte rfu_STC_REQ_callback
- thumb_func_end rfu_REQ_PARENT_resumeRetransmitAndChange
-
- thumb_func_start rfu_UNI_PARENT_getDRAC_ACK
-rfu_UNI_PARENT_getDRAC_ACK: @ 81E0788
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- strb r0, [r4]
- ldr r5, _081E07A0 @ =gUnknown_3007460
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081E07A4
- movs r0, 0xC0
- lsls r0, 2
- b _081E07CA
- .align 2, 0
-_081E07A0: .4byte gUnknown_3007460
-_081E07A4:
- bl rfu_getSTWIRecvBuffer
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x28
- beq _081E07B4
- cmp r0, 0x36
- bne _081E07C8
-_081E07B4:
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _081E07C0
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- b _081E07C2
-_081E07C0:
- ldrb r0, [r1, 0x4]
-_081E07C2:
- strb r0, [r4]
- movs r0, 0
- b _081E07CA
-_081E07C8:
- movs r0, 0x10
-_081E07CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_PARENT_getDRAC_ACK
-
- thumb_func_start rfu_setTimerInterrupt
-rfu_setTimerInterrupt: @ 81E07D0
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r1, r2, 0
- bl STWI_init_timer
- pop {r0}
- bx r0
- thumb_func_end rfu_setTimerInterrupt
-
- thumb_func_start rfu_getSTWIRecvBuffer
-rfu_getSTWIRecvBuffer: @ 81E07E4
- ldr r0, _081E07F0 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_081E07F0: .4byte gUnknown_3007468
- thumb_func_end rfu_getSTWIRecvBuffer
-
- thumb_func_start rfu_setMSCCallback
-rfu_setMSCCallback: @ 81E07F4
- push {lr}
- bl STWI_set_Callback_S
- pop {r0}
- bx r0
- thumb_func_end rfu_setMSCCallback
-
- thumb_func_start rfu_setREQCallback
-rfu_setREQCallback: @ 81E0800
- push {lr}
- adds r1, r0, 0
- ldr r0, _081E0818 @ =gUnknown_3007468
- ldr r0, [r0]
- str r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bl rfu_enableREQCallback
- pop {r0}
- bx r0
- .align 2, 0
-_081E0818: .4byte gUnknown_3007468
- thumb_func_end rfu_setREQCallback
-
- thumb_func_start rfu_enableREQCallback
-rfu_enableREQCallback: @ 81E081C
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _081E0834
- ldr r0, _081E0830 @ =gUnknown_3007464
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x8
- orrs r0, r1
- b _081E083E
- .align 2, 0
-_081E0830: .4byte gUnknown_3007464
-_081E0834:
- ldr r0, _081E0844 @ =gUnknown_3007464
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0xF7
- ands r0, r1
-_081E083E:
- strb r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_081E0844: .4byte gUnknown_3007464
- thumb_func_end rfu_enableREQCallback
-
- thumb_func_start rfu_STC_REQ_callback
-rfu_STC_REQ_callback: @ 81E0848
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, _081E087C @ =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- ldr r0, _081E0880 @ =gUnknown_3007464
- ldr r0, [r0]
- strh r4, [r0, 0x1C]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081E0876
- ldr r0, _081E0884 @ =gUnknown_3007468
- ldr r0, [r0]
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl _call_via_r2
-_081E0876:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081E087C: .4byte rfu_CB_defaultCallback
-_081E0880: .4byte gUnknown_3007464
-_081E0884: .4byte gUnknown_3007468
- thumb_func_end rfu_STC_REQ_callback
-
- thumb_func_start rfu_CB_defaultCallback
-rfu_CB_defaultCallback: @ 81E0888
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r0, 0xFF
- bne _081E08E4
- ldr r0, _081E08EC @ =gUnknown_3007464
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081E08B2
- ldr r0, _081E08F0 @ =gUnknown_3007468
- ldr r0, [r0]
- ldr r2, [r0]
- movs r0, 0xFF
- adds r1, r3, 0
- bl _call_via_r2
-_081E08B2:
- ldr r0, _081E08F4 @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- adds r5, r0, 0
- orrs r5, r1
- movs r4, 0
-_081E08C0:
- adds r0, r5, 0
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081E08D2
- adds r0, r4, 0
- bl rfu_STC_removeLinkData
-_081E08D2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081E08C0
- ldr r0, _081E08F4 @ =gUnknown_3007460
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
-_081E08E4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081E08EC: .4byte gUnknown_3007464
-_081E08F0: .4byte gUnknown_3007468
-_081E08F4: .4byte gUnknown_3007460
- thumb_func_end rfu_CB_defaultCallback
-
- thumb_func_start rfu_waitREQComplete
-rfu_waitREQComplete: @ 81E08F8
- push {lr}
- bl STWI_poll_CommandEnd
- ldr r0, _081E0908 @ =gUnknown_3007464
- ldr r0, [r0]
- ldrh r0, [r0, 0x1C]
- pop {r1}
- bx r1
- .align 2, 0
-_081E0908: .4byte gUnknown_3007464
- thumb_func_end rfu_waitREQComplete
-
- thumb_func_start rfu_REQ_RFUStatus
-rfu_REQ_RFUStatus: @ 81E090C
- push {lr}
- ldr r0, _081E091C @ =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E091C: .4byte rfu_STC_REQ_callback
- thumb_func_end rfu_REQ_RFUStatus
-
- thumb_func_start rfu_getRFUStatus
-rfu_getRFUStatus: @ 81E0920
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _081E0938 @ =gUnknown_3007468
- ldr r0, [r5]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x93
- beq _081E093C
- movs r0, 0x10
- b _081E0956
- .align 2, 0
-_081E0938: .4byte gUnknown_3007468
-_081E093C:
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _081E0950
- ldr r0, [r5]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- b _081E0952
-_081E0950:
- movs r0, 0xFF
-_081E0952:
- strb r0, [r4]
- movs r0, 0
-_081E0956:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_getRFUStatus
-
- thumb_func_start sub_81E095C
-sub_81E095C: @ 81E095C
- push {lr}
- ldr r2, _081E0964 @ =_Str_RFU_MBOOT
- ldr r3, _081E0968 @ =0x30000F0
- b _081E0976
- .align 2, 0
-_081E0964: .4byte _Str_RFU_MBOOT
-_081E0968: .4byte 0x30000F0
-_081E096C:
- ldrb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r1, r0
- bne _081E09CC
-_081E0976:
- ldrb r1, [r2]
- cmp r1, 0
- bne _081E096C
- movs r2, 0xC0
- lsls r2, 18
- movs r3, 0
- movs r1, 0
-_081E0984:
- ldrh r0, [r2]
- adds r0, r3, r0
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x2
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x59
- bls _081E0984
- ldr r0, _081E09C0 @ =0x30000FA
- ldrh r0, [r0]
- cmp r3, r0
- bne _081E09CC
- movs r0, 0xC0
- lsls r0, 18
- ldr r1, _081E09C4 @ =gUnknown_3007460
- ldr r1, [r1]
- movs r2, 0x5A
- bl CpuSet
- ldr r0, _081E09C8 @ =gUnknown_3007464
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- b _081E09CE
- .align 2, 0
-_081E09C0: .4byte 0x30000FA
-_081E09C4: .4byte gUnknown_3007460
-_081E09C8: .4byte gUnknown_3007464
-_081E09CC:
- movs r0, 0x1
-_081E09CE:
- pop {r1}
- bx r1
- thumb_func_end sub_81E095C
-
- thumb_func_start rfu_REQ_stopMode
-rfu_REQ_stopMode: @ 81E09D4
- push {lr}
- ldr r0, _081E09F4 @ =0x04000208
- ldrh r0, [r0]
- cmp r0, 0
- bne _081E09FC
- movs r0, 0x3D
- movs r1, 0x6
- bl rfu_STC_REQ_callback
- ldr r0, _081E09F8 @ =gRfuState
- ldr r1, [r0]
- ldrh r0, [r1, 0x12]
- movs r0, 0x6
- strh r0, [r1, 0x12]
- b _081E0A72
- .align 2, 0
-_081E09F4: .4byte 0x04000208
-_081E09F8: .4byte gRfuState
-_081E09FC:
- bl AgbRFU_SoftReset
- bl rfu_STC_clearAPIVariables
- movs r0, 0x8
- bl sub_81E349C
- ldr r1, _081E0A4C @ =0x00008001
- cmp r0, r1
- bne _081E0A60
- ldr r0, _081E0A50 @ =gRfuState
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r2, _081E0A54 @ =0x04000100
- adds r1, r0, r2
- movs r0, 0
- str r0, [r1]
- movs r0, 0x83
- lsls r0, 16
- str r0, [r1]
- ldr r0, [r1]
- lsls r0, 16
- ldr r2, _081E0A58 @ =0x0105ffff
- ldr r3, _081E0A5C @ =rfu_CB_stopMode
- cmp r0, r2
- bhi _081E0A3A
-_081E0A32:
- ldr r0, [r1]
- lsls r0, 16
- cmp r0, r2
- bls _081E0A32
-_081E0A3A:
- movs r0, 0
- str r0, [r1]
- adds r0, r3, 0
- bl STWI_set_Callback_M
- bl STWI_send_StopModeREQ
- b _081E0A72
- .align 2, 0
-_081E0A4C: .4byte 0x00008001
-_081E0A50: .4byte gRfuState
-_081E0A54: .4byte 0x04000100
-_081E0A58: .4byte 0x0105ffff
-_081E0A5C: .4byte rfu_CB_stopMode
-_081E0A60:
- ldr r1, _081E0A78 @ =0x04000128
- movs r2, 0x80
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x3D
- movs r1, 0
- bl rfu_STC_REQ_callback
-_081E0A72:
- pop {r0}
- bx r0
- .align 2, 0
-_081E0A78: .4byte 0x04000128
- thumb_func_end rfu_REQ_stopMode
-
- thumb_func_start rfu_CB_stopMode
-rfu_CB_stopMode: @ 81E0A7C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r2, r1, 0
- cmp r2, 0
- bne _081E0A96
- ldr r1, _081E0AA4 @ =0x04000128
- movs r4, 0x80
- lsls r4, 6
- adds r0, r4, 0
- strh r0, [r1]
-_081E0A96:
- adds r0, r3, 0
- adds r1, r2, 0
- bl rfu_STC_REQ_callback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081E0AA4: .4byte 0x04000128
- thumb_func_end rfu_CB_stopMode
-
- thumb_func_start rfu_REQBN_softReset_and_checkID
-rfu_REQBN_softReset_and_checkID: @ 81E0AA8
- push {lr}
- ldr r0, _081E0AB8 @ =0x04000208
- ldrh r0, [r0]
- cmp r0, 0
- bne _081E0ABC
- movs r0, 0x1
- negs r0, r0
- b _081E0ADC
- .align 2, 0
-_081E0AB8: .4byte 0x04000208
-_081E0ABC:
- bl AgbRFU_SoftReset
- bl rfu_STC_clearAPIVariables
- movs r0, 0x1E
- bl sub_81E349C
- adds r2, r0, 0
- cmp r2, 0
- bne _081E0ADA
- ldr r1, _081E0AE0 @ =0x04000128
- movs r3, 0x80
- lsls r3, 6
- adds r0, r3, 0
- strh r0, [r1]
-_081E0ADA:
- adds r0, r2, 0
-_081E0ADC:
- pop {r1}
- bx r1
- .align 2, 0
-_081E0AE0: .4byte 0x04000128
- thumb_func_end rfu_REQBN_softReset_and_checkID
-
- thumb_func_start rfu_REQ_reset
-rfu_REQ_reset: @ 81E0AE4
- push {lr}
- ldr r0, _081E0AF4 @ =rfu_CB_reset
- bl STWI_set_Callback_M
- bl STWI_send_ResetREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E0AF4: .4byte rfu_CB_reset
- thumb_func_end rfu_REQ_reset
-
- thumb_func_start rfu_CB_reset
-rfu_CB_reset: @ 81E0AF8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- cmp r4, 0
- bne _081E0B0C
- bl rfu_STC_clearAPIVariables
-_081E0B0C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl rfu_STC_REQ_callback
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end rfu_CB_reset
-
- thumb_func_start rfu_REQ_configSystem
-rfu_REQ_configSystem: @ 81E0B1C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, _081E0B54 @ =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- movs r0, 0x3
- ands r4, r0
- movs r0, 0x3C
- orrs r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl STWI_send_SystemConfigREQ
- cmp r6, 0
- bne _081E0B5C
- ldr r0, _081E0B58 @ =gUnknown_3007464
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x1A]
- b _081E0B76
- .align 2, 0
-_081E0B54: .4byte rfu_STC_REQ_callback
-_081E0B58: .4byte gUnknown_3007464
-_081E0B5C:
- ldr r5, _081E0B7C @ =0x04000208
- ldrh r4, [r5]
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x96
- lsls r0, 2
- adds r1, r6, 0
- bl Div
- ldr r1, _081E0B80 @ =gUnknown_3007464
- ldr r1, [r1]
- strh r0, [r1, 0x1A]
- strh r4, [r5]
-_081E0B76:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081E0B7C: .4byte 0x04000208
-_081E0B80: .4byte gUnknown_3007464
- thumb_func_end rfu_REQ_configSystem
-
- thumb_func_start rfu_REQ_configGameData
-rfu_REQ_configGameData: @ 81E0B84
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r2, 0
- adds r7, r3, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, r1, 16
- adds r5, r4, 0
- mov r0, sp
- strb r1, [r0]
- lsrs r2, 24
- strb r2, [r0, 0x1]
- cmp r6, 0
- beq _081E0BAA
- movs r1, 0x80
- orrs r2, r1
- movs r1, 0
- orrs r2, r1
- strb r2, [r0, 0x1]
-_081E0BAA:
- movs r2, 0x2
- ldr r0, _081E0C0C @ =rfu_CB_configGameData
- mov r12, r0
-_081E0BB0:
- mov r3, sp
- adds r1, r3, r2
- ldrb r0, [r4]
- strb r0, [r1]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xE
- bls _081E0BB0
- movs r3, 0
- adds r1, r7, 0
- movs r2, 0
-_081E0BCA:
- ldrb r0, [r1]
- adds r0, r3, r0
- lsls r0, 24
- adds r1, 0x1
- lsrs r0, 24
- ldrb r3, [r5]
- adds r0, r3
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _081E0BCA
- mov r1, sp
- mvns r0, r3
- strb r0, [r1, 0xF]
- cmp r6, 0
- beq _081E0BF6
- movs r0, 0
- strb r0, [r1, 0xE]
-_081E0BF6:
- mov r0, r12
- bl STWI_set_Callback_M
- mov r0, sp
- adds r1, r7, 0
- bl STWI_send_GameConfigREQ
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E0C0C: .4byte rfu_CB_configGameData
- thumb_func_end rfu_REQ_configGameData
-
- thumb_func_start rfu_CB_configGameData
-rfu_CB_configGameData: @ 81E0C10
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _081E0C9A
- ldr r0, _081E0C54 @ =gRfuState
- ldr r0, [r0]
- ldr r1, [r0, 0x24]
- ldr r0, _081E0C58 @ =gUnknown_3007460
- ldr r6, [r0]
- ldrb r2, [r1, 0x4]
- adds r5, r6, 0
- adds r5, 0x98
- strh r2, [r5]
- ldrb r0, [r1, 0x5]
- lsls r3, r0, 8
- orrs r3, r2
- strh r3, [r5]
- adds r4, r1, 0x6
- movs r1, 0x80
- lsls r1, 8
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _081E0C5C
- eors r3, r1
- strh r3, [r5]
- adds r1, r6, 0
- adds r1, 0x97
- movs r0, 0x1
- b _081E0C62
- .align 2, 0
-_081E0C54: .4byte gRfuState
-_081E0C58: .4byte gUnknown_3007460
-_081E0C5C:
- adds r1, r6, 0
- adds r1, 0x97
- movs r0, 0
-_081E0C62:
- strb r0, [r1]
- movs r2, 0
- ldr r3, _081E0CA8 @ =gUnknown_3007460
-_081E0C68:
- ldr r0, [r3]
- adds r0, 0x9A
- adds r0, r2
- ldrb r1, [r4]
- strb r1, [r0]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xC
- bls _081E0C68
- adds r4, 0x1
- movs r2, 0
- ldr r3, _081E0CA8 @ =gUnknown_3007460
-_081E0C84:
- ldr r0, [r3]
- adds r0, 0xA9
- adds r0, r2
- ldrb r1, [r4]
- strb r1, [r0]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _081E0C84
-_081E0C9A:
- mov r0, r12
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E0CA8: .4byte gUnknown_3007460
- thumb_func_end rfu_CB_configGameData
-
- thumb_func_start sub_81E0CAC
-sub_81E0CAC: @ 81E0CAC
- push {lr}
- ldr r0, _081E0CDC @ =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081E0CE4
- ldr r0, _081E0CE0 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _081E0CEA
- movs r0, 0x1
- bl rfu_STC_clearLinkStatus
- b _081E0CEA
- .align 2, 0
-_081E0CDC: .4byte rfu_CB_defaultCallback
-_081E0CE0: .4byte gUnknown_3007468
-_081E0CE4:
- movs r0, 0x19
- bl rfu_STC_REQ_callback
-_081E0CEA:
- ldr r0, _081E0CF8 @ =rfu_CB_startSearchChild
- bl STWI_set_Callback_M
- bl STWI_send_SC_StartREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E0CF8: .4byte rfu_CB_startSearchChild
- thumb_func_end sub_81E0CAC
-
- thumb_func_start rfu_CB_startSearchChild
-rfu_CB_startSearchChild: @ 81E0CFC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r2, r1, 0
- cmp r2, 0
- bne _081E0D14
- ldr r0, _081E0D20 @ =gUnknown_3007464
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x9]
-_081E0D14:
- adds r0, r3, 0
- adds r1, r2, 0
- bl rfu_STC_REQ_callback
- pop {r0}
- bx r0
- .align 2, 0
-_081E0D20: .4byte gUnknown_3007464
- thumb_func_end rfu_CB_startSearchChild
-
- thumb_func_start rfu_STC_clearLinkStatus
-rfu_STC_clearLinkStatus: @ 81E0D24
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl rfu_clearAllSlot
- cmp r4, 0
- beq _081E0D4C
- mov r0, sp
- movs r5, 0
- strh r5, [r0]
- ldr r4, _081E0D80 @ =gUnknown_3007460
- ldr r1, [r4]
- adds r1, 0x14
- ldr r2, _081E0D84 @ =0x01000040
- bl CpuSet
- ldr r0, [r4]
- strb r5, [r0, 0x8]
-_081E0D4C:
- movs r1, 0
- ldr r2, _081E0D80 @ =gUnknown_3007460
- adds r4, r2, 0
- movs r3, 0
-_081E0D54:
- ldr r0, [r4]
- adds r0, 0xA
- adds r0, r1
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _081E0D54
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0, 0x1]
- ldr r0, [r2]
- strb r1, [r0, 0x2]
- ldr r0, [r2]
- strb r1, [r0, 0x3]
- ldr r0, [r2]
- strb r1, [r0, 0x7]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081E0D80: .4byte gUnknown_3007460
-_081E0D84: .4byte 0x01000040
- thumb_func_end rfu_STC_clearLinkStatus
-
- thumb_func_start rfu_REQ_pollSearchChild
-rfu_REQ_pollSearchChild: @ 81E0D88
- push {lr}
- ldr r0, _081E0D98 @ =rfu_CB_pollAndEndSearchChild
- bl STWI_set_Callback_M
- bl STWI_send_SC_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E0D98: .4byte rfu_CB_pollAndEndSearchChild
- thumb_func_end rfu_REQ_pollSearchChild
-
- thumb_func_start rfu_REQ_endSearchChild
-rfu_REQ_endSearchChild: @ 81E0D9C
- push {lr}
- ldr r0, _081E0DAC @ =rfu_CB_pollAndEndSearchChild
- bl STWI_set_Callback_M
- bl STWI_send_SC_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E0DAC: .4byte rfu_CB_pollAndEndSearchChild
- thumb_func_end rfu_REQ_endSearchChild
-
- thumb_func_start rfu_CB_pollAndEndSearchChild
-rfu_CB_pollAndEndSearchChild: @ 81E0DB0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- cmp r6, 0
- bne _081E0DC2
- bl sub_81E0E38
-_081E0DC2:
- cmp r4, 0x1A
- bne _081E0E04
- ldr r5, _081E0DF8 @ =gUnknown_3007460
- ldr r0, [r5]
- adds r0, 0x94
- ldrh r0, [r0]
- cmp r0, 0
- bne _081E0E20
- ldr r0, _081E0DFC @ =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _081E0E20
- ldr r1, [r5]
- ldr r0, _081E0E00 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- adds r1, 0x94
- strh r0, [r1]
- b _081E0E20
- .align 2, 0
-_081E0DF8: .4byte gUnknown_3007460
-_081E0DFC: .4byte rfu_CB_defaultCallback
-_081E0E00: .4byte gUnknown_3007468
-_081E0E04:
- cmp r4, 0x1B
- bne _081E0E20
- ldr r0, _081E0E30 @ =gUnknown_3007460
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _081E0E18
- adds r1, 0x94
- movs r0, 0
- strh r0, [r1]
-_081E0E18:
- ldr r0, _081E0E34 @ =gUnknown_3007464
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x9]
-_081E0E20:
- adds r0, r4, 0
- adds r1, r6, 0
- bl rfu_STC_REQ_callback
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081E0E30: .4byte gUnknown_3007460
-_081E0E34: .4byte gUnknown_3007464
- thumb_func_end rfu_CB_pollAndEndSearchChild
-
- thumb_func_start sub_81E0E38
-sub_81E0E38: @ 81E0E38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r1, _081E0F64 @ =gUnknown_3007468
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r2, [r0, 0x1]
- mov r8, r2
- adds r4, r1, 0
- cmp r2, 0
- beq _081E0E96
- ldr r5, [r0, 0x4]
- ldr r0, _081E0F68 @ =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_LinkStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _081E0E8A
- ldr r0, [r4]
- adds r0, 0xDC
- ldr r0, [r0]
- adds r4, r0, 0x4
- movs r2, 0
-_081E0E76:
- mov r0, sp
- adds r1, r0, r2
- ldrb r0, [r4]
- strb r0, [r1]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _081E0E76
-_081E0E8A:
- ldr r0, _081E0F64 @ =gUnknown_3007468
- ldr r1, [r0]
- adds r1, 0xDC
- ldr r1, [r1]
- str r5, [r1, 0x4]
- adds r4, r0, 0
-_081E0E96:
- ldr r0, [r4]
- adds r0, 0xDC
- ldr r0, [r0]
- adds r4, r0, 0x4
- mov r1, r8
- cmp r1, 0
- beq _081E0F52
- ldr r2, _081E0F6C @ =gUnknown_3007464
- mov r9, r2
- ldr r7, _081E0F70 @ =gUnknown_3007460
- mov r10, r9
-_081E0EAC:
- ldrb r2, [r4, 0x2]
- adds r5, r2, 0
- cmp r2, 0x3
- bhi _081E0F42
- ldr r1, [r7]
- ldrb r0, [r1, 0x2]
- asrs r0, r2
- movs r6, 0x1
- ands r0, r6
- cmp r0, 0
- bne _081E0F42
- ldrb r3, [r1, 0x3]
- asrs r3, r2
- ands r3, r6
- cmp r3, 0
- bne _081E0F42
- mov r1, sp
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r12, r10
- cmp r0, 0
- beq _081E0EE6
- mov r0, r9
- ldr r1, [r0]
- adds r1, 0xE
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081E0EE6:
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xE
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0x3
- bls _081E0F42
- strb r3, [r1]
- ldr r0, [r7]
- adds r0, 0xA
- adds r0, r5
- movs r1, 0xFF
- strb r1, [r0]
- ldr r2, [r7]
- adds r0, r6, 0
- lsls r0, r5
- ldrb r1, [r2, 0x2]
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r7]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r1, [r7]
- lsls r3, r5, 5
- adds r1, r3
- ldrh r0, [r4]
- strh r0, [r1, 0x14]
- strb r5, [r1, 0x16]
- ldr r0, [r7]
- strb r6, [r0]
- mov r0, r12
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r5, 1
- adds r1, 0x12
- adds r1, r0
- ldr r0, [r7]
- adds r0, r3
- ldrh r0, [r0, 0x14]
- strh r0, [r1]
-_081E0F42:
- mov r0, r8
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r4, 0x4
- cmp r0, 0
- bne _081E0EAC
-_081E0F52:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E0F64: .4byte gUnknown_3007468
-_081E0F68: .4byte rfu_CB_defaultCallback
-_081E0F6C: .4byte gUnknown_3007464
-_081E0F70: .4byte gUnknown_3007460
- thumb_func_end sub_81E0E38
-
- thumb_func_start rfu_REQ_startSearchParent
-rfu_REQ_startSearchParent: @ 81E0F74
- push {lr}
- ldr r0, _081E0F84 @ =rfu_CB_startSearchParent
- bl STWI_set_Callback_M
- bl STWI_send_SP_StartREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E0F84: .4byte rfu_CB_startSearchParent
- thumb_func_end rfu_REQ_startSearchParent
-
- thumb_func_start rfu_CB_startSearchParent
-rfu_CB_startSearchParent: @ 81E0F88
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- cmp r4, 0
- bne _081E0F9E
- movs r0, 0
- bl rfu_STC_clearLinkStatus
-_081E0F9E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl rfu_STC_REQ_callback
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end rfu_CB_startSearchParent
-
- thumb_func_start rfu_REQ_pollSearchParent
-rfu_REQ_pollSearchParent: @ 81E0FAC
- push {lr}
- ldr r0, _081E0FBC @ =sub_81E0FC0
- bl STWI_set_Callback_M
- bl STWI_send_SP_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E0FBC: .4byte sub_81E0FC0
- thumb_func_end rfu_REQ_pollSearchParent
-
- thumb_func_start sub_81E0FC0
-sub_81E0FC0: @ 81E0FC0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- cmp r4, 0
- bne _081E0FD4
- bl rfu_STC_readParentCandidateList
-_081E0FD4:
- adds r0, r5, 0
- adds r1, r4, 0
- bl rfu_STC_REQ_callback
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81E0FC0
-
- thumb_func_start rfu_REQ_endSearchParent
-rfu_REQ_endSearchParent: @ 81E0FE4
- push {lr}
- ldr r0, _081E0FF4 @ =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- bl STWI_send_SP_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E0FF4: .4byte rfu_STC_REQ_callback
- thumb_func_end rfu_REQ_endSearchParent
-
- thumb_func_start rfu_STC_readParentCandidateList
-rfu_STC_readParentCandidateList: @ 81E0FF8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r0, sp
- movs r4, 0
- strh r4, [r0]
- ldr r5, _081E10A0 @ =gUnknown_3007460
- ldr r1, [r5]
- adds r1, 0x14
- ldr r2, _081E10A4 @ =0x01000040
- bl CpuSet
- ldr r0, _081E10A8 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r2, [r0]
- ldrb r7, [r2, 0x1]
- adds r2, 0x4
- ldr r0, [r5]
- strb r4, [r0, 0x8]
- movs r6, 0
- cmp r7, 0
- beq _081E10FC
- mov r12, r5
- ldr r0, _081E10AC @ =0x00007fff
- mov r8, r0
-_081E102E:
- subs r0, r7, 0x7
- lsls r0, 24
- lsrs r7, r0, 24
- adds r1, r2, 0x6
- adds r2, 0x13
- ldrb r0, [r2]
- mvns r0, r0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, 0x1
- movs r4, 0
- movs r3, 0
- adds r6, 0x1
-_081E1048:
- ldrb r0, [r2]
- adds r0, r4, r0
- lsls r0, 24
- adds r2, 0x1
- lsrs r0, 24
- ldrb r4, [r1]
- adds r0, r4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r1, 0x1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x7
- bls _081E1048
- cmp r4, r5
- bne _081E10F0
- subs r2, 0x1C
- mov r0, r12
- ldr r1, [r0]
- ldrb r0, [r1, 0x8]
- lsls r0, 5
- adds r0, 0x14
- adds r4, r1, r0
- ldrh r0, [r2]
- movs r3, 0
- strh r0, [r4]
- adds r2, 0x2
- ldrb r0, [r2]
- strb r0, [r4, 0x2]
- adds r2, 0x2
- ldrh r1, [r2]
- mov r0, r8
- ands r0, r1
- strh r0, [r4, 0x4]
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _081E10B0
- movs r0, 0x1
- strb r0, [r4, 0x3]
- b _081E10B2
- .align 2, 0
-_081E10A0: .4byte gUnknown_3007460
-_081E10A4: .4byte 0x01000040
-_081E10A8: .4byte gUnknown_3007468
-_081E10AC: .4byte 0x00007fff
-_081E10B0:
- strb r3, [r4, 0x3]
-_081E10B2:
- adds r2, 0x2
- movs r3, 0
- adds r5, r4, 0
- adds r5, 0x15
- adds r4, 0x6
-_081E10BC:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xC
- bls _081E10BC
- adds r2, 0x1
- movs r3, 0
- adds r4, r5, 0
-_081E10D4:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x7
- bls _081E10D4
- mov r4, r12
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_081E10F0:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _081E10FC
- cmp r7, 0
- bne _081E102E
-_081E10FC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end rfu_STC_readParentCandidateList
-
- thumb_func_start rfu_REQ_startConnectParent
-rfu_REQ_startConnectParent: @ 81E1108
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r3, 0
- movs r2, 0
- ldr r1, _081E1154 @ =gUnknown_3007460
- ldr r0, [r1]
- ldrh r0, [r0, 0x14]
- cmp r0, r4
- beq _081E1134
- adds r5, r1, 0
-_081E111E:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _081E1134
- ldr r0, [r5]
- lsls r1, r2, 5
- adds r0, r1
- ldrh r0, [r0, 0x14]
- cmp r0, r4
- bne _081E111E
-_081E1134:
- cmp r2, 0x4
- bne _081E113C
- movs r3, 0x80
- lsls r3, 1
-_081E113C:
- cmp r3, 0
- bne _081E1160
- ldr r0, _081E1158 @ =gUnknown_3007464
- ldr r0, [r0]
- strh r4, [r0, 0x1E]
- ldr r0, _081E115C @ =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- adds r0, r4, 0
- bl STWI_send_CP_StartREQ
- b _081E1168
- .align 2, 0
-_081E1154: .4byte gUnknown_3007460
-_081E1158: .4byte gUnknown_3007464
-_081E115C: .4byte rfu_STC_REQ_callback
-_081E1160:
- movs r0, 0x1F
- adds r1, r3, 0
- bl rfu_STC_REQ_callback
-_081E1168:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end rfu_REQ_startConnectParent
-
- thumb_func_start rfu_REQ_pollConnectParent
-rfu_REQ_pollConnectParent: @ 81E1170
- push {lr}
- ldr r0, _081E1180 @ =rfu_CB_pollConnectParent
- bl STWI_set_Callback_M
- bl STWI_send_CP_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E1180: .4byte rfu_CB_pollConnectParent
- thumb_func_end rfu_REQ_pollConnectParent
-
- thumb_func_start rfu_CB_pollConnectParent
-rfu_CB_pollConnectParent: @ 81E1184
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x28]
- cmp r1, 0
- bne _081E1286
- ldr r0, _081E1240 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrh r5, [r0, 0x4]
- ldrb r1, [r0, 0x6]
- mov r10, r1
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _081E1286
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r2, r0, 24
- ldr r4, _081E1244 @ =gUnknown_3007460
- ldr r3, [r4]
- ldrb r1, [r3, 0x2]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _081E1286
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r3, 0x2]
- ldr r1, [r4]
- ldrb r0, [r1, 0x3]
- bics r0, r2
- strb r0, [r1, 0x3]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x94
- movs r2, 0
- strh r5, [r0]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, [r4]
- strb r2, [r0]
- ldr r3, _081E1248 @ =gUnknown_3007464
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r5, 0
- adds r7, r4, 0
- add r6, sp, 0x20
- movs r0, 0
- mov r8, r0
-_081E1202:
- ldr r2, [r7]
- lsls r4, r5, 5
- adds r0, r2, r4
- ldr r1, [r3]
- ldrh r0, [r0, 0x14]
- ldrh r1, [r1, 0x1E]
- cmp r0, r1
- bne _081E125A
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _081E1250
- mov r9, sp
- adds r0, r4, 0
- adds r0, 0x14
- adds r0, r2, r0
- mov r1, sp
- movs r2, 0x10
- bl CpuSet
- mov r1, r8
- strh r1, [r6]
- ldr r1, [r7]
- adds r1, 0x14
- adds r0, r6, 0
- ldr r2, _081E124C @ =0x01000040
- bl CpuSet
- ldr r0, [r7]
- mov r1, r8
- strb r1, [r0, 0x8]
- b _081E1264
- .align 2, 0
-_081E1240: .4byte gUnknown_3007468
-_081E1244: .4byte gUnknown_3007460
-_081E1248: .4byte gUnknown_3007464
-_081E124C: .4byte 0x01000040
-_081E1250:
- adds r0, r4, 0
- adds r0, 0x14
- adds r2, r0
- mov r9, r2
- b _081E1264
-_081E125A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081E1202
-_081E1264:
- cmp r5, 0x3
- bhi _081E1286
- ldr r4, _081E12A0 @ =gUnknown_3007460
- mov r0, r10
- lsls r5, r0, 5
- adds r0, r5, 0
- adds r0, 0x14
- ldr r1, [r4]
- adds r1, r0
- mov r0, r9
- movs r2, 0x10
- bl CpuSet
- ldr r0, [r4]
- adds r0, r5
- mov r1, r10
- strb r1, [r0, 0x16]
-_081E1286:
- ldr r0, [sp, 0x24]
- ldr r1, [sp, 0x28]
- bl rfu_STC_REQ_callback
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E12A0: .4byte gUnknown_3007460
- thumb_func_end rfu_CB_pollConnectParent
-
- thumb_func_start rfu_getConnectParentStatus
-rfu_getConnectParentStatus: @ 81E12A4
- push {lr}
- adds r3, r0, 0
- movs r0, 0xFF
- strb r0, [r3]
- ldr r0, _081E12C4 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r2, [r0]
- ldrb r0, [r2]
- adds r0, 0x60
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _081E12C8
- movs r0, 0x10
- b _081E12D4
- .align 2, 0
-_081E12C4: .4byte gUnknown_3007468
-_081E12C8:
- adds r2, 0x6
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2, 0x1]
- strb r0, [r3]
- movs r0, 0
-_081E12D4:
- pop {r1}
- bx r1
- thumb_func_end rfu_getConnectParentStatus
-
- thumb_func_start rfu_REQ_endConnectParent
-rfu_REQ_endConnectParent: @ 81E12D8
- push {lr}
- ldr r0, _081E1304 @ =rfu_CB_pollConnectParent
- bl STWI_set_Callback_M
- bl STWI_send_CP_EndREQ
- ldr r0, _081E1308 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- cmp r0, 0x3
- bhi _081E1300
- ldr r0, _081E130C @ =gUnknown_3007464
- ldr r0, [r0]
- adds r0, 0xA
- ldrb r1, [r1, 0x6]
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_081E1300:
- pop {r0}
- bx r0
- .align 2, 0
-_081E1304: .4byte rfu_CB_pollConnectParent
-_081E1308: .4byte gUnknown_3007468
-_081E130C: .4byte gUnknown_3007464
- thumb_func_end rfu_REQ_endConnectParent
-
- thumb_func_start rfu_syncVBlank
-rfu_syncVBlank: @ 81E1310
- push {r4,r5,lr}
- bl rfu_NI_checkCommFailCounter
- ldr r0, _081E1358 @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081E13E8
- ldr r4, _081E135C @ =gUnknown_3007464
- ldr r1, [r4]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _081E132E
- subs r0, 0x1
- strb r0, [r1, 0x6]
-_081E132E:
- bl rfu_getMasterSlave
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, [r4]
- ldrb r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _081E1360
- cmp r3, 0
- bne _081E136E
- movs r0, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r4]
- movs r0, 0xB4
- lsls r0, 1
- strh r0, [r1, 0x20]
- b _081E136A
- .align 2, 0
-_081E1358: .4byte gUnknown_3007460
-_081E135C: .4byte gUnknown_3007464
-_081E1360:
- cmp r3, 0
- beq _081E1380
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
-_081E136A:
- cmp r3, 0
- beq _081E1380
-_081E136E:
- ldr r3, _081E137C @ =gUnknown_3007464
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _081E138A
- .align 2, 0
-_081E137C: .4byte gUnknown_3007464
-_081E1380:
- ldr r3, _081E13DC @ =gUnknown_3007464
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x2
- orrs r0, r1
-_081E138A:
- strb r0, [r2]
- ldr r3, [r3]
- ldrb r1, [r3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081E13E8
- ldrh r0, [r3, 0x20]
- cmp r0, 0
- bne _081E13E4
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r3]
- ldr r0, _081E13E0 @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- adds r5, r0, 0
- orrs r5, r1
- movs r4, 0
-_081E13B2:
- adds r0, r5, 0
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081E13C4
- adds r0, r4, 0
- bl rfu_STC_removeLinkData
-_081E13C4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081E13B2
- ldr r0, _081E13E0 @ =gUnknown_3007460
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
- b _081E13EA
- .align 2, 0
-_081E13DC: .4byte gUnknown_3007464
-_081E13E0: .4byte gUnknown_3007460
-_081E13E4:
- subs r0, 0x1
- strh r0, [r3, 0x20]
-_081E13E8:
- movs r0, 0
-_081E13EA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_syncVBlank
-
- thumb_func_start sub_81E13F0
-sub_81E13F0: @ 81E13F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r8, r1
- str r2, [sp]
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0
- str r1, [sp, 0xC]
- mov r2, r8
- strb r1, [r2]
- mov r0, sp
- ldrb r1, [r0, 0xC]
- ldr r0, [sp]
- strb r1, [r0]
- mov r2, sp
- ldrb r0, [r2, 0xC]
- ldr r2, [sp, 0x4]
- strb r0, [r2]
- ldr r4, _081E1490 @ =gUnknown_3007460
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081E142E
- b _081E178E
-_081E142E:
- ldr r0, _081E1494 @ =gRfuState
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _081E143A
- b _081E178E
-_081E143A:
- ldr r3, _081E1498 @ =gUnknown_3007464
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081E144E
- movs r0, 0xB4
- lsls r0, 1
- strh r0, [r2, 0x20]
-_081E144E:
- ldr r1, [r3]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _081E1460
- ldr r0, [r4]
- ldrb r0, [r0, 0x9]
- strb r0, [r1, 0x6]
- movs r1, 0x1
- str r1, [sp, 0x8]
-_081E1460:
- lsls r0, r5, 24
- lsrs r0, 24
- cmp r0, 0x29
- bne _081E14A0
- ldr r0, _081E149C @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- mov r2, r8
- strb r0, [r2]
- ldrb r0, [r1, 0x5]
- ldr r1, [sp]
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081E148A
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- strb r0, [r2]
-_081E148A:
- movs r2, 0x2
- str r2, [sp, 0x8]
- b _081E14F8
- .align 2, 0
-_081E1490: .4byte gUnknown_3007460
-_081E1494: .4byte gRfuState
-_081E1498: .4byte gUnknown_3007464
-_081E149C: .4byte gUnknown_3007468
-_081E14A0:
- movs r0, 0x9B
- lsls r0, 1
- cmp r5, r0
- bne _081E14F0
- ldr r0, _081E154C @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r6, [r0, 0x5]
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- eors r6, r0
- ands r6, r0
- mov r0, r8
- strb r6, [r0]
- movs r0, 0x1
- ldr r1, [sp]
- strb r0, [r1]
- movs r5, 0
-_081E14C6:
- mov r2, r8
- ldrb r0, [r2]
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081E14E6
- ldr r0, _081E1550 @ =gUnknown_3007460
- ldr r0, [r0]
- adds r0, 0xA
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- adds r0, r5, 0
- bl rfu_STC_removeLinkData
-_081E14E6:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081E14C6
-_081E14F0:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _081E14F8
- b _081E178E
-_081E14F8:
- ldr r4, _081E154C @ =gUnknown_3007468
- ldr r0, [r4]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r1, [r0]
- str r1, [sp, 0x10]
- ldr r0, [r0, 0x4]
- str r0, [sp, 0x14]
- ldr r0, _081E1554 @ =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_LinkStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- cmp r0, 0
- bne _081E1558
- ldr r0, [r4]
- adds r0, 0xDC
- ldr r0, [r0]
- adds r2, r0, 0x4
- movs r5, 0
- ldr r3, _081E1550 @ =gUnknown_3007460
-_081E152C:
- ldr r0, [r3]
- adds r0, 0xA
- adds r0, r5
- ldrb r1, [r2]
- strb r1, [r0]
- adds r2, 0x1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081E152C
- movs r2, 0
- mov r9, r2
- movs r5, 0
- b _081E1564
- .align 2, 0
-_081E154C: .4byte gUnknown_3007468
-_081E1550: .4byte gUnknown_3007460
-_081E1554: .4byte rfu_CB_defaultCallback
-_081E1558:
- movs r0, 0x11
- ldr r1, [sp, 0xC]
- bl rfu_STC_REQ_callback
- ldr r0, [sp, 0xC]
- b _081E1790
-_081E1564:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r5
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- mov r10, r0
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _081E1578
- b _081E1742
-_081E1578:
- ldr r2, [sp, 0x8]
- cmp r2, 0x1
- bne _081E164E
- ldr r4, _081E15B8 @ =gUnknown_3007460
- ldr r1, [r4]
- ldrb r0, [r1, 0x2]
- ands r0, r6
- cmp r0, 0
- beq _081E164E
- adds r0, r1, 0
- adds r0, 0xA
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _081E1640
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _081E15C0
- ldr r2, _081E15BC @ =gUnknown_3007464
- ldr r1, [r2]
- adds r1, 0xA
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0xA
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _081E164E
- b _081E1626
- .align 2, 0
-_081E15B8: .4byte gUnknown_3007460
-_081E15BC: .4byte gUnknown_3007464
-_081E15C0:
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _081E164E
- ldr r0, _081E15F0 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _081E15F4
- mov r2, r8
- ldrb r1, [r2]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2]
- mov r0, sp
- ldrb r1, [r0, 0x8]
- ldr r0, [sp]
- b _081E164C
- .align 2, 0
-_081E15F0: .4byte gUnknown_3007468
-_081E15F4:
- ldr r2, _081E163C @ =gUnknown_3007464
- ldr r1, [r2]
- adds r1, 0xA
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- ldr r2, [r2]
- lsrs r0, 24
- ldrh r1, [r2, 0x1A]
- cmp r0, r1
- bls _081E164E
- adds r0, r2, 0
- adds r0, 0xA
- adds r0, r5
- mov r2, sp
- ldrb r2, [r2, 0xC]
- strb r2, [r0]
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- bl STWI_send_DisconnectREQ
- bl STWI_poll_CommandEnd
-_081E1626:
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- mov r2, sp
- ldrb r0, [r2, 0x8]
- ldr r2, [sp]
- strb r0, [r2]
- b _081E164E
- .align 2, 0
-_081E163C: .4byte gUnknown_3007464
-_081E1640:
- ldr r0, _081E16B0 @ =gUnknown_3007464
- ldr r0, [r0]
- adds r0, 0xA
- adds r0, r5
- mov r1, sp
- ldrb r1, [r1, 0xC]
-_081E164C:
- strb r1, [r0]
-_081E164E:
- ldr r2, _081E16B4 @ =gUnknown_3007460
- mov r12, r2
- ldr r1, [r2]
- ldrb r7, [r1]
- adds r0, r5, 0x1
- mov r10, r0
- cmp r7, 0x1
- bne _081E1742
- adds r0, r1, 0
- adds r0, 0xA
- adds r4, r0, r5
- ldrb r3, [r4]
- cmp r3, 0
- beq _081E1742
- ldrb r2, [r1, 0x3]
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- beq _081E16BE
- cmp r3, 0xA
- bls _081E16B8
- ldr r2, [sp, 0x4]
- ldrb r1, [r2]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2]
- mov r0, r12
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- adds r0, r6, 0
- orrs r0, r1
- movs r3, 0
- strb r0, [r2, 0x2]
- mov r2, r12
- ldr r1, [r2]
- ldrb r0, [r1, 0x3]
- bics r0, r6
- strb r0, [r1, 0x3]
- ldr r1, [r2]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, _081E16B0 @ =gUnknown_3007464
- ldr r0, [r0]
- adds r0, 0xA
- adds r0, r5
- strb r3, [r0]
- b _081E1742
- .align 2, 0
-_081E16B0: .4byte gUnknown_3007464
-_081E16B4: .4byte gUnknown_3007460
-_081E16B8:
- movs r0, 0
- strb r0, [r4]
- b _081E1742
-_081E16BE:
- ldrb r0, [r1, 0x2]
- orrs r0, r2
- ands r0, r6
- cmp r0, 0
- bne _081E1742
- bl STWI_send_SlotStatusREQ
- bl STWI_poll_CommandEnd
- ldr r0, _081E1708 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, 0x8
- cmp r3, 0
- beq _081E1742
- ldrh r4, [r2]
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _081E1710
- ldr r0, _081E170C @ =gUnknown_3007464
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x12
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _081E1710
- lsls r7, r5
- mov r0, r9
- orrs r0, r7
- lsls r0, 24
- b _081E173E
- .align 2, 0
-_081E1708: .4byte gUnknown_3007468
-_081E170C: .4byte gUnknown_3007464
-_081E1710:
- adds r2, 0x4
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _081E1742
- ldrh r4, [r2]
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _081E1710
- ldr r0, _081E17A0 @ =gUnknown_3007464
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x12
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _081E1710
- movs r0, 0x1
- lsls r0, r5
- mov r1, r9
- orrs r1, r0
- lsls r0, r1, 24
-_081E173E:
- lsrs r0, 24
- mov r9, r0
-_081E1742:
- ldr r0, _081E17A4 @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- mov r2, r8
- ldrb r0, [r2]
- ands r0, r1
- ands r6, r0
- cmp r6, 0
- beq _081E175C
- adds r0, r5, 0
- movs r1, 0
- bl rfu_STC_removeLinkData
-_081E175C:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bhi _081E1768
- b _081E1564
-_081E1768:
- mov r2, r9
- cmp r2, 0
- beq _081E1778
- mov r0, r9
- bl STWI_send_DisconnectREQ
- bl STWI_poll_CommandEnd
-_081E1778:
- ldr r1, _081E17A8 @ =gUnknown_3007468
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r2, [sp, 0x10]
- str r2, [r0]
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r1, [sp, 0x14]
- str r1, [r0, 0x4]
-_081E178E:
- movs r0, 0
-_081E1790:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081E17A0: .4byte gUnknown_3007464
-_081E17A4: .4byte gUnknown_3007460
-_081E17A8: .4byte gUnknown_3007468
- thumb_func_end sub_81E13F0
-
- thumb_func_start rfu_STC_removeLinkData
-rfu_STC_removeLinkData: @ 81E17AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r7
- lsrs r5, r0, 24
- ldr r1, _081E1850 @ =gUnknown_3007460
- ldr r4, [r1]
- ldrb r0, [r4, 0x2]
- ands r0, r5
- mov r8, r1
- cmp r0, 0
- beq _081E17DE
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _081E17DE
- subs r0, 0x1
- strb r0, [r4, 0x1]
-_081E17DE:
- mov r3, r8
- ldr r2, [r3]
- mvns r6, r5
- ldrb r1, [r2, 0x2]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- adds r0, r5, 0
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r3, [r3]
- ldr r0, [r3]
- ldr r1, _081E1854 @ =0x00ff00ff
- ands r0, r1
- cmp r0, 0
- bne _081E1806
- movs r0, 0xFF
- strb r0, [r3]
-_081E1806:
- mov r0, r12
- cmp r0, 0
- beq _081E1844
- mov r1, sp
- movs r4, 0
- movs r0, 0
- strh r0, [r1]
- lsls r0, r7, 5
- adds r0, 0x14
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r2, _081E1858 @ =0x01000010
- mov r0, sp
- bl CpuSet
- mov r0, r8
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2, 0x3]
- mov r2, r8
- ldr r1, [r2]
- ldrb r0, [r1, 0x7]
- ands r6, r0
- strb r6, [r1, 0x7]
- ldr r0, [r2]
- adds r0, 0xA
- adds r0, r7
- strb r4, [r0]
-_081E1844:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E1850: .4byte gUnknown_3007460
-_081E1854: .4byte 0x00ff00ff
-_081E1858: .4byte 0x01000010
- thumb_func_end rfu_STC_removeLinkData
-
- thumb_func_start rfu_REQ_disconnect
-rfu_REQ_disconnect: @ 81E185C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _081E18A0 @ =gUnknown_3007460
- ldr r1, [r2]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ands r0, r4
- cmp r0, 0
- beq _081E18E0
- ldr r0, _081E18A4 @ =gUnknown_3007464
- ldr r1, [r0]
- strb r4, [r1, 0x5]
- ldr r2, [r2]
- ldrb r1, [r2]
- adds r3, r0, 0
- cmp r1, 0xFF
- bne _081E18A8
- ldr r0, [r3]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081E18A8
- ldrb r0, [r2, 0x3]
- ands r0, r4
- cmp r0, 0
- beq _081E18E0
- movs r0, 0x30
- movs r1, 0
- bl rfu_CB_disconnect
- b _081E18E0
- .align 2, 0
-_081E18A0: .4byte gUnknown_3007460
-_081E18A4: .4byte gUnknown_3007464
-_081E18A8:
- ldr r0, [r3]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _081E18D4
- ldr r0, _081E18D0 @ =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SC_EndREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _081E18D4
- movs r0, 0x1B
- bl rfu_STC_REQ_callback
- b _081E18E0
- .align 2, 0
-_081E18D0: .4byte rfu_CB_defaultCallback
-_081E18D4:
- ldr r0, _081E18E8 @ =rfu_CB_disconnect
- bl STWI_set_Callback_M
- adds r0, r4, 0
- bl STWI_send_DisconnectREQ
-_081E18E0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081E18E8: .4byte rfu_CB_disconnect
- thumb_func_end rfu_REQ_disconnect
-
- thumb_func_start rfu_CB_disconnect
-rfu_CB_disconnect: @ 81E18EC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- cmp r5, 0x3
- bne _081E1928
- ldr r0, _081E19BC @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- bne _081E1928
- ldr r0, _081E19C0 @ =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _081E1928
- ldr r0, _081E19C4 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _081E1928
- movs r5, 0
-_081E1928:
- ldr r3, _081E19C8 @ =gUnknown_3007464
- ldr r2, [r3]
- ldr r0, _081E19BC @ =gUnknown_3007460
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ldrb r1, [r2, 0x5]
- ands r0, r1
- strb r0, [r2, 0x5]
- ldr r0, _081E19C4 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldr r0, [r3]
- ldrb r0, [r0, 0x5]
- strb r0, [r1, 0x8]
- cmp r5, 0
- bne _081E1976
- movs r4, 0
-_081E1950:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r4
- lsrs r0, 24
- ldr r1, _081E19C8 @ =gUnknown_3007464
- ldr r1, [r1]
- ldrb r1, [r1, 0x5]
- ands r0, r1
- cmp r0, 0
- beq _081E196C
- adds r0, r4, 0
- movs r1, 0x1
- bl rfu_STC_removeLinkData
-_081E196C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081E1950
-_081E1976:
- ldr r0, _081E19BC @ =gUnknown_3007460
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- orrs r0, r1
- cmp r0, 0
- bne _081E1988
- movs r0, 0xFF
- strb r0, [r2]
-_081E1988:
- adds r0, r6, 0
- adds r1, r5, 0
- bl rfu_STC_REQ_callback
- ldr r0, _081E19C8 @ =gUnknown_3007464
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _081E19B6
- ldr r0, _081E19C0 @ =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SC_StartREQ
- bl STWI_poll_CommandEnd
- adds r5, r0, 0
- cmp r5, 0
- beq _081E19B6
- movs r0, 0x19
- adds r1, r5, 0
- bl rfu_STC_REQ_callback
-_081E19B6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081E19BC: .4byte gUnknown_3007460
-_081E19C0: .4byte rfu_CB_defaultCallback
-_081E19C4: .4byte gUnknown_3007468
-_081E19C8: .4byte gUnknown_3007464
- thumb_func_end rfu_CB_disconnect
-
- thumb_func_start rfu_REQ_CHILD_startConnectRecovery
-rfu_REQ_CHILD_startConnectRecovery: @ 81E19CC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _081E1A1C @ =gUnknown_3007464
- ldr r0, [r0]
- strb r5, [r0, 0x5]
- movs r4, 0
- movs r0, 0x1
- ands r0, r5
- ldr r2, _081E1A20 @ =rfu_STC_REQ_callback
- cmp r0, 0
- bne _081E19FA
- movs r1, 0x1
-_081E19E6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _081E19FA
- adds r0, r5, 0
- asrs r0, r4
- ands r0, r1
- cmp r0, 0
- beq _081E19E6
-_081E19FA:
- adds r0, r2, 0
- bl STWI_set_Callback_M
- ldr r0, _081E1A24 @ =gUnknown_3007460
- ldr r1, [r0]
- lsls r0, r4, 5
- adds r0, r1, r0
- ldrh r0, [r0, 0x14]
- adds r1, 0x94
- ldrh r1, [r1]
- adds r2, r5, 0
- bl STWI_send_CPR_StartREQ
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081E1A1C: .4byte gUnknown_3007464
-_081E1A20: .4byte rfu_STC_REQ_callback
-_081E1A24: .4byte gUnknown_3007460
- thumb_func_end rfu_REQ_CHILD_startConnectRecovery
-
- thumb_func_start rfu_REQ_CHILD_pollConnectRecovery
-rfu_REQ_CHILD_pollConnectRecovery: @ 81E1A28
- push {lr}
- ldr r0, _081E1A38 @ =rfu_CB_CHILD_pollConnectRecovery
- bl STWI_set_Callback_M
- bl STWI_send_CPR_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E1A38: .4byte rfu_CB_CHILD_pollConnectRecovery
- thumb_func_end rfu_REQ_CHILD_pollConnectRecovery
-
- thumb_func_start rfu_CB_CHILD_pollConnectRecovery
-rfu_CB_CHILD_pollConnectRecovery: @ 81E1A3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _081E1AC0
- ldr r0, _081E1AD4 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _081E1AC0
- ldr r0, _081E1AD8 @ =gUnknown_3007464
- ldr r1, [r0]
- ldrb r1, [r1, 0x5]
- adds r6, r0, 0
- cmp r1, 0
- beq _081E1AC0
- ldr r1, _081E1ADC @ =gUnknown_3007460
- ldr r0, [r1]
- strb r7, [r0]
- movs r4, 0
- adds r5, r1, 0
- mov r12, r4
-_081E1A76:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r4
- lsrs r3, r0, 24
- ldr r2, [r5]
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- ands r0, r3
- ldrb r1, [r2, 0x3]
- ands r0, r1
- cmp r0, 0
- beq _081E1AB0
- ldrb r1, [r2, 0x2]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- bics r0, r3
- strb r0, [r1, 0x3]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- adds r0, 0xA
- adds r0, r4
- mov r1, r12
- strb r1, [r0]
-_081E1AB0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081E1A76
- ldr r1, [r6]
- movs r0, 0
- strb r0, [r1, 0x5]
-_081E1AC0:
- mov r0, r8
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E1AD4: .4byte gUnknown_3007468
-_081E1AD8: .4byte gUnknown_3007464
-_081E1ADC: .4byte gUnknown_3007460
- thumb_func_end rfu_CB_CHILD_pollConnectRecovery
-
- thumb_func_start rfu_CHILD_getConnectRecoveryStatus
-rfu_CHILD_getConnectRecoveryStatus: @ 81E1AE0
- push {lr}
- adds r2, r0, 0
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, _081E1B00 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x4D
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _081E1B04
- movs r0, 0x10
- b _081E1B0A
- .align 2, 0
-_081E1B00: .4byte gUnknown_3007468
-_081E1B04:
- ldrb r0, [r1, 0x4]
- strb r0, [r2]
- movs r0, 0
-_081E1B0A:
- pop {r1}
- bx r1
- thumb_func_end rfu_CHILD_getConnectRecoveryStatus
-
- thumb_func_start rfu_REQ_CHILD_endConnectRecovery
-rfu_REQ_CHILD_endConnectRecovery: @ 81E1B10
- push {lr}
- ldr r0, _081E1B20 @ =rfu_CB_CHILD_pollConnectRecovery
- bl STWI_set_Callback_M
- bl STWI_send_CPR_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E1B20: .4byte rfu_CB_CHILD_pollConnectRecovery
- thumb_func_end rfu_REQ_CHILD_endConnectRecovery
-
- thumb_func_start sub_81E1B24
-sub_81E1B24: @ 81E1B24
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r3, [r5]
- ldr r1, [r6]
- subs r2, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _081E1B48
- adds r4, r0, 0
-_081E1B3A:
- ldrb r0, [r3]
- strb r0, [r1]
- adds r3, 0x1
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, r4
- bne _081E1B3A
-_081E1B48:
- str r3, [r5]
- str r1, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81E1B24
-
- thumb_func_start rfu_REQ_changeMasterSlave
-rfu_REQ_changeMasterSlave: @ 81E1B54
- push {lr}
- movs r0, 0x1
- bl STWI_read_status
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _081E1B74
- ldr r0, _081E1B70 @ =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- bl STWI_send_MS_ChangeREQ
- b _081E1B7C
- .align 2, 0
-_081E1B70: .4byte rfu_STC_REQ_callback
-_081E1B74:
- movs r0, 0x27
- movs r1, 0
- bl rfu_STC_REQ_callback
-_081E1B7C:
- pop {r0}
- bx r0
- thumb_func_end rfu_REQ_changeMasterSlave
-
- thumb_func_start rfu_getMasterSlave
-rfu_getMasterSlave: @ 81E1B80
- push {lr}
- movs r0, 0x1
- bl STWI_read_status
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bne _081E1BAE
- ldr r0, _081E1BB4 @ =gRfuState
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _081E1BAE
- ldrb r0, [r1, 0x6]
- cmp r0, 0x27
- beq _081E1BAC
- cmp r0, 0x25
- beq _081E1BAC
- cmp r0, 0x37
- bne _081E1BAE
-_081E1BAC:
- movs r2, 0
-_081E1BAE:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_081E1BB4: .4byte gRfuState
- thumb_func_end rfu_getMasterSlave
-
- thumb_func_start rfu_clearAllSlot
-rfu_clearAllSlot: @ 81E1BB8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r1, _081E1C3C @ =0x04000208
- ldrh r0, [r1]
- mov r8, r0
- movs r0, 0
- strh r0, [r1]
- movs r5, 0
- mov r0, sp
- adds r0, 0x2
- movs r7, 0
- adds r6, r0, 0
-_081E1BD4:
- mov r0, sp
- strh r7, [r0]
- ldr r0, _081E1C40 @ =gUnknown_3007450
- lsls r4, r5, 2
- adds r0, r4, r0
- ldr r1, [r0]
- mov r0, sp
- ldr r2, _081E1C44 @ =0x01000034
- bl CpuSet
- strh r7, [r6]
- ldr r0, _081E1C48 @ =gUnknown_3007440
- adds r4, r0
- ldr r1, [r4]
- adds r0, r6, 0
- ldr r2, _081E1C4C @ =0x0100000a
- bl CpuSet
- ldr r3, _081E1C50 @ =gUnknown_3007460
- ldr r0, [r3]
- adds r0, 0x10
- adds r0, r5
- movs r1, 0x10
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _081E1BD4
- ldr r2, [r3]
- movs r1, 0
- movs r0, 0x57
- strb r0, [r2, 0xF]
- ldr r0, [r3]
- strb r1, [r0, 0x4]
- ldr r0, [r3]
- strb r1, [r0, 0x5]
- ldr r0, [r3]
- strb r1, [r0, 0x6]
- ldr r0, _081E1C54 @ =gUnknown_3007464
- ldr r0, [r0]
- strb r1, [r0, 0x2]
- ldr r0, _081E1C3C @ =0x04000208
- mov r1, r8
- strh r1, [r0]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E1C3C: .4byte 0x04000208
-_081E1C40: .4byte gUnknown_3007450
-_081E1C44: .4byte 0x01000034
-_081E1C48: .4byte gUnknown_3007440
-_081E1C4C: .4byte 0x0100000a
-_081E1C50: .4byte gUnknown_3007460
-_081E1C54: .4byte gUnknown_3007464
- thumb_func_end rfu_clearAllSlot
-
- thumb_func_start rfu_STC_releaseFrame
-rfu_STC_releaseFrame: @ 81E1C58
- push {r4-r6,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r0, _081E1C90 @ =gUnknown_3007464
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081E1C98
- ldr r6, _081E1C94 @ =gUnknown_3007460
- cmp r3, 0
- bne _081E1C84
- ldr r1, [r6]
- ldrb r0, [r1, 0xF]
- ldrh r4, [r4, 0x2E]
- adds r0, r4
- strb r0, [r1, 0xF]
-_081E1C84:
- ldr r1, [r6]
- ldrb r0, [r1, 0xF]
- adds r0, 0x3
- strb r0, [r1, 0xF]
- b _081E1CB8
- .align 2, 0
-_081E1C90: .4byte gUnknown_3007464
-_081E1C94: .4byte gUnknown_3007460
-_081E1C98:
- ldr r6, _081E1CC0 @ =gUnknown_3007460
- cmp r3, 0
- bne _081E1CAC
- ldr r1, [r6]
- adds r1, 0x10
- adds r1, r2
- ldrb r0, [r1]
- ldrh r4, [r4, 0x2E]
- adds r0, r4
- strb r0, [r1]
-_081E1CAC:
- ldr r1, [r6]
- adds r1, 0x10
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x2
- strb r0, [r1]
-_081E1CB8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081E1CC0: .4byte gUnknown_3007460
- thumb_func_end rfu_STC_releaseFrame
-
- thumb_func_start rfu_clearSlot
-rfu_clearSlot: @ 81E1CC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r7, 0x3
- bls _081E1CE4
- movs r0, 0x80
- lsls r0, 3
- b _081E1E5C
-_081E1CE4:
- movs r0, 0xF
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _081E1CF4
- movs r0, 0xC0
- lsls r0, 3
- b _081E1E5C
-_081E1CF4:
- ldr r1, _081E1D38 @ =0x04000208
- ldrh r0, [r1]
- mov r10, r0
- movs r0, 0
- strh r0, [r1]
- movs r0, 0xC
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- beq _081E1DBC
- movs r3, 0
- ldr r1, _081E1D3C @ =gUnknown_3007450
- lsls r0, r7, 2
- adds r0, r1
- mov r9, r0
-_081E1D12:
- movs r4, 0
- cmp r3, 0
- bne _081E1D44
- movs r0, 0x4
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _081E1D64
- mov r2, r9
- ldr r4, [r2]
- ldr r0, _081E1D40 @ =gUnknown_3007460
- ldr r2, [r0]
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- ldrb r0, [r2, 0x4]
- bics r0, r1
- strb r0, [r2, 0x4]
- b _081E1D64
- .align 2, 0
-_081E1D38: .4byte 0x04000208
-_081E1D3C: .4byte gUnknown_3007450
-_081E1D40: .4byte gUnknown_3007460
-_081E1D44:
- movs r0, 0x8
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _081E1D64
- mov r2, r9
- ldr r0, [r2]
- adds r4, r0, 0
- adds r4, 0x34
- ldr r0, _081E1DF8 @ =gUnknown_3007460
- ldr r2, [r0]
- movs r1, 0x1
- lsls r1, r7
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
-_081E1D64:
- adds r6, r3, 0x1
- cmp r4, 0
- beq _081E1DB4
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _081E1DA4
- lsls r1, r3, 24
- lsrs r1, 24
- adds r0, r7, 0
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- movs r1, 0
- adds r2, r4, 0
- adds r2, 0x2C
- movs r5, 0x1
- movs r3, 0
-_081E1D8E:
- ldrb r0, [r2]
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _081E1D9A
- strh r3, [r4, 0x2]
-_081E1D9A:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _081E1D8E
-_081E1DA4:
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- mov r0, sp
- adds r1, r4, 0
- ldr r2, _081E1DFC @ =0x0100001a
- bl CpuSet
-_081E1DB4:
- lsls r0, r6, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _081E1D12
-_081E1DBC:
- movs r0, 0x1
- mov r4, r8
- ands r0, r4
- cmp r0, 0
- beq _081E1E32
- ldr r1, _081E1E00 @ =gUnknown_3007440
- lsls r0, r7, 2
- adds r0, r1
- ldr r3, [r0]
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _081E1E24
- ldr r0, _081E1E04 @ =gUnknown_3007464
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081E1E08
- ldr r2, _081E1DF8 @ =gUnknown_3007460
- ldr r1, [r2]
- ldrb r0, [r1, 0xF]
- adds r0, 0x3
- ldrb r4, [r3, 0x4]
- adds r0, r4
- strb r0, [r1, 0xF]
- b _081E1E1A
- .align 2, 0
-_081E1DF8: .4byte gUnknown_3007460
-_081E1DFC: .4byte 0x0100001a
-_081E1E00: .4byte gUnknown_3007440
-_081E1E04: .4byte gUnknown_3007464
-_081E1E08:
- ldr r2, _081E1E6C @ =gUnknown_3007460
- ldr r1, [r2]
- adds r1, 0x10
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x2
- ldrb r4, [r3, 0x4]
- adds r0, r4
- strb r0, [r1]
-_081E1E1A:
- ldr r2, [r2]
- ldrb r1, [r3, 0x3]
- ldrb r0, [r2, 0x6]
- bics r0, r1
- strb r0, [r2, 0x6]
-_081E1E24:
- mov r0, sp
- movs r1, 0
- strh r1, [r0]
- ldr r2, _081E1E70 @ =0x01000006
- adds r1, r3, 0
- bl CpuSet
-_081E1E32:
- movs r0, 0x2
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _081E1E54
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, _081E1E74 @ =gUnknown_3007440
- lsls r0, r7, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0xC
- ldr r2, _081E1E78 @ =0x01000004
- mov r0, sp
- bl CpuSet
-_081E1E54:
- ldr r0, _081E1E7C @ =0x04000208
- mov r2, r10
- strh r2, [r0]
- movs r0, 0
-_081E1E5C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081E1E6C: .4byte gUnknown_3007460
-_081E1E70: .4byte 0x01000006
-_081E1E74: .4byte gUnknown_3007440
-_081E1E78: .4byte 0x01000004
-_081E1E7C: .4byte 0x04000208
- thumb_func_end rfu_clearSlot
-
- thumb_func_start rfu_setRecvBuffer
-rfu_setRecvBuffer: @ 81E1E80
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, r3, 0
- lsls r1, 24
- lsrs r1, 24
- adds r4, r1, 0
- cmp r1, 0x3
- bls _081E1E9C
- movs r0, 0x80
- lsls r0, 3
- b _081E1ED4
-_081E1E9C:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _081E1EB8
- ldr r0, _081E1EB4 @ =gUnknown_3007450
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- str r5, [r0, 0x68]
- str r6, [r0, 0x6C]
- b _081E1ED2
- .align 2, 0
-_081E1EB4: .4byte gUnknown_3007450
-_081E1EB8:
- movs r0, 0x10
- ands r2, r0
- cmp r2, 0
- bne _081E1EC6
- movs r0, 0xC0
- lsls r0, 3
- b _081E1ED4
-_081E1EC6:
- ldr r0, _081E1EDC @ =gUnknown_3007440
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r5, [r0, 0x14]
- str r6, [r0, 0x18]
-_081E1ED2:
- movs r0, 0
-_081E1ED4:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081E1EDC: .4byte gUnknown_3007440
- thumb_func_end rfu_setRecvBuffer
-
- thumb_func_start rfu_NI_setSendData
-rfu_NI_setSendData: @ 81E1EE0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- str r3, [sp]
- movs r0, 0x20
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end rfu_NI_setSendData
-
- thumb_func_start rfu_UNI_setSendData
-rfu_UNI_setSendData: @ 81E1F0C
- push {lr}
- sub sp, 0x4
- adds r3, r1, 0
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _081E1F28 @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081E1F2C
- adds r0, r2, 0x3
- b _081E1F2E
- .align 2, 0
-_081E1F28: .4byte gUnknown_3007460
-_081E1F2C:
- adds r0, r2, 0x2
-_081E1F2E:
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_setSendData
-
- thumb_func_start rfu_NI_CHILD_setSendGameName
-rfu_NI_CHILD_setSendGameName: @ 81E1F48
- push {lr}
- sub sp, 0x4
- adds r2, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r1, 24
- ldr r0, _081E1F78 @ =gUnknown_3007460
- ldr r3, [r0]
- adds r3, 0x98
- movs r0, 0x1A
- str r0, [sp]
- movs r0, 0x40
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_081E1F78: .4byte gUnknown_3007460
- thumb_func_end rfu_NI_CHILD_setSendGameName
-
- thumb_func_start rfu_STC_setSendData_org
-rfu_STC_setSendData_org: @ 81E1F7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r3, [sp]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r0, _081E1FA8 @ =gUnknown_3007460
- ldr r2, [r0]
- ldrb r1, [r2]
- mov r10, r0
- cmp r1, 0xFF
- bne _081E1FB0
- ldr r0, _081E1FAC @ =0x00000301
- b _081E2166
- .align 2, 0
-_081E1FA8: .4byte gUnknown_3007460
-_081E1FAC: .4byte 0x00000301
-_081E1FB0:
- movs r0, 0xF
- ands r0, r3
- cmp r0, 0
- bne _081E1FBE
- movs r0, 0x80
- lsls r0, 3
- b _081E2166
-_081E1FBE:
- ldrb r0, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- orrs r0, r1
- ands r0, r3
- cmp r0, r3
- beq _081E1FD4
- ldr r0, _081E1FD0 @ =0x00000401
- b _081E2166
- .align 2, 0
-_081E1FD0: .4byte 0x00000401
-_081E1FD4:
- movs r0, 0x10
- ands r0, r6
- cmp r0, 0
- beq _081E1FE0
- ldrb r0, [r2, 0x6]
- b _081E1FE2
-_081E1FE0:
- ldrb r0, [r2, 0x4]
-_081E1FE2:
- ands r0, r3
- cmp r0, 0
- beq _081E1FF0
- ldr r0, _081E1FEC @ =0x00000402
- b _081E2166
- .align 2, 0
-_081E1FEC: .4byte 0x00000402
-_081E1FF0:
- movs r2, 0
- movs r0, 0x1
- ands r0, r3
- ldr r4, _081E2020 @ =_Str_RfuHeader
- cmp r0, 0
- bne _081E2012
- movs r1, 0x1
-_081E1FFE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _081E2012
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r1
- cmp r0, 0
- beq _081E1FFE
-_081E2012:
- mov r0, r10
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _081E2024
- adds r1, 0xF
- b _081E202E
- .align 2, 0
-_081E2020: .4byte _Str_RfuHeader
-_081E2024:
- cmp r0, 0
- bne _081E2030
- adds r0, r2, 0
- adds r0, 0x10
- adds r1, r0
-_081E202E:
- mov r9, r1
-_081E2030:
- mov r1, r10
- ldr r0, [r1]
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r4
- ldrb r4, [r0]
- mov r0, r9
- ldrb r0, [r0]
- cmp r8, r0
- bhi _081E2048
- cmp r8, r4
- bhi _081E204E
-_081E2048:
- movs r0, 0xA0
- lsls r0, 3
- b _081E2166
-_081E204E:
- ldr r1, _081E209C @ =0x04000208
- ldrh r0, [r1]
- str r0, [sp, 0x4]
- movs r7, 0
- strh r7, [r1]
- movs r0, 0x20
- ands r0, r6
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081E2068
- cmp r6, 0x40
- bne _081E2124
-_081E2068:
- ldr r1, _081E20A0 @ =gUnknown_3007450
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0
- strh r1, [r0, 0x18]
- mov r1, r12
- adds r1, 0x2D
- mov r2, r12
- str r1, [r2, 0x4]
- movs r0, 0x7
- str r0, [r2, 0x14]
- mov r0, r12
- adds r0, 0x2C
- strb r3, [r0]
- strb r3, [r2, 0x1A]
- mov r2, r8
- subs r0, r2, r4
- mov r2, r12
- strh r0, [r2, 0x2E]
- cmp r5, 0
- beq _081E20A4
- strb r7, [r1]
- b _081E20A8
- .align 2, 0
-_081E209C: .4byte 0x04000208
-_081E20A0: .4byte gUnknown_3007450
-_081E20A4:
- movs r0, 0x1
- strb r0, [r1]
-_081E20A8:
- ldr r0, [sp, 0x28]
- mov r1, r12
- str r0, [r1, 0x30]
- ldr r2, [sp]
- str r2, [r1, 0x28]
- movs r1, 0
- mov r0, r12
- strb r1, [r0, 0x1F]
- adds r0, 0x20
- strb r1, [r0]
- mov r4, r12
- adds r4, 0x1B
- movs r6, 0
- mov r2, r12
- adds r2, 0x21
- movs r5, 0x1
-_081E20C8:
- adds r0, r4, r1
- strb r6, [r0]
- adds r0, r2, r1
- strb r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _081E20C8
- movs r2, 0
- movs r5, 0x1
- ldr r4, _081E211C @ =gUnknown_3007450
- movs r1, 0
-_081E20E2:
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _081E20F4
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- strh r1, [r0, 0x2]
-_081E20F4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _081E20E2
- mov r1, r10
- ldr r2, [r1]
- ldrb r1, [r2, 0x4]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x4]
- mov r2, r9
- ldrb r0, [r2]
- mov r1, r8
- subs r0, r1
- strb r0, [r2]
- ldr r0, _081E2120 @ =0x00008021
- mov r2, r12
- strh r0, [r2]
- b _081E215C
- .align 2, 0
-_081E211C: .4byte gUnknown_3007450
-_081E2120: .4byte 0x00008021
-_081E2124:
- movs r0, 0x10
- ands r0, r6
- cmp r0, 0
- beq _081E215C
- ldr r1, _081E2178 @ =gUnknown_3007440
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- strb r3, [r1, 0x3]
- ldr r0, [sp]
- str r0, [r1, 0x8]
- mov r2, r8
- subs r0, r2, r4
- strh r0, [r1, 0x4]
- mov r2, r9
- ldrb r0, [r2]
- mov r2, r8
- subs r0, r2
- mov r2, r9
- strb r0, [r2]
- ldr r0, _081E217C @ =0x00008024
- strh r0, [r1]
- mov r0, r10
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x6]
-_081E215C:
- ldr r0, _081E2180 @ =0x04000208
- mov r1, sp
- ldrh r1, [r1, 0x4]
- strh r1, [r0]
- movs r0, 0
-_081E2166:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081E2178: .4byte gUnknown_3007440
-_081E217C: .4byte 0x00008024
-_081E2180: .4byte 0x04000208
- thumb_func_end rfu_STC_setSendData_org
-
- thumb_func_start rfu_changeSendTarget
-rfu_changeSendTarget: @ 81E2184
- 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
- adds r3, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r7, 0x3
- bls _081E21A8
- movs r0, 0x80
- lsls r0, 3
- b _081E22DC
-_081E21A8:
- cmp r0, 0x20
- bne _081E2248
- ldr r0, _081E2238 @ =gUnknown_3007450
- mov r12, r0
- lsls r0, r7, 2
- add r0, r12
- ldr r5, [r0]
- ldrh r2, [r5]
- ldr r1, _081E223C @ =0x00008020
- adds r0, r1, 0
- ands r0, r2
- cmp r0, r1
- bne _081E225E
- ldrb r0, [r5, 0x1A]
- adds r3, r6, 0
- eors r3, r0
- adds r2, r3, 0
- ands r2, r6
- cmp r2, 0
- bne _081E2296
- cmp r3, 0
- bne _081E21D6
- b _081E22DA
-_081E21D6:
- ldr r1, _081E2240 @ =0x04000208
- ldrh r0, [r1]
- mov r8, r0
- strh r2, [r1]
- movs r2, 0
- mvns r1, r3
- str r1, [sp]
- lsls r4, r6, 24
- mov r10, r4
- movs r0, 0x1
- mov r9, r0
- movs r1, 0
-_081E21EE:
- adds r0, r3, 0
- asrs r0, r2
- mov r4, r9
- ands r0, r4
- cmp r0, 0
- beq _081E2202
- lsls r0, r2, 2
- add r0, r12
- ldr r0, [r0]
- strh r1, [r0, 0x2]
-_081E2202:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _081E21EE
- ldr r0, _081E2244 @ =gUnknown_3007460
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- ldr r2, [sp]
- ands r2, r0
- strb r2, [r1, 0x4]
- strb r6, [r5, 0x1A]
- mov r0, r10
- cmp r0, 0
- bne _081E222E
- adds r0, r7, 0
- movs r1, 0
- adds r2, r5, 0
- bl rfu_STC_releaseFrame
- movs r0, 0x27
- strh r0, [r5]
-_081E222E:
- ldr r0, _081E2240 @ =0x04000208
- mov r1, r8
- strh r1, [r0]
- b _081E22DA
- .align 2, 0
-_081E2238: .4byte gUnknown_3007450
-_081E223C: .4byte 0x00008020
-_081E2240: .4byte 0x04000208
-_081E2244: .4byte gUnknown_3007460
-_081E2248:
- cmp r3, 0x10
- bne _081E22D4
- ldr r3, _081E2264 @ =gUnknown_3007440
- lsls r1, r7, 2
- adds r0, r1, r3
- ldr r0, [r0]
- ldrh r2, [r0]
- ldr r0, _081E2268 @ =0x00008024
- adds r5, r3, 0
- cmp r2, r0
- beq _081E2270
-_081E225E:
- ldr r0, _081E226C @ =0x00000403
- b _081E22DC
- .align 2, 0
-_081E2264: .4byte gUnknown_3007440
-_081E2268: .4byte 0x00008024
-_081E226C: .4byte 0x00000403
-_081E2270:
- movs r3, 0
- movs r2, 0
- adds r4, r5, 0
-_081E2276:
- cmp r2, r7
- beq _081E2284
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- orrs r3, r0
-_081E2284:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _081E2276
- adds r2, r6, 0
- ands r2, r3
- cmp r2, 0
- beq _081E22A0
-_081E2296:
- ldr r0, _081E229C @ =0x00000404
- b _081E22DC
- .align 2, 0
-_081E229C: .4byte 0x00000404
-_081E22A0:
- ldr r3, _081E22CC @ =0x04000208
- ldrh r0, [r3]
- mov r8, r0
- strh r2, [r3]
- ldr r4, _081E22D0 @ =gUnknown_3007460
- ldr r2, [r4]
- adds r5, r1, r5
- ldr r0, [r5]
- ldrb r1, [r0, 0x3]
- ldrb r0, [r2, 0x6]
- bics r0, r1
- strb r0, [r2, 0x6]
- ldr r2, [r4]
- ldrb r1, [r2, 0x6]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2, 0x6]
- ldr r0, [r5]
- strb r6, [r0, 0x3]
- mov r2, r8
- strh r2, [r3]
- b _081E22DA
- .align 2, 0
-_081E22CC: .4byte 0x04000208
-_081E22D0: .4byte gUnknown_3007460
-_081E22D4:
- movs r0, 0xC0
- lsls r0, 3
- b _081E22DC
-_081E22DA:
- movs r0, 0
-_081E22DC:
- 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 rfu_changeSendTarget
-
- thumb_func_start rfu_NI_stopReceivingData
-rfu_NI_stopReceivingData: @ 81E22EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _081E22FC
- movs r0, 0x80
- lsls r0, 3
- b _081E2356
-_081E22FC:
- ldr r1, _081E2328 @ =gUnknown_3007450
- lsls r0, r3, 2
- adds r0, r1
- ldr r2, [r0]
- adds r5, r2, 0
- adds r5, 0x34
- ldr r1, _081E232C @ =0x04000208
- ldrh r0, [r1]
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r1]
- ldrh r1, [r2, 0x34]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _081E2350
- ldr r0, _081E2330 @ =0x00008043
- cmp r1, r0
- bne _081E2334
- movs r0, 0x48
- b _081E2336
- .align 2, 0
-_081E2328: .4byte gUnknown_3007450
-_081E232C: .4byte 0x04000208
-_081E2330: .4byte 0x00008043
-_081E2334:
- movs r0, 0x47
-_081E2336:
- strh r0, [r2, 0x34]
- ldr r0, _081E235C @ =gUnknown_3007460
- ldr r2, [r0]
- movs r1, 0x1
- lsls r1, r3
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- adds r0, r3, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl rfu_STC_releaseFrame
-_081E2350:
- ldr r0, _081E2360 @ =0x04000208
- strh r4, [r0]
- movs r0, 0
-_081E2356:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_081E235C: .4byte gUnknown_3007460
-_081E2360: .4byte 0x04000208
- thumb_func_end rfu_NI_stopReceivingData
-
- thumb_func_start rfu_UNI_changeAndReadySendData
-rfu_UNI_changeAndReadySendData: @ 81E2364
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r2, 24
- lsrs r5, r2, 24
- cmp r0, 0x3
- bls _081E237C
- movs r0, 0x80
- lsls r0, 3
- b _081E23F0
-_081E237C:
- ldr r1, _081E2390 @ =gUnknown_3007440
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldrh r1, [r4]
- ldr r0, _081E2394 @ =0x00008024
- cmp r1, r0
- beq _081E239C
- ldr r0, _081E2398 @ =0x00000403
- b _081E23F0
- .align 2, 0
-_081E2390: .4byte gUnknown_3007440
-_081E2394: .4byte 0x00008024
-_081E2398: .4byte 0x00000403
-_081E239C:
- ldr r0, _081E23B0 @ =gUnknown_3007460
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _081E23B4
- adds r6, r1, 0
- adds r6, 0xF
- ldrb r0, [r4, 0x4]
- ldrb r1, [r1, 0xF]
- b _081E23C2
- .align 2, 0
-_081E23B0: .4byte gUnknown_3007460
-_081E23B4:
- adds r0, r3, 0
- adds r0, 0x10
- adds r6, r1, r0
- adds r1, 0x10
- adds r1, r3
- ldrb r0, [r4, 0x4]
- ldrb r1, [r1]
-_081E23C2:
- adds r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r5
- bcc _081E23EC
- ldr r2, _081E23E8 @ =0x04000208
- ldrh r1, [r2]
- movs r0, 0
- strh r0, [r2]
- str r7, [r4, 0x8]
- subs r0, r3, r5
- strb r0, [r6]
- strh r5, [r4, 0x4]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- strh r1, [r2]
- movs r0, 0
- b _081E23F0
- .align 2, 0
-_081E23E8: .4byte 0x04000208
-_081E23EC:
- movs r0, 0xA0
- lsls r0, 3
-_081E23F0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_changeAndReadySendData
-
- thumb_func_start rfu_UNI_readySendData
-rfu_UNI_readySendData: @ 81E23F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _081E2416
- ldr r1, _081E241C @ =gUnknown_3007440
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r1, [r2]
- ldr r0, _081E2420 @ =0x00008024
- cmp r1, r0
- bne _081E2416
- movs r0, 0x1
- strb r0, [r2, 0x2]
-_081E2416:
- pop {r0}
- bx r0
- .align 2, 0
-_081E241C: .4byte gUnknown_3007440
-_081E2420: .4byte 0x00008024
- thumb_func_end rfu_UNI_readySendData
-
- thumb_func_start rfu_UNI_clearRecvNewDataFlag
-rfu_UNI_clearRecvNewDataFlag: @ 81E2424
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _081E243A
- ldr r1, _081E2440 @ =gUnknown_3007440
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x12]
-_081E243A:
- pop {r0}
- bx r0
- .align 2, 0
-_081E2440: .4byte gUnknown_3007440
- thumb_func_end rfu_UNI_clearRecvNewDataFlag
-
- thumb_func_start rfu_REQ_sendData
-rfu_REQ_sendData: @ 81E2444
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _081E2490 @ =gUnknown_3007460
- ldr r2, [r0]
- ldrb r1, [r2]
- adds r4, r0, 0
- cmp r1, 0xFF
- bne _081E2458
- b _081E257E
-_081E2458:
- cmp r1, 0x1
- bne _081E24E8
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x5]
- adds r3, r0, 0
- orrs r3, r1
- ldrb r0, [r2, 0x6]
- orrs r3, r0
- cmp r3, 0
- bne _081E24E8
- ldr r0, _081E2494 @ =gUnknown_3007464
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- adds r4, r0, 0
- cmp r1, 0
- beq _081E2480
- movs r0, 0x10
- strb r0, [r2, 0x8]
- ldr r0, [r4]
- strb r3, [r0, 0x7]
-_081E2480:
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _081E2498
- subs r0, 0x1
- strb r0, [r1, 0x8]
- b _081E249E
- .align 2, 0
-_081E2490: .4byte gUnknown_3007460
-_081E2494: .4byte gUnknown_3007464
-_081E2498:
- ldrb r0, [r1, 0x7]
- adds r0, 0x1
- strb r0, [r1, 0x7]
-_081E249E:
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _081E24B0
- ldrb r1, [r1, 0x7]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _081E2542
-_081E24B0:
- ldr r4, _081E24D4 @ =gUnknown_3007468
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0x68]
- movs r0, 0xFF
- str r0, [r1, 0x78]
- ldr r0, _081E24D8 @ =sub_81E2630
- bl STWI_set_Callback_M
- cmp r5, 0
- bne _081E24DC
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- bl STWI_send_DataTxREQ
- b _081E257E
- .align 2, 0
-_081E24D4: .4byte gUnknown_3007468
-_081E24D8: .4byte sub_81E2630
-_081E24DC:
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- bl STWI_send_DataTxAndChangeREQ
- b _081E257E
-_081E24E8:
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- cmp r0, 0
- bne _081E24F4
- bl rfu_constructSendLLFrame
-_081E24F4:
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- cmp r0, 0
- beq _081E2542
- ldr r0, _081E2520 @ =rfu_CB_sendData
- bl STWI_set_Callback_M
- cmp r5, 0
- beq _081E252C
- ldr r0, _081E2524 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0x68
- ldr r1, _081E2528 @ =gUnknown_3007464
- ldr r1, [r1]
- ldr r1, [r1, 0x24]
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- bl STWI_send_DataTxAndChangeREQ
- b _081E257E
- .align 2, 0
-_081E2520: .4byte rfu_CB_sendData
-_081E2524: .4byte gUnknown_3007468
-_081E2528: .4byte gUnknown_3007464
-_081E252C:
- ldr r0, _081E2564 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0x68
- ldr r1, _081E2568 @ =gUnknown_3007464
- ldr r1, [r1]
- ldr r1, [r1, 0x24]
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- bl STWI_send_DataTxREQ
-_081E2542:
- cmp r5, 0
- beq _081E257E
- ldr r0, _081E256C @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081E2574
- ldr r0, _081E2570 @ =gRfuState
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- cmp r1, 0
- beq _081E257E
- movs r0, 0x27
- bl _call_via_r1
- b _081E257E
- .align 2, 0
-_081E2564: .4byte gUnknown_3007468
-_081E2568: .4byte gUnknown_3007464
-_081E256C: .4byte gUnknown_3007460
-_081E2570: .4byte gRfuState
-_081E2574:
- ldr r0, _081E2584 @ =rfu_CB_sendData2
- bl STWI_set_Callback_M
- bl STWI_send_MS_ChangeREQ
-_081E257E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081E2584: .4byte rfu_CB_sendData2
- thumb_func_end rfu_REQ_sendData
-
- thumb_func_start rfu_CB_sendData
-rfu_CB_sendData: @ 81E2588
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _081E25F2
- movs r6, 0
- ldr r0, _081E2610 @ =0x00008020
- mov r8, r0
-_081E259C:
- ldr r0, _081E2614 @ =gUnknown_3007440
- lsls r2, r6, 2
- adds r0, r2, r0
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _081E25AE
- movs r0, 0
- strb r0, [r1, 0x2]
-_081E25AE:
- ldr r0, _081E2618 @ =gUnknown_3007450
- adds r0, r2, r0
- ldr r4, [r0]
- ldrh r0, [r4]
- cmp r0, r8
- bne _081E25E8
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- ldr r5, _081E261C @ =gUnknown_3007460
- ldr r2, [r5]
- ldrb r1, [r4, 0x1A]
- ldrb r0, [r2, 0x4]
- bics r0, r1
- strb r0, [r2, 0x4]
- adds r0, r4, 0
- adds r0, 0x2D
- ldrb r3, [r0]
- cmp r3, 0x1
- bne _081E25E4
- ldr r1, [r5]
- lsls r3, r6
- ldrb r0, [r1, 0x7]
- orrs r3, r0
- strb r3, [r1, 0x7]
-_081E25E4:
- movs r0, 0x26
- strh r0, [r4]
-_081E25E8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _081E259C
-_081E25F2:
- ldr r0, _081E261C @ =gUnknown_3007460
- ldr r1, [r0]
- ldrb r0, [r1, 0xE]
- movs r0, 0
- strb r0, [r1, 0xE]
- movs r0, 0x24
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E2610: .4byte 0x00008020
-_081E2614: .4byte gUnknown_3007440
-_081E2618: .4byte gUnknown_3007450
-_081E261C: .4byte gUnknown_3007460
- thumb_func_end rfu_CB_sendData
-
- thumb_func_start rfu_CB_sendData2
-rfu_CB_sendData2: @ 81E2620
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x24
- bl rfu_STC_REQ_callback
- pop {r0}
- bx r0
- thumb_func_end rfu_CB_sendData2
-
- thumb_func_start sub_81E2630
-sub_81E2630: @ 81E2630
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0
- beq _081E2646
- movs r0, 0x24
- bl rfu_STC_REQ_callback
- b _081E2652
-_081E2646:
- cmp r0, 0xFF
- bne _081E2652
- movs r0, 0xFF
- movs r1, 0
- bl rfu_STC_REQ_callback
-_081E2652:
- pop {r0}
- bx r0
- thumb_func_end sub_81E2630
-
- thumb_func_start rfu_constructSendLLFrame
-rfu_constructSendLLFrame: @ 81E2658
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _081E2704 @ =gUnknown_3007460
- ldr r2, [r0]
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _081E2670
- b _081E2774
-_081E2670:
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x5]
- orrs r0, r1
- ldrb r1, [r2, 0x6]
- orrs r0, r1
- cmp r0, 0
- beq _081E2774
- ldrb r0, [r2, 0xE]
- movs r0, 0
- strb r0, [r2, 0xE]
- mov r8, r0
- ldr r0, _081E2708 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0x6C
- str r0, [sp]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r9, r0
- ldr r1, _081E270C @ =0x00008024
- mov r10, r1
-_081E269A:
- movs r5, 0
- ldr r0, _081E2710 @ =gUnknown_3007450
- lsls r7, r6, 2
- adds r4, r7, r0
- ldr r2, [r4]
- ldrh r1, [r2]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _081E26BA
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_NI_constructLLSF
- lsls r0, 16
- lsrs r5, r0, 16
-_081E26BA:
- ldr r2, [r4]
- ldrh r1, [r2, 0x34]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _081E26D6
- adds r2, 0x34
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_NI_constructLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
-_081E26D6:
- ldr r0, _081E2714 @ =gUnknown_3007440
- adds r0, r7, r0
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, r10
- bne _081E26F0
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_UNI_constructLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
-_081E26F0:
- cmp r5, 0
- beq _081E2724
- ldr r0, _081E2704 @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081E2718
- add r8, r5
- b _081E2724
- .align 2, 0
-_081E2704: .4byte gUnknown_3007460
-_081E2708: .4byte gUnknown_3007468
-_081E270C: .4byte 0x00008024
-_081E2710: .4byte gUnknown_3007450
-_081E2714: .4byte gUnknown_3007440
-_081E2718:
- adds r0, r7, r6
- adds r0, 0x8
- lsls r5, r0
- mov r2, r8
- orrs r2, r5
- mov r8, r2
-_081E2724:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _081E269A
- ldr r6, _081E2784 @ =gUnknown_3007464
- mov r0, r8
- cmp r0, 0
- beq _081E276E
- ldr r2, [sp]
- movs r0, 0x3
- ands r0, r2
- ldr r5, _081E2788 @ =gUnknown_3007460
- ldr r1, _081E278C @ =gUnknown_3007468
- cmp r0, 0
- beq _081E2756
- movs r4, 0
- movs r3, 0x3
-_081E2748:
- strb r4, [r2]
- adds r0, r2, 0x1
- str r0, [sp]
- adds r2, r0, 0
- ands r0, r3
- cmp r0, 0
- bne _081E2748
-_081E2756:
- ldr r0, [r1]
- mov r2, r8
- str r2, [r0, 0x68]
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0
- bne _081E276E
- ldr r0, [sp]
- subs r0, 0x6C
- ldr r1, [r1]
- subs r0, r1
- mov r8, r0
-_081E276E:
- ldr r0, [r6]
- mov r1, r8
- str r1, [r0, 0x24]
-_081E2774:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E2784: .4byte gUnknown_3007464
-_081E2788: .4byte gUnknown_3007460
-_081E278C: .4byte gUnknown_3007468
- thumb_func_end rfu_constructSendLLFrame
-
- thumb_func_start rfu_STC_NI_constructLLSF
-rfu_STC_NI_constructLLSF: @ 81E2790
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r12, r1
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r2, _081E280C @ =gUnknown_3007460
- ldr r0, [r2]
- ldrb r0, [r0]
- lsls r0, 4
- ldr r1, _081E2810 @ =_Str_RfuHeader
- adds r0, r1
- mov r8, r0
- ldrh r1, [r4]
- ldr r0, _081E2814 @ =0x00008022
- cmp r1, r0
- bne _081E27FA
- adds r3, r4, 0
- adds r3, 0x20
- ldrb r1, [r3]
- lsls r1, 2
- adds r5, r4, 0x4
- adds r1, r5, r1
- ldr r2, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r2, r0
- ldr r0, [r1]
- adds r6, r3, 0
- cmp r0, r2
- bcc _081E27FA
- movs r7, 0
-_081E27D8:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _081E27E8
- strb r7, [r6]
-_081E27E8:
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r5, r1
- ldr r2, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r2, r0
- ldr r0, [r1]
- cmp r0, r2
- bcs _081E27D8
-_081E27FA:
- ldrh r1, [r4]
- movs r0, 0x40
- ands r0, r1
- mov r9, r1
- cmp r0, 0
- beq _081E2818
- movs r5, 0
- b _081E285C
- .align 2, 0
-_081E280C: .4byte gUnknown_3007460
-_081E2810: .4byte _Str_RfuHeader
-_081E2814: .4byte 0x00008022
-_081E2818:
- ldr r0, _081E2844 @ =0x00008022
- cmp r9, r0
- bne _081E284C
- adds r3, r4, 0
- adds r3, 0x20
- ldrb r0, [r3]
- lsls r0, 2
- adds r1, r4, 0x4
- adds r1, r0
- ldrh r7, [r4, 0x2E]
- ldr r5, [r1]
- adds r2, r5, r7
- ldr r1, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r0, r1, r0
- adds r6, r3, 0
- cmp r2, r0
- bls _081E2848
- subs r0, r5
- lsls r0, 16
- lsrs r5, r0, 16
- b _081E2860
- .align 2, 0
-_081E2844: .4byte 0x00008022
-_081E2848:
- adds r5, r7, 0
- b _081E2860
-_081E284C:
- ldrh r2, [r4, 0x2E]
- ldr r0, [r4, 0x14]
- cmp r0, r2
- bcc _081E2858
- adds r5, r2, 0
- b _081E285C
-_081E2858:
- lsls r0, 16
- lsrs r5, r0, 16
-_081E285C:
- adds r6, r4, 0
- adds r6, 0x20
-_081E2860:
- movs r3, 0xF
- mov r0, r9
- ands r3, r0
- mov r1, r8
- ldrb r1, [r1, 0x3]
- lsls r3, r1
- ldrb r0, [r4, 0x1F]
- mov r2, r8
- ldrb r2, [r2, 0x4]
- lsls r0, r2
- orrs r3, r0
- ldrb r1, [r6]
- adds r0, r1, 0
- mov r7, r8
- ldrb r7, [r7, 0x5]
- lsls r0, r7
- orrs r3, r0
- adds r0, r4, 0
- adds r0, 0x21
- adds r0, r1
- ldrb r0, [r0]
- mov r1, r8
- ldrb r1, [r1, 0x6]
- lsls r0, r1
- orrs r3, r0
- orrs r3, r5
- str r3, [sp]
- ldr r2, _081E291C @ =gUnknown_3007460
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081E28A8
- ldrb r0, [r4, 0x1A]
- lsls r0, 18
- orrs r3, r0
- str r3, [sp]
-_081E28A8:
- mov r2, sp
- movs r3, 0
- mov r7, r8
- ldrb r7, [r7]
- cmp r3, r7
- bcs _081E28D2
-_081E28B4:
- mov r0, r12
- ldr r1, [r0]
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- mov r7, r12
- str r1, [r7]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- mov r0, r8
- ldrb r0, [r0]
- cmp r3, r0
- bcc _081E28B4
-_081E28D2:
- cmp r5, 0
- beq _081E28F2
- ldrb r1, [r6]
- lsls r1, 2
- adds r0, r4, 0x4
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldr r0, _081E2920 @ =gUnknown_3007468
- ldr r1, [r0]
- add r0, sp, 0x4
- ldr r3, [r1, 0x4]
- mov r1, r12
- adds r2, r5, 0
- bl _call_via_r3
-_081E28F2:
- ldrh r1, [r4]
- ldr r0, _081E2924 @ =0x00008022
- cmp r1, r0
- bne _081E290C
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _081E290C
- movs r0, 0
- strb r0, [r6]
-_081E290C:
- ldr r0, _081E291C @ =gUnknown_3007460
- ldr r2, [r0]
- ldrb r1, [r2]
- cmp r1, 0x1
- bne _081E2928
- ldrb r0, [r2, 0xE]
- strb r1, [r2, 0xE]
- b _081E2936
- .align 2, 0
-_081E291C: .4byte gUnknown_3007460
-_081E2920: .4byte gUnknown_3007468
-_081E2924: .4byte 0x00008022
-_081E2928:
- movs r0, 0x1
- mov r1, r10
- lsls r0, r1
- ldrb r1, [r2, 0xE]
- orrs r0, r1
- ldrb r1, [r2, 0xE]
- strb r0, [r2, 0xE]
-_081E2936:
- mov r2, r8
- ldrb r0, [r2]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_STC_NI_constructLLSF
-
- thumb_func_start rfu_STC_UNI_constructLLSF
-rfu_STC_UNI_constructLLSF: @ 81E2950
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _081E2978 @ =gUnknown_3007440
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _081E2974
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- bne _081E297C
-_081E2974:
- movs r0, 0
- b _081E2A18
- .align 2, 0
-_081E2978: .4byte gUnknown_3007440
-_081E297C:
- ldr r0, _081E29F4 @ =gUnknown_3007460
- ldr r2, [r0]
- ldrb r0, [r2]
- lsls r0, 4
- ldr r1, _081E29F8 @ =_Str_RfuHeader
- adds r5, r0, r1
- ldrh r0, [r4]
- movs r1, 0xF
- ands r1, r0
- ldrb r0, [r5, 0x3]
- lsls r1, r0
- ldrh r0, [r4, 0x4]
- orrs r1, r0
- str r1, [sp]
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _081E29A6
- ldrb r0, [r4, 0x3]
- lsls r0, 18
- orrs r1, r0
- str r1, [sp]
-_081E29A6:
- mov r2, sp
- movs r3, 0
- ldr r1, _081E29FC @ =gUnknown_3007468
- mov r12, r1
- add r7, sp, 0x4
- ldrb r0, [r5]
- cmp r3, r0
- bcs _081E29CE
-_081E29B6:
- ldr r1, [r6]
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- str r1, [r6]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r1, [r5]
- cmp r3, r1
- bcc _081E29B6
-_081E29CE:
- ldr r0, [r4, 0x8]
- str r0, [sp, 0x4]
- mov r2, r12
- ldr r0, [r2]
- ldrh r2, [r4, 0x4]
- ldr r3, [r0, 0x4]
- adds r0, r7, 0
- adds r1, r6, 0
- bl _call_via_r3
- ldr r0, _081E29F4 @ =gUnknown_3007460
- ldr r2, [r0]
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _081E2A00
- ldrb r0, [r2, 0xE]
- movs r0, 0x10
- b _081E2A0C
- .align 2, 0
-_081E29F4: .4byte gUnknown_3007460
-_081E29F8: .4byte _Str_RfuHeader
-_081E29FC: .4byte gUnknown_3007468
-_081E2A00:
- movs r0, 0x10
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r2, 0xE]
- orrs r0, r1
- ldrb r1, [r2, 0xE]
-_081E2A0C:
- strb r0, [r2, 0xE]
- ldrh r0, [r4, 0x4]
- ldrb r5, [r5]
- adds r0, r5
- lsls r0, 16
- lsrs r0, 16
-_081E2A18:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_STC_UNI_constructLLSF
-
- thumb_func_start rfu_REQ_recvData
-rfu_REQ_recvData: @ 81E2A24
- push {r4,lr}
- ldr r0, _081E2A58 @ =gUnknown_3007460
- ldr r4, [r0]
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _081E2A50
- ldr r2, _081E2A5C @ =gUnknown_3007464
- ldr r3, [r2]
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- orrs r0, r1
- ldrb r1, [r4, 0x6]
- orrs r0, r1
- movs r1, 0
- strb r0, [r3, 0x3]
- ldr r0, [r2]
- strb r1, [r0, 0x4]
- ldr r0, _081E2A60 @ =rfu_CB_recvData
- bl STWI_set_Callback_M
- bl STWI_send_DataRxREQ
-_081E2A50:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081E2A58: .4byte gUnknown_3007460
-_081E2A5C: .4byte gUnknown_3007464
-_081E2A60: .4byte rfu_CB_recvData
- thumb_func_end rfu_REQ_recvData
-
- thumb_func_start rfu_CB_recvData
-rfu_CB_recvData: @ 81E2A64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _081E2B28
- ldr r0, _081E2AA0 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _081E2B28
- ldr r0, _081E2AA4 @ =gUnknown_3007464
- ldr r0, [r0]
- strb r7, [r0, 0x1]
- ldr r0, _081E2AA8 @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081E2AAC
- bl rfu_STC_PARENT_analyzeRecvPacket
- b _081E2AB0
- .align 2, 0
-_081E2AA0: .4byte gUnknown_3007468
-_081E2AA4: .4byte gUnknown_3007464
-_081E2AA8: .4byte gUnknown_3007460
-_081E2AAC:
- bl rfu_STC_CHILD_analyzeRecvPacket
-_081E2AB0:
- movs r6, 0
- ldr r0, _081E2B40 @ =0x00008043
- mov r8, r0
- ldr r3, _081E2B44 @ =gUnknown_3007460
-_081E2AB8:
- ldr r0, _081E2B48 @ =gUnknown_3007450
- lsls r1, r6, 2
- adds r1, r0
- ldr r4, [r1]
- ldrh r0, [r4, 0x34]
- cmp r0, r8
- bne _081E2B0A
- ldr r0, _081E2B4C @ =gUnknown_3007464
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081E2B0A
- adds r5, r4, 0
- adds r5, 0x34
- adds r0, r4, 0
- adds r0, 0x61
- ldrb r2, [r0]
- cmp r2, 0x1
- bne _081E2AEE
- ldr r1, [r3]
- lsls r2, r6
- ldrb r0, [r1, 0x7]
- orrs r2, r0
- strb r2, [r1, 0x7]
-_081E2AEE:
- adds r0, r6, 0
- movs r1, 0x1
- adds r2, r5, 0
- str r3, [sp]
- bl rfu_STC_releaseFrame
- ldr r3, [sp]
- ldr r2, [r3]
- ldrb r1, [r5, 0x1A]
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x46
- strh r0, [r4, 0x34]
-_081E2B0A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _081E2AB8
- ldr r0, _081E2B4C @ =gUnknown_3007464
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _081E2B28
- adds r7, r0, 0
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1, 0
- orrs r7, r0
-_081E2B28:
- mov r0, r9
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E2B40: .4byte 0x00008043
-_081E2B44: .4byte gUnknown_3007460
-_081E2B48: .4byte gUnknown_3007450
-_081E2B4C: .4byte gUnknown_3007464
- thumb_func_end rfu_CB_recvData
-
- thumb_func_start rfu_STC_PARENT_analyzeRecvPacket
-rfu_STC_PARENT_analyzeRecvPacket: @ 81E2B50
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, _081E2BE0 @ =gUnknown_3007468
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsrs r3, r0, 8
- movs r5, 0
- mov r12, r1
- movs r7, 0x1F
- ldr r4, _081E2BE4 @ =gUnknown_3007464
- movs r6, 0x1
-_081E2B6A:
- mov r0, sp
- adds r1, r0, r5
- adds r0, r3, 0
- ands r0, r7
- strb r0, [r1]
- lsrs r3, 5
- cmp r0, 0
- bne _081E2B86
- ldr r0, [r4]
- adds r1, r6, 0
- lsls r1, r5
- ldrb r2, [r0, 0x1]
- orrs r1, r2
- strb r1, [r0, 0x1]
-_081E2B86:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081E2B6A
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- adds r6, r0, 0
- adds r6, 0x8
- movs r5, 0
-_081E2B9E:
- mov r0, sp
- adds r1, r0, r5
- ldrb r0, [r1]
- adds r7, r5, 0x1
- cmp r0, 0
- beq _081E2BD0
- adds r4, r1, 0
-_081E2BAC:
- ldrb r2, [r4]
- adds r0, r5, 0
- adds r1, r6, 0
- bl rfu_STC_analyzeLLSF
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0
- ldrb r1, [r4]
- subs r1, r0
- strb r1, [r4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081E2BD0
- lsls r0, r1, 24
- cmp r0, 0
- bne _081E2BAC
-_081E2BD0:
- lsls r0, r7, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081E2B9E
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E2BE0: .4byte gUnknown_3007468
-_081E2BE4: .4byte gUnknown_3007464
- thumb_func_end rfu_STC_PARENT_analyzeRecvPacket
-
- thumb_func_start rfu_STC_CHILD_analyzeRecvPacket
-rfu_STC_CHILD_analyzeRecvPacket: @ 81E2BE8
- push {r4-r6,lr}
- ldr r0, _081E2C38 @ =gUnknown_3007468
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrh r0, [r1, 0x4]
- movs r4, 0x7F
- ands r4, r0
- adds r5, r1, 0
- adds r5, 0x8
- cmp r4, 0
- bne _081E2C08
- ldr r0, _081E2C3C @ =gUnknown_3007464
- ldr r1, [r0]
- movs r0, 0xF
- strb r0, [r1, 0x1]
-_081E2C08:
- movs r0, 0x80
- lsls r0, 8
- adds r6, r0, 0
-_081E2C0E:
- cmp r4, 0
- beq _081E2C30
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl rfu_STC_analyzeLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- ands r0, r6
- cmp r0, 0
- beq _081E2C0E
-_081E2C30:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081E2C38: .4byte gUnknown_3007468
-_081E2C3C: .4byte gUnknown_3007464
- thumb_func_end rfu_STC_CHILD_analyzeRecvPacket
-
- thumb_func_start rfu_STC_analyzeLLSF
-rfu_STC_analyzeLLSF: @ 81E2C40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r2, 16
- lsrs r3, r2, 16
- ldr r2, _081E2C74 @ =gUnknown_3007460
- ldr r0, [r2]
- ldrb r0, [r0]
- mvns r0, r0
- movs r1, 0x1
- ands r0, r1
- lsls r0, 4
- ldr r1, _081E2C78 @ =_Str_RfuHeader
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r3, r0
- bcs _081E2C7C
- adds r0, r3, 0
- b _081E2E6E
- .align 2, 0
-_081E2C74: .4byte gUnknown_3007460
-_081E2C78: .4byte _Str_RfuHeader
-_081E2C7C:
- movs r5, 0
- movs r4, 0
- ldrb r3, [r6, 0x1]
- ldrb r1, [r6, 0x7]
- mov r8, r1
- ldr r2, [sp]
- mov r9, r2
- cmp r4, r0
- bcs _081E2CA4
- adds r2, r0, 0
-_081E2C90:
- ldrb r0, [r7]
- lsls r1, r4, 3
- lsls r0, r1
- orrs r5, r0
- adds r7, 0x1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r2
- bcc _081E2C90
-_081E2CA4:
- adds r0, r5, 0
- lsrs r0, r3
- mov r3, r8
- ands r0, r3
- ldr r1, _081E2D7C @ =0xffffff00
- mov r10, r1
- mov r3, r10
- mov r2, r9
- ands r3, r2
- orrs r3, r0
- str r3, [sp]
- adds r0, r5, 0
- ldrb r1, [r6, 0x2]
- lsrs r0, r1
- ldrb r1, [r6, 0x8]
- ands r0, r1
- lsls r0, 8
- ldr r4, _081E2D80 @ =0xffff00ff
- adds r2, r4, 0
- ands r2, r3
- orrs r2, r0
- str r2, [sp]
- adds r0, r5, 0
- ldrb r3, [r6, 0x3]
- lsrs r0, r3
- ldrb r1, [r6, 0x9]
- ands r0, r1
- lsls r0, 16
- ldr r3, _081E2D84 @ =0xff00ffff
- ands r3, r2
- orrs r3, r0
- str r3, [sp]
- adds r0, r5, 0
- ldrb r1, [r6, 0x4]
- lsrs r0, r1
- ldrb r1, [r6, 0xA]
- ands r0, r1
- lsls r0, 24
- ldr r2, _081E2D88 @ =0x00ffffff
- mov r8, r2
- mov r1, r8
- ands r1, r3
- orrs r1, r0
- mov r8, r1
- str r1, [sp]
- adds r1, r5, 0
- ldrb r2, [r6, 0x5]
- lsrs r1, r2
- ldrb r0, [r6, 0xB]
- ands r1, r0
- mov r9, sp
- ldr r2, [sp, 0x4]
- mov r3, r10
- ands r2, r3
- orrs r2, r1
- str r2, [sp, 0x4]
- adds r0, r5, 0
- ldrb r1, [r6, 0x6]
- lsrs r0, r1
- ldrb r1, [r6, 0xC]
- ands r0, r1
- lsls r0, 8
- ands r4, r2
- orrs r4, r0
- str r4, [sp, 0x4]
- ldrh r0, [r6, 0xE]
- ands r5, r0
- lsls r1, r5, 16
- ldr r0, _081E2D8C @ =0x0000ffff
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x4]
- lsrs r0, 16
- ldrb r6, [r6]
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _081E2D4A
- b _081E2E6C
-_081E2D4A:
- ldr r2, _081E2D90 @ =gUnknown_3007460
- ldr r3, [r2]
- ldrb r2, [r3]
- cmp r2, 0x1
- bne _081E2E08
- ldrb r0, [r3, 0x2]
- mov r5, r12
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- bne _081E2D62
- b _081E2E6C
-_081E2D62:
- mov r1, r8
- lsrs r0, r1, 16
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _081E2D94
- mov r0, r12
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_UNI_receive
- b _081E2E6C
- .align 2, 0
-_081E2D7C: .4byte 0xffffff00
-_081E2D80: .4byte 0xffff00ff
-_081E2D84: .4byte 0xff00ffff
-_081E2D88: .4byte 0x00ffffff
-_081E2D8C: .4byte 0x0000ffff
-_081E2D90: .4byte gUnknown_3007460
-_081E2D94:
- mov r5, r9
- ldrb r0, [r5, 0x3]
- cmp r0, 0
- bne _081E2DA8
- mov r0, r12
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_NI_receive_Receiver
- b _081E2E6C
-_081E2DA8:
- movs r4, 0
- ldr r1, _081E2DC0 @ =gUnknown_3007450
- ldr r0, [r1]
- ldrb r0, [r0, 0x1A]
- mov r5, r12
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- beq _081E2DC4
- ldrb r0, [r3, 0x4]
- b _081E2DEA
- .align 2, 0
-_081E2DC0: .4byte gUnknown_3007450
-_081E2DC4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _081E2E6C
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1A]
- mov r2, r12
- asrs r0, r2
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- beq _081E2DC4
- ldr r3, _081E2E04 @ =gUnknown_3007460
- ldr r0, [r3]
- ldrb r0, [r0, 0x4]
- mov r5, r12
-_081E2DEA:
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- beq _081E2DC4
- cmp r4, 0x3
- bhi _081E2E6C
- adds r0, r4, 0
- mov r1, r12
- mov r2, sp
- adds r3, r7, 0
- bl rfu_STC_NI_receive_Sender
- b _081E2E6C
- .align 2, 0
-_081E2E04: .4byte gUnknown_3007460
-_081E2E08:
- ldrb r1, [r3, 0x2]
- mov r2, r9
- ldrb r0, [r2, 0x1]
- adds r5, r1, 0
- ands r5, r0
- cmp r5, 0
- beq _081E2E6C
- movs r4, 0
- movs r6, 0x1
-_081E2E1A:
- adds r0, r5, 0
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _081E2E62
- mov r1, sp
- ldrb r0, [r1, 0x2]
- cmp r0, 0x4
- bne _081E2E36
- adds r0, r4, 0
- adds r2, r7, 0
- bl rfu_STC_UNI_receive
- b _081E2E62
-_081E2E36:
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- bne _081E2E48
- adds r0, r4, 0
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_NI_receive_Receiver
- b _081E2E62
-_081E2E48:
- ldr r0, _081E2E80 @ =gUnknown_3007460
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _081E2E62
- adds r0, r4, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r7, 0
- bl rfu_STC_NI_receive_Sender
-_081E2E62:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081E2E1A
-_081E2E6C:
- mov r0, r10
-_081E2E6E:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081E2E80: .4byte gUnknown_3007460
- thumb_func_end rfu_STC_analyzeLLSF
-
- thumb_func_start rfu_STC_UNI_receive
-rfu_STC_UNI_receive: @ 81E2E84
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r1, 0
- str r2, [sp]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _081E2EB8 @ =gUnknown_3007440
- lsls r1, r7, 2
- adds r1, r2
- ldr r3, [r1]
- adds r5, r3, 0
- adds r5, 0xC
- movs r4, 0
- movs r0, 0
- strh r0, [r5, 0x2]
- ldr r0, [r1]
- ldr r0, [r0, 0x18]
- adds r1, r2, 0
- ldrh r2, [r6, 0x6]
- cmp r0, r2
- bcs _081E2EC0
- movs r0, 0x49
- strh r0, [r3, 0xC]
- ldr r0, _081E2EBC @ =0x00000701
- strh r0, [r5, 0x2]
- b _081E2F0E
- .align 2, 0
-_081E2EB8: .4byte gUnknown_3007440
-_081E2EBC: .4byte 0x00000701
-_081E2EC0:
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _081E2ED8
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- beq _081E2EE4
- ldr r0, _081E2ED4 @ =0x00000709
- strh r0, [r5, 0x2]
- b _081E2F0E
- .align 2, 0
-_081E2ED4: .4byte 0x00000709
-_081E2ED8:
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- beq _081E2EE4
- movs r0, 0xE1
- lsls r0, 3
- strh r0, [r5, 0x2]
-_081E2EE4:
- movs r4, 0
- ldr r0, _081E2F2C @ =0x00008042
- strh r0, [r5]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x4]
- ldrh r2, [r6, 0x6]
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- str r0, [sp, 0x4]
- ldr r0, _081E2F30 @ =gUnknown_3007468
- ldr r0, [r0]
- add r1, sp, 0x4
- ldr r3, [r0, 0x4]
- mov r0, sp
- bl _call_via_r3
- movs r0, 0x1
- strb r0, [r5, 0x6]
- strh r4, [r5]
-_081E2F0E:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- beq _081E2F22
- ldr r0, _081E2F34 @ =gUnknown_3007464
- ldr r2, [r0]
- movs r0, 0x10
- lsls r0, r7
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
-_081E2F22:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E2F2C: .4byte 0x00008042
-_081E2F30: .4byte gUnknown_3007468
-_081E2F34: .4byte gUnknown_3007464
- thumb_func_end rfu_STC_UNI_receive
-
- thumb_func_start rfu_STC_NI_receive_Sender
-rfu_STC_NI_receive_Sender: @ 81E2F38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r2, 0
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r1, _081E3004 @ =gUnknown_3007450
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- mov r12, r0
- ldrh r0, [r0]
- mov r9, r0
- mov r0, r12
- adds r0, 0x21
- ldrb r2, [r6, 0x4]
- adds r0, r2
- ldrb r0, [r0]
- str r0, [sp]
- ldrb r2, [r6, 0x2]
- cmp r2, 0x2
- bne _081E2F74
- ldr r0, _081E3008 @ =0x00008022
- cmp r9, r0
- beq _081E2F8E
-_081E2F74:
- cmp r2, 0x1
- bne _081E2F7E
- ldr r0, _081E300C @ =0x00008021
- cmp r9, r0
- beq _081E2F8E
-_081E2F7E:
- movs r3, 0x1B
- add r3, r12
- mov r8, r3
- cmp r2, 0x3
- bne _081E2FB2
- ldr r0, _081E3010 @ =0x00008023
- cmp r9, r0
- bne _081E2FB2
-_081E2F8E:
- ldrb r1, [r6, 0x4]
- mov r0, r12
- adds r0, 0x21
- adds r0, r1
- ldrb r0, [r0]
- movs r7, 0x1B
- add r7, r12
- mov r8, r7
- ldrb r2, [r6, 0x5]
- cmp r0, r2
- bne _081E2FB2
- adds r0, r7, r1
- movs r1, 0x1
- mov r3, r10
- lsls r1, r3
- ldrb r2, [r0]
- orrs r1, r2
- strb r1, [r0]
-_081E2FB2:
- ldrb r2, [r6, 0x4]
- mov r7, r8
- adds r0, r7, r2
- ldrb r0, [r0]
- mov r3, r12
- ldrb r1, [r3, 0x1A]
- ands r0, r1
- cmp r0, r1
- bne _081E30AE
- adds r3, 0x21
- adds r2, r3, r2
- ldrb r0, [r2]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- movs r1, 0
- strb r0, [r2]
- ldrb r0, [r6, 0x4]
- add r0, r8
- strb r1, [r0]
- mov r7, r12
- ldrh r1, [r7]
- ldr r2, _081E3014 @ =0x00007fdf
- adds r0, r1, r2
- lsls r0, 16
- lsrs r0, 16
- adds r5, r3, 0
- cmp r0, 0x1
- bhi _081E30A0
- ldr r0, _081E300C @ =0x00008021
- cmp r1, r0
- bne _081E3018
- ldrb r1, [r6, 0x4]
- lsls r1, 2
- subs r3, 0x1D
- adds r1, r3, r1
- ldrh r2, [r7, 0x2E]
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- b _081E302E
- .align 2, 0
-_081E3004: .4byte gUnknown_3007450
-_081E3008: .4byte 0x00008022
-_081E300C: .4byte 0x00008021
-_081E3010: .4byte 0x00008023
-_081E3014: .4byte 0x00007fdf
-_081E3018:
- ldrb r2, [r6, 0x4]
- lsls r2, 2
- mov r3, r12
- adds r3, 0x4
- adds r2, r3, r2
- mov r7, r12
- ldrh r1, [r7, 0x2E]
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
-_081E302E:
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- ldr r0, [r0, 0x14]
- subs r0, r1
- mov r1, r12
- str r0, [r1, 0x14]
- cmp r0, 0
- beq _081E3042
- cmp r0, 0
- bge _081E30AE
-_081E3042:
- mov r0, r12
- adds r0, 0x20
- movs r2, 0
- strb r2, [r0]
- mov r7, r12
- ldrh r1, [r7]
- ldr r0, _081E3084 @ =0x00008021
- cmp r1, r0
- bne _081E308C
- movs r4, 0
-_081E3056:
- adds r0, r5, r4
- movs r1, 0x1
- strb r1, [r0]
- lsls r1, r4, 2
- adds r1, r3, r1
- mov r2, r12
- ldrh r0, [r2, 0x2E]
- adds r2, r0, 0
- muls r2, r4
- mov r7, r12
- ldr r0, [r7, 0x28]
- adds r0, r2
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081E3056
- ldr r0, [r7, 0x30]
- str r0, [r7, 0x14]
- ldr r0, _081E3088 @ =0x00008022
- strh r0, [r7]
- b _081E30AE
- .align 2, 0
-_081E3084: .4byte 0x00008021
-_081E3088: .4byte 0x00008022
-_081E308C:
- strb r2, [r5]
- mov r0, r12
- str r2, [r0, 0x14]
- ldr r0, _081E309C @ =0x00008023
- mov r1, r12
- strh r0, [r1]
- b _081E30AE
- .align 2, 0
-_081E309C: .4byte 0x00008023
-_081E30A0:
- lsls r1, 16
- ldr r0, _081E3110 @ =0x80230000
- cmp r1, r0
- bne _081E30AE
- ldr r0, _081E3114 @ =0x00008020
- mov r2, r12
- strh r0, [r2]
-_081E30AE:
- mov r3, r12
- ldrh r0, [r3]
- cmp r0, r9
- bne _081E30D8
- ldrb r2, [r6, 0x4]
- mov r0, r12
- adds r0, 0x21
- adds r0, r2
- ldrb r0, [r0]
- ldr r7, [sp]
- cmp r0, r7
- bne _081E30D8
- mov r1, r8
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r2, r10
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081E30FE
-_081E30D8:
- ldr r4, _081E3118 @ =0x04000208
- ldrh r2, [r4]
- movs r0, 0
- strh r0, [r4]
- ldr r0, _081E311C @ =gUnknown_3007464
- ldr r3, [r0]
- movs r0, 0x10
- mov r7, r10
- lsls r0, r7
- ldrb r1, [r3, 0x2]
- orrs r0, r1
- movs r1, 0
- strb r0, [r3, 0x2]
- lsls r0, r7, 2
- ldr r3, _081E3120 @ =gUnknown_3007450
- adds r0, r3
- ldr r0, [r0]
- strh r1, [r0, 0x2]
- strh r2, [r4]
-_081E30FE:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E3110: .4byte 0x80230000
-_081E3114: .4byte 0x00008020
-_081E3118: .4byte 0x04000208
-_081E311C: .4byte gUnknown_3007464
-_081E3120: .4byte gUnknown_3007450
- thumb_func_end rfu_STC_NI_receive_Sender
-
- thumb_func_start rfu_STC_NI_receive_Receiver
-rfu_STC_NI_receive_Receiver: @ 81E3124
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r1, 0
- str r2, [sp]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- ldr r1, _081E3184 @ =gUnknown_3007450
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r5, r4, 0
- adds r5, 0x34
- ldrh r0, [r4, 0x34]
- mov r9, r0
- ldrb r0, [r6, 0x4]
- adds r3, r4, 0
- adds r3, 0x55
- adds r0, r3, r0
- ldrb r0, [r0]
- mov r10, r0
- ldrb r0, [r6, 0x2]
- cmp r0, 0x3
- bne _081E3194
- ldr r0, _081E3188 @ =gUnknown_3007464
- ldr r2, [r0]
- movs r0, 0x1
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r2, 0x1]
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrh r1, [r4, 0x34]
- ldr r0, _081E318C @ =0x00008042
- cmp r1, r0
- bne _081E31DA
- adds r0, r4, 0
- adds r0, 0x54
- strb r7, [r0]
- strb r7, [r3]
- ldr r0, _081E3190 @ =0x00008043
- strh r0, [r4, 0x34]
- b _081E31DA
- .align 2, 0
-_081E3184: .4byte gUnknown_3007450
-_081E3188: .4byte gUnknown_3007464
-_081E318C: .4byte 0x00008042
-_081E3190: .4byte 0x00008043
-_081E3194:
- cmp r0, 0x2
- bne _081E31C0
- ldr r0, _081E31B8 @ =0x00008041
- cmp r9, r0
- bne _081E31AC
- ldr r0, [r5, 0x14]
- cmp r0, 0
- bne _081E31AC
- mov r0, r8
- adds r1, r5, 0
- bl rfu_STC_NI_initSlot_asRecvDataEntity
-_081E31AC:
- ldrh r1, [r5]
- ldr r0, _081E31BC @ =0x00008042
- cmp r1, r0
- bne _081E31DA
- b _081E31DE
- .align 2, 0
-_081E31B8: .4byte 0x00008041
-_081E31BC: .4byte 0x00008042
-_081E31C0:
- cmp r0, 0x1
- bne _081E31DA
- ldr r7, _081E328C @ =0x00008041
- cmp r9, r7
- beq _081E31DE
- mov r0, r8
- adds r1, r5, 0
- bl rfu_STC_NI_initSlot_asRecvControllData
- ldrh r0, [r4, 0x34]
- cmp r0, r7
- bne _081E327A
- movs r7, 0x1
-_081E31DA:
- cmp r7, 0
- beq _081E3234
-_081E31DE:
- ldrb r2, [r6, 0x5]
- ldrb r3, [r6, 0x4]
- adds r4, r5, 0
- adds r4, 0x21
- adds r0, r4, r3
- ldrb r0, [r0]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- cmp r2, r0
- bne _081E3234
- ldr r0, _081E3290 @ =gUnknown_3007468
- ldr r0, [r0]
- lsls r1, r3, 2
- adds r1, 0x4
- adds r1, r5, r1
- ldrh r2, [r6, 0x6]
- ldr r3, [r0, 0x4]
- mov r0, sp
- bl _call_via_r3
- ldrh r1, [r5]
- ldr r0, _081E3294 @ =0x00008042
- cmp r1, r0
- bne _081E3224
- ldrb r0, [r6, 0x4]
- lsls r0, 2
- adds r2, r5, 0x4
- adds r2, r0
- ldrh r0, [r5, 0x2E]
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
-_081E3224:
- ldrh r1, [r6, 0x6]
- ldr r0, [r5, 0x14]
- subs r0, r1
- str r0, [r5, 0x14]
- ldrb r0, [r6, 0x4]
- adds r0, r4, r0
- ldrb r1, [r6, 0x5]
- strb r1, [r0]
-_081E3234:
- ldrh r0, [r5, 0x18]
- cmp r0, 0
- bne _081E327A
- ldrb r0, [r6, 0x4]
- adds r1, r5, 0
- adds r1, 0x20
- strb r0, [r1]
- ldrh r0, [r5]
- cmp r0, r9
- bne _081E325C
- adds r0, r5, 0
- adds r0, 0x21
- ldrb r2, [r6, 0x4]
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r10
- bne _081E325C
- ldrb r6, [r6, 0x5]
- cmp r0, r6
- bne _081E327A
-_081E325C:
- ldr r3, _081E3298 @ =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r0, _081E329C @ =gUnknown_3007464
- ldr r4, [r0]
- movs r0, 0x1
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r4, 0x2]
- orrs r0, r1
- movs r1, 0
- strb r0, [r4, 0x2]
- strh r1, [r5, 0x2]
- strh r2, [r3]
-_081E327A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E328C: .4byte 0x00008041
-_081E3290: .4byte gUnknown_3007468
-_081E3294: .4byte 0x00008042
-_081E3298: .4byte 0x04000208
-_081E329C: .4byte gUnknown_3007464
- thumb_func_end rfu_STC_NI_receive_Receiver
-
- thumb_func_start rfu_STC_NI_initSlot_asRecvControllData
-rfu_STC_NI_initSlot_asRecvControllData: @ 81E32A0
- push {r4-r7,lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _081E32BC @ =gUnknown_3007460
- ldr r3, [r0]
- ldrb r1, [r3]
- mov r12, r0
- cmp r1, 0x1
- bne _081E32C0
- movs r5, 0x3
- adds r1, r3, 0
- adds r1, 0xF
- b _081E32C8
- .align 2, 0
-_081E32BC: .4byte gUnknown_3007460
-_081E32C0:
- movs r5, 0x2
- adds r0, r4, 0
- adds r0, 0x10
- adds r1, r3, r0
-_081E32C8:
- movs r7, 0x1
- adds r0, r7, 0
- lsls r0, r4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r6, 0
- ldrh r3, [r2]
- cmp r3, 0
- bne _081E3326
- ldrb r0, [r1]
- cmp r0, r5
- bcs _081E3300
- movs r0, 0x49
- strh r0, [r2]
- ldr r0, _081E32F8 @ =0x00000702
- strh r0, [r2, 0x18]
- ldr r0, _081E32FC @ =gUnknown_3007464
- ldr r2, [r0]
- ldrb r1, [r2, 0x4]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2, 0x4]
- b _081E3326
- .align 2, 0
-_081E32F8: .4byte 0x00000702
-_081E32FC: .4byte gUnknown_3007464
-_081E3300:
- strh r3, [r2, 0x18]
- ldrb r0, [r1]
- subs r0, r5
- strb r0, [r1]
- adds r0, r2, 0
- adds r0, 0x2D
- str r0, [r2, 0x4]
- movs r0, 0x7
- str r0, [r2, 0x14]
- strb r7, [r2, 0x1F]
- strh r3, [r2, 0x2E]
- strb r4, [r2, 0x1A]
- ldr r0, _081E332C @ =0x00008041
- strh r0, [r2]
- mov r0, r12
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- orrs r4, r0
- strb r4, [r1, 0x5]
-_081E3326:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E332C: .4byte 0x00008041
- thumb_func_end rfu_STC_NI_initSlot_asRecvControllData
-
- thumb_func_start rfu_STC_NI_initSlot_asRecvDataEntity
-rfu_STC_NI_initSlot_asRecvDataEntity: @ 81E3330
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- adds r0, 0x2D
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081E3354
- ldr r0, _081E3350 @ =gUnknown_3007460
- lsls r1, r5, 5
- adds r1, 0x14
- ldr r0, [r0]
- adds r0, r1
- adds r0, 0x4
- b _081E33AA
- .align 2, 0
-_081E3350: .4byte gUnknown_3007460
-_081E3354:
- ldr r1, _081E3398 @ =gUnknown_3007450
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r1, [r4, 0x30]
- ldr r0, [r2, 0x6C]
- cmp r1, r0
- bls _081E33A8
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r5
- lsrs r1, 24
- ldr r0, _081E339C @ =gUnknown_3007464
- ldr r3, [r0]
- ldrb r2, [r3, 0x4]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r3, 0x4]
- ldr r0, _081E33A0 @ =gUnknown_3007460
- ldr r2, [r0]
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- ldr r0, _081E33A4 @ =0x00000701
- strh r0, [r4, 0x18]
- movs r0, 0x47
- strh r0, [r4]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- b _081E33DC
- .align 2, 0
-_081E3398: .4byte gUnknown_3007450
-_081E339C: .4byte gUnknown_3007464
-_081E33A0: .4byte gUnknown_3007460
-_081E33A4: .4byte 0x00000701
-_081E33A8:
- ldr r0, [r2, 0x68]
-_081E33AA:
- str r0, [r4, 0x4]
- movs r3, 0
- adds r6, r4, 0
- adds r6, 0x21
- movs r7, 0
- adds r5, r4, 0x4
-_081E33B6:
- adds r0, r6, r3
- strb r7, [r0]
- lsls r1, r3, 2
- adds r1, r5, r1
- ldrh r0, [r4, 0x2E]
- adds r2, r0, 0
- muls r2, r3
- ldr r0, [r4, 0x4]
- adds r0, r2
- str r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _081E33B6
- ldr r0, [r4, 0x30]
- str r0, [r4, 0x14]
- ldr r0, _081E33E4 @ =0x00008042
- strh r0, [r4]
-_081E33DC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E33E4: .4byte 0x00008042
- thumb_func_end rfu_STC_NI_initSlot_asRecvDataEntity
-
- thumb_func_start rfu_NI_checkCommFailCounter
-rfu_NI_checkCommFailCounter: @ 81E33E8
- push {r4-r7,lr}
- ldr r2, _081E3474 @ =gUnknown_3007460
- ldr r0, [r2]
- ldrb r1, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- orrs r0, r1
- cmp r0, 0
- beq _081E346E
- ldr r1, _081E3478 @ =0x04000208
- ldrh r0, [r1]
- mov r12, r0
- movs r0, 0
- strh r0, [r1]
- ldr r1, _081E347C @ =gUnknown_3007464
- ldr r0, [r1]
- ldrb r0, [r0, 0x2]
- lsrs r7, r0, 4
- movs r3, 0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r4, _081E3480 @ =gUnknown_3007450
-_081E3412:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r3
- lsrs r2, r0, 24
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- ands r0, r2
- cmp r0, 0
- beq _081E343A
- ldr r0, [r6]
- ldrb r0, [r0, 0x2]
- ands r0, r2
- cmp r0, 0
- bne _081E343A
- lsls r0, r3, 2
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
-_081E343A:
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- ands r0, r2
- cmp r0, 0
- beq _081E3458
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- bne _081E3458
- lsls r0, r3, 2
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
-_081E3458:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _081E3412
- ldr r0, [r6]
- movs r1, 0
- strb r1, [r0, 0x2]
- ldr r0, _081E3478 @ =0x04000208
- mov r1, r12
- strh r1, [r0]
-_081E346E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081E3474: .4byte gUnknown_3007460
-_081E3478: .4byte 0x04000208
-_081E347C: .4byte gUnknown_3007464
-_081E3480: .4byte gUnknown_3007450
- thumb_func_end rfu_NI_checkCommFailCounter
-
- thumb_func_start rfu_REQ_noise
-rfu_REQ_noise: @ 81E3484
- push {lr}
- ldr r0, _081E3498 @ =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- movs r0, 0x1
- movs r1, 0
- bl STWI_send_TestModeREQ
- pop {r0}
- bx r0
- .align 2, 0
-_081E3498: .4byte rfu_STC_REQ_callback
- thumb_func_end rfu_REQ_noise
-
- thumb_func_start sub_81E349C
-sub_81E349C: @ 81E349C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _081E34B4 @ =0x04000208
- ldrh r0, [r0]
- cmp r0, 0
- bne _081E34B8
- movs r0, 0x1
- negs r0, r0
- b _081E3538
- .align 2, 0
-_081E34B4: .4byte 0x04000208
-_081E34B8:
- ldr r0, _081E34E4 @ =0x04000200
- ldrh r0, [r0]
- mov r8, r0
- ldr r4, _081E34E8 @ =gRfuState
- ldr r1, [r4]
- movs r0, 0xA
- str r0, [r1]
- ldr r0, _081E34EC @ =sub_81E36B8
- bl STWI_set_Callback_ID
- bl sub_81E3550
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r1, _081E34F0 @ =0x04000100
- adds r4, r0, r1
- lsls r0, r5, 27
- lsrs r5, r0, 24
- movs r7, 0
- b _081E3506
- .align 2, 0
-_081E34E4: .4byte 0x04000200
-_081E34E8: .4byte gRfuState
-_081E34EC: .4byte sub_81E36B8
-_081E34F0: .4byte 0x04000100
-_081E34F4:
- strh r6, [r4, 0x2]
- strh r6, [r4]
- movs r0, 0x83
- strh r0, [r4, 0x2]
-_081E34FC:
- ldrh r0, [r4]
- cmp r0, 0x1F
- bls _081E34FC
- strh r7, [r4, 0x2]
- strh r7, [r4]
-_081E3506:
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xFF
- beq _081E351A
- bl sub_81E35C4
- adds r6, r0, 0
- cmp r6, 0
- beq _081E34F4
-_081E351A:
- ldr r1, _081E3544 @ =0x04000208
- movs r0, 0
- strh r0, [r1]
- ldr r0, _081E3548 @ =0x04000200
- mov r2, r8
- strh r2, [r0]
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, _081E354C @ =gRfuState
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1]
- bl STWI_set_Callback_ID
- adds r0, r6, 0
-_081E3538:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081E3544: .4byte 0x04000208
-_081E3548: .4byte 0x04000200
-_081E354C: .4byte gRfuState
- thumb_func_end sub_81E349C
-
- thumb_func_start sub_81E3550
-sub_81E3550: @ 81E3550
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r3, _081E35A8 @ =0x04000208
- movs r4, 0
- strh r4, [r3]
- ldr r2, _081E35AC @ =0x04000200
- ldr r0, _081E35B0 @ =gRfuState
- ldr r0, [r0]
- movs r1, 0x8
- ldrb r0, [r0, 0xA]
- lsls r1, r0
- movs r5, 0x80
- orrs r1, r5
- ldrh r0, [r2]
- bics r0, r1
- strh r0, [r2]
- movs r0, 0x1
- strh r0, [r3]
- ldr r0, _081E35B4 @ =0x04000134
- strh r4, [r0]
- subs r2, 0xD8
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- movs r3, 0x81
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- movs r0, 0
- str r0, [sp]
- ldr r1, _081E35B8 @ =gUnknown_3007470
- ldr r2, _081E35BC @ =0x05000003
- mov r0, sp
- bl CpuSet
- ldr r0, _081E35C0 @ =0x04000202
- strh r5, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081E35A8: .4byte 0x04000208
-_081E35AC: .4byte 0x04000200
-_081E35B0: .4byte gRfuState
-_081E35B4: .4byte 0x04000134
-_081E35B8: .4byte gUnknown_3007470
-_081E35BC: .4byte 0x05000003
-_081E35C0: .4byte 0x04000202
- thumb_func_end sub_81E3550
-
- thumb_func_start sub_81E35C4
-sub_81E35C4: @ 81E35C4
- push {r4-r7,lr}
- ldr r0, _081E35D8 @ =gUnknown_3007470
- ldrb r1, [r0, 0x1]
- mov r12, r1
- adds r7, r0, 0
- cmp r1, 0
- beq _081E35DC
- cmp r1, 0x1
- beq _081E3614
- b _081E36AC
- .align 2, 0
-_081E35D8: .4byte gUnknown_3007470
-_081E35DC:
- movs r6, 0x1
- strb r6, [r7]
- ldr r3, _081E3608 @ =0x04000128
- ldrh r0, [r3]
- movs r5, 0x1
- orrs r0, r5
- strh r0, [r3]
- ldr r4, _081E360C @ =0x04000208
- mov r0, r12
- strh r0, [r4]
- ldr r2, _081E3610 @ =0x04000200
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- strh r6, [r4]
- strb r5, [r7, 0x1]
- ldrb r0, [r3]
- orrs r0, r1
- strb r0, [r3]
- b _081E36B0
- .align 2, 0
-_081E3608: .4byte 0x04000128
-_081E360C: .4byte 0x04000208
-_081E3610: .4byte 0x04000200
-_081E3614:
- ldrh r0, [r7, 0xA]
- cmp r0, 0
- bne _081E36A8
- ldrb r0, [r7]
- cmp r0, 0x1
- bne _081E3644
- ldrh r0, [r7, 0x2]
- cmp r0, 0
- bne _081E36B0
- ldr r3, _081E363C @ =0x04000208
- strh r0, [r3]
- ldr r2, _081E3640 @ =0x04000128
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- mov r1, r12
- strh r1, [r3]
- b _081E36B0
- .align 2, 0
-_081E363C: .4byte 0x04000208
-_081E3640: .4byte 0x04000128
-_081E3644:
- ldrh r1, [r7, 0x4]
- ldr r0, _081E3690 @ =0x00008001
- cmp r1, r0
- beq _081E36B0
- ldrh r6, [r7, 0x2]
- cmp r6, 0
- bne _081E36B0
- ldr r4, _081E3694 @ =0x04000208
- strh r6, [r4]
- ldr r3, _081E3698 @ =0x04000200
- ldrh r1, [r3]
- ldr r0, _081E369C @ =0x0000ff7f
- ands r0, r1
- strh r0, [r3]
- mov r7, r12
- strh r7, [r4]
- ldr r2, _081E36A0 @ =0x04000128
- strh r6, [r2]
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r2]
- ldr r0, _081E36A4 @ =0x04000202
- movs r5, 0x80
- strh r5, [r0]
- ldrh r0, [r2]
- movs r7, 0x81
- lsls r7, 7
- adds r1, r7, 0
- orrs r0, r1
- strh r0, [r2]
- strh r6, [r4]
- ldrh r0, [r3]
- orrs r0, r5
- strh r0, [r3]
- mov r0, r12
- strh r0, [r4]
- b _081E36B0
- .align 2, 0
-_081E3690: .4byte 0x00008001
-_081E3694: .4byte 0x04000208
-_081E3698: .4byte 0x04000200
-_081E369C: .4byte 0x0000ff7f
-_081E36A0: .4byte 0x04000128
-_081E36A4: .4byte 0x04000202
-_081E36A8:
- movs r0, 0x2
- strb r0, [r7, 0x1]
-_081E36AC:
- ldrh r0, [r7, 0xA]
- b _081E36B2
-_081E36B0:
- movs r0, 0
-_081E36B2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81E35C4
-
- thumb_func_start sub_81E36B8
-sub_81E36B8: @ 81E36B8
- push {r4,r5,lr}
- ldr r0, _081E3700 @ =0x04000120
- ldr r5, [r0]
- ldr r0, _081E3704 @ =gUnknown_3007470
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x1
- beq _081E36D2
- ldr r0, _081E3708 @ =0x04000128
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
-_081E36D2:
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r0, r5, 0
- lsls r0, r1
- lsrs r1, r0, 16
- movs r0, 0x1
- subs r0, r2
- lsls r0, 4
- lsls r5, r0
- adds r0, r5, 0
- lsrs r5, r0, 16
- ldrh r0, [r4, 0xA]
- cmp r0, 0
- bne _081E3726
- ldrh r2, [r4, 0x6]
- cmp r1, r2
- bne _081E3724
- ldrh r3, [r4, 0x2]
- cmp r3, 0x3
- bls _081E370C
- strh r5, [r4, 0xA]
- b _081E3726
- .align 2, 0
-_081E3700: .4byte 0x04000120
-_081E3704: .4byte gUnknown_3007470
-_081E3708: .4byte 0x04000128
-_081E370C:
- ldrh r0, [r4, 0x4]
- mvns r0, r0
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bne _081E3726
- mvns r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r5, r0
- bne _081E3726
- adds r0, r3, 0x1
-_081E3724:
- strh r0, [r4, 0x2]
-_081E3726:
- ldrh r0, [r4, 0x2]
- cmp r0, 0x3
- bhi _081E373C
- lsls r0, 1
- ldr r1, _081E3738 @ =_Str_Sio32ID
- adds r0, r1
- ldrh r0, [r0]
- b _081E373E
- .align 2, 0
-_081E3738: .4byte _Str_Sio32ID
-_081E373C:
- ldr r0, _081E3794 @ =0x00008001
-_081E373E:
- strh r0, [r4, 0x4]
- mvns r0, r5
- strh r0, [r4, 0x6]
- ldr r3, _081E3798 @ =0x04000120
- ldrh r2, [r4, 0x4]
- ldrb r1, [r4]
- movs r0, 0x1
- subs r0, r1
- lsls r0, 4
- lsls r2, r0
- ldrh r0, [r4, 0x6]
- lsls r1, 4
- lsls r0, r1
- adds r2, r0
- str r2, [r3]
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _081E378C
- ldrh r0, [r4, 0x2]
- cmp r0, 0
- bne _081E376E
- ldr r0, _081E379C @ =0x0000494e
- cmp r5, r0
- bne _081E378C
-_081E376E:
- movs r0, 0
- ldr r1, _081E37A0 @ =0x00000257
-_081E3772:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r1
- bls _081E3772
- ldrh r0, [r4, 0xA]
- cmp r0, 0
- bne _081E378C
- ldr r0, _081E37A4 @ =0x04000128
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
-_081E378C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081E3794: .4byte 0x00008001
-_081E3798: .4byte 0x04000120
-_081E379C: .4byte 0x0000494e
-_081E37A0: .4byte 0x00000257
-_081E37A4: .4byte 0x04000128
- thumb_func_end sub_81E36B8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/librfu_intr.s b/asm/librfu_intr.s
index 63aa88f3e..2cc761554 100644
--- a/asm/librfu_intr.s
+++ b/asm/librfu_intr.s
@@ -9,7 +9,7 @@
IntrSIO32: @ 81DFC50
mov r12, sp
stmdb sp!, {r11,r12,lr,pc}
- ldr r3, _081DFCB0 @ =gRfuState
+ ldr r3, _081DFCB0 @ =gSTWIStatus
ldr r0, [r3]
ldr r2, [r0]
sub r11, r12, 0x4
@@ -19,7 +19,7 @@ IntrSIO32: @ 81DFC50
cmp r0, 0
ldmdbeq r11, {r11,sp,lr}
bxeq lr
- bl sub_81E05AC
+ bl Callback_Dummy_ID
ldmdb r11, {r11,sp,lr}
bx lr
_081DFC8C:
@@ -34,7 +34,7 @@ _081DFCA4:
ldmdb r11, {r11,sp,lr}
bx lr
.align 2, 0
-_081DFCB0: .4byte gRfuState
+_081DFCB0: .4byte gSTWIStatus
arm_func_end IntrSIO32
arm_func_start sio32intr_clock_master
@@ -45,7 +45,7 @@ sio32intr_clock_master: @ 81DFCB4
sub r11, r12, 0x4
bl STWI_set_timer_in_RAM
mov r4, 0x120
- ldr r2, _081DFF28 @ =gRfuState
+ ldr r2, _081DFF28 @ =gSTWIStatus
add r4, r4, 0x4000000
ldr lr, [r4]
ldr r12, [r2]
@@ -205,10 +205,10 @@ _081DFEFC:
beq _081DFF3C
ldrh r1, [r0, 0x12]
ldrb r0, [r0, 0x6]
- bl sub_81E05A4
+ bl Callback_Dummy_M
b _081DFF3C
.align 2, 0
-_081DFF28: .4byte gRfuState
+_081DFF28: .4byte gSTWIStatus
_081DFF2C:
add r3, r5, 0x3
strh r3, [r4]
@@ -223,7 +223,7 @@ _081DFF3C:
sio32intr_clock_slave: @ 81DFF44
mov r12, sp
stmdb sp!, {r4-r6,r11,r12,lr,pc}
- ldr r4, _081E02F0 @ =gRfuState
+ ldr r4, _081E02F0 @ =gSTWIStatus
mov r0, 0x64
ldr r3, [r4]
mov r6, 0
@@ -424,7 +424,7 @@ _081E01D0:
beq _081E0348
mov r0, 0x1EC
add r0, r0, 0x2
- bl sub_81E05A8
+ bl Callback_Dummy_S
b _081E0348
_081E0244:
mov r3, 0x120
@@ -446,7 +446,7 @@ _081E0244:
ldrb r0, [r0, 0x6]
mov r1, r2
orr r0, r0, r3, lsl 8
- bl sub_81E05A8
+ bl Callback_Dummy_S
b _081E0348
_081E0298:
mov r3, 0x208
@@ -473,7 +473,7 @@ _081E02E0:
bhi _081E02E0
b _081E031C
.align 2, 0
-_081E02F0: .4byte gRfuState
+_081E02F0: .4byte gSTWIStatus
_081E02F4: .4byte 0x996601ee
_081E02F8:
mov r2, 0xFF00
@@ -510,7 +510,7 @@ handshake_wait: @ 81E0350
mov r1, 0x128
add r1, r1, 0x4000000
mov r0, r0, lsl 16
- ldr r2, _081E03B4 @ =gRfuState
+ ldr r2, _081E03B4 @ =gSTWIStatus
sub r11, r12, 0x4
mov lr, r0, lsr 14
ldr r12, [r2]
@@ -533,7 +533,7 @@ _081E03A0:
ldmdb r11, {r11,sp,lr}
bx lr
.align 2, 0
-_081E03B4: .4byte gRfuState
+_081E03B4: .4byte gSTWIStatus
arm_func_end handshake_wait
arm_func_start STWI_set_timer_in_RAM
@@ -544,7 +544,7 @@ STWI_set_timer_in_RAM: @ 81E03B8
add r1, r1, 0x4000000
mov r3, 0
sub r11, r12, 0x4
- ldr r12, _081E0470 @ =gRfuState
+ ldr r12, _081E0470 @ =gSTWIStatus
and lr, r0, 0xFF
ldr r2, [r12]
cmp lr, 0x50
@@ -589,7 +589,7 @@ _081E0458:
mov r3, 0x3
b _081E0488
.align 2, 0
-_081E0470: .4byte gRfuState
+_081E0470: .4byte gSTWIStatus
_081E0474:
mvn r3, 0x850
sub r3, r3, 0x2
@@ -621,7 +621,7 @@ STWI_stop_timer_in_RAM: @ 81E04C8
mov r12, sp
stmdb sp!, {r11,r12,lr,pc}
mov r1, 0x100
- ldr lr, _081E0514 @ =gRfuState
+ ldr lr, _081E0514 @ =gSTWIStatus
add r0, r1, 0x4000000
ldr r2, [lr]
sub r11, r12, 0x4
@@ -638,14 +638,14 @@ STWI_stop_timer_in_RAM: @ 81E04C8
ldmdb r11, {r11,sp,lr}
bx lr
.align 2, 0
-_081E0514: .4byte gRfuState
+_081E0514: .4byte gSTWIStatus
arm_func_end STWI_stop_timer_in_RAM
arm_func_start STWI_init_slave
STWI_init_slave: @ 81E0518
mov r12, sp
stmdb sp!, {r11,r12,lr,pc}
- ldr r0, _081E05A0 @ =gRfuState
+ ldr r0, _081E05A0 @ =gSTWIStatus
ldr r2, [r0]
mov r3, 0x5
str r3, [r2]
@@ -678,20 +678,20 @@ STWI_init_slave: @ 81E0518
ldmdb r11, {r11,sp,lr}
bx lr
.align 2, 0
-_081E05A0: .4byte gRfuState
+_081E05A0: .4byte gSTWIStatus
arm_func_end STWI_init_slave
- arm_func_start sub_81E05A4
-sub_81E05A4: @ 81E05A4
+ arm_func_start Callback_Dummy_M
+Callback_Dummy_M: @ 81E05A4
bx r2
- arm_func_end sub_81E05A4
+ arm_func_end Callback_Dummy_M
- arm_func_start sub_81E05A8
-sub_81E05A8: @ 81E05A8
+ arm_func_start Callback_Dummy_S
+Callback_Dummy_S: @ 81E05A8
bx r1
- arm_func_end sub_81E05A8
+ arm_func_end Callback_Dummy_S
- arm_func_start sub_81E05AC
-sub_81E05AC: @ 81E05AC
+ arm_func_start Callback_Dummy_ID
+Callback_Dummy_ID: @ 81E05AC
bx r0
- arm_func_end sub_81E05AC
+ arm_func_end Callback_Dummy_ID
diff --git a/asm/librfu_stwi.s b/asm/librfu_stwi.s
deleted file mode 100644
index 5434d037f..000000000
--- a/asm/librfu_stwi.s
+++ /dev/null
@@ -1,1560 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start STWI_init_all
-STWI_init_all: @ 81DF114
- push {r4,lr}
- adds r3, r0, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0x1
- bne _081DF150
- adds r2, r3, 0
- adds r2, 0xE8
- str r2, [r1]
- ldr r1, _081DF13C @ =0x040000d4
- ldr r0, _081DF140 @ =IntrSIO32
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _081DF144 @ =0x800004b0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _081DF148 @ =gRfuState
- ldr r2, _081DF14C @ =0x00000a48
- adds r0, r3, r2
- b _081DF15A
- .align 2, 0
-_081DF13C: .4byte 0x040000d4
-_081DF140: .4byte IntrSIO32
-_081DF144: .4byte 0x800004b0
-_081DF148: .4byte gRfuState
-_081DF14C: .4byte 0x00000a48
-_081DF150:
- ldr r0, _081DF1D4 @ =IntrSIO32
- str r0, [r1]
- ldr r1, _081DF1D8 @ =gRfuState
- adds r0, r3, 0
- adds r0, 0xE8
-_081DF15A:
- str r0, [r1]
- adds r2, r1, 0
- ldr r1, [r2]
- str r3, [r1, 0x28]
- adds r0, r3, 0
- adds r0, 0x74
- str r0, [r1, 0x24]
- ldrb r0, [r1, 0x14]
- movs r4, 0
- movs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r0, [r2]
- str r4, [r0]
- strb r4, [r0, 0x4]
- ldr r0, [r2]
- strb r4, [r0, 0x5]
- ldr r0, [r2]
- strb r4, [r0, 0x7]
- ldr r0, [r2]
- strb r4, [r0, 0x8]
- ldr r0, [r2]
- strb r4, [r0, 0x9]
- ldr r0, [r2]
- str r4, [r0, 0xC]
- ldrb r1, [r0, 0x10]
- strb r4, [r0, 0x10]
- ldr r0, [r2]
- ldrh r1, [r0, 0x12]
- movs r1, 0
- strh r4, [r0, 0x12]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- adds r0, 0x2C
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r1, _081DF1DC @ =0x04000134
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r2, _081DF1E0 @ =0x00005003
- adds r0, r2, 0
- strh r0, [r1]
- bl STWI_init_Callback_M
- bl STWI_init_Callback_S
- ldr r3, _081DF1E4 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _081DF1E8 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF1D4: .4byte IntrSIO32
-_081DF1D8: .4byte gRfuState
-_081DF1DC: .4byte 0x04000134
-_081DF1E0: .4byte 0x00005003
-_081DF1E4: .4byte 0x04000208
-_081DF1E8: .4byte 0x04000200
- thumb_func_end STWI_init_all
-
- thumb_func_start STWI_init_timer
-STWI_init_timer: @ 81DF1EC
- push {r4,r5,lr}
- ldr r2, _081DF218 @ =STWI_intr_timer
- str r2, [r0]
- ldr r5, _081DF21C @ =gRfuState
- ldr r0, [r5]
- movs r4, 0
- strb r1, [r0, 0xA]
- ldr r3, _081DF220 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _081DF224 @ =0x04000200
- ldr r1, [r5]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- ldrh r1, [r4]
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF218: .4byte STWI_intr_timer
-_081DF21C: .4byte gRfuState
-_081DF220: .4byte 0x04000208
-_081DF224: .4byte 0x04000200
- thumb_func_end STWI_init_timer
-
- thumb_func_start AgbRFU_SoftReset
-AgbRFU_SoftReset: @ 81DF228
- push {r4,r5,lr}
- ldr r5, _081DF2C0 @ =0x04000134
- movs r1, 0x80
- lsls r1, 8
- adds r0, r1, 0
- strh r0, [r5]
- ldr r2, _081DF2C4 @ =0x000080a0
- adds r0, r2, 0
- strh r0, [r5]
- ldr r1, _081DF2C8 @ =gRfuState
- ldr r0, [r1]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r3, _081DF2CC @ =0x04000100
- adds r2, r0, r3
- ldr r4, _081DF2D0 @ =0x04000102
- adds r3, r0, r4
- movs r0, 0
- strh r0, [r3]
- strh r0, [r2]
- movs r0, 0x83
- strh r0, [r3]
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, 0x11
- bhi _081DF268
- ldr r0, _081DF2D4 @ =0x000080a2
- adds r1, r0, 0
-_081DF260:
- strh r1, [r5]
- ldrh r0, [r2]
- cmp r0, 0x11
- bls _081DF260
-_081DF268:
- movs r0, 0x3
- strh r0, [r3]
- ldr r1, _081DF2C0 @ =0x04000134
- ldr r2, _081DF2C4 @ =0x000080a0
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r3, _081DF2D8 @ =0x00005003
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, [r4]
- movs r2, 0
- str r2, [r0]
- strb r2, [r0, 0x4]
- ldr r0, [r4]
- strb r2, [r0, 0x5]
- ldr r0, [r4]
- strb r2, [r0, 0x6]
- ldr r0, [r4]
- strb r2, [r0, 0x7]
- ldr r0, [r4]
- strb r2, [r0, 0x8]
- ldr r0, [r4]
- strb r2, [r0, 0x9]
- ldr r0, [r4]
- str r2, [r0, 0xC]
- ldrb r1, [r0, 0x10]
- strb r2, [r0, 0x10]
- ldr r1, [r4]
- ldrh r0, [r1, 0x12]
- movs r3, 0
- strh r2, [r1, 0x12]
- ldrb r0, [r1, 0x14]
- movs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r0, [r4]
- strb r3, [r0, 0x15]
- ldr r0, [r4]
- adds r0, 0x2C
- ldrb r1, [r0]
- strb r3, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF2C0: .4byte 0x04000134
-_081DF2C4: .4byte 0x000080a0
-_081DF2C8: .4byte gRfuState
-_081DF2CC: .4byte 0x04000100
-_081DF2D0: .4byte 0x04000102
-_081DF2D4: .4byte 0x000080a2
-_081DF2D8: .4byte 0x00005003
- thumb_func_end AgbRFU_SoftReset
-
- thumb_func_start STWI_set_MS_mode
-STWI_set_MS_mode: @ 81DF2DC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _081DF2EC @ =gRfuState
- ldr r1, [r1]
- ldrb r2, [r1, 0x14]
- strb r0, [r1, 0x14]
- bx lr
- .align 2, 0
-_081DF2EC: .4byte gRfuState
- thumb_func_end STWI_set_MS_mode
-
- thumb_func_start STWI_read_status
-STWI_read_status: @ 81DF2F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _081DF31C
- cmp r0, 0x1
- bgt _081DF306
- cmp r0, 0
- beq _081DF310
- b _081DF344
-_081DF306:
- cmp r1, 0x2
- beq _081DF328
- cmp r1, 0x3
- beq _081DF338
- b _081DF344
-_081DF310:
- ldr r0, _081DF318 @ =gRfuState
- ldr r0, [r0]
- ldrh r0, [r0, 0x12]
- b _081DF346
- .align 2, 0
-_081DF318: .4byte gRfuState
-_081DF31C:
- ldr r0, _081DF324 @ =gRfuState
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- b _081DF346
- .align 2, 0
-_081DF324: .4byte gRfuState
-_081DF328:
- ldr r0, _081DF334 @ =gRfuState
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r0, 16
- lsrs r0, 16
- b _081DF346
- .align 2, 0
-_081DF334: .4byte gRfuState
-_081DF338:
- ldr r0, _081DF340 @ =gRfuState
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- b _081DF346
- .align 2, 0
-_081DF340: .4byte gRfuState
-_081DF344:
- ldr r0, _081DF34C @ =0x0000ffff
-_081DF346:
- pop {r1}
- bx r1
- .align 2, 0
-_081DF34C: .4byte 0x0000ffff
- thumb_func_end STWI_read_status
-
- thumb_func_start STWI_init_Callback_M
-STWI_init_Callback_M: @ 81DF350
- push {lr}
- movs r0, 0
- bl STWI_set_Callback_M
- pop {r0}
- bx r0
- thumb_func_end STWI_init_Callback_M
-
- thumb_func_start STWI_init_Callback_S
-STWI_init_Callback_S: @ 81DF35C
- push {lr}
- movs r0, 0
- bl STWI_set_Callback_S
- pop {r0}
- bx r0
- thumb_func_end STWI_init_Callback_S
-
- thumb_func_start STWI_set_Callback_M
-STWI_set_Callback_M: @ 81DF368
- ldr r1, _081DF370 @ =gRfuState
- ldr r1, [r1]
- str r0, [r1, 0x18]
- bx lr
- .align 2, 0
-_081DF370: .4byte gRfuState
- thumb_func_end STWI_set_Callback_M
-
- thumb_func_start STWI_set_Callback_S
-STWI_set_Callback_S: @ 81DF374
- ldr r1, _081DF37C @ =gRfuState
- ldr r1, [r1]
- str r0, [r1, 0x1C]
- bx lr
- .align 2, 0
-_081DF37C: .4byte gRfuState
- thumb_func_end STWI_set_Callback_S
-
- thumb_func_start STWI_set_Callback_ID
-STWI_set_Callback_ID: @ 81DF380
- ldr r1, _081DF388 @ =gRfuState
- ldr r1, [r1]
- str r0, [r1, 0x20]
- bx lr
- .align 2, 0
-_081DF388: .4byte gRfuState
- thumb_func_end STWI_set_Callback_ID
-
- thumb_func_start STWI_poll_CommandEnd
-STWI_poll_CommandEnd: @ 81DF38C
- push {lr}
- ldr r0, _081DF3B0 @ =gRfuState
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _081DF3A6
- adds r1, r2, 0
-_081DF3A0:
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _081DF3A0
-_081DF3A6:
- ldr r0, [r3]
- ldrh r0, [r0, 0x12]
- pop {r1}
- bx r1
- .align 2, 0
-_081DF3B0: .4byte gRfuState
- thumb_func_end STWI_poll_CommandEnd
-
- thumb_func_start STWI_send_ResetREQ
-STWI_send_ResetREQ: @ 81DF3B4
- push {lr}
- movs r0, 0x10
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF3CE
- ldr r0, _081DF3D4 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF3CE:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF3D4: .4byte gRfuState
- thumb_func_end STWI_send_ResetREQ
-
- thumb_func_start STWI_send_LinkStatusREQ
-STWI_send_LinkStatusREQ: @ 81DF3D8
- push {lr}
- movs r0, 0x11
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF3F2
- ldr r0, _081DF3F8 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF3F2:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF3F8: .4byte gRfuState
- thumb_func_end STWI_send_LinkStatusREQ
-
- thumb_func_start STWI_send_VersionStatusREQ
-STWI_send_VersionStatusREQ: @ 81DF3FC
- push {lr}
- movs r0, 0x12
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF416
- ldr r0, _081DF41C @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF416:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF41C: .4byte gRfuState
- thumb_func_end STWI_send_VersionStatusREQ
-
- thumb_func_start STWI_send_SystemStatusREQ
-STWI_send_SystemStatusREQ: @ 81DF420
- push {lr}
- movs r0, 0x13
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF43A
- ldr r0, _081DF440 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF43A:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF440: .4byte gRfuState
- thumb_func_end STWI_send_SystemStatusREQ
-
- thumb_func_start STWI_send_SlotStatusREQ
-STWI_send_SlotStatusREQ: @ 81DF444
- push {lr}
- movs r0, 0x14
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF45E
- ldr r0, _081DF464 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF45E:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF464: .4byte gRfuState
- thumb_func_end STWI_send_SlotStatusREQ
-
- thumb_func_start STWI_send_ConfigStatusREQ
-STWI_send_ConfigStatusREQ: @ 81DF468
- push {lr}
- movs r0, 0x15
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF482
- ldr r0, _081DF488 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF482:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF488: .4byte gRfuState
- thumb_func_end STWI_send_ConfigStatusREQ
-
- thumb_func_start STWI_send_GameConfigREQ
-STWI_send_GameConfigREQ: @ 81DF48C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x16
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF4D8
- ldr r2, _081DF4E0 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x6
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrh r0, [r4]
- strh r0, [r1]
- adds r1, 0x2
- adds r4, 0x2
- movs r2, 0xD
-_081DF4B6:
- ldrb r0, [r4]
- strb r0, [r1]
- adds r1, 0x1
- adds r4, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _081DF4B6
- movs r2, 0x7
-_081DF4C6:
- ldrb r0, [r5]
- strb r0, [r1]
- adds r1, 0x1
- adds r5, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _081DF4C6
- bl STWI_start_Command
-_081DF4D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF4E0: .4byte gRfuState
- thumb_func_end STWI_send_GameConfigREQ
-
- thumb_func_start STWI_send_SystemConfigREQ
-STWI_send_SystemConfigREQ: @ 81DF4E4
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r0, 0x17
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF51A
- ldr r2, _081DF520 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r4, [r0]
- adds r0, 0x1
- strb r5, [r0]
- adds r0, 0x1
- strh r6, [r0]
- bl STWI_start_Command
-_081DF51A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF520: .4byte gRfuState
- thumb_func_end STWI_send_SystemConfigREQ
-
- thumb_func_start STWI_send_SC_StartREQ
-STWI_send_SC_StartREQ: @ 81DF524
- push {lr}
- movs r0, 0x19
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF53E
- ldr r0, _081DF544 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF53E:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF544: .4byte gRfuState
- thumb_func_end STWI_send_SC_StartREQ
-
- thumb_func_start STWI_send_SC_PollingREQ
-STWI_send_SC_PollingREQ: @ 81DF548
- push {lr}
- movs r0, 0x1A
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF562
- ldr r0, _081DF568 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF562:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF568: .4byte gRfuState
- thumb_func_end STWI_send_SC_PollingREQ
-
- thumb_func_start STWI_send_SC_EndREQ
-STWI_send_SC_EndREQ: @ 81DF56C
- push {lr}
- movs r0, 0x1B
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF586
- ldr r0, _081DF58C @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF586:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF58C: .4byte gRfuState
- thumb_func_end STWI_send_SC_EndREQ
-
- thumb_func_start STWI_send_SP_StartREQ
-STWI_send_SP_StartREQ: @ 81DF590
- push {lr}
- movs r0, 0x1C
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF5AA
- ldr r0, _081DF5B0 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF5AA:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF5B0: .4byte gRfuState
- thumb_func_end STWI_send_SP_StartREQ
-
- thumb_func_start STWI_send_SP_PollingREQ
-STWI_send_SP_PollingREQ: @ 81DF5B4
- push {lr}
- movs r0, 0x1D
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF5CE
- ldr r0, _081DF5D4 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF5CE:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF5D4: .4byte gRfuState
- thumb_func_end STWI_send_SP_PollingREQ
-
- thumb_func_start STWI_send_SP_EndREQ
-STWI_send_SP_EndREQ: @ 81DF5D8
- push {lr}
- movs r0, 0x1E
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF5F2
- ldr r0, _081DF5F8 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF5F2:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF5F8: .4byte gRfuState
- thumb_func_end STWI_send_SP_EndREQ
-
- thumb_func_start STWI_send_CP_StartREQ
-STWI_send_CP_StartREQ: @ 81DF5FC
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1F
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF620
- ldr r2, _081DF628 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- str r4, [r0, 0x4]
- bl STWI_start_Command
-_081DF620:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF628: .4byte gRfuState
- thumb_func_end STWI_send_CP_StartREQ
-
- thumb_func_start STWI_send_CP_PollingREQ
-STWI_send_CP_PollingREQ: @ 81DF62C
- push {lr}
- movs r0, 0x20
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF646
- ldr r0, _081DF64C @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF646:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF64C: .4byte gRfuState
- thumb_func_end STWI_send_CP_PollingREQ
-
- thumb_func_start STWI_send_CP_EndREQ
-STWI_send_CP_EndREQ: @ 81DF650
- push {lr}
- movs r0, 0x21
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF66A
- ldr r0, _081DF670 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF66A:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF670: .4byte gRfuState
- thumb_func_end STWI_send_CP_EndREQ
-
- thumb_func_start STWI_send_DataTxREQ
-STWI_send_DataTxREQ: @ 81DF674
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r5, r4, 24
- movs r0, 0x24
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF6B2
- lsrs r2, r4, 26
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0
- beq _081DF694
- adds r2, 0x1
-_081DF694:
- ldr r1, _081DF6B8 @ =gRfuState
- ldr r0, [r1]
- strb r2, [r0, 0x4]
- ldr r0, [r1]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrb r2, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 19
- orrs r2, r0
- adds r0, r6, 0
- bl CpuSet
- bl STWI_start_Command
-_081DF6B2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF6B8: .4byte gRfuState
- thumb_func_end STWI_send_DataTxREQ
-
- thumb_func_start STWI_send_DataTxAndChangeREQ
-STWI_send_DataTxAndChangeREQ: @ 81DF6BC
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r5, r4, 24
- movs r0, 0x25
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF6FA
- lsrs r2, r4, 26
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0
- beq _081DF6DC
- adds r2, 0x1
-_081DF6DC:
- ldr r1, _081DF700 @ =gRfuState
- ldr r0, [r1]
- strb r2, [r0, 0x4]
- ldr r0, [r1]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrb r2, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 19
- orrs r2, r0
- adds r0, r6, 0
- bl CpuSet
- bl STWI_start_Command
-_081DF6FA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF700: .4byte gRfuState
- thumb_func_end STWI_send_DataTxAndChangeREQ
-
- thumb_func_start STWI_send_DataRxREQ
-STWI_send_DataRxREQ: @ 81DF704
- push {lr}
- movs r0, 0x26
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF71E
- ldr r0, _081DF724 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF71E:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF724: .4byte gRfuState
- thumb_func_end STWI_send_DataRxREQ
-
- thumb_func_start STWI_send_MS_ChangeREQ
-STWI_send_MS_ChangeREQ: @ 81DF728
- push {lr}
- movs r0, 0x27
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF742
- ldr r0, _081DF748 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF742:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF748: .4byte gRfuState
- thumb_func_end STWI_send_MS_ChangeREQ
-
- thumb_func_start STWI_send_DataReadyAndChangeREQ
-STWI_send_DataReadyAndChangeREQ: @ 81DF74C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r0, 0x28
- bl STWI_init
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _081DF792
- cmp r4, 0
- bne _081DF774
- ldr r0, _081DF770 @ =gRfuState
- ldr r0, [r0]
- strb r3, [r0, 0x4]
- b _081DF78E
- .align 2, 0
-_081DF770: .4byte gRfuState
-_081DF774:
- ldr r2, _081DF798 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r5, [r0]
- adds r0, 0x1
- strb r3, [r0]
- adds r0, 0x1
- strb r3, [r0]
- strb r3, [r0, 0x1]
-_081DF78E:
- bl STWI_start_Command
-_081DF792:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF798: .4byte gRfuState
- thumb_func_end STWI_send_DataReadyAndChangeREQ
-
- thumb_func_start STWI_send_DisconnectedAndChangeREQ
-STWI_send_DisconnectedAndChangeREQ: @ 81DF79C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x29
- bl STWI_init
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _081DF7D2
- ldr r2, _081DF7D8 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r4, [r0]
- adds r0, 0x1
- strb r5, [r0]
- adds r0, 0x1
- strb r3, [r0]
- strb r3, [r0, 0x1]
- bl STWI_start_Command
-_081DF7D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF7D8: .4byte gRfuState
- thumb_func_end STWI_send_DisconnectedAndChangeREQ
-
- thumb_func_start STWI_send_ResumeRetransmitAndChangeREQ
-STWI_send_ResumeRetransmitAndChangeREQ: @ 81DF7DC
- push {lr}
- movs r0, 0x37
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF7F6
- ldr r0, _081DF7FC @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF7F6:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF7FC: .4byte gRfuState
- thumb_func_end STWI_send_ResumeRetransmitAndChangeREQ
-
- thumb_func_start STWI_send_DisconnectREQ
-STWI_send_DisconnectREQ: @ 81DF800
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x30
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF824
- ldr r2, _081DF82C @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- str r4, [r0, 0x4]
- bl STWI_start_Command
-_081DF824:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF82C: .4byte gRfuState
- thumb_func_end STWI_send_DisconnectREQ
-
- thumb_func_start STWI_send_TestModeREQ
-STWI_send_TestModeREQ: @ 81DF830
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r0, 0x31
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF85C
- ldr r2, _081DF864 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r1, [r0, 0x24]
- lsls r0, r4, 8
- orrs r0, r5
- str r0, [r1, 0x4]
- bl STWI_start_Command
-_081DF85C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF864: .4byte gRfuState
- thumb_func_end STWI_send_TestModeREQ
-
- thumb_func_start STWI_send_CPR_StartREQ
-STWI_send_CPR_StartREQ: @ 81DF868
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- movs r0, 0x32
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF89A
- ldr r2, _081DF8A0 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x2
- strb r0, [r1, 0x4]
- lsls r0, r5, 16
- orrs r0, r4
- ldr r1, [r2]
- ldr r1, [r1, 0x24]
- str r0, [r1, 0x4]
- str r6, [r1, 0x8]
- bl STWI_start_Command
-_081DF89A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF8A0: .4byte gRfuState
- thumb_func_end STWI_send_CPR_StartREQ
-
- thumb_func_start STWI_send_CPR_PollingREQ
-STWI_send_CPR_PollingREQ: @ 81DF8A4
- push {lr}
- movs r0, 0x33
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF8BE
- ldr r0, _081DF8C4 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF8BE:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF8C4: .4byte gRfuState
- thumb_func_end STWI_send_CPR_PollingREQ
-
- thumb_func_start STWI_send_CPR_EndREQ
-STWI_send_CPR_EndREQ: @ 81DF8C8
- push {lr}
- movs r0, 0x34
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF8E2
- ldr r0, _081DF8E8 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF8E2:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF8E8: .4byte gRfuState
- thumb_func_end STWI_send_CPR_EndREQ
-
- thumb_func_start STWI_send_StopModeREQ
-STWI_send_StopModeREQ: @ 81DF8EC
- push {lr}
- movs r0, 0x3D
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF906
- ldr r0, _081DF90C @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF906:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF90C: .4byte gRfuState
- thumb_func_end STWI_send_StopModeREQ
-
- thumb_func_start STWI_intr_timer
-STWI_intr_timer: @ 81DF910
- push {r4,lr}
- ldr r4, _081DF928 @ =gRfuState
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0x2
- beq _081DF936
- cmp r0, 0x2
- bhi _081DF92C
- cmp r0, 0x1
- beq _081DF944
- b _081DF96C
- .align 2, 0
-_081DF928: .4byte gRfuState
-_081DF92C:
- cmp r0, 0x3
- beq _081DF94E
- cmp r0, 0x4
- beq _081DF944
- b _081DF96C
-_081DF936:
- ldrb r0, [r1, 0x10]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- movs r0, 0x32
- bl STWI_set_timer
- b _081DF96C
-_081DF944:
- bl STWI_stop_timer
- bl STWI_restart_Command
- b _081DF96C
-_081DF94E:
- ldrb r0, [r1, 0x10]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- bl STWI_stop_timer
- bl STWI_reset_ClockCounter
- ldr r0, [r4]
- ldr r2, [r0, 0x18]
- cmp r2, 0
- beq _081DF96C
- movs r0, 0xFF
- movs r1, 0
- bl _call_via_r2
-_081DF96C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end STWI_intr_timer
-
- thumb_func_start STWI_set_timer
-STWI_set_timer: @ 81DF974
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, r3, 0
- ldr r2, _081DF9A4 @ =gRfuState
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r1, _081DF9A8 @ =0x04000100
- adds r4, r0, r1
- adds r1, 0x2
- adds r7, r0, r1
- ldr r1, _081DF9AC @ =0x04000208
- movs r0, 0
- strh r0, [r1]
- adds r6, r2, 0
- cmp r3, 0x50
- beq _081DF9CC
- cmp r3, 0x50
- bgt _081DF9B0
- cmp r3, 0x32
- beq _081DF9BA
- b _081DF9F8
- .align 2, 0
-_081DF9A4: .4byte gRfuState
-_081DF9A8: .4byte 0x04000100
-_081DF9AC: .4byte 0x04000208
-_081DF9B0:
- cmp r5, 0x64
- beq _081DF9DC
- cmp r5, 0x82
- beq _081DF9EC
- b _081DF9F8
-_081DF9BA:
- ldr r1, _081DF9C8 @ =0x0000fccb
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x1
- b _081DF9F6
- .align 2, 0
-_081DF9C8: .4byte 0x0000fccb
-_081DF9CC:
- ldr r1, _081DF9D8 @ =0x0000fae0
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x2
- b _081DF9F6
- .align 2, 0
-_081DF9D8: .4byte 0x0000fae0
-_081DF9DC:
- ldr r1, _081DF9E8 @ =0x0000f996
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x3
- b _081DF9F6
- .align 2, 0
-_081DF9E8: .4byte 0x0000f996
-_081DF9EC:
- ldr r1, _081DFA14 @ =0x0000f7ad
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x4
-_081DF9F6:
- str r0, [r1, 0xC]
-_081DF9F8:
- movs r0, 0xC3
- strh r0, [r7]
- ldr r2, _081DFA18 @ =0x04000202
- ldr r1, [r6]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- strh r0, [r2]
- ldr r1, _081DFA1C @ =0x04000208
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DFA14: .4byte 0x0000f7ad
-_081DFA18: .4byte 0x04000202
-_081DFA1C: .4byte 0x04000208
- thumb_func_end STWI_set_timer
-
- thumb_func_start STWI_stop_timer
-STWI_stop_timer: @ 81DFA20
- ldr r2, _081DFA40 @ =gRfuState
- ldr r0, [r2]
- movs r1, 0
- str r1, [r0, 0xC]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r3, _081DFA44 @ =0x04000100
- adds r0, r3
- strh r1, [r0]
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r2, _081DFA48 @ =0x04000102
- adds r0, r2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_081DFA40: .4byte gRfuState
-_081DFA44: .4byte 0x04000100
-_081DFA48: .4byte 0x04000102
- thumb_func_end STWI_stop_timer
-
- thumb_func_start STWI_init
-STWI_init: @ 81DFA4C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, _081DFA78 @ =0x04000208
- ldrh r0, [r0]
- cmp r0, 0
- bne _081DFA80
- ldr r0, _081DFA7C @ =gRfuState
- ldr r1, [r0]
- ldrh r0, [r1, 0x12]
- movs r0, 0x6
- strh r0, [r1, 0x12]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _081DFACA
- ldrh r1, [r1, 0x12]
- adds r0, r5, 0
- bl _call_via_r2
- b _081DFACA
- .align 2, 0
-_081DFA78: .4byte 0x04000208
-_081DFA7C: .4byte gRfuState
-_081DFA80:
- ldr r4, _081DFAAC @ =gRfuState
- ldr r2, [r4]
- adds r3, r2, 0
- adds r3, 0x2C
- ldrb r0, [r3]
- cmp r0, 0x1
- bne _081DFAB0
- ldrh r0, [r2, 0x12]
- movs r1, 0
- movs r0, 0x2
- strh r0, [r2, 0x12]
- ldrb r0, [r3]
- strb r1, [r3]
- ldr r0, [r4]
- ldr r2, [r0, 0x18]
- cmp r2, 0
- beq _081DFACA
- ldrh r1, [r0, 0x12]
- adds r0, r5, 0
- bl _call_via_r2
- b _081DFACA
- .align 2, 0
-_081DFAAC: .4byte gRfuState
-_081DFAB0:
- ldrb r0, [r2, 0x14]
- cmp r0, 0
- bne _081DFACE
- ldrh r0, [r2, 0x12]
- movs r0, 0x4
- strh r0, [r2, 0x12]
- ldr r3, [r2, 0x18]
- cmp r3, 0
- beq _081DFACA
- ldrh r1, [r2, 0x12]
- adds r0, r5, 0
- bl _call_via_r3
-_081DFACA:
- movs r0, 0x1
- b _081DFB16
-_081DFACE:
- ldrb r0, [r3]
- movs r1, 0
- movs r0, 0x1
- strb r0, [r3]
- ldr r0, [r4]
- strb r6, [r0, 0x6]
- ldr r0, [r4]
- str r1, [r0]
- strb r1, [r0, 0x4]
- ldr r0, [r4]
- strb r1, [r0, 0x5]
- ldr r0, [r4]
- strb r1, [r0, 0x7]
- ldr r0, [r4]
- strb r1, [r0, 0x8]
- ldr r0, [r4]
- strb r1, [r0, 0x9]
- ldr r0, [r4]
- str r1, [r0, 0xC]
- ldrb r2, [r0, 0x10]
- strb r1, [r0, 0x10]
- ldr r0, [r4]
- ldrh r2, [r0, 0x12]
- movs r2, 0
- strh r1, [r0, 0x12]
- strb r2, [r0, 0x15]
- ldr r1, _081DFB1C @ =0x04000134
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r2, _081DFB20 @ =0x00005003
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
-_081DFB16:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081DFB1C: .4byte 0x04000134
-_081DFB20: .4byte 0x00005003
- thumb_func_end STWI_init
-
- thumb_func_start STWI_start_Command
-STWI_start_Command: @ 81DFB24
- push {r4,r5,lr}
- ldr r5, _081DFB7C @ =gRfuState
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- ldrb r1, [r0, 0x4]
- lsls r1, 8
- ldrb r0, [r0, 0x6]
- ldr r2, _081DFB80 @ =0x99660000
- orrs r0, r2
- orrs r1, r0
- str r1, [r3]
- ldr r2, _081DFB84 @ =0x04000120
- ldr r1, [r5]
- ldr r0, [r1, 0x24]
- ldr r0, [r0]
- str r0, [r2]
- movs r2, 0
- str r2, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x5]
- ldr r4, _081DFB88 @ =0x04000208
- ldrh r3, [r4]
- strh r2, [r4]
- ldr r2, _081DFB8C @ =0x04000200
- ldr r1, [r5]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- strh r3, [r4]
- ldr r1, _081DFB90 @ =0x04000128
- ldr r2, _081DFB94 @ =0x00005083
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_081DFB7C: .4byte gRfuState
-_081DFB80: .4byte 0x99660000
-_081DFB84: .4byte 0x04000120
-_081DFB88: .4byte 0x04000208
-_081DFB8C: .4byte 0x04000200
-_081DFB90: .4byte 0x04000128
-_081DFB94: .4byte 0x00005083
- thumb_func_end STWI_start_Command
-
- thumb_func_start STWI_restart_Command
-STWI_restart_Command: @ 81DFB98
- push {r4,lr}
- ldr r4, _081DFBB0 @ =gRfuState
- ldr r2, [r4]
- ldrb r0, [r2, 0x15]
- adds r3, r4, 0
- cmp r0, 0x1
- bhi _081DFBB4
- adds r0, 0x1
- strb r0, [r2, 0x15]
- bl STWI_start_Command
- b _081DFC0E
- .align 2, 0
-_081DFBB0: .4byte gRfuState
-_081DFBB4:
- ldrb r0, [r2, 0x6]
- cmp r0, 0x27
- beq _081DFBC6
- cmp r0, 0x25
- beq _081DFBC6
- cmp r0, 0x35
- beq _081DFBC6
- cmp r0, 0x37
- bne _081DFBE8
-_081DFBC6:
- ldr r0, [r3]
- ldrh r1, [r0, 0x12]
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x12]
- adds r0, 0x2C
- ldrb r1, [r0]
- strb r2, [r0]
- ldr r1, [r3]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _081DFC0E
- ldrb r0, [r1, 0x6]
- ldrh r1, [r1, 0x12]
- bl _call_via_r2
- b _081DFC0E
-_081DFBE8:
- ldrh r0, [r2, 0x12]
- movs r1, 0
- movs r0, 0x1
- strh r0, [r2, 0x12]
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r1, [r4]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _081DFC08
- ldrb r0, [r1, 0x6]
- ldrh r1, [r1, 0x12]
- bl _call_via_r2
-_081DFC08:
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1]
-_081DFC0E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end STWI_restart_Command
-
- thumb_func_start STWI_reset_ClockCounter
-STWI_reset_ClockCounter: @ 81DFC18
- ldr r3, _081DFC44 @ =gRfuState
- ldr r1, [r3]
- movs r0, 0x5
- str r0, [r1]
- movs r2, 0
- strb r2, [r1, 0x4]
- ldr r0, [r3]
- strb r2, [r0, 0x5]
- ldr r1, _081DFC48 @ =0x04000120
- movs r0, 0x80
- lsls r0, 24
- str r0, [r1]
- adds r1, 0x8
- strh r2, [r1]
- ldr r2, _081DFC4C @ =0x00005003
- adds r0, r2, 0
- strh r0, [r1]
- adds r2, 0x7F
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bx lr
- .align 2, 0
-_081DFC44: .4byte gRfuState
-_081DFC48: .4byte 0x04000120
-_081DFC4C: .4byte 0x00005003
- thumb_func_end STWI_reset_ClockCounter
diff --git a/asm/link_rfu.s b/asm/link_rfu.s
index 7c1485466..49fe3aef5 100644
--- a/asm/link_rfu.s
+++ b/asm/link_rfu.s
@@ -50,7 +50,7 @@ rfu_REQ_sendData_wrapper: @ 80FD3F0
push {lr}
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _080FD410 @ =gUnknown_3007460
+ ldr r0, _080FD410 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0
@@ -63,7 +63,7 @@ rfu_REQ_sendData_wrapper: @ 80FD3F0
movs r2, 0x1
b _080FD420
.align 2, 0
-_080FD410: .4byte gUnknown_3007460
+_080FD410: .4byte gRfuLinkStatus
_080FD414: .4byte gUnknown_3005E10
_080FD418:
ldr r0, _080FD42C @ =gUnknown_3005E10
@@ -383,7 +383,7 @@ _080FD648:
_080FD664: .4byte gUnknown_3005E10
_080FD668:
movs r2, 0
- ldr r0, _080FD6B4 @ =gUnknown_3007460
+ ldr r0, _080FD6B4 @ =gRfuLinkStatus
ldr r1, [r0]
ldrb r3, [r1, 0x8]
ldr r5, _080FD6B8 @ =gUnknown_3005E10
@@ -422,7 +422,7 @@ _080FD6A2:
movs r0, 0x3
b _080FD6E8
.align 2, 0
-_080FD6B4: .4byte gUnknown_3007460
+_080FD6B4: .4byte gRfuLinkStatus
_080FD6B8: .4byte gUnknown_3005E10
_080FD6BC:
ldrb r0, [r5, 0x4]
@@ -476,7 +476,7 @@ sub_80FD6F4: @ 80FD6F4
bics r0, r1
strb r0, [r3]
movs r4, 0
- ldr r7, _080FD75C @ =gUnknown_3007460
+ ldr r7, _080FD75C @ =gRfuLinkStatus
movs r5, 0x1
adds r3, 0x4
movs r2, 0
@@ -514,7 +514,7 @@ _080FD750:
bx r0
.align 2, 0
_080FD758: .4byte gUnknown_3005E10
-_080FD75C: .4byte gUnknown_3007460
+_080FD75C: .4byte gRfuLinkStatus
thumb_func_end sub_80FD6F4
thumb_func_start sub_80FD760
@@ -601,7 +601,7 @@ _080FD80A:
strb r0, [r5, 0x4]
ldrb r0, [r5, 0x12]
strb r0, [r5, 0x5]
- ldr r4, _080FD82C @ =gUnknown_3007460
+ ldr r4, _080FD82C @ =gRfuLinkStatus
ldr r0, [r4]
ldrb r0, [r0, 0x3]
bl sub_80FE818
@@ -613,7 +613,7 @@ _080FD80A:
bl sub_80FE7F0
b _080FD84A
.align 2, 0
-_080FD82C: .4byte gUnknown_3007460
+_080FD82C: .4byte gRfuLinkStatus
_080FD830:
movs r0, 0x12
strb r0, [r5, 0x4]
@@ -653,7 +653,7 @@ sub_80FD850: @ 80FD850
mov r1, sp
adds r2, r5, 0
adds r3, r4, 0
- bl sub_81E13F0
+ bl rfu_REQBN_watchLink
mov r0, sp
ldrb r0, [r0]
adds r7, r4, 0
@@ -743,7 +743,7 @@ _080FD90A:
_080FD91E:
bl sub_80FEAF4
_080FD922:
- ldr r0, _080FDA0C @ =gUnknown_3007460
+ ldr r0, _080FDA0C @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -866,7 +866,7 @@ _080FD9FC:
pop {r1}
bx r1
.align 2, 0
-_080FDA0C: .4byte gUnknown_3007460
+_080FDA0C: .4byte gRfuLinkStatus
_080FDA10: .4byte gUnknown_3005E10
thumb_func_end sub_80FD850
@@ -1025,7 +1025,7 @@ _080FDB5C:
.align 2, 0
_080FDB70: .4byte gUnknown_3005E10
_080FDB74:
- bl sub_81E0CAC
+ bl rfu_REQ_startSearchChild
b _080FDBDA
_080FDB7A:
bl rfu_REQ_pollSearchChild
@@ -1056,13 +1056,13 @@ _080FDBAE:
bl rfu_REQ_endConnectParent
b _080FDBDA
_080FDBB4:
- ldr r0, _080FDBC0 @ =gUnknown_3007460
+ ldr r0, _080FDBC0 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x3]
bl rfu_REQ_CHILD_startConnectRecovery
b _080FDBDA
.align 2, 0
-_080FDBC0: .4byte gUnknown_3007460
+_080FDBC0: .4byte gRfuLinkStatus
_080FDBC4:
bl rfu_REQ_CHILD_pollConnectRecovery
b _080FDBDA
@@ -1089,7 +1089,7 @@ _080FDBE4:
bhi _080FDBF4
b _080FDA5A
_080FDBF4:
- ldr r0, _080FDC24 @ =gUnknown_3007460
+ ldr r0, _080FDC24 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -1110,7 +1110,7 @@ _080FDC1A:
bx r0
.align 2, 0
_080FDC20: .4byte gUnknown_3005E10
-_080FDC24: .4byte gUnknown_3007460
+_080FDC24: .4byte gRfuLinkStatus
thumb_func_end sub_80FDA30
thumb_func_start sub_80FDC28
@@ -1387,7 +1387,7 @@ _080FDE64:
ldrh r0, [r4, 0x1A]
cmp r0, 0x1
beq _080FDE8A
- ldr r0, _080FDEB0 @ =gUnknown_3007460
+ ldr r0, _080FDEB0 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x8]
cmp r0, 0x4
@@ -1419,7 +1419,7 @@ _080FDEA0:
b _080FE16E
.align 2, 0
_080FDEAC: .4byte gUnknown_3005E10
-_080FDEB0: .4byte gUnknown_3007460
+_080FDEB0: .4byte gRfuLinkStatus
_080FDEB4:
cmp r6, 0
beq _080FDEBA
@@ -1563,7 +1563,7 @@ _080FDFB4:
beq _080FDFBA
b _080FE16E
_080FDFBA:
- ldr r2, _080FDFFC @ =gUnknown_3007460
+ ldr r2, _080FDFFC @ =gRfuLinkStatus
ldr r3, [r2]
ldrb r0, [r3, 0x3]
movs r1, 0
@@ -1600,7 +1600,7 @@ _080FDFEC:
beq _080FDFDC
b _080FE16E
.align 2, 0
-_080FDFFC: .4byte gUnknown_3007460
+_080FDFFC: .4byte gRfuLinkStatus
_080FE000:
cmp r6, 0
bne _080FE01E
@@ -1670,7 +1670,7 @@ _080FE078:
ldr r4, _080FE0B4 @ =gUnknown_3005E10
strb r6, [r4, 0x5]
strb r6, [r4, 0x4]
- ldr r0, _080FE0B8 @ =gUnknown_3007460
+ ldr r0, _080FE0B8 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x3]
bl sub_80FE818
@@ -1697,7 +1697,7 @@ _080FE08C:
b _080FE16E
.align 2, 0
_080FE0B4: .4byte gUnknown_3005E10
-_080FE0B8: .4byte gUnknown_3007460
+_080FE0B8: .4byte gRfuLinkStatus
_080FE0BC:
cmp r6, 0
bne _080FE16E
@@ -1758,7 +1758,7 @@ _080FE0E8:
strb r7, [r5, 0x5]
strb r7, [r5, 0x4]
bl sub_80FEAF4
- ldr r0, _080FE158 @ =gUnknown_3007460
+ ldr r0, _080FE158 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -1772,7 +1772,7 @@ _080FE0E8:
bl sub_80FE7F0
b _080FE16E
.align 2, 0
-_080FE158: .4byte gUnknown_3007460
+_080FE158: .4byte gRfuLinkStatus
_080FE15C:
cmp r6, 0
bne _080FE16E
@@ -1811,7 +1811,7 @@ _080FE194:
ldrb r0, [r0]
cmp r0, 0
bne _080FE1CA
- ldr r4, _080FE1E0 @ =gUnknown_3007460
+ ldr r4, _080FE1E0 @ =gRfuLinkStatus
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -1839,7 +1839,7 @@ _080FE1D2:
_080FE1DC:
b _080FE322
.align 2, 0
-_080FE1E0: .4byte gUnknown_3007460
+_080FE1E0: .4byte gRfuLinkStatus
_080FE1E4:
mov r0, r8
cmp r0, 0x30
@@ -1906,7 +1906,7 @@ _080FE24E:
strb r0, [r3]
movs r3, 0
adds r7, r1, 0
- ldr r2, _080FE2AC @ =gUnknown_3007460
+ ldr r2, _080FE2AC @ =gRfuLinkStatus
mov r1, sp
movs r5, 0x1
adds r4, r7, 0
@@ -1947,7 +1947,7 @@ _080FE27A:
b _080FE2C2
.align 2, 0
_080FE2A8: .4byte gUnknown_3005E10
-_080FE2AC: .4byte gUnknown_3007460
+_080FE2AC: .4byte gRfuLinkStatus
_080FE2B0:
ldrb r0, [r7, 0x4]
subs r0, 0x6
@@ -1980,7 +1980,7 @@ _080FE2D6:
b _080FE322
_080FE2E6:
bl sub_80FE6F0
- ldr r0, _080FE300 @ =gUnknown_3007460
+ ldr r0, _080FE300 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xFF
@@ -1990,7 +1990,7 @@ _080FE2E6:
bl sub_80FE7F0
b _080FE322
.align 2, 0
-_080FE300: .4byte gUnknown_3007460
+_080FE300: .4byte gRfuLinkStatus
_080FE304:
cmp r6, 0
bne _080FE326
@@ -2018,7 +2018,7 @@ _080FE326:
ldrb r0, [r7, 0x7]
cmp r0, 0x4
bne _080FE358
- ldr r2, _080FE354 @ =gUnknown_3007460
+ ldr r2, _080FE354 @ =gRfuLinkStatus
ldr r1, [r2]
movs r0, 0x1
strb r0, [r1]
@@ -2030,7 +2030,7 @@ _080FE326:
b _080FE388
.align 2, 0
_080FE350: .4byte gUnknown_3005E10
-_080FE354: .4byte gUnknown_3007460
+_080FE354: .4byte gRfuLinkStatus
_080FE358:
movs r1, 0
mov r3, r8
@@ -2075,7 +2075,7 @@ sub_80FE394: @ 80FE394
strb r0, [r4, 0xE]
movs r0, 0x1
strb r0, [r4, 0xF]
- ldr r0, _080FE3CC @ =gUnknown_3007460
+ ldr r0, _080FE3CC @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r5, [r0]
cmp r5, 0
@@ -2091,7 +2091,7 @@ sub_80FE394: @ 80FE394
b _080FE40C
.align 2, 0
_080FE3C8: .4byte gUnknown_3005E10
-_080FE3CC: .4byte gUnknown_3007460
+_080FE3CC: .4byte gRfuLinkStatus
_080FE3D0:
mov r0, sp
bl rfu_UNI_PARENT_getDRAC_ACK
@@ -2148,7 +2148,7 @@ sub_80FE418: @ 80FE418
bls _080FE436
b _080FE62A
_080FE436:
- ldr r0, _080FE4A0 @ =gUnknown_3007460
+ ldr r0, _080FE4A0 @ =gRfuLinkStatus
ldr r2, [r0]
ldrb r1, [r2, 0x2]
ldrb r0, [r3, 0xC]
@@ -2201,7 +2201,7 @@ _080FE46C:
b _080FE574
.align 2, 0
_080FE49C: .4byte gUnknown_3005E10
-_080FE4A0: .4byte gUnknown_3007460
+_080FE4A0: .4byte gRfuLinkStatus
_080FE4A4:
ldrb r1, [r7]
adds r0, r4, 0
@@ -2224,7 +2224,7 @@ _080FE4BE:
mov r10, r2
cmp r0, 0
beq _080FE574
- ldr r0, _080FE518 @ =gUnknown_3007450
+ ldr r0, _080FE518 @ =gRfuSlotStatusNI
lsls r1, r6, 2
adds r1, r0
ldr r1, [r1]
@@ -2242,7 +2242,7 @@ _080FE4BE:
ldr r0, _080FE51C @ =0x0000ffff
cmp r2, r0
beq _080FE508
- ldr r0, _080FE520 @ =gUnknown_3007460
+ ldr r0, _080FE520 @ =gRfuLinkStatus
ldr r0, [r0]
lsls r1, r6, 5
adds r0, r1
@@ -2264,9 +2264,9 @@ _080FE508:
orrs r5, r0
b _080FE53C
.align 2, 0
-_080FE518: .4byte gUnknown_3007450
+_080FE518: .4byte gRfuSlotStatusNI
_080FE51C: .4byte 0x0000ffff
-_080FE520: .4byte gUnknown_3007460
+_080FE520: .4byte gRfuLinkStatus
_080FE524:
lsls r1, r6, 1
adds r0, r3, 0
@@ -2331,7 +2331,7 @@ _080FE592:
cmp r0, 0
beq _080FE5CE
movs r5, 0x1
- ldr r0, _080FE600 @ =gUnknown_3007460
+ ldr r0, _080FE600 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0
@@ -2378,7 +2378,7 @@ _080FE5CE:
.align 2, 0
_080FE5F8: .4byte 0x0000ffff
_080FE5FC: .4byte gUnknown_3005E10
-_080FE600: .4byte gUnknown_3007460
+_080FE600: .4byte gRfuLinkStatus
_080FE604:
cmp r0, 0x2
bne _080FE610
@@ -2435,7 +2435,7 @@ sub_80FE63C: @ 80FE63C
lsls r0, 16
cmp r0, 0
beq _080FE676
- ldr r1, _080FE6E8 @ =gUnknown_3007450
+ ldr r1, _080FE6E8 @ =gRfuSlotStatusNI
ldrb r0, [r4, 0x10]
lsls r0, 2
adds r0, r1
@@ -2481,7 +2481,7 @@ _080FE6B6:
bne _080FE6DA
strb r4, [r5, 0x5]
strb r4, [r5, 0x4]
- ldr r0, _080FE6EC @ =gUnknown_3007460
+ ldr r0, _080FE6EC @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -2498,8 +2498,8 @@ _080FE6DA:
.align 2, 0
_080FE6E0: .4byte 0x04000208
_080FE6E4: .4byte gUnknown_3005E10
-_080FE6E8: .4byte gUnknown_3007450
-_080FE6EC: .4byte gUnknown_3007460
+_080FE6E8: .4byte gRfuSlotStatusNI
+_080FE6EC: .4byte gRfuLinkStatus
thumb_func_end sub_80FE63C
thumb_func_start sub_80FE6F0
@@ -2509,7 +2509,7 @@ sub_80FE6F0: @ 80FE6F0
ldrb r0, [r5, 0x4]
cmp r0, 0xF
bne _080FE73C
- ldr r1, _080FE748 @ =gUnknown_3007450
+ ldr r1, _080FE748 @ =gRfuSlotStatusNI
ldrb r2, [r5, 0x10]
lsls r0, r2, 2
adds r0, r1
@@ -2546,7 +2546,7 @@ _080FE73C:
bx r0
.align 2, 0
_080FE744: .4byte gUnknown_3005E10
-_080FE748: .4byte gUnknown_3007450
+_080FE748: .4byte gRfuSlotStatusNI
thumb_func_end sub_80FE6F0
thumb_func_start sub_80FE74C
@@ -2585,7 +2585,7 @@ sub_80FE778: @ 80FE778
push {r5-r7}
movs r6, 0
movs r5, 0
- ldr r1, _080FE7E4 @ =gUnknown_3007460
+ ldr r1, _080FE7E4 @ =gRfuLinkStatus
ldr r0, [r1]
ldrb r0, [r0, 0x8]
cmp r6, r0
@@ -2638,7 +2638,7 @@ _080FE7D4:
pop {r1}
bx r1
.align 2, 0
-_080FE7E4: .4byte gUnknown_3007460
+_080FE7E4: .4byte gRfuLinkStatus
_080FE7E8: .4byte gUnknown_3005E10
_080FE7EC: .4byte 0x0000ffff
thumb_func_end sub_80FE778
@@ -2690,14 +2690,14 @@ sub_80FE83C: @ 80FE83C
push {r4-r7,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _080FE908 @ =gUnknown_3007460
+ ldr r0, _080FE908 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x4]
cmp r0, 0
beq _080FE884
movs r4, 0
_080FE84E:
- ldr r1, _080FE90C @ =gUnknown_3007450
+ ldr r1, _080FE90C @ =gRfuSlotStatusNI
lsls r0, r4, 2
adds r0, r1
ldr r2, [r0]
@@ -2725,14 +2725,14 @@ _080FE87A:
cmp r4, 0x3
bls _080FE84E
_080FE884:
- ldr r0, _080FE908 @ =gUnknown_3007460
+ ldr r0, _080FE908 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0
beq _080FE8C2
movs r4, 0
_080FE890:
- ldr r1, _080FE90C @ =gUnknown_3007450
+ ldr r1, _080FE90C @ =gRfuSlotStatusNI
lsls r0, r4, 2
adds r0, r1
ldr r2, [r0]
@@ -2758,7 +2758,7 @@ _080FE8B8:
cmp r4, 0x3
bls _080FE890
_080FE8C2:
- ldr r0, _080FE908 @ =gUnknown_3007460
+ ldr r0, _080FE908 @ =gRfuLinkStatus
ldr r3, [r0]
ldrb r2, [r3, 0x6]
cmp r2, 0
@@ -2768,7 +2768,7 @@ _080FE8C2:
ands r0, r2
strb r0, [r3, 0x6]
movs r4, 0
- ldr r7, _080FE910 @ =gUnknown_3007440
+ ldr r7, _080FE910 @ =gRfuSlotStatusUNI
ldr r6, _080FE914 @ =0x00008024
_080FE8DA:
lsls r0, r4, 2
@@ -2796,9 +2796,9 @@ _080FE900:
pop {r0}
bx r0
.align 2, 0
-_080FE908: .4byte gUnknown_3007460
-_080FE90C: .4byte gUnknown_3007450
-_080FE910: .4byte gUnknown_3007440
+_080FE908: .4byte gRfuLinkStatus
+_080FE90C: .4byte gRfuSlotStatusNI
+_080FE910: .4byte gRfuSlotStatusUNI
_080FE914: .4byte 0x00008024
thumb_func_end sub_80FE83C
@@ -2814,14 +2814,14 @@ sub_80FE918: @ 80FE918
ldrh r0, [r0, 0x18]
cmp r0, 0
beq _080FE9F4
- ldr r0, _080FEA08 @ =gUnknown_3007460
+ ldr r0, _080FEA08 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x4]
cmp r0, 0
beq _080FE9B8
movs r6, 0
_080FE938:
- ldr r3, _080FEA0C @ =gUnknown_3007450
+ ldr r3, _080FEA0C @ =gRfuSlotStatusNI
lsls r2, r6, 2
adds r0, r2, r3
ldr r0, [r0]
@@ -2889,14 +2889,14 @@ _080FE9AE:
cmp r6, 0x3
bls _080FE938
_080FE9B8:
- ldr r0, _080FEA08 @ =gUnknown_3007460
+ ldr r0, _080FEA08 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0
beq _080FE9F4
movs r6, 0
_080FE9C4:
- ldr r1, _080FEA0C @ =gUnknown_3007450
+ ldr r1, _080FEA0C @ =gRfuSlotStatusNI
lsls r0, r6, 2
adds r0, r1
ldr r2, [r0]
@@ -2931,8 +2931,8 @@ _080FE9F4:
bx r0
.align 2, 0
_080FEA04: .4byte gUnknown_3005E10
-_080FEA08: .4byte gUnknown_3007460
-_080FEA0C: .4byte gUnknown_3007450
+_080FEA08: .4byte gRfuLinkStatus
+_080FEA0C: .4byte gRfuSlotStatusNI
thumb_func_end sub_80FE918
thumb_func_start sub_80FEA10
@@ -3002,7 +3002,7 @@ sub_80FEA78: @ 80FEA78
push {lr}
lsls r0, 16
lsrs r2, r0, 16
- ldr r0, _080FEA94 @ =gUnknown_3007460
+ ldr r0, _080FEA94 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x4]
ldrb r0, [r0, 0x5]
@@ -3014,7 +3014,7 @@ sub_80FEA78: @ 80FEA78
movs r0, 0
b _080FEAAC
.align 2, 0
-_080FEA94: .4byte gUnknown_3007460
+_080FEA94: .4byte gRfuLinkStatus
_080FEA98: .4byte gUnknown_3005E10
_080FEA9C:
ldr r1, _080FEAB0 @ =gUnknown_3005E10
diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s
index f37313210..10d4fd03d 100644
--- a/asm/link_rfu_2.s
+++ b/asm/link_rfu_2.s
@@ -132,12 +132,12 @@ _080F86F0: .4byte 0x04000208
thumb_func_start sub_80F86F4
sub_80F86F4: @ 80F86F4
push {r4,lr}
- ldr r0, _080F8728 @ =gUnknown_3001190
+ ldr r0, _080F8728 @ =gRfuAPIBuffer
ldr r1, _080F872C @ =0x00000e64
ldr r4, _080F8730 @ =gIntrTable + 0x4
adds r2, r4, 0
movs r3, 0x1
- bl sub_81E05B0
+ bl rfu_initializeAPI
lsls r0, 16
lsrs r1, r0, 16
cmp r1, 0
@@ -155,7 +155,7 @@ _080F8722:
pop {r0}
bx r0
.align 2, 0
-_080F8728: .4byte gUnknown_3001190
+_080F8728: .4byte gRfuAPIBuffer
_080F872C: .4byte 0x00000e64
_080F8730: .4byte gIntrTable + 0x4
_080F8734: .4byte gLinkType
@@ -871,7 +871,7 @@ _080F8D2A:
bge _080F8D2A
bl rfu_REQ_recvData
bl rfu_waitREQComplete
- ldr r1, _080F8D94 @ =gUnknown_3007440
+ ldr r1, _080F8D94 @ =gRfuSlotStatusUNI
ldr r3, _080F8D90 @ =gUnknown_3005450
ldr r0, _080F8D98 @ =0x000008f6
adds r4, r3, r0
@@ -911,7 +911,7 @@ _080F8D84:
bx r0
.align 2, 0
_080F8D90: .4byte gUnknown_3005450
-_080F8D94: .4byte gUnknown_3007440
+_080F8D94: .4byte gRfuSlotStatusUNI
_080F8D98: .4byte 0x000008f6
_080F8D9C: .4byte 0x00000988
_080F8DA0: .4byte 0x000008f7
@@ -1074,7 +1074,7 @@ sub_80F8ECC: @ 80F8ECC
ldrh r0, [r4, 0x4]
cmp r0, 0x7
bne _080F8F08
- ldr r0, _080F8F00 @ =gUnknown_3007460
+ ldr r0, _080F8F00 @ =gRfuLinkStatus
ldr r1, [r0]
ldr r2, _080F8F04 @ =0x000008f5
adds r0, r4, r2
@@ -1093,7 +1093,7 @@ sub_80F8ECC: @ 80F8ECC
b _080F8F0A
.align 2, 0
_080F8EFC: .4byte gUnknown_3005450
-_080F8F00: .4byte gUnknown_3007460
+_080F8F00: .4byte gRfuLinkStatus
_080F8F04: .4byte 0x000008f5
_080F8F08:
movs r0, 0
@@ -1363,7 +1363,7 @@ _080F90D8: .4byte 0x000008f2
thumb_func_start IsRfuRecvQueueEmpty
IsRfuRecvQueueEmpty: @ 80F90DC
push {r4,lr}
- ldr r0, _080F90EC @ =gUnknown_3007460
+ ldr r0, _080F90EC @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0
@@ -1372,7 +1372,7 @@ _080F90E8:
movs r0, 0
b _080F9110
.align 2, 0
-_080F90EC: .4byte gUnknown_3007460
+_080F90EC: .4byte gRfuLinkStatus
_080F90F0:
movs r3, 0
ldr r4, _080F9118 @ =gRecvCmds
@@ -1422,7 +1422,7 @@ _080F913C:
strb r0, [r1]
ldr r0, _080F919C @ =0x0000099a
adds r1, r6, r0
- ldr r0, _080F91A0 @ =gUnknown_3007460
+ ldr r0, _080F91A0 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r1]
ldrb r0, [r0, 0x2]
@@ -1460,7 +1460,7 @@ _080F913C:
.align 2, 0
_080F9198: .4byte 0x00000993
_080F919C: .4byte 0x0000099a
-_080F91A0: .4byte gUnknown_3007460
+_080F91A0: .4byte gRfuLinkStatus
_080F91A4: .4byte 0x00000994
_080F91A8: .4byte 0x0000099b
_080F91AC: .4byte 0x0000099c
@@ -1815,7 +1815,7 @@ _080F947E:
adds r0, r6, r1
ldrb r0, [r0]
adds r1, r0, 0
- ldr r0, _080F94A0 @ =gUnknown_3007460
+ ldr r0, _080F94A0 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0
@@ -1826,7 +1826,7 @@ _080F947E:
.align 2, 0
_080F9498: .4byte 0x00000994
_080F949C: .4byte gUnknown_3005450
-_080F94A0: .4byte gUnknown_3007460
+_080F94A0: .4byte gRfuLinkStatus
_080F94A4:
movs r0, 0
b _080F94AA
@@ -1950,7 +1950,7 @@ _080F9538:
ldrb r0, [r0]
cmp r0, 0
beq _080F95E4
- ldr r0, _080F964C @ =gUnknown_3007460
+ ldr r0, _080F964C @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -2042,7 +2042,7 @@ _080F963C: .4byte gRecvCmds
_080F9640: .4byte gUnknown_3005E10
_080F9644: .4byte gUnknown_3005450
_080F9648: .4byte 0x0000099c
-_080F964C: .4byte gUnknown_3007460
+_080F964C: .4byte gRfuLinkStatus
_080F9650: .4byte gReceivedRemoteLinkPlayers
_080F9654: .4byte 0x00000988
_080F9658: .4byte gSendCmd
@@ -2435,7 +2435,7 @@ _080F9902:
beq _080F9914
b _080F9C40
_080F9914:
- ldr r0, _080F9944 @ =gUnknown_3007460
+ ldr r0, _080F9944 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
mov r6, r8
@@ -2458,7 +2458,7 @@ _080F9924:
.align 2, 0
_080F993C: .4byte gUnknown_3005450
_080F9940: .4byte gReceivedRemoteLinkPlayers
-_080F9944: .4byte gUnknown_3007460
+_080F9944: .4byte gRfuLinkStatus
_080F9948: .4byte gRecvCmds + 2
_080F994C: .4byte gRecvCmds + 4
_080F9950: .4byte gUnknown_3005DD6
@@ -2688,7 +2688,7 @@ _080F9B00:
ldr r0, _080F9B54 @ =gRecvCmds + 2
adds r4, r5, r0
ldrh r1, [r4]
- ldr r0, _080F9B58 @ =gUnknown_3007460
+ ldr r0, _080F9B58 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x2]
ands r1, r0
@@ -2715,7 +2715,7 @@ _080F9B38:
_080F9B4C: .4byte gUnknown_3005450
_080F9B50: .4byte gReceivedRemoteLinkPlayers
_080F9B54: .4byte gRecvCmds + 2
-_080F9B58: .4byte gUnknown_3007460
+_080F9B58: .4byte gRfuLinkStatus
_080F9B5C: .4byte gRecvCmds + 4
_080F9B60: .4byte 0x0000099c
_080F9B64: .4byte gRecvCmds
@@ -3502,7 +3502,7 @@ _080FA13C: .4byte gUnknown_3005450
thumb_func_start sub_80FA140
sub_80FA140: @ 80FA140
push {lr}
- ldr r0, _080FA15C @ =gUnknown_3007460
+ ldr r0, _080FA15C @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -3513,7 +3513,7 @@ sub_80FA140: @ 80FA140
pop {r0}
bx r0
.align 2, 0
-_080FA15C: .4byte gUnknown_3007460
+_080FA15C: .4byte gRfuLinkStatus
thumb_func_end sub_80FA140
thumb_func_start sub_80FA160
@@ -3552,7 +3552,7 @@ sub_80FA190: @ 80FA190
adds r1, r2, r0
movs r0, 0x1
strb r0, [r1]
- ldr r0, _080FA1BC @ =gUnknown_3007460
+ ldr r0, _080FA1BC @ =gRfuLinkStatus
ldr r1, [r0]
ldrb r0, [r1, 0x2]
ldrb r1, [r1, 0x3]
@@ -3565,7 +3565,7 @@ sub_80FA190: @ 80FA190
.align 2, 0
_080FA1B4: .4byte gUnknown_3005450
_080FA1B8: .4byte 0x0000099c
-_080FA1BC: .4byte gUnknown_3007460
+_080FA1BC: .4byte gRfuLinkStatus
_080FA1C0: .4byte 0x0000099b
thumb_func_end sub_80FA190
@@ -4065,7 +4065,7 @@ _080FA53A:
lsrs r0, 24
cmp r0, 0x1
bls _080FA5C2
- ldr r1, _080FA5A0 @ =gUnknown_3007450
+ ldr r1, _080FA5A0 @ =gRfuSlotStatusNI
lsls r0, r5, 2
adds r0, r1
ldr r0, [r0]
@@ -4103,7 +4103,7 @@ _080FA55E:
_080FA594: .4byte gUnknown_3005450
_080FA598: .4byte 0x000008f6
_080FA59C: .4byte 0x00000989
-_080FA5A0: .4byte gUnknown_3007450
+_080FA5A0: .4byte gRfuSlotStatusNI
_080FA5A4: .4byte 0x0000098d
_080FA5A8:
mov r2, r8
@@ -4300,7 +4300,7 @@ sub_80FA6FC: @ 80FA6FC
movs r0, 0x2
b _080FA732
_080FA718:
- ldr r1, _080FA72C @ =gUnknown_3007450
+ ldr r1, _080FA72C @ =gRfuSlotStatusNI
lsls r0, 2
adds r0, r1
ldr r0, [r0]
@@ -4310,7 +4310,7 @@ _080FA718:
movs r0, 0
b _080FA732
.align 2, 0
-_080FA72C: .4byte gUnknown_3007450
+_080FA72C: .4byte gRfuSlotStatusNI
_080FA730:
movs r0, 0x1
_080FA732:
@@ -4327,7 +4327,7 @@ sub_80FA738: @ 80FA738
ldr r1, _080FA780 @ =0x0000098d
adds r5, r0, r1
_080FA746:
- ldr r1, _080FA784 @ =gUnknown_3007450
+ ldr r1, _080FA784 @ =gRfuSlotStatusNI
lsls r0, r4, 2
adds r0, r1
ldr r0, [r0]
@@ -4358,7 +4358,7 @@ _080FA770:
.align 2, 0
_080FA77C: .4byte gUnknown_3005450
_080FA780: .4byte 0x0000098d
-_080FA784: .4byte gUnknown_3007450
+_080FA784: .4byte gRfuSlotStatusNI
thumb_func_end sub_80FA738
thumb_func_start sub_80FA788
@@ -4371,7 +4371,7 @@ sub_80FA788: @ 80FA788
ldrb r0, [r0]
cmp r0, 0x8
bne _080FA7C2
- ldr r2, _080FA808 @ =gUnknown_3007450
+ ldr r2, _080FA808 @ =gRfuSlotStatusNI
ldr r0, _080FA80C @ =0x000008f6
adds r1, r0
ldrb r0, [r1]
@@ -4393,7 +4393,7 @@ _080FA7BA:
movs r0, 0x4
bl rfu_clearSlot
_080FA7C2:
- ldr r2, _080FA808 @ =gUnknown_3007450
+ ldr r2, _080FA808 @ =gRfuSlotStatusNI
ldr r5, _080FA800 @ =gUnknown_3005450
ldr r0, _080FA80C @ =0x000008f6
adds r1, r5, r0
@@ -4425,7 +4425,7 @@ _080FA7E6:
.align 2, 0
_080FA800: .4byte gUnknown_3005450
_080FA804: .4byte 0x0000093d
-_080FA808: .4byte gUnknown_3007450
+_080FA808: .4byte gRfuSlotStatusNI
_080FA80C: .4byte 0x000008f6
_080FA810: .4byte 0x0000093e
_080FA814:
@@ -5772,7 +5772,7 @@ _080FB21E:
ands r0, r1
cmp r0, 0
beq _080FB286
- ldr r0, _080FB274 @ =gUnknown_3007460
+ ldr r0, _080FB274 @ =gRfuLinkStatus
lsls r1, r5, 5
adds r1, 0x14
ldr r0, [r0]
@@ -5803,7 +5803,7 @@ _080FB21E:
_080FB268: .4byte gUnknown_3005E10
_080FB26C: .4byte gUnknown_3005450
_080FB270: .4byte 0x0000098d
-_080FB274: .4byte gUnknown_3007460
+_080FB274: .4byte gRfuLinkStatus
_080FB278: .4byte 0x00000989
_080FB27C:
mov r0, r8
@@ -6216,7 +6216,7 @@ sub_80FB5A0: @ 80FB5A0
movs r3, 0
movs r2, 0
movs r4, 0x1
- ldr r6, _080FB5E8 @ =gUnknown_3007460
+ ldr r6, _080FB5E8 @ =gRfuLinkStatus
movs r7, 0x7F
_080FB5AE:
adds r0, r5, 0
@@ -6249,7 +6249,7 @@ _080FB5D4:
pop {r1}
bx r1
.align 2, 0
-_080FB5E8: .4byte gUnknown_3007460
+_080FB5E8: .4byte gRfuLinkStatus
thumb_func_end sub_80FB5A0
thumb_func_start sub_80FB5EC
@@ -6601,7 +6601,7 @@ _080FB894:
adds r1, 0xF0
movs r0, 0x3
strb r0, [r1]
- ldr r0, _080FB8B8 @ =gUnknown_3007460
+ ldr r0, _080FB8B8 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0
@@ -6615,7 +6615,7 @@ _080FB8AA:
b _080FB9C0
.align 2, 0
_080FB8B4: .4byte gUnknown_3005450
-_080FB8B8: .4byte gUnknown_3007460
+_080FB8B8: .4byte gRfuLinkStatus
_080FB8BC: .4byte 0x000008f4
_080FB8C0:
ldr r0, _080FB900 @ =gUnknown_3005450
@@ -6674,7 +6674,7 @@ _080FB916:
movs r0, 0
bl sub_80FD760
_080FB934:
- ldr r0, _080FB96C @ =gUnknown_3007460
+ ldr r0, _080FB96C @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xFF
@@ -6700,7 +6700,7 @@ _080FB95A:
.align 2, 0
_080FB964: .4byte 0x0000099c
_080FB968: .4byte gReceivedRemoteLinkPlayers
-_080FB96C: .4byte gUnknown_3007460
+_080FB96C: .4byte gRfuLinkStatus
_080FB970: .4byte gUnknown_3005E10
_080FB974: .4byte sub_80F8B34
_080FB978: .4byte gUnknown_3005450
@@ -7108,7 +7108,7 @@ sub_80FBC70: @ 80FBC70
movs r0, 0xFF
mov r9, r0
movs r7, 0
- ldr r1, _080FBCF4 @ =gUnknown_3007460
+ ldr r1, _080FBCF4 @ =gRfuLinkStatus
mov r8, r1
_080FBC8E:
lsls r4, r7, 5
@@ -7162,7 +7162,7 @@ _080FBCE2:
pop {r1}
bx r1
.align 2, 0
-_080FBCF4: .4byte gUnknown_3007460
+_080FBCF4: .4byte gRfuLinkStatus
thumb_func_end sub_80FBC70
thumb_func_start sub_80FBCF8
@@ -7391,7 +7391,7 @@ sub_80FBE80: @ 80FBE80
lsrs r2, r0, 24
cmp r2, 0xFF
beq _080FBF18
- ldr r0, _080FBEDC @ =gUnknown_3007460
+ ldr r0, _080FBEDC @ =gRfuLinkStatus
ldr r0, [r0]
lsls r1, r2, 5
adds r0, r1
@@ -7408,7 +7408,7 @@ sub_80FBE80: @ 80FBE80
b _080FBF10
.align 2, 0
_080FBED8: .4byte gTasks+0x8
-_080FBEDC: .4byte gUnknown_3007460
+_080FBEDC: .4byte gRfuLinkStatus
_080FBEE0: .4byte gUnknown_3005450
_080FBEE4: .4byte 0x000008f5
_080FBEE8:
@@ -7638,7 +7638,7 @@ _080FC070:
beq _080FC108
movs r1, 0xA
ldrsh r0, [r4, r1]
- ldr r7, _080FC0F4 @ =gUnknown_3007460
+ ldr r7, _080FC0F4 @ =gRfuLinkStatus
lsls r4, r2, 5
adds r2, r4, 0
adds r2, 0x14
@@ -7670,7 +7670,7 @@ _080FC0E4: .4byte gTasks
_080FC0E8: .4byte 0x00000985
_080FC0EC: .4byte gUnknown_3005E10
_080FC0F0: .4byte 0x00000119
-_080FC0F4: .4byte gUnknown_3007460
+_080FC0F4: .4byte gRfuLinkStatus
_080FC0F8:
movs r1, 0xE0
lsls r1, 7
@@ -7845,7 +7845,7 @@ sub_80FC228: @ 80FC228
movs r2, 0x13
movs r3, 0x2
bl nullsub_88
- ldr r4, _080FC2F8 @ =gUnknown_3007460
+ ldr r4, _080FC2F8 @ =gRfuLinkStatus
ldr r0, [r4]
ldrb r0, [r0, 0x2]
movs r1, 0x14
@@ -7934,7 +7934,7 @@ _080FC2CE:
bl nullsub_87
b _080FC436
.align 2, 0
-_080FC2F8: .4byte gUnknown_3007460
+_080FC2F8: .4byte gRfuLinkStatus
_080FC2FC: .4byte gUnknown_3005450
_080FC300: .4byte gUnknown_843EE64
_080FC304:
@@ -7969,7 +7969,7 @@ _080FC318:
adds r6, 0x1
cmp r6, 0x3
ble _080FC318
- ldr r5, _080FC394 @ =gUnknown_3007460
+ ldr r5, _080FC394 @ =gRfuLinkStatus
ldr r1, [r5]
ldr r4, _080FC398 @ =gUnknown_3005450
ldr r0, _080FC39C @ =0x000008f6
@@ -8004,12 +8004,12 @@ _080FC318:
.align 2, 0
_080FC38C: .4byte gUnknown_843EE47
_080FC390: .4byte gUnknown_843EE57
-_080FC394: .4byte gUnknown_3007460
+_080FC394: .4byte gRfuLinkStatus
_080FC398: .4byte gUnknown_3005450
_080FC39C: .4byte 0x000008f6
_080FC3A0:
movs r6, 0
- ldr r1, _080FC440 @ =gUnknown_3007460
+ ldr r1, _080FC440 @ =gRfuLinkStatus
ldr r0, [r1]
ldrb r0, [r0, 0x8]
cmp r6, r0
@@ -8088,7 +8088,7 @@ _080FC436:
pop {r0}
bx r0
.align 2, 0
-_080FC440: .4byte gUnknown_3007460
+_080FC440: .4byte gRfuLinkStatus
_080FC444: .4byte gUnknown_843EE47
_080FC448: .4byte gUnknown_843EE57
thumb_func_end sub_80FC228
@@ -9032,7 +9032,7 @@ sub_80FCADC: @ 80FCADC
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
- ldr r0, _080FCB04 @ =gUnknown_3007460
+ ldr r0, _080FCB04 @ =gRfuLinkStatus
ldr r4, [r0]
ldrb r2, [r4, 0x2]
ldrb r1, [r4]
@@ -9048,7 +9048,7 @@ sub_80FCADC: @ 80FCADC
ldrb r0, [r4, 0xA]
b _080FCB4C
.align 2, 0
-_080FCB04: .4byte gUnknown_3007460
+_080FCB04: .4byte gRfuLinkStatus
_080FCB08:
adds r0, r6, 0x1
lsls r0, 24
@@ -9234,7 +9234,7 @@ sub_80FCC3C: @ 80FCC3C
bne _080FCC98
movs r0, 0x1
mov r9, r0
- ldr r6, _080FCC94 @ =gUnknown_3007460
+ ldr r6, _080FCC94 @ =gRfuLinkStatus
ldr r0, [r6]
lsls r4, r5, 5
adds r0, r4
@@ -9261,11 +9261,11 @@ _080FCC78:
b _080FCCE4
.align 2, 0
_080FCC90: .4byte gUnknown_3005E10
-_080FCC94: .4byte gUnknown_3007460
+_080FCC94: .4byte gRfuLinkStatus
_080FCC98:
movs r0, 0
mov r9, r0
- ldr r6, _080FCCCC @ =gUnknown_3007460
+ ldr r6, _080FCCCC @ =gRfuLinkStatus
ldr r0, [r6]
lsls r4, r5, 5
adds r0, r4
@@ -9288,7 +9288,7 @@ _080FCCB0:
bl memcpy
b _080FCCE4
.align 2, 0
-_080FCCCC: .4byte gUnknown_3007460
+_080FCCCC: .4byte gRfuLinkStatus
_080FCCD0:
adds r0, r7, 0
movs r1, 0
@@ -9315,7 +9315,7 @@ sub_80FCCF4: @ 80FCCF4
adds r5, r1, 0
lsls r2, 24
movs r7, 0
- ldr r6, _080FCD2C @ =gUnknown_3007460
+ ldr r6, _080FCD2C @ =gRfuLinkStatus
ldr r0, [r6]
lsrs r4, r2, 19
adds r2, r0, r4
@@ -9337,7 +9337,7 @@ sub_80FCCF4: @ 80FCCF4
movs r7, 0x1
b _080FCD48
.align 2, 0
-_080FCD2C: .4byte gUnknown_3007460
+_080FCD2C: .4byte gRfuLinkStatus
_080FCD30: .4byte 0x00007f7d
_080FCD34:
adds r0, r3, 0
@@ -9388,7 +9388,7 @@ CreateWirelessStatusIndicatorSprite: @ 80FCD74
movs r3, 0xE7
movs r2, 0x8
_080FCD8A:
- ldr r0, _080FCDCC @ =gUnknown_3007460
+ ldr r0, _080FCDCC @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -9420,7 +9420,7 @@ _080FCD8A:
strb r5, [r0]
b _080FCE2A
.align 2, 0
-_080FCDCC: .4byte gUnknown_3007460
+_080FCDCC: .4byte gRfuLinkStatus
_080FCDD0: .4byte gUnknown_843F284
_080FCDD4: .4byte gSprites
_080FCDD8: .4byte 0x00001234
@@ -9551,7 +9551,7 @@ _080FCEE0: .4byte gUnknown_203ACE4
thumb_func_start sub_80FCEE4
sub_80FCEE4: @ 80FCEE4
push {r4,lr}
- ldr r1, _080FCF04 @ =gUnknown_3007460
+ ldr r1, _080FCF04 @ =gRfuLinkStatus
ldr r0, [r1]
ldrb r2, [r0, 0x2]
movs r3, 0
@@ -9567,7 +9567,7 @@ _080FCEF0:
ldrb r0, [r0]
b _080FCF16
.align 2, 0
-_080FCF04: .4byte gUnknown_3007460
+_080FCF04: .4byte gRfuLinkStatus
_080FCF08:
lsrs r2, 1
adds r0, r3, 0x1
@@ -9626,7 +9626,7 @@ _080FCF5C:
adds r6, r2, 0
movs r5, 0xFF
movs r4, 0
- ldr r0, _080FCF84 @ =gUnknown_3007460
+ ldr r0, _080FCF84 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -9641,7 +9641,7 @@ _080FCF5C:
_080FCF78: .4byte gUnknown_203ACE4
_080FCF7C: .4byte gSprites
_080FCF80: .4byte 0x00001234
-_080FCF84: .4byte gUnknown_3007460
+_080FCF84: .4byte gRfuLinkStatus
_080FCF88:
adds r0, r4, 0x1
lsls r0, 24
diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s
index ef64c08dd..1bd5420fa 100644
--- a/asm/link_rfu_3.s
+++ b/asm/link_rfu_3.s
@@ -10493,7 +10493,7 @@ _0811AFF8:
_0811AFFA:
cmp r4, 0x3
bgt _0811B030
- ldr r0, _0811B044 @ =gUnknown_3007460
+ ldr r0, _0811B044 @ =gRfuLinkStatus
ldr r0, [r0]
lsls r1, r4, 5
adds r0, r1
@@ -10526,7 +10526,7 @@ _0811B030:
bl StringCopy
b _0811B080
.align 2, 0
-_0811B044: .4byte gUnknown_3007460
+_0811B044: .4byte gRfuLinkStatus
_0811B048: .4byte gSpeciesNames
_0811B04C: .4byte gUnknown_8457DB8
_0811B050:
diff --git a/asm/pc_screen_effect.s b/asm/pc_screen_effect.s
deleted file mode 100644
index 61c47a719..000000000
--- a/asm/pc_screen_effect.s
+++ /dev/null
@@ -1,477 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80A0A48
-sub_80A0A48: @ 80A0A48
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _080A0A6C @ =sub_80A0B0C
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A0AC0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0A6C: .4byte sub_80A0B0C
- thumb_func_end sub_80A0A48
-
- thumb_func_start sub_80A0A70
-sub_80A0A70: @ 80A0A70
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _080A0A94 @ =sub_80A0C78
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A0AC0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0A94: .4byte sub_80A0C78
- thumb_func_end sub_80A0A70
-
- thumb_func_start sub_80A0A98
-sub_80A0A98: @ 80A0A98
- push {lr}
- ldr r0, _080A0AA8 @ =sub_80A0B0C
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A0AA8: .4byte sub_80A0B0C
- thumb_func_end sub_80A0A98
-
- thumb_func_start sub_80A0AAC
-sub_80A0AAC: @ 80A0AAC
- push {lr}
- ldr r0, _080A0ABC @ =sub_80A0C78
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A0ABC: .4byte sub_80A0C78
- thumb_func_end sub_80A0AAC
-
- thumb_func_start sub_80A0AC0
-sub_80A0AC0: @ 80A0AC0
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- adds r5, r4, 0
- lsls r3, 24
- lsrs r3, 24
- adds r1, r3, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- ldr r1, _080A0B08 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x10
- cmp r4, 0
- beq _080A0AEE
- adds r0, r4, 0
-_080A0AEE:
- strh r0, [r1, 0xA]
- movs r0, 0x14
- cmp r5, 0
- beq _080A0AF8
- adds r0, r5, 0
-_080A0AF8:
- strh r0, [r1, 0xC]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0B08: .4byte gTasks
- thumb_func_end sub_80A0AC0
-
- thumb_func_start sub_80A0B0C
-sub_80A0B0C: @ 80A0B0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080A0B30 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A0B8C
- cmp r0, 0x1
- bgt _080A0B34
- cmp r0, 0
- beq _080A0B3E
- b _080A0C5A
- .align 2, 0
-_080A0B30: .4byte gTasks
-_080A0B34:
- cmp r0, 0x2
- beq _080A0BAE
- cmp r0, 0x3
- beq _080A0C10
- b _080A0C5A
-_080A0B3E:
- movs r0, 0x78
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- movs r0, 0x50
- strh r0, [r4, 0x12]
- movs r0, 0x51
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- b _080A0C6A
-_080A0B8C:
- movs r0, 0x50
- bl GetGpuReg
- strh r0, [r4, 0x16]
- movs r0, 0x54
- bl GetGpuReg
- strh r0, [r4, 0x18]
- movs r0, 0x50
- movs r1, 0xBF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
- b _080A0C6A
-_080A0BAE:
- ldrh r0, [r4, 0xE]
- ldrh r1, [r4, 0xA]
- subs r0, r1
- movs r5, 0
- strh r0, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- adds r1, r2
- strh r1, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- ble _080A0BCC
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xEF
- ble _080A0BF2
-_080A0BCC:
- strh r5, [r4, 0xE]
- movs r0, 0xF0
- strh r0, [r4, 0x10]
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4, 0x16]
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- ldr r0, _080A0C0C @ =gPlttBufferFaded
- strh r5, [r0]
-_080A0BF2:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- b _080A0C54
- .align 2, 0
-_080A0C0C: .4byte gPlttBufferFaded
-_080A0C10:
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0xC]
- subs r0, r1
- strh r0, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- adds r1, r2
- strh r1, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- ble _080A0C2C
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x9F
- ble _080A0C3E
-_080A0C2C:
- movs r0, 0
- strh r0, [r4, 0x12]
- movs r0, 0xA0
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
-_080A0C3E:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
-_080A0C54:
- cmp r0, 0
- bne _080A0C70
- b _080A0C6A
-_080A0C5A:
- ldrh r1, [r4, 0x16]
- movs r0, 0x50
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
- b _080A0C70
-_080A0C6A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080A0C70:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A0B0C
-
- thumb_func_start sub_80A0C78
-sub_80A0C78: @ 80A0C78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080A0C9C @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080A0CB4
- cmp r1, 0x1
- bgt _080A0CA0
- cmp r1, 0
- beq _080A0CAA
- b _080A0DA8
- .align 2, 0
-_080A0C9C: .4byte gTasks
-_080A0CA0:
- cmp r1, 0x2
- beq _080A0D02
- cmp r1, 0x3
- beq _080A0D54
- b _080A0DA8
-_080A0CAA:
- ldr r0, _080A0CB0 @ =gPlttBufferFaded
- strh r1, [r0]
- b _080A0DCA
- .align 2, 0
-_080A0CB0: .4byte gPlttBufferFaded
-_080A0CB4:
- movs r1, 0
- strh r1, [r4, 0xE]
- movs r0, 0xF0
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- movs r0, 0xA0
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- b _080A0DCA
-_080A0D02:
- ldrh r0, [r4, 0xC]
- ldrh r2, [r4, 0x12]
- adds r1, r0, r2
- strh r1, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- subs r0, r2, r0
- strh r0, [r4, 0x14]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x4F
- bgt _080A0D20
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bgt _080A0D38
-_080A0D20:
- movs r0, 0x50
- strh r0, [r4, 0x12]
- movs r0, 0x51
- strh r0, [r4, 0x14]
- movs r0, 0x50
- movs r1, 0xBF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
-_080A0D38:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- bne _080A0DD0
- b _080A0DCA
-_080A0D54:
- ldrh r0, [r4, 0xA]
- ldrh r2, [r4, 0xE]
- adds r1, r0, r2
- strh r1, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- subs r0, r2, r0
- strh r0, [r4, 0x10]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x77
- bgt _080A0D72
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bgt _080A0D88
-_080A0D72:
- movs r0, 0x78
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- subs r0, 0x79
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r1, _080A0DA4 @ =gPlttBufferFaded
- movs r0, 0
- strh r0, [r1]
-_080A0D88:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- bne _080A0DD0
- b _080A0DCA
- .align 2, 0
-_080A0DA4: .4byte gPlttBufferFaded
-_080A0DA8:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
- b _080A0DD0
-_080A0DCA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080A0DD0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A0C78
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 45eba1df8..d14d64ee4 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -5755,7 +5755,7 @@ sub_8137578: @ 8137578
bl GetNature
lsls r0, 24
lsrs r6, r0, 24
- ldr r1, _081375F0 @ =gNatureNames
+ ldr r1, _081375F0 @ =gNatureNamePointers
lsls r0, r6, 2
adds r0, r1
ldr r1, [r0]
@@ -5796,7 +5796,7 @@ _081375B2:
.align 2, 0
_081375E8: .4byte gUnknown_203B140
_081375EC: .4byte 0x00003290
-_081375F0: .4byte gNatureNames
+_081375F0: .4byte gNatureNamePointers
_081375F4:
ldr r0, [r7]
ldr r1, _08137614 @ =0x00003024
@@ -5952,7 +5952,7 @@ sub_8137724: @ 8137724
bl GetNature
lsls r0, 24
lsrs r6, r0, 24
- ldr r1, _081377A8 @ =gNatureNames
+ ldr r1, _081377A8 @ =gNatureNamePointers
lsls r0, r6, 2
adds r0, r1
ldr r1, [r0]
@@ -5997,7 +5997,7 @@ _08137790:
.align 2, 0
_081377A0: .4byte gUnknown_203B140
_081377A4: .4byte 0x00003290
-_081377A8: .4byte gNatureNames
+_081377A8: .4byte gNatureNamePointers
_081377AC:
cmp r5, 0xFF
bne _081377D0
diff --git a/asm/region_map.s b/asm/region_map.s
deleted file mode 100644
index 662c65fa7..000000000
--- a/asm/region_map.s
+++ /dev/null
@@ -1,13825 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80BFE18
-sub_80BFE18: @ 80BFE18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- cmp r1, 0
- beq _080BFE92
- movs r0, 0x1F
- mov r10, r0
- mov r8, r1
-_080BFE38:
- ldrh r1, [r6]
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r5, r1, 21
- mov r2, r10
- ands r5, r2
- lsrs r4, r1, 26
- ands r4, r2
- lsls r0, 8
- movs r1, 0x64
- bl __divsi3
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- asrs r7, r0, 8
- lsls r0, r5, 8
- movs r1, 0x64
- bl __divsi3
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- asrs r5, r0, 8
- lsls r0, r4, 8
- movs r1, 0x64
- bl __divsi3
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- asrs r4, r0, 8
- lsls r0, r4, 10
- lsls r1, r5, 5
- orrs r0, r1
- orrs r0, r7
- strh r0, [r6]
- adds r6, 0x2
- movs r2, 0x1
- negs r2, r2
- add r8, r2
- mov r0, r8
- cmp r0, 0
- bne _080BFE38
-_080BFE92:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BFE18
-
- thumb_func_start sub_80BFEA0
-sub_80BFEA0: @ 80BFEA0
- push {r4,lr}
- sub sp, 0x20
- ldr r4, _080BFED8 @ =gUnknown_83EF2DC + 0x40
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x10
- bl CpuSet
- mov r0, sp
- movs r1, 0x10
- movs r2, 0x5F
- bl sub_80BFE18
- mov r0, sp
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- adds r4, 0x1E
- adds r0, r4, 0
- movs r1, 0x2F
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFED8: .4byte gUnknown_83EF2DC + 0x40
- thumb_func_end sub_80BFEA0
-
- thumb_func_start sub_80BFEDC
-sub_80BFEDC: @ 80BFEDC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080BFEFC @ =gUnknown_20399D4
- ldr r0, _080BFF00 @ =0x000047c0
- bl AllocZeroed
- adds r2, r0, 0
- str r2, [r4]
- cmp r2, 0
- bne _080BFF08
- ldr r0, _080BFF04 @ =CB2_ReturnToField
- bl SetMainCallback2
- b _080BFF38
- .align 2, 0
-_080BFEFC: .4byte gUnknown_20399D4
-_080BFF00: .4byte 0x000047c0
-_080BFF04: .4byte CB2_ReturnToField
-_080BFF08:
- ldr r1, _080BFF40 @ =gUnknown_2031DE0
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080BFF44 @ =0x00004796
- adds r0, r2, r1
- movs r1, 0
- strb r5, [r0]
- ldr r0, [r4]
- ldr r2, _080BFF48 @ =0x000047a0
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strb r1, [r0]
- bl sub_80BFFD0
- ldr r0, _080BFF4C @ =sub_80C0100
- bl SetMainCallback2
-_080BFF38:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFF40: .4byte gUnknown_2031DE0
-_080BFF44: .4byte 0x00004796
-_080BFF48: .4byte 0x000047a0
-_080BFF4C: .4byte sub_80C0100
- thumb_func_end sub_80BFEDC
-
- thumb_func_start sub_80BFF50
-sub_80BFF50: @ 80BFF50
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080BFF70 @ =gUnknown_20399D4
- ldr r0, _080BFF74 @ =0x000047c0
- bl AllocZeroed
- adds r2, r0, 0
- str r2, [r4]
- cmp r2, 0
- bne _080BFF7C
- ldr r0, _080BFF78 @ =CB2_ReturnToField
- bl SetMainCallback2
- b _080BFFB4
- .align 2, 0
-_080BFF70: .4byte gUnknown_20399D4
-_080BFF74: .4byte 0x000047c0
-_080BFF78: .4byte CB2_ReturnToField
-_080BFF7C:
- ldr r1, _080BFFBC @ =gUnknown_2031DE0
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080BFFC0 @ =0x00004796
- adds r0, r2, r1
- movs r1, 0
- strb r5, [r0]
- ldr r0, [r4]
- ldr r2, _080BFFC4 @ =0x000047a0
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080BFFC8 @ =0x000047bc
- adds r0, r1
- str r6, [r0]
- bl sub_80BFFD0
- ldr r0, _080BFFCC @ =sub_80C0100
- bl SetMainCallback2
-_080BFFB4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFFBC: .4byte gUnknown_2031DE0
-_080BFFC0: .4byte 0x00004796
-_080BFFC4: .4byte 0x000047a0
-_080BFFC8: .4byte 0x000047bc
-_080BFFCC: .4byte sub_80C0100
- thumb_func_end sub_80BFF50
-
- thumb_func_start sub_80BFFD0
-sub_80BFFD0: @ 80BFFD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, _080C0000 @ =gUnknown_20399D4
- ldr r2, [r1]
- ldr r3, _080C0004 @ =0x00004796
- adds r0, r2, r3
- ldrb r0, [r0]
- mov r8, r1
- cmp r0, 0
- blt _080BFFF2
- cmp r0, 0x1
- ble _080BFFF2
- cmp r0, 0x2
- beq _080C0010
-_080BFFF2:
- mov r4, r8
- ldr r0, [r4]
- ldr r1, _080C0008 @ =0x000047b8
- adds r0, r1
- ldr r1, _080C000C @ =sub_80C04E4
- str r1, [r0]
- b _080C0018
- .align 2, 0
-_080C0000: .4byte gUnknown_20399D4
-_080C0004: .4byte 0x00004796
-_080C0008: .4byte 0x000047b8
-_080C000C: .4byte sub_80C04E4
-_080C0010:
- ldr r3, _080C009C @ =0x000047b8
- adds r1, r2, r3
- ldr r0, _080C00A0 @ =sub_80C4F08
- str r0, [r1]
-_080C0018:
- movs r3, 0
- ldr r6, _080C00A4 @ =gUnknown_20399D4
- ldr r5, _080C00A8 @ =0x00004797
- ldr r4, _080C00AC @ =gUnknown_83F1B00
- ldr r2, _080C00B0 @ =0x00004796
-_080C0022:
- ldr r0, [r6]
- adds r1, r0, r5
- adds r1, r3
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080C0022
- ldr r0, _080C00B4 @ =0x00000845
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080C0058
- ldr r0, _080C00A4 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r4, _080C00A8 @ =0x00004797
- adds r0, r4
- strb r1, [r0]
-_080C0058:
- movs r7, 0
- movs r1, 0
- ldr r2, _080C00B8 @ =gMapHeader
- ldrb r0, [r2, 0x14]
- ldr r3, _080C00A4 @ =gUnknown_20399D4
- mov r8, r3
- cmp r0, 0x8E
- bls _080C00D8
- ldr r4, _080C00BC @ =gUnknown_83F1AA4
- mov r12, r4
- mov r10, r12
- mov r9, r2
-_080C0070:
- movs r3, 0
- lsls r0, r1, 4
- subs r0, r1
- lsls r2, r0, 1
- mov r4, r10
- adds r0, r2, r4
- ldrb r0, [r0]
- adds r5, r1, 0x1
- cmp r0, 0xC5
- beq _080C00D0
- ldr r6, _080C00BC @ =gUnknown_83F1AA4
- mov r0, r9
- ldrb r1, [r0, 0x14]
- lsls r4, r5, 24
-_080C008C:
- adds r0, r3, r2
- adds r0, r6
- ldrb r0, [r0]
- cmp r1, r0
- bne _080C00C0
- lsrs r7, r4, 24
- b _080C00D0
- .align 2, 0
-_080C009C: .4byte 0x000047b8
-_080C00A0: .4byte sub_80C4F08
-_080C00A4: .4byte gUnknown_20399D4
-_080C00A8: .4byte 0x00004797
-_080C00AC: .4byte gUnknown_83F1B00
-_080C00B0: .4byte 0x00004796
-_080C00B4: .4byte 0x00000845
-_080C00B8: .4byte gMapHeader
-_080C00BC: .4byte gUnknown_83F1AA4
-_080C00C0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r2
- add r0, r12
- ldrb r0, [r0]
- cmp r0, 0xC5
- bne _080C008C
-_080C00D0:
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r7, 0
- beq _080C0070
-_080C00D8:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _080C00F8 @ =0x0000479b
- adds r0, r2
- strb r7, [r0]
- ldr r0, [r1]
- ldr r3, _080C00FC @ =0x0000479c
- adds r0, r3
- strb r7, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C00F8: .4byte 0x0000479b
-_080C00FC: .4byte 0x0000479c
- thumb_func_end sub_80BFFD0
-
- thumb_func_start sub_80C0100
-sub_80C0100: @ 80C0100
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _080C011C @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0120 @ =0x000047a4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _080C0202
- lsls r0, 2
- ldr r1, _080C0124 @ =_080C0128
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C011C: .4byte gUnknown_20399D4
-_080C0120: .4byte 0x000047a4
-_080C0124: .4byte _080C0128
- .align 2, 0
-_080C0128:
- .4byte _080C014C
- .4byte _080C0152
- .4byte _080C0158
- .4byte _080C015E
- .4byte _080C016A
- .4byte _080C0180
- .4byte _080C01D4
- .4byte _080C01E0
- .4byte _080C01EC
-_080C014C:
- bl sub_80C08E0
- b _080C021A
-_080C0152:
- bl sub_80C0904
- b _080C021A
-_080C0158:
- bl sub_80C0A6C
- b _080C021A
-_080C015E:
- bl sub_80C0238
- lsls r0, 24
- cmp r0, 0
- beq _080C0228
- b _080C021A
-_080C016A:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- b _080C01BA
-_080C0180:
- ldr r4, _080C01C4 @ =gUnknown_20399D4
- ldr r1, [r4]
- ldr r2, _080C01C8 @ =0x0000479b
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r2, r0, 2
- adds r2, r0
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 4
- adds r0, 0x26
- adds r1, r0
- movs r0, 0
- bl sub_80C0CC8
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- ldr r2, _080C01CC @ =0x00004796
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C021A
- ldr r0, _080C01D0 @ =0x000012e6
- adds r1, r0
- movs r0, 0x1
- bl sub_80C0CC8
-_080C01BA:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _080C021A
- .align 2, 0
-_080C01C4: .4byte gUnknown_20399D4
-_080C01C8: .4byte 0x0000479b
-_080C01CC: .4byte 0x00004796
-_080C01D0: .4byte 0x000012e6
-_080C01D4:
- bl sub_80C0B18
- movs r0, 0
- bl PutWindowTilemap
- b _080C021A
-_080C01E0:
- bl sub_80C0BB0
- movs r0, 0x1
- bl PutWindowTilemap
- b _080C021A
-_080C01EC:
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C021A
- movs r0, 0x1
- bl sub_80C0A88
- b _080C021A
-_080C0202:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl sub_80C03E8
- bl sub_80C08F4
-_080C021A:
- ldr r0, _080C0230 @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C0234 @ =0x000047a4
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C0228:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0230: .4byte gUnknown_20399D4
-_080C0234: .4byte 0x000047a4
- thumb_func_end sub_80C0100
-
- thumb_func_start sub_80C0238
-sub_80C0238: @ 80C0238
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080C0258 @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C025C @ =0x000047a8
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _080C024C
- b _080C03B0
-_080C024C:
- lsls r0, 2
- ldr r1, _080C0260 @ =_080C0264
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0258: .4byte gUnknown_20399D4
-_080C025C: .4byte 0x000047a8
-_080C0260: .4byte _080C0264
- .align 2, 0
-_080C0264:
- .4byte _080C0288
- .4byte _080C0298
- .4byte _080C02FC
- .4byte _080C0302
- .4byte _080C0340
- .4byte _080C034E
- .4byte _080C0364
- .4byte _080C037C
- .4byte _080C0394
-_080C0288:
- ldr r0, _080C0294 @ =gUnknown_83EF23C
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- b _080C03C8
- .align 2, 0
-_080C0294: .4byte gUnknown_83EF23C
-_080C0298:
- ldr r0, _080C02EC @ =gUnknown_83EF2DC
- movs r1, 0
- movs r2, 0xA0
- bl LoadPalette
- bl sub_80BFEA0
- ldr r0, _080C02F0 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C02F4 @ =0x00004796
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C02B6
- b _080C03C8
-_080C02B6:
- ldr r4, _080C02F8 @ =gUnknown_83EF23C + 0x1E
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x40
- movs r2, 0x2
- bl LoadPalette
- b _080C03C8
- .align 2, 0
-_080C02EC: .4byte gUnknown_83EF2DC
-_080C02F0: .4byte gUnknown_20399D4
-_080C02F4: .4byte 0x00004796
-_080C02F8: .4byte gUnknown_83EF23C + 0x1E
-_080C02FC:
- bl ResetTempTileDataBuffers
- b _080C03C8
-_080C0302:
- ldr r1, _080C0330 @ =gUnknown_83EF61C
- movs r4, 0
- str r4, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r0, _080C0334 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r2, _080C0338 @ =0x00004796
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C03C8
- ldr r1, _080C033C @ =gUnknown_83F1978
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- b _080C03C8
- .align 2, 0
-_080C0330: .4byte gUnknown_83EF61C
-_080C0334: .4byte gUnknown_20399D4
-_080C0338: .4byte 0x00004796
-_080C033C: .4byte gUnknown_83F1978
-_080C0340:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C03C8
- b _080C03D6
-_080C034E:
- ldr r0, _080C035C @ =gUnknown_83F089C
- ldr r1, _080C0360 @ =gUnknown_20399D4
- ldr r1, [r1]
- adds r1, 0x26
- bl LZ77UnCompWram
- b _080C03C8
- .align 2, 0
-_080C035C: .4byte gUnknown_83F089C
-_080C0360: .4byte gUnknown_20399D4
-_080C0364:
- ldr r0, _080C0370 @ =gUnknown_83F0AFC
- ldr r1, _080C0374 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0378 @ =0x000004d6
- b _080C039C
- .align 2, 0
-_080C0370: .4byte gUnknown_83F0AFC
-_080C0374: .4byte gUnknown_20399D4
-_080C0378: .4byte 0x000004d6
-_080C037C:
- ldr r0, _080C0388 @ =gUnknown_83F0C0C
- ldr r1, _080C038C @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0390 @ =0x00000986
- b _080C039C
- .align 2, 0
-_080C0388: .4byte gUnknown_83F0C0C
-_080C038C: .4byte gUnknown_20399D4
-_080C0390: .4byte 0x00000986
-_080C0394:
- ldr r0, _080C03A4 @ =gUnknown_83F0CF0
- ldr r1, _080C03A8 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C03AC @ =0x00000e36
-_080C039C:
- adds r1, r2
- bl LZ77UnCompWram
- b _080C03C8
- .align 2, 0
-_080C03A4: .4byte gUnknown_83F0CF0
-_080C03A8: .4byte gUnknown_20399D4
-_080C03AC: .4byte 0x00000e36
-_080C03B0:
- ldr r0, _080C03C0 @ =gUnknown_83F19A0
- ldr r2, _080C03C4 @ =0x000012e6
- adds r1, r2
- bl LZ77UnCompWram
- movs r0, 0x1
- b _080C03D8
- .align 2, 0
-_080C03C0: .4byte gUnknown_83F19A0
-_080C03C4: .4byte 0x000012e6
-_080C03C8:
- ldr r0, _080C03E0 @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r0, _080C03E4 @ =0x000047a8
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C03D6:
- movs r0, 0
-_080C03D8:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C03E0: .4byte gUnknown_20399D4
-_080C03E4: .4byte 0x000047a8
- thumb_func_end sub_80C0238
-
- thumb_func_start sub_80C03E8
-sub_80C03E8: @ 80C03E8
- push {lr}
- ldr r0, _080C0404 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0408 @ =0x000047b8
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- ldr r0, _080C040C @ =sub_80C08B4
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080C0404: .4byte gUnknown_20399D4
-_080C0408: .4byte 0x000047b8
-_080C040C: .4byte sub_80C08B4
- thumb_func_end sub_80C03E8
-
- thumb_func_start sub_80C0410
-sub_80C0410: @ 80C0410
- push {r4,r5,lr}
- bl sub_80C0E20
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl sub_80C3514
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- bl sub_80C3508
- adds r3, r0, 0
- lsls r3, 16
- asrs r3, 16
- adds r0, r5, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- beq _080C0446
- movs r0, 0x1
- b _080C0448
-_080C0446:
- movs r0, 0
-_080C0448:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0410
-
- thumb_func_start sub_80C0450
-sub_80C0450: @ 80C0450
- push {lr}
- bl sub_80C0410
- cmp r0, 0
- beq _080C04E0
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C0474
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- cmp r0, 0
- bne _080C048E
-_080C0474:
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C0494
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- cmp r0, 0
- beq _080C0494
-_080C048E:
- movs r0, 0x65
- bl PlaySE
-_080C0494:
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C04C2
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bne _080C04C2
- movs r0, 0
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C04C2
- movs r0, 0xE1
- bl PlaySE
- b _080C04E0
-_080C04C2:
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C04E0
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xD
- bne _080C04E0
- movs r0, 0xE1
- bl PlaySE
-_080C04E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80C0450
-
- thumb_func_start sub_80C04E4
-sub_80C04E4: @ 80C04E4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C0508 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C050C @ =0x000047a0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _080C04FC
- b _080C07B0
-_080C04FC:
- lsls r0, 2
- ldr r1, _080C0510 @ =_080C0514
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0508: .4byte gUnknown_20399D4
-_080C050C: .4byte 0x000047a0
-_080C0510: .4byte _080C0514
- .align 2, 0
-_080C0514:
- .4byte _080C052C
- .4byte _080C0560
- .4byte _080C05E0
- .4byte _080C0624
- .4byte _080C0760
- .4byte _080C0788
-_080C052C:
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080C0558 @ =gUnknown_20399D4
- ldr r1, [r4]
- ldr r2, _080C055C @ =0x000047b8
- adds r1, r2
- ldr r2, [r1]
- adds r1, r5, 0
- bl sub_80C4398
- movs r0, 0
- movs r1, 0
- bl sub_80C3008
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80C41D8
- ldr r1, [r4]
- b _080C079C
- .align 2, 0
-_080C0558: .4byte gUnknown_20399D4
-_080C055C: .4byte 0x000047b8
-_080C0560:
- ldr r0, _080C057C @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C0580 @ =0x00004799
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080C0584
- adds r2, 0x1F
- adds r0, r1, r2
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80C2208
- b _080C0798
- .align 2, 0
-_080C057C: .4byte gUnknown_20399D4
-_080C0580: .4byte 0x00004799
-_080C0584:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- ldr r0, _080C05D8 @ =gUnknown_8418EB5
- bl sub_80C4E18
- ldr r0, _080C05DC @ =gUnknown_8418E8B
- bl sub_80C4E74
- movs r0, 0
- bl sub_80C4ED0
- movs r0, 0
- bl sub_80C4324
- movs r0, 0
- bl sub_80C3154
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
- b _080C0798
- .align 2, 0
-_080C05D8: .4byte gUnknown_8418EB5
-_080C05DC: .4byte gUnknown_8418E8B
-_080C05E0:
- ldr r0, _080C0618 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C05EE
- b _080C07C2
-_080C05EE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _080C05FA
- b _080C07C2
-_080C05FA:
- bl sub_80C0B18
- movs r0, 0
- bl PutWindowTilemap
- bl sub_80C0BB0
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r0, _080C061C @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C0620 @ =0x000047a0
- adds r1, r2
- b _080C07A0
- .align 2, 0
-_080C0618: .4byte gPaletteFade
-_080C061C: .4byte gUnknown_20399D4
-_080C0620: .4byte 0x000047a0
-_080C0624:
- bl sub_80C3400
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x5
- bls _080C0634
- b _080C07C2
-_080C0634:
- lsls r0, 2
- ldr r1, _080C0640 @ =_080C0644
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0640: .4byte _080C0644
- .align 2, 0
-_080C0644:
- .4byte _080C065C
- .4byte _080C07C2
- .4byte _080C0662
- .4byte _080C070C
- .4byte _080C0740
- .4byte _080C0798
-_080C065C:
- bl sub_80C3178
- b _080C07C2
-_080C0662:
- bl sub_80C0B18
- bl sub_80C0BB0
- bl sub_80C0B9C
- bl sub_80C0450
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC5
- beq _080C06A8
- movs r0, 0x1
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C068E
- b _080C07C2
-_080C068E:
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080C0700
- ldr r0, _080C06A4 @ =gUnknown_8418E8D
- bl sub_80C4E74
- b _080C07C2
- .align 2, 0
-_080C06A4: .4byte gUnknown_8418E8D
-_080C06A8:
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C06DC
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bne _080C06DC
- movs r0, 0
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C06DC
- ldr r0, _080C06D8 @ =gUnknown_8418EA7
- bl sub_80C4E74
- b _080C07C2
- .align 2, 0
-_080C06D8: .4byte gUnknown_8418EA7
-_080C06DC:
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C0700
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xD
- bne _080C0700
- ldr r0, _080C06FC @ =gUnknown_8418E95
- bl sub_80C4E74
- b _080C07C2
- .align 2, 0
-_080C06FC: .4byte gUnknown_8418E95
-_080C0700:
- ldr r0, _080C0708 @ =gUnknown_8418E8B
- bl sub_80C4E74
- b _080C07C2
- .align 2, 0
-_080C0708: .4byte gUnknown_8418E8B
-_080C070C:
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080C07C2
- ldr r0, _080C0734 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0738 @ =0x00004798
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080C07C2
- ldr r2, _080C073C @ =sub_80C07F8
- movs r0, 0
- adds r1, r5, 0
- bl sub_80C195C
- b _080C07C2
- .align 2, 0
-_080C0734: .4byte gUnknown_20399D4
-_080C0738: .4byte 0x00004798
-_080C073C: .4byte sub_80C07F8
-_080C0740:
- ldr r0, _080C0754 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r2, _080C0758 @ =0x0000479b
- adds r0, r2
- ldrb r0, [r0]
- ldr r2, _080C075C @ =sub_80C07F8
- adds r1, r5, 0
- bl sub_80C0E70
- b _080C07C2
- .align 2, 0
-_080C0754: .4byte gUnknown_20399D4
-_080C0758: .4byte 0x0000479b
-_080C075C: .4byte sub_80C07F8
-_080C0760:
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C0776
- adds r0, r5, 0
- bl sub_80C2C1C
- b _080C0798
-_080C0776:
- ldr r0, _080C0780 @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C0784 @ =0x000047a0
- adds r1, r2
- b _080C07A0
- .align 2, 0
-_080C0780: .4byte gUnknown_20399D4
-_080C0784: .4byte 0x000047a0
-_080C0788:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080C0798:
- ldr r0, _080C07A8 @ =gUnknown_20399D4
- ldr r1, [r0]
-_080C079C:
- ldr r0, _080C07AC @ =0x000047a0
- adds r1, r0
-_080C07A0:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C07C2
- .align 2, 0
-_080C07A8: .4byte gUnknown_20399D4
-_080C07AC: .4byte 0x000047a0
-_080C07B0:
- ldr r0, _080C07CC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C07C2
- adds r0, r5, 0
- bl sub_80C0820
-_080C07C2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C07CC: .4byte gPaletteFade
- thumb_func_end sub_80C04E4
-
- thumb_func_start sub_80C07D0
-sub_80C07D0: @ 80C07D0
- ldr r1, _080C07DC @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C07E0 @ =0x000047b8
- adds r1, r2
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C07DC: .4byte gUnknown_20399D4
-_080C07E0: .4byte 0x000047b8
- thumb_func_end sub_80C07D0
-
- thumb_func_start sub_80C07E4
-sub_80C07E4: @ 80C07E4
- ldr r0, _080C07F0 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C07F4 @ =0x000047b8
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080C07F0: .4byte gUnknown_20399D4
-_080C07F4: .4byte 0x000047b8
- thumb_func_end sub_80C07E4
-
- thumb_func_start sub_80C07F8
-sub_80C07F8: @ 80C07F8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C0814 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C0818 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r2, _080C081C @ =0x000047b8
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C0814: .4byte gTasks
-_080C0818: .4byte gUnknown_20399D4
-_080C081C: .4byte 0x000047b8
- thumb_func_end sub_80C07F8
-
- thumb_func_start sub_80C0820
-sub_80C0820: @ 80C0820
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C0838
- bl sub_80C25BC
-_080C0838:
- bl sub_80C4A04
- bl sub_80C3188
- bl sub_80C4348
- bl sub_80C4D30
- adds r0, r4, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, _080C086C @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0870 @ =0x000047bc
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _080C0878
- ldr r0, _080C0874 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- b _080C087C
- .align 2, 0
-_080C086C: .4byte gUnknown_20399D4
-_080C0870: .4byte 0x000047bc
-_080C0874: .4byte gMain
-_080C0878:
- bl SetMainCallback2
-_080C087C:
- ldr r4, _080C0894 @ =gUnknown_20399D4
- ldr r0, [r4]
- cmp r0, 0
- beq _080C088C
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C088C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0894: .4byte gUnknown_20399D4
- thumb_func_end sub_80C0820
-
- thumb_func_start sub_80C0898
-sub_80C0898: @ 80C0898
- push {r4,lr}
- ldr r4, _080C08B0 @ =gUnknown_20399D4
- ldr r0, [r4]
- cmp r0, 0
- beq _080C08AA
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C08AA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C08B0: .4byte gUnknown_20399D4
- thumb_func_end sub_80C0898
-
- thumb_func_start sub_80C08B4
-sub_80C08B4: @ 80C08B4
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80C08B4
-
- thumb_func_start sub_80C08CC
-sub_80C08CC: @ 80C08CC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80C08CC
-
- thumb_func_start sub_80C08E0
-sub_80C08E0: @ 80C08E0
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_80C08E0
-
- thumb_func_start sub_80C08F4
-sub_80C08F4: @ 80C08F4
- push {lr}
- ldr r0, _080C0900 @ =sub_80C08CC
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .align 2, 0
-_080C0900: .4byte sub_80C08CC
- thumb_func_end sub_80C08F4
-
- thumb_func_start sub_80C0904
-sub_80C0904: @ 80C0904
- 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, _080C0A18 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _080C0A1C @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080C092A:
- 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 _080C092A
- 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, _080C0A18 @ =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, _080C0A20 @ =gUnknown_83F1A50
- 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
- ldr r0, _080C0A24 @ =gUnknown_83F1A60
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r1, _080C0A28 @ =0x00006040
- movs r0, 0
- bl SetGpuReg
- bl sub_80C0A2C
- bl sub_80C0AB8
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0A18: .4byte 0x040000d4
-_080C0A1C: .4byte 0x81000800
-_080C0A20: .4byte gUnknown_83F1A50
-_080C0A24: .4byte gUnknown_83F1A60
-_080C0A28: .4byte 0x00006040
- thumb_func_end sub_80C0904
-
- thumb_func_start sub_80C0A2C
-sub_80C0A2C: @ 80C0A2C
- push {r4,lr}
- ldr r4, _080C0A5C @ =gUnknown_20399D4
- ldr r1, [r4]
- ldr r0, _080C0A60 @ =0x00001796
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, _080C0A64 @ =0x00002796
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, _080C0A68 @ =0x00003796
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0A5C: .4byte gUnknown_20399D4
-_080C0A60: .4byte 0x00001796
-_080C0A64: .4byte 0x00002796
-_080C0A68: .4byte 0x00003796
- thumb_func_end sub_80C0A2C
-
- thumb_func_start sub_80C0A6C
-sub_80C0A6C: @ 80C0A6C
- push {lr}
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ScanlineEffect_Stop
- pop {r0}
- bx r0
- thumb_func_end sub_80C0A6C
-
- thumb_func_start sub_80C0A88
-sub_80C0A88: @ 80C0A88
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080C0A98
- cmp r0, 0x1
- beq _080C0AA6
- b _080C0AB2
-_080C0A98:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- b _080C0AB2
-_080C0AA6:
- movs r0, 0
- bl HideBg
- movs r0, 0x3
- bl HideBg
-_080C0AB2:
- pop {r0}
- bx r0
- thumb_func_end sub_80C0A88
-
- thumb_func_start sub_80C0AB8
-sub_80C0AB8: @ 80C0AB8
- push {r4,lr}
- bl sub_80C4BE4
- movs r0, 0
- movs r1, 0x11
- movs r2, 0xC0
- bl sub_80C4C2C
- movs r0, 0x6
- bl sub_80C4C48
- movs r0, 0x39
- movs r1, 0x39
- bl sub_80C4C74
- movs r0, 0x1B
- bl sub_80C4C88
- ldr r4, _080C0B14 @ =gUnknown_83F1B0C
- movs r0, 0
- adds r1, r4, 0
- bl sub_80C4CF0
- adds r4, 0x8
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C9C
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC5
- beq _080C0B0C
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
-_080C0B0C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0B14: .4byte gUnknown_83F1B0C
- thumb_func_end sub_80C0AB8
-
- thumb_func_start sub_80C0B18
-sub_80C0B18: @ 80C0B18
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- bl sub_80C3520
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC5
- bne _080C0B44
- ldr r1, _080C0B40 @ =gUnknown_83F1B1C
- movs r0, 0
- bl sub_80C4CF0
- b _080C0B88
- .align 2, 0
-_080C0B40: .4byte gUnknown_83F1B1C
-_080C0B44:
- ldr r5, _080C0B90 @ =gUnknown_20399D4
- ldr r4, [r5]
- bl sub_80C3520
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl GetMapName
- ldr r0, _080C0B94 @ =gUnknown_83F1A90
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, [r5]
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x2
- movs r3, 0x2
- bl AddTextPrinterParameterized3
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, _080C0B98 @ =gUnknown_83F1B0C
- movs r0, 0
- bl sub_80C4CF0
-_080C0B88:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0B90: .4byte gUnknown_20399D4
-_080C0B94: .4byte gUnknown_83F1A90
-_080C0B98: .4byte gUnknown_83F1B0C
- thumb_func_end sub_80C0B18
-
- thumb_func_start sub_80C0B9C
-sub_80C0B9C: @ 80C0B9C
- push {lr}
- ldr r1, _080C0BAC @ =gUnknown_83F1B14
- movs r0, 0x1
- bl sub_80C4CF0
- pop {r0}
- bx r0
- .align 2, 0
-_080C0BAC: .4byte gUnknown_83F1B14
- thumb_func_end sub_80C0B9C
-
- thumb_func_start sub_80C0BB0
-sub_80C0BB0: @ 80C0BB0
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r5, _080C0C84 @ =gUnknown_20399D4
- ldr r1, [r5]
- ldr r2, _080C0C88 @ =0x000047ac
- adds r0, r1, r2
- movs r6, 0
- strh r6, [r0]
- ldr r3, _080C0C8C @ =0x000047ae
- adds r2, r1, r3
- movs r0, 0x18
- strh r0, [r2]
- ldr r0, _080C0C90 @ =0x000047b0
- adds r1, r0
- movs r0, 0x20
- strh r0, [r1]
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80C4C9C
- movs r0, 0x1
- bl ClearWindowTilemap
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC5
- beq _080C0C7A
- adds r4, r0, 0
- subs r4, 0x58
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
- ldr r0, [r5]
- ldr r1, _080C0C88 @ =0x000047ac
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _080C0C94 @ =gUnknown_83F1CAC
- lsls r4, 2
- adds r4, r0
- ldr r4, [r4]
- adds r0, r4, 0
- bl StringLength
- ldr r2, [r5]
- ldr r3, _080C0C98 @ =0x000047aa
- adds r1, r2, r3
- strh r0, [r1]
- ldrh r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x32
- adds r3, 0x4
- adds r1, r2, r3
- strh r0, [r1]
- ldr r0, _080C0C90 @ =0x000047b0
- adds r2, r0
- movs r0, 0x30
- strh r0, [r2]
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, 0x13
- adds r1, r4, 0
- bl StringCopy
- ldr r4, _080C0C9C @ =gUnknown_83F1A9C
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 22
- subs r0, 0x8
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- str r6, [sp, 0x4]
- ldr r0, [r5]
- adds r0, 0x13
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xC
- movs r3, 0x2
- bl AddTextPrinterParameterized3
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
-_080C0C7A:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0C84: .4byte gUnknown_20399D4
-_080C0C88: .4byte 0x000047ac
-_080C0C8C: .4byte 0x000047ae
-_080C0C90: .4byte 0x000047b0
-_080C0C94: .4byte gUnknown_83F1CAC
-_080C0C98: .4byte 0x000047aa
-_080C0C9C: .4byte gUnknown_83F1A9C
- thumb_func_end sub_80C0BB0
-
- thumb_func_start sub_80C0CA0
-sub_80C0CA0: @ 80C0CA0
- push {lr}
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_80C0CA0
-
- thumb_func_start sub_80C0CC8
-sub_80C0CC8: @ 80C0CC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r7, r1, 0
- lsls r0, 24
- ldr r2, _080C0D0C @ =gUnknown_20399D4
- lsrs r0, 12
- ldr r1, _080C0D10 @ =0x00001796
- adds r0, r1
- ldr r1, [r2]
- adds r6, r1, r0
- movs r1, 0
- mov r8, r2
-_080C0CE4:
- movs r2, 0
- lsls r5, r1, 16
- asrs r1, r5, 16
- lsls r3, r1, 5
- lsls r0, r1, 4
- subs r0, r1
- lsls r4, r0, 1
-_080C0CF2:
- lsls r0, r2, 16
- asrs r1, r0, 16
- adds r2, r0, 0
- cmp r1, 0x1D
- bgt _080C0D14
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r6
- adds r1, r4, r1
- lsls r1, 1
- adds r1, r7
- ldrh r1, [r1]
- b _080C0D1C
- .align 2, 0
-_080C0D0C: .4byte gUnknown_20399D4
-_080C0D10: .4byte 0x00001796
-_080C0D14:
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r7]
-_080C0D1C:
- strh r1, [r0]
- movs r1, 0x80
- lsls r1, 9
- adds r0, r2, r1
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- ble _080C0CF2
- adds r0, r5, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080C0CE4
- mov r1, r8
- ldr r0, [r1]
- ldr r1, _080C0D94 @ =0x00004797
- adds r0, r1
- ldrb r5, [r0]
- cmp r5, 0x1
- bne _080C0D86
- movs r4, 0x3
- str r4, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0
- movs r1, 0xF0
- movs r2, 0x18
- movs r3, 0xE
- bl WriteSequenceToBgTilemapBuffer
- movs r1, 0x80
- lsls r1, 1
- str r4, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0xF
- bl WriteSequenceToBgTilemapBuffer
- movs r1, 0x88
- lsls r1, 1
- str r4, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0x10
- bl WriteSequenceToBgTilemapBuffer
-_080C0D86:
- ldr r0, _080C0D98 @ =gUnknown_20399D8
- ldr r0, [r0]
- cmp r0, 0
- beq _080C0DA0
- ldr r1, _080C0D9C @ =0x00001cca
- b _080C0DA6
- .align 2, 0
-_080C0D94: .4byte 0x00004797
-_080C0D98: .4byte gUnknown_20399D8
-_080C0D9C: .4byte 0x00001cca
-_080C0DA0:
- mov r1, r8
- ldr r0, [r1]
- ldr r1, _080C0DF8 @ =0x0000479b
-_080C0DA6:
- adds r0, r1
- ldrb r4, [r0]
- cmp r4, 0x2
- bne _080C0DCC
- ldr r0, _080C0DFC @ =0x000008b5
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C0DCC
- movs r0, 0x3
- str r0, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0xD
- movs r3, 0xB
- bl FillBgTilemapBufferRect_Palette0
-_080C0DCC:
- cmp r4, 0x3
- bne _080C0DEC
- ldr r0, _080C0E00 @ =0x000008c2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C0DEC
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0x15
- movs r3, 0x10
- bl FillBgTilemapBufferRect_Palette0
-_080C0DEC:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0DF8: .4byte 0x0000479b
-_080C0DFC: .4byte 0x000008b5
-_080C0E00: .4byte 0x000008c2
- thumb_func_end sub_80C0CC8
-
- thumb_func_start sub_80C0E04
-sub_80C0E04: @ 80C0E04
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C0E18 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0E1C @ =0x00004797
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_080C0E18: .4byte gUnknown_20399D4
-_080C0E1C: .4byte 0x00004797
- thumb_func_end sub_80C0E04
-
- thumb_func_start sub_80C0E20
-sub_80C0E20: @ 80C0E20
- ldr r0, _080C0E2C @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0E30 @ =0x0000479b
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080C0E2C: .4byte gUnknown_20399D4
-_080C0E30: .4byte 0x0000479b
- thumb_func_end sub_80C0E20
-
- thumb_func_start sub_80C0E34
-sub_80C0E34: @ 80C0E34
- ldr r0, _080C0E40 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0E44 @ =0x0000479c
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080C0E40: .4byte gUnknown_20399D4
-_080C0E44: .4byte 0x0000479c
- thumb_func_end sub_80C0E34
-
- thumb_func_start sub_80C0E48
-sub_80C0E48: @ 80C0E48
- ldr r1, _080C0E54 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0E58 @ =0x0000479b
- adds r1, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080C0E54: .4byte gUnknown_20399D4
-_080C0E58: .4byte 0x0000479b
- thumb_func_end sub_80C0E48
-
- thumb_func_start sub_80C0E5C
-sub_80C0E5C: @ 80C0E5C
- ldr r1, _080C0E68 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0E6C @ =0x0000479c
- adds r1, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080C0E68: .4byte gUnknown_20399D4
-_080C0E6C: .4byte 0x0000479c
- thumb_func_end sub_80C0E5C
-
- thumb_func_start sub_80C0E70
-sub_80C0E70: @ 80C0E70
- push {r4-r7,lr}
- adds r7, r2, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _080C0EA0 @ =gUnknown_20399D8
- movs r0, 0xE7
- lsls r0, 5
- bl AllocZeroed
- str r0, [r4]
- ldr r0, _080C0EA4 @ =0x00000846
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080C0EAC
- ldr r0, [r4]
- ldr r1, _080C0EA8 @ =0x00001ccc
- adds r0, r1
- movs r1, 0x3
- b _080C0ED2
- .align 2, 0
-_080C0EA0: .4byte gUnknown_20399D8
-_080C0EA4: .4byte 0x00000846
-_080C0EA8: .4byte 0x00001ccc
-_080C0EAC:
- ldr r0, _080C0EC4 @ =0x00000845
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080C0ECC
- ldr r0, [r4]
- ldr r2, _080C0EC8 @ =0x00001ccc
- adds r0, r2
- movs r1, 0x1
- b _080C0ED2
- .align 2, 0
-_080C0EC4: .4byte 0x00000845
-_080C0EC8: .4byte 0x00001ccc
-_080C0ECC:
- ldr r0, [r4]
- ldr r3, _080C0F14 @ =0x00001ccc
- adds r0, r3
-_080C0ED2:
- strb r1, [r0]
- ldr r4, _080C0F18 @ =gUnknown_20399D8
- ldr r2, [r4]
- ldr r0, _080C0F1C @ =0x000018b8
- adds r1, r2, r0
- movs r0, 0x58
- strh r0, [r1]
- ldr r3, _080C0F20 @ =0x00001cc4
- adds r1, r2, r3
- movs r0, 0x98
- strh r0, [r1]
- ldr r1, _080C0F14 @ =0x00001ccc
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080C0F2C
- cmp r0, 0x2
- bgt _080C0F4C
- cmp r0, 0x1
- bne _080C0F4C
- ldr r0, _080C0F24 @ =gUnknown_83F1084
- movs r3, 0x80
- lsls r3, 5
- adds r1, r2, r3
- bl LZ77UnCompWram
- ldr r0, [r4]
- ldr r1, _080C0F28 @ =0x00001cce
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0]
- b _080C0F64
- .align 2, 0
-_080C0F14: .4byte 0x00001ccc
-_080C0F18: .4byte gUnknown_20399D8
-_080C0F1C: .4byte 0x000018b8
-_080C0F20: .4byte 0x00001cc4
-_080C0F24: .4byte gUnknown_83F1084
-_080C0F28: .4byte 0x00001cce
-_080C0F2C:
- ldr r0, _080C0F44 @ =gUnknown_83F1190
- movs r3, 0x80
- lsls r3, 5
- adds r1, r2, r3
- bl LZ77UnCompWram
- ldr r0, [r4]
- ldr r1, _080C0F48 @ =0x00001cce
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0]
- b _080C0F64
- .align 2, 0
-_080C0F44: .4byte gUnknown_83F1190
-_080C0F48: .4byte 0x00001cce
-_080C0F4C:
- ldr r0, _080C0FB4 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r3, _080C0FB8 @ =0x00001cce
- adds r2, r1, r3
- movs r0, 0x3
- strh r0, [r2]
- ldr r0, _080C0FBC @ =gUnknown_83F0F1C
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- bl LZ77UnCompWram
-_080C0F64:
- ldr r0, _080C0FC0 @ =gUnknown_83F0580
- ldr r4, _080C0FB4 @ =gUnknown_20399D8
- ldr r1, [r4]
- bl LZ77UnCompWram
- ldr r0, [r4]
- ldr r3, _080C0FC4 @ =0x00001cc8
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080C0FC8 @ =0x00001cca
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- ldr r2, _080C0FCC @ =0x00001cd0
- adds r0, r2
- str r7, [r0]
- bl sub_80C0E34
- ldr r1, [r4]
- ldr r3, _080C0FD0 @ =0x00001ccb
- adds r1, r3
- strb r0, [r1]
- movs r0, 0
- bl sub_80C4AAC
- ldr r0, _080C0FD4 @ =gUnknown_8418EB0
- bl sub_80C4E74
- ldr r1, _080C0FD8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C0FDC @ =sub_80C1098
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0FB4: .4byte gUnknown_20399D8
-_080C0FB8: .4byte 0x00001cce
-_080C0FBC: .4byte gUnknown_83F0F1C
-_080C0FC0: .4byte gUnknown_83F0580
-_080C0FC4: .4byte 0x00001cc8
-_080C0FC8: .4byte 0x00001cca
-_080C0FCC: .4byte 0x00001cd0
-_080C0FD0: .4byte 0x00001ccb
-_080C0FD4: .4byte gUnknown_8418EB0
-_080C0FD8: .4byte gTasks
-_080C0FDC: .4byte sub_80C1098
- thumb_func_end sub_80C0E70
-
- thumb_func_start sub_80C0FE0
-sub_80C0FE0: @ 80C0FE0
- push {lr}
- bl sub_80C4BE4
- movs r0, 0x1B
- movs r1, 0x4
- movs r2, 0x40
- bl sub_80C4C2C
- ldr r0, _080C100C @ =gUnknown_20399D8
- ldr r0, [r0]
- ldr r1, _080C1010 @ =0x00001ccd
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C4C5C
- pop {r0}
- bx r0
- .align 2, 0
-_080C100C: .4byte gUnknown_20399D8
-_080C1010: .4byte 0x00001ccd
- thumb_func_end sub_80C0FE0
-
- thumb_func_start sub_80C1014
-sub_80C1014: @ 80C1014
- push {r4,lr}
- ldr r4, _080C1028 @ =gUnknown_20399D8
- ldr r0, [r4]
- ldr r2, _080C102C @ =0x00001ccd
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xF
- bls _080C1030
- movs r0, 0x1
- b _080C104C
- .align 2, 0
-_080C1028: .4byte gUnknown_20399D8
-_080C102C: .4byte 0x00001ccd
-_080C1030:
- ldrb r1, [r1]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C4C5C
- ldr r1, [r4]
- ldr r0, _080C1054 @ =0x00001ccd
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x2
- strb r0, [r1]
- movs r0, 0
-_080C104C:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C1054: .4byte 0x00001ccd
- thumb_func_end sub_80C1014
-
- thumb_func_start sub_80C1058
-sub_80C1058: @ 80C1058
- push {lr}
- ldr r2, _080C106C @ =gUnknown_20399D8
- ldr r0, [r2]
- ldr r3, _080C1070 @ =0x00001ccd
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0x1
- bhi _080C1074
- movs r0, 0x1
- b _080C108E
- .align 2, 0
-_080C106C: .4byte gUnknown_20399D8
-_080C1070: .4byte 0x00001ccd
-_080C1074:
- subs r0, 0x2
- strb r0, [r1]
- ldr r0, [r2]
- ldr r1, _080C1094 @ =0x00001ccd
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C4C5C
- movs r0, 0
-_080C108E:
- pop {r1}
- bx r1
- .align 2, 0
-_080C1094: .4byte 0x00001ccd
- thumb_func_end sub_80C1058
-
- thumb_func_start sub_80C1098
-sub_80C1098: @ 80C1098
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C10BC @ =gUnknown_20399D8
- ldr r0, [r1]
- ldr r3, _080C10C0 @ =0x00001cc8
- adds r0, r3
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xC
- bls _080C10B0
- b _080C1274
-_080C10B0:
- lsls r0, 2
- ldr r1, _080C10C4 @ =_080C10C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C10BC: .4byte gUnknown_20399D8
-_080C10C0: .4byte 0x00001cc8
-_080C10C4: .4byte _080C10C8
- .align 2, 0
-_080C10C8:
- .4byte _080C10FC
- .4byte _080C111C
- .4byte _080C112E
- .4byte _080C1146
- .4byte _080C115C
- .4byte _080C1168
- .4byte _080C1180
- .4byte _080C1192
- .4byte _080C11B0
- .4byte _080C11BE
- .4byte _080C1220
- .4byte _080C1236
- .4byte _080C1254
-_080C10FC:
- bl sub_80C08E0
- ldr r0, _080C1110 @ =gUnknown_8418EBC
- bl sub_80C4E18
- ldr r0, _080C1114 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C1118 @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C1110: .4byte gUnknown_8418EBC
-_080C1114: .4byte gUnknown_20399D8
-_080C1118: .4byte 0x00001cc8
-_080C111C:
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 5
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r4]
- b _080C125E
-_080C112E:
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 5
- adds r1, r0
- movs r0, 0x2
- bl sub_80C1324
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- b _080C125E
-_080C1146:
- bl sub_80C0CA0
- ldr r0, _080C1154 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C1158 @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C1154: .4byte gUnknown_20399D8
-_080C1158: .4byte 0x00001cc8
-_080C115C:
- bl sub_80C0FE0
- movs r0, 0x2
- bl ShowBg
- b _080C125A
-_080C1168:
- bl sub_80C08F4
- ldr r0, _080C1178 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C117C @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C1178: .4byte gUnknown_20399D8
-_080C117C: .4byte 0x00001cc8
-_080C1180:
- bl sub_80C1014
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- bl sub_80C1390
- b _080C125A
-_080C1192:
- bl sub_80C144C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- ldr r0, _080C11A8 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C11AC @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C11A8: .4byte gUnknown_20399D8
-_080C11AC: .4byte 0x00001cc8
-_080C11B0:
- bl sub_80C16D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- b _080C125A
-_080C11BE:
- bl sub_80C1478
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- ldr r5, _080C1214 @ =gUnknown_20399D8
- ldr r0, [r5]
- ldr r4, _080C1218 @ =0x00001cca
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80C0E48
- bl sub_80C0E34
- ldr r1, [r5]
- adds r1, r4
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C120C
- movs r0, 0
- bl sub_80C4324
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
-_080C120C:
- ldr r1, [r5]
- ldr r0, _080C121C @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C1214: .4byte gUnknown_20399D8
-_080C1218: .4byte 0x00001cca
-_080C121C: .4byte 0x00001cc8
-_080C1220:
- bl sub_80C12EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- bl sub_80C1880
- bl sub_80C0FE0
- b _080C125A
-_080C1236:
- bl sub_80C1058
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- ldr r0, _080C124C @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C1250 @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C124C: .4byte gUnknown_20399D8
-_080C1250: .4byte 0x00001cc8
-_080C1254:
- movs r0, 0
- bl sub_80C3154
-_080C125A:
- ldr r0, _080C126C @ =gUnknown_20399D8
- ldr r1, [r0]
-_080C125E:
- ldr r3, _080C1270 @ =0x00001cc8
- adds r1, r3
-_080C1262:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C127A
- .align 2, 0
-_080C126C: .4byte gUnknown_20399D8
-_080C1270: .4byte 0x00001cc8
-_080C1274:
- adds r0, r2, 0
- bl sub_80C1280
-_080C127A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C1098
-
- thumb_func_start sub_80C1280
-sub_80C1280: @ 80C1280
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C12D4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r4, _080C12D8 @ =gUnknown_20399D8
- ldr r0, [r4]
- ldr r2, _080C12DC @ =0x00001cd0
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x2
- bl HideBg
- ldr r0, _080C12E0 @ =gUnknown_8418EB5
- bl sub_80C4E18
- ldr r0, _080C12E4 @ =gUnknown_8418EA7
- bl sub_80C4E74
- bl sub_80C0AB8
- bl sub_80C0B9C
- ldr r1, _080C12E8 @ =gUnknown_83F1B1C
- movs r0, 0
- bl sub_80C4CF0
- ldr r0, [r4]
- cmp r0, 0
- beq _080C12CC
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C12CC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C12D4: .4byte gTasks
-_080C12D8: .4byte gUnknown_20399D8
-_080C12DC: .4byte 0x00001cd0
-_080C12E0: .4byte gUnknown_8418EB5
-_080C12E4: .4byte gUnknown_8418EA7
-_080C12E8: .4byte gUnknown_83F1B1C
- thumb_func_end sub_80C1280
-
- thumb_func_start sub_80C12EC
-sub_80C12EC: @ 80C12EC
- push {lr}
- ldr r0, _080C1308 @ =gUnknown_20399D8
- ldr r0, [r0]
- ldr r2, _080C130C @ =0x00001cdc
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- bne _080C1310
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- b _080C131E
- .align 2, 0
-_080C1308: .4byte gUnknown_20399D8
-_080C130C: .4byte 0x00001cdc
-_080C1310:
- subs r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- movs r0, 0x54
- bl SetGpuReg
- movs r0, 0
-_080C131E:
- pop {r1}
- bx r1
- thumb_func_end sub_80C12EC
-
- thumb_func_start sub_80C1324
-sub_80C1324: @ 80C1324
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r0, 24
- ldr r1, _080C1360 @ =gUnknown_20399D4
- lsrs r0, 12
- ldr r2, _080C1364 @ =0x00001796
- adds r0, r2
- ldr r1, [r1]
- adds r6, r1, r0
- movs r1, 0
-_080C1338:
- movs r2, 0
- lsls r5, r1, 16
- asrs r1, r5, 16
- lsls r3, r1, 5
- lsls r0, r1, 4
- subs r0, r1
- lsls r4, r0, 1
-_080C1346:
- lsls r0, r2, 16
- asrs r1, r0, 16
- adds r2, r0, 0
- cmp r1, 0x1D
- bgt _080C1368
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r6
- adds r1, r4, r1
- lsls r1, 1
- adds r1, r7
- ldrh r1, [r1]
- b _080C1370
- .align 2, 0
-_080C1360: .4byte gUnknown_20399D4
-_080C1364: .4byte 0x00001796
-_080C1368:
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r7]
-_080C1370:
- strh r1, [r0]
- movs r1, 0x80
- lsls r1, 9
- adds r0, r2, r1
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- ble _080C1346
- adds r0, r5, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080C1338
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C1324
-
- thumb_func_start sub_80C1390
-sub_80C1390: @ 80C1390
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080C1428 @ =gUnknown_20399D8
- ldr r2, [r0]
- ldr r1, _080C142C @ =0x00001cd4
- adds r0, r2, r1
- movs r1, 0x48
- strh r1, [r0]
- ldr r5, _080C1430 @ =0xffff0000
- ldr r0, [sp]
- ands r0, r5
- orrs r0, r1
- str r0, [sp]
- ldr r0, _080C1434 @ =0x00001cce
- adds r3, r2, r0
- ldr r1, _080C1438 @ =0x00001cca
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 2
- ldrh r3, [r3]
- adds r1, r3
- lsls r1, 3
- ldr r0, _080C143C @ =0x00001cd6
- adds r4, r2, r0
- strh r1, [r4]
- lsls r1, 16
- ldr r3, _080C1440 @ =0x0000ffff
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- ldr r1, _080C1444 @ =0x00001cd8
- adds r0, r2, r1
- movs r1, 0xA8
- strh r1, [r0]
- ldr r0, [sp, 0x4]
- ands r0, r5
- orrs r0, r1
- str r0, [sp, 0x4]
- ldrh r1, [r4]
- adds r1, 0x20
- ldr r0, _080C1448 @ =0x00001cda
- adds r2, r0
- strh r1, [r2]
- ands r1, r3
- lsls r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r3
- orrs r0, r1
- str r0, [sp, 0x4]
- bl sub_80C4BE4
- movs r0, 0
- movs r1, 0x15
- movs r2, 0xC0
- bl sub_80C4C2C
- movs r0, 0x1F
- movs r1, 0x15
- bl sub_80C4C74
- movs r0, 0x3F
- bl sub_80C4C88
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
- movs r0, 0x1
- mov r1, sp
- bl sub_80C4CF0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1428: .4byte gUnknown_20399D8
-_080C142C: .4byte 0x00001cd4
-_080C1430: .4byte 0xffff0000
-_080C1434: .4byte 0x00001cce
-_080C1438: .4byte 0x00001cca
-_080C143C: .4byte 0x00001cd6
-_080C1440: .4byte 0x0000ffff
-_080C1444: .4byte 0x00001cd8
-_080C1448: .4byte 0x00001cda
- thumb_func_end sub_80C1390
-
- thumb_func_start sub_80C144C
-sub_80C144C: @ 80C144C
- push {lr}
- ldr r0, _080C1460 @ =gUnknown_20399D8
- ldr r0, [r0]
- ldr r2, _080C1464 @ =0x00001cdc
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0x5
- bls _080C1468
- movs r0, 0x1
- b _080C1474
- .align 2, 0
-_080C1460: .4byte gUnknown_20399D8
-_080C1464: .4byte 0x00001cdc
-_080C1468:
- adds r0, 0x1
- strh r0, [r1]
- ldrh r0, [r1]
- bl sub_80C4C48
- movs r0, 0
-_080C1474:
- pop {r1}
- bx r1
- thumb_func_end sub_80C144C
-
- thumb_func_start sub_80C1478
-sub_80C1478: @ 80C1478
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r6, 0
- ldr r0, _080C1574 @ =gUnknown_20399D8
- mov r8, r0
- ldr r5, [r0]
- ldr r1, _080C1578 @ =0x00001cd4
- adds r0, r5, r1
- movs r1, 0x48
- strh r1, [r0]
- ldr r4, _080C157C @ =0xffff0000
- ldr r0, [sp]
- ands r0, r4
- orrs r0, r1
- str r0, [sp]
- ldr r3, _080C1580 @ =0x00001cce
- adds r2, r5, r3
- ldr r7, _080C1584 @ =0x00001cca
- adds r0, r5, r7
- ldrb r1, [r0]
- lsls r1, 2
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 3
- ldr r0, _080C1588 @ =0x00001cd6
- adds r3, r5, r0
- strh r1, [r3]
- lsls r1, 16
- ldr r2, _080C158C @ =0x0000ffff
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldr r1, _080C1590 @ =0x00001cd8
- adds r0, r5, r1
- movs r1, 0xA8
- strh r1, [r0]
- ldr r0, [sp, 0x4]
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x4]
- ldrh r1, [r3]
- adds r1, 0x20
- ldr r3, _080C1594 @ =0x00001cda
- adds r0, r5, r3
- strh r1, [r0]
- ands r1, r2
- lsls r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r0, _080C1598 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080C150E
- adds r1, r7, 0
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C150E
- movs r0, 0xF5
- bl PlaySE
- mov r2, r8
- ldr r1, [r2]
- adds r1, r7
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- movs r6, 0x1
-_080C150E:
- ldr r0, _080C1598 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C1542
- ldr r4, _080C1574 @ =gUnknown_20399D8
- ldr r0, [r4]
- ldr r3, _080C1584 @ =0x00001cca
- adds r1, r0, r3
- ldr r2, _080C159C @ =0x00001ccc
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _080C1542
- movs r0, 0xF5
- bl PlaySE
- ldr r1, [r4]
- ldr r3, _080C1584 @ =0x00001cca
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r6, 0x1
-_080C1542:
- ldr r2, _080C1598 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- ldr r4, _080C1574 @ =gUnknown_20399D8
- cmp r0, 0
- beq _080C15A8
- ldr r0, [r4]
- ldr r1, _080C15A0 @ =0x00001cdc
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x6
- bne _080C15A8
- movs r0, 0xC7
- bl PlaySE
- ldr r0, [r4]
- ldr r2, _080C1584 @ =0x00001cca
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _080C15A4 @ =0x00001ccb
- adds r0, r3
- strb r1, [r0]
- movs r0, 0x1
- b _080C16AC
- .align 2, 0
-_080C1574: .4byte gUnknown_20399D8
-_080C1578: .4byte 0x00001cd4
-_080C157C: .4byte 0xffff0000
-_080C1580: .4byte 0x00001cce
-_080C1584: .4byte 0x00001cca
-_080C1588: .4byte 0x00001cd6
-_080C158C: .4byte 0x0000ffff
-_080C1590: .4byte 0x00001cd8
-_080C1594: .4byte 0x00001cda
-_080C1598: .4byte gMain
-_080C159C: .4byte 0x00001ccc
-_080C15A0: .4byte 0x00001cdc
-_080C15A4: .4byte 0x00001ccb
-_080C15A8:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080C1604
- ldr r0, [r4]
- ldr r2, _080C15FC @ =0x00001ccb
- adds r1, r0, r2
- ldrb r1, [r1]
- subs r2, 0x1
- adds r0, r2
- strb r1, [r0]
- ldr r3, _080C1600 @ =gUnknown_20399D4
- ldr r0, [r4]
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 4
- adds r0, 0x26
- ldr r1, [r3]
- adds r1, r0
- movs r0, 0
- bl sub_80C0CC8
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C48BC
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C4960
- movs r0, 0x1
- b _080C16AC
- .align 2, 0
-_080C15FC: .4byte 0x00001ccb
-_080C1600: .4byte gUnknown_20399D4
-_080C1604:
- cmp r6, 0
- beq _080C166C
- ldr r2, _080C168C @ =gUnknown_20399D4
- ldr r5, _080C1690 @ =gUnknown_20399D8
- ldr r0, [r5]
- ldr r4, _080C1694 @ =0x00001cca
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 4
- adds r0, 0x26
- ldr r1, [r2]
- adds r1, r0
- movs r0, 0
- bl sub_80C0CC8
- ldr r0, _080C1698 @ =gUnknown_8418EB0
- bl sub_80C4E74
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C48BC
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C4960
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
-_080C166C:
- ldr r0, _080C1690 @ =gUnknown_20399D8
- ldr r4, [r0]
- ldr r3, _080C1694 @ =0x00001cca
- adds r4, r3
- bl sub_80C0E34
- ldrb r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _080C169C
- movs r0, 0x1
- bl sub_80C4324
- b _080C16A2
- .align 2, 0
-_080C168C: .4byte gUnknown_20399D4
-_080C1690: .4byte gUnknown_20399D8
-_080C1694: .4byte 0x00001cca
-_080C1698: .4byte gUnknown_8418EB0
-_080C169C:
- movs r0, 0
- bl sub_80C4324
-_080C16A2:
- movs r0, 0x1
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
-_080C16AC:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C1478
-
- thumb_func_start sub_80C16B8
-sub_80C16B8: @ 80C16B8
- ldr r1, _080C16C8 @ =gUnknown_20399D8
- ldr r1, [r1]
- ldr r2, _080C16CC @ =0x00001cd6
- adds r1, r2
- ldrh r1, [r1]
- adds r1, 0x10
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080C16C8: .4byte gUnknown_20399D8
-_080C16CC: .4byte 0x00001cd6
- thumb_func_end sub_80C16B8
-
- thumb_func_start sub_80C16D0
-sub_80C16D0: @ 80C16D0
- push {lr}
- ldr r0, _080C16EC @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r2, _080C16F0 @ =0x00001cc9
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C1708
- cmp r0, 0x1
- bgt _080C16F4
- cmp r0, 0
- beq _080C16FA
- b _080C1732
- .align 2, 0
-_080C16EC: .4byte gUnknown_20399D8
-_080C16F0: .4byte 0x00001cc9
-_080C16F4:
- cmp r0, 0x2
- beq _080C171C
- b _080C1732
-_080C16FA:
- ldr r0, _080C1700 @ =gUnknown_83EF3C4
- ldr r2, _080C1704 @ =0x000014b0
- b _080C170C
- .align 2, 0
-_080C1700: .4byte gUnknown_83EF3C4
-_080C1704: .4byte 0x000014b0
-_080C1708:
- ldr r0, _080C1714 @ =gUnknown_83EF450
- ldr r2, _080C1718 @ =0x000018bc
-_080C170C:
- adds r1, r2
- bl LZ77UnCompWram
- b _080C1736
- .align 2, 0
-_080C1714: .4byte gUnknown_83EF450
-_080C1718: .4byte 0x000018bc
-_080C171C:
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x2
- bl sub_80C1754
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x3
- bl sub_80C1754
- b _080C1736
-_080C1732:
- movs r0, 0x1
- b _080C1746
-_080C1736:
- ldr r0, _080C174C @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C1750 @ =0x00001cc9
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C1746:
- pop {r1}
- bx r1
- .align 2, 0
-_080C174C: .4byte gUnknown_20399D8
-_080C1750: .4byte 0x00001cc9
- thumb_func_end sub_80C16D0
-
- thumb_func_start sub_80C1754
-sub_80C1754: @ 80C1754
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- bl sub_80C176C
- pop {r0}
- bx r0
- thumb_func_end sub_80C1754
-
- thumb_func_start sub_80C176C
-sub_80C176C: @ 80C176C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r3, _080C1848 @ =gUnknown_20399D8
- mov r8, r3
- lsls r5, r0, 6
- adds r5, r0
- lsls r5, 2
- subs r5, r0
- lsls r5, 2
- ldr r4, _080C184C @ =0x000014b0
- adds r0, r5, r4
- ldr r3, [r3]
- adds r0, r3, r0
- str r0, [sp, 0x18]
- movs r4, 0x80
- lsls r4, 3
- add r0, sp, 0x18
- lsrs r6, r1, 16
- mov r9, r6
- orrs r1, r4
- str r1, [r0, 0x4]
- ldr r1, _080C1850 @ =gUnknown_83EF384
- str r1, [sp, 0x20]
- ldr r4, _080C1854 @ =0xffff0000
- add r6, sp, 0x20
- ldr r1, [r6, 0x4]
- ands r1, r4
- orrs r1, r2
- str r1, [r6, 0x4]
- mov r1, sp
- movs r4, 0
- mov r7, r9
- strh r7, [r1]
- strh r2, [r1, 0x2]
- ldr r1, _080C1858 @ =gUnknown_83F1B24
- str r1, [sp, 0x4]
- ldr r1, _080C185C @ =gUnknown_83F1B38
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r1, _080C1860 @ =gDummySpriteAffineAnimTable
- str r1, [sp, 0x10]
- ldr r1, _080C1864 @ =sub_80C16B8
- str r1, [sp, 0x14]
- adds r3, r5
- ldr r4, _080C1868 @ =0x000018b4
- adds r1, r3, r4
- strh r7, [r1]
- ldr r1, _080C186C @ =0x000018b6
- adds r3, r1
- strh r2, [r3]
- bl LoadSpriteSheet
- adds r0, r6, 0
- bl LoadSpritePalette
- mov r3, r8
- ldr r2, [r3]
- adds r0, r2, r5
- adds r4, 0x4
- adds r0, r4
- movs r6, 0
- ldrsh r1, [r0, r6]
- ldr r7, _080C1870 @ =0x00001cce
- adds r0, r2, r7
- ldr r3, _080C1874 @ =0x00001cca
- adds r2, r3
- ldrb r2, [r2]
- lsls r2, 2
- ldrh r0, [r0]
- adds r2, r0
- lsls r2, 19
- asrs r2, 16
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r4, r8
- ldr r2, [r4]
- ldr r6, _080C1878 @ =0x000018b0
- adds r2, r6
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C187C @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1848: .4byte gUnknown_20399D8
-_080C184C: .4byte 0x000014b0
-_080C1850: .4byte gUnknown_83EF384
-_080C1854: .4byte 0xffff0000
-_080C1858: .4byte gUnknown_83F1B24
-_080C185C: .4byte gUnknown_83F1B38
-_080C1860: .4byte gDummySpriteAffineAnimTable
-_080C1864: .4byte sub_80C16B8
-_080C1868: .4byte 0x000018b4
-_080C186C: .4byte 0x000018b6
-_080C1870: .4byte 0x00001cce
-_080C1874: .4byte 0x00001cca
-_080C1878: .4byte 0x000018b0
-_080C187C: .4byte gSprites
- thumb_func_end sub_80C176C
-
- thumb_func_start sub_80C1880
-sub_80C1880: @ 80C1880
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _080C18D0 @ =gUnknown_20399D8
-_080C1886:
- ldr r1, [r6]
- lsls r0, r5, 6
- adds r0, r5
- lsls r0, 2
- subs r0, r5
- lsls r4, r0, 2
- ldr r0, _080C18D4 @ =0x000018b0
- adds r1, r0
- adds r1, r4
- ldr r0, [r1]
- cmp r0, 0
- beq _080C18BE
- bl DestroySprite
- ldr r0, [r6]
- adds r0, r4
- ldr r1, _080C18D8 @ =0x000018b4
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r6]
- adds r0, r4
- ldr r1, _080C18DC @ =0x000018b6
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080C18BE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _080C1886
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C18D0: .4byte gUnknown_20399D8
-_080C18D4: .4byte 0x000018b0
-_080C18D8: .4byte 0x000018b4
-_080C18DC: .4byte 0x000018b6
- thumb_func_end sub_80C1880
-
- thumb_func_start sub_80C18E0
-sub_80C18E0: @ 80C18E0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- ldr r3, _080C1904 @ =gUnknown_83F1B3C
- adds r5, r3, 0
- adds r5, 0x8
-_080C18EE:
- lsls r0, r2, 1
- adds r0, r2
- lsls r1, r0, 2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r4
- bne _080C1908
- adds r0, r1, r5
- ldr r0, [r0]
- b _080C1914
- .align 2, 0
-_080C1904: .4byte gUnknown_83F1B3C
-_080C1908:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bls _080C18EE
- ldr r0, _080C191C @ =gUnknown_8418EC3
-_080C1914:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C191C: .4byte gUnknown_8418EC3
- thumb_func_end sub_80C18E0
-
- thumb_func_start sub_80C1920
-sub_80C1920: @ 80C1920
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- ldr r3, _080C1940 @ =gUnknown_83F1B3C
- adds r5, r3, 0x4
-_080C192C:
- lsls r0, r2, 1
- adds r0, r2
- lsls r1, r0, 2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r4
- bne _080C1944
- adds r0, r1, r5
- ldr r0, [r0]
- b _080C1950
- .align 2, 0
-_080C1940: .4byte gUnknown_83F1B3C
-_080C1944:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bls _080C192C
- ldr r0, _080C1958 @ =gUnknown_8418EC3
-_080C1950:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C1958: .4byte gUnknown_8418EC3
- thumb_func_end sub_80C1920
-
- thumb_func_start sub_80C195C
-sub_80C195C: @ 80C195C
- push {r4-r6,lr}
- adds r6, r2, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _080C19E0 @ =gUnknown_20399DC
- ldr r0, _080C19E4 @ =0x00003e28
- bl AllocZeroed
- str r0, [r4]
- bl sub_80C3580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB8
- bne _080C197C
- movs r0, 0xBC
-_080C197C:
- bl sub_80F8544
- ldr r1, [r4]
- movs r2, 0xF5
- lsls r2, 6
- adds r1, r2
- str r0, [r1]
- cmp r0, 0
- bne _080C199E
- movs r0, 0x8A
- bl sub_80F8544
- ldr r1, [r4]
- movs r3, 0xF5
- lsls r3, 6
- adds r1, r3
- str r0, [r1]
-_080C199E:
- ldr r0, [r4]
- ldr r1, _080C19E8 @ =0x00003d48
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r4]
- ldr r3, _080C19EC @ =0x00003d4a
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- subs r3, 0x6
- adds r1, r0, r3
- str r6, [r1]
- ldr r1, _080C19F0 @ =0x00003e14
- adds r0, r1
- strh r2, [r0]
- movs r0, 0
- bl sub_80C4AAC
- bl sub_80C4BE4
- bl sub_80C0CA0
- ldr r1, _080C19F4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C19F8 @ =sub_80C1A94
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C19E0: .4byte gUnknown_20399DC
-_080C19E4: .4byte 0x00003e28
-_080C19E8: .4byte 0x00003d48
-_080C19EC: .4byte 0x00003d4a
-_080C19F0: .4byte 0x00003e14
-_080C19F4: .4byte gTasks
-_080C19F8: .4byte sub_80C1A94
- thumb_func_end sub_80C195C
-
- thumb_func_start sub_80C19FC
-sub_80C19FC: @ 80C19FC
- push {lr}
- ldr r0, _080C1A18 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r2, _080C1A1C @ =0x00003d4a
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C1A3A
- cmp r0, 0x1
- bgt _080C1A20
- cmp r0, 0
- beq _080C1A2A
- b _080C1A72
- .align 2, 0
-_080C1A18: .4byte gUnknown_20399DC
-_080C1A1C: .4byte 0x00003d4a
-_080C1A20:
- cmp r0, 0x2
- beq _080C1A50
- cmp r0, 0x3
- beq _080C1A5E
- b _080C1A72
-_080C1A2A:
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl LZ77UnCompWram
- b _080C1A76
-_080C1A3A:
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- movs r2, 0xE1
- lsls r2, 6
- adds r1, r2
- bl LZ77UnCompWram
- b _080C1A76
-_080C1A50:
- movs r2, 0xE1
- lsls r2, 6
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTiles
- b _080C1A76
-_080C1A5E:
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- movs r1, 0xD0
- movs r2, 0x60
- bl LoadPalette
- b _080C1A76
-_080C1A72:
- movs r0, 0x1
- b _080C1A86
-_080C1A76:
- ldr r0, _080C1A8C @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1A90 @ =0x00003d4a
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C1A86:
- pop {r1}
- bx r1
- .align 2, 0
-_080C1A8C: .4byte gUnknown_20399DC
-_080C1A90: .4byte 0x00003d4a
- thumb_func_end sub_80C19FC
-
- thumb_func_start sub_80C1A94
-sub_80C1A94: @ 80C1A94
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C1AB8 @ =gUnknown_20399DC
- ldr r0, [r1]
- ldr r3, _080C1ABC @ =0x00003d48
- adds r0, r3
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x9
- bls _080C1AAC
- b _080C1BD0
-_080C1AAC:
- lsls r0, 2
- ldr r1, _080C1AC0 @ =_080C1AC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C1AB8: .4byte gUnknown_20399DC
-_080C1ABC: .4byte 0x00003d48
-_080C1AC0: .4byte _080C1AC4
- .align 2, 0
-_080C1AC4:
- .4byte _080C1AEC
- .4byte _080C1B04
- .4byte _080C1B12
- .4byte _080C1B34
- .4byte _080C1B54
- .4byte _080C1B5C
- .4byte _080C1B74
- .4byte _080C1B84
- .4byte _080C1B9C
- .4byte _080C1BBC
-_080C1AEC:
- bl sub_80C08E0
- ldr r0, _080C1AFC @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1B00 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1AFC: .4byte gUnknown_20399DC
-_080C1B00: .4byte 0x00003d48
-_080C1B04:
- bl sub_80C19FC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C1BD0
- b _080C1BC2
-_080C1B12:
- bl sub_80C1E94
- ldr r0, _080C1B28 @ =gUnknown_8418E9E
- bl sub_80C4E74
- ldr r0, _080C1B2C @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1B30 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1B28: .4byte gUnknown_8418E9E
-_080C1B2C: .4byte gUnknown_20399DC
-_080C1B30: .4byte 0x00003d48
-_080C1B34:
- ldr r1, [r4]
- movs r3, 0xE1
- lsls r3, 6
- adds r1, r3
- movs r0, 0x2
- bl sub_80C1E78
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- ldr r0, _080C1B50 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1B50: .4byte 0x00003d48
-_080C1B54:
- movs r0, 0x2
- bl ShowBg
- b _080C1BC2
-_080C1B5C:
- bl sub_80C08F4
- ldr r0, _080C1B6C @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1B70 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1B6C: .4byte gUnknown_20399DC
-_080C1B70: .4byte 0x00003d48
-_080C1B74:
- movs r0, 0
- bl sub_80C1F80
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C1BD0
- b _080C1BC2
-_080C1B84:
- ldr r0, _080C1B94 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C1B98 @ =sub_80C1BE0
- str r0, [r1]
- b _080C1BD0
- .align 2, 0
-_080C1B94: .4byte gTasks
-_080C1B98: .4byte sub_80C1BE0
-_080C1B9C:
- movs r0, 0x1
- bl sub_80C1F80
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C1BD0
- ldr r0, _080C1BB4 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1BB8 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1BB4: .4byte gUnknown_20399DC
-_080C1BB8: .4byte 0x00003d48
-_080C1BBC:
- adds r0, r2, 0
- bl sub_80C1E14
-_080C1BC2:
- ldr r0, _080C1BD8 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r3, _080C1BDC @ =0x00003d48
- adds r1, r3
-_080C1BCA:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C1BD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1BD8: .4byte gUnknown_20399DC
-_080C1BDC: .4byte 0x00003d48
- thumb_func_end sub_80C1A94
-
- thumb_func_start sub_80C1BE0
-sub_80C1BE0: @ 80C1BE0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C1C08 @ =gUnknown_20399DC
- ldr r0, [r1]
- ldr r3, _080C1C0C @ =0x00003d49
- adds r0, r3
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x4
- bls _080C1BFE
- b _080C1DF0
-_080C1BFE:
- lsls r0, 2
- ldr r1, _080C1C10 @ =_080C1C14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C1C08: .4byte gUnknown_20399DC
-_080C1C0C: .4byte 0x00003d49
-_080C1C10: .4byte _080C1C14
- .align 2, 0
-_080C1C14:
- .4byte _080C1C28
- .4byte _080C1C58
- .4byte _080C1C80
- .4byte _080C1CA8
- .4byte _080C1DA0
-_080C1C28:
- ldr r1, [r3]
- ldr r0, _080C1C48 @ =0x00003e0e
- adds r2, r1, r0
- ldr r0, _080C1C4C @ =0x00000133
- strh r0, [r2]
- ldr r3, _080C1C50 @ =0x00003e10
- adds r2, r1, r3
- subs r0, 0x33
- strh r0, [r2]
- ldr r0, _080C1C54 @ =0x00003e12
- adds r2, r1, r0
- movs r0, 0xF0
- strh r0, [r2]
- subs r3, 0xC7
- b _080C1DD6
- .align 2, 0
-_080C1C48: .4byte 0x00003e0e
-_080C1C4C: .4byte 0x00000133
-_080C1C50: .4byte 0x00003e10
-_080C1C54: .4byte 0x00003e12
-_080C1C58:
- ldr r0, [r3]
- ldr r1, _080C1C7C @ =0x00003d4c
- adds r0, r1
- ldrb r1, [r0]
- adds r2, r1, 0x1
- strb r2, [r0]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x28
- bhi _080C1C6E
- b _080C1DFE
-_080C1C6E:
- ldr r0, [r3]
- ldr r1, _080C1C7C @ =0x00003d4c
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r1, [r3]
- b _080C1DD4
- .align 2, 0
-_080C1C7C: .4byte 0x00003d4c
-_080C1C80:
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x2
- bl PutWindowTilemap
- ldr r0, _080C1CA0 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1CA4 @ =0x00003d49
- adds r1, r0
- b _080C1DD8
- .align 2, 0
-_080C1CA0: .4byte gUnknown_20399DC
-_080C1CA4: .4byte 0x00003d49
-_080C1CA8:
- ldr r7, _080C1D10 @ =gUnknown_20399DC
- ldr r2, [r7]
- ldr r1, _080C1D14 @ =0x00003d4c
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x19
- bls _080C1D24
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C1920
- ldr r1, _080C1D18 @ =gUnknown_83F1A94
- str r1, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x2
- movs r2, 0x4
- movs r3, 0
- bl AddTextPrinterParameterized3
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C18E0
- ldr r1, _080C1D1C @ =gUnknown_83F1A90
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x2
- movs r2, 0x2
- movs r3, 0xE
- bl AddTextPrinterParameterized3
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, [r7]
- ldr r3, _080C1D20 @ =0x00003d49
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C1D80
- .align 2, 0
-_080C1D10: .4byte gUnknown_20399DC
-_080C1D14: .4byte 0x00003d4c
-_080C1D18: .4byte gUnknown_83F1A94
-_080C1D1C: .4byte gUnknown_83F1A90
-_080C1D20: .4byte 0x00003d49
-_080C1D24:
- cmp r0, 0x14
- bls _080C1D80
- ldr r6, _080C1D88 @ =0x00003e0e
- adds r1, r2, r6
- ldrh r0, [r1]
- subs r0, 0x6
- strh r0, [r1]
- ldr r4, _080C1D8C @ =0x00003e10
- adds r1, r2, r4
- ldrh r0, [r1]
- subs r0, 0x5
- strh r0, [r1]
- ldr r0, _080C1D90 @ =0x00003e12
- mov r8, r0
- adds r1, r2, r0
- ldrh r0, [r1]
- subs r0, 0x5
- strh r0, [r1]
- movs r1, 0xF5
- lsls r1, 6
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- ldr r5, _080C1D94 @ =0x00003d4e
- adds r1, r2, r5
- movs r2, 0x30
- bl CpuSet
- ldr r1, [r7]
- adds r0, r1, r5
- adds r6, r1, r6
- ldrh r2, [r6]
- adds r4, r1, r4
- ldrh r3, [r4]
- add r1, r8
- ldrh r1, [r1]
- str r1, [sp]
- movs r1, 0x30
- bl TintPalette_CustomTone
- ldr r0, [r7]
- adds r0, r5
- movs r1, 0xD0
- movs r2, 0x60
- bl LoadPalette
-_080C1D80:
- ldr r0, _080C1D98 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r3, _080C1D9C @ =0x00003d4c
- b _080C1DD6
- .align 2, 0
-_080C1D88: .4byte 0x00003e0e
-_080C1D8C: .4byte 0x00003e10
-_080C1D90: .4byte 0x00003e12
-_080C1D94: .4byte 0x00003d4e
-_080C1D98: .4byte gUnknown_20399DC
-_080C1D9C: .4byte 0x00003d4c
-_080C1DA0:
- ldr r0, _080C1DE0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080C1DB4
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1DFE
-_080C1DB4:
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r2, _080C1DE4 @ =gUnknown_20399DC
- ldr r1, [r2]
- ldr r0, _080C1DE8 @ =0x00003d48
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, [r2]
-_080C1DD4:
- ldr r3, _080C1DEC @ =0x00003d49
-_080C1DD6:
- adds r1, r3
-_080C1DD8:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C1DFE
- .align 2, 0
-_080C1DE0: .4byte gMain
-_080C1DE4: .4byte gUnknown_20399DC
-_080C1DE8: .4byte 0x00003d48
-_080C1DEC: .4byte 0x00003d49
-_080C1DF0:
- ldr r0, _080C1E0C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C1E10 @ =sub_80C1A94
- str r0, [r1]
-_080C1DFE:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1E0C: .4byte gTasks
-_080C1E10: .4byte sub_80C1A94
- thumb_func_end sub_80C1BE0
-
- thumb_func_start sub_80C1E14
-sub_80C1E14: @ 80C1E14
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C1E68 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r4, _080C1E6C @ =gUnknown_20399DC
- ldr r0, [r4]
- ldr r2, _080C1E70 @ =0x00003d44
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x2
- bl HideBg
- movs r0, 0
- bl sub_80C4B30
- bl sub_80C0B18
- bl sub_80C0BB0
- bl sub_80C0AB8
- bl sub_80C0B9C
- ldr r0, _080C1E74 @ =gUnknown_8418E8D
- bl sub_80C4E74
- ldr r0, [r4]
- cmp r0, 0
- beq _080C1E60
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C1E60:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1E68: .4byte gTasks
-_080C1E6C: .4byte gUnknown_20399DC
-_080C1E70: .4byte 0x00003d44
-_080C1E74: .4byte gUnknown_8418E8D
- thumb_func_end sub_80C1E14
-
- thumb_func_start sub_80C1E78
-sub_80C1E78: @ 80C1E78
- push {lr}
- sub sp, 0x8
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80C1E78
-
- thumb_func_start sub_80C1E94
-sub_80C1E94: @ 80C1E94
- push {r4-r6,lr}
- bl sub_80C4BE4
- movs r0, 0
- movs r1, 0x11
- movs r2, 0xC0
- bl sub_80C4C2C
- ldr r5, _080C1F58 @ =gUnknown_20399DC
- ldr r0, [r5]
- ldr r1, _080C1F5C @ =0x00003e14
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80C4C48
- movs r0, 0
- movs r1, 0xD
- bl sub_80C4C74
- movs r0, 0x3B
- bl sub_80C4C88
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
- bl sub_80C3508
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_80C3514
- lsls r0, 16
- ldr r5, [r5]
- lsls r4, 3
- adds r4, 0x20
- ldr r2, _080C1F60 @ =0x00003e16
- adds r1, r5, r2
- strh r4, [r1]
- lsrs r0, 13
- adds r0, 0x18
- ldr r3, _080C1F64 @ =0x00003e18
- adds r2, r5, r3
- strh r0, [r2]
- ldrh r0, [r1]
- adds r0, 0x8
- ldr r4, _080C1F68 @ =0x00003e1a
- adds r3, r5, r4
- strh r0, [r3]
- ldrh r0, [r2]
- adds r0, 0x8
- ldr r6, _080C1F6C @ =0x00003e1c
- adds r4, r5, r6
- strh r0, [r4]
- ldrh r1, [r1]
- movs r0, 0x10
- subs r0, r1
- cmp r0, 0
- bge _080C1F0E
- adds r0, 0x7
-_080C1F0E:
- asrs r1, r0, 3
- ldr r6, _080C1F70 @ =0x00003e1e
- adds r0, r5, r6
- strh r1, [r0]
- ldrh r1, [r2]
- movs r0, 0x20
- subs r0, r1
- cmp r0, 0
- bge _080C1F22
- adds r0, 0x7
-_080C1F22:
- asrs r1, r0, 3
- ldr r2, _080C1F74 @ =0x00003e20
- adds r0, r5, r2
- strh r1, [r0]
- ldrh r1, [r3]
- movs r0, 0xE0
- subs r0, r1
- cmp r0, 0
- bge _080C1F36
- adds r0, 0x7
-_080C1F36:
- asrs r1, r0, 3
- ldr r3, _080C1F78 @ =0x00003e22
- adds r0, r5, r3
- strh r1, [r0]
- ldrh r1, [r4]
- movs r0, 0x88
- subs r0, r1
- cmp r0, 0
- bge _080C1F4A
- adds r0, 0x7
-_080C1F4A:
- asrs r1, r0, 3
- ldr r4, _080C1F7C @ =0x00003e24
- adds r0, r5, r4
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1F58: .4byte gUnknown_20399DC
-_080C1F5C: .4byte 0x00003e14
-_080C1F60: .4byte 0x00003e16
-_080C1F64: .4byte 0x00003e18
-_080C1F68: .4byte 0x00003e1a
-_080C1F6C: .4byte 0x00003e1c
-_080C1F70: .4byte 0x00003e1e
-_080C1F74: .4byte 0x00003e20
-_080C1F78: .4byte 0x00003e22
-_080C1F7C: .4byte 0x00003e24
- thumb_func_end sub_80C1E94
-
- thumb_func_start sub_80C1F80
-sub_80C1F80: @ 80C1F80
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- cmp r0, 0
- bne _080C2014
- ldr r1, _080C1FF0 @ =gUnknown_20399DC
- ldr r2, [r1]
- ldr r0, _080C1FF4 @ =0x00003d4b
- adds r3, r2, r0
- ldrb r0, [r3]
- adds r6, r1, 0
- cmp r0, 0x7
- bhi _080C2024
- ldr r4, _080C1FF8 @ =0x00003e16
- adds r1, r2, r4
- adds r4, 0x8
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r4
- strh r0, [r1]
- ldr r0, _080C1FFC @ =0x00003e18
- adds r1, r2, r0
- ldr r4, _080C2000 @ =0x00003e20
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r4
- strh r0, [r1]
- ldr r0, _080C2004 @ =0x00003e1a
- adds r1, r2, r0
- ldr r4, _080C2008 @ =0x00003e22
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r4
- strh r0, [r1]
- ldr r0, _080C200C @ =0x00003e1c
- adds r1, r2, r0
- ldr r4, _080C2010 @ =0x00003e24
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- ldr r0, [r6]
- subs r4, 0x10
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0x5
- bhi _080C2086
- adds r0, 0x1
- b _080C2084
- .align 2, 0
-_080C1FF0: .4byte gUnknown_20399DC
-_080C1FF4: .4byte 0x00003d4b
-_080C1FF8: .4byte 0x00003e16
-_080C1FFC: .4byte 0x00003e18
-_080C2000: .4byte 0x00003e20
-_080C2004: .4byte 0x00003e1a
-_080C2008: .4byte 0x00003e22
-_080C200C: .4byte 0x00003e1c
-_080C2010: .4byte 0x00003e24
-_080C2014:
- ldr r1, _080C2028 @ =gUnknown_20399DC
- ldr r3, [r1]
- ldr r0, _080C202C @ =0x00003d4b
- adds r5, r3, r0
- ldrb r0, [r5]
- adds r6, r1, 0
- cmp r0, 0
- bne _080C2030
-_080C2024:
- movs r0, 0x1
- b _080C20DE
- .align 2, 0
-_080C2028: .4byte gUnknown_20399DC
-_080C202C: .4byte 0x00003d4b
-_080C2030:
- ldr r1, _080C20E8 @ =0x00003e16
- adds r2, r3, r1
- ldr r4, _080C20EC @ =0x00003e1e
- adds r1, r3, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r0, _080C20F0 @ =0x00003e18
- adds r2, r3, r0
- adds r4, 0x2
- adds r1, r3, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r0, _080C20F4 @ =0x00003e1a
- adds r2, r3, r0
- adds r4, 0x2
- adds r1, r3, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r0, _080C20F8 @ =0x00003e1c
- adds r2, r3, r0
- adds r4, 0x2
- adds r1, r3, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldrb r0, [r5]
- subs r0, 0x1
- strb r0, [r5]
- ldr r0, [r6]
- ldr r2, _080C20FC @ =0x00003e14
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _080C2086
- subs r0, 0x1
-_080C2084:
- strh r0, [r1]
-_080C2086:
- ldr r4, [r6]
- ldr r1, _080C20E8 @ =0x00003e16
- adds r0, r4, r1
- ldrh r0, [r0]
- ldr r5, _080C2100 @ =0xffff0000
- ldr r2, [sp]
- ands r2, r5
- orrs r2, r0
- str r2, [sp]
- adds r1, 0x2
- adds r0, r4, r1
- ldrh r1, [r0]
- lsls r1, 16
- ldr r3, _080C2104 @ =0x0000ffff
- adds r0, r3, 0
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldr r2, _080C20F4 @ =0x00003e1a
- adds r4, r2
- ldrh r0, [r4]
- ldr r1, [sp, 0x4]
- ands r1, r5
- orrs r1, r0
- str r1, [sp, 0x4]
- ldr r0, [r6]
- ldr r4, _080C20F8 @ =0x00003e1c
- adds r0, r4
- ldrh r0, [r0]
- lsls r0, 16
- ands r3, r1
- orrs r3, r0
- str r3, [sp, 0x4]
- movs r0, 0x1
- mov r1, sp
- bl sub_80C4CF0
- ldr r0, [r6]
- ldr r1, _080C20FC @ =0x00003e14
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80C4C48
- movs r0, 0
-_080C20DE:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080C20E8: .4byte 0x00003e16
-_080C20EC: .4byte 0x00003e1e
-_080C20F0: .4byte 0x00003e18
-_080C20F4: .4byte 0x00003e1a
-_080C20F8: .4byte 0x00003e1c
-_080C20FC: .4byte 0x00003e14
-_080C2100: .4byte 0xffff0000
-_080C2104: .4byte 0x0000ffff
- thumb_func_end sub_80C1F80
-
- thumb_func_start nullsub_63
-nullsub_63: @ 80C2108
- bx lr
- thumb_func_end nullsub_63
-
- thumb_func_start sub_80C210C
-sub_80C210C: @ 80C210C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r5, r0, 0
- lsls r5, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080C21E0 @ =gUnknown_20399E0
- mov r9, r0
- ldr r6, [r0]
- lsrs r5, 22
- adds r6, r5
- ldr r0, [r6]
- str r0, [sp, 0x18]
- movs r3, 0x80
- lsls r3, 3
- mov r10, r3
- add r0, sp, 0x18
- lsls r3, r1, 16
- mov r4, r10
- orrs r3, r4
- str r3, [r0, 0x4]
- ldr r3, _080C21E4 @ =gUnknown_83EF3A4
- str r3, [sp, 0x20]
- ldr r4, _080C21E8 @ =0xffff0000
- add r7, sp, 0x20
- mov r8, r7
- ldr r3, [r7, 0x4]
- ands r3, r4
- orrs r3, r2
- str r3, [r7, 0x4]
- mov r3, sp
- movs r4, 0
- strh r1, [r3]
- strh r2, [r3, 0x2]
- ldr r3, _080C21EC @ =gUnknown_83F1C20
- str r3, [sp, 0x4]
- ldr r3, _080C21F0 @ =gUnknown_83F1C30
- str r3, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r3, _080C21F4 @ =gDummySpriteAffineAnimTable
- str r3, [sp, 0x10]
- ldr r3, _080C21F8 @ =nullsub_63
- str r3, [sp, 0x14]
- ldr r3, [r6]
- movs r4, 0x81
- lsls r4, 3
- adds r3, r4
- strh r1, [r3]
- ldr r1, [r6]
- ldr r7, _080C21FC @ =0x0000040a
- adds r1, r7
- strh r2, [r1]
- bl LoadSpriteSheet
- mov r0, r8
- bl LoadSpritePalette
- mov r1, r9
- ldr r0, [r1]
- adds r0, r5
- ldr r0, [r0]
- ldr r2, _080C2200 @ =0x00000404
- adds r1, r0, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- subs r4, 0x2
- adds r0, r4
- movs r7, 0
- ldrsh r2, [r0, r7]
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r2, r9
- ldr r1, [r2]
- adds r1, r5
- ldr r2, [r1]
- add r2, r10
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C2204 @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C21E0: .4byte gUnknown_20399E0
-_080C21E4: .4byte gUnknown_83EF3A4
-_080C21E8: .4byte 0xffff0000
-_080C21EC: .4byte gUnknown_83F1C20
-_080C21F0: .4byte gUnknown_83F1C30
-_080C21F4: .4byte gDummySpriteAffineAnimTable
-_080C21F8: .4byte nullsub_63
-_080C21FC: .4byte 0x0000040a
-_080C2200: .4byte 0x00000404
-_080C2204: .4byte gSprites
- thumb_func_end sub_80C210C
-
- thumb_func_start sub_80C2208
-sub_80C2208: @ 80C2208
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _080C22A4 @ =gUnknown_20399E0
- ldr r0, _080C22A8 @ =0x00000cd4
- bl AllocZeroed
- str r0, [r4]
- movs r6, 0
-_080C2224:
- ldr r0, _080C22AC @ =0x0000040c
- bl AllocZeroed
- adds r5, r0, 0
- ldr r7, _080C22A4 @ =gUnknown_20399E0
- ldr r4, [r7]
- lsls r0, r6, 2
- adds r4, r0
- str r5, [r4]
- adds r0, r6, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 19
- adds r0, 0x68
- ldr r1, _080C22B0 @ =0x00000404
- adds r5, r1
- strh r0, [r5]
- ldr r4, [r4]
- adds r0, r6, 0
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 18
- adds r0, 0x28
- ldr r2, _080C22B4 @ =0x00000406
- adds r4, r2
- strh r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _080C2224
- movs r0, 0
- bl sub_80C4AAC
- bl sub_80C4BE4
- bl sub_80C24BC
- movs r0, 0x1
- bl sub_80C0A88
- ldr r0, [r7]
- ldr r1, _080C22B8 @ =0x00000cc8
- adds r0, r1
- mov r2, r9
- str r2, [r0]
- ldr r1, _080C22BC @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C22C0 @ =sub_80C267C
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C22A4: .4byte gUnknown_20399E0
-_080C22A8: .4byte 0x00000cd4
-_080C22AC: .4byte 0x0000040c
-_080C22B0: .4byte 0x00000404
-_080C22B4: .4byte 0x00000406
-_080C22B8: .4byte 0x00000cc8
-_080C22BC: .4byte gTasks
-_080C22C0: .4byte sub_80C267C
- thumb_func_end sub_80C2208
-
- thumb_func_start sub_80C22C4
-sub_80C22C4: @ 80C22C4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r2, 0x6
- bne _080C2310
- movs r3, 0
- ldr r7, _080C230C @ =gUnknown_20399E0
- movs r6, 0x80
- lsls r6, 3
- movs r1, 0x1
- adds r0, r4, 0
- ands r0, r1
- lsls r4, r0, 2
- movs r5, 0x5
- negs r5, r5
-_080C22E6:
- ldr r0, [r7]
- lsls r1, r3, 2
- adds r0, r1
- ldr r0, [r0]
- adds r0, r6
- ldr r1, [r0]
- 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, 0x5
- bls _080C22E6
- b _080C2338
- .align 2, 0
-_080C230C: .4byte gUnknown_20399E0
-_080C2310:
- ldr r0, _080C2340 @ =gUnknown_20399E0
- ldr r0, [r0]
- lsls r1, r2, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 3
- adds r0, r1
- ldr r2, [r0]
- adds r2, 0x3E
- movs r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_080C2338:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2340: .4byte gUnknown_20399E0
- thumb_func_end sub_80C22C4
-
- thumb_func_start sub_80C2344
-sub_80C2344: @ 80C2344
- push {lr}
- ldr r0, _080C2360 @ =gUnknown_20399E0
- ldr r0, [r0]
- ldr r1, _080C2364 @ =0x00000ccd
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _080C2356
- b _080C249C
-_080C2356:
- lsls r0, 2
- ldr r1, _080C2368 @ =_080C236C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C2360: .4byte gUnknown_20399E0
-_080C2364: .4byte 0x00000ccd
-_080C2368: .4byte _080C236C
- .align 2, 0
-_080C236C:
- .4byte _080C2390
- .4byte _080C23B0
- .4byte _080C23D0
- .4byte _080C23F0
- .4byte _080C2410
- .4byte _080C2430
- .4byte _080C2450
- .4byte _080C2468
- .4byte _080C2484
-_080C2390:
- ldr r0, _080C23A8 @ =gUnknown_83F12CC
- ldr r1, _080C23AC @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1]
- bl LZ77UnCompWram
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x4
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C23A8: .4byte gUnknown_83F12CC
-_080C23AC: .4byte gUnknown_20399E0
-_080C23B0:
- ldr r0, _080C23C8 @ =gUnknown_83F1550
- ldr r1, _080C23CC @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- bl LZ77UnCompWram
- movs r0, 0x1
- movs r1, 0x5
- movs r2, 0x5
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C23C8: .4byte gUnknown_83F1550
-_080C23CC: .4byte gUnknown_20399E0
-_080C23D0:
- ldr r0, _080C23E8 @ =gUnknown_83F1738
- ldr r1, _080C23EC @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0x8]
- bl LZ77UnCompWram
- movs r0, 0x2
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C23E8: .4byte gUnknown_83F1738
-_080C23EC: .4byte gUnknown_20399E0
-_080C23F0:
- ldr r0, _080C2408 @ =gUnknown_83F13EC
- ldr r1, _080C240C @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0xC]
- bl LZ77UnCompWram
- movs r0, 0x3
- movs r1, 0x7
- movs r2, 0x7
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C2408: .4byte gUnknown_83F13EC
-_080C240C: .4byte gUnknown_20399E0
-_080C2410:
- ldr r0, _080C2428 @ =gUnknown_83F1640
- ldr r1, _080C242C @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0x10]
- bl LZ77UnCompWram
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x8
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C2428: .4byte gUnknown_83F1640
-_080C242C: .4byte gUnknown_20399E0
-_080C2430:
- ldr r0, _080C2448 @ =gUnknown_83F1804
- ldr r1, _080C244C @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0x14]
- bl LZ77UnCompWram
- movs r0, 0x5
- movs r1, 0x9
- movs r2, 0x9
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C2448: .4byte gUnknown_83F1804
-_080C244C: .4byte gUnknown_20399E0
-_080C2450:
- ldr r0, _080C2460 @ =gUnknown_83F0330
- ldr r1, _080C2464 @ =gUnknown_20399E0
- ldr r1, [r1]
- adds r1, 0x18
- bl LZ77UnCompWram
- b _080C24A0
- .align 2, 0
-_080C2460: .4byte gUnknown_83F0330
-_080C2464: .4byte gUnknown_20399E0
-_080C2468:
- ldr r0, _080C2478 @ =gUnknown_83F0E0C
- ldr r1, _080C247C @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r2, _080C2480 @ =0x00000818
- adds r1, r2
- bl LZ77UnCompWram
- b _080C24A0
- .align 2, 0
-_080C2478: .4byte gUnknown_83F0E0C
-_080C247C: .4byte gUnknown_20399E0
-_080C2480: .4byte 0x00000818
-_080C2484:
- ldr r0, _080C2498 @ =gUnknown_20399E0
- ldr r1, [r0]
- adds r1, 0x18
- movs r2, 0x80
- lsls r2, 4
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- b _080C24A0
- .align 2, 0
-_080C2498: .4byte gUnknown_20399E0
-_080C249C:
- movs r0, 0x1
- b _080C24B0
-_080C24A0:
- ldr r0, _080C24B4 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C24B8 @ =0x00000ccd
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C24B0:
- pop {r1}
- bx r1
- .align 2, 0
-_080C24B4: .4byte gUnknown_20399E0
-_080C24B8: .4byte 0x00000ccd
- thumb_func_end sub_80C2344
-
- thumb_func_start sub_80C24BC
-sub_80C24BC: @ 80C24BC
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080C252C @ =gUnknown_20399E0
- ldr r3, [r0]
- ldr r0, [r3]
- ldr r2, _080C2530 @ =0x00000404
- adds r0, r2
- ldrh r0, [r0]
- adds r0, 0x8
- lsls r0, 16
- ldr r4, _080C2534 @ =0xffff0000
- ldr r5, _080C2538 @ =0x0000ffff
- lsrs r0, 16
- movs r1, 0x80
- lsls r1, 13
- orrs r0, r1
- str r0, [sp]
- ldr r0, [r3, 0xC]
- adds r0, r2
- ldrh r1, [r0]
- subs r1, 0x8
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r4
- orrs r0, r1
- ands r0, r5
- movs r1, 0xA0
- lsls r1, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80C4C2C
- movs r0, 0x12
- movs r1, 0
- bl sub_80C4C74
- movs r0, 0x10
- bl sub_80C4C88
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C9C
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C252C: .4byte gUnknown_20399E0
-_080C2530: .4byte 0x00000404
-_080C2534: .4byte 0xffff0000
-_080C2538: .4byte 0x0000ffff
- thumb_func_end sub_80C24BC
-
- thumb_func_start sub_80C253C
-sub_80C253C: @ 80C253C
- push {lr}
- sub sp, 0x8
- ldr r0, _080C258C @ =gUnknown_83F1C34
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- bl sub_80C4BE4
- movs r0, 0x2
- movs r1, 0x29
- movs r2, 0x80
- bl sub_80C4C2C
- ldr r0, _080C2590 @ =gUnknown_20399E0
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 4
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80C4C48
- movs r0, 0x37
- movs r1, 0
- bl sub_80C4C74
- movs r0, 0x12
- bl sub_80C4C88
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C9C
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080C258C: .4byte gUnknown_83F1C34
-_080C2590: .4byte gUnknown_20399E0
- thumb_func_end sub_80C253C
-
- thumb_func_start sub_80C2594
-sub_80C2594: @ 80C2594
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C25B0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C25B4 @ =gUnknown_20399E0
- ldr r0, [r0]
- ldr r2, _080C25B8 @ =0x00000cc8
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C25B0: .4byte gTasks
-_080C25B4: .4byte gUnknown_20399E0
-_080C25B8: .4byte 0x00000cc8
- thumb_func_end sub_80C2594
-
- thumb_func_start sub_80C25BC
-sub_80C25BC: @ 80C25BC
- push {r4-r6,lr}
- bl sub_80C2604
- movs r5, 0
- ldr r6, _080C2600 @ =gUnknown_20399E0
-_080C25C6:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080C25DE
- bl Free
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080C25DE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080C25C6
- ldr r4, _080C2600 @ =gUnknown_20399E0
- ldr r0, [r4]
- cmp r0, 0
- beq _080C25F8
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C25F8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2600: .4byte gUnknown_20399E0
- thumb_func_end sub_80C25BC
-
- thumb_func_start sub_80C2604
-sub_80C2604: @ 80C2604
- push {r4-r7,lr}
- movs r5, 0
- ldr r7, _080C2670 @ =gUnknown_20399E0
- movs r6, 0x80
- lsls r6, 3
-_080C260E:
- ldr r2, [r7]
- lsls r4, r5, 2
- adds r2, r4
- ldr r1, [r2]
- adds r0, r1, r6
- ldr r0, [r0]
- ldrh r0, [r0, 0x20]
- ldr r3, _080C2674 @ =0x00000404
- adds r1, r3
- strh r0, [r1]
- ldr r1, [r2]
- adds r0, r1, r6
- ldr r0, [r0]
- ldrh r0, [r0, 0x22]
- adds r3, 0x2
- adds r1, r3
- strh r0, [r1]
- ldr r0, [r2]
- adds r0, r6
- ldr r0, [r0]
- cmp r0, 0
- beq _080C2660
- bl DestroySprite
- ldr r0, [r7]
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x81
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r7]
- adds r0, r4
- ldr r0, [r0]
- ldr r3, _080C2678 @ =0x0000040a
- adds r0, r3
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080C2660:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080C260E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2670: .4byte gUnknown_20399E0
-_080C2674: .4byte 0x00000404
-_080C2678: .4byte 0x0000040a
- thumb_func_end sub_80C2604
-
- thumb_func_start sub_80C267C
-sub_80C267C: @ 80C267C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C26A0 @ =gUnknown_20399E0
- ldr r0, [r1]
- ldr r2, _080C26A4 @ =0x00000ccc
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xD
- bls _080C2696
- b _080C2990
-_080C2696:
- lsls r0, 2
- ldr r1, _080C26A8 @ =_080C26AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C26A0: .4byte gUnknown_20399E0
-_080C26A4: .4byte 0x00000ccc
-_080C26A8: .4byte _080C26AC
- .align 2, 0
-_080C26AC:
- .4byte _080C26E4
- .4byte _080C26FC
- .4byte _080C270C
- .4byte _080C272C
- .4byte _080C2768
- .4byte _080C2788
- .4byte _080C27B4
- .4byte _080C27C4
- .4byte _080C27E4
- .4byte _080C281E
- .4byte _080C2868
- .4byte _080C28A4
- .4byte _080C2928
- .4byte _080C296C
-_080C26E4:
- bl sub_80C08E0
- ldr r0, _080C26F4 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C26F8 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C26F4: .4byte gUnknown_20399E0
-_080C26F8: .4byte 0x00000ccc
-_080C26FC:
- bl sub_80C2344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C270A
- b _080C299A
-_080C270A:
- b _080C2976
-_080C270C:
- ldr r1, [r4]
- ldr r0, _080C2728 @ =0x00000818
- adds r1, r0
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- ldr r1, [r4]
- b _080C297A
- .align 2, 0
-_080C2728: .4byte 0x00000818
-_080C272C:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- 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
- bl sub_80C08F4
- ldr r0, _080C2760 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2764 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C2760: .4byte gUnknown_20399E0
-_080C2764: .4byte 0x00000ccc
-_080C2768:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x6
- movs r1, 0
- bl sub_80C22C4
- bl sub_80C2B48
- b _080C2976
-_080C2788:
- ldr r0, _080C27AC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C2796
- b _080C299A
-_080C2796:
- ldr r1, [r4]
- ldr r0, _080C27B0 @ =0x00000ccc
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0xF4
- bl PlaySE
- b _080C299A
- .align 2, 0
-_080C27AC: .4byte gPaletteFade
-_080C27B0: .4byte 0x00000ccc
-_080C27B4:
- bl sub_80C29A4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C27C2
- b _080C299A
-_080C27C2:
- b _080C2976
-_080C27C4:
- movs r0, 0
- bl sub_80C4324
- movs r0, 0
- bl sub_80C3154
- ldr r0, _080C27DC @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C27E0 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C27DC: .4byte gUnknown_20399E0
-_080C27E0: .4byte 0x00000ccc
-_080C27E4:
- ldr r0, [r4]
- movs r1, 0xCD
- lsls r1, 4
- adds r0, r1
- movs r1, 0xF
- strb r1, [r0]
- bl sub_80C253C
- movs r0, 0
- bl sub_80C0A88
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
- ldr r1, [r4]
- b _080C297A
-_080C281E:
- ldr r0, _080C283C @ =gUnknown_8418EB5
- bl sub_80C4E18
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080C2844
- ldr r0, _080C2840 @ =gUnknown_8418E8B
- bl sub_80C4E74
- b _080C284A
- .align 2, 0
-_080C283C: .4byte gUnknown_8418EB5
-_080C2840: .4byte gUnknown_8418E8B
-_080C2844:
- ldr r0, _080C285C @ =gUnknown_8418E8D
- bl sub_80C4E74
-_080C284A:
- movs r0, 0
- bl sub_80C4ED0
- ldr r0, _080C2860 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2864 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C285C: .4byte gUnknown_8418E8D
-_080C2860: .4byte gUnknown_20399E0
-_080C2864: .4byte 0x00000ccc
-_080C2868:
- ldr r4, _080C28A0 @ =gUnknown_83EF23C + 0x1E
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x40
- movs r2, 0x2
- bl LoadPalette
- b _080C2976
- .align 2, 0
-_080C28A0: .4byte gUnknown_83EF23C + 0x1E
-_080C28A4:
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0x2
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3E
- movs r2, 0x1C
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3F
- movs r2, 0x1D
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- movs r0, 0x1A
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3D
- movs r2, 0x2
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0xF4
- bl m4aSongNumStop
- movs r0, 0x2A
- bl PlaySE
- ldr r0, _080C2920 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2924 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C2920: .4byte gUnknown_20399E0
-_080C2924: .4byte 0x00000ccc
-_080C2928:
- ldr r0, [r4]
- movs r2, 0xCD
- lsls r2, 4
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _080C2958
- movs r0, 0x6
- movs r1, 0x1
- bl sub_80C22C4
- ldr r1, [r4]
- ldr r0, _080C2954 @ =0x00000ccc
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- bl sub_80C4C48
- b _080C299A
- .align 2, 0
-_080C2954: .4byte 0x00000ccc
-_080C2958:
- subs r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xCD
- lsls r1, 4
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80C4C48
- b _080C299A
-_080C296C:
- movs r0, 0
- bl sub_80C4B30
- bl sub_80C0BB0
-_080C2976:
- ldr r0, _080C2988 @ =gUnknown_20399E0
- ldr r1, [r0]
-_080C297A:
- ldr r2, _080C298C @ =0x00000ccc
- adds r1, r2
-_080C297E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C299A
- .align 2, 0
-_080C2988: .4byte gUnknown_20399E0
-_080C298C: .4byte 0x00000ccc
-_080C2990:
- bl sub_80C2604
- adds r0, r5, 0
- bl sub_80C2594
-_080C299A:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C267C
-
- thumb_func_start sub_80C29A4
-sub_80C29A4: @ 80C29A4
- push {r4,r5,lr}
- bl sub_80C2B48
- ldr r0, _080C29C8 @ =gUnknown_20399E0
- ldr r2, [r0]
- ldr r0, [r2]
- movs r4, 0x80
- lsls r4, 3
- adds r0, r4
- ldr r1, [r0]
- ldrh r3, [r1, 0x20]
- movs r5, 0x20
- ldrsh r0, [r1, r5]
- cmp r0, 0
- bne _080C29CC
- movs r0, 0x1
- b _080C2B3A
- .align 2, 0
-_080C29C8: .4byte gUnknown_20399E0
-_080C29CC:
- ldr r5, _080C2A18 @ =0x00000cce
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0x11
- bls _080C2A1C
- subs r0, r3, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- b _080C2B28
- .align 2, 0
-_080C2A18: .4byte 0x00000cce
-_080C2A1C:
- cmp r0, 0xE
- bls _080C2A60
- subs r0, r3, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- b _080C2B28
-_080C2A60:
- cmp r0, 0xA
- bls _080C2AA4
- subs r0, r3, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- b _080C2B28
-_080C2AA4:
- cmp r0, 0x6
- bls _080C2AE8
- subs r0, r3, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- b _080C2B28
-_080C2AE8:
- adds r0, r3, 0
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
-_080C2B28:
- strh r0, [r1, 0x20]
- ldr r0, _080C2B40 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2B44 @ =0x00000cce
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C2B3A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C2B40: .4byte gUnknown_20399E0
-_080C2B44: .4byte 0x00000cce
- thumb_func_end sub_80C29A4
-
- thumb_func_start sub_80C2B48
-sub_80C2B48: @ 80C2B48
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080C2B90 @ =gUnknown_20399E0
- ldr r3, [r0]
- ldr r0, [r3]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- ldr r4, _080C2B94 @ =0xffff0000
- ldr r5, _080C2B98 @ =0x0000ffff
- ldrh r0, [r0, 0x20]
- movs r1, 0x80
- lsls r1, 13
- orrs r0, r1
- str r0, [sp]
- ldr r0, [r3, 0xC]
- adds r0, r2
- ldr r0, [r0]
- ldrh r1, [r0, 0x20]
- ldr r0, [sp, 0x4]
- ands r0, r4
- orrs r0, r1
- ands r0, r5
- movs r1, 0xA0
- lsls r1, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2B90: .4byte gUnknown_20399E0
-_080C2B94: .4byte 0xffff0000
-_080C2B98: .4byte 0x0000ffff
- thumb_func_end sub_80C2B48
-
- thumb_func_start sub_80C2B9C
-sub_80C2B9C: @ 80C2B9C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080C2C0C @ =gUnknown_20399E0
- ldr r3, [r0]
- ldr r0, [r3]
- ldr r2, _080C2C10 @ =0x00000404
- adds r0, r2
- ldrh r0, [r0]
- adds r0, 0x10
- lsls r0, 16
- ldr r4, _080C2C14 @ =0xffff0000
- ldr r5, _080C2C18 @ =0x0000ffff
- lsrs r0, 16
- movs r1, 0x80
- lsls r1, 13
- orrs r0, r1
- str r0, [sp]
- ldr r0, [r3, 0xC]
- adds r0, r2
- ldrh r1, [r0]
- subs r1, 0x10
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r4
- orrs r0, r1
- ands r0, r5
- movs r1, 0xA0
- lsls r1, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80C4C2C
- movs r0, 0x12
- movs r1, 0
- bl sub_80C4C74
- movs r0, 0x10
- bl sub_80C4C88
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C9C
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2C0C: .4byte gUnknown_20399E0
-_080C2C10: .4byte 0x00000404
-_080C2C14: .4byte 0xffff0000
-_080C2C18: .4byte 0x0000ffff
- thumb_func_end sub_80C2B9C
-
- thumb_func_start sub_80C2C1C
-sub_80C2C1C: @ 80C2C1C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C2C30 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C2C34 @ =sub_80C2C7C
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C2C30: .4byte gTasks
-_080C2C34: .4byte sub_80C2C7C
- thumb_func_end sub_80C2C1C
-
- thumb_func_start sub_80C2C38
-sub_80C2C38: @ 80C2C38
- push {lr}
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x4
- bl sub_80C210C
- movs r0, 0x1
- movs r1, 0x5
- movs r2, 0x5
- bl sub_80C210C
- movs r0, 0x2
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80C210C
- movs r0, 0x3
- movs r1, 0x7
- movs r2, 0x7
- bl sub_80C210C
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x8
- bl sub_80C210C
- movs r0, 0x5
- movs r1, 0x9
- movs r2, 0x9
- bl sub_80C210C
- pop {r0}
- bx r0
- thumb_func_end sub_80C2C38
-
- thumb_func_start sub_80C2C7C
-sub_80C2C7C: @ 80C2C7C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C2CA0 @ =gUnknown_20399E0
- ldr r3, [r1]
- ldr r4, _080C2CA4 @ =0x00000ccf
- adds r0, r3, r4
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x7
- bls _080C2C94
- b _080C2DFC
-_080C2C94:
- lsls r0, 2
- ldr r1, _080C2CA8 @ =_080C2CAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C2CA0: .4byte gUnknown_20399E0
-_080C2CA4: .4byte 0x00000ccf
-_080C2CA8: .4byte _080C2CAC
- .align 2, 0
-_080C2CAC:
- .4byte _080C2CCC
- .4byte _080C2CF4
- .4byte _080C2CFA
- .4byte _080C2D1C
- .4byte _080C2D6C
- .4byte _080C2D84
- .4byte _080C2DB8
- .4byte _080C2DD8
-_080C2CCC:
- movs r0, 0x1
- bl sub_80C4ED0
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x4
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, _080C2CEC @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2CF0 @ =0x00000ccf
- adds r1, r0
- b _080C2DEC
- .align 2, 0
-_080C2CEC: .4byte gUnknown_20399E0
-_080C2CF0: .4byte 0x00000ccf
-_080C2CF4:
- bl sub_80C2C38
- b _080C2DE4
-_080C2CFA:
- ldr r0, _080C2D10 @ =gUnknown_83EF2DC
- movs r1, 0
- movs r2, 0xA0
- bl LoadPalette
- ldr r0, _080C2D14 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r3, _080C2D18 @ =0x00000ccf
- adds r1, r3
- b _080C2DEC
- .align 2, 0
-_080C2D10: .4byte gUnknown_83EF2DC
-_080C2D14: .4byte gUnknown_20399E0
-_080C2D18: .4byte 0x00000ccf
-_080C2D1C:
- movs r0, 0x6
- movs r1, 0
- bl sub_80C22C4
- movs r0, 0x1
- bl sub_80C4324
- movs r0, 0x1
- bl sub_80C3154
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C4960
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C48BC
- ldr r1, _080C2D64 @ =gUnknown_20399E0
- ldr r0, [r1]
- ldr r4, _080C2D68 @ =0x00000cce
- adds r0, r4
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r1]
- movs r3, 0xCD
- lsls r3, 4
- adds r0, r3
- strb r2, [r0]
- ldr r1, [r1]
- adds r4, 0x1
- adds r1, r4
- b _080C2DEC
- .align 2, 0
-_080C2D64: .4byte gUnknown_20399E0
-_080C2D68: .4byte 0x00000cce
-_080C2D6C:
- bl sub_80C253C
- ldr r0, _080C2D7C @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2D80 @ =0x00000ccf
- adds r1, r0
- b _080C2DEC
- .align 2, 0
-_080C2D7C: .4byte gUnknown_20399E0
-_080C2D80: .4byte 0x00000ccf
-_080C2D84:
- ldr r0, [r4]
- movs r2, 0xCD
- lsls r2, 4
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xF
- bne _080C2DA4
- ldrb r0, [r1]
- bl sub_80C4C48
- ldr r1, [r4]
- ldr r3, _080C2DA0 @ =0x00000ccf
- adds r1, r3
- b _080C2DEC
- .align 2, 0
-_080C2DA0: .4byte 0x00000ccf
-_080C2DA4:
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- movs r4, 0xCD
- lsls r4, 4
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80C4C48
- b _080C2E0E
-_080C2DB8:
- bl sub_80C2B9C
- bl sub_80C2B48
- movs r0, 0xF3
- bl PlaySE
- ldr r0, _080C2DD0 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2DD4 @ =0x00000ccf
- adds r1, r0
- b _080C2DEC
- .align 2, 0
-_080C2DD0: .4byte gUnknown_20399E0
-_080C2DD4: .4byte 0x00000ccf
-_080C2DD8:
- bl sub_80C2E1C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C2E0E
-_080C2DE4:
- ldr r0, _080C2DF4 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r2, _080C2DF8 @ =0x00000ccf
- adds r1, r2
-_080C2DEC:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C2E0E
- .align 2, 0
-_080C2DF4: .4byte gUnknown_20399E0
-_080C2DF8: .4byte 0x00000ccf
-_080C2DFC:
- ldr r1, _080C2E14 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldr r4, _080C2E18 @ =0x00000cc8
- adds r1, r3, r4
- ldr r1, [r1]
- str r1, [r0]
-_080C2E0E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2E14: .4byte gTasks
-_080C2E18: .4byte 0x00000cc8
- thumb_func_end sub_80C2C7C
-
- thumb_func_start sub_80C2E1C
-sub_80C2E1C: @ 80C2E1C
- push {r4,r5,lr}
- bl sub_80C2B48
- ldr r0, _080C2E40 @ =gUnknown_20399E0
- ldr r2, [r0]
- ldr r0, [r2]
- movs r4, 0x80
- lsls r4, 3
- adds r0, r4
- ldr r1, [r0]
- ldrh r3, [r1, 0x20]
- movs r5, 0x20
- ldrsh r0, [r1, r5]
- cmp r0, 0x68
- bne _080C2E44
- movs r0, 0x1
- b _080C2FB2
- .align 2, 0
-_080C2E40: .4byte gUnknown_20399E0
-_080C2E44:
- ldr r5, _080C2E90 @ =0x00000cce
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0x11
- bls _080C2E94
- adds r0, r3, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- b _080C2FA0
- .align 2, 0
-_080C2E90: .4byte 0x00000cce
-_080C2E94:
- cmp r0, 0xE
- bls _080C2ED8
- adds r0, r3, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- b _080C2FA0
-_080C2ED8:
- cmp r0, 0xA
- bls _080C2F1C
- adds r0, r3, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- b _080C2FA0
-_080C2F1C:
- cmp r0, 0x6
- bls _080C2F60
- adds r0, r3, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- b _080C2FA0
-_080C2F60:
- adds r0, r3, 0
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
-_080C2FA0:
- strh r0, [r1, 0x20]
- ldr r0, _080C2FB8 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2FBC @ =0x00000cce
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C2FB2:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C2FB8: .4byte gUnknown_20399E0
-_080C2FBC: .4byte 0x00000cce
- thumb_func_end sub_80C2E1C
-
- thumb_func_start sub_80C2FC0
-sub_80C2FC0: @ 80C2FC0
- push {lr}
- adds r1, r0, 0
- ldr r0, _080C2FE8 @ =gUnknown_20399E4
- ldr r2, [r0]
- ldrh r0, [r2, 0xC]
- cmp r0, 0
- beq _080C2FEC
- ldrh r0, [r2, 0x8]
- ldrh r3, [r1, 0x20]
- adds r0, r3
- strh r0, [r1, 0x20]
- ldrh r0, [r2, 0xA]
- ldrh r3, [r1, 0x22]
- adds r0, r3
- strh r0, [r1, 0x22]
- ldrh r0, [r2, 0xC]
- subs r0, 0x1
- strh r0, [r2, 0xC]
- b _080C3004
- .align 2, 0
-_080C2FE8: .4byte gUnknown_20399E4
-_080C2FEC:
- ldr r1, [r2, 0x1C]
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x1C]
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r1, 0x22]
-_080C3004:
- pop {r0}
- bx r0
- thumb_func_end sub_80C2FC0
-
- thumb_func_start sub_80C3008
-sub_80C3008: @ 80C3008
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _080C3090 @ =gUnknown_20399E4
- movs r0, 0x92
- lsls r0, 1
- bl AllocZeroed
- adds r1, r0, 0
- str r1, [r6]
- ldr r0, _080C3094 @ =gUnknown_83EF4E0
- adds r1, 0x24
- bl LZ77UnCompWram
- ldr r0, [r6]
- strh r4, [r0, 0x20]
- strh r5, [r0, 0x22]
- bl sub_80C3D40
- ldr r1, [r6]
- movs r2, 0
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r1, 0x4]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r1, 0x6]
- ldr r0, _080C3098 @ =sub_80C31C0
- str r0, [r1, 0x10]
- ldrb r0, [r1, 0x14]
- bl sub_80C35DC
- ldr r1, [r6]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x16]
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r6]
- movs r4, 0x2
- ldrsh r2, [r1, r4]
- movs r4, 0
- ldrsh r3, [r1, r4]
- movs r1, 0x1
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C3878
- ldr r1, [r6]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- bl sub_80C309C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3090: .4byte gUnknown_20399E4
-_080C3094: .4byte gUnknown_83EF4E0
-_080C3098: .4byte sub_80C31C0
- thumb_func_end sub_80C3008
-
- thumb_func_start sub_80C309C
-sub_80C309C: @ 80C309C
- push {r4-r6,lr}
- sub sp, 0x40
- ldr r6, _080C3134 @ =gUnknown_20399E4
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x24
- str r0, [sp, 0x30]
- movs r1, 0x80
- lsls r1, 1
- add r5, sp, 0x30
- str r1, [r5, 0x4]
- ldrh r0, [r2, 0x20]
- lsls r0, 16
- orrs r0, r1
- str r0, [r5, 0x4]
- ldr r0, _080C3138 @ =gUnknown_83EF25C
- str r0, [sp, 0x38]
- ldrh r3, [r2, 0x22]
- ldr r1, _080C313C @ =0xffff0000
- add r4, sp, 0x38
- ldr r0, [r4, 0x4]
- ands r0, r1
- orrs r0, r3
- str r0, [r4, 0x4]
- ldrh r0, [r2, 0x20]
- add r1, sp, 0x18
- movs r3, 0
- strh r0, [r1]
- ldrh r2, [r2, 0x22]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- ldr r0, _080C3140 @ =gUnknown_83F1C3C
- str r0, [sp, 0x1C]
- ldr r0, _080C3144 @ =gUnknown_83F1C50
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, _080C3148 @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x28]
- ldr r0, _080C314C @ =sub_80C2FC0
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- ldr r0, [r6]
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- movs r3, 0x6
- ldrsh r2, [r0, r3]
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C3150 @ =gSprites
- adds r1, r0
- str r1, [r2, 0x1C]
- movs r0, 0x1
- bl sub_80C3154
- add sp, 0x40
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3134: .4byte gUnknown_20399E4
-_080C3138: .4byte gUnknown_83EF25C
-_080C313C: .4byte 0xffff0000
-_080C3140: .4byte gUnknown_83F1C3C
-_080C3144: .4byte gUnknown_83F1C50
-_080C3148: .4byte gDummySpriteAffineAnimTable
-_080C314C: .4byte sub_80C2FC0
-_080C3150: .4byte gSprites
- thumb_func_end sub_80C309C
-
- thumb_func_start sub_80C3154
-sub_80C3154: @ 80C3154
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C3174 @ =gUnknown_20399E4
- ldr r1, [r1]
- ldr r2, [r1, 0x1C]
- 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
- .align 2, 0
-_080C3174: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3154
-
- thumb_func_start sub_80C3178
-sub_80C3178: @ 80C3178
- ldr r0, _080C3184 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0xE]
- bx lr
- .align 2, 0
-_080C3184: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3178
-
- thumb_func_start sub_80C3188
-sub_80C3188: @ 80C3188
- push {r4,lr}
- ldr r4, _080C31BC @ =gUnknown_20399E4
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080C31A8
- bl DestroySprite
- ldr r0, [r4]
- ldrh r0, [r0, 0x20]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x22]
- bl FreeSpritePaletteByTag
-_080C31A8:
- ldr r0, [r4]
- cmp r0, 0
- beq _080C31B6
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C31B6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C31BC: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3188
-
- thumb_func_start sub_80C31C0
-sub_80C31C0: @ 80C31C0
- push {r4-r6,lr}
- movs r5, 0
- ldr r3, _080C3278 @ =gUnknown_20399E4
- ldr r4, [r3]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- ldr r2, _080C327C @ =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- adds r6, r3, 0
- cmp r0, 0
- beq _080C31E8
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _080C31E8
- ldr r0, _080C3280 @ =0x0000fffe
- strh r0, [r4, 0xA]
- movs r5, 0x1
-_080C31E8:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C3202
- ldr r1, [r6]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0xD
- bgt _080C3202
- movs r0, 0x2
- strh r0, [r1, 0xA]
- movs r5, 0x1
-_080C3202:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080C321C
- ldr r1, [r6]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x14
- bgt _080C321C
- movs r0, 0x2
- strh r0, [r1, 0x8]
- movs r5, 0x1
-_080C321C:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080C3236
- ldr r1, [r6]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080C3236
- ldr r0, _080C3280 @ =0x0000fffe
- strh r0, [r1, 0x8]
- movs r5, 0x1
-_080C3236:
- ldrh r3, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _080C328C
- movs r5, 0x4
- ldr r0, [r6]
- ldr r1, [r0]
- ldr r0, _080C3284 @ =0x000d0015
- cmp r1, r0
- bne _080C3254
- movs r0, 0xF0
- bl PlaySE
- movs r5, 0x6
-_080C3254:
- ldr r0, [r6]
- ldr r1, [r0]
- ldr r0, _080C3288 @ =0x000b0015
- cmp r1, r0
- bne _080C331A
- movs r0, 0
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C331A
- movs r0, 0xF0
- bl PlaySE
- movs r5, 0x5
- b _080C331A
- .align 2, 0
-_080C3278: .4byte gUnknown_20399E4
-_080C327C: .4byte gMain
-_080C3280: .4byte 0x0000fffe
-_080C3284: .4byte 0x000d0015
-_080C3288: .4byte 0x000b0015
-_080C328C:
- movs r0, 0x2
- ands r0, r3
- cmp r0, 0
- bne _080C3318
- ldrh r1, [r2, 0x30]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080C3300
- bl sub_80C3418
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080C32FC @ =gUnknown_20399E4
- ldr r1, [r4]
- movs r5, 0x2
- ldrsh r2, [r1, r5]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0
- bl sub_80C4164
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x14]
- bl sub_80C35DC
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x16]
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0x1
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C3878
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- movs r0, 0x3
- b _080C332C
- .align 2, 0
-_080C32FC: .4byte gUnknown_20399E4
-_080C3300:
- movs r0, 0x4
- ands r0, r3
- cmp r0, 0
- beq _080C331A
- ldr r0, _080C3334 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C3338 @ =0x000047bc
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _080C333C @ =CB2_ReturnToField
- cmp r1, r0
- bne _080C331A
-_080C3318:
- movs r5, 0x6
-_080C331A:
- cmp r5, 0x1
- bne _080C332A
- ldr r0, _080C3340 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x4
- strh r0, [r1, 0xC]
- ldr r0, _080C3344 @ =sub_80C3348
- str r0, [r1, 0x10]
-_080C332A:
- adds r0, r5, 0
-_080C332C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080C3334: .4byte gUnknown_20399D4
-_080C3338: .4byte 0x000047bc
-_080C333C: .4byte CB2_ReturnToField
-_080C3340: .4byte gUnknown_20399E4
-_080C3344: .4byte sub_80C3348
- thumb_func_end sub_80C31C0
-
- thumb_func_start sub_80C3348
-sub_80C3348: @ 80C3348
- push {r4,r5,lr}
- ldr r4, _080C3358 @ =gUnknown_20399E4
- ldr r1, [r4]
- ldrh r0, [r1, 0xC]
- cmp r0, 0
- beq _080C335C
- movs r0, 0x2
- b _080C33F4
- .align 2, 0
-_080C3358: .4byte gUnknown_20399E4
-_080C335C:
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- ble _080C336A
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080C336A:
- ldr r1, [r4]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bge _080C337A
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_080C337A:
- ldr r1, [r4]
- movs r5, 0xA
- ldrsh r0, [r1, r5]
- cmp r0, 0
- ble _080C338A
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
-_080C338A:
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bge _080C339A
- ldrh r0, [r1, 0x2]
- subs r0, 0x1
- strh r0, [r1, 0x2]
-_080C339A:
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0
- bl sub_80C4164
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x14]
- bl sub_80C35DC
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x16]
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0x1
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C3878
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- ldr r0, _080C33FC @ =sub_80C31C0
- str r0, [r1, 0x10]
- movs r0, 0x3
-_080C33F4:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C33FC: .4byte sub_80C31C0
- thumb_func_end sub_80C3348
-
- thumb_func_start sub_80C3400
-sub_80C3400: @ 80C3400
- push {lr}
- ldr r0, _080C3414 @ =gUnknown_20399E4
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080C3414: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3400
-
- thumb_func_start sub_80C3418
-sub_80C3418: @ 80C3418
- push {r4,r5,lr}
- movs r0, 0
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C3482
- ldr r5, _080C3474 @ =gUnknown_20399E4
- ldr r1, [r5]
- ldrb r0, [r1, 0xE]
- adds r0, 0x1
- strb r0, [r1, 0xE]
- ldr r4, [r5]
- ldrb r0, [r4, 0xE]
- movs r1, 0x3
- bl __umodsi3
- strb r0, [r4, 0xE]
- ldr r0, [r5]
- ldrb r0, [r0, 0xE]
- cmp r0, 0
- bne _080C3460
- bl sub_80C0E20
- adds r4, r0, 0
- bl sub_80C0E34
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _080C3460
- ldr r1, [r5]
- ldrb r0, [r1, 0xE]
- adds r0, 0x1
- strb r0, [r1, 0xE]
-_080C3460:
- ldr r4, _080C3474 @ =gUnknown_20399E4
- ldr r1, [r4]
- ldrb r0, [r1, 0xE]
- cmp r0, 0x1
- beq _080C3478
- cmp r0, 0x1
- ble _080C34A2
- cmp r0, 0x2
- beq _080C34B8
- b _080C34A2
- .align 2, 0
-_080C3474: .4byte gUnknown_20399E4
-_080C3478:
- movs r0, 0x15
- strh r0, [r1]
- movs r0, 0xB
- strh r0, [r1, 0x2]
- b _080C34C0
-_080C3482:
- ldr r4, _080C34B4 @ =gUnknown_20399E4
- ldr r1, [r4]
- ldrb r0, [r1, 0xE]
- adds r0, 0x1
- strb r0, [r1, 0xE]
- ldr r2, [r4]
- ldrb r0, [r2, 0xE]
- movs r1, 0x1
- ands r0, r1
- strb r0, [r2, 0xE]
- ldr r1, [r4]
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- beq _080C34A2
- cmp r0, 0x1
- beq _080C34B8
-_080C34A2:
- bl sub_80C4380
- ldr r1, [r4]
- strh r0, [r1]
- bl sub_80C438C
- ldr r1, [r4]
- strh r0, [r1, 0x2]
- b _080C34C0
- .align 2, 0
-_080C34B4: .4byte gUnknown_20399E4
-_080C34B8:
- movs r0, 0xD
- strh r0, [r1, 0x2]
- movs r0, 0x15
- strh r0, [r1]
-_080C34C0:
- ldr r4, _080C3504 @ =gUnknown_20399E4
- ldr r1, [r4]
- ldr r2, [r1, 0x1C]
- movs r3, 0
- ldrsh r0, [r1, r3]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x1C]
- movs r5, 0x2
- ldrsh r0, [r1, r5]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r2, 0x22]
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0
- bl sub_80C4164
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x14]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3504: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3418
-
- thumb_func_start sub_80C3508
-sub_80C3508: @ 80C3508
- ldr r0, _080C3510 @ =gUnknown_20399E4
- ldr r0, [r0]
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_080C3510: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3508
-
- thumb_func_start sub_80C3514
-sub_80C3514: @ 80C3514
- ldr r0, _080C351C @ =gUnknown_20399E4
- ldr r0, [r0]
- ldrh r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_080C351C: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3514
-
- thumb_func_start sub_80C3520
-sub_80C3520: @ 80C3520
- push {r4,lr}
- ldr r4, _080C353C @ =gUnknown_20399E4
- ldr r1, [r4]
- ldrh r0, [r1, 0x2]
- cmp r0, 0xE
- bhi _080C3538
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- blt _080C3538
- cmp r0, 0x15
- ble _080C3540
-_080C3538:
- movs r0, 0xC5
- b _080C3574
- .align 2, 0
-_080C353C: .4byte gUnknown_20399E4
-_080C3540:
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r4, 0
- ldrsh r3, [r1, r4]
- movs r1, 0
- bl sub_80C4164
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xAE
- beq _080C3564
- cmp r4, 0xBB
- bne _080C3572
-_080C3564:
- ldr r0, _080C357C @ =0x000008b5
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C3572
- movs r4, 0xC5
-_080C3572:
- adds r0, r4, 0
-_080C3574:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C357C: .4byte 0x000008b5
- thumb_func_end sub_80C3520
-
- thumb_func_start sub_80C3580
-sub_80C3580: @ 80C3580
- push {r4,lr}
- ldr r4, _080C359C @ =gUnknown_20399E4
- ldr r1, [r4]
- ldrh r0, [r1, 0x2]
- cmp r0, 0xE
- bhi _080C3598
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- blt _080C3598
- cmp r0, 0x15
- ble _080C35A0
-_080C3598:
- movs r0, 0xC5
- b _080C35D0
- .align 2, 0
-_080C359C: .4byte gUnknown_20399E4
-_080C35A0:
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r4, 0
- ldrsh r3, [r1, r4]
- movs r1, 0x1
- bl sub_80C4164
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x8D
- bne _080C35CE
- ldr r0, _080C35D8 @ =0x00000844
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C35CE
- movs r4, 0xC5
-_080C35CE:
- adds r0, r4, 0
-_080C35D0:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C35D8: .4byte 0x00000844
- thumb_func_end sub_80C3580
-
- thumb_func_start sub_80C35DC
-sub_80C35DC: @ 80C35DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x58
- cmp r0, 0x6D
- bls _080C35EA
- b _080C3870
-_080C35EA:
- lsls r0, 2
- ldr r1, _080C35F4 @ =_080C35F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C35F4: .4byte _080C35F8
- .align 2, 0
-_080C35F8:
- .4byte _080C37B0
- .4byte _080C37B6
- .4byte _080C37C0
- .4byte _080C37C8
- .4byte _080C37D0
- .4byte _080C37D8
- .4byte _080C37E0
- .4byte _080C37E8
- .4byte _080C37F0
- .4byte _080C37F8
- .4byte _080C3800
- .4byte _080C3840
- .4byte _080C3858
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3808
- .4byte _080C3810
- .4byte _080C3818
- .4byte _080C3820
- .4byte _080C3828
- .4byte _080C3830
- .4byte _080C3836
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C3870
- .4byte _080C384C
-_080C37B0:
- movs r0, 0x89
- lsls r0, 4
- b _080C385A
-_080C37B6:
- ldr r0, _080C37BC @ =0x00000891
- b _080C385A
- .align 2, 0
-_080C37BC: .4byte 0x00000891
-_080C37C0:
- ldr r0, _080C37C4 @ =0x00000892
- b _080C385A
- .align 2, 0
-_080C37C4: .4byte 0x00000892
-_080C37C8:
- ldr r0, _080C37CC @ =0x00000893
- b _080C385A
- .align 2, 0
-_080C37CC: .4byte 0x00000893
-_080C37D0:
- ldr r0, _080C37D4 @ =0x00000894
- b _080C385A
- .align 2, 0
-_080C37D4: .4byte 0x00000894
-_080C37D8:
- ldr r0, _080C37DC @ =0x00000895
- b _080C385A
- .align 2, 0
-_080C37DC: .4byte 0x00000895
-_080C37E0:
- ldr r0, _080C37E4 @ =0x00000896
- b _080C385A
- .align 2, 0
-_080C37E4: .4byte 0x00000896
-_080C37E8:
- ldr r0, _080C37EC @ =0x00000897
- b _080C385A
- .align 2, 0
-_080C37EC: .4byte 0x00000897
-_080C37F0:
- ldr r0, _080C37F4 @ =0x00000898
- b _080C385A
- .align 2, 0
-_080C37F4: .4byte 0x00000898
-_080C37F8:
- ldr r0, _080C37FC @ =0x00000899
- b _080C385A
- .align 2, 0
-_080C37FC: .4byte 0x00000899
-_080C3800:
- ldr r0, _080C3804 @ =0x0000089a
- b _080C385A
- .align 2, 0
-_080C3804: .4byte 0x0000089a
-_080C3808:
- ldr r0, _080C380C @ =0x0000089b
- b _080C385A
- .align 2, 0
-_080C380C: .4byte 0x0000089b
-_080C3810:
- ldr r0, _080C3814 @ =0x0000089c
- b _080C385A
- .align 2, 0
-_080C3814: .4byte 0x0000089c
-_080C3818:
- ldr r0, _080C381C @ =0x0000089d
- b _080C385A
- .align 2, 0
-_080C381C: .4byte 0x0000089d
-_080C3820:
- ldr r0, _080C3824 @ =0x0000089e
- b _080C385A
- .align 2, 0
-_080C3824: .4byte 0x0000089e
-_080C3828:
- ldr r0, _080C382C @ =0x0000089f
- b _080C385A
- .align 2, 0
-_080C382C: .4byte 0x0000089f
-_080C3830:
- movs r0, 0x8A
- lsls r0, 4
- b _080C385A
-_080C3836:
- ldr r0, _080C383C @ =0x000008a1
- b _080C385A
- .align 2, 0
-_080C383C: .4byte 0x000008a1
-_080C3840:
- movs r0, 0x3
- bl sub_80C0E04
- lsls r0, 24
- cmp r0, 0
- bne _080C3850
-_080C384C:
- movs r0, 0
- b _080C3872
-_080C3850:
- ldr r0, _080C3854 @ =0x000008a2
- b _080C385A
- .align 2, 0
-_080C3854: .4byte 0x000008a2
-_080C3858:
- ldr r0, _080C386C @ =0x000008a3
-_080C385A:
- bl FlagGet
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _080C3868
- movs r1, 0x2
-_080C3868:
- adds r0, r1, 0
- b _080C3872
- .align 2, 0
-_080C386C: .4byte 0x000008a3
-_080C3870:
- movs r0, 0x1
-_080C3872:
- pop {r1}
- bx r1
- thumb_func_end sub_80C35DC
-
- thumb_func_start sub_80C3878
-sub_80C3878: @ 80C3878
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x7E
- cmp r0, 0x47
- bls _080C3886
- b _080C3AC0
-_080C3886:
- lsls r0, 2
- ldr r1, _080C3890 @ =_080C3894
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C3890: .4byte _080C3894
- .align 2, 0
-_080C3894:
- .4byte _080C39B8
- .4byte _080C39C0
- .4byte _080C39C8
- .4byte _080C39D0
- .4byte _080C39D8
- .4byte _080C39E0
- .4byte _080C39E8
- .4byte _080C39F0
- .4byte _080C39F8
- .4byte _080C3A00
- .4byte _080C3A08
- .4byte _080C3A10
- .4byte _080C3A18
- .4byte _080C3A1E
- .4byte _080C3A28
- .4byte _080C3A30
- .4byte _080C3A38
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3A40
- .4byte _080C3A48
- .4byte _080C3A50
- .4byte _080C3A58
- .4byte _080C3A60
- .4byte _080C3A68
- .4byte _080C3A70
- .4byte _080C3A78
- .4byte _080C3A80
- .4byte _080C3A88
- .4byte _080C3A90
- .4byte _080C3A98
- .4byte _080C3A9E
- .4byte _080C3AA8
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C3AC0
- .4byte _080C39B4
-_080C39B4:
- movs r0, 0
- b _080C3AC2
-_080C39B8:
- ldr r0, _080C39BC @ =0x000008a4
- b _080C3AAA
- .align 2, 0
-_080C39BC: .4byte 0x000008a4
-_080C39C0:
- ldr r0, _080C39C4 @ =0x000008a5
- b _080C3AAA
- .align 2, 0
-_080C39C4: .4byte 0x000008a5
-_080C39C8:
- ldr r0, _080C39CC @ =0x000008a6
- b _080C3AAA
- .align 2, 0
-_080C39CC: .4byte 0x000008a6
-_080C39D0:
- ldr r0, _080C39D4 @ =0x000008a7
- b _080C3AAA
- .align 2, 0
-_080C39D4: .4byte 0x000008a7
-_080C39D8:
- ldr r0, _080C39DC @ =0x000008a8
- b _080C3AAA
- .align 2, 0
-_080C39DC: .4byte 0x000008a8
-_080C39E0:
- ldr r0, _080C39E4 @ =0x000008a9
- b _080C3AAA
- .align 2, 0
-_080C39E4: .4byte 0x000008a9
-_080C39E8:
- ldr r0, _080C39EC @ =0x000008aa
- b _080C3AAA
- .align 2, 0
-_080C39EC: .4byte 0x000008aa
-_080C39F0:
- ldr r0, _080C39F4 @ =0x000008ab
- b _080C3AAA
- .align 2, 0
-_080C39F4: .4byte 0x000008ab
-_080C39F8:
- ldr r0, _080C39FC @ =0x000008ac
- b _080C3AAA
- .align 2, 0
-_080C39FC: .4byte 0x000008ac
-_080C3A00:
- ldr r0, _080C3A04 @ =0x000008ad
- b _080C3AAA
- .align 2, 0
-_080C3A04: .4byte 0x000008ad
-_080C3A08:
- ldr r0, _080C3A0C @ =0x000008ae
- b _080C3AAA
- .align 2, 0
-_080C3A0C: .4byte 0x000008ae
-_080C3A10:
- ldr r0, _080C3A14 @ =0x000008af
- b _080C3AAA
- .align 2, 0
-_080C3A14: .4byte 0x000008af
-_080C3A18:
- movs r0, 0x8B
- lsls r0, 4
- b _080C3AAA
-_080C3A1E:
- ldr r0, _080C3A24 @ =0x000008b1
- b _080C3AAA
- .align 2, 0
-_080C3A24: .4byte 0x000008b1
-_080C3A28:
- ldr r0, _080C3A2C @ =0x000008b2
- b _080C3AAA
- .align 2, 0
-_080C3A2C: .4byte 0x000008b2
-_080C3A30:
- ldr r0, _080C3A34 @ =0x000008b3
- b _080C3AAA
- .align 2, 0
-_080C3A34: .4byte 0x000008b3
-_080C3A38:
- ldr r0, _080C3A3C @ =0x000008b4
- b _080C3AAA
- .align 2, 0
-_080C3A3C: .4byte 0x000008b4
-_080C3A40:
- ldr r0, _080C3A44 @ =0x000008b5
- b _080C3AAA
- .align 2, 0
-_080C3A44: .4byte 0x000008b5
-_080C3A48:
- ldr r0, _080C3A4C @ =0x000008b6
- b _080C3AAA
- .align 2, 0
-_080C3A4C: .4byte 0x000008b6
-_080C3A50:
- ldr r0, _080C3A54 @ =0x000008b7
- b _080C3AAA
- .align 2, 0
-_080C3A54: .4byte 0x000008b7
-_080C3A58:
- ldr r0, _080C3A5C @ =0x000008b8
- b _080C3AAA
- .align 2, 0
-_080C3A5C: .4byte 0x000008b8
-_080C3A60:
- ldr r0, _080C3A64 @ =0x000008b9
- b _080C3AAA
- .align 2, 0
-_080C3A64: .4byte 0x000008b9
-_080C3A68:
- ldr r0, _080C3A6C @ =0x000008ba
- b _080C3AAA
- .align 2, 0
-_080C3A6C: .4byte 0x000008ba
-_080C3A70:
- ldr r0, _080C3A74 @ =0x000008bb
- b _080C3AAA
- .align 2, 0
-_080C3A74: .4byte 0x000008bb
-_080C3A78:
- ldr r0, _080C3A7C @ =0x000008bc
- b _080C3AAA
- .align 2, 0
-_080C3A7C: .4byte 0x000008bc
-_080C3A80:
- ldr r0, _080C3A84 @ =0x000008bd
- b _080C3AAA
- .align 2, 0
-_080C3A84: .4byte 0x000008bd
-_080C3A88:
- ldr r0, _080C3A8C @ =0x000008be
- b _080C3AAA
- .align 2, 0
-_080C3A8C: .4byte 0x000008be
-_080C3A90:
- ldr r0, _080C3A94 @ =0x000008bf
- b _080C3AAA
- .align 2, 0
-_080C3A94: .4byte 0x000008bf
-_080C3A98:
- movs r0, 0x8C
- lsls r0, 4
- b _080C3AAA
-_080C3A9E:
- ldr r0, _080C3AA4 @ =0x000008c1
- b _080C3AAA
- .align 2, 0
-_080C3AA4: .4byte 0x000008c1
-_080C3AA8:
- ldr r0, _080C3ABC @ =0x000008c2
-_080C3AAA:
- bl FlagGet
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _080C3AB8
- movs r1, 0x2
-_080C3AB8:
- adds r0, r1, 0
- b _080C3AC2
- .align 2, 0
-_080C3ABC: .4byte 0x000008c2
-_080C3AC0:
- movs r0, 0x1
-_080C3AC2:
- pop {r1}
- bx r1
- thumb_func_end sub_80C3878
-
- thumb_func_start sub_80C3AC8
-sub_80C3AC8: @ 80C3AC8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080C3AE4
- cmp r0, 0x1
- beq _080C3AF0
- ldr r0, _080C3AE0 @ =gUnknown_20399E4
- ldr r0, [r0]
- ldrb r0, [r0, 0x16]
- b _080C3AF6
- .align 2, 0
-_080C3AE0: .4byte gUnknown_20399E4
-_080C3AE4:
- ldr r0, _080C3AEC @ =gUnknown_20399E4
- ldr r0, [r0]
- ldrb r0, [r0, 0x16]
- b _080C3AF6
- .align 2, 0
-_080C3AEC: .4byte gUnknown_20399E4
-_080C3AF0:
- ldr r0, _080C3AFC @ =gUnknown_20399E4
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
-_080C3AF6:
- pop {r1}
- bx r1
- .align 2, 0
-_080C3AFC: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3AC8
-
- thumb_func_start sub_80C3B00
-sub_80C3B00: @ 80C3B00
- push {lr}
- ldr r0, _080C3B24 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- ldrb r0, [r0, 0x14]
- pop {r1}
- bx r1
- .align 2, 0
-_080C3B24: .4byte gSaveBlock1Ptr
- thumb_func_end sub_80C3B00
-
- thumb_func_start sub_80C3B28
-sub_80C3B28: @ 80C3B28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _080C3B58 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x8
- bhi _080C3B84
- lsls r0, 2
- ldr r1, _080C3B5C @ =_080C3B60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C3B58: .4byte gSaveBlock1Ptr
-_080C3B5C: .4byte _080C3B60
- .align 2, 0
-_080C3B60:
- .4byte _080C3B84
- .4byte _080C3B84
- .4byte _080C3B84
- .4byte _080C3BAC
- .4byte _080C3B84
- .4byte _080C3B84
- .4byte _080C3BAC
- .4byte _080C3C2C
- .4byte _080C3BF0
-_080C3B84:
- ldr r0, _080C3BA0 @ =gUnknown_20399E4
- ldr r2, [r0]
- ldr r1, _080C3BA4 @ =gMapHeader
- ldrb r0, [r1, 0x14]
- strh r0, [r2, 0x14]
- ldr r0, [r1]
- ldrh r1, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldr r0, _080C3BA8 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r4, [r0]
- ldrh r5, [r0, 0x2]
- b _080C3C9A
- .align 2, 0
-_080C3BA0: .4byte gUnknown_20399E4
-_080C3BA4: .4byte gMapHeader
-_080C3BA8: .4byte gSaveBlock1Ptr
-_080C3BAC:
- ldr r4, _080C3BE8 @ =gSaveBlock1Ptr
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- adds r1, 0x25
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- adds r2, r0, 0
- ldr r0, _080C3BEC @ =gUnknown_20399E4
- ldr r1, [r0]
- ldrb r0, [r2, 0x14]
- strh r0, [r1, 0x14]
- ldr r0, [r2]
- ldrh r1, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldr r0, [r4]
- ldrh r4, [r0, 0x28]
- ldrh r5, [r0, 0x2A]
- b _080C3C9A
- .align 2, 0
-_080C3BE8: .4byte gSaveBlock1Ptr
-_080C3BEC: .4byte gUnknown_20399E4
-_080C3BF0:
- ldr r4, _080C3C24 @ =gSaveBlock1Ptr
- ldr r1, [r4]
- movs r0, 0x14
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x15]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- adds r2, r0, 0
- ldr r0, _080C3C28 @ =gUnknown_20399E4
- ldr r1, [r0]
- ldrb r0, [r2, 0x14]
- strh r0, [r1, 0x14]
- ldr r0, [r2]
- ldrh r1, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldr r0, [r4]
- ldrh r4, [r0, 0x18]
- ldrh r5, [r0, 0x1A]
- b _080C3C9A
- .align 2, 0
-_080C3C24: .4byte gSaveBlock1Ptr
-_080C3C28: .4byte gUnknown_20399E4
-_080C3C2C:
- ldr r4, _080C3C5C @ =gUnknown_20399E4
- ldr r0, [r4]
- ldr r1, _080C3C60 @ =gMapHeader
- ldrb r1, [r1, 0x14]
- strh r1, [r0, 0x14]
- cmp r1, 0xC4
- beq _080C3C68
- ldr r0, _080C3C64 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0x24
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r5, r1]
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- adds r2, r0, 0
- b _080C3C8E
- .align 2, 0
-_080C3C5C: .4byte gUnknown_20399E4
-_080C3C60: .4byte gMapHeader
-_080C3C64: .4byte gSaveBlock1Ptr
-_080C3C68:
- ldr r0, _080C3D30 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0x14
- ldrb r0, [r0, 0x14]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r5, r1]
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- adds r2, r0, 0
- ldr r1, [r4]
- ldrb r0, [r2, 0x14]
- strh r0, [r1, 0x14]
-_080C3C8E:
- ldr r0, [r2]
- ldrh r1, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldrh r4, [r5, 0x4]
- ldrh r5, [r5, 0x6]
-_080C3C9A:
- ldr r0, _080C3D34 @ =gUnknown_20399E4
- ldr r7, [r0]
- ldrh r0, [r7, 0x14]
- subs r0, 0x58
- strh r0, [r7, 0x14]
- ldr r0, _080C3D38 @ =gUnknown_83F2178
- mov r10, r0
- ldrh r0, [r7, 0x14]
- lsls r0, 2
- mov r9, r0
- add r0, r10
- ldrh r6, [r0]
- adds r0, r1, 0
- adds r1, r6, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080C3CC4
- movs r1, 0x1
-_080C3CC4:
- adds r0, r4, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r6
- bcc _080C3CD8
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080C3CD8:
- mov r0, r10
- adds r0, 0x2
- add r0, r9
- ldrh r6, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080C3CF2
- movs r1, 0x1
-_080C3CF2:
- adds r0, r5, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r6
- bcc _080C3D06
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C3D06:
- ldr r1, _080C3D3C @ =gUnknown_83F1E60
- mov r2, r9
- adds r0, r2, r1
- ldrh r0, [r0]
- adds r0, r4, r0
- strh r0, [r7]
- ldrh r0, [r7, 0x14]
- lsls r0, 2
- adds r1, 0x2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, r5, r0
- strh r0, [r7, 0x2]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3D30: .4byte gSaveBlock1Ptr
-_080C3D34: .4byte gUnknown_20399E4
-_080C3D38: .4byte gUnknown_83F2178
-_080C3D3C: .4byte gUnknown_83F1E60
- thumb_func_end sub_80C3B28
-
- thumb_func_start sub_80C3D40
-sub_80C3D40: @ 80C3D40
- push {r4,r5,lr}
- bl sub_80C3B00
- lsls r0, 16
- lsrs r0, 16
- subs r0, 0x66
- cmp r0, 0x5C
- bls _080C3D52
- b _080C4132
-_080C3D52:
- lsls r0, 2
- ldr r1, _080C3D5C @ =_080C3D60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C3D5C: .4byte _080C3D60
- .align 2, 0
-_080C3D60:
- .4byte _080C4034
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C40A0
- .4byte _080C40C4
- .4byte _080C40E8
- .4byte _080C4108
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4064
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4028
- .4byte _080C4132
- .4byte _080C3F24
- .4byte _080C3F50
- .4byte _080C3F78
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C3F44
- .4byte _080C3EE4
- .4byte _080C3EF0
- .4byte _080C3ED4
- .4byte _080C3F38
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C3F04
- .4byte _080C4132
- .4byte _080C3F10
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C3FB0
- .4byte _080C3FC8
- .4byte _080C3FD4
- .4byte _080C4132
- .4byte _080C3FF4
- .4byte _080C3FBC
- .4byte _080C4014
- .4byte _080C4132
- .4byte _080C3FE0
- .4byte _080C4132
- .4byte _080C4008
- .4byte _080C4132
- .4byte _080C4132
- .4byte _080C3FA4
- .4byte _080C4008
- .4byte _080C4008
- .4byte _080C4008
- .4byte _080C4008
- .4byte _080C4008
- .4byte _080C4008
- .4byte _080C4008
-_080C3ED4:
- ldr r0, _080C3EE0 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xC
- strh r0, [r1]
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C3EE0: .4byte gUnknown_20399E4
-_080C3EE4:
- ldr r0, _080C3EEC @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xE
- b _080C411C
- .align 2, 0
-_080C3EEC: .4byte gUnknown_20399E4
-_080C3EF0:
- ldr r0, _080C3F00 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x4
- strh r0, [r1]
- movs r0, 0xE
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C3F00: .4byte gUnknown_20399E4
-_080C3F04:
- ldr r0, _080C3F0C @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x12
- b _080C411C
- .align 2, 0
-_080C3F0C: .4byte gUnknown_20399E4
-_080C3F10:
- ldr r0, _080C3F20 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x12
- strh r0, [r1]
- movs r0, 0x4
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C3F20: .4byte gUnknown_20399E4
-_080C3F24:
- ldr r0, _080C3F34 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xE
- strh r0, [r1]
- movs r0, 0x9
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C3F34: .4byte gUnknown_20399E4
-_080C3F38:
- ldr r0, _080C3F40 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x2
- b _080C3FE6
- .align 2, 0
-_080C3F40: .4byte gUnknown_20399E4
-_080C3F44:
- ldr r0, _080C3F4C @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xB
- b _080C411C
- .align 2, 0
-_080C3F4C: .4byte gUnknown_20399E4
-_080C3F50:
- ldr r0, _080C3F70 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r2, 0xE
- strh r2, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- ldr r0, _080C3F74 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1E
- beq _080C3F6C
- b _080C4136
-_080C3F6C:
- b _080C40B6
- .align 2, 0
-_080C3F70: .4byte gUnknown_20399E4
-_080C3F74: .4byte gSaveBlock1Ptr
-_080C3F78:
- ldr r0, _080C3F9C @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xC
- strh r0, [r1]
- movs r2, 0x6
- strh r2, [r1, 0x2]
- ldr r0, _080C3FA0 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x23
- beq _080C3F94
- b _080C4136
-_080C3F94:
- movs r0, 0xF
- strh r0, [r1]
- b _080C4136
- .align 2, 0
-_080C3F9C: .4byte gUnknown_20399E4
-_080C3FA0: .4byte gSaveBlock1Ptr
-_080C3FA4:
- ldr r0, _080C3FAC @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x12
- b _080C4092
- .align 2, 0
-_080C3FAC: .4byte gUnknown_20399E4
-_080C3FB0:
- ldr r0, _080C3FB8 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xA
- b _080C401A
- .align 2, 0
-_080C3FB8: .4byte gUnknown_20399E4
-_080C3FBC:
- ldr r0, _080C3FC4 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x5
- b _080C411C
- .align 2, 0
-_080C3FC4: .4byte gUnknown_20399E4
-_080C3FC8:
- ldr r0, _080C3FD0 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x2
- b _080C3FE6
- .align 2, 0
-_080C3FD0: .4byte gUnknown_20399E4
-_080C3FD4:
- ldr r0, _080C3FDC @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xE
- b _080C4078
- .align 2, 0
-_080C3FDC: .4byte gUnknown_20399E4
-_080C3FE0:
- ldr r0, _080C3FF0 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x11
-_080C3FE6:
- strh r0, [r1]
- movs r0, 0x3
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C3FF0: .4byte gUnknown_20399E4
-_080C3FF4:
- ldr r0, _080C4004 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x11
- strh r0, [r1]
- movs r0, 0xB
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C4004: .4byte gUnknown_20399E4
-_080C4008:
- ldr r0, _080C4010 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x9
- b _080C4078
- .align 2, 0
-_080C4010: .4byte gUnknown_20399E4
-_080C4014:
- ldr r0, _080C4024 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x10
-_080C401A:
- strh r0, [r1]
- movs r0, 0x8
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C4024: .4byte gUnknown_20399E4
-_080C4028:
- ldr r0, _080C4030 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x4
- b _080C411C
- .align 2, 0
-_080C4030: .4byte gUnknown_20399E4
-_080C4034:
- ldr r0, _080C404C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080C4054
- ldr r0, _080C4050 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x4
- b _080C40D8
- .align 2, 0
-_080C404C: .4byte gSaveBlock1Ptr
-_080C4050: .4byte gUnknown_20399E4
-_080C4054:
- cmp r0, 0x3
- bne _080C412C
- ldr r0, _080C4060 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x4
- b _080C40B4
- .align 2, 0
-_080C4060: .4byte gUnknown_20399E4
-_080C4064:
- ldr r0, _080C4080 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x27
- bne _080C4088
- ldr r0, _080C4084 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x4
-_080C4078:
- strh r0, [r1]
- movs r0, 0xC
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C4080: .4byte gSaveBlock1Ptr
-_080C4084: .4byte gUnknown_20399E4
-_080C4088:
- cmp r0, 0x28
- bne _080C4136
- ldr r0, _080C409C @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x4
-_080C4092:
- strh r0, [r1]
- movs r0, 0xD
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C409C: .4byte gUnknown_20399E4
-_080C40A0:
- ldr r0, _080C40BC @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080C412C
- ldr r0, _080C40C0 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xE
-_080C40B4:
- strh r0, [r1]
-_080C40B6:
- movs r0, 0x5
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C40BC: .4byte gSaveBlock1Ptr
-_080C40C0: .4byte gUnknown_20399E4
-_080C40C4:
- ldr r0, _080C40E0 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080C412C
- ldr r0, _080C40E4 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xE
-_080C40D8:
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C40E0: .4byte gSaveBlock1Ptr
-_080C40E4: .4byte gUnknown_20399E4
-_080C40E8:
- ldr r0, _080C4100 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080C412C
- ldr r0, _080C4104 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xD
- b _080C411C
- .align 2, 0
-_080C4100: .4byte gSaveBlock1Ptr
-_080C4104: .4byte gUnknown_20399E4
-_080C4108:
- ldr r0, _080C4124 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080C412C
- ldr r0, _080C4128 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0xF
-_080C411C:
- strh r0, [r1]
- movs r0, 0x6
- strh r0, [r1, 0x2]
- b _080C4136
- .align 2, 0
-_080C4124: .4byte gSaveBlock1Ptr
-_080C4128: .4byte gUnknown_20399E4
-_080C412C:
- bl sub_80C3B28
- b _080C4136
-_080C4132:
- bl sub_80C3B28
-_080C4136:
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080C4160 @ =gUnknown_20399E4
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0
- bl sub_80C4164
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x14]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4160: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3D40
-
- thumb_func_start sub_80C4164
-sub_80C4164: @ 80C4164
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r1, r3, 16
- cmp r0, 0x1
- beq _080C4198
- cmp r0, 0x1
- bgt _080C4186
- cmp r0, 0
- beq _080C4190
- b _080C41D0
-_080C4186:
- cmp r5, 0x2
- beq _080C41A0
- cmp r5, 0x3
- beq _080C41A8
- b _080C41D0
-_080C4190:
- ldr r3, _080C4194 @ =gUnknown_83F2490
- b _080C41AA
- .align 2, 0
-_080C4194: .4byte gUnknown_83F2490
-_080C4198:
- ldr r3, _080C419C @ =gUnknown_83F2724
- b _080C41AA
- .align 2, 0
-_080C419C: .4byte gUnknown_83F2724
-_080C41A0:
- ldr r3, _080C41A4 @ =gUnknown_83F29B8
- b _080C41AA
- .align 2, 0
-_080C41A4: .4byte gUnknown_83F29B8
-_080C41A8:
- ldr r3, _080C41CC @ =gUnknown_83F2C4C
-_080C41AA:
- lsls r1, 16
- asrs r1, 16
- lsls r0, r2, 16
- asrs r0, 16
- movs r2, 0x16
- muls r0, r2
- adds r1, r0
- lsls r0, r4, 2
- adds r0, r4
- lsls r2, r0, 5
- adds r0, r2
- lsls r0, 1
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1]
- b _080C41D2
- .align 2, 0
-_080C41CC: .4byte gUnknown_83F2C4C
-_080C41D0:
- movs r0, 0xC5
-_080C41D2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C4164
-
- thumb_func_start sub_80C41D8
-sub_80C41D8: @ 80C41D8
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r4, _080C4204 @ =gUnknown_20399E8
- movs r0, 0x8C
- bl AllocZeroed
- adds r1, r0, 0
- str r1, [r4]
- ldr r0, _080C4208 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _080C4210
- ldr r0, _080C420C @ =gUnknown_83EF59C
- adds r1, 0xC
- bl LZ77UnCompWram
- b _080C4218
- .align 2, 0
-_080C4204: .4byte gUnknown_20399E8
-_080C4208: .4byte gSaveBlock2Ptr
-_080C420C: .4byte gUnknown_83EF59C
-_080C4210:
- ldr r0, _080C423C @ =gUnknown_83EF524
- adds r1, 0xC
- bl LZ77UnCompWram
-_080C4218:
- ldr r4, _080C4240 @ =gUnknown_20399E8
- ldr r0, [r4]
- strh r6, [r0, 0x8]
- strh r5, [r0, 0xA]
- bl sub_80C3508
- ldr r1, [r4]
- strh r0, [r1]
- bl sub_80C3514
- ldr r1, [r4]
- strh r0, [r1, 0x2]
- bl sub_80C4244
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C423C: .4byte gUnknown_83EF524
-_080C4240: .4byte gUnknown_20399E8
- thumb_func_end sub_80C41D8
-
- thumb_func_start sub_80C4244
-sub_80C4244: @ 80C4244
- push {r4-r6,lr}
- sub sp, 0x40
- ldr r6, _080C42FC @ =gUnknown_20399E8
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xC
- str r0, [sp, 0x30]
- movs r1, 0x80
- add r5, sp, 0x30
- str r1, [r5, 0x4]
- ldrh r0, [r2, 0x8]
- lsls r0, 16
- orrs r0, r1
- str r0, [r5, 0x4]
- ldr r0, _080C4300 @ =gUnknown_83EF27C
- str r0, [sp, 0x38]
- ldrh r3, [r2, 0xA]
- ldr r1, _080C4304 @ =0xffff0000
- add r4, sp, 0x38
- ldr r0, [r4, 0x4]
- ands r0, r1
- orrs r0, r3
- str r0, [r4, 0x4]
- ldrh r0, [r2, 0x8]
- add r1, sp, 0x18
- movs r3, 0
- strh r0, [r1]
- ldrh r2, [r2, 0xA]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- ldr r0, _080C4308 @ =gUnknown_83F1C54
- str r0, [sp, 0x1C]
- ldr r0, _080C430C @ =gUnknown_83F1C64
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, _080C4310 @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x28]
- ldr r0, _080C4314 @ =SpriteCallbackDummy
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldr r0, _080C4318 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _080C42AA
- ldr r0, _080C431C @ =gUnknown_83EF29C
- str r0, [sp, 0x38]
-_080C42AA:
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- ldr r0, [r6]
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 19
- movs r3, 0x90
- lsls r3, 14
- adds r1, r3
- asrs r1, 16
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- lsls r2, 19
- movs r0, 0x90
- lsls r0, 14
- adds r2, r0
- asrs r2, 16
- mov r0, sp
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C4320 @ =gSprites
- adds r1, r0
- str r1, [r2, 0x4]
- movs r0, 0x1
- bl sub_80C4324
- add sp, 0x40
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C42FC: .4byte gUnknown_20399E8
-_080C4300: .4byte gUnknown_83EF27C
-_080C4304: .4byte 0xffff0000
-_080C4308: .4byte gUnknown_83F1C54
-_080C430C: .4byte gUnknown_83F1C64
-_080C4310: .4byte gDummySpriteAffineAnimTable
-_080C4314: .4byte SpriteCallbackDummy
-_080C4318: .4byte gSaveBlock2Ptr
-_080C431C: .4byte gUnknown_83EF29C
-_080C4320: .4byte gSprites
- thumb_func_end sub_80C4244
-
- thumb_func_start sub_80C4324
-sub_80C4324: @ 80C4324
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C4344 @ =gUnknown_20399E8
- ldr r1, [r1]
- ldr r2, [r1, 0x4]
- 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
- .align 2, 0
-_080C4344: .4byte gUnknown_20399E8
- thumb_func_end sub_80C4324
-
- thumb_func_start sub_80C4348
-sub_80C4348: @ 80C4348
- push {r4,lr}
- ldr r4, _080C437C @ =gUnknown_20399E8
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _080C4368
- bl DestroySprite
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0xA]
- bl FreeSpritePaletteByTag
-_080C4368:
- ldr r0, [r4]
- cmp r0, 0
- beq _080C4376
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C4376:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C437C: .4byte gUnknown_20399E8
- thumb_func_end sub_80C4348
-
- thumb_func_start sub_80C4380
-sub_80C4380: @ 80C4380
- ldr r0, _080C4388 @ =gUnknown_20399E8
- ldr r0, [r0]
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_080C4388: .4byte gUnknown_20399E8
- thumb_func_end sub_80C4380
-
- thumb_func_start sub_80C438C
-sub_80C438C: @ 80C438C
- ldr r0, _080C4394 @ =gUnknown_20399E8
- ldr r0, [r0]
- ldrh r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_080C4394: .4byte gUnknown_20399E8
- thumb_func_end sub_80C438C
-
- thumb_func_start sub_80C4398
-sub_80C4398: @ 80C4398
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r5, _080C43F4 @ =gUnknown_20399EC
- ldr r0, _080C43F8 @ =0x0000046c
- bl AllocZeroed
- str r0, [r5]
- movs r2, 0x8D
- lsls r2, 3
- adds r1, r0, r2
- mov r2, r8
- str r2, [r1]
- movs r1, 0x8C
- lsls r1, 3
- adds r0, r1
- strb r4, [r0]
- ldr r0, _080C43FC @ =gUnknown_83F18D8
- ldr r1, [r5]
- bl LZ77UnCompWram
- ldr r0, _080C4400 @ =gUnknown_83F1908
- ldr r1, [r5]
- adds r1, 0x40
- bl LZ77UnCompWram
- ldr r1, _080C4404 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C4408 @ =sub_80C440C
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C43F4: .4byte gUnknown_20399EC
-_080C43F8: .4byte 0x0000046c
-_080C43FC: .4byte gUnknown_83F18D8
-_080C4400: .4byte gUnknown_83F1908
-_080C4404: .4byte gTasks
-_080C4408: .4byte sub_80C440C
- thumb_func_end sub_80C4398
-
- thumb_func_start sub_80C440C
-sub_80C440C: @ 80C440C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C442C @ =gUnknown_20399EC
- ldr r0, [r0]
- ldr r1, _080C4430 @ =0x00000463
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _080C44BC
- lsls r0, 2
- ldr r1, _080C4434 @ =_080C4438
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C442C: .4byte gUnknown_20399EC
-_080C4430: .4byte 0x00000463
-_080C4434: .4byte _080C4438
- .align 2, 0
-_080C4438:
- .4byte _080C444C
- .4byte _080C4452
- .4byte _080C4468
- .4byte _080C446E
- .4byte _080C44A0
-_080C444C:
- bl sub_80C08E0
- b _080C44A4
-_080C4452:
- bl sub_80C47F0
- ldr r0, _080C4460 @ =gUnknown_20399EC
- ldr r1, [r0]
- ldr r0, _080C4464 @ =0x00000463
- adds r1, r0
- b _080C44AC
- .align 2, 0
-_080C4460: .4byte gUnknown_20399EC
-_080C4464: .4byte 0x00000463
-_080C4468:
- bl sub_80C4750
- b _080C44A4
-_080C446E:
- 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, _080C4498 @ =gUnknown_20399EC
- ldr r1, [r0]
- ldr r0, _080C449C @ =0x00000463
- adds r1, r0
- b _080C44AC
- .align 2, 0
-_080C4498: .4byte gUnknown_20399EC
-_080C449C: .4byte 0x00000463
-_080C44A0:
- bl sub_80C08F4
-_080C44A4:
- ldr r0, _080C44B4 @ =gUnknown_20399EC
- ldr r1, [r0]
- ldr r2, _080C44B8 @ =0x00000463
- adds r1, r2
-_080C44AC:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C44DC
- .align 2, 0
-_080C44B4: .4byte gUnknown_20399EC
-_080C44B8: .4byte 0x00000463
-_080C44BC:
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl sub_80C44E4
-_080C44DC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C440C
-
- thumb_func_start sub_80C44E4
-sub_80C44E4: @ 80C44E4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C4504 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C4508 @ =gUnknown_20399EC
- ldr r0, [r0]
- movs r2, 0x8D
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C4504: .4byte gTasks
-_080C4508: .4byte gUnknown_20399EC
- thumb_func_end sub_80C44E4
-
- thumb_func_start sub_80C450C
-sub_80C450C: @ 80C450C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r10, r0
- mov r9, r1
- adds r4, r2, 0
- adds r5, r3, 0
- ldr r3, [sp, 0x4C]
- ldr r6, [sp, 0x50]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- str r5, [sp, 0x28]
- lsls r3, 24
- lsrs r3, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r7, _080C45F4 @ =gUnknown_20399EC
- ldr r0, [r7]
- adds r0, 0x40
- str r0, [sp, 0x18]
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x18
- lsls r1, r3, 16
- orrs r1, r2
- str r1, [r0, 0x4]
- ldr r1, _080C45F8 @ =gUnknown_83EF2BC
- str r1, [sp, 0x20]
- ldr r2, _080C45FC @ =0xffff0000
- add r5, sp, 0x20
- mov r8, r5
- ldr r1, [r5, 0x4]
- ands r1, r2
- orrs r1, r6
- str r1, [r5, 0x4]
- mov r1, sp
- movs r2, 0
- strh r3, [r1]
- strh r6, [r1, 0x2]
- ldr r1, _080C4600 @ =gUnknown_83F1C68
- str r1, [sp, 0x4]
- ldr r1, _080C4604 @ =gUnknown_83F1C94
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r1, _080C4608 @ =gDummySpriteAffineAnimTable
- str r1, [sp, 0x10]
- ldr r1, _080C460C @ =SpriteCallbackDummy
- str r1, [sp, 0x14]
- bl LoadSpriteSheet
- mov r0, r8
- bl LoadSpritePalette
- lsls r4, 19
- movs r0, 0x90
- lsls r0, 14
- adds r4, r0
- asrs r4, 16
- ldr r1, [sp, 0x28]
- lsls r5, r1, 19
- adds r5, r0
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r7]
- mov r5, r9
- lsls r5, 4
- mov r9, r5
- movs r1, 0xB6
- lsls r1, 2
- adds r2, r1
- add r2, r9
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C4610 @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r7]
- add r0, r9
- movs r2, 0xB5
- lsls r2, 2
- adds r0, r2
- mov r5, r10
- strb r5, [r0]
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C45F4: .4byte gUnknown_20399EC
-_080C45F8: .4byte gUnknown_83EF2BC
-_080C45FC: .4byte 0xffff0000
-_080C4600: .4byte gUnknown_83F1C68
-_080C4604: .4byte gUnknown_83F1C94
-_080C4608: .4byte gDummySpriteAffineAnimTable
-_080C460C: .4byte SpriteCallbackDummy
-_080C4610: .4byte gSprites
- thumb_func_end sub_80C450C
-
- thumb_func_start sub_80C4614
-sub_80C4614: @ 80C4614
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- ldr r4, [sp, 0x4C]
- ldr r5, [sp, 0x50]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x28]
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r3, 16
- lsrs r3, 16
- mov r9, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r7, 0
- ldr r0, _080C4730 @ =gUnknown_20399EC
- ldr r0, [r0]
- str r0, [sp, 0x18]
- movs r2, 0x40
- add r0, sp, 0x18
- lsls r1, r4, 16
- orrs r1, r2
- str r1, [r0, 0x4]
- ldr r1, _080C4734 @ =gUnknown_83EF2BC
- str r1, [sp, 0x20]
- ldr r2, _080C4738 @ =0xffff0000
- add r6, sp, 0x20
- ldr r1, [r6, 0x4]
- ands r1, r2
- orrs r1, r5
- str r1, [r6, 0x4]
- mov r1, sp
- strh r4, [r1]
- strh r5, [r1, 0x2]
- ldr r1, _080C473C @ =gUnknown_83F1C70
- str r1, [sp, 0x4]
- ldr r1, _080C4740 @ =gUnknown_83F1C98
- str r1, [sp, 0x8]
- str r7, [sp, 0xC]
- ldr r1, _080C4744 @ =gDummySpriteAffineAnimTable
- str r1, [sp, 0x10]
- ldr r1, _080C4748 @ =SpriteCallbackDummy
- str r1, [sp, 0x14]
- bl LoadSpriteSheet
- adds r0, r6, 0
- bl LoadSpritePalette
- mov r0, r9
- lsls r2, r0, 16
- asrs r2, 16
- mov r1, r8
- lsls r3, r1, 16
- asrs r3, 16
- mov r0, r10
- movs r1, 0
- bl sub_80C4164
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80C35DC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080C46BE
- adds r0, r4, 0
- bl sub_80C35DC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080C46C4
-_080C46BE:
- cmp r5, 0x64
- beq _080C46C4
- movs r7, 0x2
-_080C46C4:
- mov r3, r8
- lsls r1, r3, 3
- lsls r0, r7, 16
- asrs r0, 16
- adds r0, 0x24
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- mov r3, r9
- lsls r2, r3, 3
- adds r2, r0
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080C4730 @ =gUnknown_20399EC
- ldr r2, [r4]
- ldr r1, [sp, 0x28]
- lsls r3, r1, 4
- movs r1, 0xA4
- lsls r1, 1
- adds r2, r1
- adds r2, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C474C @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r3
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r3
- mov r1, r10
- strb r1, [r0]
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4730: .4byte gUnknown_20399EC
-_080C4734: .4byte gUnknown_83EF2BC
-_080C4738: .4byte 0xffff0000
-_080C473C: .4byte gUnknown_83F1C70
-_080C4740: .4byte gUnknown_83F1C98
-_080C4744: .4byte gDummySpriteAffineAnimTable
-_080C4748: .4byte SpriteCallbackDummy
-_080C474C: .4byte gSprites
- thumb_func_end sub_80C4614
-
- thumb_func_start sub_80C4750
-sub_80C4750: @ 80C4750
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r7, 0
- movs r0, 0x3
- bl sub_80C0E04
- lsls r0, 24
- cmp r0, 0
- beq _080C47E0
- movs r1, 0
-_080C476C:
- movs r5, 0
- lsls r0, r1, 24
- adds r1, 0x1
- mov r10, r1
- lsrs r0, 24
- str r0, [sp, 0x8]
-_080C4778:
- movs r4, 0
- lsls r0, r5, 16
- mov r8, r0
- adds r1, r5, 0x1
- mov r9, r1
-_080C4782:
- lsls r3, r4, 16
- asrs r3, 16
- ldr r0, [sp, 0x8]
- movs r1, 0
- mov r6, r8
- asrs r2, r6, 16
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C35DC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080C47C2
- adds r0, r7, 0
- adds r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x8]
- adds r1, r7, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80C450C
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080C47C2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x15
- bls _080C4782
- mov r1, r9
- lsls r0, r1, 16
- lsrs r5, r0, 16
- cmp r5, 0xE
- bls _080C4778
- mov r6, r10
- lsls r0, r6, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080C476C
-_080C47E0:
- 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_80C4750
-
- thumb_func_start sub_80C47F0
-sub_80C47F0: @ 80C47F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r6, 0
- movs r1, 0
-_080C4800:
- movs r7, 0
- lsls r0, r1, 24
- adds r1, 0x1
- str r1, [sp, 0x8]
- lsrs r0, 24
- mov r8, r0
-_080C480C:
- movs r5, 0
- lsls r0, r7, 16
- mov r9, r0
- adds r1, r7, 0x1
- mov r10, r1
-_080C4816:
- lsls r3, r5, 16
- asrs r3, 16
- mov r0, r8
- movs r1, 0x1
- mov r4, r9
- asrs r2, r4, 16
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0xC5
- beq _080C4884
- cmp r0, 0x8D
- bne _080C4840
- ldr r0, _080C48B4 @ =0x00000844
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080C4884
-_080C4840:
- adds r0, r6, 0
- adds r0, 0x23
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- mov r0, r8
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_80C4614
- adds r0, r4, 0
- bl sub_80C3878
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080C487E
- ldr r0, _080C48B8 @ =gUnknown_20399EC
- ldr r0, [r0]
- lsls r1, r6, 4
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
-_080C487E:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080C4884:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x15
- bls _080C4816
- mov r4, r10
- lsls r0, r4, 16
- lsrs r7, r0, 16
- cmp r7, 0xE
- bls _080C480C
- ldr r1, [sp, 0x8]
- lsls r0, r1, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080C4800
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C48B4: .4byte 0x00000844
-_080C48B8: .4byte gUnknown_20399EC
- thumb_func_end sub_80C47F0
-
- thumb_func_start sub_80C48BC
-sub_80C48BC: @ 80C48BC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- cmp r1, 0x19
- bne _080C4920
- movs r3, 0
- ldr r0, _080C491C @ =gUnknown_20399EC
- mov r12, r0
- movs r1, 0x1
- adds r0, r5, 0
- ands r0, r1
- lsls r5, r0, 2
- movs r6, 0x5
- negs r6, r6
-_080C48E0:
- mov r7, r12
- ldr r1, [r7]
- lsls r2, r3, 4
- adds r0, r1, r2
- movs r7, 0xB5
- lsls r7, 2
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, r4
- beq _080C48F8
- cmp r4, 0xFF
- bne _080C490E
-_080C48F8:
- movs r7, 0xB6
- lsls r7, 2
- adds r0, r1, r7
- adds r0, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1]
-_080C490E:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x18
- bls _080C48E0
- b _080C4954
- .align 2, 0
-_080C491C: .4byte gUnknown_20399EC
-_080C4920:
- ldr r0, _080C495C @ =gUnknown_20399EC
- ldr r2, [r0]
- lsls r1, 4
- adds r0, r2, r1
- movs r3, 0xB5
- lsls r3, 2
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, r4
- bne _080C4954
- movs r7, 0xB6
- lsls r7, 2
- adds r0, r2, r7
- adds r0, r1
- ldr r2, [r0]
- adds r2, 0x3E
- movs r0, 0x1
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_080C4954:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C495C: .4byte gUnknown_20399EC
- thumb_func_end sub_80C48BC
-
- thumb_func_start sub_80C4960
-sub_80C4960: @ 80C4960
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- cmp r1, 0x19
- bne _080C49C4
- movs r3, 0
- ldr r0, _080C49C0 @ =gUnknown_20399EC
- mov r12, r0
- movs r1, 0x1
- adds r0, r5, 0
- ands r0, r1
- lsls r5, r0, 2
- movs r6, 0x5
- negs r6, r6
-_080C4984:
- mov r7, r12
- ldr r1, [r7]
- lsls r2, r3, 4
- adds r0, r1, r2
- movs r7, 0xA2
- lsls r7, 1
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, r4
- beq _080C499C
- cmp r4, 0xFF
- bne _080C49B2
-_080C499C:
- movs r7, 0xA4
- lsls r7, 1
- adds r0, r1, r7
- adds r0, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1]
-_080C49B2:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x18
- bls _080C4984
- b _080C49F8
- .align 2, 0
-_080C49C0: .4byte gUnknown_20399EC
-_080C49C4:
- ldr r0, _080C4A00 @ =gUnknown_20399EC
- ldr r2, [r0]
- lsls r1, 4
- adds r0, r2, r1
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, r4
- beq _080C49F8
- movs r7, 0xA4
- lsls r7, 1
- adds r0, r2, r7
- adds r0, r1
- ldr r2, [r0]
- adds r2, 0x3E
- movs r0, 0x1
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_080C49F8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4A00: .4byte gUnknown_20399EC
- thumb_func_end sub_80C4960
-
- thumb_func_start sub_80C4A04
-sub_80C4A04: @ 80C4A04
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _080C4AA4 @ =gUnknown_20399EC
-_080C4A0A:
- ldr r0, [r6]
- lsls r4, r5, 4
- movs r1, 0xB6
- lsls r1, 2
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080C4A3E
- bl DestroySprite
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0xB7
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r6]
- adds r0, r4
- ldr r1, _080C4AA8 @ =0x000002de
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080C4A3E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x18
- bls _080C4A0A
- movs r5, 0
- ldr r6, _080C4AA4 @ =gUnknown_20399EC
-_080C4A4C:
- ldr r0, [r6]
- lsls r4, r5, 4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080C4A82
- bl DestroySprite
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0xA7
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080C4A82:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x18
- bls _080C4A4C
- ldr r4, _080C4AA4 @ =gUnknown_20399EC
- ldr r0, [r4]
- cmp r0, 0
- beq _080C4A9C
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C4A9C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4AA4: .4byte gUnknown_20399EC
-_080C4AA8: .4byte 0x000002de
- thumb_func_end sub_80C4A04
-
- thumb_func_start sub_80C4AAC
-sub_80C4AAC: @ 80C4AAC
- push {r4,lr}
- lsls r0, 24
- ldr r1, _080C4B24 @ =gUnknown_20399F0
- lsrs r0, 22
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- bne _080C4B28
- movs r0, 0x14
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x50
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1]
- movs r0, 0x54
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1, 0x2]
- movs r0, 0x52
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1, 0x4]
- movs r0, 0x48
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1, 0x6]
- movs r0, 0x4A
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1, 0x8]
- movs r0, 0x40
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1, 0xA]
- movs r0, 0x42
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1, 0xC]
- movs r0, 0x44
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1, 0xE]
- movs r0, 0x46
- bl GetGpuReg
- ldr r1, [r4]
- strh r0, [r1, 0x10]
- movs r0, 0x1
- b _080C4B2A
- .align 2, 0
-_080C4B24: .4byte gUnknown_20399F0
-_080C4B28:
- movs r0, 0
-_080C4B2A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C4AAC
-
- thumb_func_start sub_80C4B30
-sub_80C4B30: @ 80C4B30
- push {r4,lr}
- lsls r0, 24
- ldr r1, _080C4B44 @ =gUnknown_20399F0
- lsrs r0, 22
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- bne _080C4B48
- movs r0, 0
- b _080C4BB0
- .align 2, 0
-_080C4B44: .4byte gUnknown_20399F0
-_080C4B48:
- ldrh r1, [r0]
- movs r0, 0x50
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x2]
- movs r0, 0x54
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x4]
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x6]
- movs r0, 0x48
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x8]
- movs r0, 0x4A
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0xA]
- movs r0, 0x40
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0xC]
- movs r0, 0x42
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- movs r0, 0x44
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x10]
- movs r0, 0x46
- bl SetGpuReg
- ldr r0, [r4]
- cmp r0, 0
- beq _080C4BAE
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C4BAE:
- movs r0, 0x1
-_080C4BB0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C4B30
-
- thumb_func_start sub_80C4BB8
-sub_80C4BB8: @ 80C4BB8
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _080C4BE0 @ =gUnknown_20399F0
-_080C4BBE:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- cmp r0, 0
- beq _080C4BD0
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C4BD0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080C4BBE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4BE0: .4byte gUnknown_20399F0
- thumb_func_end sub_80C4BB8
-
- thumb_func_start sub_80C4BE4
-sub_80C4BE4: @ 80C4BE4
- push {lr}
- sub sp, 0x8
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- bl sub_80C4C2C
- movs r0, 0
- bl sub_80C4C48
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0x1
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C74
- movs r0, 0
- movs r1, 0x1
- bl sub_80C4C9C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80C4C9C
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80C4BE4
-
- thumb_func_start sub_80C4C2C
-sub_80C4C2C: @ 80C4C2C
- push {lr}
- adds r3, r0, 0
- lsls r1, 16
- lsls r2, 16
- lsls r3, 24
- orrs r3, r1
- orrs r3, r2
- lsrs r3, 16
- movs r0, 0x50
- adds r1, r3, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80C4C2C
-
- thumb_func_start sub_80C4C48
-sub_80C4C48: @ 80C4C48
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x54
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80C4C48
-
- thumb_func_start sub_80C4C5C
-sub_80C4C5C: @ 80C4C5C
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- lsls r2, 24
- orrs r2, r1
- lsrs r2, 16
- movs r0, 0x52
- adds r1, r2, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80C4C5C
-
- thumb_func_start sub_80C4C74
-sub_80C4C74: @ 80C4C74
- push {lr}
- lsls r0, 16
- lsls r1, 24
- orrs r1, r0
- lsrs r1, 16
- movs r0, 0x48
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80C4C74
-
- thumb_func_start sub_80C4C88
-sub_80C4C88: @ 80C4C88
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4A
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80C4C88
-
- thumb_func_start sub_80C4C9C
-sub_80C4C9C: @ 80C4C9C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r1, _080C4CBC @ =gUnknown_83F1CA0
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- cmp r4, 0
- beq _080C4CC0
- cmp r4, 0x1
- beq _080C4CDC
- b _080C4CE8
- .align 2, 0
-_080C4CBC: .4byte gUnknown_83F1CA0
-_080C4CC0:
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- lsls r0, r5, 1
- add r0, sp
- ldrh r0, [r0]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- b _080C4CE8
-_080C4CDC:
- lsls r0, r5, 1
- add r0, sp
- ldrh r1, [r0]
- movs r0, 0
- bl ClearGpuRegBits
-_080C4CE8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C4C9C
-
- thumb_func_start sub_80C4CF0
-sub_80C4CF0: @ 80C4CF0
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- ldr r5, _080C4D2C @ =gUnknown_83F1CA4
- lsrs r4, 23
- adds r0, r4, r5
- ldrb r0, [r0]
- ldrh r1, [r6, 0x2]
- lsls r1, 8
- ldrh r2, [r6, 0x6]
- orrs r1, r2
- lsls r1, 16
- lsrs r1, 16
- bl SetGpuReg
- adds r5, 0x1
- adds r4, r5
- ldrb r0, [r4]
- ldrh r1, [r6]
- lsls r1, 8
- ldrh r2, [r6, 0x4]
- orrs r1, r2
- lsls r1, 16
- lsrs r1, 16
- bl SetGpuReg
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4D2C: .4byte gUnknown_83F1CA4
- thumb_func_end sub_80C4CF0
-
- thumb_func_start sub_80C4D30
-sub_80C4D30: @ 80C4D30
- push {lr}
- bl sub_80C4BB8
- bl sub_80C4BE4
- pop {r0}
- bx r0
- thumb_func_end sub_80C4D30
-
- thumb_func_start sub_80C4D40
-sub_80C4D40: @ 80C4D40
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080C4D68 @ =gUnknown_20399D4
- ldr r0, [r0]
- cmp r0, 0
- bne _080C4D70
- cmp r1, 0x5E
- bne _080C4D70
- ldr r0, _080C4D6C @ =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0xA
- bne _080C4D70
- ldrb r0, [r1, 0x5]
- cmp r0, 0x6
- bhi _080C4D70
- movs r0, 0x1
- b _080C4D72
- .align 2, 0
-_080C4D68: .4byte gUnknown_20399D4
-_080C4D6C: .4byte gSaveBlock1Ptr
-_080C4D70:
- movs r0, 0
-_080C4D72:
- pop {r1}
- bx r1
- thumb_func_end sub_80C4D40
-
- thumb_func_start GetMapName
-GetMapName: @ 80C4D78
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- lsrs r0, r1, 16
- ldr r2, _080C4D9C @ =0xffa80000
- adds r1, r2
- lsrs r5, r1, 16
- cmp r5, 0x6C
- bhi _080C4DBC
- bl sub_80C4D40
- cmp r0, 0x1
- bne _080C4DA4
- ldr r1, _080C4DA0 @ =gMapSecName_CeladonDept
- b _080C4DAC
- .align 2, 0
-_080C4D9C: .4byte 0xffa80000
-_080C4DA0: .4byte gMapSecName_CeladonDept
-_080C4DA4:
- ldr r0, _080C4DB8 @ =gUnknown_83F1CAC
- lsls r1, r5, 2
- adds r1, r0
- ldr r1, [r1]
-_080C4DAC:
- adds r0, r6, 0
- bl StringCopy
- adds r1, r0, 0
- b _080C4DCE
- .align 2, 0
-_080C4DB8: .4byte gUnknown_83F1CAC
-_080C4DBC:
- cmp r4, 0
- bne _080C4DC2
- movs r4, 0x12
-_080C4DC2:
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- bl StringFill
- b _080C4DF2
-_080C4DCE:
- cmp r4, 0
- beq _080C4DF0
- subs r0, r1, r6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bcs _080C4DEC
- movs r2, 0
-_080C4DDE:
- strb r2, [r1]
- adds r1, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bcc _080C4DDE
-_080C4DEC:
- movs r0, 0xFF
- strb r0, [r1]
-_080C4DF0:
- adds r0, r1, 0
-_080C4DF2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetMapName
-
- thumb_func_start GetMapNameGeneric
-GetMapNameGeneric: @ 80C4DF8
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0
- bl GetMapName
- pop {r1}
- bx r1
- thumb_func_end GetMapNameGeneric
-
- thumb_func_start sub_80C4E08
-sub_80C4E08: @ 80C4E08
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl GetMapNameGeneric
- pop {r1}
- bx r1
- thumb_func_end sub_80C4E08
-
- thumb_func_start sub_80C4E18
-sub_80C4E18: @ 80C4E18
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r0, _080C4E38 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C4E3C @ =0x00004799
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080C4E40
- movs r0, 0x3
- movs r1, 0
- bl FillWindowPixelBuffer
- b _080C4E48
- .align 2, 0
-_080C4E38: .4byte gUnknown_20399D4
-_080C4E3C: .4byte 0x00004799
-_080C4E40:
- movs r0, 0x3
- movs r1, 0xFF
- bl FillWindowPixelBuffer
-_080C4E48:
- ldr r0, _080C4E70 @ =gUnknown_83F1CA8
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AddTextPrinterParameterized3
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4E70: .4byte gUnknown_83F1CA8
- thumb_func_end sub_80C4E18
-
- thumb_func_start sub_80C4E74
-sub_80C4E74: @ 80C4E74
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r0, _080C4E94 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C4E98 @ =0x00004799
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080C4E9C
- movs r0, 0x4
- movs r1, 0
- bl FillWindowPixelBuffer
- b _080C4EA4
- .align 2, 0
-_080C4E94: .4byte gUnknown_20399D4
-_080C4E98: .4byte 0x00004799
-_080C4E9C:
- movs r0, 0x4
- movs r1, 0xFF
- bl FillWindowPixelBuffer
-_080C4EA4:
- ldr r0, _080C4ECC @ =gUnknown_83F1CA8
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AddTextPrinterParameterized3
- movs r0, 0x4
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4ECC: .4byte gUnknown_83F1CA8
- thumb_func_end sub_80C4E74
-
- thumb_func_start sub_80C4ED0
-sub_80C4ED0: @ 80C4ED0
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _080C4EE6
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x4
- bl PutWindowTilemap
- b _080C4EF2
-_080C4EE6:
- movs r0, 0x3
- bl ClearWindowTilemap
- movs r0, 0x4
- bl ClearWindowTilemap
-_080C4EF2:
- pop {r0}
- bx r0
- thumb_func_end sub_80C4ED0
-
- thumb_func_start MCB2_FlyMap
-MCB2_FlyMap: @ 80C4EF8
- push {lr}
- bl sub_80C51E8
- movs r0, 0x2
- bl sub_80BFEDC
- pop {r0}
- bx r0
- thumb_func_end MCB2_FlyMap
-
- thumb_func_start sub_80C4F08
-sub_80C4F08: @ 80C4F08
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C4F28 @ =gUnknown_20399FC
- ldr r2, [r0]
- ldrb r0, [r2]
- cmp r0, 0x6
- bls _080C4F1C
- b _080C51B8
-_080C4F1C:
- lsls r0, 2
- ldr r1, _080C4F2C @ =_080C4F30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C4F28: .4byte gUnknown_20399FC
-_080C4F2C: .4byte _080C4F30
- .align 2, 0
-_080C4F30:
- .4byte _080C4F4C
- .4byte _080C4F92
- .4byte _080C4FEC
- .4byte _080C5000
- .4byte _080C5028
- .4byte _080C5180
- .4byte _080C5196
-_080C4F4C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl sub_80C0E20
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80C07E4
- adds r2, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80C4398
- movs r0, 0
- movs r1, 0
- bl sub_80C3008
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80C41D8
- movs r0, 0
- bl sub_80C3154
- movs r0, 0
- bl sub_80C4324
- b _080C51A6
-_080C4F92:
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C4FAE
- bl sub_80C07E4
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_80C2208
- b _080C51A6
-_080C4FAE:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- ldr r0, _080C4FE8 @ =gUnknown_8418EB5
- bl sub_80C4E18
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
- b _080C51A6
- .align 2, 0
-_080C4FE8: .4byte gUnknown_8418EB5
-_080C4FEC:
- ldr r0, _080C4FFC @ =gUnknown_8418EB0
- bl sub_80C4E74
- movs r0, 0
- bl sub_80C4ED0
- b _080C51A6
- .align 2, 0
-_080C4FFC: .4byte gUnknown_8418EB0
-_080C5000:
- ldr r0, _080C5024 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C500E
- b _080C51DC
-_080C500E:
- bl sub_80C0B18
- movs r0, 0
- bl PutWindowTilemap
- bl sub_80C0BB0
- movs r0, 0x1
- bl PutWindowTilemap
- b _080C51A6
- .align 2, 0
-_080C5024: .4byte gPaletteFade
-_080C5028:
- bl sub_80C3400
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x5
- bls _080C5038
- b _080C51DC
-_080C5038:
- lsls r0, 2
- ldr r1, _080C5044 @ =_080C5048
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C5044: .4byte _080C5048
- .align 2, 0
-_080C5048:
- .4byte _080C51DC
- .4byte _080C51DC
- .4byte _080C5070
- .4byte _080C50F8
- .4byte _080C5168
- .4byte _080C5060
-_080C5060:
- ldr r0, _080C506C @ =gUnknown_20399FC
- ldr r1, [r0]
- movs r0, 0x6
- strb r0, [r1]
- b _080C51DC
- .align 2, 0
-_080C506C: .4byte gUnknown_20399FC
-_080C5070:
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080C5086
- movs r0, 0x66
- bl PlaySE
- b _080C508A
-_080C5086:
- bl sub_80C0450
-_080C508A:
- bl sub_80C3178
- bl sub_80C0B18
- bl sub_80C0BB0
- bl sub_80C0B9C
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C50C4
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xD
- bne _080C50C4
- movs r0, 0xE1
- bl PlaySE
- ldr r0, _080C50C0 @ =gUnknown_8418E95
- bl sub_80C4E74
- b _080C51DC
- .align 2, 0
-_080C50C0: .4byte gUnknown_8418E95
-_080C50C4:
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080C50E0
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080C50EC
-_080C50E0:
- ldr r0, _080C50E8 @ =gUnknown_8418EB0
- bl sub_80C4E74
- b _080C51DC
- .align 2, 0
-_080C50E8: .4byte gUnknown_8418EB0
-_080C50EC:
- ldr r0, _080C50F4 @ =gUnknown_8418E8B
- bl sub_80C4E74
- b _080C51DC
- .align 2, 0
-_080C50F4: .4byte gUnknown_8418E8B
-_080C50F8:
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080C5114
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080C51DC
-_080C5114:
- movs r0, 0x3
- bl sub_80C0E04
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _080C51DC
- ldr r0, _080C514C @ =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _080C5140
- cmp r0, 0x8
- bne _080C5154
-_080C5140:
- ldr r2, _080C5150 @ =gUnknown_20399FC
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x2]
- ldr r1, [r2]
- b _080C51AA
- .align 2, 0
-_080C514C: .4byte gSaveBlock1Ptr
-_080C5150: .4byte gUnknown_20399FC
-_080C5154:
- movs r0, 0x1
- bl PlaySE
- ldr r1, _080C5164 @ =gUnknown_20399FC
- ldr r0, [r1]
- strb r4, [r0, 0x2]
- ldr r1, [r1]
- b _080C51AA
- .align 2, 0
-_080C5164: .4byte gUnknown_20399FC
-_080C5168:
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C517C @ =sub_80C07F8
- adds r1, r5, 0
- bl sub_80C0E70
- b _080C51DC
- .align 2, 0
-_080C517C: .4byte sub_80C07F8
-_080C5180:
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C51A6
- adds r0, r5, 0
- bl sub_80C2C1C
- b _080C51A6
-_080C5196:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080C51A6:
- ldr r0, _080C51B4 @ =gUnknown_20399FC
- ldr r1, [r0]
-_080C51AA:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C51DC
- .align 2, 0
-_080C51B4: .4byte gUnknown_20399FC
-_080C51B8:
- ldr r0, _080C51E4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C51DC
- ldrb r0, [r2, 0x2]
- cmp r0, 0x1
- bne _080C51D6
- bl sub_80C3520
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C527C
-_080C51D6:
- adds r0, r5, 0
- bl sub_80C5208
-_080C51DC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C51E4: .4byte gPaletteFade
- thumb_func_end sub_80C4F08
-
- thumb_func_start sub_80C51E8
-sub_80C51E8: @ 80C51E8
- push {r4,lr}
- ldr r4, _080C5204 @ =gUnknown_20399FC
- movs r0, 0x4
- bl AllocZeroed
- str r0, [r4]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- strb r1, [r0, 0x1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5204: .4byte gUnknown_20399FC
- thumb_func_end sub_80C51E8
-
- thumb_func_start sub_80C5208
-sub_80C5208: @ 80C5208
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C5220
- bl sub_80C25BC
-_080C5220:
- bl sub_80C4A04
- bl sub_80C3188
- bl sub_80C4348
- bl sub_80C4D30
- bl sub_80C0898
- adds r0, r4, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, _080C5250 @ =gUnknown_20399FC
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x1
- bne _080C5258
- ldr r0, _080C5254 @ =CB2_ReturnToField
- bl SetMainCallback2
- b _080C525E
- .align 2, 0
-_080C5250: .4byte gUnknown_20399FC
-_080C5254: .4byte CB2_ReturnToField
-_080C5258:
- ldr r0, _080C5274 @ =CB2_ReturnToPartyMenuFromFlyMap
- bl SetMainCallback2
-_080C525E:
- ldr r4, _080C5278 @ =gUnknown_20399FC
- ldr r0, [r4]
- cmp r0, 0
- beq _080C526E
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C526E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5274: .4byte CB2_ReturnToPartyMenuFromFlyMap
-_080C5278: .4byte gUnknown_20399FC
- thumb_func_end sub_80C5208
-
- thumb_func_start sub_80C527C
-sub_80C527C: @ 80C527C
- push {r4,r5,lr}
- lsls r0, 16
- ldr r1, _080C52A4 @ =0xffa80000
- adds r0, r1
- lsrs r0, 16
- ldr r5, _080C52A8 @ =gUnknown_83F2EE0
- lsls r1, r0, 1
- adds r4, r1, r0
- adds r0, r5, 0x2
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080C52AC
- bl sub_805546C
- adds r0, r4, r5
- bl sub_8124C1C
- b _080C52C6
- .align 2, 0
-_080C52A4: .4byte 0xffa80000
-_080C52A8: .4byte gUnknown_83F2EE0
-_080C52AC:
- adds r0, r4, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r5, 0x1
- adds r1, r4, r1
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- bl warp1_set_2
-_080C52C6:
- bl sub_80842C8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C527C
-
- thumb_func_start sub_80C52D0
-sub_80C52D0: @ 80C52D0
- push {lr}
- ldr r2, _080C5318 @ =gUnknown_3005334
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, _080C531C @ =gUnknown_3005348
- ldrb r1, [r0, 0x1F]
- strb r1, [r2]
- ldr r2, _080C5320 @ =gUnknown_3005330
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, _080C5324 @ =gUnknown_3005344
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, _080C5328 @ =gUnknown_3005340
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, _080C532C @ =gUnknown_3005338
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, _080C5330 @ =gUnknown_300534C
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, _080C5334 @ =gUnknown_300533C
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrb r0, [r0]
- subs r0, 0x2
- cmp r0, 0x22
- bls _080C530C
- b _080C5458
-_080C530C:
- lsls r0, 2
- ldr r1, _080C5338 @ =_080C533C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C5318: .4byte gUnknown_3005334
-_080C531C: .4byte gUnknown_3005348
-_080C5320: .4byte gUnknown_3005330
-_080C5324: .4byte gUnknown_3005344
-_080C5328: .4byte gUnknown_3005340
-_080C532C: .4byte gUnknown_3005338
-_080C5330: .4byte gUnknown_300534C
-_080C5334: .4byte gUnknown_300533C
-_080C5338: .4byte _080C533C
- .align 2, 0
-_080C533C:
- .4byte _080C53C8
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5428
- .4byte _080C5458
- .4byte _080C53CE
- .4byte _080C53D4
- .4byte _080C53E8
- .4byte _080C53FA
- .4byte _080C5458
- .4byte _080C5410
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5416
- .4byte _080C53F4
- .4byte _080C541C
- .4byte _080C5422
- .4byte _080C5458
- .4byte _080C5458
- .4byte _080C5434
-_080C53C8:
- bl sub_80C55D4
- b _080C5458
-_080C53CE:
- bl sub_80C568C
- b _080C5458
-_080C53D4:
- bl sub_80C5884
- ldr r0, _080C53E4 @ =gUnknown_3005348
- ldrb r0, [r0]
- bl sub_80C5748
- b _080C5458
- .align 2, 0
-_080C53E4: .4byte gUnknown_3005348
-_080C53E8:
- bl sub_80C5884
- bl sub_80C59D4
- bl sub_80C57EC
-_080C53F4:
- bl sub_80C59D4
- b _080C5458
-_080C53FA:
- bl sub_80C5884
- bl sub_80C5B9C
- bl sub_80C5B9C
- bl sub_80C5C44
- bl sub_80C57EC
- b _080C5458
-_080C5410:
- bl sub_80C5A6C
- b _080C5458
-_080C5416:
- bl sub_80C5884
- b _080C5458
-_080C541C:
- bl sub_80C5B9C
- b _080C5458
-_080C5422:
- bl sub_80C5C44
- b _080C5458
-_080C5428:
- bl sub_80C55F4
- movs r0, 0x3
- bl sub_80C545C
- b _080C5458
-_080C5434:
- bl sub_80C5884
- bl sub_80C5B9C
- bl sub_80C5C44
- bl sub_80C57EC
- bl sub_80C568C
- bl sub_80C568C
- movs r0, 0x2
- bl sub_80C545C
- movs r0, 0x4
- bl sub_80C5514
-_080C5458:
- pop {r0}
- bx r0
- thumb_func_end sub_80C52D0
-
- thumb_func_start sub_80C545C
-sub_80C545C: @ 80C545C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r2, 0
- ldr r0, _080C54FC @ =gUnknown_3005338
- mov r8, r0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C54EE
- ldr r1, _080C5500 @ =gUnknown_3005340
- mov r12, r1
- ldr r3, _080C5504 @ =gUnknown_300534C
- mov r10, r3
- ldr r0, _080C5508 @ =gUnknown_3005330
- mov r9, r0
-_080C5482:
- ldr r1, _080C550C @ =gUnknown_3005344
- ldrb r0, [r1]
- adds r0, r2
- mov r3, r10
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, _080C5510 @ =gUnknown_3005334
- ldr r1, [r3]
- adds r1, r0
- mov r3, r9
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r4, 0
- adds r5, r2, 0x1
- mov r0, r12
- ldrb r0, [r0]
- cmp r4, r0
- bcs _080C54E2
- movs r6, 0x80
- lsls r6, 8
-_080C54AE:
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _080C54D2
- movs r0, 0x1F
- ands r0, r1
- adds r0, r7
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080C54C8
- movs r2, 0x1F
-_080C54C8:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_080C54D2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r3, 0x2
- mov r1, r12
- ldrb r1, [r1]
- cmp r4, r1
- bcc _080C54AE
-_080C54E2:
- lsls r0, r5, 24
- lsrs r2, r0, 24
- mov r3, r8
- ldrb r3, [r3]
- cmp r2, r3
- bcc _080C5482
-_080C54EE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C54FC: .4byte gUnknown_3005338
-_080C5500: .4byte gUnknown_3005340
-_080C5504: .4byte gUnknown_300534C
-_080C5508: .4byte gUnknown_3005330
-_080C550C: .4byte gUnknown_3005344
-_080C5510: .4byte gUnknown_3005334
- thumb_func_end sub_80C545C
-
- thumb_func_start sub_80C5514
-sub_80C5514: @ 80C5514
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, _080C55BC @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C55AC
- ldr r1, _080C55C0 @ =gUnknown_3005340
- mov r10, r1
-_080C5532:
- ldr r3, _080C55C4 @ =gUnknown_3005344
- ldrb r0, [r3]
- adds r0, r2
- ldr r3, _080C55C8 @ =gUnknown_300534C
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, _080C55CC @ =gUnknown_3005334
- ldr r1, [r3]
- adds r1, r0
- ldr r3, _080C55D0 @ =gUnknown_3005330
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r5, 0
- adds r7, r2, 0x1
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080C55A0
- movs r1, 0x80
- lsls r1, 8
- mov r9, r1
- movs r0, 0x1F
- mov r12, r0
- mov r1, r8
- subs r6, r0, r1
-_080C5568:
- ldrh r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080C5590
- movs r4, 0x1F
- mov r2, r12
- ands r2, r1
- cmp r2, r6
- ble _080C5586
- mov r1, r8
- lsrs r0, r1, 1
- subs r0, r4, r0
- lsls r0, 24
- lsrs r2, r0, 24
-_080C5586:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_080C5590:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r3, 0x2
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080C5568
-_080C55A0:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r1, _080C55BC @ =gUnknown_3005338
- ldrb r1, [r1]
- cmp r2, r1
- bcc _080C5532
-_080C55AC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C55BC: .4byte gUnknown_3005338
-_080C55C0: .4byte gUnknown_3005340
-_080C55C4: .4byte gUnknown_3005344
-_080C55C8: .4byte gUnknown_300534C
-_080C55CC: .4byte gUnknown_3005334
-_080C55D0: .4byte gUnknown_3005330
- thumb_func_end sub_80C5514
-
- thumb_func_start sub_80C55D4
-sub_80C55D4: @ 80C55D4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080C55F0 @ =0x00000c7f
-_080C55DA:
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80C5CF8
- adds r4, 0x1
- cmp r4, r5
- bls _080C55DA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C55F0: .4byte 0x00000c7f
- thumb_func_end sub_80C55D4
-
- thumb_func_start sub_80C55F4
-sub_80C55F4: @ 80C55F4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080C5674 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C5666
- ldr r0, _080C5678 @ =gUnknown_3005334
- mov r8, r0
- ldr r3, _080C567C @ =gUnknown_3005340
-_080C560C:
- ldr r0, _080C5680 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C5684 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080C5688 @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080C565A
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080C5638:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080C564C
- adds r0, r4, 0
- str r3, [sp]
- bl sub_80C5ECC
- strh r0, [r4]
- ldr r3, [sp]
-_080C564C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080C5638
-_080C565A:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080C5674 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C560C
-_080C5666:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5674: .4byte gUnknown_3005338
-_080C5678: .4byte gUnknown_3005334
-_080C567C: .4byte gUnknown_3005340
-_080C5680: .4byte gUnknown_3005344
-_080C5684: .4byte gUnknown_300534C
-_080C5688: .4byte gUnknown_3005330
- thumb_func_end sub_80C55F4
-
- thumb_func_start sub_80C568C
-sub_80C568C: @ 80C568C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, _080C5730 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C5722
- ldr r0, _080C5734 @ =gUnknown_3005334
- mov r8, r0
- ldr r3, _080C5738 @ =gUnknown_300534C
-_080C56A4:
- ldr r0, _080C573C @ =gUnknown_3005344
- ldrb r1, [r0]
- ldrb r0, [r3]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080C5740 @ =gUnknown_3005330
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r3]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080C5744 @ =gUnknown_3005338
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, r2, 0x1
- cmp r5, r0
- bge _080C5716
- ldr r6, _080C5738 @ =gUnknown_300534C
-_080C56DA:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080C5700
- ldrb r2, [r6]
- lsls r2, 1
- adds r2, r4, r2
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_80C61BC
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r3, [sp, 0x4]
-_080C5700:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080C5744 @ =gUnknown_3005338
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080C56DA
-_080C5716:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080C5730 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C56A4
-_080C5722:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5730: .4byte gUnknown_3005340
-_080C5734: .4byte gUnknown_3005334
-_080C5738: .4byte gUnknown_300534C
-_080C573C: .4byte gUnknown_3005344
-_080C5740: .4byte gUnknown_3005330
-_080C5744: .4byte gUnknown_3005338
- thumb_func_end sub_80C568C
-
- thumb_func_start sub_80C5748
-sub_80C5748: @ 80C5748
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, _080C57D4 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C57C4
- ldr r0, _080C57D8 @ =gUnknown_3005334
- mov r9, r0
- ldr r3, _080C57DC @ =gUnknown_3005340
-_080C5768:
- ldr r0, _080C57E0 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C57E4 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r9
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080C57E8 @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080C57B8
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080C5794:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080C57AA
- adds r0, r4, 0
- mov r1, r8
- str r3, [sp]
- bl sub_80C5F00
- strh r0, [r4]
- ldr r3, [sp]
-_080C57AA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080C5794
-_080C57B8:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080C57D4 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C5768
-_080C57C4:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C57D4: .4byte gUnknown_3005338
-_080C57D8: .4byte gUnknown_3005334
-_080C57DC: .4byte gUnknown_3005340
-_080C57E0: .4byte gUnknown_3005344
-_080C57E4: .4byte gUnknown_300534C
-_080C57E8: .4byte gUnknown_3005330
- thumb_func_end sub_80C5748
-
- thumb_func_start sub_80C57EC
-sub_80C57EC: @ 80C57EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080C586C @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C585E
- ldr r0, _080C5870 @ =gUnknown_3005334
- mov r8, r0
- ldr r3, _080C5874 @ =gUnknown_3005340
-_080C5804:
- ldr r0, _080C5878 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C587C @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080C5880 @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080C5852
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080C5830:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080C5844
- adds r0, r4, 0
- str r3, [sp]
- bl sub_80C600C
- strh r0, [r4]
- ldr r3, [sp]
-_080C5844:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080C5830
-_080C5852:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080C586C @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C5804
-_080C585E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C586C: .4byte gUnknown_3005338
-_080C5870: .4byte gUnknown_3005334
-_080C5874: .4byte gUnknown_3005340
-_080C5878: .4byte gUnknown_3005344
-_080C587C: .4byte gUnknown_300534C
-_080C5880: .4byte gUnknown_3005330
- thumb_func_end sub_80C57EC
-
- thumb_func_start sub_80C5884
-sub_80C5884: @ 80C5884
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r0, _080C59BC @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r7, r0
- bcs _080C5910
- ldr r0, _080C59C0 @ =gUnknown_3005334
- mov r8, r0
-_080C589A:
- ldr r0, _080C59C4 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r7
- ldr r0, _080C59C8 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r0, _080C59CC @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r5, r1, r0
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80C603C
- strh r0, [r5]
- movs r6, 0x1
- adds r5, r4, 0
- ldr r0, _080C59D0 @ =gUnknown_3005340
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, 0x1
- cmp r6, r0
- bge _080C58FA
-_080C58D2:
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80C603C
- strh r0, [r5]
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_80C603C
- strh r0, [r5]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r4, 0
- ldr r0, _080C59D0 @ =gUnknown_3005340
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- blt _080C58D2
-_080C58FA:
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_80C603C
- strh r0, [r5]
- lsls r0, r7, 24
- lsrs r7, r0, 24
- ldr r0, _080C59BC @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r7, r0
- bcc _080C589A
-_080C5910:
- movs r6, 0
- ldr r0, _080C59D0 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r6, r0
- bcs _080C59B0
- ldr r3, _080C59C0 @ =gUnknown_3005334
- mov r9, r3
- ldr r0, _080C59C8 @ =gUnknown_300534C
- mov r8, r0
-_080C5922:
- ldr r0, _080C59C4 @ =gUnknown_3005344
- ldrb r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- muls r0, r1
- lsls r0, 1
- mov r3, r9
- ldr r2, [r3]
- adds r2, r0
- ldr r0, _080C59CC @ =gUnknown_3005330
- ldrb r0, [r0]
- adds r0, r6
- lsls r0, 1
- adds r5, r2, r0
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_80C603C
- strh r0, [r5]
- movs r7, 0x1
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- adds r5, r0
- ldr r0, _080C59BC @ =gUnknown_3005338
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, 0x1
- cmp r7, r0
- bge _080C5994
- ldr r4, _080C59C8 @ =gUnknown_300534C
-_080C5962:
- ldrb r1, [r4]
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_80C603C
- strh r0, [r5]
- ldrb r1, [r4]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_80C603C
- strh r0, [r5]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- lsls r0, 1
- adds r5, r0
- ldr r0, _080C59BC @ =gUnknown_3005338
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- blt _080C5962
-_080C5994:
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_80C603C
- strh r0, [r5]
- lsls r0, r6, 24
- lsrs r6, r0, 24
- ldr r0, _080C59D0 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080C5922
-_080C59B0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C59BC: .4byte gUnknown_3005338
-_080C59C0: .4byte gUnknown_3005334
-_080C59C4: .4byte gUnknown_3005344
-_080C59C8: .4byte gUnknown_300534C
-_080C59CC: .4byte gUnknown_3005330
-_080C59D0: .4byte gUnknown_3005340
- thumb_func_end sub_80C5884
-
- thumb_func_start sub_80C59D4
-sub_80C59D4: @ 80C59D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080C5A54 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C5A46
- ldr r0, _080C5A58 @ =gUnknown_3005334
- mov r8, r0
- ldr r3, _080C5A5C @ =gUnknown_3005340
-_080C59EC:
- ldr r0, _080C5A60 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C5A64 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080C5A68 @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080C5A3A
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080C5A18:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080C5A2C
- adds r0, r4, 0
- str r3, [sp]
- bl sub_80C606C
- strh r0, [r4]
- ldr r3, [sp]
-_080C5A2C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080C5A18
-_080C5A3A:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080C5A54 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C59EC
-_080C5A46:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5A54: .4byte gUnknown_3005338
-_080C5A58: .4byte gUnknown_3005334
-_080C5A5C: .4byte gUnknown_3005340
-_080C5A60: .4byte gUnknown_3005344
-_080C5A64: .4byte gUnknown_300534C
-_080C5A68: .4byte gUnknown_3005330
- thumb_func_end sub_80C59D4
-
- thumb_func_start sub_80C5A6C
-sub_80C5A6C: @ 80C5A6C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, _080C5B98 @ =gUnknown_3005334
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- adds r5, r0, 0
-_080C5A84:
- movs r7, 0
-_080C5A86:
- ldrh r0, [r4]
- ands r0, r5
- cmp r0, 0
- bne _080C5A96
- adds r0, r4, 0
- bl sub_80C606C
- strh r0, [r4]
-_080C5A96:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _080C5A86
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _080C5A84
- movs r7, 0
- ldr r1, _080C5B98 @ =gUnknown_3005334
- mov r10, r1
- mov r3, sp
- movs r2, 0x80
- lsls r2, 8
- mov r9, r2
-_080C5ABA:
- lsls r0, r7, 1
- mov r2, r10
- ldr r1, [r2]
- adds r4, r1, r0
- ldrh r1, [r4]
- strh r1, [r3]
- mov r1, r9
- strh r1, [r4]
- movs r6, 0x1
- adds r4, 0x80
- adds r5, r0, 0
-_080C5AD0:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- ands r0, r2
- cmp r0, 0
- bne _080C5AF0
- adds r2, r4, 0
- adds r2, 0x80
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_80C62DC
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_080C5AF0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x80
- cmp r6, 0x3E
- bls _080C5AD0
- mov r0, r9
- strh r0, [r4]
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0, r5
- ldrh r0, [r4]
- strh r0, [r3]
- mov r2, r9
- strh r2, [r4]
- movs r6, 0x1
- adds r4, 0x80
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_080C5B18:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- adds r5, r4, 0
- adds r5, 0x80
- cmp r0, 0
- bne _080C5B38
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- str r3, [sp, 0x4]
- bl sub_80C62DC
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_080C5B38:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r5, 0
- cmp r6, 0x3E
- bls _080C5B18
- mov r2, r9
- strh r2, [r4]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3F
- bls _080C5ABA
- ldr r0, _080C5B98 @ =gUnknown_3005334
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_080C5B5E:
- movs r7, 0
- adds r5, r6, 0x1
-_080C5B62:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _080C5B74
- adds r0, r4, 0
- bl sub_80C606C
- strh r0, [r4]
-_080C5B74:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _080C5B62
- lsls r0, r5, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _080C5B5E
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5B98: .4byte gUnknown_3005334
- thumb_func_end sub_80C5A6C
-
- thumb_func_start sub_80C5B9C
-sub_80C5B9C: @ 80C5B9C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080C5C2C @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C5C1E
- ldr r0, _080C5C30 @ =gUnknown_3005334
- mov r8, r0
-_080C5BB2:
- ldr r0, _080C5C34 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C5C38 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080C5C3C @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- adds r4, 0x2
- ldr r0, _080C5C40 @ =gUnknown_3005340
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _080C5C12
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080C5BEA:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080C5C00
- mov r0, sp
- adds r1, r4, 0
- bl sub_80C6098
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
-_080C5C00:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080C5C40 @ =gUnknown_3005340
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080C5BEA
-_080C5C12:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080C5C2C @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C5BB2
-_080C5C1E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5C2C: .4byte gUnknown_3005338
-_080C5C30: .4byte gUnknown_3005334
-_080C5C34: .4byte gUnknown_3005344
-_080C5C38: .4byte gUnknown_300534C
-_080C5C3C: .4byte gUnknown_3005330
-_080C5C40: .4byte gUnknown_3005340
- thumb_func_end sub_80C5B9C
-
- thumb_func_start sub_80C5C44
-sub_80C5C44: @ 80C5C44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, _080C5CE0 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C5CD2
- ldr r0, _080C5CE4 @ =gUnknown_3005334
- mov r8, r0
- ldr r7, _080C5CE8 @ =gUnknown_300534C
-_080C5C5C:
- ldr r0, _080C5CEC @ =gUnknown_3005344
- ldrb r1, [r0]
- ldrb r0, [r7]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080C5CF0 @ =gUnknown_3005330
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080C5CF4 @ =gUnknown_3005338
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _080C5CC6
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080C5C96:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- bne _080C5CB0
- mov r0, sp
- adds r1, r4, 0
- str r2, [sp, 0x4]
- bl sub_80C6098
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r2, [sp, 0x4]
-_080C5CB0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080C5CF4 @ =gUnknown_3005338
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080C5C96
-_080C5CC6:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080C5CE0 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C5C5C
-_080C5CD2:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5CE0: .4byte gUnknown_3005340
-_080C5CE4: .4byte gUnknown_3005334
-_080C5CE8: .4byte gUnknown_300534C
-_080C5CEC: .4byte gUnknown_3005344
-_080C5CF0: .4byte gUnknown_3005330
-_080C5CF4: .4byte gUnknown_3005338
- thumb_func_end sub_80C5C44
-
- thumb_func_start sub_80C5CF8
-sub_80C5CF8: @ 80C5CF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r2, sp
- ldr r3, _080C5D64 @ =gUnknown_83F3024
- lsls r1, r0, 1
- add r1, r10
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- mov r5, sp
- adds r0, r3, 0x2
- adds r1, r0
- ldrb r4, [r1]
- lsls r2, r4, 24
- lsrs r1, r2, 27
- movs r0, 0x7
- ands r1, r0
- strh r1, [r5, 0x2]
- lsrs r2, 25
- mov r9, r2
- movs r0, 0x3
- ands r2, r0
- mov r9, r2
- movs r5, 0x1
- ands r5, r4
- movs r4, 0x1
- mov r8, r4
- cmp r8, r1
- bcs _080C5DAA
- mov r3, sp
-_080C5D4A:
- cmp r5, 0
- bne _080C5D68
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- mov r4, r8
- subs r0, r4
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- add r0, r8
- b _080C5D7A
- .align 2, 0
-_080C5D64: .4byte gUnknown_83F3024
-_080C5D68:
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- subs r0, 0x1
-_080C5D7A:
- strb r0, [r1, 0x1]
- add r2, sp
- ldrb r0, [r2]
- cmp r0, 0x3F
- bhi _080C5D8A
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3F
- bls _080C5D92
-_080C5D8A:
- mov r0, r8
- subs r0, 0x1
- strh r0, [r3, 0x2]
- b _080C5DAA
-_080C5D92:
- ldrh r0, [r3, 0x2]
- mov r1, r8
- subs r0, r1
- strh r0, [r2, 0x2]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r3, 0x2]
- cmp r8, r0
- bcc _080C5D4A
-_080C5DAA:
- movs r2, 0
- mov r8, r2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcc _080C5DB8
- b _080C5EBA
-_080C5DB8:
- movs r3, 0x1F
-_080C5DBA:
- ldr r1, _080C5E18 @ =gUnknown_3005334
- mov r4, r8
- lsls r0, r4, 2
- mov r2, sp
- adds r6, r2, r0
- ldrb r0, [r6, 0x1]
- lsls r0, 7
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r6]
- lsls r0, 1
- adds r2, r1, r0
- ldrh r1, [r2]
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C5EA6
- movs r7, 0x1F
- ands r7, r1
- lsls r0, r1, 16
- lsrs r5, r0, 21
- ands r5, r3
- lsrs r4, r0, 26
- ands r4, r3
- mov r0, r9
- cmp r0, 0
- blt _080C5E9C
- cmp r0, 0x1
- ble _080C5E1C
- cmp r0, 0x3
- bgt _080C5E9C
- ldrh r0, [r6, 0x2]
- adds r1, r7, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r1, r5, r0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r7, 0x1F
- bls _080C5E90
- movs r7, 0x1F
- b _080C5E90
- .align 2, 0
-_080C5E18: .4byte gUnknown_3005334
-_080C5E1C:
- mov r1, r10
- lsls r0, r1, 1
- add r0, r10
- ldr r1, _080C5E50 @ =gUnknown_83F3024
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsrs r0, 3
- movs r1, 0x7
- ands r0, r1
- movs r1, 0x3
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- cmp r0, 0x1
- beq _080C5E6C
- cmp r0, 0x1
- bgt _080C5E54
- cmp r0, 0
- beq _080C5E5A
- b _080C5E9C
- .align 2, 0
-_080C5E50: .4byte gUnknown_83F3024
-_080C5E54:
- cmp r0, 0x2
- beq _080C5E7E
- b _080C5E9C
-_080C5E5A:
- ldrh r0, [r6, 0x2]
- cmp r7, r0
- bcc _080C5E68
- subs r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- b _080C5E9C
-_080C5E68:
- movs r7, 0
- b _080C5E9C
-_080C5E6C:
- ldrh r0, [r6, 0x2]
- cmp r5, r0
- bcc _080C5E7A
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- b _080C5E9C
-_080C5E7A:
- movs r5, 0
- b _080C5E9C
-_080C5E7E:
- ldrh r0, [r6, 0x2]
- cmp r4, r0
- bcc _080C5E8C
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _080C5E9C
-_080C5E8C:
- movs r4, 0
- b _080C5E9C
-_080C5E90:
- cmp r5, 0x1F
- bls _080C5E96
- movs r5, 0x1F
-_080C5E96:
- cmp r4, 0x1F
- bls _080C5E9C
- movs r4, 0x1F
-_080C5E9C:
- lsls r0, r4, 10
- lsls r1, r5, 5
- orrs r0, r1
- orrs r7, r0
- strh r7, [r2]
-_080C5EA6:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcs _080C5EBA
- b _080C5DBA
-_080C5EBA:
- 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_80C5CF8
-
- thumb_func_start sub_80C5ECC
-sub_80C5ECC: @ 80C5ECC
- 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
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r0, r1, 10
- lsls r2, r1, 5
- orrs r0, r2
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80C5ECC
-
- thumb_func_start sub_80C5F00
-sub_80C5F00: @ 80C5F00
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _080C5F30
- cmp r3, 0x10
- bhi _080C5F30
- cmp r0, 0x10
- bhi _080C5F30
- adds r0, r4, 0
- bl sub_80C5F3C
- lsls r0, 16
- lsrs r0, 16
- b _080C5F32
-_080C5F30:
- ldr r0, _080C5F38 @ =0x00007fff
-_080C5F32:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C5F38: .4byte 0x00007fff
- thumb_func_end sub_80C5F00
-
- thumb_func_start sub_80C5F3C
-sub_80C5F3C: @ 80C5F3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _080C5FF4
- lsls r0, 2
- ldr r1, _080C5F80 @ =_080C5F84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C5F80: .4byte _080C5F84
- .align 2, 0
-_080C5F84:
- .4byte _080C5F9C
- .4byte _080C5FAC
- .4byte _080C5FBC
- .4byte _080C5FCA
- .4byte _080C5FD8
- .4byte _080C5FE6
-_080C5F9C:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r6, 0
- movs r1, 0
- mov r8, r1
- b _080C5FF4
-_080C5FAC:
- movs r7, 0
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r6, r8
- b _080C5FF4
-_080C5FBC:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r7
- b _080C5FF4
-_080C5FCA:
- movs r7, 0
- movs r6, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- b _080C5FF2
-_080C5FD8:
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r6
- b _080C5FF4
-_080C5FE6:
- movs r7, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
-_080C5FF2:
- mov r8, r0
-_080C5FF4:
- lsls r0, r7, 10
- lsls r1, r6, 5
- orrs r0, r1
- mov r1, r8
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r0, 16
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C5F3C
-
- thumb_func_start sub_80C600C
-sub_80C600C: @ 80C600C
- push {lr}
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _080C6030
- cmp r3, 0x10
- bhi _080C6030
- cmp r0, 0x10
- bhi _080C6030
- movs r0, 0
- b _080C6032
-_080C6030:
- ldr r0, _080C6038 @ =0x00007fff
-_080C6032:
- pop {r1}
- bx r1
- .align 2, 0
-_080C6038: .4byte 0x00007fff
- thumb_func_end sub_80C600C
-
- thumb_func_start sub_80C603C
-sub_80C603C: @ 80C603C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r3, [r4]
- cmp r3, 0
- beq _080C6064
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _080C6056
- adds r0, r2, 0
- b _080C6066
-_080C6056:
- ldrh r1, [r1]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080C6064
- ldrh r0, [r4]
- b _080C6066
-_080C6064:
- movs r0, 0
-_080C6066:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C603C
-
- thumb_func_start sub_80C606C
-sub_80C606C: @ 80C606C
- push {r4,lr}
- ldrh r1, [r0]
- movs r0, 0x1F
- movs r3, 0x1F
- ands r3, r1
- lsls r1, 16
- lsrs r2, r1, 21
- lsrs r1, 26
- subs r3, r0, r3
- adds r4, r0, 0
- bics r4, r2
- adds r2, r4, 0
- bics r0, r1
- lsls r0, 10
- lsls r2, 5
- orrs r0, r2
- orrs r0, r3
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C606C
-
- thumb_func_start sub_80C6098
-sub_80C6098: @ 80C6098
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r1, 0
- ldrh r4, [r0]
- ldrh r5, [r7]
- lsls r6, r4, 16
- lsls r0, r5, 16
- mov r12, r0
- cmp r4, r5
- beq _080C610A
- mov r2, sp
- movs r3, 0x1F
- movs r1, 0x1F
- adds r0, r1, 0
- ands r0, r4
- strh r0, [r2]
- lsrs r0, r6, 21
- ands r0, r3
- strh r0, [r2, 0x2]
- lsrs r0, r6, 26
- ands r0, r3
- strh r0, [r2, 0x4]
- mov r0, sp
- ands r1, r5
- strh r1, [r0, 0x6]
- mov r1, sp
- mov r2, r12
- lsrs r0, r2, 21
- ands r0, r3
- strh r0, [r1, 0x8]
- lsrs r0, r2, 26
- ands r0, r3
- strh r0, [r1, 0xA]
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0x19
- bls _080C60F2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0x19
- bls _080C60F2
- mov r0, sp
- ldrh r0, [r0, 0x4]
- cmp r0, 0x19
- bhi _080C610A
-_080C60F2:
- mov r0, sp
- ldrh r0, [r0, 0x6]
- cmp r0, 0x19
- bls _080C610E
- mov r0, sp
- ldrh r0, [r0, 0x8]
- cmp r0, 0x19
- bls _080C610E
- mov r0, sp
- ldrh r0, [r0, 0xA]
- cmp r0, 0x19
- bls _080C610E
-_080C610A:
- ldrh r0, [r7]
- b _080C61B4
-_080C610E:
- movs r4, 0
- add r6, sp, 0xC
- mov r7, sp
- adds r7, 0x6
- adds r5, r6, 0
-_080C6118:
- lsls r2, r4, 1
- mov r1, sp
- adds r0, r1, r2
- adds r1, r7, r2
- ldrh r3, [r0]
- ldrh r0, [r1]
- cmp r3, r0
- bls _080C612E
- adds r1, r5, r2
- subs r0, r3, r0
- b _080C6132
-_080C612E:
- adds r1, r5, r2
- subs r0, r3
-_080C6132:
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _080C6118
- adds r1, r6, 0
- ldrh r0, [r1, 0x2]
- ldrh r3, [r1]
- cmp r3, r0
- bcc _080C6158
- ldrh r2, [r1, 0x4]
- cmp r3, r2
- bcc _080C6152
- adds r2, r3, 0
- b _080C616C
-_080C6152:
- cmp r0, r2
- bcs _080C615E
- b _080C6166
-_080C6158:
- ldrh r2, [r1, 0x4]
- cmp r0, r2
- bcc _080C6162
-_080C615E:
- ldrh r2, [r1, 0x2]
- b _080C616C
-_080C6162:
- cmp r2, r3
- bcc _080C616A
-_080C6166:
- ldrh r2, [r1, 0x4]
- b _080C616C
-_080C616A:
- ldrh r2, [r6]
-_080C616C:
- mov r0, sp
- ldrh r1, [r0, 0x6]
- lsrs r0, r2, 1
- movs r6, 0x1F
- subs r6, r0
- adds r0, r1, 0
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, sp
- ldrh r0, [r0, 0x8]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- ldrh r0, [r0, 0xA]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- lsls r4, 5
- orrs r0, r4
- orrs r5, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
-_080C61B4:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C6098
-
- thumb_func_start sub_80C61BC
-sub_80C61BC: @ 80C61BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _080C61E4
- ldrh r0, [r2]
- cmp r0, r1
- bne _080C61E4
- mov r1, r10
- ldrh r0, [r1]
- b _080C62CC
-_080C61E4:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _080C6266
- cmp r1, r6
- bne _080C6266
- mov r3, r10
- ldrh r0, [r3]
- b _080C62CC
-_080C6266:
- cmp r7, r6
- bls _080C626E
- subs r0, r7, r6
- b _080C6270
-_080C626E:
- subs r0, r6, r7
-_080C6270:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _080C627C
- subs r0, r1, r6
- b _080C627E
-_080C627C:
- subs r0, r6, r1
-_080C627E:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _080C6288
- adds r0, r2, 0
-_080C6288:
- lsrs r0, 1
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_080C62CC:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C61BC
-
- thumb_func_start sub_80C62DC
-sub_80C62DC: @ 80C62DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _080C6304
- ldrh r0, [r2]
- cmp r0, r1
- bne _080C6304
- mov r1, r10
- ldrh r0, [r1]
- b _080C63EA
-_080C6304:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _080C6386
- cmp r1, r6
- bne _080C6386
- mov r3, r10
- ldrh r0, [r3]
- b _080C63EA
-_080C6386:
- cmp r7, r6
- bls _080C638E
- subs r0, r7, r6
- b _080C6390
-_080C638E:
- subs r0, r6, r7
-_080C6390:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _080C639C
- subs r0, r1, r6
- b _080C639E
-_080C639C:
- subs r0, r6, r1
-_080C639E:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _080C63A8
- adds r0, r2, 0
-_080C63A8:
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_080C63EA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C62DC
-
- thumb_func_start sub_80C63FC
-sub_80C63FC: @ 80C63FC
- 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 _080C64AC
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcc _080C642A
- b _080C6538
-_080C642A:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _080C649E
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_080C643E:
- 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
-_080C644E:
- 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 _080C644E
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080C643E
-_080C649E:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _080C642A
- b _080C6538
-_080C64AC:
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcs _080C6538
-_080C64B4:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _080C652C
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_080C64C8:
- 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
-_080C64D8:
- 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 _080C64D8
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080C64C8
-_080C652C:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _080C64B4
-_080C6538:
- 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_80C63FC
-
- thumb_func_start sub_80C6548
-sub_80C6548: @ 80C6548
- push {lr}
- ldr r2, _080C6598 @ =gUnknown_3005354
- ldrb r1, [r0, 0x18]
- lsls r1, 4
- strh r1, [r2]
- ldr r3, _080C659C @ =gUnknown_3005350
- ldrh r2, [r2]
- lsls r2, 1
- ldr r1, [r0, 0x8]
- adds r1, r2
- str r1, [r3]
- ldr r2, _080C65A0 @ =gUnknown_3005334
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, _080C65A4 @ =gUnknown_3005330
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, _080C65A8 @ =gUnknown_3005344
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, _080C65AC @ =gUnknown_3005340
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, _080C65B0 @ =gUnknown_3005338
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, _080C65B4 @ =gUnknown_300534C
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, _080C65B8 @ =gUnknown_300533C
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrh r0, [r0, 0x14]
- cmp r0, 0x5
- bhi _080C660E
- lsls r0, 2
- ldr r1, _080C65BC @ =_080C65C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C6598: .4byte gUnknown_3005354
-_080C659C: .4byte gUnknown_3005350
-_080C65A0: .4byte gUnknown_3005334
-_080C65A4: .4byte gUnknown_3005330
-_080C65A8: .4byte gUnknown_3005344
-_080C65AC: .4byte gUnknown_3005340
-_080C65B0: .4byte gUnknown_3005338
-_080C65B4: .4byte gUnknown_300534C
-_080C65B8: .4byte gUnknown_300533C
-_080C65BC: .4byte _080C65C0
- .align 2, 0
-_080C65C0:
- .4byte _080C65D8
- .4byte _080C65E0
- .4byte _080C65E8
- .4byte _080C65F2
- .4byte _080C65FC
- .4byte _080C6606
-_080C65D8:
- movs r0, 0
- bl sub_80C6748
- b _080C660E
-_080C65E0:
- movs r0, 0x1
- bl sub_80C6748
- b _080C660E
-_080C65E8:
- bl sub_80C6614
- bl sub_80C6AB8
- b _080C660E
-_080C65F2:
- bl sub_80C6714
- bl sub_80C6A08
- b _080C660E
-_080C65FC:
- bl sub_80C66D8
- bl sub_80C6958
- b _080C660E
-_080C6606:
- bl sub_80C66BC
- bl sub_80C68A0
-_080C660E:
- pop {r0}
- bx r0
- thumb_func_end sub_80C6548
-
- thumb_func_start sub_80C6614
-sub_80C6614: @ 80C6614
- ldr r2, _080C667C @ =gUnknown_3005350
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r0, [r2]
- ldr r2, _080C6680 @ =0x000018c6
- adds r1, r2, 0
- strh r1, [r0, 0x2]
- ldr r2, _080C6684 @ =0x000077bd
- adds r1, r2, 0
- strh r1, [r0, 0x4]
- ldr r2, _080C6688 @ =0x00002d6b
- adds r1, r2, 0
- strh r1, [r0, 0x6]
- ldr r2, _080C668C @ =0x000018dd
- adds r1, r2, 0
- strh r1, [r0, 0x8]
- ldr r2, _080C6690 @ =0x00001ba6
- adds r1, r2, 0
- strh r1, [r0, 0xA]
- ldr r2, _080C6694 @ =0x000074c6
- adds r1, r2, 0
- strh r1, [r0, 0xC]
- ldr r2, _080C6698 @ =0x00001bbd
- adds r1, r2, 0
- strh r1, [r0, 0xE]
- ldr r2, _080C669C @ =0x000074dd
- adds r1, r2, 0
- strh r1, [r0, 0x10]
- ldr r2, _080C66A0 @ =0x000077a6
- adds r1, r2, 0
- strh r1, [r0, 0x12]
- ldr r2, _080C66A4 @ =0x0000197d
- adds r1, r2, 0
- strh r1, [r0, 0x14]
- ldr r2, _080C66A8 @ =0x00001bab
- adds r1, r2, 0
- strh r1, [r0, 0x16]
- ldr r2, _080C66AC @ =0x00007566
- adds r1, r2, 0
- strh r1, [r0, 0x18]
- ldr r2, _080C66B0 @ =0x00002cdd
- adds r1, r2, 0
- strh r1, [r0, 0x1A]
- ldr r2, _080C66B4 @ =0x00002fa6
- adds r1, r2, 0
- strh r1, [r0, 0x1C]
- ldr r2, _080C66B8 @ =0x000074cb
- adds r1, r2, 0
- strh r1, [r0, 0x1E]
- bx lr
- .align 2, 0
-_080C667C: .4byte gUnknown_3005350
-_080C6680: .4byte 0x000018c6
-_080C6684: .4byte 0x000077bd
-_080C6688: .4byte 0x00002d6b
-_080C668C: .4byte 0x000018dd
-_080C6690: .4byte 0x00001ba6
-_080C6694: .4byte 0x000074c6
-_080C6698: .4byte 0x00001bbd
-_080C669C: .4byte 0x000074dd
-_080C66A0: .4byte 0x000077a6
-_080C66A4: .4byte 0x0000197d
-_080C66A8: .4byte 0x00001bab
-_080C66AC: .4byte 0x00007566
-_080C66B0: .4byte 0x00002cdd
-_080C66B4: .4byte 0x00002fa6
-_080C66B8: .4byte 0x000074cb
- thumb_func_end sub_80C6614
-
- thumb_func_start sub_80C66BC
-sub_80C66BC: @ 80C66BC
- ldr r2, _080C66D0 @ =gUnknown_3005350
- ldr r0, [r2]
- movs r1, 0
- strh r1, [r0]
- ldr r2, [r2]
- strh r1, [r2, 0x2]
- ldr r1, _080C66D4 @ =0x00007fff
- adds r0, r1, 0
- strh r0, [r2, 0x4]
- bx lr
- .align 2, 0
-_080C66D0: .4byte gUnknown_3005350
-_080C66D4: .4byte 0x00007fff
- thumb_func_end sub_80C66BC
-
- thumb_func_start sub_80C66D8
-sub_80C66D8: @ 80C66D8
- push {r4,r5,lr}
- ldr r1, _080C6710 @ =gUnknown_3005350
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0]
- ldr r0, [r1]
- strh r2, [r0, 0x2]
- movs r4, 0
- adds r5, r1, 0
-_080C66EA:
- 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 _080C66EA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6710: .4byte gUnknown_3005350
- thumb_func_end sub_80C66D8
-
- thumb_func_start sub_80C6714
-sub_80C6714: @ 80C6714
- push {r4,lr}
- ldr r2, _080C6744 @ =gUnknown_3005350
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- movs r3, 0
- adds r4, r2, 0
-_080C6722:
- 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 _080C6722
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6744: .4byte gUnknown_3005350
- thumb_func_end sub_80C6714
-
- thumb_func_start sub_80C6748
-sub_80C6748: @ 80C6748
- 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 _080C6760
- movs r2, 0xFF
- mov r9, r2
-_080C6760:
- movs r6, 0
- ldr r3, _080C67E4 @ =gUnknown_3005350
- mov r12, r3
- mov r0, r9
- lsls r4, r0, 1
- ldr r5, _080C67E8 @ =gUnknown_3005338
- cmp r6, r9
- bcs _080C6784
- movs r2, 0
-_080C6772:
- 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 _080C6772
-_080C6784:
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4, r0
- ldr r2, _080C67EC @ =0x00003def
- adds r1, r2, 0
- strh r1, [r0]
- movs r3, 0
- ldrb r5, [r5]
- cmp r3, r5
- bcs _080C6888
-_080C6798:
- ldr r2, _080C67F0 @ =gUnknown_3005334
- ldr r0, _080C67F4 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r3
- ldr r0, _080C67F8 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- ldr r1, [r2]
- adds r1, r0
- ldr r0, _080C67FC @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, _080C6800 @ =gUnknown_3005340
- adds r2, r0, 0
- adds r3, 0x1
- mov r10, r3
- ldrb r3, [r2]
- cmp r6, r3
- bcs _080C687A
- ldr r0, _080C6804 @ =gUnknown_3005354
- mov r8, r0
-_080C67C8:
- ldrh r0, [r4]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080C6808
- mov r1, r8
- ldrh r0, [r1]
- strh r0, [r4]
- adds r6, 0x1
- adds r7, r4, 0x2
- b _080C686E
- .align 2, 0
-_080C67E4: .4byte gUnknown_3005350
-_080C67E8: .4byte gUnknown_3005338
-_080C67EC: .4byte 0x00003def
-_080C67F0: .4byte gUnknown_3005334
-_080C67F4: .4byte gUnknown_3005344
-_080C67F8: .4byte gUnknown_300534C
-_080C67FC: .4byte gUnknown_3005330
-_080C6800: .4byte gUnknown_3005340
-_080C6804: .4byte gUnknown_3005354
-_080C6808:
- adds r0, r4, 0
- bl sub_80C6B68
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0x1
- adds r6, 0x1
- adds r7, r4, 0x2
- cmp r3, r9
- bcs _080C6864
- ldr r0, _080C6834 @ =gUnknown_3005350
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- mov r12, r0
- cmp r1, 0
- bne _080C6838
- strh r5, [r2, 0x2]
- mov r2, r8
- ldrh r0, [r2]
- adds r0, 0x1
- b _080C6862
- .align 2, 0
-_080C6834: .4byte gUnknown_3005350
-_080C6838:
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- beq _080C685C
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r9
- bcs _080C6864
- lsls r0, r3, 1
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- bne _080C6838
- strh r5, [r1]
-_080C685C:
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r3
-_080C6862:
- strh r0, [r4]
-_080C6864:
- ldr r2, _080C6898 @ =gUnknown_3005340
- cmp r3, r9
- bne _080C686E
- mov r3, r9
- strh r3, [r4]
-_080C686E:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- adds r4, r7, 0
- ldrb r0, [r2]
- cmp r6, r0
- bcc _080C67C8
-_080C687A:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r3, r0, 24
- ldr r0, _080C689C @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r3, r0
- bcc _080C6798
-_080C6888:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6898: .4byte gUnknown_3005340
-_080C689C: .4byte gUnknown_3005338
- thumb_func_end sub_80C6748
-
- thumb_func_start sub_80C68A0
-sub_80C68A0: @ 80C68A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r2, 0
- ldr r0, _080C68F4 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C6944
- ldr r0, _080C68F8 @ =gUnknown_3005334
- mov r8, r0
-_080C68B4:
- ldr r0, _080C68FC @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C6900 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080C6904 @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, _080C6908 @ =gUnknown_3005340
- adds r3, r0, 0
- adds r7, r2, 0x1
- ldrb r0, [r3]
- cmp r6, r0
- bcs _080C6938
- ldr r5, _080C690C @ =gUnknown_3005354
-_080C68E0:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080C6910
- ldrh r0, [r5]
- strh r0, [r4]
- b _080C692A
- .align 2, 0
-_080C68F4: .4byte gUnknown_3005338
-_080C68F8: .4byte gUnknown_3005334
-_080C68FC: .4byte gUnknown_3005344
-_080C6900: .4byte gUnknown_300534C
-_080C6904: .4byte gUnknown_3005330
-_080C6908: .4byte gUnknown_3005340
-_080C690C: .4byte gUnknown_3005354
-_080C6910:
- adds r0, r4, 0
- bl sub_80C600C
- lsls r0, 16
- cmp r0, 0
- bne _080C6922
- ldrh r0, [r5]
- adds r0, 0x1
- b _080C6926
-_080C6922:
- ldrh r0, [r5]
- adds r0, 0x2
-_080C6926:
- strh r0, [r4]
- ldr r3, _080C6950 @ =gUnknown_3005340
-_080C692A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r6, r0
- bcc _080C68E0
-_080C6938:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080C6954 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C68B4
-_080C6944:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6950: .4byte gUnknown_3005340
-_080C6954: .4byte gUnknown_3005338
- thumb_func_end sub_80C68A0
-
- thumb_func_start sub_80C6958
-sub_80C6958: @ 80C6958
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080C69AC @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C69F4
- ldr r0, _080C69B0 @ =gUnknown_3005334
- mov r8, r0
-_080C696E:
- ldr r0, _080C69B4 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C69B8 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080C69BC @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080C69C0 @ =gUnknown_3005340
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080C69E8
- ldr r6, _080C69C4 @ =gUnknown_3005354
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080C699E:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080C69C8
- ldrh r0, [r6]
- strh r0, [r4]
- b _080C69D8
- .align 2, 0
-_080C69AC: .4byte gUnknown_3005338
-_080C69B0: .4byte gUnknown_3005334
-_080C69B4: .4byte gUnknown_3005344
-_080C69B8: .4byte gUnknown_300534C
-_080C69BC: .4byte gUnknown_3005330
-_080C69C0: .4byte gUnknown_3005340
-_080C69C4: .4byte gUnknown_3005354
-_080C69C8:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80C6CAC
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080C69D8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080C6A00 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080C699E
-_080C69E8:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080C6A04 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C696E
-_080C69F4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6A00: .4byte gUnknown_3005340
-_080C6A04: .4byte gUnknown_3005338
- thumb_func_end sub_80C6958
-
- thumb_func_start sub_80C6A08
-sub_80C6A08: @ 80C6A08
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080C6A5C @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C6AA4
- ldr r0, _080C6A60 @ =gUnknown_3005334
- mov r8, r0
-_080C6A1E:
- ldr r0, _080C6A64 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C6A68 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080C6A6C @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080C6A70 @ =gUnknown_3005340
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080C6A98
- ldr r6, _080C6A74 @ =gUnknown_3005354
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080C6A4E:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080C6A78
- ldrh r0, [r6]
- strh r0, [r4]
- b _080C6A88
- .align 2, 0
-_080C6A5C: .4byte gUnknown_3005338
-_080C6A60: .4byte gUnknown_3005334
-_080C6A64: .4byte gUnknown_3005344
-_080C6A68: .4byte gUnknown_300534C
-_080C6A6C: .4byte gUnknown_3005330
-_080C6A70: .4byte gUnknown_3005340
-_080C6A74: .4byte gUnknown_3005354
-_080C6A78:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80C6CE0
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080C6A88:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080C6AB0 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080C6A4E
-_080C6A98:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080C6AB4 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C6A1E
-_080C6AA4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6AB0: .4byte gUnknown_3005340
-_080C6AB4: .4byte gUnknown_3005338
- thumb_func_end sub_80C6A08
-
- thumb_func_start sub_80C6AB8
-sub_80C6AB8: @ 80C6AB8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080C6B0C @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080C6B54
- ldr r0, _080C6B10 @ =gUnknown_3005334
- mov r8, r0
-_080C6ACE:
- ldr r0, _080C6B14 @ =gUnknown_3005344
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080C6B18 @ =gUnknown_300534C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080C6B1C @ =gUnknown_3005330
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080C6B20 @ =gUnknown_3005340
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080C6B48
- ldr r6, _080C6B24 @ =gUnknown_3005354
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080C6AFE:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080C6B28
- ldrh r0, [r6]
- strh r0, [r4]
- b _080C6B38
- .align 2, 0
-_080C6B0C: .4byte gUnknown_3005338
-_080C6B10: .4byte gUnknown_3005334
-_080C6B14: .4byte gUnknown_3005344
-_080C6B18: .4byte gUnknown_300534C
-_080C6B1C: .4byte gUnknown_3005330
-_080C6B20: .4byte gUnknown_3005340
-_080C6B24: .4byte gUnknown_3005354
-_080C6B28:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80C6BDC
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080C6B38:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080C6B60 @ =gUnknown_3005340
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080C6AFE
-_080C6B48:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080C6B64 @ =gUnknown_3005338
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C6ACE
-_080C6B54:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6B60: .4byte gUnknown_3005340
-_080C6B64: .4byte gUnknown_3005338
- thumb_func_end sub_80C6AB8
-
- thumb_func_start sub_80C6B68
-sub_80C6B68: @ 80C6B68
- 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 _080C6B8C
- movs r0, 0x1C
- ands r0, r4
- adds r4, r0, 0x4
-_080C6B8C:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080C6B9A
- movs r0, 0x1C
- ands r0, r3
- adds r3, r0, 0x4
-_080C6B9A:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080C6BA8
- movs r0, 0x1C
- ands r0, r2
- adds r2, r0, 0x4
-_080C6BA8:
- cmp r4, 0x5
- bhi _080C6BAE
- movs r4, 0x6
-_080C6BAE:
- cmp r4, 0x1E
- bls _080C6BB4
- movs r4, 0x1E
-_080C6BB4:
- cmp r3, 0x5
- bhi _080C6BBA
- movs r3, 0x6
-_080C6BBA:
- cmp r3, 0x1E
- bls _080C6BC0
- movs r3, 0x1E
-_080C6BC0:
- cmp r2, 0x5
- bhi _080C6BC6
- movs r2, 0x6
-_080C6BC6:
- cmp r2, 0x1E
- bls _080C6BCC
- movs r2, 0x1E
-_080C6BCC:
- 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_80C6B68
-
- thumb_func_start sub_80C6BDC
-sub_80C6BDC: @ 80C6BDC
- 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 _080C6C00
- cmp r2, 0xA
- bhi _080C6C00
- cmp r0, 0xA
- bhi _080C6C00
- movs r0, 0x1
- b _080C6CA6
-_080C6C00:
- cmp r3, 0x13
- bls _080C6C24
- cmp r2, 0x13
- bls _080C6C0C
- cmp r0, 0x13
- bhi _080C6C30
-_080C6C0C:
- cmp r3, 0x13
- bls _080C6C24
- cmp r2, 0x13
- bls _080C6C1A
- cmp r0, 0xE
- bhi _080C6C30
- b _080C6C68
-_080C6C1A:
- cmp r0, 0x13
- bls _080C6C24
- cmp r2, 0xE
- bhi _080C6C30
- b _080C6C44
-_080C6C24:
- cmp r2, 0x13
- bls _080C6C34
- cmp r0, 0x13
- bls _080C6C34
- cmp r3, 0xE
- bls _080C6C8C
-_080C6C30:
- movs r0, 0x2
- b _080C6CA6
-_080C6C34:
- cmp r3, 0x13
- bls _080C6C58
- cmp r2, 0xB
- bls _080C6C4C
- cmp r0, 0xB
- bls _080C6C48
- cmp r2, r0
- bcs _080C6C68
-_080C6C44:
- movs r0, 0x8
- b _080C6CA6
-_080C6C48:
- movs r0, 0xA
- b _080C6CA6
-_080C6C4C:
- cmp r0, 0xB
- bls _080C6C54
- movs r0, 0xD
- b _080C6CA6
-_080C6C54:
- movs r0, 0x4
- b _080C6CA6
-_080C6C58:
- cmp r2, 0x13
- bls _080C6C7C
- cmp r3, 0xB
- bls _080C6C70
- cmp r0, 0xB
- bls _080C6C6C
- cmp r3, r0
- bcc _080C6C8C
-_080C6C68:
- movs r0, 0x7
- b _080C6CA6
-_080C6C6C:
- movs r0, 0xB
- b _080C6CA6
-_080C6C70:
- cmp r0, 0xB
- bls _080C6C78
- movs r0, 0xE
- b _080C6CA6
-_080C6C78:
- movs r0, 0x5
- b _080C6CA6
-_080C6C7C:
- cmp r0, 0x13
- bls _080C6CA4
- cmp r3, 0xB
- bls _080C6C90
- cmp r2, 0xB
- bls _080C6C98
- cmp r3, r2
- bcs _080C6C44
-_080C6C8C:
- movs r0, 0x9
- b _080C6CA6
-_080C6C90:
- cmp r2, 0xB
- bls _080C6C98
- movs r0, 0xC
- b _080C6CA6
-_080C6C98:
- cmp r0, 0xB
- bls _080C6CA0
- movs r0, 0xF
- b _080C6CA6
-_080C6CA0:
- movs r0, 0x6
- b _080C6CA6
-_080C6CA4:
- movs r0, 0x3
-_080C6CA6:
- pop {r1}
- bx r1
- thumb_func_end sub_80C6BDC
-
- thumb_func_start sub_80C6CAC
-sub_80C6CAC: @ 80C6CAC
- 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 _080C6CD8
- lsrs r0, 17
- b _080C6CDA
-_080C6CD8:
- movs r0, 0x1
-_080C6CDA:
- pop {r1}
- bx r1
- thumb_func_end sub_80C6CAC
-
- thumb_func_start sub_80C6CE0
-sub_80C6CE0: @ 80C6CE0
- 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_80C6CE0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s
deleted file mode 100644
index 17385cd01..000000000
--- a/asm/script_pokemon_util_80A0058.s
+++ /dev/null
@@ -1,535 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start HealPlayerParty
-HealPlayerParty: @ 80A0058
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- mov r8, r0
- ldr r0, _080A0114 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r8, r0
- bcs _080A0104
- ldr r1, _080A0118 @ =gPlayerParty
- mov r10, r1
- mov r6, sp
-_080A0076:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- add r4, r10
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r1, r0, 16
- strb r0, [r6]
- lsrs r1, 24
- strb r1, [r6, 0x1]
- adds r0, r4, 0
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- movs r1, 0x1
- add r1, r8
- mov r9, r1
-_080A00AC:
- adds r1, r5, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r7, 0
- adds r2, r5, 0
- bl CalculatePPWithBonus
- strb r0, [r6]
- adds r1, r5, 0
- adds r1, 0x11
- adds r0, r4, 0
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080A00AC
- movs r0, 0
- strb r0, [r6]
- strb r0, [r6, 0x1]
- strb r0, [r6, 0x2]
- strb r0, [r6, 0x3]
- movs r1, 0x64
- mov r0, r8
- muls r0, r1
- add r0, r10
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _080A0114 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080A0076
-_080A0104:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0114: .4byte gPlayerPartyCount
-_080A0118: .4byte gPlayerParty
- thumb_func_end HealPlayerParty
-
- thumb_func_start ScriptGiveMon
-ScriptGiveMon: @ 80A011C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r6, 16
- lsrs r6, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r0, r5, 16
- mov r8, r0
- movs r0, 0x64
- bl AllocZeroed
- adds r7, r0, 0
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- movs r3, 0x20
- bl CreateMon
- add r0, sp, 0x10
- mov r1, r8
- strb r1, [r0]
- lsrs r5, 24
- strb r5, [r0, 0x1]
- adds r0, r7, 0
- movs r1, 0xC
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r7, 0
- bl GiveMonToPlayer
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0x1
- bgt _080A0196
- cmp r4, 0
- blt _080A0196
- adds r0, r5, 0
- movs r1, 0x2
- bl GetSetPokedexFlag
- adds r0, r5, 0
- movs r1, 0x3
- bl GetSetPokedexFlag
-_080A0196:
- adds r0, r7, 0
- bl Free
- adds r0, r4, 0
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ScriptGiveMon
-
- thumb_func_start ScriptGiveEgg
-ScriptGiveEgg: @ 80A01AC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x64
- bl AllocZeroed
- adds r5, r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl CreateEgg
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- adds r0, r5, 0
- movs r1, 0x2D
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- bl GiveMonToPlayer
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl Free
- adds r0, r4, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ScriptGiveEgg
-
- thumb_func_start HasEnoughMonsForDoubleBattle
-HasEnoughMonsForDoubleBattle: @ 80A01F4
- push {lr}
- bl GetMonsStateToDoubles
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- beq _080A0210
- cmp r1, 0x1
- bgt _080A020C
- cmp r1, 0
- beq _080A0210
- b _080A0214
-_080A020C:
- cmp r1, 0x2
- bne _080A0214
-_080A0210:
- ldr r0, _080A0218 @ =gSpecialVar_Result
- strh r1, [r0]
-_080A0214:
- pop {r0}
- bx r0
- .align 2, 0
-_080A0218: .4byte gSpecialVar_Result
- thumb_func_end HasEnoughMonsForDoubleBattle
-
- thumb_func_start CheckPartyMonHasHeldItem
-CheckPartyMonHasHeldItem: @ 80A021C
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r5, 0
- movs r7, 0xCE
- lsls r7, 1
-_080A0228:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080A0258 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080A025C
- cmp r0, r7
- beq _080A025C
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, r6
- bne _080A025C
- movs r0, 0x1
- b _080A0264
- .align 2, 0
-_080A0258: .4byte gPlayerParty
-_080A025C:
- adds r5, 0x1
- cmp r5, 0x5
- ble _080A0228
- movs r0, 0
-_080A0264:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckPartyMonHasHeldItem
-
- thumb_func_start GetNameOfEnigmaBerryInPlayerParty
-GetNameOfEnigmaBerryInPlayerParty: @ 80A026C
- push {r4,lr}
- movs r0, 0xAF
- bl CheckPartyMonHasHeldItem
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r4, 0x1
- bne _080A028E
- movs r0, 0xAF
- bl ItemIdToBerryType
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A0298 @ =gStringVar1
- bl GetBerryNameByBerryType
-_080A028E:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A0298: .4byte gStringVar1
- thumb_func_end GetNameOfEnigmaBerryInPlayerParty
-
- thumb_func_start CreateScriptedWildMon
-CreateScriptedWildMon: @ 80A029C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r7, r2, 16
- lsrs r6, r7, 16
- bl ZeroEnemyPartyMons
- ldr r0, _080A02F8 @ =gEnemyParty
- mov r8, r0
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x20
- bl CreateMon
- cmp r6, 0
- beq _080A02EA
- add r0, sp, 0x10
- strb r6, [r0]
- adds r1, r0, 0
- lsrs r0, r7, 24
- strb r0, [r1, 0x1]
- mov r0, r8
- movs r1, 0xC
- add r2, sp, 0x10
- bl SetMonData
-_080A02EA:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A02F8: .4byte gEnemyParty
- thumb_func_end CreateScriptedWildMon
-
- thumb_func_start ScriptSetMonMoveSlot
-ScriptSetMonMoveSlot: @ 80A02FC
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r2, 24
- cmp r3, 0x6
- bls _080A0318
- ldr r0, _080A032C @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_080A0318:
- movs r0, 0x64
- muls r0, r3
- ldr r1, _080A0330 @ =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- bl SetMonMoveSlot
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A032C: .4byte gPlayerPartyCount
-_080A0330: .4byte gPlayerParty
- thumb_func_end ScriptSetMonMoveSlot
-
- thumb_func_start ChooseHalfPartyForBattle
-ChooseHalfPartyForBattle: @ 80A0334
- push {lr}
- ldr r1, _080A0348 @ =gMain
- ldr r0, _080A034C @ =sub_80A0350
- str r0, [r1, 0x8]
- movs r0, 0
- bl InitChooseHalfPartyForBattle
- pop {r0}
- bx r0
- .align 2, 0
-_080A0348: .4byte gMain
-_080A034C: .4byte sub_80A0350
- thumb_func_end ChooseHalfPartyForBattle
-
- thumb_func_start sub_80A0350
-sub_80A0350: @ 80A0350
- push {lr}
- ldr r0, _080A0360 @ =gSelectedOrderFromParty
- ldrb r1, [r0]
- cmp r1, 0
- bne _080A0368
- ldr r0, _080A0364 @ =gSpecialVar_Result
- strh r1, [r0]
- b _080A036E
- .align 2, 0
-_080A0360: .4byte gSelectedOrderFromParty
-_080A0364: .4byte gSpecialVar_Result
-_080A0368:
- ldr r1, _080A0378 @ =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_080A036E:
- ldr r0, _080A037C @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A0378: .4byte gSpecialVar_Result
-_080A037C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end sub_80A0350
-
- thumb_func_start ChooseBattleTowerPlayerParty
-ChooseBattleTowerPlayerParty: @ 80A0380
- push {lr}
- ldr r1, _080A0394 @ =gMain
- ldr r0, _080A0398 @ =sub_80A039C
- str r0, [r1, 0x8]
- movs r0, 0x1
- bl InitChooseHalfPartyForBattle
- pop {r0}
- bx r0
- .align 2, 0
-_080A0394: .4byte gMain
-_080A0398: .4byte sub_80A039C
- thumb_func_end ChooseBattleTowerPlayerParty
-
- thumb_func_start sub_80A039C
-sub_80A039C: @ 80A039C
- push {r4,lr}
- ldr r0, _080A03B0 @ =gSelectedOrderFromParty
- ldrb r4, [r0]
- cmp r4, 0
- bne _080A03B8
- bl LoadPlayerParty
- ldr r0, _080A03B4 @ =gSpecialVar_Result
- strh r4, [r0]
- b _080A03C2
- .align 2, 0
-_080A03B0: .4byte gSelectedOrderFromParty
-_080A03B4: .4byte gSpecialVar_Result
-_080A03B8:
- bl ReducePlayerPartyToThree
- ldr r1, _080A03D0 @ =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_080A03C2:
- ldr r0, _080A03D4 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A03D0: .4byte gSpecialVar_Result
-_080A03D4: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end sub_80A039C
-
- thumb_func_start ReducePlayerPartyToThree
-ReducePlayerPartyToThree: @ 80A03D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r0, 0x96
- lsls r0, 1
- bl AllocZeroed
- adds r7, r0, 0
- movs r5, 0
- movs r0, 0x64
- mov r8, r0
- ldr r6, _080A0454 @ =gPlayerParty
- adds r4, r7, 0
-_080A03F4:
- ldr r0, _080A0458 @ =gSelectedOrderFromParty
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A040E
- subs r0, 0x1
- mov r1, r8
- muls r1, r0
- adds r1, r6
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
-_080A040E:
- adds r4, 0x64
- adds r5, 0x1
- cmp r5, 0x2
- ble _080A03F4
- movs r0, 0
- str r0, [sp]
- ldr r4, _080A0454 @ =gPlayerParty
- ldr r2, _080A045C @ =0x05000096
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- adds r5, r7, 0
- adds r6, r7, 0
- adds r6, 0xC8
-_080A042C:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x64
- adds r4, 0x64
- cmp r5, r6
- ble _080A042C
- bl CalculatePlayerPartyCount
- adds r0, r7, 0
- bl Free
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0454: .4byte gPlayerParty
-_080A0458: .4byte gSelectedOrderFromParty
-_080A045C: .4byte 0x05000096
- thumb_func_end ReducePlayerPartyToThree
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s
deleted file mode 100644
index a909758c2..000000000
--- a/asm/script_pokemon_util_80BF8FC.s
+++ /dev/null
@@ -1,422 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start Special_ChooseMonFromParty
-Special_ChooseMonFromParty: @ 80BF8FC
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080BF934 @ =sub_80BF97C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BF938 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- movs r0, 0x3
- strh r0, [r1, 0x8]
- subs r0, 0x4
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080BF934: .4byte sub_80BF97C
-_080BF938: .4byte gTasks
- thumb_func_end Special_ChooseMonFromParty
-
- thumb_func_start SelectMoveTutorMon
-SelectMoveTutorMon: @ 80BF93C
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080BF974 @ =sub_80BF97C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BF978 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- movs r0, 0x7
- strh r0, [r1, 0x8]
- subs r0, 0x8
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080BF974: .4byte sub_80BF97C
-_080BF978: .4byte gTasks
- thumb_func_end SelectMoveTutorMon
-
- thumb_func_start sub_80BF97C
-sub_80BF97C: @ 80BF97C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _080BF9B4 @ =gPaletteFade
- ldrb r1, [r2, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF9AC
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _080BF9B8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl ChoosePartyMonByMenuType
- adds r0, r4, 0
- bl DestroyTask
-_080BF9AC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF9B4: .4byte gPaletteFade
-_080BF9B8: .4byte gTasks
- thumb_func_end sub_80BF97C
-
- thumb_func_start SelectMove
-SelectMove: @ 80BF9BC
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080BF9F0 @ =gPlayerParty
- ldr r1, _080BF9F4 @ =gSpecialVar_0x8004
- ldrb r1, [r1]
- ldr r2, _080BF9F8 @ =gPlayerPartyCount
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080BF9FC @ =CB2_ReturnToField
- movs r4, 0
- str r4, [sp]
- bl ShowSelectMovePokemonSummaryScreen
- movs r0, 0x3
- bl sub_8138B38
- ldr r1, _080BFA00 @ =gFieldCallback
- ldr r0, _080BFA04 @ =FieldCallback_ReturnToEventScript2
- str r0, [r1]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF9F0: .4byte gPlayerParty
-_080BF9F4: .4byte gSpecialVar_0x8004
-_080BF9F8: .4byte gPlayerPartyCount
-_080BF9FC: .4byte CB2_ReturnToField
-_080BFA00: .4byte gFieldCallback
-_080BFA04: .4byte FieldCallback_ReturnToEventScript2
- thumb_func_end SelectMove
-
- thumb_func_start ScrSpecial_CountPokemonMoves
-ScrSpecial_CountPokemonMoves: @ 80BFA08
- push {r4,r5,lr}
- ldr r1, _080BFA44 @ =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- movs r4, 0
- adds r5, r1, 0
-_080BFA14:
- ldr r0, _080BFA48 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BFA4C @ =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0xD
- bl GetMonData
- cmp r0, 0
- beq _080BFA32
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080BFA32:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080BFA14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFA44: .4byte gSpecialVar_Result
-_080BFA48: .4byte gSpecialVar_0x8004
-_080BFA4C: .4byte gPlayerParty
- thumb_func_end ScrSpecial_CountPokemonMoves
-
- thumb_func_start ScrSpecial_GetPokemonNicknameAndMoveName
-ScrSpecial_GetPokemonNicknameAndMoveName: @ 80BFA50
- push {r4,r5,lr}
- ldr r0, _080BFA90 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r0, _080BFA94 @ =gPlayerParty
- adds r5, r0
- ldr r0, _080BFA98 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- adds r1, 0xD
- adds r0, r5, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, _080BFA9C @ =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, _080BFAA0 @ =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, _080BFAA4 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFA90: .4byte gSpecialVar_0x8004
-_080BFA94: .4byte gPlayerParty
-_080BFA98: .4byte gSpecialVar_0x8005
-_080BFA9C: .4byte gStringVar1
-_080BFAA0: .4byte gStringVar2
-_080BFAA4: .4byte gMoveNames
- thumb_func_end ScrSpecial_GetPokemonNicknameAndMoveName
-
- thumb_func_start sub_80BFAA8
-sub_80BFAA8: @ 80BFAA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r0, 0xD
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r1, [sp, 0x8]
- bl GetMonData
- mov r1, sp
- adds r1, 0x2
- str r1, [sp, 0x14]
- strh r0, [r1]
- adds r3, r4, 0
- adds r3, 0xD
- str r3, [sp, 0xC]
- mov r0, r8
- adds r1, r3, 0
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r7, r5, 0
- adds r7, 0x11
- str r7, [sp, 0x10]
- mov r0, r8
- adds r1, r7, 0
- bl GetMonData
- mov r1, sp
- adds r1, 0x5
- str r1, [sp, 0x18]
- strb r0, [r1]
- adds r3, r4, 0
- adds r3, 0x11
- str r3, [sp, 0x1C]
- mov r0, r8
- adds r1, r3, 0
- bl GetMonData
- add r7, sp, 0x4
- mov r10, r7
- strb r0, [r7]
- mov r0, r8
- movs r1, 0x15
- bl GetMonData
- mov r6, sp
- adds r6, 0x6
- strb r0, [r6]
- ldr r1, _080BFBA4 @ =gPPUpGetMask
- adds r0, r5, r1
- ldrb r0, [r0]
- mov r9, r0
- ldrb r0, [r6]
- adds r2, r0, 0
- mov r3, r9
- ands r2, r3
- lsls r5, 1
- asrs r2, r5
- lsls r2, 24
- lsrs r2, 24
- adds r1, r4, r1
- ldrb r3, [r1]
- adds r1, r0, 0
- ands r1, r3
- lsls r4, 1
- asrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- mov r7, r9
- bics r0, r7
- strb r0, [r6]
- ldrb r0, [r6]
- bics r0, r3
- strb r0, [r6]
- lsls r2, r4
- lsls r1, r5
- adds r2, r1
- ldrb r0, [r6]
- orrs r0, r2
- strb r0, [r6]
- mov r0, r8
- ldr r1, [sp, 0x8]
- mov r2, sp
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0x10]
- mov r2, r10
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0x1C]
- ldr r2, [sp, 0x18]
- bl SetMonData
- mov r0, r8
- movs r1, 0x15
- adds r2, r6, 0
- bl SetMonData
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFBA4: .4byte gPPUpGetMask
- thumb_func_end sub_80BFAA8
-
- thumb_func_start DeleteMonMove
-DeleteMonMove: @ 80BFBA8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _080BFC08 @ =gSpecialVar_0x8004
- mov r8, r0
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080BFC0C @ =gPlayerParty
- adds r0, r5
- ldr r4, _080BFC10 @ =gSpecialVar_0x8005
- ldrb r2, [r4]
- movs r1, 0
- bl SetMonMoveSlot
- mov r1, r8
- ldrh r0, [r1]
- muls r0, r6
- adds r0, r5
- ldrb r1, [r4]
- bl RemoveMonPPBonus
- ldrh r4, [r4]
- cmp r4, 0x2
- bhi _080BFBFC
-_080BFBDA:
- ldr r0, _080BFC08 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BFC0C @ =gPlayerParty
- adds r0, r1
- lsls r1, r4, 24
- lsrs r1, 24
- adds r4, 0x1
- lsls r2, r4, 24
- lsrs r2, 24
- bl sub_80BFAA8
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x2
- bls _080BFBDA
-_080BFBFC:
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFC08: .4byte gSpecialVar_0x8004
-_080BFC0C: .4byte gPlayerParty
-_080BFC10: .4byte gSpecialVar_0x8005
- thumb_func_end DeleteMonMove
-
- thumb_func_start IsSelectedMonEgg
-IsSelectedMonEgg: @ 80BFC14
- push {lr}
- ldr r0, _080BFC38 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BFC3C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- beq _080BFC44
- ldr r1, _080BFC40 @ =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- b _080BFC48
- .align 2, 0
-_080BFC38: .4byte gSpecialVar_0x8004
-_080BFC3C: .4byte gPlayerParty
-_080BFC40: .4byte gSpecialVar_Result
-_080BFC44:
- ldr r0, _080BFC4C @ =gSpecialVar_Result
- strh r1, [r0]
-_080BFC48:
- pop {r0}
- bx r0
- .align 2, 0
-_080BFC4C: .4byte gSpecialVar_Result
- thumb_func_end IsSelectedMonEgg
-
- .align 2, 0 @ Don't pad with nop.