summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorgolem galvanize <golemgalvanize@github.com>2018-02-12 14:00:47 -0500
committergolem galvanize <golemgalvanize@github.com>2018-02-12 14:00:47 -0500
commit4ac064bbaf54966082a860e6b6723c5ec654c436 (patch)
treeb419b2bb1a7fe7d17c440d58e5000c21e832386c /asm
parentf81c52b56e865d8ecc753a69a31a5148548320a6 (diff)
parenta4787bc06a323071d32d3e0705e9cd39d9221452 (diff)
Merge branch 'master' of https://github.com/pret/pokeemerald into decompile_item_menu
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_frontier_1.s12
-rw-r--r--asm/battle_frontier_2.s6
-rw-r--r--asm/battle_tower.s14
-rw-r--r--asm/cable_car_util.s8
-rw-r--r--asm/cable_club.s46
-rw-r--r--asm/contest.s2
-rw-r--r--asm/contest_link_80F57C4.s4
-rw-r--r--asm/contest_link_80FC4F4.s2
-rw-r--r--asm/field_screen.s2
-rw-r--r--asm/field_specials.s2
-rw-r--r--asm/intro.s4
-rw-r--r--asm/librfu.s1224
-rw-r--r--asm/link_rfu.s2021
-rw-r--r--asm/macros/event.inc96
-rw-r--r--asm/main_menu.s4
-rw-r--r--asm/overworld.s38
-rw-r--r--asm/party_menu.s2
-rw-r--r--asm/pokemon_1.s2016
-rw-r--r--asm/pokemon_3.s529
-rw-r--r--asm/pokemon_item_effect.s1967
-rw-r--r--asm/pokemon_summary_screen.s4
-rw-r--r--asm/pokenav.s22
-rw-r--r--asm/record_mixing.s8
-rw-r--r--asm/rom6.s1
-rw-r--r--asm/rom_8011DC0.s (renamed from asm/link.s)17787
-rw-r--r--asm/rom_8034C54.s2
-rw-r--r--asm/script_pokemon_util_80F87D8.s2
-rw-r--r--asm/start_menu.s4
-rw-r--r--asm/trade.s54
-rw-r--r--asm/trainer_card.s8
30 files changed, 2726 insertions, 23165 deletions
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index 38e0e4b0a..60ac46859 100644
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -1591,7 +1591,7 @@ _0818F7E8:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x1
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1618,7 +1618,7 @@ _0818F820:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x2
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1645,7 +1645,7 @@ _0818F858:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x3
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1672,7 +1672,7 @@ _0818F890:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x4
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1699,7 +1699,7 @@ _0818F8C8:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x5
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1941,7 +1941,7 @@ sub_818FA74: @ 818FA74
str r4, [sp, 0x4]
ldr r7, [sp, 0x14]
str r7, [sp, 0x8]
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0xC
movs r1, 0x1
negs r1, r1
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 67f44a0b6..11220f369 100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -1960,7 +1960,7 @@ _0819B572:
mov r2, r9
str r2, [sp, 0x8]
ldr r2, [sp, 0x14]
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -2103,7 +2103,7 @@ _0819B678:
mov r2, r10
str r2, [sp, 0x8]
movs r2, 0x1E
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0xC
movs r3, 0
strb r3, [r0]
@@ -23864,7 +23864,7 @@ _081A6E0C:
ldr r4, [sp, 0x28]
str r4, [sp, 0x8]
lsrs r2, 24
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0x1C
movs r7, 0
strb r7, [r0]
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index d92881024..13641fef0 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -2351,7 +2351,7 @@ _08163368:
ldr r2, [sp, 0x30]
str r2, [sp, 0x8]
ldr r2, [sp, 0x20]
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r0, 0xFF
mov r6, sp
strb r0, [r6, 0x14]
@@ -2775,7 +2775,7 @@ _081636CE:
str r2, [sp, 0x8]
ldr r2, [sp, 0x14]
mov r3, r10
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -2894,7 +2894,7 @@ _081637D0:
mov r2, r9
str r2, [sp, 0x8]
movs r2, 0x1E
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -5264,7 +5264,7 @@ _08164D14:
ldrb r0, [r0]
cmp r0, 0
beq _08164DB0
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _08164DB0
@@ -5302,7 +5302,7 @@ _08164DB6:
thumb_func_start sub_8164DCC
sub_8164DCC: @ 8164DCC
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08164DDA
@@ -6289,7 +6289,7 @@ _081655A6:
str r3, [sp, 0x8]
lsrs r2, 24
mov r3, r12
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r0, 0xFF
str r0, [sp, 0x48]
movs r0, 0
@@ -7550,7 +7550,7 @@ _08165FDA:
ldr r2, [sp, 0x2C]
str r2, [sp, 0x8]
ldr r2, [sp, 0x20]
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
add r1, sp, 0x14
movs r0, 0xFF
strb r0, [r1]
diff --git a/asm/cable_car_util.s b/asm/cable_car_util.s
index 7f396b635..db434eaf9 100644
--- a/asm/cable_car_util.s
+++ b/asm/cable_car_util.s
@@ -252,7 +252,7 @@ _0815226C:
ldrb r2, [r2]
cmp r3, r2
bcs _08152292
- ldr r0, =gUnknown_030024F8
+ ldr r0, =gMain+0x238
mov r12, r0
ldr r4, =gDummyOamData
adds r2, r5, 0
@@ -350,7 +350,7 @@ _08152322:
cmp r0, 0
beq _08152348
lsls r0, r6, 3
- ldr r1, =gUnknown_030024F8
+ ldr r1, =gMain+0x238
adds r0, r1
ldr r1, =gDummyOamData
ldm r1!, {r2,r3}
@@ -412,7 +412,7 @@ _08152348:
orrs r0, r1
strh r0, [r2, 0x4]
lsls r1, r6, 3
- ldr r2, =gUnknown_030024F8
+ ldr r2, =gMain+0x238
ldr r0, [r4, 0x4]
adds r1, r2
adds r0, r5, r0
@@ -746,7 +746,7 @@ _081525FC:
orrs r0, r2
strb r0, [r1, 0x19]
lsls r1, r5, 3
- ldr r0, =gUnknown_030024F8
+ ldr r0, =gMain+0x238
adds r1, r0
ldr r0, =gDummyOamData
ldm r0!, {r2,r3}
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 1d2f5d1ff..3b5c392fc 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -143,7 +143,7 @@ sub_80B2478: @ 80B2478
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
- bl sub_800A0C8
+ bl GetLinkPlayerDataExchangeStatusTimed
lsls r0, 24
lsrs r0, 24
subs r0, 0x1
@@ -205,7 +205,7 @@ sub_80B24F8: @ 80B24F8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -274,7 +274,7 @@ sub_80B2578: @ 80B2578
cmp r0, 0
beq _080B258E
movs r0, 0x1
- bl sub_800B330
+ bl SetSuppressLinkErrorMessage
_080B258E:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -309,7 +309,7 @@ sub_80B25CC: @ 80B25CC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_800B2E8
+ bl GetSioMultiSI
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -374,9 +374,9 @@ sub_80B2634: @ 80B2634
ldrsh r2, [r4, r3]
cmp r2, 0
bne _080B266C
- bl sub_800A0AC
+ bl OpenLinkTimed
bl sub_800AB98
- bl sub_800A2BC
+ bl ResetLinkPlayers
ldr r0, =gUnknown_08550594
bl AddWindow
strh r0, [r4, 0xA]
@@ -418,7 +418,7 @@ sub_80B2688: @ 80B2688
cmp r5, 0x1
bls _080B26FC
movs r0, 0x1
- bl sub_800B330
+ bl SetSuppressLinkErrorMessage
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
@@ -1065,7 +1065,7 @@ _080B2C7E:
cmp r4, r0
bcc _080B2C5C
movs r0, 0
- bl sub_800B330
+ bl SetSuppressLinkErrorMessage
bl ResetBlockReceivedFlags
ldr r0, =gSpecialVar_Result
adds r1, r5, 0
@@ -1611,7 +1611,7 @@ sub_80B3144: @ 80B3144
cmp r2, 0
bne _080B3178
bl OpenLink
- bl sub_800A2BC
+ bl ResetLinkPlayers
ldr r0, =task00_08081A90
movs r1, 0x50
bl CreateTask
@@ -1710,7 +1710,7 @@ sub_80B3220: @ 80B3220
ldrb r0, [r0]
cmp r0, 0x1
bne _080B3248
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1813,7 +1813,7 @@ _080B32F8:
ldr r2, =0x00002211
adds r0, r2, 0
strh r0, [r1]
- bl sub_8009FAC
+ bl ClearLinkCallback_2
b _080B3346
.pool
_080B3318:
@@ -1926,7 +1926,7 @@ _080B3408:
ldr r2, =0x00002211
adds r1, r2, 0
strh r1, [r0]
- bl sub_8009FAC
+ bl ClearLinkCallback_2
movs r0, 0x1
strh r0, [r6]
b _080B3532
@@ -1945,7 +1945,7 @@ _080B343A:
b _080B3532
.pool
_080B3444:
- ldr r1, =gUnknown_020229CC
+ ldr r1, =gLocalLinkPlayer
movs r0, 0
movs r2, 0x1C
bl SendBlock
@@ -2172,7 +2172,7 @@ sub_80B360C: @ 80B360C
movs r5, 0x1
eors r0, r5
bl sub_813C2A0
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B36B2
@@ -2400,7 +2400,7 @@ _080B382E:
movs r0, 0x1
movs r1, 0
bl FadeScreen
- bl sub_8009FAC
+ bl ClearLinkCallback_2
b _080B3864
_080B3840:
ldr r0, =gPaletteFade
@@ -2512,7 +2512,7 @@ _080B391C:
thumb_func_start sub_80B3924
sub_80B3924: @ 80B3924
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3940
@@ -2552,7 +2552,7 @@ sub_80B3968: @ 80B3968
ldr r2, =0x00002211
adds r0, r2, 0
strh r0, [r1]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3994
@@ -2652,7 +2652,7 @@ task00_08081A90: @ 80B3A30
cmp r1, r0
ble _080B3A62
bl CloseLink
- ldr r0, =c2_800ACD4
+ ldr r0, =CB2_LinkError
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
@@ -2661,7 +2661,7 @@ _080B3A62:
ldrb r0, [r0]
cmp r0, 0
beq _080B3AA6
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080B3AA0
@@ -2670,7 +2670,7 @@ _080B3A62:
cmp r0, 0
bne _080B3A86
bl CloseLink
- ldr r0, =c2_800ACD4
+ ldr r0, =CB2_LinkError
bl SetMainCallback2
_080B3A86:
adds r0, r4, 0
@@ -2752,7 +2752,7 @@ _080B3B20:
beq _080B3B9E
b _080B3BB8
_080B3B2A:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3B40
@@ -2808,7 +2808,7 @@ _080B3B9E:
ldrb r0, [r0]
cmp r0, 0x1
bne _080B3BB8
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2825,7 +2825,7 @@ _080B3BB8:
thumb_func_start sub_80B3BC4
sub_80B3BC4: @ 80B3BC4
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080B3BD6
diff --git a/asm/contest.s b/asm/contest.s
index 87abc1d06..8ea0d2d94 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -643,7 +643,7 @@ _080D7C04:
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_080D7C56:
pop {r4-r6}
pop {r0}
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index e73c657a9..c07be821f 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -2128,9 +2128,9 @@ sub_80F6AE8: @ 80F6AE8
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
ldr r4, =gSprites
- ldr r0, =gUnknown_02022B10
+ ldr r0, =gWirelessStatusIndicatorSpriteId
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s
index ba96bf4ea..621e26038 100644
--- a/asm/contest_link_80FC4F4.s
+++ b/asm/contest_link_80FC4F4.s
@@ -147,7 +147,7 @@ sub_80FC5DC: @ 80FC5DC
ldr r1, =gUnknown_02039F2A
movs r0, 0x1
strb r0, [r1]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0x1
bne _080FC60C
diff --git a/asm/field_screen.s b/asm/field_screen.s
index d05028cc6..0943fe1e3 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -8987,7 +8987,7 @@ _080AF994:
beq _080AF9D0
b _080AF9E8
_080AF99A:
- bl sub_8009FAC
+ bl ClearLinkCallback_2
movs r0, 0x1
movs r1, 0
bl FadeScreen
diff --git a/asm/field_specials.s b/asm/field_specials.s
index 29aca304f..c1624cd0a 100644
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -7126,7 +7126,7 @@ _0813B790:
b _0813B7C6
.pool
_0813B7A8:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _0813B7B4
diff --git a/asm/intro.s b/asm/intro.s
index a0149851e..c1754873c 100644
--- a/asm/intro.s
+++ b/asm/intro.s
@@ -282,7 +282,7 @@ _0816CE6C:
.pool
_0816CE8C:
bl GameCubeMultiBoot_Quit
- ldr r0, =sub_800BA38
+ ldr r0, =SerialCB
bl SetSerialCallback
_0816CE96:
movs r0, 0
@@ -562,7 +562,7 @@ task_intro_2: @ 816D12C
movs r0, 0xCF
lsls r0, 1
bl m4aSongNumStart
- bl sub_800B628
+ bl ResetSerial
add sp, 0x4
pop {r4,r5}
pop {r0}
diff --git a/asm/librfu.s b/asm/librfu.s
index 5fc1b0d6f..82fba2202 100644
--- a/asm/librfu.s
+++ b/asm/librfu.s
@@ -33,35 +33,35 @@ _082E3EDC:
_082E3EE0:
cmp r7, 0
beq _082E3EEC
- ldr r3, _082E3EE8
+ ldr r3, =0x00000e64
b _082E3EEE
.align 2, 0
-_082E3EE8: .4byte 0x00000e64
+ .pool
_082E3EEC:
- ldr r3, _082E3EF8
+ ldr r3, =0x00000504
_082E3EEE:
cmp r2, r3
bcs _082E3EFC
movs r0, 0x1
b _082E3FB8
.align 2, 0
-_082E3EF8: .4byte 0x00000504
+ .pool
_082E3EFC:
- ldr r0, _082E3FC0
+ ldr r0, =gUnknown_03007890
str r4, [r0]
- ldr r1, _082E3FC4
+ ldr r1, =gUnknown_03007894
adds r0, r4, 0
adds r0, 0xB4
str r0, [r1]
- ldr r1, _082E3FC8
+ ldr r1, =gUnknown_03007898
adds r0, 0x28
str r0, [r1]
- ldr r2, _082E3FCC
+ ldr r2, =gUnknown_03007880
movs r1, 0xDE
lsls r1, 1
adds r0, r4, r1
str r0, [r2]
- ldr r1, _082E3FD0
+ ldr r1, =gUnknown_03007870
movs r3, 0xDF
lsls r3, 2
adds r0, r4, r3
@@ -88,10 +88,10 @@ _082E3F28:
lsrs r5, r0, 16
cmp r5, 0x3
bls _082E3F28
- ldr r0, _082E3FC8
+ ldr r0, =gUnknown_03007898
ldr r1, [r0]
adds r1, 0xDC
- ldr r4, _082E3FD0
+ ldr r4, =gUnknown_03007870
ldr r0, [r4, 0xC]
adds r0, 0x1C
str r0, [r1]
@@ -100,7 +100,7 @@ _082E3F28:
bl STWI_init_all
bl rfu_STC_clearAPIVariables
movs r5, 0
- ldr r3, _082E3FCC
+ ldr r3, =gUnknown_03007880
movs r2, 0
_082E3F6C:
lsls r1, r5, 2
@@ -117,16 +117,16 @@ _082E3F6C:
lsrs r5, r0, 16
cmp r5, 0x3
bls _082E3F6C
- ldr r4, _082E3FD4
+ ldr r4, =sub_82E53F4
movs r0, 0x2
negs r0, r0
ands r4, r0
- ldr r1, _082E3FC8
+ ldr r1, =gUnknown_03007898
ldr r0, [r1]
adds r2, r0, 0
adds r2, 0x8
movs r3, 0x2F
- ldr r5, _082E3FD8
+ ldr r5, =0x0000ffff
_082E3F9C:
ldrh r0, [r4]
strh r0, [r2]
@@ -147,30 +147,24 @@ _082E3FB8:
pop {r1}
bx r1
.align 2, 0
-_082E3FC0: .4byte gUnknown_03007890
-_082E3FC4: .4byte gUnknown_03007894
-_082E3FC8: .4byte gUnknown_03007898
-_082E3FCC: .4byte gUnknown_03007880
-_082E3FD0: .4byte gUnknown_03007870
-_082E3FD4: .4byte sub_82E53F4
-_082E3FD8: .4byte 0x0000ffff
+ .pool
thumb_func_end rfu_initializeAPI
thumb_func_start rfu_STC_clearAPIVariables
rfu_STC_clearAPIVariables: @ 82E3FDC
push {r4-r7,lr}
sub sp, 0x4
- ldr r1, _082E4050
+ ldr r1, =0x04000208
ldrh r0, [r1]
adds r7, r0, 0
movs r6, 0
strh r6, [r1]
- ldr r5, _082E4054
+ ldr r5, =gUnknown_03007894
ldr r1, [r5]
ldrb r4, [r1]
mov r0, sp
strh r6, [r0]
- ldr r2, _082E4058
+ ldr r2, =0x01000014
bl CpuSet
ldr r2, [r5]
movs r0, 0x8
@@ -180,9 +174,9 @@ rfu_STC_clearAPIVariables: @ 82E3FDC
mov r0, sp
adds r0, 0x2
strh r1, [r0]
- ldr r4, _082E405C
+ ldr r4, =gUnknown_03007890
ldr r1, [r4]
- ldr r2, _082E4060
+ ldr r2, =0x0100005a
bl CpuSet
ldr r1, [r4]
movs r0, 0x4
@@ -208,30 +202,26 @@ _082E4030:
lsrs r2, r0, 24
cmp r2, 0x3
bls _082E4030
- ldr r0, _082E4050
+ ldr r0, =0x04000208
strh r7, [r0]
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_082E4050: .4byte 0x04000208
-_082E4054: .4byte gUnknown_03007894
-_082E4058: .4byte 0x01000014
-_082E405C: .4byte gUnknown_03007890
-_082E4060: .4byte 0x0100005a
+ .pool
thumb_func_end rfu_STC_clearAPIVariables
thumb_func_start rfu_REQ_PARENT_resumeRetransmitAndChange
rfu_REQ_PARENT_resumeRetransmitAndChange: @ 82E4064
push {lr}
- ldr r0, _082E4074
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
bl STWI_send_ResumeRetransmitAndChangeREQ
pop {r0}
bx r0
.align 2, 0
-_082E4074: .4byte rfu_STC_REQ_callback
+ .pool
thumb_func_end rfu_REQ_PARENT_resumeRetransmitAndChange
thumb_func_start rfu_UNI_PARENT_getDRAC_ACK
@@ -240,7 +230,7 @@ rfu_UNI_PARENT_getDRAC_ACK: @ 82E4078
adds r4, r0, 0
movs r0, 0
strb r0, [r4]
- ldr r5, _082E4090
+ ldr r5, =gUnknown_03007890
ldr r0, [r5]
ldrb r0, [r0]
cmp r0, 0x1
@@ -249,7 +239,7 @@ rfu_UNI_PARENT_getDRAC_ACK: @ 82E4078
lsls r0, 2
b _082E40BA
.align 2, 0
-_082E4090: .4byte gUnknown_03007890
+ .pool
_082E4094:
bl rfu_getSTWIRecvBuffer
adds r1, r0, 0
@@ -294,13 +284,13 @@ rfu_setTimerInterrupt: @ 82E40C0
thumb_func_start rfu_getSTWIRecvBuffer
rfu_getSTWIRecvBuffer: @ 82E40D4
- ldr r0, _082E40E0
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
bx lr
.align 2, 0
-_082E40E0: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_getSTWIRecvBuffer
thumb_func_start rfu_setMSCCallback
@@ -315,7 +305,7 @@ rfu_setMSCCallback: @ 82E40E4
rfu_setREQCallback: @ 82E40F0
push {lr}
adds r1, r0, 0
- ldr r0, _082E4108
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
str r1, [r0]
negs r0, r1
@@ -325,7 +315,7 @@ rfu_setREQCallback: @ 82E40F0
pop {r0}
bx r0
.align 2, 0
-_082E4108: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_setREQCallback
thumb_func_start rfu_enableREQCallback
@@ -334,16 +324,16 @@ rfu_enableREQCallback: @ 82E410C
lsls r0, 24
cmp r0, 0
beq _082E4124
- ldr r0, _082E4120
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2]
movs r0, 0x8
orrs r0, r1
b _082E412E
.align 2, 0
-_082E4120: .4byte gUnknown_03007894
+ .pool
_082E4124:
- ldr r0, _082E4134
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2]
movs r0, 0xF7
@@ -353,7 +343,7 @@ _082E412E:
pop {r0}
bx r0
.align 2, 0
-_082E4134: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_enableREQCallback
thumb_func_start rfu_STC_REQ_callback
@@ -363,9 +353,9 @@ rfu_STC_REQ_callback: @ 82E4138
lsrs r5, r0, 24
lsls r1, 16
lsrs r4, r1, 16
- ldr r0, _082E416C
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
- ldr r0, _082E4170
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strh r4, [r0, 0x1C]
ldrb r1, [r0]
@@ -373,7 +363,7 @@ rfu_STC_REQ_callback: @ 82E4138
ands r0, r1
cmp r0, 0
beq _082E4166
- ldr r0, _082E4174
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
ldr r2, [r0]
adds r0, r5, 0
@@ -384,9 +374,7 @@ _082E4166:
pop {r0}
bx r0
.align 2, 0
-_082E416C: .4byte rfu_CB_defaultCallback
-_082E4170: .4byte gUnknown_03007894
-_082E4174: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_STC_REQ_callback
thumb_func_start rfu_CB_defaultCallback
@@ -398,21 +386,21 @@ rfu_CB_defaultCallback: @ 82E4178
lsrs r3, r1, 16
cmp r0, 0xFF
bne _082E41D4
- ldr r0, _082E41DC
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r1, [r0]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _082E41A2
- ldr r0, _082E41E0
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
ldr r2, [r0]
movs r0, 0xFF
adds r1, r3, 0
bl _call_via_r2
_082E41A2:
- ldr r0, _082E41E4
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -434,7 +422,7 @@ _082E41C2:
lsrs r4, r0, 24
cmp r4, 0x3
bls _082E41B0
- ldr r0, _082E41E4
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
movs r0, 0xFF
strb r0, [r1]
@@ -443,41 +431,39 @@ _082E41D4:
pop {r0}
bx r0
.align 2, 0
-_082E41DC: .4byte gUnknown_03007894
-_082E41E0: .4byte gUnknown_03007898
-_082E41E4: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_defaultCallback
thumb_func_start rfu_waitREQComplete
rfu_waitREQComplete: @ 82E41E8
push {lr}
bl STWI_poll_CommandEnd
- ldr r0, _082E41F8
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrh r0, [r0, 0x1C]
pop {r1}
bx r1
.align 2, 0
-_082E41F8: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_waitREQComplete
thumb_func_start rfu_REQ_RFUStatus
rfu_REQ_RFUStatus: @ 82E41FC
push {lr}
- ldr r0, _082E420C
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
bl STWI_send_SystemStatusREQ
pop {r0}
bx r0
.align 2, 0
-_082E420C: .4byte rfu_STC_REQ_callback
+ .pool
thumb_func_end rfu_REQ_RFUStatus
thumb_func_start rfu_getRFUStatus
rfu_getRFUStatus: @ 82E4210
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _082E4228
+ ldr r5, =gUnknown_03007898
ldr r0, [r5]
adds r0, 0xDC
ldr r0, [r0]
@@ -487,7 +473,7 @@ rfu_getRFUStatus: @ 82E4210
movs r0, 0x10
b _082E4246
.align 2, 0
-_082E4228: .4byte gUnknown_03007898
+ .pool
_082E422C:
bl STWI_poll_CommandEnd
lsls r0, 16
@@ -512,12 +498,11 @@ _082E4246:
thumb_func_start sub_82E424C
sub_82E424C: @ 82E424C
push {lr}
- ldr r2, _082E4254
- ldr r3, _082E4258
+ ldr r2, =gUnknown_089A324C
+ ldr r3, =gDma3Requests + 0xE0
b _082E4266
.align 2, 0
-_082E4254: .4byte gUnknown_089A324C
-_082E4258: .4byte gDma3Requests + 0xE0
+ .pool
thumb_func_end sub_82E424C
thumb_func_start sub_82E425C
@@ -546,17 +531,17 @@ _082E4274:
lsrs r1, r0, 24
cmp r1, 0x59
bls _082E4274
- ldr r0, _082E42B0
+ ldr r0, =gDma3Requests + 0xEA
ldrh r0, [r0]
cmp r3, r0
bne _082E42BC
movs r0, 0xC0
lsls r0, 18
- ldr r1, _082E42B4
+ ldr r1, =gUnknown_03007890
ldr r1, [r1]
movs r2, 0x5A
bl CpuSet
- ldr r0, _082E42B8
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2]
movs r0, 0x80
@@ -565,9 +550,7 @@ _082E4274:
movs r0, 0
b _082E42BE
.align 2, 0
-_082E42B0: .4byte gDma3Requests + 0xEA
-_082E42B4: .4byte gUnknown_03007890
-_082E42B8: .4byte gUnknown_03007894
+ .pool
_082E42BC:
movs r0, 0x1
_082E42BE:
@@ -578,35 +561,34 @@ _082E42BE:
thumb_func_start rfu_REQ_stopMode
rfu_REQ_stopMode: @ 82E42C4
push {lr}
- ldr r0, _082E42E4
+ ldr r0, =0x04000208
ldrh r0, [r0]
cmp r0, 0
bne _082E42EC
movs r0, 0x3D
movs r1, 0x6
bl rfu_STC_REQ_callback
- ldr r0, _082E42E8
+ ldr r0, =gRfuState
ldr r1, [r0]
ldrh r0, [r1, 0x12]
movs r0, 0x6
strh r0, [r1, 0x12]
b _082E4362
.align 2, 0
-_082E42E4: .4byte 0x04000208
-_082E42E8: .4byte gRfuState
+ .pool
_082E42EC:
bl AgbRFU_SoftReset
bl rfu_STC_clearAPIVariables
movs r0, 0x8
bl sub_82E6D6C
- ldr r1, _082E433C
+ ldr r1, =0x00008001
cmp r0, r1
bne _082E4350
- ldr r0, _082E4340
+ ldr r0, =gRfuState
ldr r0, [r0]
ldrb r0, [r0, 0xA]
lsls r0, 2
- ldr r2, _082E4344
+ ldr r2, =0x04000100
adds r1, r0, r2
movs r0, 0
str r0, [r1]
@@ -615,8 +597,8 @@ _082E42EC:
str r0, [r1]
ldr r0, [r1]
lsls r0, 16
- ldr r2, _082E4348
- ldr r3, _082E434C
+ ldr r2, =0x0105ffff
+ ldr r3, =rfu_CB_stopMode
cmp r0, r2
bhi _082E432A
_082E4322:
@@ -632,13 +614,9 @@ _082E432A:
bl STWI_send_StopModeREQ
b _082E4362
.align 2, 0
-_082E433C: .4byte 0x00008001
-_082E4340: .4byte gRfuState
-_082E4344: .4byte 0x04000100
-_082E4348: .4byte 0x0105ffff
-_082E434C: .4byte rfu_CB_stopMode
+ .pool
_082E4350:
- ldr r1, _082E4368
+ ldr r1, =0x04000128
movs r2, 0x80
lsls r2, 6
adds r0, r2, 0
@@ -650,7 +628,7 @@ _082E4362:
pop {r0}
bx r0
.align 2, 0
-_082E4368: .4byte 0x04000128
+ .pool
thumb_func_end rfu_REQ_stopMode
thumb_func_start rfu_CB_stopMode
@@ -663,7 +641,7 @@ rfu_CB_stopMode: @ 82E436C
adds r2, r1, 0
cmp r2, 0
bne _082E4386
- ldr r1, _082E4394
+ ldr r1, =0x04000128
movs r4, 0x80
lsls r4, 6
adds r0, r4, 0
@@ -676,13 +654,13 @@ _082E4386:
pop {r0}
bx r0
.align 2, 0
-_082E4394: .4byte 0x04000128
+ .pool
thumb_func_end rfu_CB_stopMode
thumb_func_start rfu_REQBN_softReset_and_checkID
rfu_REQBN_softReset_and_checkID: @ 82E4398
push {lr}
- ldr r0, _082E43A8
+ ldr r0, =0x04000208
ldrh r0, [r0]
cmp r0, 0
bne _082E43AC
@@ -690,7 +668,7 @@ rfu_REQBN_softReset_and_checkID: @ 82E4398
negs r0, r0
b _082E43CC
.align 2, 0
-_082E43A8: .4byte 0x04000208
+ .pool
_082E43AC:
bl AgbRFU_SoftReset
bl rfu_STC_clearAPIVariables
@@ -699,7 +677,7 @@ _082E43AC:
adds r2, r0, 0
cmp r2, 0
bne _082E43CA
- ldr r1, _082E43D0
+ ldr r1, =0x04000128
movs r3, 0x80
lsls r3, 6
adds r0, r3, 0
@@ -710,19 +688,19 @@ _082E43CC:
pop {r1}
bx r1
.align 2, 0
-_082E43D0: .4byte 0x04000128
+ .pool
thumb_func_end rfu_REQBN_softReset_and_checkID
thumb_func_start rfu_REQ_reset
rfu_REQ_reset: @ 82E43D4
push {lr}
- ldr r0, _082E43E4
+ ldr r0, =rfu_CB_reset
bl STWI_set_Callback_M
bl STWI_send_ResetREQ
pop {r0}
bx r0
.align 2, 0
-_082E43E4: .4byte rfu_CB_reset
+ .pool
thumb_func_end rfu_REQ_reset
thumb_func_start rfu_CB_reset
@@ -756,7 +734,7 @@ rfu_REQ_configSystem: @ 82E440C
lsrs r5, 24
lsls r2, 24
lsrs r6, r2, 24
- ldr r0, _082E4444
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
movs r0, 0x3
ands r4, r0
@@ -768,16 +746,15 @@ rfu_REQ_configSystem: @ 82E440C
bl STWI_send_SystemConfigREQ
cmp r6, 0
bne _082E444C
- ldr r0, _082E4448
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
movs r0, 0x1
strh r0, [r1, 0x1A]
b _082E4466
.align 2, 0
-_082E4444: .4byte rfu_STC_REQ_callback
-_082E4448: .4byte gUnknown_03007894
+ .pool
_082E444C:
- ldr r5, _082E446C
+ ldr r5, =0x04000208
ldrh r4, [r5]
movs r0, 0
strh r0, [r5]
@@ -785,7 +762,7 @@ _082E444C:
lsls r0, 2
adds r1, r6, 0
bl Div
- ldr r1, _082E4470
+ ldr r1, =gUnknown_03007894
ldr r1, [r1]
strh r0, [r1, 0x1A]
strh r4, [r5]
@@ -794,8 +771,7 @@ _082E4466:
pop {r0}
bx r0
.align 2, 0
-_082E446C: .4byte 0x04000208
-_082E4470: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_REQ_configSystem
thumb_func_start rfu_REQ_configGameData
@@ -821,7 +797,7 @@ rfu_REQ_configGameData: @ 82E4474
strb r2, [r0, 0x1]
_082E449A:
movs r2, 0x2
- ldr r0, _082E44FC
+ ldr r0, =rfu_CB_configGameData
mov r12, r0
_082E44A0:
mov r3, sp
@@ -871,7 +847,7 @@ _082E44E6:
pop {r0}
bx r0
.align 2, 0
-_082E44FC: .4byte rfu_CB_configGameData
+ .pool
thumb_func_end rfu_REQ_configGameData
thumb_func_start rfu_CB_configGameData
@@ -884,10 +860,10 @@ rfu_CB_configGameData: @ 82E4500
lsrs r7, r1, 16
cmp r7, 0
bne _082E458A
- ldr r0, _082E4544
+ ldr r0, =gRfuState
ldr r0, [r0]
ldr r1, [r0, 0x24]
- ldr r0, _082E4548
+ ldr r0, =gUnknown_03007890
ldr r6, [r0]
ldrb r2, [r1, 0x4]
adds r5, r6, 0
@@ -911,8 +887,7 @@ rfu_CB_configGameData: @ 82E4500
movs r0, 0x1
b _082E4552
.align 2, 0
-_082E4544: .4byte gRfuState
-_082E4548: .4byte gUnknown_03007890
+ .pool
_082E454C:
adds r1, r6, 0
adds r1, 0x97
@@ -920,7 +895,7 @@ _082E454C:
_082E4552:
strb r0, [r1]
movs r2, 0
- ldr r3, _082E4598
+ ldr r3, =gUnknown_03007890
_082E4558:
ldr r0, [r3]
adds r0, 0x9A
@@ -935,7 +910,7 @@ _082E4558:
bls _082E4558
adds r4, 0x1
movs r2, 0
- ldr r3, _082E4598
+ ldr r3, =gUnknown_03007890
_082E4574:
ldr r0, [r3]
adds r0, 0xA9
@@ -956,15 +931,15 @@ _082E458A:
pop {r0}
bx r0
.align 2, 0
-_082E4598: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_configGameData
thumb_func_start rfu_REQ_startSearchChild
rfu_REQ_startSearchChild: @ 82E459C
push {r4,lr}
movs r1, 0
- ldr r4, _082E45E4
- ldr r3, _082E45E8
+ ldr r4, =rfu_CB_defaultCallback
+ ldr r3, =gUnknown_03007894
movs r2, 0
_082E45A6:
ldr r0, [r3]
@@ -984,7 +959,7 @@ _082E45A6:
lsrs r1, r0, 16
cmp r1, 0
bne _082E45F0
- ldr r0, _082E45EC
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -995,21 +970,19 @@ _082E45A6:
bl rfu_STC_clearLinkStatus
b _082E45F6
.align 2, 0
-_082E45E4: .4byte rfu_CB_defaultCallback
-_082E45E8: .4byte gUnknown_03007894
-_082E45EC: .4byte gUnknown_03007898
+ .pool
_082E45F0:
movs r0, 0x19
bl rfu_STC_REQ_callback
_082E45F6:
- ldr r0, _082E4608
+ ldr r0, =rfu_CB_startSearchChild
bl STWI_set_Callback_M
bl STWI_send_SC_StartREQ
pop {r4}
pop {r0}
bx r0
.align 2, 0
-_082E4608: .4byte rfu_CB_startSearchChild
+ .pool
thumb_func_end rfu_REQ_startSearchChild
thumb_func_start rfu_CB_startSearchChild
@@ -1022,7 +995,7 @@ rfu_CB_startSearchChild: @ 82E460C
adds r2, r1, 0
cmp r2, 0
bne _082E4624
- ldr r0, _082E4630
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
movs r0, 0x1
strb r0, [r1, 0x9]
@@ -1033,7 +1006,7 @@ _082E4624:
pop {r0}
bx r0
.align 2, 0
-_082E4630: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_CB_startSearchChild
thumb_func_start rfu_STC_clearLinkStatus
@@ -1049,16 +1022,16 @@ rfu_STC_clearLinkStatus: @ 82E4634
mov r0, sp
movs r5, 0
strh r5, [r0]
- ldr r4, _082E4690
+ ldr r4, =gUnknown_03007890
ldr r1, [r4]
adds r1, 0x14
- ldr r2, _082E4694
+ ldr r2, =0x01000040
bl CpuSet
ldr r0, [r4]
strb r5, [r0, 0x8]
_082E465C:
movs r1, 0
- ldr r2, _082E4690
+ ldr r2, =gUnknown_03007890
adds r4, r2, 0
movs r3, 0
_082E4664:
@@ -1085,32 +1058,31 @@ _082E4664:
pop {r0}
bx r0
.align 2, 0
-_082E4690: .4byte gUnknown_03007890
-_082E4694: .4byte 0x01000040
+ .pool
thumb_func_end rfu_STC_clearLinkStatus
thumb_func_start rfu_REQ_pollSearchChild
rfu_REQ_pollSearchChild: @ 82E4698
push {lr}
- ldr r0, _082E46A8
+ ldr r0, =rfu_CB_pollAndEndSearchChild
bl STWI_set_Callback_M
bl STWI_send_SC_PollingREQ
pop {r0}
bx r0
.align 2, 0
-_082E46A8: .4byte rfu_CB_pollAndEndSearchChild
+ .pool
thumb_func_end rfu_REQ_pollSearchChild
thumb_func_start rfu_REQ_endSearchChild
rfu_REQ_endSearchChild: @ 82E46AC
push {lr}
- ldr r0, _082E46BC
+ ldr r0, =rfu_CB_pollAndEndSearchChild
bl STWI_set_Callback_M
bl STWI_send_SC_EndREQ
pop {r0}
bx r0
.align 2, 0
-_082E46BC: .4byte rfu_CB_pollAndEndSearchChild
+ .pool
thumb_func_end rfu_REQ_endSearchChild
thumb_func_start rfu_CB_pollAndEndSearchChild
@@ -1126,13 +1098,13 @@ rfu_CB_pollAndEndSearchChild: @ 82E46C0
_082E46D2:
cmp r4, 0x1A
bne _082E4714
- ldr r5, _082E4708
+ ldr r5, =gUnknown_03007890
ldr r0, [r5]
adds r0, 0x94
ldrh r0, [r0]
cmp r0, 0
bne _082E4730
- ldr r0, _082E470C
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_SystemStatusREQ
bl STWI_poll_CommandEnd
@@ -1140,7 +1112,7 @@ _082E46D2:
cmp r0, 0
bne _082E4730
ldr r1, [r5]
- ldr r0, _082E4710
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -1149,13 +1121,11 @@ _082E46D2:
strh r0, [r1]
b _082E4730
.align 2, 0
-_082E4708: .4byte gUnknown_03007890
-_082E470C: .4byte rfu_CB_defaultCallback
-_082E4710: .4byte gUnknown_03007898
+ .pool
_082E4714:
cmp r4, 0x1B
bne _082E4730
- ldr r0, _082E4740
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1]
cmp r0, 0xFF
@@ -1164,7 +1134,7 @@ _082E4714:
movs r0, 0
strh r0, [r1]
_082E4728:
- ldr r0, _082E4744
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
movs r0, 0
strb r0, [r1, 0x9]
@@ -1176,8 +1146,7 @@ _082E4730:
pop {r0}
bx r0
.align 2, 0
-_082E4740: .4byte gUnknown_03007890
-_082E4744: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_CB_pollAndEndSearchChild
thumb_func_start rfu_STC_readChildList
@@ -1185,7 +1154,7 @@ rfu_STC_readChildList: @ 82E4748
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r0, _082E47F8
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -1193,9 +1162,9 @@ rfu_STC_readChildList: @ 82E4748
adds r6, r0, 0x4
cmp r7, 0
beq _082E47EE
- ldr r0, _082E47FC
+ ldr r0, =gUnknown_03007894
mov r8, r0
- ldr r1, _082E4800
+ ldr r1, =gUnknown_03007890
mov r12, r1
_082E4766:
ldrb r4, [r6, 0x2]
@@ -1274,21 +1243,19 @@ _082E47EE:
pop {r0}
bx r0
.align 2, 0
-_082E47F8: .4byte gUnknown_03007898
-_082E47FC: .4byte gUnknown_03007894
-_082E4800: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_STC_readChildList
thumb_func_start rfu_REQ_startSearchParent
rfu_REQ_startSearchParent: @ 82E4804
push {lr}
- ldr r0, _082E4814
+ ldr r0, =rfu_CB_startSearchParent
bl STWI_set_Callback_M
bl STWI_send_SP_StartREQ
pop {r0}
bx r0
.align 2, 0
-_082E4814: .4byte rfu_CB_startSearchParent
+ .pool
thumb_func_end rfu_REQ_startSearchParent
thumb_func_start rfu_CB_startSearchParent
@@ -1315,13 +1282,13 @@ _082E482E:
thumb_func_start rfu_REQ_pollSearchParent
rfu_REQ_pollSearchParent: @ 82E483C
push {lr}
- ldr r0, _082E484C
+ ldr r0, =sub_82E4850
bl STWI_set_Callback_M
bl STWI_send_SP_PollingREQ
pop {r0}
bx r0
.align 2, 0
-_082E484C: .4byte sub_82E4850
+ .pool
thumb_func_end rfu_REQ_pollSearchParent
thumb_func_start sub_82E4850
@@ -1347,13 +1314,13 @@ _082E4864:
thumb_func_start rfu_REQ_endSearchParent
rfu_REQ_endSearchParent: @ 82E4874
push {lr}
- ldr r0, _082E4884
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
bl STWI_send_SP_EndREQ
pop {r0}
bx r0
.align 2, 0
-_082E4884: .4byte rfu_STC_REQ_callback
+ .pool
thumb_func_end rfu_REQ_endSearchParent
thumb_func_start rfu_STC_readParentCandidateList
@@ -1365,12 +1332,12 @@ rfu_STC_readParentCandidateList: @ 82E4888
mov r0, sp
movs r4, 0
strh r4, [r0]
- ldr r5, _082E4930
+ ldr r5, =gUnknown_03007890
ldr r1, [r5]
adds r1, 0x14
- ldr r2, _082E4934
+ ldr r2, =0x01000040
bl CpuSet
- ldr r0, _082E4938
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r2, [r0]
@@ -1382,7 +1349,7 @@ rfu_STC_readParentCandidateList: @ 82E4888
cmp r7, 0
beq _082E498C
mov r12, r5
- ldr r0, _082E493C
+ ldr r0, =0x00007fff
mov r8, r0
_082E48BE:
subs r0, r7, 0x7
@@ -1444,10 +1411,7 @@ _082E48D8:
strb r0, [r4, 0x3]
b _082E4942
.align 2, 0
-_082E4930: .4byte gUnknown_03007890
-_082E4934: .4byte 0x01000040
-_082E4938: .4byte gUnknown_03007898
-_082E493C: .4byte 0x00007fff
+ .pool
_082E4940:
strb r3, [r4, 0x3]
_082E4942:
@@ -1507,7 +1471,7 @@ rfu_REQ_startConnectParent: @ 82E4998
lsrs r4, r0, 16
movs r3, 0
movs r2, 0
- ldr r1, _082E49E4
+ ldr r1, =gUnknown_03007890
ldr r0, [r1]
ldrh r0, [r0, 0x14]
cmp r0, r4
@@ -1533,18 +1497,16 @@ _082E49C4:
_082E49CC:
cmp r3, 0
bne _082E49F0
- ldr r0, _082E49E8
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strh r4, [r0, 0x1E]
- ldr r0, _082E49EC
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
adds r0, r4, 0
bl STWI_send_CP_StartREQ
b _082E49F8
.align 2, 0
-_082E49E4: .4byte gUnknown_03007890
-_082E49E8: .4byte gUnknown_03007894
-_082E49EC: .4byte rfu_STC_REQ_callback
+ .pool
_082E49F0:
movs r0, 0x1F
adds r1, r3, 0
@@ -1558,13 +1520,13 @@ _082E49F8:
thumb_func_start rfu_REQ_pollConnectParent
rfu_REQ_pollConnectParent: @ 82E4A00
push {lr}
- ldr r0, _082E4A10
+ ldr r0, =rfu_CB_pollConnectParent
bl STWI_set_Callback_M
bl STWI_send_CP_PollingREQ
pop {r0}
bx r0
.align 2, 0
-_082E4A10: .4byte rfu_CB_pollConnectParent
+ .pool
thumb_func_end rfu_REQ_pollConnectParent
thumb_func_start rfu_CB_pollConnectParent
@@ -1583,7 +1545,7 @@ rfu_CB_pollConnectParent: @ 82E4A14
str r1, [sp, 0x28]
cmp r1, 0
bne _082E4B16
- ldr r0, _082E4AD0
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -1597,7 +1559,7 @@ rfu_CB_pollConnectParent: @ 82E4A14
lsls r0, 17
lsls r0, r1
lsrs r2, r0, 24
- ldr r4, _082E4AD4
+ ldr r4, =gUnknown_03007890
ldr r3, [r4]
ldrb r1, [r3, 0x2]
adds r0, r2, 0
@@ -1621,7 +1583,7 @@ rfu_CB_pollConnectParent: @ 82E4A14
strb r0, [r1, 0x1]
ldr r0, [r4]
strb r2, [r0]
- ldr r3, _082E4AD8
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
ldrb r1, [r2]
movs r0, 0x80
@@ -1656,17 +1618,14 @@ _082E4A92:
ldr r1, [r7]
adds r1, 0x14
adds r0, r6, 0
- ldr r2, _082E4ADC
+ ldr r2, =0x01000040
bl CpuSet
ldr r0, [r7]
mov r1, r8
strb r1, [r0, 0x8]
b _082E4AF4
.align 2, 0
-_082E4AD0: .4byte gUnknown_03007898
-_082E4AD4: .4byte gUnknown_03007890
-_082E4AD8: .4byte gUnknown_03007894
-_082E4ADC: .4byte 0x01000040
+ .pool
_082E4AE0:
adds r0, r4, 0
adds r0, 0x14
@@ -1682,7 +1641,7 @@ _082E4AEA:
_082E4AF4:
cmp r5, 0x3
bhi _082E4B16
- ldr r4, _082E4B30
+ ldr r4, =gUnknown_03007890
mov r0, r10
lsls r5, r0, 5
adds r0, r5, 0
@@ -1709,7 +1668,7 @@ _082E4B16:
pop {r0}
bx r0
.align 2, 0
-_082E4B30: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_pollConnectParent
thumb_func_start rfu_getConnectParentStatus
@@ -1718,7 +1677,7 @@ rfu_getConnectParentStatus: @ 82E4B34
adds r3, r0, 0
movs r0, 0xFF
strb r0, [r3]
- ldr r0, _082E4B54
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r2, [r0]
@@ -1731,7 +1690,7 @@ rfu_getConnectParentStatus: @ 82E4B34
movs r0, 0x10
b _082E4B64
.align 2, 0
-_082E4B54: .4byte gUnknown_03007898
+ .pool
_082E4B58:
adds r2, 0x6
ldrb r0, [r2]
@@ -1747,17 +1706,17 @@ _082E4B64:
thumb_func_start rfu_REQ_endConnectParent
rfu_REQ_endConnectParent: @ 82E4B68
push {lr}
- ldr r0, _082E4B94
+ ldr r0, =rfu_CB_pollConnectParent
bl STWI_set_Callback_M
bl STWI_send_CP_EndREQ
- ldr r0, _082E4B98
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
ldrb r0, [r1, 0x6]
cmp r0, 0x3
bhi _082E4B90
- ldr r0, _082E4B9C
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
adds r0, 0xA
ldrb r1, [r1, 0x6]
@@ -1768,21 +1727,19 @@ _082E4B90:
pop {r0}
bx r0
.align 2, 0
-_082E4B94: .4byte rfu_CB_pollConnectParent
-_082E4B98: .4byte gUnknown_03007898
-_082E4B9C: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_REQ_endConnectParent
thumb_func_start rfu_syncVBlank
rfu_syncVBlank: @ 82E4BA0
push {r4,r5,lr}
bl rfu_NI_checkCommFailCounter
- ldr r0, _082E4BE8
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xFF
beq _082E4C78
- ldr r4, _082E4BEC
+ ldr r4, =gUnknown_03007894
ldr r1, [r4]
ldrb r0, [r1, 0x6]
cmp r0, 0
@@ -1810,8 +1767,7 @@ _082E4BBE:
strh r0, [r1, 0x20]
b _082E4BFA
.align 2, 0
-_082E4BE8: .4byte gUnknown_03007890
-_082E4BEC: .4byte gUnknown_03007894
+ .pool
_082E4BF0:
cmp r3, 0
beq _082E4C10
@@ -1822,16 +1778,16 @@ _082E4BFA:
cmp r3, 0
beq _082E4C10
_082E4BFE:
- ldr r3, _082E4C0C
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
ldrb r1, [r2]
movs r0, 0xFD
ands r0, r1
b _082E4C1A
.align 2, 0
-_082E4C0C: .4byte gUnknown_03007894
+ .pool
_082E4C10:
- ldr r3, _082E4C6C
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
ldrb r1, [r2]
movs r0, 0x2
@@ -1850,7 +1806,7 @@ _082E4C1A:
movs r0, 0xFB
ands r0, r1
strb r0, [r3]
- ldr r0, _082E4C70
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -1872,15 +1828,14 @@ _082E4C54:
lsrs r4, r0, 24
cmp r4, 0x3
bls _082E4C42
- ldr r0, _082E4C70
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
movs r0, 0xFF
strb r0, [r1]
movs r0, 0x1
b _082E4C7A
.align 2, 0
-_082E4C6C: .4byte gUnknown_03007894
-_082E4C70: .4byte gUnknown_03007890
+ .pool
_082E4C74:
subs r0, 0x1
strh r0, [r3, 0x20]
@@ -1919,21 +1874,21 @@ rfu_REQBN_watchLink: @ 82E4C80
ldrb r0, [r2, 0xC]
ldr r2, [sp, 0x4]
strb r0, [r2]
- ldr r5, _082E4D20
+ ldr r5, =gUnknown_03007890
ldr r0, [r5]
ldrb r0, [r0]
cmp r0, 0xFF
bne _082E4CBE
b _082E504E
_082E4CBE:
- ldr r0, _082E4D24
+ ldr r0, =gRfuState
ldr r0, [r0]
ldrb r0, [r0, 0x14]
cmp r0, 0
bne _082E4CCA
b _082E504E
_082E4CCA:
- ldr r3, _082E4D28
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
ldrb r1, [r2]
movs r4, 0x4
@@ -1957,7 +1912,7 @@ _082E4CEE:
lsrs r0, 24
cmp r0, 0x29
bne _082E4D30
- ldr r0, _082E4D2C
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
@@ -1979,16 +1934,13 @@ _082E4D18:
str r2, [sp, 0x8]
b _082E4D88
.align 2, 0
-_082E4D20: .4byte gUnknown_03007890
-_082E4D24: .4byte gRfuState
-_082E4D28: .4byte gUnknown_03007894
-_082E4D2C: .4byte gUnknown_03007898
+ .pool
_082E4D30:
movs r0, 0x9B
lsls r0, 1
cmp r6, r0
bne _082E4D80
- ldr r0, _082E4DDC
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -2011,7 +1963,7 @@ _082E4D56:
ands r0, r1
cmp r0, 0
beq _082E4D76
- ldr r0, _082E4DE0
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
adds r0, 0xA
adds r0, r5
@@ -2031,7 +1983,7 @@ _082E4D80:
bne _082E4D88
b _082E504E
_082E4D88:
- ldr r4, _082E4DDC
+ ldr r4, =gUnknown_03007898
ldr r0, [r4]
adds r0, 0xDC
ldr r0, [r0]
@@ -2039,7 +1991,7 @@ _082E4D88:
str r1, [sp, 0x10]
ldr r0, [r0, 0x4]
str r0, [sp, 0x14]
- ldr r0, _082E4DE4
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_LinkStatusREQ
bl STWI_poll_CommandEnd
@@ -2053,7 +2005,7 @@ _082E4D88:
ldr r0, [r0]
adds r2, r0, 0x4
movs r5, 0
- ldr r3, _082E4DE0
+ ldr r3, =gUnknown_03007890
_082E4DBC:
ldr r0, [r3]
adds r0, 0xA
@@ -2071,9 +2023,7 @@ _082E4DBC:
movs r5, 0
b _082E4DF4
.align 2, 0
-_082E4DDC: .4byte gUnknown_03007898
-_082E4DE0: .4byte gUnknown_03007890
-_082E4DE4: .4byte rfu_CB_defaultCallback
+ .pool
_082E4DE8:
movs r0, 0x11
ldr r1, [sp, 0xC]
@@ -2081,7 +2031,7 @@ _082E4DE8:
ldr r0, [sp, 0xC]
b _082E5050
_082E4DF4:
- ldr r1, _082E4E7C
+ ldr r1, =gUnknown_03007894
ldr r0, [r1]
adds r0, 0xE
adds r2, r0, r5
@@ -2091,7 +2041,7 @@ _082E4DF4:
beq _082E4E1A
subs r0, 0x4
strb r0, [r2]
- ldr r0, _082E4E80
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
adds r0, 0xA
adds r1, r0, r5
@@ -2115,7 +2065,7 @@ _082E4E2E:
ldr r2, [sp, 0x8]
cmp r2, 0x1
bne _082E4F10
- ldr r4, _082E4E80
+ ldr r4, =gUnknown_03007890
ldr r1, [r4]
ldrb r0, [r1, 0x2]
ands r0, r6
@@ -2152,15 +2102,14 @@ _082E4E2E:
strb r2, [r0]
b _082E4F10
.align 2, 0
-_082E4E7C: .4byte gUnknown_03007894
-_082E4E80: .4byte gUnknown_03007890
+ .pool
_082E4E84:
bl STWI_send_SystemStatusREQ
bl STWI_poll_CommandEnd
lsls r0, 16
cmp r0, 0
bne _082E4F10
- ldr r0, _082E4EB4
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -2177,9 +2126,9 @@ _082E4E84:
ldr r0, [sp]
b _082E4F0E
.align 2, 0
-_082E4EB4: .4byte gUnknown_03007898
+ .pool
_082E4EB8:
- ldr r2, _082E4F00
+ ldr r2, =gUnknown_03007894
ldr r1, [r2]
adds r1, 0xA
adds r1, r5
@@ -2214,7 +2163,7 @@ _082E4EB8:
strb r0, [r2]
b _082E4F10
.align 2, 0
-_082E4F00: .4byte gUnknown_03007894
+ .pool
_082E4F04:
ldr r0, [r3]
adds r0, 0xA
@@ -2224,7 +2173,7 @@ _082E4F04:
_082E4F0E:
strb r1, [r0]
_082E4F10:
- ldr r2, _082E4F70
+ ldr r2, =gUnknown_03007890
mov r12, r2
ldr r1, [r2]
ldrb r7, [r1]
@@ -2266,15 +2215,14 @@ _082E4F10:
ldrb r0, [r1, 0x1]
adds r0, 0x1
strb r0, [r1, 0x1]
- ldr r0, _082E4F74
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
adds r0, 0xA
adds r0, r5
strb r3, [r0]
b _082E5002
.align 2, 0
-_082E4F70: .4byte gUnknown_03007890
-_082E4F74: .4byte gUnknown_03007894
+ .pool
_082E4F78:
movs r0, 0
strb r0, [r4]
@@ -2287,7 +2235,7 @@ _082E4F7E:
bne _082E5002
bl STWI_send_SlotStatusREQ
bl STWI_poll_CommandEnd
- ldr r0, _082E4FC8
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r2, [r0]
@@ -2302,7 +2250,7 @@ _082E4F7E:
ldrb r0, [r2, 0x2]
cmp r0, r5
bne _082E4FD0
- ldr r0, _082E4FCC
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
lsls r1, r5, 1
adds r0, 0x12
@@ -2316,8 +2264,7 @@ _082E4F7E:
lsls r0, 24
b _082E4FFE
.align 2, 0
-_082E4FC8: .4byte gUnknown_03007898
-_082E4FCC: .4byte gUnknown_03007894
+ .pool
_082E4FD0:
adds r2, 0x4
subs r0, r3, 0x1
@@ -2329,7 +2276,7 @@ _082E4FD0:
ldrb r0, [r2, 0x2]
cmp r0, r5
bne _082E4FD0
- ldr r0, _082E5060
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
lsls r1, r5, 1
adds r0, 0x12
@@ -2346,7 +2293,7 @@ _082E4FFE:
lsrs r0, 24
mov r9, r0
_082E5002:
- ldr r0, _082E5064
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r1, [r0, 0x2]
mov r2, r8
@@ -2373,7 +2320,7 @@ _082E5028:
bl STWI_send_DisconnectREQ
bl STWI_poll_CommandEnd
_082E5038:
- ldr r1, _082E5068
+ ldr r1, =gUnknown_03007898
ldr r0, [r1]
adds r0, 0xDC
ldr r0, [r0]
@@ -2396,9 +2343,7 @@ _082E5050:
pop {r1}
bx r1
.align 2, 0
-_082E5060: .4byte gUnknown_03007894
-_082E5064: .4byte gUnknown_03007890
-_082E5068: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_REQBN_watchLink
thumb_func_start rfu_STC_removeLinkData
@@ -2416,13 +2361,13 @@ rfu_STC_removeLinkData: @ 82E506C
lsls r0, 17
lsls r0, r7
lsrs r6, r0, 24
- ldr r0, _082E511C
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
adds r0, 0xE
adds r0, r7
movs r1, 0
strb r1, [r0]
- ldr r1, _082E5120
+ ldr r1, =gUnknown_03007890
ldr r4, [r1]
ldrb r0, [r4, 0x2]
ands r0, r6
@@ -2449,7 +2394,7 @@ _082E50AA:
strb r0, [r2, 0x3]
ldr r3, [r3]
ldr r0, [r3]
- ldr r1, _082E5124
+ ldr r1, =0x00ff00ff
ands r0, r1
cmp r0, 0
bne _082E50D2
@@ -2468,7 +2413,7 @@ _082E50D2:
mov r2, r8
ldr r1, [r2]
adds r1, r0
- ldr r2, _082E5128
+ ldr r2, =0x01000010
mov r0, sp
bl CpuSet
mov r0, r8
@@ -2494,10 +2439,7 @@ _082E5110:
pop {r0}
bx r0
.align 2, 0
-_082E511C: .4byte gUnknown_03007894
-_082E5120: .4byte gUnknown_03007890
-_082E5124: .4byte 0x00ff00ff
-_082E5128: .4byte 0x01000010
+ .pool
thumb_func_end rfu_STC_removeLinkData
thumb_func_start rfu_REQ_disconnect
@@ -2505,7 +2447,7 @@ rfu_REQ_disconnect: @ 82E512C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r2, _082E5170
+ ldr r2, =gUnknown_03007890
ldr r1, [r2]
ldrb r0, [r1, 0x2]
ldrb r1, [r1, 0x3]
@@ -2513,7 +2455,7 @@ rfu_REQ_disconnect: @ 82E512C
ands r0, r4
cmp r0, 0
beq _082E51B0
- ldr r0, _082E5174
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
strb r4, [r1, 0x5]
ldr r2, [r2]
@@ -2536,14 +2478,13 @@ rfu_REQ_disconnect: @ 82E512C
bl rfu_CB_disconnect
b _082E51B0
.align 2, 0
-_082E5170: .4byte gUnknown_03007890
-_082E5174: .4byte gUnknown_03007894
+ .pool
_082E5178:
ldr r0, [r3]
ldrb r0, [r0, 0x9]
cmp r0, 0
beq _082E51A4
- ldr r0, _082E51A0
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_SC_EndREQ
bl STWI_poll_CommandEnd
@@ -2555,9 +2496,9 @@ _082E5178:
bl rfu_STC_REQ_callback
b _082E51B0
.align 2, 0
-_082E51A0: .4byte rfu_CB_defaultCallback
+ .pool
_082E51A4:
- ldr r0, _082E51B8
+ ldr r0, =rfu_CB_disconnect
bl STWI_set_Callback_M
adds r0, r4, 0
bl STWI_send_DisconnectREQ
@@ -2566,7 +2507,7 @@ _082E51B0:
pop {r0}
bx r0
.align 2, 0
-_082E51B8: .4byte rfu_CB_disconnect
+ .pool
thumb_func_end rfu_REQ_disconnect
thumb_func_start rfu_CB_disconnect
@@ -2578,19 +2519,19 @@ rfu_CB_disconnect: @ 82E51BC
lsrs r5, r1, 16
cmp r5, 0x3
bne _082E51F8
- ldr r0, _082E528C
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0
bne _082E51F8
- ldr r0, _082E5290
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_SystemStatusREQ
bl STWI_poll_CommandEnd
lsls r0, 16
cmp r0, 0
bne _082E51F8
- ldr r0, _082E5294
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -2599,9 +2540,9 @@ rfu_CB_disconnect: @ 82E51BC
bne _082E51F8
movs r5, 0
_082E51F8:
- ldr r3, _082E5298
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
- ldr r0, _082E528C
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1, 0x2]
ldrb r1, [r1, 0x3]
@@ -2609,7 +2550,7 @@ _082E51F8:
ldrb r1, [r2, 0x5]
ands r0, r1
strb r0, [r2, 0x5]
- ldr r0, _082E5294
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
@@ -2624,7 +2565,7 @@ _082E5220:
lsls r0, 17
lsls r0, r4
lsrs r0, 24
- ldr r1, _082E5298
+ ldr r1, =gUnknown_03007894
ldr r1, [r1]
ldrb r1, [r1, 0x5]
ands r0, r1
@@ -2640,7 +2581,7 @@ _082E523C:
cmp r4, 0x3
bls _082E5220
_082E5246:
- ldr r0, _082E528C
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2, 0x2]
ldrb r0, [r2, 0x3]
@@ -2653,12 +2594,12 @@ _082E5258:
adds r0, r6, 0
adds r1, r5, 0
bl rfu_STC_REQ_callback
- ldr r0, _082E5298
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r0, [r0, 0x9]
cmp r0, 0
beq _082E5286
- ldr r0, _082E5290
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_SC_StartREQ
bl STWI_poll_CommandEnd
@@ -2673,10 +2614,7 @@ _082E5286:
pop {r0}
bx r0
.align 2, 0
-_082E528C: .4byte gUnknown_03007890
-_082E5290: .4byte rfu_CB_defaultCallback
-_082E5294: .4byte gUnknown_03007898
-_082E5298: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_CB_disconnect
thumb_func_start rfu_REQ_CHILD_startConnectRecovery
@@ -2684,13 +2622,13 @@ rfu_REQ_CHILD_startConnectRecovery: @ 82E529C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _082E52EC
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strb r5, [r0, 0x5]
movs r4, 0
movs r0, 0x1
ands r0, r5
- ldr r2, _082E52F0
+ ldr r2, =rfu_STC_REQ_callback
cmp r0, 0
bne _082E52CA
movs r1, 0x1
@@ -2708,7 +2646,7 @@ _082E52B6:
_082E52CA:
adds r0, r2, 0
bl STWI_set_Callback_M
- ldr r0, _082E52F4
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
lsls r0, r4, 5
adds r0, r1, r0
@@ -2721,21 +2659,19 @@ _082E52CA:
pop {r0}
bx r0
.align 2, 0
-_082E52EC: .4byte gUnknown_03007894
-_082E52F0: .4byte rfu_STC_REQ_callback
-_082E52F4: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_REQ_CHILD_startConnectRecovery
thumb_func_start rfu_REQ_CHILD_pollConnectRecovery
rfu_REQ_CHILD_pollConnectRecovery: @ 82E52F8
push {lr}
- ldr r0, _082E5308
+ ldr r0, =rfu_CB_CHILD_pollConnectRecovery
bl STWI_set_Callback_M
bl STWI_send_CPR_PollingREQ
pop {r0}
bx r0
.align 2, 0
-_082E5308: .4byte rfu_CB_CHILD_pollConnectRecovery
+ .pool
thumb_func_end rfu_REQ_CHILD_pollConnectRecovery
thumb_func_start rfu_CB_CHILD_pollConnectRecovery
@@ -2750,20 +2686,20 @@ rfu_CB_CHILD_pollConnectRecovery: @ 82E530C
lsrs r7, r1, 16
cmp r7, 0
bne _082E5390
- ldr r0, _082E53A4
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
ldrb r0, [r0, 0x4]
cmp r0, 0
bne _082E5390
- ldr r0, _082E53A8
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
ldrb r1, [r1, 0x5]
adds r6, r0, 0
cmp r1, 0
beq _082E5390
- ldr r1, _082E53AC
+ ldr r1, =gUnknown_03007890
ldr r0, [r1]
strb r7, [r0]
movs r4, 0
@@ -2818,9 +2754,7 @@ _082E5390:
pop {r0}
bx r0
.align 2, 0
-_082E53A4: .4byte gUnknown_03007898
-_082E53A8: .4byte gUnknown_03007894
-_082E53AC: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_CHILD_pollConnectRecovery
thumb_func_start rfu_CHILD_getConnectRecoveryStatus
@@ -2829,7 +2763,7 @@ rfu_CHILD_getConnectRecoveryStatus: @ 82E53B0
adds r2, r0, 0
movs r0, 0xFF
strb r0, [r2]
- ldr r0, _082E53D0
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
@@ -2842,7 +2776,7 @@ rfu_CHILD_getConnectRecoveryStatus: @ 82E53B0
movs r0, 0x10
b _082E53DA
.align 2, 0
-_082E53D0: .4byte gUnknown_03007898
+ .pool
_082E53D4:
ldrb r0, [r1, 0x4]
strb r0, [r2]
@@ -2855,13 +2789,13 @@ _082E53DA:
thumb_func_start rfu_REQ_CHILD_endConnectRecovery
rfu_REQ_CHILD_endConnectRecovery: @ 82E53E0
push {lr}
- ldr r0, _082E53F0
+ ldr r0, =rfu_CB_CHILD_pollConnectRecovery
bl STWI_set_Callback_M
bl STWI_send_CPR_EndREQ
pop {r0}
bx r0
.align 2, 0
-_082E53F0: .4byte rfu_CB_CHILD_pollConnectRecovery
+ .pool
thumb_func_end rfu_REQ_CHILD_endConnectRecovery
thumb_func_start sub_82E53F4
@@ -2905,12 +2839,12 @@ rfu_REQ_changeMasterSlave: @ 82E5424
lsrs r0, 16
cmp r0, 0x1
bne _082E5444
- ldr r0, _082E5440
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
bl STWI_send_MS_ChangeREQ
b _082E544C
.align 2, 0
-_082E5440: .4byte rfu_STC_REQ_callback
+ .pool
_082E5444:
movs r0, 0x27
movs r1, 0
@@ -2929,7 +2863,7 @@ rfu_getMasterSlave: @ 82E5450
lsrs r2, r0, 24
cmp r2, 0x1
bne _082E547E
- ldr r0, _082E5484
+ ldr r0, =gRfuState
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x2C
@@ -2950,7 +2884,7 @@ _082E547E:
pop {r1}
bx r1
.align 2, 0
-_082E5484: .4byte gRfuState
+ .pool
thumb_func_end rfu_getMasterSlave
thumb_func_start rfu_clearAllSlot
@@ -2959,7 +2893,7 @@ rfu_clearAllSlot: @ 82E5488
mov r7, r8
push {r7}
sub sp, 0x4
- ldr r1, _082E550C
+ ldr r1, =0x04000208
ldrh r0, [r1]
mov r8, r0
movs r0, 0
@@ -2972,21 +2906,21 @@ rfu_clearAllSlot: @ 82E5488
_082E54A4:
mov r0, sp
strh r7, [r0]
- ldr r0, _082E5510
+ ldr r0, =gUnknown_03007880
lsls r4, r5, 2
adds r0, r4, r0
ldr r1, [r0]
mov r0, sp
- ldr r2, _082E5514
+ ldr r2, =0x01000034
bl CpuSet
strh r7, [r6]
- ldr r0, _082E5518
+ ldr r0, =gUnknown_03007870
adds r4, r0
ldr r1, [r4]
adds r0, r6, 0
- ldr r2, _082E551C
+ ldr r2, =0x0100000a
bl CpuSet
- ldr r3, _082E5520
+ ldr r3, =gUnknown_03007890
ldr r0, [r3]
adds r0, 0x10
adds r0, r5
@@ -3007,10 +2941,10 @@ _082E54A4:
strb r1, [r0, 0x5]
ldr r0, [r3]
strb r1, [r0, 0x6]
- ldr r0, _082E5524
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strb r1, [r0, 0x2]
- ldr r0, _082E550C
+ ldr r0, =0x04000208
mov r1, r8
strh r1, [r0]
add sp, 0x4
@@ -3020,13 +2954,7 @@ _082E54A4:
pop {r0}
bx r0
.align 2, 0
-_082E550C: .4byte 0x04000208
-_082E5510: .4byte gUnknown_03007880
-_082E5514: .4byte 0x01000034
-_082E5518: .4byte gUnknown_03007870
-_082E551C: .4byte 0x0100000a
-_082E5520: .4byte gUnknown_03007890
-_082E5524: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_clearAllSlot
thumb_func_start rfu_STC_releaseFrame
@@ -3038,14 +2966,14 @@ rfu_STC_releaseFrame: @ 82E5528
adds r5, r2, 0
lsls r1, 24
lsrs r3, r1, 24
- ldr r0, _082E5560
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r1, [r0]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _082E5568
- ldr r6, _082E5564
+ ldr r6, =gUnknown_03007890
cmp r3, 0
bne _082E5554
ldr r1, [r6]
@@ -3060,10 +2988,9 @@ _082E5554:
strb r0, [r1, 0xF]
b _082E5588
.align 2, 0
-_082E5560: .4byte gUnknown_03007894
-_082E5564: .4byte gUnknown_03007890
+ .pool
_082E5568:
- ldr r6, _082E5590
+ ldr r6, =gUnknown_03007890
cmp r3, 0
bne _082E557C
ldr r1, [r6]
@@ -3085,7 +3012,7 @@ _082E5588:
pop {r0}
bx r0
.align 2, 0
-_082E5590: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_STC_releaseFrame
thumb_func_start rfu_clearSlot
@@ -3116,7 +3043,7 @@ _082E55B4:
lsls r0, 3
b _082E572C
_082E55C4:
- ldr r1, _082E5608
+ ldr r1, =0x04000208
ldrh r0, [r1]
mov r10, r0
movs r0, 0
@@ -3127,7 +3054,7 @@ _082E55C4:
cmp r0, 0
beq _082E568C
movs r3, 0
- ldr r1, _082E560C
+ ldr r1, =gUnknown_03007880
lsls r0, r7, 2
adds r0, r1
mov r9, r0
@@ -3142,7 +3069,7 @@ _082E55E2:
beq _082E5634
mov r2, r9
ldr r4, [r2]
- ldr r0, _082E5610
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
adds r0, r4, 0
adds r0, 0x2C
@@ -3152,9 +3079,7 @@ _082E55E2:
strb r0, [r2, 0x4]
b _082E5634
.align 2, 0
-_082E5608: .4byte 0x04000208
-_082E560C: .4byte gUnknown_03007880
-_082E5610: .4byte gUnknown_03007890
+ .pool
_082E5614:
movs r0, 0x8
mov r1, r8
@@ -3165,7 +3090,7 @@ _082E5614:
ldr r0, [r2]
adds r4, r0, 0
adds r4, 0x34
- ldr r0, _082E56C8
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
movs r1, 0x1
lsls r1, r7
@@ -3212,7 +3137,7 @@ _082E5674:
strh r0, [r1]
mov r0, sp
adds r1, r4, 0
- ldr r2, _082E56CC
+ ldr r2, =0x0100001a
bl CpuSet
_082E5684:
lsls r0, r6, 16
@@ -3225,7 +3150,7 @@ _082E568C:
ands r0, r4
cmp r0, 0
beq _082E5702
- ldr r1, _082E56D0
+ ldr r1, =gUnknown_03007870
lsls r0, r7, 2
adds r0, r1
ldr r3, [r0]
@@ -3235,14 +3160,14 @@ _082E568C:
ands r0, r1
cmp r0, 0
beq _082E56F4
- ldr r0, _082E56D4
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r1, [r0]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _082E56D8
- ldr r2, _082E56C8
+ ldr r2, =gUnknown_03007890
ldr r1, [r2]
ldrb r0, [r1, 0xF]
adds r0, 0x3
@@ -3251,12 +3176,9 @@ _082E568C:
strb r0, [r1, 0xF]
b _082E56EA
.align 2, 0
-_082E56C8: .4byte gUnknown_03007890
-_082E56CC: .4byte 0x0100001a
-_082E56D0: .4byte gUnknown_03007870
-_082E56D4: .4byte gUnknown_03007894
+ .pool
_082E56D8:
- ldr r2, _082E573C
+ ldr r2, =gUnknown_03007890
ldr r1, [r2]
adds r1, 0x10
adds r1, r7
@@ -3275,7 +3197,7 @@ _082E56F4:
mov r0, sp
movs r1, 0
strh r1, [r0]
- ldr r2, _082E5740
+ ldr r2, =0x01000006
adds r1, r3, 0
bl CpuSet
_082E5702:
@@ -3287,16 +3209,16 @@ _082E5702:
mov r1, sp
movs r0, 0
strh r0, [r1]
- ldr r1, _082E5744
+ ldr r1, =gUnknown_03007870
lsls r0, r7, 2
adds r0, r1
ldr r1, [r0]
adds r1, 0xC
- ldr r2, _082E5748
+ ldr r2, =0x01000004
mov r0, sp
bl CpuSet
_082E5724:
- ldr r0, _082E574C
+ ldr r0, =0x04000208
mov r2, r10
strh r2, [r0]
movs r0, 0
@@ -3310,11 +3232,7 @@ _082E572C:
pop {r1}
bx r1
.align 2, 0
-_082E573C: .4byte gUnknown_03007890
-_082E5740: .4byte 0x01000006
-_082E5744: .4byte gUnknown_03007870
-_082E5748: .4byte 0x01000004
-_082E574C: .4byte 0x04000208
+ .pool
thumb_func_end rfu_clearSlot
thumb_func_start rfu_setRecvBuffer
@@ -3338,7 +3256,7 @@ _082E576C:
ands r0, r3
cmp r0, 0
beq _082E5788
- ldr r0, _082E5784
+ ldr r0, =gUnknown_03007880
lsls r1, 2
adds r1, r0
ldr r0, [r1]
@@ -3346,7 +3264,7 @@ _082E576C:
str r6, [r0, 0x6C]
b _082E57A2
.align 2, 0
-_082E5784: .4byte gUnknown_03007880
+ .pool
_082E5788:
movs r0, 0x10
ands r2, r0
@@ -3356,7 +3274,7 @@ _082E5788:
lsls r0, 3
b _082E57A4
_082E5796:
- ldr r0, _082E57AC
+ ldr r0, =gUnknown_03007870
lsls r1, r4, 2
adds r1, r0
ldr r0, [r1]
@@ -3369,7 +3287,7 @@ _082E57A4:
pop {r1}
bx r1
.align 2, 0
-_082E57AC: .4byte gUnknown_03007870
+ .pool
thumb_func_end rfu_setRecvBuffer
thumb_func_start rfu_NI_setSendData
@@ -3406,7 +3324,7 @@ rfu_UNI_setSendData: @ 82E57DC
lsrs r1, r0, 24
lsls r2, 24
lsrs r2, 24
- ldr r0, _082E57F8
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -3414,7 +3332,7 @@ rfu_UNI_setSendData: @ 82E57DC
adds r0, r2, 0x3
b _082E57FE
.align 2, 0
-_082E57F8: .4byte gUnknown_03007890
+ .pool
_082E57FC:
adds r0, r2, 0x2
_082E57FE:
@@ -3444,7 +3362,7 @@ rfu_NI_CHILD_setSendGameName: @ 82E5818
lsls r1, 17
lsls r1, r0
lsrs r1, 24
- ldr r0, _082E5848
+ ldr r0, =gUnknown_03007890
ldr r3, [r0]
adds r3, 0x98
movs r0, 0x1A
@@ -3457,7 +3375,7 @@ rfu_NI_CHILD_setSendGameName: @ 82E5818
pop {r1}
bx r1
.align 2, 0
-_082E5848: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_NI_CHILD_setSendGameName
thumb_func_start rfu_STC_setSendData_org
@@ -3476,17 +3394,16 @@ rfu_STC_setSendData_org: @ 82E584C
lsls r2, 24
lsrs r2, 24
mov r8, r2
- ldr r0, _082E5878
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2]
mov r10, r0
cmp r1, 0xFF
bne _082E5880
- ldr r0, _082E587C
+ ldr r0, =0x00000301
b _082E5A36
.align 2, 0
-_082E5878: .4byte gUnknown_03007890
-_082E587C: .4byte 0x00000301
+ .pool
_082E5880:
movs r0, 0xF
ands r0, r3
@@ -3502,10 +3419,10 @@ _082E588E:
ands r0, r3
cmp r0, r3
beq _082E58A4
- ldr r0, _082E58A0
+ ldr r0, =0x00000401
b _082E5A36
.align 2, 0
-_082E58A0: .4byte 0x00000401
+ .pool
_082E58A4:
movs r0, 0x10
ands r0, r6
@@ -3519,15 +3436,15 @@ _082E58B2:
ands r0, r3
cmp r0, 0
beq _082E58C0
- ldr r0, _082E58BC
+ ldr r0, =0x00000402
b _082E5A36
.align 2, 0
-_082E58BC: .4byte 0x00000402
+ .pool
_082E58C0:
movs r2, 0
movs r0, 0x1
ands r0, r3
- ldr r4, _082E58F0
+ ldr r4, =gUnknown_089A3220
cmp r0, 0
bne _082E58E2
movs r1, 0x1
@@ -3551,7 +3468,7 @@ _082E58E2:
adds r1, 0xF
b _082E58FE
.align 2, 0
-_082E58F0: .4byte gUnknown_089A3220
+ .pool
_082E58F4:
cmp r0, 0
bne _082E5900
@@ -3578,7 +3495,7 @@ _082E5918:
lsls r0, 3
b _082E5A36
_082E591E:
- ldr r1, _082E596C
+ ldr r1, =0x04000208
ldrh r0, [r1]
str r0, [sp, 0x4]
movs r7, 0
@@ -3592,7 +3509,7 @@ _082E591E:
cmp r6, 0x40
bne _082E59F4
_082E5938:
- ldr r1, _082E5970
+ ldr r1, =gUnknown_03007880
lsls r0, r2, 2
adds r0, r1
ldr r0, [r0]
@@ -3618,8 +3535,7 @@ _082E5938:
strb r7, [r1]
b _082E5978
.align 2, 0
-_082E596C: .4byte 0x04000208
-_082E5970: .4byte gUnknown_03007880
+ .pool
_082E5974:
movs r0, 0x1
strb r0, [r1]
@@ -3652,7 +3568,7 @@ _082E5998:
bls _082E5998
movs r2, 0
movs r5, 0x1
- ldr r4, _082E59EC
+ ldr r4, =gUnknown_03007880
movs r1, 0
_082E59B2:
adds r0, r3, 0
@@ -3681,19 +3597,18 @@ _082E59C4:
mov r1, r8
subs r0, r1
strb r0, [r2]
- ldr r0, _082E59F0
+ ldr r0, =0x00008021
mov r2, r12
strh r0, [r2]
b _082E5A2C
.align 2, 0
-_082E59EC: .4byte gUnknown_03007880
-_082E59F0: .4byte 0x00008021
+ .pool
_082E59F4:
movs r0, 0x10
ands r0, r6
cmp r0, 0
beq _082E5A2C
- ldr r1, _082E5A48
+ ldr r1, =gUnknown_03007870
lsls r0, r2, 2
adds r0, r1
ldr r1, [r0]
@@ -3709,7 +3624,7 @@ _082E59F4:
subs r0, r2
mov r2, r9
strb r0, [r2]
- ldr r0, _082E5A4C
+ ldr r0, =0x00008024
strh r0, [r1]
mov r0, r10
ldr r2, [r0]
@@ -3718,7 +3633,7 @@ _082E59F4:
orrs r0, r1
strb r0, [r2, 0x6]
_082E5A2C:
- ldr r0, _082E5A50
+ ldr r0, =0x04000208
mov r1, sp
ldrh r1, [r1, 0x4]
strh r1, [r0]
@@ -3733,9 +3648,7 @@ _082E5A36:
pop {r1}
bx r1
.align 2, 0
-_082E5A48: .4byte gUnknown_03007870
-_082E5A4C: .4byte 0x00008024
-_082E5A50: .4byte 0x04000208
+ .pool
thumb_func_end rfu_STC_setSendData_org
thumb_func_start rfu_changeSendTarget
@@ -3761,13 +3674,13 @@ rfu_changeSendTarget: @ 82E5A54
_082E5A78:
cmp r0, 0x20
bne _082E5B18
- ldr r0, _082E5B08
+ ldr r0, =gUnknown_03007880
mov r12, r0
lsls r0, r7, 2
add r0, r12
ldr r5, [r0]
ldrh r2, [r5]
- ldr r1, _082E5B0C
+ ldr r1, =0x00008020
adds r0, r1, 0
ands r0, r2
cmp r0, r1
@@ -3783,7 +3696,7 @@ _082E5A78:
bne _082E5AA6
b _082E5BAA
_082E5AA6:
- ldr r1, _082E5B10
+ ldr r1, =0x04000208
ldrh r0, [r1]
mov r8, r0
strh r2, [r1]
@@ -3812,7 +3725,7 @@ _082E5AD2:
lsrs r2, r0, 24
cmp r2, 0x3
bls _082E5ABE
- ldr r0, _082E5B14
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1, 0x4]
ldr r2, [sp]
@@ -3829,34 +3742,29 @@ _082E5AD2:
movs r0, 0x27
strh r0, [r5]
_082E5AFE:
- ldr r0, _082E5B10
+ ldr r0, =0x04000208
mov r1, r8
strh r1, [r0]
b _082E5BAA
.align 2, 0
-_082E5B08: .4byte gUnknown_03007880
-_082E5B0C: .4byte 0x00008020
-_082E5B10: .4byte 0x04000208
-_082E5B14: .4byte gUnknown_03007890
+ .pool
_082E5B18:
cmp r3, 0x10
bne _082E5BA4
- ldr r3, _082E5B34
+ ldr r3, =gUnknown_03007870
lsls r1, r7, 2
adds r0, r1, r3
ldr r0, [r0]
ldrh r2, [r0]
- ldr r0, _082E5B38
+ ldr r0, =0x00008024
adds r5, r3, 0
cmp r2, r0
beq _082E5B40
_082E5B2E:
- ldr r0, _082E5B3C
+ ldr r0, =0x00000403
b _082E5BAC
.align 2, 0
-_082E5B34: .4byte gUnknown_03007870
-_082E5B38: .4byte 0x00008024
-_082E5B3C: .4byte 0x00000403
+ .pool
_082E5B40:
movs r3, 0
movs r2, 0
@@ -3880,16 +3788,16 @@ _082E5B54:
cmp r2, 0
beq _082E5B70
_082E5B66:
- ldr r0, _082E5B6C
+ ldr r0, =0x00000404
b _082E5BAC
.align 2, 0
-_082E5B6C: .4byte 0x00000404
+ .pool
_082E5B70:
- ldr r3, _082E5B9C
+ ldr r3, =0x04000208
ldrh r0, [r3]
mov r8, r0
strh r2, [r3]
- ldr r4, _082E5BA0
+ ldr r4, =gUnknown_03007890
ldr r2, [r4]
adds r5, r1, r5
ldr r0, [r5]
@@ -3908,8 +3816,7 @@ _082E5B70:
strh r2, [r3]
b _082E5BAA
.align 2, 0
-_082E5B9C: .4byte 0x04000208
-_082E5BA0: .4byte gUnknown_03007890
+ .pool
_082E5BA4:
movs r0, 0xC0
lsls r0, 3
@@ -3938,13 +3845,13 @@ rfu_NI_stopReceivingData: @ 82E5BBC
lsls r0, 3
b _082E5C26
_082E5BCC:
- ldr r1, _082E5BF8
+ ldr r1, =gUnknown_03007880
lsls r0, r3, 2
adds r0, r1
ldr r2, [r0]
adds r5, r2, 0
adds r5, 0x34
- ldr r1, _082E5BFC
+ ldr r1, =0x04000208
ldrh r0, [r1]
adds r4, r0, 0
movs r0, 0
@@ -3955,20 +3862,18 @@ _082E5BCC:
ands r0, r1
cmp r0, 0
beq _082E5C20
- ldr r0, _082E5C00
+ ldr r0, =0x00008043
cmp r1, r0
bne _082E5C04
movs r0, 0x48
b _082E5C06
.align 2, 0
-_082E5BF8: .4byte gUnknown_03007880
-_082E5BFC: .4byte 0x04000208
-_082E5C00: .4byte 0x00008043
+ .pool
_082E5C04:
movs r0, 0x47
_082E5C06:
strh r0, [r2, 0x34]
- ldr r0, _082E5C2C
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
movs r1, 0x1
lsls r1, r3
@@ -3980,7 +3885,7 @@ _082E5C06:
adds r2, r5, 0
bl rfu_STC_releaseFrame
_082E5C20:
- ldr r0, _082E5C30
+ ldr r0, =0x04000208
strh r4, [r0]
movs r0, 0
_082E5C26:
@@ -3988,8 +3893,7 @@ _082E5C26:
pop {r1}
bx r1
.align 2, 0
-_082E5C2C: .4byte gUnknown_03007890
-_082E5C30: .4byte 0x04000208
+ .pool
thumb_func_end rfu_NI_stopReceivingData
thumb_func_start rfu_UNI_changeAndReadySendData
@@ -4007,22 +3911,20 @@ rfu_UNI_changeAndReadySendData: @ 82E5C34
lsls r0, 3
b _082E5CC0
_082E5C4C:
- ldr r1, _082E5C60
+ ldr r1, =gUnknown_03007870
lsls r0, 2
adds r0, r1
ldr r4, [r0]
ldrh r1, [r4]
- ldr r0, _082E5C64
+ ldr r0, =0x00008024
cmp r1, r0
beq _082E5C6C
- ldr r0, _082E5C68
+ ldr r0, =0x00000403
b _082E5CC0
.align 2, 0
-_082E5C60: .4byte gUnknown_03007870
-_082E5C64: .4byte 0x00008024
-_082E5C68: .4byte 0x00000403
+ .pool
_082E5C6C:
- ldr r0, _082E5C80
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1]
cmp r0, 0x1
@@ -4033,7 +3935,7 @@ _082E5C6C:
ldrb r1, [r1, 0xF]
b _082E5C92
.align 2, 0
-_082E5C80: .4byte gUnknown_03007890
+ .pool
_082E5C84:
adds r0, r3, 0
adds r0, 0x10
@@ -4048,7 +3950,7 @@ _082E5C92:
lsrs r3, r0, 24
cmp r3, r5
bcc _082E5CBC
- ldr r2, _082E5CB8
+ ldr r2, =0x04000208
ldrh r1, [r2]
movs r0, 0
strh r0, [r2]
@@ -4062,7 +3964,7 @@ _082E5C92:
movs r0, 0
b _082E5CC0
.align 2, 0
-_082E5CB8: .4byte 0x04000208
+ .pool
_082E5CBC:
movs r0, 0xA0
lsls r0, 3
@@ -4079,12 +3981,12 @@ rfu_UNI_readySendData: @ 82E5CC8
lsrs r0, 24
cmp r0, 0x3
bhi _082E5CE6
- ldr r1, _082E5CEC
+ ldr r1, =gUnknown_03007870
lsls r0, 2
adds r0, r1
ldr r2, [r0]
ldrh r1, [r2]
- ldr r0, _082E5CF0
+ ldr r0, =0x00008024
cmp r1, r0
bne _082E5CE6
movs r0, 0x1
@@ -4093,8 +3995,7 @@ _082E5CE6:
pop {r0}
bx r0
.align 2, 0
-_082E5CEC: .4byte gUnknown_03007870
-_082E5CF0: .4byte 0x00008024
+ .pool
thumb_func_end rfu_UNI_readySendData
thumb_func_start rfu_UNI_clearRecvNewDataFlag
@@ -4104,7 +4005,7 @@ rfu_UNI_clearRecvNewDataFlag: @ 82E5CF4
lsrs r0, 24
cmp r0, 0x3
bhi _082E5D0A
- ldr r1, _082E5D10
+ ldr r1, =gUnknown_03007870
lsls r0, 2
adds r0, r1
ldr r1, [r0]
@@ -4114,7 +4015,7 @@ _082E5D0A:
pop {r0}
bx r0
.align 2, 0
-_082E5D10: .4byte gUnknown_03007870
+ .pool
thumb_func_end rfu_UNI_clearRecvNewDataFlag
thumb_func_start rfu_REQ_sendData
@@ -4122,7 +4023,7 @@ rfu_REQ_sendData: @ 82E5D14
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _082E5D60
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2]
adds r4, r0, 0
@@ -4140,7 +4041,7 @@ _082E5D28:
orrs r3, r0
cmp r3, 0
bne _082E5DB8
- ldr r0, _082E5D64
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2, 0x3]
adds r4, r0, 0
@@ -4159,8 +4060,7 @@ _082E5D50:
strb r0, [r1, 0x8]
b _082E5D6E
.align 2, 0
-_082E5D60: .4byte gUnknown_03007890
-_082E5D64: .4byte gUnknown_03007894
+ .pool
_082E5D68:
ldrb r0, [r1, 0x7]
adds r0, 0x1
@@ -4176,13 +4076,13 @@ _082E5D6E:
cmp r0, 0
bne _082E5E12
_082E5D80:
- ldr r4, _082E5DA4
+ ldr r4, =gUnknown_03007898
ldr r1, [r4]
movs r0, 0x1
str r0, [r1, 0x68]
movs r0, 0xFF
str r0, [r1, 0x78]
- ldr r0, _082E5DA8
+ ldr r0, =sub_82E5F00
bl STWI_set_Callback_M
cmp r5, 0
bne _082E5DAC
@@ -4192,8 +4092,7 @@ _082E5D80:
bl STWI_send_DataTxREQ
b _082E5E4E
.align 2, 0
-_082E5DA4: .4byte gUnknown_03007898
-_082E5DA8: .4byte sub_82E5F00
+ .pool
_082E5DAC:
ldr r0, [r4]
adds r0, 0x68
@@ -4211,14 +4110,14 @@ _082E5DC4:
ldrb r0, [r0, 0xE]
cmp r0, 0
beq _082E5E12
- ldr r0, _082E5DF0
+ ldr r0, =rfu_CB_sendData
bl STWI_set_Callback_M
cmp r5, 0
beq _082E5DFC
- ldr r0, _082E5DF4
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0x68
- ldr r1, _082E5DF8
+ ldr r1, =gUnknown_03007894
ldr r1, [r1]
ldr r1, [r1, 0x24]
adds r1, 0x4
@@ -4227,14 +4126,12 @@ _082E5DC4:
bl STWI_send_DataTxAndChangeREQ
b _082E5E4E
.align 2, 0
-_082E5DF0: .4byte rfu_CB_sendData
-_082E5DF4: .4byte gUnknown_03007898
-_082E5DF8: .4byte gUnknown_03007894
+ .pool
_082E5DFC:
- ldr r0, _082E5E34
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0x68
- ldr r1, _082E5E38
+ ldr r1, =gUnknown_03007894
ldr r1, [r1]
ldr r1, [r1, 0x24]
adds r1, 0x4
@@ -4244,12 +4141,12 @@ _082E5DFC:
_082E5E12:
cmp r5, 0
beq _082E5E4E
- ldr r0, _082E5E3C
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
bne _082E5E44
- ldr r0, _082E5E40
+ ldr r0, =gRfuState
ldr r0, [r0]
ldr r1, [r0, 0x1C]
cmp r1, 0
@@ -4258,12 +4155,9 @@ _082E5E12:
bl _call_via_r1
b _082E5E4E
.align 2, 0
-_082E5E34: .4byte gUnknown_03007898
-_082E5E38: .4byte gUnknown_03007894
-_082E5E3C: .4byte gUnknown_03007890
-_082E5E40: .4byte gRfuState
+ .pool
_082E5E44:
- ldr r0, _082E5E54
+ ldr r0, =rfu_CB_sendData2
bl STWI_set_Callback_M
bl STWI_send_MS_ChangeREQ
_082E5E4E:
@@ -4271,7 +4165,7 @@ _082E5E4E:
pop {r0}
bx r0
.align 2, 0
-_082E5E54: .4byte rfu_CB_sendData2
+ .pool
thumb_func_end rfu_REQ_sendData
thumb_func_start rfu_CB_sendData
@@ -4284,10 +4178,10 @@ rfu_CB_sendData: @ 82E5E58
cmp r7, 0
bne _082E5EC2
movs r6, 0
- ldr r0, _082E5EE0
+ ldr r0, =0x00008020
mov r8, r0
_082E5E6C:
- ldr r0, _082E5EE4
+ ldr r0, =gUnknown_03007870
lsls r2, r6, 2
adds r0, r2, r0
ldr r1, [r0]
@@ -4297,7 +4191,7 @@ _082E5E6C:
movs r0, 0
strb r0, [r1, 0x2]
_082E5E7E:
- ldr r0, _082E5EE8
+ ldr r0, =gUnknown_03007880
adds r0, r2, r0
ldr r4, [r0]
ldrh r0, [r4]
@@ -4307,7 +4201,7 @@ _082E5E7E:
movs r1, 0
adds r2, r4, 0
bl rfu_STC_releaseFrame
- ldr r5, _082E5EEC
+ ldr r5, =gUnknown_03007890
ldr r2, [r5]
ldrb r1, [r4, 0x1A]
ldrb r0, [r2, 0x4]
@@ -4333,7 +4227,7 @@ _082E5EB8:
cmp r6, 0x3
bls _082E5E6C
_082E5EC2:
- ldr r0, _082E5EEC
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1, 0xE]
movs r0, 0
@@ -4347,10 +4241,7 @@ _082E5EC2:
pop {r0}
bx r0
.align 2, 0
-_082E5EE0: .4byte 0x00008020
-_082E5EE4: .4byte gUnknown_03007870
-_082E5EE8: .4byte gUnknown_03007880
-_082E5EEC: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_sendData
thumb_func_start rfu_CB_sendData2
@@ -4395,7 +4286,7 @@ rfu_constructSendLLFrame: @ 82E5F28
mov r5, r8
push {r5-r7}
sub sp, 0x4
- ldr r0, _082E5FD4
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r0, [r2]
cmp r0, 0xFF
@@ -4413,7 +4304,7 @@ _082E5F40:
movs r0, 0
strb r0, [r2, 0xE]
mov r8, r0
- ldr r0, _082E5FD8
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0x6C
str r0, [sp]
@@ -4421,11 +4312,11 @@ _082E5F40:
movs r0, 0x80
lsls r0, 8
mov r9, r0
- ldr r1, _082E5FDC
+ ldr r1, =0x00008024
mov r10, r1
_082E5F6A:
movs r5, 0
- ldr r0, _082E5FE0
+ ldr r0, =gUnknown_03007880
lsls r7, r6, 2
adds r4, r7, r0
ldr r2, [r4]
@@ -4454,7 +4345,7 @@ _082E5F8A:
lsrs r0, 16
adds r5, r0
_082E5FA6:
- ldr r0, _082E5FE4
+ ldr r0, =gUnknown_03007870
adds r0, r7, r0
ldr r0, [r0]
ldrh r0, [r0]
@@ -4469,7 +4360,7 @@ _082E5FA6:
_082E5FC0:
cmp r5, 0
beq _082E5FF4
- ldr r0, _082E5FD4
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -4477,11 +4368,7 @@ _082E5FC0:
add r8, r5
b _082E5FF4
.align 2, 0
-_082E5FD4: .4byte gUnknown_03007890
-_082E5FD8: .4byte gUnknown_03007898
-_082E5FDC: .4byte 0x00008024
-_082E5FE0: .4byte gUnknown_03007880
-_082E5FE4: .4byte gUnknown_03007870
+ .pool
_082E5FE8:
adds r0, r7, r6
adds r0, 0x8
@@ -4495,15 +4382,15 @@ _082E5FF4:
lsrs r6, r0, 24
cmp r6, 0x3
bls _082E5F6A
- ldr r6, _082E6054
+ ldr r6, =gUnknown_03007894
mov r0, r8
cmp r0, 0
beq _082E603E
ldr r2, [sp]
movs r0, 0x3
ands r0, r2
- ldr r5, _082E6058
- ldr r1, _082E605C
+ ldr r5, =gUnknown_03007890
+ ldr r1, =gUnknown_03007898
cmp r0, 0
beq _082E6026
movs r4, 0
@@ -4543,9 +4430,7 @@ _082E6044:
pop {r0}
bx r0
.align 2, 0
-_082E6054: .4byte gUnknown_03007894
-_082E6058: .4byte gUnknown_03007890
-_082E605C: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_constructSendLLFrame
thumb_func_start rfu_STC_NI_constructLLSF
@@ -4561,15 +4446,15 @@ rfu_STC_NI_constructLLSF: @ 82E6060
lsls r0, 24
lsrs r0, 24
mov r10, r0
- ldr r2, _082E60DC
+ ldr r2, =gUnknown_03007890
ldr r0, [r2]
ldrb r0, [r0]
lsls r0, 4
- ldr r1, _082E60E0
+ ldr r1, =gUnknown_089A3220
adds r0, r1
mov r8, r0
ldrh r1, [r4]
- ldr r0, _082E60E4
+ ldr r0, =0x00008022
cmp r1, r0
bne _082E60CA
adds r3, r4, 0
@@ -4615,11 +4500,9 @@ _082E60CA:
movs r5, 0
b _082E612C
.align 2, 0
-_082E60DC: .4byte gUnknown_03007890
-_082E60E0: .4byte gUnknown_089A3220
-_082E60E4: .4byte 0x00008022
+ .pool
_082E60E8:
- ldr r0, _082E6114
+ ldr r0, =0x00008022
cmp r9, r0
bne _082E611C
adds r3, r4, 0
@@ -4642,7 +4525,7 @@ _082E60E8:
lsrs r5, r0, 16
b _082E6130
.align 2, 0
-_082E6114: .4byte 0x00008022
+ .pool
_082E6118:
adds r5, r7, 0
b _082E6130
@@ -4687,7 +4570,7 @@ _082E6130:
orrs r3, r0
orrs r3, r5
str r3, [sp]
- ldr r2, _082E61EC
+ ldr r2, =gUnknown_03007890
ldr r0, [r2]
ldrb r0, [r0]
cmp r0, 0x1
@@ -4728,7 +4611,7 @@ _082E61A2:
adds r0, r1
ldr r0, [r0]
str r0, [sp, 0x4]
- ldr r0, _082E61F0
+ ldr r0, =gUnknown_03007898
ldr r1, [r0]
add r0, sp, 0x4
ldr r3, [r1, 0x4]
@@ -4737,7 +4620,7 @@ _082E61A2:
bl _call_via_r3
_082E61C2:
ldrh r1, [r4]
- ldr r0, _082E61F4
+ ldr r0, =0x00008022
cmp r1, r0
bne _082E61DC
ldrb r0, [r6]
@@ -4750,7 +4633,7 @@ _082E61C2:
movs r0, 0
strb r0, [r6]
_082E61DC:
- ldr r0, _082E61EC
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2]
cmp r1, 0x1
@@ -4759,9 +4642,7 @@ _082E61DC:
strb r1, [r2, 0xE]
b _082E6206
.align 2, 0
-_082E61EC: .4byte gUnknown_03007890
-_082E61F0: .4byte gUnknown_03007898
-_082E61F4: .4byte 0x00008022
+ .pool
_082E61F8:
movs r0, 0x1
mov r1, r10
@@ -4796,7 +4677,7 @@ rfu_STC_UNI_constructLLSF: @ 82E6220
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r1, _082E6248
+ ldr r1, =gUnknown_03007870
lsls r0, 2
adds r0, r1
ldr r4, [r0]
@@ -4810,13 +4691,13 @@ _082E6244:
movs r0, 0
b _082E62E8
.align 2, 0
-_082E6248: .4byte gUnknown_03007870
+ .pool
_082E624C:
- ldr r0, _082E62C4
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r0, [r2]
lsls r0, 4
- ldr r1, _082E62C8
+ ldr r1, =gUnknown_089A3220
adds r5, r0, r1
ldrh r0, [r4]
movs r1, 0xF
@@ -4836,7 +4717,7 @@ _082E624C:
_082E6276:
mov r2, sp
movs r3, 0
- ldr r1, _082E62CC
+ ldr r1, =gUnknown_03007898
mov r12, r1
add r7, sp, 0x4
ldrb r0, [r5]
@@ -4865,7 +4746,7 @@ _082E629E:
adds r0, r7, 0
adds r1, r6, 0
bl _call_via_r3
- ldr r0, _082E62C4
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r0, [r2]
cmp r0, 0x1
@@ -4874,9 +4755,7 @@ _082E629E:
movs r0, 0x10
b _082E62DC
.align 2, 0
-_082E62C4: .4byte gUnknown_03007890
-_082E62C8: .4byte gUnknown_089A3220
-_082E62CC: .4byte gUnknown_03007898
+ .pool
_082E62D0:
movs r0, 0x10
mov r1, r8
@@ -4903,12 +4782,12 @@ _082E62E8:
thumb_func_start rfu_REQ_recvData
rfu_REQ_recvData: @ 82E62F4
push {r4,lr}
- ldr r0, _082E6328
+ ldr r0, =gUnknown_03007890
ldr r4, [r0]
ldrb r0, [r4]
cmp r0, 0xFF
beq _082E6320
- ldr r2, _082E632C
+ ldr r2, =gUnknown_03007894
ldr r3, [r2]
ldrb r0, [r4, 0x4]
ldrb r1, [r4, 0x5]
@@ -4919,7 +4798,7 @@ rfu_REQ_recvData: @ 82E62F4
strb r0, [r3, 0x3]
ldr r0, [r2]
strb r1, [r0, 0x4]
- ldr r0, _082E6330
+ ldr r0, =rfu_CB_recvData
bl STWI_set_Callback_M
bl STWI_send_DataRxREQ
_082E6320:
@@ -4927,9 +4806,7 @@ _082E6320:
pop {r0}
bx r0
.align 2, 0
-_082E6328: .4byte gUnknown_03007890
-_082E632C: .4byte gUnknown_03007894
-_082E6330: .4byte rfu_CB_recvData
+ .pool
thumb_func_end rfu_REQ_recvData
thumb_func_start rfu_CB_recvData
@@ -4946,17 +4823,17 @@ rfu_CB_recvData: @ 82E6334
lsrs r7, r1, 16
cmp r7, 0
bne _082E63F8
- ldr r0, _082E6370
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0
beq _082E63F8
- ldr r0, _082E6374
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strb r7, [r0, 0x1]
- ldr r0, _082E6378
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -4964,25 +4841,23 @@ rfu_CB_recvData: @ 82E6334
bl rfu_STC_PARENT_analyzeRecvPacket
b _082E6380
.align 2, 0
-_082E6370: .4byte gUnknown_03007898
-_082E6374: .4byte gUnknown_03007894
-_082E6378: .4byte gUnknown_03007890
+ .pool
_082E637C:
bl rfu_STC_CHILD_analyzeRecvPacket
_082E6380:
movs r6, 0
- ldr r0, _082E6410
+ ldr r0, =0x00008043
mov r8, r0
- ldr r3, _082E6414
+ ldr r3, =gUnknown_03007890
_082E6388:
- ldr r0, _082E6418
+ ldr r0, =gUnknown_03007880
lsls r1, r6, 2
adds r1, r0
ldr r4, [r1]
ldrh r0, [r4, 0x34]
cmp r0, r8
bne _082E63DA
- ldr r0, _082E641C
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r0, [r0, 0x1]
asrs r0, r6
@@ -5022,7 +4897,7 @@ _082E63DA:
lsrs r6, r0, 24
cmp r6, 0x3
bls _082E6388
- ldr r0, _082E641C
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
ldrb r0, [r1, 0x4]
cmp r0, 0
@@ -5044,17 +4919,14 @@ _082E63F8:
pop {r0}
bx r0
.align 2, 0
-_082E6410: .4byte 0x00008043
-_082E6414: .4byte gUnknown_03007890
-_082E6418: .4byte gUnknown_03007880
-_082E641C: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_CB_recvData
thumb_func_start rfu_STC_PARENT_analyzeRecvPacket
rfu_STC_PARENT_analyzeRecvPacket: @ 82E6420
push {r4-r7,lr}
sub sp, 0x4
- ldr r1, _082E64B0
+ ldr r1, =gUnknown_03007898
ldr r0, [r1]
adds r0, 0xDC
ldr r0, [r0]
@@ -5063,7 +4935,7 @@ rfu_STC_PARENT_analyzeRecvPacket: @ 82E6420
movs r5, 0
mov r12, r1
movs r7, 0x1F
- ldr r4, _082E64B4
+ ldr r4, =gUnknown_03007894
movs r6, 0x1
_082E643A:
mov r0, sp
@@ -5129,14 +5001,13 @@ _082E64A0:
pop {r0}
bx r0
.align 2, 0
-_082E64B0: .4byte gUnknown_03007898
-_082E64B4: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_STC_PARENT_analyzeRecvPacket
thumb_func_start rfu_STC_CHILD_analyzeRecvPacket
rfu_STC_CHILD_analyzeRecvPacket: @ 82E64B8
push {r4-r6,lr}
- ldr r0, _082E6508
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
@@ -5147,7 +5018,7 @@ rfu_STC_CHILD_analyzeRecvPacket: @ 82E64B8
adds r5, 0x8
cmp r4, 0
bne _082E64D8
- ldr r0, _082E650C
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
movs r0, 0xF
strb r0, [r1, 0x1]
@@ -5177,8 +5048,7 @@ _082E6500:
pop {r0}
bx r0
.align 2, 0
-_082E6508: .4byte gUnknown_03007898
-_082E650C: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_STC_CHILD_analyzeRecvPacket
thumb_func_start rfu_STC_analyzeLLSF
@@ -5195,14 +5065,14 @@ rfu_STC_analyzeLLSF: @ 82E6510
mov r12, r0
lsls r2, 16
lsrs r3, r2, 16
- ldr r2, _082E6544
+ ldr r2, =gUnknown_03007890
ldr r0, [r2]
ldrb r0, [r0]
mvns r0, r0
movs r1, 0x1
ands r0, r1
lsls r0, 4
- ldr r1, _082E6548
+ ldr r1, =gUnknown_089A3220
adds r6, r0, r1
ldrb r0, [r6]
cmp r3, r0
@@ -5210,8 +5080,7 @@ rfu_STC_analyzeLLSF: @ 82E6510
adds r0, r3, 0
b _082E673E
.align 2, 0
-_082E6544: .4byte gUnknown_03007890
-_082E6548: .4byte gUnknown_089A3220
+ .pool
_082E654C:
movs r5, 0
movs r4, 0
@@ -5239,7 +5108,7 @@ _082E6574:
lsrs r0, r3
mov r3, r8
ands r0, r3
- ldr r1, _082E664C
+ ldr r1, =0xffffff00
mov r10, r1
mov r3, r10
mov r2, r9
@@ -5252,7 +5121,7 @@ _082E6574:
ldrb r1, [r6, 0x8]
ands r0, r1
lsls r0, 8
- ldr r4, _082E6650
+ ldr r4, =0xffff00ff
adds r2, r4, 0
ands r2, r3
orrs r2, r0
@@ -5263,7 +5132,7 @@ _082E6574:
ldrb r1, [r6, 0x9]
ands r0, r1
lsls r0, 16
- ldr r3, _082E6654
+ ldr r3, =0xff00ffff
ands r3, r2
orrs r3, r0
str r3, [sp]
@@ -5273,7 +5142,7 @@ _082E6574:
ldrb r1, [r6, 0xA]
ands r0, r1
lsls r0, 24
- ldr r2, _082E6658
+ ldr r2, =0x00ffffff
mov r8, r2
mov r1, r8
ands r1, r3
@@ -5303,7 +5172,7 @@ _082E6574:
ldrh r0, [r6, 0xE]
ands r5, r0
lsls r1, r5, 16
- ldr r0, _082E665C
+ ldr r0, =0x0000ffff
ands r0, r4
orrs r0, r1
str r0, [sp, 0x4]
@@ -5319,7 +5188,7 @@ _082E6574:
beq _082E661A
b _082E673C
_082E661A:
- ldr r2, _082E6660
+ ldr r2, =gUnknown_03007890
ldr r3, [r2]
ldrb r2, [r3]
cmp r2, 0x1
@@ -5344,12 +5213,7 @@ _082E6632:
bl rfu_STC_UNI_receive
b _082E673C
.align 2, 0
-_082E664C: .4byte 0xffffff00
-_082E6650: .4byte 0xffff00ff
-_082E6654: .4byte 0xff00ffff
-_082E6658: .4byte 0x00ffffff
-_082E665C: .4byte 0x0000ffff
-_082E6660: .4byte gUnknown_03007890
+ .pool
_082E6664:
mov r5, r9
ldrb r0, [r5, 0x3]
@@ -5362,7 +5226,7 @@ _082E6664:
b _082E673C
_082E6678:
movs r4, 0
- ldr r1, _082E6690
+ ldr r1, =gUnknown_03007880
ldr r0, [r1]
ldrb r0, [r0, 0x1A]
mov r5, r12
@@ -5373,7 +5237,7 @@ _082E6678:
ldrb r0, [r3, 0x4]
b _082E66BA
.align 2, 0
-_082E6690: .4byte gUnknown_03007880
+ .pool
_082E6694:
adds r0, r4, 0x1
lsls r0, 24
@@ -5390,7 +5254,7 @@ _082E6694:
ands r0, r2
cmp r0, 0
beq _082E6694
- ldr r3, _082E66D4
+ ldr r3, =gUnknown_03007890
ldr r0, [r3]
ldrb r0, [r0, 0x4]
mov r5, r12
@@ -5408,7 +5272,7 @@ _082E66BA:
bl rfu_STC_NI_receive_Sender
b _082E673C
.align 2, 0
-_082E66D4: .4byte gUnknown_03007890
+ .pool
_082E66D8:
ldrb r1, [r3, 0x2]
mov r2, r9
@@ -5443,7 +5307,7 @@ _082E6706:
bl rfu_STC_NI_receive_Receiver
b _082E6732
_082E6718:
- ldr r0, _082E6750
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0, 0x4]
asrs r0, r4
@@ -5473,7 +5337,7 @@ _082E673E:
pop {r1}
bx r1
.align 2, 0
-_082E6750: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_STC_analyzeLLSF
thumb_func_start rfu_STC_UNI_receive
@@ -5484,7 +5348,7 @@ rfu_STC_UNI_receive: @ 82E6754
str r2, [sp]
lsls r0, 24
lsrs r7, r0, 24
- ldr r2, _082E6788
+ ldr r2, =gUnknown_03007870
lsls r1, r7, 2
adds r1, r2
ldr r3, [r1]
@@ -5501,12 +5365,11 @@ rfu_STC_UNI_receive: @ 82E6754
bcs _082E6790
movs r0, 0x49
strh r0, [r3, 0xC]
- ldr r0, _082E678C
+ ldr r0, =0x00000701
strh r0, [r5, 0x2]
b _082E67DE
.align 2, 0
-_082E6788: .4byte gUnknown_03007870
-_082E678C: .4byte 0x00000701
+ .pool
_082E6790:
ldrb r0, [r5, 0x7]
cmp r0, 0
@@ -5514,11 +5377,11 @@ _082E6790:
ldrb r0, [r5, 0x6]
cmp r0, 0
beq _082E67B4
- ldr r0, _082E67A4
+ ldr r0, =0x00000709
strh r0, [r5, 0x2]
b _082E67DE
.align 2, 0
-_082E67A4: .4byte 0x00000709
+ .pool
_082E67A8:
ldrb r0, [r5, 0x6]
cmp r0, 0
@@ -5528,7 +5391,7 @@ _082E67A8:
strh r0, [r5, 0x2]
_082E67B4:
movs r4, 0
- ldr r0, _082E67FC
+ ldr r0, =0x00008042
strh r0, [r5]
ldrh r0, [r6, 0x6]
strh r0, [r5, 0x4]
@@ -5538,7 +5401,7 @@ _082E67B4:
ldr r0, [r0]
ldr r0, [r0, 0x14]
str r0, [sp, 0x4]
- ldr r0, _082E6800
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
add r1, sp, 0x4
ldr r3, [r0, 0x4]
@@ -5551,7 +5414,7 @@ _082E67DE:
ldrh r0, [r5, 0x2]
cmp r0, 0
beq _082E67F2
- ldr r0, _082E6804
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
movs r0, 0x10
lsls r0, r7
@@ -5564,9 +5427,7 @@ _082E67F2:
pop {r0}
bx r0
.align 2, 0
-_082E67FC: .4byte 0x00008042
-_082E6800: .4byte gUnknown_03007898
-_082E6804: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_STC_UNI_receive
thumb_func_start rfu_STC_NI_receive_Sender
@@ -5582,7 +5443,7 @@ rfu_STC_NI_receive_Sender: @ 82E6808
lsls r1, 24
lsrs r1, 24
mov r10, r1
- ldr r1, _082E68D4
+ ldr r1, =gUnknown_03007880
lsrs r0, 22
adds r0, r1
ldr r0, [r0]
@@ -5598,13 +5459,13 @@ rfu_STC_NI_receive_Sender: @ 82E6808
ldrb r2, [r6, 0x2]
cmp r2, 0x2
bne _082E6844
- ldr r0, _082E68D8
+ ldr r0, =0x00008022
cmp r9, r0
beq _082E685E
_082E6844:
cmp r2, 0x1
bne _082E684E
- ldr r0, _082E68DC
+ ldr r0, =0x00008021
cmp r9, r0
beq _082E685E
_082E684E:
@@ -5613,7 +5474,7 @@ _082E684E:
mov r8, r3
cmp r2, 0x3
bne _082E6882
- ldr r0, _082E68E0
+ ldr r0, =0x00008023
cmp r9, r0
bne _082E6882
_082E685E:
@@ -5658,14 +5519,14 @@ _082E6882:
strb r1, [r0]
mov r7, r12
ldrh r1, [r7]
- ldr r2, _082E68E4
+ ldr r2, =0x00007fdf
adds r0, r1, r2
lsls r0, 16
lsrs r0, 16
adds r5, r3, 0
cmp r0, 0x1
bhi _082E6970
- ldr r0, _082E68DC
+ ldr r0, =0x00008021
cmp r1, r0
bne _082E68E8
ldrb r1, [r6, 0x4]
@@ -5678,11 +5539,7 @@ _082E6882:
str r0, [r1]
b _082E68FE
.align 2, 0
-_082E68D4: .4byte gUnknown_03007880
-_082E68D8: .4byte 0x00008022
-_082E68DC: .4byte 0x00008021
-_082E68E0: .4byte 0x00008023
-_082E68E4: .4byte 0x00007fdf
+ .pool
_082E68E8:
ldrb r2, [r6, 0x4]
lsls r2, 2
@@ -5713,7 +5570,7 @@ _082E6912:
strb r2, [r0]
mov r7, r12
ldrh r1, [r7]
- ldr r0, _082E6954
+ ldr r0, =0x00008021
cmp r1, r0
bne _082E695C
movs r4, 0
@@ -5738,28 +5595,27 @@ _082E6926:
bls _082E6926
ldr r0, [r7, 0x30]
str r0, [r7, 0x14]
- ldr r0, _082E6958
+ ldr r0, =0x00008022
strh r0, [r7]
b _082E697E
.align 2, 0
-_082E6954: .4byte 0x00008021
-_082E6958: .4byte 0x00008022
+ .pool
_082E695C:
strb r2, [r5]
mov r0, r12
str r2, [r0, 0x14]
- ldr r0, _082E696C
+ ldr r0, =0x00008023
mov r1, r12
strh r0, [r1]
b _082E697E
.align 2, 0
-_082E696C: .4byte 0x00008023
+ .pool
_082E6970:
lsls r1, 16
- ldr r0, _082E69E0
+ ldr r0, =0x80230000
cmp r1, r0
bne _082E697E
- ldr r0, _082E69E4
+ ldr r0, =0x00008020
mov r2, r12
strh r0, [r2]
_082E697E:
@@ -5785,11 +5641,11 @@ _082E697E:
cmp r0, 0
beq _082E69CE
_082E69A8:
- ldr r4, _082E69E8
+ ldr r4, =0x04000208
ldrh r2, [r4]
movs r0, 0
strh r0, [r4]
- ldr r0, _082E69EC
+ ldr r0, =gUnknown_03007894
ldr r3, [r0]
movs r0, 0x10
mov r7, r10
@@ -5799,7 +5655,7 @@ _082E69A8:
movs r1, 0
strb r0, [r3, 0x2]
lsls r0, r7, 2
- ldr r3, _082E69F0
+ ldr r3, =gUnknown_03007880
adds r0, r3
ldr r0, [r0]
strh r1, [r0, 0x2]
@@ -5814,11 +5670,7 @@ _082E69CE:
pop {r0}
bx r0
.align 2, 0
-_082E69E0: .4byte 0x80230000
-_082E69E4: .4byte 0x00008020
-_082E69E8: .4byte 0x04000208
-_082E69EC: .4byte gUnknown_03007894
-_082E69F0: .4byte gUnknown_03007880
+ .pool
thumb_func_end rfu_STC_NI_receive_Sender
thumb_func_start rfu_STC_NI_receive_Receiver
@@ -5835,7 +5687,7 @@ rfu_STC_NI_receive_Receiver: @ 82E69F4
lsrs r0, 24
mov r8, r0
movs r7, 0
- ldr r1, _082E6A54
+ ldr r1, =gUnknown_03007880
lsls r0, 2
adds r0, r1
ldr r4, [r0]
@@ -5852,7 +5704,7 @@ rfu_STC_NI_receive_Receiver: @ 82E69F4
ldrb r0, [r6, 0x2]
cmp r0, 0x3
bne _082E6A64
- ldr r0, _082E6A58
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
movs r0, 0x1
mov r1, r8
@@ -5861,25 +5713,22 @@ rfu_STC_NI_receive_Receiver: @ 82E69F4
orrs r0, r1
strb r0, [r2, 0x1]
ldrh r1, [r4, 0x34]
- ldr r0, _082E6A5C
+ ldr r0, =0x00008042
cmp r1, r0
bne _082E6AAA
adds r0, r4, 0
adds r0, 0x54
strb r7, [r0]
strb r7, [r3]
- ldr r0, _082E6A60
+ ldr r0, =0x00008043
strh r0, [r4, 0x34]
b _082E6AAA
.align 2, 0
-_082E6A54: .4byte gUnknown_03007880
-_082E6A58: .4byte gUnknown_03007894
-_082E6A5C: .4byte 0x00008042
-_082E6A60: .4byte 0x00008043
+ .pool
_082E6A64:
cmp r0, 0x2
bne _082E6A90
- ldr r0, _082E6A88
+ ldr r0, =0x00008041
cmp r9, r0
bne _082E6A7C
ldr r0, [r5, 0x14]
@@ -5890,17 +5739,16 @@ _082E6A64:
bl rfu_STC_NI_initSlot_asRecvDataEntity
_082E6A7C:
ldrh r1, [r5]
- ldr r0, _082E6A8C
+ ldr r0, =0x00008042
cmp r1, r0
bne _082E6AAA
b _082E6AAE
.align 2, 0
-_082E6A88: .4byte 0x00008041
-_082E6A8C: .4byte 0x00008042
+ .pool
_082E6A90:
cmp r0, 0x1
bne _082E6AAA
- ldr r7, _082E6B5C
+ ldr r7, =0x00008041
cmp r9, r7
beq _082E6AAE
mov r0, r8
@@ -5925,7 +5773,7 @@ _082E6AAE:
ands r0, r1
cmp r2, r0
bne _082E6B04
- ldr r0, _082E6B60
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
lsls r1, r3, 2
adds r1, 0x4
@@ -5935,7 +5783,7 @@ _082E6AAE:
mov r0, sp
bl _call_via_r3
ldrh r1, [r5]
- ldr r0, _082E6B64
+ ldr r0, =0x00008042
cmp r1, r0
bne _082E6AF4
ldrb r0, [r6, 0x4]
@@ -5979,11 +5827,11 @@ _082E6B04:
cmp r0, r6
bne _082E6B4A
_082E6B2C:
- ldr r3, _082E6B68
+ ldr r3, =0x04000208
ldrh r2, [r3]
movs r0, 0
strh r0, [r3]
- ldr r0, _082E6B6C
+ ldr r0, =gUnknown_03007894
ldr r4, [r0]
movs r0, 0x1
mov r1, r8
@@ -6004,11 +5852,7 @@ _082E6B4A:
pop {r0}
bx r0
.align 2, 0
-_082E6B5C: .4byte 0x00008041
-_082E6B60: .4byte gUnknown_03007898
-_082E6B64: .4byte 0x00008042
-_082E6B68: .4byte 0x04000208
-_082E6B6C: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_STC_NI_receive_Receiver
thumb_func_start rfu_STC_NI_initSlot_asRecvControllData
@@ -6017,7 +5861,7 @@ rfu_STC_NI_initSlot_asRecvControllData: @ 82E6B70
adds r2, r1, 0
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, _082E6B8C
+ ldr r0, =gUnknown_03007890
ldr r3, [r0]
ldrb r1, [r3]
mov r12, r0
@@ -6028,7 +5872,7 @@ rfu_STC_NI_initSlot_asRecvControllData: @ 82E6B70
adds r1, 0xF
b _082E6B98
.align 2, 0
-_082E6B8C: .4byte gUnknown_03007890
+ .pool
_082E6B90:
movs r5, 0x2
adds r0, r4, 0
@@ -6049,9 +5893,9 @@ _082E6B98:
bcs _082E6BD0
movs r0, 0x49
strh r0, [r2]
- ldr r0, _082E6BC8
+ ldr r0, =0x00000702
strh r0, [r2, 0x18]
- ldr r0, _082E6BCC
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2, 0x4]
adds r0, r6, 0
@@ -6059,8 +5903,7 @@ _082E6B98:
strb r0, [r2, 0x4]
b _082E6BF6
.align 2, 0
-_082E6BC8: .4byte 0x00000702
-_082E6BCC: .4byte gUnknown_03007894
+ .pool
_082E6BD0:
strh r3, [r2, 0x18]
ldrb r0, [r1]
@@ -6074,7 +5917,7 @@ _082E6BD0:
strb r7, [r2, 0x1F]
strh r3, [r2, 0x2E]
strb r4, [r2, 0x1A]
- ldr r0, _082E6BFC
+ ldr r0, =0x00008041
strh r0, [r2]
mov r0, r12
ldr r1, [r0]
@@ -6086,7 +5929,7 @@ _082E6BF6:
pop {r0}
bx r0
.align 2, 0
-_082E6BFC: .4byte 0x00008041
+ .pool
thumb_func_end rfu_STC_NI_initSlot_asRecvControllData
thumb_func_start rfu_STC_NI_initSlot_asRecvDataEntity
@@ -6100,7 +5943,7 @@ rfu_STC_NI_initSlot_asRecvDataEntity: @ 82E6C00
ldrb r0, [r0]
cmp r0, 0x1
bne _082E6C24
- ldr r0, _082E6C20
+ ldr r0, =gUnknown_03007890
lsls r1, r5, 5
adds r1, 0x14
ldr r0, [r0]
@@ -6108,9 +5951,9 @@ rfu_STC_NI_initSlot_asRecvDataEntity: @ 82E6C00
adds r0, 0x4
b _082E6C7A
.align 2, 0
-_082E6C20: .4byte gUnknown_03007890
+ .pool
_082E6C24:
- ldr r1, _082E6C68
+ ldr r1, =gUnknown_03007880
lsls r0, r5, 2
adds r0, r1
ldr r2, [r0]
@@ -6122,18 +5965,18 @@ _082E6C24:
lsls r1, 17
lsls r1, r5
lsrs r1, 24
- ldr r0, _082E6C6C
+ ldr r0, =gUnknown_03007894
ldr r3, [r0]
ldrb r2, [r3, 0x4]
adds r0, r1, 0
orrs r0, r2
strb r0, [r3, 0x4]
- ldr r0, _082E6C70
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r0, [r2, 0x5]
bics r0, r1
strb r0, [r2, 0x5]
- ldr r0, _082E6C74
+ ldr r0, =0x00000701
strh r0, [r4, 0x18]
movs r0, 0x47
strh r0, [r4]
@@ -6143,10 +5986,7 @@ _082E6C24:
bl rfu_STC_releaseFrame
b _082E6CAC
.align 2, 0
-_082E6C68: .4byte gUnknown_03007880
-_082E6C6C: .4byte gUnknown_03007894
-_082E6C70: .4byte gUnknown_03007890
-_082E6C74: .4byte 0x00000701
+ .pool
_082E6C78:
ldr r0, [r2, 0x68]
_082E6C7A:
@@ -6174,39 +6014,39 @@ _082E6C86:
bls _082E6C86
ldr r0, [r4, 0x30]
str r0, [r4, 0x14]
- ldr r0, _082E6CB4
+ ldr r0, =0x00008042
strh r0, [r4]
_082E6CAC:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_082E6CB4: .4byte 0x00008042
+ .pool
thumb_func_end rfu_STC_NI_initSlot_asRecvDataEntity
thumb_func_start rfu_NI_checkCommFailCounter
rfu_NI_checkCommFailCounter: @ 82E6CB8
push {r4-r7,lr}
- ldr r2, _082E6D44
+ ldr r2, =gUnknown_03007890
ldr r0, [r2]
ldrb r1, [r0, 0x4]
ldrb r0, [r0, 0x5]
orrs r0, r1
cmp r0, 0
beq _082E6D3E
- ldr r1, _082E6D48
+ ldr r1, =0x04000208
ldrh r0, [r1]
mov r12, r0
movs r0, 0
strh r0, [r1]
- ldr r1, _082E6D4C
+ ldr r1, =gUnknown_03007894
ldr r0, [r1]
ldrb r0, [r0, 0x2]
lsrs r7, r0, 4
movs r3, 0
adds r6, r1, 0
adds r5, r2, 0
- ldr r4, _082E6D50
+ ldr r4, =gUnknown_03007880
_082E6CE2:
movs r0, 0x80
lsls r0, 17
@@ -6253,7 +6093,7 @@ _082E6D28:
ldr r0, [r6]
movs r1, 0
strb r1, [r0, 0x2]
- ldr r0, _082E6D48
+ ldr r0, =0x04000208
mov r1, r12
strh r1, [r0]
_082E6D3E:
@@ -6261,16 +6101,13 @@ _082E6D3E:
pop {r0}
bx r0
.align 2, 0
-_082E6D44: .4byte gUnknown_03007890
-_082E6D48: .4byte 0x04000208
-_082E6D4C: .4byte gUnknown_03007894
-_082E6D50: .4byte gUnknown_03007880
+ .pool
thumb_func_end rfu_NI_checkCommFailCounter
thumb_func_start rfu_REQ_noise
rfu_REQ_noise: @ 82E6D54
push {lr}
- ldr r0, _082E6D68
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
movs r0, 0x1
movs r1, 0
@@ -6278,7 +6115,7 @@ rfu_REQ_noise: @ 82E6D54
pop {r0}
bx r0
.align 2, 0
-_082E6D68: .4byte rfu_STC_REQ_callback
+ .pool
thumb_func_end rfu_REQ_noise
thumb_func_start sub_82E6D6C
@@ -6288,7 +6125,7 @@ sub_82E6D6C: @ 82E6D6C
push {r7}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _082E6D84
+ ldr r0, =0x04000208
ldrh r0, [r0]
cmp r0, 0
bne _082E6D88
@@ -6296,32 +6133,29 @@ sub_82E6D6C: @ 82E6D6C
negs r0, r0
b _082E6E08
.align 2, 0
-_082E6D84: .4byte 0x04000208
+ .pool
_082E6D88:
- ldr r0, _082E6DB4
+ ldr r0, =0x04000200
ldrh r0, [r0]
mov r8, r0
- ldr r4, _082E6DB8
+ ldr r4, =gRfuState
ldr r1, [r4]
movs r0, 0xA
str r0, [r1]
- ldr r0, _082E6DBC
+ ldr r0, =sub_82E6F88
bl STWI_set_Callback_ID
bl sub_82E6E20
ldr r0, [r4]
ldrb r0, [r0, 0xA]
lsls r0, 2
- ldr r1, _082E6DC0
+ ldr r1, =0x04000100
adds r4, r0, r1
lsls r0, r5, 27
lsrs r5, r0, 24
movs r7, 0
b _082E6DD6
.align 2, 0
-_082E6DB4: .4byte 0x04000200
-_082E6DB8: .4byte gRfuState
-_082E6DBC: .4byte sub_82E6F88
-_082E6DC0: .4byte 0x04000100
+ .pool
_082E6DC4:
strh r6, [r4, 0x2]
strh r6, [r4]
@@ -6344,15 +6178,15 @@ _082E6DD6:
cmp r6, 0
beq _082E6DC4
_082E6DEA:
- ldr r1, _082E6E14
+ ldr r1, =0x04000208
movs r0, 0
strh r0, [r1]
- ldr r0, _082E6E18
+ ldr r0, =0x04000200
mov r2, r8
strh r2, [r0]
movs r0, 0x1
strh r0, [r1]
- ldr r0, _082E6E1C
+ ldr r0, =gRfuState
ldr r1, [r0]
movs r0, 0
str r0, [r1]
@@ -6365,20 +6199,18 @@ _082E6E08:
pop {r1}
bx r1
.align 2, 0
-_082E6E14: .4byte 0x04000208
-_082E6E18: .4byte 0x04000200
-_082E6E1C: .4byte gRfuState
+ .pool
thumb_func_end sub_82E6D6C
thumb_func_start sub_82E6E20
sub_82E6E20: @ 82E6E20
push {r4,r5,lr}
sub sp, 0x4
- ldr r3, _082E6E78
+ ldr r3, =0x04000208
movs r4, 0
strh r4, [r3]
- ldr r2, _082E6E7C
- ldr r0, _082E6E80
+ ldr r2, =0x04000200
+ ldr r0, =gRfuState
ldr r0, [r0]
movs r1, 0x8
ldrb r0, [r0, 0xA]
@@ -6390,7 +6222,7 @@ sub_82E6E20: @ 82E6E20
strh r0, [r2]
movs r0, 0x1
strh r0, [r3]
- ldr r0, _082E6E84
+ ldr r0, =0x04000134
strh r4, [r0]
subs r2, 0xD8
movs r1, 0x80
@@ -6405,30 +6237,24 @@ sub_82E6E20: @ 82E6E20
strh r0, [r2]
movs r0, 0
str r0, [sp]
- ldr r1, _082E6E88
- ldr r2, _082E6E8C
+ ldr r1, =gUnknown_030078A0
+ ldr r2, =0x05000003
mov r0, sp
bl CpuSet
- ldr r0, _082E6E90
+ ldr r0, =0x04000202
strh r5, [r0]
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_082E6E78: .4byte 0x04000208
-_082E6E7C: .4byte 0x04000200
-_082E6E80: .4byte gRfuState
-_082E6E84: .4byte 0x04000134
-_082E6E88: .4byte gUnknown_030078A0
-_082E6E8C: .4byte 0x05000003
-_082E6E90: .4byte 0x04000202
+ .pool
thumb_func_end sub_82E6E20
thumb_func_start sub_82E6E94
sub_82E6E94: @ 82E6E94
push {r4-r7,lr}
- ldr r0, _082E6EA8
+ ldr r0, =gUnknown_030078A0
ldrb r1, [r0, 0x1]
mov r12, r1
adds r7, r0, 0
@@ -6438,19 +6264,19 @@ sub_82E6E94: @ 82E6E94
beq _082E6EE4
b _082E6F7C
.align 2, 0
-_082E6EA8: .4byte gUnknown_030078A0
+ .pool
_082E6EAC:
movs r6, 0x1
strb r6, [r7]
- ldr r3, _082E6ED8
+ ldr r3, =0x04000128
ldrh r0, [r3]
movs r5, 0x1
orrs r0, r5
strh r0, [r3]
- ldr r4, _082E6EDC
+ ldr r4, =0x04000208
mov r0, r12
strh r0, [r4]
- ldr r2, _082E6EE0
+ ldr r2, =0x04000200
ldrh r0, [r2]
movs r1, 0x80
orrs r0, r1
@@ -6462,9 +6288,7 @@ _082E6EAC:
strb r0, [r3]
b _082E6F80
.align 2, 0
-_082E6ED8: .4byte 0x04000128
-_082E6EDC: .4byte 0x04000208
-_082E6EE0: .4byte 0x04000200
+ .pool
_082E6EE4:
ldrh r0, [r7, 0xA]
cmp r0, 0
@@ -6475,9 +6299,9 @@ _082E6EE4:
ldrh r0, [r7, 0x2]
cmp r0, 0
bne _082E6F80
- ldr r3, _082E6F0C
+ ldr r3, =0x04000208
strh r0, [r3]
- ldr r2, _082E6F10
+ ldr r2, =0x04000128
ldrh r0, [r2]
movs r1, 0x80
orrs r0, r1
@@ -6486,32 +6310,31 @@ _082E6EE4:
strh r1, [r3]
b _082E6F80
.align 2, 0
-_082E6F0C: .4byte 0x04000208
-_082E6F10: .4byte 0x04000128
+ .pool
_082E6F14:
ldrh r1, [r7, 0x4]
- ldr r0, _082E6F60
+ ldr r0, =0x00008001
cmp r1, r0
beq _082E6F80
ldrh r6, [r7, 0x2]
cmp r6, 0
bne _082E6F80
- ldr r4, _082E6F64
+ ldr r4, =0x04000208
strh r6, [r4]
- ldr r3, _082E6F68
+ ldr r3, =0x04000200
ldrh r1, [r3]
- ldr r0, _082E6F6C
+ ldr r0, =0x0000ff7f
ands r0, r1
strh r0, [r3]
mov r7, r12
strh r7, [r4]
- ldr r2, _082E6F70
+ ldr r2, =0x04000128
strh r6, [r2]
movs r1, 0x80
lsls r1, 5
adds r0, r1, 0
strh r0, [r2]
- ldr r0, _082E6F74
+ ldr r0, =0x04000202
movs r5, 0x80
strh r5, [r0]
ldrh r0, [r2]
@@ -6528,12 +6351,7 @@ _082E6F14:
strh r0, [r4]
b _082E6F80
.align 2, 0
-_082E6F60: .4byte 0x00008001
-_082E6F64: .4byte 0x04000208
-_082E6F68: .4byte 0x04000200
-_082E6F6C: .4byte 0x0000ff7f
-_082E6F70: .4byte 0x04000128
-_082E6F74: .4byte 0x04000202
+ .pool
_082E6F78:
movs r0, 0x2
strb r0, [r7, 0x1]
@@ -6551,14 +6369,14 @@ _082E6F82:
thumb_func_start sub_82E6F88
sub_82E6F88: @ 82E6F88
push {r4,r5,lr}
- ldr r0, _082E6FD0
+ ldr r0, =0x04000120
ldr r5, [r0]
- ldr r0, _082E6FD4
+ ldr r0, =gUnknown_030078A0
ldrb r1, [r0]
adds r4, r0, 0
cmp r1, 0x1
beq sub_82E6FA2
- ldr r0, _082E6FD8
+ ldr r0, =0x04000128
ldrh r1, [r0]
movs r2, 0x80
orrs r1, r2
@@ -6590,9 +6408,7 @@ sub_82E6FA2: @ 82E6FA2
strh r5, [r4, 0xA]
b _082E6FF6
.align 2, 0
-_082E6FD0: .4byte 0x04000120
-_082E6FD4: .4byte gUnknown_030078A0
-_082E6FD8: .4byte 0x04000128
+ .pool
_082E6FDC:
ldrh r0, [r4, 0x4]
mvns r0, r0
@@ -6613,19 +6429,19 @@ _082E6FF6:
cmp r0, 0x3
bhi _082E700C
lsls r0, 1
- ldr r1, _082E7008
+ ldr r1, =gUnknown_089A3258
adds r0, r1
ldrh r0, [r0]
b _082E700E
.align 2, 0
-_082E7008: .4byte gUnknown_089A3258
+ .pool
_082E700C:
- ldr r0, _082E7064
+ ldr r0, =0x00008001
_082E700E:
strh r0, [r4, 0x4]
mvns r0, r5
strh r0, [r4, 0x6]
- ldr r3, _082E7068
+ ldr r3, =0x04000120
ldrh r2, [r4, 0x4]
ldrb r1, [r4]
movs r0, 0x1
@@ -6643,12 +6459,12 @@ _082E700E:
ldrh r0, [r4, 0x2]
cmp r0, 0
bne _082E703E
- ldr r0, _082E706C
+ ldr r0, =0x0000494e
cmp r5, r0
bne _082E705C
_082E703E:
movs r0, 0
- ldr r1, _082E7070
+ ldr r1, =0x00000257
_082E7042:
adds r0, 0x1
lsls r0, 16
@@ -6658,7 +6474,7 @@ _082E7042:
ldrh r0, [r4, 0xA]
cmp r0, 0
bne _082E705C
- ldr r0, _082E7074
+ ldr r0, =0x04000128
ldrh r1, [r0]
movs r2, 0x80
orrs r1, r2
@@ -6668,11 +6484,7 @@ _082E705C:
pop {r0}
bx r0
.align 2, 0
-_082E7064: .4byte 0x00008001
-_082E7068: .4byte 0x04000120
-_082E706C: .4byte 0x0000494e
-_082E7070: .4byte 0x00000257
-_082E7074: .4byte 0x04000128
+ .pool
thumb_func_end sub_82E6FA2
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/link_rfu.s b/asm/link_rfu.s
new file mode 100644
index 000000000..e53685c28
--- /dev/null
+++ b/asm/link_rfu.s
@@ -0,0 +1,2021 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8011404
+sub_8011404: @ 8011404
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x31
+ bne _08011410
+ b _08011570
+_08011410:
+ cmp r4, 0x31
+ bgt _0801143E
+ cmp r4, 0x22
+ beq _08011494
+ cmp r4, 0x22
+ bgt _0801142C
+ cmp r4, 0x20
+ beq _0801147C
+ cmp r4, 0x20
+ ble _08011426
+ b _080115DE
+_08011426:
+ cmp r4, 0
+ beq _0801146E
+ b _080115DE
+_0801142C:
+ cmp r4, 0x24
+ beq _080114BA
+ cmp r4, 0x24
+ blt _080114B0
+ cmp r4, 0x25
+ beq _08011504
+ cmp r4, 0x30
+ beq _0801150E
+ b _080115DE
+_0801143E:
+ cmp r4, 0x44
+ bgt _08011454
+ cmp r4, 0x42
+ blt _08011448
+ b _080115DE
+_08011448:
+ cmp r4, 0x33
+ beq _08011522
+ cmp r4, 0x33
+ bge _08011452
+ b _0801158C
+_08011452:
+ b _080115DE
+_08011454:
+ cmp r4, 0xF3
+ bne _0801145A
+ b _080115AC
+_0801145A:
+ cmp r4, 0xF3
+ bgt _08011466
+ cmp r4, 0xF0
+ bge _08011464
+ b _080115DE
+_08011464:
+ b _080115C4
+_08011466:
+ cmp r4, 0xFF
+ bne _0801146C
+ b _080115C4
+_0801146C:
+ b _080115DE
+_0801146E:
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x6
+ strh r0, [r1, 0x4]
+ b _080115DE
+ .pool
+_0801147C:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =gUnknown_03004140
+ ldrh r1, [r1, 0x14]
+ ldr r2, =0x00000ccd
+ adds r0, r2
+ b _080115DC
+ .pool
+_08011494:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =gUnknown_03004140
+ ldrh r1, [r1, 0x14]
+ ldr r2, =0x00000c3e
+ adds r0, r2
+ ldrb r2, [r0]
+ b _080115DC
+ .pool
+_080114B0:
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_8011A64
+ b _080115DE
+_080114BA:
+ ldr r4, =gUnknown_03005000
+ movs r1, 0
+ movs r0, 0xB
+ strh r0, [r4, 0x4]
+ ldr r2, =0x00000c85
+ adds r0, r4, r2
+ strb r1, [r0]
+ ldr r0, =0x00000c86
+ adds r2, r4, r0
+ strb r1, [r2]
+ ldr r1, =0x00000c3e
+ adds r5, r4, r1
+ ldrb r1, [r5]
+ movs r0, 0x20
+ movs r3, 0x1
+ bl rfu_setRecvBuffer
+ ldrb r1, [r5]
+ ldr r2, =0x00000c3f
+ adds r4, r2
+ movs r0, 0x10
+ adds r2, r4, 0
+ movs r3, 0x46
+ bl rfu_setRecvBuffer
+ b _080115DE
+ .pool
+_08011504:
+ movs r0, 0x2
+ movs r1, 0x25
+ bl sub_8011A64
+ b _080115DE
+_0801150E:
+ ldr r0, =gUnknown_03005000
+ adds r2, r0, 0
+ adds r2, 0xF0
+ movs r1, 0x2
+ strb r1, [r2]
+ ldr r1, =0x00000c86
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x6
+ beq _080115DE
+_08011522:
+ ldr r2, =gUnknown_03005000
+ adds r1, r2, 0
+ adds r1, 0xF0
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ beq _08011532
+ movs r0, 0x4
+ strb r0, [r1]
+_08011532:
+ ldr r1, =0x00000c86
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ beq _08011544
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_8011A64
+_08011544:
+ ldr r0, =gUnknown_082ED7FC
+ movs r1, 0x5
+ movs r2, 0x5
+ bl nullsub_5
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080115DE
+ adds r0, r4, 0
+ bl sub_8011170
+ b _080115DE
+ .pool
+_08011570:
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, =gUnknown_082ED814
+ movs r1, 0x5
+ movs r2, 0x5
+ bl nullsub_5
+ b _080115DE
+ .pool
+_0801158C:
+ ldr r1, =gUnknown_03005000
+ adds r2, r1, 0
+ adds r2, 0xF0
+ movs r0, 0x3
+ strb r0, [r2]
+ ldr r2, =0x00000c3c
+ adds r1, r2
+ ldrb r0, [r1]
+ movs r0, 0x1
+ strb r0, [r1]
+ b _080115DE
+ .pool
+_080115AC:
+ movs r0, 0x1
+ movs r1, 0xF3
+ bl sub_8011A64
+ movs r0, 0xF3
+ bl sub_8011170
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xEF
+ b _080115DA
+ .pool
+_080115C4:
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_8011A64
+ adds r0, r4, 0
+ bl sub_8011170
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000cdb
+ adds r0, r1
+ ldrb r1, [r0]
+_080115DA:
+ movs r1, 0x1
+_080115DC:
+ strb r1, [r0]
+_080115DE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011404
+
+ thumb_func_start sub_80115EC
+sub_80115EC: @ 80115EC
+ push {r4-r6,lr}
+ adds r3, r0, 0
+ movs r2, 0
+ movs r6, 0x1
+ ldr r0, =gUnknown_03005000
+ ldr r4, =0x00000cea
+ adds r1, r0, r4
+ movs r5, 0
+ movs r4, 0xFF
+_080115FE:
+ adds r0, r3, 0
+ asrs r0, r2
+ ands r0, r6
+ cmp r0, 0
+ beq _08011610
+ strb r5, [r1]
+ ldrb r0, [r1, 0x4]
+ orrs r0, r4
+ strb r0, [r1, 0x4]
+_08011610:
+ adds r1, 0x1
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080115FE
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80115EC
+
+ thumb_func_start sub_8011628
+sub_8011628: @ 8011628
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ movs r3, 0
+ movs r2, 0
+ movs r4, 0x1
+ ldr r6, =gUnknown_03007890
+ movs r7, 0x7F
+_08011636:
+ adds r0, r5, 0
+ asrs r0, r2
+ ands r0, r4
+ cmp r0, 0
+ beq _0801165C
+ 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 _0801165C
+ adds r0, r4, 0
+ lsls r0, r2
+ orrs r3, r0
+ lsls r0, r3, 24
+ lsrs r3, r0, 24
+_0801165C:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _08011636
+ adds r0, r3, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8011628
+
+ thumb_func_start sub_8011674
+sub_8011674: @ 8011674
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x25
+ bne _08011680
+ b _080118EC
+_08011680:
+ cmp r4, 0x25
+ bgt _080116C2
+ cmp r4, 0x14
+ bne _0801168A
+ b _08011804
+_0801168A:
+ cmp r4, 0x14
+ bgt _080116A2
+ cmp r4, 0x11
+ beq _08011722
+ cmp r4, 0x11
+ ble _08011698
+ b _08011A42
+_08011698:
+ cmp r4, 0
+ beq _0801170C
+ cmp r4, 0x10
+ beq _08011718
+ b _08011A42
+_080116A2:
+ cmp r4, 0x22
+ bne _080116A8
+ b _08011868
+_080116A8:
+ cmp r4, 0x22
+ bgt _080116B4
+ cmp r4, 0x20
+ bne _080116B2
+ b _08011850
+_080116B2:
+ b _08011A42
+_080116B4:
+ cmp r4, 0x23
+ bne _080116BA
+ b _08011884
+_080116BA:
+ cmp r4, 0x24
+ bne _080116C0
+ b _080118BA
+_080116C0:
+ b _08011A42
+_080116C2:
+ cmp r4, 0x44
+ bgt _080116F2
+ cmp r4, 0x42
+ blt _080116CC
+ b _08011A42
+_080116CC:
+ cmp r4, 0x32
+ bne _080116D2
+ b _08011914
+_080116D2:
+ cmp r4, 0x32
+ bgt _080116E4
+ cmp r4, 0x30
+ bne _080116DC
+ b _08011940
+_080116DC:
+ cmp r4, 0x31
+ bne _080116E2
+ b _080118F6
+_080116E2:
+ b _08011A42
+_080116E4:
+ cmp r4, 0x33
+ bne _080116EA
+ b _08011948
+_080116EA:
+ cmp r4, 0x40
+ bne _080116F0
+ b _080119FC
+_080116F0:
+ b _08011A42
+_080116F2:
+ cmp r4, 0xF3
+ bne _080116F8
+ b _08011A0C
+_080116F8:
+ cmp r4, 0xF3
+ bgt _08011704
+ cmp r4, 0xF0
+ bge _08011702
+ b _08011A42
+_08011702:
+ b _08011A28
+_08011704:
+ cmp r4, 0xFF
+ bne _0801170A
+ b _08011A28
+_0801170A:
+ b _08011A42
+_0801170C:
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x11
+ strh r0, [r1, 0x4]
+ b _08011A42
+ .pool
+_08011718:
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_8011A64
+ b _08011A42
+_08011722:
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r0, 0x7F
+ ands r0, r1
+ cmp r0, 0x45
+ bne _080117DC
+ ldr r5, =gUnknown_03005000
+ ldr r1, =0x00000cd9
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080117DC
+ ldr r0, =gUnknown_03004140
+ ldrh r0, [r0, 0x14]
+ bl sub_8011628
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _080117A6
+ adds r0, r4, 0
+ bl sub_800E87C
+ movs r2, 0x1
+ mov r12, r2
+ mov r1, r12
+ lsls r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r7, =0x00000ce6
+ adds r6, r5, r7
+ ldrb r2, [r6]
+ cmp r2, 0
+ bne _08011798
+ ldr r0, =0x00000ce8
+ adds r3, r5, r0
+ ldrb r0, [r3]
+ cmp r0, 0
+ bne _08011798
+ 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 _080117A6
+ .pool
+_08011798:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000ce6
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r1, r4, 0
+ orrs r1, r2
+ strb r1, [r0]
+_080117A6:
+ ldr r0, =gUnknown_03004140
+ ldrh r1, [r0, 0x14]
+ cmp r4, r1
+ beq _080117F6
+ ldr r2, =gUnknown_03005000
+ ldr r7, =0x00000ce3
+ adds r3, r2, r7
+ adds r0, r4, 0
+ eors r0, r1
+ ldrb r1, [r3]
+ orrs r0, r1
+ strb r0, [r3]
+ ldr r0, =0x00000ce4
+ adds r2, r0
+ movs r0, 0x2
+ strb r0, [r2]
+ b _080117F6
+ .pool
+_080117DC:
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r0, 0x7F
+ ands r0, r1
+ cmp r0, 0x54
+ bne _080117F6
+ ldr r0, =gUnknown_03004140
+ ldrb r0, [r0]
+ bl rfu_REQ_disconnect
+ bl rfu_waitREQComplete
+_080117F6:
+ ldr r0, =gUnknown_03004140
+ ldrh r0, [r0, 0x14]
+ bl sub_80115EC
+ b _08011A42
+ .pool
+_08011804:
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r0, 0x7F
+ ands r0, r1
+ cmp r0, 0x45
+ beq _08011836
+ ldr r4, =gUnknown_03004140
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x1
+ bls _08011836
+ ldrb r0, [r4, 0x14]
+ bl sub_800E87C
+ 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
+_08011836:
+ ldr r1, =gUnknown_03005000
+ ldrh r0, [r1, 0x4]
+ cmp r0, 0xF
+ beq _08011840
+ b _08011A42
+_08011840:
+ movs r0, 0x10
+ strh r0, [r1, 0x4]
+ b _08011A42
+ .pool
+_08011850:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =gUnknown_03004140
+ ldrh r1, [r1, 0x14]
+ ldr r2, =0x00000ccd
+ adds r0, r2
+ b _08011A40
+ .pool
+_08011868:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =gUnknown_03004140
+ ldrh r1, [r1, 0x14]
+ ldr r7, =0x00000c3e
+ adds r0, r7
+ ldrb r2, [r0]
+ b _08011A40
+ .pool
+_08011884:
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x12
+ strh r0, [r1, 0x4]
+ ldr r0, =0x00000ccf
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bhi _080118B0
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, =sub_801209C
+ movs r1, 0x2
+ bl CreateTask
+ b _08011A42
+ .pool
+_080118B0:
+ movs r0, 0x2
+ movs r1, 0x23
+ bl sub_8011A64
+ b _08011A42
+_080118BA:
+ ldr r4, =gUnknown_03005000
+ movs r0, 0xD
+ strh r0, [r4, 0x4]
+ movs r0, 0x3
+ movs r1, 0
+ bl sub_8011A64
+ ldr r1, =0x00000c3e
+ adds r0, r4, r1
+ ldrb r1, [r0]
+ ldr r2, =0x00000c3f
+ adds r4, r2
+ movs r0, 0x10
+ adds r2, r4, 0
+ movs r3, 0x46
+ bl rfu_setRecvBuffer
+ b _08011A42
+ .pool
+_080118EC:
+ movs r0, 0x2
+ movs r1, 0x25
+ bl sub_8011A64
+ b _08011A42
+_080118F6:
+ ldr r0, =gUnknown_03004140
+ ldrb r1, [r0]
+ ldrh r0, [r0, 0x14]
+ ands r1, r0
+ cmp r1, 0
+ bne _08011904
+ b _08011A42
+_08011904:
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF0
+ movs r1, 0x1
+ b _08011A40
+ .pool
+_08011914:
+ ldr r2, =gUnknown_03005000
+ adds r1, r2, 0
+ adds r1, 0xF0
+ movs r0, 0x3
+ strb r0, [r1]
+ ldr r0, =gUnknown_03007890
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0801192A
+ b _08011A42
+_0801192A:
+ ldr r7, =0x00000c3c
+ adds r0, r2, r7
+ ldrb r1, [r0]
+ movs r1, 0x1
+ b _08011A40
+ .pool
+_08011940:
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF0
+ movs r1, 0x2
+ strb r1, [r0]
+_08011948:
+ ldr r2, =gUnknown_03005000
+ adds r1, r2, 0
+ adds r1, 0xF0
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ beq _08011958
+ movs r0, 0x4
+ strb r0, [r1]
+_08011958:
+ ldrb r0, [r2, 0xC]
+ cmp r0, 0x1
+ bne _08011996
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080119B4
+ ldr r0, =0x00000ce2
+ adds r2, r0
+ ldr r0, =gUnknown_03004140
+ ldrb r1, [r0, 0x14]
+ ldrb r0, [r2]
+ bics r0, r1
+ strb r0, [r2]
+ cmp r0, 0
+ bne _08011990
+ adds r0, r4, 0
+ bl sub_8011170
+ b _080119B4
+ .pool
+_08011990:
+ bl sub_80111FC
+ b _080119B4
+_08011996:
+ ldr r1, =0x00000ce4
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _080119B4
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080119B4
+ adds r0, r4, 0
+ bl sub_8011170
+ movs r0, 0
+ bl sub_800C27C
+_080119B4:
+ ldr r0, =gUnknown_03007890
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _080119DA
+ ldr r0, =gUnknown_03004140
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ bne _080119DA
+ ldr r0, =sub_800EB44
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080119DA
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x11
+ strh r0, [r1, 0x4]
+_080119DA:
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_8011A64
+ b _08011A42
+ .pool
+_080119FC:
+ ldr r0, =gUnknown_03005000
+ ldr r2, =0x00000ce3
+ adds r0, r2
+ b _08011A3E
+ .pool
+_08011A0C:
+ movs r0, 0x1
+ movs r1, 0xF3
+ bl sub_8011A64
+ movs r0, 0xF3
+ bl sub_8011170
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xEF
+ movs r1, 0x1
+ b _08011A40
+ .pool
+_08011A28:
+ adds r0, r4, 0
+ bl sub_8011170
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_8011A64
+ ldr r0, =gUnknown_03005000
+ ldr r7, =0x00000cdb
+ adds r0, r7
+ ldrb r1, [r0]
+_08011A3E:
+ movs r1, 0
+_08011A40:
+ strb r1, [r0]
+_08011A42:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011674
+
+ thumb_func_start sub_8011A50
+sub_8011A50: @ 8011A50
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000ce4
+ adds r0, r1
+ movs r1, 0x2
+ strb r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8011A50
+
+ thumb_func_start sub_8011A64
+sub_8011A64: @ 8011A64
+ ldr r2, =gUnknown_03005000
+ adds r3, r2, 0
+ adds r3, 0xF1
+ strb r0, [r3]
+ strh r1, [r2, 0xA]
+ bx lr
+ .pool
+ thumb_func_end sub_8011A64
+
+ thumb_func_start sub_8011A74
+sub_8011A74: @ 8011A74
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8011A74
+
+ thumb_func_start sub_8011A80
+sub_8011A80: @ 8011A80
+ push {lr}
+ bl sub_8011A74
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ cmp r0, 0x1
+ bls _08011A94
+ movs r0, 0
+ b _08011A96
+_08011A94:
+ movs r0, 0x1
+_08011A96:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8011A80
+
+ thumb_func_start sub_8011A9C
+sub_8011A9C: @ 8011A9C
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000ce8
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8011A9C
+
+ thumb_func_start Rfu_IsMaster
+Rfu_IsMaster: @ 8011AB0
+ ldr r0, =gUnknown_03005000
+ ldrb r0, [r0, 0xC]
+ bx lr
+ .pool
+ thumb_func_end Rfu_IsMaster
+
+ thumb_func_start RfuVSync
+RfuVSync: @ 8011ABC
+ push {lr}
+ bl rfu_syncVBlank_
+ pop {r0}
+ bx r0
+ thumb_func_end RfuVSync
+
+ thumb_func_start sub_8011AC8
+sub_8011AC8: @ 8011AC8
+ push {lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ ldr r1, =gRecvCmds
+ ldr r2, =0x05000014
+ mov r0, sp
+ bl CpuSet
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011AC8
+
+ thumb_func_start sub_8011AE8
+sub_8011AE8: @ 8011AE8
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8011AE8
+
+ thumb_func_start sub_8011AFC
+sub_8011AFC: @ 8011AFC
+ push {r4,lr}
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ bl ResetTasks
+ bl ResetPaletteFade
+ ldr r0, =sub_8011AE8
+ bl SetVBlankCallback
+ bl sub_80093CC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08011B70
+ ldr r1, =gLinkType
+ ldr r2, =0x00001111
+ adds r0, r2, 0
+ strh r0, [r1]
+ bl sub_800B488
+ bl OpenLink
+ ldr r0, =gMain
+ ldrh r0, [r0, 0x24]
+ bl SeedRng
+ movs r4, 0
+_08011B38:
+ bl Random
+ ldr r1, =gSaveBlock2Ptr
+ ldr r1, [r1]
+ adds r1, 0xA
+ adds r1, r4
+ strb r0, [r1]
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08011B38
+ movs r1, 0xAA
+ lsls r1, 5
+ movs r0, 0
+ bl SetGpuReg
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ bl sub_8011BA4
+ ldr r0, =sub_8011BF8
+ bl SetMainCallback2
+_08011B70:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011AFC
+
+ thumb_func_start sub_8011B90
+sub_8011B90: @ 8011B90
+ push {lr}
+ ldr r0, =sub_800EB44
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8011B90
+
+ thumb_func_start sub_8011BA4
+sub_8011BA4: @ 8011BA4
+ push {r4,lr}
+ ldr r4, =nullsub_89
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ bne _08011BC2
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ ldr r1, =gUnknown_03005000
+ adds r1, 0x66
+ strb r0, [r1]
+_08011BC2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011BA4
+
+ thumb_func_start sub_8011BD0
+sub_8011BD0: @ 8011BD0
+ push {lr}
+ ldr r0, =nullsub_89
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08011BEA
+ ldr r0, =gUnknown_03005000
+ adds r0, 0x66
+ ldrb r0, [r0]
+ bl DestroyTask
+_08011BEA:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011BD0
+
+ thumb_func_start sub_8011BF8
+sub_8011BF8: @ 8011BF8
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8011BF8
+
+ thumb_func_start sub_8011C10
+sub_8011C10: @ 8011C10
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x1
+ strb r0, [r1, 0xC]
+ bl sub_8010F48
+ ldr r0, =sub_801120C
+ movs r1, 0
+ bl sub_800BF4C
+ ldr r2, =gUnknown_02022B2C
+ adds r1, r2, 0
+ ldr r0, =gUnknown_082ED608
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldr r0, =gUnknown_082ED620
+ subs r4, 0x1
+ adds r4, r0
+ ldrb r0, [r4]
+ strh r0, [r2, 0x2]
+ bl sub_800EE78
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011C10
+
+ thumb_func_start sub_8011C5C
+sub_8011C5C: @ 8011C5C
+ push {lr}
+ ldr r1, =gUnknown_03005000
+ movs r0, 0
+ strb r0, [r1, 0xC]
+ bl sub_8010F48
+ ldr r0, =sub_8011404
+ ldr r1, =sub_800ED34
+ bl sub_800BF4C
+ bl sub_800EF00
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011C5C
+
+ thumb_func_start sub_8011C84
+sub_8011C84: @ 8011C84
+ push {r4-r7,lr}
+ ldr r4, =gUnknown_03005000
+ movs r5, 0
+ movs r0, 0x2
+ strb r0, [r4, 0xC]
+ bl sub_8010F48
+ ldr r0, =sub_8011674
+ movs r1, 0
+ bl sub_800BF4C
+ ldr r2, =gUnknown_02022B2C
+ adds r1, r2, 0
+ ldr r0, =gUnknown_082ED608
+ 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, =sub_800EB44
+ movs r1, 0x1
+ bl CreateTask
+ adds r4, 0x67
+ strb r0, [r4]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011C84
+
+ thumb_func_start sub_8011CD8
+sub_8011CD8: @ 8011CD8
+ ldrb r1, [r0, 0x1]
+ lsls r1, 8
+ ldrb r0, [r0]
+ orrs r0, r1
+ bx lr
+ thumb_func_end sub_8011CD8
+
+ thumb_func_start sub_8011CE4
+sub_8011CE4: @ 8011CE4
+ 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, =gUnknown_03007890
+ mov r8, r1
+_08011D02:
+ 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_8011CD8
+ lsls r0, 16
+ lsrs r6, r0, 16
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r4
+ ldrh r0, [r0, 0x18]
+ bl sub_8010454
+ cmp r0, 0
+ beq _08011D4C
+ mov r0, r8
+ ldr r1, [r0]
+ adds r1, r5
+ adds r1, 0x15
+ ldr r0, [sp]
+ bl StringCompare
+ cmp r0, 0
+ bne _08011D4C
+ cmp r10, r6
+ bne _08011D4C
+ mov r9, r7
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r4
+ ldrb r0, [r0, 0x16]
+ cmp r0, 0xFF
+ bne _08011D56
+_08011D4C:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x3
+ bls _08011D02
+_08011D56:
+ 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
+ .pool
+ thumb_func_end sub_8011CE4
+
+ thumb_func_start sub_8011D6C
+sub_8011D6C: @ 8011D6C
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r0, r6, 24
+ lsrs r0, 24
+ bl rfu_REQ_disconnect
+ bl rfu_waitREQComplete
+ ldr r4, =gUnknown_03005000
+ ldr r0, =0x00000ce2
+ adds r5, r4, r0
+ ldrb r0, [r5]
+ bics r0, r6
+ strb r0, [r5]
+ ldr r1, =0x00000cda
+ adds r6, r4, r1
+ ldrb r1, [r6]
+ movs r0, 0x1
+ bl rfu_clearSlot
+ ldrb r0, [r5]
+ ldr r1, =0x00000c87
+ adds r4, r1
+ adds r1, r4, 0
+ movs r2, 0x46
+ bl rfu_UNI_setSendData
+ ldrb r0, [r5]
+ bl sub_800E87C
+ strb r0, [r6]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011D6C
+
+ thumb_func_start sub_8011DC0
+sub_8011DC0: @ 8011DC0
+ push {lr}
+ lsls r1, 16
+ lsrs r1, 16
+ bl sub_8011CE4
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0xFF
+ beq _08011DDA
+ movs r0, 0x1
+ lsls r0, r1
+ bl sub_8011D6C
+_08011DDA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8011DC0
+
+ thumb_func_start sub_8011DE0
+sub_8011DE0: @ 8011DE0
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _08011E20
+ movs r3, 0
+ movs r2, 0
+ ldr r5, =gUnknown_03005000+0xCDE
+ adds r6, r5, 0x4
+_08011DF0:
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ cmp r0, r4
+ bne _08011E0E
+ ldrb r0, [r6]
+ asrs r0, r2
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08011E0E
+ adds r0, r1, 0
+ lsls r0, r2
+ orrs r3, r0
+ lsls r0, r3, 24
+ lsrs r3, r0, 24
+_08011E0E:
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _08011DF0
+ cmp r3, 0
+ beq _08011E20
+ adds r0, r3, 0
+ movs r1, 0x2
+ bl sub_8011E94
+_08011E20:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011DE0
+
+ thumb_func_start sub_8011E2C
+sub_8011E2C: @ 8011E2C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r6, =gSendCmd
+ ldrh r0, [r6]
+ cmp r0, 0
+ bne _08011E7A
+ ldr r5, =gUnknown_03005000
+ ldr r1, =0x00000ce8
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08011E7A
+ movs r0, 0xED
+ lsls r0, 8
+ bl sub_800FD14
+ ldr r1, =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, =gUnknown_082ED695
+ 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
+_08011E7A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011E2C
+
+ thumb_func_start sub_8011E94
+sub_8011E94: @ 8011E94
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ ldr r5, =sub_8011E2C
+ adds r0, r5, 0
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ bne _08011ECC
+ adds r0, r5, 0
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ strh r4, [r0, 0x8]
+ b _08011EDC
+ .pool
+_08011ECC:
+ ldr r0, =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]
+_08011EDC:
+ ldr r1, =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
+ .pool
+ thumb_func_end sub_8011E94
+
+ thumb_func_start sub_8011EF4
+sub_8011EF4: @ 8011EF4
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r4, r0, r1
+ bl sub_800EE94
+ lsls r0, 24
+ cmp r0, 0
+ beq _08011FA4
+ adds r0, r4, 0
+ adds r0, 0x10
+ bl sub_8011CD8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_8011CE4
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _08011F8C
+ ldr r0, =gUnknown_03007890
+ ldr r0, [r0]
+ lsls r1, r2, 5
+ adds r0, r1
+ ldrb r0, [r0, 0x16]
+ cmp r0, 0xFF
+ beq _08011F5C
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000c3d
+ adds r0, r1
+ strb r2, [r0]
+ bl sub_800EEBC
+ cmp r0, 0
+ beq _08011FAA
+ b _08011F84
+ .pool
+_08011F5C:
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r5, 0x7F
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0x15
+ beq _08011FA4
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0x16
+ beq _08011FA4
+ movs r1, 0xE0
+ lsls r1, 7
+ movs r0, 0x2
+ bl sub_8011A64
+_08011F84:
+ adds r0, r6, 0
+ bl DestroyTask
+ b _08011FAA
+_08011F8C:
+ ldrh r0, [r4, 0x1E]
+ adds r0, 0x1
+ strh r0, [r4, 0x1E]
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000c3d
+ adds r0, r1
+ strb r2, [r0]
+ b _08011FAA
+ .pool
+_08011FA4:
+ ldrh r0, [r4, 0x1E]
+ adds r0, 0x1
+ strh r0, [r4, 0x1E]
+_08011FAA:
+ movs r1, 0x1E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xF0
+ ble _08011FC2
+ movs r1, 0xE0
+ lsls r1, 7
+ movs r0, 0x2
+ bl sub_8011A64
+ adds r0, r6, 0
+ bl DestroyTask
+_08011FC2:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8011EF4
+
+ thumb_func_start sub_8011FC8
+sub_8011FC8: @ 8011FC8
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r5, r1, 16
+ lsrs r5, 16
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, =sub_8011EF4
+ movs r1, 0x3
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ ldr r0, =gTasks + 0x8
+ adds r4, r0
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl StringCopy
+ strh r5, [r4, 0x10]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011FC8
+
+ thumb_func_start sub_801200C
+sub_801200C: @ 801200C
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r5, r0, 16
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r2, 0x7F
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0x45
+ bne _08012032
+ ldrb r1, [r4, 0xA]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0x45
+ beq _08012092
+_0801202E:
+ movs r0, 0x1
+ b _08012094
+_08012032:
+ ldrb r1, [r4, 0xA]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0x40
+ bne _0801202E
+ cmp r5, 0x44
+ bne _08012092
+ ldr r5, =gUnknown_03005000+0x10A
+ ldrh r0, [r5, 0x8]
+ ldr r3, =0x000003ff
+ adds r2, r3, 0
+ ands r2, r0
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r2, r0
+ bne _08012068
+ ldrh r1, [r4, 0x8]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, r2
+ beq _08012092
+ b _0801202E
+ .pool
+_08012068:
+ ldrh r1, [r4, 0x8]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, r2
+ bne _0801202E
+ 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 _0801202E
+ 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 _0801202E
+_08012092:
+ movs r0, 0
+_08012094:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801200C
+
+ thumb_func_start sub_801209C
+sub_801209C: @ 801209C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ mov r8, r5
+ ldr r6, =gUnknown_03005000
+ adds r0, r6, 0
+ adds r0, 0xF1
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _080120BA
+ adds r0, r5, 0
+ bl DestroyTask
+_080120BA:
+ ldr r1, =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 _080120E4
+ movs r1, 0xE0
+ lsls r1, 7
+ movs r0, 0x2
+ bl sub_8011A64
+ adds r0, r5, 0
+ bl DestroyTask
+_080120E4:
+ ldr r1, =0x00000ccd
+ adds r0, r6, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0801217C
+ ldr r0, =gUnknown_03004140
+ ldrb r0, [r0, 0x6]
+ cmp r0, 0
+ bne _0801217C
+ movs r2, 0x86
+ lsls r2, 1
+ adds r0, r6, r2
+ bl sub_8011CD8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, =0x00000119
+ adds r0, r6, r2
+ bl sub_8011CE4
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _0801217C
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ ldr r7, =gUnknown_03007890
+ lsls r4, r2, 5
+ adds r2, r4, 0
+ adds r2, 0x14
+ ldr r1, [r7]
+ adds r1, r2
+ adds r1, 0x6
+ bl sub_801200C
+ cmp r0, 0
+ bne _0801216C
+ ldr r0, [r7]
+ adds r1, r0, r4
+ ldrb r0, [r1, 0x16]
+ cmp r0, 0xFF
+ beq _0801217C
+ ldrh r0, [r1, 0x14]
+ movs r1, 0x5A
+ bl sub_800C12C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801217C
+ movs r0, 0xA
+ strh r0, [r6, 0x4]
+ adds r0, r5, 0
+ bl DestroyTask
+ b _0801217C
+ .pool
+_0801216C:
+ movs r1, 0xE0
+ lsls r1, 7
+ movs r0, 0x2
+ bl sub_8011A64
+ mov r0, r8
+ bl DestroyTask
+_0801217C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801209C
+
+ thumb_func_start sub_8012188
+sub_8012188: @ 8012188
+ push {r4-r7,lr}
+ adds r3, r0, 0
+ adds r5, r1, 0
+ lsls r4, r2, 24
+ lsrs r4, 24
+ ldr r6, =gUnknown_03005000
+ ldr r1, =0x00000ccf
+ adds r0, r6, r1
+ movs r7, 0
+ strb r7, [r0]
+ adds r0, r6, 0
+ adds r0, 0xF1
+ strb r7, [r0]
+ ldr r1, =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_800D658
+ ldr r0, =sub_801209C
+ movs r1, 0x2
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r5
+ strh r4, [r1, 0xA]
+ ldr r0, =sub_800EB44
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r1, r0, 24
+ adds r2, r1, 0
+ cmp r4, 0x45
+ bne _08012210
+ cmp r1, 0xFF
+ beq _0801221E
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r5
+ movs r1, 0x1
+ strh r1, [r0, 0x16]
+ b _0801221E
+ .pool
+_08012210:
+ cmp r2, 0xFF
+ beq _0801221E
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r5
+ strh r7, [r0, 0x16]
+_0801221E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8012188
+
+ thumb_func_start sub_8012224
+sub_8012224: @ 8012224
+ push {lr}
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08012238
+ movs r0, 0
+ b _0801223A
+ .pool
+_08012238:
+ movs r0, 0x1
+_0801223A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8012224
+
+ thumb_func_start sub_8012240
+sub_8012240: @ 8012240
+ push {r4,lr}
+ movs r1, 0
+ ldr r0, =gUnknown_03004140
+ ldrb r2, [r0]
+ ldr r4, =gUnknown_03005000+0xCD1
+ movs r3, 0x1
+_0801224C:
+ adds r0, r2, 0
+ asrs r0, r1
+ ands r0, r3
+ cmp r0, 0
+ beq _0801226C
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0801226C
+ movs r0, 0
+ b _08012274
+ .pool
+_0801226C:
+ adds r1, 0x1
+ cmp r1, 0x3
+ ble _0801224C
+ movs r0, 0x1
+_08012274:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8012240
+
+ thumb_func_start sub_801227C
+sub_801227C: @ 801227C
+ push {r4,lr}
+ movs r4, 0
+_08012280:
+ lsls r2, r4, 24
+ lsrs r2, 24
+ ldr r0, =gUnknown_082ED82C
+ movs r1, 0
+ bl nullsub_5
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08012280
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_801227C
+
+ thumb_func_start sub_801229C
+sub_801229C: @ 801229C
+ 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_13
+ ldr r4, =gUnknown_03007890
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x2]
+ movs r1, 0x14
+ movs r2, 0x1
+ movs r3, 0x1
+ bl nullsub_13
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x3]
+ movs r1, 0x17
+ movs r2, 0x1
+ movs r3, 0x1
+ bl nullsub_13
+ ldr r0, =gUnknown_03005000
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0x1
+ bne _08012378
+ movs r6, 0
+ adds r7, r4, 0
+ movs r5, 0x14
+_080122E0:
+ ldr r2, [r7]
+ ldrb r0, [r2, 0x7]
+ asrs r0, r6
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0801231E
+ 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_13
+ ldr r0, [r7]
+ adds r0, r5
+ adds r0, 0x6
+ movs r1, 0x6
+ adds r2, r4, 0
+ bl nullsub_5
+ ldr r0, [r7]
+ adds r0, r5
+ adds r0, 0x15
+ movs r1, 0x16
+ adds r2, r4, 0
+ bl nullsub_5
+_0801231E:
+ adds r5, 0x20
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080122E0
+ movs r6, 0
+ ldr r0, =gUnknown_03005000
+ mov r8, r0
+_0801232C:
+ 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
+_08012342:
+ ldrb r0, [r4]
+ lsls r1, r5, 25
+ lsrs r1, 24
+ lsrs r2, r6, 24
+ movs r3, 0x2
+ bl nullsub_13
+ adds r4, 0x1
+ adds r5, 0x1
+ cmp r5, 0xD
+ ble _08012342
+ adds r6, r7, 0
+ cmp r6, 0x3
+ ble _0801232C
+ ldr r0, =gUnknown_082ED868
+ movs r1, 0x1
+ movs r2, 0xF
+ bl nullsub_5
+ b _080124AA
+ .pool
+_08012378:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ beq _08012414
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ beq _08012414
+ movs r6, 0
+ movs r5, 0xC0
+ lsls r5, 18
+_0801238C:
+ lsrs r4, r5, 24
+ movs r0, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ movs r3, 0x4
+ bl nullsub_13
+ ldr r0, =gUnknown_082ED84B
+ movs r1, 0x6
+ adds r2, r4, 0
+ bl nullsub_5
+ ldr r0, =gUnknown_082ED85B
+ movs r1, 0x16
+ adds r2, r4, 0
+ bl nullsub_5
+ movs r1, 0x80
+ lsls r1, 17
+ adds r5, r1
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _0801238C
+ ldr r5, =gUnknown_03007890
+ ldr r1, [r5]
+ ldr r4, =gUnknown_03005000
+ ldr r0, =0x00000c3e
+ 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_13
+ 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_5
+ 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_5
+ b _080124AA
+ .pool
+_08012414:
+ movs r6, 0
+ ldr r1, =gUnknown_03007890
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x8]
+ cmp r6, r0
+ bge _08012470
+ adds r7, r1, 0
+ movs r1, 0x14
+ mov r8, r1
+_08012426:
+ ldr r0, [r7]
+ lsls r5, r6, 5
+ adds r1, r0, r5
+ ldrb r0, [r1, 0x16]
+ cmp r0, 0xFF
+ beq _08012462
+ 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_13
+ ldr r0, [r7]
+ adds r0, r5
+ ldrh r0, [r0, 0x14]
+ movs r1, 0x6
+ adds r2, r4, 0
+ movs r3, 0x4
+ bl nullsub_13
+ ldr r0, [r7]
+ add r0, r8
+ adds r0, 0x15
+ movs r1, 0x16
+ adds r2, r4, 0
+ bl nullsub_5
+_08012462:
+ movs r0, 0x20
+ add r8, r0
+ adds r6, 0x1
+ ldr r0, [r7]
+ ldrb r0, [r0, 0x8]
+ cmp r6, r0
+ blt _08012426
+_08012470:
+ cmp r6, 0x3
+ bgt _080124AA
+ lsls r0, r6, 24
+ movs r1, 0xC0
+ lsls r1, 18
+ adds r5, r0, r1
+_0801247C:
+ lsrs r4, r5, 24
+ movs r0, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ movs r3, 0x4
+ bl nullsub_13
+ ldr r0, =gUnknown_082ED84B
+ movs r1, 0x6
+ adds r2, r4, 0
+ bl nullsub_5
+ ldr r0, =gUnknown_082ED85B
+ movs r1, 0x16
+ adds r2, r4, 0
+ bl nullsub_5
+ movs r0, 0x80
+ lsls r0, 17
+ adds r5, r0
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _0801247C
+_080124AA:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_801229C
+
+ thumb_func_start sub_80124C0
+sub_80124C0: @ 80124C0
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000c1a
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_80124C0
+
+ thumb_func_start sub_80124D4
+sub_80124D4: @ 80124D4
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x000009e6
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_80124D4
+
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index f2d14b945..6b9227442 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -1,20 +1,20 @@
@ Does nothing.
- .macro nop
+ .macro nop
.byte 0x00
.endm
@ Does nothing.
- .macro nop1
+ .macro nop1
.byte 0x01
.endm
@ Terminates script execution.
- .macro end
+ .macro end
.byte 0x02
.endm
@ Jumps back to after the last-executed call statement, and continues script execution from there.
- .macro return
+ .macro return
.byte 0x03
.endm
@@ -71,12 +71,12 @@
.endm
@ Executes a script stored in a default RAM location.
- .macro gotoram
+ .macro gotoram
.byte 0x0c
.endm
@ Terminates script execution and "resets the script RAM".
- .macro killscript
+ .macro killscript
.byte 0x0d
.endm
@@ -271,7 +271,7 @@
.endm
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang).
- .macro waitstate
+ .macro waitstate
.byte 0x27
.endm
@@ -307,12 +307,12 @@
.endm
@ Runs time based events. In FireRed, this command is a nop.
- .macro dodailyevents
+ .macro dodailyevents
.byte 0x2d
.endm
@ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG, this command sets those variables to zero.
- .macro gettime
+ .macro gettime
.byte 0x2e
.endm
@@ -323,7 +323,7 @@
.endm
@ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing.
- .macro waitse
+ .macro waitse
.byte 0x30
.endm
@@ -334,7 +334,7 @@
.endm
@ Blocks script execution until all currently-playing fanfares finish.
- .macro waitfanfare
+ .macro waitfanfare
.byte 0x32
.endm
@@ -352,7 +352,7 @@
.endm
@ Crossfades the currently-playing song into the map's default song.
- .macro fadedefaultbgm
+ .macro fadedefaultbgm
.byte 0x35
.endm
@@ -460,7 +460,7 @@
.endm
@ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
- .macro getpartysize
+ .macro getpartysize
.byte 0x43
.endm
@@ -612,7 +612,7 @@
.endm
@ If the script was called by an Object, then that Object will turn to face toward the metatile that the player is standing on.
- .macro faceplayer
+ .macro faceplayer
.byte 0x5a
.endm
@@ -679,17 +679,17 @@
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes.
- .macro trainerbattlebegin
+ .macro trainerbattlebegin
.byte 0x5d
.endm
@ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c)
- .macro gotopostbattlescript
+ .macro gotopostbattlescript
.byte 0x5e
.endm
@ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c)
- .macro gotobeatenscript
+ .macro gotobeatenscript
.byte 0x5f
.endm
@@ -730,7 +730,7 @@
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn.
- .macro waitmessage
+ .macro waitmessage
.byte 0x66
.endm
@@ -741,32 +741,32 @@
.endm
@ Closes the current message box.
- .macro closemessage
+ .macro closemessage
.byte 0x68
.endm
@ Ceases movement for all Objects on-screen.
- .macro lockall
+ .macro lockall
.byte 0x69
.endm
@ If the script was called by an Object, then that Object's movement will cease.
- .macro lock
+ .macro lock
.byte 0x6a
.endm
@ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open.
- .macro releaseall
+ .macro releaseall
.byte 0x6b
.endm
@ If the script was called by an Object, then that Object's movement will resume. This command also closes any standard message boxes that are still open.
- .macro release
+ .macro release
.byte 0x6c
.endm
@ Blocks script execution until the player presses any key.
- .macro waitbuttonpress
+ .macro waitbuttonpress
.byte 0x6d
.endm
@@ -807,7 +807,7 @@
.endm
@ Nopped in Emerald.
- .macro drawbox
+ .macro drawbox
.byte 0x72
.endm
@@ -838,7 +838,7 @@
.endm
@ Hides all boxes displayed with drawmonpic.
- .macro erasemonpic
+ .macro erasemonpic
.byte 0x76
.endm
@@ -978,22 +978,22 @@
.endm
@ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01.
- .macro choosecontestmon
+ .macro choosecontestmon
.byte 0x8b
.endm
@ Starts a contest. In FireRed, this command is a nop.
- .macro startcontest
+ .macro startcontest
.byte 0x8c
.endm
@ Shows the results of a contest. In FireRed, this command is a nop.
- .macro showcontestresults
+ .macro showcontestresults
.byte 0x8d
.endm
@ Starts a contest over a link connection. In FireRed, this command is a nop.
- .macro contestlinktransfer
+ .macro contestlinktransfer
.byte 0x8e
.endm
@@ -1033,7 +1033,7 @@
.endm
@ Hides the secondary box spawned by showmoney.
- .macro hidemoneybox
+ .macro hidemoneybox
.byte 0x94
.endm
@@ -1104,7 +1104,7 @@
.endm
@ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT.
- .macro checkplayergender
+ .macro checkplayergender
.byte 0xa0
.endm
@@ -1125,7 +1125,7 @@
.endm
@ Queues a weather change to the default weather for the map.
- .macro resetweather
+ .macro resetweather
.byte 0xa3
.endm
@@ -1136,7 +1136,7 @@
.endm
@ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather.
- .macro doweather
+ .macro doweather
.byte 0xa5
.endm
@@ -1195,7 +1195,7 @@
.endm
@ Waits for the door animation started with opendoor or closedoor to finish.
- .macro waitdooranim
+ .macro waitdooranim
.byte 0xae
.endm
@@ -1223,7 +1223,7 @@
.endm
@ In FireRed and Emerald, this command is a nop.
- .macro showelevmenu
+ .macro showelevmenu
.byte 0xb2
.endm
@@ -1251,7 +1251,7 @@
.endm
@ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes.
- .macro dowildbattle
+ .macro dowildbattle
.byte 0xb7
.endm
@@ -1335,7 +1335,7 @@
.endm
@ Blocks script execution until cry finishes.
- .macro waitmoncry
+ .macro waitmoncry
.byte 0xc5
.endm
@@ -1359,17 +1359,17 @@
.endm
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened.
- .macro unloadhelp
+ .macro unloadhelp
.byte 0xc9
.endm
@ After using this command, all standard message boxes will use the signpost frame.
- .macro signmsg
+ .macro signmsg
.byte 0xca
.endm
@ Ends the effects of signmsg, returning message box frames to normal.
- .macro normalmsg
+ .macro normalmsg
.byte 0xcb
.endm
@@ -1393,7 +1393,7 @@
.endm
@ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0.
- .macro execram
+ .macro execram
.byte 0xcf
.endm
@@ -1424,7 +1424,7 @@
.2byte \unknown
.endm
- .macro mossdeepgym2
+ .macro mossdeepgym2
.byte 0xd4
.endm
@@ -1434,7 +1434,7 @@
.2byte \var
.endm
- .macro mossdeepgym4
+ .macro mossdeepgym4
.byte 0xd6
.endm
@@ -1446,15 +1446,15 @@
.2byte \word2
.endm
- .macro cmdD8
+ .macro cmdD8
.byte 0xd8
.endm
- .macro cmdD9
+ .macro cmdD9
.byte 0xd9
.endm
- .macro hidebox2
+ .macro hidebox2
.byte 0xda
.endm
@@ -1519,7 +1519,7 @@
.endm
.macro case condition, dest
- compare_var_to_value 0x8000, \condition
+ compare 0x8000, \condition
goto_eq \dest
.endm
diff --git a/asm/main_menu.s b/asm/main_menu.s
index 9c6cd1253..48d1411c5 100644
--- a/asm/main_menu.s
+++ b/asm/main_menu.s
@@ -3940,7 +3940,7 @@ AddBirchSpeechObjects: @ 803192C
strb r1, [r2]
strh r0, [r5, 0x1A]
movs r0, 0x3C
- bl sub_806EFF0
+ bl FacilityClassToPicIndex
lsls r0, 24
lsrs r0, 24
ldr r4, =0x0201c000
@@ -3970,7 +3970,7 @@ AddBirchSpeechObjects: @ 803192C
strb r1, [r2, 0x5]
strh r0, [r5, 0x1C]
movs r0, 0x3F
- bl sub_806EFF0
+ bl FacilityClassToPicIndex
lsls r0, 24
lsrs r0, 24
ldr r1, =0x0201c000
diff --git a/asm/overworld.s b/asm/overworld.s
index 492fcd2cb..64ee678df 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -3180,7 +3180,7 @@ CB2_NewGame: @ 8085EF8
ldr r1, =gUnknown_03005DB0
movs r0, 0
str r0, [r1]
- ldr r0, =gUnknown_030026F8
+ ldr r0, =gMain+0x438
bl do_load_map_stuff_loop
bl SetFieldVBlankCallback
ldr r0, =c1_overworld
@@ -3255,7 +3255,7 @@ c2_load_new_map: @ 8085FCC
thumb_func_start c2_load_new_map_2
c2_load_new_map_2: @ 8085FFC
push {lr}
- ldr r0, =gUnknown_030026F8
+ ldr r0, =gMain+0x438
bl do_load_map_stuff_loop
bl SetFieldVBlankCallback
ldr r0, =c1_overworld
@@ -3317,7 +3317,7 @@ sub_8086074: @ 8086074
thumb_func_start c2_80567AC
c2_80567AC: @ 8086098
push {lr}
- ldr r0, =gUnknown_030026F8
+ ldr r0, =gMain+0x438
bl map_loading_iteration_3
cmp r0, 0
beq _080860B8
@@ -3356,7 +3356,7 @@ _080860EA:
thumb_func_start c2_exit_to_overworld_2_local
c2_exit_to_overworld_2_local: @ 80860F4
push {lr}
- ldr r0, =gUnknown_030026F8
+ ldr r0, =gMain+0x438
bl sub_8086638
cmp r0, 0
beq _0808610A
@@ -3375,7 +3375,7 @@ c2_exit_to_overworld_2_link: @ 8086118
bl sub_8087598
cmp r0, 0
bne _08086132
- ldr r0, =gUnknown_030026F8
+ ldr r0, =gMain+0x438
bl map_loading_iteration_2_link
cmp r0, 0
beq _08086132
@@ -3395,7 +3395,7 @@ c2_8056854: @ 8086140
ldr r0, =c1_link_related
bl set_callback1
bl sub_8086C2C
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086174
@@ -3586,7 +3586,7 @@ sub_808631C: @ 808631C
bne _0808632E
bl CloseLink
_0808632E:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086348
@@ -3768,14 +3768,14 @@ _080864DA:
bl cur_mapheader_run_tileset_funcs_after_some_cpuset
b _08086506
_080864E0:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086506
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
b _08086506
.pool
_080864FC:
@@ -4056,14 +4056,14 @@ _08086766:
bl cur_mapheader_run_tileset_funcs_after_some_cpuset
b _08086792
_0808676C:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086792
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
b _08086792
.pool
_08086788:
@@ -4565,7 +4565,7 @@ _08086BCA:
thumb_func_start c1_link_related
c1_link_related: @ 8086BD8
push {r4,lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086BF2
@@ -4578,7 +4578,7 @@ c1_link_related: @ 8086BD8
_08086BF2:
ldr r0, =gUnknown_03005DB4
ldrb r4, [r0]
- ldr r0, =gUnknown_03003020
+ ldr r0, =gLinkPartnersHeldKeys
adds r1, r4, 0
bl sub_8086F38
ldr r0, =gUnknown_03000E14
@@ -4610,7 +4610,7 @@ sub_8086C2C: @ 8086C2C
thumb_func_start sub_8086C40
sub_8086C40: @ 8086C40
push {lr}
- ldr r0, =gUnknown_03003020
+ ldr r0, =gLinkPartnersHeldKeys
bl sub_808709C
pop {r0}
bx r0
@@ -4631,7 +4631,7 @@ c1_link_related_func_set: @ 8086C50
thumb_func_start sub_8086C64
sub_8086C64: @ 8086C64
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086C82
@@ -5029,7 +5029,7 @@ _08086FC0:
movs r0, 0x11
strh r0, [r1]
_08086FC6:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086FFC
@@ -5926,7 +5926,7 @@ _08087666:
thumb_func_start sub_808766C
sub_808766C: @ 808766C
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _08087688
@@ -5946,11 +5946,11 @@ _0808768A:
thumb_func_start sub_8087690
sub_8087690: @ 8087690
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080876B0
- ldr r0, =gUnknown_03003170
+ ldr r0, =gLink
ldr r1, =0x00000339
adds r0, r1
ldrb r0, [r0]
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 991ad3623..6e134d444 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -11943,7 +11943,7 @@ _081B6558:
adds r1, r5, 0
_081B6572:
adds r3, r6, 0
- bl ExecuteTableBasedItemEffect_
+ bl ExecuteTableBasedItemEffect
lsls r0, 24
lsrs r0, 24
pop {r4-r6}
diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s
deleted file mode 100644
index 5dbfb2ee3..000000000
--- a/asm/pokemon_1.s
+++ /dev/null
@@ -1,2016 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
- thumb_func_start sub_8068528
-sub_8068528: @ 8068528
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r7, r0, 0
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- ldr r6, =gUnknown_08610970
- ldrb r0, [r1]
- lsls r3, r0, 27
- lsrs r1, r3, 27
- movs r5, 0x58
- muls r1, r5
- adds r1, r6
- ldrh r1, [r1, 0x30]
- mov r8, r1
- lsrs r1, r3, 27
- muls r1, r5
- adds r1, r6
- ldrh r4, [r1, 0x30]
- lsrs r4, 8
- lsrs r3, 27
- adds r1, r3, 0
- muls r1, r5
- adds r1, r6
- ldrh r3, [r1, 0x30]
- movs r1, 0xFF
- ands r1, r3
- lsls r1, 8
- lsls r5, r2, 1
- adds r5, r2
- lsls r5, 2
- mov r2, r9
- adds r6, r2, r5
- orrs r4, r1
- ldrh r1, [r6, 0x4]
- adds r4, r1
- ldrb r1, [r2, 0x2]
- adds r4, r1
- lsls r0, 25
- lsrs r0, 30
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- bl BattleFrontierGetOpponentLvl
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldrh r1, [r6, 0x4]
- movs r0, 0x1
- str r0, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- mov r0, r8
- str r0, [sp, 0xC]
- adds r0, r7, 0
- movs r3, 0x1F
- bl CreateMon
- mov r1, r9
- adds r2, r5, r1
- adds r2, 0xE
- adds r0, r7, 0
- movs r1, 0xC
- bl SetMonData
- movs r4, 0
- movs r2, 0x12
- add r2, sp
- mov r8, r2
- mov r6, r9
- adds r6, 0x6
-_080685BE:
- adds r0, r6, r5
- ldrh r1, [r0]
- lsls r2, r4, 24
- lsrs r2, 24
- adds r0, r7, 0
- bl SetMonMoveSlot
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _080685BE
- movs r1, 0x55
- add r0, sp, 0x10
- strh r1, [r0]
- movs r4, 0
- mov r5, r9
- adds r5, 0x3F
-_080685E0:
- adds r1, r4, 0
- adds r1, 0x1A
- adds r0, r7, 0
- add r2, sp, 0x10
- bl SetMonData
- adds r4, 0x1
- cmp r4, 0x5
- ble _080685E0
- ldrb r0, [r5]
- mov r1, r8
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x3
- mov r2, r8
- bl SetMonData
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 27
- lsrs r0, 27
- mov r2, r8
- ldrb r1, [r2]
- bl sub_81A1650
- adds r2, r0, 0
- adds r0, r7, 0
- movs r1, 0x7
- bl SetMonData
- adds r0, r7, 0
- bl CalculateMonStats
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8068528
-
- thumb_func_start sub_8068634
-sub_8068634: @ 8068634
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r7, r0, 0
- ldr r0, [sp, 0x38]
- ldr r4, [sp, 0x3C]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x14]
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- mov r8, r4
- movs r6, 0
-_08068664:
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- orrs r4, r0
- adds r0, r4, 0
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08068664
- movs r0, 0x1
- str r0, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x40]
- str r0, [sp, 0xC]
- adds r0, r7, 0
- ldr r1, [sp, 0x14]
- mov r2, r10
- mov r3, r9
- bl CreateMon
- mov r5, r8
- movs r1, 0x1
- movs r4, 0x5
-_080686A2:
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080686AC
- adds r6, 0x1
-_080686AC:
- lsrs r5, 1
- subs r4, 0x1
- cmp r4, 0
- bge _080686A2
- movs r0, 0xFF
- lsls r0, 1
- adds r1, r6, 0
- bl __divsi3
- add r1, sp, 0x10
- strh r0, [r1]
- movs r5, 0x1
- movs r4, 0
-_080686C6:
- mov r0, r8
- ands r0, r5
- cmp r0, 0
- beq _080686DA
- adds r1, r4, 0
- adds r1, 0x1A
- adds r0, r7, 0
- add r2, sp, 0x10
- bl SetMonData
-_080686DA:
- lsls r0, r5, 25
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r4, 0x5
- ble _080686C6
- adds r0, r7, 0
- bl CalculateMonStats
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8068634
-
- thumb_func_start sub_80686FC
-sub_80686FC: @ 80686FC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r6, r1, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- strh r0, [r6]
- adds r0, r7, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _08068726
- movs r0, 0
-_08068726:
- strh r0, [r6, 0x2]
- movs r5, 0
- movs r0, 0x2B
- adds r0, r6
- mov r8, r0
- movs r1, 0x20
- adds r1, r6
- mov r9, r1
- adds r4, r6, 0x4
-_08068738:
- adds r1, r5, 0
- adds r1, 0xD
- adds r0, r7, 0
- movs r2, 0
- bl GetMonData
- strh r0, [r4]
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08068738
- adds r0, r7, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0xC]
- adds r0, r7, 0
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0xD]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- str r0, [r6, 0x14]
- adds r0, r7, 0
- movs r1, 0x1A
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0xE]
- adds r0, r7, 0
- movs r1, 0x1B
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0xF]
- adds r0, r7, 0
- movs r1, 0x1C
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0x10]
- adds r0, r7, 0
- movs r1, 0x1D
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0x11]
- adds r0, r7, 0
- movs r1, 0x1E
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0x12]
- adds r0, r7, 0
- movs r1, 0x1F
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0x13]
- adds r0, r7, 0
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- mov r1, r8
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x27
- movs r2, 0
- bl GetMonData
- movs r4, 0x1F
- ands r0, r4
- ldrb r2, [r6, 0x18]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x18]
- adds r0, r7, 0
- movs r1, 0x28
- movs r2, 0
- bl GetMonData
- movs r5, 0x1F
- ands r0, r5
- lsls r0, 5
- ldrh r2, [r6, 0x18]
- ldr r1, =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r6, 0x18]
- adds r0, r7, 0
- movs r1, 0x29
- movs r2, 0
- bl GetMonData
- ands r0, r4
- lsls r0, 2
- ldrb r2, [r6, 0x19]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x19]
- adds r0, r7, 0
- movs r1, 0x2A
- movs r2, 0
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [r6, 0x18]
- ldr r2, =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [r6, 0x18]
- adds r0, r7, 0
- movs r1, 0x2B
- movs r2, 0
- bl GetMonData
- ands r0, r5
- lsls r0, 4
- ldrh r2, [r6, 0x1A]
- ldr r1, =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r6, 0x1A]
- adds r0, r7, 0
- movs r1, 0x2C
- movs r2, 0
- bl GetMonData
- ands r0, r4
- lsls r0, 1
- ldrb r2, [r6, 0x1B]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x1B]
- adds r0, r7, 0
- movs r1, 0x2E
- movs r2, 0
- bl GetMonData
- lsls r0, 7
- ldrb r2, [r6, 0x1B]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x1B]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- str r0, [r6, 0x1C]
- adds r0, r7, 0
- movs r1, 0x2
- mov r2, r9
- bl GetMonData
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80686FC
-
- thumb_func_start CreateObedientMon
-CreateObedientMon: @ 80688A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- mov r8, r0
- ldr r4, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r7, [sp, 0x38]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- str r7, [sp, 0xC]
- mov r0, r8
- bl CreateMon
- mov r0, r8
- movs r1, 0x50
- add r2, sp, 0x10
- bl SetMonData
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CreateObedientMon
-
- thumb_func_start sub_80688F8
-sub_80688F8: @ 80688F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x5
- bhi _080689CE
- lsls r0, 2
- ldr r1, =_08068914
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08068914:
- .4byte _080689CE
- .4byte _0806892C
- .4byte _08068A00
- .4byte _08068958
- .4byte _08068A00
- .4byte _08068990
-_0806892C:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- b _080689B6
- .pool
-_08068958:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- cmp r5, 0x1
- beq _08068A00
- cmp r5, 0x4
- beq _08068A00
- cmp r5, 0x5
- beq _08068A00
- b _080689CE
- .pool
-_08068990:
- ldr r0, =gBattleTypeFlags
- ldr r2, [r0]
- movs r3, 0x2
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _080689E4
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- movs r0, 0x40
- ands r2, r0
- cmp r2, 0
- beq _080689F4
-_080689B6:
- ldr r4, =gLinkPlayers
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x18]
- cmp r0, r5
- bne _08068A00
-_080689CE:
- movs r0, 0
- b _08068A02
- .pool
-_080689E4:
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080689CE
-_080689F4:
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080689CE
-_08068A00:
- movs r0, 0x1
-_08068A02:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80688F8
-
- thumb_func_start GetDeoxysStat
-GetDeoxysStat: @ 8068A10
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08068A34
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xCD
- lsls r1, 1
- cmp r0, r1
- beq _08068A3C
-_08068A34:
- movs r0, 0
- b _08068A9A
- .pool
-_08068A3C:
- adds r1, r6, 0
- adds r1, 0x27
- adds r0, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- adds r1, r6, 0
- adds r1, 0x1A
- adds r0, r5, 0
- movs r2, 0
- bl GetMonData
- ldr r2, =gUnknown_08329D48
- lsls r1, r6, 1
- adds r1, r2
- ldrh r1, [r1]
- lsls r1, 1
- adds r1, r4
- cmp r0, 0
- bge _08068A68
- adds r0, 0x3
-_08068A68:
- asrs r0, 2
- adds r0, r1, r0
- adds r1, r5, 0
- adds r1, 0x54
- ldrb r1, [r1]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r6, 24
- lsrs r2, 24
- adds r1, r4, 0
- bl nature_stat_mod
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
-_08068A9A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetDeoxysStat
-
- thumb_func_start sub_8068AA4
-sub_8068AA4: @ 8068AA4
- push {r4,r5,lr}
- sub sp, 0x4
- movs r5, 0
-_08068AAA:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xCD
- lsls r1, 1
- cmp r0, r1
- bne _08068B34
- adds r0, r4, 0
- movs r1, 0x3B
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3B
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3D
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3E
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3F
- mov r2, sp
- bl SetMonData
-_08068B34:
- adds r5, 0x1
- cmp r5, 0x5
- ble _08068AAA
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8068AA4
-
- thumb_func_start sub_8068B48
-sub_8068B48: @ 8068B48
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _08068B6C
- ldr r0, =gUnknown_0203C7B4
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
- b _08068B78
- .pool
-_08068B6C:
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
-_08068B78:
- ldr r3, =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r3, 0x4
- adds r0, r1, r0
- ldr r2, [r0]
- movs r0, 0x7
- ands r2, r0
- adds r1, r3
- ldrb r0, [r1, 0x13]
- lsls r0, 3
- orrs r2, r0
- ldr r0, =gUnknown_08329D54
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- bl sub_806EFF0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8068B48
-
- thumb_func_start sub_8068BB0
-sub_8068BB0: @ 8068BB0
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _08068BD4
- ldr r0, =gUnknown_0203C7B4
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
- b _08068BE0
- .pool
-_08068BD4:
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
-_08068BE0:
- ldr r3, =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r3, 0x4
- adds r0, r1, r0
- ldr r2, [r0]
- movs r0, 0x7
- ands r2, r0
- adds r1, r3
- ldrb r0, [r1, 0x13]
- lsls r0, 3
- orrs r2, r0
- ldr r1, =gFacilityClassToTrainerClass
- ldr r0, =gUnknown_08329D54
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8068BB0
-
- thumb_func_start DoScriptedWildBattle
-DoScriptedWildBattle: @ 8068C18
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, =gSpecialVar_0x8004
- ldrh r5, [r0]
- ldr r0, =gSpecialVar_0x8005
- ldrh r4, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrh r6, [r0]
- bl ZeroEnemyPartyMons
- ldr r7, =gEnemyParty
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x20
- bl CreateObedientMon
- cmp r6, 0
- beq _08068C60
- add r0, sp, 0x10
- strb r6, [r0]
- adds r1, r0, 0
- asrs r0, r6, 8
- strb r0, [r1, 0x1]
- adds r0, r7, 0
- movs r1, 0xC
- add r2, sp, 0x10
- bl SetMonData
-_08068C60:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoScriptedWildBattle
-
- thumb_func_start CalculateBoxMonChecksum
-@ int CalculateBoxMonChecksum(pokemon *mon)
-CalculateBoxMonChecksum: @ 8068C78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- movs r6, 0
- ldr r1, [r4]
- movs r2, 0
- bl GetSubstruct
- adds r5, r0, 0
- ldr r1, [r4]
- adds r0, r4, 0
- movs r2, 0x1
- bl GetSubstruct
- adds r7, r0, 0
- ldr r1, [r4]
- adds r0, r4, 0
- movs r2, 0x2
- bl GetSubstruct
- mov r8, r0
- ldr r1, [r4]
- adds r0, r4, 0
- movs r2, 0x3
- bl GetSubstruct
- adds r3, r0, 0
- movs r1, 0x5
-_08068CB2:
- ldrh r0, [r5]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r5, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08068CB2
- adds r2, r7, 0
- movs r1, 0x5
-_08068CC6:
- ldrh r0, [r2]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08068CC6
- mov r2, r8
- movs r1, 0x5
-_08068CDA:
- ldrh r0, [r2]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08068CDA
- adds r2, r3, 0
- movs r1, 0x5
-_08068CEE:
- ldrh r0, [r2]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08068CEE
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CalculateBoxMonChecksum
-
- thumb_func_start CalculateMonStats
-CalculateMonStats: @ 8068D0C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r5, r0, 0
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x1C]
- adds r0, r5, 0
- movs r1, 0x27
- movs r2, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r5, 0
- movs r1, 0x1A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0
- bl GetMonData
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x1B
- movs r2, 0
- bl GetMonData
- mov r9, r0
- adds r0, r5, 0
- movs r1, 0x29
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x20]
- adds r0, r5, 0
- movs r1, 0x1C
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x24]
- adds r0, r5, 0
- movs r1, 0x2A
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x28]
- adds r0, r5, 0
- movs r1, 0x1D
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x2C]
- adds r0, r5, 0
- movs r1, 0x2B
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x30]
- adds r0, r5, 0
- movs r1, 0x1E
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x34]
- adds r0, r5, 0
- movs r1, 0x2C
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x38]
- adds r0, r5, 0
- movs r1, 0x1F
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x3C]
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r5, 0
- bl GetLevelFromMonExp
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x38
- mov r2, sp
- bl SetMonData
- ldr r0, =0x0000012f
- cmp r7, r0
- bne _08068DF8
- movs r0, 0x1
- str r0, [sp, 0x4]
- lsls r6, r7, 3
- b _08068E26
- .pool
-_08068DF8:
- ldr r1, =gBaseStats
- lsls r2, r7, 3
- subs r0, r2, r7
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, r0, r6
- adds r0, r4, 0
- adds r6, r2, 0
- cmp r0, 0
- bge _08068E12
- adds r0, 0x3
-_08068E12:
- asrs r0, 2
- adds r0, r1, r0
- ldr r4, [sp]
- muls r0, r4
- movs r1, 0x64
- bl __divsi3
- adds r0, r4
- adds r0, 0xA
- str r0, [sp, 0x4]
-_08068E26:
- ldr r1, =gBattleScripting
- add r2, sp, 0x4
- ldrb r0, [r2]
- mov r3, r8
- subs r0, r3
- adds r1, 0x23
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _08068E3E
- movs r0, 0x1
- strb r0, [r1]
-_08068E3E:
- adds r0, r5, 0
- movs r1, 0x3A
- bl SetMonData
- ldr r0, =gBaseStats
- subs r1, r6, r7
- lsls r1, 2
- adds r6, r1, r0
- ldrb r0, [r6, 0x1]
- lsls r0, 1
- mov r2, r10
- adds r1, r0, r2
- mov r0, r9
- cmp r0, 0
- bge _08068E5E
- adds r0, 0x3
-_08068E5E:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0x8]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x8
- ldrh r1, [r4]
- movs r2, 0x1
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3B
- adds r2, r4, 0
- bl SetMonData
- ldrb r0, [r6, 0x2]
- lsls r0, 1
- ldr r3, [sp, 0x20]
- adds r1, r0, r3
- ldr r0, [sp, 0x24]
- cmp r0, 0
- bge _08068EA4
- adds r0, 0x3
-_08068EA4:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0xC]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0xC
- ldrh r1, [r4]
- movs r2, 0x2
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0x3C
- adds r2, r4, 0
- bl SetMonData
- ldrb r0, [r6, 0x3]
- lsls r0, 1
- ldr r2, [sp, 0x28]
- adds r1, r0, r2
- ldr r0, [sp, 0x2C]
- cmp r0, 0
- bge _08068EEA
- adds r0, 0x3
-_08068EEA:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0x10]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x10
- ldrh r1, [r4]
- movs r2, 0x3
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x3D
- adds r2, r4, 0
- bl SetMonData
- ldrb r0, [r6, 0x4]
- lsls r0, 1
- ldr r3, [sp, 0x30]
- adds r1, r0, r3
- ldr r0, [sp, 0x34]
- cmp r0, 0
- bge _08068F30
- adds r0, 0x3
-_08068F30:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0x14]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x14
- ldrh r1, [r4]
- movs r2, 0x4
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x14]
- adds r0, r5, 0
- movs r1, 0x3E
- adds r2, r4, 0
- bl SetMonData
- ldrb r0, [r6, 0x5]
- lsls r0, 1
- ldr r2, [sp, 0x38]
- adds r1, r0, r2
- ldr r0, [sp, 0x3C]
- cmp r0, 0
- bge _08068F76
- adds r0, 0x3
-_08068F76:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0x18]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x18
- ldrh r1, [r4]
- movs r2, 0x5
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
- adds r0, r5, 0
- movs r1, 0x3F
- adds r2, r4, 0
- bl SetMonData
- ldr r0, =0x0000012f
- cmp r7, r0
- bne _08068FD0
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- bne _08068FBE
- mov r3, r8
- cmp r3, 0
- bne _08068FF4
-_08068FBE:
- movs r0, 0x1
- b _08068FE8
- .pool
-_08068FD0:
- ldr r1, [sp, 0x1C]
- cmp r1, 0
- bne _08068FE0
- mov r0, r8
- cmp r0, 0
- bne _08068FF4
- ldr r0, [sp, 0x4]
- b _08068FE8
-_08068FE0:
- ldr r0, [sp, 0x4]
- mov r2, r8
- subs r0, r2
- adds r0, r1, r0
-_08068FE8:
- str r0, [sp, 0x1C]
- add r2, sp, 0x1C
- adds r0, r5, 0
- movs r1, 0x39
- bl SetMonData
-_08068FF4:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CalculateMonStats
-
- thumb_func_start BoxMonToMon
-BoxMonToMon: @ 8069004
- push {r4,lr}
- sub sp, 0x4
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r2, 0x50
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- mov r2, sp
- bl SetMonData
- movs r0, 0xFF
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x40
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- bl CalculateMonStats
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BoxMonToMon
-
- thumb_func_start GetLevelFromMonExp
-GetLevelFromMonExp: @ 8069054
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x19
- movs r2, 0
- bl GetMonData
- adds r3, r0, 0
- movs r2, 0x1
- ldr r6, =gExperienceTables
- ldr r1, =gBaseStats
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1, 0x13]
- movs r5, 0xCA
- lsls r5, 1
- muls r0, r5
- adds r0, 0x4
- adds r0, r6
- ldr r0, [r0]
- cmp r0, r3
- bhi _080690AA
- adds r4, r1, 0
-_08069094:
- adds r2, 0x1
- cmp r2, 0x64
- bgt _080690AA
- lsls r1, r2, 2
- ldrb r0, [r4, 0x13]
- muls r0, r5
- adds r1, r0
- adds r1, r6
- ldr r0, [r1]
- cmp r0, r3
- bls _08069094
-_080690AA:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetLevelFromMonExp
-
- thumb_func_start GetLevelFromBoxMonExp
-GetLevelFromBoxMonExp: @ 80690C0
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x19
- movs r2, 0
- bl GetBoxMonData
- adds r3, r0, 0
- movs r2, 0x1
- ldr r6, =gExperienceTables
- ldr r1, =gBaseStats
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1, 0x13]
- movs r5, 0xCA
- lsls r5, 1
- muls r0, r5
- adds r0, 0x4
- adds r0, r6
- ldr r0, [r0]
- cmp r0, r3
- bhi _08069116
- adds r4, r1, 0
-_08069100:
- adds r2, 0x1
- cmp r2, 0x64
- bgt _08069116
- lsls r1, r2, 2
- ldrb r0, [r4, 0x13]
- muls r0, r5
- adds r1, r0
- adds r1, r6
- ldr r0, [r1]
- cmp r0, r3
- bls _08069100
-_08069116:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetLevelFromBoxMonExp
-
- thumb_func_start GiveMoveToMon
-GiveMoveToMon: @ 806912C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl GiveMoveToBoxMon
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end GiveMoveToMon
-
- thumb_func_start GiveMoveToBoxMon
-GiveMoveToBoxMon: @ 8069140
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- mov r0, sp
- strh r1, [r0]
- movs r5, 0
- mov r6, sp
-_0806914E:
- adds r4, r5, 0
- adds r4, 0xD
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetBoxMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0806918C
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, sp
- bl SetBoxMonData
- adds r1, r5, 0
- adds r1, 0x11
- ldrh r0, [r6]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- ldr r0, =gBattleMoves + 0x4 @ PP offset
- adds r2, r0
- adds r0, r7, 0
- bl SetBoxMonData
- ldrh r0, [r6]
- b _080691A4
- .pool
-_0806918C:
- ldrh r1, [r6]
- cmp r0, r1
- bne _0806919C
- ldr r0, =0x0000fffe
- b _080691A4
- .pool
-_0806919C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0806914E
- ldr r0, =0x0000ffff
-_080691A4:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GiveMoveToBoxMon
-
- thumb_func_start GiveMoveToBattleMon
-GiveMoveToBattleMon: @ 80691B0
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- movs r3, 0
- adds r5, r0, 0
- adds r5, 0x24
- ldr r2, =gBattleMoves
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r2, r1, r2
- adds r1, r0, 0
- adds r1, 0xC
-_080691CA:
- ldrh r0, [r1]
- cmp r0, 0
- bne _080691E0
- strh r4, [r1]
- adds r1, r5, r3
- ldrb r0, [r2, 0x4]
- strb r0, [r1]
- adds r0, r4, 0
- b _080691EA
- .pool
-_080691E0:
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _080691CA
- ldr r0, =0x0000ffff
-_080691EA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GiveMoveToBattleMon
-
- thumb_func_start SetMonMoveSlot
-SetMonMoveSlot: @ 80691F4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r2, 0
- mov r0, sp
- strh r1, [r0]
- lsls r4, 24
- lsrs r4, 24
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r5, 0
- mov r2, sp
- bl SetMonData
- adds r4, 0x11
- mov r0, sp
- ldrh r0, [r0]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- ldr r0, =gBattleMoves + 0x4 @ PP offset
- adds r2, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl SetMonData
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetMonMoveSlot
-
- thumb_func_start SetBattleMonMoveSlot
-SetBattleMonMoveSlot: @ 8069234
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r4, r2, 1
- adds r3, r0, 0
- adds r3, 0xC
- adds r3, r4
- strh r1, [r3]
- adds r0, 0x24
- adds r0, r2
- ldr r3, =gBattleMoves
- lsls r2, r1, 1
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrb r1, [r2, 0x4]
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBattleMonMoveSlot
-
- thumb_func_start GiveMonInitialMoveset
-GiveMonInitialMoveset: @ 8069264
- push {lr}
- bl GiveBoxMonInitialMoveset
- pop {r0}
- bx r0
- thumb_func_end GiveMonInitialMoveset
-
- thumb_func_start GiveBoxMonInitialMoveset
-GiveBoxMonInitialMoveset: @ 8069270
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- bl GetLevelFromBoxMonExp
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, =gLevelUpLearnsets
- lsls r6, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- ldrh r1, [r0]
- ldr r2, =0xffff0000
- lsrs r0, r2, 16
- cmp r1, r0
- beq _080692FC
- mov r9, r2
- movs r3, 0
-_080692AE:
- ldr r0, =gLevelUpLearnsets
- adds r7, r6, r0
- ldr r0, [r7]
- adds r0, r3, r0
- ldrh r2, [r0]
- movs r1, 0xFE
- lsls r1, 8
- adds r0, r1, 0
- ands r0, r2
- mov r4, r10
- lsls r1, r4, 9
- cmp r0, r1
- bgt _080692FC
- ldr r1, =0x000001ff
- adds r0, r1, 0
- adds r4, r0, 0
- ands r4, r2
- mov r0, r8
- adds r1, r4, 0
- str r3, [sp]
- bl GiveMoveToBoxMon
- lsls r0, 16
- mov r1, r9
- lsrs r5, r1, 16
- ldr r3, [sp]
- cmp r0, r9
- bne _080692F0
- mov r0, r8
- adds r1, r4, 0
- bl DeleteFirstMoveAndGiveMoveToBoxMon
- ldr r3, [sp]
-_080692F0:
- adds r3, 0x2
- ldr r0, [r7]
- adds r0, r3, r0
- ldrh r0, [r0]
- cmp r0, r5
- bne _080692AE
-_080692FC:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GiveBoxMonInitialMoveset
-
- thumb_func_start MonTryLearningNewMove
-MonTryLearningNewMove: @ 8069318
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- lsls r4, r1, 24
- lsrs r4, 24
- movs r0, 0
- str r0, [sp]
- mov r0, r8
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r4, 0
- beq _080693B0
- ldr r4, =sLearningMoveTableID
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r4]
- ldr r2, =gLevelUpLearnsets
- mov r5, r9
- lsls r3, r5, 2
- adds r5, r3, r2
- ldr r0, [r5]
- ldrh r1, [r0]
- movs r7, 0xFE
- lsls r7, 8
- adds r0, r7, 0
- ands r0, r1
- adds r6, r4, 0
- mov r12, r2
- mov r1, r10
- lsls r4, r1, 9
- cmp r0, r4
- beq _080693D8
- adds r2, r6, 0
- ldr r0, =0x0000ffff
- mov r12, r0
- adds r6, r7, 0
- adds r3, r5, 0
-_08069384:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldrb r0, [r2]
- ldr r1, [r3]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, r12
- bne _080693A8
- movs r0, 0
- b _08069404
- .pool
-_080693A8:
- adds r0, r6, 0
- ands r0, r1
- cmp r0, r4
- bne _08069384
-_080693B0:
- ldr r3, =gLevelUpLearnsets
- mov r1, r9
- lsls r4, r1, 2
- adds r1, r4, r3
- ldr r2, =sLearningMoveTableID
- ldrb r0, [r2]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r1
- mov r5, r10
- lsls r1, r5, 9
- adds r6, r2, 0
- mov r12, r3
- adds r3, r4, 0
- cmp r0, r1
- bne _08069402
-_080693D8:
- ldr r2, =gMoveToLearn
- mov r0, r12
- adds r1, r3, r0
- ldrb r0, [r6]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x000001ff
- ands r0, r1
- strh r0, [r2]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- ldrh r1, [r2]
- mov r0, r8
- bl GiveMoveToMon
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
-_08069402:
- ldr r0, [sp]
-_08069404:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end MonTryLearningNewMove
-
- thumb_func_start DeleteFirstMoveAndGiveMoveToMon
-DeleteFirstMoveAndGiveMoveToMon: @ 8069424
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r4, 0
- add r7, sp, 0x8
- add r0, sp, 0xC
- mov r9, r0
- mov r5, sp
-_08069440:
- adds r1, r4, 0
- adds r1, 0xE
- adds r0, r6, 0
- movs r2, 0
- bl GetMonData
- strh r0, [r5]
- adds r1, r4, 0
- adds r1, 0x12
- adds r0, r6, 0
- movs r2, 0
- bl GetMonData
- adds r1, r7, r4
- strb r0, [r1]
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _08069440
- adds r0, r6, 0
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r1]
- lsrs r0, 2
- strb r0, [r1]
- mov r0, sp
- mov r2, r8
- strh r2, [r0, 0x6]
- ldr r1, =gBattleMoves
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x4]
- strb r0, [r7, 0x3]
- movs r4, 0
- mov r5, sp
-_08069494:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r6, 0
- adds r2, r5, 0
- bl SetMonData
- adds r1, r4, 0
- adds r1, 0x11
- adds r2, r7, r4
- adds r0, r6, 0
- bl SetMonData
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _08069494
- adds r0, r6, 0
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DeleteFirstMoveAndGiveMoveToMon
-
- thumb_func_start DeleteFirstMoveAndGiveMoveToBoxMon
-DeleteFirstMoveAndGiveMoveToBoxMon: @ 80694D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r4, 0
- add r7, sp, 0x8
- add r0, sp, 0xC
- mov r9, r0
- mov r5, sp
-_080694EC:
- adds r1, r4, 0
- adds r1, 0xE
- adds r0, r6, 0
- movs r2, 0
- bl GetBoxMonData
- strh r0, [r5]
- adds r1, r4, 0
- adds r1, 0x12
- adds r0, r6, 0
- movs r2, 0
- bl GetBoxMonData
- adds r1, r7, r4
- strb r0, [r1]
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _080694EC
- adds r0, r6, 0
- movs r1, 0x15
- movs r2, 0
- bl GetBoxMonData
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r1]
- lsrs r0, 2
- strb r0, [r1]
- mov r0, sp
- mov r2, r8
- strh r2, [r0, 0x6]
- ldr r1, =gBattleMoves
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x4]
- strb r0, [r7, 0x3]
- movs r4, 0
- mov r5, sp
-_08069540:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r6, 0
- adds r2, r5, 0
- bl SetBoxMonData
- adds r1, r4, 0
- adds r1, 0x11
- adds r2, r7, r4
- adds r0, r6, 0
- bl SetBoxMonData
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _08069540
- adds r0, r6, 0
- movs r1, 0x15
- mov r2, r9
- bl SetBoxMonData
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DeleteFirstMoveAndGiveMoveToBoxMon
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s
deleted file mode 100644
index 4301dccfd..000000000
--- a/asm/pokemon_3.s
+++ /dev/null
@@ -1,529 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
- thumb_func_start sub_806F160
-sub_806F160: @ 806F160
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- ldrb r0, [r6]
- lsls r0, 28
- movs r4, 0
- cmp r0, 0
- beq _0806F1EA
-_0806F176:
- ldr r0, [r6, 0xC]
- lsls r2, r4, 1
- adds r1, r2, r4
- lsls r1, 3
- adds r0, r1, r0
- ldr r3, =gUnknown_08329D98
- adds r1, r3
- ldm r1!, {r3,r5,r7}
- stm r0!, {r3,r5,r7}
- ldm r1!, {r3,r5,r7}
- stm r0!, {r3,r5,r7}
- movs r5, 0
- ldrb r3, [r6, 0x1]
- ldr r7, [r6, 0xC]
- mov r9, r7
- mov r8, r2
- ldr r0, [r6, 0x10]
- mov r12, r0
- adds r1, r4, 0x1
- mov r10, r1
- cmp r5, r3
- bcs _0806F1C8
- mov r7, r12
- ldr r1, [r6, 0x8]
- lsls r0, r4, 2
- adds r0, r1
- ldr r2, [r0]
-_0806F1AC:
- adds r0, r4, 0
- muls r0, r3
- adds r0, r5
- lsls r0, 3
- adds r0, r7
- lsls r1, r5, 11
- adds r1, r2, r1
- str r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r3, [r6, 0x1]
- cmp r5, r3
- bcc _0806F1AC
-_0806F1C8:
- mov r3, r8
- adds r1, r3, r4
- lsls r1, 3
- add r1, r9
- ldrb r0, [r6, 0x1]
- muls r0, r4
- lsls r0, 3
- add r0, r12
- str r0, [r1, 0xC]
- mov r5, r10
- lsls r0, r5, 16
- lsrs r4, r0, 16
- ldrb r0, [r6]
- lsls r0, 28
- lsrs r0, 28
- cmp r4, r0
- blt _0806F176
-_0806F1EA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_806F160
-
- thumb_func_start sub_806F1FC
-sub_806F1FC: @ 806F1FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- ldrb r0, [r4]
- lsls r0, 28
- movs r3, 0
- cmp r0, 0
- beq _0806F296
- ldr r0, =gUnknown_08329F28
- mov r10, r0
-_0806F216:
- ldr r0, [r4, 0xC]
- lsls r2, r3, 1
- adds r1, r2, r3
- lsls r1, 3
- adds r1, r0
- mov r0, r10
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- movs r5, 0
- ldr r0, [r4, 0xC]
- mov r8, r0
- mov r12, r2
- ldr r7, [r4, 0x10]
- adds r1, r3, 0x1
- mov r9, r1
- ldrb r6, [r4, 0x1]
- cmp r5, r6
- bcs _0806F26A
- adds r6, r7, 0
- ldr r1, [r4, 0x8]
- lsls r0, r3, 2
- adds r0, r1
- ldr r2, [r0]
-_0806F248:
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- adds r1, r3, 0
- muls r1, r0
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- lsls r0, r5, 11
- adds r0, r2, r0
- str r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r4, 0x1]
- cmp r5, r0
- bcc _0806F248
-_0806F26A:
- mov r5, r12
- adds r1, r5, r3
- lsls r1, 3
- add r1, r8
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- muls r0, r3
- lsls r0, 3
- adds r0, r7, r0
- str r0, [r1, 0xC]
- ldr r6, =gUnknown_082FF70C
- str r6, [r1, 0x8]
- strh r3, [r1, 0x2]
- mov r7, r9
- lsls r0, r7, 16
- lsrs r3, r0, 16
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- cmp r3, r0
- blt _0806F216
-_0806F296:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_806F1FC
-
- thumb_func_start sub_806F2AC
-sub_806F2AC: @ 806F2AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r7, 0
- movs r0, 0x1
- ands r6, r0
- movs r0, 0x14
- bl AllocZeroed
- adds r4, r0, 0
- cmp r4, 0
- bne _0806F2D0
- movs r0, 0
- b _0806F46E
-_0806F2D0:
- cmp r5, 0
- beq _0806F2E6
- cmp r5, 0x2
- bne _0806F2E6
- movs r0, 0x77
- strb r0, [r4]
- movs r0, 0x4
- strb r0, [r4, 0x1]
- movs r0, 0x21
- strb r0, [r4, 0x3]
- b _0806F30E
-_0806F2E6:
- ldrb r1, [r4]
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r3, 0xF
- ands r0, r3
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x4
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- ands r2, r0
- movs r0, 0x1
- orrs r2, r0
- ands r2, r3
- strb r2, [r4, 0x3]
-_0806F30E:
- ldrb r1, [r4, 0x3]
- lsls r1, 28
- lsrs r1, 28
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 15
- muls r0, r1
- bl AllocZeroed
- str r0, [r4, 0x4]
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 23
- bl AllocZeroed
- adds r1, r0, 0
- str r1, [r4, 0x8]
- ldr r2, [r4, 0x4]
- cmp r2, 0
- beq _0806F33A
- cmp r1, 0
- bne _0806F344
-_0806F33A:
- movs r0, 0x1
- orrs r7, r0
- lsls r6, 2
- mov r8, r6
- b _0806F378
-_0806F344:
- ldrb r0, [r4]
- lsls r0, 28
- movs r3, 0
- lsls r6, 2
- mov r8, r6
- cmp r0, 0
- beq _0806F378
- adds r6, r1, 0
- adds r5, r2, 0
-_0806F356:
- lsls r2, r3, 2
- adds r2, r6
- ldrb r0, [r4, 0x3]
- lsls r0, 28
- lsrs r0, 28
- lsls r1, r3, 13
- muls r0, r1
- adds r0, r5, r0
- str r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- cmp r3, r0
- blt _0806F356
-_0806F378:
- ldrb r1, [r4]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4, 0xC]
- ldrb r1, [r4]
- lsls r1, 28
- lsrs r1, 28
- ldrb r0, [r4, 0x1]
- lsls r0, 3
- muls r0, r1
- bl AllocZeroed
- adds r1, r0, 0
- str r1, [r4, 0x10]
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0806F3A8
- cmp r1, 0
- bne _0806F3B2
-_0806F3A8:
- movs r0, 0x2
- orrs r7, r0
- lsls r0, r7, 24
- lsrs r7, r0, 24
- b _0806F400
-_0806F3B2:
- movs r3, 0
- ldrb r0, [r4, 0x1]
- ldrb r1, [r4]
- lsls r1, 28
- lsrs r1, 28
- muls r0, r1
- cmp r3, r0
- bge _0806F3E2
- movs r2, 0x80
- lsls r2, 4
-_0806F3C6:
- ldr r1, [r4, 0x10]
- lsls r0, r3, 3
- adds r0, r1
- strh r2, [r0, 0x4]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r1, [r4, 0x1]
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- muls r0, r1
- cmp r3, r0
- blt _0806F3C6
-_0806F3E2:
- ldrb r0, [r4, 0x3]
- lsrs r0, 4
- cmp r0, 0
- blt _0806F3FA
- cmp r0, 0x1
- ble _0806F3FA
- cmp r0, 0x2
- bne _0806F3FA
- adds r0, r4, 0
- bl sub_806F1FC
- b _0806F400
-_0806F3FA:
- adds r0, r4, 0
- bl sub_806F160
-_0806F400:
- movs r0, 0x2
- ands r0, r7
- cmp r0, 0
- beq _0806F424
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0806F416
- bl Free
- movs r0, 0
- str r0, [r4, 0x10]
-_0806F416:
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0806F424
- bl Free
- movs r0, 0
- str r0, [r4, 0xC]
-_0806F424:
- movs r0, 0x1
- ands r0, r7
- cmp r0, 0
- beq _0806F448
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _0806F43A
- bl Free
- movs r0, 0
- str r0, [r4, 0x8]
-_0806F43A:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0806F448
- bl Free
- movs r0, 0
- str r0, [r4, 0x4]
-_0806F448:
- cmp r7, 0
- beq _0806F45E
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- adds r0, r4, 0
- bl Free
- b _0806F468
-_0806F45E:
- movs r0, 0xA3
- strb r0, [r4, 0x2]
- ldr r0, =gUnknown_020249B4
- add r0, r8
- str r4, [r0]
-_0806F468:
- ldr r0, =gUnknown_020249B4
- add r0, r8
- ldr r0, [r0]
-_0806F46E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_806F2AC
-
- thumb_func_start sub_806F47C
-sub_806F47C: @ 806F47C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_020249B4
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _0806F4F0
- ldrb r0, [r4, 0x2]
- cmp r0, 0xA3
- beq _0806F4A8
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- b _0806F4F0
- .pool
-_0806F4A8:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0806F4B6
- bl Free
- movs r0, 0
- str r0, [r4, 0x10]
-_0806F4B6:
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0806F4C4
- bl Free
- movs r0, 0
- str r0, [r4, 0xC]
-_0806F4C4:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _0806F4D2
- bl Free
- movs r0, 0
- str r0, [r4, 0x8]
-_0806F4D2:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0806F4E0
- bl Free
- movs r0, 0
- str r0, [r4, 0x4]
-_0806F4E0:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- adds r0, r4, 0
- bl Free
-_0806F4F0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806F47C
-
- thumb_func_start sub_806F4F8
-sub_806F4F8: @ 806F4F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r2, =gUnknown_020249B4
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- cmp r0, 0xA3
- beq _0806F51C
- movs r0, 0
- b _0806F530
- .pool
-_0806F51C:
- ldrb r0, [r1]
- lsls r0, 28
- lsrs r0, 28
- cmp r3, r0
- blt _0806F528
- movs r3, 0
-_0806F528:
- ldr r0, [r1, 0x8]
- lsls r1, r3, 2
- adds r1, r0
- ldr r0, [r1]
-_0806F530:
- pop {r1}
- bx r1
- thumb_func_end sub_806F4F8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s
deleted file mode 100644
index 2184b22b2..000000000
--- a/asm/pokemon_item_effect.s
+++ /dev/null
@@ -1,1967 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start ExecuteTableBasedItemEffect_
-@ bool8 ExecuteTableBasedItemEffect_(struct pokemon *mon, u16 itemId, u8 a3, u8 monMoveIndex)
-ExecuteTableBasedItemEffect_: @ 806BD04
- push {r4,lr}
- sub sp, 0x4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- str r4, [sp]
- bl ExecuteTableBasedItemEffect
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ExecuteTableBasedItemEffect_
-
- thumb_func_start ExecuteTableBasedItemEffect
-@ bool8 ExecuteTableBasedItemEffect(struct pokemon *mon, u16 itemId, u8 a3, u8 monMoveIndex, u8 a5)
-ExecuteTableBasedItemEffect: @ 806BD28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- mov r8, r0
- ldr r0, [sp, 0x64]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0xC]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- movs r0, 0x1
- str r0, [sp, 0x20]
- movs r1, 0x6
- str r1, [sp, 0x28]
- movs r2, 0
- str r2, [sp, 0x30]
- movs r3, 0x4
- str r3, [sp, 0x38]
- movs r5, 0
- str r5, [sp, 0x3C]
- mov r0, r8
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0806BDBC
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806BDA8
- ldr r2, =gEnigmaBerries
- ldr r0, =gBattlerInMenuId
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x7]
- b _0806BDC4
- .pool
-_0806BDA8:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003226
- adds r0, r2
- ldrb r0, [r0]
- b _0806BDC4
- .pool
-_0806BDBC:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
-_0806BDC4:
- str r0, [sp, 0x34]
- ldr r1, =gPotentialItemEffectBattler
- ldr r0, =gBattlerInMenuId
- ldrb r2, [r0]
- strb r2, [r1]
- ldr r0, =gMain
- ldr r3, =0x00000439
- adds r0, r3
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0806BE64
- ldr r0, =gActiveBattler
- strb r2, [r0]
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x1C]
- ldr r0, =gBattlersCount
- ldr r4, [sp, 0xC]
- subs r4, 0xD
- ldrb r0, [r0]
- cmp r1, r0
- bge _0806BE70
- ldr r2, =gBattlerPartyIndexes
- lsls r0, r1, 1
- adds r0, r2
- ldrh r3, [r0]
- ldr r5, [sp, 0x10]
- lsls r0, r5, 16
- lsrs r1, r0, 16
- adds r5, r0, 0
- cmp r3, r1
- bne _0806BE3C
- ldr r0, [sp, 0x1C]
- str r0, [sp, 0x38]
- b _0806BE70
- .pool
-_0806BE3C:
- ldr r1, [sp, 0x1C]
- adds r1, 0x2
- str r1, [sp, 0x1C]
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r1, r0
- bge _0806BE70
- lsls r0, r1, 1
- adds r0, r2
- ldrh r1, [r0]
- lsrs r0, r5, 16
- cmp r1, r0
- bne _0806BE3C
- ldr r2, [sp, 0x1C]
- lsls r0, r2, 24
- lsrs r0, 24
- str r0, [sp, 0x38]
- b _0806BE70
- .pool
-_0806BE64:
- ldr r0, =gActiveBattler
- strb r1, [r0]
- movs r3, 0x4
- str r3, [sp, 0x38]
- ldr r4, [sp, 0xC]
- subs r4, 0xD
-_0806BE70:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0xA5
- bhi _0806BEF0
- ldr r1, =gItemEffectTable
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0806BE94
- ldr r5, [sp, 0xC]
- cmp r5, 0xAF
- beq _0806BE9A
- b _0806BEF0
- .pool
-_0806BE94:
- ldr r1, [sp, 0xC]
- cmp r1, 0xAF
- bne _0806BEF6
-_0806BE9A:
- ldr r0, =gMain
- ldr r2, =0x00000439
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806BECC
- ldr r0, =gActiveBattler
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, =gEnigmaBerries + 8
- adds r0, r1
- b _0806BEF6
- .pool
-_0806BECC:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00003214
- adds r3, r0, r3
- str r3, [sp, 0x24]
- b _0806BEF8
- .pool
-_0806BEE0:
- mov r0, r8
- movs r2, 0
- ldr r3, [sp, 0x10]
- bl BeginEvolutionScene
- movs r0, 0
- bl _0806CD5C
-_0806BEF0:
- movs r0, 0x1
- bl _0806CD5C
-_0806BEF6:
- str r0, [sp, 0x24]
-_0806BEF8:
- movs r5, 0
- str r5, [sp, 0x1C]
-_0806BEFC:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x5
- bls _0806BF06
- bl _0806CD4C
-_0806BF06:
- lsls r0, 2
- ldr r1, =_0806BF14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0806BF14:
- .4byte _0806BF2C
- .4byte _0806BFFC
- .4byte _0806C08C
- .4byte _0806C120
- .4byte _0806C300
- .4byte _0806C9BE
-_0806BF2C:
- ldr r1, [sp, 0x24]
- ldr r3, [sp, 0x1C]
- adds r2, r1, r3
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _0806BF76
- ldr r0, =gMain
- ldr r5, =0x00000439
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806BF76
- ldr r0, [sp, 0x38]
- cmp r0, 0x4
- beq _0806BF76
- ldr r1, =gBattleMons
- movs r0, 0x58
- ldr r2, [sp, 0x38]
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- beq _0806BF76
- ldr r0, =0xfff0ffff
- ands r1, r0
- str r1, [r2]
- movs r3, 0
- str r3, [sp, 0x20]
-_0806BF76:
- ldrb r1, [r6]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0806BFA4
- ldr r1, =gBattleMons
- ldr r0, =gActiveBattler
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 13
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- bne _0806BFA4
- orrs r1, r3
- str r1, [r2]
- movs r5, 0
- str r5, [sp, 0x20]
-_0806BFA4:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0806BFB2
- bl _0806CD4C
-_0806BFB2:
- ldr r6, =gBattleMons
- ldr r5, =gActiveBattler
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x19]
- movs r0, 0x19
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0806BFCC
- bl _0806CD4C
-_0806BFCC:
- adds r0, r2, r3
- strb r0, [r1, 0x19]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x19
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- bgt _0806BFE0
- b _0806C110
-_0806BFE0:
- movs r0, 0xC
- strb r0, [r1, 0x19]
- b _0806C110
- .pool
-_0806BFFC:
- ldr r1, [sp, 0x24]
- ldr r3, [sp, 0x1C]
- adds r2, r1, r3
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- lsls r3, r0, 24
- adds r6, r2, 0
- cmp r3, 0
- beq _0806C042
- ldr r7, =gBattleMons
- ldr r5, =gActiveBattler
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r7
- ldrb r2, [r1, 0x1A]
- movs r0, 0x1A
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- bgt _0806C042
- lsrs r0, r3, 28
- adds r0, r2, r0
- strb r0, [r1, 0x1A]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r7
- movs r0, 0x1A
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0806C03E
- movs r0, 0xC
- strb r0, [r1, 0x1A]
-_0806C03E:
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C042:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0806C050
- bl _0806CD4C
-_0806C050:
- ldr r6, =gBattleMons
- ldr r5, =gActiveBattler
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x1B]
- movs r0, 0x1B
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0806C06A
- bl _0806CD4C
-_0806C06A:
- adds r0, r2, r3
- strb r0, [r1, 0x1B]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x1B
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0806C110
- movs r0, 0xC
- strb r0, [r1, 0x1B]
- b _0806C110
- .pool
-_0806C08C:
- ldr r1, [sp, 0x24]
- ldr r3, [sp, 0x1C]
- adds r2, r1, r3
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- lsls r3, r0, 24
- adds r6, r2, 0
- cmp r3, 0
- beq _0806C0D2
- ldr r7, =gBattleMons
- ldr r5, =gActiveBattler
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r7
- ldrb r2, [r1, 0x1E]
- movs r0, 0x1E
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- bgt _0806C0D2
- lsrs r0, r3, 28
- adds r0, r2, r0
- strb r0, [r1, 0x1E]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r7
- movs r0, 0x1E
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0806C0CE
- movs r0, 0xC
- strb r0, [r1, 0x1E]
-_0806C0CE:
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C0D2:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0806C0E0
- bl _0806CD4C
-_0806C0E0:
- ldr r6, =gBattleMons
- ldr r5, =gActiveBattler
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x1C]
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0806C0FA
- bl _0806CD4C
-_0806C0FA:
- adds r0, r2, r3
- strb r0, [r1, 0x1C]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0806C110
- movs r0, 0xC
- strb r0, [r1, 0x1C]
-_0806C110:
- movs r0, 0
- str r0, [sp, 0x20]
- bl _0806CD4C
- .pool
-_0806C120:
- ldr r1, [sp, 0x24]
- ldr r3, [sp, 0x1C]
- adds r2, r1, r3
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _0806C168
- ldr r5, =gSideTimers
- ldr r4, =gActiveBattler
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0806C168
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r0, 0x5
- strb r0, [r1, 0x4]
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C168:
- ldrb r1, [r6]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806C1CA
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- cmp r0, 0x64
- beq _0806C1CA
- ldr r5, =gExperienceTables
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, 0x1
- lsls r4, 2
- ldr r2, =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r1
- adds r4, r0
- adds r4, r5
- ldr r0, [r4]
- str r0, [sp]
- mov r0, r8
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- movs r0, 0
- str r0, [sp, 0x20]
-_0806C1CA:
- ldrb r1, [r6]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0806C206
- mov r0, r8
- ldr r1, [sp, 0x10]
- movs r2, 0x7
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C206
- ldr r1, [sp, 0x38]
- cmp r1, 0x4
- beq _0806C202
- ldr r1, =gBattleMons
- movs r0, 0x58
- ldr r3, [sp, 0x38]
- adds r2, r3, 0
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
-_0806C202:
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C206:
- ldrb r1, [r6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0806C226
- ldr r2, =0x00000f88
- mov r0, r8
- ldr r1, [sp, 0x10]
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C226
- movs r0, 0
- str r0, [sp, 0x20]
-_0806C226:
- ldrb r1, [r6]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0806C246
- mov r0, r8
- ldr r1, [sp, 0x10]
- movs r2, 0x10
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C246
- movs r1, 0
- str r1, [sp, 0x20]
-_0806C246:
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0806C266
- mov r0, r8
- ldr r1, [sp, 0x10]
- movs r2, 0x20
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C266
- movs r2, 0
- str r2, [sp, 0x20]
-_0806C266:
- ldrb r1, [r6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806C286
- mov r0, r8
- ldr r1, [sp, 0x10]
- movs r2, 0x40
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C286
- movs r3, 0
- str r3, [sp, 0x20]
-_0806C286:
- ldrb r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0806C294
- bl _0806CD4C
-_0806C294:
- ldr r0, =gMain
- ldr r5, =0x00000439
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806C2A8
- bl _0806CD4C
-_0806C2A8:
- ldr r0, [sp, 0x38]
- cmp r0, 0x4
- bne _0806C2B2
- bl _0806CD4C
-_0806C2B2:
- ldr r1, =gBattleMons
- movs r0, 0x58
- ldr r2, [sp, 0x38]
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0806C2CC
- bl _0806CD4C
-_0806C2CC:
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- movs r3, 0
- str r3, [sp, 0x20]
- bl _0806CD4C
- .pool
-_0806C300:
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x1C]
- adds r0, r5, r1
- ldrb r0, [r0]
- mov r10, r0
- movs r0, 0x20
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- beq _0806C3D8
- movs r0, 0xDF
- ands r2, r0
- mov r10, r2
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, =gUnknown_08329D22
- ldr r3, [sp, 0x14]
- adds r1, r3, r1
- ldrb r1, [r1]
- ands r0, r1
- lsls r1, r3, 1
- lsrs r0, r1
- str r0, [sp]
- adds r5, r3, 0
- adds r5, 0xD
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x2C]
- ldr r0, [sp]
- cmp r0, 0x2
- bhi _0806C3D8
- ldr r0, [sp, 0x2C]
- cmp r0, 0x4
- bls _0806C3D8
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, =gUnknown_08329D2A
- ldr r2, [sp, 0x14]
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x15
- mov r2, sp
- bl SetMonData
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x2C]
- subs r0, r3
- str r0, [sp]
- ldr r4, [sp, 0x14]
- adds r4, 0x11
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- adds r1, r4, 0
- mov r2, sp
- bl SetMonData
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C3D8:
- movs r0, 0
- str r0, [sp, 0x2C]
- mov r1, r10
- cmp r1, 0
- bne _0806C3E6
- bl _0806CD4C
-_0806C3E6:
- movs r0, 0x1
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- bne _0806C3F2
- b _0806C9AA
-_0806C3F2:
- ldr r3, [sp, 0x2C]
- cmp r3, 0x7
- bls _0806C3FA
- b _0806C9AA
-_0806C3FA:
- lsls r0, r3, 2
- ldr r1, =_0806C410
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0806C410:
- .4byte _0806C430
- .4byte _0806C430
- .4byte _0806C4DC
- .4byte _0806C700
- .4byte _0806C9AA
- .4byte _0806C9AA
- .4byte _0806C9AA
- .4byte _0806C994
-_0806C430:
- mov r0, r8
- bl GetMonEVCount
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x28]
- adds r0, r5, r1
- ldrb r5, [r0]
- ldr r0, =gUnknown_08329EC2
- ldr r2, [sp, 0x2C]
- adds r0, r2, r0
- ldrb r1, [r0]
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- str r1, [sp, 0x4]
- lsls r0, r5, 24
- asrs r2, r0, 24
- cmp r2, 0
- ble _0806C498
- ldr r0, =0x000001fd
- cmp r6, r0
- bls _0806C466
- b _0806BEF0
-_0806C466:
- adds r3, r1, 0
- cmp r3, 0x63
- ble _0806C46E
- b _0806C9AA
-_0806C46E:
- adds r1, r3, r2
- cmp r1, 0x64
- ble _0806C484
- adds r0, r2, 0
- adds r0, 0x64
- subs r5, r0, r1
- b _0806C486
- .pool
-_0806C484:
- adds r5, r2, 0
-_0806C486:
- adds r1, r6, r5
- movs r0, 0xFF
- lsls r0, 1
- cmp r1, r0
- bls _0806C494
- adds r0, r5, r0
- subs r5, r0, r1
-_0806C494:
- adds r0, r3, r5
- b _0806C4B2
-_0806C498:
- cmp r1, 0
- bne _0806C4A8
- movs r3, 0x1
- str r3, [sp, 0x3C]
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- b _0806C83E
-_0806C4A8:
- adds r0, r1, r2
- str r0, [sp, 0x4]
- cmp r0, 0
- bge _0806C4B4
- movs r0, 0
-_0806C4B2:
- str r0, [sp, 0x4]
-_0806C4B4:
- ldr r0, =gUnknown_08329EC2
- ldr r5, [sp, 0x2C]
- adds r0, r5, r0
- ldrb r1, [r0]
- add r2, sp, 0x4
- mov r0, r8
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- b _0806C978
- .pool
-_0806C4DC:
- movs r0, 0x10
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- beq _0806C59C
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _0806C4FC
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- b _0806C83E
-_0806C4FC:
- ldr r0, =gMain
- ldr r2, =0x00000439
- adds r0, r2
- ldrb r1, [r0]
- movs r4, 0x2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806C5B2
- ldr r3, [sp, 0x38]
- cmp r3, 0x4
- beq _0806C55C
- ldr r2, =gAbsentBattlerFlags
- ldr r1, =gBitTable
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r0]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r3, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, [sp, 0x38]
- bl CopyPlayerPartyMonToBattleData
- ldr r0, =gActiveBattler
- ldrb r0, [r0]
- b _0806C574
- .pool
-_0806C55C:
- ldr r3, =gAbsentBattlerFlags
- ldr r1, =gBitTable
- ldr r2, =gActiveBattler
- ldrb r0, [r2]
- eors r0, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldrb r0, [r3]
- bics r0, r1
- strb r0, [r3]
- ldrb r0, [r2]
-_0806C574:
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0806C5B2
- ldr r1, =gBattleResults
- ldrb r0, [r1, 0x4]
- cmp r0, 0xFE
- bhi _0806C5B2
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _0806C5B2
- .pool
-_0806C59C:
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0806C5B2
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- b _0806C83E
-_0806C5B2:
- ldr r1, [sp, 0x28]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- ldr r5, [sp, 0x24]
- adds r1, r5, r1
- ldrb r1, [r1]
- str r1, [sp]
- adds r0, r1, 0
- cmp r0, 0xFE
- beq _0806C5F4
- cmp r0, 0xFE
- bhi _0806C5D4
- cmp r0, 0xFD
- beq _0806C60A
- b _0806C612
-_0806C5D4:
- cmp r1, 0xFF
- bne _0806C612
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- subs r4, r0
- str r4, [sp]
- b _0806C612
-_0806C5F4:
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- lsrs r0, 1
- str r0, [sp]
- cmp r0, 0
- bne _0806C612
- movs r0, 0x1
- b _0806C610
-_0806C60A:
- ldr r0, =gBattleScripting
- adds r0, 0x23
- ldrb r0, [r0]
-_0806C610:
- str r0, [sp]
-_0806C612:
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- beq _0806C6F0
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _0806C6E4
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- cmp r1, r0
- bls _0806C65E
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- str r0, [sp]
-_0806C65E:
- mov r0, r8
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806C6EC
- ldr r2, [sp, 0x38]
- cmp r2, 0x4
- beq _0806C6EC
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldr r1, [sp]
- strh r1, [r0, 0x28]
- movs r0, 0x10
- mov r3, r10
- ands r0, r3
- cmp r0, 0
- bne _0806C6EC
- ldr r4, =gActiveBattler
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0806C6EC
- ldr r1, =gBattleResults
- ldrb r0, [r1, 0x3]
- cmp r0, 0xFE
- bhi _0806C6AE
- adds r0, 0x1
- strb r0, [r1, 0x3]
-_0806C6AE:
- ldrb r5, [r4]
- add r0, sp, 0x38
- ldrb r0, [r0]
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl BtlController_EmitGetMonData
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- strb r5, [r4]
- b _0806C6EC
- .pool
-_0806C6E4:
- ldr r1, =gBattleMoveDamage
- ldr r0, [sp]
- negs r0, r0
- str r0, [r1]
-_0806C6EC:
- movs r1, 0
- str r1, [sp, 0x20]
-_0806C6F0:
- movs r0, 0xEF
- mov r2, r10
- ands r2, r0
- mov r10, r2
- b _0806C9AA
- .pool
-_0806C700:
- movs r7, 0x2
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _0806C70C
- b _0806C858
-_0806C70C:
- movs r5, 0
- ldr r3, [sp, 0x28]
- adds r3, 0x1
- str r3, [sp, 0x40]
-_0806C714:
- movs r0, 0x11
- adds r0, r5
- mov r9, r0
- mov r0, r8
- mov r1, r9
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r7, r5, 0
- adds r7, 0xD
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r5, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- beq _0806C832
- ldr r2, [sp, 0x24]
- ldr r3, [sp, 0x28]
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r0, r1, r0
- str r0, [sp]
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- bls _0806C7CC
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_0806C7CC:
- mov r0, r8
- mov r1, r9
- mov r2, sp
- bl SetMonData
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806C82E
- ldr r2, [sp, 0x38]
- cmp r2, 0x4
- beq _0806C82E
- ldr r4, =gBattleMons
- movs r0, 0x58
- adds r3, r2, 0
- muls r3, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 14
- ands r1, r0
- cmp r1, 0
- bne _0806C82E
- ldr r1, =gDisableStructs
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0806C82E
- adds r0, r5, r3
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r1
- ldr r1, [sp]
- strb r1, [r0]
-_0806C82E:
- movs r3, 0
- str r3, [sp, 0x20]
-_0806C832:
- adds r5, 0x1
- cmp r5, 0x3
- bgt _0806C83A
- b _0806C714
-_0806C83A:
- ldr r5, [sp, 0x40]
- lsls r0, r5, 24
-_0806C83E:
- lsrs r0, 24
- str r0, [sp, 0x28]
- b _0806C9AA
- .pool
-_0806C858:
- ldr r6, [sp, 0x14]
- adds r6, 0x11
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r5, [sp, 0x14]
- adds r5, 0xD
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp]
- cmp r2, r0
- bne _0806C8A0
- b _0806C9AA
-_0806C8A0:
- ldr r1, [sp, 0x28]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- ldr r0, [sp, 0x24]
- adds r1, r0, r1
- ldrb r0, [r1]
- adds r0, r2, r0
- str r0, [sp]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- bls _0806C914
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_0806C914:
- mov r0, r8
- adds r1, r6, 0
- mov r2, sp
- bl SetMonData
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0806C978
- ldr r2, [sp, 0x38]
- cmp r2, 0x4
- beq _0806C978
- ldr r4, =gBattleMons
- movs r0, 0x58
- adds r3, r2, 0
- muls r3, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _0806C978
- ldr r1, =gDisableStructs
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- ldr r5, [sp, 0x14]
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0806C978
- adds r0, r5, r3
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r1
- ldr r1, [sp]
- strb r1, [r0]
-_0806C978:
- movs r0, 0
- str r0, [sp, 0x20]
- b _0806C9AA
- .pool
-_0806C994:
- mov r0, r8
- movs r1, 0x2
- ldr r2, [sp, 0xC]
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0806C9AA
- bl _0806BEE0
-_0806C9AA:
- ldr r1, [sp, 0x2C]
- adds r1, 0x1
- str r1, [sp, 0x2C]
- mov r2, r10
- lsrs r2, 1
- mov r10, r2
- cmp r2, 0
- beq _0806C9BC
- b _0806C3E6
-_0806C9BC:
- b _0806CD4C
-_0806C9BE:
- ldr r3, [sp, 0x24]
- ldr r5, [sp, 0x1C]
- adds r0, r3, r5
- ldrb r0, [r0]
- mov r10, r0
- movs r0, 0
- str r0, [sp, 0x2C]
- mov r1, r10
- cmp r1, 0
- bne _0806C9D4
- b _0806CD4C
-_0806C9D4:
- movs r0, 0x1
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- bne _0806C9E0
- b _0806CD3A
-_0806C9E0:
- ldr r3, [sp, 0x2C]
- cmp r3, 0x7
- bls _0806C9E8
- b _0806CD3A
-_0806C9E8:
- lsls r0, r3, 2
- ldr r1, =_0806C9F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0806C9F8:
- .4byte _0806CA18
- .4byte _0806CA18
- .4byte _0806CA18
- .4byte _0806CA18
- .4byte _0806CAB8
- .4byte _0806CB94
- .4byte _0806CC00
- .4byte _0806CC68
-_0806CA18:
- mov r0, r8
- bl GetMonEVCount
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x28]
- adds r0, r5, r1
- ldrb r5, [r0]
- ldr r0, =gUnknown_08329EC2
- ldr r4, [sp, 0x2C]
- adds r4, 0x2
- adds r0, r4, r0
- ldrb r1, [r0]
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- str r1, [sp, 0x4]
- lsls r0, r5, 24
- asrs r2, r0, 24
- cmp r2, 0
- ble _0806CA84
- ldr r0, =0x000001fd
- cmp r6, r0
- bls _0806CA52
- bl _0806BEF0
-_0806CA52:
- adds r3, r1, 0
- cmp r3, 0x63
- ble _0806CA5A
- b _0806CD3A
-_0806CA5A:
- adds r1, r3, r2
- cmp r1, 0x64
- ble _0806CA70
- adds r0, r2, 0
- adds r0, 0x64
- subs r5, r0, r1
- b _0806CA72
- .pool
-_0806CA70:
- adds r5, r2, 0
-_0806CA72:
- adds r1, r6, r5
- movs r0, 0xFF
- lsls r0, 1
- cmp r1, r0
- bls _0806CA80
- adds r0, r5, r0
- subs r5, r0, r1
-_0806CA80:
- adds r0, r3, r5
- b _0806CA98
-_0806CA84:
- cmp r1, 0
- bne _0806CA8E
- movs r2, 0x1
- str r2, [sp, 0x3C]
- b _0806CD30
-_0806CA8E:
- adds r0, r1, r2
- str r0, [sp, 0x4]
- cmp r0, 0
- bge _0806CA9A
- movs r0, 0
-_0806CA98:
- str r0, [sp, 0x4]
-_0806CA9A:
- ldr r0, =gUnknown_08329EC2
- adds r0, r4, r0
- ldrb r1, [r0]
- add r2, sp, 0x4
- mov r0, r8
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- movs r3, 0
- str r3, [sp, 0x20]
- b _0806CD30
- .pool
-_0806CAB8:
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, =gUnknown_08329D22
- ldr r5, [sp, 0x14]
- adds r1, r5, r1
- ldrb r1, [r1]
- ands r0, r1
- lsls r1, r5, 1
- lsrs r0, r1
- str r0, [sp]
- adds r6, r5, 0
- adds r6, 0xD
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [sp]
- cmp r0, 0x2
- bls _0806CB0A
- b _0806CD3A
-_0806CB0A:
- cmp r5, 0x4
- bhi _0806CB10
- b _0806CD3A
-_0806CB10:
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r1, =gUnknown_08329D26
- ldr r2, [sp, 0x14]
- adds r1, r2, r1
- ldrb r2, [r1]
- ands r2, r0
- str r2, [sp]
- ldr r0, =gUnknown_08329D2A
- ldr r3, [sp, 0x14]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r2, r0
- str r2, [sp]
- mov r0, r8
- movs r1, 0x15
- mov r2, sp
- bl SetMonData
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- subs r0, r5
- str r0, [sp]
- ldr r4, [sp, 0x14]
- adds r4, 0x11
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- adds r1, r4, 0
- mov r2, sp
- bl SetMonData
- movs r5, 0
- str r5, [sp, 0x20]
- b _0806CD3A
- .pool
-_0806CB94:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0x63
- bls _0806CBA4
- b _0806CD30
-_0806CBA4:
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _0806CBB2
- ldr r1, [sp, 0x3C]
- cmp r1, 0
- bne _0806CBB2
- b _0806CD30
-_0806CBB2:
- bl sub_806F104
- lsls r0, 24
- cmp r0, 0
- beq _0806CBBE
- b _0806CD30
-_0806CBBE:
- ldr r2, [sp, 0x30]
- cmp r2, 0
- beq _0806CBC6
- b _0806CD30
-_0806CBC6:
- ldr r3, [sp, 0x24]
- ldr r5, [sp, 0x28]
- adds r0, r3, r5
- ldrb r0, [r0]
- str r0, [sp, 0x30]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- str r5, [sp, 0x8]
- ldr r0, [sp, 0x30]
- lsls r4, r0, 24
- asrs r1, r4, 24
- cmp r1, 0
- ble _0806CCCC
- ldr r2, [sp, 0x34]
- cmp r2, 0x1B
- bne _0806CCCC
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, r5, r0
- str r0, [sp, 0x8]
- adds r2, r4, 0
- b _0806CCD8
-_0806CC00:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0x63
- bhi _0806CC10
- b _0806CD30
-_0806CC10:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0xC7
- bls _0806CC20
- b _0806CD30
-_0806CC20:
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _0806CC2E
- ldr r1, [sp, 0x3C]
- cmp r1, 0
- bne _0806CC2E
- b _0806CD30
-_0806CC2E:
- bl sub_806F104
- lsls r0, 24
- cmp r0, 0
- bne _0806CD30
- ldr r2, [sp, 0x30]
- cmp r2, 0
- bne _0806CD30
- ldr r3, [sp, 0x24]
- ldr r5, [sp, 0x28]
- adds r0, r3, r5
- ldrb r0, [r0]
- str r0, [sp, 0x30]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- str r4, [sp, 0x8]
- ldr r0, [sp, 0x30]
- lsls r5, r0, 24
- asrs r1, r5, 24
- cmp r1, 0
- ble _0806CCCC
- ldr r2, [sp, 0x34]
- cmp r2, 0x1B
- beq _0806CCBA
- b _0806CCCC
-_0806CC68:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0xC7
- bls _0806CD30
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _0806CC82
- ldr r1, [sp, 0x3C]
- cmp r1, 0
- beq _0806CD30
-_0806CC82:
- bl sub_806F104
- lsls r0, 24
- cmp r0, 0
- bne _0806CD30
- ldr r2, [sp, 0x30]
- cmp r2, 0
- bne _0806CD30
- ldr r3, [sp, 0x24]
- ldr r5, [sp, 0x28]
- adds r0, r3, r5
- ldrb r0, [r0]
- str r0, [sp, 0x30]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- str r4, [sp, 0x8]
- ldr r0, [sp, 0x30]
- lsls r5, r0, 24
- asrs r1, r5, 24
- cmp r1, 0
- ble _0806CCCC
- ldr r2, [sp, 0x34]
- cmp r2, 0x1B
- bne _0806CCCC
-_0806CCBA:
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, r4, r0
- str r0, [sp, 0x8]
- adds r2, r5, 0
- b _0806CCD8
-_0806CCCC:
- ldr r3, [sp, 0x30]
- lsls r2, r3, 24
- asrs r1, r2, 24
- ldr r0, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x8]
-_0806CCD8:
- cmp r2, 0
- ble _0806CD0E
- mov r0, r8
- movs r1, 0x26
- movs r2, 0
- bl GetMonData
- cmp r0, 0xB
- bne _0806CCF0
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
-_0806CCF0:
- mov r0, r8
- movs r1, 0x23
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- bl sav1_map_get_name
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0806CD0E
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
-_0806CD0E:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bge _0806CD18
- movs r0, 0
- str r0, [sp, 0x8]
-_0806CD18:
- ldr r0, [sp, 0x8]
- cmp r0, 0xFF
- ble _0806CD22
- movs r0, 0xFF
- str r0, [sp, 0x8]
-_0806CD22:
- add r2, sp, 0x8
- mov r0, r8
- movs r1, 0x20
- bl SetMonData
- movs r5, 0
- str r5, [sp, 0x20]
-_0806CD30:
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
-_0806CD3A:
- ldr r0, [sp, 0x2C]
- adds r0, 0x1
- str r0, [sp, 0x2C]
- mov r1, r10
- lsrs r1, 1
- mov r10, r1
- cmp r1, 0
- beq _0806CD4C
- b _0806C9D4
-_0806CD4C:
- ldr r2, [sp, 0x1C]
- adds r2, 0x1
- str r2, [sp, 0x1C]
- cmp r2, 0x5
- bgt _0806CD5A
- bl _0806BEFC
-_0806CD5A:
- ldr r0, [sp, 0x20]
-_0806CD5C:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ExecuteTableBasedItemEffect
-
- .align 2, 0 @ Don't pad with nop.
- \ No newline at end of file
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index a94d69b96..6e7c3af57 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -1173,7 +1173,7 @@ sub_81C47B4: @ 81C47B4
ands r0, r1
strb r0, [r7, 0x5]
ldrh r0, [r6, 0x2]
- bl IsPokeSpriteNotFlipped
+ bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _081C4828
@@ -1221,7 +1221,7 @@ sub_81C4844: @ 81C4844
cmp r0, 0x1
beq _081C487E
ldrh r0, [r4, 0x2E]
- bl IsPokeSpriteNotFlipped
+ bl IsMonSpriteNotFlipped
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 89516e65a..680752c85 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -25789,7 +25789,7 @@ sub_81D3B54: @ 81D3B54
adds r5, r1, 0
bl sub_81D41A0
movs r7, 0x2
- ldr r4, =gUnknown_03003144
+ ldr r4, =gShouldAdvanceLinkState
_081D3B64:
bl sub_81D4170
ldr r0, =gUnknown_030012E2
@@ -25857,7 +25857,7 @@ sub_81D3BE8: @ 81D3BE8
adds r5, r0, 0
bl sub_81D41A0
movs r6, 0x2
- ldr r4, =gUnknown_03003144
+ ldr r4, =gShouldAdvanceLinkState
_081D3BF6:
bl sub_81D4170
ldr r0, =gUnknown_030012E2
@@ -26006,7 +26006,7 @@ sub_81D3D34: @ 81D3D34
movs r1, 0x8
orrs r0, r1
strh r0, [r2]
- ldr r0, =gUnknown_03003144
+ ldr r0, =gShouldAdvanceLinkState
strb r3, [r0]
ldr r0, =gUnknown_030012E6
strh r3, [r0]
@@ -26062,7 +26062,7 @@ _081D3DC8:
beq _081D3DD8
bl sub_81D413C
_081D3DD8:
- ldr r0, =gUnknown_03003144
+ ldr r0, =gShouldAdvanceLinkState
ldrb r0, [r0]
cmp r0, 0x2
beq _081D3DE2
@@ -26080,7 +26080,7 @@ _081D3DE8:
movs r0, 0x3
strb r0, [r1, 0x1]
_081D3DFC:
- ldr r0, =gUnknown_03003144
+ ldr r0, =gShouldAdvanceLinkState
ldrb r0, [r0]
cmp r0, 0x2
bne _081D3E18
@@ -28050,7 +28050,7 @@ _081D4E12:
beq _081D4E1C
movs r5, 0x3
_081D4E1C:
- ldr r1, =gUnknown_03003144
+ ldr r1, =gShouldAdvanceLinkState
movs r0, 0
strb r0, [r1]
adds r0, r5, 0
@@ -28074,7 +28074,7 @@ sub_81D4E30: @ 81D4E30
strh r0, [r1]
bl OpenLink
movs r0, 0x1
- bl sub_800B330
+ bl SetSuppressLinkErrorMessage
pop {r0}
bx r0
.pool
@@ -28090,7 +28090,7 @@ sub_81D4E60: @ 81D4E60
strh r0, [r1]
movs r0, 0
strh r0, [r2]
- ldr r0, =gUnknown_03003174
+ ldr r0, =gLink+0x4
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [sp, 0x4]
@@ -28157,7 +28157,7 @@ sub_81D4EE4: @ 81D4EE4
lsrs r0, 24
cmp r0, 0x2
bhi _081D4F08
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
beq _081D4F08
@@ -28256,7 +28256,7 @@ _081D4FB6:
ldrb r0, [r0]
cmp r0, 0
beq _081D4FE6
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
cmp r0, 0
beq _081D4FE0
@@ -28665,7 +28665,7 @@ _081D5360:
strb r0, [r4, 0x8]
b _081D548A
_081D536A:
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
beq _081D537A
diff --git a/asm/record_mixing.s b/asm/record_mixing.s
index 172af60a6..2dab009a5 100644
--- a/asm/record_mixing.s
+++ b/asm/record_mixing.s
@@ -621,7 +621,7 @@ _080E726C:
bne _080E730A
movs r0, 0x4
strh r0, [r5]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080E7296
@@ -664,7 +664,7 @@ _080E72C0:
ldr r0, [r0]
bl Free
bl sub_808729C
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080E72F8
@@ -747,7 +747,7 @@ _080E7384:
movs r0, 0xC8
lsls r0, 1
strh r0, [r5, 0x8]
- bl sub_8009FAC
+ bl ClearLinkCallback_2
b _080E7566
.pool
_080E73A0:
@@ -2393,7 +2393,7 @@ _080E80C0:
lsls r0, 24
cmp r0, 0
bne _080E810A
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080E80E8
diff --git a/asm/rom6.s b/asm/rom6.s
index cc02638bc..297c81128 100644
--- a/asm/rom6.s
+++ b/asm/rom6.s
@@ -448,4 +448,5 @@ _081357EE:
.pool
thumb_func_end sub_81357BC
+
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/link.s b/asm/rom_8011DC0.s
index 805b3aec0..80bc66f3f 100644
--- a/asm/link.s
+++ b/asm/rom_8011DC0.s
@@ -5,17767 +5,6 @@
.text
- thumb_func_start sub_80093CC
-sub_80093CC: @ 80093CC
- push {lr}
- bl sub_800B488
- bl sub_800E700
- bl sub_800BEC0
- ldr r1, =0x00008001
- cmp r0, r1
- beq _080093F4
- bl sub_800B4A4
- bl CloseLink
- bl RestoreSerialTimer3IntrHandlers
- movs r0, 0
- b _080093FE
- .pool
-_080093F4:
- bl rfu_REQ_stopMode
- bl rfu_waitREQComplete
- movs r0, 0x1
-_080093FE:
- pop {r1}
- bx r1
- thumb_func_end sub_80093CC
-
- thumb_func_start Task_DestroySelf
-Task_DestroySelf: @ 8009404
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- pop {r0}
- bx r0
- thumb_func_end Task_DestroySelf
-
- thumb_func_start sub_8009414
-sub_8009414: @ 8009414
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r4, [sp, 0x18]
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gLinkTestDigitsPal
- lsls r1, r5, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r3, =0x040000d4
- ldr r0, =gLinkTestDigitsGfx
- str r0, [r3]
- lsls r2, r7, 14
- lsls r0, r4, 5
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r1
- adds r2, r0
- str r2, [r3, 0x4]
- ldr r0, =0x80000110
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
- ldr r0, =gUnknown_03003130
- str r6, [r0]
- str r5, [r0, 0x4]
- str r4, [r0, 0x8]
- mov r0, r8
- cmp r0, 0x2
- beq _0800949E
- cmp r0, 0x2
- bgt _08009484
- cmp r0, 0x1
- beq _0800948C
- b _080094C0
- .pool
-_08009484:
- mov r0, r8
- cmp r0, 0x3
- beq _080094B0
- b _080094C0
-_0800948C:
- lsls r1, r6, 8
- movs r0, 0x1
- orrs r1, r0
- lsls r0, r7, 2
- orrs r1, r0
- movs r0, 0xA
- bl SetGpuReg
- b _080094C0
-_0800949E:
- lsls r1, r6, 8
- movs r0, 0x1
- orrs r1, r0
- lsls r0, r7, 2
- orrs r1, r0
- movs r0, 0xC
- bl SetGpuReg
- b _080094C0
-_080094B0:
- lsls r1, r6, 8
- movs r0, 0x1
- orrs r1, r0
- lsls r0, r7, 2
- orrs r1, r0
- movs r0, 0xE
- bl SetGpuReg
-_080094C0:
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl SetGpuReg
- adds r4, 0x12
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl SetGpuReg
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8009414
-
- thumb_func_start sub_80094EC
-sub_80094EC: @ 80094EC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r6, r1, 0
- adds r4, r2, 0
- adds r5, r3, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gLinkTestDigitsPal
- mov r2, r8
- lsls r1, r2, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r2, =0x040000d4
- ldr r0, =gLinkTestDigitsGfx
- str r0, [r2]
- lsls r0, r5, 14
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, =0x80000110
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, =gUnknown_03003130
- str r4, [r0]
- mov r1, r8
- str r1, [r0, 0x4]
- movs r1, 0
- str r1, [r0, 0x8]
- ldr r0, =gUnknown_082ED1D0
- adds r6, r0
- ldrb r0, [r6]
- lsls r4, 8
- lsls r5, 2
- orrs r4, r5
- adds r1, r4, 0
- bl SetGpuReg
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80094EC
-
- thumb_func_start sub_8009570
-sub_8009570: @ 8009570
- push {r4,lr}
- sub sp, 0x4
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, =sub_80096BC
- bl SetVBlankCallback
- bl sub_800A2E0
- ldr r1, =gLinkType
- ldr r2, =0x00001111
- adds r0, r2, 0
- strh r0, [r1]
- bl OpenLink
- ldr r0, =gMain
- ldrh r0, [r0, 0x24]
- bl SeedRng
- movs r4, 0
-_080095A0:
- bl Random
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- adds r1, 0xA
- adds r1, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080095A0
- movs r4, 0
- str r4, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x4
- movs r3, 0
- bl sub_8009414
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =Task_DestroySelf
- movs r1, 0
- bl CreateTask
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, =gUnknown_03000D60
- str r4, [r0]
- bl sub_8009638
- ldr r0, =task00_link_test
- movs r1, 0
- bl CreateTask
- ldr r0, =c2_08009A8C
- bl SetMainCallback2
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009570
-
- thumb_func_start sub_8009628
-sub_8009628: @ 8009628
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_020229CC
- strh r0, [r1, 0x18]
- bx lr
- .pool
- thumb_func_end sub_8009628
-
- thumb_func_start sub_8009638
-sub_8009638: @ 8009638
- push {r4,r5,lr}
- ldr r5, =gUnknown_020229CC
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- ldrb r2, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r2, r0
- str r2, [r5, 0x4]
- adds r0, r5, 0
- adds r0, 0x8
- bl StringCopy
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- strb r0, [r5, 0x13]
- ldr r0, =gLinkType
- ldrh r0, [r0]
- str r0, [r5, 0x14]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strh r0, [r5, 0x1A]
- ldr r0, =gGameVersion
- ldrb r0, [r0]
- movs r2, 0x80
- lsls r2, 7
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r5]
- movs r0, 0x80
- lsls r0, 8
- strh r0, [r5, 0x2]
- bl IsNationalPokedexEnabled
- strb r0, [r5, 0x10]
- ldr r0, =0x0000087f
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0800969E
- ldrb r0, [r5, 0x10]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r5, 0x10]
-_0800969E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009638
-
- thumb_func_start sub_80096BC
-sub_80096BC: @ 80096BC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80096BC
-
- thumb_func_start sub_80096D0
-sub_80096D0: @ 80096D0
- push {lr}
- ldr r3, =gUnknown_020229C4
- ldr r1, =gSendCmd
- ldr r2, =0x0000efff
- adds r0, r1, 0
- adds r0, 0xE
-_080096DC:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080096DC
- movs r0, 0x1
- strb r0, [r3]
- bl sub_800B594
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80096D0
-
- thumb_func_start task02_080097CC
-task02_080097CC: @ 80096FC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08009726
- ldr r1, =gUnknown_03003144
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r2, 0
- bl DestroyTask
-_08009726:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task02_080097CC
-
- thumb_func_start OpenLink
-OpenLink: @ 8009734
- push {r4-r6,lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r4, [r0]
- cmp r4, 0
- bne _080097A8
- bl sub_800B628
- bl sub_80096D0
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A824
- str r0, [r1]
- ldr r0, =gUnknown_03002748
- strb r4, [r0]
- ldr r0, =gUnknown_0300306C
- strb r4, [r0]
- ldr r0, =gUnknown_030030F8
- strb r4, [r0]
- bl ResetBlockReceivedFlags
- bl sub_800A2E0
- ldr r0, =gUnknown_03000D54
- str r4, [r0]
- ldr r0, =gUnknown_030030E8
- strb r4, [r0]
- ldr r0, =gUnknown_030030E4
- strb r4, [r0]
- ldr r0, =gUnknown_030030F4
- strh r4, [r0]
- ldr r0, =task02_080097CC
- movs r1, 0x2
- bl CreateTask
- b _080097AC
- .pool
-_080097A8:
- bl sub_800E700
-_080097AC:
- ldr r1, =gReceivedRemoteLinkPlayers
- movs r0, 0
- strb r0, [r1]
- movs r1, 0
- ldr r6, =gUnknown_03003078
- movs r2, 0
- movs r5, 0x1
- ldr r4, =gUnknown_030030F0
- ldr r3, =gUnknown_030030EC
-_080097BE:
- adds r0, r1, r6
- strb r5, [r0]
- adds r0, r1, r4
- strb r2, [r0]
- adds r0, r1, r3
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x3
- ble _080097BE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end OpenLink
-
- thumb_func_start CloseLink
-CloseLink: @ 80097E8
- push {r4,lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- movs r4, 0
- strb r4, [r0]
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _080097FC
- bl sub_800EDD4
-_080097FC:
- ldr r0, =gUnknown_020229C4
- strb r4, [r0]
- bl sub_800B53C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CloseLink
-
- thumb_func_start sub_8009818
-sub_8009818: @ 8009818
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, =gUnknown_03000D64
- ldr r4, =gUnknown_03000D10
- ldrb r0, [r5]
- ldrh r1, [r4]
- cmp r0, r1
- beq _0800983C
- ldrh r0, [r4]
- movs r1, 0x2
- movs r2, 0x3
- movs r3, 0x2
- bl sub_800A6E8
- ldrh r0, [r4]
- strb r0, [r5]
-_0800983C:
- movs r5, 0
- ldr r7, =gUnknown_03000D20
-_08009840:
- ldr r0, =gUnknown_03000D68
- adds r6, r5, r0
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r4, r0, r7
- ldrb r0, [r6]
- ldrh r1, [r4]
- cmp r0, r1
- beq _08009868
- ldrh r0, [r4]
- adds r2, r5, 0x4
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x2
- movs r3, 0x2
- bl sub_800A6E8
- ldrh r0, [r4]
- strb r0, [r6]
-_08009868:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08009840
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bne _080098CE
- movs r5, 0
- ldr r0, =gUnknown_03000D20
- mov r9, r0
- ldr r1, =0x00000342
- mov r8, r1
-_08009888:
- adds r0, r7, 0
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080098C4
- lsls r0, r5, 8
- ldr r1, =gBlockRecvBuffer
- adds r0, r1
- lsls r4, r5, 1
- adds r1, r4, r5
- lsls r1, 2
- add r1, r9
- ldrh r1, [r1, 0x2]
- bl sub_800A648
- ldr r1, =gUnknown_03003148
- adds r4, r1
- movs r6, 0
- strh r0, [r4]
- adds r0, r5, 0
- bl ResetBlockReceivedFlag
- ldrh r0, [r4]
- cmp r0, r8
- beq _080098C4
- ldr r0, =gUnknown_020223BC
- strb r6, [r0]
- ldr r0, =gUnknown_020223BD
- strb r6, [r0]
-_080098C4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08009888
-_080098CE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009818
-
- thumb_func_start sub_8009900
-sub_8009900: @ 8009900
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08009916
- ldr r1, =gUnknown_03003144
- movs r0, 0x1
- strb r0, [r1]
-_08009916:
- ldrh r1, [r4, 0x2C]
- movs r5, 0x2
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0800992A
- ldr r0, =0x02004000
- ldr r1, =0x00002004
- bl sub_800A2F4
-_0800992A:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08009946
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_08009946:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08009956
- movs r0, 0x1
- bl sub_800B330
-_08009956:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08009968
- movs r0, 0x1
- bl TrySavingData
-_08009968:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08009976
- bl sub_800AC34
-_08009976:
- ldr r0, =gUnknown_020223BC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08009996
- ldr r2, [r4, 0x24]
- ldr r0, =gUnknown_03002748
- ldrb r1, [r0]
- ldr r0, =gUnknown_03003140
- ldr r0, [r0]
- cmp r0, 0
- bne _08009990
- movs r0, 0x10
- orrs r1, r0
-_08009990:
- adds r0, r2, 0
- bl SetLinkDebugValues
-_08009996:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009900
-
- thumb_func_start c2_08009A8C
-c2_08009A8C: @ 80099BC
- push {lr}
- bl sub_8009900
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_8009818
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end c2_08009A8C
-
- thumb_func_start sub_80099E0
-sub_80099E0: @ 80099E0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_020229C4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080099F4
- movs r0, 0
- b _08009A3C
- .pool
-_080099F4:
- movs r1, 0
- ldr r5, =gUnknown_03003084
- ldr r3, =gSendCmd
- movs r2, 0
-_080099FC:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _080099FC
- ldrh r0, [r4]
- strh r0, [r5]
- ldr r0, =gLinkStatus
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08009A38
- ldr r0, =0x04000128
- ldr r0, [r0]
- lsls r0, 26
- lsrs r0, 30
- bl sub_8009AA0
- ldr r0, =gUnknown_03003140
- ldr r0, [r0]
- cmp r0, 0
- beq _08009A34
- bl _call_via_r0
-_08009A34:
- bl sub_800AEB4
-_08009A38:
- ldr r0, =gLinkStatus
- ldrh r0, [r0]
-_08009A3C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80099E0
-
- thumb_func_start sub_8009A58
-sub_8009A58: @ 8009A58
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- ldr r1, =gUnknown_03003078
- adds r0, r1
- strb r5, [r0]
- movs r4, 0
- adds r6, r1, 0
- b _08009A78
- .pool
-_08009A70:
- adds r0, r4, r6
- ldrb r0, [r0]
- adds r5, r0
- adds r4, 0x1
-_08009A78:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _08009A70
- cmp r5, 0
- bne _08009A94
- ldr r1, =gReceivedRemoteLinkPlayers
- ldrb r0, [r1]
- cmp r0, 0
- bne _08009A94
- movs r0, 0x1
- strb r0, [r1]
-_08009A94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009A58
-
- thumb_func_start sub_8009AA0
-sub_8009AA0: @ 8009AA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r6, 0
-_08009AAE:
- ldr r0, =gUnknown_03003020
- lsls r1, r6, 1
- adds r3, r1, r0
- movs r0, 0
- strh r0, [r3]
- lsls r4, r6, 4
- ldr r5, =gRecvCmds
- adds r2, r4, r5
- ldrh r0, [r2]
- mov r12, r1
- adds r7, r6, 0x1
- str r7, [sp]
- cmp r0, 0
- bne _08009ACC
- b _08009D6E
-_08009ACC:
- ldrh r1, [r2]
- ldr r0, =0x00005fff
- cmp r1, r0
- bne _08009AD6
- b _08009D20
-_08009AD6:
- cmp r1, r0
- bgt _08009B24
- ldr r0, =0x00004444
- cmp r1, r0
- bne _08009AE2
- b _08009D64
-_08009AE2:
- cmp r1, r0
- bgt _08009B10
- ldr r0, =0x00002222
- cmp r1, r0
- beq _08009B68
- ldr r0, =0x00002ffe
- cmp r1, r0
- bne _08009AF4
- b _08009D28
-_08009AF4:
- b _08009D6E
- .pool
-_08009B10:
- ldr r0, =0x00005555
- cmp r1, r0
- beq _08009BB8
- adds r0, 0x11
- cmp r1, r0
- beq _08009BB8
- b _08009D6E
- .pool
-_08009B24:
- ldr r0, =0x0000bbbb
- cmp r1, r0
- beq _08009BC4
- cmp r1, r0
- bgt _08009B4C
- ldr r0, =0x00008888
- cmp r1, r0
- beq _08009BF0
- ldr r0, =0x0000aaaa
- cmp r1, r0
- bne _08009B3C
- b _08009D38
-_08009B3C:
- b _08009D6E
- .pool
-_08009B4C:
- ldr r0, =0x0000cafe
- cmp r1, r0
- bne _08009B54
- b _08009D64
-_08009B54:
- ldr r0, =0x0000cccc
- cmp r1, r0
- bne _08009B5C
- b _08009D3E
-_08009B5C:
- b _08009D6E
- .pool
-_08009B68:
- bl sub_8009638
- ldr r0, =gUnknown_03003030
- adds r2, r0, 0
- adds r2, 0x10
- ldr r1, =gUnknown_020229CC
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldr r1, [r1]
- str r1, [r2]
- ldr r4, =gASCIIGameFreakInc
- adds r2, r0, 0
- adds r1, r4, 0
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldrh r3, [r1]
- strh r3, [r2]
- ldrb r1, [r1, 0x2]
- strb r1, [r2, 0x2]
- adds r1, r0, 0
- adds r1, 0x2C
- ldm r4!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldrh r2, [r4]
- strh r2, [r1]
- ldrb r2, [r4, 0x2]
- strb r2, [r1, 0x2]
- movs r1, 0x3C
- bl sub_800A2F4
- b _08009D6E
- .pool
-_08009BB8:
- ldr r1, =gUnknown_030030E8
- movs r0, 0x1
- strb r0, [r1]
- b _08009D6E
- .pool
-_08009BC4:
- mov r7, r12
- adds r1, r7, r6
- lsls r1, 2
- ldr r0, =gUnknown_03000D20
- adds r1, r0
- movs r2, 0
- strh r2, [r1]
- ldr r0, =gRecvCmds
- adds r0, 0x2
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r1, 0x2]
- ldr r0, =gRecvCmds
- adds r0, 0x4
- adds r0, r4, r0
- ldrh r0, [r0]
- strb r0, [r1, 0x9]
- b _08009D6E
- .pool
-_08009BF0:
- mov r3, r12
- adds r0, r3, r6
- lsls r0, 2
- ldr r5, =gUnknown_03000D20
- adds r3, r0, r5
- ldrh r1, [r3, 0x2]
- movs r0, 0x80
- lsls r0, 1
- adds r7, r5, 0
- mov r10, r7
- cmp r1, r0
- bls _08009C40
- ldr r0, =0x0201c000
- mov r8, r0
- movs r2, 0
- adds r5, r3, 0
- ldr r7, =gRecvCmds
- adds r3, r4, 0
-_08009C14:
- ldrh r1, [r5]
- lsrs r1, 1
- adds r1, r2
- lsls r1, 1
- add r1, r8
- adds r2, 0x1
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 16
- lsrs r2, 16
- cmp r2, 0x6
- bls _08009C14
- b _08009C70
- .pool
-_08009C40:
- movs r2, 0
- ldr r1, =gBlockRecvBuffer
- mov r9, r1
- adds r7, r3, 0
- ldr r3, =gRecvCmds
- mov r8, r3
- lsls r5, r6, 8
- adds r3, r4, 0
-_08009C50:
- ldrh r1, [r7]
- lsrs r1, 1
- adds r1, r2
- lsls r1, 1
- adds r1, r5
- add r1, r9
- adds r2, 0x1
- lsls r0, r2, 1
- adds r0, r3
- add r0, r8
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 16
- lsrs r2, 16
- cmp r2, 0x6
- bls _08009C50
-_08009C70:
- mov r4, r12
- adds r1, r4, r6
- lsls r1, 2
- add r1, r10
- ldrh r0, [r1]
- adds r0, 0xE
- movs r3, 0
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1, 0x2]
- cmp r0, r1
- bcc _08009D6E
- ldr r0, =gUnknown_03003078
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08009D16
- lsls r1, r6, 8
- ldr r0, =gBlockRecvBuffer
- adds r1, r0
- mov r8, r1
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- ldr r1, =gLinkPlayers
- adds r2, r0, r1
- adds r1, r2, 0
- mov r0, r8
- adds r0, 0x10
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r0, [r0]
- str r0, [r1]
- ldrb r0, [r2]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08009CCA
- strb r3, [r2, 0x12]
- strb r3, [r2, 0x11]
- strb r3, [r2, 0x10]
-_08009CCA:
- adds r0, r2, 0
- bl sub_800B524
- ldr r5, =gASCIIGameFreakInc
- mov r0, r8
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- bne _08009CEC
- mov r0, r8
- adds r0, 0x2C
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- beq _08009D0C
-_08009CEC:
- ldr r0, =c2_800ACD4
- bl SetMainCallback2
- b _08009D6E
- .pool
-_08009D0C:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8009A58
- b _08009D6E
-_08009D16:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_800A588
- b _08009D6E
-_08009D20:
- ldr r0, =gUnknown_030030F0
- b _08009D2A
- .pool
-_08009D28:
- ldr r0, =gUnknown_030030EC
-_08009D2A:
- adds r0, r6, r0
- movs r1, 0x1
- strb r1, [r0]
- b _08009D6E
- .pool
-_08009D38:
- bl sub_800A418
- b _08009D6E
-_08009D3E:
- ldr r3, =gUnknown_082ED1A8
- ldr r0, =gRecvCmds
- adds r0, 0x2
- adds r0, r4, r0
- ldrh r2, [r0]
- lsls r2, 3
- adds r0, r2, r3
- ldr r1, [r0]
- adds r3, 0x4
- adds r2, r3
- ldrh r2, [r2]
- movs r0, 0
- bl SendBlock
- b _08009D6E
- .pool
-_08009D64:
- ldr r0, =gRecvCmds
- adds r0, 0x2
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r3]
-_08009D6E:
- ldr r5, [sp]
- lsls r0, r5, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bhi _08009D7A
- b _08009AAE
-_08009D7A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009AA0
-
- thumb_func_start sub_8009D90
-sub_8009D90: @ 8009D90
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x00006666
- cmp r2, r0
- beq _08009E60
- cmp r2, r0
- bgt _08009DF0
- ldr r0, =0x00004444
- cmp r2, r0
- beq _08009E4C
- cmp r2, r0
- bgt _08009DCC
- ldr r0, =0x00002222
- cmp r2, r0
- beq _08009E38
- ldr r0, =0x00002ffe
-_08009DB2:
- cmp r2, r0
- bne _08009DB8
- b _08009EE4
-_08009DB8:
- b _08009F06
- .pool
-_08009DCC:
- ldr r0, =0x00005566
- cmp r2, r0
- bne _08009DD4
- b _08009EE4
-_08009DD4:
- cmp r2, r0
- bgt _08009DE0
- subs r0, 0x11
- b _08009DB2
- .pool
-_08009DE0:
- ldr r0, =0x00005fff
- cmp r2, r0
- bne _08009DE8
- b _08009ED0
-_08009DE8:
- b _08009F06
- .pool
-_08009DF0:
- ldr r0, =0x0000aaab
- cmp r2, r0
- beq _08009EA8
- cmp r2, r0
- bgt _08009E10
- ldr r0, =0x00007777
- cmp r2, r0
- beq _08009E6C
- ldr r0, =0x0000aaaa
- b _08009DB2
- .pool
-_08009E10:
- ldr r0, =0x0000cafe
- cmp r2, r0
- beq _08009EF0
- cmp r2, r0
- bgt _08009E2C
- ldr r0, =0x0000bbbb
- cmp r2, r0
- beq _08009E8C
- b _08009F06
- .pool
-_08009E2C:
- ldr r0, =0x0000cccc
- cmp r2, r0
- beq _08009EBC
- b _08009F06
- .pool
-_08009E38:
- ldr r0, =gSendCmd
- strh r2, [r0]
- ldr r1, =gLinkType
- ldrh r1, [r1]
- b _08009F04
- .pool
-_08009E4C:
- ldr r0, =gSendCmd
- strh r2, [r0]
- ldr r1, =gMain
- ldrh r1, [r1, 0x2C]
- b _08009F04
- .pool
-_08009E60:
- ldr r0, =gSendCmd
- movs r1, 0
- b _08009F02
- .pool
-_08009E6C:
- ldr r0, =gSendCmd
- strh r2, [r0]
- movs r1, 0
- adds r3, r0, 0
- movs r2, 0xEE
-_08009E76:
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x4
- bls _08009E76
- b _08009F06
- .pool
-_08009E8C:
- ldr r1, =gSendCmd
- strh r2, [r1]
- ldr r2, =gUnknown_03000D10
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0x2]
- ldrb r0, [r2, 0x9]
- adds r0, 0x80
- strh r0, [r1, 0x4]
- b _08009F06
- .pool
-_08009EA8:
- ldr r0, =gSendCmd
- strh r2, [r0]
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- b _08009F04
- .pool
-_08009EBC:
- ldr r0, =gSendCmd
- strh r2, [r0]
- ldr r1, =gUnknown_03003150
- ldrb r1, [r1]
- b _08009F04
- .pool
-_08009ED0:
- ldr r0, =gSendCmd
- strh r2, [r0]
- ldr r1, =gUnknown_030030F4
- ldrh r1, [r1]
- b _08009F04
- .pool
-_08009EE4:
- ldr r0, =gSendCmd
- strh r2, [r0]
- b _08009F06
- .pool
-_08009EF0:
- ldr r0, =gUnknown_03005DA8
- ldrh r1, [r0]
- cmp r1, 0
- beq _08009F06
- ldr r0, =gUnknown_030022B4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08009F06
- ldr r0, =gSendCmd
-_08009F02:
- strh r2, [r0]
-_08009F04:
- strh r1, [r0, 0x2]
-_08009F06:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009D90
-
- thumb_func_start sub_8009F18
-sub_8009F18: @ 8009F18
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08009F26
- bl sub_800F804
-_08009F26:
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_8009F70
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009F18
-
- thumb_func_start sub_8009F3C
-sub_8009F3C: @ 8009F3C
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08009F50
- bl sub_800F7E4
- b _08009F6A
- .pool
-_08009F50:
- ldr r0, =gUnknown_03003140
- ldr r1, [r0]
- ldr r0, =sub_8009F70
- cmp r1, r0
- beq _08009F68
- movs r0, 0
- b _08009F6A
- .pool
-_08009F68:
- movs r0, 0x1
-_08009F6A:
- pop {r1}
- bx r1
- thumb_func_end sub_8009F3C
-
- thumb_func_start sub_8009F70
-sub_8009F70: @ 8009F70
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08009F80
- ldr r0, =0x0000cafe
- bl sub_8009D90
-_08009F80:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009F70
-
- thumb_func_start sub_8009F8C
-sub_8009F8C: @ 8009F8C
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r1, [r0]
- cmp r1, 0
- beq _08009FA0
- bl Rfu_set_zero
- b _08009FA4
- .pool
-_08009FA0:
- ldr r0, =gUnknown_03003140
- str r1, [r0]
-_08009FA4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009F8C
-
- thumb_func_start sub_8009FAC
-sub_8009FAC: @ 8009FAC
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r1, [r0]
- cmp r1, 0
- beq _08009FC0
- bl Rfu_set_zero
- b _08009FC4
- .pool
-_08009FC0:
- ldr r0, =gUnknown_03003140
- str r1, [r0]
-_08009FC4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009FAC
-
- thumb_func_start GetLinkPlayerCount
-GetLinkPlayerCount: @ 8009FCC
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _08009FEC
- ldr r0, =gLinkStatus
- ldr r0, [r0]
- movs r1, 0x1C
- ands r0, r1
- lsrs r0, 2
- b _08009FF4
- .pool
-_08009FEC:
- bl sub_80104F4
- lsls r0, 24
- lsrs r0, 24
-_08009FF4:
- pop {r1}
- bx r1
- thumb_func_end GetLinkPlayerCount
-
- thumb_func_start sub_8009FF8
-sub_8009FF8: @ 8009FF8
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r4, r0, 24
- movs r2, 0
- cmp r2, r4
- bge _0800A030
- movs r7, 0xFF
- ldr r3, =gLinkPlayers
-_0800A010:
- ldrh r0, [r3]
- adds r1, r7, 0
- ands r1, r0
- cmp r1, r6
- beq _0800A01E
- cmp r1, r5
- bne _0800A028
-_0800A01E:
- movs r0, 0x1
- b _0800A034
- .pool
-_0800A028:
- adds r3, 0x1C
- adds r2, 0x1
- cmp r2, r4
- blt _0800A010
-_0800A030:
- movs r0, 0x1
- negs r0, r0
-_0800A034:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8009FF8
-
- thumb_func_start sub_800A03C
-sub_800A03C: @ 800A03C
- movs r0, 0x2
- bx lr
- thumb_func_end sub_800A03C
-
- thumb_func_start sub_800A040
-sub_800A040: @ 800A040
- push {lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0800A05A
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8009FF8
- cmp r0, 0
- bge _0800A05E
-_0800A05A:
- movs r0, 0
- b _0800A060
-_0800A05E:
- movs r0, 0x1
-_0800A060:
- pop {r1}
- bx r1
- thumb_func_end sub_800A040
-
- thumb_func_start sub_800A064
-sub_800A064: @ 800A064
- push {lr}
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8009FF8
- cmp r0, 0
- bge _0800A076
- movs r0, 0
- b _0800A078
-_0800A076:
- movs r0, 0x1
-_0800A078:
- pop {r1}
- bx r1
- thumb_func_end sub_800A064
-
- thumb_func_start sub_800A07C
-sub_800A07C: @ 800A07C
- push {lr}
- movs r0, 0x4
- movs r1, 0x5
- bl sub_8009FF8
- adds r2, r0, 0
- cmp r2, 0
- blt _0800A0A4
- ldr r0, =gLinkPlayers
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x1A]
- cmp r0, 0x1
- bne _0800A0A4
- movs r0, 0x1
- b _0800A0A6
- .pool
-_0800A0A4:
- movs r0, 0
-_0800A0A6:
- pop {r1}
- bx r1
- thumb_func_end sub_800A07C
-
- thumb_func_start sub_800A0AC
-sub_800A0AC: @ 800A0AC
- push {lr}
- ldr r0, =gUnknown_03000D5C
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_020229C8
- strh r1, [r0]
- bl OpenLink
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A0AC
-
- thumb_func_start sub_800A0C8
-sub_800A0C8: @ 800A0C8
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _0800A0DA
- b _0800A214
-_0800A0DA:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bgt _0800A0EA
- cmp r0, r6
- ble _0800A0FC
-_0800A0EA:
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x6
- str r0, [r1]
- b _0800A22E
- .pool
-_0800A0FC:
- bl GetLinkPlayerCount
- lsls r0, 24
- cmp r0, 0
- bne _0800A10E
- ldr r0, =gUnknown_0300306C
- strb r4, [r0]
- bl CloseLink
-_0800A10E:
- movs r6, 0
- ldr r4, =gLinkPlayers
- movs r5, 0
- b _0800A134
- .pool
-_0800A120:
- adds r0, r4, 0
- adds r0, 0x14
- adds r0, r5, r0
- ldr r1, [r0]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- bne _0800A130
- adds r7, 0x1
-_0800A130:
- adds r5, 0x1C
- adds r6, 0x1
-_0800A134:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- blt _0800A120
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r7, r0
- bne _0800A1AC
- ldr r0, =gLinkPlayers
- ldr r1, [r0, 0x14]
- ldr r0, =0x00001133
- cmp r1, r0
- bne _0800A19C
- bl sub_807A728
- cmp r0, 0x1
- beq _0800A184
- cmp r0, 0x1
- bgt _0800A178
- cmp r0, 0
- beq _0800A19C
- ldr r3, =gUnknown_03000D5C
- b _0800A22C
- .pool
-_0800A178:
- cmp r0, 0x2
- beq _0800A190
- ldr r3, =gUnknown_03000D5C
- b _0800A22C
- .pool
-_0800A184:
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x4
- b _0800A1A0
- .pool
-_0800A190:
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x5
- b _0800A1A0
- .pool
-_0800A19C:
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x1
-_0800A1A0:
- str r0, [r1]
- adds r3, r1, 0
- b _0800A22C
- .pool
-_0800A1AC:
- ldr r6, =gUnknown_03000D5C
- movs r0, 0x3
- str r0, [r6]
- ldr r4, =gLinkPlayers
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x14
- adds r1, r4
- ldr r5, [r1]
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r1, [r1]
- ldr r2, =0x00002266
- cmp r5, r2
- bne _0800A1EA
- ldr r0, =0x00002277
- cmp r1, r0
- beq _0800A1F6
-_0800A1EA:
- ldr r0, =0x00002277
- adds r3, r6, 0
- cmp r5, r0
- bne _0800A22C
- cmp r1, r2
- bne _0800A22C
-_0800A1F6:
- ldr r1, =gSpecialVar_0x8005
- movs r0, 0x3
- strh r0, [r1]
- ldr r3, =gUnknown_03000D5C
- b _0800A22C
- .pool
-_0800A214:
- ldr r0, =gUnknown_020229C8
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x96
- lsls r0, 18
- ldr r3, =gUnknown_03000D5C
- cmp r1, r0
- bls _0800A22C
- movs r0, 0x2
- str r0, [r3]
-_0800A22C:
- ldrb r0, [r3]
-_0800A22E:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A0C8
-
- thumb_func_start sub_800A23C
-sub_800A23C: @ 800A23C
- push {r4-r6,lr}
- movs r6, 0
- movs r4, 0
- ldr r5, =gLinkPlayers
- b _0800A26C
- .pool
-_0800A24C:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x14
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r5, 0x14]
- cmp r1, r0
- bne _0800A266
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0800A266:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0800A26C:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _0800A24C
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _0800A290
- movs r2, 0x1
- ldr r0, =gUnknown_03000D5C
- str r2, [r0]
- b _0800A298
- .pool
-_0800A290:
- movs r2, 0
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x3
- str r0, [r1]
-_0800A298:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A23C
-
- thumb_func_start GetLinkPlayerTrainerId
-GetLinkPlayerTrainerId: @ 800A2A4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r2, 0x4
- adds r1, r2
- ldr r0, [r1]
- bx lr
- .pool
- thumb_func_end GetLinkPlayerTrainerId
-
- thumb_func_start sub_800A2BC
-sub_800A2BC: @ 800A2BC
- push {r4,r5,lr}
- ldr r5, =gLinkPlayers
- movs r4, 0x4
-_0800A2C2:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x1C
- bl memset
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _0800A2C2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A2BC
-
- thumb_func_start sub_800A2E0
-sub_800A2E0: @ 800A2E0
- ldr r1, =gUnknown_03000D10
- movs r0, 0
- strb r0, [r1, 0x8]
- strh r0, [r1]
- strh r0, [r1, 0x2]
- str r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_800A2E0
-
- thumb_func_start sub_800A2F4
-sub_800A2F4: @ 800A2F4
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r4, =gUnknown_03000D10
- ldrb r5, [r4, 0x8]
- cmp r5, 0
- beq _0800A30C
- movs r0, 0
- b _0800A34A
- .pool
-_0800A30C:
- bl GetMultiplayerId
- strb r0, [r4, 0x9]
- movs r0, 0x1
- strb r0, [r4, 0x8]
- strh r6, [r4, 0x2]
- strh r5, [r4]
- adds r0, 0xFF
- cmp r6, r0
- bls _0800A324
- str r7, [r4, 0x4]
- b _0800A336
-_0800A324:
- ldr r5, =gBlockSendBuffer
- cmp r7, r5
- beq _0800A334
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
-_0800A334:
- str r5, [r4, 0x4]
-_0800A336:
- ldr r0, =0x0000bbbb
- bl sub_8009D90
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A364
- str r0, [r1]
- ldr r1, =gUnknown_03000D50
- movs r0, 0
- str r0, [r1]
- movs r0, 0x1
-_0800A34A:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A2F4
-
- thumb_func_start sub_800A364
-sub_800A364: @ 800A364
- push {lr}
- ldr r1, =gUnknown_03000D50
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x2
- bls _0800A378
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A388
- str r0, [r1]
-_0800A378:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A364
-
- thumb_func_start sub_800A388
-sub_800A388: @ 800A388
- push {r4-r6,lr}
- ldr r0, =gUnknown_03000D10
- ldr r5, [r0, 0x4]
- ldr r2, =gSendCmd
- ldr r1, =0x00008888
- strh r1, [r2]
- movs r3, 0
- adds r4, r0, 0
- adds r6, r4, 0
- adds r2, 0x2
-_0800A39C:
- lsls r0, r3, 1
- ldrh r1, [r6]
- adds r0, r1
- adds r0, r5
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- strh r0, [r2]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x6
- ble _0800A39C
- ldrh r0, [r4]
- adds r0, 0xE
- strh r0, [r4]
- ldrh r1, [r4, 0x2]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _0800A3D0
- movs r0, 0
- strb r0, [r4, 0x8]
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A3EC
- str r0, [r1]
-_0800A3D0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A388
-
- thumb_func_start sub_800A3EC
-sub_800A3EC: @ 800A3EC
- ldr r1, =gUnknown_03003140
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_800A3EC
-
- thumb_func_start sub_800A3F8
-sub_800A3F8: @ 800A3F8
- push {lr}
- bl GetMultiplayerId
- ldr r0, =0x00004444
- bl sub_8009D90
- ldr r1, =gUnknown_020223C0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A3F8
-
- thumb_func_start sub_800A418
-sub_800A418: @ 800A418
- push {lr}
- ldr r1, =gUnknown_020223C0
- movs r0, 0
- str r0, [r1]
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800A438
- bl sub_800F850
- b _0800A43E
- .pool
-_0800A438:
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A3F8
- str r0, [r1]
-_0800A43E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A418
-
- thumb_func_start sub_800A44C
-sub_800A44C: @ 800A44C
- ldr r0, =gUnknown_020223C0
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800A44C
-
- thumb_func_start sub_800A458
-sub_800A458: @ 800A458
- push {lr}
- ldr r0, =0x0000aaaa
- bl sub_8009D90
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A458
-
- thumb_func_start GetMultiplayerId
-GetMultiplayerId: @ 800A468
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800A484
- ldr r0, =0x04000128
- ldr r0, [r0]
- lsls r0, 26
- lsrs r0, 30
- b _0800A48C
- .pool
-_0800A484:
- bl rfu_get_multiplayer_id
- lsls r0, 24
- lsrs r0, 24
-_0800A48C:
- pop {r1}
- bx r1
- thumb_func_end GetMultiplayerId
-
- thumb_func_start bitmask_all_link_players_but_self
-bitmask_all_link_players_but_self: @ 800A490
- push {lr}
- bl GetMultiplayerId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- lsls r0, r1
- movs r1, 0xF
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end bitmask_all_link_players_but_self
-
- thumb_func_start SendBlock
-SendBlock: @ 800A4AC
- push {lr}
- adds r3, r1, 0
- lsls r2, 16
- lsrs r1, r2, 16
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800A4C8
- adds r0, r3, 0
- bl sub_800A2F4
- b _0800A4CE
- .pool
-_0800A4C8:
- adds r0, r3, 0
- bl sub_800FE84
-_0800A4CE:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end SendBlock
-
- thumb_func_start sub_800A4D8
-sub_800A4D8: @ 800A4D8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A4F8
- adds r0, r1, 0
- bl sub_8010100
- lsls r0, 24
- lsrs r0, 24
- b _0800A514
- .pool
-_0800A4F8:
- ldr r0, =gUnknown_03003140
- ldr r0, [r0]
- cmp r0, 0
- beq _0800A508
- movs r0, 0
- b _0800A514
- .pool
-_0800A508:
- ldr r0, =gUnknown_03003150
- strb r2, [r0]
- ldr r0, =0x0000cccc
- bl sub_8009D90
- movs r0, 0x1
-_0800A514:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A4D8
-
- thumb_func_start sub_800A520
-sub_800A520: @ 800A520
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A538
- bl sub_8010500
- lsls r0, 24
- lsrs r0, 24
- b _0800A546
- .pool
-_0800A538:
- movs r1, 0
- ldr r0, =gUnknown_03003140
- ldr r0, [r0]
- cmp r0, 0
- bne _0800A544
- movs r1, 0x1
-_0800A544:
- adds r0, r1, 0
-_0800A546:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A520
-
- thumb_func_start GetBlockReceivedStatus
-GetBlockReceivedStatus: @ 800A550
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800A57C
- ldr r2, =gUnknown_0300307C
- ldrb r0, [r2, 0x3]
- lsls r0, 3
- ldrb r1, [r2, 0x2]
- lsls r1, 2
- orrs r0, r1
- ldrb r1, [r2, 0x1]
- lsls r1, 1
- orrs r0, r1
- ldrb r1, [r2]
- orrs r0, r1
- b _0800A580
- .pool
-_0800A57C:
- bl sub_800FCD8
-_0800A580:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetBlockReceivedStatus
-
- thumb_func_start sub_800A588
-sub_800A588: @ 800A588
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A5A4
- adds r0, r1, 0
- bl sub_800F6FC
- b _0800A5AC
- .pool
-_0800A5A4:
- ldr r0, =gUnknown_0300307C
- adds r0, r1, r0
- movs r1, 0x1
- strb r1, [r0]
-_0800A5AC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A588
-
- thumb_func_start ResetBlockReceivedFlags
-ResetBlockReceivedFlags: @ 800A5B4
- push {r4,lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A5D4
- movs r4, 0
-_0800A5C0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_800F728
- adds r4, 0x1
- cmp r4, 0x4
- ble _0800A5C0
- b _0800A5E2
- .pool
-_0800A5D4:
- ldr r1, =gUnknown_0300307C
- movs r2, 0
- adds r0, r1, 0x3
-_0800A5DA:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _0800A5DA
-_0800A5E2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetBlockReceivedFlags
-
- thumb_func_start ResetBlockReceivedFlag
-ResetBlockReceivedFlag: @ 800A5EC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A608
- adds r0, r1, 0
- bl sub_800F728
- b _0800A616
- .pool
-_0800A608:
- ldr r0, =gUnknown_0300307C
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800A616
- movs r0, 0
- strb r0, [r1]
-_0800A616:
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetBlockReceivedFlag
-
- thumb_func_start sub_800A620
-sub_800A620: @ 800A620
- push {lr}
- ldr r0, =gLinkStatus
- ldr r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0800A63C
- movs r0, 0x1C
- ands r1, r0
- cmp r1, 0x4
- bls _0800A63C
- ldr r1, =gUnknown_03003144
- movs r0, 0x1
- strb r0, [r1]
-_0800A63C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A620
-
- thumb_func_start sub_800A648
-sub_800A648: @ 800A648
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- movs r3, 0
- movs r2, 0
- lsrs r1, 17
- cmp r3, r1
- bcs _0800A66E
-_0800A658:
- lsls r0, r2, 1
- adds r0, r4
- ldrh r0, [r0]
- adds r0, r3, r0
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r1
- bcc _0800A658
-_0800A66E:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800A648
-
- thumb_func_start sub_800A678
-sub_800A678: @ 800A678
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- ldr r4, =gUnknown_03003130
- ldr r3, [r4]
- lsls r3, 11
- movs r5, 0xC0
- lsls r5, 19
- adds r3, r5
- lsrs r2, 19
- adds r2, r1
- lsls r2, 1
- adds r2, r3
- ldr r3, [r4, 0x4]
- lsls r3, 12
- ldr r1, [r4, 0x8]
- adds r1, 0x1
- adds r0, r1
- orrs r3, r0
- strh r3, [r2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A678
-
- thumb_func_start sub_800A6B0
-sub_800A6B0: @ 800A6B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- ldr r4, =gUnknown_03003130
- ldr r3, [r4]
- lsls r3, 11
- movs r5, 0xC0
- lsls r5, 19
- adds r3, r5
- lsrs r2, 19
- adds r2, r1
- lsls r2, 1
- adds r2, r3
- ldr r3, [r4, 0x4]
- lsls r3, 12
- ldr r1, [r4, 0x8]
- adds r1, r0
- orrs r3, r1
- strh r3, [r2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A6B0
-
- thumb_func_start sub_800A6E8
-sub_800A6E8: @ 800A6E8
- push {r4-r7,lr}
- sub sp, 0x10
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- cmp r4, r3
- bge _0800A714
- movs r2, 0xF
-_0800A702:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1]
- lsrs r5, 4
- adds r4, 0x1
- cmp r4, r3
- blt _0800A702
-_0800A714:
- subs r4, r3, 0x1
- cmp r4, 0
- blt _0800A734
-_0800A71A:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_800A678
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bge _0800A71A
-_0800A734:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A6E8
-
- thumb_func_start sub_800A73C
-sub_800A73C: @ 800A73C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x10]
- cmp r6, 0
- bge _0800A768
- str r7, [sp, 0x10]
- negs r6, r6
-_0800A768:
- movs r5, 0
- movs r1, 0x1
- negs r1, r1
- add r1, r8
- mov r10, r1
- cmp r5, r8
- bge _0800A794
-_0800A776:
- mov r0, sp
- adds r4, r0, r5
- adds r0, r6, 0
- movs r1, 0xA
- bl __modsi3
- strb r0, [r4]
- adds r0, r6, 0
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- adds r5, 0x1
- cmp r5, r8
- blt _0800A776
-_0800A794:
- mov r5, r10
- cmp r5, 0
- blt _0800A7B4
-_0800A79A:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r1, r7, 0
- mov r2, r9
- bl sub_800A678
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- subs r5, 0x1
- cmp r5, 0
- bge _0800A79A
-_0800A7B4:
- movs r0, 0x1
- negs r0, r0
- ldr r1, [sp, 0x10]
- cmp r1, r0
- beq _0800A7CA
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xA
- mov r2, r9
- bl sub_800A678
-_0800A7CA:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A73C
-
- thumb_func_start sub_800A7DC
-sub_800A7DC: @ 800A7DC
- push {r4-r7,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r6, 0
- ldrb r0, [r3]
- cmp r0, 0
- beq _0800A81C
- adds r4, r3, 0
- lsls r5, r2, 24
-_0800A7F4:
- ldrb r0, [r4]
- cmp r0, 0xA
- bne _0800A804
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- movs r6, 0
- b _0800A814
-_0800A804:
- ldrb r0, [r4]
- adds r1, r7, r6
- lsls r1, 24
- lsrs r1, 24
- lsrs r2, r5, 24
- bl sub_800A6B0
- adds r6, 0x1
-_0800A814:
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0
- bne _0800A7F4
-_0800A81C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A7DC
-
- thumb_func_start sub_800A824
-sub_800A824: @ 800A824
- push {lr}
- ldr r0, =gLinkStatus
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
-_0800A830:
- beq _0800A838
- ldr r0, =0x00002222
- bl sub_8009D90
-_0800A838:
- ldr r1, =gUnknown_03003140
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A824
-
- thumb_func_start task00_link_test
-task00_link_test: @ 800A850
- push {r4-r6,lr}
- sub sp, 0x20
- ldr r1, =gASCIITestPrint
- mov r0, sp
- bl strcpy
- mov r0, sp
- movs r1, 0x5
- movs r2, 0x2
- bl sub_800A7DC
- ldr r0, =gUnknown_03003144
- ldrb r0, [r0]
- movs r1, 0x2
- movs r2, 0x1
- movs r3, 0x2
- bl sub_800A6E8
- ldr r4, =gLinkStatus
- ldr r0, [r4]
- movs r1, 0xF
- movs r2, 0x1
- movs r3, 0x8
- bl sub_800A6E8
- ldr r0, =gUnknown_03003170
- ldrb r0, [r0, 0x1]
- movs r1, 0x2
- movs r2, 0xA
- movs r3, 0x2
- bl sub_800A6E8
- ldr r0, [r4]
- movs r1, 0x1C
- ands r0, r1
- lsrs r0, 2
- movs r1, 0xF
- movs r2, 0xA
- movs r3, 0x2
- bl sub_800A6E8
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xF
- movs r2, 0xC
- movs r3, 0x2
- bl sub_800A6E8
- ldr r0, =gUnknown_03003160
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0x1
- movs r3, 0x2
- bl sub_800A6E8
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0x2
- movs r3, 0x2
- bl sub_800A6E8
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xF
- movs r2, 0x5
- movs r3, 0x2
- bl sub_800A6E8
- ldr r0, =gUnknown_0300302C
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xC
- movs r3, 0x8
- bl sub_800A6E8
- ldr r0, =gUnknown_03003070
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- movs r3, 0x8
- bl sub_800A6E8
- bl sub_800B2E8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0x5
- movs r3, 0x1
- bl sub_800A6E8
- bl sub_800B2F8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0x6
- movs r3, 0x1
- bl sub_800A6E8
- bl IsLinkConnectionEstablished
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0x7
- movs r3, 0x1
- bl sub_800A6E8
- bl sub_800B33C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0x8
- movs r3, 0x1
- bl sub_800A6E8
- movs r6, 0
- movs r5, 0x80
- lsls r5, 19
- ldr r4, =gUnknown_03003148
-_0800A94E:
- ldrh r0, [r4]
- lsrs r2, r5, 24
- movs r1, 0xA
- movs r3, 0x4
- bl sub_800A6E8
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0800A94E
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_link_test
-
- thumb_func_start SetLinkDebugValues
-SetLinkDebugValues: @ 800A994
- ldr r2, =gUnknown_0300302C
- str r0, [r2]
- ldr r0, =gUnknown_03003070
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end SetLinkDebugValues
-
- thumb_func_start sub_800A9A8
-sub_800A9A8: @ 800A9A8
- push {r4,lr}
- movs r1, 0
- movs r2, 0
- ldr r0, =gUnknown_03003100
- ldrb r0, [r0]
- cmp r1, r0
- bge _0800A9CA
- movs r4, 0x1
- adds r3, r0, 0
-_0800A9BA:
- adds r0, r4, 0
- lsls r0, r2
- orrs r1, r0
- lsls r0, r1, 24
- lsrs r1, r0, 24
- adds r2, 0x1
- cmp r2, r3
- blt _0800A9BA
-_0800A9CA:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A9A8
-
- thumb_func_start sub_800A9D8
-sub_800A9D8: @ 800A9D8
- push {r4-r6,lr}
- movs r4, 0
- movs r5, 0
- movs r6, 0x1
- b _0800A9EE
-_0800A9E2:
- adds r0, r6, 0
- lsls r0, r5
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
- adds r5, 0x1
-_0800A9EE:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _0800A9E2
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_800A9D8
-
- thumb_func_start sub_800AA04
-sub_800AA04: @ 800AA04
- push {r4-r7,lr}
- ldr r1, =gUnknown_03003100
- strb r0, [r1]
- bl GetMultiplayerId
- ldr r1, =gUnknown_03003120
- strb r0, [r1]
- ldr r4, =gLinkPlayers
- ldr r3, =gUnknown_02022A74
- movs r2, 0x4
-_0800AA18:
- adds r0, r3, 0
- adds r1, r4, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r1]
- str r1, [r0]
- adds r4, 0x1C
- adds r3, 0x1C
- subs r2, 0x1
- cmp r2, 0
- bge _0800AA18
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AA04
-
- thumb_func_start sub_800AA48
-sub_800AA48: @ 800AA48
- ldr r0, =gUnknown_03003100
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800AA48
-
- thumb_func_start sub_800AA54
-sub_800AA54: @ 800AA54
- ldr r0, =gUnknown_03003120
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800AA54
-
- thumb_func_start sub_800AA60
-sub_800AA60: @ 800AA60
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r3, 0
- ldr r0, =gUnknown_03003100
- ldrb r1, [r0]
- mov r9, r0
- cmp r3, r1
- bge _0800AAB4
- ldr r0, =gLinkPlayers
- mov r12, r0
- ldr r0, =gUnknown_02022A74
- ldr r2, =0x00002288
- mov r8, r2
- ldr r7, =gLinkType
- mov r6, r12
- adds r6, 0x14
- adds r5, r0, 0x4
- movs r4, 0
- adds r2, r1, 0
-_0800AA8A:
- mov r0, r12
- adds r0, 0x4
- adds r0, r4, r0
- ldr r1, [r0]
- ldr r0, [r5]
- cmp r1, r0
- bne _0800AAA8
- ldrh r0, [r7]
- cmp r0, r8
- bne _0800AAA6
- adds r1, r0, 0
- ldr r0, [r6]
- cmp r1, r0
- bne _0800AAA8
-_0800AAA6:
- adds r3, 0x1
-_0800AAA8:
- adds r6, 0x1C
- adds r5, 0x1C
- adds r4, 0x1C
- subs r2, 0x1
- cmp r2, 0
- bne _0800AA8A
-_0800AAB4:
- mov r0, r9
- ldrb r0, [r0]
- cmp r3, r0
- bne _0800AAE4
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- ldrb r1, [r1]
- cmp r0, r1
- bne _0800AAE4
- movs r0, 0x1
- b _0800AAE6
- .pool
-_0800AAE4:
- movs r0, 0
-_0800AAE6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800AA60
-
- thumb_func_start sub_800AAF4
-sub_800AAF4: @ 800AAF4
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022A74
- movs r4, 0x3
-_0800AAFA:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x1C
- bl CpuSet
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _0800AAFA
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AAF4
-
- thumb_func_start sub_800AB18
-sub_800AB18: @ 800AB18
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- ldr r0, =gUnknown_03003100
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0800AB78
- ldr r6, =gUnknown_02022A74
- ldr r5, =gLinkPlayers
- movs r0, 0x8
- adds r0, r6
- mov r8, r0
- adds r7, r5, 0
- adds r7, 0x8
-_0800AB36:
- lsls r0, r4, 3
- subs r0, r4
- lsls r2, r0, 2
- adds r1, r6, 0x4
- adds r1, r2, r1
- adds r0, r5, 0x4
- adds r0, r2, r0
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- bne _0800AB5A
- mov r1, r8
- adds r0, r2, r1
- adds r1, r2, r7
- bl StringCompare
- cmp r0, 0
- beq _0800AB6A
-_0800AB5A:
- ldr r1, =gUnknown_0300306C
- movs r0, 0x1
- strb r0, [r1]
- bl CloseLink
- ldr r0, =c2_800ACD4
- bl SetMainCallback2
-_0800AB6A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_03003100
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0800AB36
-_0800AB78:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AB18
-
- thumb_func_start sub_800AB98
-sub_800AB98: @ 800AB98
- ldr r0, =gUnknown_03003100
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_03003120
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_800AB98
-
- thumb_func_start GetLinkPlayerCount_2
-GetLinkPlayerCount_2: @ 800ABAC
- ldr r0, =gLinkStatus
- ldr r0, [r0]
- movs r1, 0x1C
- ands r0, r1
- lsrs r0, 2
- bx lr
- .pool
- thumb_func_end GetLinkPlayerCount_2
-
- thumb_func_start IsLinkMaster
-IsLinkMaster: @ 800ABBC
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800ABDC
- ldr r0, =gLinkStatus
- ldr r0, [r0]
- lsrs r0, 5
- movs r1, 0x1
- ands r0, r1
- b _0800ABE4
- .pool
-_0800ABDC:
- bl sub_8011AB0
- lsls r0, 24
- lsrs r0, 24
-_0800ABE4:
- pop {r1}
- bx r1
- thumb_func_end IsLinkMaster
-
- thumb_func_start sub_800ABE8
-sub_800ABE8: @ 800ABE8
- ldr r0, =gUnknown_03000D58
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800ABE8
-
- thumb_func_start sub_800ABF4
-sub_800ABF4: @ 800ABF4
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800AC0C
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- b _0800AC20
- .pool
-_0800AC0C:
- ldr r2, =gUnknown_03003140
- ldr r1, [r2]
- cmp r1, 0
- bne _0800AC20
- ldr r0, =sub_800AC80
- str r0, [r2]
- ldr r0, =gUnknown_030030E4
- strb r1, [r0]
- ldr r0, =gUnknown_030030F4
- strh r3, [r0]
-_0800AC20:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ABF4
-
- thumb_func_start sub_800AC34
-sub_800AC34: @ 800AC34
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800AC48
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- b _0800AC70
- .pool
-_0800AC48:
- ldr r2, =gUnknown_03003140
- ldr r1, [r2]
- cmp r1, 0
- beq _0800AC64
- ldr r1, =gUnknown_02022B08
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0800AC70
- .pool
-_0800AC64:
- ldr r0, =sub_800AC80
- str r0, [r2]
- ldr r0, =gUnknown_030030E4
- strb r1, [r0]
- ldr r0, =gUnknown_030030F4
- strh r1, [r0]
-_0800AC70:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AC34
-
- thumb_func_start sub_800AC80
-sub_800AC80: @ 800AC80
- push {lr}
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AC96
- ldr r0, =0x00005fff
- bl sub_8009D90
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800ACAC
- str r0, [r1]
-_0800AC96:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AC80
-
- thumb_func_start sub_800ACAC
-sub_800ACAC: @ 800ACAC
- push {r4,lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r3, 0
- movs r1, 0
- cmp r3, r2
- bge _0800ACD0
- ldr r4, =gUnknown_030030F0
-_0800ACC0:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800ACCA
- adds r3, 0x1
-_0800ACCA:
- adds r1, 0x1
- cmp r1, r2
- blt _0800ACC0
-_0800ACD0:
- cmp r3, r2
- bne _0800ACF4
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_03002748
- movs r4, 0x1
- strb r4, [r0]
- bl CloseLink
- ldr r1, =gUnknown_03003140
- movs r0, 0
- str r0, [r1]
- ldr r0, =gUnknown_030030E4
- strb r4, [r0]
-_0800ACF4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ACAC
-
- thumb_func_start sub_800AD10
-sub_800AD10: @ 800AD10
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800AD24
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- b _0800AD4C
- .pool
-_0800AD24:
- ldr r2, =gUnknown_03003140
- ldr r1, [r2]
- cmp r1, 0
- beq _0800AD40
- ldr r1, =gUnknown_02022B08
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0800AD4C
- .pool
-_0800AD40:
- ldr r0, =sub_800AD5C
- str r0, [r2]
- ldr r0, =gUnknown_030030E4
- strb r1, [r0]
- ldr r0, =gUnknown_030030F4
- strh r1, [r0]
-_0800AD4C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AD10
-
- thumb_func_start sub_800AD5C
-sub_800AD5C: @ 800AD5C
- push {lr}
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AD72
- ldr r0, =0x00005fff
- bl sub_8009D90
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800AD88
- str r0, [r1]
-_0800AD72:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AD5C
-
- thumb_func_start sub_800AD88
-sub_800AD88: @ 800AD88
- push {r4,r5,lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- movs r2, 0
- cmp r1, r3
- bge _0800ADB6
- ldr r5, =gUnknown_030030F0
- ldr r4, =gLinkPlayers
-_0800AD9E:
- ldrh r0, [r4, 0x1A]
- cmp r0, 0x1
- beq _0800ADAC
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800ADAE
-_0800ADAC:
- adds r1, 0x1
-_0800ADAE:
- adds r4, 0x1C
- adds r2, 0x1
- cmp r2, r3
- blt _0800AD9E
-_0800ADB6:
- cmp r1, r3
- bne _0800ADDA
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_03002748
- movs r4, 0x1
- strb r4, [r0]
- bl CloseLink
- ldr r1, =gUnknown_03003140
- movs r0, 0
- str r0, [r1]
- ldr r0, =gUnknown_030030E4
- strb r4, [r0]
-_0800ADDA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AD88
-
- thumb_func_start sub_800ADF8
-sub_800ADF8: @ 800ADF8
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800AE0C
- bl sub_8010434
- b _0800AE1E
- .pool
-_0800AE0C:
- ldr r1, =gUnknown_03003140
- ldr r0, [r1]
- cmp r0, 0
- bne _0800AE18
- ldr r0, =sub_800AE30
- str r0, [r1]
-_0800AE18:
- ldr r1, =gUnknown_030030E4
- movs r0, 0
- strb r0, [r1]
-_0800AE1E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ADF8
-
- thumb_func_start sub_800AE30
-sub_800AE30: @ 800AE30
- push {lr}
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AE46
- ldr r0, =0x00002ffe
- bl sub_8009D90
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800AE5C
- str r0, [r1]
-_0800AE46:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AE30
-
- thumb_func_start sub_800AE5C
-sub_800AE5C: @ 800AE5C
- push {r4,lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- cmp r1, r2
- bcs _0800AE86
- ldr r3, =gUnknown_030030EC
- ldrb r0, [r3]
- cmp r0, 0
- beq _0800AE86
-_0800AE74:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _0800AE86
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AE74
-_0800AE86:
- cmp r1, r2
- bne _0800AEA4
- movs r1, 0
- ldr r4, =gUnknown_03003140
- ldr r3, =gUnknown_030030EC
- movs r2, 0
-_0800AE92:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _0800AE92
- movs r0, 0
- str r0, [r4]
-_0800AEA4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AE5C
-
- thumb_func_start sub_800AEB4
-sub_800AEB4: @ 800AEB4
- push {lr}
- ldr r0, =gUnknown_020229C4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800AEF4
- ldr r0, =gLinkStatus
- ldr r2, [r0]
- movs r0, 0xFE
- lsls r0, 11
- ands r0, r2
- cmp r0, 0
- beq _0800AEF4
- ldr r0, =gUnknown_030030F8
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AEEA
- ldr r1, =gUnknown_02022B00
- str r2, [r1]
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- strb r0, [r1, 0x4]
- ldr r0, =gUnknown_03003160
- ldrb r0, [r0]
- strb r0, [r1, 0x5]
- ldr r0, =c2_800ACD4
- bl SetMainCallback2
-_0800AEEA:
- ldr r1, =gUnknown_0300306C
- movs r0, 0x1
- strb r0, [r1]
- bl CloseLink
-_0800AEF4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AEB4
-
- thumb_func_start sub_800AF18
-sub_800AF18: @ 800AF18
- push {r4,lr}
- ldr r4, =gUnknown_02022B00
- str r0, [r4]
- strb r1, [r4, 0x5]
- strb r2, [r4, 0x4]
- strb r3, [r4, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AF18
-
- thumb_func_start c2_800ACD4
-c2_800ACD4: @ 800AF30
- push {r4,lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gMPlayInfo_SE1
- bl m4aMPlayStop
- ldr r0, =gMPlayInfo_SE2
- bl m4aMPlayStop
- ldr r0, =gMPlayInfo_SE3
- bl m4aMPlayStop
- ldr r0, =0x02000000
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetPaletteFadeControl
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- bl ResetTasks
- bl ScanlineEffect_Stop
- ldr r1, =gLinkVSyncDisabled
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800AF8C
- ldr r0, =gUnknown_02022B00
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0800AF88
- movs r0, 0x3
- strb r0, [r1]
-_0800AF88:
- bl sub_800E604
-_0800AF8C:
- ldr r0, =sub_80096BC
- bl SetVBlankCallback
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082ED1FC
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_02022B0C
- movs r0, 0x80
- lsls r0, 4
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_082ED204
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _0800B03C
- bl DeactivateAllTextPrinters
- bl reset_temp_tile_data_buffers
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r1, 0xE0
- lsls r1, 8
- movs r0, 0
- bl ClearGpuRegBits
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gSoftResetDisabled
- movs r0, 0
- strb r0, [r1]
- ldr r0, =Task_DestroySelf
- movs r1, 0
- bl CreateTask
- bl StopMapMusic
- ldr r1, =gMain
- movs r0, 0
- str r0, [r1]
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, =sub_800B1A0
- bl SetMainCallback2
-_0800B03C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_800ACD4
-
- thumb_func_start sub_800B080
-sub_800B080: @ 800B080
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, =g2BlankTilesGfx
- movs r0, 0
- movs r2, 0x20
- movs r3, 0
- bl LoadBgTiles
- ldr r1, =gWirelessLinkDisplayGfx
- movs r5, 0
- str r5, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gWirelessLinkDisplayTilemap
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, =gWirelessLinkDisplayPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_082ED224
- str r4, [sp]
- str r5, [sp, 0x4]
- ldr r0, =gText_CommErrorEllipsis
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x6
- bl box_print
- str r4, [sp]
- str r5, [sp, 0x4]
- ldr r0, =gText_MoveCloserToLinkPartner
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x1
- bl box_print
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0
- bl CopyWindowToVram
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B080
-
- thumb_func_start sub_800B138
-sub_800B138: @ 800B138
- push {lr}
- sub sp, 0xC
- ldr r1, =g2BlankTilesGfx
- movs r0, 0
- movs r2, 0x20
- movs r3, 0
- bl LoadBgTiles
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_082ED224
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, =gText_CommErrorCheckConnections
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0
- bl box_print
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0
- bl CopyWindowToVram
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B138
-
- thumb_func_start sub_800B1A0
-sub_800B1A0: @ 800B1A0
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1E
- beq _0800B20C
- cmp r0, 0x1E
- bgt _0800B1C4
- cmp r0, 0
- beq _0800B1D8
- cmp r0, 0x2
- beq _0800B1F2
- b _0800B260
- .pool
-_0800B1C4:
- cmp r0, 0x5A
- beq _0800B20C
- cmp r0, 0x5A
- bgt _0800B1D2
- cmp r0, 0x3C
- beq _0800B20C
- b _0800B260
-_0800B1D2:
- cmp r0, 0x82
- beq _0800B214
- b _0800B260
-_0800B1D8:
- ldr r0, =gUnknown_02022B00
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0800B1EC
- bl sub_800B080
- b _0800B260
- .pool
-_0800B1EC:
- bl sub_800B138
- b _0800B260
-_0800B1F2:
- movs r0, 0
- bl ShowBg
- ldr r0, =gUnknown_02022B00
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0800B260
- movs r0, 0x1
- bl ShowBg
- b _0800B260
- .pool
-_0800B20C:
- movs r0, 0x16
- bl PlaySE
- b _0800B260
-_0800B214:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0800B244
- ldr r0, =gUnknown_082ED224
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, =gText_ABtnTitleScreen
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x14
- bl box_print
- b _0800B260
- .pool
-_0800B244:
- cmp r0, 0x1
- bne _0800B260
- ldr r0, =gUnknown_082ED224
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, =gText_ABtnRegistrationCounter
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x14
- bl box_print
-_0800B260:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r0, r2
- ldrb r1, [r1]
- cmp r1, 0xA0
- bne _0800B2D0
- ldr r4, =gLinkVSyncDisabled
- ldrb r2, [r4]
- cmp r2, 0x1
- bne _0800B2A8
- ldrh r0, [r0, 0x2E]
- ands r2, r0
- cmp r2, 0
- beq _0800B2C2
- movs r0, 0x15
- bl PlaySE
- movs r0, 0
- strb r0, [r4]
- ldr r1, =gUnknown_02022B00
- movs r0, 0
- strb r0, [r1, 0x6]
- bl sub_81700F8
- b _0800B2C2
- .pool
-_0800B2A8:
- cmp r2, 0x2
- bne _0800B2C2
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0800B2C2
- bl rfu_REQ_stopMode
- bl rfu_waitREQComplete
- bl DoSoftReset
-_0800B2C2:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r0, r2
- ldrb r1, [r1]
- cmp r1, 0xA0
- beq _0800B2DC
-_0800B2D0:
- movs r2, 0x87
- lsls r2, 3
- adds r1, r0, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0800B2DC:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B1A0
-
- thumb_func_start sub_800B2E8
-sub_800B2E8: @ 800B2E8
- ldr r0, =0x04000128
- ldrh r0, [r0]
- lsrs r0, 2
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sub_800B2E8
-
- thumb_func_start sub_800B2F8
-sub_800B2F8: @ 800B2F8
- push {lr}
- movs r3, 0
- ldr r2, =0x04000128
- ldrh r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0800B314
- ldrh r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0800B314
- movs r3, 0x1
-_0800B314:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800B2F8
-
- thumb_func_start IsLinkConnectionEstablished
-IsLinkConnectionEstablished: @ 800B320
- ldr r0, =gLinkStatus
- ldr r0, [r0]
- lsrs r0, 6
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end IsLinkConnectionEstablished
-
- thumb_func_start sub_800B330
-sub_800B330: @ 800B330
- ldr r1, =gUnknown_030030F8
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_800B330
-
- thumb_func_start sub_800B33C
-sub_800B33C: @ 800B33C
- ldr r0, =gUnknown_0300306C
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800B33C
-
- thumb_func_start sub_800B348
-sub_800B348: @ 800B348
- push {r4-r6,lr}
- bl sub_8009638
- ldr r1, =gUnknown_03003030
- adds r2, r1, 0
- adds r2, 0x10
- ldr r0, =gUnknown_020229CC
- ldm r0!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldr r0, [r0]
- str r0, [r2]
- ldr r3, =gASCIIGameFreakInc
- adds r2, r1, 0
- adds r0, r3, 0
- ldm r0!, {r4-r6}
- stm r2!, {r4-r6}
- ldrh r4, [r0]
- strh r4, [r2]
- ldrb r0, [r0, 0x2]
- strb r0, [r2, 0x2]
- adds r0, r1, 0
- adds r0, 0x2C
- ldm r3!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldrh r2, [r3]
- strh r2, [r0]
- ldrb r2, [r3, 0x2]
- strb r2, [r0, 0x2]
- ldr r0, =gBlockSendBuffer
- movs r2, 0x3C
- bl memcpy
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B348
-
- thumb_func_start sub_800B3A4
-sub_800B3A4: @ 800B3A4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 8
- ldr r1, =gBlockRecvBuffer
- adds r4, r2, r1
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- ldr r0, =gLinkPlayers
- adds r2, r0
- adds r1, r2, 0
- adds r0, r4, 0
- adds r0, 0x10
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r2, 0
- bl sub_800B524
- ldr r5, =gASCIIGameFreakInc
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- bne _0800B3EE
- adds r0, r4, 0
- adds r0, 0x2C
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- beq _0800B3F4
-_0800B3EE:
- ldr r0, =c2_800ACD4
- bl SetMainCallback2
-_0800B3F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B3A4
-
- thumb_func_start HandleLinkConnection
-HandleLinkConnection: @ 800B40C
- push {r4,r5,lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800B45C
- ldr r0, =gUnknown_03003144
- ldr r1, =gSendCmd
- ldr r2, =gRecvCmds
- bl sub_800B638
- ldr r4, =gLinkStatus
- str r0, [r4]
- ldr r0, =gUnknown_030022EC
- bl sub_80099E0
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 1
- ands r0, r1
- cmp r0, 0
- beq _0800B480
- bl sub_808766C
- cmp r0, 0x1
- bne _0800B480
-_0800B43E:
- movs r0, 0x1
- b _0800B482
- .pool
-_0800B45C:
- bl sub_8010EC0
- adds r4, r0, 0
- bl sub_8010F1C
- adds r5, r0, 0
- bl sub_808766C
- cmp r0, 0x1
- bne _0800B480
- cmp r4, 0x1
- beq _0800B43E
- bl sub_800F0B8
- cmp r0, 0
- bne _0800B43E
- cmp r5, 0
- bne _0800B43E
-_0800B480:
- movs r0, 0
-_0800B482:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end HandleLinkConnection
-
- thumb_func_start sub_800B488
-sub_800B488: @ 800B488
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800B498
- ldr r1, =gLinkVSyncDisabled
- movs r0, 0x1
- strb r0, [r1]
-_0800B498:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B488
-
- thumb_func_start sub_800B4A4
-sub_800B4A4: @ 800B4A4
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _0800B4B2
- ldr r0, =gLinkVSyncDisabled
- strb r1, [r0]
-_0800B4B2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B4A4
-
- thumb_func_start sub_800B4C0
-sub_800B4C0: @ 800B4C0
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _0800B4CE
- ldr r0, =gLinkVSyncDisabled
- strb r1, [r0]
-_0800B4CE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B4C0
-
- thumb_func_start sub_800B4DC
-sub_800B4DC: @ 800B4DC
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800B4FC
- ldr r0, =gUnknown_03003170
- ldr r1, =0x00000fbd
- adds r0, r1
- ldrb r0, [r0]
- b _0800B500
- .pool
-_0800B4FC:
- bl sub_80124D4
-_0800B500:
- pop {r1}
- bx r1
- thumb_func_end sub_800B4DC
-
- thumb_func_start sub_800B504
-sub_800B504: @ 800B504
- push {lr}
- bl sub_800B4DC
- cmp r0, 0x2
- bhi _0800B512
- movs r0, 0
- b _0800B514
-_0800B512:
- movs r0, 0x1
-_0800B514:
- pop {r1}
- bx r1
- thumb_func_end sub_800B504
-
- thumb_func_start sub_800B518
-sub_800B518: @ 800B518
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800B518
-
- thumb_func_start sub_800B524
-sub_800B524: @ 800B524
- push {lr}
- ldrb r1, [r0, 0x10]
- strb r1, [r0, 0x12]
- adds r2, r0, 0
- adds r2, 0x8
- ldrb r1, [r0, 0x1A]
- adds r0, r2, 0
- bl ConvertInternationalString
- pop {r0}
- bx r0
- thumb_func_end sub_800B524
-
- thumb_func_start sub_800B53C
-sub_800B53C: @ 800B53C
- push {lr}
- sub sp, 0x4
- movs r0, 0xC0
- bl DisableInterrupts
- ldr r1, =0x04000128
- movs r2, 0x80
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =0x0400010e
- movs r2, 0
- strh r2, [r0]
- adds r1, 0xDA
- movs r0, 0xC0
- strh r0, [r1]
- ldr r0, =0x0400012a
- strh r2, [r0]
- ldr r2, =0x04000120
- movs r0, 0
- movs r1, 0
- str r0, [r2]
- str r1, [r2, 0x4]
- str r0, [sp]
- ldr r1, =gUnknown_03003170
- ldr r2, =0x050003f0
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B53C
-
- thumb_func_start sub_800B594
-sub_800B594: @ 800B594
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xC0
- bl DisableInterrupts
- ldr r0, =0x04000134
- movs r4, 0
- strh r4, [r0]
- ldr r2, =0x04000128
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- ldr r3, =0x00004003
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- movs r0, 0x80
- bl EnableInterrupts
- ldr r0, =0x0400012a
- strh r4, [r0]
- movs r5, 0
- str r5, [sp]
- ldr r1, =gUnknown_03003170
- ldr r2, =0x050003f0
- mov r0, sp
- bl CpuSet
- ldr r0, =gUnknown_03000D6C
- strb r4, [r0]
- ldr r0, =gUnknown_03000D6E
- strh r5, [r0]
- ldr r0, =gUnknown_03000D70
- strh r5, [r0]
- ldr r0, =gUnknown_03000D72
- strb r4, [r0]
- ldr r0, =gUnknown_03000D73
- strb r4, [r0]
- ldr r0, =gUnknown_03003160
- strb r4, [r0]
- ldr r0, =gUnknown_03004130
- strb r4, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B594
-
- thumb_func_start sub_800B628
-sub_800B628: @ 800B628
- push {lr}
- bl sub_800B594
- bl sub_800B53C
- pop {r0}
- bx r0
- thumb_func_end sub_800B628
-
- thumb_func_start sub_800B638
-sub_800B638: @ 800B638
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, =gUnknown_03003170
- ldrb r0, [r0, 0x1]
- cmp r0, 0x4
- bhi _0800B6EA
- lsls r0, 2
- ldr r1, =_0800B65C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800B65C:
- .4byte _0800B670
- .4byte _0800B680
- .4byte _0800B698
- .4byte _0800B6D4
- .4byte _0800B6DE
-_0800B670:
- bl sub_800B53C
- ldr r1, =gUnknown_03003170
- movs r0, 0x1
- strb r0, [r1, 0x1]
- b _0800B6EA
- .pool
-_0800B680:
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _0800B6EA
- bl sub_800B594
- ldr r1, =gUnknown_03003170
- movs r0, 0x2
- strb r0, [r1, 0x1]
- b _0800B6EA
- .pool
-_0800B698:
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _0800B6A8
- cmp r1, 0x2
- beq _0800B6C0
- bl sub_800B764
- b _0800B6EA
-_0800B6A8:
- ldr r2, =gUnknown_03003170
- ldrb r0, [r2]
- cmp r0, 0x8
- bne _0800B6EA
- ldrb r0, [r2, 0x3]
- cmp r0, 0x1
- bls _0800B6EA
- strb r1, [r2, 0xE]
- b _0800B6EA
- .pool
-_0800B6C0:
- ldr r0, =gUnknown_03003170
- movs r1, 0
- strb r1, [r0, 0x1]
- ldr r0, =0x0400012a
- strh r1, [r0]
- b _0800B6EA
- .pool
-_0800B6D4:
- bl sub_800B790
- ldr r1, =gUnknown_03003170
- movs r0, 0x4
- strb r0, [r1, 0x1]
-_0800B6DE:
- adds r0, r5, 0
- bl sub_800B7C0
- adds r0, r6, 0
- bl sub_800B8A8
-_0800B6EA:
- movs r0, 0
- strb r0, [r4]
- ldr r1, =gUnknown_03003170
- ldrb r2, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 2
- orrs r2, r0
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _0800B702
- movs r0, 0x20
- orrs r2, r0
-_0800B702:
- ldrb r0, [r1, 0xC]
- lsls r3, r0, 8
- ldrb r0, [r1, 0xF]
- lsls r4, r0, 9
- ldrb r0, [r1, 0x10]
- lsls r5, r0, 12
- ldrb r0, [r1, 0x11]
- lsls r6, r0, 13
- ldrb r0, [r1, 0x12]
- lsls r7, r0, 14
- ldrb r0, [r1, 0x1]
- cmp r0, 0x4
- bne _0800B728
- movs r0, 0x40
- orrs r0, r3
- orrs r0, r2
- b _0800B72C
- .pool
-_0800B728:
- adds r0, r2, 0
- orrs r0, r3
-_0800B72C:
- orrs r0, r4
- orrs r0, r5
- orrs r0, r6
- orrs r0, r7
- adds r2, r0, 0
- ldrb r3, [r1, 0x13]
- cmp r3, 0x1
- bne _0800B742
- movs r0, 0x80
- lsls r0, 9
- orrs r2, r0
-_0800B742:
- ldrb r0, [r1, 0x2]
- cmp r0, 0x3
- bls _0800B74E
- movs r0, 0x80
- lsls r0, 10
- orrs r2, r0
-_0800B74E:
- adds r1, r2, 0
- cmp r3, 0x2
- bne _0800B75A
- movs r0, 0x80
- lsls r0, 11
- orrs r1, r0
-_0800B75A:
- adds r0, r1, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800B638
-
- thumb_func_start sub_800B764
-sub_800B764: @ 800B764
- push {lr}
- ldr r0, =0x04000128
- ldr r1, [r0]
- movs r0, 0xC
- ands r1, r0
- ldr r2, =gUnknown_03003170
- cmp r1, 0x8
- bne _0800B788
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _0800B788
- strb r1, [r2]
- b _0800B78C
- .pool
-_0800B788:
- movs r0, 0
- strb r0, [r2]
-_0800B78C:
- pop {r0}
- bx r0
- thumb_func_end sub_800B764
-
- thumb_func_start sub_800B790
-sub_800B790: @ 800B790
- push {lr}
- ldr r0, =gUnknown_03003170
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800B7AE
- ldr r1, =0x0400010c
- ldr r2, =0x0000ff3b
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x41
- strh r0, [r1]
- movs r0, 0x40
- bl EnableInterrupts
-_0800B7AE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B790
-
- thumb_func_start sub_800B7C0
-sub_800B7C0: @ 800B7C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r3, r0, 0
- ldr r2, =gUnknown_03004134
- ldr r1, =0x04000208
- ldrh r0, [r1]
- strh r0, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03003170
- ldr r4, =0x00000339
- adds r0, r1, r4
- ldrb r4, [r0]
- adds r6, r1, 0
- cmp r4, 0x31
- bhi _0800B850
- movs r1, 0xCE
- lsls r1, 2
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- bls _0800B7FE
- subs r0, 0x32
- lsls r0, 24
- lsrs r0, 24
-_0800B7FE:
- movs r2, 0
- ldr r4, =gUnknown_03000D6E
- mov r9, r4
- ldr r1, =gUnknown_03003160
- mov r10, r1
- lsls r5, r0, 1
- movs r0, 0x18
- adds r0, r6
- mov r8, r0
- mov r12, r2
- movs r7, 0x64
-_0800B814:
- ldrh r0, [r4]
- ldrh r1, [r3]
- orrs r0, r1
- strh r0, [r4]
- adds r0, r2, 0
- muls r0, r7
- adds r0, r5, r0
- add r0, r8
- strh r1, [r0]
- mov r1, r12
- strh r1, [r3]
- adds r3, 0x2
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0800B814
- b _0800B85C
- .pool
-_0800B850:
- movs r0, 0x1
- strb r0, [r6, 0x12]
- ldr r2, =gUnknown_03000D6E
- mov r9, r2
- ldr r4, =gUnknown_03003160
- mov r10, r4
-_0800B85C:
- mov r1, r9
- ldrh r0, [r1]
- cmp r0, 0
- beq _0800B874
- ldr r2, =0x00000339
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r1, 0x1
- movs r2, 0
- strb r1, [r0]
- mov r4, r9
- strh r2, [r4]
-_0800B874:
- ldr r1, =0x04000208
- ldr r2, =gUnknown_03004134
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r4, =0x00000339
- adds r0, r6, r4
- ldrb r0, [r0]
- mov r1, r10
- strb r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B7C0
-
- thumb_func_start sub_800B8A8
-sub_800B8A8: @ 800B8A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- ldr r2, =gUnknown_03004134
- ldr r1, =0x04000208
- ldrh r0, [r1]
- strh r0, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03003170
- ldr r3, =0x00000fbd
- adds r0, r1, r3
- ldrb r0, [r0]
- mov r12, r1
- cmp r0, 0
- bne _0800B914
- movs r3, 0
- ldrb r0, [r1, 0x3]
- cmp r3, r0
- bcs _0800B8FA
- movs r5, 0
- adds r6, r0, 0
-_0800B8DA:
- movs r2, 0
- lsls r1, r3, 4
- adds r4, r3, 0x1
- add r1, r9
-_0800B8E2:
- lsls r0, r2, 1
- adds r0, r1
- strh r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0800B8E2
- lsls r0, r4, 24
- lsrs r3, r0, 24
- cmp r3, r6
- bcc _0800B8DA
-_0800B8FA:
- movs r0, 0x1
- mov r7, r12
- strb r0, [r7, 0xC]
- b _0800B990
- .pool
-_0800B914:
- movs r3, 0
- mov r0, r12
- ldrb r1, [r0, 0x3]
- cmp r3, r1
- bcs _0800B96A
- ldr r0, =0x00000fbc
- add r0, r12
- ldrb r0, [r0]
- lsls r6, r0, 1
- movs r2, 0xCF
- lsls r2, 2
- add r2, r12
- mov r8, r2
- mov r10, r1
-_0800B930:
- movs r2, 0
- lsls r1, r3, 4
- adds r4, r3, 0x1
- lsls r0, r3, 1
- mov r7, r9
- adds r5, r1, r7
- adds r0, r3
- lsls r0, 3
- adds r0, r3
- lsls r3, r0, 5
-_0800B944:
- lsls r1, r2, 1
- adds r1, r5
- movs r7, 0x64
- adds r0, r2, 0
- muls r0, r7
- adds r0, r6, r0
- adds r0, r3
- add r0, r8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0800B944
- lsls r0, r4, 24
- lsrs r3, r0, 24
- cmp r3, r10
- bcc _0800B930
-_0800B96A:
- mov r2, r12
- ldr r0, =0x00000fbd
- adds r1, r2, r0
- ldrb r0, [r1]
- subs r0, 0x1
- movs r3, 0
- strb r0, [r1]
- ldr r1, =0x00000fbc
- adds r2, r1
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- bls _0800B98C
- strb r3, [r2]
-_0800B98C:
- mov r2, r12
- strb r3, [r2, 0xC]
-_0800B990:
- ldr r1, =0x04000208
- ldr r3, =gUnknown_03004134
- ldrh r0, [r3]
- strh r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B8A8
-
- thumb_func_start sub_800B9B8
-sub_800B9B8: @ 800B9B8
- push {r4,lr}
- ldr r3, =gUnknown_03003170
- ldrb r4, [r3]
- cmp r4, 0
- beq _0800B9F4
- ldrb r0, [r3, 0x1]
- cmp r0, 0x2
- beq _0800B9EE
- cmp r0, 0x4
- bne _0800BA1E
- movs r0, 0xD
- ldrsb r0, [r3, r0]
- cmp r0, 0x8
- bgt _0800B9E4
- ldrb r0, [r3, 0x10]
- cmp r0, 0x1
- beq _0800B9EE
- movs r0, 0x1
- strb r0, [r3, 0x13]
- b _0800BA1E
- .pool
-_0800B9E4:
- ldrb r0, [r3, 0x13]
- cmp r0, 0x1
- beq _0800BA1E
- movs r0, 0
- strb r0, [r3, 0xD]
-_0800B9EE:
- bl sub_800BAC0
- b _0800BA1E
-_0800B9F4:
- ldrb r2, [r3, 0x1]
- cmp r2, 0x4
- beq _0800B9FE
- cmp r2, 0x2
- bne _0800BA1E
-_0800B9FE:
- ldr r1, =gUnknown_03000D6C
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bls _0800BA1E
- cmp r2, 0x4
- bne _0800BA16
- movs r0, 0x2
- strb r0, [r3, 0x13]
-_0800BA16:
- cmp r2, 0x2
- bne _0800BA1E
- strb r4, [r3, 0x3]
- strb r4, [r3, 0xF]
-_0800BA1E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B9B8
-
- thumb_func_start Timer3Intr
-Timer3Intr: @ 800BA28
- push {lr}
- bl sub_800BD98
- bl sub_800BAC0
- pop {r0}
- bx r0
- thumb_func_end Timer3Intr
-
- thumb_func_start sub_800BA38
-sub_800BA38: @ 800BA38
- push {r4,lr}
- ldr r4, =gUnknown_03003170
- ldr r0, =0x04000128
- ldr r1, [r0]
- lsls r0, r1, 26
- lsrs r0, 30
- strb r0, [r4, 0x2]
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- beq _0800BA6C
- cmp r0, 0x4
- bne _0800BA8A
- lsls r0, r1, 25
- lsrs r0, 31
- strb r0, [r4, 0x10]
- bl sub_800BBCC
- bl sub_800BCE4
- bl sub_800BDCC
- b _0800BA8A
- .pool
-_0800BA6C:
- bl sub_800BAD0
- lsls r0, 24
- cmp r0, 0
- beq _0800BA8A
- ldrb r0, [r4]
- cmp r0, 0
- beq _0800BA86
- movs r0, 0x3
- strb r0, [r4, 0x1]
- movs r0, 0x8
- strb r0, [r4, 0xD]
- b _0800BA8A
-_0800BA86:
- movs r0, 0x4
- strb r0, [r4, 0x1]
-_0800BA8A:
- ldr r3, =gUnknown_03003170
- ldrb r0, [r3, 0xD]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r3, 0xD]
- ldr r1, =gUnknown_03000D6C
- strb r2, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x8
- bne _0800BAAA
- ldr r0, =gUnknown_03004130
- ldr r2, =0x00000fbd
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
-_0800BAAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BA38
-
- thumb_func_start sub_800BAC0
-sub_800BAC0: @ 800BAC0
- ldr r0, =0x04000128
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_800BAC0
-
- thumb_func_start sub_800BAD0
-sub_800BAD0: @ 800BAD0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r5, 0
- ldr r6, =0x0000ffff
- ldr r0, =gUnknown_03003170
- ldrb r1, [r0, 0xE]
- adds r7, r0, 0
- cmp r1, 0x1
- bne _0800BAFC
- ldr r1, =0x0400012a
- ldr r2, =0x00008fff
- b _0800BB00
- .pool
-_0800BAFC:
- ldr r1, =0x0400012a
- ldr r2, =0x0000b9a0
-_0800BB00:
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, =gUnknown_03003174
- ldr r3, =0x04000120
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0
- movs r1, 0
- str r0, [r3]
- str r1, [r3, 0x4]
- strb r0, [r2, 0xA]
- movs r4, 0
- ldr r0, =gUnknown_03000D73
- mov r9, r0
- mov r8, r2
- ldr r2, =0x00008fff
- ldr r1, =0x0000ffff
- mov r12, r1
-_0800BB28:
- lsls r0, r4, 1
- add r0, r8
- ldrh r3, [r0]
- movs r0, 0x4
- negs r0, r0
- ands r0, r3
- ldr r1, =0x0000b9a0
- cmp r0, r1
- beq _0800BB40
- adds r0, r3, 0
- cmp r0, r2
- bne _0800BB70
-_0800BB40:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r3, 0
- cmp r6, r0
- bls _0800BB78
- cmp r0, 0
- beq _0800BB78
- adds r6, r3, 0
- b _0800BB78
- .pool
-_0800BB70:
- cmp r0, r12
- beq _0800BB82
- movs r5, 0
- b _0800BB82
-_0800BB78:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800BB28
-_0800BB82:
- strb r5, [r7, 0x3]
- adds r0, r5, 0
- cmp r0, 0x1
- bls _0800BBB2
- mov r2, r9
- ldrb r2, [r2]
- cmp r0, r2
- bne _0800BBA4
- ldrh r1, [r7, 0x4]
- ldr r0, =0x00008fff
- cmp r1, r0
- bne _0800BBA4
- movs r0, 0x1
- b _0800BBBE
- .pool
-_0800BBA4:
- ldrb r0, [r7, 0x3]
- cmp r0, 0x1
- bls _0800BBB2
- movs r0, 0x3
- ands r6, r0
- adds r0, r6, 0x1
- b _0800BBB4
-_0800BBB2:
- movs r0, 0
-_0800BBB4:
- strb r0, [r7, 0xF]
- ldrb r0, [r7, 0x3]
- mov r1, r9
- strb r0, [r1]
- movs r0, 0
-_0800BBBE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800BAD0
-
- thumb_func_start sub_800BBCC
-sub_800BBCC: @ 800BBCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r0, =0x04000120
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, =gUnknown_03003170
- ldrb r1, [r0, 0x16]
- adds r6, r0, 0
- cmp r1, 0
- bne _0800BC30
- movs r4, 0
- ldr r7, =gUnknown_03000D72
- ldrb r0, [r6, 0x3]
- cmp r4, r0
- bcs _0800BC1A
- adds r5, r6, 0
- ldrh r1, [r6, 0x14]
- adds r3, r7, 0
- adds r2, r6, 0
-_0800BBFA:
- lsls r0, r4, 1
- add r0, sp
- ldrh r0, [r0]
- cmp r1, r0
- beq _0800BC0E
- ldrb r0, [r3]
- cmp r0, 0
- beq _0800BC0E
- movs r0, 0x1
- strb r0, [r5, 0x11]
-_0800BC0E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r2, 0x3]
- cmp r4, r0
- bcc _0800BBFA
-_0800BC1A:
- movs r0, 0
- strh r0, [r6, 0x14]
- movs r0, 0x1
- strb r0, [r7]
- b _0800BCD0
- .pool
-_0800BC30:
- ldr r2, =0x00000fbc
- adds r1, r6, r2
- adds r2, 0x1
- adds r0, r6, r2
- ldrb r2, [r0]
- ldrb r1, [r1]
- adds r0, r2, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- bls _0800BC4C
- subs r0, 0x32
- lsls r0, 24
- lsrs r0, 24
-_0800BC4C:
- cmp r2, 0x31
- bhi _0800BCA8
- movs r4, 0
- ldrb r1, [r6, 0x3]
- cmp r4, r1
- bcs _0800BCAC
- adds r5, r6, 0
- ldr r7, =gUnknown_03000D70
- lsls r0, 1
- mov r12, r0
- movs r2, 0xCF
- lsls r2, 2
- adds r2, r6
- mov r8, r2
-_0800BC68:
- lsls r1, r4, 1
- mov r2, sp
- adds r0, r2, r1
- ldrh r3, [r0]
- ldrh r2, [r5, 0x14]
- adds r0, r3, r2
- strh r0, [r5, 0x14]
- ldrh r0, [r7]
- orrs r0, r3
- strh r0, [r7]
- ldrb r2, [r5, 0x17]
- movs r0, 0x64
- muls r0, r2
- add r0, r12
- adds r1, r4
- lsls r1, 3
- adds r1, r4
- lsls r1, 5
- adds r0, r1
- add r0, r8
- strh r3, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x3]
- cmp r4, r0
- bcc _0800BC68
- b _0800BCAC
- .pool
-_0800BCA8:
- movs r0, 0x2
- strb r0, [r6, 0x12]
-_0800BCAC:
- ldrb r0, [r6, 0x17]
- adds r0, 0x1
- strb r0, [r6, 0x17]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bne _0800BCD0
- ldr r2, =gUnknown_03000D70
- ldrh r0, [r2]
- cmp r0, 0
- beq _0800BCD0
- ldr r1, =0x00000fbd
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- movs r0, 0
- strh r0, [r2]
-_0800BCD0:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BBCC
-
- thumb_func_start sub_800BCE4
-sub_800BCE4: @ 800BCE4
- push {r4,lr}
- ldr r0, =gUnknown_03003170
- ldrb r1, [r0, 0x16]
- adds r4, r0, 0
- cmp r1, 0x8
- bne _0800BD36
- ldr r1, =0x0400012a
- ldrh r0, [r4, 0x14]
- strh r0, [r1]
- ldr r1, =gUnknown_03000D6D
- ldrb r2, [r1]
- cmp r2, 0
- bne _0800BD30
- ldr r0, =0x00000339
- adds r1, r4, r0
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- movs r0, 0xCE
- lsls r0, 2
- adds r1, r4, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- bls _0800BD8C
- strb r2, [r1]
- b _0800BD8C
- .pool
-_0800BD30:
- movs r0, 0
- strb r0, [r1]
- b _0800BD8C
-_0800BD36:
- ldr r1, =gUnknown_03000D6D
- ldrb r0, [r1]
- cmp r0, 0
- bne _0800BD52
- ldr r2, =0x00000339
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800BD4C
- movs r0, 0x1
- strb r0, [r1]
-_0800BD4C:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800BD68
-_0800BD52:
- ldr r1, =0x0400012a
- movs r0, 0
- strh r0, [r1]
- b _0800BD86
- .pool
-_0800BD68:
- ldr r3, =0x0400012a
- movs r1, 0xCE
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 1
- ldrb r2, [r4, 0x16]
- movs r1, 0x64
- muls r1, r2
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x18
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
-_0800BD86:
- ldrb r0, [r4, 0x16]
- adds r0, 0x1
- strb r0, [r4, 0x16]
-_0800BD8C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BCE4
-
- thumb_func_start sub_800BD98
-sub_800BD98: @ 800BD98
- push {lr}
- ldr r0, =gUnknown_03003170
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800BDB4
- ldr r2, =0x0400010e
- ldrh r1, [r2]
- ldr r0, =0x0000ff7f
- ands r0, r1
- strh r0, [r2]
- ldr r1, =0x0400010c
- ldr r2, =0x0000ff3b
- adds r0, r2, 0
- strh r0, [r1]
-_0800BDB4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BD98
-
- thumb_func_start sub_800BDCC
-sub_800BDCC: @ 800BDCC
- push {lr}
- ldr r1, =gUnknown_03003170
- ldrb r0, [r1, 0x17]
- cmp r0, 0x8
- bne _0800BDE4
- movs r0, 0
- strb r0, [r1, 0x16]
- strb r0, [r1, 0x17]
- b _0800BDF4
- .pool
-_0800BDE4:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800BDF4
- ldr r0, =0x0400010e
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
-_0800BDF4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BDCC
-
- thumb_func_start sub_800BDFC
-sub_800BDFC: @ 800BDFC
- push {r4-r6,lr}
- ldr r1, =gUnknown_03003170
- ldr r2, =0x00000339
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- movs r3, 0xCE
- lsls r3, 2
- adds r0, r1, r3
- strb r2, [r0]
- movs r0, 0
- movs r6, 0x64
- adds r5, r1, 0
- adds r5, 0x18
- ldr r4, =0x0000efff
-_0800BE1A:
- movs r2, 0
- adds r1, r0, 0x1
- adds r3, r0, 0
- muls r3, r6
-_0800BE22:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r5
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x31
- bls _0800BE22
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _0800BE1A
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BDFC
-
- thumb_func_start sub_800BE50
-sub_800BE50: @ 800BE50
- push {r4-r7,lr}
- ldr r1, =gUnknown_03003170
- ldr r2, =0x00000fbd
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, =0x00000fbc
- adds r0, r1, r3
- strb r2, [r0]
- movs r0, 0x64
- mov r12, r0
- movs r3, 0xCF
- lsls r3, 2
- adds r7, r1, r3
- ldr r6, =0x0000efff
-_0800BE6E:
- movs r3, 0
- lsls r0, r2, 1
- adds r5, r2, 0x1
- adds r0, r2
- lsls r0, 3
- adds r0, r2
- lsls r4, r0, 5
-_0800BE7C:
- movs r2, 0
- adds r1, r3, 0x1
- mov r0, r12
- muls r0, r3
- adds r3, r0, 0
-_0800BE86:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r4
- adds r0, r7
- strh r6, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x31
- bls _0800BE86
- lsls r0, r1, 24
- lsrs r3, r0, 24
- cmp r3, 0x7
- bls _0800BE7C
- lsls r0, r5, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800BE6E
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BE50
-
- thumb_func_start sub_800BEC0
-sub_800BEC0: @ 800BEC0
- push {r4,lr}
- bl rfu_REQBN_softReset_and_checkID
- adds r4, r0, 0
- ldr r0, =0x00008001
- cmp r4, r0
- bne _0800BED4
- ldr r1, =gUnknown_03004140
- movs r0, 0x1
- strb r0, [r1, 0x8]
-_0800BED4:
- ldr r0, =gUnknown_03004140
- ldrb r2, [r0, 0x4]
- adds r1, r0, 0
- cmp r2, 0x17
- beq _0800BEE8
- cmp r2, 0x1
- beq _0800BEE8
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
-_0800BEE8:
- 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_800D610
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800BEC0
-
- thumb_func_start rfu_REQ_sendData_wrapper
-rfu_REQ_sendData_wrapper: @ 800BF0C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800BF34
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x2]
- movs r2, 0
- cmp r0, 0x1
- bne _0800BF3C
- movs r2, 0x1
- b _0800BF3C
- .pool
-_0800BF34:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x3]
- movs r1, 0
- strb r1, [r0, 0x3]
-_0800BF3C:
- adds r0, r2, 0
- bl rfu_REQ_sendData
- pop {r0}
- bx r0
- .pool
- thumb_func_end rfu_REQ_sendData_wrapper
-
- thumb_func_start sub_800BF4C
-sub_800BF4C: @ 800BF4C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- beq _0800BF94
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, =gUnknown_03004140
- ldr r2, =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, =sub_800CEB0
- bl rfu_setMSCCallback
- ldr r0, =sub_800C7B4
- bl rfu_setREQCallback
- movs r0, 0
- b _0800BF96
- .pool
-_0800BF94:
- movs r0, 0x4
-_0800BF96:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_800BF4C
-
- thumb_func_start sub_800BFA0
-sub_800BFA0: @ 800BFA0
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, =gUnknown_03004140
- ldr r2, =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
- .pool
- thumb_func_end sub_800BFA0
-
- thumb_func_start sub_800BFCC
-sub_800BFCC: @ 800BFCC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_800C000
- ldr r1, =gUnknown_03004140
- 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 _0800BFF4
- strb r2, [r1, 0xB]
-_0800BFF4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BFCC
-
- thumb_func_start sub_800C000
-sub_800C000: @ 800C000
- push {r4,r5,lr}
- ldr r2, =gUnknown_03004140
- 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
-_0800C028:
- 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 _0800C028
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800C000
-
- thumb_func_start sub_800C048
-sub_800C048: @ 800C048
- ldr r1, =gUnknown_03004140
- movs r0, 0x15
- strb r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_800C048
-
- thumb_func_start sub_800C054
-sub_800C054: @ 800C054
- 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, =gUnknown_03004140
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0800C090
- cmp r0, 0x8
- bne _0800C07A
- cmp r5, 0x1
- beq _0800C090
-_0800C07A:
- movs r0, 0x1
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x1
- b _0800C122
- .pool
-_0800C090:
- bl rfu_getMasterSlave
- lsls r0, 24
- cmp r0, 0
- bne _0800C0B0
- ldr r1, =gUnknown_03004140
- movs r0, 0x2
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x2
- b _0800C122
- .pool
-_0800C0B0:
- movs r2, 0
- ldrh r0, [r6]
- ldr r4, =0x0000ffff
- adds r1, r6, 0x2
- ldr r3, =gUnknown_03004140
- cmp r0, r4
- beq _0800C0D0
-_0800C0BE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bhi _0800C0D0
- ldrh r0, [r1]
- adds r1, 0x2
- cmp r0, r4
- bne _0800C0BE
-_0800C0D0:
- cmp r2, 0x10
- bne _0800C0EC
- movs r0, 0x4
- strh r0, [r3, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x4
- b _0800C122
- .pool
-_0800C0EC:
- cmp r5, 0x1
- bls _0800C0FA
- movs r0, 0x1
- strb r0, [r3, 0x7]
- movs r5, 0x1
- movs r7, 0
- b _0800C0FE
-_0800C0FA:
- movs r0, 0
- strb r0, [r3, 0x7]
-_0800C0FE:
- cmp r5, 0
- beq _0800C108
- movs r0, 0x5
- strb r0, [r3, 0x4]
- b _0800C116
-_0800C108:
- movs r0, 0x9
- strb r0, [r3, 0x4]
- ldrb r0, [r3, 0xB]
- cmp r0, 0
- beq _0800C116
- movs r0, 0x2
- strb r0, [r3, 0xB]
-_0800C116:
- strb r5, [r3, 0x6]
- strh r7, [r3, 0x1A]
- mov r0, r8
- strh r0, [r3, 0x26]
- str r6, [r3, 0x20]
- movs r0, 0
-_0800C122:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800C054
-
- thumb_func_start sub_800C12C
-sub_800C12C: @ 800C12C
- 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, =gUnknown_03004140
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0800C164
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0800C164
- movs r0, 0x1
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x1
- b _0800C204
- .pool
-_0800C164:
- bl rfu_getMasterSlave
- lsls r0, 24
- cmp r0, 0
- bne _0800C184
- ldr r1, =gUnknown_03004140
- movs r0, 0x2
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x2
- b _0800C204
- .pool
-_0800C184:
- movs r2, 0
- ldr r0, =gUnknown_03007890
- ldr r1, [r0]
- ldrb r3, [r1, 0x8]
- ldr r5, =gUnknown_03004140
- adds r7, r0, 0
- cmp r2, r3
- bcs _0800C1B2
- ldrh r0, [r1, 0x14]
- cmp r0, r6
- beq _0800C1B2
- adds r4, r1, 0
- adds r1, r3, 0
-_0800C19E:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcs _0800C1B2
- lsls r0, r2, 5
- adds r0, r4, r0
- ldrh r0, [r0, 0x14]
- cmp r0, r6
- bne _0800C19E
-_0800C1B2:
- ldr r0, [r7]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _0800C1BE
- cmp r2, r0
- bne _0800C1D8
-_0800C1BE:
- movs r0, 0x3
- strh r0, [r5, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x3
- b _0800C204
- .pool
-_0800C1D8:
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _0800C1E2
- cmp r0, 0x9
- bne _0800C1EA
-_0800C1E2:
- movs r0, 0xC
- strb r0, [r5, 0x4]
- movs r0, 0xD
- b _0800C1F0
-_0800C1EA:
- movs r0, 0xB
- strb r0, [r5, 0x4]
- movs r0, 0xC
-_0800C1F0:
- strb r0, [r5, 0x5]
- strh r6, [r5, 0x1E]
- mov r0, r8
- strh r0, [r5, 0x1A]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0800C202
- movs r0, 0x7
- strb r0, [r5, 0x7]
-_0800C202:
- movs r0, 0
-_0800C204:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800C12C
-
- thumb_func_start sub_800C210
-sub_800C210: @ 800C210
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r6, =gUnknown_03004140
- adds r3, r6, 0
- adds r3, 0x30
- ldrb r2, [r3]
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _0800C26C
- adds r0, r2, 0
- bics r0, r1
- strb r0, [r3]
- movs r4, 0
- ldr r7, =gUnknown_03007890
- movs r5, 0x1
- adds r3, 0x4
- movs r2, 0
-_0800C236:
- adds r0, r1, 0
- asrs r0, r4
- ands r0, r5
- cmp r0, 0
- beq _0800C246
- lsls r0, r4, 1
- adds r0, r3
- strh r2, [r0]
-_0800C246:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800C236
- ldr r0, [r7]
- ldrb r4, [r0, 0x3]
- ands r4, r1
- cmp r4, 0
- beq _0800C260
- adds r0, r4, 0
- bl sub_800D334
-_0800C260:
- ldr r0, =gUnknown_03004140
- strh r4, [r0, 0x14]
- movs r0, 0x33
- adds r1, r4, 0
- bl sub_800D30C
-_0800C26C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800C210
-
- thumb_func_start sub_800C27C
-sub_800C27C: @ 800C27C
- push {r4,r5,lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, =gUnknown_03004140
- strb r2, [r1, 0x7]
- adds r5, r1, 0
- cmp r0, 0
- beq _0800C29C
- bl sub_800C000
- movs r0, 0x17
- strb r0, [r5, 0x4]
- b _0800C366
- .pool
-_0800C29C:
- ldrb r0, [r5, 0x4]
- subs r0, 0x5
- cmp r0, 0xD
- bhi _0800C352
- lsls r0, 2
- ldr r1, =_0800C2B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800C2B4:
- .4byte _0800C2EC
- .4byte _0800C2F8
- .4byte _0800C2F8
- .4byte _0800C358
- .4byte _0800C302
- .4byte _0800C30C
- .4byte _0800C30C
- .4byte _0800C316
- .4byte _0800C320
- .4byte _0800C320
- .4byte _0800C358
- .4byte _0800C326
- .4byte _0800C34C
- .4byte _0800C34C
-_0800C2EC:
- movs r1, 0
- movs r0, 0x8
- strb r0, [r5, 0x4]
- strb r1, [r5, 0x5]
- movs r2, 0x13
- b _0800C358
-_0800C2F8:
- movs r0, 0x7
- strb r0, [r5, 0x4]
- movs r0, 0x8
- strb r0, [r5, 0x5]
- b _0800C358
-_0800C302:
- movs r0, 0
- strb r0, [r5, 0x5]
- strb r0, [r5, 0x4]
- movs r2, 0x21
- b _0800C358
-_0800C30C:
- movs r1, 0
- movs r0, 0xB
- strb r0, [r5, 0x4]
- strb r1, [r5, 0x5]
- b _0800C358
-_0800C316:
- movs r0, 0
- strb r0, [r5, 0x5]
- strb r0, [r5, 0x4]
- movs r2, 0x23
- b _0800C358
-_0800C320:
- movs r0, 0xE
- strb r0, [r5, 0x4]
- b _0800C358
-_0800C326:
- ldrb r0, [r5, 0x11]
- strb r0, [r5, 0x4]
- ldrb r0, [r5, 0x12]
- strb r0, [r5, 0x5]
- ldr r4, =gUnknown_03007890
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- bl sub_800D334
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- strh r0, [r5, 0x14]
- movs r0, 0x33
- movs r1, 0x1
- bl sub_800D30C
- b _0800C366
- .pool
-_0800C34C:
- movs r0, 0x12
- strb r0, [r5, 0x4]
- b _0800C358
-_0800C352:
- strb r2, [r5, 0x5]
- strb r2, [r5, 0x4]
- movs r2, 0x43
-_0800C358:
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- bne _0800C366
- adds r0, r2, 0
- movs r1, 0
- bl sub_800D30C
-_0800C366:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_800C27C
-
- thumb_func_start sub_800C36C
-sub_800C36C: @ 800C36C
- 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 _0800C43E
- ldr r1, =gUnknown_03004140
- 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 _0800C426
- movs r0, 0x1
- strb r0, [r6, 0xA]
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _0800C3C2
- ldrb r0, [r5]
- cmp r0, 0
- bne _0800C3C2
- movs r0, 0x4
- strb r0, [r6, 0xA]
-_0800C3C2:
- ldrb r0, [r6, 0xA]
- cmp r0, 0x1
- bne _0800C40C
- 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
-_0800C3DA:
- ldrb r0, [r4]
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _0800C3F8
- 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]
-_0800C3F8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800C3DA
- movs r0, 0x31
- b _0800C41E
- .pool
-_0800C40C:
- movs r0, 0
- strb r0, [r6, 0xA]
- mov r0, sp
- ldrb r0, [r0]
- bl sub_800D334
- movs r0, 0x1
- mov r8, r0
- movs r0, 0x33
-_0800C41E:
- movs r1, 0x1
- bl sub_800D30C
- b _0800C43A
-_0800C426:
- mov r0, sp
- ldrb r0, [r0]
- bl sub_800D334
- movs r1, 0x1
- mov r8, r1
- movs r0, 0x30
- movs r1, 0x2
- bl sub_800D30C
-_0800C43A:
- bl sub_800D610
-_0800C43E:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800C518
- ldrb r0, [r7]
- cmp r0, 0
- beq _0800C49C
- movs r2, 0
- ldr r6, =gUnknown_03004140
- movs r3, 0x1
- adds r4, r6, 0
- adds r4, 0x34
- adds r6, 0x30
- adds r5, r7, 0
-_0800C45C:
- ldrb r0, [r6]
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- beq _0800C478
- ldrb r0, [r5]
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- beq _0800C478
- lsls r0, r2, 1
- adds r0, r4
- movs r1, 0
- strh r1, [r0]
-_0800C478:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800C45C
- ldr r3, =gUnknown_03004140
- 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_800D30C
-_0800C49C:
- ldr r0, =gUnknown_03004140
- adds r3, r0, 0
- adds r3, 0x30
- ldrb r1, [r3]
- adds r6, r0, 0
- cmp r1, 0
- beq _0800C514
- movs r4, 0
- movs r2, 0
- movs r5, 0x1
-_0800C4B0:
- ldrb r0, [r3]
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _0800C4E2
- lsls r1, r2, 1
- adds r0, r6, 0
- adds r0, 0x34
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0800C4E2
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _0800C4E2
- 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
-_0800C4E2:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800C4B0
- cmp r4, 0
- beq _0800C506
- adds r0, r4, 0
- bl sub_800D334
- movs r6, 0x1
- mov r8, r6
- ldr r0, =gUnknown_03004140
- strh r4, [r0, 0x14]
- movs r0, 0x33
- movs r1, 0x1
- bl sub_800D30C
-_0800C506:
- ldr r0, =gUnknown_03004140
- adds r1, r0, 0
- adds r1, 0x30
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- bne _0800C518
-_0800C514:
- movs r0, 0
- strb r0, [r6, 0xA]
-_0800C518:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800C36C
-
- thumb_func_start rfu_syncVBlank_
-rfu_syncVBlank_: @ 800C530
- push {lr}
- bl rfu_syncVBlank
- lsls r0, 16
- cmp r0, 0
- beq _0800C548
- movs r0, 0xF1
- movs r1, 0
- bl sub_800D30C
- bl sub_800D610
-_0800C548:
- pop {r0}
- bx r0
- thumb_func_end rfu_syncVBlank_
-
- thumb_func_start sub_800C54C
-sub_800C54C: @ 800C54C
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, =gUnknown_03004140
- ldr r2, [r1, 0x40]
- cmp r2, 0
- bne _0800C568
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0800C568
- strb r2, [r1, 0x4]
- b _0800C736
- .pool
-_0800C568:
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0800C576
- adds r0, r3, 0
- bl sub_800C744
-_0800C576:
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- bne _0800C580
- b _0800C700
-_0800C580:
- bl rfu_waitREQComplete
- movs r0, 0x1
- strb r0, [r4, 0xE]
- ldrb r0, [r4, 0x4]
- subs r0, 0x1
- cmp r0, 0x16
- bls _0800C592
- b _0800C6F6
-_0800C592:
- lsls r0, 2
- ldr r1, =_0800C5A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800C5A4:
- .4byte _0800C624
- .4byte _0800C65C
- .4byte _0800C662
- .4byte _0800C678
- .4byte _0800C690
- .4byte _0800C696
- .4byte _0800C69C
- .4byte _0800C6F6
- .4byte _0800C6A2
- .4byte _0800C6A8
- .4byte _0800C6AE
- .4byte _0800C6B4
- .4byte _0800C6C4
- .4byte _0800C6CA
- .4byte _0800C6F6
- .4byte _0800C6D0
- .4byte _0800C6E0
- .4byte _0800C6E6
- .4byte _0800C6EC
- .4byte _0800C6F6
- .4byte _0800C6F2
- .4byte _0800C6F6
- .4byte _0800C600
-_0800C600:
- bl sub_800BEC0
- ldr r1, =0x00008001
- movs r2, 0xFF
- cmp r0, r1
- bne _0800C60E
- movs r2, 0x44
-_0800C60E:
- ldr r1, =gUnknown_03004140
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- adds r0, r2, 0
- b _0800C64E
- .pool
-_0800C624:
- bl sub_800BEC0
- ldr r1, =0x00008001
- cmp r0, r1
- bne _0800C644
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- movs r1, 0x3
- strb r1, [r0, 0x5]
- b _0800C6F6
- .pool
-_0800C644:
- ldr r1, =gUnknown_03004140
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- movs r0, 0xFF
-_0800C64E:
- movs r1, 0
- bl sub_800D30C
- b _0800C6F6
- .pool
-_0800C65C:
- bl rfu_REQ_reset
- b _0800C6F6
-_0800C662:
- ldr r0, =gUnknown_03004140
- ldr r2, [r0, 0x3C]
- ldrh r0, [r2, 0x2]
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- bl rfu_REQ_configSystem
- b _0800C6F6
- .pool
-_0800C678:
- ldr r0, =gUnknown_03004140
- 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 _0800C6F6
- .pool
-_0800C690:
- bl rfu_REQ_startSearchChild
- b _0800C6F6
-_0800C696:
- bl rfu_REQ_pollSearchChild
- b _0800C6F6
-_0800C69C:
- bl rfu_REQ_endSearchChild
- b _0800C6F6
-_0800C6A2:
- bl rfu_REQ_startSearchParent
- b _0800C6F6
-_0800C6A8:
- bl rfu_REQ_pollSearchParent
- b _0800C6F6
-_0800C6AE:
- bl rfu_REQ_endSearchParent
- b _0800C6F6
-_0800C6B4:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x1E]
- bl rfu_REQ_startConnectParent
- b _0800C6F6
- .pool
-_0800C6C4:
- bl rfu_REQ_pollConnectParent
- b _0800C6F6
-_0800C6CA:
- bl rfu_REQ_endConnectParent
- b _0800C6F6
-_0800C6D0:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bl rfu_REQ_CHILD_startConnectRecovery
- b _0800C6F6
- .pool
-_0800C6E0:
- bl rfu_REQ_CHILD_pollConnectRecovery
- b _0800C6F6
-_0800C6E6:
- bl rfu_REQ_CHILD_endConnectRecovery
- b _0800C6F6
-_0800C6EC:
- bl rfu_REQ_changeMasterSlave
- b _0800C6F6
-_0800C6F2:
- bl rfu_REQ_stopMode
-_0800C6F6:
- bl rfu_waitREQComplete
- ldr r1, =gUnknown_03004140
- movs r0, 0
- strb r0, [r1, 0xE]
-_0800C700:
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x4]
- subs r0, 0x12
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0800C710
- b _0800C576
-_0800C710:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800C726
- movs r0, 0
- bl sub_800C36C
- lsls r0, 24
- cmp r0, 0
- bne _0800C736
-_0800C726:
- bl sub_800CF34
- bl sub_800D158
- bl sub_800D268
- bl sub_800D434
-_0800C736:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800C54C
-
- thumb_func_start sub_800C744
-sub_800C744: @ 800C744
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x7]
- adds r4, r0, 0
- cmp r1, 0x5
- bne _0800C76E
- 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 _0800C76C
- movs r0, 0x6
- strb r0, [r4, 0x7]
- b _0800C76E
- .pool
-_0800C76C:
- strb r2, [r4, 0x7]
-_0800C76E:
- ldrb r0, [r4, 0x7]
- cmp r0, 0x1
- bne _0800C798
- 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 _0800C794
- movs r0, 0x2
- b _0800C796
-_0800C794:
- movs r0, 0x3
-_0800C796:
- strb r0, [r4, 0x7]
-_0800C798:
- ldrb r0, [r4, 0x7]
- cmp r0, 0x3
- bne _0800C7AE
- 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]
-_0800C7AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_800C744
-
- thumb_func_start sub_800C7B4
-sub_800C7B4: @ 800C7B4
- 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, =gUnknown_03004140
- ldrb r1, [r0, 0xE]
- adds r7, r0, 0
- cmp r1, 0
- bne _0800C7D2
- b _0800CC98
-_0800C7D2:
- movs r0, 0
- strb r0, [r7, 0xE]
- mov r0, r8
- subs r0, 0x10
- cmp r0, 0x2D
- bls _0800C7E0
- b _0800CC8A
-_0800C7E0:
- lsls r0, 2
- ldr r1, =_0800C7F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800C7F4:
- .4byte _0800C8AC
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800C8D8
- .4byte _0800C8C4
- .4byte _0800CC8A
- .4byte _0800C8EC
- .4byte _0800C8FC
- .4byte _0800C920
- .4byte _0800C940
- .4byte _0800C960
- .4byte _0800C9D0
- .4byte _0800CA02
- .4byte _0800CA18
- .4byte _0800CA60
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CBD8
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CAD0
- .4byte _0800CB1C
- .4byte _0800CB64
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC78
-_0800C8AC:
- cmp r6, 0
- beq _0800C8B2
- b _0800CC8A
-_0800C8B2:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- movs r1, 0x4
- strb r1, [r0, 0x5]
- b _0800CC8A
- .pool
-_0800C8C4:
- cmp r6, 0
- beq _0800C8CA
- b _0800CC8A
-_0800C8CA:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- strb r6, [r0, 0x5]
- b _0800CC8A
- .pool
-_0800C8D8:
- cmp r6, 0
- beq _0800C8DE
- b _0800CC8A
-_0800C8DE:
- ldr r0, =gUnknown_03004140
- strb r6, [r0, 0x5]
- strb r6, [r0, 0x4]
- movs r0, 0
- b _0800CBF6
- .pool
-_0800C8EC:
- cmp r6, 0
- beq _0800C8F2
- b _0800CC8A
-_0800C8F2:
- ldr r1, =gUnknown_03004140
- movs r0, 0x6
- b _0800CA0C
- .pool
-_0800C8FC:
- ldr r1, =gUnknown_03004140
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _0800C906
- b _0800CC8A
-_0800C906:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _0800C912
- b _0800CC8A
-_0800C912:
- movs r0, 0x7
- strb r0, [r1, 0x4]
- movs r0, 0x8
- strb r0, [r1, 0x5]
- b _0800CC8A
- .pool
-_0800C920:
- cmp r6, 0
- beq _0800C926
- b _0800CC8A
-_0800C926:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- strb r6, [r0, 0x5]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0800C936
- b _0800CC8A
-_0800C936:
- movs r0, 0x13
- b _0800CBF6
- .pool
-_0800C940:
- cmp r6, 0
- beq _0800C946
- b _0800CC8A
-_0800C946:
- ldrb r0, [r7, 0xB]
- cmp r0, 0x1
- bne _0800C956
- ldrh r0, [r7, 0x1A]
- cmp r0, 0x1
- bls _0800C956
- subs r0, 0x1
- strh r0, [r7, 0x1A]
-_0800C956:
- ldr r1, =gUnknown_03004140
- movs r0, 0xA
- b _0800CA0C
- .pool
-_0800C960:
- cmp r6, 0
- bne _0800C9A6
- bl sub_800D294
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- ldr r4, =gUnknown_03004140
- strh r0, [r4, 0x14]
- cmp r0, 0
- beq _0800C980
- movs r0, 0x20
- movs r1, 0x1
- bl sub_800D30C
-_0800C980:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- beq _0800C9A6
- ldrh r0, [r4, 0x1A]
- cmp r0, 0x1
- beq _0800C9A6
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- bne _0800C9A6
- bl rfu_REQ_endSearchParent
- bl rfu_waitREQComplete
- movs r0, 0x9
- strb r0, [r4, 0x4]
- movs r0, 0x1
- strb r0, [r4, 0xB]
-_0800C9A6:
- ldr r1, =gUnknown_03004140
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _0800C9B0
- b _0800CC8A
-_0800C9B0:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _0800C9BC
- b _0800CC8A
-_0800C9BC:
- movs r0, 0xB
- strb r0, [r1, 0x4]
- movs r0, 0
- strb r0, [r1, 0x5]
- b _0800CC8A
- .pool
-_0800C9D0:
- cmp r6, 0
- beq _0800C9D6
- b _0800CC8A
-_0800C9D6:
- ldr r2, =gUnknown_03004140
- ldrb r0, [r2, 0x5]
- strb r0, [r2, 0x4]
- ldrb r1, [r2, 0x7]
- cmp r1, 0
- bne _0800C9F4
- lsls r0, 24
- cmp r0, 0
- beq _0800C9EA
- b _0800CC8A
-_0800C9EA:
- movs r0, 0x21
- b _0800CBF6
- .pool
-_0800C9F4:
- cmp r1, 0x7
- bne _0800C9FA
- b _0800CC8A
-_0800C9FA:
- movs r0, 0x5
- strb r0, [r2, 0x4]
- strb r0, [r2, 0x7]
- b _0800CC8A
-_0800CA02:
- cmp r6, 0
- beq _0800CA08
- b _0800CC8A
-_0800CA08:
- ldr r1, =gUnknown_03004140
- movs r0, 0xD
-_0800CA0C:
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- b _0800CC8A
- .pool
-_0800CA18:
- cmp r6, 0
- bne _0800CA3C
- ldr r4, =gUnknown_03004150
- mov r0, sp
- adds r1, r4, 0
- bl rfu_getConnectParentStatus
- lsls r0, 16
- cmp r0, 0
- bne _0800CA3C
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CA3C
- adds r1, r4, 0
- subs r1, 0x10
- movs r0, 0xE
- strb r0, [r1, 0x4]
-_0800CA3C:
- ldr r1, =gUnknown_03004140
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _0800CA46
- b _0800CC8A
-_0800CA46:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _0800CA52
- b _0800CC8A
-_0800CA52:
- movs r0, 0xE
- strb r0, [r1, 0x4]
- b _0800CC8A
- .pool
-_0800CA60:
- cmp r6, 0
- beq _0800CA66
- b _0800CC8A
-_0800CA66:
- ldr r4, =gUnknown_03004150
- mov r0, sp
- adds r1, r4, 0
- bl rfu_getConnectParentStatus
- lsls r0, 16
- cmp r0, 0
- beq _0800CA78
- b _0800CC8A
-_0800CA78:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CA9C
- 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 _0800CABC
- .pool
-_0800CA9C:
- 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 _0800CABC
- movs r0, 0x3
- strb r0, [r1, 0x7]
- movs r0, 0x9
- strb r0, [r1, 0x4]
-_0800CABC:
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x1E]
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0
- strh r0, [r4, 0x1E]
- b _0800CC8A
- .pool
-_0800CAD0:
- cmp r6, 0
- beq _0800CAD6
- b _0800CC8A
-_0800CAD6:
- ldr r2, =gUnknown_03007890
- 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 _0800CAF4
- b _0800CC8A
-_0800CAF4:
- adds r1, r7, 0
- movs r3, 0x1
-_0800CAF8:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0800CB08
- b _0800CC8A
-_0800CB08:
- ldr r0, [r2]
- ldrb r0, [r0, 0x3]
- ldrb r4, [r7, 0x10]
- asrs r0, r4
- ands r0, r3
- cmp r0, 0
- beq _0800CAF8
- b _0800CC8A
- .pool
-_0800CB1C:
- cmp r6, 0
- bne _0800CB3A
- mov r0, sp
- bl rfu_CHILD_getConnectRecoveryStatus
- lsls r0, 16
- cmp r0, 0
- bne _0800CB3A
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _0800CB3A
- ldr r1, =gUnknown_03004140
- movs r0, 0x12
- strb r0, [r1, 0x4]
-_0800CB3A:
- ldr r2, =gUnknown_03004140
- 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 _0800CB4E
- b _0800CC8A
-_0800CB4E:
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0800CB5A
- b _0800CC8A
-_0800CB5A:
- movs r0, 0x12
- strb r0, [r2, 0x4]
- b _0800CC8A
- .pool
-_0800CB64:
- cmp r6, 0
- beq _0800CB6A
- b _0800CC8A
-_0800CB6A:
- mov r0, sp
- bl rfu_CHILD_getConnectRecoveryStatus
- lsls r0, 16
- cmp r0, 0
- beq _0800CB78
- b _0800CC8A
-_0800CB78:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CB94
- ldr r1, =gUnknown_03004140
- movs r0, 0x13
- strb r0, [r1, 0x4]
- movs r0, 0x16
- strb r0, [r1, 0x5]
- movs r0, 0x32
- strh r0, [r1, 0x1E]
- b _0800CBA8
- .pool
-_0800CB94:
- ldr r4, =gUnknown_03004140
- strb r6, [r4, 0x5]
- strb r6, [r4, 0x4]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bl sub_800D334
- movs r0, 0x33
- strh r0, [r4, 0x1E]
-_0800CBA8:
- ldr r5, =gUnknown_03004140
- 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_800D30C
- strh r4, [r5, 0x1E]
- b _0800CC8A
- .pool
-_0800CBD8:
- cmp r6, 0
- bne _0800CC8A
- ldr r5, =gUnknown_03004140
- ldrb r1, [r5, 0x5]
- adds r0, r1, 0
- cmp r0, 0x16
- bne _0800CC04
- 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
-_0800CBF6:
- movs r1, 0
- bl sub_800D30C
- b _0800CC8A
- .pool
-_0800CC04:
- cmp r0, 0xF
- bne _0800CC8A
- strb r1, [r5, 0x4]
- ldrb r0, [r5, 0x2]
- movs r4, 0x1
- strb r4, [r5, 0x2]
- movs r0, 0x41
- movs r1, 0
- bl sub_800D30C
- 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 _0800CC8A
- strb r7, [r5, 0x5]
- strb r7, [r5, 0x4]
- bl sub_800D610
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl sub_800D334
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r5, 0x14]
- movs r0, 0x25
- movs r1, 0x1
- bl sub_800D30C
- b _0800CC8A
- .pool
-_0800CC78:
- cmp r6, 0
- bne _0800CC8A
- ldr r0, =gUnknown_03004140
- strb r6, [r0, 0x5]
- strb r6, [r0, 0x4]
- movs r0, 0x42
- movs r1, 0
- bl sub_800D30C
-_0800CC8A:
- ldr r1, =gUnknown_03004140
- movs r0, 0x1
- strb r0, [r1, 0xE]
- b _0800CCE6
- .pool
-_0800CC98:
- cmp r6, 0x3
- bne _0800CCE6
- ldrb r0, [r7, 0xF]
- cmp r0, 0
- beq _0800CCE6
- mov r3, r8
- cmp r3, 0x24
- beq _0800CCB0
- cmp r3, 0x26
- beq _0800CCB0
- cmp r3, 0x27
- bne _0800CCE6
-_0800CCB0:
- bl rfu_REQ_RFUStatus
- bl rfu_waitREQComplete
- mov r0, sp
- bl rfu_getRFUStatus
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CCE6
- ldr r4, =gUnknown_03007890
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CCE6
- 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_800C36C
- movs r6, 0
-_0800CCE6:
- mov r4, r8
- cmp r4, 0x26
- bne _0800CCEE
- b _0800CE02
-_0800CCEE:
- cmp r4, 0x26
- bgt _0800CD00
- cmp r4, 0x10
- bne _0800CCF8
- b _0800CE20
-_0800CCF8:
- b _0800CE3E
- .pool
-_0800CD00:
- mov r0, r8
- cmp r0, 0x30
- beq _0800CD0E
- cmp r0, 0x3D
- bne _0800CD0C
- b _0800CE20
-_0800CD0C:
- b _0800CE3E
-_0800CD0E:
- cmp r6, 0
- beq _0800CD14
- b _0800CE42
-_0800CD14:
- bl rfu_getSTWIRecvBuffer
- ldr r4, =gUnknown_03004140
- ldrb r0, [r0, 0x8]
- strh r0, [r4, 0x14]
- bl sub_800D358
- adds r2, r4, 0
- adds r2, 0x30
- ldrb r1, [r2]
- cmp r1, 0
- beq _0800CD6A
- 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
-_0800CD44:
- ldrh r0, [r1, 0x14]
- asrs r0, r3
- ands r0, r5
- cmp r0, 0
- beq _0800CD54
- lsls r0, r3, 1
- adds r0, r4
- strh r2, [r0]
-_0800CD54:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800CD44
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _0800CD6A
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
-_0800CD6A:
- mov r3, sp
- ldr r1, =gUnknown_03004140
- ldrb r2, [r1]
- ldrb r0, [r1, 0x14]
- ands r0, r2
- strb r0, [r3]
- movs r3, 0
- adds r7, r1, 0
- ldr r2, =gUnknown_03007890
- mov r1, sp
- movs r5, 0x1
- adds r4, r7, 0
-_0800CD82:
- ldrb r0, [r1]
- asrs r0, r3
- ands r0, r5
- cmp r0, 0
- beq _0800CD96
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _0800CD96
- subs r0, 0x1
- strb r0, [r7, 0x1]
-_0800CD96:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800CD82
- ldrb r1, [r7, 0x14]
- ldrb r0, [r7]
- bics r0, r1
- strb r0, [r7]
- ldrb r1, [r7, 0x7]
- cmp r1, 0
- beq _0800CDE0
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0800CDF2
- cmp r1, 0x8
- bne _0800CDCC
- ldrh r0, [r7, 0x1C]
- strh r0, [r7, 0x1A]
- movs r0, 0x6
- strb r0, [r7, 0x7]
- b _0800CDDE
- .pool
-_0800CDCC:
- ldrb r0, [r7, 0x4]
- subs r0, 0x6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0800CDE0
- movs r0, 0x1
- strb r0, [r7, 0x7]
- movs r0, 0x5
-_0800CDDE:
- strb r0, [r7, 0x4]
-_0800CDE0:
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0800CDF2
- ldrb r0, [r7, 0x4]
- cmp r0, 0
- bne _0800CDF2
- movs r0, 0xFF
- strb r0, [r7, 0x6]
-_0800CDF2:
- ldrb r0, [r7, 0xE]
- cmp r0, 0
- bne _0800CE3E
- movs r0, 0x40
- movs r1, 0x1
- bl sub_800D30C
- b _0800CE3E
-_0800CE02:
- bl sub_800D20C
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0800CE3E
- movs r0, 0x50
- movs r1, 0
- bl sub_800D30C
- b _0800CE3E
- .pool
-_0800CE20:
- cmp r6, 0
- bne _0800CE42
- ldr r0, =gUnknown_03004140
- strb r6, [r0, 0xD]
- strb r6, [r0, 0x1]
- strb r6, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x6]
- bl sub_800D610
- mov r4, r8
- cmp r4, 0x3D
- bne _0800CE3E
- bl sub_800BFA0
-_0800CE3E:
- cmp r6, 0
- beq _0800CE92
-_0800CE42:
- ldr r7, =gUnknown_03004140
- mov r0, r8
- cmp r0, 0x1C
- bne _0800CE74
- cmp r6, 0
- beq _0800CE74
- ldrb r0, [r7, 0x7]
- cmp r0, 0x4
- bne _0800CE74
- ldr r2, =gUnknown_03007890
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, [r2]
- movs r0, 0xF
- strb r0, [r1, 0x2]
- bl sub_800D334
- bl rfu_waitREQComplete
- b _0800CEA4
- .pool
-_0800CE74:
- movs r1, 0
- mov r3, r8
- strh r3, [r7, 0x14]
- strh r6, [r7, 0x16]
- ldrb r0, [r7, 0xE]
- cmp r0, 0
- beq _0800CE86
- strb r1, [r7, 0x5]
- strb r1, [r7, 0x4]
-_0800CE86:
- movs r0, 0xF0
- movs r1, 0x2
- bl sub_800D30C
- bl sub_800D610
-_0800CE92:
- mov r4, r8
- cmp r4, 0xFF
- bne _0800CEA4
- movs r0, 0xF2
- movs r1, 0
- bl sub_800D30C
- bl sub_800D610
-_0800CEA4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800C7B4
-
- thumb_func_start sub_800CEB0
-sub_800CEB0: @ 800CEB0
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r4, =gUnknown_03004140
- ldrb r7, [r4, 0xE]
- movs r0, 0
- strb r0, [r4, 0xE]
- movs r0, 0x1
- strb r0, [r4, 0xF]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r5, [r0]
- cmp r5, 0
- bne _0800CEEC
- adds r0, r6, 0
- bl sub_800C36C
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- beq _0800CF04
- bl sub_800D610
- strb r5, [r4, 0xF]
- strb r7, [r4, 0xE]
- b _0800CF28
- .pool
-_0800CEEC:
- mov r0, sp
- bl rfu_UNI_PARENT_getDRAC_ACK
- lsls r0, 16
- cmp r0, 0
- bne _0800CF04
- mov r1, sp
- ldrb r0, [r4, 0x3]
- ldrb r1, [r1]
- orrs r0, r1
- ldrb r1, [r4, 0x3]
- strb r0, [r4, 0x3]
-_0800CF04:
- ldr r4, =gUnknown_03004140
- ldr r1, [r4, 0x44]
- cmp r1, 0
- beq _0800CF20
- adds r0, r6, 0
- bl _call_via_r1
- bl rfu_waitREQComplete
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- bne _0800CF20
- bl sub_800D610
-_0800CF20:
- ldr r1, =gUnknown_03004140
- movs r0, 0
- strb r0, [r1, 0xF]
- strb r7, [r1, 0xE]
-_0800CF28:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800CEB0
-
- thumb_func_start sub_800CF34
-sub_800CF34: @ 800CF34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x4]
- subs r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- adds r3, r1, 0
- cmp r0, 0x3
- bls _0800CF52
- b _0800D146
-_0800CF52:
- ldr r0, =gUnknown_03007890
- 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 _0800CF7A
- strh r4, [r3, 0x14]
- movs r0, 0x10
- movs r1, 0x1
- str r3, [sp, 0x4]
- bl sub_800D30C
- ldr r3, [sp, 0x4]
-_0800CF7A:
- movs r0, 0
- str r0, [sp]
- movs r6, 0
- adds r7, r3, 0
- movs r1, 0x24
- adds r1, r3
- mov r9, r1
-_0800CF88:
- 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 _0800CFDA
- 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 _0800D090
- .pool
-_0800CFC0:
- 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 _0800D024
-_0800CFDA:
- mov r1, r9
- ldrb r0, [r1]
- ands r0, r4
- adds r2, r6, 0x1
- mov r10, r2
- cmp r0, 0
- beq _0800D090
- ldr r0, =gUnknown_03007880
- lsls r1, r6, 2
- adds r1, r0
- ldr r1, [r1]
- ldrh r0, [r1, 0x34]
- cmp r0, 0x46
- bne _0800D040
- adds r0, r1, 0
- adds r0, 0x61
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800D058
- movs r5, 0x2
- ldr r3, [r3, 0x20]
- ldrh r2, [r3]
- ldr r0, =0x0000ffff
- cmp r2, r0
- beq _0800D024
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- lsls r1, r6, 5
- adds r0, r1
- ldrh r0, [r0, 0x18]
- ldr r1, =0x0000ffff
-_0800D018:
- cmp r0, r2
- beq _0800CFC0
- adds r3, 0x2
- ldrh r2, [r3]
- cmp r2, r1
- bne _0800D018
-_0800D024:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- bne _0800D058
- movs r0, 0x4
- orrs r5, r0
- b _0800D058
- .pool
-_0800D040:
- 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, =0x0000ffff
- ands r0, r1
- cmp r0, 0
- bne _0800D058
- movs r5, 0x6
-_0800D058:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _0800D07E
- 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
-_0800D07E:
- movs r0, 0x4
- ands r5, r0
- ldr r3, =gUnknown_03004140
- cmp r5, 0
- beq _0800D090
- ldrb r1, [r7, 0xD]
- adds r0, r4, 0
- orrs r0, r1
- strb r0, [r7, 0xD]
-_0800D090:
- mov r2, r10
- lsls r0, r2, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _0800D09C
- b _0800CF88
-_0800D09C:
- ldr r4, [sp]
- cmp r4, 0
- beq _0800D0AE
- ldr r0, =gUnknown_03004140
- strh r4, [r0, 0x14]
- movs r0, 0x11
- movs r1, 0x1
- bl sub_800D30C
-_0800D0AE:
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0xD]
- cmp r0, 0
- beq _0800D0EA
- movs r5, 0x1
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0800D0CE
- ldrb r0, [r1, 0x3]
- ldrb r1, [r1]
- ands r0, r1
- cmp r0, r1
- beq _0800D0CE
- movs r5, 0
-_0800D0CE:
- cmp r5, 0
- beq _0800D0EA
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0xD]
- bl sub_800D334
- ldrb r0, [r4, 0xD]
- movs r1, 0
- strh r0, [r4, 0x14]
- strb r1, [r4, 0xD]
- movs r0, 0x12
- movs r1, 0x1
- bl sub_800D30C
-_0800D0EA:
- ldr r0, =gUnknown_03004140
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0
- bne _0800D146
- ldrb r0, [r3, 0x4]
- cmp r0, 0x8
- bne _0800D146
- ldrb r0, [r3, 0x7]
- cmp r0, 0
- bne _0800D120
- strb r0, [r3, 0x5]
- strb r0, [r3, 0x4]
- movs r0, 0x14
- movs r1, 0
- bl sub_800D30C
- b _0800D146
- .pool
-_0800D120:
- cmp r0, 0x2
- bne _0800D12C
- movs r0, 0x3
- strb r0, [r3, 0x7]
- movs r0, 0x9
- b _0800D132
-_0800D12C:
- movs r0, 0x1
- strb r0, [r3, 0x7]
- movs r0, 0x5
-_0800D132:
- strb r0, [r3, 0x4]
- ldrb r0, [r3]
- cmp r0, 0
- beq _0800D146
- movs r0, 0
- strh r0, [r3, 0x1A]
- movs r0, 0x8
- strb r0, [r3, 0x7]
- movs r0, 0x5
- strb r0, [r3, 0x4]
-_0800D146:
- 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_800CF34
-
- thumb_func_start sub_800D158
-sub_800D158: @ 800D158
- push {r4-r6,lr}
- ldr r1, =0x04000208
- ldrh r0, [r1]
- adds r6, r0, 0
- movs r0, 0
- strh r0, [r1]
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x4]
- cmp r0, 0xF
- bne _0800D1BC
- 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 _0800D192
- ldr r1, =gUnknown_03007880
- ldrb r0, [r4, 0x10]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x27
- bne _0800D1BC
-_0800D192:
- bl sub_800D630
- 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]
-_0800D1BC:
- ldr r0, =0x04000208
- strh r6, [r0]
- ldr r5, =gUnknown_03004140
- ldrb r0, [r5, 0x4]
- cmp r0, 0x18
- bne _0800D1F6
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- bne _0800D1D2
- bl sub_800D630
-_0800D1D2:
- ldrb r0, [r5, 0x2]
- adds r4, r0, 0
- cmp r4, 0
- bne _0800D1F6
- strb r4, [r5, 0x5]
- strb r4, [r5, 0x4]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl sub_800D334
- strh r4, [r5, 0x14]
- movs r0, 0x25
- movs r1, 0x1
- bl sub_800D30C
-_0800D1F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D158
-
- thumb_func_start sub_800D20C
-sub_800D20C: @ 800D20C
- push {r4,r5,lr}
- ldr r5, =gUnknown_03004140
- ldrb r0, [r5, 0x4]
- cmp r0, 0xF
- bne _0800D258
- ldr r1, =gUnknown_03007880
- ldrb r2, [r5, 0x10]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x26
- bne _0800D258
- 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_800D30C
-_0800D258:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D20C
-
- thumb_func_start sub_800D268
-sub_800D268: @ 800D268
- push {lr}
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _0800D28C
- ldrb r0, [r1, 0xA]
- cmp r0, 0x1
- bne _0800D28C
- 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]
-_0800D28C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D268
-
- thumb_func_start sub_800D294
-sub_800D294: @ 800D294
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- movs r5, 0
- ldr r1, =gUnknown_03007890
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- bcs _0800D2F0
- mov r8, r0
- ldr r0, =gUnknown_03004140
- mov r10, r0
- mov r9, r1
-_0800D2B4:
- mov r1, r10
- ldr r3, [r1, 0x20]
- ldrh r2, [r3]
- adds r0, r5, 0x1
- mov r12, r0
- ldr r1, =0x0000ffff
- cmp r2, r1
- beq _0800D2E6
- mov r1, r9
- ldr r0, [r1]
- lsls r1, r5, 5
- adds r0, r1
- ldrh r4, [r0, 0x18]
- ldr r7, =0x0000ffff
- movs r1, 0x1
- lsls r1, r5
-_0800D2D4:
- cmp r4, r2
- bne _0800D2DE
- orrs r6, r1
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_0800D2DE:
- adds r3, 0x2
- ldrh r2, [r3]
- cmp r2, r7
- bne _0800D2D4
-_0800D2E6:
- mov r1, r12
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, r8
- bcc _0800D2B4
-_0800D2F0:
- adds r0, r6, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D294
-
- thumb_func_start sub_800D30C
-sub_800D30C: @ 800D30C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, =gUnknown_03004140
- ldr r2, [r4, 0x40]
- cmp r2, 0
- beq _0800D322
- bl _call_via_r2
-_0800D322:
- movs r0, 0
- strh r0, [r4, 0x16]
- strh r0, [r4, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D30C
-
- thumb_func_start sub_800D334
-sub_800D334: @ 800D334
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_03004140
- 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
- .pool
- thumb_func_end sub_800D334
-
- thumb_func_start sub_800D358
-sub_800D358: @ 800D358
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0800D3A0
- movs r4, 0
-_0800D36A:
- ldr r1, =gUnknown_03007880
- 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 _0800D396
- ldrb r1, [r2, 0x1A]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0800D396
- adds r2, r1, 0
- bics r2, r5
- movs r0, 0x20
- adds r1, r4, 0
- bl rfu_changeSendTarget
-_0800D396:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800D36A
-_0800D3A0:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0
- beq _0800D3DE
- movs r4, 0
-_0800D3AC:
- ldr r1, =gUnknown_03007880
- 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 _0800D3D4
- adds r0, r2, 0
- adds r0, 0x4E
- ldrb r0, [r0]
- ands r0, r5
- cmp r0, 0
- beq _0800D3D4
- adds r0, r4, 0
- bl rfu_NI_stopReceivingData
-_0800D3D4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800D3AC
-_0800D3DE:
- ldr r0, =gUnknown_03007890
- ldr r3, [r0]
- ldrb r2, [r3, 0x6]
- cmp r2, 0
- beq _0800D41C
- mvns r1, r5
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0x6]
- movs r4, 0
- ldr r7, =gUnknown_03007870
- ldr r6, =0x00008024
-_0800D3F6:
- lsls r0, r4, 2
- adds r0, r7
- ldr r2, [r0]
- ldrh r0, [r2]
- cmp r0, r6
- bne _0800D412
- ldrb r3, [r2, 0x3]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _0800D412
- adds r0, r1, 0
- ands r0, r3
- strb r0, [r2, 0x3]
-_0800D412:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800D3F6
-_0800D41C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D358
-
- thumb_func_start sub_800D434
-sub_800D434: @ 800D434
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _0800D510
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0800D4D4
- movs r6, 0
-_0800D454:
- ldr r3, =gUnknown_03007880
- 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 _0800D4CA
- movs r5, 0
- movs r4, 0
- movs r1, 0x1
- mov r8, r1
- mov r10, r3
-_0800D47A:
- adds r0, r7, r3
- ldr r0, [r0]
- ldrb r0, [r0, 0x1A]
- asrs r0, r4
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0800D4A4
- lsls r0, r4, 2
- adds r0, r3
- ldr r0, [r0]
- ldr r1, =gUnknown_03004140
- ldrh r0, [r0, 0x2]
- ldrh r1, [r1, 0x18]
- cmp r0, r1
- bls _0800D4A4
- mov r0, r8
- lsls r0, r4
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_0800D4A4:
- cmp r5, 0
- beq _0800D4C0
- 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]
-_0800D4C0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800D47A
-_0800D4CA:
- mov r3, r9
- lsls r0, r3, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0800D454
-_0800D4D4:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0
- beq _0800D510
- movs r6, 0
-_0800D4E0:
- ldr r1, =gUnknown_03007880
- 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 _0800D506
- ldr r1, =gUnknown_03004140
- ldrh r0, [r2, 0x36]
- ldrh r1, [r1, 0x18]
- cmp r0, r1
- bls _0800D506
- adds r0, r6, 0
- bl rfu_NI_stopReceivingData
-_0800D506:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0800D4E0
-_0800D510:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D434
-
- thumb_func_start sub_800D52C
-sub_800D52C: @ 800D52C
- push {lr}
- ldr r1, =gUnknown_03004140
- str r0, [r1, 0x44]
- ldr r0, =sub_800CEB0
- bl rfu_setMSCCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D52C
-
- thumb_func_start sub_800D544
-sub_800D544: @ 800D544
- ldr r1, =gUnknown_03004140
- str r0, [r1, 0x40]
- bx lr
- .pool
- thumb_func_end sub_800D544
-
- thumb_func_start sub_800D550
-sub_800D550: @ 800D550
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x9]
- adds r3, r0, 0
- cmp r1, 0
- beq _0800D578
- cmp r4, 0
- bne _0800D578
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800D578
- movs r0, 0x5
- b _0800D588
- .pool
-_0800D578:
- ldr r2, =0x04000208
- ldrh r1, [r2]
- movs r0, 0
- strh r0, [r2]
- strb r4, [r3, 0x9]
- strh r5, [r3, 0x32]
- strh r1, [r2]
- movs r0, 0
-_0800D588:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D550
-
- thumb_func_start sub_800D594
-sub_800D594: @ 800D594
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- orrs r0, r1
- cmp r0, 0
- bne _0800D5B8
- ldr r0, =gUnknown_03004140
- strh r2, [r0, 0x18]
- movs r0, 0
- b _0800D5C8
- .pool
-_0800D5B8:
- ldr r1, =gUnknown_03004140
- movs r0, 0x6
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x6
-_0800D5C8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D594
-
- thumb_func_start sub_800D5D0
-sub_800D5D0: @ 800D5D0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x4]
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _0800D5FC
- movs r0, 0x7
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x7
- b _0800D60A
- .pool
-_0800D5FC:
- cmp r2, 0
- beq _0800D606
- movs r0, 0x1
- strb r0, [r1, 0xB]
- b _0800D608
-_0800D606:
- strb r3, [r1, 0xB]
-_0800D608:
- movs r0, 0
-_0800D60A:
- pop {r1}
- bx r1
- thumb_func_end sub_800D5D0
-
- thumb_func_start sub_800D610
-sub_800D610: @ 800D610
- push {lr}
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _0800D628
- ldrb r0, [r1, 0x2]
- movs r0, 0
- strb r0, [r1, 0x2]
- movs r0, 0x45
- movs r1, 0
- bl sub_800D30C
-_0800D628:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D610
-
- thumb_func_start sub_800D630
-sub_800D630: @ 800D630
- push {lr}
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _0800D648
- movs r0, 0x45
- movs r1, 0
- bl sub_800D30C
- b _0800D654
- .pool
-_0800D648:
- ldrb r0, [r1, 0x2]
- cmp r0, 0x1
- bne _0800D654
- ldrb r0, [r1, 0x2]
- movs r0, 0x2
- strb r0, [r1, 0x2]
-_0800D654:
- pop {r0}
- bx r0
- thumb_func_end sub_800D630
-
- thumb_func_start sub_800D658
-sub_800D658: @ 800D658
- push {lr}
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x7]
- adds r2, r0, 0
- cmp r1, 0
- beq _0800D6C2
- ldrb r0, [r2, 0x4]
- subs r0, 0x5
- cmp r0, 0x6
- bhi _0800D6C2
- lsls r0, 2
- ldr r1, =_0800D680
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800D680:
- .4byte _0800D69C
- .4byte _0800D6A4
- .4byte _0800D6AE
- .4byte _0800D6AE
- .4byte _0800D6B4
- .4byte _0800D6B4
- .4byte _0800D6BA
-_0800D69C:
- movs r0, 0x3
- strb r0, [r2, 0x7]
- movs r0, 0x9
- b _0800D6C0
-_0800D6A4:
- movs r0, 0x2
- strb r0, [r2, 0x7]
- movs r0, 0x1
- strh r0, [r2, 0x1A]
- b _0800D6C2
-_0800D6AE:
- movs r0, 0x2
- strb r0, [r2, 0x7]
- b _0800D6C2
-_0800D6B4:
- movs r0, 0x28
- strh r0, [r2, 0x1A]
- b _0800D6C2
-_0800D6BA:
- movs r0, 0x28
- strh r0, [r2, 0x1A]
- movs r0, 0xA
-_0800D6C0:
- strb r0, [r2, 0x4]
-_0800D6C2:
- pop {r0}
- bx r0
- thumb_func_end sub_800D658
-
- thumb_func_start sub_800D6C8
-sub_800D6C8: @ 800D6C8
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r0, 0
- movs r4, 0
- movs r5, 0x46
-_0800D6D2:
- adds r2, r0, 0x1
- movs r1, 0x45
- muls r0, r5
- adds r0, r3
- adds r0, 0x45
-_0800D6DC:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0800D6DC
- adds r0, r2, 0
- cmp r0, 0x1F
- ble _0800D6D2
- movs r1, 0
- ldr r2, =0x000008c1
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- movs r2, 0x8C
- lsls r2, 4
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x000008c2
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x000008c3
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D6C8
-
- thumb_func_start sub_800D724
-sub_800D724: @ 800D724
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0
- movs r4, 0
-_0800D72C:
- lsls r0, r1, 3
- adds r2, r1, 0x1
- subs r0, r1
- movs r1, 0xD
- lsls r0, 1
- adds r0, r3
- adds r0, 0xD
-_0800D73A:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0800D73A
- adds r1, r2, 0
- cmp r1, 0x27
- ble _0800D72C
- movs r1, 0
- ldr r2, =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, =0x00000232
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x00000233
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D724
-
- thumb_func_start sub_800D780
-sub_800D780: @ 800D780
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0
- movs r4, 0
-_0800D788:
- lsls r0, r1, 8
- adds r2, r1, 0x1
- movs r1, 0xFF
- adds r0, r3
- adds r0, 0xFF
-_0800D792:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0800D792
- adds r1, r2, 0
- cmp r1, 0x1
- ble _0800D788
- movs r1, 0
- ldr r2, =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, =0x00000202
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x00000203
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D780
-
- thumb_func_start sub_800D7D8
-sub_800D7D8: @ 800D7D8
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r1, =0x000008c2
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1F
- bhi _0800D874
- ldr r0, =0x04000208
- ldrh r1, [r0]
- adds r7, r1, 0
- movs r1, 0
- strh r1, [r0]
- movs r5, 0
- movs r2, 0
-_0800D7F6:
- adds r1, r4, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _0800D80A
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _0800D80A
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0800D80A:
- adds r2, 0xE
- cmp r2, 0x45
- ble _0800D7F6
- cmp r5, 0x5
- beq _0800D866
- movs r2, 0
- movs r0, 0x8C
- lsls r0, 4
- adds r5, r3, r0
- movs r6, 0x46
-_0800D81E:
- ldrb r0, [r5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r2, r1
- adds r1, r3, r1
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x45
- ble _0800D81E
- movs r0, 0x8C
- lsls r0, 4
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x1F
- ands r0, r2
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, =0x000008c2
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r1, 0
- adds r0, r4, 0
- adds r0, 0x45
-_0800D85E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r4
- bge _0800D85E
-_0800D866:
- ldr r0, =0x04000208
- strh r7, [r0]
- b _0800D87E
- .pool
-_0800D874:
- ldr r1, =0x000008c3
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_0800D87E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D7D8
-
- thumb_func_start sub_800D888
-sub_800D888: @ 800D888
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r1, =0x00000232
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0x27
- bhi _0800D920
- ldr r1, =0x04000208
- ldrh r0, [r1]
- adds r7, r0, 0
- movs r0, 0
- strh r0, [r1]
- movs r2, 0
- ldrb r0, [r5]
- cmp r0, 0
- bne _0800D8B8
-_0800D8AA:
- adds r2, 0x1
- cmp r2, 0xD
- bgt _0800D8B8
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800D8AA
-_0800D8B8:
- cmp r2, 0xE
- beq _0800D910
- movs r2, 0
- movs r0, 0x8C
- lsls r0, 2
- adds r3, r6, r0
-_0800D8C4:
- 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 _0800D8C4
- 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, =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
-_0800D908:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r5
- bge _0800D908
-_0800D910:
- ldr r0, =0x04000208
- strh r7, [r0]
- b _0800D92A
- .pool
-_0800D920:
- ldr r1, =0x00000233
- adds r0, r6, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_0800D92A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D888
-
- thumb_func_start sub_800D934
-sub_800D934: @ 800D934
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r1, =0x04000208
- ldrh r0, [r1]
- mov r12, r0
- movs r0, 0
- strh r0, [r1]
- movs r1, 0x8C
- lsls r1, 4
- adds r0, r3, r1
- ldr r7, =0x000008c1
- adds r5, r3, r7
- ldrb r1, [r0]
- ldrb r0, [r5]
- cmp r1, r0
- beq _0800D960
- ldr r1, =0x000008c3
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800D984
-_0800D960:
- movs r1, 0
- adds r0, r4, 0
- adds r0, 0x45
-_0800D966:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r4
- bge _0800D966
- ldr r0, =0x04000208
- mov r7, r12
- strh r7, [r0]
- movs r0, 0
- b _0800D9CA
- .pool
-_0800D984:
- movs r2, 0
- movs r6, 0x46
-_0800D988:
- adds r1, r4, r2
- ldrb r0, [r5]
- adds r7, r0, 0
- muls r7, r6
- adds r0, r7, 0
- adds r0, r2, r0
- adds r0, r3, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x45
- ble _0800D988
- ldr r0, =0x000008c1
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x1F
- ands r0, r2
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r7, =0x000008c2
- adds r1, r3, r7
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, =0x04000208
- mov r1, r12
- strh r1, [r0]
- movs r0, 0x1
-_0800D9CA:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D934
-
- thumb_func_start sub_800D9DC
-sub_800D9DC: @ 800D9DC
- 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 _0800DA00
- ldr r1, =0x00000233
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r2, r0, 0
- cmp r2, 0
- beq _0800DA08
-_0800DA00:
- movs r0, 0
- b _0800DA54
- .pool
-_0800DA08:
- ldr r1, =0x04000208
- ldrh r0, [r1]
- adds r7, r0, 0
- strh r2, [r1]
- movs r3, 0
-_0800DA12:
- 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 _0800DA12
- ldr r0, =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, =0x00000232
- adds r1, r5, r0
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, =0x04000208
- strh r7, [r0]
- movs r0, 0x1
-_0800DA54:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D9DC
-
- thumb_func_start sub_800DA68
-sub_800DA68: @ 800DA68
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _0800DA7E
- adds r0, r2, 0
- movs r1, 0
- bl sub_800DAC8
- b _0800DAC0
-_0800DA7E:
- movs r3, 0
-_0800DA80:
- 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 _0800DA80
- 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 _0800DABA
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- ldrb r1, [r2, 0x1E]
- strb r0, [r2, 0x1E]
- b _0800DAC0
-_0800DABA:
- ldrb r0, [r2, 0x1C]
- ldrb r1, [r2, 0x1D]
- strb r0, [r2, 0x1D]
-_0800DAC0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_800DA68
-
- thumb_func_start sub_800DAC8
-sub_800DAC8: @ 800DAC8
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- ldrb r0, [r3, 0x1E]
- cmp r0, 0
- bne _0800DAD8
- movs r0, 0
- b _0800DB12
-_0800DAD8:
- cmp r5, 0
- beq _0800DAF6
- movs r4, 0
-_0800DADE:
- 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 _0800DADE
-_0800DAF6:
- 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
-_0800DB12:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_800DAC8
-
- thumb_func_start sub_800DB18
-sub_800DB18: @ 800DB18
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- ldr r1, =0x00000202
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _0800DB70
- movs r2, 0
- movs r0, 0x80
- lsls r0, 2
- adds r4, r3, r0
-_0800DB30:
- 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 _0800DB30
- 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, =0x00000202
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- b _0800DB7A
- .pool
-_0800DB70:
- ldr r1, =0x00000203
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_0800DB7A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DB18
-
- thumb_func_start sub_800DB84
-sub_800DB84: @ 800DB84
- 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 _0800DBA6
- ldr r1, =0x00000203
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800DBB0
-_0800DBA6:
- movs r0, 0
- b _0800DBEA
- .pool
-_0800DBB0:
- movs r2, 0
-_0800DBB2:
- 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 _0800DBB2
- ldr r0, =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, =0x00000202
- adds r1, r3, r0
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0x1
-_0800DBEA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800DB84
-
- thumb_func_start sub_800DBF8
-sub_800DBF8: @ 800DBF8
- 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 _0800DC36
- cmp r1, 0x1
- bgt _0800DC12
- cmp r1, 0
- beq _0800DC1C
- b _0800DCAA
-_0800DC12:
- cmp r0, 0x2
- beq _0800DC56
- cmp r0, 0x3
- beq _0800DC76
- b _0800DCAA
-_0800DC1C:
- movs r4, 0
-_0800DC1E:
- 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 _0800DC1E
- b _0800DC70
-_0800DC36:
- movs r4, 0
- adds r2, r6, 0
- adds r2, 0xC8
-_0800DC3C:
- 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 _0800DC3C
- strh r5, [r2]
- b _0800DCAA
-_0800DC56:
- movs r4, 0
-_0800DC58:
- 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 _0800DC58
-_0800DC70:
- adds r0, r6, r4
- strh r5, [r0]
- b _0800DCAA
-_0800DC76:
- movs r4, 0
- ldr r3, =gUnknown_03000D74
- ldrb r1, [r3]
- ldrb r0, [r3]
- adds r7, r0, 0x1
- adds r2, r1, 0x1
- movs r0, 0xFF
- mov r12, r0
-_0800DC86:
- 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 _0800DC86
- adds r0, r6, r1
- strh r5, [r0]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_0800DCAA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DBF8
-
- thumb_func_start sub_800DCB4
-sub_800DCB4: @ 800DCB4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0800DCD8
- ldr r5, =gUnknown_082ED470
- adds r2, r1, 0
-_0800DCC4:
- 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 _0800DCC4
-_0800DCD8:
- adds r1, r4, r3
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DCB4
-
- thumb_func_start sub_800DCE8
-sub_800DCE8: @ 800DCE8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800DD0C
- ldr r5, =gUnknown_082ED370
- adds r2, r1, 0
-_0800DCF8:
- 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 _0800DCF8
-_0800DD0C:
- adds r1, r4, r3
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DCE8
-
- thumb_func_start sub_800DD1C
-sub_800DD1C: @ 800DD1C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r0, =gUnknown_03007890
- ldr r4, [r0]
- ldrb r2, [r4, 0x2]
- ldrb r1, [r4]
- adds r7, r0, 0
- cmp r1, 0x1
- bne _0800DD72
- movs r3, 0
- ands r1, r2
- cmp r1, 0
- beq _0800DD4E
- cmp r5, 0x1
- bne _0800DD48
- ldrb r0, [r4, 0xA]
- b _0800DD8C
- .pool
-_0800DD48:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0800DD4E:
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bhi _0800DD8A
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0800DD4E
- adds r0, r6, 0x1
- cmp r5, r0
- bne _0800DD48
-_0800DD68:
- ldr r0, [r7]
- adds r0, 0xA
- adds r0, r3
- ldrb r0, [r0]
- b _0800DD8C
-_0800DD72:
- movs r3, 0
- movs r1, 0x1
-_0800DD76:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0800DD68
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800DD76
-_0800DD8A:
- movs r0, 0
-_0800DD8C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800DD1C
-
- thumb_func_start sub_800DD94
-sub_800DD94: @ 800DD94
- 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, =gSaveBlock2Ptr
- mov r8, r0
- adds r6, r7, 0x2
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0xA
-_0800DDB2:
- adds r0, r6, r4
- adds r1, r5, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x1
- ble _0800DDB2
- movs r4, 0
- lsls r2, 7
- mov r12, r2
- adds r1, r7, 0x4
-_0800DDC8:
- adds r0, r1, r4
- strb r3, [r0]
- asrs r3, 8
- adds r4, 0x1
- cmp r4, 0x3
- ble _0800DDC8
- 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
- movs r2, 0xC
- 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, =0x0000087f
- 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, =0x00000864
- 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
- .pool
- thumb_func_end sub_800DD94
-
- thumb_func_start sub_800DE7C
-sub_800DE7C: @ 800DE7C
- 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, =gUnknown_03004140
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _0800DED8
- movs r0, 0x1
- mov r9, r0
- ldr r6, =gUnknown_03007890
- ldr r0, [r6]
- lsls r4, r5, 5
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_8010454
- cmp r0, 0
- beq _0800DEB8
- ldr r1, [r6]
- ldrb r0, [r1, 0x7]
- asrs r0, r5
- mov r2, r9
- ands r0, r2
- cmp r0, 0
- bne _0800DEF0
-_0800DEB8:
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- mov r0, r8
- movs r1, 0
- movs r2, 0x8
- bl memset
- b _0800DF24
- .pool
-_0800DED8:
- movs r0, 0
- mov r9, r0
- ldr r6, =gUnknown_03007890
- ldr r0, [r6]
- lsls r4, r5, 5
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_8010454
- cmp r0, 0
- beq _0800DF10
- ldr r1, [r6]
-_0800DEF0:
- 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 _0800DF24
- .pool
-_0800DF10:
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- mov r0, r8
- movs r1, 0
- movs r2, 0x8
- bl memset
-_0800DF24:
- mov r0, r9
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800DE7C
-
- thumb_func_start sub_800DF34
-sub_800DF34: @ 800DF34
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- movs r7, 0
- ldr r6, =gUnknown_03007890
- ldr r0, [r6]
- lsrs r4, r2, 19
- adds r2, r0, r4
- ldrh r1, [r2, 0x18]
- ldr r0, =0x00007f7d
- cmp r1, r0
- bne _0800DF74
- 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 _0800DF88
- .pool
-_0800DF74:
- adds r0, r3, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
-_0800DF88:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800DF34
-
- thumb_func_start sub_800DF90
-sub_800DF90: @ 800DF90
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, =gUnknown_02022B14
- movs r2, 0xD
- bl memcpy
- ldr r1, =gUnknown_02022B22
- adds r0, r4, 0
- movs r2, 0x8
- bl memcpy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DF90
-
- thumb_func_start sub_800DFB4
-sub_800DFB4: @ 800DFB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r3, 0
- bne _0800DFCA
- cmp r2, 0
- bne _0800DFCA
- movs r3, 0xE7
- movs r2, 0x8
-_0800DFCA:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800E024
- ldr r0, =gUnknown_082ED5F0
- adds r1, r3, 0
- movs r3, 0
- bl CreateSprite
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r4, r0
- ldr r0, =0x00001234
- strh r0, [r4, 0x3C]
- ldr r0, =gUnknown_082ED5E0
- 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, =gUnknown_02022B10
- strb r5, [r0]
- b _0800E06A
- .pool
-_0800E024:
- ldr r0, =gUnknown_082ED5F0
- adds r1, r3, 0
- movs r3, 0
- bl CreateSprite
- ldr r4, =gUnknown_02022B10
- strb r0, [r4]
- ldr r5, =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x00001234
- strh r1, [r0, 0x3C]
- ldr r0, =gUnknown_082ED5E0
- 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]
-_0800E06A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DFB4
-
- thumb_func_start sub_800E084
-sub_800E084: @ 800E084
- push {r4,lr}
- ldr r4, =gSprites
- ldr r3, =gUnknown_02022B10
- 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, =0x00001234
- cmp r1, r0
- bne _0800E0CA
- 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, =gMain
- movs r0, 0x84
- lsls r0, 3
- adds r3, r0
- ldr r0, =gDummyOamData
- ldr r1, [r0]
- ldr r2, [r0, 0x4]
- str r1, [r3]
- str r2, [r3, 0x4]
- ldr r1, =0x070003e8
- movs r2, 0x4
- bl CpuSet
-_0800E0CA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E084
-
- thumb_func_start sub_800E0E8
-sub_800E0E8: @ 800E0E8
- push {r4,lr}
- ldr r4, =gUnknown_082ED5E0
- ldrh r0, [r4, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _0800E100
- adds r0, r4, 0
- bl LoadCompressedObjectPic
-_0800E100:
- ldr r0, =gUnknown_082ED5E8
- bl LoadSpritePalette
- ldr r1, =gUnknown_02022B10
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E0E8
-
- thumb_func_start sub_800E124
-sub_800E124: @ 800E124
- push {r4,lr}
- ldr r1, =gUnknown_03007890
- ldr r0, [r1]
- ldrb r2, [r0, 0x2]
- movs r3, 0
- movs r4, 0x1
-_0800E130:
- adds r0, r2, 0
- ands r0, r4
- cmp r0, 0
- beq _0800E148
- ldr r0, [r1]
- adds r0, 0xA
- adds r0, r3
- ldrb r0, [r0]
- b _0800E156
- .pool
-_0800E148:
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800E130
- movs r0, 0
-_0800E156:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800E124
-
- thumb_func_start sub_800E15C
-sub_800E15C: @ 800E15C
- push {lr}
- adds r2, r0, 0
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, r1
- beq _0800E170
- movs r0, 0
- strh r1, [r2, 0x32]
- strh r0, [r2, 0x34]
- strh r0, [r2, 0x36]
-_0800E170:
- pop {r0}
- bx r0
- thumb_func_end sub_800E15C
-
- thumb_func_start sub_800E174
-sub_800E174: @ 800E174
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, =gUnknown_02022B10
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0800E184
- b _0800E346
-_0800E184:
- ldr r2, =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, =0x00001234
- cmp r1, r0
- beq _0800E19C
- b _0800E346
-_0800E19C:
- adds r6, r2, 0
- movs r5, 0xFF
- movs r4, 0
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800E1F6
- adds r7, r6, 0
- adds r7, 0x28
- movs r1, 0x29
- adds r1, r6
- mov r8, r1
- b _0800E1E6
- .pool
-_0800E1C8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_800DD1C
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcc _0800E1E6
- adds r0, r4, 0
- bl sub_800DD1C
- lsls r0, 24
- lsrs r5, r0, 24
-_0800E1E6:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r4, r0
- blt _0800E1C8
- b _0800E208
-_0800E1F6:
- bl sub_800E124
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r6, 0
- adds r7, 0x28
- movs r2, 0x29
- adds r2, r6
- mov r8, r2
-_0800E208:
- bl sub_8012224
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800E218
- movs r0, 0x4
- b _0800E246
-_0800E218:
- cmp r5, 0x18
- bhi _0800E220
- movs r0, 0x3
- b _0800E246
-_0800E220:
- adds r0, r5, 0
- subs r0, 0x19
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- bhi _0800E230
- movs r0, 0x2
- b _0800E246
-_0800E230:
- adds r0, r5, 0
- subs r0, 0x7F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- bhi _0800E240
- movs r0, 0x1
- b _0800E246
-_0800E240:
- cmp r5, 0xE4
- bls _0800E248
- movs r0, 0
-_0800E246:
- strh r0, [r6, 0x2E]
-_0800E248:
- movs r3, 0x2E
- ldrsh r1, [r6, r3]
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- cmp r1, r0
- beq _0800E25E
- adds r0, r6, 0
- bl sub_800E15C
- ldrh r0, [r6, 0x2E]
- strh r0, [r6, 0x30]
-_0800E25E:
- 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 _0800E2AC
- 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 _0800E2B2
- strh r3, [r6, 0x36]
- b _0800E2B2
-_0800E2AC:
- ldrh r0, [r6, 0x34]
- adds r0, 0x1
- strh r0, [r6, 0x34]
-_0800E2B2:
- ldr r4, =gMain
- movs r1, 0x84
- lsls r1, 3
- adds r0, r4, r1
- ldr r1, =gUnknown_082ED570
- 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, =0x00000422
- adds r5, r4, r1
- ldr r3, =0x000001ff
- adds r1, r3, 0
- ands r2, r1
- ldrh r3, [r5]
- ldr r1, =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, =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, =0x00000424
- adds r4, r1
- ldr r3, =0x000003ff
- adds r1, r3, 0
- ands r2, r1
- ldrh r3, [r4]
- ldr r1, =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r4]
- ldr r1, =0x070003e8
- movs r2, 0x4
- bl CpuSet
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800E346
- bl sub_800E084
-_0800E346:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E174
-
- thumb_func_start sub_800E378
-sub_800E378: @ 800E378
- push {lr}
- stm r0!, {r1}
- adds r1, r2, 0
- bl StringCopy
- pop {r0}
- bx r0
- thumb_func_end sub_800E378
-
- thumb_func_start sub_800E388
-sub_800E388: @ 800E388
- push {lr}
- adds r2, r0, 0
- movs r1, 0
-_0800E38E:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800E39A
- movs r0, 0x1
- b _0800E3A2
-_0800E39A:
- adds r1, 0x1
- cmp r1, 0x7
- ble _0800E38E
- movs r0, 0
-_0800E3A2:
- pop {r1}
- bx r1
- thumb_func_end sub_800E388
-
- thumb_func_start sub_800E3A8
-sub_800E3A8: @ 800E3A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800E3BE
- b _0800E520
-_0800E3BE:
- movs r0, 0xF0
- bl AllocZeroed
- str r0, [sp, 0x14]
- movs r4, 0
- b _0800E434
- .pool
-_0800E3D0:
- 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 r7, =gLinkPlayers + 8
- mov r10, r7
- ldr r6, =0x00003b98
- movs r4, 0
- mov r0, r10
- subs r0, 0x4
- ldr r1, [sp, 0x1C]
- adds r3, r1, r0
-_0800E3FC:
- ldrh r1, [r3]
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r7, =0x00003b98
- adds r0, r2, r7
- adds r0, r4
- ldr r0, [r0]
- cmp r1, r0
- bne _0800E428
- 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 _0800E428
- mov r0, sp
- add r0, r8
- str r5, [r0]
-_0800E428:
- adds r6, 0xC
- adds r4, 0xC
- adds r5, 0x1
- cmp r5, 0x13
- ble _0800E3FC
- mov r4, r9
-_0800E434:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _0800E3D0
- movs r0, 0
- mov r8, r0
- movs r4, 0
- mov r7, sp
- movs r5, 0
- ldr r6, [sp, 0x14]
- b _0800E4AC
- .pool
-_0800E45C:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _0800E4A6
- ldr r2, =gLinkPlayers
- adds r0, r5, r2
- ldrh r0, [r0, 0x1A]
- cmp r0, 0x1
- beq _0800E4A6
- adds r0, r2, 0x4
- adds r0, r5, r0
- ldrh r1, [r0]
- adds r2, 0x8
- adds r2, r5, r2
- adds r0, r6, 0
- bl sub_800E378
- ldr r2, [r7]
- cmp r2, 0
- blt _0800E4A0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r1, =0x00003b9c
- adds r0, r1
- movs r1, 0
- movs r2, 0x8
- bl memset
-_0800E4A0:
- adds r6, 0xC
- movs r0, 0x1
- add r8, r0
-_0800E4A6:
- adds r7, 0x4
- adds r5, 0x1C
- adds r4, 0x1
-_0800E4AC:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _0800E45C
- movs r4, 0
- ldr r1, =gSaveBlock1Ptr
- mov r9, r1
- ldr r6, =0x00003b98
- movs r7, 0
- mov r1, r8
- lsls r0, r1, 1
- add r0, r8
- lsls r0, 2
- ldr r1, [sp, 0x14]
- adds r5, r0, r1
-_0800E4CE:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r6
- adds r0, 0x4
- bl sub_800E388
- cmp r0, 0
- beq _0800E500
- mov r0, r9
- ldr r2, [r0]
- ldr r1, =0x00003b98
- adds r0, r2, r1
- adds r0, r7
- ldr r1, [r0]
- adds r2, r6
- adds r2, 0x4
- adds r0, r5, 0
- bl sub_800E378
- adds r5, 0xC
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x13
- bgt _0800E50A
-_0800E500:
- adds r6, 0xC
- adds r7, 0xC
- adds r4, 0x1
- cmp r4, 0x13
- ble _0800E4CE
-_0800E50A:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r7, =0x00003b98
- adds r0, r7
- ldr r1, [sp, 0x14]
- movs r2, 0xF0
- bl memcpy
- ldr r0, [sp, 0x14]
- bl Free
-_0800E520:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E3A8
-
- thumb_func_start sub_800E540
-sub_800E540: @ 800E540
- 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, =gSaveBlock1Ptr
- ldr r4, =0x00003b98
- movs r5, 0
-_0800E558:
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x4
- mov r1, r9
- bl StringCompare
- cmp r0, 0
- bne _0800E584
- ldr r0, [r6]
- ldr r1, =0x00003b98
- adds r0, r1
- adds r0, r5
- ldr r0, [r0]
- cmp r0, r8
- bne _0800E584
- movs r0, 0x1
- b _0800E59E
- .pool
-_0800E584:
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x4
- bl sub_800E388
- cmp r0, 0
- beq _0800E59C
- adds r4, 0xC
- adds r5, 0xC
- adds r7, 0x1
- cmp r7, 0x13
- ble _0800E558
-_0800E59C:
- movs r0, 0
-_0800E59E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800E540
-
- thumb_func_start sub_800E5AC
-sub_800E5AC: @ 800E5AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r0, =0x00003b98
- mov r8, r0
- movs r7, 0
- mov r6, r8
- movs r5, 0
- movs r4, 0x13
-_0800E5C0:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- mov r2, r8
- adds r0, r1, r2
- adds r0, r5
- str r7, [r0]
- mov r0, sp
- strh r7, [r0]
- adds r1, r6
- adds r1, 0x4
- ldr r2, =0x01000004
- bl CpuSet
- adds r6, 0xC
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _0800E5C0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E5AC
-
- thumb_func_start nullsub_5
-nullsub_5: @ 800E5FC
- bx lr
- thumb_func_end nullsub_5
-
- thumb_func_start nullsub_13
-nullsub_13: @ 800E600
- bx lr
- thumb_func_end nullsub_13
-
- thumb_func_start sub_800E604
-sub_800E604: @ 800E604
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r6, =gUnknown_03005000
- adds r5, r6, 0
- adds r5, 0xEE
- ldrb r4, [r5]
- mov r0, sp
- movs r7, 0
- strh r7, [r0]
- ldr r2, =0x0100067a
- adds r1, r6, 0
- bl CpuSet
- ldrb r0, [r5]
- strb r4, [r5]
- movs r0, 0xFF
- strb r0, [r6, 0xC]
- ldrb r0, [r5]
- cmp r0, 0x4
- beq _0800E636
- ldrb r0, [r5]
- strb r7, [r5]
-_0800E636:
- 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
-_0800E64A:
- adds r0, r5, 0
- bl sub_800FCC4
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _0800E64A
- movs r5, 0
- ldr r4, =gUnknown_0300506C
- adds r0, r4, 0
- bl sub_800FCC4
- adds r0, r4, 0
- adds r0, 0xB8
- bl sub_800D6C8
- ldr r0, =0x0000097c
- adds r4, r0
- adds r0, r4, 0
- bl sub_800D724
- strh r5, [r7]
- ldr r1, =gSendCmd
- ldr r2, =0x01000008
- adds r0, r7, 0
- bl CpuSet
- mov r0, r8
- strh r5, [r0]
- ldr r1, =gRecvCmds
- ldr r2, =0x01000028
- bl CpuSet
- mov r0, r9
- strh r5, [r0]
- ldr r1, =gLinkPlayers
- ldr r2, =0x01000046
- bl CpuSet
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E604
-
- thumb_func_start sub_800E6D0
-sub_800E6D0: @ 800E6D0
- push {r4-r6,lr}
- ldr r4, =gIntrTable
- ldr r5, [r4, 0x4]
- ldr r6, [r4, 0x8]
- bl sub_800E700
- bl rfu_REQ_stopMode
- bl rfu_waitREQComplete
- ldr r1, =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
- .pool
- thumb_func_end sub_800E6D0
-
- thumb_func_start sub_800E700
-sub_800E700: @ 800E700
- push {r4,lr}
- ldr r0, =gUnknown_03004190
- ldr r1, =0x00000e64
- ldr r4, =gIntrTable + 0x4
- adds r2, r4, 0
- movs r3, 0x1
- bl rfu_initializeAPI
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _0800E732
- ldr r0, =gLinkType
- strh r1, [r0]
- bl sub_800AAF4
- movs r0, 0
- bl sub_80111B0
- bl sub_800E604
- adds r1, r4, 0x4
- movs r0, 0x3
- bl rfu_setTimerInterrupt
-_0800E732:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E700
-
- thumb_func_start sub_800E748
-sub_800E748: @ 800E748
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8010750
- ldr r0, =gUnknown_03005000
- ldrh r0, [r0, 0x4]
- cmp r0, 0x12
- bls _0800E75C
- b _0800E862
-_0800E75C:
- lsls r0, 2
- ldr r1, =_0800E770
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800E770:
- .4byte _0800E7BC
- .4byte _0800E862
- .4byte _0800E7E4
- .4byte _0800E862
- .4byte _0800E814
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E828
-_0800E7BC:
- ldr r0, =gUnknown_02022B2C
- bl sub_800BFCC
- ldr r0, =gUnknown_03005000
- movs r2, 0x1
- strh r2, [r0, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _0800E862
- .pool
-_0800E7E4:
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- ldr r3, =gUnknown_082ED6E0
- movs r1, 0
- movs r2, 0xF0
- bl sub_800C054
- movs r0, 0x3
- strh r0, [r4, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0, 0xA]
- b _0800E862
- .pool
-_0800E814:
- movs r0, 0
- bl sub_800C27C
- ldr r1, =gUnknown_03005000
- movs r0, 0x5
- strh r0, [r1, 0x4]
- b _0800E862
- .pool
-_0800E828:
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000cdb
- adds r1, r4, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, =sub_800EDBC
- bl sub_800D52C
- bl sub_800EAB4
- bl sub_800EAFC
- movs r0, 0x14
- strh r0, [r4, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0xA]
- ldr r0, =sub_801084C
- movs r1, 0x5
- bl CreateTask
- adds r0, r5, 0
- bl DestroyTask
-_0800E862:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E748
-
- thumb_func_start sub_800E87C
-sub_800E87C: @ 800E87C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_082ED6A5
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800E87C
-
- thumb_func_start sub_800E88C
-sub_800E88C: @ 800E88C
- 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 _0800E8CC
- movs r3, 0
- movs r5, 0x1
- ldr r1, =gUnknown_03005CDE
-_0800E8A6:
- adds r0, r2, 0
- ands r0, r5
- cmp r0, 0
- beq _0800E8B8
- adds r0, r3, r1
- strb r4, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0800E8B8:
- asrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800E8A6
- b _0800E942
- .pool
-_0800E8CC:
- movs r3, 0
- mvns r0, r1
- mov r12, r0
- movs r7, 0x1
- ldr r4, =gUnknown_03005CDE
-_0800E8D6:
- adds r2, r1, 0
- ands r2, r7
- cmp r2, 0
- bne _0800E8E2
- adds r0, r3, r4
- strb r2, [r0]
-_0800E8E2:
- asrs r1, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800E8D6
- movs r4, 0x4
- ldr r0, =gUnknown_03005CDE
- ldrb r7, [r0]
-_0800E8F4:
- movs r3, 0
- subs r1, r4, 0x1
- cmp r7, r4
- beq _0800E910
- ldr r2, =gUnknown_03005CDE
-_0800E8FE:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bhi _0800E910
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, r4
- bne _0800E8FE
-_0800E910:
- cmp r3, 0x4
- bne _0800E916
- adds r6, r4, 0
-_0800E916:
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0800E8F4
- mov r0, r12
- ands r5, r0
- movs r3, 0
- movs r2, 0x1
- ldr r1, =gUnknown_03005CDE
-_0800E928:
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _0800E936
- adds r0, r3, r1
- strb r6, [r0]
- adds r6, 0x1
-_0800E936:
- asrs r5, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800E928
-_0800E942:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E88C
-
- thumb_func_start sub_800E94C
-sub_800E94C: @ 800E94C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_03005000
- ldrh r3, [r0, 0x4]
- adds r7, r0, 0
- cmp r3, 0xC
- bls _0800E95E
- b _0800EA9A
-_0800E95E:
- lsls r0, r3, 2
- ldr r1, =_0800E970
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800E970:
- .4byte _0800E9A4
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800E9BC
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800E9E4
- .4byte _0800EA9A
- .4byte _0800E9F8
- .4byte _0800EA3C
-_0800E9A4:
- ldr r0, =gUnknown_082ED608
- bl sub_800BFCC
- ldr r0, =gUnknown_03005000
- movs r2, 0x1
- strh r2, [r0, 0x4]
- b _0800E9CC
- .pool
-_0800E9BC:
- ldrb r0, [r7, 0xC]
- ldr r3, =gUnknown_082ED6E0
- movs r1, 0
- movs r2, 0xF0
- bl sub_800C054
- movs r2, 0x7
- strh r2, [r7, 0x4]
-_0800E9CC:
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _0800EA9A
- .pool
-_0800E9E4:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0xA
- strh r0, [r1, 0xA]
- b _0800EA9A
- .pool
-_0800E9F8:
- bl sub_80107A0
- cmp r0, 0x6
- beq _0800EA1C
- cmp r0, 0x6
- bgt _0800EA0A
- cmp r0, 0x5
- beq _0800EA10
- b _0800EA9A
-_0800EA0A:
- cmp r0, 0x9
- beq _0800EA1C
- b _0800EA9A
-_0800EA10:
- ldr r1, =gUnknown_03005000
- movs r0, 0xC
- strh r0, [r1, 0x4]
- b _0800EA9A
- .pool
-_0800EA1C:
- bl sub_800D630
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce4
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r6, 0
- bl DestroyTask
- b _0800EA9A
- .pool
-_0800EA3C:
- ldr r0, =0x00000c3e
- 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, =0x00000c3f
- 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, =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, =gUnknown_02022B44
- ldrb r0, [r4, 0xF]
- cmp r0, 0
- bne _0800EA92
- bl sub_801227C
- ldrb r0, [r4, 0xF]
- adds r0, 0x1
- strb r0, [r4, 0xF]
-_0800EA92:
- ldr r0, =sub_801084C
- movs r1, 0x5
- bl CreateTask
-_0800EA9A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E94C
-
- thumb_func_start sub_800EAB4
-sub_800EAB4: @ 800EAB4
- push {r4,r5,lr}
- ldr r0, =gUnknown_03004140
- ldrb r5, [r0]
- movs r4, 0
-_0800EABC:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _0800EAE0
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 1
- ldr r0, =gUnknown_03005014
- 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
-_0800EAE0:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800EABC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EAB4
-
- thumb_func_start sub_800EAFC
-sub_800EAFC: @ 800EAFC
- push {r4-r6,lr}
- ldr r0, =gUnknown_03004140
- ldrb r5, [r0]
- ldr r4, =gUnknown_03005C87
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x46
- bl rfu_UNI_setSendData
- adds r0, r5, 0
- bl sub_800E87C
- ldr r1, =0xfffff379
- 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_800E88C
- movs r0, 0x1
- strb r0, [r6, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EAFC
-
- thumb_func_start sub_800EB44
-sub_800EB44: @ 800EB44
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x54
- bne _0800EB78
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0800EB78
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
-_0800EB78:
- ldr r0, =gUnknown_03005000
- ldrh r2, [r0, 0x4]
- adds r6, r0, 0
- cmp r2, 0x12
- bls _0800EB84
- b _0800ECF4
-_0800EB84:
- lsls r0, r2, 2
- ldr r1, =_0800EB9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800EB9C:
- .4byte _0800EBE8
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800EC38
- .4byte _0800EC98
- .4byte _0800ECF4
- .4byte _0800ECAC
- .4byte _0800EC10
- .4byte _0800ECF4
-_0800EBE8:
- ldr r0, =gUnknown_02022B2C
- bl sub_800BFCC
- ldr r0, =gUnknown_03005000
- movs r2, 0x1
- strh r2, [r0, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _0800ECF4
- .pool
-_0800EC10:
- ldr r3, =gUnknown_082ED6E0
- movs r0, 0x2
- movs r1, 0
- movs r2, 0xF0
- bl sub_800C054
- ldr r0, =sub_800ED34
- bl sub_800D52C
- ldr r1, =gUnknown_03005000
- movs r0, 0x12
- strh r0, [r1, 0x4]
- b _0800ECF4
- .pool
-_0800EC38:
- ldr r1, =0x00000c3e
- 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 _0800ECF4
- strb r0, [r6, 0xC]
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, =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 _0800EC88
- ldr r0, =sub_8010D0C
- movs r1, 0x1
- bl CreateTask
- b _0800ECF4
- .pool
-_0800EC88:
- ldr r0, =sub_801084C
- movs r1, 0x5
- bl CreateTask
- b _0800ECF4
- .pool
-_0800EC98:
- movs r0, 0
- bl sub_800C27C
- ldr r1, =gUnknown_03005000
- movs r0, 0xF
- strh r0, [r1, 0x4]
- b _0800ECF4
- .pool
-_0800ECAC:
- ldr r0, =0x00000cdb
- adds r1, r6, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, =sub_800EDBC
- bl sub_800D52C
- movs r0, 0x1
- bl sub_8011068
- bl sub_800EAB4
- bl sub_800EAFC
- movs r0, 0x14
- strh r0, [r6, 0x4]
- ldr r1, =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, =sub_801084C
- movs r1, 0x5
- bl CreateTask
- ldr r1, =0x00000ce8
- adds r0, r6, r1
- strb r4, [r0]
- adds r0, r5, 0
- bl DestroyTask
-_0800ECF4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EB44
-
- thumb_func_start sub_800ED10
-sub_800ED10: @ 800ED10
- push {lr}
- ldr r3, =gUnknown_082ED6E0
- movs r0, 0x1
- movs r1, 0
- movs r2, 0xF0
- bl sub_800C054
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ED10
-
- thumb_func_start sub_800ED28
-sub_800ED28: @ 800ED28
- push {lr}
- movs r0, 0
- bl sub_800C27C
- pop {r0}
- bx r0
- thumb_func_end sub_800ED28
-
- thumb_func_start sub_800ED34
-sub_800ED34: @ 800ED34
- push {r4,lr}
- ldr r0, =gUnknown_03005000
- movs r2, 0
- movs r1, 0xD
- adds r0, 0x59
-_0800ED3E:
- strb r2, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0800ED3E
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- ldr r1, =gUnknown_03007870
- ldr r3, =gUnknown_03005000
- ldr r0, =0x00000c3e
- adds r4, r3, r0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x12]
- cmp r0, 0
- beq _0800ED9A
- movs r2, 0xCD
- lsls r2, 4
- 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, =0x00000c3f
- adds r1, r3, r2
- bl sub_800D7D8
- ldr r1, =gUnknown_02022B44
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- bl sub_800F048
- ldrb r0, [r4]
- bl rfu_UNI_readySendData
- ldrb r0, [r4]
- bl rfu_UNI_clearRecvNewDataFlag
-_0800ED9A:
- movs r0, 0x1
- bl rfu_REQ_sendData_wrapper
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ED34
-
- thumb_func_start sub_800EDBC
-sub_800EDBC: @ 800EDBC
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cdb
- adds r0, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_800EDBC
-
- thumb_func_start sub_800EDD4
-sub_800EDD4: @ 800EDD4
- push {r4-r6,lr}
- bl sub_800C048
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- bne _0800EDF0
- ldr r0, =sub_800E748
- b _0800EDF6
- .pool
-_0800EDF0:
- cmp r0, 0
- bne _0800EE18
- ldr r0, =sub_800E94C
-_0800EDF6:
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800EE38
- adds r0, r4, 0
- adds r0, 0x67
- ldrb r0, [r0]
- bl DestroyTask
- bl sub_800E604
- b _0800EE38
- .pool
-_0800EE18:
- cmp r0, 0x2
- bne _0800EE38
- ldr r0, =sub_800EB44
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800EE38
- adds r0, r4, 0
- adds r0, 0x67
- ldrb r0, [r0]
- bl DestroyTask
- bl sub_800E604
-_0800EE38:
- movs r5, 0
- ldr r6, =gUnknown_082ED7E0
-_0800EE3C:
- 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 _0800EE5E
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0800EE5E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _0800EE3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EDD4
-
- thumb_func_start sub_800EE78
-sub_800EE78: @ 800EE78
- push {lr}
- ldr r0, =sub_800E748
- movs r1, 0x1
- bl CreateTask
- ldr r1, =gUnknown_03005000
- adds r1, 0x67
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EE78
-
- thumb_func_start sub_800EE94
-sub_800EE94: @ 800EE94
- push {lr}
- ldr r1, =gUnknown_03005000
- ldrh r0, [r1, 0x4]
- cmp r0, 0x7
- bne _0800EEB4
- ldr r2, =0x00000ccd
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800EEB4
- movs r0, 0x1
- b _0800EEB6
- .pool
-_0800EEB4:
- movs r0, 0
-_0800EEB6:
- pop {r1}
- bx r1
- thumb_func_end sub_800EE94
-
- thumb_func_start sub_800EEBC
-sub_800EEBC: @ 800EEBC
- push {r4,lr}
- ldr r4, =gUnknown_03005000
- ldrh r0, [r4, 0x4]
- cmp r0, 0x7
- bne _0800EEF8
- ldr r0, =gUnknown_03007890
- ldr r1, [r0]
- ldr r2, =0x00000c3d
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 5
- adds r1, r0
- ldrh r0, [r1, 0x14]
- movs r1, 0xF0
- bl sub_800C12C
- lsls r0, 24
- cmp r0, 0
- bne _0800EEF8
- movs r0, 0x9
- strh r0, [r4, 0x4]
- movs r0, 0x1
- b _0800EEFA
- .pool
-_0800EEF8:
- movs r0, 0
-_0800EEFA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800EEBC
-
- thumb_func_start sub_800EF00
-sub_800EF00: @ 800EF00
- push {lr}
- ldr r0, =sub_800E94C
- movs r1, 0x1
- bl CreateTask
- ldr r1, =gUnknown_03005000
- adds r1, 0x67
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EF00
-
- thumb_func_start sub_800EF1C
-sub_800EF1C: @ 800EF1C
- push {lr}
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800EF30
- movs r0, 0
- b _0800EF32
- .pool
-_0800EF30:
- movs r0, 0x1
-_0800EF32:
- pop {r1}
- bx r1
- thumb_func_end sub_800EF1C
-
- thumb_func_start sub_800EF38
-sub_800EF38: @ 800EF38
- ldr r1, =gUnknown_03005000
- movs r0, 0x4
- strh r0, [r1, 0x4]
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- ldr r2, =0x00000ce7
- adds r1, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_800EF38
-
- thumb_func_start sub_800EF58
-sub_800EF58: @ 800EF58
- push {lr}
- adds r1, r0, 0
- ldr r2, =gUnknown_03005000
- ldrh r0, [r2, 0x4]
- cmp r0, 0x11
- beq _0800EF68
- cmp r1, 0
- beq _0800EF74
-_0800EF68:
- movs r0, 0x12
- strh r0, [r2, 0x4]
- movs r0, 0x1
- b _0800EF76
- .pool
-_0800EF74:
- movs r0, 0
-_0800EF76:
- pop {r1}
- bx r1
- thumb_func_end sub_800EF58
-
- thumb_func_start sub_800EF7C
-sub_800EF7C: @ 800EF7C
- ldr r1, =gUnknown_03005000
- movs r0, 0xE
- strh r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_800EF7C
-
- thumb_func_start sub_800EF88
-sub_800EF88: @ 800EF88
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- b _0800EF9A
-_0800EF92:
- lsrs r1, 1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_0800EF9A:
- cmp r2, 0x3
- bhi _0800EFAC
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0800EF92
- adds r0, r2, 0
- bl rfu_UNI_readySendData
-_0800EFAC:
- pop {r0}
- bx r0
- thumb_func_end sub_800EF88
-
- thumb_func_start sub_800EFB0
-sub_800EFB0: @ 800EFB0
- push {r4-r7,lr}
- sub sp, 0x4
- movs r2, 0
- ldr r7, =gRecvCmds
- ldr r0, =gUnknown_03005000
- adds r6, r7, 0
- ldr r1, =0x00000c87
- adds r5, r0, r1
-_0800EFC0:
- 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
-_0800EFD0:
- 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 _0800EFD0
- adds r2, r4, 0
- cmp r2, 0x4
- ble _0800EFC0
- movs r0, 0
- mov r1, sp
- strh r0, [r1]
- ldr r2, =0x01000028
- mov r0, sp
- adds r1, r7, 0
- bl CpuSet
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EFB0
-
- thumb_func_start sub_800F014
-sub_800F014: @ 800F014
- push {lr}
- ldr r3, =gSendCmd
- ldr r2, =gRecvCmds
- movs r1, 0x6
-_0800F01C:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _0800F01C
- ldr r1, =gSendCmd
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xC
-_0800F032:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _0800F032
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F014
-
- thumb_func_start sub_800F048
-sub_800F048: @ 800F048
- push {r4,r5,lr}
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000c3c
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _0800F07A
- ldr r1, =0x00000c1c
- adds r0, r4, r1
- adds r1, r4, 0
- adds r1, 0x4C
- bl sub_800DAC8
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =0x00000c3a
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r1, r0, 0
- cmp r1, 0
- bne _0800F076
- ldrb r0, [r5]
- strb r1, [r5]
-_0800F076:
- cmp r2, 0
- bne _0800F09E
-_0800F07A:
- ldr r5, =gUnknown_03005000
- ldr r1, =0x00000c3c
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800F09E
- ldr r1, =0x000009e8
- adds r0, r5, r1
- adds r4, r5, 0
- adds r4, 0x4C
- adds r1, r4, 0
- bl sub_800D9DC
- ldr r1, =0x00000c1c
- adds r0, r5, r1
- adds r1, r4, 0
- bl sub_800DA68
-_0800F09E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F048
-
- thumb_func_start sub_800F0B8
-sub_800F0B8: @ 800F0B8
- push {r4,lr}
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0800F0CC
-_0800F0C4:
- movs r0, 0
- b _0800F0EC
- .pool
-_0800F0CC:
- movs r3, 0
- ldr r4, =gRecvCmds
-_0800F0D0:
- movs r2, 0
- lsls r0, r3, 4
- adds r1, r0, r4
-_0800F0D6:
- ldrh r0, [r1]
- cmp r0, 0
- bne _0800F0C4
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x6
- ble _0800F0D6
- adds r3, 0x1
- cmp r3, 0x4
- ble _0800F0D0
- movs r0, 0x1
-_0800F0EC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F0B8
-
- thumb_func_start sub_800F0F8
-sub_800F0F8: @ 800F0F8
- push {r4-r6,lr}
- ldr r6, =gUnknown_03005000
- ldrh r0, [r6, 0x4]
- cmp r0, 0x13
- bhi _0800F118
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- movs r0, 0
- bl rfu_REQ_sendData_wrapper
- b _0800F1D2
- .pool
-_0800F118:
- ldr r0, =0x00000cdb
- adds r1, r6, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, =0x00000ce2
- adds r1, r6, r0
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r1]
- ldrb r0, [r0, 0x2]
- ands r0, r1
- cmp r0, r1
- bne _0800F1D2
- cmp r0, 0
- beq _0800F1D2
- ldr r1, =0x00000cdc
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r5, r0, 0
- cmp r5, 0
- bne _0800F1C8
- ldr r0, =0x00000ce3
- adds r4, r6, r0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0800F1A8
- bl sub_8011D6C
- strb r5, [r4]
- ldr r1, =0x00000ce4
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800F18C
- movs r4, 0x80
- lsls r4, 8
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
- b _0800F1D2
- .pool
-_0800F18C:
- ldr r0, =gUnknown_03004140
- ldrb r4, [r0]
- cmp r4, 0
- bne _0800F1A8
- bl sub_800EDD4
- ldr r0, =gReceivedRemoteLinkPlayers
- strb r4, [r0]
- b _0800F1D2
- .pool
-_0800F1A8:
- bl sub_800EFB0
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cda
- adds r0, r1
- ldrb r0, [r0]
- bl rfu_UNI_readySendData
- movs r0, 0x1
- bl rfu_REQ_sendData_wrapper
- b _0800F1CC
- .pool
-_0800F1C8:
- bl rfu_REQ_PARENT_resumeRetransmitAndChange
-_0800F1CC:
- ldr r1, =gUnknown_03005000
- movs r0, 0x1
- strb r0, [r1, 0xE]
-_0800F1D2:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F0F8
-
- thumb_func_start sub_800F1E0
-sub_800F1E0: @ 800F1E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gUnknown_03005000
- ldrh r1, [r0, 0x4]
- adds r6, r0, 0
- cmp r1, 0x13
- bhi _0800F1F8
- b _0800F45A
-_0800F1F8:
- ldrb r0, [r6, 0xE]
- cmp r0, 0x1
- beq _0800F200
- b _0800F45A
-_0800F200:
- bl rfu_waitREQComplete
- ldr r0, =0x00000cdb
- adds r2, r6, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _0800F220
- adds r1, r6, 0
- adds r1, 0xEE
-_0800F212:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800F21A
- b _0800F480
-_0800F21A:
- ldrb r0, [r2]
- cmp r0, 0
- beq _0800F212
-_0800F220:
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- ldr r2, =gUnknown_03004140
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ce2
- adds r0, r4, r1
- ldrb r1, [r2, 0x3]
- ldrb r0, [r0]
- ands r1, r0
- cmp r1, r0
- beq _0800F23C
- b _0800F444
-_0800F23C:
- ldr r6, =0x00000cdc
- adds r1, r4, r6
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_02022B44
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- ldrb r7, [r2]
- movs r5, 0
-_0800F252:
- 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 _0800F264
- b _0800F364
-_0800F264:
- ldr r1, =gUnknown_03005000
- 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 _0800F35C
- ldr r2, =0x00000cee
- adds r0, r6, r2
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0800F2E0
- 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 _0800F2E0
- ldr r0, =0x00000cea
- 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 _0800F35C
- movs r0, 0x81
- lsls r0, 8
- bl sub_8011170
- b _0800F35C
- .pool
-_0800F2E0:
- ldr r2, =gUnknown_03005000
- ldr r6, =0x00000cee
- 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, =gUnknown_03005000
- 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, =gUnknown_03005CDE
- 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, =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
-_0800F330:
- 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 _0800F330
-_0800F35C:
- mov r1, r10
- lsrs r0, r1, 24
- bl rfu_UNI_clearRecvNewDataFlag
-_0800F364:
- 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 _0800F376
- b _0800F252
-_0800F376:
- bl sub_800F014
- movs r0, 0
- bl sub_800F86C
- bl sub_8010528
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ce5
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800F452
- ldr r2, =0x00000cd9
- adds r0, r4, r2
- ldrb r2, [r0]
- cmp r2, 0
- bne _0800F452
- ldr r0, =gUnknown_02022B44
- ldrb r1, [r0, 0xE]
- strb r2, [r0, 0xE]
- ldr r6, =0x00000cda
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x3
- bl rfu_clearSlot
- movs r5, 0
- adds r7, r4, 0
- adds r7, 0x14
-_0800F3B2:
- ldr r0, =0x00000ce5
- adds r6, r4, r0
- ldrb r0, [r6]
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0800F3D6
- 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
-_0800F3D6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0800F3B2
- subs r4, r6, 0x3
- ldrb r0, [r4]
- ldrb r2, [r6]
- adds r1, r0, 0
- orrs r1, r2
- bl sub_800E88C
- 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_800E87C
- adds r1, r6, 0
- subs r1, 0xB
- strb r0, [r1]
- ldr r0, =sub_8010AAC
- movs r1, 0
- bl CreateTask
- b _0800F452
- .pool
-_0800F444:
- ldr r2, =0x00000cdc
- adds r1, r4, r2
- ldrb r0, [r1]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r2, [r4, 0xE]
-_0800F452:
- ldr r1, =gUnknown_03005000
- movs r0, 0
- strb r0, [r1, 0xE]
- adds r6, r1, 0
-_0800F45A:
- ldr r1, =0x00000cdc
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r1, r0, 0
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0800F484
- movs r0, 0x1
- ands r0, r1
- b _0800F486
- .pool
-_0800F480:
- movs r0, 0
- b _0800F486
-_0800F484:
- movs r0, 0
-_0800F486:
- 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_800F1E0
-
- thumb_func_start sub_800F498
-sub_800F498: @ 800F498
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r2, r1, 0
- ldrh r1, [r4]
- cmp r1, 0
- beq _0800F4DC
- ldr r0, =gUnknown_03005000
- 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
-_0800F4C2:
- 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 _0800F4C2
- b _0800F4EA
- .pool
-_0800F4DC:
- movs r1, 0
- adds r0, r2, 0
- adds r0, 0xD
-_0800F4E2:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r2
- bge _0800F4E2
-_0800F4EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_800F498
-
- thumb_func_start sub_800F4F0
-sub_800F4F0: @ 800F4F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x58
- ldr r0, =gUnknown_03005124
- mov r1, sp
- bl sub_800D934
- movs r1, 0
- ldr r0, =gRecvCmds
- mov r12, r0
-_0800F506:
- 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
-_0800F514:
- 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 _0800F514
- mov r1, r8
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _0800F506
- movs r0, 0
- bl sub_800F86C
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _0800F5C0
- ldr r0, =gUnknown_03005000
- ldr r2, =0x00000ce4
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800F5C0
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0800F58C
- cmp r0, 0x6
- beq _0800F58C
- cmp r0, 0x9
- beq _0800F58C
- movs r1, 0x90
- lsls r1, 8
- movs r0, 0x2
- bl sub_8011A64
-_0800F58C:
- bl rfu_clearAllSlot
- ldr r1, =gReceivedRemoteLinkPlayers
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gUnknown_03005000
- movs r5, 0
- str r5, [r0]
- ldr r7, =0x00000ce4
- adds r6, r0, r7
- ldrb r0, [r6]
- cmp r0, 0x1
- bne _0800F5B8
- movs r4, 0x90
- lsls r4, 8
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
-_0800F5B8:
- ldr r0, =gUnknown_03004140
- strb r5, [r0, 0x5]
- strb r5, [r0, 0x4]
- strb r5, [r6]
-_0800F5C0:
- ldr r6, =gUnknown_03005000
- movs r0, 0xCD
- lsls r0, 4
- adds r2, r6, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _0800F604
- ldrb r0, [r2]
- subs r0, 0x1
- ldrb r1, [r2]
- strb r0, [r2]
- bl sub_8010528
- ldr r5, =gSendCmd
- add r4, sp, 0x48
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_800F498
- ldr r1, =0x000009e8
- adds r0, r6, r1
- adds r1, r4, 0
- bl sub_800D888
- movs r1, 0
- movs r2, 0
-_0800F5F4:
- 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 _0800F5F4
-_0800F604:
- bl sub_800F0B8
- add sp, 0x58
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F4F0
-
- thumb_func_start sub_800F638
-sub_800F638: @ 800F638
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_03005000
- ldr r2, [r0, 0x70]
- mov r10, r2
- movs r5, 0
- adds r2, r0, 0
- adds r2, 0x6E
- ldrh r3, [r2]
- cmp r5, r3
- bge _0800F6D4
- mov r9, r0
- ldr r0, =gUnknown_03000D90
- mov r8, r0
-_0800F65A:
- movs r0, 0x1
- ands r0, r1
- lsrs r7, r1, 1
- adds r6, r5, 0x1
- cmp r0, 0
- bne _0800F6C8
- ldr r1, =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, =gUnknown_03000D80
- mov r12, r3
- adds r0, r5
- lsls r0, 2
- mov r1, r10
- adds r2, r0, r1
- mov r3, r8
- adds r3, 0x2
-_0800F686:
- 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 _0800F686
- movs r4, 0
- ldr r2, =gUnknown_03000D90
- ldr r1, =gUnknown_03000D80
-_0800F6A0:
- 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 _0800F6A0
- ldr r0, =gUnknown_030059E8
- mov r1, r12
- bl sub_800D888
- movs r1, 0x1
- lsls r1, r5
- mov r2, r9
- ldr r0, [r2, 0x78]
- orrs r0, r1
- str r0, [r2, 0x78]
-_0800F6C8:
- adds r1, r7, 0
- adds r5, r6, 0
- ldr r3, =gUnknown_0300506E
- ldrh r3, [r3]
- cmp r5, r3
- blt _0800F65A
-_0800F6D4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F638
-
- thumb_func_start sub_800F6FC
-sub_800F6FC: @ 800F6FC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_03005000
- ldrb r2, [r0, 0xC]
- cmp r2, 0x1
- bne _0800F71C
- cmp r1, 0
- beq _0800F71C
- adds r0, 0x61
- adds r0, r1, r0
- strb r2, [r0]
- b _0800F724
- .pool
-_0800F71C:
- adds r0, 0x5C
- adds r0, r1, r0
- movs r1, 0x1
- strb r1, [r0]
-_0800F724:
- pop {r0}
- bx r0
- thumb_func_end sub_800F6FC
-
- thumb_func_start sub_800F728
-sub_800F728: @ 800F728
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_03005000
- 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
- .pool
- thumb_func_end sub_800F728
-
- thumb_func_start sub_800F74C
-sub_800F74C: @ 800F74C
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_03005000
- ldrb r1, [r0, 0xC]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _0800F764
- movs r0, 0
- b _0800F786
- .pool
-_0800F764:
- movs r2, 0
- ldr r0, =0x00000cde
- adds r4, r5, r0
-_0800F76A:
- 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 _0800F76A
- ldr r1, =0x00000c3e
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r0, r3
- ldrb r0, [r0]
-_0800F786:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F74C
-
- thumb_func_start rfu_func_080F97B8
-rfu_func_080F97B8: @ 800F794
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800F7C6
- ldr r3, =gUnknown_03005DA8
- ldrh r2, [r3]
- cmp r2, 0
- beq _0800F7C6
- ldr r0, =gUnknown_030022B4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800F7C6
- ldr r1, =gUnknown_03000D78
- 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_800FD14
-_0800F7C6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end rfu_func_080F97B8
-
- thumb_func_start sub_800F7DC
-sub_800F7DC: @ 800F7DC
- ldr r0, =gUnknown_02022B14
- bx lr
- .pool
- thumb_func_end sub_800F7DC
-
- thumb_func_start sub_800F7E4
-sub_800F7E4: @ 800F7E4
- push {lr}
- movs r2, 0
- ldr r0, =gUnknown_03005000
- ldr r1, [r0]
- ldr r0, =rfu_func_080F97B8
- cmp r1, r0
- bne _0800F7F4
- movs r2, 0x1
-_0800F7F4:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F7E4
-
- thumb_func_start sub_800F804
-sub_800F804: @ 800F804
- ldr r1, =gUnknown_03005000
- ldr r0, =rfu_func_080F97B8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_800F804
-
- thumb_func_start Rfu_set_zero
-Rfu_set_zero: @ 800F814
- ldr r1, =gUnknown_03005000
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end Rfu_set_zero
-
- thumb_func_start sub_800F820
-sub_800F820: @ 800F820
- push {lr}
- movs r0, 0x88
- lsls r0, 7
- bl sub_800FD14
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0800F83C
- bl GetBlenderArrowPosition
- ldr r1, =gSendCmd
- strh r0, [r1, 0xC]
-_0800F83C:
- ldr r1, =gUnknown_020223C0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F820
-
- thumb_func_start sub_800F850
-sub_800F850: @ 800F850
- push {lr}
- ldr r1, =gUnknown_03005000
- ldr r0, [r1]
- cmp r0, 0
- bne _0800F85E
- ldr r0, =sub_800F820
- str r0, [r1]
-_0800F85E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F850
-
- thumb_func_start sub_800F86C
-sub_800F86C: @ 800F86C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r8, r0
-_0800F87A:
- mov r1, r8
- lsls r0, r1, 4
- ldr r2, =gRecvCmds
- adds r1, r0, r2
- ldrh r7, [r1]
- movs r3, 0xFF
- lsls r3, 8
- adds r1, r3, 0
- ands r1, r7
- movs r2, 0x88
- lsls r2, 8
- adds r5, r0, 0
- cmp r1, r2
- beq _0800F960
- cmp r1, r2
- bgt _0800F8D6
- movs r0, 0xCC
- lsls r0, 7
- cmp r1, r0
- bne _0800F8A4
- b _0800FAE0
-_0800F8A4:
- cmp r1, r0
- bgt _0800F8C4
- movs r0, 0x88
- lsls r0, 7
- cmp r1, r0
- bne _0800F8B2
- b _0800FBF4
-_0800F8B2:
- movs r0, 0xBE
- lsls r0, 7
- cmp r1, r0
- bne _0800F8BC
- b _0800FAD0
-_0800F8BC:
- b _0800FC04
- .pool
-_0800F8C4:
- movs r0, 0xEE
- lsls r0, 7
- cmp r1, r0
- beq _0800F920
- movs r0, 0xF0
- lsls r0, 7
- cmp r1, r0
- beq _0800F90E
- b _0800FC04
-_0800F8D6:
- movs r0, 0xBE
- lsls r0, 8
- cmp r1, r0
- bne _0800F8E0
- b _0800FBF4
-_0800F8E0:
- cmp r1, r0
- bgt _0800F8F8
- movs r0, 0x89
- lsls r0, 8
- cmp r1, r0
- beq _0800F9C8
- movs r0, 0xA1
- lsls r0, 8
- cmp r1, r0
- bne _0800F8F6
- b _0800FAAC
-_0800F8F6:
- b _0800FC04
-_0800F8F8:
- movs r0, 0xED
- lsls r0, 8
- cmp r1, r0
- bne _0800F902
- b _0800FB10
-_0800F902:
- movs r0, 0xEE
- lsls r0, 8
- cmp r1, r0
- bne _0800F90C
- b _0800FBB0
-_0800F90C:
- b _0800FC04
-_0800F90E:
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- bne _0800F920
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800F920
- b _0800FC50
-_0800F920:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0
- beq _0800F930
- b _0800FC08
-_0800F930:
- ldr r1, =gUnknown_03003092
- adds r0, r5, r1
- ldrh r0, [r0]
- ldr r2, =gUnknown_03005000
- strb r0, [r2, 0xD]
- ldr r3, =gUnknown_03003094
- adds r0, r5, r3
- bl sub_800F74C
- ldr r4, =gUnknown_03005CCE
- strb r0, [r4]
- b _0800FC08
- .pool
-_0800F960:
- ldr r0, =gUnknown_03005000
- mov r9, r0
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r7, r0, 2
- mov r2, r9
- 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 _0800F982
- b _0800FC08
-_0800F982:
- adds r0, r3, 0
- adds r0, 0x80
- movs r2, 0
- strh r4, [r0]
- ldr r1, =gUnknown_03003092
- adds r0, r5, r1
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x82
- strh r0, [r1]
- ldr r1, =gUnknown_03003094
- 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 _0800FC08
- .pool
-_0800F9C8:
- ldr r4, =gUnknown_03005000
- 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 _0800F9EA
- b _0800FC08
-_0800F9EA:
- 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, =gBlockRecvBuffer
- mov r9, r0
- mov r12, r2
- mov r1, r8
- lsls r7, r1, 8
- adds r3, r5, 0
-_0800FA0E:
- 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, =gRecvCmds
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 16
- lsrs r4, r2, 16
- cmp r4, 0x5
- bls _0800FA0E
- ldr r4, =gUnknown_03005000
- 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, =gUnknown_082ED628
- adds r0, r3
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- beq _0800FA5C
- b _0800FC08
-_0800FA5C:
- adds r1, r2, 0
- adds r1, 0x92
- movs r0, 0x2
- strb r0, [r1]
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_800F6FC
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _0800FA7E
- b _0800FC08
-_0800FA7E:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800FA88
- b _0800FC08
-_0800FA88:
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _0800FA90
- b _0800FC08
-_0800FA90:
- ldr r0, =gBlockRecvBuffer
- bl sub_8010A70
- b _0800FC08
- .pool
-_0800FAAC:
- ldr r2, =gUnknown_082ED6B8
- ldr r3, =gUnknown_03003092
- 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 sub_800FE84
- b _0800FC04
- .pool
-_0800FAD0:
- ldr r1, =gUnknown_030050E4
- add r1, r8
- movs r0, 0x1
- strb r0, [r1]
- b _0800FC04
- .pool
-_0800FAE0:
- ldr r2, =gUnknown_03005000
- movs r4, 0x80
- lsls r4, 1
- adds r0, r2, r4
- ldr r3, =gUnknown_03003092
- adds r1, r5, r3
- ldrh r0, [r0]
- mov r6, r8
- adds r6, 0x1
- ldrh r1, [r1]
- cmp r0, r1
- beq _0800FAFA
- b _0800FC08
-_0800FAFA:
- adds r0, r2, 0
- adds r0, 0xE9
- add r0, r8
- movs r1, 0x1
- strb r1, [r0]
- b _0800FC08
- .pool
-_0800FB10:
- ldr r7, =gUnknown_03005000
- ldrb r2, [r7, 0xC]
- cmp r2, 0
- bne _0800FB78
- ldr r3, =gReceivedRemoteLinkPlayers
- ldrb r0, [r3]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0
- beq _0800FC08
- ldr r0, =gUnknown_03003092
- adds r4, r5, r0
- ldrh r1, [r4]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- ands r1, r0
- cmp r1, 0
- beq _0800FB48
- strb r2, [r3]
- bl sub_800D630
- ldr r1, =gUnknown_03003094
- adds r0, r5, r1
- ldrh r1, [r0]
- ldr r2, =0x00000ce4
- adds r0, r7, r2
- strb r1, [r0]
-_0800FB48:
- ldr r0, =gRecvCmds
- adds r0, 0x6
- adds r0, r5, r0
- ldrh r0, [r0]
- strb r0, [r7, 0xD]
- ldrh r0, [r4]
- bl sub_80109E8
- b _0800FC08
- .pool
-_0800FB78:
- movs r0, 0xEE
- lsls r0, 8
- bl sub_800FD14
- ldr r1, =gSendCmd
- ldr r3, =gUnknown_03003092
- adds r0, r5, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x2]
- ldr r4, =gUnknown_03003094
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x4]
- ldr r0, =gRecvCmds
- adds r0, 0x6
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r1, 0x6]
- b _0800FC04
- .pool
-_0800FBB0:
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0x1
- bne _0800FC44
- ldr r0, =0x00000ce3
- adds r2, r4, r0
- ldr r1, =gUnknown_03003092
- adds r3, r5, r1
- ldrb r1, [r3]
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, =gUnknown_03003094
- adds r0, r5, r2
- ldrh r1, [r0]
- ldr r2, =0x00000ce4
- adds r0, r4, r2
- strb r1, [r0]
- ldrh r0, [r3]
- bl sub_80109E8
- b _0800FC08
- .pool
-_0800FBF4:
- ldr r0, =gUnknown_03003020
- mov r3, r8
- lsls r1, r3, 1
- adds r1, r0
- ldr r4, =gUnknown_03003092
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1]
-_0800FC04:
- mov r6, r8
- adds r6, 0x1
-_0800FC08:
- ldr r3, =gUnknown_03005000
- ldrb r4, [r3, 0xC]
- cmp r4, 0x1
- bne _0800FC44
- 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 _0800FC44
- cmp r1, 0x4
- bne _0800FC40
- adds r0, r3, 0
- adds r0, 0x5C
- add r0, r8
- movs r1, 0
- strb r4, [r0]
- strb r1, [r2]
- b _0800FC44
- .pool
-_0800FC40:
- adds r0, 0x1
- strb r0, [r2]
-_0800FC44:
- lsls r0, r6, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x4
- bhi _0800FC50
- b _0800F87A
-_0800FC50:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800F86C
-
- thumb_func_start sub_800FC60
-sub_800FC60: @ 800FC60
- push {lr}
- movs r2, 0
- ldr r0, =gUnknown_03005000
- adds r1, r0, 0
- adds r1, 0x92
-_0800FC6A:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800FC78
- movs r0, 0
- b _0800FC82
- .pool
-_0800FC78:
- adds r1, 0x14
- adds r2, 0x1
- cmp r2, 0x4
- ble _0800FC6A
- movs r0, 0x1
-_0800FC82:
- pop {r1}
- bx r1
- thumb_func_end sub_800FC60
-
- thumb_func_start sub_800FC88
-sub_800FC88: @ 800FC88
- push {r4,lr}
- movs r1, 0
- ldr r2, =gUnknown_03005000
- ldrb r0, [r2, 0xD]
- cmp r1, r0
- bge _0800FCBC
- adds r4, r0, 0
- adds r3, r2, 0
- adds r3, 0x92
- adds r2, 0x5C
-_0800FC9C:
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _0800FCAA
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800FCB4
-_0800FCAA:
- movs r0, 0
- b _0800FCBE
- .pool
-_0800FCB4:
- adds r3, 0x14
- adds r1, 0x1
- cmp r1, r4
- blt _0800FC9C
-_0800FCBC:
- movs r0, 0x1
-_0800FCBE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800FC88
-
- thumb_func_start sub_800FCC4
-sub_800FCC4: @ 800FCC4
- 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_800FCC4
-
- thumb_func_start sub_800FCD8
-sub_800FCD8: @ 800FCD8
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, =gUnknown_03005000
- adds r3, r0, 0
- adds r3, 0x92
- adds r4, r0, 0
- adds r4, 0x5C
-_0800FCE8:
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _0800FCFE
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800FCFE
- lsls r0, r1
- orrs r2, r0
- lsls r0, r2, 24
- lsrs r2, r0, 24
-_0800FCFE:
- adds r3, 0x14
- adds r1, 0x1
- cmp r1, 0x4
- ble _0800FCE8
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800FCD8
-
- thumb_func_start sub_800FD14
-sub_800FD14: @ 800FD14
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r5, =gSendCmd
- strh r1, [r5]
- movs r0, 0xF0
- lsls r0, 7
- adds r4, r5, 0
- cmp r1, r0
- beq _0800FDB0
- cmp r1, r0
- bgt _0800FD62
- movs r0, 0xBE
- lsls r0, 7
- cmp r1, r0
- beq _0800FE00
- cmp r1, r0
- bgt _0800FD50
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- beq _0800FE20
- movs r0, 0x88
- lsls r0, 7
- cmp r1, r0
- beq _0800FE14
- b _0800FE46
- .pool
-_0800FD50:
- movs r0, 0xCC
- lsls r0, 7
- cmp r1, r0
- beq _0800FE00
- movs r0, 0xEE
- lsls r0, 7
- cmp r1, r0
- beq _0800FDB0
- b _0800FE46
-_0800FD62:
- movs r0, 0xBE
- lsls r0, 8
- cmp r1, r0
- beq _0800FE40
- cmp r1, r0
- bgt _0800FE46
- movs r0, 0x88
- lsls r0, 8
- cmp r1, r0
- beq _0800FD80
- movs r0, 0xA1
- lsls r0, 8
- cmp r1, r0
- beq _0800FD98
- b _0800FE46
-_0800FD80:
- ldr r0, =gUnknown_03005000
- 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 _0800FE46
- .pool
-_0800FD98:
- bl sub_800FC60
- lsls r0, 24
- cmp r0, 0
- beq _0800FE46
- ldr r0, =gUnknown_03005000
- adds r0, 0x5A
- ldrb r0, [r0]
- b _0800FE44
- .pool
-_0800FDB0:
- ldr r3, =gUnknown_03005000
- ldr r1, =0x00000ce2
- adds r0, r3, r1
- ldr r2, =0x00000ce3
- adds r1, r3, r2
- ldrb r2, [r0]
- ldrb r0, [r1]
- eors r0, r2
- ldr r1, =gUnknown_082ED695
- 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, =0x00000cde
- adds r3, r0
-_0800FDD6:
- 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 _0800FDD6
- b _0800FE46
- .pool
-_0800FE00:
- ldr r0, =gUnknown_03005000
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4, 0x2]
- b _0800FE46
- .pool
-_0800FE14:
- strh r1, [r5]
- ldr r0, =gMain
- ldrh r0, [r0, 0x2C]
- b _0800FE44
- .pool
-_0800FE20:
- movs r4, 0
- ldr r3, =gUnknown_030050F2
-_0800FE24:
- 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 _0800FE24
- b _0800FE46
- .pool
-_0800FE40:
- ldr r0, =gUnknown_03005DA8
- ldrh r0, [r0]
-_0800FE44:
- strh r0, [r5, 0x2]
-_0800FE46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800FD14
-
- thumb_func_start sub_800FE50
-sub_800FE50: @ 800FE50
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _0800FE76
- bl sub_8011A80
- cmp r0, 0
- bne _0800FE76
- ldr r0, =gUnknown_030050F2
- adds r1, r4, 0
- movs r2, 0xC
- bl memcpy
- movs r0, 0xBC
- lsls r0, 6
- bl sub_800FD14
-_0800FE76:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800FE50
-
- thumb_func_start sub_800FE84
-@ bool8 sub_800FE84(u32 a1, u32 size)
-sub_800FE84: @ 800FE84
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r5, =gUnknown_03005000
- ldr r0, [r5]
- cmp r0, 0
- bne _0800FEB8
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _0800FEB8
- movs r0, 0x7C
- adds r0, r5
- mov r9, r0
- ldrb r1, [r0]
- mov r8, r1
- cmp r1, 0
- beq _0800FEC8
- ldr r1, =gUnknown_02022B44
- adds r1, 0x83
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0800FEB8:
- movs r0, 0
- b _0800FF32
- .pool
-_0800FEC8:
- 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 _0800FF0A
- str r7, [r5, 0x70]
- b _0800FF1C
-_0800FF0A:
- ldr r4, =gBlockSendBuffer
- cmp r7, r4
- beq _0800FF1A
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
-_0800FF1A:
- str r4, [r5, 0x70]
-_0800FF1C:
- movs r0, 0x88
- lsls r0, 8
- bl sub_800FD14
- ldr r0, =gUnknown_03005000
- ldr r1, =rfufunc_80F9F44
- str r1, [r0]
- adds r0, 0x5B
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
-_0800FF32:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800FE84
-
- thumb_func_start rfufunc_80F9F44
-rfufunc_80F9F44: @ 800FF4C
- push {r4,r5,lr}
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _0800FFA0
- movs r5, 0x88
- lsls r5, 8
- adds r0, r5, 0
- bl sub_800FD14
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- bne _0800FF84
- 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 _0800FFA0
- b _0800FF9C
- .pool
-_0800FF84:
- bl GetMultiplayerId
- ldr r1, =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 _0800FFA0
-_0800FF9C:
- ldr r0, =sub_800FFB0
- str r0, [r4]
-_0800FFA0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end rfufunc_80F9F44
-
- thumb_func_start sub_800FFB0
-sub_800FFB0: @ 800FFB0
- push {r4-r6,lr}
- ldr r0, =gUnknown_03005000
- mov r12, r0
- ldr r5, [r0, 0x70]
- ldr r3, =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
-_0800FFD0:
- 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 _0800FFD0
- 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 _08010014
- mov r0, r12
- adds r0, 0x7C
- movs r1, 0
- strb r1, [r0]
- ldr r0, =rfufunc_80FA020
- mov r1, r12
- str r0, [r1]
-_08010014:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800FFB0
-
- thumb_func_start rfufunc_80FA020
-rfufunc_80FA020: @ 8010028
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, =gUnknown_03005000
- ldr r0, [r5, 0x70]
- mov r8, r0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _080100F0
- ldr r3, =gSendCmd
- adds r2, r5, 0
- adds r2, 0x6E
- ldrh r0, [r2]
- subs r0, 0x1
- ldr r4, =0xffff8900
- adds r1, r4, 0
- orrs r0, r1
- strh r0, [r3]
- movs r4, 0
- mov r9, r5
- ldr r0, =gRecvCmds
- mov r12, r0
- lsls r5, r6, 4
- adds r7, r2, 0
- adds r3, 0x2
-_08010064:
- 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 _08010064
- 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 _080100F4
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x88
- adds r1, r0, r1
- ldr r2, =gUnknown_082ED628
- 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 _080100E8
- adds r0, r6, 0
- bl sub_800F638
- ldr r1, =gUnknown_02022B44
- adds r1, 0x64
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080100F4
- .pool
-_080100E8:
- movs r0, 0
- mov r4, r9
- str r0, [r4]
- b _080100F4
-_080100F0:
- movs r0, 0
- str r0, [r5]
-_080100F4:
- 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_8010100
-sub_8010100: @ 8010100
- push {lr}
- ldr r1, =gUnknown_03005000
- adds r1, 0x5A
- strb r0, [r1]
- movs r0, 0xA1
- lsls r0, 8
- bl sub_800FD14
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8010100
-
- thumb_func_start sub_801011C
-sub_801011C: @ 801011C
- push {lr}
- bl rfu_clearAllSlot
- bl sub_800C048
- ldr r1, =gReceivedRemoteLinkPlayers
- movs r0, 0
- strb r0, [r1]
- ldr r2, =gUnknown_03005000
- adds r3, r2, 0
- adds r3, 0xEF
- movs r1, 0
- movs r0, 0x1
- strb r0, [r3]
- str r1, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801011C
-
- thumb_func_start sub_8010148
-sub_8010148: @ 8010148
- push {lr}
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- bl sub_801011C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010148
-
- thumb_func_start sub_8010168
-sub_8010168: @ 8010168
- push {r4,lr}
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- bne _08010188
- bl sub_800D630
- ldr r0, =0x00000ce4
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- b _0801018C
- .pool
-_08010188:
- ldr r0, =sub_8010148
- str r0, [r4]
-_0801018C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010168
-
- thumb_func_start sub_8010198
-sub_8010198: @ 8010198
- push {lr}
- bl sub_800D630
- ldr r2, =gUnknown_03005000
- ldr r0, =0x00000ce4
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gUnknown_03007890
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ldr r1, =0x00000ce3
- adds r2, r1
- strb r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010198
-
- thumb_func_start sub_80101CC
-sub_80101CC: @ 80101CC
- push {r4,r5,lr}
- ldr r0, =gUnknown_03005000
- ldrb r5, [r0, 0xD]
- movs r2, 0
- movs r1, 0
- adds r3, r0, 0
- adds r4, r3, 0
- adds r4, 0xE4
-_080101DC:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080101E6
- adds r2, 0x1
-_080101E6:
- adds r1, 0x1
- cmp r1, 0x4
- ble _080101DC
- cmp r2, r5
- bne _08010220
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- ldrb r0, [r3, 0xC]
- cmp r0, 0
- bne _0801021C
- adds r0, r3, 0
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x3
- strb r1, [r0]
- bl sub_8010168
- b _08010220
- .pool
-_0801021C:
- ldr r0, =sub_8010168
- str r0, [r3]
-_08010220:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80101CC
-
- thumb_func_start sub_801022C
-sub_801022C: @ 801022C
- push {r4,lr}
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801024E
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ce8
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801024E
- movs r0, 0xBE
- lsls r0, 7
- bl sub_800FD14
- ldr r0, =sub_80101CC
- str r0, [r4]
-_0801024E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801022C
-
- thumb_func_start sub_8010264
-sub_8010264: @ 8010264
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gUnknown_03005000
- ldr r0, [r2]
- cmp r0, 0
- bne _08010284
- ldr r1, =0x00000cd9
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, =sub_801022C
- str r0, [r2]
- adds r0, r3, 0
- bl DestroyTask
-_08010284:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010264
-
- thumb_func_start task_add_05_task_del_08FA224_when_no_RfuFunc
-task_add_05_task_del_08FA224_when_no_RfuFunc: @ 8010294
- push {r4,lr}
- ldr r4, =sub_8010264
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080102AC
- adds r0, r4, 0
- movs r1, 0x5
- bl CreateTask
-_080102AC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_05_task_del_08FA224_when_no_RfuFunc
-
- thumb_func_start sub_80102B8
-sub_80102B8: @ 80102B8
- push {r4,r5,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _080102E6
- ldr r1, =gUnknown_03005000
- ldr r2, =0x000009e6
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r4, r0, 0
- cmp r4, 0
- bne _080102E6
- adds r5, r1, 0
- adds r5, 0xFE
- ldrh r0, [r5]
- cmp r0, 0x3C
- bls _080102E6
- movs r0, 0xCC
- lsls r0, 7
- bl sub_800FD14
- strh r4, [r5]
-_080102E6:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- cmp r1, r2
- bcs _08010312
- ldr r0, =gUnknown_03005000
- adds r3, r0, 0
- adds r3, 0xE9
- ldrb r0, [r3]
- cmp r0, 0
- beq _08010312
-_08010300:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _08010312
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08010300
-_08010312:
- ldr r4, =gUnknown_03005000
- cmp r1, r2
- bne _0801033E
- movs r1, 0
- adds r3, r4, 0
- adds r3, 0xE9
- movs r2, 0
-_08010320:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _08010320
- 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]
-_0801033E:
- adds r1, r4, 0
- adds r1, 0xFE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80102B8
-
- thumb_func_start sub_8010358
-sub_8010358: @ 8010358
- push {r4,lr}
- ldr r4, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801037A
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801037A
- movs r0, 0xCC
- lsls r0, 7
- bl sub_800FD14
- ldr r0, =sub_80102B8
- str r0, [r4]
-_0801037A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010358
-
- thumb_func_start sub_8010390
-sub_8010390: @ 8010390
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _080103CC
- ldr r4, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801041E
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801041E
- movs r0, 0xCC
- lsls r0, 7
- bl sub_800FD14
- ldr r0, =sub_80102B8
- b _0801041C
- .pool
-_080103CC:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0x1
- cmp r1, r2
- bcs _080103FA
- ldr r3, =gUnknown_03005000
- adds r0, r3, 0
- adds r0, 0xEA
- ldrb r0, [r0]
- cmp r0, 0
- beq _080103FA
- adds r3, 0xE9
-_080103E8:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _080103FA
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080103E8
-_080103FA:
- cmp r1, r2
- bne _0801041E
- ldr r4, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801041E
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801041E
- movs r0, 0xCC
- lsls r0, 7
- bl sub_800FD14
- ldr r0, =sub_8010358
-_0801041C:
- str r0, [r4]
-_0801041E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010390
-
- thumb_func_start sub_8010434
-sub_8010434: @ 8010434
- push {lr}
- ldr r1, =gUnknown_03005000
- ldr r2, [r1]
- cmp r2, 0
- bne _08010448
- ldr r0, =sub_8010390
- str r0, [r1]
- adds r0, r1, 0
- adds r0, 0xFE
- strh r2, [r0]
-_08010448:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010434
-
- thumb_func_start sub_8010454
-sub_8010454: @ 8010454
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, =gUnknown_082ED6E0
- ldrh r0, [r1]
- cmp r0, r3
- beq _08010482
- ldr r4, =0x0000ffff
- adds r2, r1, 0
-_08010464:
- ldrh r0, [r2]
- cmp r0, r4
- bne _08010478
- movs r0, 0
- b _08010484
- .pool
-_08010478:
- adds r1, 0x2
- adds r2, 0x2
- ldrh r0, [r1]
- cmp r0, r3
- bne _08010464
-_08010482:
- movs r0, 0x1
-_08010484:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8010454
-
- thumb_func_start sub_801048C
-sub_801048C: @ 801048C
- push {lr}
- cmp r0, 0
- beq _080104A0
- movs r1, 0x96
- lsls r1, 2
- movs r0, 0x1
- bl sub_800D550
- movs r0, 0
- b _080104AC
-_080104A0:
- movs r0, 0
- movs r1, 0
- bl sub_800D550
- lsls r0, 24
- lsrs r0, 24
-_080104AC:
- pop {r1}
- bx r1
- thumb_func_end sub_801048C
-
- thumb_func_start sub_80104B0
-sub_80104B0: @ 80104B0
- push {lr}
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cd9
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0
- bl sub_800C27C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80104B0
-
- thumb_func_start rfu_get_multiplayer_id
-rfu_get_multiplayer_id: @ 80104D0
- push {lr}
- ldr r1, =gUnknown_03005000
- ldrb r0, [r1, 0xC]
- cmp r0, 0x1
- beq _080104EC
- ldr r2, =0x00000cce
- adds r0, r1, r2
- ldrb r0, [r0]
- b _080104EE
- .pool
-_080104EC:
- movs r0, 0
-_080104EE:
- pop {r1}
- bx r1
- thumb_func_end rfu_get_multiplayer_id
-
- thumb_func_start sub_80104F4
-sub_80104F4: @ 80104F4
- ldr r0, =gUnknown_03005000
- ldrb r0, [r0, 0xD]
- bx lr
- .pool
- thumb_func_end sub_80104F4
-
- thumb_func_start sub_8010500
-sub_8010500: @ 8010500
- push {lr}
- ldr r2, =gUnknown_03005000
- adds r0, r2, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08010518
- movs r0, 0
- b _08010524
- .pool
-_08010518:
- movs r1, 0
- ldr r0, [r2]
- cmp r0, 0
- bne _08010522
- movs r1, 0x1
-_08010522:
- adds r0, r1, 0
-_08010524:
- pop {r1}
- bx r1
- thumb_func_end sub_8010500
-
- thumb_func_start sub_8010528
-sub_8010528: @ 8010528
- push {lr}
- ldr r0, =gUnknown_03005000
- ldr r0, [r0]
- cmp r0, 0
- beq _08010536
- bl _call_via_r0
-_08010536:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010528
-
- thumb_func_start sub_8010540
-sub_8010540: @ 8010540
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- movs r5, 0
- ldr r6, =gUnknown_03005000
- ldr r0, =0x00000c3e
- adds r0, r6
- mov r8, r0
-_08010552:
- ldr r1, =0x00000cd1
- adds r0, r6, r1
- adds r4, r5, r0
- ldrb r0, [r4]
- subs r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080105DA
- ldr r1, =gUnknown_03007880
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x46
- beq _08010576
- cmp r0, 0x48
- bne _080105C0
-_08010576:
- ldr r2, =0x00000cd5
- adds r0, r6, r2
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080105DA
- 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 _080105DA
- .pool
-_080105C0:
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x47
- bne _080105DA
- lsls r1, r5, 24
- lsrs r1, 24
- movs r0, 0x8
- bl rfu_clearSlot
-_080105DA:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08010552
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8010540
-
- thumb_func_start sub_80105EC
-sub_80105EC: @ 80105EC
- push {r4-r6,lr}
- movs r3, 0
- movs r1, 0
- ldr r5, =gUnknown_03005CD5
- movs r6, 0x1
- movs r4, 0
-_080105F8:
- adds r2, r1, r5
- ldrb r0, [r2]
- cmp r0, 0xB
- bne _0801060C
- adds r0, r6, 0
- lsls r0, r1
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
- strb r4, [r2]
-_0801060C:
- adds r1, 0x1
- cmp r1, 0x3
- ble _080105F8
- cmp r3, 0
- beq _08010620
- adds r0, r3, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_08010620:
- movs r1, 0
- ldr r2, =gUnknown_03005CD5
-_08010624:
- adds r0, r1, r2
- ldrb r0, [r0]
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0801063C
- movs r0, 0x1
- b _08010644
- .pool
-_0801063C:
- adds r1, 0x1
- cmp r1, 0x3
- ble _08010624
- movs r0, 0
-_08010644:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80105EC
-
- thumb_func_start sub_801064C
-sub_801064C: @ 801064C
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 16
- lsrs r2, 16
- adds r1, r2, 0
- bl sub_8011CE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _08010680
- ldr r0, =gUnknown_03005000
- ldr r2, =0x00000cd1
- adds r0, r2
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _08010680
- movs r0, 0
- b _08010682
- .pool
-_08010680:
- movs r0, 0x1
-_08010682:
- pop {r1}
- bx r1
- thumb_func_end sub_801064C
-
- thumb_func_start sub_8010688
-sub_8010688: @ 8010688
- 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_8011CE4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_03005000
- ldr r0, =0x00000cd1
- 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
- .pool
- thumb_func_end sub_8010688
-
- thumb_func_start sub_80106D4
-sub_80106D4: @ 80106D4
- push {r4,r5,lr}
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000c85
- adds r5, r4, r0
- movs r0, 0x8
- strb r0, [r5]
- ldr r0, =0x00000c3e
- 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
- .pool
- thumb_func_end sub_80106D4
-
- thumb_func_start sub_8010714
-sub_8010714: @ 8010714
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 16
- lsrs r2, 16
- adds r1, r2, 0
- bl sub_8011CE4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08010730
- movs r0, 0x2
- b _0801074A
-_08010730:
- ldr r1, =gUnknown_03007880
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08010748
- movs r0, 0
- b _0801074A
- .pool
-_08010748:
- movs r0, 0x1
-_0801074A:
- pop {r1}
- bx r1
- thumb_func_end sub_8010714
-
- thumb_func_start sub_8010750
-sub_8010750: @ 8010750
- push {r4,r5,lr}
- bl sub_8010540
- movs r4, 0
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cd5
- adds r5, r0, r1
-_0801075E:
- ldr r1, =gUnknown_03007880
- 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 _08010788
- adds r1, r4, r5
- ldrb r0, [r1]
- cmp r0, 0xA
- bne _0801077E
- movs r0, 0xB
- strb r0, [r1]
-_0801077E:
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x4
- bl rfu_clearSlot
-_08010788:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0801075E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010750
-
- thumb_func_start sub_80107A0
-sub_80107A0: @ 80107A0
- push {r4,r5,lr}
- movs r4, 0
- ldr r1, =gUnknown_03005000
- ldr r2, =0x00000c85
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080107DA
- ldr r2, =gUnknown_03007880
- ldr r0, =0x00000c3e
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x26
- beq _080107D2
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x27
- bne _080107DA
-_080107D2:
- ldrb r1, [r1]
- movs r0, 0x4
- bl rfu_clearSlot
-_080107DA:
- ldr r2, =gUnknown_03007880
- ldr r5, =gUnknown_03005000
- ldr r0, =0x00000c3e
- adds r1, r5, r0
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x46
- beq _080107FE
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x48
- bne _0801082C
-_080107FE:
- ldrb r1, [r1]
- movs r0, 0x8
- bl rfu_clearSlot
- ldr r2, =0x00000c86
- adds r4, r5, r2
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8011A64
- ldrb r4, [r4]
- b _08010844
- .pool
-_0801082C:
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x47
- bne _08010844
- ldrb r1, [r1]
- movs r0, 0x8
- bl rfu_clearSlot
- movs r4, 0x6
-_08010844:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80107A0
-
- thumb_func_start sub_801084C
-sub_801084C: @ 801084C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_03005000
- adds r0, r5, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08010872
- ldr r0, =0x00000ce8
- adds r1, r5, r0
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- bl DestroyTask
-_08010872:
- ldr r2, =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 _0801091C
- cmp r0, 0x3
- bgt _080108A4
- cmp r0, 0x1
- beq _080108CC
- cmp r0, 0x1
- bgt _08010918
- cmp r0, 0
- beq _080108B6
- b _080109D2
- .pool
-_080108A4:
- cmp r0, 0x5
- beq _08010950
- cmp r0, 0x5
- blt _0801093E
- cmp r0, 0x6
- beq _08010984
- cmp r0, 0x65
- beq _08010904
- b _080109D2
-_080108B6:
- bl sub_800FC60
- lsls r0, 24
- cmp r0, 0
- bne _080108C2
- b _080109D2
-_080108C2:
- bl ResetBlockReceivedFlags
- bl sub_800B348
- b _08010948
-_080108CC:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- bne _0801090C
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080108E8
- movs r0, 0xF0
- lsls r0, 7
- bl sub_800FD14
- b _080108F0
- .pool
-_080108E8:
- movs r0, 0xEE
- lsls r0, 7
- bl sub_800FD14
-_080108F0:
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0x65
- strh r0, [r1, 0x8]
- b _080109D2
- .pool
-_08010904:
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- bne _080109D2
-_0801090C:
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080109D2
- .pool
-_08010918:
- ldrb r0, [r5, 0xD]
- b _08010944
-_0801091C:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- bne _08010948
- bl sub_800FC60
- lsls r0, 24
- cmp r0, 0
- beq _080109D2
- adds r1, r5, 0
- adds r1, 0x5A
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xA1
- lsls r0, 8
- bl sub_800FD14
- b _08010948
-_0801093E:
- bl sub_800FC88
- lsls r0, 24
-_08010944:
- cmp r0, 0
- beq _080109D2
-_08010948:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080109D2
-_08010950:
- movs r4, 0
- ldrb r0, [r5, 0xD]
- cmp r4, r0
- bge _0801096E
-_08010958:
- adds r0, r4, 0
- bl sub_800B3A4
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_800F728
- adds r4, 0x1
- ldrb r2, [r5, 0xD]
- cmp r4, r2
- blt _08010958
-_0801096E:
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080109D2
- .pool
-_08010984:
- adds r0, r6, 0
- bl DestroyTask
- ldr r1, =gReceivedRemoteLinkPlayers
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =0x00000ce8
- adds r1, r5, r0
- movs r0, 0
- strb r0, [r1]
- movs r1, 0x96
- lsls r1, 2
- movs r0, 0x1
- bl sub_800D550
- ldr r2, =0x00000ce6
- adds r1, r5, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080109D2
- movs r4, 0
- adds r2, r1, 0
- movs r3, 0x1
- ldr r0, =0x00000ce5
- adds r5, r0
-_080109B6:
- ldrb r0, [r2]
- asrs r0, r4
- ands r0, r3
- cmp r0, 0
- beq _080109CC
- adds r0, r3, 0
- lsls r0, r4
- strb r0, [r5]
- ldrb r1, [r2]
- eors r0, r1
- strb r0, [r2]
-_080109CC:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080109B6
-_080109D2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801084C
-
- thumb_func_start sub_80109E8
-sub_80109E8: @ 80109E8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- movs r5, 0x1
- ldr r4, =gUnknown_03005CDE
- movs r3, 0
-_080109F6:
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _08010A04
- adds r0, r1, r4
- strb r3, [r0]
-_08010A04:
- adds r1, 0x1
- cmp r1, 0x3
- ble _080109F6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80109E8
-
- thumb_func_start sub_8010A14
-sub_8010A14: @ 8010A14
- push {r4-r7,lr}
- adds r2, r0, 0
- ldr r1, =gUnknown_03005000
- ldrb r0, [r2, 0xF]
- strb r0, [r1, 0xD]
- movs r4, 0
- ldr r0, =0x00000cde
- adds r5, r1, r0
- adds r3, r2, 0
- adds r3, 0x10
-_08010A28:
- adds r0, r4, r5
- adds r1, r3, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x3
- ble _08010A28
- adds r6, r2, 0
- ldr r5, =gLinkPlayers
- movs r4, 0x4
-_08010A3C:
- 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_800B524
- adds r6, 0x1C
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _08010A3C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010A14
-
- thumb_func_start sub_8010A70
-sub_8010A70: @ 8010A70
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =gUnknown_082ED7EC
- adds r1, r4, 0
- bl strcmp
- adds r5, r0, 0
- cmp r5, 0
- bne _08010A9C
- adds r0, r4, 0
- bl sub_8010A14
- mov r0, sp
- strh r5, [r0]
- ldr r2, =0x0100007e
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0
- bl ResetBlockReceivedFlag
-_08010A9C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010A70
-
- thumb_func_start sub_8010AAC
-sub_8010AAC: @ 8010AAC
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, =gUnknown_03005000
- ldr r2, =gUnknown_082ED68C
- ldr r1, =0x00000ce9
- adds r0, r3, r1
- ldrb r1, [r0]
- adds r1, r2
- ldr r2, =0x00000cde
- 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 _08010AE8
- ldr r5, =0x00000ce8
- adds r1, r3, r5
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- bl DestroyTask
-_08010AE8:
- ldr r0, =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 _08010B00
- b _08010CF0
-_08010B00:
- lsls r0, r1, 2
- ldr r1, =_08010B28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08010B28:
- .4byte _08010B40
- .4byte _08010B60
- .4byte _08010B78
- .4byte _08010BC0
- .4byte _08010C0A
- .4byte _08010C94
-_08010B40:
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- beq _08010B4A
- b _08010CF0
-_08010B4A:
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- movs r0, 0xF0
- lsls r0, 7
- bl sub_800FD14
- b _08010C4A
- .pool
-_08010B60:
- ldr r0, =gSendCmd
- ldrh r0, [r0]
- cmp r0, 0
- beq _08010B6A
- b _08010CF0
-_08010B6A:
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r3
- b _08010C52
- .pool
-_08010B78:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08010B8C
- b _08010CF0
-_08010B8C:
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- lsls r2, r4, 8
- ldr r0, =gBlockRecvBuffer
- adds r2, r0
- ldr r1, =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_800B524
- b _08010C4A
- .pool
-_08010BC0:
- ldr r5, =gBlockSendBuffer
- adds r1, r5, 0
- ldr r0, =gUnknown_082ED7EC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldrh r2, [r0]
- strh r2, [r1]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x2]
- ldr r1, =gUnknown_03005000
- ldrb r0, [r1, 0xD]
- strb r0, [r5, 0xF]
- movs r2, 0
- adds r4, r5, 0
- adds r4, 0x10
- ldr r0, =0x00000cde
- adds r3, r1, r0
-_08010BE2:
- adds r0, r4, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _08010BE2
- ldr r1, =gLinkPlayers
- adds r0, r5, 0
- adds r0, 0x14
- movs r2, 0x8C
- bl memcpy
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08010C0A:
- ldr r5, =gBlockSendBuffer
- ldr r1, =gUnknown_03005000
- ldrb r0, [r1, 0xD]
- strb r0, [r5, 0xF]
- movs r2, 0
- ldr r3, =gLinkPlayers
- mov r12, r3
- adds r4, r5, 0
- adds r4, 0x10
- ldr r0, =0x00000cde
- adds r3, r1, r0
-_08010C20:
- adds r0, r4, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _08010C20
- adds r0, r5, 0
- adds r0, 0x14
- mov r1, r12
- movs r2, 0x8C
- bl memcpy
- ldr r1, =gBlockSendBuffer
- movs r0, 0
- movs r2, 0xA0
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _08010CF0
-_08010C4A:
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
-_08010C52:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08010CF0
- .pool
-_08010C74:
- adds r0, r3, 0
- lsls r0, r2
- ldr r2, =0x00000ce5
- adds r1, r5, r2
- strb r0, [r1]
- ldrb r1, [r4]
- eors r0, r1
- strb r0, [r4]
- ldr r4, =0x00000ce8
- adds r0, r5, r4
- strb r3, [r0]
- b _08010CEA
- .pool
-_08010C94:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08010CF0
- bl GetBlockReceivedStatus
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _08010CF0
- mov r0, sp
- movs r4, 0
- strh r4, [r0]
- ldr r1, =gBlockRecvBuffer
- ldr r2, =0x0100007e
- bl CpuSet
- movs r0, 0
- bl ResetBlockReceivedFlag
- ldr r1, =gUnknown_03005000
- ldr r5, =0x00000ce8
- adds r0, r1, r5
- strb r4, [r0]
- ldr r0, =0x00000ce6
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0
- beq _08010CEA
- movs r2, 0
- adds r5, r1, 0
- adds r4, r3, 0
- ldrb r1, [r4]
- movs r3, 0x1
-_08010CDA:
- adds r0, r1, 0
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- bne _08010C74
- adds r2, 0x1
- cmp r2, 0x3
- ble _08010CDA
-_08010CEA:
- adds r0, r6, 0
- bl DestroyTask
-_08010CF0:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010AAC
-
- thumb_func_start sub_8010D0C
-sub_8010D0C: @ 8010D0C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gUnknown_03005000
- adds r0, r6, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08010D2A
- adds r0, r5, 0
- bl DestroyTask
-_08010D2A:
- ldr r1, =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 _08010D70
- cmp r0, 0x1
- bgt _08010D50
- cmp r0, 0
- beq _08010D56
- b _08010DA6
- .pool
-_08010D50:
- cmp r0, 0x2
- beq _08010D82
- b _08010DA6
-_08010D56:
- ldrb r0, [r6, 0xD]
- cmp r0, 0
- beq _08010DA6
- bl sub_800B348
- ldr r1, =gBlockSendBuffer
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- b _08010D7A
- .pool
-_08010D70:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08010DA6
-_08010D7A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08010DA6
-_08010D82:
- bl GetBlockReceivedStatus
- movs r4, 0x1
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- beq _08010DA6
- ldr r0, =gBlockRecvBuffer
- bl sub_8010A14
- movs r0, 0
- bl ResetBlockReceivedFlag
- ldr r0, =gReceivedRemoteLinkPlayers
- strb r4, [r0]
- adds r0, r5, 0
- bl DestroyTask
-_08010DA6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010D0C
-
- thumb_func_start sub_8010DB4
-sub_8010DB4: @ 8010DB4
- push {r4-r7,lr}
- ldr r0, =gUnknown_03005000
- adds r1, r0, 0
- adds r1, 0xEE
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _08010E5C
- ldr r2, =gUnknown_03004140
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _08010E5C
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =sub_8018438
- cmp r1, r0
- beq _08010DDE
- ldr r0, [r2, 0x3C]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08010DE4
-_08010DDE:
- ldr r1, =gLinkVSyncDisabled
- movs r0, 0x2
- strb r0, [r1]
-_08010DE4:
- ldr r4, =c2_800ACD4
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =gMain
- str r4, [r0, 0x8]
- ldr r5, =gUnknown_03005000
- 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, =0x000009e6
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r7, r0, 0
- ldr r1, =0x00000c1a
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r6, r0, 0
- bl sub_8011A74
- movs r3, 0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08010E20
- movs r3, 0x1
-_08010E20:
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_800AF18
- adds r0, r5, 0
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x2
- strb r1, [r0]
- bl CloseLink
- b _08010E8E
- .pool
-_08010E5C:
- ldr r1, =0x00000c1b
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08010E70
- ldr r1, =0x000009e7
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08010E8E
-_08010E70:
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _08010E7C
- bl sub_800D630
-_08010E7C:
- movs r4, 0xE0
- lsls r4, 7
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
-_08010E8E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010DB4
-
- thumb_func_start rfu_REQ_recvData_then_sendData
-rfu_REQ_recvData_then_sendData: @ 8010EA0
- push {lr}
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _08010EB8
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- movs r0, 0
- bl rfu_REQ_sendData_wrapper
-_08010EB8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end rfu_REQ_recvData_then_sendData
-
- thumb_func_start sub_8010EC0
-sub_8010EC0: @ 8010EC0
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ccd
- adds r0, r4, r1
- strb r5, [r0]
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- bl sub_800C54C
- adds r0, r4, 0
- adds r0, 0xEF
- ldrb r0, [r0]
- cmp r0, 0
- bne _08010F14
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _08010F02
- cmp r0, 0x1
- bgt _08010EFC
- cmp r0, 0
- beq _08010F08
- b _08010F14
- .pool
-_08010EFC:
- cmp r0, 0x2
- beq _08010F10
- b _08010F14
-_08010F02:
- bl sub_800F0F8
- b _08010F14
-_08010F08:
- bl sub_800F4F0
- adds r5, r0, 0
- b _08010F14
-_08010F10:
- bl rfu_REQ_recvData_then_sendData
-_08010F14:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8010EC0
-
- thumb_func_start sub_8010F1C
-sub_8010F1C: @ 8010F1C
- push {r4,lr}
- movs r4, 0
- ldr r1, =gUnknown_03005000
- adds r0, r1, 0
- adds r0, 0xEF
- ldrb r0, [r0]
- cmp r0, 0
- bne _08010F3C
- ldrb r0, [r1, 0xC]
- cmp r0, 0x1
- bne _08010F38
- bl sub_800F1E0
- adds r4, r0, 0
-_08010F38:
- bl sub_8010DB4
-_08010F3C:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8010F1C
-
- thumb_func_start sub_8010F48
-sub_8010F48: @ 8010F48
- push {lr}
- ldr r0, =gUnknown_02022B22
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010F48
-
- thumb_func_start sub_8010F60
-sub_8010F60: @ 8010F60
- push {r4,lr}
- ldr r4, =gUnknown_02022B14
- 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_800DD94
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010F60
-
- thumb_func_start sub_8010F84
-sub_8010F84: @ 8010F84
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_02022B14
- adds r1, r4, 0
- bl sub_800DD94
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010F84
-
- thumb_func_start sub_8010FA0
-sub_8010FA0: @ 8010FA0
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022B14
- 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
- .pool
- thumb_func_end sub_8010FA0
-
- thumb_func_start sub_8010FCC
-sub_8010FCC: @ 8010FCC
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022B14
- lsls r0, 2
- ldrb r4, [r5, 0x9]
- movs r3, 0x3
- ands r3, r4
- orrs r3, r0
- strb r3, [r5, 0x9]
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldrh r3, [r5, 0x8]
- ldr r0, =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
- .pool
- thumb_func_end sub_8010FCC
-
- thumb_func_start sub_801100C
-sub_801100C: @ 801100C
- push {r4,lr}
- movs r4, 0x80
- ldr r3, =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r1, r3
- ldrb r2, [r0, 0x13]
- lsls r2, 3
- orrs r2, r4
- adds r3, 0x4
- adds r1, r3
- ldr r0, [r1]
- movs r1, 0x7
- ands r0, r1
- orrs r0, r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801100C
-
- thumb_func_start sub_801103C
-sub_801103C: @ 801103C
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022B14
- movs r4, 0x1
- b _08011054
- .pool
-_08011048:
- adds r0, r4, 0
- bl sub_801100C
- adds r1, r5, r4
- strb r0, [r1, 0x3]
- adds r4, 0x1
-_08011054:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _08011048
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801103C
-
- thumb_func_start sub_8011068
-sub_8011068: @ 8011068
- push {lr}
- lsls r0, 24
- ldr r2, =gUnknown_02022B14
- lsrs r0, 17
- ldrb r3, [r2, 0xA]
- movs r1, 0x7F
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0xA]
- ldr r3, =gUnknown_02022B22
- movs r0, 0
- movs r1, 0x2
- bl rfu_REQ_configGameData
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011068
-
- thumb_func_start sub_8011090
-sub_8011090: @ 8011090
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0801109E
- bl sub_8010F84
-_0801109E:
- ldr r2, =gUnknown_02022B14
- ldr r3, =gUnknown_02022B22
- movs r0, 0
- movs r1, 0x2
- bl rfu_REQ_configGameData
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011090
-
- thumb_func_start sub_80110B8
-sub_80110B8: @ 80110B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _0801114C
- movs r5, 0
- movs r7, 0
- ldr r3, =gUnknown_03005000
- ldr r1, =0x00000ce2
- adds r0, r3, r1
- ldr r2, =0x00000ce3
- 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, =gLinkPlayers
- mov r12, r2
- ldr r0, =0x00000cde
- adds r0, r3
- mov r10, r0
- mov r3, r12
- adds r3, 0x4
-_080110FC:
- mov r0, r8
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _0801113C
- 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 _08011142
-_0801113C:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080110FC
-_08011142:
- movs r0, 0x45
- adds r1, r7, 0
- movs r2, 0
- bl sub_8011090
-_0801114C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80110B8
-
- thumb_func_start sub_8011170
-sub_8011170: @ 8011170
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gUnknown_03005000
- adds r3, r2, 0
- adds r3, 0xEE
- ldrb r0, [r3]
- cmp r0, 0
- bne _08011192
- ldr r1, =gUnknown_03004140
- 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]
-_08011192:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011170
-
- thumb_func_start sub_80111A0
-sub_80111A0: @ 80111A0
- ldr r0, =gUnknown_03005000
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80111A0
-
- thumb_func_start sub_80111B0
-sub_80111B0: @ 80111B0
- push {lr}
- adds r2, r0, 0
- cmp r2, 0
- bne _080111C8
- ldr r0, =gUnknown_03005000
- adds r0, 0xEE
- ldrb r1, [r0]
- strb r2, [r0]
- b _080111D2
- .pool
-_080111C8:
- ldr r0, =gUnknown_03005000
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x4
- strb r1, [r0]
-_080111D2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80111B0
-
- thumb_func_start sub_80111DC
-sub_80111DC: @ 80111DC
- push {lr}
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8011E94
- ldr r1, =gUnknown_03005000
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80111DC
-
- thumb_func_start sub_80111FC
-sub_80111FC: @ 80111FC
- ldr r1, =gUnknown_03005000
- ldr r0, =sub_80111DC
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80111FC
-
- thumb_func_start sub_801120C
-sub_801120C: @ 801120C
- 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 _08011222
- b _08011360
-_08011222:
- cmp r4, 0x32
- bgt _08011252
- cmp r4, 0x13
- bgt _08011240
- cmp r4, 0x12
- blt _08011230
- b _080113EE
-_08011230:
- cmp r4, 0x10
- bne _08011236
- b _080113EE
-_08011236:
- cmp r4, 0x10
- bgt _0801128C
- cmp r4, 0
- beq _0801127E
- b _080113EE
-_08011240:
- cmp r4, 0x30
- bne _08011246
- b _0801136C
-_08011246:
- cmp r4, 0x30
- ble _0801124C
- b _08011354
-_0801124C:
- cmp r4, 0x14
- beq _08011328
- b _080113EE
-_08011252:
- cmp r4, 0x44
- bgt _08011264
- cmp r4, 0x42
- blt _0801125C
- b _080113EE
-_0801125C:
- cmp r4, 0x33
- bne _08011262
- b _0801136C
-_08011262:
- b _080113EE
-_08011264:
- cmp r4, 0xF3
- bne _0801126A
- b _080113BA
-_0801126A:
- cmp r4, 0xF3
- bgt _08011276
- cmp r4, 0xF0
- bge _08011274
- b _080113EE
-_08011274:
- b _080113D4
-_08011276:
- cmp r4, 0xFF
- bne _0801127C
- b _080113D4
-_0801127C:
- b _080113EE
-_0801127E:
- ldr r1, =gUnknown_03005000
- movs r0, 0x2
- strh r0, [r1, 0x4]
- b _080113EE
- .pool
-_0801128C:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- bl sub_80115EC
- movs r5, 0
- movs r0, 0x1
- mov r8, r0
- ldr r1, =gUnknown_03005000
- mov r9, r1
- ldr r3, =0x00000cd5
- add r3, r9
- mov r10, r3
- movs r7, 0x7F
-_080112A6:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- asrs r0, r5
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0801130E
- ldr r0, =gUnknown_03007890
- 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_800F7DC
- ldrb r1, [r0, 0xA]
- adds r0, r7, 0
- ands r0, r1
- cmp r4, r0
- bne _08011304
- ldr r0, =0x00000cd1
- 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 _0801130E
- .pool
-_08011304:
- mov r0, r8
- lsls r0, r5
- orrs r6, r0
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_0801130E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080112A6
- cmp r6, 0
- beq _080113EE
- adds r0, r6, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- b _080113EE
-_08011328:
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ce7
- adds r0, r4, r1
- ldr r1, =gUnknown_03004140
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- beq _08011342
- eors r0, r2
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_08011342:
- movs r0, 0x11
- strh r0, [r4, 0x4]
- b _080113EE
- .pool
-_08011354:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- b _080113EA
- .pool
-_08011360:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x3
- b _080113EC
- .pool
-_0801136C:
- ldr r1, =gUnknown_03005000
- adds r2, r1, 0
- adds r2, 0xF0
- movs r0, 0x4
- strb r0, [r2]
- ldr r3, =0x00000ce2
- adds r1, r3
- ldr r0, =gUnknown_03004140
- ldrb r2, [r0, 0x14]
- ldrb r0, [r1]
- adds r3, r0, 0
- bics r3, r2
- adds r2, r3, 0
- strb r2, [r1]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080113B0
- cmp r2, 0
- bne _080113AC
- adds r0, r4, 0
- bl sub_8011170
- b _080113B0
- .pool
-_080113AC:
- bl sub_80111FC
-_080113B0:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- b _080113EE
-_080113BA:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_8011A64
- movs r0, 0xF3
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- adds r0, 0xEF
- b _080113EA
- .pool
-_080113D4:
- adds r0, r4, 0
- bl sub_8011170
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cdb
- adds r0, r1
- ldrb r1, [r0]
-_080113EA:
- movs r1, 0x1
-_080113EC:
- strb r1, [r0]
-_080113EE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801120C
-
- thumb_func_start sub_8011404
-sub_8011404: @ 8011404
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x31
- bne _08011410
- b _08011570
-_08011410:
- cmp r4, 0x31
- bgt _0801143E
- cmp r4, 0x22
- beq _08011494
- cmp r4, 0x22
- bgt _0801142C
- cmp r4, 0x20
- beq _0801147C
- cmp r4, 0x20
- ble _08011426
- b _080115DE
-_08011426:
- cmp r4, 0
- beq _0801146E
- b _080115DE
-_0801142C:
- cmp r4, 0x24
- beq _080114BA
- cmp r4, 0x24
- blt _080114B0
- cmp r4, 0x25
- beq _08011504
- cmp r4, 0x30
- beq _0801150E
- b _080115DE
-_0801143E:
- cmp r4, 0x44
- bgt _08011454
- cmp r4, 0x42
- blt _08011448
- b _080115DE
-_08011448:
- cmp r4, 0x33
- beq _08011522
- cmp r4, 0x33
- bge _08011452
- b _0801158C
-_08011452:
- b _080115DE
-_08011454:
- cmp r4, 0xF3
- bne _0801145A
- b _080115AC
-_0801145A:
- cmp r4, 0xF3
- bgt _08011466
- cmp r4, 0xF0
- bge _08011464
- b _080115DE
-_08011464:
- b _080115C4
-_08011466:
- cmp r4, 0xFF
- bne _0801146C
- b _080115C4
-_0801146C:
- b _080115DE
-_0801146E:
- ldr r1, =gUnknown_03005000
- movs r0, 0x6
- strh r0, [r1, 0x4]
- b _080115DE
- .pool
-_0801147C:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000ccd
- adds r0, r2
- b _080115DC
- .pool
-_08011494:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000c3e
- adds r0, r2
- ldrb r2, [r0]
- b _080115DC
- .pool
-_080114B0:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- b _080115DE
-_080114BA:
- ldr r4, =gUnknown_03005000
- movs r1, 0
- movs r0, 0xB
- strh r0, [r4, 0x4]
- ldr r2, =0x00000c85
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, =0x00000c86
- adds r2, r4, r0
- strb r1, [r2]
- ldr r1, =0x00000c3e
- adds r5, r4, r1
- ldrb r1, [r5]
- movs r0, 0x20
- movs r3, 0x1
- bl rfu_setRecvBuffer
- ldrb r1, [r5]
- ldr r2, =0x00000c3f
- adds r4, r2
- movs r0, 0x10
- adds r2, r4, 0
- movs r3, 0x46
- bl rfu_setRecvBuffer
- b _080115DE
- .pool
-_08011504:
- movs r0, 0x2
- movs r1, 0x25
- bl sub_8011A64
- b _080115DE
-_0801150E:
- ldr r0, =gUnknown_03005000
- adds r2, r0, 0
- adds r2, 0xF0
- movs r1, 0x2
- strb r1, [r2]
- ldr r1, =0x00000c86
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080115DE
-_08011522:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08011532
- movs r0, 0x4
- strb r0, [r1]
-_08011532:
- ldr r1, =0x00000c86
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _08011544
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
-_08011544:
- ldr r0, =gUnknown_082ED7FC
- movs r1, 0x5
- movs r2, 0x5
- bl nullsub_5
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080115DE
- adds r0, r4, 0
- bl sub_8011170
- b _080115DE
- .pool
-_08011570:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, =gUnknown_082ED814
- movs r1, 0x5
- movs r2, 0x5
- bl nullsub_5
- b _080115DE
- .pool
-_0801158C:
- ldr r1, =gUnknown_03005000
- adds r2, r1, 0
- adds r2, 0xF0
- movs r0, 0x3
- strb r0, [r2]
- ldr r2, =0x00000c3c
- adds r1, r2
- ldrb r0, [r1]
- movs r0, 0x1
- strb r0, [r1]
- b _080115DE
- .pool
-_080115AC:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_8011A64
- movs r0, 0xF3
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- adds r0, 0xEF
- b _080115DA
- .pool
-_080115C4:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cdb
- adds r0, r1
- ldrb r1, [r0]
-_080115DA:
- movs r1, 0x1
-_080115DC:
- strb r1, [r0]
-_080115DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011404
-
- thumb_func_start sub_80115EC
-sub_80115EC: @ 80115EC
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- movs r6, 0x1
- ldr r0, =gUnknown_03005000
- ldr r4, =0x00000cea
- adds r1, r0, r4
- movs r5, 0
- movs r4, 0xFF
-_080115FE:
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r6
- cmp r0, 0
- beq _08011610
- strb r5, [r1]
- ldrb r0, [r1, 0x4]
- orrs r0, r4
- strb r0, [r1, 0x4]
-_08011610:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, 0x3
- ble _080115FE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80115EC
-
- thumb_func_start sub_8011628
-sub_8011628: @ 8011628
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r3, 0
- movs r2, 0
- movs r4, 0x1
- ldr r6, =gUnknown_03007890
- movs r7, 0x7F
-_08011636:
- adds r0, r5, 0
- asrs r0, r2
- ands r0, r4
- cmp r0, 0
- beq _0801165C
- 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 _0801165C
- adds r0, r4, 0
- lsls r0, r2
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
-_0801165C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _08011636
- adds r0, r3, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8011628
-
- thumb_func_start sub_8011674
-sub_8011674: @ 8011674
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x25
- bne _08011680
- b _080118EC
-_08011680:
- cmp r4, 0x25
- bgt _080116C2
- cmp r4, 0x14
- bne _0801168A
- b _08011804
-_0801168A:
- cmp r4, 0x14
- bgt _080116A2
- cmp r4, 0x11
- beq _08011722
- cmp r4, 0x11
- ble _08011698
- b _08011A42
-_08011698:
- cmp r4, 0
- beq _0801170C
- cmp r4, 0x10
- beq _08011718
- b _08011A42
-_080116A2:
- cmp r4, 0x22
- bne _080116A8
- b _08011868
-_080116A8:
- cmp r4, 0x22
- bgt _080116B4
- cmp r4, 0x20
- bne _080116B2
- b _08011850
-_080116B2:
- b _08011A42
-_080116B4:
- cmp r4, 0x23
- bne _080116BA
- b _08011884
-_080116BA:
- cmp r4, 0x24
- bne _080116C0
- b _080118BA
-_080116C0:
- b _08011A42
-_080116C2:
- cmp r4, 0x44
- bgt _080116F2
- cmp r4, 0x42
- blt _080116CC
- b _08011A42
-_080116CC:
- cmp r4, 0x32
- bne _080116D2
- b _08011914
-_080116D2:
- cmp r4, 0x32
- bgt _080116E4
- cmp r4, 0x30
- bne _080116DC
- b _08011940
-_080116DC:
- cmp r4, 0x31
- bne _080116E2
- b _080118F6
-_080116E2:
- b _08011A42
-_080116E4:
- cmp r4, 0x33
- bne _080116EA
- b _08011948
-_080116EA:
- cmp r4, 0x40
- bne _080116F0
- b _080119FC
-_080116F0:
- b _08011A42
-_080116F2:
- cmp r4, 0xF3
- bne _080116F8
- b _08011A0C
-_080116F8:
- cmp r4, 0xF3
- bgt _08011704
- cmp r4, 0xF0
- bge _08011702
- b _08011A42
-_08011702:
- b _08011A28
-_08011704:
- cmp r4, 0xFF
- bne _0801170A
- b _08011A28
-_0801170A:
- b _08011A42
-_0801170C:
- ldr r1, =gUnknown_03005000
- movs r0, 0x11
- strh r0, [r1, 0x4]
- b _08011A42
- .pool
-_08011718:
- movs r0, 0x4
- movs r1, 0
- bl sub_8011A64
- b _08011A42
-_08011722:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _080117DC
- ldr r5, =gUnknown_03005000
- ldr r1, =0x00000cd9
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080117DC
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- bl sub_8011628
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080117A6
- adds r0, r4, 0
- bl sub_800E87C
- movs r2, 0x1
- mov r12, r2
- mov r1, r12
- lsls r1, r0
- lsls r1, 24
- lsrs r1, 24
- ldr r7, =0x00000ce6
- adds r6, r5, r7
- ldrb r2, [r6]
- cmp r2, 0
- bne _08011798
- ldr r0, =0x00000ce8
- adds r3, r5, r0
- ldrb r0, [r3]
- cmp r0, 0
- bne _08011798
- 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 _080117A6
- .pool
-_08011798:
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrb r2, [r0]
- adds r1, r4, 0
- orrs r1, r2
- strb r1, [r0]
-_080117A6:
- ldr r0, =gUnknown_03004140
- ldrh r1, [r0, 0x14]
- cmp r4, r1
- beq _080117F6
- ldr r2, =gUnknown_03005000
- ldr r7, =0x00000ce3
- adds r3, r2, r7
- adds r0, r4, 0
- eors r0, r1
- ldrb r1, [r3]
- orrs r0, r1
- strb r0, [r3]
- ldr r0, =0x00000ce4
- adds r2, r0
- movs r0, 0x2
- strb r0, [r2]
- b _080117F6
- .pool
-_080117DC:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x54
- bne _080117F6
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_080117F6:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- bl sub_80115EC
- b _08011A42
- .pool
-_08011804:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _08011836
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bls _08011836
- ldrb r0, [r4, 0x14]
- bl sub_800E87C
- 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
-_08011836:
- ldr r1, =gUnknown_03005000
- ldrh r0, [r1, 0x4]
- cmp r0, 0xF
- beq _08011840
- b _08011A42
-_08011840:
- movs r0, 0x10
- strh r0, [r1, 0x4]
- b _08011A42
- .pool
-_08011850:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000ccd
- adds r0, r2
- b _08011A40
- .pool
-_08011868:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r7, =0x00000c3e
- adds r0, r7
- ldrb r2, [r0]
- b _08011A40
- .pool
-_08011884:
- ldr r1, =gUnknown_03005000
- movs r0, 0x12
- strh r0, [r1, 0x4]
- ldr r0, =0x00000ccf
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x1
- bhi _080118B0
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, =sub_801209C
- movs r1, 0x2
- bl CreateTask
- b _08011A42
- .pool
-_080118B0:
- movs r0, 0x2
- movs r1, 0x23
- bl sub_8011A64
- b _08011A42
-_080118BA:
- ldr r4, =gUnknown_03005000
- movs r0, 0xD
- strh r0, [r4, 0x4]
- movs r0, 0x3
- movs r1, 0
- bl sub_8011A64
- ldr r1, =0x00000c3e
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, =0x00000c3f
- adds r4, r2
- movs r0, 0x10
- adds r2, r4, 0
- movs r3, 0x46
- bl rfu_setRecvBuffer
- b _08011A42
- .pool
-_080118EC:
- movs r0, 0x2
- movs r1, 0x25
- bl sub_8011A64
- b _08011A42
-_080118F6:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0]
- ldrh r0, [r0, 0x14]
- ands r1, r0
- cmp r1, 0
- bne _08011904
- b _08011A42
-_08011904:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x1
- b _08011A40
- .pool
-_08011914:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801192A
- b _08011A42
-_0801192A:
- ldr r7, =0x00000c3c
- adds r0, r2, r7
- ldrb r1, [r0]
- movs r1, 0x1
- b _08011A40
- .pool
-_08011940:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x2
- strb r1, [r0]
-_08011948:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08011958
- movs r0, 0x4
- strb r0, [r1]
-_08011958:
- ldrb r0, [r2, 0xC]
- cmp r0, 0x1
- bne _08011996
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080119B4
- ldr r0, =0x00000ce2
- adds r2, r0
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x14]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- cmp r0, 0
- bne _08011990
- adds r0, r4, 0
- bl sub_8011170
- b _080119B4
- .pool
-_08011990:
- bl sub_80111FC
- b _080119B4
-_08011996:
- ldr r1, =0x00000ce4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080119B4
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080119B4
- adds r0, r4, 0
- bl sub_8011170
- movs r0, 0
- bl sub_800C27C
-_080119B4:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080119DA
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _080119DA
- ldr r0, =sub_800EB44
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080119DA
- ldr r1, =gUnknown_03005000
- movs r0, 0x11
- strh r0, [r1, 0x4]
-_080119DA:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- b _08011A42
- .pool
-_080119FC:
- ldr r0, =gUnknown_03005000
- ldr r2, =0x00000ce3
- adds r0, r2
- b _08011A3E
- .pool
-_08011A0C:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_8011A64
- movs r0, 0xF3
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- adds r0, 0xEF
- movs r1, 0x1
- b _08011A40
- .pool
-_08011A28:
- adds r0, r4, 0
- bl sub_8011170
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- ldr r0, =gUnknown_03005000
- ldr r7, =0x00000cdb
- adds r0, r7
- ldrb r1, [r0]
-_08011A3E:
- movs r1, 0
-_08011A40:
- strb r1, [r0]
-_08011A42:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011674
-
- thumb_func_start sub_8011A50
-sub_8011A50: @ 8011A50
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce4
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A50
-
- thumb_func_start sub_8011A64
-sub_8011A64: @ 8011A64
- ldr r2, =gUnknown_03005000
- adds r3, r2, 0
- adds r3, 0xF1
- strb r0, [r3]
- strh r1, [r2, 0xA]
- bx lr
- .pool
- thumb_func_end sub_8011A64
-
- thumb_func_start sub_8011A74
-sub_8011A74: @ 8011A74
- ldr r0, =gUnknown_03005000
- adds r0, 0xF1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A74
-
- thumb_func_start sub_8011A80
-sub_8011A80: @ 8011A80
- push {lr}
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x1
- bls _08011A94
- movs r0, 0
- b _08011A96
-_08011A94:
- movs r0, 0x1
-_08011A96:
- pop {r1}
- bx r1
- thumb_func_end sub_8011A80
-
- thumb_func_start sub_8011A9C
-sub_8011A9C: @ 8011A9C
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce8
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A9C
-
- thumb_func_start sub_8011AB0
-sub_8011AB0: @ 8011AB0
- ldr r0, =gUnknown_03005000
- ldrb r0, [r0, 0xC]
- bx lr
- .pool
- thumb_func_end sub_8011AB0
-
- thumb_func_start LinkVSync
-LinkVSync: @ 8011ABC
- push {lr}
- bl rfu_syncVBlank_
- pop {r0}
- bx r0
- thumb_func_end LinkVSync
-
- thumb_func_start sub_8011AC8
-sub_8011AC8: @ 8011AC8
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r1, =gRecvCmds
- ldr r2, =0x05000014
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011AC8
-
- thumb_func_start sub_8011AE8
-sub_8011AE8: @ 8011AE8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8011AE8
-
- thumb_func_start sub_8011AFC
-sub_8011AFC: @ 8011AFC
- push {r4,lr}
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ResetPaletteFade
- ldr r0, =sub_8011AE8
- bl SetVBlankCallback
- bl sub_80093CC
- lsls r0, 24
- cmp r0, 0
- beq _08011B70
- ldr r1, =gLinkType
- ldr r2, =0x00001111
- adds r0, r2, 0
- strh r0, [r1]
- bl sub_800B488
- bl OpenLink
- ldr r0, =gMain
- ldrh r0, [r0, 0x24]
- bl SeedRng
- movs r4, 0
-_08011B38:
- bl Random
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- adds r1, 0xA
- adds r1, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _08011B38
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl sub_8011BA4
- ldr r0, =sub_8011BF8
- bl SetMainCallback2
-_08011B70:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011AFC
-
- thumb_func_start sub_8011B90
-sub_8011B90: @ 8011B90
- push {lr}
- ldr r0, =sub_800EB44
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8011B90
-
- thumb_func_start sub_8011BA4
-sub_8011BA4: @ 8011BA4
- push {r4,lr}
- ldr r4, =nullsub_89
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08011BC2
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- ldr r1, =gUnknown_03005000
- adds r1, 0x66
- strb r0, [r1]
-_08011BC2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011BA4
-
- thumb_func_start sub_8011BD0
-sub_8011BD0: @ 8011BD0
- push {lr}
- ldr r0, =nullsub_89
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011BEA
- ldr r0, =gUnknown_03005000
- adds r0, 0x66
- ldrb r0, [r0]
- bl DestroyTask
-_08011BEA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011BD0
-
- thumb_func_start sub_8011BF8
-sub_8011BF8: @ 8011BF8
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8011BF8
-
- thumb_func_start sub_8011C10
-sub_8011C10: @ 8011C10
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_03005000
- movs r0, 0x1
- strb r0, [r1, 0xC]
- bl sub_8010F48
- ldr r0, =sub_801120C
- movs r1, 0
- bl sub_800BF4C
- ldr r2, =gUnknown_02022B2C
- adds r1, r2, 0
- ldr r0, =gUnknown_082ED608
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, =gUnknown_082ED620
- subs r4, 0x1
- adds r4, r0
- ldrb r0, [r4]
- strh r0, [r2, 0x2]
- bl sub_800EE78
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C10
-
- thumb_func_start sub_8011C5C
-sub_8011C5C: @ 8011C5C
- push {lr}
- ldr r1, =gUnknown_03005000
- movs r0, 0
- strb r0, [r1, 0xC]
- bl sub_8010F48
- ldr r0, =sub_8011404
- ldr r1, =sub_800ED34
- bl sub_800BF4C
- bl sub_800EF00
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C5C
-
- thumb_func_start sub_8011C84
-sub_8011C84: @ 8011C84
- push {r4-r7,lr}
- ldr r4, =gUnknown_03005000
- movs r5, 0
- movs r0, 0x2
- strb r0, [r4, 0xC]
- bl sub_8010F48
- ldr r0, =sub_8011674
- movs r1, 0
- bl sub_800BF4C
- ldr r2, =gUnknown_02022B2C
- adds r1, r2, 0
- ldr r0, =gUnknown_082ED608
- 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, =sub_800EB44
- movs r1, 0x1
- bl CreateTask
- adds r4, 0x67
- strb r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C84
-
- thumb_func_start sub_8011CD8
-sub_8011CD8: @ 8011CD8
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- bx lr
- thumb_func_end sub_8011CD8
-
- thumb_func_start sub_8011CE4
-sub_8011CE4: @ 8011CE4
- 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, =gUnknown_03007890
- mov r8, r1
-_08011D02:
- 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_8011CD8
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_8010454
- cmp r0, 0
- beq _08011D4C
- mov r0, r8
- ldr r1, [r0]
- adds r1, r5
- adds r1, 0x15
- ldr r0, [sp]
- bl StringCompare
- cmp r0, 0
- bne _08011D4C
- cmp r10, r6
- bne _08011D4C
- mov r9, r7
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0, 0x16]
- cmp r0, 0xFF
- bne _08011D56
-_08011D4C:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _08011D02
-_08011D56:
- 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
- .pool
- thumb_func_end sub_8011CE4
-
- thumb_func_start sub_8011D6C
-sub_8011D6C: @ 8011D6C
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000ce2
- adds r5, r4, r0
- ldrb r0, [r5]
- bics r0, r6
- strb r0, [r5]
- ldr r1, =0x00000cda
- adds r6, r4, r1
- ldrb r1, [r6]
- movs r0, 0x1
- bl rfu_clearSlot
- ldrb r0, [r5]
- ldr r1, =0x00000c87
- adds r4, r1
- adds r1, r4, 0
- movs r2, 0x46
- bl rfu_UNI_setSendData
- ldrb r0, [r5]
- bl sub_800E87C
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011D6C
-
- thumb_func_start sub_8011DC0
-sub_8011DC0: @ 8011DC0
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_8011CE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _08011DDA
- movs r0, 0x1
- lsls r0, r1
- bl sub_8011D6C
-_08011DDA:
- pop {r0}
- bx r0
- thumb_func_end sub_8011DC0
-
- thumb_func_start sub_8011DE0
-sub_8011DE0: @ 8011DE0
- push {r4-r6,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08011E20
- movs r3, 0
- movs r2, 0
- ldr r5, =gUnknown_03005CDE
- adds r6, r5, 0x4
-_08011DF0:
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _08011E0E
- ldrb r0, [r6]
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08011E0E
- adds r0, r1, 0
- lsls r0, r2
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
-_08011E0E:
- adds r2, 0x1
- cmp r2, 0x3
- ble _08011DF0
- cmp r3, 0
- beq _08011E20
- adds r0, r3, 0
- movs r1, 0x2
- bl sub_8011E94
-_08011E20:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011DE0
-
- thumb_func_start sub_8011E2C
-sub_8011E2C: @ 8011E2C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gSendCmd
- ldrh r0, [r6]
- cmp r0, 0
- bne _08011E7A
- ldr r5, =gUnknown_03005000
- ldr r1, =0x00000ce8
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08011E7A
- movs r0, 0xED
- lsls r0, 8
- bl sub_800FD14
- ldr r1, =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, =gUnknown_082ED695
- 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
-_08011E7A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011E2C
-
- thumb_func_start sub_8011E94
-sub_8011E94: @ 8011E94
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r5, =sub_8011E2C
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _08011ECC
- adds r0, r5, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x8]
- b _08011EDC
- .pool
-_08011ECC:
- ldr r0, =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]
-_08011EDC:
- ldr r1, =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
- .pool
- thumb_func_end sub_8011E94
-
- thumb_func_start sub_8011EF4
-sub_8011EF4: @ 8011EF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- bl sub_800EE94
- lsls r0, 24
- cmp r0, 0
- beq _08011FA4
- adds r0, r4, 0
- adds r0, 0x10
- bl sub_8011CD8
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011CE4
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _08011F8C
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- lsls r1, r2, 5
- adds r0, r1
- ldrb r0, [r0, 0x16]
- cmp r0, 0xFF
- beq _08011F5C
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c3d
- adds r0, r1
- strb r2, [r0]
- bl sub_800EEBC
- cmp r0, 0
- beq _08011FAA
- b _08011F84
- .pool
-_08011F5C:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r5, 0x7F
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x15
- beq _08011FA4
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x16
- beq _08011FA4
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
-_08011F84:
- adds r0, r6, 0
- bl DestroyTask
- b _08011FAA
-_08011F8C:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c3d
- adds r0, r1
- strb r2, [r0]
- b _08011FAA
- .pool
-_08011FA4:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
-_08011FAA:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF0
- ble _08011FC2
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- adds r0, r6, 0
- bl DestroyTask
-_08011FC2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8011EF4
-
- thumb_func_start sub_8011FC8
-sub_8011FC8: @ 8011FC8
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- ldr r0, =gUnknown_03005000
- adds r0, 0xF1
- movs r1, 0
- strb r1, [r0]
- ldr r0, =sub_8011EF4
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl StringCopy
- strh r5, [r4, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011FC8
-
- thumb_func_start sub_801200C
-sub_801200C: @ 801200C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r2, 0x7F
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x45
- bne _08012032
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x45
- beq _08012092
-_0801202E:
- movs r0, 0x1
- b _08012094
-_08012032:
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x40
- bne _0801202E
- cmp r5, 0x44
- bne _08012092
- ldr r5, =gUnknown_0300510A
- ldrh r0, [r5, 0x8]
- ldr r3, =0x000003ff
- adds r2, r3, 0
- ands r2, r0
- movs r0, 0xCE
- lsls r0, 1
- cmp r2, r0
- bne _08012068
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, r2
- beq _08012092
- b _0801202E
- .pool
-_08012068:
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, r2
- bne _0801202E
- 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 _0801202E
- 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 _0801202E
-_08012092:
- movs r0, 0
-_08012094:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801200C
-
- thumb_func_start sub_801209C
-sub_801209C: @ 801209C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- mov r8, r5
- ldr r6, =gUnknown_03005000
- adds r0, r6, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080120BA
- adds r0, r5, 0
- bl DestroyTask
-_080120BA:
- ldr r1, =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 _080120E4
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- adds r0, r5, 0
- bl DestroyTask
-_080120E4:
- ldr r1, =0x00000ccd
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801217C
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0801217C
- movs r2, 0x86
- lsls r2, 1
- adds r0, r6, r2
- bl sub_8011CD8
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =0x00000119
- adds r0, r6, r2
- bl sub_8011CE4
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _0801217C
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- ldr r7, =gUnknown_03007890
- lsls r4, r2, 5
- adds r2, r4, 0
- adds r2, 0x14
- ldr r1, [r7]
- adds r1, r2
- adds r1, 0x6
- bl sub_801200C
- cmp r0, 0
- bne _0801216C
- ldr r0, [r7]
- adds r1, r0, r4
- ldrb r0, [r1, 0x16]
- cmp r0, 0xFF
- beq _0801217C
- ldrh r0, [r1, 0x14]
- movs r1, 0x5A
- bl sub_800C12C
- lsls r0, 24
- cmp r0, 0
- bne _0801217C
- movs r0, 0xA
- strh r0, [r6, 0x4]
- adds r0, r5, 0
- bl DestroyTask
- b _0801217C
- .pool
-_0801216C:
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- mov r0, r8
- bl DestroyTask
-_0801217C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801209C
-
- thumb_func_start sub_8012188
-sub_8012188: @ 8012188
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r6, =gUnknown_03005000
- ldr r1, =0x00000ccf
- adds r0, r6, r1
- movs r7, 0
- strb r7, [r0]
- adds r0, r6, 0
- adds r0, 0xF1
- strb r7, [r0]
- ldr r1, =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_800D658
- ldr r0, =sub_801209C
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- strh r4, [r1, 0xA]
- ldr r0, =sub_800EB44
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- cmp r4, 0x45
- bne _08012210
- cmp r1, 0xFF
- beq _0801221E
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0x16]
- b _0801221E
- .pool
-_08012210:
- cmp r2, 0xFF
- beq _0801221E
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r5
- strh r7, [r0, 0x16]
-_0801221E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8012188
-
- thumb_func_start sub_8012224
-sub_8012224: @ 8012224
- push {lr}
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08012238
- movs r0, 0
- b _0801223A
- .pool
-_08012238:
- movs r0, 0x1
-_0801223A:
- pop {r1}
- bx r1
- thumb_func_end sub_8012224
-
- thumb_func_start sub_8012240
-sub_8012240: @ 8012240
- push {r4,lr}
- movs r1, 0
- ldr r0, =gUnknown_03004140
- ldrb r2, [r0]
- ldr r4, =gUnknown_03005CD1
- movs r3, 0x1
-_0801224C:
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r3
- cmp r0, 0
- beq _0801226C
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801226C
- movs r0, 0
- b _08012274
- .pool
-_0801226C:
- adds r1, 0x1
- cmp r1, 0x3
- ble _0801224C
- movs r0, 0x1
-_08012274:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8012240
-
- thumb_func_start sub_801227C
-sub_801227C: @ 801227C
- push {r4,lr}
- movs r4, 0
-_08012280:
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r0, =gUnknown_082ED82C
- movs r1, 0
- bl nullsub_5
- adds r4, 0x1
- cmp r4, 0x13
- ble _08012280
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801227C
-
- thumb_func_start sub_801229C
-sub_801229C: @ 801229C
- 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_13
- ldr r4, =gUnknown_03007890
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- movs r1, 0x14
- movs r2, 0x1
- movs r3, 0x1
- bl nullsub_13
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- movs r1, 0x17
- movs r2, 0x1
- movs r3, 0x1
- bl nullsub_13
- ldr r0, =gUnknown_03005000
- ldrb r0, [r0, 0xC]
- cmp r0, 0x1
- bne _08012378
- movs r6, 0
- adds r7, r4, 0
- movs r5, 0x14
-_080122E0:
- ldr r2, [r7]
- ldrb r0, [r2, 0x7]
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801231E
- 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_13
- ldr r0, [r7]
- adds r0, r5
- adds r0, 0x6
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, [r7]
- adds r0, r5
- adds r0, 0x15
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
-_0801231E:
- adds r5, 0x20
- adds r6, 0x1
- cmp r6, 0x3
- ble _080122E0
- movs r6, 0
- ldr r0, =gUnknown_03005000
- mov r8, r0
-_0801232C:
- 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
-_08012342:
- ldrb r0, [r4]
- lsls r1, r5, 25
- lsrs r1, 24
- lsrs r2, r6, 24
- movs r3, 0x2
- bl nullsub_13
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0xD
- ble _08012342
- adds r6, r7, 0
- cmp r6, 0x3
- ble _0801232C
- ldr r0, =gUnknown_082ED868
- movs r1, 0x1
- movs r2, 0xF
- bl nullsub_5
- b _080124AA
- .pool
-_08012378:
- ldr r1, [r4]
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08012414
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08012414
- movs r6, 0
- movs r5, 0xC0
- lsls r5, 18
-_0801238C:
- lsrs r4, r5, 24
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, =gUnknown_082ED84B
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, =gUnknown_082ED85B
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
- movs r1, 0x80
- lsls r1, 17
- adds r5, r1
- adds r6, 0x1
- cmp r6, 0x3
- ble _0801238C
- ldr r5, =gUnknown_03007890
- ldr r1, [r5]
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000c3e
- 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_13
- 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_5
- 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_5
- b _080124AA
- .pool
-_08012414:
- movs r6, 0
- ldr r1, =gUnknown_03007890
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- bge _08012470
- adds r7, r1, 0
- movs r1, 0x14
- mov r8, r1
-_08012426:
- ldr r0, [r7]
- lsls r5, r6, 5
- adds r1, r0, r5
- ldrb r0, [r1, 0x16]
- cmp r0, 0xFF
- beq _08012462
- 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_13
- ldr r0, [r7]
- adds r0, r5
- ldrh r0, [r0, 0x14]
- movs r1, 0x6
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, [r7]
- add r0, r8
- adds r0, 0x15
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
-_08012462:
- movs r0, 0x20
- add r8, r0
- adds r6, 0x1
- ldr r0, [r7]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- blt _08012426
-_08012470:
- cmp r6, 0x3
- bgt _080124AA
- lsls r0, r6, 24
- movs r1, 0xC0
- lsls r1, 18
- adds r5, r0, r1
-_0801247C:
- lsrs r4, r5, 24
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, =gUnknown_082ED84B
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, =gUnknown_082ED85B
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0801247C
-_080124AA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801229C
-
- thumb_func_start sub_80124C0
-sub_80124C0: @ 80124C0
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c1a
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80124C0
-
- thumb_func_start sub_80124D4
-sub_80124D4: @ 80124D4
- ldr r0, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80124D4
-
thumb_func_start nullsub_89
nullsub_89: @ 80124E8
bx lr
@@ -18525,7 +764,7 @@ _08012BF6:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
movs r0, 0x5
strb r0, [r6, 0x19]
ldrb r1, [r6, 0x13]
@@ -20301,7 +2540,7 @@ sub_8013BD8: @ 8013BD8
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
ldrb r0, [r4, 0xE]
bl sub_81AE70C
ldr r0, =gStringVar1
@@ -22080,7 +4319,7 @@ _08014C82:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
ldr r1, [r5]
ldrb r0, [r5, 0x13]
lsls r0, 5
@@ -22577,7 +4816,7 @@ _080150D6:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
ldrb r0, [r7, 0xE]
bl sub_81AE70C
ldr r0, =gStringVar1
@@ -22949,7 +5188,7 @@ _08015452:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
ldr r0, [r5]
adds r4, r0, 0
adds r4, 0x10
@@ -24269,7 +6508,7 @@ _08016118:
movs r0, 0x21
strb r0, [r6, 0x14]
ldr r0, =gStringVar1
- ldr r4, =gUnknown_02022A0C
+ ldr r4, =gLinkPlayers + 0x1C + 0x08 @ &gLinkPlayers[1].name
adds r1, r4, 0
bl StringCopy
adds r0, r4, 0
@@ -31043,7 +13282,7 @@ _08019870:
_08019884:
bl task_add_05_task_del_08FA224_when_no_RfuFunc
ldr r0, =gStringVar1
- ldr r1, =gUnknown_02022A0C
+ ldr r1, =gLinkPlayers + 0x1C + 0x08 @ &gLinkPlayers[1].name
bl StringCopy
movs r0, 0x22
strb r0, [r5, 0x8]
@@ -39822,7 +22061,7 @@ _0801DEC8:
bl sub_800E0E8
movs r0, 0xE8
movs r1, 0x96
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_0801DF04:
add sp, 0x4
pop {r4-r6}
@@ -45490,7 +27729,7 @@ sub_8020C70: @ 8020C70
ldrb r0, [r0]
cmp r0, 0
beq _08020C8E
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _08020CAC
@@ -46180,7 +28419,7 @@ _08021278:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
adds r0, r5, 0
bl sub_8022730
ldr r0, =gSpriteCoordOffsetY
@@ -53389,7 +35628,7 @@ _08024C5A:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
b _08024D20
.pool
_08024C80:
@@ -65226,7 +47465,7 @@ _0802AD0C:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
ldr r1, [r4]
b _0802ADC0
.pool
@@ -73844,4 +56083,4 @@ sub_802EFFC: @ 802EFFC
.pool
thumb_func_end sub_802EFFC
- .align 2, 0 @ Don't pad with nop.
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s
index 432b8250e..4274f26b6 100644
--- a/asm/rom_8034C54.s
+++ b/asm/rom_8034C54.s
@@ -366,7 +366,7 @@ sub_8034EFC: @ 8034EFC
movs r0, 0
strh r0, [r1]
lsls r1, r5, 3
- ldr r2, =gUnknown_030022F8
+ ldr r2, =gMain+0x38
mov r9, r2
add r1, r9
mov r0, r8
diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s
index 4f0fb850b..1869811c2 100644
--- a/asm/script_pokemon_util_80F87D8.s
+++ b/asm/script_pokemon_util_80F87D8.s
@@ -1100,7 +1100,7 @@ sub_80F90DC: @ 80F90DC
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_080F90FE:
pop {r0}
bx r0
diff --git a/asm/start_menu.s b/asm/start_menu.s
index 5b6652a6f..23ac3710a 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -1615,7 +1615,7 @@ _080A0506:
thumb_func_start sub_80A0514
sub_80A0514: @ 80A0514
push {lr}
- ldr r0, =gUnknown_030026F8
+ ldr r0, =gMain+0x438
bl sub_80A03E4
cmp r0, 0
beq _080A052E
@@ -1712,7 +1712,7 @@ _080A05AC:
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080A0620
diff --git a/asm/trade.s b/asm/trade.s
index 28cfaeb72..f565cd7ba 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -136,7 +136,7 @@ _08077258:
thumb_func_start sub_8077260
sub_8077260: @ 8077260
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077280
@@ -410,7 +410,7 @@ _080774B2:
ldr r0, [r0]
adds r0, 0xA8
strb r2, [r0]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077528
@@ -511,7 +511,7 @@ _080775E8:
beq _080775F2
b _08077B46
_080775F2:
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -532,7 +532,7 @@ _08077600:
ldr r0, [r0]
adds r0, 0xA8
strb r2, [r0]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _0807762A
@@ -544,7 +544,7 @@ _0807762A:
b _08077B46
.pool
_08077648:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077680
@@ -564,7 +564,7 @@ _0807765C:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
b _08077B46
.pool
_08077680:
@@ -1183,14 +1183,14 @@ _08077C28:
b _080780D8
.pool
_08077C3C:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077C50
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_08077C50:
ldr r1, =gMain
movs r3, 0x87
@@ -1781,7 +1781,7 @@ sub_807816C: @ 807816C
adds r0, 0x7E
ldrb r0, [r0]
strb r0, [r1, 0x1]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080781B4
@@ -1810,7 +1810,7 @@ sub_80781C8: @ 80781C8
ldr r5, =gMain
ldr r0, =sub_80773AC
str r0, [r5, 0x8]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08078220
@@ -4005,7 +4005,7 @@ sub_8079490: @ 8079490
ands r0, r1
cmp r0, 0
bne _080794C4
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080794B4
@@ -4030,7 +4030,7 @@ _080794C4:
thumb_func_start sub_80794CC
sub_80794CC: @ 80794CC
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08079518
@@ -7026,7 +7026,7 @@ _0807AC92:
cmp r1, r0
bls _0807ACC4
bl CloseLink
- ldr r0, =c2_800ACD4
+ ldr r0, =CB2_LinkError
bl SetMainCallback2
ldr r1, [r4]
adds r3, r1, 0
@@ -7155,7 +7155,7 @@ _0807AD94:
bl HandleLoadSpecialPokePic_DontHandleDeoxys
_0807ADB2:
mov r0, r8
- bl sub_806E794
+ bl GetMonSpritePalStruct
bl LoadCompressedObjectPalette
ldr r0, =gUnknown_020322A0
ldr r1, [r0]
@@ -7171,7 +7171,7 @@ _0807ADB2:
.pool
_0807ADE0:
mov r0, r8
- bl sub_806E794
+ bl GetMonSpritePalStruct
ldrh r0, [r0, 0x4]
adds r1, r4, 0
bl sub_806A068
@@ -7408,7 +7408,7 @@ _0807B006:
beq _0807B014
b _0807B116
_0807B014:
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -7508,14 +7508,14 @@ _0807B0F0:
ands r0, r1
cmp r0, 0
bne _0807B116
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807B110
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_0807B110:
ldr r0, =sub_807EA2C
bl SetMainCallback2
@@ -9589,7 +9589,7 @@ _0807C66C:
ldr r0, [r5]
adds r0, 0xF0
ldrh r0, [r0]
- bl IsPokeSpriteNotFlipped
+ bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _0807C6E4
@@ -11663,7 +11663,7 @@ _0807DA74:
ldr r0, [r5]
adds r0, 0xF0
ldrh r0, [r0]
- bl IsPokeSpriteNotFlipped
+ bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _0807DAEC
@@ -12857,7 +12857,7 @@ _0807E4AE:
_0807E4B2:
strb r0, [r1]
_0807E4B4:
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807E4C2
@@ -13832,7 +13832,7 @@ _0807EDC0:
movs r0, 0x15
bl IncrementGameStat
_0807EDCE:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807EDF6
@@ -14045,7 +14045,7 @@ _0807EFA4:
lsrs r0, 24
cmp r0, 0x1
bne _0807F03A
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807EFD8
@@ -14072,7 +14072,7 @@ _0807EFE4:
b _0807F03A
.pool
_0807EFF0:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807F028
@@ -14100,7 +14100,7 @@ _0807F028:
ldr r0, =c2_080543C4
bl SetMainCallback2
_0807F03A:
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807F048
@@ -14142,7 +14142,7 @@ c2_080543C4: @ 807F068
ldr r0, [r4]
bl Free
str r5, [r4]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807F0B6
@@ -14884,7 +14884,7 @@ _0807F6F8:
ldr r0, =c2_080543C4
bl SetMainCallback2
_0807F70C:
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807F71A
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index 4ccd04e98..d7c96054d 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -187,7 +187,7 @@ _080C2830:
bl sub_80C4630
b _080C28D4
_080C2836:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0x1
bne _080C2852
@@ -198,7 +198,7 @@ _080C2836:
bl sub_800E0E8
movs r0, 0xE6
movs r1, 0x96
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_080C2852:
movs r6, 0x1
negs r6, r6
@@ -4754,7 +4754,7 @@ sub_80C4FF0: @ 80C4FF0
ldr r1, =0x00000583
adds r0, r1
ldrb r0, [r0]
- bl sub_806EFF0
+ bl FacilityClassToPicIndex
lsls r0, 16
lsrs r0, 16
ldr r4, =gUnknown_0856FB18
@@ -4795,7 +4795,7 @@ _080C5060:
adds r0, r1
adds r0, r2
ldrb r0, [r0]
- bl sub_806EFF0
+ bl FacilityClassToPicIndex
lsls r0, 16
lsrs r0, 16
ldr r4, =gUnknown_0856FB18