summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/link_rfu_2.s4661
-rw-r--r--asm/overworld.s2
2 files changed, 1 insertions, 4662 deletions
diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s
index e67fa8ccf..2428f2984 100644
--- a/asm/link_rfu_2.s
+++ b/asm/link_rfu_2.s
@@ -5,4665 +5,4 @@
.text
- thumb_func_start sub_80FA0F8
-sub_80FA0F8: @ 80FA0F8
- push {lr}
- ldr r1, _080FA110 @ =Rfu
- adds r1, 0x5A
- strb r0, [r1]
- movs r0, 0xA1
- lsls r0, 8
- bl sub_80F9D04
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_080FA110: .4byte Rfu
- thumb_func_end sub_80FA0F8
-
- thumb_func_start sub_80FA114
-sub_80FA114: @ 80FA114
- push {lr}
- bl rfu_clearAllSlot
- bl sub_80FD52C
- ldr r1, _080FA138 @ =gReceivedRemoteLinkPlayers
- movs r0, 0
- strb r0, [r1]
- ldr r2, _080FA13C @ =Rfu
- adds r3, r2, 0
- adds r3, 0xEF
- movs r1, 0
- movs r0, 0x1
- strb r0, [r3]
- str r1, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080FA138: .4byte gReceivedRemoteLinkPlayers
-_080FA13C: .4byte Rfu
- thumb_func_end sub_80FA114
-
- thumb_func_start sub_80FA140
-sub_80FA140: @ 80FA140
- push {lr}
- ldr r0, _080FA15C @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- bl sub_80FA114
- pop {r0}
- bx r0
- .align 2, 0
-_080FA15C: .4byte gRfuLinkStatus
- thumb_func_end sub_80FA140
-
- thumb_func_start sub_80FA160
-sub_80FA160: @ 80FA160
- push {r4,lr}
- ldr r4, _080FA178 @ =Rfu
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- bne _080FA180
- bl sub_80FEB14
- ldr r0, _080FA17C @ =0x0000099c
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- b _080FA184
- .align 2, 0
-_080FA178: .4byte Rfu
-_080FA17C: .4byte 0x0000099c
-_080FA180:
- ldr r0, _080FA18C @ =sub_80FA140
- str r0, [r4]
-_080FA184:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA18C: .4byte sub_80FA140
- thumb_func_end sub_80FA160
-
- thumb_func_start sub_80FA190
-sub_80FA190: @ 80FA190
- push {lr}
- bl sub_80FEB14
- ldr r2, _080FA1B4 @ =Rfu
- ldr r0, _080FA1B8 @ =0x0000099c
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080FA1BC @ =gRfuLinkStatus
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ldr r1, _080FA1C0 @ =0x0000099b
- adds r2, r1
- strb r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080FA1B4: .4byte Rfu
-_080FA1B8: .4byte 0x0000099c
-_080FA1BC: .4byte gRfuLinkStatus
-_080FA1C0: .4byte 0x0000099b
- thumb_func_end sub_80FA190
-
- thumb_func_start sub_80FA1C4
-sub_80FA1C4: @ 80FA1C4
- push {r4,r5,lr}
- ldr r0, _080FA208 @ =Rfu
- ldrb r5, [r0, 0xD]
- movs r2, 0
- movs r1, 0
- adds r3, r0, 0
- adds r4, r3, 0
- adds r4, 0xE4
-_080FA1D4:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FA1DE
- adds r2, 0x1
-_080FA1DE:
- adds r1, 0x1
- cmp r1, 0x4
- ble _080FA1D4
- cmp r2, r5
- bne _080FA218
- ldr r2, _080FA20C @ =gBattleTypeFlags
- ldr r0, [r2]
- ldr r1, _080FA210 @ =0x0000ffdf
- ands r0, r1
- str r0, [r2]
- ldrb r0, [r3, 0xC]
- cmp r0, 0
- bne _080FA214
- adds r0, r3, 0
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x3
- strb r1, [r0]
- bl sub_80FA160
- b _080FA218
- .align 2, 0
-_080FA208: .4byte Rfu
-_080FA20C: .4byte gBattleTypeFlags
-_080FA210: .4byte 0x0000ffdf
-_080FA214:
- ldr r0, _080FA220 @ =sub_80FA160
- str r0, [r3]
-_080FA218:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA220: .4byte sub_80FA160
- thumb_func_end sub_80FA1C4
-
- thumb_func_start sub_80FA224
-sub_80FA224: @ 80FA224
- push {r4,lr}
- ldr r0, _080FA250 @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080FA248
- ldr r4, _080FA254 @ =Rfu
- movs r1, 0x9A
- lsls r1, 4
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FA248
- movs r0, 0xBE
- lsls r0, 7
- bl sub_80F9D04
- ldr r0, _080FA258 @ =sub_80FA1C4
- str r0, [r4]
-_080FA248:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA250: .4byte gSendCmd
-_080FA254: .4byte Rfu
-_080FA258: .4byte sub_80FA1C4
- thumb_func_end sub_80FA224
-
- thumb_func_start sub_80FA25C
-sub_80FA25C: @ 80FA25C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080FA280 @ =Rfu
- ldr r0, [r2]
- cmp r0, 0
- bne _080FA27C
- ldr r1, _080FA284 @ =0x00000991
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080FA288 @ =sub_80FA224
- str r0, [r2]
- adds r0, r3, 0
- bl DestroyTask
-_080FA27C:
- pop {r0}
- bx r0
- .align 2, 0
-_080FA280: .4byte Rfu
-_080FA284: .4byte 0x00000991
-_080FA288: .4byte sub_80FA224
- thumb_func_end sub_80FA25C
-
- thumb_func_start task_add_05_task_del_08FA224_when_no_RfuFunc
-task_add_05_task_del_08FA224_when_no_RfuFunc: @ 80FA28C
- push {r4,lr}
- ldr r4, _080FA2AC @ =sub_80FA25C
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080FA2A4
- adds r0, r4, 0
- movs r1, 0x5
- bl CreateTask
-_080FA2A4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA2AC: .4byte sub_80FA25C
- thumb_func_end task_add_05_task_del_08FA224_when_no_RfuFunc
-
- thumb_func_start sub_80FA2B0
-sub_80FA2B0: @ 80FA2B0
- push {r4,r5,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _080FA2DE
- ldr r1, _080FA348 @ =Rfu
- ldr r2, _080FA34C @ =0x0000069e
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r4, r0, 0
- cmp r4, 0
- bne _080FA2DE
- adds r5, r1, 0
- adds r5, 0xFE
- ldrh r0, [r5]
- cmp r0, 0x3C
- bls _080FA2DE
- movs r0, 0xCC
- lsls r0, 7
- bl sub_80F9D04
- strh r4, [r5]
-_080FA2DE:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- cmp r1, r2
- bcs _080FA30A
- ldr r0, _080FA348 @ =Rfu
- adds r3, r0, 0
- adds r3, 0xE9
- ldrb r0, [r3]
- cmp r0, 0
- beq _080FA30A
-_080FA2F8:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _080FA30A
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FA2F8
-_080FA30A:
- ldr r4, _080FA348 @ =Rfu
- cmp r1, r2
- bne _080FA336
- movs r1, 0
- adds r3, r4, 0
- adds r3, 0xE9
- movs r2, 0
-_080FA318:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080FA318
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, r1
- ldrh r1, [r0]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r0]
- str r2, [r4]
-_080FA336:
- adds r1, r4, 0
- adds r1, 0xFE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA348: .4byte Rfu
-_080FA34C: .4byte 0x0000069e
- thumb_func_end sub_80FA2B0
-
- thumb_func_start sub_80FA350
-sub_80FA350: @ 80FA350
- push {r4,lr}
- ldr r4, _080FA378 @ =Rfu
- ldr r1, _080FA37C @ =0x0000069e
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FA372
- ldr r0, _080FA380 @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080FA372
- movs r0, 0xCC
- lsls r0, 7
- bl sub_80F9D04
- ldr r0, _080FA384 @ =sub_80FA2B0
- str r0, [r4]
-_080FA372:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA378: .4byte Rfu
-_080FA37C: .4byte 0x0000069e
-_080FA380: .4byte gSendCmd
-_080FA384: .4byte sub_80FA2B0
- thumb_func_end sub_80FA350
-
- thumb_func_start sub_80FA388
-sub_80FA388: @ 80FA388
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _080FA3C4
- ldr r4, _080FA3B4 @ =Rfu
- ldr r1, _080FA3B8 @ =0x0000069e
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FA416
- ldr r0, _080FA3BC @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080FA416
- movs r0, 0xCC
- lsls r0, 7
- bl sub_80F9D04
- ldr r0, _080FA3C0 @ =sub_80FA2B0
- b _080FA414
- .align 2, 0
-_080FA3B4: .4byte Rfu
-_080FA3B8: .4byte 0x0000069e
-_080FA3BC: .4byte gSendCmd
-_080FA3C0: .4byte sub_80FA2B0
-_080FA3C4:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0x1
- cmp r1, r2
- bcs _080FA3F2
- ldr r3, _080FA41C @ =Rfu
- adds r0, r3, 0
- adds r0, 0xEA
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FA3F2
- adds r3, 0xE9
-_080FA3E0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _080FA3F2
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FA3E0
-_080FA3F2:
- cmp r1, r2
- bne _080FA416
- ldr r4, _080FA41C @ =Rfu
- ldr r1, _080FA420 @ =0x0000069e
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FA416
- ldr r0, _080FA424 @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080FA416
- movs r0, 0xCC
- lsls r0, 7
- bl sub_80F9D04
- ldr r0, _080FA428 @ =sub_80FA350
-_080FA414:
- str r0, [r4]
-_080FA416:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA41C: .4byte Rfu
-_080FA420: .4byte 0x0000069e
-_080FA424: .4byte gSendCmd
-_080FA428: .4byte sub_80FA350
- thumb_func_end sub_80FA388
-
- thumb_func_start sub_80FA42C
-sub_80FA42C: @ 80FA42C
- push {lr}
- ldr r1, _080FA444 @ =Rfu
- ldr r2, [r1]
- cmp r2, 0
- bne _080FA440
- ldr r0, _080FA448 @ =sub_80FA388
- str r0, [r1]
- adds r0, r1, 0
- adds r0, 0xFE
- strh r2, [r0]
-_080FA440:
- pop {r0}
- bx r0
- .align 2, 0
-_080FA444: .4byte Rfu
-_080FA448: .4byte sub_80FA388
- thumb_func_end sub_80FA42C
-
- thumb_func_start sub_80FA44C
-sub_80FA44C: @ 80FA44C
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, _080FA468 @ =gUnknown_843EC8C
- ldrh r0, [r1]
- cmp r0, r3
- beq _080FA47A
- ldr r4, _080FA46C @ =0x0000ffff
- adds r2, r1, 0
-_080FA45C:
- ldrh r0, [r2]
- cmp r0, r4
- bne _080FA470
- movs r0, 0
- b _080FA47C
- .align 2, 0
-_080FA468: .4byte gUnknown_843EC8C
-_080FA46C: .4byte 0x0000ffff
-_080FA470:
- adds r1, 0x2
- adds r2, 0x2
- ldrh r0, [r1]
- cmp r0, r3
- bne _080FA45C
-_080FA47A:
- movs r0, 0x1
-_080FA47C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA44C
-
- thumb_func_start sub_80FA484
-sub_80FA484: @ 80FA484
- push {lr}
- cmp r0, 0
- beq _080FA498
- movs r1, 0x96
- lsls r1, 2
- movs r0, 0x1
- bl sub_80FEA34
- movs r0, 0
- b _080FA4A4
-_080FA498:
- movs r0, 0
- movs r1, 0
- bl sub_80FEA34
- lsls r0, 24
- lsrs r0, 24
-_080FA4A4:
- pop {r1}
- bx r1
- thumb_func_end sub_80FA484
-
- thumb_func_start sub_80FA4A8
-sub_80FA4A8: @ 80FA4A8
- push {lr}
- ldr r0, _080FA4C0 @ =Rfu
- ldr r1, _080FA4C4 @ =0x00000991
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0
- bl sub_80FD760
- pop {r0}
- bx r0
- .align 2, 0
-_080FA4C0: .4byte Rfu
-_080FA4C4: .4byte 0x00000991
- thumb_func_end sub_80FA4A8
-
- thumb_func_start rfu_get_multiplayer_id
-rfu_get_multiplayer_id: @ 80FA4C8
- push {lr}
- ldr r1, _080FA4DC @ =Rfu
- ldrb r0, [r1, 0xC]
- cmp r0, 0x1
- beq _080FA4E4
- ldr r2, _080FA4E0 @ =0x00000986
- adds r0, r1, r2
- ldrb r0, [r0]
- b _080FA4E6
- .align 2, 0
-_080FA4DC: .4byte Rfu
-_080FA4E0: .4byte 0x00000986
-_080FA4E4:
- movs r0, 0
-_080FA4E6:
- pop {r1}
- bx r1
- thumb_func_end rfu_get_multiplayer_id
-
- thumb_func_start GetRfuPlayerCount
-GetRfuPlayerCount: @ 80FA4EC
- ldr r0, _080FA4F4 @ =Rfu
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_080FA4F4: .4byte Rfu
- thumb_func_end GetRfuPlayerCount
-
- thumb_func_start IsLinkRfuTaskFinished
-IsLinkRfuTaskFinished: @ 80FA4F8
- push {lr}
- movs r1, 0
- ldr r0, _080FA50C @ =Rfu
- ldr r0, [r0]
- cmp r0, 0
- bne _080FA506
- movs r1, 0x1
-_080FA506:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080FA50C: .4byte Rfu
- thumb_func_end IsLinkRfuTaskFinished
-
- thumb_func_start sub_80FA510
-sub_80FA510: @ 80FA510
- push {lr}
- ldr r0, _080FA524 @ =Rfu
- ldr r0, [r0]
- cmp r0, 0
- beq _080FA51E
- bl _call_via_r0
-_080FA51E:
- pop {r0}
- bx r0
- .align 2, 0
-_080FA524: .4byte Rfu
- thumb_func_end sub_80FA510
-
- thumb_func_start sub_80FA528
-sub_80FA528: @ 80FA528
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- movs r5, 0
- ldr r6, _080FA594 @ =Rfu
- ldr r0, _080FA598 @ =0x000008f6
- adds r0, r6
- mov r8, r0
-_080FA53A:
- ldr r1, _080FA59C @ =0x00000989
- adds r0, r6, r1
- adds r4, r5, r0
- ldrb r0, [r4]
- subs r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080FA5C2
- ldr r1, _080FA5A0 @ =gRfuSlotStatusNI
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x46
- beq _080FA55E
- cmp r0, 0x48
- bne _080FA5A8
-_080FA55E:
- ldr r2, _080FA5A4 @ =0x0000098d
- adds r0, r6, r2
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080FA5C2
- movs r0, 0x9
- strb r0, [r4]
- movs r0, 0xA
- strb r0, [r1]
- lsls r1, r5, 24
- lsrs r1, 24
- movs r0, 0x8
- bl rfu_clearSlot
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r5
- lsrs r0, 24
- movs r1, 0x8
- adds r2, r4, 0
- movs r3, 0x1
- bl rfu_NI_setSendData
- movs r7, 0x1
- b _080FA5C2
- .align 2, 0
-_080FA594: .4byte Rfu
-_080FA598: .4byte 0x000008f6
-_080FA59C: .4byte 0x00000989
-_080FA5A0: .4byte gRfuSlotStatusNI
-_080FA5A4: .4byte 0x0000098d
-_080FA5A8:
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x47
- bne _080FA5C2
- lsls r1, r5, 24
- lsrs r1, 24
- movs r0, 0x8
- bl rfu_clearSlot
-_080FA5C2:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080FA53A
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA528
-
- thumb_func_start sub_80FA5D4
-sub_80FA5D4: @ 80FA5D4
- push {r4-r6,lr}
- movs r3, 0
- movs r1, 0
- ldr r5, _080FA620 @ =Rfu+0x98d
- movs r6, 0x1
- movs r4, 0
-_080FA5E0:
- adds r2, r1, r5
- ldrb r0, [r2]
- cmp r0, 0xB
- bne _080FA5F4
- adds r0, r6, 0
- lsls r0, r1
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
- strb r4, [r2]
-_080FA5F4:
- adds r1, 0x1
- cmp r1, 0x3
- ble _080FA5E0
- cmp r3, 0
- beq _080FA608
- adds r0, r3, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_080FA608:
- movs r1, 0
- ldr r2, _080FA620 @ =Rfu+0x98d
-_080FA60C:
- adds r0, r1, r2
- ldrb r0, [r0]
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080FA624
- movs r0, 0x1
- b _080FA62C
- .align 2, 0
-_080FA620: .4byte Rfu+0x98d
-_080FA624:
- adds r1, 0x1
- cmp r1, 0x3
- ble _080FA60C
- movs r0, 0
-_080FA62C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA5D4
-
- thumb_func_start sub_80FA634
-sub_80FA634: @ 80FA634
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 16
- lsrs r2, 16
- adds r1, r2, 0
- bl sub_80FBC70
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _080FA668
- ldr r0, _080FA660 @ =Rfu
- ldr r2, _080FA664 @ =0x00000989
- adds r0, r2
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _080FA668
- movs r0, 0
- b _080FA66A
- .align 2, 0
-_080FA660: .4byte Rfu
-_080FA664: .4byte 0x00000989
-_080FA668:
- movs r0, 0x1
-_080FA66A:
- pop {r1}
- bx r1
- thumb_func_end sub_80FA634
-
- thumb_func_start sub_80FA670
-sub_80FA670: @ 80FA670
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r2, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_80FBC70
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080FA6B4 @ =Rfu
- ldr r0, _080FA6B8 @ =0x00000989
- adds r5, r0
- adds r5, r4, r5
- strb r6, [r5]
- movs r0, 0x4
- adds r1, r4, 0
- bl rfu_clearSlot
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r4
- lsrs r0, 24
- movs r1, 0x8
- adds r2, r5, 0
- movs r3, 0x1
- bl rfu_NI_setSendData
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA6B4: .4byte Rfu
-_080FA6B8: .4byte 0x00000989
- thumb_func_end sub_80FA670
-
- thumb_func_start sub_80FA6BC
-sub_80FA6BC: @ 80FA6BC
- push {r4,r5,lr}
- ldr r4, _080FA6F0 @ =Rfu
- ldr r0, _080FA6F4 @ =0x0000093d
- adds r5, r4, r0
- movs r0, 0x8
- strb r0, [r5]
- ldr r0, _080FA6F8 @ =0x000008f6
- adds r4, r0
- ldrb r1, [r4]
- movs r0, 0x4
- bl rfu_clearSlot
- ldrb r1, [r4]
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r0, 24
- movs r1, 0x8
- adds r2, r5, 0
- movs r3, 0x1
- bl rfu_NI_setSendData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA6F0: .4byte Rfu
-_080FA6F4: .4byte 0x0000093d
-_080FA6F8: .4byte 0x000008f6
- thumb_func_end sub_80FA6BC
-
- thumb_func_start sub_80FA6FC
-sub_80FA6FC: @ 80FA6FC
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 16
- lsrs r2, 16
- adds r1, r2, 0
- bl sub_80FBC70
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080FA718
- movs r0, 0x2
- b _080FA732
-_080FA718:
- ldr r1, _080FA72C @ =gRfuSlotStatusNI
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0
- beq _080FA730
- movs r0, 0
- b _080FA732
- .align 2, 0
-_080FA72C: .4byte gRfuSlotStatusNI
-_080FA730:
- movs r0, 0x1
-_080FA732:
- pop {r1}
- bx r1
- thumb_func_end sub_80FA6FC
-
- thumb_func_start sub_80FA738
-sub_80FA738: @ 80FA738
- push {r4,r5,lr}
- bl sub_80FA528
- movs r4, 0
- ldr r0, _080FA77C @ =Rfu
- ldr r1, _080FA780 @ =0x0000098d
- adds r5, r0, r1
-_080FA746:
- ldr r1, _080FA784 @ =gRfuSlotStatusNI
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- subs r0, 0x26
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080FA770
- adds r1, r4, r5
- ldrb r0, [r1]
- cmp r0, 0xA
- bne _080FA766
- movs r0, 0xB
- strb r0, [r1]
-_080FA766:
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x4
- bl rfu_clearSlot
-_080FA770:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080FA746
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA77C: .4byte Rfu
-_080FA780: .4byte 0x0000098d
-_080FA784: .4byte gRfuSlotStatusNI
- thumb_func_end sub_80FA738
-
- thumb_func_start sub_80FA788
-sub_80FA788: @ 80FA788
- push {r4,r5,lr}
- movs r4, 0
- ldr r1, _080FA800 @ =Rfu
- ldr r2, _080FA804 @ =0x0000093d
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080FA7C2
- ldr r2, _080FA808 @ =gRfuSlotStatusNI
- ldr r0, _080FA80C @ =0x000008f6
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x26
- beq _080FA7BA
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x27
- bne _080FA7C2
-_080FA7BA:
- ldrb r1, [r1]
- movs r0, 0x4
- bl rfu_clearSlot
-_080FA7C2:
- ldr r2, _080FA808 @ =gRfuSlotStatusNI
- ldr r5, _080FA800 @ =Rfu
- ldr r0, _080FA80C @ =0x000008f6
- adds r1, r5, r0
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x46
- beq _080FA7E6
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x48
- bne _080FA814
-_080FA7E6:
- ldrb r1, [r1]
- movs r0, 0x8
- bl rfu_clearSlot
- ldr r2, _080FA810 @ =0x0000093e
- adds r4, r5, r2
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80FB9E4
- ldrb r4, [r4]
- b _080FA82C
- .align 2, 0
-_080FA800: .4byte Rfu
-_080FA804: .4byte 0x0000093d
-_080FA808: .4byte gRfuSlotStatusNI
-_080FA80C: .4byte 0x000008f6
-_080FA810: .4byte 0x0000093e
-_080FA814:
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x47
- bne _080FA82C
- ldrb r1, [r1]
- movs r0, 0x8
- bl rfu_clearSlot
- movs r4, 0x6
-_080FA82C:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA788
-
- thumb_func_start sub_80FA834
-sub_80FA834: @ 80FA834
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _080FA884 @ =Rfu
- adds r0, r5, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080FA85C
- movs r0, 0x9A
- lsls r0, 4
- adds r1, r5, r0
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- bl DestroyTask
-_080FA85C:
- ldr r2, _080FA888 @ =gTasks
- lsls r1, r6, 2
- adds r0, r1, r6
- lsls r0, 3
- adds r4, r0, r2
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- adds r7, r1, 0
- cmp r0, 0x3
- beq _080FA904
- cmp r0, 0x3
- bgt _080FA88C
- cmp r0, 0x1
- beq _080FA8B4
- cmp r0, 0x1
- bgt _080FA900
- cmp r0, 0
- beq _080FA89E
- b _080FA9BC
- .align 2, 0
-_080FA884: .4byte Rfu
-_080FA888: .4byte gTasks
-_080FA88C:
- cmp r0, 0x5
- beq _080FA938
- cmp r0, 0x5
- blt _080FA926
- cmp r0, 0x6
- beq _080FA96C
- cmp r0, 0x65
- beq _080FA8EC
- b _080FA9BC
-_080FA89E:
- bl sub_80F9C50
- lsls r0, 24
- cmp r0, 0
- bne _080FA8AA
- b _080FA9BC
-_080FA8AA:
- bl ResetBlockReceivedFlags
- bl sub_800B0B4
- b _080FA930
-_080FA8B4:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- bne _080FA8F4
- ldr r0, _080FA8CC @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FA8D0
- movs r0, 0xF0
- lsls r0, 7
- bl sub_80F9D04
- b _080FA8D8
- .align 2, 0
-_080FA8CC: .4byte gReceivedRemoteLinkPlayers
-_080FA8D0:
- movs r0, 0xEE
- lsls r0, 7
- bl sub_80F9D04
-_080FA8D8:
- ldr r0, _080FA8E8 @ =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0x65
- strh r0, [r1, 0x8]
- b _080FA9BC
- .align 2, 0
-_080FA8E8: .4byte gTasks
-_080FA8EC:
- ldr r0, _080FA8FC @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080FA9BC
-_080FA8F4:
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080FA9BC
- .align 2, 0
-_080FA8FC: .4byte gSendCmd
-_080FA900:
- ldrb r0, [r5, 0xD]
- b _080FA92C
-_080FA904:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- bne _080FA930
- bl sub_80F9C50
- lsls r0, 24
- cmp r0, 0
- beq _080FA9BC
- adds r1, r5, 0
- adds r1, 0x5A
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xA1
- lsls r0, 8
- bl sub_80F9D04
- b _080FA930
-_080FA926:
- bl sub_80F9C78
- lsls r0, 24
-_080FA92C:
- cmp r0, 0
- beq _080FA9BC
-_080FA930:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080FA9BC
-_080FA938:
- movs r4, 0
- ldrb r0, [r5, 0xD]
- cmp r4, r0
- bge _080FA956
-_080FA940:
- adds r0, r4, 0
- bl sub_800B110
- lsls r0, r4, 24
- lsrs r0, 24
- bl Rfu_ResetBlockReceivedFlag
- adds r4, 0x1
- ldrb r2, [r5, 0xD]
- cmp r4, r2
- blt _080FA940
-_080FA956:
- ldr r0, _080FA968 @ =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080FA9BC
- .align 2, 0
-_080FA968: .4byte gTasks
-_080FA96C:
- adds r0, r6, 0
- bl DestroyTask
- ldr r1, _080FA9C4 @ =gReceivedRemoteLinkPlayers
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x9A
- lsls r0, 4
- adds r1, r5, r0
- movs r0, 0
- strb r0, [r1]
- movs r1, 0x96
- lsls r1, 2
- movs r0, 0x1
- bl sub_80FEA34
- ldr r2, _080FA9C8 @ =0x0000099e
- adds r1, r5, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080FA9BC
- movs r4, 0
- adds r2, r1, 0
- movs r3, 0x1
- ldr r0, _080FA9CC @ =0x0000099d
- adds r5, r0
-_080FA9A0:
- ldrb r0, [r2]
- asrs r0, r4
- ands r0, r3
- cmp r0, 0
- beq _080FA9B6
- adds r0, r3, 0
- lsls r0, r4
- strb r0, [r5]
- ldrb r1, [r2]
- eors r0, r1
- strb r0, [r2]
-_080FA9B6:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080FA9A0
-_080FA9BC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA9C4: .4byte gReceivedRemoteLinkPlayers
-_080FA9C8: .4byte 0x0000099e
-_080FA9CC: .4byte 0x0000099d
- thumb_func_end sub_80FA834
-
- thumb_func_start sub_80FA9D0
-sub_80FA9D0: @ 80FA9D0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- movs r5, 0x1
- ldr r4, _080FA9F8 @ =Rfu+0x996
- movs r3, 0
-_080FA9DE:
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _080FA9EC
- adds r0, r1, r4
- strb r3, [r0]
-_080FA9EC:
- adds r1, 0x1
- cmp r1, 0x3
- ble _080FA9DE
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA9F8: .4byte Rfu+0x996
- thumb_func_end sub_80FA9D0
-
- thumb_func_start sub_80FA9FC
-sub_80FA9FC: @ 80FA9FC
- push {r4-r7,lr}
- adds r2, r0, 0
- ldr r1, _080FAA4C @ =Rfu
- ldrb r0, [r2, 0xF]
- strb r0, [r1, 0xD]
- movs r4, 0
- ldr r0, _080FAA50 @ =0x00000996
- adds r5, r1, r0
- adds r3, r2, 0
- adds r3, 0x10
-_080FAA10:
- adds r0, r4, r5
- adds r1, r3, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080FAA10
- adds r6, r2, 0
- ldr r5, _080FAA54 @ =gLinkPlayers
- movs r4, 0x4
-_080FAA24:
- adds r0, r5, 0
- adds r1, r6, 0
- adds r1, 0x14
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r5, 0
- bl sub_800B284
- adds r6, 0x1C
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _080FAA24
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAA4C: .4byte Rfu
-_080FAA50: .4byte 0x00000996
-_080FAA54: .4byte gLinkPlayers
- thumb_func_end sub_80FA9FC
-
- thumb_func_start sub_80FAA58
-sub_80FAA58: @ 80FAA58
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, _080FAA8C @ =gUnknown_843EDE4 "PokemonSioInfo"
- adds r1, r4, 0
- bl strcmp
- adds r5, r0, 0
- cmp r5, 0
- bne _080FAA84
- adds r0, r4, 0
- bl sub_80FA9FC
- mov r0, sp
- strh r5, [r0]
- ldr r2, _080FAA90 @ =0x0100007e
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0
- bl ResetBlockReceivedFlag
-_080FAA84:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAA8C: .4byte gUnknown_843EDE4
-_080FAA90: .4byte 0x0100007e
- thumb_func_end sub_80FAA58
-
- thumb_func_start sub_80FAA94
-sub_80FAA94: @ 80FAA94
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, _080FAAF4 @ =Rfu
- ldr r2, _080FAAF8 @ =gUnknown_843EC38
- ldr r1, _080FAAFC @ =0x000009a1
- adds r0, r3, r1
- ldrb r1, [r0]
- adds r1, r2
- ldr r2, _080FAB00 @ =0x00000996
- adds r0, r3, r2
- ldrb r1, [r1]
- adds r0, r1
- ldrb r4, [r0]
- adds r0, r3, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080FAAD2
- movs r5, 0x9A
- lsls r5, 4
- adds r1, r3, r5
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- bl DestroyTask
-_080FAAD2:
- ldr r0, _080FAB04 @ =gTasks
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- adds r3, r0, 0
- adds r7, r2, 0
- cmp r1, 0x5
- bls _080FAAEA
- b _080FACD6
-_080FAAEA:
- lsls r0, r1, 2
- ldr r1, _080FAB08 @ =_080FAB0C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FAAF4: .4byte Rfu
-_080FAAF8: .4byte gUnknown_843EC38
-_080FAAFC: .4byte 0x000009a1
-_080FAB00: .4byte 0x00000996
-_080FAB04: .4byte gTasks
-_080FAB08: .4byte _080FAB0C
- .align 2, 0
-_080FAB0C:
- .4byte _080FAB24
- .4byte _080FAB44
- .4byte _080FAB5C
- .4byte _080FABA4
- .4byte _080FABEE
- .4byte _080FAC78
-_080FAB24:
- ldr r0, _080FAB40 @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- beq _080FAB2E
- b _080FACD6
-_080FAB2E:
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- movs r0, 0xF0
- lsls r0, 7
- bl sub_80F9D04
- b _080FAC2E
- .align 2, 0
-_080FAB40: .4byte gSendCmd
-_080FAB44:
- ldr r0, _080FAB58 @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- beq _080FAB4E
- b _080FACD6
-_080FAB4E:
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r3
- b _080FAC36
- .align 2, 0
-_080FAB58: .4byte gSendCmd
-_080FAB5C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080FAB70
- b _080FACD6
-_080FAB70:
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- lsls r2, r4, 8
- ldr r0, _080FAB9C @ =gBlockRecvBuffer
- adds r2, r0
- ldr r1, _080FABA0 @ =gLinkPlayers
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- adds r1, r0, 0
- adds r2, 0x10
- ldm r2!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r2!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r2, [r2]
- str r2, [r1]
- bl sub_800B284
- b _080FAC2E
- .align 2, 0
-_080FAB9C: .4byte gBlockRecvBuffer
-_080FABA0: .4byte gLinkPlayers
-_080FABA4:
- ldr r5, _080FAC40 @ =gBlockSendBuffer
- adds r1, r5, 0
- ldr r0, _080FAC44 @ =gUnknown_843EDE4 "PokemonSioInfo"
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldrh r2, [r0]
- strh r2, [r1]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x2]
- ldr r1, _080FAC48 @ =Rfu
- ldrb r0, [r1, 0xD]
- strb r0, [r5, 0xF]
- movs r2, 0
- adds r4, r5, 0
- adds r4, 0x10
- ldr r0, _080FAC4C @ =0x00000996
- adds r3, r1, r0
-_080FABC6:
- adds r0, r4, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080FABC6
- ldr r1, _080FAC50 @ =gLinkPlayers
- adds r0, r5, 0
- adds r0, 0x14
- movs r2, 0x8C
- bl memcpy
- ldr r0, _080FAC54 @ =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080FABEE:
- ldr r5, _080FAC40 @ =gBlockSendBuffer
- ldr r1, _080FAC48 @ =Rfu
- ldrb r0, [r1, 0xD]
- strb r0, [r5, 0xF]
- movs r2, 0
- ldr r3, _080FAC50 @ =gLinkPlayers
- mov r12, r3
- adds r4, r5, 0
- adds r4, 0x10
- ldr r0, _080FAC4C @ =0x00000996
- adds r3, r1, r0
-_080FAC04:
- adds r0, r4, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080FAC04
- adds r0, r5, 0
- adds r0, 0x14
- mov r1, r12
- movs r2, 0x8C
- bl memcpy
- ldr r1, _080FAC40 @ =gBlockSendBuffer
- movs r0, 0
- movs r2, 0xA0
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _080FACD6
-_080FAC2E:
- ldr r0, _080FAC54 @ =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
-_080FAC36:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080FACD6
- .align 2, 0
-_080FAC40: .4byte gBlockSendBuffer
-_080FAC44: .4byte gUnknown_843EDE4
-_080FAC48: .4byte Rfu
-_080FAC4C: .4byte 0x00000996
-_080FAC50: .4byte gLinkPlayers
-_080FAC54: .4byte gTasks
-_080FAC58:
- adds r0, r3, 0
- lsls r0, r2
- ldr r2, _080FAC74 @ =0x0000099d
- adds r1, r5, r2
- strb r0, [r1]
- ldrb r1, [r4]
- eors r0, r1
- strb r0, [r4]
- movs r4, 0x9A
- lsls r4, 4
- adds r0, r5, r4
- strb r3, [r0]
- b _080FACD0
- .align 2, 0
-_080FAC74: .4byte 0x0000099d
-_080FAC78:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FACD6
- bl GetBlockReceivedStatus
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080FACD6
- mov r0, sp
- movs r4, 0
- strh r4, [r0]
- ldr r1, _080FACE0 @ =gBlockRecvBuffer
- ldr r2, _080FACE4 @ =0x0100007e
- bl CpuSet
- movs r0, 0
- bl ResetBlockReceivedFlag
- ldr r1, _080FACE8 @ =Rfu
- movs r5, 0x9A
- lsls r5, 4
- adds r0, r1, r5
- strb r4, [r0]
- ldr r0, _080FACEC @ =0x0000099e
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0
- beq _080FACD0
- movs r2, 0
- adds r5, r1, 0
- adds r4, r3, 0
- ldrb r1, [r4]
- movs r3, 0x1
-_080FACC0:
- adds r0, r1, 0
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- bne _080FAC58
- adds r2, 0x1
- cmp r2, 0x3
- ble _080FACC0
-_080FACD0:
- adds r0, r6, 0
- bl DestroyTask
-_080FACD6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FACE0: .4byte gBlockRecvBuffer
-_080FACE4: .4byte 0x0100007e
-_080FACE8: .4byte Rfu
-_080FACEC: .4byte 0x0000099e
- thumb_func_end sub_80FAA94
-
- thumb_func_start sub_80FACF0
-sub_80FACF0: @ 80FACF0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, _080FAD2C @ =Rfu
- adds r0, r6, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080FAD0E
- adds r0, r5, 0
- bl DestroyTask
-_080FAD0E:
- ldr r1, _080FAD30 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080FAD54
- cmp r0, 0x1
- bgt _080FAD34
- cmp r0, 0
- beq _080FAD3A
- b _080FAD8A
- .align 2, 0
-_080FAD2C: .4byte Rfu
-_080FAD30: .4byte gTasks
-_080FAD34:
- cmp r0, 0x2
- beq _080FAD66
- b _080FAD8A
-_080FAD3A:
- ldrb r0, [r6, 0xD]
- cmp r0, 0
- beq _080FAD8A
- bl sub_800B0B4
- ldr r1, _080FAD50 @ =gBlockSendBuffer
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- b _080FAD5E
- .align 2, 0
-_080FAD50: .4byte gBlockSendBuffer
-_080FAD54:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FAD8A
-_080FAD5E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080FAD8A
-_080FAD66:
- bl GetBlockReceivedStatus
- movs r4, 0x1
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- beq _080FAD8A
- ldr r0, _080FAD90 @ =gBlockRecvBuffer
- bl sub_80FA9FC
- movs r0, 0
- bl ResetBlockReceivedFlag
- ldr r0, _080FAD94 @ =gReceivedRemoteLinkPlayers
- strb r4, [r0]
- adds r0, r5, 0
- bl DestroyTask
-_080FAD8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAD90: .4byte gBlockRecvBuffer
-_080FAD94: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_80FACF0
-
- thumb_func_start sub_80FAD98
-sub_80FAD98: @ 80FAD98
- push {r4-r7,lr}
- ldr r0, _080FAE10 @ =Rfu
- adds r7, r0, 0
- adds r7, 0xEE
- ldrb r1, [r7]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _080FAE30
- ldr r0, _080FAE14 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _080FAE30
- ldr r6, _080FAE18 @ =gMain
- ldr r1, [r6, 0x4]
- ldr r0, _080FAE1C @ =c2_mystery_gift_e_reader_run
- cmp r1, r0
- bne _080FADC0
- ldr r1, _080FAE20 @ =gWirelessCommType
- movs r0, 0x2
- strb r0, [r1]
-_080FADC0:
- ldr r4, _080FAE24 @ =CB2_LinkError
- adds r0, r4, 0
- bl SetMainCallback2
- str r4, [r6, 0x8]
- ldrh r0, [r5, 0xA]
- lsls r4, r0, 16
- ldrh r0, [r5, 0x10]
- lsls r0, 8
- orrs r4, r0
- ldrh r0, [r5, 0x12]
- orrs r4, r0
- ldr r1, _080FAE28 @ =0x0000069e
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r6, r0, 0
- ldr r1, _080FAE2C @ =0x000008d2
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r5, r0, 0
- bl sub_80FB9F4
- movs r3, 0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080FADF8
- movs r3, 0x1
-_080FADF8:
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_800ACBC
- ldrb r0, [r7]
- movs r0, 0x2
- strb r0, [r7]
- bl CloseLink
- b _080FAE62
- .align 2, 0
-_080FAE10: .4byte Rfu
-_080FAE14: .4byte gUnknown_3005E10
-_080FAE18: .4byte gMain
-_080FAE1C: .4byte c2_mystery_gift_e_reader_run
-_080FAE20: .4byte gWirelessCommType
-_080FAE24: .4byte CB2_LinkError
-_080FAE28: .4byte 0x0000069e
-_080FAE2C: .4byte 0x000008d2
-_080FAE30:
- ldr r1, _080FAE68 @ =0x000008d3
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080FAE44
- ldr r1, _080FAE6C @ =0x0000069f
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FAE62
-_080FAE44:
- ldr r0, _080FAE70 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080FAE50
- bl sub_80FEB14
-_080FAE50:
- movs r4, 0xE0
- lsls r4, 7
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80FB9E4
- adds r0, r4, 0
- bl sub_80FB0E8
-_080FAE62:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAE68: .4byte 0x000008d3
-_080FAE6C: .4byte 0x0000069f
-_080FAE70: .4byte gUnknown_3005E10
- thumb_func_end sub_80FAD98
-
- thumb_func_start rfu_REQ_recvData_then_sendData
-rfu_REQ_recvData_then_sendData: @ 80FAE74
- push {lr}
- ldr r0, _080FAE90 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _080FAE8C
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- movs r0, 0
- bl LinkRfu_REQ_SendData_HandleParentRelationship
-_080FAE8C:
- pop {r0}
- bx r0
- .align 2, 0
-_080FAE90: .4byte gUnknown_3005E10
- thumb_func_end rfu_REQ_recvData_then_sendData
-
- thumb_func_start sub_80FAE94
-sub_80FAE94: @ 80FAE94
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _080FAEC8 @ =Rfu
- ldr r1, _080FAECC @ =0x00000985
- adds r0, r4, r1
- strb r5, [r0]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- bl sub_80FDA30
- adds r0, r4, 0
- adds r0, 0xEF
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FAEE8
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _080FAED6
- cmp r0, 0x1
- bgt _080FAED0
- cmp r0, 0
- beq _080FAEDC
- b _080FAEE8
- .align 2, 0
-_080FAEC8: .4byte Rfu
-_080FAECC: .4byte 0x00000985
-_080FAED0:
- cmp r0, 0x2
- beq _080FAEE4
- b _080FAEE8
-_080FAED6:
- bl sub_80F911C
- b _080FAEE8
-_080FAEDC:
- bl sub_80F9514
- adds r5, r0, 0
- b _080FAEE8
-_080FAEE4:
- bl rfu_REQ_recvData_then_sendData
-_080FAEE8:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FAE94
-
- thumb_func_start sub_80FAEF0
-sub_80FAEF0: @ 80FAEF0
- push {r4,lr}
- movs r4, 0
- ldr r1, _080FAF18 @ =Rfu
- adds r0, r1, 0
- adds r0, 0xEF
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FAF10
- ldrb r0, [r1, 0xC]
- cmp r0, 0x1
- bne _080FAF0C
- bl sub_80F9204
- adds r4, r0, 0
-_080FAF0C:
- bl sub_80FAD98
-_080FAF10:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080FAF18: .4byte Rfu
- thumb_func_end sub_80FAEF0
-
- thumb_func_start sub_80FAF1C
-sub_80FAF1C: @ 80FAF1C
- push {lr}
- ldr r0, _080FAF2C @ =gUnknown_3005E00
- ldr r1, _080FAF30 @ =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .align 2, 0
-_080FAF2C: .4byte gUnknown_3005E00
-_080FAF30: .4byte gSaveBlock2Ptr
- thumb_func_end sub_80FAF1C
-
- thumb_func_start sub_80FAF34
-sub_80FAF34: @ 80FAF34
- push {r4,lr}
- ldr r4, _080FAF54 @ =gUnknown_3005440
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80FCB54
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAF54: .4byte gUnknown_3005440
- thumb_func_end sub_80FAF34
-
- thumb_func_start sub_80FAF58
-sub_80FAF58: @ 80FAF58
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080FAF70 @ =gUnknown_3005440
- adds r1, r4, 0
- bl sub_80FCB54
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAF70: .4byte gUnknown_3005440
- thumb_func_end sub_80FAF58
-
- thumb_func_start sub_80FAF74
-sub_80FAF74: @ 80FAF74
- push {r4,r5,lr}
- ldr r5, _080FAF9C @ =gUnknown_3005440
- movs r4, 0x1
- ands r0, r4
- lsls r0, 4
- ldrb r3, [r5]
- movs r2, 0x11
- negs r2, r2
- ands r2, r3
- orrs r2, r0
- ands r1, r4
- lsls r1, 5
- movs r0, 0x21
- negs r0, r0
- ands r2, r0
- orrs r2, r1
- strb r2, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAF9C: .4byte gUnknown_3005440
- thumb_func_end sub_80FAF74
-
- thumb_func_start sub_80FAFA0
-sub_80FAFA0: @ 80FAFA0
- push {r4,r5,lr}
- ldr r5, _080FAFD4 @ =gUnknown_3005440
- lsls r0, 2
- ldrb r4, [r5, 0x9]
- movs r3, 0x3
- ands r3, r4
- orrs r3, r0
- strb r3, [r5, 0x9]
- ldr r3, _080FAFD8 @ =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldrh r3, [r5, 0x8]
- ldr r0, _080FAFDC @ =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r5, 0x8]
- lsls r2, 1
- ldrb r1, [r5, 0xB]
- movs r0, 0x1
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0xB]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAFD4: .4byte gUnknown_3005440
-_080FAFD8: .4byte 0x000003ff
-_080FAFDC: .4byte 0xfffffc00
- thumb_func_end sub_80FAFA0
-
- thumb_func_start sub_80FAFE0
-sub_80FAFE0: @ 80FAFE0
- push {lr}
- lsls r0, 24
- ldr r2, _080FB000 @ =gUnknown_3005440
- lsrs r0, 17
- ldrb r3, [r2, 0xA]
- movs r1, 0x7F
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0xA]
- ldr r3, _080FB004 @ =gUnknown_3005E00
- movs r0, 0
- movs r1, 0x2
- bl rfu_REQ_configGameData
- pop {r0}
- bx r0
- .align 2, 0
-_080FB000: .4byte gUnknown_3005440
-_080FB004: .4byte gUnknown_3005E00
- thumb_func_end sub_80FAFE0
-
- thumb_func_start sub_80FB008
-sub_80FB008: @ 80FB008
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080FB016
- bl sub_80FAF58
-_080FB016:
- ldr r2, _080FB028 @ =gUnknown_3005440
- ldr r3, _080FB02C @ =gUnknown_3005E00
- movs r0, 0
- movs r1, 0x2
- bl rfu_REQ_configGameData
- pop {r0}
- bx r0
- .align 2, 0
-_080FB028: .4byte gUnknown_3005440
-_080FB02C: .4byte gUnknown_3005E00
- thumb_func_end sub_80FB008
-
- thumb_func_start sub_80FB030
-sub_80FB030: @ 80FB030
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _080FB0C4
- movs r5, 0
- movs r7, 0
- ldr r3, _080FB0D4 @ =Rfu
- ldr r1, _080FB0D8 @ =0x0000099a
- adds r0, r3, r1
- ldr r2, _080FB0DC @ =0x0000099b
- adds r1, r3, r2
- ldrb r2, [r0]
- ldrb r0, [r1]
- adds r1, r0, 0
- eors r1, r2
- mov r8, r1
- movs r4, 0
- movs r6, 0x1
- ldr r2, _080FB0E0 @ =gLinkPlayers
- mov r12, r2
- ldr r0, _080FB0E4 @ =0x00000996
- adds r0, r3
- mov r10, r0
- mov r3, r12
- adds r3, 0x4
-_080FB074:
- mov r0, r8
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _080FB0B4
- mov r1, r10
- adds r0, r4, r1
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r2, r12
- adds r1, r0, r2
- ldrb r1, [r1, 0x13]
- adds r2, r6, 0
- ands r2, r1
- lsls r2, 3
- adds r0, r3
- ldr r1, [r0]
- movs r0, 0x7
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- orrs r2, r1
- lsls r0, r5, 3
- lsls r2, r0
- orrs r7, r2
- adds r5, 0x1
- mov r0, r9
- subs r0, 0x1
- cmp r5, r0
- beq _080FB0BA
-_080FB0B4:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080FB074
-_080FB0BA:
- movs r0, 0x45
- adds r1, r7, 0
- movs r2, 0
- bl sub_80FB008
-_080FB0C4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB0D4: .4byte Rfu
-_080FB0D8: .4byte 0x0000099a
-_080FB0DC: .4byte 0x0000099b
-_080FB0E0: .4byte gLinkPlayers
-_080FB0E4: .4byte 0x00000996
- thumb_func_end sub_80FB030
-
- thumb_func_start sub_80FB0E8
-sub_80FB0E8: @ 80FB0E8
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, _080FB110 @ =Rfu
- adds r3, r2, 0
- adds r3, 0xEE
- ldrb r0, [r3]
- cmp r0, 0
- bne _080FB10A
- ldr r1, _080FB114 @ =gUnknown_3005E10
- ldrh r0, [r1, 0x14]
- strh r0, [r2, 0x10]
- ldrh r0, [r1, 0x16]
- strh r0, [r2, 0x12]
- strh r4, [r2, 0xA]
- ldrb r0, [r3]
- movs r0, 0x1
- strb r0, [r3]
-_080FB10A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB110: .4byte Rfu
-_080FB114: .4byte gUnknown_3005E10
- thumb_func_end sub_80FB0E8
-
- thumb_func_start sub_80FB118
-sub_80FB118: @ 80FB118
- ldr r0, _080FB124 @ =Rfu
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080FB124: .4byte Rfu
- thumb_func_end sub_80FB118
-
- thumb_func_start sub_80FB128
-sub_80FB128: @ 80FB128
- push {lr}
- adds r2, r0, 0
- cmp r2, 0
- bne _080FB140
- ldr r0, _080FB13C @ =Rfu
- adds r0, 0xEE
- ldrb r1, [r0]
- strb r2, [r0]
- b _080FB14A
- .align 2, 0
-_080FB13C: .4byte Rfu
-_080FB140:
- ldr r0, _080FB150 @ =Rfu
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x4
- strb r1, [r0]
-_080FB14A:
- pop {r0}
- bx r0
- .align 2, 0
-_080FB150: .4byte Rfu
- thumb_func_end sub_80FB128
-
- thumb_func_start sub_80FB154
-sub_80FB154: @ 80FB154
- push {lr}
- ldr r0, _080FB16C @ =gUnknown_3005E10
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_80FBE20
- ldr r1, _080FB170 @ =Rfu
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080FB16C: .4byte gUnknown_3005E10
-_080FB170: .4byte Rfu
- thumb_func_end sub_80FB154
-
- thumb_func_start sub_80FB174
-sub_80FB174: @ 80FB174
- ldr r1, _080FB17C @ =Rfu
- ldr r0, _080FB180 @ =sub_80FB154
- str r0, [r1]
- bx lr
- .align 2, 0
-_080FB17C: .4byte Rfu
-_080FB180: .4byte sub_80FB154
- thumb_func_end sub_80FB174
-
- thumb_func_start sub_80FB184
-sub_80FB184: @ 80FB184
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r6, 0
- cmp r4, 0x32
- bne _080FB19A
- b _080FB2D8
-_080FB19A:
- cmp r4, 0x32
- bgt _080FB1CA
- cmp r4, 0x13
- bgt _080FB1B8
- cmp r4, 0x12
- blt _080FB1A8
- b _080FB366
-_080FB1A8:
- cmp r4, 0x10
- bne _080FB1AE
- b _080FB366
-_080FB1AE:
- cmp r4, 0x10
- bgt _080FB204
- cmp r4, 0
- beq _080FB1F6
- b _080FB366
-_080FB1B8:
- cmp r4, 0x30
- bne _080FB1BE
- b _080FB2E4
-_080FB1BE:
- cmp r4, 0x30
- ble _080FB1C4
- b _080FB2CC
-_080FB1C4:
- cmp r4, 0x14
- beq _080FB2A0
- b _080FB366
-_080FB1CA:
- cmp r4, 0x44
- bgt _080FB1DC
- cmp r4, 0x42
- blt _080FB1D4
- b _080FB366
-_080FB1D4:
- cmp r4, 0x33
- bne _080FB1DA
- b _080FB2E4
-_080FB1DA:
- b _080FB366
-_080FB1DC:
- cmp r4, 0xF3
- bne _080FB1E2
- b _080FB332
-_080FB1E2:
- cmp r4, 0xF3
- bgt _080FB1EE
- cmp r4, 0xF0
- bge _080FB1EC
- b _080FB366
-_080FB1EC:
- b _080FB34C
-_080FB1EE:
- cmp r4, 0xFF
- bne _080FB1F4
- b _080FB34C
-_080FB1F4:
- b _080FB366
-_080FB1F6:
- ldr r1, _080FB200 @ =Rfu
- movs r0, 0x2
- strh r0, [r1, 0x4]
- b _080FB366
- .align 2, 0
-_080FB200: .4byte Rfu
-_080FB204:
- ldr r0, _080FB268 @ =gUnknown_3005E10
- ldrh r0, [r0, 0x14]
- bl sub_80FB564
- movs r5, 0
- movs r0, 0x1
- mov r8, r0
- ldr r1, _080FB26C @ =Rfu
- mov r9, r1
- ldr r3, _080FB270 @ =0x0000098d
- add r3, r9
- mov r10, r3
- movs r7, 0x7F
-_080FB21E:
- ldr r0, _080FB268 @ =gUnknown_3005E10
- ldrh r0, [r0, 0x14]
- asrs r0, r5
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _080FB286
- ldr r0, _080FB274 @ =gRfuLinkStatus
- lsls r1, r5, 5
- adds r1, 0x14
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0, 0x10]
- adds r4, r7, 0
- ands r4, r0
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- adds r0, r7, 0
- ands r0, r1
- cmp r4, r0
- bne _080FB27C
- ldr r0, _080FB278 @ =0x00000989
- add r0, r9
- adds r0, r5, r0
- movs r1, 0
- strb r1, [r0]
- mov r3, r10
- adds r2, r5, r3
- strb r1, [r2]
- movs r0, 0x20
- adds r1, r5, 0
- movs r3, 0x1
- bl rfu_setRecvBuffer
- b _080FB286
- .align 2, 0
-_080FB268: .4byte gUnknown_3005E10
-_080FB26C: .4byte Rfu
-_080FB270: .4byte 0x0000098d
-_080FB274: .4byte gRfuLinkStatus
-_080FB278: .4byte 0x00000989
-_080FB27C:
- mov r0, r8
- lsls r0, r5
- orrs r6, r0
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_080FB286:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080FB21E
- cmp r6, 0
- beq _080FB366
- adds r0, r6, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- b _080FB366
-_080FB2A0:
- ldr r4, _080FB2C0 @ =Rfu
- ldr r1, _080FB2C4 @ =0x0000099f
- adds r0, r4, r1
- ldr r1, _080FB2C8 @ =gUnknown_3005E10
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- beq _080FB2BA
- eors r0, r2
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_080FB2BA:
- movs r0, 0x11
- strh r0, [r4, 0x4]
- b _080FB366
- .align 2, 0
-_080FB2C0: .4byte Rfu
-_080FB2C4: .4byte 0x0000099f
-_080FB2C8: .4byte gUnknown_3005E10
-_080FB2CC:
- ldr r0, _080FB2D4 @ =Rfu
- adds r0, 0xF0
- b _080FB362
- .align 2, 0
-_080FB2D4: .4byte Rfu
-_080FB2D8:
- ldr r0, _080FB2E0 @ =Rfu
- adds r0, 0xF0
- movs r1, 0x3
- b _080FB364
- .align 2, 0
-_080FB2E0: .4byte Rfu
-_080FB2E4:
- ldr r1, _080FB314 @ =Rfu
- adds r2, r1, 0
- adds r2, 0xF0
- movs r0, 0x4
- strb r0, [r2]
- ldr r3, _080FB318 @ =0x0000099a
- adds r1, r3
- ldr r0, _080FB31C @ =gUnknown_3005E10
- ldrb r2, [r0, 0x14]
- ldrb r0, [r1]
- adds r3, r0, 0
- bics r3, r2
- adds r2, r3, 0
- strb r2, [r1]
- ldr r0, _080FB320 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FB328
- cmp r2, 0
- bne _080FB324
- adds r0, r4, 0
- bl sub_80FB0E8
- b _080FB328
- .align 2, 0
-_080FB314: .4byte Rfu
-_080FB318: .4byte 0x0000099a
-_080FB31C: .4byte gUnknown_3005E10
-_080FB320: .4byte gReceivedRemoteLinkPlayers
-_080FB324:
- bl sub_80FB174
-_080FB328:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80FB9E4
- b _080FB366
-_080FB332:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_80FB9E4
- movs r0, 0xF3
- bl sub_80FB0E8
- ldr r0, _080FB348 @ =Rfu
- adds r0, 0xEF
- b _080FB362
- .align 2, 0
-_080FB348: .4byte Rfu
-_080FB34C:
- adds r0, r4, 0
- bl sub_80FB0E8
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80FB9E4
- ldr r0, _080FB374 @ =Rfu
- ldr r1, _080FB378 @ =0x00000993
- adds r0, r1
- ldrb r1, [r0]
-_080FB362:
- movs r1, 0x1
-_080FB364:
- strb r1, [r0]
-_080FB366:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB374: .4byte Rfu
-_080FB378: .4byte 0x00000993
- thumb_func_end sub_80FB184
-
- thumb_func_start sub_80FB37C
-sub_80FB37C: @ 80FB37C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x31
- bne _080FB388
- b _080FB4E8
-_080FB388:
- cmp r4, 0x31
- bgt _080FB3B6
- cmp r4, 0x22
- beq _080FB40C
- cmp r4, 0x22
- bgt _080FB3A4
- cmp r4, 0x20
- beq _080FB3F4
- cmp r4, 0x20
- ble _080FB39E
- b _080FB556
-_080FB39E:
- cmp r4, 0
- beq _080FB3E6
- b _080FB556
-_080FB3A4:
- cmp r4, 0x24
- beq _080FB432
- cmp r4, 0x24
- blt _080FB428
- cmp r4, 0x25
- beq _080FB47C
- cmp r4, 0x30
- beq _080FB486
- b _080FB556
-_080FB3B6:
- cmp r4, 0x44
- bgt _080FB3CC
- cmp r4, 0x42
- blt _080FB3C0
- b _080FB556
-_080FB3C0:
- cmp r4, 0x33
- beq _080FB49A
- cmp r4, 0x33
- bge _080FB3CA
- b _080FB504
-_080FB3CA:
- b _080FB556
-_080FB3CC:
- cmp r4, 0xF3
- bne _080FB3D2
- b _080FB524
-_080FB3D2:
- cmp r4, 0xF3
- bgt _080FB3DE
- cmp r4, 0xF0
- bge _080FB3DC
- b _080FB556
-_080FB3DC:
- b _080FB53C
-_080FB3DE:
- cmp r4, 0xFF
- bne _080FB3E4
- b _080FB53C
-_080FB3E4:
- b _080FB556
-_080FB3E6:
- ldr r1, _080FB3F0 @ =Rfu
- movs r0, 0x6
- strh r0, [r1, 0x4]
- b _080FB556
- .align 2, 0
-_080FB3F0: .4byte Rfu
-_080FB3F4:
- ldr r0, _080FB400 @ =Rfu
- ldr r1, _080FB404 @ =gUnknown_3005E10
- ldrh r1, [r1, 0x14]
- ldr r2, _080FB408 @ =0x00000985
- adds r0, r2
- b _080FB554
- .align 2, 0
-_080FB400: .4byte Rfu
-_080FB404: .4byte gUnknown_3005E10
-_080FB408: .4byte 0x00000985
-_080FB40C:
- ldr r0, _080FB41C @ =Rfu
- ldr r1, _080FB420 @ =gUnknown_3005E10
- ldrh r1, [r1, 0x14]
- ldr r2, _080FB424 @ =0x000008f6
- adds r0, r2
- ldrb r2, [r0]
- b _080FB554
- .align 2, 0
-_080FB41C: .4byte Rfu
-_080FB420: .4byte gUnknown_3005E10
-_080FB424: .4byte 0x000008f6
-_080FB428:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80FB9E4
- b _080FB556
-_080FB432:
- ldr r4, _080FB468 @ =Rfu
- movs r1, 0
- movs r0, 0xB
- strh r0, [r4, 0x4]
- ldr r2, _080FB46C @ =0x0000093d
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, _080FB470 @ =0x0000093e
- adds r2, r4, r0
- strb r1, [r2]
- ldr r1, _080FB474 @ =0x000008f6
- adds r5, r4, r1
- ldrb r1, [r5]
- movs r0, 0x20
- movs r3, 0x1
- bl rfu_setRecvBuffer
- ldrb r1, [r5]
- ldr r2, _080FB478 @ =0x000008f7
- adds r4, r2
- movs r0, 0x10
- adds r2, r4, 0
- movs r3, 0x46
- bl rfu_setRecvBuffer
- b _080FB556
- .align 2, 0
-_080FB468: .4byte Rfu
-_080FB46C: .4byte 0x0000093d
-_080FB470: .4byte 0x0000093e
-_080FB474: .4byte 0x000008f6
-_080FB478: .4byte 0x000008f7
-_080FB47C:
- movs r0, 0x2
- movs r1, 0x25
- bl sub_80FB9E4
- b _080FB556
-_080FB486:
- ldr r0, _080FB4D8 @ =Rfu
- adds r2, r0, 0
- adds r2, 0xF0
- movs r1, 0x2
- strb r1, [r2]
- ldr r1, _080FB4DC @ =0x0000093e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080FB556
-_080FB49A:
- ldr r2, _080FB4D8 @ =Rfu
- adds r1, r2, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _080FB4AA
- movs r0, 0x4
- strb r0, [r1]
-_080FB4AA:
- ldr r1, _080FB4DC @ =0x0000093e
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _080FB4BC
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80FB9E4
-_080FB4BC:
- ldr r0, _080FB4E0 @ =gUnknown_843EDF8 "LINK LOSS DISCONNECT!"
- movs r1, 0x5
- movs r2, 0x5
- bl nullsub_87
- ldr r0, _080FB4E4 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FB556
- adds r0, r4, 0
- bl sub_80FB0E8
- b _080FB556
- .align 2, 0
-_080FB4D8: .4byte Rfu
-_080FB4DC: .4byte 0x0000093e
-_080FB4E0: .4byte gUnknown_843EDF8
-_080FB4E4: .4byte gReceivedRemoteLinkPlayers
-_080FB4E8:
- ldr r0, _080FB4FC @ =Rfu
- adds r0, 0xF0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080FB500 @ =gUnknown_843EE10 "LINK LOSS RECOVERY NOW"
- movs r1, 0x5
- movs r2, 0x5
- bl nullsub_87
- b _080FB556
- .align 2, 0
-_080FB4FC: .4byte Rfu
-_080FB500: .4byte gUnknown_843EE10
-_080FB504:
- ldr r1, _080FB51C @ =Rfu
- adds r2, r1, 0
- adds r2, 0xF0
- movs r0, 0x3
- strb r0, [r2]
- ldr r2, _080FB520 @ =0x000008f4
- adds r1, r2
- ldrb r0, [r1]
- movs r0, 0x1
- strb r0, [r1]
- b _080FB556
- .align 2, 0
-_080FB51C: .4byte Rfu
-_080FB520: .4byte 0x000008f4
-_080FB524:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_80FB9E4
- movs r0, 0xF3
- bl sub_80FB0E8
- ldr r0, _080FB538 @ =Rfu
- adds r0, 0xEF
- b _080FB552
- .align 2, 0
-_080FB538: .4byte Rfu
-_080FB53C:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80FB9E4
- adds r0, r4, 0
- bl sub_80FB0E8
- ldr r0, _080FB55C @ =Rfu
- ldr r1, _080FB560 @ =0x00000993
- adds r0, r1
- ldrb r1, [r0]
-_080FB552:
- movs r1, 0x1
-_080FB554:
- strb r1, [r0]
-_080FB556:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB55C: .4byte Rfu
-_080FB560: .4byte 0x00000993
- thumb_func_end sub_80FB37C
-
- thumb_func_start sub_80FB564
-sub_80FB564: @ 80FB564
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- movs r6, 0x1
- ldr r0, _080FB598 @ =Rfu
- ldr r4, _080FB59C @ =0x000009a2
- adds r1, r0, r4
- movs r5, 0
- movs r4, 0xFF
-_080FB576:
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r6
- cmp r0, 0
- beq _080FB588
- strb r5, [r1]
- ldrb r0, [r1, 0x4]
- orrs r0, r4
- strb r0, [r1, 0x4]
-_080FB588:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, 0x3
- ble _080FB576
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB598: .4byte Rfu
-_080FB59C: .4byte 0x000009a2
- thumb_func_end sub_80FB564
-
- thumb_func_start sub_80FB5A0
-sub_80FB5A0: @ 80FB5A0
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r3, 0
- movs r2, 0
- movs r4, 0x1
- ldr r6, _080FB5E8 @ =gRfuLinkStatus
- movs r7, 0x7F
-_080FB5AE:
- adds r0, r5, 0
- asrs r0, r2
- ands r0, r4
- cmp r0, 0
- beq _080FB5D4
- lsls r1, r2, 5
- adds r1, 0x14
- ldr r0, [r6]
- adds r0, r1
- ldrb r1, [r0, 0x10]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0x45
- bne _080FB5D4
- adds r0, r4, 0
- lsls r0, r2
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
-_080FB5D4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080FB5AE
- adds r0, r3, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080FB5E8: .4byte gRfuLinkStatus
- thumb_func_end sub_80FB5A0
-
- thumb_func_start sub_80FB5EC
-sub_80FB5EC: @ 80FB5EC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x25
- bne _080FB5F8
- b _080FB86C
-_080FB5F8:
- cmp r4, 0x25
- bgt _080FB63A
- cmp r4, 0x14
- bne _080FB602
- b _080FB780
-_080FB602:
- cmp r4, 0x14
- bgt _080FB61A
- cmp r4, 0x11
- beq _080FB69A
- cmp r4, 0x11
- ble _080FB610
- b _080FB9C2
-_080FB610:
- cmp r4, 0
- beq _080FB684
- cmp r4, 0x10
- beq _080FB690
- b _080FB9C2
-_080FB61A:
- cmp r4, 0x22
- bne _080FB620
- b _080FB7E8
-_080FB620:
- cmp r4, 0x22
- bgt _080FB62C
- cmp r4, 0x20
- bne _080FB62A
- b _080FB7D0
-_080FB62A:
- b _080FB9C2
-_080FB62C:
- cmp r4, 0x23
- bne _080FB632
- b _080FB804
-_080FB632:
- cmp r4, 0x24
- bne _080FB638
- b _080FB83A
-_080FB638:
- b _080FB9C2
-_080FB63A:
- cmp r4, 0x44
- bgt _080FB66A
- cmp r4, 0x42
- blt _080FB644
- b _080FB9C2
-_080FB644:
- cmp r4, 0x32
- bne _080FB64A
- b _080FB894
-_080FB64A:
- cmp r4, 0x32
- bgt _080FB65C
- cmp r4, 0x30
- bne _080FB654
- b _080FB8C0
-_080FB654:
- cmp r4, 0x31
- bne _080FB65A
- b _080FB876
-_080FB65A:
- b _080FB9C2
-_080FB65C:
- cmp r4, 0x33
- bne _080FB662
- b _080FB8C8
-_080FB662:
- cmp r4, 0x40
- bne _080FB668
- b _080FB97C
-_080FB668:
- b _080FB9C2
-_080FB66A:
- cmp r4, 0xF3
- bne _080FB670
- b _080FB98C
-_080FB670:
- cmp r4, 0xF3
- bgt _080FB67C
- cmp r4, 0xF0
- bge _080FB67A
- b _080FB9C2
-_080FB67A:
- b _080FB9A8
-_080FB67C:
- cmp r4, 0xFF
- bne _080FB682
- b _080FB9A8
-_080FB682:
- b _080FB9C2
-_080FB684:
- ldr r1, _080FB68C @ =Rfu
- movs r0, 0x11
- strh r0, [r1, 0x4]
- b _080FB9C2
- .align 2, 0
-_080FB68C: .4byte Rfu
-_080FB690:
- movs r0, 0x4
- movs r1, 0
- bl sub_80FB9E4
- b _080FB9C2
-_080FB69A:
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _080FB758
- ldr r5, _080FB704 @ =Rfu
- ldr r1, _080FB708 @ =0x00000991
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FB758
- ldr r0, _080FB70C @ =gUnknown_3005E10
- ldrh r0, [r0, 0x14]
- bl sub_80FB5A0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080FB722
- adds r0, r4, 0
- bl sub_80F886C
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1
- mov r12, r2
- mov r1, r12
- lsls r1, r0
- lsls r1, 24
- lsrs r1, 24
- ldr r7, _080FB710 @ =0x0000099e
- adds r6, r5, r7
- ldrb r2, [r6]
- cmp r2, 0
- bne _080FB714
- movs r0, 0x9A
- lsls r0, 4
- adds r3, r5, r0
- ldrb r0, [r3]
- cmp r0, 0
- bne _080FB714
- subs r7, 0x1
- adds r0, r5, r7
- strb r1, [r0]
- eors r1, r4
- orrs r1, r2
- strb r1, [r6]
- mov r0, r12
- strb r0, [r3]
- b _080FB722
- .align 2, 0
-_080FB704: .4byte Rfu
-_080FB708: .4byte 0x00000991
-_080FB70C: .4byte gUnknown_3005E10
-_080FB710: .4byte 0x0000099e
-_080FB714:
- ldr r0, _080FB744 @ =Rfu
- ldr r1, _080FB748 @ =0x0000099e
- adds r0, r1
- ldrb r2, [r0]
- adds r1, r4, 0
- orrs r1, r2
- strb r1, [r0]
-_080FB722:
- ldr r0, _080FB74C @ =gUnknown_3005E10
- ldrh r1, [r0, 0x14]
- cmp r4, r1
- beq _080FB772
- ldr r2, _080FB744 @ =Rfu
- ldr r7, _080FB750 @ =0x0000099b
- adds r3, r2, r7
- adds r0, r4, 0
- eors r0, r1
- ldrb r1, [r3]
- orrs r0, r1
- strb r0, [r3]
- ldr r0, _080FB754 @ =0x0000099c
- adds r2, r0
- movs r0, 0x2
- strb r0, [r2]
- b _080FB772
- .align 2, 0
-_080FB744: .4byte Rfu
-_080FB748: .4byte 0x0000099e
-_080FB74C: .4byte gUnknown_3005E10
-_080FB750: .4byte 0x0000099b
-_080FB754: .4byte 0x0000099c
-_080FB758:
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x54
- bne _080FB772
- ldr r0, _080FB77C @ =gUnknown_3005E10
- ldrb r0, [r0]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_080FB772:
- ldr r0, _080FB77C @ =gUnknown_3005E10
- ldrh r0, [r0, 0x14]
- bl sub_80FB564
- b _080FB9C2
- .align 2, 0
-_080FB77C: .4byte gUnknown_3005E10
-_080FB780:
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _080FB7B6
- ldr r4, _080FB7C8 @ =gUnknown_3005E10
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bls _080FB7B6
- ldrb r0, [r4, 0x14]
- bl sub_80F886C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r1, 24
- ldrb r0, [r4]
- eors r1, r0
- adds r0, r1, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_080FB7B6:
- ldr r1, _080FB7CC @ =Rfu
- ldrh r0, [r1, 0x4]
- cmp r0, 0xF
- beq _080FB7C0
- b _080FB9C2
-_080FB7C0:
- movs r0, 0x10
- strh r0, [r1, 0x4]
- b _080FB9C2
- .align 2, 0
-_080FB7C8: .4byte gUnknown_3005E10
-_080FB7CC: .4byte Rfu
-_080FB7D0:
- ldr r0, _080FB7DC @ =Rfu
- ldr r1, _080FB7E0 @ =gUnknown_3005E10
- ldrh r1, [r1, 0x14]
- ldr r2, _080FB7E4 @ =0x00000985
- adds r0, r2
- b _080FB9C0
- .align 2, 0
-_080FB7DC: .4byte Rfu
-_080FB7E0: .4byte gUnknown_3005E10
-_080FB7E4: .4byte 0x00000985
-_080FB7E8:
- ldr r0, _080FB7F8 @ =Rfu
- ldr r1, _080FB7FC @ =gUnknown_3005E10
- ldrh r1, [r1, 0x14]
- ldr r7, _080FB800 @ =0x000008f6
- adds r0, r7
- ldrb r2, [r0]
- b _080FB9C0
- .align 2, 0
-_080FB7F8: .4byte Rfu
-_080FB7FC: .4byte gUnknown_3005E10
-_080FB800: .4byte 0x000008f6
-_080FB804:
- ldr r1, _080FB824 @ =Rfu
- movs r0, 0x12
- strh r0, [r1, 0x4]
- ldr r0, _080FB828 @ =0x00000987
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x1
- bhi _080FB830
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, _080FB82C @ =sub_80FC028
- movs r1, 0x2
- bl CreateTask
- b _080FB9C2
- .align 2, 0
-_080FB824: .4byte Rfu
-_080FB828: .4byte 0x00000987
-_080FB82C: .4byte sub_80FC028
-_080FB830:
- movs r0, 0x2
- movs r1, 0x23
- bl sub_80FB9E4
- b _080FB9C2
-_080FB83A:
- ldr r4, _080FB860 @ =Rfu
- movs r0, 0xD
- strh r0, [r4, 0x4]
- movs r0, 0x3
- movs r1, 0
- bl sub_80FB9E4
- ldr r1, _080FB864 @ =0x000008f6
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, _080FB868 @ =0x000008f7
- adds r4, r2
- movs r0, 0x10
- adds r2, r4, 0
- movs r3, 0x46
- bl rfu_setRecvBuffer
- b _080FB9C2
- .align 2, 0
-_080FB860: .4byte Rfu
-_080FB864: .4byte 0x000008f6
-_080FB868: .4byte 0x000008f7
-_080FB86C:
- movs r0, 0x2
- movs r1, 0x25
- bl sub_80FB9E4
- b _080FB9C2
-_080FB876:
- ldr r0, _080FB88C @ =gUnknown_3005E10
- ldrb r1, [r0]
- ldrh r0, [r0, 0x14]
- ands r1, r0
- cmp r1, 0
- bne _080FB884
- b _080FB9C2
-_080FB884:
- ldr r0, _080FB890 @ =Rfu
- adds r0, 0xF0
- movs r1, 0x1
- b _080FB9C0
- .align 2, 0
-_080FB88C: .4byte gUnknown_3005E10
-_080FB890: .4byte Rfu
-_080FB894:
- ldr r2, _080FB8B4 @ =Rfu
- adds r1, r2, 0
- adds r1, 0xF0
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, _080FB8B8 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FB8AA
- b _080FB9C2
-_080FB8AA:
- ldr r7, _080FB8BC @ =0x000008f4
- adds r0, r2, r7
- ldrb r1, [r0]
- movs r1, 0x1
- b _080FB9C0
- .align 2, 0
-_080FB8B4: .4byte Rfu
-_080FB8B8: .4byte gRfuLinkStatus
-_080FB8BC: .4byte 0x000008f4
-_080FB8C0:
- ldr r0, _080FB900 @ =Rfu
- adds r0, 0xF0
- movs r1, 0x2
- strb r1, [r0]
-_080FB8C8:
- ldr r2, _080FB900 @ =Rfu
- adds r1, r2, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _080FB8D8
- movs r0, 0x4
- strb r0, [r1]
-_080FB8D8:
- ldrb r0, [r2, 0xC]
- cmp r0, 0x1
- bne _080FB916
- ldr r0, _080FB904 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FB934
- ldr r0, _080FB908 @ =0x0000099a
- adds r2, r0
- ldr r0, _080FB90C @ =gUnknown_3005E10
- ldrb r1, [r0, 0x14]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- cmp r0, 0
- bne _080FB910
- adds r0, r4, 0
- bl sub_80FB0E8
- b _080FB934
- .align 2, 0
-_080FB900: .4byte Rfu
-_080FB904: .4byte gReceivedRemoteLinkPlayers
-_080FB908: .4byte 0x0000099a
-_080FB90C: .4byte gUnknown_3005E10
-_080FB910:
- bl sub_80FB174
- b _080FB934
-_080FB916:
- ldr r1, _080FB964 @ =0x0000099c
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080FB934
- ldr r0, _080FB968 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FB934
- adds r0, r4, 0
- bl sub_80FB0E8
- movs r0, 0
- bl sub_80FD760
-_080FB934:
- ldr r0, _080FB96C @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080FB95A
- ldr r0, _080FB970 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _080FB95A
- ldr r0, _080FB974 @ =sub_80F8B34
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FB95A
- ldr r1, _080FB978 @ =Rfu
- movs r0, 0x11
- strh r0, [r1, 0x4]
-_080FB95A:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80FB9E4
- b _080FB9C2
- .align 2, 0
-_080FB964: .4byte 0x0000099c
-_080FB968: .4byte gReceivedRemoteLinkPlayers
-_080FB96C: .4byte gRfuLinkStatus
-_080FB970: .4byte gUnknown_3005E10
-_080FB974: .4byte sub_80F8B34
-_080FB978: .4byte Rfu
-_080FB97C:
- ldr r0, _080FB984 @ =Rfu
- ldr r2, _080FB988 @ =0x0000099b
- adds r0, r2
- b _080FB9BE
- .align 2, 0
-_080FB984: .4byte Rfu
-_080FB988: .4byte 0x0000099b
-_080FB98C:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_80FB9E4
- movs r0, 0xF3
- bl sub_80FB0E8
- ldr r0, _080FB9A4 @ =Rfu
- adds r0, 0xEF
- movs r1, 0x1
- b _080FB9C0
- .align 2, 0
-_080FB9A4: .4byte Rfu
-_080FB9A8:
- adds r0, r4, 0
- bl sub_80FB0E8
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80FB9E4
- ldr r0, _080FB9C8 @ =Rfu
- ldr r7, _080FB9CC @ =0x00000993
- adds r0, r7
- ldrb r1, [r0]
-_080FB9BE:
- movs r1, 0
-_080FB9C0:
- strb r1, [r0]
-_080FB9C2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB9C8: .4byte Rfu
-_080FB9CC: .4byte 0x00000993
- thumb_func_end sub_80FB5EC
-
- thumb_func_start sub_80FB9D0
-sub_80FB9D0: @ 80FB9D0
- ldr r0, _080FB9DC @ =Rfu
- ldr r1, _080FB9E0 @ =0x0000099c
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080FB9DC: .4byte Rfu
-_080FB9E0: .4byte 0x0000099c
- thumb_func_end sub_80FB9D0
-
- thumb_func_start sub_80FB9E4
-sub_80FB9E4: @ 80FB9E4
- ldr r2, _080FB9F0 @ =Rfu
- adds r3, r2, 0
- adds r3, 0xF1
- strb r0, [r3]
- strh r1, [r2, 0xA]
- bx lr
- .align 2, 0
-_080FB9F0: .4byte Rfu
- thumb_func_end sub_80FB9E4
-
- thumb_func_start sub_80FB9F4
-sub_80FB9F4: @ 80FB9F4
- ldr r0, _080FB9FC @ =Rfu
- adds r0, 0xF1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080FB9FC: .4byte Rfu
- thumb_func_end sub_80FB9F4
-
- thumb_func_start sub_80FBA00
-sub_80FBA00: @ 80FBA00
- push {lr}
- bl sub_80FB9F4
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x1
- bls _080FBA14
- movs r0, 0
- b _080FBA16
-_080FBA14:
- movs r0, 0x1
-_080FBA16:
- pop {r1}
- bx r1
- thumb_func_end sub_80FBA00
-
- thumb_func_start sub_80FBA1C
-sub_80FBA1C: @ 80FBA1C
- ldr r0, _080FBA28 @ =Rfu
- movs r1, 0x9A
- lsls r1, 4
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080FBA28: .4byte Rfu
- thumb_func_end sub_80FBA1C
-
- thumb_func_start Rfu_IsMaster
-Rfu_IsMaster: @ 80FBA2C
- ldr r0, _080FBA34 @ =Rfu
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_080FBA34: .4byte Rfu
- thumb_func_end Rfu_IsMaster
-
- thumb_func_start RFUVSync
-RFUVSync: @ 80FBA38
- push {lr}
- bl rfu_syncVBlank_
- pop {r0}
- bx r0
- thumb_func_end RFUVSync
-
- thumb_func_start sub_80FBA44
-sub_80FBA44: @ 80FBA44
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r1, _080FBA5C @ =gRecvCmds
- ldr r2, _080FBA60 @ =0x05000014
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080FBA5C: .4byte gRecvCmds
-_080FBA60: .4byte 0x05000014
- thumb_func_end sub_80FBA44
-
- thumb_func_start sub_80FBA64
-sub_80FBA64: @ 80FBA64
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80FBA64
-
- thumb_func_start sub_80FBA78
-sub_80FBA78: @ 80FBA78
- push {r4,lr}
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ResetPaletteFade
- ldr r0, _080FBAF4 @ =sub_80FBA64
- bl SetVBlankCallback
- bl IsWirelessAdapterConnected
- lsls r0, 24
- cmp r0, 0
- beq _080FBAEC
- ldr r1, _080FBAF8 @ =gLinkType
- ldr r2, _080FBAFC @ =0x00001111
- adds r0, r2, 0
- strh r0, [r1]
- bl sub_800B1F4
- bl OpenLink
- ldr r0, _080FBB00 @ =gMain
- ldrh r0, [r0, 0x24]
- bl SeedRng
- movs r4, 0
-_080FBAB4:
- bl Random
- ldr r1, _080FBB04 @ =gSaveBlock2Ptr
- ldr r1, [r1]
- adds r1, 0xA
- adds r1, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080FBAB4
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl sub_80FBB20
- ldr r0, _080FBB08 @ =sub_80FBB74
- bl SetMainCallback2
-_080FBAEC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBAF4: .4byte sub_80FBA64
-_080FBAF8: .4byte gLinkType
-_080FBAFC: .4byte 0x00001111
-_080FBB00: .4byte gMain
-_080FBB04: .4byte gSaveBlock2Ptr
-_080FBB08: .4byte sub_80FBB74
- thumb_func_end sub_80FBA78
-
- thumb_func_start sub_80FBB0C
-sub_80FBB0C: @ 80FBB0C
- push {lr}
- ldr r0, _080FBB1C @ =sub_80F8B34
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080FBB1C: .4byte sub_80F8B34
- thumb_func_end sub_80FBB0C
-
- thumb_func_start sub_80FBB20
-sub_80FBB20: @ 80FBB20
- push {r4,lr}
- ldr r4, _080FBB44 @ =nullsub_89
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080FBB3E
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- ldr r1, _080FBB48 @ =Rfu
- adds r1, 0x66
- strb r0, [r1]
-_080FBB3E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBB44: .4byte nullsub_89
-_080FBB48: .4byte Rfu
- thumb_func_end sub_80FBB20
-
- thumb_func_start sub_80FBB4C
-sub_80FBB4C: @ 80FBB4C
- push {lr}
- ldr r0, _080FBB6C @ =nullsub_89
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FBB66
- ldr r0, _080FBB70 @ =Rfu
- adds r0, 0x66
- ldrb r0, [r0]
- bl DestroyTask
-_080FBB66:
- pop {r0}
- bx r0
- .align 2, 0
-_080FBB6C: .4byte nullsub_89
-_080FBB70: .4byte Rfu
- thumb_func_end sub_80FBB4C
-
- thumb_func_start sub_80FBB74
-sub_80FBB74: @ 80FBB74
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80FBB74
-
- thumb_func_start sub_80FBB8C
-sub_80FBB8C: @ 80FBB8C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r1, _080FBBC4 @ =Rfu
- movs r0, 0x1
- strb r0, [r1, 0xC]
- bl sub_80FAF1C
- ldr r0, _080FBBC8 @ =sub_80FB184
- movs r1, 0
- bl sub_80FD430
- ldr r2, _080FBBCC @ =gUnknown_203ABF0
- adds r1, r2, 0
- ldr r0, _080FBBD0 @ =gUnknown_843EBB4
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, _080FBBD4 @ =gUnknown_843EBCC
- subs r4, 0x1
- adds r4, r0
- ldrb r0, [r4]
- strh r0, [r2, 0x2]
- bl sub_80F8E74
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBBC4: .4byte Rfu
-_080FBBC8: .4byte sub_80FB184
-_080FBBCC: .4byte gUnknown_203ABF0
-_080FBBD0: .4byte gUnknown_843EBB4
-_080FBBD4: .4byte gUnknown_843EBCC
- thumb_func_end sub_80FBB8C
-
- thumb_func_start sub_80FBBD8
-sub_80FBBD8: @ 80FBBD8
- push {lr}
- ldr r1, _080FBBF4 @ =Rfu
- movs r0, 0
- strb r0, [r1, 0xC]
- bl sub_80FAF1C
- ldr r0, _080FBBF8 @ =sub_80FB37C
- ldr r1, _080FBBFC @ =sub_80F8D20
- bl sub_80FD430
- bl sub_80F8F10
- pop {r0}
- bx r0
- .align 2, 0
-_080FBBF4: .4byte Rfu
-_080FBBF8: .4byte sub_80FB37C
-_080FBBFC: .4byte sub_80F8D20
- thumb_func_end sub_80FBBD8
-
- thumb_func_start sub_80FBC00
-sub_80FBC00: @ 80FBC00
- push {r4-r7,lr}
- ldr r0, _080FBC4C @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080FBC46
- ldr r4, _080FBC50 @ =Rfu
- movs r5, 0
- movs r0, 0x2
- strb r0, [r4, 0xC]
- bl sub_80FAF1C
- ldr r0, _080FBC54 @ =sub_80FB5EC
- movs r1, 0
- bl sub_80FD430
- ldr r2, _080FBC58 @ =gUnknown_203ABF0
- adds r1, r2, 0
- ldr r0, _080FBC5C @ =gUnknown_843EBB4
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- strb r5, [r2, 0x11]
- movs r0, 0x96
- lsls r0, 2
- strh r0, [r2, 0x12]
- ldr r0, _080FBC60 @ =sub_80F8B34
- movs r1, 0x1
- bl CreateTask
- adds r4, 0x67
- strb r0, [r4]
-_080FBC46:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBC4C: .4byte gUnknown_203ADFA
-_080FBC50: .4byte Rfu
-_080FBC54: .4byte sub_80FB5EC
-_080FBC58: .4byte gUnknown_203ABF0
-_080FBC5C: .4byte gUnknown_843EBB4
-_080FBC60: .4byte sub_80F8B34
- thumb_func_end sub_80FBC00
-
- thumb_func_start sub_80FBC64
-sub_80FBC64: @ 80FBC64
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- bx lr
- thumb_func_end sub_80FBC64
-
- thumb_func_start sub_80FBC70
-sub_80FBC70: @ 80FBC70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- movs r0, 0xFF
- mov r9, r0
- movs r7, 0
- ldr r1, _080FBCF4 @ =gRfuLinkStatus
- mov r8, r1
-_080FBC8E:
- lsls r4, r7, 5
- adds r5, r4, 0
- adds r5, 0x14
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- adds r0, 0x8
- bl sub_80FBC64
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_80FA44C
- cmp r0, 0
- beq _080FBCD8
- mov r0, r8
- ldr r1, [r0]
- adds r1, r5
- adds r1, 0x15
- ldr r0, [sp]
- bl StringCompare
- cmp r0, 0
- bne _080FBCD8
- cmp r10, r6
- bne _080FBCD8
- mov r9, r7
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0, 0x16]
- cmp r0, 0xFF
- bne _080FBCE2
-_080FBCD8:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _080FBC8E
-_080FBCE2:
- mov r0, r9
- 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
-_080FBCF4: .4byte gRfuLinkStatus
- thumb_func_end sub_80FBC70
-
- thumb_func_start sub_80FBCF8
-sub_80FBCF8: @ 80FBCF8
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- ldr r4, _080FBD3C @ =Rfu
- ldr r0, _080FBD40 @ =0x0000099a
- adds r5, r4, r0
- ldrb r0, [r5]
- bics r0, r6
- strb r0, [r5]
- ldr r1, _080FBD44 @ =0x00000992
- adds r6, r4, r1
- ldrb r1, [r6]
- movs r0, 0x1
- bl rfu_clearSlot
- ldrb r0, [r5]
- ldr r1, _080FBD48 @ =0x0000093f
- adds r4, r1
- adds r1, r4, 0
- movs r2, 0x46
- bl rfu_UNI_setSendData
- ldrb r0, [r5]
- bl sub_80F886C
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBD3C: .4byte Rfu
-_080FBD40: .4byte 0x0000099a
-_080FBD44: .4byte 0x00000992
-_080FBD48: .4byte 0x0000093f
- thumb_func_end sub_80FBCF8
-
- thumb_func_start sub_80FBD4C
-sub_80FBD4C: @ 80FBD4C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80FBC70
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _080FBD66
- movs r0, 0x1
- lsls r0, r1
- bl sub_80FBCF8
-_080FBD66:
- pop {r0}
- bx r0
- thumb_func_end sub_80FBD4C
-
- thumb_func_start sub_80FBD6C
-sub_80FBD6C: @ 80FBD6C
- push {r4-r6,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _080FBDAC
- movs r3, 0
- movs r2, 0
- ldr r5, _080FBDB4 @ =Rfu+0x996
- adds r6, r5, 0x4
-_080FBD7C:
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _080FBD9A
- ldrb r0, [r6]
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FBD9A
- adds r0, r1, 0
- lsls r0, r2
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
-_080FBD9A:
- adds r2, 0x1
- cmp r2, 0x3
- ble _080FBD7C
- cmp r3, 0
- beq _080FBDAC
- adds r0, r3, 0
- movs r1, 0x2
- bl sub_80FBE20
-_080FBDAC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBDB4: .4byte Rfu+0x996
- thumb_func_end sub_80FBD6C
-
- thumb_func_start sub_80FBDB8
-sub_80FBDB8: @ 80FBDB8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, _080FBE10 @ =gSendCmd
- ldrh r0, [r6]
- cmp r0, 0
- bne _080FBE08
- ldr r5, _080FBE14 @ =Rfu
- movs r1, 0x9A
- lsls r1, 4
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FBE08
- movs r0, 0xED
- lsls r0, 8
- bl sub_80F9D04
- ldr r1, _080FBE18 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- strh r1, [r6, 0x2]
- ldrh r1, [r0, 0xA]
- strh r1, [r6, 0x4]
- ldr r1, _080FBE1C @ =gUnknown_843EC41
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r1, [r5, 0xD]
- ldrb r0, [r0]
- subs r1, r0
- strb r1, [r5, 0xD]
- ldrb r0, [r5, 0xD]
- strh r0, [r6, 0x6]
- adds r0, r4, 0
- bl DestroyTask
-_080FBE08:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBE10: .4byte gSendCmd
-_080FBE14: .4byte Rfu
-_080FBE18: .4byte gTasks
-_080FBE1C: .4byte gUnknown_843EC41
- thumb_func_end sub_80FBDB8
-
- thumb_func_start sub_80FBE20
-sub_80FBE20: @ 80FBE20
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r5, _080FBE50 @ =sub_80FBDB8
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080FBE58
- adds r0, r5, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080FBE54 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x8]
- b _080FBE68
- .align 2, 0
-_080FBE50: .4byte sub_80FBDB8
-_080FBE54: .4byte gTasks
-_080FBE58:
- ldr r0, _080FBE7C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- orrs r4, r0
- strh r4, [r1, 0x8]
-_080FBE68:
- ldr r1, _080FBE7C @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0xA]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBE7C: .4byte gTasks
- thumb_func_end sub_80FBE20
-
- thumb_func_start sub_80FBE80
-sub_80FBE80: @ 80FBE80
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080FBED8 @ =gTasks+0x8
- adds r4, r0, r1
- bl sub_80F8EA4
- lsls r0, 24
- cmp r0, 0
- beq _080FBF30
- adds r0, r4, 0
- adds r0, 0x10
- bl sub_80FBC64
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80FBC70
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080FBF18
- ldr r0, _080FBEDC @ =gRfuLinkStatus
- ldr r0, [r0]
- lsls r1, r2, 5
- adds r0, r1
- ldrb r0, [r0, 0x16]
- cmp r0, 0xFF
- beq _080FBEE8
- ldr r0, _080FBEE0 @ =Rfu
- ldr r1, _080FBEE4 @ =0x000008f5
- adds r0, r1
- strb r2, [r0]
- bl sub_80F8ECC
- cmp r0, 0
- beq _080FBF36
- b _080FBF10
- .align 2, 0
-_080FBED8: .4byte gTasks+0x8
-_080FBEDC: .4byte gRfuLinkStatus
-_080FBEE0: .4byte Rfu
-_080FBEE4: .4byte 0x000008f5
-_080FBEE8:
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- movs r5, 0x7F
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x15
- beq _080FBF30
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x16
- beq _080FBF30
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_80FB9E4
-_080FBF10:
- adds r0, r6, 0
- bl DestroyTask
- b _080FBF36
-_080FBF18:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- ldr r0, _080FBF28 @ =Rfu
- ldr r1, _080FBF2C @ =0x000008f5
- adds r0, r1
- strb r2, [r0]
- b _080FBF36
- .align 2, 0
-_080FBF28: .4byte Rfu
-_080FBF2C: .4byte 0x000008f5
-_080FBF30:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
-_080FBF36:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF0
- ble _080FBF4E
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_80FB9E4
- adds r0, r6, 0
- bl DestroyTask
-_080FBF4E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80FBE80
-
- thumb_func_start sub_80FBF54
-sub_80FBF54: @ 80FBF54
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- ldr r0, _080FBF8C @ =Rfu
- adds r0, 0xF1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080FBF90 @ =sub_80FBE80
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080FBF94 @ =gTasks+0x8
- adds r4, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl StringCopy
- strh r5, [r4, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBF8C: .4byte Rfu
-_080FBF90: .4byte sub_80FBE80
-_080FBF94: .4byte gTasks+0x8
- thumb_func_end sub_80FBF54
-
- thumb_func_start sub_80FBF98
-sub_80FBF98: @ 80FBF98
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- movs r2, 0x7F
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x45
- bne _080FBFBE
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x45
- beq _080FC01E
-_080FBFBA:
- movs r0, 0x1
- b _080FC020
-_080FBFBE:
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x40
- bne _080FBFBA
- cmp r5, 0x44
- bne _080FC01E
- ldr r5, _080FBFEC @ =Rfu+0x10a
- ldrh r0, [r5, 0x8]
- ldr r3, _080FBFF0 @ =0x000003ff
- adds r2, r3, 0
- ands r2, r0
- movs r0, 0xCE
- lsls r0, 1
- cmp r2, r0
- bne _080FBFF4
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, r2
- beq _080FC01E
- b _080FBFBA
- .align 2, 0
-_080FBFEC: .4byte Rfu+0x10a
-_080FBFF0: .4byte 0x000003ff
-_080FBFF4:
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, r2
- bne _080FBFBA
- ldrb r2, [r4, 0xB]
- movs r0, 0xFE
- ldrb r3, [r5, 0xB]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _080FBFBA
- ldrb r2, [r4, 0x9]
- movs r0, 0xFC
- ldrb r3, [r5, 0x9]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _080FBFBA
-_080FC01E:
- movs r0, 0
-_080FC020:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FBF98
-
- thumb_func_start sub_80FC028
-sub_80FC028: @ 80FC028
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- mov r8, r5
- ldr r6, _080FC0E0 @ =Rfu
- adds r0, r6, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080FC046
- adds r0, r5, 0
- bl DestroyTask
-_080FC046:
- ldr r1, _080FC0E4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- ble _080FC070
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_80FB9E4
- adds r0, r5, 0
- bl DestroyTask
-_080FC070:
- ldr r1, _080FC0E8 @ =0x00000985
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FC108
- ldr r0, _080FC0EC @ =gUnknown_3005E10
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _080FC108
- movs r2, 0x86
- lsls r2, 1
- adds r0, r6, r2
- bl sub_80FBC64
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _080FC0F0 @ =0x00000119
- adds r0, r6, r2
- bl sub_80FBC70
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080FC108
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- ldr r7, _080FC0F4 @ =gRfuLinkStatus
- lsls r4, r2, 5
- adds r2, r4, 0
- adds r2, 0x14
- ldr r1, [r7]
- adds r1, r2
- adds r1, 0x6
- bl sub_80FBF98
- cmp r0, 0
- bne _080FC0F8
- ldr r0, [r7]
- adds r1, r0, r4
- ldrb r0, [r1, 0x16]
- cmp r0, 0xFF
- beq _080FC108
- ldrh r0, [r1, 0x14]
- movs r1, 0x5A
- bl sub_80FD610
- lsls r0, 24
- cmp r0, 0
- bne _080FC108
- movs r0, 0xA
- strh r0, [r6, 0x4]
- adds r0, r5, 0
- bl DestroyTask
- b _080FC108
- .align 2, 0
-_080FC0E0: .4byte Rfu
-_080FC0E4: .4byte gTasks
-_080FC0E8: .4byte 0x00000985
-_080FC0EC: .4byte gUnknown_3005E10
-_080FC0F0: .4byte 0x00000119
-_080FC0F4: .4byte gRfuLinkStatus
-_080FC0F8:
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_80FB9E4
- mov r0, r8
- bl DestroyTask
-_080FC108:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FC028
-
- thumb_func_start sub_80FC114
-sub_80FC114: @ 80FC114
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r6, _080FC184 @ =Rfu
- ldr r1, _080FC188 @ =0x00000987
- adds r0, r6, r1
- movs r7, 0
- strb r7, [r0]
- adds r0, r6, 0
- adds r0, 0xF1
- strb r7, [r0]
- ldr r1, _080FC18C @ =0x00000119
- adds r0, r6, r1
- adds r1, r3, 0
- bl StringCopy
- movs r1, 0x85
- lsls r1, 1
- adds r0, r6, r1
- adds r1, r5, 0
- movs r2, 0xD
- bl memcpy
- bl sub_80FEB3C
- ldr r0, _080FC190 @ =sub_80FC028
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080FC194 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- strh r4, [r1, 0xA]
- ldr r0, _080FC198 @ =sub_80F8B34
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- cmp r4, 0x45
- bne _080FC19C
- cmp r1, 0xFF
- beq _080FC1AA
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0x16]
- b _080FC1AA
- .align 2, 0
-_080FC184: .4byte Rfu
-_080FC188: .4byte 0x00000987
-_080FC18C: .4byte 0x00000119
-_080FC190: .4byte sub_80FC028
-_080FC194: .4byte gTasks
-_080FC198: .4byte sub_80F8B34
-_080FC19C:
- cmp r2, 0xFF
- beq _080FC1AA
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r5
- strh r7, [r0, 0x16]
-_080FC1AA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FC114
-
- thumb_func_start sub_80FC1B0
-sub_80FC1B0: @ 80FC1B0
- push {lr}
- ldr r0, _080FC1C0 @ =Rfu
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080FC1C4
- movs r0, 0
- b _080FC1C6
- .align 2, 0
-_080FC1C0: .4byte Rfu
-_080FC1C4:
- movs r0, 0x1
-_080FC1C6:
- pop {r1}
- bx r1
- thumb_func_end sub_80FC1B0
-
- thumb_func_start sub_80FC1CC
-sub_80FC1CC: @ 80FC1CC
- push {r4,lr}
- movs r1, 0
- ldr r0, _080FC1F0 @ =gUnknown_3005E10
- ldrb r2, [r0]
- ldr r4, _080FC1F4 @ =Rfu+0x989
- movs r3, 0x1
-_080FC1D8:
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r3
- cmp r0, 0
- beq _080FC1F8
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FC1F8
- movs r0, 0
- b _080FC200
- .align 2, 0
-_080FC1F0: .4byte gUnknown_3005E10
-_080FC1F4: .4byte Rfu+0x989
-_080FC1F8:
- adds r1, 0x1
- cmp r1, 0x3
- ble _080FC1D8
- movs r0, 0x1
-_080FC200:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FC1CC
-
- thumb_func_start sub_80FC208
-sub_80FC208: @ 80FC208
- push {r4,lr}
- movs r4, 0
-_080FC20C:
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r0, _080FC224 @ =gUnknown_843EE28
- movs r1, 0
- bl nullsub_87
- adds r4, 0x1
- cmp r4, 0x13
- ble _080FC20C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC224: .4byte gUnknown_843EE28
- thumb_func_end sub_80FC208
-
- thumb_func_start sub_80FC228
-sub_80FC228: @ 80FC228
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1C
- movs r2, 0x13
- movs r3, 0x2
- bl nullsub_88
- ldr r4, _080FC2F8 @ =gRfuLinkStatus
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- movs r1, 0x14
- movs r2, 0x1
- movs r3, 0x1
- bl nullsub_88
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- movs r1, 0x17
- movs r2, 0x1
- movs r3, 0x1
- bl nullsub_88
- ldr r0, _080FC2FC @ =Rfu
- ldrb r0, [r0, 0xC]
- cmp r0, 0x1
- bne _080FC304
- movs r6, 0
- adds r7, r4, 0
- movs r5, 0x14
-_080FC26C:
- ldr r2, [r7]
- ldrb r0, [r2, 0x7]
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FC2AA
- lsls r0, r6, 5
- adds r0, r2, r0
- ldrh r0, [r0, 0x18]
- adds r4, r6, 0x3
- lsls r4, 24
- lsrs r4, 24
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_88
- ldr r0, [r7]
- adds r0, r5
- adds r0, 0x6
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_87
- ldr r0, [r7]
- adds r0, r5
- adds r0, 0x15
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_87
-_080FC2AA:
- adds r5, 0x20
- adds r6, 0x1
- cmp r6, 0x3
- ble _080FC26C
- movs r6, 0
- ldr r0, _080FC2FC @ =Rfu
- mov r8, r0
-_080FC2B8:
- movs r5, 0
- adds r7, r6, 0x1
- lsls r0, r6, 3
- adds r2, r6, 0
- adds r2, 0xB
- subs r0, r6
- lsls r0, 1
- mov r1, r8
- adds r1, 0x14
- adds r4, r0, r1
- lsls r6, r2, 24
-_080FC2CE:
- ldrb r0, [r4]
- lsls r1, r5, 25
- lsrs r1, 24
- lsrs r2, r6, 24
- movs r3, 0x2
- bl nullsub_88
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0xD
- ble _080FC2CE
- adds r6, r7, 0
- cmp r6, 0x3
- ble _080FC2B8
- ldr r0, _080FC300 @ =gUnknown_843EE64 "NOWSLOT"
- movs r1, 0x1
- movs r2, 0xF
- bl nullsub_87
- b _080FC436
- .align 2, 0
-_080FC2F8: .4byte gRfuLinkStatus
-_080FC2FC: .4byte Rfu
-_080FC300: .4byte gUnknown_843EE64
-_080FC304:
- ldr r1, [r4]
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _080FC3A0
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _080FC3A0
- movs r6, 0
- movs r5, 0xC0
- lsls r5, 18
-_080FC318:
- lsrs r4, r5, 24
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_88
- ldr r0, _080FC38C @ =gUnknown_843EE47
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_87
- ldr r0, _080FC390 @ =gUnknown_843EE57
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_87
- movs r1, 0x80
- lsls r1, 17
- adds r5, r1
- adds r6, 0x1
- cmp r6, 0x3
- ble _080FC318
- ldr r5, _080FC394 @ =gRfuLinkStatus
- ldr r1, [r5]
- ldr r4, _080FC398 @ =Rfu
- ldr r0, _080FC39C @ =0x000008f6
- adds r4, r0
- ldrb r0, [r4]
- lsls r0, 5
- adds r1, r0
- ldrh r0, [r1, 0x18]
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x4
- bl nullsub_88
- ldrb r1, [r4]
- lsls r1, 5
- adds r1, 0x14
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x6
- movs r1, 0x6
- movs r2, 0x3
- bl nullsub_87
- ldrb r1, [r4]
- lsls r1, 5
- adds r1, 0x14
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x15
- movs r1, 0x16
- movs r2, 0x3
- bl nullsub_87
- b _080FC436
- .align 2, 0
-_080FC38C: .4byte gUnknown_843EE47
-_080FC390: .4byte gUnknown_843EE57
-_080FC394: .4byte gRfuLinkStatus
-_080FC398: .4byte Rfu
-_080FC39C: .4byte 0x000008f6
-_080FC3A0:
- movs r6, 0
- ldr r1, _080FC440 @ =gRfuLinkStatus
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- bge _080FC3FC
- adds r7, r1, 0
- movs r1, 0x14
- mov r8, r1
-_080FC3B2:
- ldr r0, [r7]
- lsls r5, r6, 5
- adds r1, r0, r5
- ldrb r0, [r1, 0x16]
- cmp r0, 0xFF
- beq _080FC3EE
- ldrh r0, [r1, 0x18]
- adds r4, r6, 0x3
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_88
- ldr r0, [r7]
- adds r0, r5
- ldrh r0, [r0, 0x14]
- movs r1, 0x6
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_88
- ldr r0, [r7]
- add r0, r8
- adds r0, 0x15
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_87
-_080FC3EE:
- movs r0, 0x20
- add r8, r0
- adds r6, 0x1
- ldr r0, [r7]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- blt _080FC3B2
-_080FC3FC:
- cmp r6, 0x3
- bgt _080FC436
- lsls r0, r6, 24
- movs r1, 0xC0
- lsls r1, 18
- adds r5, r0, r1
-_080FC408:
- lsrs r4, r5, 24
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_88
- ldr r0, _080FC444 @ =gUnknown_843EE47
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_87
- ldr r0, _080FC448 @ =gUnknown_843EE57
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_87
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _080FC408
-_080FC436:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC440: .4byte gRfuLinkStatus
-_080FC444: .4byte gUnknown_843EE47
-_080FC448: .4byte gUnknown_843EE57
- thumb_func_end sub_80FC228
-
- thumb_func_start sub_80FC44C
-sub_80FC44C: @ 80FC44C
- ldr r0, _080FC458 @ =Rfu
- ldr r1, _080FC45C @ =0x000008d2
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080FC458: .4byte Rfu
-_080FC45C: .4byte 0x000008d2
- thumb_func_end sub_80FC44C
-
- thumb_func_start GetRfuRecvQueueLength
-GetRfuRecvQueueLength: @ 80FC460
- ldr r0, _080FC46C @ =Rfu
- ldr r1, _080FC470 @ =0x0000069e
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080FC46C: .4byte Rfu
-_080FC470: .4byte 0x0000069e
- thumb_func_end GetRfuRecvQueueLength
-
- thumb_func_start nullsub_89
-nullsub_89: @ 80FC474
- bx lr
- thumb_func_end nullsub_89
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/overworld.s b/asm/overworld.s
index 8eeb570f1..5b3c1a495 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -5722,7 +5722,7 @@ sub_8057910: @ 8057910
lsrs r0, 24
cmp r0, 0x3C
bls _0805792E
- bl sub_80FA190
+ bl LinkRfu_FatalError
_0805792E:
pop {r0}
bx r0