summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/berry_crush.s12
-rw-r--r--asm/link_rfu.s3175
-rw-r--r--asm/link_rfu_2.s10188
-rw-r--r--asm/overworld.s6
-rw-r--r--asm/pokemon_jump_2.s4
-rw-r--r--asm/union_room.s (renamed from asm/link_rfu_3.s)2058
-rw-r--r--asm/union_room_player_avatar.s2064
7 files changed, 2076 insertions, 15431 deletions
diff --git a/asm/berry_crush.s b/asm/berry_crush.s
index 27d31829d..6502fc916 100644
--- a/asm/berry_crush.s
+++ b/asm/berry_crush.s
@@ -78,7 +78,7 @@ sub_814B754: @ 814B754
_0814B772:
adds r0, r4, 0
bl SetMainCallback2
- ldr r0, _0814B78C @ =gUnknown_3005450
+ ldr r0, _0814B78C @ =Rfu
mov r1, r8
strh r1, [r0, 0x10]
strh r1, [r0, 0x12]
@@ -86,7 +86,7 @@ _0814B772:
.align 2, 0
_0814B784: .4byte gReceivedRemoteLinkPlayers
_0814B788: .4byte gWirelessCommType
-_0814B78C: .4byte gUnknown_3005450
+_0814B78C: .4byte Rfu
_0814B790:
bl GetLinkPlayerCount
lsls r0, 24
@@ -103,13 +103,13 @@ _0814B790:
_0814B7AC:
adds r0, r4, 0
bl SetMainCallback2
- ldr r0, _0814B7BC @ =gUnknown_3005450
+ ldr r0, _0814B7BC @ =Rfu
movs r1, 0
strh r1, [r0, 0x10]
strh r1, [r0, 0x12]
b _0814B7DC
.align 2, 0
-_0814B7BC: .4byte gUnknown_3005450
+_0814B7BC: .4byte Rfu
_0814B7C0:
ldr r6, _0814B7E8 @ =gUnknown_203F3DC
ldr r0, _0814B7EC @ =0x000041c0
@@ -120,7 +120,7 @@ _0814B7C0:
bne _0814B7F4
adds r0, r4, 0
bl SetMainCallback2
- ldr r0, _0814B7F0 @ =gUnknown_3005450
+ ldr r0, _0814B7F0 @ =Rfu
strh r5, [r0, 0x10]
strh r5, [r0, 0x12]
_0814B7DC:
@@ -132,7 +132,7 @@ _0814B7DC:
.align 2, 0
_0814B7E8: .4byte gUnknown_203F3DC
_0814B7EC: .4byte 0x000041c0
-_0814B7F0: .4byte gUnknown_3005450
+_0814B7F0: .4byte Rfu
_0814B7F4:
str r4, [r5]
movs r4, 0
diff --git a/asm/link_rfu.s b/asm/link_rfu.s
deleted file mode 100644
index 49fe3aef5..000000000
--- a/asm/link_rfu.s
+++ /dev/null
@@ -1,3175 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80FD3A4
-sub_80FD3A4: @ 80FD3A4
- push {r4,lr}
- bl rfu_REQBN_softReset_and_checkID
- adds r4, r0, 0
- ldr r0, _080FD3E8 @ =0x00008001
- cmp r4, r0
- bne _080FD3B8
- ldr r1, _080FD3EC @ =gUnknown_3005E10
- movs r0, 0x1
- strb r0, [r1, 0x8]
-_080FD3B8:
- ldr r0, _080FD3EC @ =gUnknown_3005E10
- ldrb r2, [r0, 0x4]
- adds r1, r0, 0
- cmp r2, 0x17
- beq _080FD3CC
- cmp r2, 0x1
- beq _080FD3CC
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
-_080FD3CC:
- movs r0, 0
- strb r0, [r1, 0x7]
- strb r0, [r1, 0xD]
- strb r0, [r1, 0x1]
- strb r0, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x6]
- bl sub_80FEAF4
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080FD3E8: .4byte 0x00008001
-_080FD3EC: .4byte gUnknown_3005E10
- thumb_func_end sub_80FD3A4
-
- thumb_func_start rfu_REQ_sendData_wrapper
-rfu_REQ_sendData_wrapper: @ 80FD3F0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080FD410 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FD418
- ldr r0, _080FD414 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x2]
- movs r2, 0
- cmp r0, 0x1
- bne _080FD420
- movs r2, 0x1
- b _080FD420
- .align 2, 0
-_080FD410: .4byte gRfuLinkStatus
-_080FD414: .4byte gUnknown_3005E10
-_080FD418:
- ldr r0, _080FD42C @ =gUnknown_3005E10
- ldrb r1, [r0, 0x3]
- movs r1, 0
- strb r1, [r0, 0x3]
-_080FD420:
- adds r0, r2, 0
- bl rfu_REQ_sendData
- pop {r0}
- bx r0
- .align 2, 0
-_080FD42C: .4byte gUnknown_3005E10
- thumb_func_end rfu_REQ_sendData_wrapper
-
- thumb_func_start sub_80FD430
-sub_80FD430: @ 80FD430
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- beq _080FD478
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, _080FD468 @ =gUnknown_3005E10
- ldr r2, _080FD46C @ =0x01000024
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- str r5, [r4, 0x40]
- str r6, [r4, 0x44]
- ldr r0, _080FD470 @ =sub_80FE394
- bl rfu_setMSCCallback
- ldr r0, _080FD474 @ =sub_80FDC98
- bl rfu_setREQCallback
- movs r0, 0
- b _080FD47A
- .align 2, 0
-_080FD468: .4byte gUnknown_3005E10
-_080FD46C: .4byte 0x01000024
-_080FD470: .4byte sub_80FE394
-_080FD474: .4byte sub_80FDC98
-_080FD478:
- movs r0, 0x4
-_080FD47A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD430
-
- thumb_func_start sub_80FD484
-sub_80FD484: @ 80FD484
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, _080FD4A8 @ =gUnknown_3005E10
- ldr r2, _080FD4AC @ =0x01000020
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD4A8: .4byte gUnknown_3005E10
-_080FD4AC: .4byte 0x01000020
- thumb_func_end sub_80FD484
-
- thumb_func_start sub_80FD4B0
-sub_80FD4B0: @ 80FD4B0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80FD4E4
- ldr r1, _080FD4E0 @ =gUnknown_3005E10
- movs r2, 0x1
- strb r2, [r1, 0x4]
- movs r0, 0x2
- strb r0, [r1, 0x5]
- str r4, [r1, 0x3C]
- ldrb r0, [r4, 0x11]
- strb r0, [r1, 0x9]
- ldrh r0, [r4, 0x12]
- strh r0, [r1, 0x32]
- ldrh r0, [r4, 0x14]
- strh r0, [r1, 0x18]
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _080FD4D8
- strb r2, [r1, 0xB]
-_080FD4D8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD4E0: .4byte gUnknown_3005E10
- thumb_func_end sub_80FD4B0
-
- thumb_func_start sub_80FD4E4
-sub_80FD4E4: @ 80FD4E4
- push {r4,r5,lr}
- ldr r2, _080FD528 @ =gUnknown_3005E10
- movs r0, 0
- strb r0, [r2, 0x5]
- strb r0, [r2, 0x4]
- movs r1, 0xFF
- strb r1, [r2, 0x6]
- strb r0, [r2, 0x7]
- strb r0, [r2, 0x10]
- strb r0, [r2, 0xC]
- adds r1, r2, 0
- adds r1, 0x24
- strb r0, [r1]
- adds r1, 0xC
- strb r0, [r1]
- movs r3, 0
- adds r5, r2, 0
- adds r5, 0x28
- movs r4, 0
- adds r2, 0x34
-_080FD50C:
- lsls r1, r3, 1
- adds r0, r1, r5
- strh r4, [r0]
- adds r1, r2
- strh r4, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080FD50C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD528: .4byte gUnknown_3005E10
- thumb_func_end sub_80FD4E4
-
- thumb_func_start sub_80FD52C
-sub_80FD52C: @ 80FD52C
- ldr r1, _080FD534 @ =gUnknown_3005E10
- movs r0, 0x15
- strb r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_080FD534: .4byte gUnknown_3005E10
- thumb_func_end sub_80FD52C
-
- thumb_func_start sub_80FD538
-sub_80FD538: @ 80FD538
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r3, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r1, _080FD570 @ =gUnknown_3005E10
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _080FD574
- cmp r0, 0x8
- bne _080FD55E
- cmp r5, 0x1
- beq _080FD574
-_080FD55E:
- movs r0, 0x1
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0x1
- b _080FD606
- .align 2, 0
-_080FD570: .4byte gUnknown_3005E10
-_080FD574:
- bl rfu_getMasterSlave
- lsls r0, 24
- cmp r0, 0
- bne _080FD594
- ldr r1, _080FD590 @ =gUnknown_3005E10
- movs r0, 0x2
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0x2
- b _080FD606
- .align 2, 0
-_080FD590: .4byte gUnknown_3005E10
-_080FD594:
- movs r2, 0
- ldrh r0, [r6]
- ldr r4, _080FD5C8 @ =0x0000ffff
- adds r1, r6, 0x2
- ldr r3, _080FD5CC @ =gUnknown_3005E10
- cmp r0, r4
- beq _080FD5B4
-_080FD5A2:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bhi _080FD5B4
- ldrh r0, [r1]
- adds r1, 0x2
- cmp r0, r4
- bne _080FD5A2
-_080FD5B4:
- cmp r2, 0x10
- bne _080FD5D0
- movs r0, 0x4
- strh r0, [r3, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0x4
- b _080FD606
- .align 2, 0
-_080FD5C8: .4byte 0x0000ffff
-_080FD5CC: .4byte gUnknown_3005E10
-_080FD5D0:
- cmp r5, 0x1
- bls _080FD5DE
- movs r0, 0x1
- strb r0, [r3, 0x7]
- movs r5, 0x1
- movs r7, 0
- b _080FD5E2
-_080FD5DE:
- movs r0, 0
- strb r0, [r3, 0x7]
-_080FD5E2:
- cmp r5, 0
- beq _080FD5EC
- movs r0, 0x5
- strb r0, [r3, 0x4]
- b _080FD5FA
-_080FD5EC:
- movs r0, 0x9
- strb r0, [r3, 0x4]
- ldrb r0, [r3, 0xB]
- cmp r0, 0
- beq _080FD5FA
- movs r0, 0x2
- strb r0, [r3, 0xB]
-_080FD5FA:
- strb r5, [r3, 0x6]
- strh r7, [r3, 0x1A]
- mov r0, r8
- strh r0, [r3, 0x26]
- str r6, [r3, 0x20]
- movs r0, 0
-_080FD606:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD538
-
- thumb_func_start sub_80FD610
-sub_80FD610: @ 80FD610
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldr r1, _080FD644 @ =gUnknown_3005E10
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _080FD648
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _080FD648
- movs r0, 0x1
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0x1
- b _080FD6E8
- .align 2, 0
-_080FD644: .4byte gUnknown_3005E10
-_080FD648:
- bl rfu_getMasterSlave
- lsls r0, 24
- cmp r0, 0
- bne _080FD668
- ldr r1, _080FD664 @ =gUnknown_3005E10
- movs r0, 0x2
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0x2
- b _080FD6E8
- .align 2, 0
-_080FD664: .4byte gUnknown_3005E10
-_080FD668:
- movs r2, 0
- ldr r0, _080FD6B4 @ =gRfuLinkStatus
- ldr r1, [r0]
- ldrb r3, [r1, 0x8]
- ldr r5, _080FD6B8 @ =gUnknown_3005E10
- adds r7, r0, 0
- cmp r2, r3
- bcs _080FD696
- ldrh r0, [r1, 0x14]
- cmp r0, r6
- beq _080FD696
- adds r4, r1, 0
- adds r1, r3, 0
-_080FD682:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcs _080FD696
- lsls r0, r2, 5
- adds r0, r4, r0
- ldrh r0, [r0, 0x14]
- cmp r0, r6
- bne _080FD682
-_080FD696:
- ldr r0, [r7]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _080FD6A2
- cmp r2, r0
- bne _080FD6BC
-_080FD6A2:
- movs r0, 0x3
- strh r0, [r5, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0x3
- b _080FD6E8
- .align 2, 0
-_080FD6B4: .4byte gRfuLinkStatus
-_080FD6B8: .4byte gUnknown_3005E10
-_080FD6BC:
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _080FD6C6
- cmp r0, 0x9
- bne _080FD6CE
-_080FD6C6:
- movs r0, 0xC
- strb r0, [r5, 0x4]
- movs r0, 0xD
- b _080FD6D4
-_080FD6CE:
- movs r0, 0xB
- strb r0, [r5, 0x4]
- movs r0, 0xC
-_080FD6D4:
- strb r0, [r5, 0x5]
- strh r6, [r5, 0x1E]
- mov r0, r8
- strh r0, [r5, 0x1A]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _080FD6E6
- movs r0, 0x7
- strb r0, [r5, 0x7]
-_080FD6E6:
- movs r0, 0
-_080FD6E8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD610
-
- thumb_func_start sub_80FD6F4
-sub_80FD6F4: @ 80FD6F4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r6, _080FD758 @ =gUnknown_3005E10
- adds r3, r6, 0
- adds r3, 0x30
- ldrb r2, [r3]
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080FD750
- adds r0, r2, 0
- bics r0, r1
- strb r0, [r3]
- movs r4, 0
- ldr r7, _080FD75C @ =gRfuLinkStatus
- movs r5, 0x1
- adds r3, 0x4
- movs r2, 0
-_080FD71A:
- adds r0, r1, 0
- asrs r0, r4
- ands r0, r5
- cmp r0, 0
- beq _080FD72A
- lsls r0, r4, 1
- adds r0, r3
- strh r2, [r0]
-_080FD72A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080FD71A
- ldr r0, [r7]
- ldrb r4, [r0, 0x3]
- ands r4, r1
- cmp r4, 0
- beq _080FD744
- adds r0, r4, 0
- bl sub_80FE818
-_080FD744:
- ldr r0, _080FD758 @ =gUnknown_3005E10
- strh r4, [r0, 0x14]
- movs r0, 0x33
- adds r1, r4, 0
- bl sub_80FE7F0
-_080FD750:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD758: .4byte gUnknown_3005E10
-_080FD75C: .4byte gRfuLinkStatus
- thumb_func_end sub_80FD6F4
-
- thumb_func_start sub_80FD760
-sub_80FD760: @ 80FD760
- push {r4,r5,lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, _080FD77C @ =gUnknown_3005E10
- strb r2, [r1, 0x7]
- adds r5, r1, 0
- cmp r0, 0
- beq _080FD780
- bl sub_80FD4E4
- movs r0, 0x17
- strb r0, [r5, 0x4]
- b _080FD84A
- .align 2, 0
-_080FD77C: .4byte gUnknown_3005E10
-_080FD780:
- ldrb r0, [r5, 0x4]
- subs r0, 0x5
- cmp r0, 0xD
- bhi _080FD836
- lsls r0, 2
- ldr r1, _080FD794 @ =_080FD798
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FD794: .4byte _080FD798
- .align 2, 0
-_080FD798:
- .4byte _080FD7D0
- .4byte _080FD7DC
- .4byte _080FD7DC
- .4byte _080FD83C
- .4byte _080FD7E6
- .4byte _080FD7F0
- .4byte _080FD7F0
- .4byte _080FD7FA
- .4byte _080FD804
- .4byte _080FD804
- .4byte _080FD83C
- .4byte _080FD80A
- .4byte _080FD830
- .4byte _080FD830
-_080FD7D0:
- movs r1, 0
- movs r0, 0x8
- strb r0, [r5, 0x4]
- strb r1, [r5, 0x5]
- movs r2, 0x13
- b _080FD83C
-_080FD7DC:
- movs r0, 0x7
- strb r0, [r5, 0x4]
- movs r0, 0x8
- strb r0, [r5, 0x5]
- b _080FD83C
-_080FD7E6:
- movs r0, 0
- strb r0, [r5, 0x5]
- strb r0, [r5, 0x4]
- movs r2, 0x21
- b _080FD83C
-_080FD7F0:
- movs r1, 0
- movs r0, 0xB
- strb r0, [r5, 0x4]
- strb r1, [r5, 0x5]
- b _080FD83C
-_080FD7FA:
- movs r0, 0
- strb r0, [r5, 0x5]
- strb r0, [r5, 0x4]
- movs r2, 0x23
- b _080FD83C
-_080FD804:
- movs r0, 0xE
- strb r0, [r5, 0x4]
- b _080FD83C
-_080FD80A:
- ldrb r0, [r5, 0x11]
- strb r0, [r5, 0x4]
- ldrb r0, [r5, 0x12]
- strb r0, [r5, 0x5]
- ldr r4, _080FD82C @ =gRfuLinkStatus
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- bl sub_80FE818
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- strh r0, [r5, 0x14]
- movs r0, 0x33
- movs r1, 0x1
- bl sub_80FE7F0
- b _080FD84A
- .align 2, 0
-_080FD82C: .4byte gRfuLinkStatus
-_080FD830:
- movs r0, 0x12
- strb r0, [r5, 0x4]
- b _080FD83C
-_080FD836:
- strb r2, [r5, 0x5]
- strb r2, [r5, 0x4]
- movs r2, 0x43
-_080FD83C:
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- bne _080FD84A
- adds r0, r2, 0
- movs r1, 0
- bl sub_80FE7F0
-_080FD84A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD760
-
- thumb_func_start sub_80FD850
-sub_80FD850: @ 80FD850
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- mov r8, r1
- mov r5, sp
- adds r5, 0x1
- mov r4, sp
- adds r4, 0x2
- mov r1, sp
- adds r2, r5, 0
- adds r3, r4, 0
- bl rfu_REQBN_watchLink
- mov r0, sp
- ldrb r0, [r0]
- adds r7, r4, 0
- cmp r0, 0
- beq _080FD922
- ldr r1, _080FD8EC @ =gUnknown_3005E10
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r1, 0x14]
- ldrb r0, [r5]
- strh r0, [r1, 0x16]
- ldrb r0, [r1, 0x9]
- adds r6, r1, 0
- cmp r0, 0
- beq _080FD90A
- movs r0, 0x1
- strb r0, [r6, 0xA]
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _080FD8A6
- ldrb r0, [r5]
- cmp r0, 0
- bne _080FD8A6
- movs r0, 0x4
- strb r0, [r6, 0xA]
-_080FD8A6:
- ldrb r0, [r6, 0xA]
- cmp r0, 0x1
- bne _080FD8F0
- movs r2, 0
- mov r4, sp
- movs r5, 0x1
- mov r12, r6
- mov r3, r12
- adds r3, 0x30
- movs r6, 0x34
- add r6, r12
- mov r9, r6
-_080FD8BE:
- ldrb r0, [r4]
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _080FD8DC
- adds r0, r5, 0
- lsls r0, r2
- ldrb r1, [r3]
- orrs r0, r1
- strb r0, [r3]
- lsls r0, r2, 1
- add r0, r9
- mov r6, r12
- ldrh r1, [r6, 0x32]
- strh r1, [r0]
-_080FD8DC:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080FD8BE
- movs r0, 0x31
- b _080FD902
- .align 2, 0
-_080FD8EC: .4byte gUnknown_3005E10
-_080FD8F0:
- movs r0, 0
- strb r0, [r6, 0xA]
- mov r0, sp
- ldrb r0, [r0]
- bl sub_80FE818
- movs r0, 0x1
- mov r8, r0
- movs r0, 0x33
-_080FD902:
- movs r1, 0x1
- bl sub_80FE7F0
- b _080FD91E
-_080FD90A:
- mov r0, sp
- ldrb r0, [r0]
- bl sub_80FE818
- movs r1, 0x1
- mov r8, r1
- movs r0, 0x30
- movs r1, 0x2
- bl sub_80FE7F0
-_080FD91E:
- bl sub_80FEAF4
-_080FD922:
- ldr r0, _080FDA0C @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FD9FC
- ldrb r0, [r7]
- cmp r0, 0
- beq _080FD980
- movs r2, 0
- ldr r6, _080FDA10 @ =gUnknown_3005E10
- movs r3, 0x1
- adds r4, r6, 0
- adds r4, 0x34
- adds r6, 0x30
- adds r5, r7, 0
-_080FD940:
- ldrb r0, [r6]
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- beq _080FD95C
- ldrb r0, [r5]
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- beq _080FD95C
- lsls r0, r2, 1
- adds r0, r4
- movs r1, 0
- strh r1, [r0]
-_080FD95C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080FD940
- ldr r3, _080FDA10 @ =gUnknown_3005E10
- adds r2, r3, 0
- adds r2, 0x30
- ldrb r1, [r7]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldrb r0, [r7]
- strh r0, [r3, 0x14]
- movs r0, 0x32
- movs r1, 0x1
- bl sub_80FE7F0
-_080FD980:
- ldr r0, _080FDA10 @ =gUnknown_3005E10
- adds r3, r0, 0
- adds r3, 0x30
- ldrb r1, [r3]
- adds r6, r0, 0
- cmp r1, 0
- beq _080FD9F8
- movs r4, 0
- movs r2, 0
- movs r5, 0x1
-_080FD994:
- ldrb r0, [r3]
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _080FD9C6
- lsls r1, r2, 1
- adds r0, r6, 0
- adds r0, 0x34
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080FD9C6
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _080FD9C6
- adds r0, r5, 0
- lsls r0, r2
- ldrb r1, [r3]
- bics r1, r0
- strb r1, [r3]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_080FD9C6:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080FD994
- cmp r4, 0
- beq _080FD9EA
- adds r0, r4, 0
- bl sub_80FE818
- movs r6, 0x1
- mov r8, r6
- ldr r0, _080FDA10 @ =gUnknown_3005E10
- strh r4, [r0, 0x14]
- movs r0, 0x33
- movs r1, 0x1
- bl sub_80FE7F0
-_080FD9EA:
- ldr r0, _080FDA10 @ =gUnknown_3005E10
- adds r1, r0, 0
- adds r1, 0x30
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- bne _080FD9FC
-_080FD9F8:
- movs r0, 0
- strb r0, [r6, 0xA]
-_080FD9FC:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080FDA0C: .4byte gRfuLinkStatus
-_080FDA10: .4byte gUnknown_3005E10
- thumb_func_end sub_80FD850
-
- thumb_func_start rfu_syncVBlank_
-rfu_syncVBlank_: @ 80FDA14
- push {lr}
- bl rfu_syncVBlank
- lsls r0, 16
- cmp r0, 0
- beq _080FDA2C
- movs r0, 0xF1
- movs r1, 0
- bl sub_80FE7F0
- bl sub_80FEAF4
-_080FDA2C:
- pop {r0}
- bx r0
- thumb_func_end rfu_syncVBlank_
-
- thumb_func_start sub_80FDA30
-sub_80FDA30: @ 80FDA30
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, _080FDA48 @ =gUnknown_3005E10
- ldr r2, [r1, 0x40]
- cmp r2, 0
- bne _080FDA4C
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _080FDA4C
- strb r2, [r1, 0x4]
- b _080FDC1A
- .align 2, 0
-_080FDA48: .4byte gUnknown_3005E10
-_080FDA4C:
- ldr r0, _080FDA80 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _080FDA5A
- adds r0, r3, 0
- bl sub_80FDC28
-_080FDA5A:
- ldr r4, _080FDA80 @ =gUnknown_3005E10
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- bne _080FDA64
- b _080FDBE4
-_080FDA64:
- bl rfu_waitREQComplete
- movs r0, 0x1
- strb r0, [r4, 0xE]
- ldrb r0, [r4, 0x4]
- subs r0, 0x1
- cmp r0, 0x16
- bls _080FDA76
- b _080FDBDA
-_080FDA76:
- lsls r0, 2
- ldr r1, _080FDA84 @ =_080FDA88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FDA80: .4byte gUnknown_3005E10
-_080FDA84: .4byte _080FDA88
- .align 2, 0
-_080FDA88:
- .4byte _080FDB08
- .4byte _080FDB40
- .4byte _080FDB46
- .4byte _080FDB5C
- .4byte _080FDB74
- .4byte _080FDB7A
- .4byte _080FDB80
- .4byte _080FDBDA
- .4byte _080FDB86
- .4byte _080FDB8C
- .4byte _080FDB92
- .4byte _080FDB98
- .4byte _080FDBA8
- .4byte _080FDBAE
- .4byte _080FDBDA
- .4byte _080FDBB4
- .4byte _080FDBC4
- .4byte _080FDBCA
- .4byte _080FDBD0
- .4byte _080FDBDA
- .4byte _080FDBD6
- .4byte _080FDBDA
- .4byte _080FDAE4
-_080FDAE4:
- bl sub_80FD3A4
- ldr r1, _080FDB00 @ =0x00008001
- movs r2, 0xFF
- cmp r0, r1
- bne _080FDAF2
- movs r2, 0x44
-_080FDAF2:
- ldr r1, _080FDB04 @ =gUnknown_3005E10
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- adds r0, r2, 0
- b _080FDB32
- .align 2, 0
-_080FDB00: .4byte 0x00008001
-_080FDB04: .4byte gUnknown_3005E10
-_080FDB08:
- bl sub_80FD3A4
- ldr r1, _080FDB20 @ =0x00008001
- cmp r0, r1
- bne _080FDB28
- ldr r0, _080FDB24 @ =gUnknown_3005E10
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- movs r1, 0x3
- strb r1, [r0, 0x5]
- b _080FDBDA
- .align 2, 0
-_080FDB20: .4byte 0x00008001
-_080FDB24: .4byte gUnknown_3005E10
-_080FDB28:
- ldr r1, _080FDB3C @ =gUnknown_3005E10
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- movs r0, 0xFF
-_080FDB32:
- movs r1, 0
- bl sub_80FE7F0
- b _080FDBDA
- .align 2, 0
-_080FDB3C: .4byte gUnknown_3005E10
-_080FDB40:
- bl rfu_REQ_reset
- b _080FDBDA
-_080FDB46:
- ldr r0, _080FDB58 @ =gUnknown_3005E10
- ldr r2, [r0, 0x3C]
- ldrh r0, [r2, 0x2]
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- bl rfu_REQ_configSystem
- b _080FDBDA
- .align 2, 0
-_080FDB58: .4byte gUnknown_3005E10
-_080FDB5C:
- ldr r0, _080FDB70 @ =gUnknown_3005E10
- ldr r3, [r0, 0x3C]
- ldrb r0, [r3, 0x4]
- ldrh r1, [r3, 0x6]
- ldr r2, [r3, 0x8]
- ldr r3, [r3, 0xC]
- bl rfu_REQ_configGameData
- b _080FDBDA
- .align 2, 0
-_080FDB70: .4byte gUnknown_3005E10
-_080FDB74:
- bl rfu_REQ_startSearchChild
- b _080FDBDA
-_080FDB7A:
- bl rfu_REQ_pollSearchChild
- b _080FDBDA
-_080FDB80:
- bl rfu_REQ_endSearchChild
- b _080FDBDA
-_080FDB86:
- bl rfu_REQ_startSearchParent
- b _080FDBDA
-_080FDB8C:
- bl rfu_REQ_pollSearchParent
- b _080FDBDA
-_080FDB92:
- bl rfu_REQ_endSearchParent
- b _080FDBDA
-_080FDB98:
- ldr r0, _080FDBA4 @ =gUnknown_3005E10
- ldrh r0, [r0, 0x1E]
- bl rfu_REQ_startConnectParent
- b _080FDBDA
- .align 2, 0
-_080FDBA4: .4byte gUnknown_3005E10
-_080FDBA8:
- bl rfu_REQ_pollConnectParent
- b _080FDBDA
-_080FDBAE:
- bl rfu_REQ_endConnectParent
- b _080FDBDA
-_080FDBB4:
- ldr r0, _080FDBC0 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bl rfu_REQ_CHILD_startConnectRecovery
- b _080FDBDA
- .align 2, 0
-_080FDBC0: .4byte gRfuLinkStatus
-_080FDBC4:
- bl rfu_REQ_CHILD_pollConnectRecovery
- b _080FDBDA
-_080FDBCA:
- bl rfu_REQ_CHILD_endConnectRecovery
- b _080FDBDA
-_080FDBD0:
- bl rfu_REQ_changeMasterSlave
- b _080FDBDA
-_080FDBD6:
- bl rfu_REQ_stopMode
-_080FDBDA:
- bl rfu_waitREQComplete
- ldr r1, _080FDC20 @ =gUnknown_3005E10
- movs r0, 0
- strb r0, [r1, 0xE]
-_080FDBE4:
- ldr r0, _080FDC20 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x4]
- subs r0, 0x12
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080FDBF4
- b _080FDA5A
-_080FDBF4:
- ldr r0, _080FDC24 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FDC0A
- movs r0, 0
- bl sub_80FD850
- lsls r0, 24
- cmp r0, 0
- bne _080FDC1A
-_080FDC0A:
- bl sub_80FE418
- bl sub_80FE63C
- bl sub_80FE74C
- bl sub_80FE918
-_080FDC1A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDC20: .4byte gUnknown_3005E10
-_080FDC24: .4byte gRfuLinkStatus
- thumb_func_end sub_80FDA30
-
- thumb_func_start sub_80FDC28
-sub_80FDC28: @ 80FDC28
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _080FDC4C @ =gUnknown_3005E10
- ldrb r1, [r0, 0x7]
- adds r4, r0, 0
- cmp r1, 0x5
- bne _080FDC52
- movs r2, 0x1
- strb r2, [r4, 0x6]
- strb r1, [r4, 0x4]
- ldrh r0, [r4, 0x1C]
- strh r0, [r4, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _080FDC50
- movs r0, 0x6
- strb r0, [r4, 0x7]
- b _080FDC52
- .align 2, 0
-_080FDC4C: .4byte gUnknown_3005E10
-_080FDC50:
- strb r2, [r4, 0x7]
-_080FDC52:
- ldrb r0, [r4, 0x7]
- cmp r0, 0x1
- bne _080FDC7C
- strb r0, [r4, 0x6]
- movs r0, 0x5
- strb r0, [r4, 0x4]
- adds r0, r3, 0
- movs r1, 0x8C
- bl __umodsi3
- strh r0, [r4, 0x1A]
- movs r1, 0x8C
- subs r1, r0
- strh r1, [r4, 0x1C]
- lsls r0, 16
- cmp r0, 0
- beq _080FDC78
- movs r0, 0x2
- b _080FDC7A
-_080FDC78:
- movs r0, 0x3
-_080FDC7A:
- strb r0, [r4, 0x7]
-_080FDC7C:
- ldrb r0, [r4, 0x7]
- cmp r0, 0x3
- bne _080FDC92
- movs r0, 0
- strb r0, [r4, 0x6]
- movs r0, 0x28
- strh r0, [r4, 0x1A]
- movs r0, 0x4
- strb r0, [r4, 0x7]
- movs r0, 0x9
- strb r0, [r4, 0x4]
-_080FDC92:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FDC28
-
- thumb_func_start sub_80FDC98
-sub_80FDC98: @ 80FDC98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r0, _080FDCD0 @ =gUnknown_3005E10
- ldrb r1, [r0, 0xE]
- adds r7, r0, 0
- cmp r1, 0
- bne _080FDCB6
- b _080FE17C
-_080FDCB6:
- movs r0, 0
- strb r0, [r7, 0xE]
- mov r0, r8
- subs r0, 0x10
- cmp r0, 0x2D
- bls _080FDCC4
- b _080FE16E
-_080FDCC4:
- lsls r0, 2
- ldr r1, _080FDCD4 @ =_080FDCD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FDCD0: .4byte gUnknown_3005E10
-_080FDCD4: .4byte _080FDCD8
- .align 2, 0
-_080FDCD8:
- .4byte _080FDD90
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FDDBC
- .4byte _080FDDA8
- .4byte _080FE16E
- .4byte _080FDDD0
- .4byte _080FDDE0
- .4byte _080FDE04
- .4byte _080FDE24
- .4byte _080FDE44
- .4byte _080FDEB4
- .4byte _080FDEE6
- .4byte _080FDEFC
- .4byte _080FDF44
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE0BC
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FDFB4
- .4byte _080FE000
- .4byte _080FE048
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE16E
- .4byte _080FE15C
-_080FDD90:
- cmp r6, 0
- beq _080FDD96
- b _080FE16E
-_080FDD96:
- ldr r0, _080FDDA4 @ =gUnknown_3005E10
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- movs r1, 0x4
- strb r1, [r0, 0x5]
- b _080FE16E
- .align 2, 0
-_080FDDA4: .4byte gUnknown_3005E10
-_080FDDA8:
- cmp r6, 0
- beq _080FDDAE
- b _080FE16E
-_080FDDAE:
- ldr r0, _080FDDB8 @ =gUnknown_3005E10
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- strb r6, [r0, 0x5]
- b _080FE16E
- .align 2, 0
-_080FDDB8: .4byte gUnknown_3005E10
-_080FDDBC:
- cmp r6, 0
- beq _080FDDC2
- b _080FE16E
-_080FDDC2:
- ldr r0, _080FDDCC @ =gUnknown_3005E10
- strb r6, [r0, 0x5]
- strb r6, [r0, 0x4]
- movs r0, 0
- b _080FE0DA
- .align 2, 0
-_080FDDCC: .4byte gUnknown_3005E10
-_080FDDD0:
- cmp r6, 0
- beq _080FDDD6
- b _080FE16E
-_080FDDD6:
- ldr r1, _080FDDDC @ =gUnknown_3005E10
- movs r0, 0x6
- b _080FDEF0
- .align 2, 0
-_080FDDDC: .4byte gUnknown_3005E10
-_080FDDE0:
- ldr r1, _080FDE00 @ =gUnknown_3005E10
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _080FDDEA
- b _080FE16E
-_080FDDEA:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _080FDDF6
- b _080FE16E
-_080FDDF6:
- movs r0, 0x7
- strb r0, [r1, 0x4]
- movs r0, 0x8
- strb r0, [r1, 0x5]
- b _080FE16E
- .align 2, 0
-_080FDE00: .4byte gUnknown_3005E10
-_080FDE04:
- cmp r6, 0
- beq _080FDE0A
- b _080FE16E
-_080FDE0A:
- ldr r0, _080FDE20 @ =gUnknown_3005E10
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- strb r6, [r0, 0x5]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _080FDE1A
- b _080FE16E
-_080FDE1A:
- movs r0, 0x13
- b _080FE0DA
- .align 2, 0
-_080FDE20: .4byte gUnknown_3005E10
-_080FDE24:
- cmp r6, 0
- beq _080FDE2A
- b _080FE16E
-_080FDE2A:
- ldrb r0, [r7, 0xB]
- cmp r0, 0x1
- bne _080FDE3A
- ldrh r0, [r7, 0x1A]
- cmp r0, 0x1
- bls _080FDE3A
- subs r0, 0x1
- strh r0, [r7, 0x1A]
-_080FDE3A:
- ldr r1, _080FDE40 @ =gUnknown_3005E10
- movs r0, 0xA
- b _080FDEF0
- .align 2, 0
-_080FDE40: .4byte gUnknown_3005E10
-_080FDE44:
- cmp r6, 0
- bne _080FDE8A
- bl sub_80FE778
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- ldr r4, _080FDEAC @ =gUnknown_3005E10
- strh r0, [r4, 0x14]
- cmp r0, 0
- beq _080FDE64
- movs r0, 0x20
- movs r1, 0x1
- bl sub_80FE7F0
-_080FDE64:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- beq _080FDE8A
- ldrh r0, [r4, 0x1A]
- cmp r0, 0x1
- beq _080FDE8A
- ldr r0, _080FDEB0 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- bne _080FDE8A
- bl rfu_REQ_endSearchParent
- bl rfu_waitREQComplete
- movs r0, 0x9
- strb r0, [r4, 0x4]
- movs r0, 0x1
- strb r0, [r4, 0xB]
-_080FDE8A:
- ldr r1, _080FDEAC @ =gUnknown_3005E10
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _080FDE94
- b _080FE16E
-_080FDE94:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _080FDEA0
- b _080FE16E
-_080FDEA0:
- movs r0, 0xB
- strb r0, [r1, 0x4]
- movs r0, 0
- strb r0, [r1, 0x5]
- b _080FE16E
- .align 2, 0
-_080FDEAC: .4byte gUnknown_3005E10
-_080FDEB0: .4byte gRfuLinkStatus
-_080FDEB4:
- cmp r6, 0
- beq _080FDEBA
- b _080FE16E
-_080FDEBA:
- ldr r2, _080FDED4 @ =gUnknown_3005E10
- ldrb r0, [r2, 0x5]
- strb r0, [r2, 0x4]
- ldrb r1, [r2, 0x7]
- cmp r1, 0
- bne _080FDED8
- lsls r0, 24
- cmp r0, 0
- beq _080FDECE
- b _080FE16E
-_080FDECE:
- movs r0, 0x21
- b _080FE0DA
- .align 2, 0
-_080FDED4: .4byte gUnknown_3005E10
-_080FDED8:
- cmp r1, 0x7
- bne _080FDEDE
- b _080FE16E
-_080FDEDE:
- movs r0, 0x5
- strb r0, [r2, 0x4]
- strb r0, [r2, 0x7]
- b _080FE16E
-_080FDEE6:
- cmp r6, 0
- beq _080FDEEC
- b _080FE16E
-_080FDEEC:
- ldr r1, _080FDEF8 @ =gUnknown_3005E10
- movs r0, 0xD
-_080FDEF0:
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- b _080FE16E
- .align 2, 0
-_080FDEF8: .4byte gUnknown_3005E10
-_080FDEFC:
- cmp r6, 0
- bne _080FDF20
- ldr r4, _080FDF3C @ =gUnknown_3005E20
- mov r0, sp
- adds r1, r4, 0
- bl rfu_getConnectParentStatus
- lsls r0, 16
- cmp r0, 0
- bne _080FDF20
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FDF20
- adds r1, r4, 0
- subs r1, 0x10
- movs r0, 0xE
- strb r0, [r1, 0x4]
-_080FDF20:
- ldr r1, _080FDF40 @ =gUnknown_3005E10
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _080FDF2A
- b _080FE16E
-_080FDF2A:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _080FDF36
- b _080FE16E
-_080FDF36:
- movs r0, 0xE
- strb r0, [r1, 0x4]
- b _080FE16E
- .align 2, 0
-_080FDF3C: .4byte gUnknown_3005E20
-_080FDF40: .4byte gUnknown_3005E10
-_080FDF44:
- cmp r6, 0
- beq _080FDF4A
- b _080FE16E
-_080FDF4A:
- ldr r4, _080FDF7C @ =gUnknown_3005E20
- mov r0, sp
- adds r1, r4, 0
- bl rfu_getConnectParentStatus
- lsls r0, 16
- cmp r0, 0
- beq _080FDF5C
- b _080FE16E
-_080FDF5C:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FDF80
- adds r1, r4, 0
- subs r1, 0x10
- movs r0, 0x13
- strb r0, [r1, 0x4]
- movs r0, 0xF
- strb r0, [r1, 0x5]
- movs r0, 0x22
- strh r0, [r1, 0x1E]
- ldrb r0, [r1, 0x10]
- strh r0, [r1, 0x14]
- b _080FDFA0
- .align 2, 0
-_080FDF7C: .4byte gUnknown_3005E20
-_080FDF80:
- adds r1, r4, 0
- subs r1, 0x10
- strb r6, [r1, 0x5]
- strb r6, [r1, 0x4]
- movs r0, 0x23
- strh r0, [r1, 0x1E]
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r1, 0x14]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _080FDFA0
- movs r0, 0x3
- strb r0, [r1, 0x7]
- movs r0, 0x9
- strb r0, [r1, 0x4]
-_080FDFA0:
- ldr r4, _080FDFB0 @ =gUnknown_3005E10
- ldrb r0, [r4, 0x1E]
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0
- strh r0, [r4, 0x1E]
- b _080FE16E
- .align 2, 0
-_080FDFB0: .4byte gUnknown_3005E10
-_080FDFB4:
- cmp r6, 0
- beq _080FDFBA
- b _080FE16E
-_080FDFBA:
- ldr r2, _080FDFFC @ =gRfuLinkStatus
- ldr r3, [r2]
- ldrb r0, [r3, 0x3]
- movs r1, 0
- strh r0, [r7, 0x14]
- movs r0, 0x11
- strb r0, [r7, 0x5]
- strb r0, [r7, 0x4]
- strb r1, [r7, 0x10]
- ldrb r0, [r3, 0x3]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FDFD8
- b _080FE16E
-_080FDFD8:
- adds r1, r7, 0
- movs r3, 0x1
-_080FDFDC:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080FDFEC
- b _080FE16E
-_080FDFEC:
- ldr r0, [r2]
- ldrb r0, [r0, 0x3]
- ldrb r4, [r7, 0x10]
- asrs r0, r4
- ands r0, r3
- cmp r0, 0
- beq _080FDFDC
- b _080FE16E
- .align 2, 0
-_080FDFFC: .4byte gRfuLinkStatus
-_080FE000:
- cmp r6, 0
- bne _080FE01E
- mov r0, sp
- bl rfu_CHILD_getConnectRecoveryStatus
- lsls r0, 16
- cmp r0, 0
- bne _080FE01E
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080FE01E
- ldr r1, _080FE044 @ =gUnknown_3005E10
- movs r0, 0x12
- strb r0, [r1, 0x4]
-_080FE01E:
- ldr r2, _080FE044 @ =gUnknown_3005E10
- ldrb r0, [r2, 0x10]
- lsls r0, 1
- adds r1, r2, 0
- adds r1, 0x34
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- bne _080FE032
- b _080FE16E
-_080FE032:
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080FE03E
- b _080FE16E
-_080FE03E:
- movs r0, 0x12
- strb r0, [r2, 0x4]
- b _080FE16E
- .align 2, 0
-_080FE044: .4byte gUnknown_3005E10
-_080FE048:
- cmp r6, 0
- beq _080FE04E
- b _080FE16E
-_080FE04E:
- mov r0, sp
- bl rfu_CHILD_getConnectRecoveryStatus
- lsls r0, 16
- cmp r0, 0
- beq _080FE05C
- b _080FE16E
-_080FE05C:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FE078
- ldr r1, _080FE074 @ =gUnknown_3005E10
- movs r0, 0x13
- strb r0, [r1, 0x4]
- movs r0, 0x16
- strb r0, [r1, 0x5]
- movs r0, 0x32
- strh r0, [r1, 0x1E]
- b _080FE08C
- .align 2, 0
-_080FE074: .4byte gUnknown_3005E10
-_080FE078:
- ldr r4, _080FE0B4 @ =gUnknown_3005E10
- strb r6, [r4, 0x5]
- strb r6, [r4, 0x4]
- ldr r0, _080FE0B8 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bl sub_80FE818
- movs r0, 0x33
- strh r0, [r4, 0x1E]
-_080FE08C:
- ldr r5, _080FE0B4 @ =gUnknown_3005E10
- ldrb r0, [r5, 0x10]
- lsls r0, 1
- adds r1, r5, 0
- adds r1, 0x34
- adds r0, r1
- movs r1, 0
- movs r4, 0
- strh r4, [r0]
- adds r0, r5, 0
- adds r0, 0x30
- strb r1, [r0]
- strb r1, [r5, 0xA]
- ldrb r0, [r5, 0x1E]
- movs r1, 0x1
- bl sub_80FE7F0
- strh r4, [r5, 0x1E]
- b _080FE16E
- .align 2, 0
-_080FE0B4: .4byte gUnknown_3005E10
-_080FE0B8: .4byte gRfuLinkStatus
-_080FE0BC:
- cmp r6, 0
- bne _080FE16E
- ldr r5, _080FE0E4 @ =gUnknown_3005E10
- ldrb r1, [r5, 0x5]
- adds r0, r1, 0
- cmp r0, 0x16
- bne _080FE0E8
- ldrb r0, [r5, 0x11]
- strb r0, [r5, 0x4]
- ldrb r0, [r5, 0x12]
- strb r0, [r5, 0x5]
- ldrb r0, [r5, 0x2]
- movs r0, 0x1
- strb r0, [r5, 0x2]
- movs r0, 0x41
-_080FE0DA:
- movs r1, 0
- bl sub_80FE7F0
- b _080FE16E
- .align 2, 0
-_080FE0E4: .4byte gUnknown_3005E10
-_080FE0E8:
- cmp r0, 0xF
- bne _080FE16E
- strb r1, [r5, 0x4]
- ldrb r0, [r5, 0x2]
- movs r4, 0x1
- strb r4, [r5, 0x2]
- movs r0, 0x41
- movs r1, 0
- bl sub_80FE7F0
- adds r1, r5, 0
- adds r1, 0x24
- ldrb r0, [r5, 0x10]
- lsls r4, r0
- ldrb r0, [r1]
- orrs r4, r0
- strb r4, [r1]
- ldrb r0, [r5, 0x10]
- lsls r0, 1
- adds r1, 0x4
- adds r0, r1
- ldrh r1, [r5, 0x26]
- movs r7, 0
- strh r1, [r0]
- ldrb r1, [r5, 0x10]
- movs r0, 0x4
- bl rfu_clearSlot
- mov r4, sp
- ldrb r0, [r5, 0x10]
- movs r1, 0xE
- bl rfu_NI_CHILD_setSendGameName
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- beq _080FE16E
- strb r7, [r5, 0x5]
- strb r7, [r5, 0x4]
- bl sub_80FEAF4
- ldr r0, _080FE158 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl sub_80FE818
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r5, 0x14]
- movs r0, 0x25
- movs r1, 0x1
- bl sub_80FE7F0
- b _080FE16E
- .align 2, 0
-_080FE158: .4byte gRfuLinkStatus
-_080FE15C:
- cmp r6, 0
- bne _080FE16E
- ldr r0, _080FE178 @ =gUnknown_3005E10
- strb r6, [r0, 0x5]
- strb r6, [r0, 0x4]
- movs r0, 0x42
- movs r1, 0
- bl sub_80FE7F0
-_080FE16E:
- ldr r1, _080FE178 @ =gUnknown_3005E10
- movs r0, 0x1
- strb r0, [r1, 0xE]
- b _080FE1CA
- .align 2, 0
-_080FE178: .4byte gUnknown_3005E10
-_080FE17C:
- cmp r6, 0x3
- bne _080FE1CA
- ldrb r0, [r7, 0xF]
- cmp r0, 0
- beq _080FE1CA
- mov r3, r8
- cmp r3, 0x24
- beq _080FE194
- cmp r3, 0x26
- beq _080FE194
- cmp r3, 0x27
- bne _080FE1CA
-_080FE194:
- bl rfu_REQ_RFUStatus
- bl rfu_waitREQComplete
- mov r0, sp
- bl rfu_getRFUStatus
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FE1CA
- ldr r4, _080FE1E0 @ =gRfuLinkStatus
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FE1CA
- bl rfu_getSTWIRecvBuffer
- ldr r1, [r4]
- ldrb r1, [r1, 0x2]
- strb r1, [r0, 0x4]
- movs r1, 0x1
- strb r1, [r0, 0x5]
- movs r0, 0x29
- bl sub_80FD850
- movs r6, 0
-_080FE1CA:
- mov r4, r8
- cmp r4, 0x26
- bne _080FE1D2
- b _080FE2E6
-_080FE1D2:
- cmp r4, 0x26
- bgt _080FE1E4
- cmp r4, 0x10
- bne _080FE1DC
- b _080FE304
-_080FE1DC:
- b _080FE322
- .align 2, 0
-_080FE1E0: .4byte gRfuLinkStatus
-_080FE1E4:
- mov r0, r8
- cmp r0, 0x30
- beq _080FE1F2
- cmp r0, 0x3D
- bne _080FE1F0
- b _080FE304
-_080FE1F0:
- b _080FE322
-_080FE1F2:
- cmp r6, 0
- beq _080FE1F8
- b _080FE326
-_080FE1F8:
- bl rfu_getSTWIRecvBuffer
- ldr r4, _080FE2A8 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x8]
- strh r0, [r4, 0x14]
- bl sub_80FE83C
- adds r2, r4, 0
- adds r2, 0x30
- ldrb r1, [r2]
- cmp r1, 0
- beq _080FE24E
- ldrb r0, [r4, 0x14]
- adds r3, r1, 0
- bics r3, r0
- adds r0, r3, 0
- strb r0, [r2]
- movs r3, 0
- adds r7, r4, 0
- adds r1, r7, 0
- movs r5, 0x1
- adds r4, r1, 0
- adds r4, 0x34
- movs r2, 0
-_080FE228:
- ldrh r0, [r1, 0x14]
- asrs r0, r3
- ands r0, r5
- cmp r0, 0
- beq _080FE238
- lsls r0, r3, 1
- adds r0, r4
- strh r2, [r0]
-_080FE238:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080FE228
- ldr r1, _080FE2A8 @ =gUnknown_3005E10
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _080FE24E
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
-_080FE24E:
- mov r3, sp
- ldr r1, _080FE2A8 @ =gUnknown_3005E10
- ldrb r2, [r1]
- ldrb r0, [r1, 0x14]
- ands r0, r2
- strb r0, [r3]
- movs r3, 0
- adds r7, r1, 0
- ldr r2, _080FE2AC @ =gRfuLinkStatus
- mov r1, sp
- movs r5, 0x1
- adds r4, r7, 0
-_080FE266:
- ldrb r0, [r1]
- asrs r0, r3
- ands r0, r5
- cmp r0, 0
- beq _080FE27A
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _080FE27A
- subs r0, 0x1
- strb r0, [r7, 0x1]
-_080FE27A:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080FE266
- ldrb r1, [r7, 0x14]
- ldrb r0, [r7]
- bics r0, r1
- strb r0, [r7]
- ldrb r1, [r7, 0x7]
- cmp r1, 0
- beq _080FE2C4
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080FE2D6
- cmp r1, 0x8
- bne _080FE2B0
- ldrh r0, [r7, 0x1C]
- strh r0, [r7, 0x1A]
- movs r0, 0x6
- strb r0, [r7, 0x7]
- b _080FE2C2
- .align 2, 0
-_080FE2A8: .4byte gUnknown_3005E10
-_080FE2AC: .4byte gRfuLinkStatus
-_080FE2B0:
- ldrb r0, [r7, 0x4]
- subs r0, 0x6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080FE2C4
- movs r0, 0x1
- strb r0, [r7, 0x7]
- movs r0, 0x5
-_080FE2C2:
- strb r0, [r7, 0x4]
-_080FE2C4:
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080FE2D6
- ldrb r0, [r7, 0x4]
- cmp r0, 0
- bne _080FE2D6
- movs r0, 0xFF
- strb r0, [r7, 0x6]
-_080FE2D6:
- ldrb r0, [r7, 0xE]
- cmp r0, 0
- bne _080FE322
- movs r0, 0x40
- movs r1, 0x1
- bl sub_80FE7F0
- b _080FE322
-_080FE2E6:
- bl sub_80FE6F0
- ldr r0, _080FE300 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080FE322
- movs r0, 0x50
- movs r1, 0
- bl sub_80FE7F0
- b _080FE322
- .align 2, 0
-_080FE300: .4byte gRfuLinkStatus
-_080FE304:
- cmp r6, 0
- bne _080FE326
- ldr r0, _080FE350 @ =gUnknown_3005E10
- strb r6, [r0, 0xD]
- strb r6, [r0, 0x1]
- strb r6, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x6]
- bl sub_80FEAF4
- mov r4, r8
- cmp r4, 0x3D
- bne _080FE322
- bl sub_80FD484
-_080FE322:
- cmp r6, 0
- beq _080FE376
-_080FE326:
- ldr r7, _080FE350 @ =gUnknown_3005E10
- mov r0, r8
- cmp r0, 0x1C
- bne _080FE358
- cmp r6, 0
- beq _080FE358
- ldrb r0, [r7, 0x7]
- cmp r0, 0x4
- bne _080FE358
- ldr r2, _080FE354 @ =gRfuLinkStatus
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, [r2]
- movs r0, 0xF
- strb r0, [r1, 0x2]
- bl sub_80FE818
- bl rfu_waitREQComplete
- b _080FE388
- .align 2, 0
-_080FE350: .4byte gUnknown_3005E10
-_080FE354: .4byte gRfuLinkStatus
-_080FE358:
- movs r1, 0
- mov r3, r8
- strh r3, [r7, 0x14]
- strh r6, [r7, 0x16]
- ldrb r0, [r7, 0xE]
- cmp r0, 0
- beq _080FE36A
- strb r1, [r7, 0x5]
- strb r1, [r7, 0x4]
-_080FE36A:
- movs r0, 0xF0
- movs r1, 0x2
- bl sub_80FE7F0
- bl sub_80FEAF4
-_080FE376:
- mov r4, r8
- cmp r4, 0xFF
- bne _080FE388
- movs r0, 0xF2
- movs r1, 0
- bl sub_80FE7F0
- bl sub_80FEAF4
-_080FE388:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FDC98
-
- thumb_func_start sub_80FE394
-sub_80FE394: @ 80FE394
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r4, _080FE3C8 @ =gUnknown_3005E10
- ldrb r7, [r4, 0xE]
- movs r0, 0
- strb r0, [r4, 0xE]
- movs r0, 0x1
- strb r0, [r4, 0xF]
- ldr r0, _080FE3CC @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r5, [r0]
- cmp r5, 0
- bne _080FE3D0
- adds r0, r6, 0
- bl sub_80FD850
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- beq _080FE3E8
- bl sub_80FEAF4
- strb r5, [r4, 0xF]
- strb r7, [r4, 0xE]
- b _080FE40C
- .align 2, 0
-_080FE3C8: .4byte gUnknown_3005E10
-_080FE3CC: .4byte gRfuLinkStatus
-_080FE3D0:
- mov r0, sp
- bl rfu_UNI_PARENT_getDRAC_ACK
- lsls r0, 16
- cmp r0, 0
- bne _080FE3E8
- mov r1, sp
- ldrb r0, [r4, 0x3]
- ldrb r1, [r1]
- orrs r0, r1
- ldrb r1, [r4, 0x3]
- strb r0, [r4, 0x3]
-_080FE3E8:
- ldr r4, _080FE414 @ =gUnknown_3005E10
- ldr r1, [r4, 0x44]
- cmp r1, 0
- beq _080FE404
- adds r0, r6, 0
- bl _call_via_r1
- bl rfu_waitREQComplete
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- bne _080FE404
- bl sub_80FEAF4
-_080FE404:
- ldr r1, _080FE414 @ =gUnknown_3005E10
- movs r0, 0
- strb r0, [r1, 0xF]
- strb r7, [r1, 0xE]
-_080FE40C:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE414: .4byte gUnknown_3005E10
- thumb_func_end sub_80FE394
-
- thumb_func_start sub_80FE418
-sub_80FE418: @ 80FE418
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r1, _080FE49C @ =gUnknown_3005E10
- ldrb r0, [r1, 0x4]
- subs r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- adds r3, r1, 0
- cmp r0, 0x3
- bls _080FE436
- b _080FE62A
-_080FE436:
- ldr r0, _080FE4A0 @ =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r3, 0xC]
- adds r4, r1, 0
- eors r4, r0
- ands r4, r1
- ldrb r0, [r2, 0x7]
- bics r4, r0
- mov r8, r4
- strb r1, [r3, 0xC]
- cmp r4, 0
- beq _080FE45E
- strh r4, [r3, 0x14]
- movs r0, 0x10
- movs r1, 0x1
- str r3, [sp, 0x4]
- bl sub_80FE7F0
- ldr r3, [sp, 0x4]
-_080FE45E:
- movs r0, 0
- str r0, [sp]
- movs r6, 0
- adds r7, r3, 0
- movs r1, 0x24
- adds r1, r3
- mov r9, r1
-_080FE46C:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r6
- lsrs r4, r0, 24
- movs r5, 0
- mov r0, r8
- ands r0, r4
- cmp r0, 0
- beq _080FE4BE
- lsls r1, r6, 1
- adds r0, r7, 0
- adds r0, 0x28
- adds r1, r0
- ldrh r0, [r7, 0x26]
- strh r0, [r1]
- mov r2, r9
- ldrb r1, [r2]
- adds r0, r4, 0
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- mov r10, r6
- b _080FE574
- .align 2, 0
-_080FE49C: .4byte gUnknown_3005E10
-_080FE4A0: .4byte gRfuLinkStatus
-_080FE4A4:
- ldrb r1, [r7]
- adds r0, r4, 0
- orrs r0, r1
- strb r0, [r7]
- ldrb r0, [r7, 0x1]
- adds r0, 0x1
- strb r0, [r7, 0x1]
- ldr r0, [sp]
- orrs r0, r4
- str r0, [sp]
- movs r0, 0x1
- orrs r5, r0
- b _080FE508
-_080FE4BE:
- mov r1, r9
- ldrb r0, [r1]
- ands r0, r4
- adds r2, r6, 0x1
- mov r10, r2
- cmp r0, 0
- beq _080FE574
- ldr r0, _080FE518 @ =gRfuSlotStatusNI
- lsls r1, r6, 2
- adds r1, r0
- ldr r1, [r1]
- ldrh r0, [r1, 0x34]
- cmp r0, 0x46
- bne _080FE524
- adds r0, r1, 0
- adds r0, 0x61
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FE53C
- movs r5, 0x2
- ldr r3, [r3, 0x20]
- ldrh r2, [r3]
- ldr r0, _080FE51C @ =0x0000ffff
- cmp r2, r0
- beq _080FE508
- ldr r0, _080FE520 @ =gRfuLinkStatus
- ldr r0, [r0]
- lsls r1, r6, 5
- adds r0, r1
- ldrh r0, [r0, 0x18]
- ldr r1, _080FE51C @ =0x0000ffff
-_080FE4FC:
- cmp r0, r2
- beq _080FE4A4
- adds r3, 0x2
- ldrh r2, [r3]
- cmp r2, r1
- bne _080FE4FC
-_080FE508:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- bne _080FE53C
- movs r0, 0x4
- orrs r5, r0
- b _080FE53C
- .align 2, 0
-_080FE518: .4byte gRfuSlotStatusNI
-_080FE51C: .4byte 0x0000ffff
-_080FE520: .4byte gRfuLinkStatus
-_080FE524:
- lsls r1, r6, 1
- adds r0, r3, 0
- adds r0, 0x28
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldr r1, _080FE5F8 @ =0x0000ffff
- ands r0, r1
- cmp r0, 0
- bne _080FE53C
- movs r5, 0x6
-_080FE53C:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _080FE562
- mov r2, r9
- ldrb r0, [r2]
- bics r0, r4
- movs r2, 0
- mov r1, r9
- strb r0, [r1]
- lsls r0, r6, 1
- adds r1, r7, 0
- adds r1, 0x28
- adds r0, r1
- strh r2, [r0]
- movs r0, 0x8
- adds r1, r6, 0
- bl rfu_clearSlot
-_080FE562:
- movs r0, 0x4
- ands r5, r0
- ldr r3, _080FE5FC @ =gUnknown_3005E10
- cmp r5, 0
- beq _080FE574
- ldrb r1, [r7, 0xD]
- adds r0, r4, 0
- orrs r0, r1
- strb r0, [r7, 0xD]
-_080FE574:
- mov r2, r10
- lsls r0, r2, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _080FE580
- b _080FE46C
-_080FE580:
- ldr r4, [sp]
- cmp r4, 0
- beq _080FE592
- ldr r0, _080FE5FC @ =gUnknown_3005E10
- strh r4, [r0, 0x14]
- movs r0, 0x11
- movs r1, 0x1
- bl sub_80FE7F0
-_080FE592:
- ldr r1, _080FE5FC @ =gUnknown_3005E10
- ldrb r0, [r1, 0xD]
- cmp r0, 0
- beq _080FE5CE
- movs r5, 0x1
- ldr r0, _080FE600 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _080FE5B2
- ldrb r0, [r1, 0x3]
- ldrb r1, [r1]
- ands r0, r1
- cmp r0, r1
- beq _080FE5B2
- movs r5, 0
-_080FE5B2:
- cmp r5, 0
- beq _080FE5CE
- ldr r4, _080FE5FC @ =gUnknown_3005E10
- ldrb r0, [r4, 0xD]
- bl sub_80FE818
- ldrb r0, [r4, 0xD]
- movs r1, 0
- strh r0, [r4, 0x14]
- strb r1, [r4, 0xD]
- movs r0, 0x12
- movs r1, 0x1
- bl sub_80FE7F0
-_080FE5CE:
- ldr r0, _080FE5FC @ =gUnknown_3005E10
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0
- bne _080FE62A
- ldrb r0, [r3, 0x4]
- cmp r0, 0x8
- bne _080FE62A
- ldrb r0, [r3, 0x7]
- cmp r0, 0
- bne _080FE604
- strb r0, [r3, 0x5]
- strb r0, [r3, 0x4]
- movs r0, 0x14
- movs r1, 0
- bl sub_80FE7F0
- b _080FE62A
- .align 2, 0
-_080FE5F8: .4byte 0x0000ffff
-_080FE5FC: .4byte gUnknown_3005E10
-_080FE600: .4byte gRfuLinkStatus
-_080FE604:
- cmp r0, 0x2
- bne _080FE610
- movs r0, 0x3
- strb r0, [r3, 0x7]
- movs r0, 0x9
- b _080FE616
-_080FE610:
- movs r0, 0x1
- strb r0, [r3, 0x7]
- movs r0, 0x5
-_080FE616:
- strb r0, [r3, 0x4]
- ldrb r0, [r3]
- cmp r0, 0
- beq _080FE62A
- movs r0, 0
- strh r0, [r3, 0x1A]
- movs r0, 0x8
- strb r0, [r3, 0x7]
- movs r0, 0x5
- strb r0, [r3, 0x4]
-_080FE62A:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE418
-
- thumb_func_start sub_80FE63C
-sub_80FE63C: @ 80FE63C
- push {r4-r6,lr}
- ldr r1, _080FE6E0 @ =0x04000208
- ldrh r0, [r1]
- adds r6, r0, 0
- movs r0, 0
- strh r0, [r1]
- ldr r4, _080FE6E4 @ =gUnknown_3005E10
- ldrb r0, [r4, 0x4]
- cmp r0, 0xF
- bne _080FE6A0
- ldrb r1, [r4, 0x10]
- lsls r1, 1
- adds r5, r4, 0
- adds r5, 0x28
- adds r1, r5
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080FE676
- ldr r1, _080FE6E8 @ =gRfuSlotStatusNI
- ldrb r0, [r4, 0x10]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x27
- bne _080FE6A0
-_080FE676:
- bl sub_80FEB14
- movs r0, 0x18
- strb r0, [r4, 0x4]
- ldrb r1, [r4, 0x10]
- movs r0, 0x4
- bl rfu_clearSlot
- adds r2, r4, 0
- adds r2, 0x24
- movs r1, 0x1
- ldrb r0, [r4, 0x10]
- lsls r1, r0
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldrb r0, [r4, 0x10]
- lsls r0, 1
- adds r0, r5
- movs r1, 0
- strh r1, [r0]
-_080FE6A0:
- ldr r0, _080FE6E0 @ =0x04000208
- strh r6, [r0]
- ldr r5, _080FE6E4 @ =gUnknown_3005E10
- ldrb r0, [r5, 0x4]
- cmp r0, 0x18
- bne _080FE6DA
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- bne _080FE6B6
- bl sub_80FEB14
-_080FE6B6:
- ldrb r0, [r5, 0x2]
- adds r4, r0, 0
- cmp r4, 0
- bne _080FE6DA
- strb r4, [r5, 0x5]
- strb r4, [r5, 0x4]
- ldr r0, _080FE6EC @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl sub_80FE818
- strh r4, [r5, 0x14]
- movs r0, 0x25
- movs r1, 0x1
- bl sub_80FE7F0
-_080FE6DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE6E0: .4byte 0x04000208
-_080FE6E4: .4byte gUnknown_3005E10
-_080FE6E8: .4byte gRfuSlotStatusNI
-_080FE6EC: .4byte gRfuLinkStatus
- thumb_func_end sub_80FE63C
-
- thumb_func_start sub_80FE6F0
-sub_80FE6F0: @ 80FE6F0
- push {r4,r5,lr}
- ldr r5, _080FE744 @ =gUnknown_3005E10
- ldrb r0, [r5, 0x4]
- cmp r0, 0xF
- bne _080FE73C
- ldr r1, _080FE748 @ =gRfuSlotStatusNI
- ldrb r2, [r5, 0x10]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x26
- bne _080FE73C
- movs r4, 0
- strb r4, [r5, 0x5]
- strb r4, [r5, 0x4]
- movs r0, 0x4
- adds r1, r2, 0
- bl rfu_clearSlot
- adds r2, r5, 0
- adds r2, 0x24
- movs r1, 0x1
- ldrb r0, [r5, 0x10]
- lsls r1, r0
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldrb r0, [r5, 0x10]
- lsls r0, 1
- adds r1, r5, 0
- adds r1, 0x28
- adds r0, r1
- strh r4, [r0]
- movs r0, 0x24
- movs r1, 0
- bl sub_80FE7F0
-_080FE73C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE744: .4byte gUnknown_3005E10
-_080FE748: .4byte gRfuSlotStatusNI
- thumb_func_end sub_80FE6F0
-
- thumb_func_start sub_80FE74C
-sub_80FE74C: @ 80FE74C
- push {lr}
- ldr r1, _080FE774 @ =gUnknown_3005E10
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _080FE770
- ldrb r0, [r1, 0xA]
- cmp r0, 0x1
- bne _080FE770
- ldrb r0, [r1, 0x4]
- strb r0, [r1, 0x11]
- ldrb r0, [r1, 0x5]
- strb r0, [r1, 0x12]
- movs r0, 0x10
- strb r0, [r1, 0x4]
- movs r0, 0x11
- strb r0, [r1, 0x5]
- movs r0, 0x2
- strb r0, [r1, 0xA]
-_080FE770:
- pop {r0}
- bx r0
- .align 2, 0
-_080FE774: .4byte gUnknown_3005E10
- thumb_func_end sub_80FE74C
-
- thumb_func_start sub_80FE778
-sub_80FE778: @ 80FE778
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- movs r5, 0
- ldr r1, _080FE7E4 @ =gRfuLinkStatus
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- bcs _080FE7D4
- mov r8, r0
- ldr r0, _080FE7E8 @ =gUnknown_3005E10
- mov r10, r0
- mov r9, r1
-_080FE798:
- mov r1, r10
- ldr r3, [r1, 0x20]
- ldrh r2, [r3]
- adds r0, r5, 0x1
- mov r12, r0
- ldr r1, _080FE7EC @ =0x0000ffff
- cmp r2, r1
- beq _080FE7CA
- mov r1, r9
- ldr r0, [r1]
- lsls r1, r5, 5
- adds r0, r1
- ldrh r4, [r0, 0x18]
- ldr r7, _080FE7EC @ =0x0000ffff
- movs r1, 0x1
- lsls r1, r5
-_080FE7B8:
- cmp r4, r2
- bne _080FE7C2
- orrs r6, r1
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_080FE7C2:
- adds r3, 0x2
- ldrh r2, [r3]
- cmp r2, r7
- bne _080FE7B8
-_080FE7CA:
- mov r1, r12
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, r8
- bcc _080FE798
-_080FE7D4:
- adds r0, r6, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080FE7E4: .4byte gRfuLinkStatus
-_080FE7E8: .4byte gUnknown_3005E10
-_080FE7EC: .4byte 0x0000ffff
- thumb_func_end sub_80FE778
-
- thumb_func_start sub_80FE7F0
-sub_80FE7F0: @ 80FE7F0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _080FE814 @ =gUnknown_3005E10
- ldr r2, [r4, 0x40]
- cmp r2, 0
- beq _080FE806
- bl _call_via_r2
-_080FE806:
- movs r0, 0
- strh r0, [r4, 0x16]
- strh r0, [r4, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE814: .4byte gUnknown_3005E10
- thumb_func_end sub_80FE7F0
-
- thumb_func_start sub_80FE818
-sub_80FE818: @ 80FE818
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080FE838 @ =gUnknown_3005E10
- ldrb r5, [r4, 0xE]
- movs r1, 0x1
- strb r1, [r4, 0xE]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- strb r5, [r4, 0xE]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE838: .4byte gUnknown_3005E10
- thumb_func_end sub_80FE818
-
- thumb_func_start sub_80FE83C
-sub_80FE83C: @ 80FE83C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080FE908 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080FE884
- movs r4, 0
-_080FE84E:
- ldr r1, _080FE90C @ =gRfuSlotStatusNI
- lsls r0, r4, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE87A
- ldrb r1, [r2, 0x1A]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE87A
- adds r2, r1, 0
- bics r2, r5
- movs r0, 0x20
- adds r1, r4, 0
- bl rfu_changeSendTarget
-_080FE87A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080FE84E
-_080FE884:
- ldr r0, _080FE908 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0
- beq _080FE8C2
- movs r4, 0
-_080FE890:
- ldr r1, _080FE90C @ =gRfuSlotStatusNI
- lsls r0, r4, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r0, [r2, 0x34]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE8B8
- adds r0, r2, 0
- adds r0, 0x4E
- ldrb r0, [r0]
- ands r0, r5
- cmp r0, 0
- beq _080FE8B8
- adds r0, r4, 0
- bl rfu_NI_stopReceivingData
-_080FE8B8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080FE890
-_080FE8C2:
- ldr r0, _080FE908 @ =gRfuLinkStatus
- ldr r3, [r0]
- ldrb r2, [r3, 0x6]
- cmp r2, 0
- beq _080FE900
- mvns r1, r5
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0x6]
- movs r4, 0
- ldr r7, _080FE910 @ =gRfuSlotStatusUNI
- ldr r6, _080FE914 @ =0x00008024
-_080FE8DA:
- lsls r0, r4, 2
- adds r0, r7
- ldr r2, [r0]
- ldrh r0, [r2]
- cmp r0, r6
- bne _080FE8F6
- ldrb r3, [r2, 0x3]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _080FE8F6
- adds r0, r1, 0
- ands r0, r3
- strb r0, [r2, 0x3]
-_080FE8F6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080FE8DA
-_080FE900:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE908: .4byte gRfuLinkStatus
-_080FE90C: .4byte gRfuSlotStatusNI
-_080FE910: .4byte gRfuSlotStatusUNI
-_080FE914: .4byte 0x00008024
- thumb_func_end sub_80FE83C
-
- thumb_func_start sub_80FE918
-sub_80FE918: @ 80FE918
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080FEA04 @ =gUnknown_3005E10
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _080FE9F4
- ldr r0, _080FEA08 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080FE9B8
- movs r6, 0
-_080FE938:
- ldr r3, _080FEA0C @ =gRfuSlotStatusNI
- lsls r2, r6, 2
- adds r0, r2, r3
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- ands r1, r0
- adds r7, r2, 0
- adds r0, r6, 0x1
- mov r9, r0
- cmp r1, 0
- beq _080FE9AE
- movs r5, 0
- movs r4, 0
- movs r1, 0x1
- mov r8, r1
- mov r10, r3
-_080FE95E:
- adds r0, r7, r3
- ldr r0, [r0]
- ldrb r0, [r0, 0x1A]
- asrs r0, r4
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _080FE988
- lsls r0, r4, 2
- adds r0, r3
- ldr r0, [r0]
- ldr r1, _080FEA04 @ =gUnknown_3005E10
- ldrh r0, [r0, 0x2]
- ldrh r1, [r1, 0x18]
- cmp r0, r1
- bls _080FE988
- mov r0, r8
- lsls r0, r4
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080FE988:
- cmp r5, 0
- beq _080FE9A4
- mov r1, r10
- adds r0, r7, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1A]
- adds r2, r5, 0
- eors r2, r0
- movs r0, 0x20
- adds r1, r6, 0
- str r3, [sp]
- bl rfu_changeSendTarget
- ldr r3, [sp]
-_080FE9A4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080FE95E
-_080FE9AE:
- mov r3, r9
- lsls r0, r3, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080FE938
-_080FE9B8:
- ldr r0, _080FEA08 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0
- beq _080FE9F4
- movs r6, 0
-_080FE9C4:
- ldr r1, _080FEA0C @ =gRfuSlotStatusNI
- lsls r0, r6, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r0, [r2, 0x34]
- movs r4, 0x80
- lsls r4, 8
- adds r1, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE9EA
- ldr r1, _080FEA04 @ =gUnknown_3005E10
- ldrh r0, [r2, 0x36]
- ldrh r1, [r1, 0x18]
- cmp r0, r1
- bls _080FE9EA
- adds r0, r6, 0
- bl rfu_NI_stopReceivingData
-_080FE9EA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080FE9C4
-_080FE9F4:
- 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
-_080FEA04: .4byte gUnknown_3005E10
-_080FEA08: .4byte gRfuLinkStatus
-_080FEA0C: .4byte gRfuSlotStatusNI
- thumb_func_end sub_80FE918
-
- thumb_func_start sub_80FEA10
-sub_80FEA10: @ 80FEA10
- push {lr}
- ldr r1, _080FEA20 @ =gUnknown_3005E10
- str r0, [r1, 0x44]
- ldr r0, _080FEA24 @ =sub_80FE394
- bl rfu_setMSCCallback
- pop {r0}
- bx r0
- .align 2, 0
-_080FEA20: .4byte gUnknown_3005E10
-_080FEA24: .4byte sub_80FE394
- thumb_func_end sub_80FEA10
-
- thumb_func_start sub_80FEA28
-sub_80FEA28: @ 80FEA28
- ldr r1, _080FEA30 @ =gUnknown_3005E10
- str r0, [r1, 0x40]
- bx lr
- .align 2, 0
-_080FEA30: .4byte gUnknown_3005E10
- thumb_func_end sub_80FEA28
-
- thumb_func_start sub_80FEA34
-sub_80FEA34: @ 80FEA34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, _080FEA58 @ =gUnknown_3005E10
- ldrb r1, [r0, 0x9]
- adds r3, r0, 0
- cmp r1, 0
- beq _080FEA5C
- cmp r4, 0
- bne _080FEA5C
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FEA5C
- movs r0, 0x5
- b _080FEA6C
- .align 2, 0
-_080FEA58: .4byte gUnknown_3005E10
-_080FEA5C:
- ldr r2, _080FEA74 @ =0x04000208
- ldrh r1, [r2]
- movs r0, 0
- strh r0, [r2]
- strb r4, [r3, 0x9]
- strh r5, [r3, 0x32]
- strh r1, [r2]
- movs r0, 0
-_080FEA6C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080FEA74: .4byte 0x04000208
- thumb_func_end sub_80FEA34
-
- thumb_func_start sub_80FEA78
-sub_80FEA78: @ 80FEA78
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080FEA94 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- orrs r0, r1
- cmp r0, 0
- bne _080FEA9C
- ldr r0, _080FEA98 @ =gUnknown_3005E10
- strh r2, [r0, 0x18]
- movs r0, 0
- b _080FEAAC
- .align 2, 0
-_080FEA94: .4byte gRfuLinkStatus
-_080FEA98: .4byte gUnknown_3005E10
-_080FEA9C:
- ldr r1, _080FEAB0 @ =gUnknown_3005E10
- movs r0, 0x6
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0x6
-_080FEAAC:
- pop {r1}
- bx r1
- .align 2, 0
-_080FEAB0: .4byte gUnknown_3005E10
- thumb_func_end sub_80FEA78
-
- thumb_func_start sub_80FEAB4
-sub_80FEAB4: @ 80FEAB4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- ldr r1, _080FEADC @ =gUnknown_3005E10
- ldrb r0, [r1, 0x4]
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _080FEAE0
- movs r0, 0x7
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_80FE7F0
- movs r0, 0x7
- b _080FEAEE
- .align 2, 0
-_080FEADC: .4byte gUnknown_3005E10
-_080FEAE0:
- cmp r2, 0
- beq _080FEAEA
- movs r0, 0x1
- strb r0, [r1, 0xB]
- b _080FEAEC
-_080FEAEA:
- strb r3, [r1, 0xB]
-_080FEAEC:
- movs r0, 0
-_080FEAEE:
- pop {r1}
- bx r1
- thumb_func_end sub_80FEAB4
-
- thumb_func_start sub_80FEAF4
-sub_80FEAF4: @ 80FEAF4
- push {lr}
- ldr r1, _080FEB10 @ =gUnknown_3005E10
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _080FEB0C
- ldrb r0, [r1, 0x2]
- movs r0, 0
- strb r0, [r1, 0x2]
- movs r0, 0x45
- movs r1, 0
- bl sub_80FE7F0
-_080FEB0C:
- pop {r0}
- bx r0
- .align 2, 0
-_080FEB10: .4byte gUnknown_3005E10
- thumb_func_end sub_80FEAF4
-
- thumb_func_start sub_80FEB14
-sub_80FEB14: @ 80FEB14
- push {lr}
- ldr r1, _080FEB28 @ =gUnknown_3005E10
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _080FEB2C
- movs r0, 0x45
- movs r1, 0
- bl sub_80FE7F0
- b _080FEB38
- .align 2, 0
-_080FEB28: .4byte gUnknown_3005E10
-_080FEB2C:
- ldrb r0, [r1, 0x2]
- cmp r0, 0x1
- bne _080FEB38
- ldrb r0, [r1, 0x2]
- movs r0, 0x2
- strb r0, [r1, 0x2]
-_080FEB38:
- pop {r0}
- bx r0
- thumb_func_end sub_80FEB14
-
- thumb_func_start sub_80FEB3C
-sub_80FEB3C: @ 80FEB3C
- push {lr}
- ldr r0, _080FEB5C @ =gUnknown_3005E10
- ldrb r1, [r0, 0x7]
- adds r2, r0, 0
- cmp r1, 0
- beq _080FEBA6
- ldrb r0, [r2, 0x4]
- subs r0, 0x5
- cmp r0, 0x6
- bhi _080FEBA6
- lsls r0, 2
- ldr r1, _080FEB60 @ =_080FEB64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FEB5C: .4byte gUnknown_3005E10
-_080FEB60: .4byte _080FEB64
- .align 2, 0
-_080FEB64:
- .4byte _080FEB80
- .4byte _080FEB88
- .4byte _080FEB92
- .4byte _080FEB92
- .4byte _080FEB98
- .4byte _080FEB98
- .4byte _080FEB9E
-_080FEB80:
- movs r0, 0x3
- strb r0, [r2, 0x7]
- movs r0, 0x9
- b _080FEBA4
-_080FEB88:
- movs r0, 0x2
- strb r0, [r2, 0x7]
- movs r0, 0x1
- strh r0, [r2, 0x1A]
- b _080FEBA6
-_080FEB92:
- movs r0, 0x2
- strb r0, [r2, 0x7]
- b _080FEBA6
-_080FEB98:
- movs r0, 0x28
- strh r0, [r2, 0x1A]
- b _080FEBA6
-_080FEB9E:
- movs r0, 0x28
- strh r0, [r2, 0x1A]
- movs r0, 0xA
-_080FEBA4:
- strb r0, [r2, 0x4]
-_080FEBA6:
- pop {r0}
- bx r0
- thumb_func_end sub_80FEB3C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s
deleted file mode 100644
index 10d4fd03d..000000000
--- a/asm/link_rfu_2.s
+++ /dev/null
@@ -1,10188 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start nullsub_87
-nullsub_87: @ 80F85F0
- bx lr
- thumb_func_end nullsub_87
-
- thumb_func_start nullsub_88
-nullsub_88: @ 80F85F4
- bx lr
- thumb_func_end nullsub_88
-
- thumb_func_start sub_80F85F8
-sub_80F85F8: @ 80F85F8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r6, _080F869C @ =gUnknown_3005450
- adds r5, r6, 0
- adds r5, 0xEE
- ldrb r4, [r5]
- mov r0, sp
- movs r7, 0
- strh r7, [r0]
- ldr r2, _080F86A0 @ =0x010004d6
- adds r1, r6, 0
- bl CpuSet
- movs r0, 0xFF
- strb r0, [r6, 0xC]
- ldrb r0, [r5]
- strb r4, [r5]
- ldrb r0, [r5]
- cmp r0, 0x4
- beq _080F862A
- ldrb r0, [r5]
- strb r7, [r5]
-_080F862A:
- mov r7, sp
- adds r7, 0x2
- add r0, sp, 0x4
- mov r8, r0
- movs r0, 0x6
- add r0, sp
- mov r9, r0
- adds r5, r6, 0
- adds r5, 0x80
- movs r4, 0x4
-_080F863E:
- adds r0, r5, 0
- bl sub_80F9CB4
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _080F863E
- movs r5, 0
- ldr r4, _080F86A4 @ =gUnknown_30054BC
- adds r0, r4, 0
- bl sub_80F9CB4
- adds r0, r4, 0
- adds r0, 0xB8
- bl sub_80FC478
- ldr r0, _080F86A8 @ =0x00000634
- adds r4, r0
- adds r0, r4, 0
- bl sub_80FC4D4
- strh r5, [r7]
- ldr r1, _080F86AC @ =gSendCmd
- ldr r2, _080F86B0 @ =0x01000008
- adds r0, r7, 0
- bl CpuSet
- mov r0, r8
- strh r5, [r0]
- ldr r1, _080F86B4 @ =gRecvCmds
- ldr r2, _080F86B8 @ =0x01000028
- bl CpuSet
- mov r0, r9
- strh r5, [r0]
- ldr r1, _080F86BC @ =gLinkPlayers
- ldr r2, _080F86C0 @ =0x01000046
- bl CpuSet
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F869C: .4byte gUnknown_3005450
-_080F86A0: .4byte 0x010004d6
-_080F86A4: .4byte gUnknown_30054BC
-_080F86A8: .4byte 0x00000634
-_080F86AC: .4byte gSendCmd
-_080F86B0: .4byte 0x01000008
-_080F86B4: .4byte gRecvCmds
-_080F86B8: .4byte 0x01000028
-_080F86BC: .4byte gLinkPlayers
-_080F86C0: .4byte 0x01000046
- thumb_func_end sub_80F85F8
-
- thumb_func_start InitRFU
-InitRFU: @ 80F86C4
- push {r4-r6,lr}
- ldr r4, _080F86EC @ =gIntrTable
- ldr r5, [r4, 0x4]
- ldr r6, [r4, 0x8]
- bl sub_80F86F4
- bl rfu_REQ_stopMode
- bl rfu_waitREQComplete
- ldr r1, _080F86F0 @ =0x04000208
- movs r0, 0
- strh r0, [r1]
- str r5, [r4, 0x4]
- str r6, [r4, 0x8]
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F86EC: .4byte gIntrTable
-_080F86F0: .4byte 0x04000208
- thumb_func_end InitRFU
-
- thumb_func_start sub_80F86F4
-sub_80F86F4: @ 80F86F4
- push {r4,lr}
- ldr r0, _080F8728 @ =gRfuAPIBuffer
- ldr r1, _080F872C @ =0x00000e64
- ldr r4, _080F8730 @ =gIntrTable + 0x4
- adds r2, r4, 0
- movs r3, 0x1
- bl rfu_initializeAPI
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080F8722
- ldr r0, _080F8734 @ =gLinkType
- strh r1, [r0]
- movs r0, 0
- bl sub_80FB128
- bl sub_80F85F8
- adds r1, r4, 0x4
- movs r0, 0x3
- bl rfu_setTimerInterrupt
-_080F8722:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8728: .4byte gRfuAPIBuffer
-_080F872C: .4byte 0x00000e64
-_080F8730: .4byte gIntrTable + 0x4
-_080F8734: .4byte gLinkType
- thumb_func_end sub_80F86F4
-
- thumb_func_start sub_80F8738
-sub_80F8738: @ 80F8738
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80FA738
- ldr r0, _080F8758 @ =gUnknown_3005450
- ldrh r0, [r0, 0x4]
- cmp r0, 0x12
- bls _080F874C
- b _080F8852
-_080F874C:
- lsls r0, 2
- ldr r1, _080F875C @ =_080F8760
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F8758: .4byte gUnknown_3005450
-_080F875C: .4byte _080F8760
- .align 2, 0
-_080F8760:
- .4byte _080F87AC
- .4byte _080F8852
- .4byte _080F87D4
- .4byte _080F8852
- .4byte _080F8804
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8852
- .4byte _080F8818
-_080F87AC:
- ldr r0, _080F87C8 @ =gUnknown_203ABF0
- bl sub_80FD4B0
- ldr r0, _080F87CC @ =gUnknown_3005450
- movs r2, 0x1
- strh r2, [r0, 0x4]
- ldr r1, _080F87D0 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _080F8852
- .align 2, 0
-_080F87C8: .4byte gUnknown_203ABF0
-_080F87CC: .4byte gUnknown_3005450
-_080F87D0: .4byte gTasks
-_080F87D4:
- ldr r4, _080F87F8 @ =gUnknown_3005450
- ldrb r0, [r4, 0xC]
- ldr r3, _080F87FC @ =gUnknown_843EC8C
- movs r1, 0
- movs r2, 0xF0
- bl sub_80FD538
- movs r0, 0x3
- strh r0, [r4, 0x4]
- ldr r1, _080F8800 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0, 0xA]
- b _080F8852
- .align 2, 0
-_080F87F8: .4byte gUnknown_3005450
-_080F87FC: .4byte gUnknown_843EC8C
-_080F8800: .4byte gTasks
-_080F8804:
- movs r0, 0
- bl sub_80FD760
- ldr r1, _080F8814 @ =gUnknown_3005450
- movs r0, 0x5
- strh r0, [r1, 0x4]
- b _080F8852
- .align 2, 0
-_080F8814: .4byte gUnknown_3005450
-_080F8818:
- ldr r4, _080F8858 @ =gUnknown_3005450
- ldr r0, _080F885C @ =0x00000993
- adds r1, r4, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080F8860 @ =sub_80F8DA8
- bl sub_80FEA10
- bl sub_80F8AA4
- bl sub_80F8AEC
- movs r0, 0x14
- strh r0, [r4, 0x4]
- ldr r1, _080F8864 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0xA]
- ldr r0, _080F8868 @ =sub_80FA834
- movs r1, 0x5
- bl CreateTask
- adds r0, r5, 0
- bl DestroyTask
-_080F8852:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8858: .4byte gUnknown_3005450
-_080F885C: .4byte 0x00000993
-_080F8860: .4byte sub_80F8DA8
-_080F8864: .4byte gTasks
-_080F8868: .4byte sub_80FA834
- thumb_func_end sub_80F8738
-
- thumb_func_start sub_80F886C
-sub_80F886C: @ 80F886C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080F8878 @ =gUnknown_843EC51
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080F8878: .4byte gUnknown_843EC51
- thumb_func_end sub_80F886C
-
- thumb_func_start sub_80F887C
-sub_80F887C: @ 80F887C
- push {r4-r7,lr}
- adds r2, r0, 0
- adds r5, r1, 0
- movs r4, 0x1
- adds r1, r2, 0
- movs r6, 0
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _080F88BC
- movs r3, 0
- movs r5, 0x1
- ldr r1, _080F88B8 @ =gUnknown_3005DE6
-_080F8896:
- adds r0, r2, 0
- ands r0, r5
- cmp r0, 0
- beq _080F88A8
- adds r0, r3, r1
- strb r4, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080F88A8:
- asrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080F8896
- b _080F8932
- .align 2, 0
-_080F88B8: .4byte gUnknown_3005DE6
-_080F88BC:
- movs r3, 0
- mvns r0, r1
- mov r12, r0
- movs r7, 0x1
- ldr r4, _080F8938 @ =gUnknown_3005DE6
-_080F88C6:
- adds r2, r1, 0
- ands r2, r7
- cmp r2, 0
- bne _080F88D2
- adds r0, r3, r4
- strb r2, [r0]
-_080F88D2:
- asrs r1, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080F88C6
- movs r4, 0x4
- ldr r0, _080F8938 @ =gUnknown_3005DE6
- ldrb r7, [r0]
-_080F88E4:
- movs r3, 0
- subs r1, r4, 0x1
- cmp r7, r4
- beq _080F8900
- ldr r2, _080F8938 @ =gUnknown_3005DE6
-_080F88EE:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bhi _080F8900
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, r4
- bne _080F88EE
-_080F8900:
- cmp r3, 0x4
- bne _080F8906
- adds r6, r4, 0
-_080F8906:
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080F88E4
- mov r0, r12
- ands r5, r0
- movs r3, 0
- movs r2, 0x1
- ldr r1, _080F8938 @ =gUnknown_3005DE6
-_080F8918:
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _080F8926
- adds r0, r3, r1
- strb r6, [r0]
- adds r6, 0x1
-_080F8926:
- asrs r5, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080F8918
-_080F8932:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8938: .4byte gUnknown_3005DE6
- thumb_func_end sub_80F887C
-
- thumb_func_start sub_80F893C
-sub_80F893C: @ 80F893C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080F8958 @ =gUnknown_3005450
- ldrh r3, [r0, 0x4]
- adds r7, r0, 0
- cmp r3, 0xC
- bls _080F894E
- b _080F8A8A
-_080F894E:
- lsls r0, r3, 2
- ldr r1, _080F895C @ =_080F8960
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F8958: .4byte gUnknown_3005450
-_080F895C: .4byte _080F8960
- .align 2, 0
-_080F8960:
- .4byte _080F8994
- .4byte _080F8A8A
- .4byte _080F8A8A
- .4byte _080F8A8A
- .4byte _080F8A8A
- .4byte _080F8A8A
- .4byte _080F89AC
- .4byte _080F8A8A
- .4byte _080F8A8A
- .4byte _080F89D4
- .4byte _080F8A8A
- .4byte _080F89E8
- .4byte _080F8A2C
-_080F8994:
- ldr r0, _080F89A4 @ =gUnknown_843EBB4
- bl sub_80FD4B0
- ldr r0, _080F89A8 @ =gUnknown_3005450
- movs r2, 0x1
- strh r2, [r0, 0x4]
- b _080F89BC
- .align 2, 0
-_080F89A4: .4byte gUnknown_843EBB4
-_080F89A8: .4byte gUnknown_3005450
-_080F89AC:
- ldrb r0, [r7, 0xC]
- ldr r3, _080F89CC @ =gUnknown_843EC8C
- movs r1, 0
- movs r2, 0xF0
- bl sub_80FD538
- movs r2, 0x7
- strh r2, [r7, 0x4]
-_080F89BC:
- ldr r1, _080F89D0 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _080F8A8A
- .align 2, 0
-_080F89CC: .4byte gUnknown_843EC8C
-_080F89D0: .4byte gTasks
-_080F89D4:
- ldr r0, _080F89E4 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0xA
- strh r0, [r1, 0xA]
- b _080F8A8A
- .align 2, 0
-_080F89E4: .4byte gTasks
-_080F89E8:
- bl sub_80FA788
- cmp r0, 0x6
- beq _080F8A0C
- cmp r0, 0x6
- bgt _080F89FA
- cmp r0, 0x5
- beq _080F8A00
- b _080F8A8A
-_080F89FA:
- cmp r0, 0x9
- beq _080F8A0C
- b _080F8A8A
-_080F8A00:
- ldr r1, _080F8A08 @ =gUnknown_3005450
- movs r0, 0xC
- strh r0, [r1, 0x4]
- b _080F8A8A
- .align 2, 0
-_080F8A08: .4byte gUnknown_3005450
-_080F8A0C:
- bl sub_80FEB14
- ldr r0, _080F8A24 @ =gUnknown_3005450
- ldr r1, _080F8A28 @ =0x0000099c
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r6, 0
- bl DestroyTask
- b _080F8A8A
- .align 2, 0
-_080F8A24: .4byte gUnknown_3005450
-_080F8A28: .4byte 0x0000099c
-_080F8A2C:
- ldr r0, _080F8A90 @ =0x000008f6
- adds r4, r7, r0
- ldrb r0, [r4]
- movs r5, 0x80
- lsls r5, 17
- lsls r5, r0
- lsrs r5, 24
- ldrb r1, [r4]
- movs r0, 0xC
- bl rfu_clearSlot
- ldrb r1, [r4]
- ldr r0, _080F8A94 @ =0x000008f7
- adds r2, r7, r0
- movs r0, 0x10
- movs r3, 0x46
- bl rfu_setRecvBuffer
- adds r1, r7, 0
- adds r1, 0x4C
- adds r0, r5, 0
- movs r2, 0xE
- bl rfu_UNI_setSendData
- ldr r1, _080F8A98 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0xA]
- adds r0, r6, 0
- bl DestroyTask
- ldr r4, _080F8A9C @ =gUnknown_203AC08
- ldrb r0, [r4, 0xF]
- cmp r0, 0
- bne _080F8A82
- bl sub_80FC208
- ldrb r0, [r4, 0xF]
- adds r0, 0x1
- strb r0, [r4, 0xF]
-_080F8A82:
- ldr r0, _080F8AA0 @ =sub_80FA834
- movs r1, 0x5
- bl CreateTask
-_080F8A8A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8A90: .4byte 0x000008f6
-_080F8A94: .4byte 0x000008f7
-_080F8A98: .4byte gTasks
-_080F8A9C: .4byte gUnknown_203AC08
-_080F8AA0: .4byte sub_80FA834
- thumb_func_end sub_80F893C
-
- thumb_func_start sub_80F8AA4
-sub_80F8AA4: @ 80F8AA4
- push {r4,r5,lr}
- ldr r0, _080F8AE4 @ =gUnknown_3005E10
- ldrb r5, [r0]
- movs r4, 0
-_080F8AAC:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _080F8AD0
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 1
- ldr r0, _080F8AE8 @ =gUnknown_3005464
- adds r2, r0
- movs r0, 0x10
- adds r1, r4, 0
- movs r3, 0xE
- bl rfu_setRecvBuffer
- movs r0, 0x3
- adds r1, r4, 0
- bl rfu_clearSlot
-_080F8AD0:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080F8AAC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8AE4: .4byte gUnknown_3005E10
-_080F8AE8: .4byte gUnknown_3005464
- thumb_func_end sub_80F8AA4
-
- thumb_func_start sub_80F8AEC
-sub_80F8AEC: @ 80F8AEC
- push {r4-r6,lr}
- ldr r0, _080F8B28 @ =gUnknown_3005E10
- ldrb r5, [r0]
- ldr r4, _080F8B2C @ =gUnknown_3005D8F
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x46
- bl rfu_UNI_setSendData
- adds r0, r5, 0
- bl sub_80F886C
- ldr r1, _080F8B30 @ =0xfffff6c1
- adds r6, r4, r1
- adds r1, r4, 0
- adds r1, 0x53
- strb r0, [r1]
- adds r4, 0x5B
- strb r5, [r4]
- movs r1, 0x1
- negs r1, r1
- adds r0, r5, 0
- bl sub_80F887C
- movs r0, 0x1
- strb r0, [r6, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8B28: .4byte gUnknown_3005E10
-_080F8B2C: .4byte gUnknown_3005D8F
-_080F8B30: .4byte 0xfffff6c1
- thumb_func_end sub_80F8AEC
-
- thumb_func_start sub_80F8B34
-sub_80F8B34: @ 80F8B34
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x54
- bne _080F8B68
- bl sub_80FB9F4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080F8B68
- ldr r0, _080F8B80 @ =gUnknown_3005E10
- ldrb r0, [r0]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- movs r0, 0
- movs r1, 0
- bl sub_80FB9E4
-_080F8B68:
- ldr r0, _080F8B84 @ =gUnknown_3005450
- ldrh r2, [r0, 0x4]
- adds r6, r0, 0
- cmp r2, 0x12
- bls _080F8B74
- b _080F8CE6
-_080F8B74:
- lsls r0, r2, 2
- ldr r1, _080F8B88 @ =_080F8B8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F8B80: .4byte gUnknown_3005E10
-_080F8B84: .4byte gUnknown_3005450
-_080F8B88: .4byte _080F8B8C
- .align 2, 0
-_080F8B8C:
- .4byte _080F8BD8
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8CE6
- .4byte _080F8C28
- .4byte _080F8C88
- .4byte _080F8CE6
- .4byte _080F8C9C
- .4byte _080F8C00
- .4byte _080F8CE6
-_080F8BD8:
- ldr r0, _080F8BF4 @ =gUnknown_203ABF0
- bl sub_80FD4B0
- ldr r0, _080F8BF8 @ =gUnknown_3005450
- movs r2, 0x1
- strh r2, [r0, 0x4]
- ldr r1, _080F8BFC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _080F8CE6
- .align 2, 0
-_080F8BF4: .4byte gUnknown_203ABF0
-_080F8BF8: .4byte gUnknown_3005450
-_080F8BFC: .4byte gTasks
-_080F8C00:
- ldr r3, _080F8C1C @ =gUnknown_843EC8C
- movs r0, 0x2
- movs r1, 0
- movs r2, 0xF0
- bl sub_80FD538
- ldr r0, _080F8C20 @ =sub_80F8D20
- bl sub_80FEA10
- ldr r1, _080F8C24 @ =gUnknown_3005450
- movs r0, 0x12
- strh r0, [r1, 0x4]
- b _080F8CE6
- .align 2, 0
-_080F8C1C: .4byte gUnknown_843EC8C
-_080F8C20: .4byte sub_80F8D20
-_080F8C24: .4byte gUnknown_3005450
-_080F8C28:
- ldr r1, _080F8C6C @ =0x000008f6
- adds r0, r6, r1
- ldrb r1, [r0]
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r0, 24
- adds r1, r6, 0
- adds r1, 0x4C
- movs r2, 0xE
- bl rfu_UNI_setSendData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080F8CE6
- strb r0, [r6, 0xC]
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, _080F8C70 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x16
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080F8C78
- ldr r0, _080F8C74 @ =sub_80FACF0
- movs r1, 0x1
- bl CreateTask
- b _080F8CE6
- .align 2, 0
-_080F8C6C: .4byte 0x000008f6
-_080F8C70: .4byte gTasks
-_080F8C74: .4byte sub_80FACF0
-_080F8C78:
- ldr r0, _080F8C84 @ =sub_80FA834
- movs r1, 0x5
- bl CreateTask
- b _080F8CE6
- .align 2, 0
-_080F8C84: .4byte sub_80FA834
-_080F8C88:
- movs r0, 0
- bl sub_80FD760
- ldr r1, _080F8C98 @ =gUnknown_3005450
- movs r0, 0xF
- strh r0, [r1, 0x4]
- b _080F8CE6
- .align 2, 0
-_080F8C98: .4byte gUnknown_3005450
-_080F8C9C:
- ldr r0, _080F8CEC @ =0x00000993
- adds r1, r6, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080F8CF0 @ =sub_80F8DA8
- bl sub_80FEA10
- movs r0, 0x1
- bl sub_80FAFE0
- bl sub_80F8AA4
- bl sub_80F8AEC
- movs r0, 0x14
- strh r0, [r6, 0x4]
- ldr r1, _080F8CF4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0xA]
- movs r4, 0x1
- strb r4, [r6, 0xC]
- ldr r0, _080F8CF8 @ =sub_80FA834
- movs r1, 0x5
- bl CreateTask
- movs r1, 0x9A
- lsls r1, 4
- adds r0, r6, r1
- strb r4, [r0]
- adds r0, r5, 0
- bl DestroyTask
-_080F8CE6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8CEC: .4byte 0x00000993
-_080F8CF0: .4byte sub_80F8DA8
-_080F8CF4: .4byte gTasks
-_080F8CF8: .4byte sub_80FA834
- thumb_func_end sub_80F8B34
-
- thumb_func_start sub_80F8CFC
-sub_80F8CFC: @ 80F8CFC
- push {lr}
- ldr r3, _080F8D10 @ =gUnknown_843EC8C
- movs r0, 0x1
- movs r1, 0
- movs r2, 0xF0
- bl sub_80FD538
- pop {r0}
- bx r0
- .align 2, 0
-_080F8D10: .4byte gUnknown_843EC8C
- thumb_func_end sub_80F8CFC
-
- thumb_func_start sub_80F8D14
-sub_80F8D14: @ 80F8D14
- push {lr}
- movs r0, 0
- bl sub_80FD760
- pop {r0}
- bx r0
- thumb_func_end sub_80F8D14
-
- thumb_func_start sub_80F8D20
-sub_80F8D20: @ 80F8D20
- push {r4,lr}
- ldr r0, _080F8D90 @ =gUnknown_3005450
- movs r2, 0
- movs r1, 0xD
- adds r0, 0x59
-_080F8D2A:
- strb r2, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _080F8D2A
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- ldr r1, _080F8D94 @ =gRfuSlotStatusUNI
- ldr r3, _080F8D90 @ =gUnknown_3005450
- ldr r0, _080F8D98 @ =0x000008f6
- adds r4, r3, r0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x12]
- cmp r0, 0
- beq _080F8D84
- ldr r2, _080F8D9C @ =0x00000988
- adds r1, r3, r2
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r1, 0x92
- lsls r1, 1
- adds r0, r3, r1
- ldr r2, _080F8DA0 @ =0x000008f7
- adds r1, r3, r2
- bl sub_80FC588
- ldr r1, _080F8DA4 @ =gUnknown_203AC08
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- bl sub_80F906C
- ldrb r0, [r4]
- bl rfu_UNI_readySendData
- ldrb r0, [r4]
- bl rfu_UNI_clearRecvNewDataFlag
-_080F8D84:
- movs r0, 0x1
- bl rfu_REQ_sendData_wrapper
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8D90: .4byte gUnknown_3005450
-_080F8D94: .4byte gRfuSlotStatusUNI
-_080F8D98: .4byte 0x000008f6
-_080F8D9C: .4byte 0x00000988
-_080F8DA0: .4byte 0x000008f7
-_080F8DA4: .4byte gUnknown_203AC08
- thumb_func_end sub_80F8D20
-
- thumb_func_start sub_80F8DA8
-sub_80F8DA8: @ 80F8DA8
- ldr r0, _080F8DB8 @ =gUnknown_3005450
- ldr r1, _080F8DBC @ =0x00000993
- adds r0, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080F8DB8: .4byte gUnknown_3005450
-_080F8DBC: .4byte 0x00000993
- thumb_func_end sub_80F8DA8
-
- thumb_func_start sub_80F8DC0
-sub_80F8DC0: @ 80F8DC0
- push {r4-r6,lr}
- ldr r0, _080F8DE0 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080F8E64
- bl sub_80FD52C
- ldr r4, _080F8DE4 @ =gUnknown_3005450
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- bne _080F8DEC
- ldr r0, _080F8DE8 @ =sub_80F8738
- b _080F8DF2
- .align 2, 0
-_080F8DE0: .4byte gUnknown_203ADFA
-_080F8DE4: .4byte gUnknown_3005450
-_080F8DE8: .4byte sub_80F8738
-_080F8DEC:
- cmp r0, 0
- bne _080F8E14
- ldr r0, _080F8E10 @ =sub_80F893C
-_080F8DF2:
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F8E34
- adds r0, r4, 0
- adds r0, 0x67
- ldrb r0, [r0]
- bl DestroyTask
- bl sub_80F85F8
- b _080F8E34
- .align 2, 0
-_080F8E10: .4byte sub_80F893C
-_080F8E14:
- cmp r0, 0x2
- bne _080F8E34
- ldr r0, _080F8E6C @ =sub_80F8B34
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F8E34
- adds r0, r4, 0
- adds r0, 0x67
- ldrb r0, [r0]
- bl DestroyTask
- bl sub_80F85F8
-_080F8E34:
- movs r5, 0
- ldr r6, _080F8E70 @ =gUnknown_843ED88
-_080F8E38:
- lsls r0, r5, 2
- adds r0, r6
- ldr r4, [r0]
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F8E5A
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080F8E5A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080F8E38
-_080F8E64:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8E6C: .4byte sub_80F8B34
-_080F8E70: .4byte gUnknown_843ED88
- thumb_func_end sub_80F8DC0
-
- thumb_func_start sub_80F8E74
-sub_80F8E74: @ 80F8E74
- push {lr}
- ldr r0, _080F8E98 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080F8E92
- ldr r0, _080F8E9C @ =sub_80F8738
- movs r1, 0x1
- bl CreateTask
- ldr r1, _080F8EA0 @ =gUnknown_3005450
- adds r1, 0x67
- strb r0, [r1]
-_080F8E92:
- pop {r0}
- bx r0
- .align 2, 0
-_080F8E98: .4byte gUnknown_203ADFA
-_080F8E9C: .4byte sub_80F8738
-_080F8EA0: .4byte gUnknown_3005450
- thumb_func_end sub_80F8E74
-
- thumb_func_start sub_80F8EA4
-sub_80F8EA4: @ 80F8EA4
- push {lr}
- ldr r1, _080F8EBC @ =gUnknown_3005450
- ldrh r0, [r1, 0x4]
- cmp r0, 0x7
- bne _080F8EC4
- ldr r2, _080F8EC0 @ =0x00000985
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F8EC4
- movs r0, 0x1
- b _080F8EC6
- .align 2, 0
-_080F8EBC: .4byte gUnknown_3005450
-_080F8EC0: .4byte 0x00000985
-_080F8EC4:
- movs r0, 0
-_080F8EC6:
- pop {r1}
- bx r1
- thumb_func_end sub_80F8EA4
-
- thumb_func_start sub_80F8ECC
-sub_80F8ECC: @ 80F8ECC
- push {r4,lr}
- ldr r4, _080F8EFC @ =gUnknown_3005450
- ldrh r0, [r4, 0x4]
- cmp r0, 0x7
- bne _080F8F08
- ldr r0, _080F8F00 @ =gRfuLinkStatus
- ldr r1, [r0]
- ldr r2, _080F8F04 @ =0x000008f5
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 5
- adds r1, r0
- ldrh r0, [r1, 0x14]
- movs r1, 0xF0
- bl sub_80FD610
- lsls r0, 24
- cmp r0, 0
- bne _080F8F08
- movs r0, 0x9
- strh r0, [r4, 0x4]
- movs r0, 0x1
- b _080F8F0A
- .align 2, 0
-_080F8EFC: .4byte gUnknown_3005450
-_080F8F00: .4byte gRfuLinkStatus
-_080F8F04: .4byte 0x000008f5
-_080F8F08:
- movs r0, 0
-_080F8F0A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F8ECC
-
- thumb_func_start sub_80F8F10
-sub_80F8F10: @ 80F8F10
- push {lr}
- ldr r0, _080F8F34 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080F8F2E
- ldr r0, _080F8F38 @ =sub_80F893C
- movs r1, 0x1
- bl CreateTask
- ldr r1, _080F8F3C @ =gUnknown_3005450
- adds r1, 0x67
- strb r0, [r1]
-_080F8F2E:
- pop {r0}
- bx r0
- .align 2, 0
-_080F8F34: .4byte gUnknown_203ADFA
-_080F8F38: .4byte sub_80F893C
-_080F8F3C: .4byte gUnknown_3005450
- thumb_func_end sub_80F8F10
-
- thumb_func_start sub_80F8F40
-sub_80F8F40: @ 80F8F40
- push {lr}
- ldr r0, _080F8F50 @ =gUnknown_3005E10
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F8F54
- movs r0, 0
- b _080F8F56
- .align 2, 0
-_080F8F50: .4byte gUnknown_3005E10
-_080F8F54:
- movs r0, 0x1
-_080F8F56:
- pop {r1}
- bx r1
- thumb_func_end sub_80F8F40
-
- thumb_func_start sub_80F8F5C
-sub_80F8F5C: @ 80F8F5C
- ldr r1, _080F8F70 @ =gUnknown_3005450
- movs r0, 0x4
- strh r0, [r1, 0x4]
- ldr r0, _080F8F74 @ =gUnknown_3005E10
- ldrb r0, [r0]
- ldr r2, _080F8F78 @ =0x0000099f
- adds r1, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080F8F70: .4byte gUnknown_3005450
-_080F8F74: .4byte gUnknown_3005E10
-_080F8F78: .4byte 0x0000099f
- thumb_func_end sub_80F8F5C
-
- thumb_func_start sub_80F8F7C
-sub_80F8F7C: @ 80F8F7C
- push {lr}
- adds r1, r0, 0
- ldr r2, _080F8F94 @ =gUnknown_3005450
- ldrh r0, [r2, 0x4]
- cmp r0, 0x11
- beq _080F8F8C
- cmp r1, 0
- beq _080F8F98
-_080F8F8C:
- movs r0, 0x12
- strh r0, [r2, 0x4]
- movs r0, 0x1
- b _080F8F9A
- .align 2, 0
-_080F8F94: .4byte gUnknown_3005450
-_080F8F98:
- movs r0, 0
-_080F8F9A:
- pop {r1}
- bx r1
- thumb_func_end sub_80F8F7C
-
- thumb_func_start sub_80F8FA0
-sub_80F8FA0: @ 80F8FA0
- ldr r1, _080F8FA8 @ =gUnknown_3005450
- movs r0, 0xE
- strh r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_080F8FA8: .4byte gUnknown_3005450
- thumb_func_end sub_80F8FA0
-
- thumb_func_start sub_80F8FAC
-sub_80F8FAC: @ 80F8FAC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- b _080F8FBE
-_080F8FB6:
- lsrs r1, 1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080F8FBE:
- cmp r2, 0x3
- bhi _080F8FD0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F8FB6
- adds r0, r2, 0
- bl rfu_UNI_readySendData
-_080F8FD0:
- pop {r0}
- bx r0
- thumb_func_end sub_80F8FAC
-
- thumb_func_start sub_80F8FD4
-sub_80F8FD4: @ 80F8FD4
- push {r4-r7,lr}
- sub sp, 0x4
- movs r2, 0
- ldr r7, _080F9028 @ =gRecvCmds
- ldr r0, _080F902C @ =gUnknown_3005450
- adds r6, r7, 0
- ldr r1, _080F9030 @ =0x0000093f
- adds r5, r0, r1
-_080F8FE4:
- movs r3, 0
- lsls r0, r2, 3
- lsls r1, r2, 4
- adds r4, r2, 0x1
- subs r0, r2
- lsls r0, 1
- adds r2, r0, r5
- adds r1, r6
-_080F8FF4:
- ldrh r0, [r1]
- lsrs r0, 8
- strb r0, [r2, 0x1]
- ldrh r0, [r1]
- strb r0, [r2]
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, 0x6
- ble _080F8FF4
- adds r2, r4, 0
- cmp r2, 0x4
- ble _080F8FE4
- movs r0, 0
- mov r1, sp
- strh r0, [r1]
- ldr r2, _080F9034 @ =0x01000028
- mov r0, sp
- adds r1, r7, 0
- bl CpuSet
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9028: .4byte gRecvCmds
-_080F902C: .4byte gUnknown_3005450
-_080F9030: .4byte 0x0000093f
-_080F9034: .4byte 0x01000028
- thumb_func_end sub_80F8FD4
-
- thumb_func_start sub_80F9038
-sub_80F9038: @ 80F9038
- push {lr}
- ldr r3, _080F9064 @ =gSendCmd
- ldr r2, _080F9068 @ =gRecvCmds
- movs r1, 0x6
-_080F9040:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080F9040
- ldr r1, _080F9064 @ =gSendCmd
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xC
-_080F9056:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080F9056
- pop {r0}
- bx r0
- .align 2, 0
-_080F9064: .4byte gSendCmd
-_080F9068: .4byte gRecvCmds
- thumb_func_end sub_80F9038
-
- thumb_func_start sub_80F906C
-sub_80F906C: @ 80F906C
- push {r4,r5,lr}
- ldr r4, _080F90CC @ =gUnknown_3005450
- ldr r0, _080F90D0 @ =0x000008f4
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080F909E
- ldr r1, _080F90D4 @ =0x000008d4
- adds r0, r4, r1
- adds r1, r4, 0
- adds r1, 0x4C
- bl sub_80FC888
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080F90D8 @ =0x000008f2
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r1, r0, 0
- cmp r1, 0
- bne _080F909A
- ldrb r0, [r5]
- strb r1, [r5]
-_080F909A:
- cmp r2, 0
- bne _080F90C4
-_080F909E:
- ldr r5, _080F90CC @ =gUnknown_3005450
- ldr r1, _080F90D0 @ =0x000008f4
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F90C4
- movs r1, 0xD4
- lsls r1, 3
- adds r0, r5, r1
- adds r4, r5, 0
- adds r4, 0x4C
- adds r1, r4, 0
- bl sub_80FC79C
- ldr r1, _080F90D4 @ =0x000008d4
- adds r0, r5, r1
- adds r1, r4, 0
- bl sub_80FC828
-_080F90C4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F90CC: .4byte gUnknown_3005450
-_080F90D0: .4byte 0x000008f4
-_080F90D4: .4byte 0x000008d4
-_080F90D8: .4byte 0x000008f2
- thumb_func_end sub_80F906C
-
- thumb_func_start IsRfuRecvQueueEmpty
-IsRfuRecvQueueEmpty: @ 80F90DC
- push {r4,lr}
- ldr r0, _080F90EC @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _080F90F0
-_080F90E8:
- movs r0, 0
- b _080F9110
- .align 2, 0
-_080F90EC: .4byte gRfuLinkStatus
-_080F90F0:
- movs r3, 0
- ldr r4, _080F9118 @ =gRecvCmds
-_080F90F4:
- movs r2, 0
- lsls r0, r3, 4
- adds r1, r0, r4
-_080F90FA:
- ldrh r0, [r1]
- cmp r0, 0
- bne _080F90E8
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x6
- ble _080F90FA
- adds r3, 0x1
- cmp r3, 0x4
- ble _080F90F4
- movs r0, 0x1
-_080F9110:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F9118: .4byte gRecvCmds
- thumb_func_end IsRfuRecvQueueEmpty
-
- thumb_func_start sub_80F911C
-sub_80F911C: @ 80F911C
- push {r4-r6,lr}
- ldr r6, _080F9138 @ =gUnknown_3005450
- ldrh r0, [r6, 0x4]
- cmp r0, 0x13
- bhi _080F913C
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- movs r0, 0
- bl rfu_REQ_sendData_wrapper
- b _080F91F6
- .align 2, 0
-_080F9138: .4byte gUnknown_3005450
-_080F913C:
- ldr r0, _080F9198 @ =0x00000993
- adds r1, r6, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080F919C @ =0x0000099a
- adds r1, r6, r0
- ldr r0, _080F91A0 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r1]
- ldrb r0, [r0, 0x2]
- ands r0, r1
- cmp r0, r1
- bne _080F91F6
- cmp r0, 0
- beq _080F91F6
- ldr r1, _080F91A4 @ =0x00000994
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r5, r0, 0
- cmp r5, 0
- bne _080F91EC
- ldr r0, _080F91A8 @ =0x0000099b
- adds r4, r6, r0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080F91CC
- bl sub_80FBCF8
- strb r5, [r4]
- ldr r1, _080F91AC @ =0x0000099c
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F91B0
- movs r4, 0x80
- lsls r4, 8
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80FB9E4
- adds r0, r4, 0
- bl sub_80FB0E8
- b _080F91F6
- .align 2, 0
-_080F9198: .4byte 0x00000993
-_080F919C: .4byte 0x0000099a
-_080F91A0: .4byte gRfuLinkStatus
-_080F91A4: .4byte 0x00000994
-_080F91A8: .4byte 0x0000099b
-_080F91AC: .4byte 0x0000099c
-_080F91B0:
- ldr r0, _080F91C4 @ =gUnknown_3005E10
- ldrb r4, [r0]
- cmp r4, 0
- bne _080F91CC
- bl sub_80F8DC0
- ldr r0, _080F91C8 @ =gReceivedRemoteLinkPlayers
- strb r4, [r0]
- b _080F91F6
- .align 2, 0
-_080F91C4: .4byte gUnknown_3005E10
-_080F91C8: .4byte gReceivedRemoteLinkPlayers
-_080F91CC:
- bl sub_80F8FD4
- ldr r0, _080F91E4 @ =gUnknown_3005450
- ldr r1, _080F91E8 @ =0x00000992
- adds r0, r1
- ldrb r0, [r0]
- bl rfu_UNI_readySendData
- movs r0, 0x1
- bl rfu_REQ_sendData_wrapper
- b _080F91F0
- .align 2, 0
-_080F91E4: .4byte gUnknown_3005450
-_080F91E8: .4byte 0x00000992
-_080F91EC:
- bl rfu_REQ_PARENT_resumeRetransmitAndChange
-_080F91F0:
- ldr r1, _080F9200 @ =gUnknown_3005450
- movs r0, 0x1
- strb r0, [r1, 0xE]
-_080F91F6:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080F9200: .4byte gUnknown_3005450
- thumb_func_end sub_80F911C
-
- thumb_func_start sub_80F9204
-sub_80F9204: @ 80F9204
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, _080F92E4 @ =gUnknown_3005450
- ldrh r1, [r0, 0x4]
- adds r6, r0, 0
- cmp r1, 0x13
- bhi _080F921C
- b _080F947E
-_080F921C:
- ldrb r0, [r6, 0xE]
- cmp r0, 0x1
- beq _080F9224
- b _080F947E
-_080F9224:
- bl rfu_waitREQComplete
- ldr r0, _080F92E8 @ =0x00000993
- adds r2, r6, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080F9244
- adds r1, r6, 0
- adds r1, 0xEE
-_080F9236:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F923E
- b _080F94A4
-_080F923E:
- ldrb r0, [r2]
- cmp r0, 0
- beq _080F9236
-_080F9244:
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- ldr r2, _080F92EC @ =gUnknown_3005E10
- ldr r4, _080F92E4 @ =gUnknown_3005450
- ldr r1, _080F92F0 @ =0x0000099a
- adds r0, r4, r1
- ldrb r1, [r2, 0x3]
- ldrb r0, [r0]
- ands r1, r0
- cmp r1, r0
- beq _080F9260
- b _080F9468
-_080F9260:
- ldr r6, _080F92F4 @ =0x00000994
- adds r1, r4, r6
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080F92F8 @ =gUnknown_203AC08
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- ldrb r7, [r2]
- movs r5, 0
-_080F9276:
- movs r0, 0x1
- ands r0, r7
- lsrs r1, r7, 1
- str r1, [sp, 0x4]
- adds r2, r5, 0x1
- str r2, [sp]
- cmp r0, 0
- bne _080F9288
- b _080F9388
-_080F9288:
- ldr r1, _080F92E4 @ =gUnknown_3005450
- lsls r2, r5, 3
- subs r0, r2, r5
- lsls r4, r0, 1
- adds r0, r1, 0
- adds r0, 0x15
- adds r0, r4, r0
- ldrb r0, [r0]
- adds r6, r1, 0
- adds r3, r2, 0
- lsls r1, r5, 24
- mov r10, r1
- cmp r0, 0
- beq _080F9380
- ldr r2, _080F92FC @ =0x000009a6
- adds r0, r6, r2
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080F9304
- adds r0, r6, 0
- adds r0, 0x14
- adds r0, r4, r0
- ldrb r2, [r0]
- lsrs r2, 5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- cmp r2, r0
- beq _080F9304
- ldr r0, _080F9300 @ =0x000009a2
- adds r1, r6, r0
- adds r1, r5, r1
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080F9380
- movs r0, 0x81
- lsls r0, 8
- bl sub_80FB0E8
- b _080F9380
- .align 2, 0
-_080F92E4: .4byte gUnknown_3005450
-_080F92E8: .4byte 0x00000993
-_080F92EC: .4byte gUnknown_3005E10
-_080F92F0: .4byte 0x0000099a
-_080F92F4: .4byte 0x00000994
-_080F92F8: .4byte gUnknown_203AC08
-_080F92FC: .4byte 0x000009a6
-_080F9300: .4byte 0x000009a2
-_080F9304:
- ldr r2, _080F9444 @ =gUnknown_3005450
- ldr r6, _080F9448 @ =0x000009a6
- adds r1, r2, r6
- adds r1, r5, r1
- subs r3, r5
- lsls r3, 1
- adds r4, r2, 0
- adds r4, 0x14
- adds r2, r3, r4
- ldrb r0, [r2]
- lsrs r0, 5
- strb r0, [r1]
- ldr r1, _080F9444 @ =gUnknown_3005450
- subs r6, 0x4
- adds r0, r1, r6
- adds r0, r5, r0
- movs r1, 0
- strb r1, [r0]
- ldrb r1, [r2]
- movs r0, 0x1F
- ands r0, r1
- strb r0, [r2]
- ldr r2, _080F944C @ =gUnknown_3005DE6
- adds r0, r5, r2
- ldrb r0, [r0]
- movs r6, 0
- lsls r1, r5, 24
- mov r10, r1
- lsrs r2, r7, 1
- str r2, [sp, 0x4]
- adds r5, 0x1
- str r5, [sp]
- ldr r1, _080F9450 @ =gRecvCmds
- mov r9, r1
- adds r5, r3, 0
- adds r7, r4, 0
- lsls r0, 4
- mov r8, r0
- adds r2, r5, 0x1
- mov r12, r2
-_080F9354:
- lsls r1, r6, 1
- mov r0, r8
- adds r4, r1, r0
- add r4, r9
- mov r2, r12
- adds r3, r1, r2
- adds r3, r7
- ldrb r2, [r3]
- lsls r2, 8
- adds r1, r5
- adds r1, r7
- ldrb r0, [r1]
- orrs r0, r2
- strh r0, [r4]
- movs r0, 0
- strb r0, [r3]
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x6
- bls _080F9354
-_080F9380:
- mov r1, r10
- lsrs r0, r1, 24
- bl rfu_UNI_clearRecvNewDataFlag
-_080F9388:
- ldr r2, [sp, 0x4]
- lsls r0, r2, 16
- lsrs r7, r0, 16
- ldr r6, [sp]
- lsls r0, r6, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bhi _080F939A
- b _080F9276
-_080F939A:
- bl sub_80F9038
- movs r0, 0
- bl sub_80F9868
- bl sub_80FA510
- ldr r4, _080F9444 @ =gUnknown_3005450
- ldr r1, _080F9454 @ =0x0000099d
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F9476
- ldr r2, _080F9458 @ =0x00000991
- adds r0, r4, r2
- ldrb r2, [r0]
- cmp r2, 0
- bne _080F9476
- ldr r0, _080F945C @ =gUnknown_203AC08
- ldrb r1, [r0, 0xE]
- strb r2, [r0, 0xE]
- ldr r6, _080F9460 @ =0x00000992
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x3
- bl rfu_clearSlot
- movs r5, 0
- adds r7, r4, 0
- adds r7, 0x14
-_080F93D6:
- ldr r0, _080F9454 @ =0x0000099d
- adds r6, r4, r0
- ldrb r0, [r6]
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F93FA
- lsls r1, r5, 24
- lsrs r1, 24
- lsls r2, r5, 3
- subs r2, r5
- lsls r2, 1
- adds r2, r7
- movs r0, 0x10
- movs r3, 0xE
- bl rfu_setRecvBuffer
-_080F93FA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080F93D6
- subs r4, r6, 0x3
- ldrb r0, [r4]
- ldrb r2, [r6]
- adds r1, r0, 0
- orrs r1, r2
- bl sub_80F887C
- ldrb r1, [r6]
- movs r2, 0
- strb r1, [r6, 0x4]
- ldrb r0, [r4]
- orrs r0, r1
- strb r0, [r4]
- strb r2, [r6]
- ldrb r0, [r4]
- adds r1, r6, 0
- subs r1, 0x5E
- movs r2, 0x46
- bl rfu_UNI_setSendData
- ldrb r0, [r4]
- bl sub_80F886C
- adds r1, r6, 0
- subs r1, 0xB
- strb r0, [r1]
- ldr r0, _080F9464 @ =sub_80FAA94
- movs r1, 0
- bl CreateTask
- b _080F9476
- .align 2, 0
-_080F9444: .4byte gUnknown_3005450
-_080F9448: .4byte 0x000009a6
-_080F944C: .4byte gUnknown_3005DE6
-_080F9450: .4byte gRecvCmds
-_080F9454: .4byte 0x0000099d
-_080F9458: .4byte 0x00000991
-_080F945C: .4byte gUnknown_203AC08
-_080F9460: .4byte 0x00000992
-_080F9464: .4byte sub_80FAA94
-_080F9468:
- ldr r2, _080F9498 @ =0x00000994
- adds r1, r4, r2
- ldrb r0, [r1]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r2, [r4, 0xE]
-_080F9476:
- ldr r1, _080F949C @ =gUnknown_3005450
- movs r0, 0
- strb r0, [r1, 0xE]
- adds r6, r1, 0
-_080F947E:
- ldr r1, _080F9498 @ =0x00000994
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r1, r0, 0
- ldr r0, _080F94A0 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _080F94A8
- movs r0, 0x1
- ands r0, r1
- b _080F94AA
- .align 2, 0
-_080F9498: .4byte 0x00000994
-_080F949C: .4byte gUnknown_3005450
-_080F94A0: .4byte gRfuLinkStatus
-_080F94A4:
- movs r0, 0
- b _080F94AA
-_080F94A8:
- movs r0, 0
-_080F94AA:
- 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_80F9204
-
- thumb_func_start sub_80F94BC
-sub_80F94BC: @ 80F94BC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r2, r1, 0
- ldrh r1, [r4]
- cmp r1, 0
- beq _080F9500
- ldr r0, _080F94FC @ =gUnknown_3005450
- movs r5, 0x81
- lsls r5, 1
- adds r3, r0, r5
- ldrb r0, [r3]
- lsls r0, 5
- orrs r0, r1
- strh r0, [r4]
- ldrb r0, [r3]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- strb r0, [r3]
- adds r3, r4, 0
- movs r4, 0x6
-_080F94E6:
- ldrh r1, [r3]
- lsrs r0, r1, 8
- strb r0, [r2, 0x1]
- strb r1, [r2]
- adds r2, 0x2
- adds r3, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080F94E6
- b _080F950E
- .align 2, 0
-_080F94FC: .4byte gUnknown_3005450
-_080F9500:
- movs r1, 0
- adds r0, r2, 0
- adds r0, 0xD
-_080F9506:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r2
- bge _080F9506
-_080F950E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F94BC
-
- thumb_func_start sub_80F9514
-sub_80F9514: @ 80F9514
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x58
- ldr r0, _080F9638 @ =gUnknown_3005574
- mov r1, sp
- bl sub_80FC6E8
- movs r1, 0
- ldr r0, _080F963C @ =gRecvCmds
- mov r12, r0
-_080F952A:
- movs r4, 0
- lsls r0, r1, 3
- adds r2, r1, 0x1
- mov r8, r2
- lsls r6, r1, 4
- subs r0, r1
- lsls r5, r0, 1
-_080F9538:
- lsls r1, r4, 1
- adds r3, r1, r6
- add r3, r12
- adds r1, r5, r1
- adds r0, r1, 0x1
- add r0, sp
- ldrb r2, [r0]
- lsls r2, 8
- mov r7, sp
- adds r0, r7, r1
- ldrb r0, [r0]
- orrs r0, r2
- strh r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080F9538
- mov r1, r8
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080F952A
- movs r0, 0
- bl sub_80F9868
- ldr r0, _080F9640 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _080F95E4
- ldr r0, _080F9644 @ =gUnknown_3005450
- ldr r2, _080F9648 @ =0x0000099c
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F95E4
- ldr r0, _080F964C @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- bl sub_80FB9F4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080F95B0
- cmp r0, 0x6
- beq _080F95B0
- cmp r0, 0x9
- beq _080F95B0
- movs r1, 0x90
- lsls r1, 8
- movs r0, 0x2
- bl sub_80FB9E4
-_080F95B0:
- bl rfu_clearAllSlot
- ldr r1, _080F9650 @ =gReceivedRemoteLinkPlayers
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080F9644 @ =gUnknown_3005450
- movs r5, 0
- str r5, [r0]
- ldr r7, _080F9648 @ =0x0000099c
- adds r6, r0, r7
- ldrb r0, [r6]
- cmp r0, 0x1
- bne _080F95DC
- movs r4, 0x90
- lsls r4, 8
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80FB9E4
- adds r0, r4, 0
- bl sub_80FB0E8
-_080F95DC:
- ldr r0, _080F9640 @ =gUnknown_3005E10
- strb r5, [r0, 0x5]
- strb r5, [r0, 0x4]
- strb r5, [r6]
-_080F95E4:
- ldr r6, _080F9644 @ =gUnknown_3005450
- ldr r0, _080F9654 @ =0x00000988
- adds r2, r6, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080F9628
- ldrb r0, [r2]
- subs r0, 0x1
- ldrb r1, [r2]
- strb r0, [r2]
- bl sub_80FA510
- ldr r5, _080F9658 @ =gSendCmd
- add r4, sp, 0x48
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80F94BC
- movs r1, 0xD4
- lsls r1, 3
- adds r0, r6, r1
- adds r1, r4, 0
- bl sub_80FC63C
- movs r1, 0
- movs r2, 0
-_080F9618:
- lsls r0, r1, 1
- adds r0, r5
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x6
- bls _080F9618
-_080F9628:
- bl IsRfuRecvQueueEmpty
- add sp, 0x58
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080F9638: .4byte gUnknown_3005574
-_080F963C: .4byte gRecvCmds
-_080F9640: .4byte gUnknown_3005E10
-_080F9644: .4byte gUnknown_3005450
-_080F9648: .4byte 0x0000099c
-_080F964C: .4byte gRfuLinkStatus
-_080F9650: .4byte gReceivedRemoteLinkPlayers
-_080F9654: .4byte 0x00000988
-_080F9658: .4byte gSendCmd
- thumb_func_end sub_80F9514
-
- thumb_func_start sub_80F965C
-sub_80F965C: @ 80F965C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _080F9708 @ =gUnknown_3005450
- ldr r2, [r0, 0x70]
- mov r10, r2
- movs r5, 0
- adds r2, r0, 0
- adds r2, 0x6E
- ldrh r3, [r2]
- cmp r5, r3
- bge _080F96F8
- mov r9, r0
- ldr r0, _080F970C @ =gUnknown_3002008
- mov r8, r0
-_080F967E:
- movs r0, 0x1
- ands r0, r1
- lsrs r7, r1, 1
- adds r6, r5, 0x1
- cmp r0, 0
- bne _080F96EC
- ldr r1, _080F9710 @ =0xffff8900
- adds r0, r1, 0
- adds r1, r5, 0
- orrs r1, r0
- mov r2, r8
- strh r1, [r2]
- movs r4, 0
- lsls r0, r5, 1
- ldr r3, _080F9714 @ =gUnknown_3001FF8
- mov r12, r3
- adds r0, r5
- lsls r0, 2
- mov r1, r10
- adds r2, r0, r1
- mov r3, r8
- adds r3, 0x2
-_080F96AA:
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- ldrb r0, [r2]
- orrs r0, r1
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x6
- ble _080F96AA
- movs r4, 0
- ldr r2, _080F970C @ =gUnknown_3002008
- ldr r1, _080F9714 @ =gUnknown_3001FF8
-_080F96C4:
- ldrh r0, [r2]
- lsrs r0, 8
- strb r0, [r1, 0x1]
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x6
- ble _080F96C4
- ldr r0, _080F9718 @ =gUnknown_3005AF0
- mov r1, r12
- bl sub_80FC63C
- movs r1, 0x1
- lsls r1, r5
- mov r2, r9
- ldr r0, [r2, 0x78]
- orrs r0, r1
- str r0, [r2, 0x78]
-_080F96EC:
- adds r1, r7, 0
- adds r5, r6, 0
- ldr r3, _080F971C @ =gUnknown_30054BE
- ldrh r3, [r3]
- cmp r5, r3
- blt _080F967E
-_080F96F8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9708: .4byte gUnknown_3005450
-_080F970C: .4byte gUnknown_3002008
-_080F9710: .4byte 0xffff8900
-_080F9714: .4byte gUnknown_3001FF8
-_080F9718: .4byte gUnknown_3005AF0
-_080F971C: .4byte gUnknown_30054BE
- thumb_func_end sub_80F965C
-
- thumb_func_start Rfu_SetBlockReceivedFlag
-Rfu_SetBlockReceivedFlag: @ 80F9720
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F973C @ =gUnknown_3005450
- ldrb r2, [r0, 0xC]
- cmp r2, 0x1
- bne _080F9740
- cmp r1, 0
- beq _080F9740
- adds r0, 0x61
- adds r0, r1, r0
- strb r2, [r0]
- b _080F9748
- .align 2, 0
-_080F973C: .4byte gUnknown_3005450
-_080F9740:
- adds r0, 0x5C
- adds r0, r1, r0
- movs r1, 0x1
- strb r1, [r0]
-_080F9748:
- pop {r0}
- bx r0
- thumb_func_end Rfu_SetBlockReceivedFlag
-
- thumb_func_start Rfu_ResetBlockReceivedFlag
-Rfu_ResetBlockReceivedFlag: @ 80F974C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080F976C @ =gUnknown_3005450
- adds r1, r3, 0
- adds r1, 0x5C
- adds r1, r0, r1
- movs r2, 0
- strb r2, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- adds r1, 0x92
- strb r2, [r1]
- bx lr
- .align 2, 0
-_080F976C: .4byte gUnknown_3005450
- thumb_func_end Rfu_ResetBlockReceivedFlag
-
- thumb_func_start sub_80F9770
-sub_80F9770: @ 80F9770
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _080F9784 @ =gUnknown_3005450
- ldrb r1, [r0, 0xC]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _080F9788
- movs r0, 0
- b _080F97AA
- .align 2, 0
-_080F9784: .4byte gUnknown_3005450
-_080F9788:
- movs r2, 0
- ldr r0, _080F97B0 @ =0x00000996
- adds r4, r5, r0
-_080F978E:
- adds r1, r2, r4
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080F978E
- ldr r1, _080F97B4 @ =0x000008f6
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r0, r3
- ldrb r0, [r0]
-_080F97AA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F97B0: .4byte 0x00000996
-_080F97B4: .4byte 0x000008f6
- thumb_func_end sub_80F9770
-
- thumb_func_start rfu_func_080F97B8
-rfu_func_080F97B8: @ 80F97B8
- push {lr}
- ldr r0, _080F97F0 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F97EA
- ldr r3, _080F97F4 @ =gHeldKeyCodeToSend
- ldrh r2, [r3]
- cmp r2, 0
- beq _080F97EA
- ldr r0, _080F97F8 @ =gLinkTransferringData
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080F97EA
- ldr r1, _080F97FC @ =gUnknown_3001188
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r1]
- lsls r0, 8
- orrs r0, r2
- strh r0, [r3]
- movs r0, 0xBE
- lsls r0, 8
- bl sub_80F9D04
-_080F97EA:
- pop {r0}
- bx r0
- .align 2, 0
-_080F97F0: .4byte gReceivedRemoteLinkPlayers
-_080F97F4: .4byte gHeldKeyCodeToSend
-_080F97F8: .4byte gLinkTransferringData
-_080F97FC: .4byte gUnknown_3001188
- thumb_func_end rfu_func_080F97B8
-
- thumb_func_start sub_80F9800
-sub_80F9800: @ 80F9800
- ldr r0, _080F9804 @ =gUnknown_3005440
- bx lr
- .align 2, 0
-_080F9804: .4byte gUnknown_3005440
- thumb_func_end sub_80F9800
-
- thumb_func_start IsSendingKeysToRfu
-IsSendingKeysToRfu: @ 80F9808
- push {lr}
- movs r2, 0
- ldr r0, _080F9820 @ =gUnknown_3005450
- ldr r1, [r0]
- ldr r0, _080F9824 @ =rfu_func_080F97B8
- cmp r1, r0
- bne _080F9818
- movs r2, 0x1
-_080F9818:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080F9820: .4byte gUnknown_3005450
-_080F9824: .4byte rfu_func_080F97B8
- thumb_func_end IsSendingKeysToRfu
-
- thumb_func_start sub_80F9828
-sub_80F9828: @ 80F9828
- push {r4,lr}
- ldr r4, _080F9848 @ =gUnknown_3005450
- ldr r0, [r4]
- cmp r0, 0
- beq _080F983E
- ldr r0, _080F984C @ =gUnknown_843ED94 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu.c"
- ldr r1, _080F9850 @ =0x000005c1 // 1473
- ldr r2, _080F9854 @ =gUnknown_843EDC4 "Rfu.RfuFunc == NULL"
- movs r3, 0x1
- bl AGBAssert
-_080F983E:
- ldr r0, _080F9858 @ =rfu_func_080F97B8
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9848: .4byte gUnknown_3005450
-_080F984C: .4byte gUnknown_843ED94
-_080F9850: .4byte 0x000005c1
-_080F9854: .4byte gUnknown_843EDC4
-_080F9858: .4byte rfu_func_080F97B8
- thumb_func_end sub_80F9828
-
- thumb_func_start Rfu_set_zero
-Rfu_set_zero: @ 80F985C
- ldr r1, _080F9864 @ =gUnknown_3005450
- movs r0, 0
- str r0, [r1]
- bx lr
- .align 2, 0
-_080F9864: .4byte gUnknown_3005450
- thumb_func_end Rfu_set_zero
-
- thumb_func_start sub_80F9868
-sub_80F9868: @ 80F9868
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r8, r0
-_080F9876:
- mov r1, r8
- lsls r5, r1, 4
- ldr r2, _080F98B4 @ =gRecvCmds
- adds r0, r5, r2
- ldrh r7, [r0]
- movs r3, 0xFF
- lsls r3, 8
- adds r0, r3, 0
- adds r1, r0, 0
- ands r1, r7
- movs r0, 0x88
- lsls r0, 8
- adds r2, r5, 0
- cmp r1, r0
- beq _080F9954
- cmp r1, r0
- bgt _080F98CA
- movs r0, 0xCC
- lsls r0, 7
- cmp r1, r0
- bne _080F98A2
- b _080F9AD0
-_080F98A2:
- cmp r1, r0
- bgt _080F98B8
- movs r0, 0xBE
- lsls r0, 7
- cmp r1, r0
- bne _080F98B0
- b _080F9AC0
-_080F98B0:
- b _080F9BF4
- .align 2, 0
-_080F98B4: .4byte gRecvCmds
-_080F98B8:
- movs r0, 0xEE
- lsls r0, 7
- cmp r1, r0
- beq _080F9914
- movs r0, 0xF0
- lsls r0, 7
- cmp r1, r0
- beq _080F9902
- b _080F9BF4
-_080F98CA:
- movs r0, 0xBE
- lsls r0, 8
- cmp r1, r0
- bne _080F98D4
- b _080F9BE4
-_080F98D4:
- cmp r1, r0
- bgt _080F98EC
- movs r0, 0x89
- lsls r0, 8
- cmp r1, r0
- beq _080F99B8
- movs r0, 0xA1
- lsls r0, 8
- cmp r1, r0
- bne _080F98EA
- b _080F9A9C
-_080F98EA:
- b _080F9BF4
-_080F98EC:
- movs r0, 0xED
- lsls r0, 8
- cmp r1, r0
- bne _080F98F6
- b _080F9B00
-_080F98F6:
- movs r0, 0xEE
- lsls r0, 8
- cmp r1, r0
- bne _080F9900
- b _080F9BA0
-_080F9900:
- b _080F9BF4
-_080F9902:
- ldr r4, _080F993C @ =gUnknown_3005450
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- bne _080F9914
- ldr r0, _080F9940 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F9914
- b _080F9C40
-_080F9914:
- ldr r0, _080F9944 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0
- beq _080F9924
- b _080F9BF8
-_080F9924:
- ldr r1, _080F9948 @ =gRecvCmds + 2
- adds r0, r2, r1
- ldrh r0, [r0]
- ldr r3, _080F993C @ =gUnknown_3005450
- strb r0, [r3, 0xD]
- ldr r4, _080F994C @ =gRecvCmds + 4
- adds r0, r2, r4
- bl sub_80F9770
- ldr r1, _080F9950 @ =gUnknown_3005DD6
- strb r0, [r1]
- b _080F9BF8
- .align 2, 0
-_080F993C: .4byte gUnknown_3005450
-_080F9940: .4byte gReceivedRemoteLinkPlayers
-_080F9944: .4byte gRfuLinkStatus
-_080F9948: .4byte gRecvCmds + 2
-_080F994C: .4byte gRecvCmds + 4
-_080F9950: .4byte gUnknown_3005DD6
-_080F9954:
- ldr r2, _080F99AC @ =gUnknown_3005450
- mov r9, r2
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r7, r0, 2
- adds r3, r7, r2
- movs r4, 0x92
- adds r4, r3
- mov r12, r4
- ldrb r4, [r4]
- mov r6, r8
- adds r6, 0x1
- cmp r4, 0
- beq _080F9974
- b _080F9BF8
-_080F9974:
- adds r0, r3, 0
- adds r0, 0x80
- movs r2, 0
- strh r4, [r0]
- ldr r1, _080F99B0 @ =gRecvCmds + 2
- adds r0, r5, r1
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x82
- strh r0, [r1]
- ldr r1, _080F99B4 @ =gRecvCmds + 4
- adds r0, r5, r1
- ldrh r1, [r0]
- adds r0, r3, 0
- adds r0, 0x91
- strb r1, [r0]
- mov r0, r9
- adds r0, 0x88
- adds r0, r7, r0
- str r4, [r0]
- movs r0, 0x1
- mov r3, r12
- strb r0, [r3]
- mov r0, r9
- adds r0, 0x5C
- add r0, r8
- strb r2, [r0]
- b _080F9BF8
- .align 2, 0
-_080F99AC: .4byte gUnknown_3005450
-_080F99B0: .4byte gRecvCmds + 2
-_080F99B4: .4byte gRecvCmds + 4
-_080F99B8:
- ldr r4, _080F9A88 @ =gUnknown_3005450
- mov r9, r4
- mov r0, r8
- lsls r1, r0, 2
- adds r0, r1, r0
- lsls r4, r0, 2
- mov r3, r9
- adds r2, r4, r3
- adds r0, r2, 0
- adds r0, 0x92
- ldrb r3, [r0]
- mov r10, r1
- mov r6, r8
- adds r6, 0x1
- cmp r3, 0x1
- beq _080F99DA
- b _080F9BF8
-_080F99DA:
- movs r0, 0xFF
- ands r0, r7
- adds r2, 0x80
- strh r0, [r2]
- mov r1, r9
- adds r1, 0x88
- adds r1, r4, r1
- lsls r3, r0
- ldr r0, [r1]
- orrs r0, r3
- str r0, [r1]
- movs r4, 0
- ldr r0, _080F9A8C @ =gBlockRecvBuffer
- mov r9, r0
- mov r12, r2
- mov r1, r8
- lsls r7, r1, 8
- adds r3, r5, 0
-_080F99FE:
- mov r2, r12
- ldrh r0, [r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, r4
- lsls r1, 1
- adds r1, r7
- add r1, r9
- adds r2, r4, 0x1
- lsls r0, r2, 1
- adds r0, r3
- ldr r4, _080F9A90 @ =gRecvCmds
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 16
- lsrs r4, r2, 16
- cmp r4, 0x5
- bls _080F99FE
- ldr r4, _080F9A88 @ =gUnknown_3005450
- mov r0, r10
- add r0, r8
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x88
- adds r1, r0, r1
- adds r2, r0, r4
- adds r0, r2, 0
- adds r0, 0x82
- ldrh r0, [r0]
- lsls r0, 2
- ldr r3, _080F9A94 @ =gUnknown_843EBD4
- adds r0, r3
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- beq _080F9A4C
- b _080F9BF8
-_080F9A4C:
- adds r1, r2, 0
- adds r1, 0x92
- movs r0, 0x2
- strb r0, [r1]
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- bl Rfu_SetBlockReceivedFlag
- bl sub_80F9800
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _080F9A6E
- b _080F9BF8
-_080F9A6E:
- ldr r0, _080F9A98 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F9A78
- b _080F9BF8
-_080F9A78:
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _080F9A80
- b _080F9BF8
-_080F9A80:
- ldr r0, _080F9A8C @ =gBlockRecvBuffer
- bl sub_80FAA58
- b _080F9BF8
- .align 2, 0
-_080F9A88: .4byte gUnknown_3005450
-_080F9A8C: .4byte gBlockRecvBuffer
-_080F9A90: .4byte gRecvCmds
-_080F9A94: .4byte gUnknown_843EBD4
-_080F9A98: .4byte gReceivedRemoteLinkPlayers
-_080F9A9C:
- ldr r2, _080F9AB8 @ =gUnknown_843EC64
- ldr r3, _080F9ABC @ =gRecvCmds + 2
- adds r0, r5, r3
- ldrh r1, [r0]
- lsls r1, 3
- adds r0, r1, r2
- ldr r0, [r0]
- adds r2, 0x4
- adds r1, r2
- ldrh r1, [r1]
- bl Rfu_InitBlockSend
- b _080F9BF4
- .align 2, 0
-_080F9AB8: .4byte gUnknown_843EC64
-_080F9ABC: .4byte gRecvCmds + 2
-_080F9AC0:
- ldr r1, _080F9ACC @ =gUnknown_3005534
- add r1, r8
- movs r0, 0x1
- strb r0, [r1]
- b _080F9BF4
- .align 2, 0
-_080F9ACC: .4byte gUnknown_3005534
-_080F9AD0:
- ldr r2, _080F9AF8 @ =gUnknown_3005450
- movs r4, 0x80
- lsls r4, 1
- adds r0, r2, r4
- ldr r3, _080F9AFC @ =gRecvCmds + 2
- adds r1, r5, r3
- ldrh r0, [r0]
- mov r6, r8
- adds r6, 0x1
- ldrh r1, [r1]
- cmp r0, r1
- beq _080F9AEA
- b _080F9BF8
-_080F9AEA:
- adds r0, r2, 0
- adds r0, 0xE9
- add r0, r8
- movs r1, 0x1
- strb r1, [r0]
- b _080F9BF8
- .align 2, 0
-_080F9AF8: .4byte gUnknown_3005450
-_080F9AFC: .4byte gRecvCmds + 2
-_080F9B00:
- ldr r7, _080F9B4C @ =gUnknown_3005450
- ldrb r2, [r7, 0xC]
- cmp r2, 0
- bne _080F9B68
- ldr r3, _080F9B50 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r3]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0
- beq _080F9BF8
- ldr r0, _080F9B54 @ =gRecvCmds + 2
- adds r4, r5, r0
- ldrh r1, [r4]
- ldr r0, _080F9B58 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- ands r1, r0
- cmp r1, 0
- beq _080F9B38
- strb r2, [r3]
- bl sub_80FEB14
- ldr r1, _080F9B5C @ =gRecvCmds + 4
- adds r0, r5, r1
- ldrh r1, [r0]
- ldr r2, _080F9B60 @ =0x0000099c
- adds r0, r7, r2
- strb r1, [r0]
-_080F9B38:
- ldr r0, _080F9B64 @ =gRecvCmds
- adds r0, 0x6
- adds r0, r5, r0
- ldrh r0, [r0]
- strb r0, [r7, 0xD]
- ldrh r0, [r4]
- bl sub_80FA9D0
- b _080F9BF8
- .align 2, 0
-_080F9B4C: .4byte gUnknown_3005450
-_080F9B50: .4byte gReceivedRemoteLinkPlayers
-_080F9B54: .4byte gRecvCmds + 2
-_080F9B58: .4byte gRfuLinkStatus
-_080F9B5C: .4byte gRecvCmds + 4
-_080F9B60: .4byte 0x0000099c
-_080F9B64: .4byte gRecvCmds
-_080F9B68:
- movs r0, 0xEE
- lsls r0, 8
- bl sub_80F9D04
- ldr r1, _080F9B90 @ =gSendCmd
- ldr r3, _080F9B94 @ =gRecvCmds + 2
- adds r0, r5, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x2]
- ldr r4, _080F9B98 @ =gRecvCmds + 4
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x4]
- ldr r0, _080F9B9C @ =gRecvCmds
- adds r0, 0x6
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r1, 0x6]
- b _080F9BF4
- .align 2, 0
-_080F9B90: .4byte gSendCmd
-_080F9B94: .4byte gRecvCmds + 2
-_080F9B98: .4byte gRecvCmds + 4
-_080F9B9C: .4byte gRecvCmds
-_080F9BA0:
- ldr r4, _080F9BD0 @ =gUnknown_3005450
- ldrb r0, [r4, 0xC]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0x1
- bne _080F9C34
- ldr r0, _080F9BD4 @ =0x0000099b
- adds r2, r4, r0
- ldr r1, _080F9BD8 @ =gRecvCmds + 2
- adds r3, r5, r1
- ldrb r1, [r3]
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, _080F9BDC @ =gRecvCmds + 4
- adds r0, r5, r2
- ldrh r1, [r0]
- ldr r2, _080F9BE0 @ =0x0000099c
- adds r0, r4, r2
- strb r1, [r0]
- ldrh r0, [r3]
- bl sub_80FA9D0
- b _080F9BF8
- .align 2, 0
-_080F9BD0: .4byte gUnknown_3005450
-_080F9BD4: .4byte 0x0000099b
-_080F9BD8: .4byte gRecvCmds + 2
-_080F9BDC: .4byte gRecvCmds + 4
-_080F9BE0: .4byte 0x0000099c
-_080F9BE4:
- ldr r0, _080F9C24 @ =gLinkPartnersHeldKeys
- mov r3, r8
- lsls r1, r3, 1
- adds r1, r0
- ldr r4, _080F9C28 @ =gRecvCmds + 2
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1]
-_080F9BF4:
- mov r6, r8
- adds r6, 0x1
-_080F9BF8:
- ldr r3, _080F9C2C @ =gUnknown_3005450
- ldrb r4, [r3, 0xC]
- cmp r4, 0x1
- bne _080F9C34
- adds r0, r3, 0
- adds r0, 0x61
- mov r1, r8
- adds r2, r1, r0
- ldrb r0, [r2]
- adds r1, r0, 0
- cmp r1, 0
- beq _080F9C34
- cmp r1, 0x4
- bne _080F9C30
- adds r0, r3, 0
- adds r0, 0x5C
- add r0, r8
- movs r1, 0
- strb r4, [r0]
- strb r1, [r2]
- b _080F9C34
- .align 2, 0
-_080F9C24: .4byte gLinkPartnersHeldKeys
-_080F9C28: .4byte gRecvCmds + 2
-_080F9C2C: .4byte gUnknown_3005450
-_080F9C30:
- adds r0, 0x1
- strb r0, [r2]
-_080F9C34:
- lsls r0, r6, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x4
- bhi _080F9C40
- b _080F9876
-_080F9C40:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9868
-
- thumb_func_start sub_80F9C50
-sub_80F9C50: @ 80F9C50
- push {lr}
- movs r2, 0
- ldr r0, _080F9C64 @ =gUnknown_3005450
- adds r1, r0, 0
- adds r1, 0x92
-_080F9C5A:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F9C68
- movs r0, 0
- b _080F9C72
- .align 2, 0
-_080F9C64: .4byte gUnknown_3005450
-_080F9C68:
- adds r1, 0x14
- adds r2, 0x1
- cmp r2, 0x4
- ble _080F9C5A
- movs r0, 0x1
-_080F9C72:
- pop {r1}
- bx r1
- thumb_func_end sub_80F9C50
-
- thumb_func_start sub_80F9C78
-sub_80F9C78: @ 80F9C78
- push {r4,lr}
- movs r1, 0
- ldr r2, _080F9CA0 @ =gUnknown_3005450
- ldrb r0, [r2, 0xD]
- cmp r1, r0
- bge _080F9CAC
- adds r4, r0, 0
- adds r3, r2, 0
- adds r3, 0x92
- adds r2, 0x5C
-_080F9C8C:
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _080F9C9A
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080F9CA4
-_080F9C9A:
- movs r0, 0
- b _080F9CAE
- .align 2, 0
-_080F9CA0: .4byte gUnknown_3005450
-_080F9CA4:
- adds r3, 0x14
- adds r1, 0x1
- cmp r1, r4
- blt _080F9C8C
-_080F9CAC:
- movs r0, 0x1
-_080F9CAE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F9C78
-
- thumb_func_start sub_80F9CB4
-sub_80F9CB4: @ 80F9CB4
- movs r2, 0
- movs r1, 0
- strh r1, [r0]
- strh r1, [r0, 0x2]
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- strb r2, [r0, 0x10]
- strb r2, [r0, 0x11]
- strb r2, [r0, 0x12]
- bx lr
- thumb_func_end sub_80F9CB4
-
- thumb_func_start Rfu_GetBlockReceivedStatus
-Rfu_GetBlockReceivedStatus: @ 80F9CC8
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, _080F9D00 @ =gUnknown_3005450
- adds r3, r0, 0
- adds r3, 0x92
- adds r4, r0, 0
- adds r4, 0x5C
-_080F9CD8:
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _080F9CEE
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F9CEE
- lsls r0, r1
- orrs r2, r0
- lsls r0, r2, 24
- lsrs r2, r0, 24
-_080F9CEE:
- adds r3, 0x14
- adds r1, 0x1
- cmp r1, 0x4
- ble _080F9CD8
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F9D00: .4byte gUnknown_3005450
- thumb_func_end Rfu_GetBlockReceivedStatus
-
- thumb_func_start sub_80F9D04
-sub_80F9D04: @ 80F9D04
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r5, _080F9D34 @ =gSendCmd
- strh r1, [r5]
- movs r0, 0xF0
- lsls r0, 7
- adds r4, r5, 0
- cmp r1, r0
- beq _080F9D98
- cmp r1, r0
- bgt _080F9D4A
- movs r0, 0xBE
- lsls r0, 7
- cmp r1, r0
- beq _080F9DE8
- cmp r1, r0
- bgt _080F9D38
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- beq _080F9DFC
- b _080F9E22
- .align 2, 0
-_080F9D34: .4byte gSendCmd
-_080F9D38:
- movs r0, 0xCC
- lsls r0, 7
- cmp r1, r0
- beq _080F9DE8
- movs r0, 0xEE
- lsls r0, 7
- cmp r1, r0
- beq _080F9D98
- b _080F9E22
-_080F9D4A:
- movs r0, 0xBE
- lsls r0, 8
- cmp r1, r0
- beq _080F9E1C
- cmp r1, r0
- bgt _080F9E22
- movs r0, 0x88
- lsls r0, 8
- cmp r1, r0
- beq _080F9D68
- movs r0, 0xA1
- lsls r0, 8
- cmp r1, r0
- beq _080F9D80
- b _080F9E22
-_080F9D68:
- ldr r0, _080F9D7C @ =gUnknown_3005450
- adds r1, r0, 0
- adds r1, 0x6E
- ldrh r1, [r1]
- strh r1, [r5, 0x2]
- adds r0, 0x7D
- ldrb r0, [r0]
- adds r0, 0x80
- strh r0, [r5, 0x4]
- b _080F9E22
- .align 2, 0
-_080F9D7C: .4byte gUnknown_3005450
-_080F9D80:
- bl sub_80F9C50
- lsls r0, 24
- cmp r0, 0
- beq _080F9E22
- ldr r0, _080F9D94 @ =gUnknown_3005450
- adds r0, 0x5A
- ldrb r0, [r0]
- b _080F9E20
- .align 2, 0
-_080F9D94: .4byte gUnknown_3005450
-_080F9D98:
- ldr r3, _080F9DD4 @ =gUnknown_3005450
- ldr r1, _080F9DD8 @ =0x0000099a
- adds r0, r3, r1
- ldr r2, _080F9DDC @ =0x0000099b
- adds r1, r3, r2
- ldrb r2, [r0]
- ldrb r0, [r1]
- eors r0, r2
- ldr r1, _080F9DE0 @ =gUnknown_843EC41
- adds r0, r1
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r3, 0xD]
- ldrb r0, [r3, 0xD]
- strh r0, [r4, 0x2]
- adds r2, r4, 0x4
- movs r4, 0
- ldr r0, _080F9DE4 @ =0x00000996
- adds r3, r0
-_080F9DBE:
- adds r1, r2, r4
- adds r0, r4, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080F9DBE
- b _080F9E22
- .align 2, 0
-_080F9DD4: .4byte gUnknown_3005450
-_080F9DD8: .4byte 0x0000099a
-_080F9DDC: .4byte 0x0000099b
-_080F9DE0: .4byte gUnknown_843EC41
-_080F9DE4: .4byte 0x00000996
-_080F9DE8:
- ldr r0, _080F9DF8 @ =gUnknown_3005450
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4, 0x2]
- b _080F9E22
- .align 2, 0
-_080F9DF8: .4byte gUnknown_3005450
-_080F9DFC:
- movs r4, 0
- ldr r3, _080F9E18 @ =gUnknown_3005542
-_080F9E00:
- adds r2, r4, 0x1
- lsls r1, r2, 1
- adds r1, r5
- lsls r0, r4, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0x5
- bls _080F9E00
- b _080F9E22
- .align 2, 0
-_080F9E18: .4byte gUnknown_3005542
-_080F9E1C:
- ldr r0, _080F9E28 @ =gHeldKeyCodeToSend
- ldrh r0, [r0]
-_080F9E20:
- strh r0, [r5, 0x2]
-_080F9E22:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9E28: .4byte gHeldKeyCodeToSend
- thumb_func_end sub_80F9D04
-
- thumb_func_start sub_80F9E2C
-sub_80F9E2C: @ 80F9E2C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080F9E58 @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080F9E52
- bl sub_80FBA00
- cmp r0, 0
- bne _080F9E52
- ldr r0, _080F9E5C @ =gUnknown_3005542
- adds r1, r4, 0
- movs r2, 0xC
- bl memcpy
- movs r0, 0xBC
- lsls r0, 6
- bl sub_80F9D04
-_080F9E52:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9E58: .4byte gSendCmd
-_080F9E5C: .4byte gUnknown_3005542
- thumb_func_end sub_80F9E2C
-
- thumb_func_start Rfu_InitBlockSend
-Rfu_InitBlockSend: @ 80F9E60
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r6, r1, 0
- cmp r6, 0xFC
- bls _080F9E7C
- ldr r0, _080F9EA8 @ =gUnknown_843ED94 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu.c"
- ldr r1, _080F9EAC @ =0x00000701 // 1793
- ldr r2, _080F9EB0 @ =gUnknown_843EDD8 "size<=252"
- movs r3, 0x1
- bl AGBAssert
-_080F9E7C:
- ldr r5, _080F9EB4 @ =gUnknown_3005450
- ldr r0, [r5]
- cmp r0, 0
- bne _080F9EA4
- ldr r0, _080F9EB8 @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080F9EA4
- movs r0, 0x7C
- adds r0, r5
- mov r9, r0
- ldrb r1, [r0]
- mov r8, r1
- cmp r1, 0
- beq _080F9EC0
- ldr r1, _080F9EBC @ =gUnknown_203AC08
- adds r1, 0x83
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F9EA4:
- movs r0, 0
- b _080F9F2A
- .align 2, 0
-_080F9EA8: .4byte gUnknown_843ED94
-_080F9EAC: .4byte 0x00000701
-_080F9EB0: .4byte gUnknown_843EDD8
-_080F9EB4: .4byte gUnknown_3005450
-_080F9EB8: .4byte gSendCmd
-_080F9EBC: .4byte gUnknown_203AC08
-_080F9EC0:
- adds r0, r6, 0
- movs r1, 0xC
- bl __umodsi3
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl GetMultiplayerId
- adds r1, r5, 0
- adds r1, 0x7D
- strb r0, [r1]
- movs r0, 0x1
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0xC
- bl __udivsi3
- adds r0, r4
- adds r1, r5, 0
- adds r1, 0x6E
- strh r0, [r1]
- adds r0, r5, 0
- adds r0, 0x6C
- mov r1, r8
- strh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- cmp r6, r0
- bls _080F9F02
- str r7, [r5, 0x70]
- b _080F9F14
-_080F9F02:
- ldr r4, _080F9F38 @ =gBlockSendBuffer
- cmp r7, r4
- beq _080F9F12
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
-_080F9F12:
- str r4, [r5, 0x70]
-_080F9F14:
- movs r0, 0x88
- lsls r0, 8
- bl sub_80F9D04
- ldr r0, _080F9F3C @ =gUnknown_3005450
- ldr r1, _080F9F40 @ =rfufunc_80F9F44
- str r1, [r0]
- adds r0, 0x5B
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
-_080F9F2A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080F9F38: .4byte gBlockSendBuffer
-_080F9F3C: .4byte gUnknown_3005450
-_080F9F40: .4byte rfufunc_80F9F44
- thumb_func_end Rfu_InitBlockSend
-
- thumb_func_start rfufunc_80F9F44
-rfufunc_80F9F44: @ 80F9F44
- push {r4,r5,lr}
- ldr r0, _080F9F74 @ =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080F9F98
- movs r5, 0x88
- lsls r5, 8
- adds r0, r5, 0
- bl sub_80F9D04
- ldr r4, _080F9F78 @ =gUnknown_3005450
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- bne _080F9F7C
- adds r1, r4, 0
- adds r1, 0x5B
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _080F9F98
- b _080F9F94
- .align 2, 0
-_080F9F74: .4byte gSendCmd
-_080F9F78: .4byte gUnknown_3005450
-_080F9F7C:
- bl GetMultiplayerId
- ldr r1, _080F9FA0 @ =gRecvCmds
- lsls r0, 24
- lsrs r0, 20
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, r5
- bne _080F9F98
-_080F9F94:
- ldr r0, _080F9FA4 @ =sub_80F9FA8
- str r0, [r4]
-_080F9F98:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9FA0: .4byte gRecvCmds
-_080F9FA4: .4byte sub_80F9FA8
- thumb_func_end rfufunc_80F9F44
-
- thumb_func_start sub_80F9FA8
-sub_80F9FA8: @ 80F9FA8
- push {r4-r6,lr}
- ldr r0, _080FA014 @ =gUnknown_3005450
- mov r12, r0
- ldr r5, [r0, 0x70]
- ldr r3, _080FA018 @ =gSendCmd
- mov r2, r12
- adds r2, 0x6C
- ldrh r1, [r2]
- movs r4, 0x89
- lsls r4, 8
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r3]
- movs r4, 0
- adds r6, r2, 0
- adds r3, 0x2
-_080F9FC8:
- lsls r2, r4, 1
- ldrh r1, [r6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- strh r0, [r3]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x6
- ble _080F9FC8
- mov r0, r12
- adds r0, 0x6C
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- adds r0, 0x2
- ldrh r0, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r0, r1
- bhi _080FA00C
- mov r0, r12
- adds r0, 0x7C
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080FA01C @ =rfufunc_80FA020
- mov r1, r12
- str r0, [r1]
-_080FA00C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA014: .4byte gUnknown_3005450
-_080FA018: .4byte gSendCmd
-_080FA01C: .4byte rfufunc_80FA020
- thumb_func_end sub_80F9FA8
-
- thumb_func_start rfufunc_80FA020
-rfufunc_80FA020: @ 80FA020
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, _080FA0C8 @ =gUnknown_3005450
- ldr r0, [r5, 0x70]
- mov r8, r0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _080FA0E8
- ldr r3, _080FA0CC @ =gSendCmd
- adds r2, r5, 0
- adds r2, 0x6E
- ldrh r0, [r2]
- subs r0, 0x1
- ldr r4, _080FA0D0 @ =0xffff8900
- adds r1, r4, 0
- orrs r0, r1
- strh r0, [r3]
- movs r4, 0
- mov r9, r5
- ldr r0, _080FA0D4 @ =gRecvCmds
- mov r12, r0
- lsls r5, r6, 4
- adds r7, r2, 0
- adds r3, 0x2
-_080FA05C:
- lsls r2, r4, 1
- ldrh r1, [r7]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- add r0, r8
- adds r1, r0, 0
- subs r1, 0xB
- ldrb r1, [r1]
- lsls r1, 8
- subs r0, 0xC
- ldrb r0, [r0]
- orrs r0, r1
- strh r0, [r3]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x6
- ble _080FA05C
- mov r1, r12
- adds r0, r5, r1
- ldrb r1, [r0]
- mov r3, r9
- adds r0, r3, 0
- adds r0, 0x6E
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _080FA0EC
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x88
- adds r1, r0, r1
- ldr r2, _080FA0D8 @ =gUnknown_843EBD4
- adds r0, r3
- adds r0, 0x82
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- beq _080FA0E0
- adds r0, r6, 0
- bl sub_80F965C
- ldr r1, _080FA0DC @ =gUnknown_203AC08
- adds r1, 0x64
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080FA0EC
- .align 2, 0
-_080FA0C8: .4byte gUnknown_3005450
-_080FA0CC: .4byte gSendCmd
-_080FA0D0: .4byte 0xffff8900
-_080FA0D4: .4byte gRecvCmds
-_080FA0D8: .4byte gUnknown_843EBD4
-_080FA0DC: .4byte gUnknown_203AC08
-_080FA0E0:
- movs r0, 0
- mov r4, r9
- str r0, [r4]
- b _080FA0EC
-_080FA0E8:
- movs r0, 0
- str r0, [r5]
-_080FA0EC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end rfufunc_80FA020
-
- thumb_func_start sub_80FA0F8
-sub_80FA0F8: @ 80FA0F8
- push {lr}
- ldr r1, _080FA110 @ =gUnknown_3005450
- 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 gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FA34C: .4byte 0x0000069e
- thumb_func_end sub_80FA2B0
-
- thumb_func_start sub_80FA350
-sub_80FA350: @ 80FA350
- push {r4,lr}
- ldr r4, _080FA378 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_080FA4F4: .4byte gUnknown_3005450
- thumb_func_end GetRfuPlayerCount
-
- thumb_func_start IsLinkRfuTaskFinished
-IsLinkRfuTaskFinished: @ 80FA4F8
- push {lr}
- movs r1, 0
- ldr r0, _080FA50C @ =gUnknown_3005450
- 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 gUnknown_3005450
- thumb_func_end IsLinkRfuTaskFinished
-
- thumb_func_start sub_80FA510
-sub_80FA510: @ 80FA510
- push {lr}
- ldr r0, _080FA524 @ =gUnknown_3005450
- ldr r0, [r0]
- cmp r0, 0
- beq _080FA51E
- bl _call_via_r0
-_080FA51E:
- pop {r0}
- bx r0
- .align 2, 0
-_080FA524: .4byte gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005DDD
- 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 @ =gUnknown_3005DDD
-_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 gUnknown_3005DDD
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FA6B8: .4byte 0x00000989
- thumb_func_end sub_80FA670
-
- thumb_func_start sub_80FA6BC
-sub_80FA6BC: @ 80FA6BC
- push {r4,r5,lr}
- ldr r4, _080FA6F0 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005DE6
- 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 gUnknown_3005DE6
- thumb_func_end sub_80FA9D0
-
- thumb_func_start sub_80FA9FC
-sub_80FA9FC: @ 80FA9FC
- push {r4-r7,lr}
- adds r2, r0, 0
- ldr r1, _080FAA4C @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 rfu_REQ_sendData_wrapper
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB114: .4byte gUnknown_3005E10
- thumb_func_end sub_80FB0E8
-
- thumb_func_start sub_80FB118
-sub_80FB118: @ 80FB118
- ldr r0, _080FB124 @ =gUnknown_3005450
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080FB124: .4byte gUnknown_3005450
- 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 @ =gUnknown_3005450
- adds r0, 0xEE
- ldrb r1, [r0]
- strb r2, [r0]
- b _080FB14A
- .align 2, 0
-_080FB13C: .4byte gUnknown_3005450
-_080FB140:
- ldr r0, _080FB150 @ =gUnknown_3005450
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x4
- strb r1, [r0]
-_080FB14A:
- pop {r0}
- bx r0
- .align 2, 0
-_080FB150: .4byte gUnknown_3005450
- 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 @ =gUnknown_3005450
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080FB16C: .4byte gUnknown_3005E10
-_080FB170: .4byte gUnknown_3005450
- thumb_func_end sub_80FB154
-
- thumb_func_start sub_80FB174
-sub_80FB174: @ 80FB174
- ldr r1, _080FB17C @ =gUnknown_3005450
- ldr r0, _080FB180 @ =sub_80FB154
- str r0, [r1]
- bx lr
- .align 2, 0
-_080FB17C: .4byte gUnknown_3005450
-_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 @ =gUnknown_3005450
- movs r0, 0x2
- strh r0, [r1, 0x4]
- b _080FB366
- .align 2, 0
-_080FB200: .4byte gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB2C4: .4byte 0x0000099f
-_080FB2C8: .4byte gUnknown_3005E10
-_080FB2CC:
- ldr r0, _080FB2D4 @ =gUnknown_3005450
- adds r0, 0xF0
- b _080FB362
- .align 2, 0
-_080FB2D4: .4byte gUnknown_3005450
-_080FB2D8:
- ldr r0, _080FB2E0 @ =gUnknown_3005450
- adds r0, 0xF0
- movs r1, 0x3
- b _080FB364
- .align 2, 0
-_080FB2E0: .4byte gUnknown_3005450
-_080FB2E4:
- ldr r1, _080FB314 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- adds r0, 0xEF
- b _080FB362
- .align 2, 0
-_080FB348: .4byte gUnknown_3005450
-_080FB34C:
- adds r0, r4, 0
- bl sub_80FB0E8
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80FB9E4
- ldr r0, _080FB374 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- movs r0, 0x6
- strh r0, [r1, 0x4]
- b _080FB556
- .align 2, 0
-_080FB3F0: .4byte gUnknown_3005450
-_080FB3F4:
- ldr r0, _080FB400 @ =gUnknown_3005450
- ldr r1, _080FB404 @ =gUnknown_3005E10
- ldrh r1, [r1, 0x14]
- ldr r2, _080FB408 @ =0x00000985
- adds r0, r2
- b _080FB554
- .align 2, 0
-_080FB400: .4byte gUnknown_3005450
-_080FB404: .4byte gUnknown_3005E10
-_080FB408: .4byte 0x00000985
-_080FB40C:
- ldr r0, _080FB41C @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB420: .4byte gUnknown_3005E10
-_080FB424: .4byte 0x000008f6
-_080FB428:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80FB9E4
- b _080FB556
-_080FB432:
- ldr r4, _080FB468 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB4DC: .4byte 0x0000093e
-_080FB4E0: .4byte gUnknown_843EDF8
-_080FB4E4: .4byte gReceivedRemoteLinkPlayers
-_080FB4E8:
- ldr r0, _080FB4FC @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB500: .4byte gUnknown_843EE10
-_080FB504:
- ldr r1, _080FB51C @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB520: .4byte 0x000008f4
-_080FB524:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_80FB9E4
- movs r0, 0xF3
- bl sub_80FB0E8
- ldr r0, _080FB538 @ =gUnknown_3005450
- adds r0, 0xEF
- b _080FB552
- .align 2, 0
-_080FB538: .4byte gUnknown_3005450
-_080FB53C:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80FB9E4
- adds r0, r4, 0
- bl sub_80FB0E8
- ldr r0, _080FB55C @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- movs r0, 0x11
- strh r0, [r1, 0x4]
- b _080FB9C2
- .align 2, 0
-_080FB68C: .4byte gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB708: .4byte 0x00000991
-_080FB70C: .4byte gUnknown_3005E10
-_080FB710: .4byte 0x0000099e
-_080FB714:
- ldr r0, _080FB744 @ =gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB7D0:
- ldr r0, _080FB7DC @ =gUnknown_3005450
- ldr r1, _080FB7E0 @ =gUnknown_3005E10
- ldrh r1, [r1, 0x14]
- ldr r2, _080FB7E4 @ =0x00000985
- adds r0, r2
- b _080FB9C0
- .align 2, 0
-_080FB7DC: .4byte gUnknown_3005450
-_080FB7E0: .4byte gUnknown_3005E10
-_080FB7E4: .4byte 0x00000985
-_080FB7E8:
- ldr r0, _080FB7F8 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB7FC: .4byte gUnknown_3005E10
-_080FB800: .4byte 0x000008f6
-_080FB804:
- ldr r1, _080FB824 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB828: .4byte 0x00000987
-_080FB82C: .4byte sub_80FC028
-_080FB830:
- movs r0, 0x2
- movs r1, 0x23
- bl sub_80FB9E4
- b _080FB9C2
-_080FB83A:
- ldr r4, _080FB860 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- adds r0, 0xF0
- movs r1, 0x1
- b _080FB9C0
- .align 2, 0
-_080FB88C: .4byte gUnknown_3005E10
-_080FB890: .4byte gUnknown_3005450
-_080FB894:
- ldr r2, _080FB8B4 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB8B8: .4byte gRfuLinkStatus
-_080FB8BC: .4byte 0x000008f4
-_080FB8C0:
- ldr r0, _080FB900 @ =gUnknown_3005450
- adds r0, 0xF0
- movs r1, 0x2
- strb r1, [r0]
-_080FB8C8:
- ldr r2, _080FB900 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB97C:
- ldr r0, _080FB984 @ =gUnknown_3005450
- ldr r2, _080FB988 @ =0x0000099b
- adds r0, r2
- b _080FB9BE
- .align 2, 0
-_080FB984: .4byte gUnknown_3005450
-_080FB988: .4byte 0x0000099b
-_080FB98C:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_80FB9E4
- movs r0, 0xF3
- bl sub_80FB0E8
- ldr r0, _080FB9A4 @ =gUnknown_3005450
- adds r0, 0xEF
- movs r1, 0x1
- b _080FB9C0
- .align 2, 0
-_080FB9A4: .4byte gUnknown_3005450
-_080FB9A8:
- adds r0, r4, 0
- bl sub_80FB0E8
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80FB9E4
- ldr r0, _080FB9C8 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_080FB9CC: .4byte 0x00000993
- thumb_func_end sub_80FB5EC
-
- thumb_func_start sub_80FB9D0
-sub_80FB9D0: @ 80FB9D0
- ldr r0, _080FB9DC @ =gUnknown_3005450
- ldr r1, _080FB9E0 @ =0x0000099c
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080FB9DC: .4byte gUnknown_3005450
-_080FB9E0: .4byte 0x0000099c
- thumb_func_end sub_80FB9D0
-
- thumb_func_start sub_80FB9E4
-sub_80FB9E4: @ 80FB9E4
- ldr r2, _080FB9F0 @ =gUnknown_3005450
- adds r3, r2, 0
- adds r3, 0xF1
- strb r0, [r3]
- strh r1, [r2, 0xA]
- bx lr
- .align 2, 0
-_080FB9F0: .4byte gUnknown_3005450
- thumb_func_end sub_80FB9E4
-
- thumb_func_start sub_80FB9F4
-sub_80FB9F4: @ 80FB9F4
- ldr r0, _080FB9FC @ =gUnknown_3005450
- adds r0, 0xF1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080FB9FC: .4byte gUnknown_3005450
- 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 @ =gUnknown_3005450
- movs r1, 0x9A
- lsls r1, 4
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080FBA28: .4byte gUnknown_3005450
- thumb_func_end sub_80FBA1C
-
- thumb_func_start Rfu_IsMaster
-Rfu_IsMaster: @ 80FBA2C
- ldr r0, _080FBA34 @ =gUnknown_3005450
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_080FBA34: .4byte gUnknown_3005450
- 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 @ =gUnknown_3005450
- adds r1, 0x66
- strb r0, [r1]
-_080FBB3E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBB44: .4byte nullsub_89
-_080FBB48: .4byte gUnknown_3005450
- 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 @ =gUnknown_3005450
- adds r0, 0x66
- ldrb r0, [r0]
- bl DestroyTask
-_080FBB66:
- pop {r0}
- bx r0
- .align 2, 0
-_080FBB6C: .4byte nullsub_89
-_080FBB70: .4byte gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005DE6
- 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 gUnknown_3005DE6
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- ldr r1, _080FBF2C @ =0x000008f5
- adds r0, r1
- strb r2, [r0]
- b _080FBF36
- .align 2, 0
-_080FBF28: .4byte gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_300555A
- 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 gUnknown_300555A
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080FC1C4
- movs r0, 0
- b _080FC1C6
- .align 2, 0
-_080FC1C0: .4byte gUnknown_3005450
-_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 @ =gUnknown_3005DD9
- 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 gUnknown_3005DD9
-_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 @ =gUnknown_3005450
- 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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- 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 gUnknown_3005450
-_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 @ =gUnknown_3005450
- ldr r1, _080FC45C @ =0x000008d2
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080FC458: .4byte gUnknown_3005450
-_080FC45C: .4byte 0x000008d2
- thumb_func_end sub_80FC44C
-
- thumb_func_start GetRfuRecvQueueLength
-GetRfuRecvQueueLength: @ 80FC460
- ldr r0, _080FC46C @ =gUnknown_3005450
- ldr r1, _080FC470 @ =0x0000069e
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080FC46C: .4byte gUnknown_3005450
-_080FC470: .4byte 0x0000069e
- thumb_func_end GetRfuRecvQueueLength
-
- thumb_func_start nullsub_89
-nullsub_89: @ 80FC474
- bx lr
- thumb_func_end nullsub_89
-
- thumb_func_start sub_80FC478
-sub_80FC478: @ 80FC478
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r0, 0
- movs r4, 0
- movs r5, 0x46
-_080FC482:
- adds r2, r0, 0x1
- movs r1, 0x45
- muls r0, r5
- adds r0, r3
- adds r0, 0x45
-_080FC48C:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _080FC48C
- adds r0, r2, 0
- cmp r0, 0x13
- ble _080FC482
- movs r1, 0
- ldr r2, _080FC4C8 @ =0x00000579
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- movs r2, 0xAF
- lsls r2, 3
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, _080FC4CC @ =0x0000057a
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, _080FC4D0 @ =0x0000057b
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC4C8: .4byte 0x00000579
-_080FC4CC: .4byte 0x0000057a
-_080FC4D0: .4byte 0x0000057b
- thumb_func_end sub_80FC478
-
- thumb_func_start sub_80FC4D4
-sub_80FC4D4: @ 80FC4D4
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0
- movs r4, 0
-_080FC4DC:
- lsls r0, r1, 3
- adds r2, r1, 0x1
- subs r0, r1
- movs r1, 0xD
- lsls r0, 1
- adds r0, r3
- adds r0, 0xD
-_080FC4EA:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _080FC4EA
- adds r1, r2, 0
- cmp r1, 0x27
- ble _080FC4DC
- movs r1, 0
- ldr r2, _080FC524 @ =0x00000231
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, _080FC528 @ =0x00000232
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, _080FC52C @ =0x00000233
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC524: .4byte 0x00000231
-_080FC528: .4byte 0x00000232
-_080FC52C: .4byte 0x00000233
- thumb_func_end sub_80FC4D4
-
- thumb_func_start sub_80FC530
-sub_80FC530: @ 80FC530
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0
- movs r4, 0
-_080FC538:
- lsls r0, r1, 8
- adds r2, r1, 0x1
- movs r1, 0xFF
- adds r0, r3
- adds r0, 0xFF
-_080FC542:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _080FC542
- adds r1, r2, 0
- cmp r1, 0x1
- ble _080FC538
- movs r1, 0
- ldr r2, _080FC57C @ =0x00000201
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- movs r2, 0x80
- lsls r2, 2
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, _080FC580 @ =0x00000202
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, _080FC584 @ =0x00000203
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC57C: .4byte 0x00000201
-_080FC580: .4byte 0x00000202
-_080FC584: .4byte 0x00000203
- thumb_func_end sub_80FC530
-
- thumb_func_start sub_80FC588
-sub_80FC588: @ 80FC588
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, _080FC620 @ =0x0000057a
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0x13
- bhi _080FC628
- ldr r0, _080FC624 @ =0x04000208
- ldrh r1, [r0]
- adds r7, r1, 0
- movs r1, 0
- strh r1, [r0]
- movs r3, 0
- movs r2, 0
-_080FC5A6:
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080FC5BA
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _080FC5BA
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_080FC5BA:
- adds r2, 0xE
- cmp r2, 0x45
- ble _080FC5A6
- cmp r3, 0x5
- beq _080FC618
- movs r2, 0
- movs r0, 0xAF
- lsls r0, 3
- adds r3, r5, r0
- movs r4, 0x46
-_080FC5CE:
- ldrb r0, [r3]
- adds r1, r0, 0
- muls r1, r4
- adds r1, r2, r1
- adds r1, r5, r1
- adds r0, r6, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x45
- ble _080FC5CE
- movs r1, 0xAF
- lsls r1, 3
- adds r4, r5, r1
- ldrb r0, [r4]
- adds r0, 0x1
- ldrb r1, [r4]
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0x14
- bl __umodsi3
- ldrb r1, [r4]
- strb r0, [r4]
- ldr r0, _080FC620 @ =0x0000057a
- adds r1, r5, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r1, 0
- adds r0, r6, 0
- adds r0, 0x45
-_080FC610:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r6
- bge _080FC610
-_080FC618:
- ldr r0, _080FC624 @ =0x04000208
- strh r7, [r0]
- b _080FC632
- .align 2, 0
-_080FC620: .4byte 0x0000057a
-_080FC624: .4byte 0x04000208
-_080FC628:
- ldr r1, _080FC638 @ =0x0000057b
- adds r0, r5, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_080FC632:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC638: .4byte 0x0000057b
- thumb_func_end sub_80FC588
-
- thumb_func_start sub_80FC63C
-sub_80FC63C: @ 80FC63C
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r1, _080FC6CC @ =0x00000232
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0x27
- bhi _080FC6D4
- ldr r1, _080FC6D0 @ =0x04000208
- ldrh r0, [r1]
- adds r7, r0, 0
- movs r0, 0
- strh r0, [r1]
- movs r2, 0
- ldrb r0, [r5]
- cmp r0, 0
- bne _080FC66C
-_080FC65E:
- adds r2, 0x1
- cmp r2, 0xD
- bgt _080FC66C
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FC65E
-_080FC66C:
- cmp r2, 0xE
- beq _080FC6C4
- movs r2, 0
- movs r0, 0x8C
- lsls r0, 2
- adds r3, r6, r0
-_080FC678:
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r2, r0
- adds r0, r6, r0
- adds r1, r5, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xD
- ble _080FC678
- movs r1, 0x8C
- lsls r1, 2
- adds r4, r6, r1
- ldrb r0, [r4]
- adds r0, 0x1
- ldrb r1, [r4]
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0x28
- bl __umodsi3
- ldrb r1, [r4]
- strb r0, [r4]
- ldr r0, _080FC6CC @ =0x00000232
- adds r1, r6, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r1, 0
- adds r0, r5, 0
- adds r0, 0xD
-_080FC6BC:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r5
- bge _080FC6BC
-_080FC6C4:
- ldr r0, _080FC6D0 @ =0x04000208
- strh r7, [r0]
- b _080FC6DE
- .align 2, 0
-_080FC6CC: .4byte 0x00000232
-_080FC6D0: .4byte 0x04000208
-_080FC6D4:
- ldr r1, _080FC6E4 @ =0x00000233
- adds r0, r6, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_080FC6DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC6E4: .4byte 0x00000233
- thumb_func_end sub_80FC63C
-
- thumb_func_start sub_80FC6E8
-sub_80FC6E8: @ 80FC6E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r3, r1, 0
- ldr r1, _080FC730 @ =0x04000208
- ldrh r0, [r1]
- mov r8, r0
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xAF
- lsls r1, 3
- adds r0, r5, r1
- ldr r7, _080FC734 @ =0x00000579
- adds r4, r5, r7
- ldrb r1, [r0]
- ldrb r0, [r4]
- cmp r1, r0
- beq _080FC718
- ldr r1, _080FC738 @ =0x0000057b
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FC73C
-_080FC718:
- movs r1, 0
- adds r0, r3, 0
- adds r0, 0x45
-_080FC71E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r3
- bge _080FC71E
- ldr r0, _080FC730 @ =0x04000208
- mov r7, r8
- strh r7, [r0]
- movs r0, 0
- b _080FC784
- .align 2, 0
-_080FC730: .4byte 0x04000208
-_080FC734: .4byte 0x00000579
-_080FC738: .4byte 0x0000057b
-_080FC73C:
- movs r2, 0
- movs r6, 0x46
-_080FC740:
- adds r1, r3, r2
- ldrb r0, [r4]
- adds r7, r0, 0
- muls r7, r6
- adds r0, r7, 0
- adds r0, r2, r0
- adds r0, r5, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x45
- ble _080FC740
- ldr r0, _080FC790 @ =0x00000579
- adds r4, r5, r0
- ldrb r0, [r4]
- adds r0, 0x1
- ldrb r1, [r4]
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0x14
- bl __umodsi3
- ldrb r1, [r4]
- strb r0, [r4]
- ldr r7, _080FC794 @ =0x0000057a
- adds r1, r5, r7
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, _080FC798 @ =0x04000208
- mov r1, r8
- strh r1, [r0]
- movs r0, 0x1
-_080FC784:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080FC790: .4byte 0x00000579
-_080FC794: .4byte 0x0000057a
-_080FC798: .4byte 0x04000208
- thumb_func_end sub_80FC6E8
-
- thumb_func_start sub_80FC79C
-sub_80FC79C: @ 80FC79C
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r1, 0x8C
- lsls r1, 2
- adds r0, r5, r1
- adds r1, 0x1
- adds r4, r5, r1
- ldrb r1, [r0]
- ldrb r0, [r4]
- cmp r1, r0
- beq _080FC7C0
- ldr r1, _080FC7C4 @ =0x00000233
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r2, r0, 0
- cmp r2, 0
- beq _080FC7C8
-_080FC7C0:
- movs r0, 0
- b _080FC814
- .align 2, 0
-_080FC7C4: .4byte 0x00000233
-_080FC7C8:
- ldr r1, _080FC81C @ =0x04000208
- ldrh r0, [r1]
- adds r7, r0, 0
- strh r2, [r1]
- movs r3, 0
-_080FC7D2:
- adds r2, r6, r3
- ldrb r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r3, r0
- adds r0, r5, r0
- ldrb r0, [r0]
- strb r0, [r2]
- adds r3, 0x1
- cmp r3, 0xD
- ble _080FC7D2
- ldr r0, _080FC820 @ =0x00000231
- adds r4, r5, r0
- ldrb r0, [r4]
- adds r0, 0x1
- ldrb r1, [r4]
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0x28
- bl __umodsi3
- ldrb r1, [r4]
- strb r0, [r4]
- ldr r0, _080FC824 @ =0x00000232
- adds r1, r5, r0
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, _080FC81C @ =0x04000208
- strh r7, [r0]
- movs r0, 0x1
-_080FC814:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080FC81C: .4byte 0x04000208
-_080FC820: .4byte 0x00000231
-_080FC824: .4byte 0x00000232
- thumb_func_end sub_80FC79C
-
- thumb_func_start sub_80FC828
-sub_80FC828: @ 80FC828
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _080FC83E
- adds r0, r2, 0
- movs r1, 0
- bl sub_80FC888
- b _080FC880
-_080FC83E:
- movs r3, 0
-_080FC840:
- ldrb r1, [r2, 0x1C]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r3, r0
- adds r0, r2, r0
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0xD
- ble _080FC840
- ldrb r0, [r2, 0x1C]
- adds r0, 0x1
- ldrb r1, [r2, 0x1C]
- strb r0, [r2, 0x1C]
- ldrb r1, [r2, 0x1C]
- movs r0, 0x1
- ands r0, r1
- ldrb r1, [r2, 0x1C]
- strb r0, [r2, 0x1C]
- ldrb r0, [r2, 0x1E]
- cmp r0, 0x1
- bhi _080FC87A
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- ldrb r1, [r2, 0x1E]
- strb r0, [r2, 0x1E]
- b _080FC880
-_080FC87A:
- ldrb r0, [r2, 0x1C]
- ldrb r1, [r2, 0x1D]
- strb r0, [r2, 0x1D]
-_080FC880:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FC828
-
- thumb_func_start sub_80FC888
-sub_80FC888: @ 80FC888
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- ldrb r0, [r3, 0x1E]
- cmp r0, 0
- bne _080FC898
- movs r0, 0
- b _080FC8D2
-_080FC898:
- cmp r5, 0
- beq _080FC8B6
- movs r4, 0
-_080FC89E:
- adds r2, r5, r4
- ldrb r1, [r3, 0x1D]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r4, r0
- adds r0, r3, r0
- ldrb r0, [r0]
- strb r0, [r2]
- adds r4, 0x1
- cmp r4, 0xD
- ble _080FC89E
-_080FC8B6:
- ldrb r0, [r3, 0x1D]
- adds r0, 0x1
- ldrb r1, [r3, 0x1D]
- strb r0, [r3, 0x1D]
- ldrb r1, [r3, 0x1D]
- movs r0, 0x1
- ands r0, r1
- ldrb r1, [r3, 0x1D]
- strb r0, [r3, 0x1D]
- ldrb r0, [r3, 0x1E]
- subs r0, 0x1
- ldrb r1, [r3, 0x1E]
- strb r0, [r3, 0x1E]
- movs r0, 0x1
-_080FC8D2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FC888
-
- thumb_func_start sub_80FC8D8
-sub_80FC8D8: @ 80FC8D8
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- ldr r1, _080FC92C @ =0x00000202
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080FC930
- movs r2, 0
- movs r0, 0x80
- lsls r0, 2
- adds r4, r3, r0
-_080FC8F0:
- ldrb r0, [r4]
- lsls r0, 8
- adds r0, r2, r0
- adds r0, r3, r0
- adds r1, r5, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xFF
- ble _080FC8F0
- movs r0, 0x80
- lsls r0, 2
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, _080FC92C @ =0x00000202
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- b _080FC93A
- .align 2, 0
-_080FC92C: .4byte 0x00000202
-_080FC930:
- ldr r1, _080FC940 @ =0x00000203
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_080FC93A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC940: .4byte 0x00000203
- thumb_func_end sub_80FC8D8
-
- thumb_func_start sub_80FC944
-sub_80FC944: @ 80FC944
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- movs r1, 0x80
- lsls r1, 2
- adds r0, r3, r1
- adds r1, 0x1
- adds r4, r3, r1
- ldrb r1, [r0]
- ldrb r0, [r4]
- cmp r1, r0
- beq _080FC966
- ldr r1, _080FC96C @ =0x00000203
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FC970
-_080FC966:
- movs r0, 0
- b _080FC9AA
- .align 2, 0
-_080FC96C: .4byte 0x00000203
-_080FC970:
- movs r2, 0
-_080FC972:
- adds r0, r5, r2
- ldrb r1, [r4]
- lsls r1, 8
- adds r1, r2, r1
- adds r1, r3, r1
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xFF
- ble _080FC972
- ldr r0, _080FC9B0 @ =0x00000201
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, _080FC9B4 @ =0x00000202
- adds r1, r3, r0
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0x1
-_080FC9AA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080FC9B0: .4byte 0x00000201
-_080FC9B4: .4byte 0x00000202
- thumb_func_end sub_80FC944
-
- thumb_func_start sub_80FC9B8
-sub_80FC9B8: @ 80FC9B8
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- movs r5, 0
- cmp r1, 0x1
- beq _080FC9F6
- cmp r1, 0x1
- bgt _080FC9D2
- cmp r1, 0
- beq _080FC9DC
- b _080FCA6A
-_080FC9D2:
- cmp r0, 0x2
- beq _080FCA16
- cmp r0, 0x3
- beq _080FCA36
- b _080FCA6A
-_080FC9DC:
- movs r4, 0
-_080FC9DE:
- adds r0, r6, r4
- adds r1, r4, 0x1
- strb r1, [r0]
- lsls r0, r5, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, r1, 0
- cmp r4, 0xC7
- ble _080FC9DE
- b _080FCA30
-_080FC9F6:
- movs r4, 0
- adds r2, r6, 0
- adds r2, 0xC8
-_080FC9FC:
- adds r0, r6, r4
- adds r1, r4, 0x1
- strb r1, [r0]
- lsls r0, r5, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, r1, 0
- cmp r4, 0x63
- ble _080FC9FC
- strh r5, [r2]
- b _080FCA6A
-_080FCA16:
- movs r4, 0
-_080FCA18:
- bl Random
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, r4
- strb r0, [r1]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x1
- cmp r4, 0xC7
- ble _080FCA18
-_080FCA30:
- adds r0, r6, r4
- strh r5, [r0]
- b _080FCA6A
-_080FCA36:
- movs r4, 0
- ldr r3, _080FCA70 @ =gUnknown_3002018
- ldrb r1, [r3]
- ldrb r0, [r3]
- adds r7, r0, 0x1
- adds r2, r1, 0x1
- movs r0, 0xFF
- mov r12, r0
-_080FCA46:
- adds r0, r6, r4
- adds r1, r4, 0x1
- strb r2, [r0]
- adds r0, r4, r7
- mov r4, r12
- ands r0, r4
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r2, 0x1
- adds r4, r1, 0
- cmp r1, 0xC7
- ble _080FCA46
- adds r0, r6, r1
- strh r5, [r0]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_080FCA6A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCA70: .4byte gUnknown_3002018
- thumb_func_end sub_80FC9B8
-
- thumb_func_start sub_80FCA74
-sub_80FCA74: @ 80FCA74
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080FCA98
- ldr r5, _080FCAA4 @ =gUnknown_843F104
- adds r2, r1, 0
-_080FCA84:
- adds r1, r4, r3
- ldrb r0, [r2]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080FCA84
-_080FCA98:
- adds r1, r4, r3
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCAA4: .4byte gUnknown_843F104
- thumb_func_end sub_80FCA74
-
- thumb_func_start sub_80FCAA8
-sub_80FCAA8: @ 80FCAA8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080FCACC
- ldr r5, _080FCAD8 @ =gUnknown_843F004
- adds r2, r1, 0
-_080FCAB8:
- adds r1, r4, r3
- ldrb r0, [r2]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- ldrb r0, [r2]
- cmp r0, 0
- bne _080FCAB8
-_080FCACC:
- adds r1, r4, r3
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCAD8: .4byte gUnknown_843F004
- thumb_func_end sub_80FCAA8
-
- thumb_func_start sub_80FCADC
-sub_80FCADC: @ 80FCADC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r0, _080FCB04 @ =gRfuLinkStatus
- ldr r4, [r0]
- ldrb r2, [r4, 0x2]
- ldrb r1, [r4]
- adds r7, r0, 0
- cmp r1, 0x1
- bne _080FCB32
- movs r3, 0
- ands r1, r2
- cmp r1, 0
- beq _080FCB0E
- cmp r5, 0x1
- bne _080FCB08
- ldrb r0, [r4, 0xA]
- b _080FCB4C
- .align 2, 0
-_080FCB04: .4byte gRfuLinkStatus
-_080FCB08:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080FCB0E:
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bhi _080FCB4A
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080FCB0E
- adds r0, r6, 0x1
- cmp r5, r0
- bne _080FCB08
-_080FCB28:
- ldr r0, [r7]
- adds r0, 0xA
- adds r0, r3
- ldrb r0, [r0]
- b _080FCB4C
-_080FCB32:
- movs r3, 0
- movs r1, 0x1
-_080FCB36:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080FCB28
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080FCB36
-_080FCB4A:
- movs r0, 0
-_080FCB4C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FCADC
-
- thumb_func_start sub_80FCB54
-sub_80FCB54: @ 80FCB54
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r4, 0
- ldr r0, _080FCC30 @ =gSaveBlock2Ptr
- mov r8, r0
- adds r6, r7, 0x2
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0xA
-_080FCB72:
- adds r0, r6, r4
- adds r1, r5, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x1
- ble _080FCB72
- movs r4, 0
- lsls r2, 7
- mov r12, r2
- adds r1, r7, 0x4
-_080FCB88:
- adds r0, r1, r4
- strb r3, [r0]
- asrs r3, 8
- adds r4, 0x1
- cmp r4, 0x3
- ble _080FCB88
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- movs r6, 0x1
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r7, 0xB]
- movs r5, 0x2
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0xB]
- movs r4, 0x7F
- mov r1, r9
- ands r1, r4
- ldrb r2, [r7, 0xA]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- ands r0, r4
- mov r1, r12
- orrs r0, r1
- strb r0, [r7, 0xA]
- ldrb r0, [r7]
- movs r1, 0x10
- negs r1, r1
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- ldrb r2, [r7, 0x1]
- movs r0, 0x3D
- negs r0, r0
- ands r0, r2
- .ifdef FIRERED
- movs r2, 0x10 @ VERSION_FIRE_RED << 2
- .else
- .ifdef LEAFGREEN
- movs r2, 0x14 @ VERSION_LEAF_GREEN << 2
- .endif
- .endif
- orrs r0, r2
- strb r0, [r7, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r1, r0
- subs r0, 0x10
- ands r1, r0
- subs r0, 0x20
- ands r1, r0
- strb r1, [r7]
- ldr r0, _080FCC34 @ =0x00000844
- bl FlagGet
- lsls r0, 7
- ldrb r1, [r7]
- ands r4, r1
- orrs r4, r0
- strb r4, [r7]
- bl IsNationalPokedexEnabled
- ands r0, r6
- ldrb r1, [r7, 0x1]
- ands r5, r1
- orrs r5, r0
- strb r5, [r7, 0x1]
- ldr r0, _080FCC38 @ =0x0000082c
- bl FlagGet
- ands r6, r0
- lsls r6, 1
- ldrb r1, [r7, 0x1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- orrs r0, r6
- strb r0, [r7, 0x1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCC30: .4byte gSaveBlock2Ptr
-_080FCC34: .4byte 0x00000844
-_080FCC38: .4byte 0x0000082c
- thumb_func_end sub_80FCB54
-
- thumb_func_start sub_80FCC3C
-sub_80FCC3C: @ 80FCC3C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- mov r8, r1
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r0, _080FCC90 @ =gUnknown_3005E10
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _080FCC98
- movs r0, 0x1
- mov r9, r0
- ldr r6, _080FCC94 @ =gRfuLinkStatus
- ldr r0, [r6]
- lsls r4, r5, 5
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_80FA44C
- cmp r0, 0
- beq _080FCC78
- ldr r1, [r6]
- ldrb r0, [r1, 0x7]
- asrs r0, r5
- mov r2, r9
- ands r0, r2
- cmp r0, 0
- bne _080FCCB0
-_080FCC78:
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- mov r0, r8
- movs r1, 0
- movs r2, 0x8
- bl memset
- b _080FCCE4
- .align 2, 0
-_080FCC90: .4byte gUnknown_3005E10
-_080FCC94: .4byte gRfuLinkStatus
-_080FCC98:
- movs r0, 0
- mov r9, r0
- ldr r6, _080FCCCC @ =gRfuLinkStatus
- ldr r0, [r6]
- lsls r4, r5, 5
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_80FA44C
- cmp r0, 0
- beq _080FCCD0
- ldr r1, [r6]
-_080FCCB0:
- adds r1, r4, r1
- adds r1, 0x1A
- adds r0, r7, 0
- movs r2, 0xD
- bl memcpy
- ldr r1, [r6]
- adds r1, r4, r1
- adds r1, 0x29
- mov r0, r8
- movs r2, 0x8
- bl memcpy
- b _080FCCE4
- .align 2, 0
-_080FCCCC: .4byte gRfuLinkStatus
-_080FCCD0:
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- mov r0, r8
- movs r1, 0
- movs r2, 0x8
- bl memset
-_080FCCE4:
- mov r0, r9
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FCC3C
-
- thumb_func_start sub_80FCCF4
-sub_80FCCF4: @ 80FCCF4
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- movs r7, 0
- ldr r6, _080FCD2C @ =gRfuLinkStatus
- ldr r0, [r6]
- lsrs r4, r2, 19
- adds r2, r0, r4
- ldrh r1, [r2, 0x18]
- ldr r0, _080FCD30 @ =0x00007f7d
- cmp r1, r0
- bne _080FCD34
- adds r1, r2, 0
- adds r1, 0x1A
- adds r0, r3, 0
- movs r2, 0xD
- bl memcpy
- ldr r1, [r6]
- adds r1, r4, r1
- adds r1, 0x29
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- movs r7, 0x1
- b _080FCD48
- .align 2, 0
-_080FCD2C: .4byte gRfuLinkStatus
-_080FCD30: .4byte 0x00007f7d
-_080FCD34:
- adds r0, r3, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
-_080FCD48:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FCCF4
-
- thumb_func_start sub_80FCD50
-sub_80FCD50: @ 80FCD50
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, _080FCD6C @ =gUnknown_3005440
- movs r2, 0xD
- bl memcpy
- ldr r1, _080FCD70 @ =gUnknown_3005E00
- adds r0, r4, 0
- movs r2, 0x8
- bl memcpy
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCD6C: .4byte gUnknown_3005440
-_080FCD70: .4byte gUnknown_3005E00
- thumb_func_end sub_80FCD50
-
- thumb_func_start CreateWirelessStatusIndicatorSprite
-CreateWirelessStatusIndicatorSprite: @ 80FCD74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r3, 0
- bne _080FCD8A
- cmp r2, 0
- bne _080FCD8A
- movs r3, 0xE7
- movs r2, 0x8
-_080FCD8A:
- ldr r0, _080FCDCC @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FCDE4
- ldr r0, _080FCDD0 @ =gUnknown_843F284
- adds r1, r3, 0
- movs r3, 0
- bl CreateSprite
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080FCDD4 @ =gSprites
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r4, r0
- ldr r0, _080FCDD8 @ =0x00001234
- strh r0, [r4, 0x3C]
- ldr r0, _080FCDDC @ =gUnknown_843F274
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- strh r0, [r4, 0x3A]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldr r0, _080FCDE0 @ =gUnknown_203ACE4
- strb r5, [r0]
- b _080FCE2A
- .align 2, 0
-_080FCDCC: .4byte gRfuLinkStatus
-_080FCDD0: .4byte gUnknown_843F284
-_080FCDD4: .4byte gSprites
-_080FCDD8: .4byte 0x00001234
-_080FCDDC: .4byte gUnknown_843F274
-_080FCDE0: .4byte gUnknown_203ACE4
-_080FCDE4:
- ldr r0, _080FCE30 @ =gUnknown_843F284
- adds r1, r3, 0
- movs r3, 0
- bl CreateSprite
- ldr r4, _080FCE34 @ =gUnknown_203ACE4
- strb r0, [r4]
- ldr r5, _080FCE38 @ =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _080FCE3C @ =0x00001234
- strh r1, [r0, 0x3C]
- ldr r0, _080FCE40 @ =gUnknown_843F274
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- strh r0, [r1, 0x3A]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080FCE2A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCE30: .4byte gUnknown_843F284
-_080FCE34: .4byte gUnknown_203ACE4
-_080FCE38: .4byte gSprites
-_080FCE3C: .4byte 0x00001234
-_080FCE40: .4byte gUnknown_843F274
- thumb_func_end CreateWirelessStatusIndicatorSprite
-
- thumb_func_start DestroyWirelessStatusIndicatorSprite
-DestroyWirelessStatusIndicatorSprite: @ 80FCE44
- push {r4,lr}
- ldr r4, _080FCE90 @ =gSprites
- ldr r3, _080FCE94 @ =gUnknown_203ACE4
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r4
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- ldr r0, _080FCE98 @ =0x00001234
- cmp r1, r0
- bne _080FCE8A
- movs r0, 0
- strh r0, [r2, 0x3C]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r3, _080FCE9C @ =gMain
- movs r0, 0x84
- lsls r0, 3
- adds r3, r0
- ldr r0, _080FCEA0 @ =gDummyOamData
- ldr r1, [r0]
- ldr r2, [r0, 0x4]
- str r1, [r3]
- str r2, [r3, 0x4]
- ldr r1, _080FCEA4 @ =0x070003e8
- movs r2, 0x4
- bl CpuSet
-_080FCE8A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCE90: .4byte gSprites
-_080FCE94: .4byte gUnknown_203ACE4
-_080FCE98: .4byte 0x00001234
-_080FCE9C: .4byte gMain
-_080FCEA0: .4byte gDummyOamData
-_080FCEA4: .4byte 0x070003e8
- thumb_func_end DestroyWirelessStatusIndicatorSprite
-
- thumb_func_start LoadWirelessStatusIndicatorSpriteGfx
-LoadWirelessStatusIndicatorSpriteGfx: @ 80FCEA8
- push {r4,lr}
- ldr r4, _080FCED4 @ =gUnknown_843F274
- ldrh r0, [r4, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, _080FCED8 @ =0xffff0000
- cmp r0, r1
- bne _080FCEC0
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
-_080FCEC0:
- ldr r0, _080FCEDC @ =gUnknown_843F27C
- bl LoadSpritePalette
- ldr r1, _080FCEE0 @ =gUnknown_203ACE4
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCED4: .4byte gUnknown_843F274
-_080FCED8: .4byte 0xffff0000
-_080FCEDC: .4byte gUnknown_843F27C
-_080FCEE0: .4byte gUnknown_203ACE4
- thumb_func_end LoadWirelessStatusIndicatorSpriteGfx
-
- thumb_func_start sub_80FCEE4
-sub_80FCEE4: @ 80FCEE4
- push {r4,lr}
- ldr r1, _080FCF04 @ =gRfuLinkStatus
- ldr r0, [r1]
- ldrb r2, [r0, 0x2]
- movs r3, 0
- movs r4, 0x1
-_080FCEF0:
- adds r0, r2, 0
- ands r0, r4
- cmp r0, 0
- beq _080FCF08
- ldr r0, [r1]
- adds r0, 0xA
- adds r0, r3
- ldrb r0, [r0]
- b _080FCF16
- .align 2, 0
-_080FCF04: .4byte gRfuLinkStatus
-_080FCF08:
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080FCEF0
- movs r0, 0
-_080FCF16:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FCEE4
-
- thumb_func_start sub_80FCF1C
-sub_80FCF1C: @ 80FCF1C
- push {lr}
- adds r2, r0, 0
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, r1
- beq _080FCF30
- movs r0, 0
- strh r1, [r2, 0x32]
- strh r0, [r2, 0x34]
- strh r0, [r2, 0x36]
-_080FCF30:
- pop {r0}
- bx r0
- thumb_func_end sub_80FCF1C
-
- thumb_func_start sub_80FCF34
-sub_80FCF34: @ 80FCF34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _080FCF78 @ =gUnknown_203ACE4
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080FCF44
- b _080FD106
-_080FCF44:
- ldr r2, _080FCF7C @ =gSprites
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- ldr r0, _080FCF80 @ =0x00001234
- cmp r1, r0
- beq _080FCF5C
- b _080FD106
-_080FCF5C:
- adds r6, r2, 0
- movs r5, 0xFF
- movs r4, 0
- ldr r0, _080FCF84 @ =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FCFB6
- adds r7, r6, 0
- adds r7, 0x28
- movs r1, 0x29
- adds r1, r6
- mov r8, r1
- b _080FCFA6
- .align 2, 0
-_080FCF78: .4byte gUnknown_203ACE4
-_080FCF7C: .4byte gSprites
-_080FCF80: .4byte 0x00001234
-_080FCF84: .4byte gRfuLinkStatus
-_080FCF88:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80FCADC
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcc _080FCFA6
- adds r0, r4, 0
- bl sub_80FCADC
- lsls r0, 24
- lsrs r5, r0, 24
-_080FCFA6:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r4, r0
- blt _080FCF88
- b _080FCFC8
-_080FCFB6:
- bl sub_80FCEE4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r6, 0
- adds r7, 0x28
- movs r2, 0x29
- adds r2, r6
- mov r8, r2
-_080FCFC8:
- bl sub_80FC1B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FCFD8
- movs r0, 0x4
- b _080FD006
-_080FCFD8:
- cmp r5, 0x18
- bhi _080FCFE0
- movs r0, 0x3
- b _080FD006
-_080FCFE0:
- adds r0, r5, 0
- subs r0, 0x19
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- bhi _080FCFF0
- movs r0, 0x2
- b _080FD006
-_080FCFF0:
- adds r0, r5, 0
- subs r0, 0x7F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- bhi _080FD000
- movs r0, 0x1
- b _080FD006
-_080FD000:
- cmp r5, 0xE4
- bls _080FD008
- movs r0, 0
-_080FD006:
- strh r0, [r6, 0x2E]
-_080FD008:
- movs r3, 0x2E
- ldrsh r1, [r6, r3]
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- cmp r1, r0
- beq _080FD01E
- adds r0, r6, 0
- bl sub_80FCF1C
- ldrh r0, [r6, 0x2E]
- strh r0, [r6, 0x30]
-_080FD01E:
- movs r0, 0x32
- ldrsh r1, [r6, r0]
- ldr r2, [r6, 0x8]
- lsls r1, 2
- adds r1, r2
- movs r3, 0x36
- ldrsh r0, [r6, r3]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 10
- lsrs r0, 26
- movs r3, 0x34
- ldrsh r1, [r6, r3]
- cmp r0, r1
- bge _080FD06C
- ldrh r0, [r6, 0x36]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r6, 0x36]
- strh r3, [r6, 0x34]
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r0, 2
- adds r0, r2
- movs r2, 0x36
- ldrsh r1, [r6, r2]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- ldrsh r1, [r1, r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- bne _080FD072
- strh r3, [r6, 0x36]
- b _080FD072
-_080FD06C:
- ldrh r0, [r6, 0x34]
- adds r0, 0x1
- strh r0, [r6, 0x34]
-_080FD072:
- ldr r4, _080FD110 @ =gMain
- movs r1, 0x84
- lsls r1, 3
- adds r0, r4, r1
- ldr r1, _080FD114 @ =gUnknown_843F204
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r0]
- str r2, [r0, 0x4]
- movs r3, 0x20
- ldrsh r2, [r6, r3]
- movs r1, 0
- ldrsb r1, [r7, r1]
- adds r2, r1
- ldr r1, _080FD118 @ =0x00000422
- adds r5, r4, r1
- ldr r3, _080FD11C @ =0x000001ff
- adds r1, r3, 0
- ands r2, r1
- ldrh r3, [r5]
- ldr r1, _080FD120 @ =0xfffffe00
- ands r1, r3
- orrs r1, r2
- strh r1, [r5]
- ldrh r1, [r6, 0x22]
- mov r2, r8
- ldrb r2, [r2]
- adds r1, r2
- strb r1, [r0]
- ldrb r2, [r6, 0x5]
- ldr r3, _080FD124 @ =0x00000425
- adds r5, r4, r3
- lsrs r2, 4
- lsls r2, 4
- ldrb r3, [r5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r2
- strb r1, [r5]
- movs r1, 0x32
- ldrsh r2, [r6, r1]
- ldr r1, [r6, 0x8]
- lsls r2, 2
- adds r2, r1
- movs r3, 0x36
- ldrsh r1, [r6, r3]
- ldr r2, [r2]
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1]
- ldrh r6, [r6, 0x3A]
- adds r2, r6
- ldr r1, _080FD128 @ =0x00000424
- adds r4, r1
- ldr r3, _080FD12C @ =0x000003ff
- adds r1, r3, 0
- ands r2, r1
- ldrh r3, [r4]
- ldr r1, _080FD130 @ =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r4]
- ldr r1, _080FD134 @ =0x070003e8
- movs r2, 0x4
- bl CpuSet
- bl sub_80FB9F4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FD106
- bl DestroyWirelessStatusIndicatorSprite
-_080FD106:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD110: .4byte gMain
-_080FD114: .4byte gUnknown_843F204
-_080FD118: .4byte 0x00000422
-_080FD11C: .4byte 0x000001ff
-_080FD120: .4byte 0xfffffe00
-_080FD124: .4byte 0x00000425
-_080FD128: .4byte 0x00000424
-_080FD12C: .4byte 0x000003ff
-_080FD130: .4byte 0xfffffc00
-_080FD134: .4byte 0x070003e8
- thumb_func_end sub_80FCF34
-
- thumb_func_start sub_80FD138
-sub_80FD138: @ 80FD138
- push {r4,r5,lr}
- adds r4, r0, 0
- str r1, [r4]
- movs r3, 0
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _080FD15C
- adds r5, r4, 0x4
-_080FD148:
- adds r1, r5, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x6
- bgt _080FD15C
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080FD148
-_080FD15C:
- adds r0, r4, 0x4
- adds r0, r3
- movs r1, 0xFF
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD138
-
- thumb_func_start sub_80FD16C
-sub_80FD16C: @ 80FD16C
- push {lr}
- movs r2, 0
- movs r1, 0x7
-_080FD172:
- strb r2, [r0]
- adds r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _080FD172
- pop {r0}
- bx r0
- thumb_func_end sub_80FD16C
-
- thumb_func_start sub_80FD180
-sub_80FD180: @ 80FD180
- push {lr}
- adds r1, r0, 0
- movs r2, 0
-_080FD186:
- ldrb r0, [r1]
- adds r1, 0x1
- cmp r0, 0
- beq _080FD192
- movs r0, 0
- b _080FD19A
-_080FD192:
- adds r2, 0x1
- cmp r2, 0x7
- ble _080FD186
- movs r0, 0x1
-_080FD19A:
- pop {r1}
- bx r1
- thumb_func_end sub_80FD180
-
- thumb_func_start sub_80FD1A0
-sub_80FD1A0: @ 80FD1A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r0, _080FD1C4 @ =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FD1B6
- b _080FD318
-_080FD1B6:
- movs r0, 0xF0
- bl AllocZeroed
- str r0, [sp, 0x14]
- movs r4, 0
- b _080FD22C
- .align 2, 0
-_080FD1C4: .4byte gWirelessCommType
-_080FD1C8:
- lsls r2, r4, 2
- mov r0, sp
- adds r1, r0, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- movs r5, 0
- mov r8, r2
- lsls r0, r4, 3
- adds r1, r4, 0x1
- mov r9, r1
- subs r0, r4
- lsls r0, 2
- str r0, [sp, 0x1C]
- ldr r2, _080FD24C @ =gLinkPlayers + 8
- mov r10, r2
- ldr r6, _080FD250 @ =0x00003ba8
- movs r4, 0
- mov r0, r10
- subs r0, 0x4
- ldr r7, [sp, 0x1C]
- adds r3, r7, r0
-_080FD1F4:
- ldrh r1, [r3]
- ldr r0, _080FD254 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r7, _080FD250 @ =0x00003ba8
- adds r0, r2, r7
- adds r0, r4
- ldr r0, [r0]
- cmp r1, r0
- bne _080FD220
- adds r1, r2, r6
- adds r1, 0x4
- ldr r0, [sp, 0x1C]
- add r0, r10
- str r3, [sp, 0x18]
- bl StringCompare
- ldr r3, [sp, 0x18]
- cmp r0, 0
- bne _080FD220
- mov r0, sp
- add r0, r8
- str r5, [r0]
-_080FD220:
- adds r6, 0xC
- adds r4, 0xC
- adds r5, 0x1
- cmp r5, 0x13
- ble _080FD1F4
- mov r4, r9
-_080FD22C:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _080FD1C8
- movs r0, 0
- mov r8, r0
- movs r4, 0
- ldr r1, _080FD254 @ =gSaveBlock1Ptr
- mov r9, r1
- mov r7, sp
- movs r5, 0
- ldr r6, [sp, 0x14]
- b _080FD2A4
- .align 2, 0
-_080FD24C: .4byte gLinkPlayers + 8
-_080FD250: .4byte 0x00003ba8
-_080FD254: .4byte gSaveBlock1Ptr
-_080FD258:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _080FD29E
- ldr r2, _080FD328 @ =gLinkPlayers
- adds r0, r5, r2
- ldrh r0, [r0, 0x1A]
- cmp r0, 0x1
- beq _080FD29E
- adds r0, r2, 0x4
- adds r0, r5, r0
- ldrh r1, [r0]
- adds r2, 0x8
- adds r2, r5, r2
- adds r0, r6, 0
- bl sub_80FD138
- ldr r1, [r7]
- cmp r1, 0
- blt _080FD298
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- mov r2, r9
- ldr r1, [r2]
- adds r0, r1
- ldr r1, _080FD32C @ =0x00003bac
- adds r0, r1
- bl sub_80FD16C
-_080FD298:
- adds r6, 0xC
- movs r2, 0x1
- add r8, r2
-_080FD29E:
- adds r7, 0x4
- adds r5, 0x1C
- adds r4, 0x1
-_080FD2A4:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _080FD258
- movs r4, 0
- ldr r7, _080FD330 @ =gSaveBlock1Ptr
- mov r9, r7
- ldr r6, _080FD334 @ =0x00003ba8
- movs r7, 0
- mov r1, r8
- lsls r0, r1, 1
- add r0, r8
- lsls r0, 2
- ldr r2, [sp, 0x14]
- adds r5, r0, r2
-_080FD2C6:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r6
- adds r0, 0x4
- bl sub_80FD180
- cmp r0, 0
- bne _080FD2F8
- mov r0, r9
- ldr r2, [r0]
- ldr r1, _080FD334 @ =0x00003ba8
- adds r0, r2, r1
- adds r0, r7
- ldr r1, [r0]
- adds r2, r6
- adds r2, 0x4
- adds r0, r5, 0
- bl sub_80FD138
- adds r5, 0xC
- movs r2, 0x1
- add r8, r2
- mov r0, r8
- cmp r0, 0x13
- bgt _080FD302
-_080FD2F8:
- adds r6, 0xC
- adds r7, 0xC
- adds r4, 0x1
- cmp r4, 0x13
- ble _080FD2C6
-_080FD302:
- ldr r0, _080FD330 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, _080FD334 @ =0x00003ba8
- adds r0, r1
- ldr r1, [sp, 0x14]
- movs r2, 0xF0
- bl memcpy
- ldr r0, [sp, 0x14]
- bl Free
-_080FD318:
- 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
-_080FD328: .4byte gLinkPlayers
-_080FD32C: .4byte 0x00003bac
-_080FD330: .4byte gSaveBlock1Ptr
-_080FD334: .4byte 0x00003ba8
- thumb_func_end sub_80FD1A0
-
- thumb_func_start sub_80FD338
-sub_80FD338: @ 80FD338
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r7, 0
- ldr r6, _080FD374 @ =gSaveBlock1Ptr
- ldr r4, _080FD378 @ =0x00003ba8
- movs r5, 0
-_080FD350:
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x4
- mov r1, r9
- movs r2, 0x7
- bl StringCompareN
- cmp r0, 0
- bne _080FD37C
- ldr r0, [r6]
- ldr r1, _080FD378 @ =0x00003ba8
- adds r0, r1
- adds r0, r5
- ldr r0, [r0]
- cmp r0, r8
- bne _080FD37C
- movs r0, 0x1
- b _080FD396
- .align 2, 0
-_080FD374: .4byte gSaveBlock1Ptr
-_080FD378: .4byte 0x00003ba8
-_080FD37C:
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x4
- bl sub_80FD180
- cmp r0, 0
- bne _080FD394
- adds r4, 0xC
- adds r5, 0xC
- adds r7, 0x1
- cmp r7, 0x13
- ble _080FD350
-_080FD394:
- movs r0, 0
-_080FD396:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD338
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/overworld.s b/asm/overworld.s
index 3dbea1b1f..2316f77b1 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
@@ -7124,7 +7124,7 @@ _08058350: .4byte gWirelessCommType
_08058354: .4byte gLink
_08058358: .4byte 0x00000339
_0805835C:
- ldr r0, _08058368 @ =gUnknown_3005450
+ ldr r0, _08058368 @ =Rfu
ldr r1, _0805836C @ =0x000008d2
adds r0, r1
ldrb r0, [r0]
@@ -7132,7 +7132,7 @@ _08058364:
pop {r1}
bx r1
.align 2, 0
-_08058368: .4byte gUnknown_3005450
+_08058368: .4byte Rfu
_0805836C: .4byte 0x000008d2
thumb_func_end sub_805833C
diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s
index 38e233d6c..5e6327c81 100644
--- a/asm/pokemon_jump_2.s
+++ b/asm/pokemon_jump_2.s
@@ -3930,7 +3930,7 @@ _081497FA:
sub_8149804: @ 8149804
push {lr}
movs r2, 0
- ldr r1, _08149828 @ =gUnknown_3005450
+ ldr r1, _08149828 @ =Rfu
ldr r3, _0814982C @ =0x0000069e
adds r0, r1, r3
ldrb r0, [r0]
@@ -3947,7 +3947,7 @@ _08149820:
pop {r1}
bx r1
.align 2, 0
-_08149828: .4byte gUnknown_3005450
+_08149828: .4byte Rfu
_0814982C: .4byte 0x0000069e
_08149830: .4byte 0x000008d2
thumb_func_end sub_8149804
diff --git a/asm/link_rfu_3.s b/asm/union_room.s
index 1bd5420fa..2e681d8ca 100644
--- a/asm/link_rfu_3.s
+++ b/asm/union_room.s
@@ -3544,7 +3544,7 @@ _081175E4:
.4byte _0811761C
.4byte _0811761C
_0811761C:
- bl sub_80FD1A0
+ bl RecordMixTrainerNames
_08117620:
ldr r0, _08117638 @ =gUnknown_203B058
ldrb r0, [r0]
@@ -11144,2060 +11144,4 @@ _0811B4F0:
_0811B500: .4byte gUnknown_8459580
thumb_func_end sub_811B31C
- thumb_func_start is_walking_or_running
-is_walking_or_running: @ 811B504
- push {lr}
- ldr r0, _0811B518 @ =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x2
- beq _0811B512
- cmp r0, 0
- bne _0811B51C
-_0811B512:
- movs r0, 0x1
- b _0811B51E
- .align 2, 0
-_0811B518: .4byte gPlayerAvatar
-_0811B51C:
- movs r0, 0
-_0811B51E:
- pop {r1}
- bx r1
- thumb_func_end is_walking_or_running
-
- thumb_func_start sub_811B524
-sub_811B524: @ 811B524
- ldr r3, _0811B538 @ =gUnknown_84570D8
- movs r2, 0x7
- ands r2, r1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- adds r2, r1
- adds r2, r3
- ldrb r0, [r2]
- bx lr
- .align 2, 0
-_0811B538: .4byte gUnknown_84570D8
- thumb_func_end sub_811B524
-
- thumb_func_start sub_811B53C
-sub_811B53C: @ 811B53C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, _0811B584 @ =gUnknown_84570EC
- mov r8, r4
- lsls r0, 2
- adds r4, r0, r4
- movs r6, 0
- ldrsh r5, [r4, r6]
- ldr r6, _0811B588 @ =gUnknown_845710C
- lsls r1, 1
- adds r4, r1, r6
- ldrb r4, [r4]
- lsls r4, 24
- asrs r4, 24
- adds r5, r4
- adds r5, 0x7
- str r5, [r2]
- movs r2, 0x2
- add r8, r2
- add r0, r8
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r6, 0x1
- adds r1, r6
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- str r0, [r3]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811B584: .4byte gUnknown_84570EC
-_0811B588: .4byte gUnknown_845710C
- thumb_func_end sub_811B53C
-
- thumb_func_start sub_811B58C
-sub_811B58C: @ 811B58C
- push {r4-r7,lr}
- mov r12, r3
- ldr r7, _0811B5CC @ =gUnknown_84570EC
- lsls r5, r0, 2
- adds r0, r5, r7
- movs r4, 0
- ldrsh r3, [r0, r4]
- ldr r6, _0811B5D0 @ =gUnknown_845710C
- lsls r4, r1, 1
- adds r0, r4, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r3, r0
- adds r3, 0x7
- cmp r3, r2
- bne _0811B5D4
- adds r0, r7, 0x2
- adds r0, r5, r0
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r6, 0x1
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r0
- adds r1, 0x7
- cmp r1, r12
- bne _0811B5D4
- movs r0, 0x1
- b _0811B5D6
- .align 2, 0
-_0811B5CC: .4byte gUnknown_84570EC
-_0811B5D0: .4byte gUnknown_845710C
-_0811B5D4:
- movs r0, 0
-_0811B5D6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_811B58C
-
- thumb_func_start sub_811B5DC
-sub_811B5DC: @ 811B5DC
- push {lr}
- adds r0, 0x63
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_811B5DC
-
- thumb_func_start sub_811B5F0
-sub_811B5F0: @ 811B5F0
- push {lr}
- adds r0, 0x63
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end sub_811B5F0
-
- thumb_func_start sub_811B600
-sub_811B600: @ 811B600
- push {lr}
- adds r0, 0x63
- lsls r0, 16
- lsrs r0, 16
- bl FlagClear
- pop {r0}
- bx r0
- thumb_func_end sub_811B600
-
- thumb_func_start sub_811B610
-sub_811B610: @ 811B610
- push {lr}
- ldr r2, _0811B628 @ =0x00004010
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_0811B628: .4byte 0x00004010
- thumb_func_end sub_811B610
-
- thumb_func_start sub_811B62C
-sub_811B62C: @ 811B62C
- push {lr}
- ldr r1, _0811B644 @ =gUnknown_8457120
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0811B648 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl show_sprite
- pop {r0}
- bx r0
- .align 2, 0
-_0811B644: .4byte gUnknown_8457120
-_0811B648: .4byte gSaveBlock1Ptr
- thumb_func_end sub_811B62C
-
- thumb_func_start sub_811B64C
-sub_811B64C: @ 811B64C
- push {lr}
- ldr r1, _0811B664 @ =gUnknown_8457120
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0811B668 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl RemoveObjectEventByLocalIdAndMap
- pop {r0}
- bx r0
- .align 2, 0
-_0811B664: .4byte gUnknown_8457120
-_0811B668: .4byte gSaveBlock1Ptr
- thumb_func_end sub_811B64C
-
- thumb_func_start sub_811B66C
-sub_811B66C: @ 811B66C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- ldr r1, _0811B6B8 @ =gUnknown_8457120
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0811B6BC @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0811B6D0
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0811B6C0 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- bne _0811B6D0
- ldrb r1, [r5]
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- lsls r0, 24
- cmp r0, 0
- bne _0811B6C4
- movs r0, 0x1
- b _0811B6D2
- .align 2, 0
-_0811B6B8: .4byte gUnknown_8457120
-_0811B6BC: .4byte gSaveBlock1Ptr
-_0811B6C0: .4byte gObjectEvents
-_0811B6C4:
- ldr r0, _0811B6DC @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
- ldr r1, _0811B6E0 @ =0x00000183
- ldr r2, _0811B6E4 @ =gUnknown_8457174 "0"
- movs r3, 0x1
- bl AGBAssert
-_0811B6D0:
- movs r0, 0
-_0811B6D2:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0811B6DC: .4byte gUnknown_8457138
-_0811B6E0: .4byte 0x00000183
-_0811B6E4: .4byte gUnknown_8457174
- thumb_func_end sub_811B66C
-
- thumb_func_start sub_811B6E8
-sub_811B6E8: @ 811B6E8
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _0811B724 @ =gUnknown_8457120
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0811B728 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0811B748
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0811B72C @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- bne _0811B730
- movs r0, 0
- b _0811B74A
- .align 2, 0
-_0811B724: .4byte gUnknown_8457120
-_0811B728: .4byte gSaveBlock1Ptr
-_0811B72C: .4byte gObjectEvents
-_0811B730:
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- cmp r0, 0
- bne _0811B742
- adds r0, r4, 0
- bl npc_sync_anim_pause_bits
- b _0811B748
-_0811B742:
- adds r0, r4, 0
- bl FreezeObjectEvent
-_0811B748:
- movs r0, 0x1
-_0811B74A:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811B6E8
-
- thumb_func_start sub_811B754
-sub_811B754: @ 811B754
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _0811B798 @ =gUnknown_203B088
- movs r1, 0
- str r1, [r0]
- ldr r0, _0811B79C @ =gUnknown_203B084
- str r4, [r0]
- cmp r4, 0
- bne _0811B774
- ldr r0, _0811B7A0 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
- movs r1, 0xDD
- lsls r1, 1
- ldr r2, _0811B7A4 @ =gUnknown_8457178 "UnionObjWork != NULL"
- movs r3, 0x1
- bl AGBAssert
-_0811B774:
- movs r1, 0
- adds r0, r4, 0
- movs r2, 0x7
-_0811B77A:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- adds r0, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _0811B77A
- bl sub_811BA18
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0811B798: .4byte gUnknown_203B088
-_0811B79C: .4byte gUnknown_203B084
-_0811B7A0: .4byte gUnknown_8457138
-_0811B7A4: .4byte gUnknown_8457178
- thumb_func_end sub_811B754
-
- thumb_func_start sub_811B7A8
-sub_811B7A8: @ 811B7A8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- beq _0811B7BC
- cmp r0, 0x1
- beq _0811B7DC
- b _0811B7FA
-_0811B7BC:
- ldr r1, _0811B7D8 @ =gUnknown_845718D
- adds r0, r4, 0
- bl sub_811B66C
- cmp r0, 0x1
- bne _0811B7FA
- adds r0, r4, 0
- bl sub_811B5F0
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0811B7FA
- .align 2, 0
-_0811B7D8: .4byte gUnknown_845718D
-_0811B7DC:
- adds r0, r4, 0
- bl sub_811B6E8
- cmp r0, 0
- beq _0811B7FA
- adds r0, r4, 0
- bl sub_811B64C
- adds r0, r4, 0
- bl sub_811B5F0
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x1
- b _0811B7FC
-_0811B7FA:
- movs r0, 0
-_0811B7FC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811B7A8
-
- thumb_func_start sub_811B804
-sub_811B804: @ 811B804
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x2
- beq _0811B8A0
- cmp r0, 0x2
- bgt _0811B820
- cmp r0, 0
- beq _0811B826
- b _0811B8B2
-_0811B820:
- cmp r0, 0x3
- beq _0811B888
- b _0811B8B2
-_0811B826:
- bl is_walking_or_running
- cmp r0, 0
- beq _0811B8B2
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r4, r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_811B58C
- cmp r0, 0x1
- beq _0811B8B2
- mov r0, sp
- adds r1, r4, 0
- bl plaer_get_pos_including_state_based_drift
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r4, r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_811B58C
- cmp r0, 0x1
- beq _0811B8B2
- ldrb r1, [r7, 0x1]
- adds r0, r5, 0
- bl sub_811B610
- adds r0, r5, 0
- bl sub_811B62C
- adds r0, r5, 0
- bl sub_811B600
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0811B888:
- ldr r1, _0811B89C @ =gUnknown_845718F
- adds r0, r5, 0
- bl sub_811B66C
- cmp r0, 0x1
- bne _0811B8B2
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _0811B8B2
- .align 2, 0
-_0811B89C: .4byte gUnknown_845718F
-_0811B8A0:
- adds r0, r5, 0
- bl sub_811B6E8
- cmp r0, 0
- beq _0811B8B2
- movs r0, 0
- strb r0, [r6]
- movs r0, 0x1
- b _0811B8B4
-_0811B8B2:
- movs r0, 0
-_0811B8B4:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_811B804
-
- thumb_func_start sub_811B8BC
-sub_811B8BC: @ 811B8BC
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, _0811B8F4 @ =gUnknown_203B084
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- cmp r1, 0
- bne _0811B8DA
- ldr r0, _0811B8F8 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
- ldr r1, _0811B8FC @ =0x00000231
- ldr r2, _0811B900 @ =gUnknown_8457178 "UnionObjWork != NULL"
- movs r3, 0x1
- bl AGBAssert
-_0811B8DA:
- movs r0, 0x1
- strb r0, [r4, 0x3]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_811B524
- strb r0, [r4, 0x1]
- ldrb r0, [r4]
- cmp r0, 0
- beq _0811B904
- movs r0, 0
- b _0811B906
- .align 2, 0
-_0811B8F4: .4byte gUnknown_203B084
-_0811B8F8: .4byte gUnknown_8457138
-_0811B8FC: .4byte 0x00000231
-_0811B900: .4byte gUnknown_8457178
-_0811B904:
- movs r0, 0x1
-_0811B906:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_811B8BC
-
- thumb_func_start sub_811B90C
-sub_811B90C: @ 811B90C
- push {r4,lr}
- ldr r1, _0811B934 @ =gUnknown_203B084
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- cmp r1, 0
- bne _0811B926
- ldr r0, _0811B938 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
- ldr r1, _0811B93C @ =0x00000241
- ldr r2, _0811B940 @ =gUnknown_8457178 "UnionObjWork != NULL"
- movs r3, 0x1
- bl AGBAssert
-_0811B926:
- movs r0, 0x2
- strb r0, [r4, 0x3]
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _0811B944
- movs r0, 0
- b _0811B946
- .align 2, 0
-_0811B934: .4byte gUnknown_203B084
-_0811B938: .4byte gUnknown_8457138
-_0811B93C: .4byte 0x00000241
-_0811B940: .4byte gUnknown_8457178
-_0811B944:
- movs r0, 0x1
-_0811B946:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811B90C
-
- thumb_func_start sub_811B94C
-sub_811B94C: @ 811B94C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _0811B9AE
- cmp r1, 0x1
- bgt _0811B962
- cmp r1, 0
- beq _0811B96C
- b _0811B9CE
-_0811B962:
- cmp r1, 0x2
- beq _0811B978
- cmp r1, 0x3
- beq _0811B9BC
- b _0811B9CE
-_0811B96C:
- ldrb r0, [r4, 0x3]
- cmp r0, 0x1
- bne _0811B9CE
- movs r0, 0x2
- strb r0, [r4]
- strb r1, [r4, 0x2]
-_0811B978:
- adds r0, r5, 0
- movs r1, 0
- bl sub_811BBC8
- adds r1, r0, 0
- cmp r1, 0
- bne _0811B99E
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- bne _0811B99E
- strb r1, [r4]
- strb r1, [r4, 0x2]
- adds r0, r5, 0
- bl sub_811B64C
- adds r0, r5, 0
- bl sub_811B5F0
- b _0811B9CE
-_0811B99E:
- adds r0, r4, 0x2
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_811B804
- cmp r0, 0x1
- bne _0811B9CE
- b _0811B9CC
-_0811B9AE:
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- bne _0811B9CE
- movs r1, 0
- movs r0, 0x3
- strb r0, [r4]
- strb r1, [r4, 0x2]
-_0811B9BC:
- adds r0, r4, 0x2
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_811B7A8
- cmp r0, 0x1
- bne _0811B9CE
- movs r0, 0
-_0811B9CC:
- strb r0, [r4]
-_0811B9CE:
- movs r0, 0
- strb r0, [r4, 0x3]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811B94C
-
- thumb_func_start sub_811B9D8
-sub_811B9D8: @ 811B9D8
- push {r4,r5,lr}
- ldr r5, _0811BA08 @ =gUnknown_203B084
- ldr r0, [r5]
- cmp r0, 0
- bne _0811B9EE
- ldr r0, _0811BA0C @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
- ldr r1, _0811BA10 @ =0x00000283
- ldr r2, _0811BA14 @ =gUnknown_8457178 "UnionObjWork != NULL"
- movs r3, 0x1
- bl AGBAssert
-_0811B9EE:
- movs r4, 0
-_0811B9F0:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- adds r0, r4, 0
- bl sub_811B94C
- adds r4, 0x1
- cmp r4, 0x7
- ble _0811B9F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811BA08: .4byte gUnknown_203B084
-_0811BA0C: .4byte gUnknown_8457138
-_0811BA10: .4byte 0x00000283
-_0811BA14: .4byte gUnknown_8457178
- thumb_func_end sub_811B9D8
-
- thumb_func_start sub_811BA18
-sub_811BA18: @ 811BA18
- push {r4,lr}
- ldr r4, _0811BA38 @ =sub_811B9D8
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811BA3C
- adds r0, r4, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- b _0811BA4A
- .align 2, 0
-_0811BA38: .4byte sub_811B9D8
-_0811BA3C:
- ldr r0, _0811BA50 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
- ldr r1, _0811BA54 @ =0x0000028f
- ldr r2, _0811BA58 @ =gUnknown_8457174 "0"
- movs r3, 0x1
- bl AGBAssert
- movs r0, 0x10
-_0811BA4A:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0811BA50: .4byte gUnknown_8457138
-_0811BA54: .4byte 0x0000028f
-_0811BA58: .4byte gUnknown_8457174
- thumb_func_end sub_811BA18
-
- thumb_func_start sub_811BA5C
-sub_811BA5C: @ 811BA5C
- push {lr}
- ldr r0, _0811BA74 @ =sub_811B9D8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _0811BA70
- bl DestroyTask
-_0811BA70:
- pop {r0}
- bx r0
- .align 2, 0
-_0811BA74: .4byte sub_811B9D8
- thumb_func_end sub_811BA5C
-
- thumb_func_start sub_811BA78
-sub_811BA78: @ 811BA78
- push {r4,lr}
- movs r4, 0
-_0811BA7C:
- adds r0, r4, 0
- bl sub_811B5DC
- cmp r0, 0
- bne _0811BA92
- adds r0, r4, 0
- bl sub_811B64C
- adds r0, r4, 0
- bl sub_811B5F0
-_0811BA92:
- adds r4, 0x1
- cmp r4, 0x7
- ble _0811BA7C
- ldr r1, _0811BAA8 @ =gUnknown_203B084
- movs r0, 0
- str r0, [r1]
- bl sub_811BA5C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0811BAA8: .4byte gUnknown_203B084
- thumb_func_end sub_811BA78
-
- thumb_func_start sub_811BAAC
-sub_811BAAC: @ 811BAAC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp, 0x8]
- mov r9, r1
- movs r7, 0
- mov r0, r9
- lsls r0, 2
- mov r8, r0
- ldr r0, _0811BB38 @ =gUnknown_84570EC
- mov r2, r8
- adds r1, r2, r0
- ldrh r1, [r1]
- mov r2, sp
- strh r1, [r2, 0xC]
- adds r0, 0x2
- add r0, r8
- ldrh r0, [r0]
- mov r10, r0
- ldr r6, _0811BB3C @ =gUnknown_845710C
-_0811BADA:
- mov r5, r8
- add r5, r9
- adds r5, r7
- adds r4, r5, 0
- subs r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0
- ldrsb r2, [r6, r2]
- mov r0, sp
- ldrh r0, [r0, 0xC]
- adds r2, r0, r2
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x1
- ldrsb r3, [r6, r3]
- add r3, r10
- lsls r3, 16
- asrs r3, 16
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x19
- adds r1, r4, 0
- bl sprite_new
- ldr r1, [sp, 0x8]
- adds r5, r1, r5
- strb r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8069124
- adds r6, 0x2
- adds r7, 0x1
- cmp r7, 0x4
- ble _0811BADA
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811BB38: .4byte gUnknown_84570EC
-_0811BB3C: .4byte gUnknown_845710C
- thumb_func_end sub_811BAAC
-
- thumb_func_start sub_811BB40
-sub_811BB40: @ 811BB40
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, _0811BB64 @ =gSprites
-_0811BB48:
- adds r0, r5, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- adds r4, 0x1
- cmp r4, 0x27
- ble _0811BB48
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811BB64: .4byte gSprites
- thumb_func_end sub_811BB40
-
- thumb_func_start sub_811BB68
-sub_811BB68: @ 811BB68
- push {r4-r7,lr}
- sub sp, 0x8
- movs r5, 0
- add r7, sp, 0x4
-_0811BB70:
- movs r4, 0
- adds r6, r5, 0x1
-_0811BB74:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r7, 0
- bl sub_811B53C
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0
- bl sub_8059024
- adds r4, 0x1
- cmp r4, 0x4
- ble _0811BB74
- adds r5, r6, 0
- cmp r5, 0x7
- ble _0811BB70
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811BB68
-
- thumb_func_start sub_811BBA0
-sub_811BBA0: @ 811BBA0
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- beq _0811BBB4
- ldr r0, _0811BBB0 @ =gUnknown_845711B
- adds r0, r1, r0
- ldrb r0, [r0]
- b _0811BBC4
- .align 2, 0
-_0811BBB0: .4byte gUnknown_845711B
-_0811BBB4:
- ldrb r1, [r2, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _0811BBC2
- movs r0, 0x4
- b _0811BBC4
-_0811BBC2:
- movs r0, 0x1
-_0811BBC4:
- pop {r1}
- bx r1
- thumb_func_end sub_811BBA0
-
- thumb_func_start sub_811BBC8
-sub_811BBC8: @ 811BBC8
- push {lr}
- adds r2, r0, 0
- lsls r0, r2, 2
- adds r0, r2
- adds r0, r1
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- bl sub_806916C
- pop {r1}
- bx r1
- thumb_func_end sub_811BBC8
-
- thumb_func_start sub_811BBE0
-sub_811BBE0: @ 811BBE0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- mov r9, r3
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r0, r5, 2
- adds r0, r5
- adds r7, r0, r6
- adds r0, r5, 0
- bl sub_811BBC8
- cmp r0, 0x1
- bne _0811BC1E
- adds r4, r7, 0
- subs r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_8069124
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80691A4
-_0811BC1E:
- adds r0, r7, 0
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- bl sub_8069094
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r9
- bl sub_811BBA0
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_811C008
- add r3, sp, 0x4
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, sp
- bl sub_811B53C
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0x1
- bl sub_8059024
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811BBE0
-
- thumb_func_start sub_811BC68
-sub_811BC68: @ 811BC68
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r4, 2
- adds r0, r4
- adds r0, r5
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_80691A4
- add r3, sp, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_811B53C
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- movs r2, 0
- bl sub_8059024
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811BC68
-
- thumb_func_start sub_811BCA0
-sub_811BCA0: @ 811BCA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r0, 0
- mov r8, r1
- mov r6, sp
- adds r6, 0x2
- mov r0, sp
- adds r1, r6, 0
- bl PlayerGetDestCoords
- add r4, sp, 0x4
- mov r5, sp
- adds r5, 0x6
- adds r0, r4, 0
- adds r1, r5, 0
- bl plaer_get_pos_including_state_based_drift
- lsls r0, r7, 2
- adds r0, r7
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- bl sub_806916C
- mov r10, r6
- mov r9, r4
- adds r6, r5, 0
- cmp r0, 0x1
- bne _0811BD2C
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, r10
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r0, r7, 0
- movs r1, 0
- bl sub_811B58C
- cmp r0, 0x1
- beq _0811BD98
- movs r0, 0
- ldrsh r2, [r4, r0]
- movs r1, 0
- ldrsh r3, [r6, r1]
- adds r0, r7, 0
- movs r1, 0
- bl sub_811B58C
- cmp r0, 0x1
- beq _0811BD98
- mov r2, r8
- ldrb r0, [r2, 0xB]
- lsls r0, 31
- lsrs r0, 31
- ldrb r1, [r2, 0x2]
- bl sub_811B524
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- movs r1, 0
- mov r3, r8
- bl sub_811BBE0
-_0811BD2C:
- movs r5, 0x1
- mov r4, r8
- adds r4, 0x4
-_0811BD32:
- ldrb r0, [r4]
- cmp r0, 0
- bne _0811BD42
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_811BC68
- b _0811BD90
-_0811BD42:
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, r10
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_811B58C
- cmp r0, 0
- bne _0811BD90
- mov r0, r9
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- ldrsh r3, [r6, r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_811B58C
- cmp r0, 0
- bne _0811BD90
- ldrb r2, [r4]
- lsrs r0, r2, 3
- movs r1, 0x1
- ands r0, r1
- movs r1, 0x7
- ands r1, r2
- bl sub_811B524
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r5, 0
- mov r3, r8
- bl sub_811BBE0
-_0811BD90:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x4
- ble _0811BD32
-_0811BD98:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811BCA0
-
- thumb_func_start sub_811BDA8
-sub_811BDA8: @ 811BDA8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r4, 0xA]
- lsls r0, 25
- lsrs r0, 25
- subs r0, 0x40
- cmp r0, 0x14
- bhi _0811BE4C
- lsls r0, 2
- ldr r1, _0811BDC4 @ =_0811BDC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811BDC4: .4byte _0811BDC8
- .align 2, 0
-_0811BDC8:
- .4byte _0811BE1C
- .4byte _0811BE3C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE3C
- .4byte _0811BE3C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE3C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE4C
- .4byte _0811BE3C
- .4byte _0811BE3C
- .4byte _0811BE3C
- .4byte _0811BE1C
-_0811BE1C:
- ldrb r1, [r4, 0xB]
- lsls r1, 31
- lsrs r1, 31
- ldrb r2, [r4, 0x2]
- adds r0, r5, 0
- bl sub_811B8BC
- movs r4, 0
-_0811BE2C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811BC68
- adds r4, 0x1
- cmp r4, 0x4
- bls _0811BE2C
- b _0811BE58
-_0811BE3C:
- adds r0, r5, 0
- bl sub_811B90C
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811BCA0
- b _0811BE58
-_0811BE4C:
- ldr r0, _0811BE60 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
- ldr r1, _0811BE64 @ =0x000003d3
- ldr r2, _0811BE68 @ =gUnknown_8457174 "0"
- movs r3, 0x1
- bl AGBAssert
-_0811BE58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811BE60: .4byte gUnknown_8457138
-_0811BE64: .4byte 0x000003d3
-_0811BE68: .4byte gUnknown_8457174
- thumb_func_end sub_811BDA8
-
- thumb_func_start sub_811BE6C
-sub_811BE6C: @ 811BE6C
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_811B90C
- movs r4, 0
-_0811BE76:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811BC68
- adds r4, 0x1
- cmp r4, 0x4
- ble _0811BE76
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811BE6C
-
- thumb_func_start sub_811BE8C
-sub_811BE8C: @ 811BE8C
- push {r4,r5,lr}
- ldr r2, _0811BEAC @ =gUnknown_203B088
- movs r1, 0
- str r1, [r2]
- movs r5, 0
- ldr r4, [r0]
-_0811BE98:
- ldrb r0, [r4, 0x1A]
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x1
- bne _0811BEB0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811BDA8
- b _0811BEBC
- .align 2, 0
-_0811BEAC: .4byte gUnknown_203B088
-_0811BEB0:
- cmp r1, 0x2
- bne _0811BEBC
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811BE6C
-_0811BEBC:
- adds r4, 0x20
- adds r5, 0x1
- cmp r5, 0x7
- ble _0811BE98
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811BE8C
-
- thumb_func_start sub_811BECC
-sub_811BECC: @ 811BECC
- ldr r1, _0811BED8 @ =gUnknown_203B088
- movs r0, 0x96
- lsls r0, 1
- str r0, [r1]
- bx lr
- .align 2, 0
-_0811BED8: .4byte gUnknown_203B088
- thumb_func_end sub_811BECC
-
- thumb_func_start sub_811BEDC
-sub_811BEDC: @ 811BEDC
- push {lr}
- adds r2, r0, 0
- ldr r0, _0811BEFC @ =gUnknown_203B088
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- movs r0, 0x96
- lsls r0, 1
- cmp r1, r0
- bls _0811BEF6
- adds r0, r2, 0
- bl sub_811BE8C
-_0811BEF6:
- pop {r0}
- bx r0
- .align 2, 0
-_0811BEFC: .4byte gUnknown_203B088
- thumb_func_end sub_811BEDC
-
- thumb_func_start sub_811BF00
-sub_811BF00: @ 811BF00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r5, r0, 0
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- bl is_walking_or_running
- cmp r0, 0
- bne _0811BF48
- b _0811BFEE
-_0811BF1C:
- ldr r4, _0811BF44 @ =gUnknown_8457116
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r2, [r0]
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- bl sub_811C008
- ldr r0, [sp, 0x4]
- strh r6, [r0]
- mov r1, sp
- ldrh r2, [r1, 0xC]
- ldr r1, [sp, 0x8]
- strh r2, [r1]
- movs r0, 0x1
- b _0811BFF0
- .align 2, 0
-_0811BF44: .4byte gUnknown_8457116
-_0811BF48:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _0811C000 @ =gUnknown_84570EC
- adds r7, r5, 0
- movs r1, 0
- mov r10, r1
- adds r2, r0, 0x2
- str r2, [sp, 0x10]
- str r0, [sp, 0x14]
-_0811BF66:
- movs r6, 0
- ldr r4, [sp, 0x14]
- movs r0, 0
- ldrsh r4, [r4, r0]
- mov r9, r4
- ldr r1, [sp, 0x10]
- mov r8, r1
- ldr r5, _0811C004 @ =gUnknown_845710C
-_0811BF76:
- mov r2, r10
- adds r3, r2, r6
- mov r0, sp
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0
- ldrsb r0, [r5, r0]
- add r0, r9
- adds r0, 0x7
- cmp r1, r0
- bne _0811BFCA
- mov r1, sp
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- mov r4, r8
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r2, 0x1
- ldrsb r2, [r5, r2]
- adds r1, r2
- adds r1, 0x7
- cmp r0, r1
- bne _0811BFCA
- adds r0, r3, 0
- subs r0, 0x38
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_806916C
- cmp r0, 0
- bne _0811BFCA
- adds r0, r4, 0
- bl sub_8069294
- cmp r0, 0
- bne _0811BFCA
- ldrb r1, [r7, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0811BF1C
-_0811BFCA:
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x4
- ble _0811BF76
- adds r7, 0x20
- movs r4, 0x5
- add r10, r4
- ldr r0, [sp, 0x10]
- adds r0, 0x4
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- adds r1, 0x4
- str r1, [sp, 0x14]
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- str r2, [sp, 0xC]
- cmp r2, 0x7
- ble _0811BF66
-_0811BFEE:
- movs r0, 0
-_0811BFF0:
- 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
-_0811C000: .4byte gUnknown_84570EC
-_0811C004: .4byte gUnknown_845710C
- thumb_func_end sub_811BF00
-
- thumb_func_start sub_811C008
-sub_811C008: @ 811C008
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r1, r2, 24
- lsrs r1, 24
- lsls r0, r3, 2
- adds r0, r3
- subs r0, 0x38
- adds r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8069058
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811C008
-
- thumb_func_start sub_811C028
-sub_811C028: @ 811C028
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r3, r4, 5
- adds r3, r2
- adds r2, r3, 0
- bl sub_811BBA0
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811C008
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811C028
-
- thumb_func_start sub_811C04C
-sub_811C04C: @ 811C04C
- push {r4-r7,lr}
- movs r0, 0xA
- bl sub_81173C0
- movs r4, 0
- movs r7, 0x64
- ldr r6, _0811C0CC @ =gPlayerParty
- ldr r5, _0811C0D0 @ =gEnemyParty
-_0811C05C:
- ldr r0, _0811C0D4 @ =gSelectedOrderFromParty
- adds r0, r4, r0
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, r0, 0
- muls r1, r7
- adds r1, r6
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x64
- adds r4, 0x1
- cmp r4, 0x1
- ble _0811C05C
- ldr r4, _0811C0CC @ =gPlayerParty
- movs r0, 0xFA
- lsls r0, 1
- adds r5, r4, r0
-_0811C082:
- adds r0, r4, 0
- bl ZeroMonData
- adds r4, 0x64
- cmp r4, r5
- ble _0811C082
- ldr r4, _0811C0CC @ =gPlayerParty
- movs r5, 0
- adds r6, r4, 0
- adds r6, 0x64
-_0811C096:
- ldr r1, _0811C0D0 @ =gEnemyParty
- adds r1, r5, r1
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r4, 0x64
- adds r5, 0x64
- cmp r4, r6
- ble _0811C096
- movs r0, 0x32
- bl IncrementGameStat
- bl CalculatePlayerPartyCount
- ldr r0, _0811C0D8 @ =gTrainerBattleOpponent_A
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _0811C0DC @ =CB2_InitBattle
- bl SetMainCallback2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811C0CC: .4byte gPlayerParty
-_0811C0D0: .4byte gEnemyParty
-_0811C0D4: .4byte gSelectedOrderFromParty
-_0811C0D8: .4byte gTrainerBattleOpponent_A
-_0811C0DC: .4byte CB2_InitBattle
- thumb_func_end sub_811C04C
-
- thumb_func_start sub_811C0E0
-sub_811C0E0: @ 811C0E0
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x18
- adds r5, r0, 0
- mov r10, r1
- adds r6, r2, 0
- ldr r4, [sp, 0x34]
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- mov r8, r0
- ldr r1, _0811C14C @ =gUnknown_84571A8
- mov r9, r1
- ldrb r0, [r1]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- str r3, [sp, 0x14]
- bl FillWindowPixelBuffer
- mov r0, r8
- str r0, [sp]
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0xC]
- mov r0, r10
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x3
- adds r2, r6, 0
- ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized4
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811C14C: .4byte gUnknown_84571A8
- thumb_func_end sub_811C0E0
-
- thumb_func_start sub_811C150
-sub_811C150: @ 811C150
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0811C168
- cmp r0, 0x1
- beq _0811C196
- b _0811C1AA
-_0811C168:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD
- bl DrawTextBorderOuter
- str r5, [sp]
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x2
- bl sub_811C0E0
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0811C1AA
-_0811C196:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0811C1AA
- strh r0, [r4]
- movs r0, 0x1
- b _0811C1AC
-_0811C1AA:
- movs r0, 0
-_0811C1AC:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_811C150
-
- thumb_func_start sub_811C1B4
-sub_811C1B4: @ 811C1B4
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_811C1B4
-
- thumb_func_start sub_811C1C8
-sub_811C1C8: @ 811C1C8
- push {r4,lr}
- sub sp, 0xC
- ldr r1, _0811C1E8 @ =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x33
- bls _0811C1DE
- b _0811C516
-_0811C1DE:
- lsls r0, 2
- ldr r1, _0811C1EC @ =_0811C1F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811C1E8: .4byte gMain
-_0811C1EC: .4byte _0811C1F0
- .align 2, 0
-_0811C1F0:
- .4byte _0811C2C0
- .4byte _0811C364
- .4byte _0811C38C
- .4byte _0811C3B0
- .4byte _0811C400
- .4byte _0811C516
- .4byte _0811C4E4
- .4byte _0811C4C0
- .4byte _0811C4E4
- .4byte _0811C500
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C516
- .4byte _0811C48C
- .4byte _0811C4A8
-_0811C2C0:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r4, _0811C350 @ =gUnknown_203B08C
- movs r0, 0x4
- bl AllocZeroed
- str r0, [r4]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0811C354 @ =gUnknown_8457194
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- bl ResetTempTileDataBuffers
- ldr r0, _0811C358 @ =gUnknown_8457198
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- bne _0811C300
- b _0811C52A
-_0811C300:
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD0
- bl TextWindow_SetStdFrame0_WithPal
- bl Menu_LoadStdPal
- ldr r0, _0811C35C @ =sub_811C1B4
- bl SetVBlankCallback
- ldr r1, _0811C360 @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0811C4F2
- .align 2, 0
-_0811C350: .4byte gUnknown_203B08C
-_0811C354: .4byte gUnknown_8457194
-_0811C358: .4byte gUnknown_8457198
-_0811C35C: .4byte sub_811C1B4
-_0811C360: .4byte gMain
-_0811C364:
- ldr r0, _0811C380 @ =gUnknown_203B08C
- ldr r0, [r0]
- ldr r1, _0811C384 @ =gUnknown_841E538
- movs r2, 0
- bl sub_811C150
- cmp r0, 0
- bne _0811C376
- b _0811C516
-_0811C376:
- ldr r1, _0811C388 @ =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0811C4F2
- .align 2, 0
-_0811C380: .4byte gUnknown_203B08C
-_0811C384: .4byte gUnknown_841E538
-_0811C388: .4byte gMain
-_0811C38C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- ldr r1, _0811C3AC @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0811C4F2
- .align 2, 0
-_0811C3AC: .4byte gMain
-_0811C3B0:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0811C3BC
- b _0811C516
-_0811C3BC:
- ldr r4, _0811C3D8 @ =gBlockSendBuffer
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x20
- bl memset
- ldr r0, _0811C3DC @ =gSelectedOrderFromParty
- ldrb r1, [r0]
- ldrb r0, [r0, 0x1]
- cmn r1, r0
- bne _0811C3E0
- movs r0, 0x52
- b _0811C3E2
- .align 2, 0
-_0811C3D8: .4byte gBlockSendBuffer
-_0811C3DC: .4byte gSelectedOrderFromParty
-_0811C3E0:
- movs r0, 0x51
-_0811C3E2:
- strb r0, [r4]
- ldr r1, _0811C3F8 @ =gBlockSendBuffer
- movs r0, 0
- movs r2, 0x20
- bl SendBlock
- ldr r1, _0811C3FC @ =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0811C4F2
- .align 2, 0
-_0811C3F8: .4byte gBlockSendBuffer
-_0811C3FC: .4byte gMain
-_0811C400:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _0811C40E
- b _0811C516
-_0811C40E:
- ldr r1, _0811C440 @ =gBlockRecvBuffer
- ldrh r0, [r1]
- cmp r0, 0x51
- bne _0811C448
- movs r2, 0x80
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x51
- bne _0811C448
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0811C444 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x32
- b _0811C47E
- .align 2, 0
-_0811C440: .4byte gBlockRecvBuffer
-_0811C444: .4byte gMain
-_0811C448:
- bl sub_800AAC0
- ldr r4, _0811C46C @ =gBlockRecvBuffer
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 16
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x52
- bne _0811C474
- ldr r0, _0811C470 @ =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x6
- b _0811C47E
- .align 2, 0
-_0811C46C: .4byte gBlockRecvBuffer
-_0811C470: .4byte gMain
-_0811C474:
- ldr r0, _0811C488 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x8
-_0811C47E:
- strb r1, [r0]
- bl ResetBlockReceivedFlags
- b _0811C516
- .align 2, 0
-_0811C488: .4byte gMain
-_0811C48C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0811C516
- bl sub_800AB9C
- ldr r1, _0811C4A4 @ =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0811C4F2
- .align 2, 0
-_0811C4A4: .4byte gMain
-_0811C4A8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0811C516
- ldr r0, _0811C4BC @ =sub_811C04C
- bl SetMainCallback2
- b _0811C516
- .align 2, 0
-_0811C4BC: .4byte sub_811C04C
-_0811C4C0:
- ldr r0, _0811C4D8 @ =gUnknown_203B08C
- ldr r0, [r0]
- ldr r1, _0811C4DC @ =gUnknown_841E58D
- movs r2, 0x1
- bl sub_811C150
- cmp r0, 0
- beq _0811C516
- ldr r0, _0811C4E0 @ =CB2_ReturnToField
- bl SetMainCallback2
- b _0811C516
- .align 2, 0
-_0811C4D8: .4byte gUnknown_203B08C
-_0811C4DC: .4byte gUnknown_841E58D
-_0811C4E0: .4byte CB2_ReturnToField
-_0811C4E4:
- ldr r0, _0811C4FC @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0811C516
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
-_0811C4F2:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0811C516
- .align 2, 0
-_0811C4FC: .4byte gReceivedRemoteLinkPlayers
-_0811C500:
- ldr r0, _0811C534 @ =gUnknown_203B08C
- ldr r0, [r0]
- ldr r1, _0811C538 @ =gUnknown_841E572
- movs r2, 0x1
- bl sub_811C150
- cmp r0, 0
- beq _0811C516
- ldr r0, _0811C53C @ =CB2_ReturnToField
- bl SetMainCallback2
-_0811C516:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
-_0811C52A:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0811C534: .4byte gUnknown_203B08C
-_0811C538: .4byte gUnknown_841E572
-_0811C53C: .4byte CB2_ReturnToField
- thumb_func_end sub_811C1C8
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/union_room_player_avatar.s b/asm/union_room_player_avatar.s
new file mode 100644
index 000000000..5c6786ae6
--- /dev/null
+++ b/asm/union_room_player_avatar.s
@@ -0,0 +1,2064 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start is_walking_or_running
+is_walking_or_running: @ 811B504
+ push {lr}
+ ldr r0, _0811B518 @ =gPlayerAvatar
+ ldrb r0, [r0, 0x3]
+ cmp r0, 0x2
+ beq _0811B512
+ cmp r0, 0
+ bne _0811B51C
+_0811B512:
+ movs r0, 0x1
+ b _0811B51E
+ .align 2, 0
+_0811B518: .4byte gPlayerAvatar
+_0811B51C:
+ movs r0, 0
+_0811B51E:
+ pop {r1}
+ bx r1
+ thumb_func_end is_walking_or_running
+
+ thumb_func_start sub_811B524
+sub_811B524: @ 811B524
+ ldr r3, _0811B538 @ =gUnknown_84570D8
+ movs r2, 0x7
+ ands r2, r1
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 1
+ adds r2, r1
+ adds r2, r3
+ ldrb r0, [r2]
+ bx lr
+ .align 2, 0
+_0811B538: .4byte gUnknown_84570D8
+ thumb_func_end sub_811B524
+
+ thumb_func_start sub_811B53C
+sub_811B53C: @ 811B53C
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ ldr r4, _0811B584 @ =gUnknown_84570EC
+ mov r8, r4
+ lsls r0, 2
+ adds r4, r0, r4
+ movs r6, 0
+ ldrsh r5, [r4, r6]
+ ldr r6, _0811B588 @ =gUnknown_845710C
+ lsls r1, 1
+ adds r4, r1, r6
+ ldrb r4, [r4]
+ lsls r4, 24
+ asrs r4, 24
+ adds r5, r4
+ adds r5, 0x7
+ str r5, [r2]
+ movs r2, 0x2
+ add r8, r2
+ add r0, r8
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ adds r6, 0x1
+ adds r1, r6
+ ldrb r1, [r1]
+ lsls r1, 24
+ asrs r1, 24
+ adds r0, r1
+ adds r0, 0x7
+ str r0, [r3]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811B584: .4byte gUnknown_84570EC
+_0811B588: .4byte gUnknown_845710C
+ thumb_func_end sub_811B53C
+
+ thumb_func_start sub_811B58C
+sub_811B58C: @ 811B58C
+ push {r4-r7,lr}
+ mov r12, r3
+ ldr r7, _0811B5CC @ =gUnknown_84570EC
+ lsls r5, r0, 2
+ adds r0, r5, r7
+ movs r4, 0
+ ldrsh r3, [r0, r4]
+ ldr r6, _0811B5D0 @ =gUnknown_845710C
+ lsls r4, r1, 1
+ adds r0, r4, r6
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ adds r3, r0
+ adds r3, 0x7
+ cmp r3, r2
+ bne _0811B5D4
+ adds r0, r7, 0x2
+ adds r0, r5, r0
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ adds r0, r6, 0x1
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ adds r1, r0
+ adds r1, 0x7
+ cmp r1, r12
+ bne _0811B5D4
+ movs r0, 0x1
+ b _0811B5D6
+ .align 2, 0
+_0811B5CC: .4byte gUnknown_84570EC
+_0811B5D0: .4byte gUnknown_845710C
+_0811B5D4:
+ movs r0, 0
+_0811B5D6:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811B58C
+
+ thumb_func_start sub_811B5DC
+sub_811B5DC: @ 811B5DC
+ push {lr}
+ adds r0, 0x63
+ lsls r0, 16
+ lsrs r0, 16
+ bl FlagGet
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811B5DC
+
+ thumb_func_start sub_811B5F0
+sub_811B5F0: @ 811B5F0
+ push {lr}
+ adds r0, 0x63
+ lsls r0, 16
+ lsrs r0, 16
+ bl FlagSet
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811B5F0
+
+ thumb_func_start sub_811B600
+sub_811B600: @ 811B600
+ push {lr}
+ adds r0, 0x63
+ lsls r0, 16
+ lsrs r0, 16
+ bl FlagClear
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811B600
+
+ thumb_func_start sub_811B610
+sub_811B610: @ 811B610
+ push {lr}
+ ldr r2, _0811B628 @ =0x00004010
+ adds r0, r2
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ bl VarSet
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811B628: .4byte 0x00004010
+ thumb_func_end sub_811B610
+
+ thumb_func_start sub_811B62C
+sub_811B62C: @ 811B62C
+ push {lr}
+ ldr r1, _0811B644 @ =gUnknown_8457120
+ adds r0, r1
+ ldrb r0, [r0]
+ ldr r1, _0811B648 @ =gSaveBlock1Ptr
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ bl show_sprite
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811B644: .4byte gUnknown_8457120
+_0811B648: .4byte gSaveBlock1Ptr
+ thumb_func_end sub_811B62C
+
+ thumb_func_start sub_811B64C
+sub_811B64C: @ 811B64C
+ push {lr}
+ ldr r1, _0811B664 @ =gUnknown_8457120
+ adds r0, r1
+ ldrb r0, [r0]
+ ldr r1, _0811B668 @ =gSaveBlock1Ptr
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ bl RemoveObjectEventByLocalIdAndMap
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811B664: .4byte gUnknown_8457120
+_0811B668: .4byte gSaveBlock1Ptr
+ thumb_func_end sub_811B64C
+
+ thumb_func_start sub_811B66C
+sub_811B66C: @ 811B66C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r1, 0
+ ldr r1, _0811B6B8 @ =gUnknown_8457120
+ adds r0, r1
+ ldrb r0, [r0]
+ ldr r1, _0811B6BC @ =gSaveBlock1Ptr
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ mov r3, sp
+ bl TryGetObjectEventIdByLocalIdAndMap
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811B6D0
+ mov r0, sp
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _0811B6C0 @ =gObjectEvents
+ adds r4, r0, r1
+ adds r0, r4, 0
+ bl ObjectEventIsMovementOverridden
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811B6D0
+ ldrb r1, [r5]
+ adds r0, r4, 0
+ bl ObjectEventSetHeldMovement
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811B6C4
+ movs r0, 0x1
+ b _0811B6D2
+ .align 2, 0
+_0811B6B8: .4byte gUnknown_8457120
+_0811B6BC: .4byte gSaveBlock1Ptr
+_0811B6C0: .4byte gObjectEvents
+_0811B6C4:
+ ldr r0, _0811B6DC @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
+ ldr r1, _0811B6E0 @ =0x00000183
+ ldr r2, _0811B6E4 @ =gUnknown_8457174 "0"
+ movs r3, 0x1
+ bl AGBAssert
+_0811B6D0:
+ movs r0, 0
+_0811B6D2:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811B6DC: .4byte gUnknown_8457138
+_0811B6E0: .4byte 0x00000183
+_0811B6E4: .4byte gUnknown_8457174
+ thumb_func_end sub_811B66C
+
+ thumb_func_start sub_811B6E8
+sub_811B6E8: @ 811B6E8
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, _0811B724 @ =gUnknown_8457120
+ adds r0, r1
+ ldrb r0, [r0]
+ ldr r1, _0811B728 @ =gSaveBlock1Ptr
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ mov r3, sp
+ bl TryGetObjectEventIdByLocalIdAndMap
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811B748
+ mov r0, sp
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _0811B72C @ =gObjectEvents
+ adds r4, r0, r1
+ adds r0, r4, 0
+ bl ObjectEventClearHeldMovementIfFinished
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811B730
+ movs r0, 0
+ b _0811B74A
+ .align 2, 0
+_0811B724: .4byte gUnknown_8457120
+_0811B728: .4byte gSaveBlock1Ptr
+_0811B72C: .4byte gObjectEvents
+_0811B730:
+ bl ScriptContext2_IsEnabled
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811B742
+ adds r0, r4, 0
+ bl npc_sync_anim_pause_bits
+ b _0811B748
+_0811B742:
+ adds r0, r4, 0
+ bl FreezeObjectEvent
+_0811B748:
+ movs r0, 0x1
+_0811B74A:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811B6E8
+
+ thumb_func_start sub_811B754
+sub_811B754: @ 811B754
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _0811B798 @ =gUnknown_203B088
+ movs r1, 0
+ str r1, [r0]
+ ldr r0, _0811B79C @ =gUnknown_203B084
+ str r4, [r0]
+ cmp r4, 0
+ bne _0811B774
+ ldr r0, _0811B7A0 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
+ movs r1, 0xDD
+ lsls r1, 1
+ ldr r2, _0811B7A4 @ =gUnknown_8457178 "UnionObjWork != NULL"
+ movs r3, 0x1
+ bl AGBAssert
+_0811B774:
+ movs r1, 0
+ adds r0, r4, 0
+ movs r2, 0x7
+_0811B77A:
+ strb r1, [r0]
+ strb r1, [r0, 0x1]
+ strb r1, [r0, 0x2]
+ strb r1, [r0, 0x3]
+ adds r0, 0x4
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0811B77A
+ bl sub_811BA18
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811B798: .4byte gUnknown_203B088
+_0811B79C: .4byte gUnknown_203B084
+_0811B7A0: .4byte gUnknown_8457138
+_0811B7A4: .4byte gUnknown_8457178
+ thumb_func_end sub_811B754
+
+ thumb_func_start sub_811B7A8
+sub_811B7A8: @ 811B7A8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r0, 0
+ ldrsb r0, [r5, r0]
+ cmp r0, 0
+ beq _0811B7BC
+ cmp r0, 0x1
+ beq _0811B7DC
+ b _0811B7FA
+_0811B7BC:
+ ldr r1, _0811B7D8 @ =gUnknown_845718D
+ adds r0, r4, 0
+ bl sub_811B66C
+ cmp r0, 0x1
+ bne _0811B7FA
+ adds r0, r4, 0
+ bl sub_811B5F0
+ ldrb r0, [r5]
+ adds r0, 0x1
+ strb r0, [r5]
+ b _0811B7FA
+ .align 2, 0
+_0811B7D8: .4byte gUnknown_845718D
+_0811B7DC:
+ adds r0, r4, 0
+ bl sub_811B6E8
+ cmp r0, 0
+ beq _0811B7FA
+ adds r0, r4, 0
+ bl sub_811B64C
+ adds r0, r4, 0
+ bl sub_811B5F0
+ movs r0, 0
+ strb r0, [r5]
+ movs r0, 0x1
+ b _0811B7FC
+_0811B7FA:
+ movs r0, 0
+_0811B7FC:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811B7A8
+
+ thumb_func_start sub_811B804
+sub_811B804: @ 811B804
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ adds r5, r1, 0
+ adds r7, r2, 0
+ movs r0, 0
+ ldrsb r0, [r6, r0]
+ cmp r0, 0x2
+ beq _0811B8A0
+ cmp r0, 0x2
+ bgt _0811B820
+ cmp r0, 0
+ beq _0811B826
+ b _0811B8B2
+_0811B820:
+ cmp r0, 0x3
+ beq _0811B888
+ b _0811B8B2
+_0811B826:
+ bl is_walking_or_running
+ cmp r0, 0
+ beq _0811B8B2
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl PlayerGetDestCoords
+ mov r0, sp
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ movs r0, 0
+ ldrsh r3, [r4, r0]
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_811B58C
+ cmp r0, 0x1
+ beq _0811B8B2
+ mov r0, sp
+ adds r1, r4, 0
+ bl plaer_get_pos_including_state_based_drift
+ mov r0, sp
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ movs r0, 0
+ ldrsh r3, [r4, r0]
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_811B58C
+ cmp r0, 0x1
+ beq _0811B8B2
+ ldrb r1, [r7, 0x1]
+ adds r0, r5, 0
+ bl sub_811B610
+ adds r0, r5, 0
+ bl sub_811B62C
+ adds r0, r5, 0
+ bl sub_811B600
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+_0811B888:
+ ldr r1, _0811B89C @ =gUnknown_845718F
+ adds r0, r5, 0
+ bl sub_811B66C
+ cmp r0, 0x1
+ bne _0811B8B2
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ b _0811B8B2
+ .align 2, 0
+_0811B89C: .4byte gUnknown_845718F
+_0811B8A0:
+ adds r0, r5, 0
+ bl sub_811B6E8
+ cmp r0, 0
+ beq _0811B8B2
+ movs r0, 0
+ strb r0, [r6]
+ movs r0, 0x1
+ b _0811B8B4
+_0811B8B2:
+ movs r0, 0
+_0811B8B4:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811B804
+
+ thumb_func_start sub_811B8BC
+sub_811B8BC: @ 811B8BC
+ push {r4-r6,lr}
+ adds r5, r1, 0
+ adds r6, r2, 0
+ ldr r1, _0811B8F4 @ =gUnknown_203B084
+ lsls r0, 2
+ ldr r1, [r1]
+ adds r4, r1, r0
+ cmp r1, 0
+ bne _0811B8DA
+ ldr r0, _0811B8F8 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
+ ldr r1, _0811B8FC @ =0x00000231
+ ldr r2, _0811B900 @ =gUnknown_8457178 "UnionObjWork != NULL"
+ movs r3, 0x1
+ bl AGBAssert
+_0811B8DA:
+ movs r0, 0x1
+ strb r0, [r4, 0x3]
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl sub_811B524
+ strb r0, [r4, 0x1]
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0811B904
+ movs r0, 0
+ b _0811B906
+ .align 2, 0
+_0811B8F4: .4byte gUnknown_203B084
+_0811B8F8: .4byte gUnknown_8457138
+_0811B8FC: .4byte 0x00000231
+_0811B900: .4byte gUnknown_8457178
+_0811B904:
+ movs r0, 0x1
+_0811B906:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811B8BC
+
+ thumb_func_start sub_811B90C
+sub_811B90C: @ 811B90C
+ push {r4,lr}
+ ldr r1, _0811B934 @ =gUnknown_203B084
+ lsls r0, 2
+ ldr r1, [r1]
+ adds r4, r1, r0
+ cmp r1, 0
+ bne _0811B926
+ ldr r0, _0811B938 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
+ ldr r1, _0811B93C @ =0x00000241
+ ldr r2, _0811B940 @ =gUnknown_8457178 "UnionObjWork != NULL"
+ movs r3, 0x1
+ bl AGBAssert
+_0811B926:
+ movs r0, 0x2
+ strb r0, [r4, 0x3]
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ beq _0811B944
+ movs r0, 0
+ b _0811B946
+ .align 2, 0
+_0811B934: .4byte gUnknown_203B084
+_0811B938: .4byte gUnknown_8457138
+_0811B93C: .4byte 0x00000241
+_0811B940: .4byte gUnknown_8457178
+_0811B944:
+ movs r0, 0x1
+_0811B946:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811B90C
+
+ thumb_func_start sub_811B94C
+sub_811B94C: @ 811B94C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldrb r1, [r4]
+ cmp r1, 0x1
+ beq _0811B9AE
+ cmp r1, 0x1
+ bgt _0811B962
+ cmp r1, 0
+ beq _0811B96C
+ b _0811B9CE
+_0811B962:
+ cmp r1, 0x2
+ beq _0811B978
+ cmp r1, 0x3
+ beq _0811B9BC
+ b _0811B9CE
+_0811B96C:
+ ldrb r0, [r4, 0x3]
+ cmp r0, 0x1
+ bne _0811B9CE
+ movs r0, 0x2
+ strb r0, [r4]
+ strb r1, [r4, 0x2]
+_0811B978:
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_811BBC8
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _0811B99E
+ ldrb r0, [r4, 0x3]
+ cmp r0, 0x2
+ bne _0811B99E
+ strb r1, [r4]
+ strb r1, [r4, 0x2]
+ adds r0, r5, 0
+ bl sub_811B64C
+ adds r0, r5, 0
+ bl sub_811B5F0
+ b _0811B9CE
+_0811B99E:
+ adds r0, r4, 0x2
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_811B804
+ cmp r0, 0x1
+ bne _0811B9CE
+ b _0811B9CC
+_0811B9AE:
+ ldrb r0, [r4, 0x3]
+ cmp r0, 0x2
+ bne _0811B9CE
+ movs r1, 0
+ movs r0, 0x3
+ strb r0, [r4]
+ strb r1, [r4, 0x2]
+_0811B9BC:
+ adds r0, r4, 0x2
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_811B7A8
+ cmp r0, 0x1
+ bne _0811B9CE
+ movs r0, 0
+_0811B9CC:
+ strb r0, [r4]
+_0811B9CE:
+ movs r0, 0
+ strb r0, [r4, 0x3]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811B94C
+
+ thumb_func_start sub_811B9D8
+sub_811B9D8: @ 811B9D8
+ push {r4,r5,lr}
+ ldr r5, _0811BA08 @ =gUnknown_203B084
+ ldr r0, [r5]
+ cmp r0, 0
+ bne _0811B9EE
+ ldr r0, _0811BA0C @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
+ ldr r1, _0811BA10 @ =0x00000283
+ ldr r2, _0811BA14 @ =gUnknown_8457178 "UnionObjWork != NULL"
+ movs r3, 0x1
+ bl AGBAssert
+_0811B9EE:
+ movs r4, 0
+_0811B9F0:
+ lsls r0, r4, 2
+ ldr r1, [r5]
+ adds r1, r0
+ adds r0, r4, 0
+ bl sub_811B94C
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _0811B9F0
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811BA08: .4byte gUnknown_203B084
+_0811BA0C: .4byte gUnknown_8457138
+_0811BA10: .4byte 0x00000283
+_0811BA14: .4byte gUnknown_8457178
+ thumb_func_end sub_811B9D8
+
+ thumb_func_start sub_811BA18
+sub_811BA18: @ 811BA18
+ push {r4,lr}
+ ldr r4, _0811BA38 @ =sub_811B9D8
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0811BA3C
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ b _0811BA4A
+ .align 2, 0
+_0811BA38: .4byte sub_811B9D8
+_0811BA3C:
+ ldr r0, _0811BA50 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
+ ldr r1, _0811BA54 @ =0x0000028f
+ ldr r2, _0811BA58 @ =gUnknown_8457174 "0"
+ movs r3, 0x1
+ bl AGBAssert
+ movs r0, 0x10
+_0811BA4A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811BA50: .4byte gUnknown_8457138
+_0811BA54: .4byte 0x0000028f
+_0811BA58: .4byte gUnknown_8457174
+ thumb_func_end sub_811BA18
+
+ thumb_func_start sub_811BA5C
+sub_811BA5C: @ 811BA5C
+ push {lr}
+ ldr r0, _0811BA74 @ =sub_811B9D8
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xF
+ bhi _0811BA70
+ bl DestroyTask
+_0811BA70:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811BA74: .4byte sub_811B9D8
+ thumb_func_end sub_811BA5C
+
+ thumb_func_start sub_811BA78
+sub_811BA78: @ 811BA78
+ push {r4,lr}
+ movs r4, 0
+_0811BA7C:
+ adds r0, r4, 0
+ bl sub_811B5DC
+ cmp r0, 0
+ bne _0811BA92
+ adds r0, r4, 0
+ bl sub_811B64C
+ adds r0, r4, 0
+ bl sub_811B5F0
+_0811BA92:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _0811BA7C
+ ldr r1, _0811BAA8 @ =gUnknown_203B084
+ movs r0, 0
+ str r0, [r1]
+ bl sub_811BA5C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811BAA8: .4byte gUnknown_203B084
+ thumb_func_end sub_811BA78
+
+ thumb_func_start sub_811BAAC
+sub_811BAAC: @ 811BAAC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ str r0, [sp, 0x8]
+ mov r9, r1
+ movs r7, 0
+ mov r0, r9
+ lsls r0, 2
+ mov r8, r0
+ ldr r0, _0811BB38 @ =gUnknown_84570EC
+ mov r2, r8
+ adds r1, r2, r0
+ ldrh r1, [r1]
+ mov r2, sp
+ strh r1, [r2, 0xC]
+ adds r0, 0x2
+ add r0, r8
+ ldrh r0, [r0]
+ mov r10, r0
+ ldr r6, _0811BB3C @ =gUnknown_845710C
+_0811BADA:
+ mov r5, r8
+ add r5, r9
+ adds r5, r7
+ adds r4, r5, 0
+ subs r4, 0x38
+ lsls r4, 24
+ lsrs r4, 24
+ movs r2, 0
+ ldrsb r2, [r6, r2]
+ mov r0, sp
+ ldrh r0, [r0, 0xC]
+ adds r2, r0, r2
+ lsls r2, 16
+ asrs r2, 16
+ movs r3, 0x1
+ ldrsb r3, [r6, r3]
+ add r3, r10
+ lsls r3, 16
+ asrs r3, 16
+ movs r0, 0x3
+ str r0, [sp]
+ movs r0, 0x1
+ str r0, [sp, 0x4]
+ movs r0, 0x19
+ adds r1, r4, 0
+ bl sprite_new
+ ldr r1, [sp, 0x8]
+ adds r5, r1, r5
+ strb r0, [r5]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8069124
+ adds r6, 0x2
+ adds r7, 0x1
+ cmp r7, 0x4
+ ble _0811BADA
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811BB38: .4byte gUnknown_84570EC
+_0811BB3C: .4byte gUnknown_845710C
+ thumb_func_end sub_811BAAC
+
+ thumb_func_start sub_811BB40
+sub_811BB40: @ 811BB40
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r4, 0
+ ldr r6, _0811BB64 @ =gSprites
+_0811BB48:
+ adds r0, r5, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ bl DestroySprite
+ adds r4, 0x1
+ cmp r4, 0x27
+ ble _0811BB48
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811BB64: .4byte gSprites
+ thumb_func_end sub_811BB40
+
+ thumb_func_start sub_811BB68
+sub_811BB68: @ 811BB68
+ push {r4-r7,lr}
+ sub sp, 0x8
+ movs r5, 0
+ add r7, sp, 0x4
+_0811BB70:
+ movs r4, 0
+ adds r6, r5, 0x1
+_0811BB74:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ mov r2, sp
+ adds r3, r7, 0
+ bl sub_811B53C
+ ldr r0, [sp]
+ ldr r1, [sp, 0x4]
+ movs r2, 0
+ bl sub_8059024
+ adds r4, 0x1
+ cmp r4, 0x4
+ ble _0811BB74
+ adds r5, r6, 0
+ cmp r5, 0x7
+ ble _0811BB70
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811BB68
+
+ thumb_func_start sub_811BBA0
+sub_811BBA0: @ 811BBA0
+ push {lr}
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _0811BBB4
+ ldr r0, _0811BBB0 @ =gUnknown_845711B
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ b _0811BBC4
+ .align 2, 0
+_0811BBB0: .4byte gUnknown_845711B
+_0811BBB4:
+ ldrb r1, [r2, 0xA]
+ movs r0, 0x7F
+ ands r0, r1
+ cmp r0, 0x45
+ beq _0811BBC2
+ movs r0, 0x4
+ b _0811BBC4
+_0811BBC2:
+ movs r0, 0x1
+_0811BBC4:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811BBA0
+
+ thumb_func_start sub_811BBC8
+sub_811BBC8: @ 811BBC8
+ push {lr}
+ adds r2, r0, 0
+ lsls r0, r2, 2
+ adds r0, r2
+ adds r0, r1
+ subs r0, 0x38
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_806916C
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811BBC8
+
+ thumb_func_start sub_811BBE0
+sub_811BBE0: @ 811BBE0
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ adds r5, r0, 0
+ adds r6, r1, 0
+ mov r9, r3
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ lsls r0, r5, 2
+ adds r0, r5
+ adds r7, r0, r6
+ adds r0, r5, 0
+ bl sub_811BBC8
+ cmp r0, 0x1
+ bne _0811BC1E
+ adds r4, r7, 0
+ subs r4, 0x38
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8069124
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80691A4
+_0811BC1E:
+ adds r0, r7, 0
+ subs r0, 0x38
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, r8
+ bl sub_8069094
+ adds r0, r6, 0
+ adds r1, r5, 0
+ mov r2, r9
+ bl sub_811BBA0
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_811C008
+ add r3, sp, 0x4
+ adds r0, r5, 0
+ adds r1, r6, 0
+ mov r2, sp
+ bl sub_811B53C
+ ldr r0, [sp]
+ ldr r1, [sp, 0x4]
+ movs r2, 0x1
+ bl sub_8059024
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811BBE0
+
+ thumb_func_start sub_811BC68
+sub_811BC68: @ 811BC68
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r5, r1, 0
+ lsls r0, r4, 2
+ adds r0, r4
+ adds r0, r5
+ subs r0, 0x38
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x2
+ bl sub_80691A4
+ add r3, sp, 0x4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ mov r2, sp
+ bl sub_811B53C
+ ldr r0, [sp]
+ ldr r1, [sp, 0x4]
+ movs r2, 0
+ bl sub_8059024
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811BC68
+
+ thumb_func_start sub_811BCA0
+sub_811BCA0: @ 811BCA0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r7, r0, 0
+ mov r8, r1
+ mov r6, sp
+ adds r6, 0x2
+ mov r0, sp
+ adds r1, r6, 0
+ bl PlayerGetDestCoords
+ add r4, sp, 0x4
+ mov r5, sp
+ adds r5, 0x6
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl plaer_get_pos_including_state_based_drift
+ lsls r0, r7, 2
+ adds r0, r7
+ subs r0, 0x38
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_806916C
+ mov r10, r6
+ mov r9, r4
+ adds r6, r5, 0
+ cmp r0, 0x1
+ bne _0811BD2C
+ mov r0, sp
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ mov r0, r10
+ movs r1, 0
+ ldrsh r3, [r0, r1]
+ adds r0, r7, 0
+ movs r1, 0
+ bl sub_811B58C
+ cmp r0, 0x1
+ beq _0811BD98
+ movs r0, 0
+ ldrsh r2, [r4, r0]
+ movs r1, 0
+ ldrsh r3, [r6, r1]
+ adds r0, r7, 0
+ movs r1, 0
+ bl sub_811B58C
+ cmp r0, 0x1
+ beq _0811BD98
+ mov r2, r8
+ ldrb r0, [r2, 0xB]
+ lsls r0, 31
+ lsrs r0, 31
+ ldrb r1, [r2, 0x2]
+ bl sub_811B524
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r7, 0
+ movs r1, 0
+ mov r3, r8
+ bl sub_811BBE0
+_0811BD2C:
+ movs r5, 0x1
+ mov r4, r8
+ adds r4, 0x4
+_0811BD32:
+ ldrb r0, [r4]
+ cmp r0, 0
+ bne _0811BD42
+ adds r0, r7, 0
+ adds r1, r5, 0
+ bl sub_811BC68
+ b _0811BD90
+_0811BD42:
+ mov r0, sp
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ mov r0, r10
+ movs r1, 0
+ ldrsh r3, [r0, r1]
+ adds r0, r7, 0
+ adds r1, r5, 0
+ bl sub_811B58C
+ cmp r0, 0
+ bne _0811BD90
+ mov r0, r9
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ movs r0, 0
+ ldrsh r3, [r6, r0]
+ adds r0, r7, 0
+ adds r1, r5, 0
+ bl sub_811B58C
+ cmp r0, 0
+ bne _0811BD90
+ ldrb r2, [r4]
+ lsrs r0, r2, 3
+ movs r1, 0x1
+ ands r0, r1
+ movs r1, 0x7
+ ands r1, r2
+ bl sub_811B524
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r7, 0
+ adds r1, r5, 0
+ mov r3, r8
+ bl sub_811BBE0
+_0811BD90:
+ adds r4, 0x1
+ adds r5, 0x1
+ cmp r5, 0x4
+ ble _0811BD32
+_0811BD98:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811BCA0
+
+ thumb_func_start sub_811BDA8
+sub_811BDA8: @ 811BDA8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldrb r0, [r4, 0xA]
+ lsls r0, 25
+ lsrs r0, 25
+ subs r0, 0x40
+ cmp r0, 0x14
+ bhi _0811BE4C
+ lsls r0, 2
+ ldr r1, _0811BDC4 @ =_0811BDC8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0811BDC4: .4byte _0811BDC8
+ .align 2, 0
+_0811BDC8:
+ .4byte _0811BE1C
+ .4byte _0811BE3C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE3C
+ .4byte _0811BE3C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE3C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE4C
+ .4byte _0811BE3C
+ .4byte _0811BE3C
+ .4byte _0811BE3C
+ .4byte _0811BE1C
+_0811BE1C:
+ ldrb r1, [r4, 0xB]
+ lsls r1, 31
+ lsrs r1, 31
+ ldrb r2, [r4, 0x2]
+ adds r0, r5, 0
+ bl sub_811B8BC
+ movs r4, 0
+_0811BE2C:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_811BC68
+ adds r4, 0x1
+ cmp r4, 0x4
+ bls _0811BE2C
+ b _0811BE58
+_0811BE3C:
+ adds r0, r5, 0
+ bl sub_811B90C
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_811BCA0
+ b _0811BE58
+_0811BE4C:
+ ldr r0, _0811BE60 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
+ ldr r1, _0811BE64 @ =0x000003d3
+ ldr r2, _0811BE68 @ =gUnknown_8457174 "0"
+ movs r3, 0x1
+ bl AGBAssert
+_0811BE58:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811BE60: .4byte gUnknown_8457138
+_0811BE64: .4byte 0x000003d3
+_0811BE68: .4byte gUnknown_8457174
+ thumb_func_end sub_811BDA8
+
+ thumb_func_start sub_811BE6C
+sub_811BE6C: @ 811BE6C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_811B90C
+ movs r4, 0
+_0811BE76:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_811BC68
+ adds r4, 0x1
+ cmp r4, 0x4
+ ble _0811BE76
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811BE6C
+
+ thumb_func_start sub_811BE8C
+sub_811BE8C: @ 811BE8C
+ push {r4,r5,lr}
+ ldr r2, _0811BEAC @ =gUnknown_203B088
+ movs r1, 0
+ str r1, [r2]
+ movs r5, 0
+ ldr r4, [r0]
+_0811BE98:
+ ldrb r0, [r4, 0x1A]
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0x1
+ bne _0811BEB0
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_811BDA8
+ b _0811BEBC
+ .align 2, 0
+_0811BEAC: .4byte gUnknown_203B088
+_0811BEB0:
+ cmp r1, 0x2
+ bne _0811BEBC
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_811BE6C
+_0811BEBC:
+ adds r4, 0x20
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _0811BE98
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811BE8C
+
+ thumb_func_start sub_811BECC
+sub_811BECC: @ 811BECC
+ ldr r1, _0811BED8 @ =gUnknown_203B088
+ movs r0, 0x96
+ lsls r0, 1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0811BED8: .4byte gUnknown_203B088
+ thumb_func_end sub_811BECC
+
+ thumb_func_start sub_811BEDC
+sub_811BEDC: @ 811BEDC
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, _0811BEFC @ =gUnknown_203B088
+ ldr r1, [r0]
+ adds r1, 0x1
+ str r1, [r0]
+ movs r0, 0x96
+ lsls r0, 1
+ cmp r1, r0
+ bls _0811BEF6
+ adds r0, r2, 0
+ bl sub_811BE8C
+_0811BEF6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811BEFC: .4byte gUnknown_203B088
+ thumb_func_end sub_811BEDC
+
+ thumb_func_start sub_811BF00
+sub_811BF00: @ 811BF00
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ adds r5, r0, 0
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ bl is_walking_or_running
+ cmp r0, 0
+ bne _0811BF48
+ b _0811BFEE
+_0811BF1C:
+ ldr r4, _0811BF44 @ =gUnknown_8457116
+ bl GetPlayerFacingDirection
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r4
+ ldrb r2, [r0]
+ adds r0, r6, 0
+ ldr r1, [sp, 0xC]
+ bl sub_811C008
+ ldr r0, [sp, 0x4]
+ strh r6, [r0]
+ mov r1, sp
+ ldrh r2, [r1, 0xC]
+ ldr r1, [sp, 0x8]
+ strh r2, [r1]
+ movs r0, 0x1
+ b _0811BFF0
+ .align 2, 0
+_0811BF44: .4byte gUnknown_8457116
+_0811BF48:
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl GetXYCoordsOneStepInFrontOfPlayer
+ movs r0, 0
+ str r0, [sp, 0xC]
+ ldr r0, _0811C000 @ =gUnknown_84570EC
+ adds r7, r5, 0
+ movs r1, 0
+ mov r10, r1
+ adds r2, r0, 0x2
+ str r2, [sp, 0x10]
+ str r0, [sp, 0x14]
+_0811BF66:
+ movs r6, 0
+ ldr r4, [sp, 0x14]
+ movs r0, 0
+ ldrsh r4, [r4, r0]
+ mov r9, r4
+ ldr r1, [sp, 0x10]
+ mov r8, r1
+ ldr r5, _0811C004 @ =gUnknown_845710C
+_0811BF76:
+ mov r2, r10
+ adds r3, r2, r6
+ mov r0, sp
+ movs r4, 0
+ ldrsh r1, [r0, r4]
+ movs r0, 0
+ ldrsb r0, [r5, r0]
+ add r0, r9
+ adds r0, 0x7
+ cmp r1, r0
+ bne _0811BFCA
+ mov r1, sp
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ mov r4, r8
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ movs r2, 0x1
+ ldrsb r2, [r5, r2]
+ adds r1, r2
+ adds r1, 0x7
+ cmp r0, r1
+ bne _0811BFCA
+ adds r0, r3, 0
+ subs r0, 0x38
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_806916C
+ cmp r0, 0
+ bne _0811BFCA
+ adds r0, r4, 0
+ bl sub_8069294
+ cmp r0, 0
+ bne _0811BFCA
+ ldrb r1, [r7, 0x1A]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0x1
+ beq _0811BF1C
+_0811BFCA:
+ adds r5, 0x2
+ adds r6, 0x1
+ cmp r6, 0x4
+ ble _0811BF76
+ adds r7, 0x20
+ movs r4, 0x5
+ add r10, r4
+ ldr r0, [sp, 0x10]
+ adds r0, 0x4
+ str r0, [sp, 0x10]
+ ldr r1, [sp, 0x14]
+ adds r1, 0x4
+ str r1, [sp, 0x14]
+ ldr r2, [sp, 0xC]
+ adds r2, 0x1
+ str r2, [sp, 0xC]
+ cmp r2, 0x7
+ ble _0811BF66
+_0811BFEE:
+ movs r0, 0
+_0811BFF0:
+ 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
+_0811C000: .4byte gUnknown_84570EC
+_0811C004: .4byte gUnknown_845710C
+ thumb_func_end sub_811BF00
+
+ thumb_func_start sub_811C008
+sub_811C008: @ 811C008
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r3, r1, 0
+ lsls r1, r2, 24
+ lsrs r1, 24
+ lsls r0, r3, 2
+ adds r0, r3
+ subs r0, 0x38
+ adds r0, r4
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8069058
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811C008
+
+ thumb_func_start sub_811C028
+sub_811C028: @ 811C028
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ lsls r3, r4, 5
+ adds r3, r2
+ adds r2, r3, 0
+ bl sub_811BBA0
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_811C008
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811C028
+
+ thumb_func_start sub_811C04C
+sub_811C04C: @ 811C04C
+ push {r4-r7,lr}
+ movs r0, 0xA
+ bl sub_81173C0
+ movs r4, 0
+ movs r7, 0x64
+ ldr r6, _0811C0CC @ =gPlayerParty
+ ldr r5, _0811C0D0 @ =gEnemyParty
+_0811C05C:
+ ldr r0, _0811C0D4 @ =gSelectedOrderFromParty
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ subs r0, 0x1
+ adds r1, r0, 0
+ muls r1, r7
+ adds r1, r6
+ adds r0, r5, 0
+ movs r2, 0x64
+ bl memcpy
+ adds r5, 0x64
+ adds r4, 0x1
+ cmp r4, 0x1
+ ble _0811C05C
+ ldr r4, _0811C0CC @ =gPlayerParty
+ movs r0, 0xFA
+ lsls r0, 1
+ adds r5, r4, r0
+_0811C082:
+ adds r0, r4, 0
+ bl ZeroMonData
+ adds r4, 0x64
+ cmp r4, r5
+ ble _0811C082
+ ldr r4, _0811C0CC @ =gPlayerParty
+ movs r5, 0
+ adds r6, r4, 0
+ adds r6, 0x64
+_0811C096:
+ ldr r1, _0811C0D0 @ =gEnemyParty
+ adds r1, r5, r1
+ adds r0, r4, 0
+ movs r2, 0x64
+ bl memcpy
+ adds r4, 0x64
+ adds r5, 0x64
+ cmp r4, r6
+ ble _0811C096
+ movs r0, 0x32
+ bl IncrementGameStat
+ bl CalculatePlayerPartyCount
+ ldr r0, _0811C0D8 @ =gTrainerBattleOpponent_A
+ movs r2, 0xC0
+ lsls r2, 4
+ adds r1, r2, 0
+ strh r1, [r0]
+ ldr r0, _0811C0DC @ =CB2_InitBattle
+ bl SetMainCallback2
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811C0CC: .4byte gPlayerParty
+_0811C0D0: .4byte gEnemyParty
+_0811C0D4: .4byte gSelectedOrderFromParty
+_0811C0D8: .4byte gTrainerBattleOpponent_A
+_0811C0DC: .4byte CB2_InitBattle
+ thumb_func_end sub_811C04C
+
+ thumb_func_start sub_811C0E0
+sub_811C0E0: @ 811C0E0
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ sub sp, 0x18
+ adds r5, r0, 0
+ mov r10, r1
+ adds r6, r2, 0
+ ldr r4, [sp, 0x34]
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0x1
+ mov r8, r0
+ ldr r1, _0811C14C @ =gUnknown_84571A8
+ mov r9, r1
+ ldrb r0, [r1]
+ lsls r1, r0, 4
+ orrs r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r5, 0
+ str r3, [sp, 0x14]
+ bl FillWindowPixelBuffer
+ mov r0, r8
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ lsls r4, 24
+ asrs r4, 24
+ str r4, [sp, 0xC]
+ mov r0, r10
+ str r0, [sp, 0x10]
+ adds r0, r5, 0
+ movs r1, 0x3
+ adds r2, r6, 0
+ ldr r3, [sp, 0x14]
+ bl AddTextPrinterParameterized4
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811C14C: .4byte gUnknown_84571A8
+ thumb_func_end sub_811C0E0
+
+ thumb_func_start sub_811C150
+sub_811C150: @ 811C150
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r6, r1, 0
+ adds r5, r2, 0
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0811C168
+ cmp r0, 0x1
+ beq _0811C196
+ b _0811C1AA
+_0811C168:
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0xD
+ bl DrawTextBorderOuter
+ str r5, [sp]
+ movs r0, 0
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0x2
+ bl sub_811C0E0
+ movs r0, 0
+ bl PutWindowTilemap
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ b _0811C1AA
+_0811C196:
+ movs r0, 0
+ bl IsTextPrinterActive
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0
+ bne _0811C1AA
+ strh r0, [r4]
+ movs r0, 0x1
+ b _0811C1AC
+_0811C1AA:
+ movs r0, 0
+_0811C1AC:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811C150
+
+ thumb_func_start sub_811C1B4
+sub_811C1B4: @ 811C1B4
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811C1B4
+
+ thumb_func_start sub_811C1C8
+sub_811C1C8: @ 811C1C8
+ push {r4,lr}
+ sub sp, 0xC
+ ldr r1, _0811C1E8 @ =gMain
+ movs r2, 0x87
+ lsls r2, 3
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x33
+ bls _0811C1DE
+ b _0811C516
+_0811C1DE:
+ lsls r0, 2
+ ldr r1, _0811C1EC @ =_0811C1F0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0811C1E8: .4byte gMain
+_0811C1EC: .4byte _0811C1F0
+ .align 2, 0
+_0811C1F0:
+ .4byte _0811C2C0
+ .4byte _0811C364
+ .4byte _0811C38C
+ .4byte _0811C3B0
+ .4byte _0811C400
+ .4byte _0811C516
+ .4byte _0811C4E4
+ .4byte _0811C4C0
+ .4byte _0811C4E4
+ .4byte _0811C500
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C516
+ .4byte _0811C48C
+ .4byte _0811C4A8
+_0811C2C0:
+ movs r0, 0
+ movs r1, 0
+ bl SetGpuReg
+ ldr r4, _0811C350 @ =gUnknown_203B08C
+ movs r0, 0x4
+ bl AllocZeroed
+ str r0, [r4]
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ bl ResetTasks
+ movs r0, 0
+ bl ResetBgsAndClearDma3BusyFlags
+ ldr r1, _0811C354 @ =gUnknown_8457194
+ movs r0, 0
+ movs r2, 0x1
+ bl InitBgsFromTemplates
+ bl ResetTempTileDataBuffers
+ ldr r0, _0811C358 @ =gUnknown_8457198
+ bl InitWindows
+ lsls r0, 16
+ cmp r0, 0
+ bne _0811C300
+ b _0811C52A
+_0811C300:
+ bl DeactivateAllTextPrinters
+ movs r0, 0
+ bl ClearWindowTilemap
+ movs r0, 0
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ movs r0, 0
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0xF
+ str r0, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0xD0
+ bl TextWindow_SetStdFrame0_WithPal
+ bl Menu_LoadStdPal
+ ldr r0, _0811C35C @ =sub_811C1B4
+ bl SetVBlankCallback
+ ldr r1, _0811C360 @ =gMain
+ movs r0, 0x87
+ lsls r0, 3
+ adds r1, r0
+ b _0811C4F2
+ .align 2, 0
+_0811C350: .4byte gUnknown_203B08C
+_0811C354: .4byte gUnknown_8457194
+_0811C358: .4byte gUnknown_8457198
+_0811C35C: .4byte sub_811C1B4
+_0811C360: .4byte gMain
+_0811C364:
+ ldr r0, _0811C380 @ =gUnknown_203B08C
+ ldr r0, [r0]
+ ldr r1, _0811C384 @ =gUnknown_841E538
+ movs r2, 0
+ bl sub_811C150
+ cmp r0, 0
+ bne _0811C376
+ b _0811C516
+_0811C376:
+ ldr r1, _0811C388 @ =gMain
+ movs r2, 0x87
+ lsls r2, 3
+ adds r1, r2
+ b _0811C4F2
+ .align 2, 0
+_0811C380: .4byte gUnknown_203B08C
+_0811C384: .4byte gUnknown_841E538
+_0811C388: .4byte gMain
+_0811C38C:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ movs r0, 0
+ bl ShowBg
+ ldr r1, _0811C3AC @ =gMain
+ movs r0, 0x87
+ lsls r0, 3
+ adds r1, r0
+ b _0811C4F2
+ .align 2, 0
+_0811C3AC: .4byte gMain
+_0811C3B0:
+ bl UpdatePaletteFade
+ lsls r0, 24
+ cmp r0, 0
+ beq _0811C3BC
+ b _0811C516
+_0811C3BC:
+ ldr r4, _0811C3D8 @ =gBlockSendBuffer
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x20
+ bl memset
+ ldr r0, _0811C3DC @ =gSelectedOrderFromParty
+ ldrb r1, [r0]
+ ldrb r0, [r0, 0x1]
+ cmn r1, r0
+ bne _0811C3E0
+ movs r0, 0x52
+ b _0811C3E2
+ .align 2, 0
+_0811C3D8: .4byte gBlockSendBuffer
+_0811C3DC: .4byte gSelectedOrderFromParty
+_0811C3E0:
+ movs r0, 0x51
+_0811C3E2:
+ strb r0, [r4]
+ ldr r1, _0811C3F8 @ =gBlockSendBuffer
+ movs r0, 0
+ movs r2, 0x20
+ bl SendBlock
+ ldr r1, _0811C3FC @ =gMain
+ movs r2, 0x87
+ lsls r2, 3
+ adds r1, r2
+ b _0811C4F2
+ .align 2, 0
+_0811C3F8: .4byte gBlockSendBuffer
+_0811C3FC: .4byte gMain
+_0811C400:
+ bl GetBlockReceivedStatus
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ beq _0811C40E
+ b _0811C516
+_0811C40E:
+ ldr r1, _0811C440 @ =gBlockRecvBuffer
+ ldrh r0, [r1]
+ cmp r0, 0x51
+ bne _0811C448
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0x51
+ bne _0811C448
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _0811C444 @ =gMain
+ movs r1, 0x87
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x32
+ b _0811C47E
+ .align 2, 0
+_0811C440: .4byte gBlockRecvBuffer
+_0811C444: .4byte gMain
+_0811C448:
+ bl sub_800AAC0
+ ldr r4, _0811C46C @ =gBlockRecvBuffer
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 16
+ adds r0, r4
+ ldrh r0, [r0]
+ cmp r0, 0x52
+ bne _0811C474
+ ldr r0, _0811C470 @ =gMain
+ movs r2, 0x87
+ lsls r2, 3
+ adds r0, r2
+ movs r1, 0x6
+ b _0811C47E
+ .align 2, 0
+_0811C46C: .4byte gBlockRecvBuffer
+_0811C470: .4byte gMain
+_0811C474:
+ ldr r0, _0811C488 @ =gMain
+ movs r1, 0x87
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x8
+_0811C47E:
+ strb r1, [r0]
+ bl ResetBlockReceivedFlags
+ b _0811C516
+ .align 2, 0
+_0811C488: .4byte gMain
+_0811C48C:
+ bl UpdatePaletteFade
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811C516
+ bl sub_800AB9C
+ ldr r1, _0811C4A4 @ =gMain
+ movs r2, 0x87
+ lsls r2, 3
+ adds r1, r2
+ b _0811C4F2
+ .align 2, 0
+_0811C4A4: .4byte gMain
+_0811C4A8:
+ bl IsLinkTaskFinished
+ lsls r0, 24
+ cmp r0, 0
+ beq _0811C516
+ ldr r0, _0811C4BC @ =sub_811C04C
+ bl SetMainCallback2
+ b _0811C516
+ .align 2, 0
+_0811C4BC: .4byte sub_811C04C
+_0811C4C0:
+ ldr r0, _0811C4D8 @ =gUnknown_203B08C
+ ldr r0, [r0]
+ ldr r1, _0811C4DC @ =gUnknown_841E58D
+ movs r2, 0x1
+ bl sub_811C150
+ cmp r0, 0
+ beq _0811C516
+ ldr r0, _0811C4E0 @ =CB2_ReturnToField
+ bl SetMainCallback2
+ b _0811C516
+ .align 2, 0
+_0811C4D8: .4byte gUnknown_203B08C
+_0811C4DC: .4byte gUnknown_841E58D
+_0811C4E0: .4byte CB2_ReturnToField
+_0811C4E4:
+ ldr r0, _0811C4FC @ =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0811C516
+ movs r0, 0x87
+ lsls r0, 3
+ adds r1, r2, r0
+_0811C4F2:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0811C516
+ .align 2, 0
+_0811C4FC: .4byte gReceivedRemoteLinkPlayers
+_0811C500:
+ ldr r0, _0811C534 @ =gUnknown_203B08C
+ ldr r0, [r0]
+ ldr r1, _0811C538 @ =gUnknown_841E572
+ movs r2, 0x1
+ bl sub_811C150
+ cmp r0, 0
+ beq _0811C516
+ ldr r0, _0811C53C @ =CB2_ReturnToField
+ bl SetMainCallback2
+_0811C516:
+ bl RunTasks
+ bl RunTextPrinters
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+_0811C52A:
+ add sp, 0xC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811C534: .4byte gUnknown_203B08C
+_0811C538: .4byte gUnknown_841E572
+_0811C53C: .4byte CB2_ReturnToField
+ thumb_func_end sub_811C1C8
+
+ .align 2, 0 @ Don't pad with nop.