summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-10-11 09:03:17 -0700
committerGitHub <noreply@github.com>2021-10-11 09:03:17 -0700
commit25794a39c3539e66d1c0b2334cb35273cd9d8494 (patch)
tree43ca3a658e80672844b2906b8cbe151ed70c3621 /asm
parent2d4c802d769f53462a2742a5c6afaad4d7f290fb (diff)
Finish main menu decomp (#59)
* decomp rest of main_menu * move some main menu data over * decomp some more wonder mail * decomp the dungeon dialogue scene switches * more wonder mail * consolidate struct_802F204 * another wonder mail func * more wonder mail * slight cleanup
Diffstat (limited to 'asm')
-rw-r--r--asm/code_807001C.s2807
-rw-r--r--asm/code_80848F0.s2076
-rw-r--r--asm/main_menu_1.s167
-rw-r--r--asm/memory_1.s2
-rw-r--r--asm/wonder_mail.s941
-rw-r--r--asm/wonder_mail_3.s354
-rw-r--r--asm/wonder_mail_3_mid.s1328
-rw-r--r--asm/wonder_mail_4.s257
8 files changed, 2077 insertions, 5855 deletions
diff --git a/asm/code_807001C.s b/asm/code_807001C.s
index 19a3a30..c5f3413 100644
--- a/asm/code_807001C.s
+++ b/asm/code_807001C.s
@@ -41960,2812 +41960,5 @@ _08084B5C:
bx r0
thumb_func_end sub_80848F0
- thumb_func_start DisplayPreFightDialogue
-DisplayPreFightDialogue:
- push {lr}
- ldr r0, _08084B80
- ldr r0, [r0]
- ldr r1, _08084B84
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3C
- bls _08084B76
- b _08084DDA
-_08084B76:
- lsls r0, 2
- ldr r1, _08084B88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08084B80: .4byte gDungeonGlobalData
-_08084B84: .4byte 0x00003a0d
-_08084B88: .4byte _08084B8C
- .align 2, 0
-_08084B8C:
- .4byte _08084DDA
- .4byte _08084C80
- .4byte _08084C86
- .4byte _08084C8C
- .4byte _08084C92
- .4byte _08084C98
- .4byte _08084C9E
- .4byte _08084CA4
- .4byte _08084CAA
- .4byte _08084CB0
- .4byte _08084CB6
- .4byte _08084CBC
- .4byte _08084CC2
- .4byte _08084CC8
- .4byte _08084CCE
- .4byte _08084CD4
- .4byte _08084CDA
- .4byte _08084CE0
- .4byte _08084CE6
- .4byte _08084CEC
- .4byte _08084CF2
- .4byte _08084CF8
- .4byte _08084CFE
- .4byte _08084D04
- .4byte _08084D0A
- .4byte _08084D10
- .4byte _08084D16
- .4byte _08084D1C
- .4byte _08084D22
- .4byte _08084D28
- .4byte _08084D28
- .4byte _08084D2E
- .4byte _08084D34
- .4byte _08084D3A
- .4byte _08084D40
- .4byte _08084D46
- .4byte _08084D4C
- .4byte _08084D52
- .4byte _08084D58
- .4byte _08084D5E
- .4byte _08084D64
- .4byte _08084D6A
- .4byte _08084D70
- .4byte _08084D76
- .4byte _08084D7C
- .4byte _08084D82
- .4byte _08084D88
- .4byte _08084D8E
- .4byte _08084D94
- .4byte _08084D9A
- .4byte _08084DA0
- .4byte _08084DA6
- .4byte _08084DAC
- .4byte _08084DB2
- .4byte _08084DB8
- .4byte _08084DBE
- .4byte _08084DC4
- .4byte _08084DCA
- .4byte _08084DD0
- .4byte _08084DD6
- .4byte _08084DDA
-_08084C80:
- bl SkarmonyPreFightDialogue
- b _08084DDA
-_08084C86:
- bl SkarmonyReFightDialogue
- b _08084DDA
-_08084C8C:
- bl sub_8086E40
- b _08084DDA
-_08084C92:
- bl TeamMeaniePreFightDialogue
- b _08084DDA
-_08084C98:
- bl TeamMeanieReFightDialogue
- b _08084DDA
-_08084C9E:
- bl sub_8087130
- b _08084DDA
-_08084CA4:
- bl ZapdosPreFightDialogue
- b _08084DDA
-_08084CAA:
- bl ZapdosReFightDialogue
- b _08084DDA
-_08084CB0:
- bl ZapdosPostStoryPreFightDialogue
- b _08084DDA
-_08084CB6:
- bl MoltresPreFightDialogue
- b _08084DDA
-_08084CBC:
- bl MoltresReFightDialogue
- b _08084DDA
-_08084CC2:
- bl MoltresPostStoryPreFightDialogue
- b _08084DDA
-_08084CC8:
- bl ArticunoPreFightDialogue
- b _08084DDA
-_08084CCE:
- bl ArticunoReFightDialogue
- b _08084DDA
-_08084CD4:
- bl ArticunoPostStoryPreFightDialogue
- b _08084DDA
-_08084CDA:
- bl sub_8088608
- b _08084DDA
-_08084CE0:
- bl sub_8088618
- b _08084DDA
-_08084CE6:
- bl GroudonPreFightDialogue
- b _08084DDA
-_08084CEC:
- bl GroudonReFightDialogue
- b _08084DDA
-_08084CF2:
- bl GroudonPostStoryPreFightDialogue
- b _08084DDA
-_08084CF8:
- bl MagmaCavernMidDialogue
- b _08084DDA
-_08084CFE:
- bl sub_8089168
- b _08084DDA
-_08084D04:
- bl RayquazaPreFightDialogue
- b _08084DDA
-_08084D0A:
- bl RayquazaReFightDialogue
- b _08084DDA
-_08084D10:
- bl RayquazaPostStoryPreFightDialogue
- b _08084DDA
-_08084D16:
- bl sub_80897F0
- b _08084DDA
-_08084D1C:
- bl sub_8089878
- b _08084DDA
-_08084D22:
- bl sub_80898E4
- b _08084DDA
-_08084D28:
- bl MewtwoPreFightDialogue
- b _08084DDA
-_08084D2E:
- bl MewtwoPreFightDialogue1
- b _08084DDA
-_08084D34:
- bl EnteiPreFightDialogue
- b _08084DDA
-_08084D3A:
- bl EnteiPreFightDialogue1
- b _08084DDA
-_08084D40:
- bl EnteiPreFightDialogue2
- b _08084DDA
-_08084D46:
- bl RaikouPreFightDialogue
- b _08084DDA
-_08084D4C:
- bl RaikouPreFightDialogue1
- b _08084DDA
-_08084D52:
- bl RaikouPreFightDialogue2
- b _08084DDA
-_08084D58:
- bl SuicunePreFightDialogue
- b _08084DDA
-_08084D5E:
- bl SuicunePreFightDialogue1
- b _08084DDA
-_08084D64:
- bl SuicunePreFightDialogue2
- b _08084DDA
-_08084D6A:
- bl HoOhPreFightDialogue
- b _08084DDA
-_08084D70:
- bl HoOhPreFightDialogue1
- b _08084DDA
-_08084D76:
- bl LatiosPreFightDialogue
- b _08084DDA
-_08084D7C:
- bl LatiosReFightDialogue
- b _08084DDA
-_08084D82:
- bl sub_808AC3C
- b _08084DDA
-_08084D88:
- bl RegirockPreFightDialogue
- b _08084DDA
-_08084D8E:
- bl RegicePreFightDialogue
- b _08084DDA
-_08084D94:
- bl RegisteelPreFightDialogue
- b _08084DDA
-_08084D9A:
- bl JirachiPreFightDialogue
- b _08084DDA
-_08084DA0:
- bl JirachiPreFightDialogue1
- b _08084DDA
-_08084DA6:
- bl LugiaPreFightDialogue
- b _08084DDA
-_08084DAC:
- bl KyogrePreFightDialogue
- b _08084DDA
-_08084DB2:
- bl DeoxysPreFightDialogue
- b _08084DDA
-_08084DB8:
- bl CelebiJoinDialogue
- b _08084DDA
-_08084DBE:
- bl sub_808C998
- b _08084DDA
-_08084DC4:
- bl MedichamRescueDialogue
- b _08084DDA
-_08084DCA:
- bl DummyFightDialogue
- b _08084DDA
-_08084DD0:
- bl SmeargleRescueDialogue
- b _08084DDA
-_08084DD6:
- bl sub_808CD9C
-_08084DDA:
- bl sub_8085764
- bl sub_80857B8
- ldr r0, _08084DF8
- ldr r0, [r0]
- ldr r1, _08084DFC
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_8097FF8
- pop {r0}
- bx r0
- .align 2, 0
-_08084DF8: .4byte gDungeonGlobalData
-_08084DFC: .4byte 0x0001356c
- thumb_func_end DisplayPreFightDialogue
-
- thumb_func_start sub_8084E00
-sub_8084E00:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- cmp r3, 0
- bne _08084E12
- b _0808512E
-_08084E12:
- ldr r1, _08084E30
- ldr r0, [r1]
- ldr r2, _08084E34
- adds r0, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x3C
- bls _08084E24
- b _0808511A
-_08084E24:
- lsls r0, 2
- ldr r1, _08084E38
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08084E30: .4byte gDungeonGlobalData
-_08084E34: .4byte 0x00003a0d
-_08084E38: .4byte _08084E3C
- .align 2, 0
-_08084E3C:
- .4byte _0808511A
- .4byte _08084F30
- .4byte _08084F30
- .4byte _0808511A
- .4byte _08084F44
- .4byte _08084F44
- .4byte _0808511A
- .4byte _08084F58
- .4byte _08084F58
- .4byte _08084F58
- .4byte _08084F6C
- .4byte _08084F6C
- .4byte _08084F6C
- .4byte _08084F80
- .4byte _08084F80
- .4byte _08084F80
- .4byte _0808511A
- .4byte _0808511A
- .4byte _08084F94
- .4byte _08084F94
- .4byte _08084F94
- .4byte _0808511A
- .4byte _0808511A
- .4byte _08084FA8
- .4byte _08084FA8
- .4byte _08084FA8
- .4byte _08084FBC
- .4byte _08084FBC
- .4byte _0808511A
- .4byte _08084FD4
- .4byte _08084FD4
- .4byte _08084FD4
- .4byte _08084FE8
- .4byte _08084FE8
- .4byte _08084FE8
- .4byte _08084FFC
- .4byte _08084FFC
- .4byte _08084FFC
- .4byte _08085010
- .4byte _08085010
- .4byte _08085010
- .4byte _08085024
- .4byte _08085024
- .4byte _08085038
- .4byte _08085038
- .4byte _08085038
- .4byte _0808504C
- .4byte _08085064
- .4byte _0808507C
- .4byte _08085094
- .4byte _08085094
- .4byte _080850AC
- .4byte _080850C4
- .4byte _080850DC
- .4byte _080850F4
- .4byte _0808510C
- .4byte _0808511A
- .4byte _0808511A
- .4byte _0808511A
- .4byte _0808511A
- .4byte _0808511A
-_08084F30:
- ldr r0, [r2]
- ldr r1, _08084F40
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8086BDC
- b _0808511A
- .align 2, 0
-_08084F40: .4byte 0x00003a0d
-_08084F44:
- ldr r0, [r2]
- ldr r2, _08084F54
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8086F54
- b _0808511A
- .align 2, 0
-_08084F54: .4byte 0x00003a0d
-_08084F58:
- ldr r0, [r2]
- ldr r1, _08084F68
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8087334
- b _0808511A
- .align 2, 0
-_08084F68: .4byte 0x00003a0d
-_08084F6C:
- ldr r0, [r2]
- ldr r2, _08084F7C
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_80878F4
- b _0808511A
- .align 2, 0
-_08084F7C: .4byte 0x00003a0d
-_08084F80:
- ldr r0, [r2]
- ldr r1, _08084F90
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8088088
- b _0808511A
- .align 2, 0
-_08084F90: .4byte 0x00003a0d
-_08084F94:
- ldr r0, [r2]
- ldr r2, _08084FA4
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8088818
- b _0808511A
- .align 2, 0
-_08084FA4: .4byte 0x00003a0d
-_08084FA8:
- ldr r0, [r2]
- ldr r1, _08084FB8
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_80893B4
- b _0808511A
- .align 2, 0
-_08084FB8: .4byte 0x00003a0d
-_08084FBC:
- ldr r0, [r2]
- ldr r2, _08084FD0
- adds r0, r2
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r3, 0
- bl sub_8089788
- b _0808511A
- .align 2, 0
-_08084FD0: .4byte 0x00003a0d
-_08084FD4:
- ldr r0, [r2]
- ldr r1, _08084FE4
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8089A00
- b _0808511A
- .align 2, 0
-_08084FE4: .4byte 0x00003a0d
-_08084FE8:
- ldr r0, [r2]
- ldr r2, _08084FF8
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8089CFC
- b _0808511A
- .align 2, 0
-_08084FF8: .4byte 0x00003a0d
-_08084FFC:
- ldr r0, [r2]
- ldr r1, _0808500C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8089FF0
- b _0808511A
- .align 2, 0
-_0808500C: .4byte 0x00003a0d
-_08085010:
- ldr r0, [r2]
- ldr r2, _08085020
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_808A36C
- b _0808511A
- .align 2, 0
-_08085020: .4byte 0x00003a0d
-_08085024:
- ldr r0, [r2]
- ldr r1, _08085034
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_808A6E8
- b _0808511A
- .align 2, 0
-_08085034: .4byte 0x00003a0d
-_08085038:
- ldr r0, [r2]
- ldr r2, _08085048
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_808AAF0
- b _0808511A
- .align 2, 0
-_08085048: .4byte 0x00003a0d
-_0808504C:
- ldr r0, [r2]
- ldr r1, _08085060
- adds r0, r1
- ldrb r1, [r0]
- adds r2, r4, 0x4
- adds r0, r3, 0
- bl sub_808AE54
- b _0808511A
- .align 2, 0
-_08085060: .4byte 0x00003a0d
-_08085064:
- ldr r0, [r2]
- ldr r2, _08085078
- adds r0, r2
- ldrb r1, [r0]
- adds r2, r4, 0x4
- adds r0, r3, 0
- bl sub_808AEC8
- b _0808511A
- .align 2, 0
-_08085078: .4byte 0x00003a0d
-_0808507C:
- ldr r0, [r2]
- ldr r1, _08085090
- adds r0, r1
- ldrb r1, [r0]
- adds r2, r4, 0x4
- adds r0, r3, 0
- bl sub_808AF3C
- b _0808511A
- .align 2, 0
-_08085090: .4byte 0x00003a0d
-_08085094:
- ldr r0, [r2]
- ldr r2, _080850A8
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl sub_808B3E4
- b _0808511A
- .align 2, 0
-_080850A8: .4byte 0x00003a0d
-_080850AC:
- ldr r0, [r2]
- ldr r1, _080850C0
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl sub_808BE70
- b _0808511A
- .align 2, 0
-_080850C0: .4byte 0x00003a0d
-_080850C4:
- ldr r0, [r2]
- ldr r2, _080850D8
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl sub_808C1A4
- b _0808511A
- .align 2, 0
-_080850D8: .4byte 0x00003a0d
-_080850DC:
- ldr r0, [r2]
- ldr r1, _080850F0
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl sub_808C414
- b _0808511A
- .align 2, 0
-_080850F0: .4byte 0x00003a0d
-_080850F4:
- ldr r0, [r2]
- ldr r2, _08085108
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl nullsub_100
- b _0808511A
- .align 2, 0
-_08085108: .4byte 0x00003a0d
-_0808510C:
- ldr r0, [r2]
- ldr r1, _08085134
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_808C948
-_0808511A:
- cmp r5, 0
- bne _0808512E
- ldr r0, _08085138
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _0808512E
- ldr r0, _0808513C
- bl sub_8083E88
-_0808512E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08085134: .4byte 0x00003a0d
-_08085138: .4byte gDungeonGlobalData
-_0808513C: .4byte 0x000003e7
- thumb_func_end sub_8084E00
-
- thumb_func_start sub_8085140
-sub_8085140:
- push {lr}
- ldr r1, _08085160
- ldr r0, [r1]
- ldr r2, _08085164
- adds r0, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x3C
- bls _08085154
- b _08085294
-_08085154:
- lsls r0, 2
- ldr r1, _08085168
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08085160: .4byte gDungeonGlobalData
-_08085164: .4byte 0x00003a0d
-_08085168: .4byte _0808516C
- .align 2, 0
-_0808516C:
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085260
- .4byte _08085274
- .4byte _08085288
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
-_08085260:
- ldr r0, [r2]
- ldr r1, _08085270
- adds r0, r1
- ldrb r0, [r0]
- bl sub_808AFB0
- b _08085294
- .align 2, 0
-_08085270: .4byte 0x00003a0d
-_08085274:
- ldr r0, [r2]
- ldr r2, _08085284
- adds r0, r2
- ldrb r0, [r0]
- bl sub_808B030
- b _08085294
- .align 2, 0
-_08085284: .4byte 0x00003a0d
-_08085288:
- ldr r0, [r2]
- ldr r1, _08085298
- adds r0, r1
- ldrb r0, [r0]
- bl sub_808B0B0
-_08085294:
- pop {r0}
- bx r0
- .align 2, 0
-_08085298: .4byte 0x00003a0d
- thumb_func_end sub_8085140
-
- thumb_func_start sub_808529C
-sub_808529C:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- movs r3, 0x40
- movs r0, 0x86
- lsls r0, 1
- cmp r1, r0
- beq _08085348
- cmp r1, r0
- bgt _080852E0
- cmp r1, 0x90
- beq _08085334
- cmp r1, 0x90
- bgt _080852CE
- cmp r1, 0x38
- beq _08085354
- cmp r1, 0x38
- bgt _080852C8
- cmp r1, 0x17
- beq _08085328
- b _0808535A
-_080852C8:
- cmp r1, 0x5E
- beq _08085328
- b _0808535A
-_080852CE:
- cmp r1, 0x92
- beq _08085330
- cmp r1, 0x92
- blt _0808532C
- cmp r1, 0x96
- beq _08085340
- cmp r1, 0xFC
- beq _08085324
- b _0808535A
-_080852E0:
- ldr r0, _08085304
- cmp r1, r0
- beq _08085358
- cmp r1, r0
- bgt _08085308
- subs r0, 0x87
- cmp r1, r0
- beq _0808534C
- cmp r1, r0
- blt _08085344
- adds r0, 0x5
- cmp r1, r0
- beq _08085350
- adds r0, 0x3A
- cmp r1, r0
- beq _08085328
- b _0808535A
- .align 2, 0
-_08085304: .4byte 0x00000195
-_08085308:
- ldr r0, _08085320
- cmp r2, r0
- beq _08085358
- cmp r2, r0
- blt _08085358
- adds r0, 0x4
- cmp r2, r0
- beq _08085338
- adds r0, 0x1
- cmp r2, r0
- beq _0808533C
- b _0808535A
- .align 2, 0
-_08085320: .4byte 0x00000197
-_08085324:
- movs r3, 0x1
- b _0808535A
-_08085328:
- movs r3, 0x3
- b _0808535A
-_0808532C:
- movs r3, 0x5
- b _0808535A
-_08085330:
- movs r3, 0x7
- b _0808535A
-_08085334:
- movs r3, 0x9
- b _0808535A
-_08085338:
- movs r3, 0xC
- b _0808535A
-_0808533C:
- movs r3, 0xF
- b _0808535A
-_08085340:
- movs r3, 0x13
- b _0808535A
-_08085344:
- movs r3, 0x15
- b _0808535A
-_08085348:
- movs r3, 0x17
- b _0808535A
-_0808534C:
- movs r3, 0x19
- b _0808535A
-_08085350:
- movs r3, 0x1A
- b _0808535A
-_08085354:
- movs r3, 0x11
- b _0808535A
-_08085358:
- movs r3, 0x1D
-_0808535A:
- cmp r3, 0x40
- beq _0808536E
- adds r0, r3, 0
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808536E
- movs r0, 0
- b _08085370
-_0808536E:
- movs r0, 0x1
-_08085370:
- pop {r1}
- bx r1
- thumb_func_end sub_808529C
-
- thumb_func_start sub_8085374
-sub_8085374:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- movs r7, 0
- movs r6, 0
- bl sub_808D3F8
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- mov r8, r1
- movs r5, 0
-_0808538E:
- ldr r0, _08085444
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08085448
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080853BE
- ldr r1, [r4, 0x70]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _080853B2
- adds r7, r4, 0
-_080853B2:
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _080853BE
- adds r6, r4, 0
-_080853BE:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0808538E
- cmp r7, 0
- beq _0808546E
- cmp r6, 0
- bne _0808546E
- ldr r0, _08085444
- ldr r0, [r0]
- ldr r1, _0808544C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808546E
- movs r6, 0
- ldr r0, _08085450
- ldr r4, [r0]
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x63
- beq _0808546E
- mov r5, sp
- movs r0, 0
- mov r9, r0
-_080853EE:
- ldrh r0, [r7, 0x4]
- adds r0, r4
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08085454
- ands r4, r1
- orrs r4, r0
- asrs r1, r4, 16
- ldrh r2, [r7, 0x6]
- adds r1, r2
- lsls r1, 16
- ldr r0, _08085458
- ands r4, r0
- orrs r4, r1
- lsls r0, r4, 16
- asrs r0, 16
- asrs r1, r4, 16
- bl sub_804954C
- adds r1, r0, 0
- mov r0, r8
- bl sub_807034C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0808545C
- mov r0, r8
- strh r0, [r5]
- movs r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x2
- strb r0, [r5, 0x2]
- str r4, [sp, 0xC]
- str r1, [sp, 0x4]
- mov r1, r9
- strb r1, [r5, 0x10]
- mov r0, sp
- movs r1, 0x1
- bl sub_806B7F8
- b _0808546E
- .align 2, 0
-_08085444: .4byte gDungeonGlobalData
-_08085448: .4byte 0x0001357c
-_0808544C: .4byte 0x0000065c
-_08085450: .4byte gUnknown_80F4598
-_08085454: .4byte 0xffff0000
-_08085458: .4byte 0x0000ffff
-_0808545C:
- adds r6, 0x1
- ldr r0, _0808547C
- lsls r1, r6, 2
- adds r1, r0
- ldr r4, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x63
- bne _080853EE
-_0808546E:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808547C: .4byte gUnknown_80F4598
- thumb_func_end sub_8085374
-
- thumb_func_start sub_8085480
-sub_8085480:
- push {lr}
- bl sub_8083600
- pop {r1}
- bx r1
- thumb_func_end sub_8085480
-
- thumb_func_start sub_808548C
-sub_808548C:
- push {r4,r5,lr}
- movs r5, 0
-_08085490:
- ldr r0, _080854B8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080854BC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080854C0
- ldr r0, [r4, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _080854C0
- adds r0, r4, 0
- b _080854CC
- .align 2, 0
-_080854B8: .4byte gDungeonGlobalData
-_080854BC: .4byte 0x0001357c
-_080854C0:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08085490
- movs r0, 0x2
- bl sub_8085680
-_080854CC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808548C
-
- thumb_func_start sub_80854D4
-sub_80854D4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- movs r6, 0
- movs r5, 0
- add r0, sp, 0x10
- mov r8, r0
- mov r7, sp
-_080854E6:
- ldr r0, _080855D8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080855DC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085504
- stm r7!, {r4}
- adds r6, 0x1
-_08085504:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080854E6
- cmp r6, 0x3
- bgt _0808551C
- movs r1, 0
- lsls r0, r6, 2
- add r0, sp
-_08085514:
- stm r0!, {r1}
- adds r6, 0x1
- cmp r6, 0x3
- ble _08085514
-_0808551C:
- movs r6, 0
- movs r4, 0
- mov r2, sp
- mov r3, r8
- movs r5, 0x3
-_08085526:
- ldr r1, [r2]
- cmp r1, 0
- beq _0808553A
- ldr r0, [r1, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0808553A
- str r4, [r2]
- stm r3!, {r1}
- adds r6, 0x1
-_0808553A:
- adds r2, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08085526
- movs r4, 0
- mov r2, sp
- lsls r0, r6, 2
- mov r1, r8
- adds r3, r0, r1
- movs r5, 0x3
-_0808554E:
- ldr r1, [r2]
- cmp r1, 0
- beq _08085564
- ldr r0, [r1, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _08085564
- str r4, [r2]
- stm r3!, {r1}
- adds r6, 0x1
-_08085564:
- adds r2, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _0808554E
- movs r3, 0
- mov r2, sp
- lsls r0, r6, 2
- add r0, r8
- movs r5, 0x3
-_08085576:
- ldr r1, [r2]
- cmp r1, 0
- beq _08085582
- str r3, [r2]
- stm r0!, {r1}
- adds r6, 0x1
-_08085582:
- adds r2, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08085576
- cmp r6, 0x3
- bgt _0808559C
- movs r1, 0
- lsls r0, r6, 2
- add r0, r8
-_08085594:
- stm r0!, {r1}
- adds r6, 0x1
- cmp r6, 0x3
- ble _08085594
-_0808559C:
- movs r5, 0
- mov r4, r8
-_080855A0:
- lsls r1, r5, 2
- ldr r3, [r4]
- cmp r3, 0
- beq _080855C4
- ldr r0, _080855D8
- ldr r0, [r0]
- adds r0, r1
- ldr r2, _080855E0
- adds r1, r0, r2
- movs r6, 0
- ldrsh r1, [r1, r6]
- adds r2, 0x2
- adds r0, r2
- movs r6, 0
- ldrsh r2, [r0, r6]
- adds r0, r3, 0
- bl sub_80856C8
-_080855C4:
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x3
- ble _080855A0
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080855D8: .4byte gDungeonGlobalData
-_080855DC: .4byte 0x0001357c
-_080855E0: .4byte 0x0000e220
- thumb_func_end sub_80854D4
-
- thumb_func_start sub_80855E4
-sub_80855E4:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r7, 0
- movs r5, 0
-_080855EC:
- ldr r0, _08085634
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08085638
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085618
- ldr r0, [r4, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _08085612
- movs r7, 0x1
-_08085612:
- adds r0, r4, 0
- bl _call_via_r6
-_08085618:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080855EC
- cmp r7, 0
- bne _0808562E
- bl sub_808548C
- cmp r0, 0
- beq _0808562E
- bl _call_via_r6
-_0808562E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085634: .4byte gDungeonGlobalData
-_08085638: .4byte 0x0001357c
- thumb_func_end sub_80855E4
-
- thumb_func_start sub_808563C
-sub_808563C:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
-_08085642:
- ldr r0, _08085678
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0808567C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0808566C
- ldr r0, [r4, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- beq _0808566C
- adds r0, r4, 0
- bl _call_via_r6
-_0808566C:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08085642
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08085678: .4byte gDungeonGlobalData
-_0808567C: .4byte 0x0001358c
- thumb_func_end sub_808563C
-
- thumb_func_start sub_8085680
-sub_8085680:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
-_08085688:
- ldr r0, _080856B0
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080856B4
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080856B8
- ldr r0, [r4, 0x70]
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, r6
- bne _080856B8
- adds r0, r4, 0
- b _080856C0
- .align 2, 0
-_080856B0: .4byte gDungeonGlobalData
-_080856B4: .4byte 0x000135cc
-_080856B8:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08085688
- movs r0, 0
-_080856C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8085680
-
- thumb_func_start sub_80856C8
-sub_80856C8:
- push {r4,lr}
- adds r4, r0, 0
- movs r3, 0x1
- bl sub_80694C0
- adds r0, r4, 0
- movs r1, 0
- bl sub_804535C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80856C8
-
- thumb_func_start sub_80856E0
-sub_80856E0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r1, 0
- ldr r0, [r6, 0x70]
- mov r8, r0
- adds r0, r6, 0
- movs r1, 0x6
- adds r2, r7, 0
- bl sub_80861D4
- movs r5, 0xBA
- lsls r5, 1
- add r5, r8
- movs r4, 0x4
-_08085700:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1
- str r0, [r5]
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08085700
- movs r1, 0x7
- adds r0, r7, 0
- ands r0, r1
- mov r1, r8
- adds r1, 0x46
- strb r0, [r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_806CE68
- movs r5, 0xBA
- lsls r5, 1
- add r5, r8
- movs r4, 0x4
-_08085732:
- ldr r0, [r5]
- ldr r1, _08085760
- adds r0, r1
- str r0, [r5]
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08085732
- movs r1, 0xBA
- lsls r1, 1
- add r1, r8
- movs r0, 0
- str r0, [r1]
- movs r0, 0x46
- bl sub_803E46C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085760: .4byte 0xfffffe00
- thumb_func_end sub_80856E0
-
- thumb_func_start sub_8085764
-sub_8085764:
- push {r4,r5,lr}
- sub sp, 0x74
- mov r0, sp
- bl sub_80457DC
- movs r5, 0
-_08085770:
- ldr r0, _080857AC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080857B0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0808579E
- ldr r0, [r4, 0x70]
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0808579E
- adds r0, r4, 0
- ldr r1, _080857B4
- mov r2, sp
- bl sub_8068FE0
-_0808579E:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08085770
- add sp, 0x74
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080857AC: .4byte gDungeonGlobalData
-_080857B0: .4byte 0x0001358c
-_080857B4: .4byte 0x00000207
- thumb_func_end sub_8085764
-
- thumb_func_start sub_80857B8
-sub_80857B8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r0, _08085854
- mov r9, r0
- ldr r1, _08085858
- mov r8, r1
-_080857CA:
- mov r2, r9
- ldr r0, [r2]
- lsls r1, r7, 2
- ldr r3, _0808585C
- adds r0, r3
- adds r0, r1
- ldr r6, [r0]
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085840
- ldr r5, [r6, 0x70]
- mov r0, r9
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _08085840
- ldrb r4, [r1, 0x2]
- cmp r4, 0
- bne _08085840
- adds r0, r6, 0
- movs r1, 0
- bl sub_804535C
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r5, r1
- strb r4, [r0]
- adds r1, r5, 0
- adds r1, 0xFE
- movs r0, 0x63
- strb r0, [r1]
- adds r2, r5, 0
- adds r2, 0x46
- ldrb r0, [r2]
- lsls r0, 2
- add r0, r8
- ldrh r1, [r6, 0x4]
- ldrh r0, [r0]
- adds r1, r0
- movs r3, 0xB6
- lsls r3, 1
- adds r0, r5, r3
- strh r1, [r0]
- ldrb r0, [r2]
- lsls r0, 2
- add r0, r8
- ldrh r1, [r6, 0x6]
- ldrh r0, [r0, 0x2]
- adds r1, r0
- adds r3, 0x2
- adds r0, r5, r3
- strh r1, [r0]
- ldrb r1, [r2]
- adds r0, r6, 0
- bl sub_806CE68
-_08085840:
- adds r7, 0x1
- cmp r7, 0x13
- ble _080857CA
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085854: .4byte gDungeonGlobalData
-_08085858: .4byte gUnknown_80F4448
-_0808585C: .4byte 0x000135cc
- thumb_func_end sub_80857B8
-
- thumb_func_start sub_8085860
-sub_8085860:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- bl sub_803F4A0
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 11
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- bl sub_803F878
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8085860
-
- thumb_func_start sub_8085890
-sub_8085890:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- bl sub_803F4A0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_803F878
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8085890
-
- thumb_func_start sub_80858AC
-sub_80858AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r4, r1, 0
- bl sub_803F994
- adds r6, r0, 0
- bl sub_803F9B0
- adds r5, r0, 0
- ldr r0, [r7]
- subs r0, r6
- adds r1, r4, 0
- bl __divsi3
- mov r9, r0
- ldr r0, [r7, 0x4]
- subs r0, r5
- adds r1, r4, 0
- bl __divsi3
- mov r8, r0
- movs r0, 0
- bl sub_803F4A0
- cmp r4, 0
- ble _080858FE
-_080858E6:
- add r6, r9
- add r5, r8
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_803F878
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bne _080858E6
-_080858FE:
- ldr r0, [r7]
- ldr r1, [r7, 0x4]
- bl sub_803F878
- movs r0, 0x46
- bl sub_803E46C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80858AC
-
- thumb_func_start sub_8085918
-sub_8085918:
- push {r4,lr}
- ldr r3, [r0, 0x70]
- movs r4, 0x7
- adds r2, r1, 0
- ands r2, r4
- adds r3, 0x46
- strb r2, [r3]
- bl sub_806CE68
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8085918
-
- thumb_func_start sub_8085930
-sub_8085930:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r0, 0x7
- adds r7, r6, 0
- ands r7, r0
-_0808593C:
- ldr r0, _0808596C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08085970
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085982
- cmp r6, 0x7
- ble _08085974
- movs r0, 0x8
- bl RandomCapped
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_806CE68
- b _08085982
- .align 2, 0
-_0808596C: .4byte gDungeonGlobalData
-_08085970: .4byte 0x0001357c
-_08085974:
- ldr r0, [r4, 0x70]
- adds r0, 0x46
- strb r7, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_806CE68
-_08085982:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0808593C
- movs r5, 0
- movs r0, 0x7
- adds r7, r6, 0
- ands r7, r0
-_08085990:
- ldr r0, _080859CC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080859D0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080859E2
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080859E2
- cmp r6, 0x7
- ble _080859D4
- movs r0, 0x8
- bl RandomCapped
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_806CE68
- b _080859E2
- .align 2, 0
-_080859CC: .4byte gDungeonGlobalData
-_080859D0: .4byte 0x0001358c
-_080859D4:
- adds r0, r1, 0
- adds r0, 0x46
- strb r7, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_806CE68
-_080859E2:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08085990
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8085930
-
- thumb_func_start sub_80859F0
-sub_80859F0:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r0, 0x7
- adds r7, r6, 0
- ands r7, r0
-_080859FC:
- ldr r0, _08085A2C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08085A30
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085A42
- cmp r6, 0x7
- ble _08085A34
- movs r0, 0x8
- bl RandomCapped
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_806CE68
- b _08085A42
- .align 2, 0
-_08085A2C: .4byte gDungeonGlobalData
-_08085A30: .4byte 0x0001358c
-_08085A34:
- ldr r0, [r4, 0x70]
- adds r0, 0x46
- strb r7, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_806CE68
-_08085A42:
- adds r5, 0x1
- cmp r5, 0xF
- ble _080859FC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80859F0
-
- thumb_func_start sub_8085A50
-sub_8085A50:
- push {lr}
- ldr r0, [r0, 0x70]
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x24
- bhi _08085B04
- lsls r0, 2
- ldr r1, _08085A68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08085A68: .4byte _08085A6C
- .align 2, 0
-_08085A6C:
- .4byte _08085B04
- .4byte _08085B00
- .4byte _08085B04
- .4byte _08085B00
- .4byte _08085B04
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B04
- .4byte _08085B04
- .4byte _08085B04
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
-_08085B00:
- movs r0, 0x1
- b _08085B06
-_08085B04:
- movs r0, 0
-_08085B06:
- pop {r1}
- bx r1
- thumb_func_end sub_8085A50
-
- thumb_func_start sub_8085B0C
-sub_8085B0C:
- push {r4,r5,lr}
- sub sp, 0x1C
- adds r5, r0, 0
- ldr r1, _08085B48
- mov r0, sp
- movs r2, 0x19
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _08085B3E
- mov r4, sp
-_08085B26:
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8085918
- movs r0, 0x6
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0
- bne _08085B26
-_08085B3E:
- add sp, 0x1C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08085B48: .4byte gUnknown_8107358
- thumb_func_end sub_8085B0C
-
- thumb_func_start sub_8085B4C
-sub_8085B4C:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _08085B7C
- str r3, [r0]
- cmp r3, 0
- ble _08085B76
- movs r6, 0x1
- adds r4, r1, 0
- adds r1, r5, 0
-_08085B5E:
- strb r6, [r1]
- ldm r2!, {r0}
- str r0, [r1, 0x4]
- ldm r4!, {r0}
- str r0, [r1, 0xC]
- movs r5, 0x4
- ldrsh r0, [r0, r5]
- str r0, [r1, 0x8]
- adds r1, 0x10
- subs r3, 0x1
- cmp r3, 0
- bne _08085B5E
-_08085B76:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08085B7C: .4byte gUnknown_202F3D8
- thumb_func_end sub_8085B4C
-
- thumb_func_start sub_8085B80
-sub_8085B80:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r1, r0, 0
- movs r0, 0
- mov r8, r0
- movs r7, 0
- ldr r0, _08085BE4
- ldr r0, [r0]
- cmp r8, r0
- bge _08085C3E
- adds r5, r1, 0
-_08085B98:
- ldr r6, [r5, 0x4]
- ldr r2, [r6, 0x70]
- adds r3, r2, 0
- ldr r4, [r5, 0xC]
- ldrb r0, [r5]
- cmp r0, 0
- beq _08085C32
- movs r1, 0x1
- mov r8, r1
- ldr r0, [r5, 0x8]
- cmp r0, 0
- bne _08085C08
- adds r4, 0x8
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08085BE8
- strb r0, [r5]
- ldrb r1, [r4]
- movs r0, 0x7
- ands r0, r1
- adds r1, r2, 0
- adds r1, 0x46
- strb r0, [r1]
- movs r3, 0
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r1, 0x7
- bl sub_806CDD4
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r3, 0xC
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- bl sub_80856C8
- b _08085C32
- .align 2, 0
-_08085BE4: .4byte gUnknown_202F3D8
-_08085BE8:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- str r0, [r5, 0x8]
- str r4, [r5, 0xC]
- ldrb r1, [r4]
- movs r0, 0x7
- ands r0, r1
- adds r1, r3, 0
- adds r1, 0x46
- strb r0, [r1]
- movs r3, 0
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r1, 0
- bl sub_806CDD4
-_08085C08:
- ldr r0, [r5, 0x8]
- subs r0, 0x1
- str r0, [r5, 0x8]
- ldr r1, _08085C4C
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x2
- ldrsh r2, [r4, r3]
- muls r1, r2
- lsls r1, 8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- muls r2, r0
- lsls r2, 8
- adds r0, r6, 0
- bl sub_804539C
-_08085C32:
- adds r5, 0x10
- adds r7, 0x1
- ldr r0, _08085C50
- ldr r0, [r0]
- cmp r7, r0
- blt _08085B98
-_08085C3E:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08085C4C: .4byte gUnknown_80F4448
-_08085C50: .4byte gUnknown_202F3D8
- thumb_func_end sub_8085B80
-
- thumb_func_start sub_8085C54
-sub_8085C54:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- str r0, [sp, 0x14]
- mov r10, r1
- mov r9, r2
- ldr r4, [sp, 0x48]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x18]
- lsls r4, 24
- lsrs r4, 24
- bl sub_8085E98
- movs r0, 0
- mov r8, r0
- ldr r0, _08085E70
- ldr r0, [r0]
- ldr r5, [r0, 0x4]
- cmp r4, 0
- beq _08085CAE
- ldr r1, [sp, 0x14]
- cmp r1, 0
- blt _08085C92
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- str r0, [sp, 0x14]
-_08085C92:
- mov r2, r10
- cmp r2, 0
- blt _08085CA0
- lsrs r0, r2, 31
- add r0, r10
- asrs r0, 1
- mov r10, r0
-_08085CA0:
- mov r3, r9
- cmp r3, 0
- blt _08085CAE
- lsrs r0, r3, 31
- add r0, r9
- asrs r0, 1
- mov r9, r0
-_08085CAE:
- ldr r1, _08085E74
- ldr r0, [sp, 0x8]
- ands r0, r1
- ldr r1, _08085E78
- ands r0, r1
- ldr r1, _08085E7C
- ands r0, r1
- str r0, [sp, 0x8]
- ldr r0, _08085E80
- ldr r2, [r0]
- ldr r0, _08085E84
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- mov r0, r8
- add r1, sp, 0x8
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r1, 0x1
- add r8, r1
- ldr r2, [sp, 0x14]
- lsls r2, 16
- str r2, [sp, 0x1C]
- mov r3, r10
- lsls r3, 16
- str r3, [sp, 0x20]
- mov r0, r9
- lsls r0, 16
- str r0, [sp, 0x24]
- add r7, sp, 0xC
- movs r1, 0xA0
- cmp r1, 0x1
- ble _08085D56
- add r6, sp, 0x8
- movs r4, 0xA0
- subs r4, 0x1
-_08085CFA:
- ldrb r0, [r5]
- ldr r3, [sp, 0x14]
- adds r2, r0, r3
- ldrb r0, [r5, 0x1]
- mov r3, r10
- adds r1, r0, r3
- ldrb r0, [r5, 0x2]
- add r0, r9
- cmp r2, 0xFF
- ble _08085D10
- movs r2, 0xFF
-_08085D10:
- cmp r1, 0xFF
- ble _08085D16
- movs r1, 0xFF
-_08085D16:
- cmp r0, 0xFF
- ble _08085D1C
- movs r0, 0xFF
-_08085D1C:
- cmp r2, 0
- bge _08085D22
- movs r2, 0
-_08085D22:
- cmp r1, 0
- bge _08085D28
- movs r1, 0
-_08085D28:
- cmp r0, 0
- bge _08085D2E
- movs r0, 0
-_08085D2E:
- strb r2, [r6]
- strb r1, [r6, 0x1]
- strb r0, [r6, 0x2]
- ldr r0, _08085E80
- ldr r2, [r0]
- ldr r0, _08085E84
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- mov r0, r8
- add r1, sp, 0x8
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r1, 0x1
- add r8, r1
- subs r4, 0x1
- cmp r4, 0
- bne _08085CFA
-_08085D56:
- ldr r2, _08085E88
- ldr r3, [sp, 0x1C]
- lsrs r0, r3, 16
- ldr r1, [sp, 0x20]
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r3, [sp, 0x24]
- lsrs r1, r3, 16
- ldr r0, [r7, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [r7, 0x4]
- ldr r0, _08085E8C
- ldr r1, _08085E80
- ldr r3, [r1]
- ldr r1, _08085E84
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- str r1, [sp]
- str r7, [sp, 0x4]
- movs r1, 0xA0
- movs r2, 0x20
- bl sub_8004C00
- movs r3, 0x20
- add r8, r3
- ldr r5, _08085E90
- add r6, sp, 0x8
- movs r4, 0x20
-_08085D94:
- ldrb r0, [r5]
- ldr r1, [sp, 0x14]
- adds r2, r0, r1
- ldrb r0, [r5, 0x1]
- mov r3, r10
- adds r1, r0, r3
- ldrb r0, [r5, 0x2]
- add r0, r9
- cmp r2, 0xFF
- ble _08085DAA
- movs r2, 0xFF
-_08085DAA:
- cmp r1, 0xFF
- ble _08085DB0
- movs r1, 0xFF
-_08085DB0:
- cmp r0, 0xFF
- ble _08085DB6
- movs r0, 0xFF
-_08085DB6:
- cmp r2, 0
- bge _08085DBC
- movs r2, 0
-_08085DBC:
- cmp r1, 0
- bge _08085DC2
- movs r1, 0
-_08085DC2:
- cmp r0, 0
- bge _08085DC8
- movs r0, 0
-_08085DC8:
- strb r2, [r6]
- strb r1, [r6, 0x1]
- strb r0, [r6, 0x2]
- ldr r0, _08085E80
- ldr r2, [r0]
- ldr r7, _08085E84
- ldr r3, [r7]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- mov r0, r8
- add r1, sp, 0x8
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r1, 0x1
- add r8, r1
- subs r4, 0x1
- cmp r4, 0
- bne _08085D94
- ldr r2, [sp, 0x18]
- cmp r2, 0
- beq _08085E5E
- ldr r0, [r7]
- ldr r3, _08085E94
- adds r0, r3
- ldr r0, [r0]
- ldr r5, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 1
- mov r8, r0
- add r6, sp, 0x8
- movs r4, 0xD0
-_08085E0A:
- ldrb r0, [r5]
- ldr r1, [sp, 0x14]
- adds r2, r0, r1
- ldrb r0, [r5, 0x1]
- mov r3, r10
- adds r1, r0, r3
- ldrb r0, [r5, 0x2]
- add r0, r9
- cmp r2, 0xFF
- ble _08085E20
- movs r2, 0xFF
-_08085E20:
- cmp r1, 0xFF
- ble _08085E26
- movs r1, 0xFF
-_08085E26:
- cmp r0, 0xFF
- ble _08085E2C
- movs r0, 0xFF
-_08085E2C:
- cmp r2, 0
- bge _08085E32
- movs r2, 0
-_08085E32:
- cmp r1, 0
- bge _08085E38
- movs r1, 0
-_08085E38:
- cmp r0, 0
- bge _08085E3E
- movs r0, 0
-_08085E3E:
- strb r2, [r6]
- strb r1, [r6, 0x1]
- strb r0, [r6, 0x2]
- ldr r0, _08085E80
- ldr r2, [r0]
- mov r0, r8
- add r1, sp, 0x8
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r0, 0x1
- add r8, r0
- subs r4, 0x1
- cmp r4, 0
- bne _08085E0A
-_08085E5E:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085E70: .4byte gUnknown_202EE88
-_08085E74: .4byte 0xffffff00
-_08085E78: .4byte 0xffff00ff
-_08085E7C: .4byte 0xff00ffff
-_08085E80: .4byte gUnknown_202EDC8
-_08085E84: .4byte gDungeonGlobalData
-_08085E88: .4byte 0xffff0000
-_08085E8C: .4byte gUnknown_202EE8C
-_08085E90: .4byte gUnknown_202ECA4
-_08085E94: .4byte 0x000181e4
- thumb_func_end sub_8085C54
-
- thumb_func_start sub_8085E98
-sub_8085E98:
- ldr r0, _08085EA8
- ldr r0, [r0]
- ldr r1, _08085EAC
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08085EA8: .4byte gDungeonGlobalData
-_08085EAC: .4byte 0x00018215
- thumb_func_end sub_8085E98
-
- thumb_func_start sub_8085EB0
-sub_8085EB0:
- ldr r0, _08085EC0
- ldr r0, [r0]
- ldr r1, _08085EC4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08085EC0: .4byte gDungeonGlobalData
-_08085EC4: .4byte 0x00018215
- thumb_func_end sub_8085EB0
-
- thumb_func_start sub_8085EC8
-sub_8085EC8:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x28
- adds r4, r0, 0
- mov r8, r1
- mov r9, r2
- adds r6, r3, 0
- ldr r5, [sp, 0x40]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- bl sub_800EE5C
- bl sub_800EF64
- movs r0, 0x46
- bl sub_803E46C
- str r4, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- mov r1, sp
- ldrh r0, [r6]
- movs r2, 0
- strh r0, [r1, 0xC]
- ldrh r0, [r6, 0x2]
- strh r0, [r1, 0xE]
- mov r0, sp
- strh r2, [r0, 0x10]
- strh r2, [r0, 0x12]
- ldr r0, _08085F3C
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- ldr r0, _08085F40
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, sp
- bl sub_800E890
- cmp r5, 0
- beq _08085F2E
- bl sub_8085F44
- movs r0, 0x1
- negs r0, r0
-_08085F2E:
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08085F3C: .4byte 0x0000ffff
-_08085F40: .4byte gUnknown_8107374
- thumb_func_end sub_8085EC8
-
- thumb_func_start sub_8085F44
-sub_8085F44:
- push {r4,lr}
- adds r4, r0, 0
- b _08085F5C
-_08085F4A:
- ldr r0, _08085F70
- ldr r0, [r0]
- ldr r1, _08085F74
- adds r0, r1
- bl sub_800E90C
- movs r0, 0x46
- bl sub_803E46C
-_08085F5C:
- adds r0, r4, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _08085F4A
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08085F70: .4byte gDungeonGlobalData
-_08085F74: .4byte 0x000181f0
- thumb_func_end sub_8085F44
-
- thumb_func_start sub_8085F78
-sub_8085F78:
- push {lr}
- ldr r0, _08085F94
- ldr r0, [r0]
- ldr r1, _08085F98
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3C
- bls _08085F8A
- b _080860A4
-_08085F8A:
- lsls r0, 2
- ldr r1, _08085F9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08085F94: .4byte gDungeonGlobalData
-_08085F98: .4byte 0x00003a0d
-_08085F9C: .4byte _08085FA0
- .align 2, 0
-_08085FA0:
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _08086094
- .4byte _08086094
- .4byte _08086094
- .4byte _0808609A
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A0
- .4byte _080860A0
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
-_08086094:
- bl sub_8088848
- b _080860A4
-_0808609A:
- bl sub_8088EE8
- b _080860A4
-_080860A0:
- bl sub_808A718
-_080860A4:
- pop {r0}
- bx r0
- thumb_func_end sub_8085F78
-
- thumb_func_start sub_80860A8
-sub_80860A8:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r0, _08086108
- ldr r2, [r0]
- movs r3, 0x1
-_080860B6:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080860C6
- ldrb r0, [r2, 0x2]
- cmp r0, r6
- beq _08086104
-_080860C6:
- adds r2, 0x4
- adds r5, 0x1
- cmp r5, 0x13
- ble _080860B6
- movs r5, 0
-_080860D0:
- ldr r0, _0808610C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08086110
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08086114
- ldr r2, [r4, 0x70]
- adds r0, r2, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08086114
- adds r0, r2, 0
- adds r0, 0x62
- ldrb r0, [r0]
- cmp r0, r6
- bne _08086114
-_08086104:
- movs r0, 0x1
- b _0808611C
- .align 2, 0
-_08086108: .4byte gTeamInventory_203B460
-_0808610C: .4byte gDungeonGlobalData
-_08086110: .4byte 0x0001357c
-_08086114:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080860D0
- movs r0, 0
-_0808611C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80860A8
-
- thumb_func_start sub_8086124
-sub_8086124:
- ldr r0, [r0, 0x70]
- movs r2, 0xB0
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_8086124
-
- thumb_func_start sub_8086130
-sub_8086130:
- push {lr}
- movs r0, 0x3C
- bl sub_8083ED8
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086194
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086198
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808619C
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080861A0
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080861A4
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- pop {r0}
- bx r0
- .align 2, 0
-_08086194: .4byte gUnknown_810665C
-_08086198: .4byte gUnknown_810668C
-_0808619C: .4byte gUnknown_81066D4
-_080861A0: .4byte gUnknown_81066F0
-_080861A4: .4byte gUnknown_810671C
- thumb_func_end sub_8086130
-
- thumb_func_start sub_80861A8
-sub_80861A8:
- push {lr}
- movs r1, 0
- movs r2, 0x8
- bl sub_806CDD4
- pop {r0}
- bx r0
- thumb_func_end sub_80861A8
-
- thumb_func_start sub_80861B8
-sub_80861B8:
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, [r0, 0x70]
- adds r1, r4, 0
- bl sub_806CDD4
- adds r5, 0xFE
- strb r4, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80861B8
-
- thumb_func_start sub_80861D4
-sub_80861D4:
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- bl sub_806CDD4
- adds r0, r4, 0
- bl sub_80861EC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80861D4
-
- thumb_func_start sub_80861EC
-sub_80861EC:
- ldr r0, [r0, 0x70]
- adds r0, 0xFE
- movs r1, 0x63
- strb r1, [r0]
- bx lr
- thumb_func_end sub_80861EC
-
- thumb_func_start sub_80861F8
-sub_80861F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- adds r6, r1, 0
- lsls r0, 16
- asrs r0, 16
- adds r5, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- bl sub_800EE5C
- bl sub_800EF64
- movs r0, 0x46
- bl sub_803E46C
- ldr r0, [r6, 0x70]
- mov r8, r0
- movs r1, 0
- mov r9, r1
- str r1, [sp, 0x28]
- adds r0, r5, 0
- bl sub_800E700
- adds r7, r0, 0
- add r4, sp, 0x28
- movs r2, 0x1
- negs r2, r2
- cmp r7, r2
- beq _0808624A
- adds r1, r6, 0
- adds r1, 0x28
- lsls r2, r7, 24
- lsrs r2, 24
- adds r0, r4, 0
- bl sub_800569C
-_0808624A:
- str r5, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- mov r0, r8
- adds r0, 0x46
- ldrb r0, [r0]
- str r0, [sp, 0x8]
- mov r1, sp
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _08086262
- adds r0, 0xFF
-_08086262:
- asrs r0, 8
- strh r0, [r1, 0xC]
- mov r1, sp
- ldr r0, [r6, 0x10]
- cmp r0, 0
- bge _08086270
- adds r0, 0xFF
-_08086270:
- asrs r0, 8
- strh r0, [r1, 0xE]
- mov r1, sp
- ldrh r0, [r4]
- strh r0, [r1, 0x10]
- add r0, sp, 0x28
- ldrh r0, [r0, 0x2]
- strh r0, [r1, 0x12]
- str r7, [sp, 0x14]
- ldr r0, _080862B4
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- ldr r0, _080862B8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, sp
- bl sub_800E890
- mov r4, r10
- cmp r4, 0
- beq _080862A2
- bl sub_8085F44
- movs r0, 0x1
- negs r0, r0
-_080862A2:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080862B4: .4byte 0x0000ffff
-_080862B8: .4byte gUnknown_8107380
- thumb_func_end sub_80861F8
.align 2,0
diff --git a/asm/code_80848F0.s b/asm/code_80848F0.s
new file mode 100644
index 0000000..2d9252a
--- /dev/null
+++ b/asm/code_80848F0.s
@@ -0,0 +1,2076 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_808529C
+sub_808529C:
+ push {lr}
+ lsls r0, 16
+ asrs r1, r0, 16
+ adds r2, r1, 0
+ movs r3, 0x40
+ movs r0, 0x86
+ lsls r0, 1
+ cmp r1, r0
+ beq _08085348
+ cmp r1, r0
+ bgt _080852E0
+ cmp r1, 0x90
+ beq _08085334
+ cmp r1, 0x90
+ bgt _080852CE
+ cmp r1, 0x38
+ beq _08085354
+ cmp r1, 0x38
+ bgt _080852C8
+ cmp r1, 0x17
+ beq _08085328
+ b _0808535A
+_080852C8:
+ cmp r1, 0x5E
+ beq _08085328
+ b _0808535A
+_080852CE:
+ cmp r1, 0x92
+ beq _08085330
+ cmp r1, 0x92
+ blt _0808532C
+ cmp r1, 0x96
+ beq _08085340
+ cmp r1, 0xFC
+ beq _08085324
+ b _0808535A
+_080852E0:
+ ldr r0, _08085304
+ cmp r1, r0
+ beq _08085358
+ cmp r1, r0
+ bgt _08085308
+ subs r0, 0x87
+ cmp r1, r0
+ beq _0808534C
+ cmp r1, r0
+ blt _08085344
+ adds r0, 0x5
+ cmp r1, r0
+ beq _08085350
+ adds r0, 0x3A
+ cmp r1, r0
+ beq _08085328
+ b _0808535A
+ .align 2, 0
+_08085304: .4byte 0x00000195
+_08085308:
+ ldr r0, _08085320
+ cmp r2, r0
+ beq _08085358
+ cmp r2, r0
+ blt _08085358
+ adds r0, 0x4
+ cmp r2, r0
+ beq _08085338
+ adds r0, 0x1
+ cmp r2, r0
+ beq _0808533C
+ b _0808535A
+ .align 2, 0
+_08085320: .4byte 0x00000197
+_08085324:
+ movs r3, 0x1
+ b _0808535A
+_08085328:
+ movs r3, 0x3
+ b _0808535A
+_0808532C:
+ movs r3, 0x5
+ b _0808535A
+_08085330:
+ movs r3, 0x7
+ b _0808535A
+_08085334:
+ movs r3, 0x9
+ b _0808535A
+_08085338:
+ movs r3, 0xC
+ b _0808535A
+_0808533C:
+ movs r3, 0xF
+ b _0808535A
+_08085340:
+ movs r3, 0x13
+ b _0808535A
+_08085344:
+ movs r3, 0x15
+ b _0808535A
+_08085348:
+ movs r3, 0x17
+ b _0808535A
+_0808534C:
+ movs r3, 0x19
+ b _0808535A
+_08085350:
+ movs r3, 0x1A
+ b _0808535A
+_08085354:
+ movs r3, 0x11
+ b _0808535A
+_08085358:
+ movs r3, 0x1D
+_0808535A:
+ cmp r3, 0x40
+ beq _0808536E
+ adds r0, r3, 0
+ bl sub_8098100
+ lsls r0, 24
+ cmp r0, 0
+ bne _0808536E
+ movs r0, 0
+ b _08085370
+_0808536E:
+ movs r0, 0x1
+_08085370:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_808529C
+
+ thumb_func_start sub_8085374
+sub_8085374:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x14
+ movs r7, 0
+ movs r6, 0
+ bl sub_808D3F8
+ movs r2, 0x8
+ ldrsh r1, [r0, r2]
+ mov r8, r1
+ movs r5, 0
+_0808538E:
+ ldr r0, _08085444
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08085448
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080853BE
+ ldr r1, [r4, 0x70]
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ beq _080853B2
+ adds r7, r4, 0
+_080853B2:
+ adds r0, r1, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x41
+ bne _080853BE
+ adds r6, r4, 0
+_080853BE:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _0808538E
+ cmp r7, 0
+ beq _0808546E
+ cmp r6, 0
+ bne _0808546E
+ ldr r0, _08085444
+ ldr r0, [r0]
+ ldr r1, _0808544C
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0808546E
+ movs r6, 0
+ ldr r0, _08085450
+ ldr r4, [r0]
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0x63
+ beq _0808546E
+ mov r5, sp
+ movs r0, 0
+ mov r9, r0
+_080853EE:
+ ldrh r0, [r7, 0x4]
+ adds r0, r4
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08085454
+ ands r4, r1
+ orrs r4, r0
+ asrs r1, r4, 16
+ ldrh r2, [r7, 0x6]
+ adds r1, r2
+ lsls r1, 16
+ ldr r0, _08085458
+ ands r4, r0
+ orrs r4, r1
+ lsls r0, r4, 16
+ asrs r0, 16
+ asrs r1, r4, 16
+ bl sub_804954C
+ adds r1, r0, 0
+ mov r0, r8
+ bl sub_807034C
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _0808545C
+ mov r0, r8
+ strh r0, [r5]
+ movs r0, 0x1
+ strh r0, [r5, 0x8]
+ movs r0, 0x2
+ strb r0, [r5, 0x2]
+ str r4, [sp, 0xC]
+ str r1, [sp, 0x4]
+ mov r1, r9
+ strb r1, [r5, 0x10]
+ mov r0, sp
+ movs r1, 0x1
+ bl sub_806B7F8
+ b _0808546E
+ .align 2, 0
+_08085444: .4byte gDungeonGlobalData
+_08085448: .4byte 0x0001357c
+_0808544C: .4byte 0x0000065c
+_08085450: .4byte gUnknown_80F4598
+_08085454: .4byte 0xffff0000
+_08085458: .4byte 0x0000ffff
+_0808545C:
+ adds r6, 0x1
+ ldr r0, _0808547C
+ lsls r1, r6, 2
+ adds r1, r0
+ ldr r4, [r1]
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x63
+ bne _080853EE
+_0808546E:
+ add sp, 0x14
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0808547C: .4byte gUnknown_80F4598
+ thumb_func_end sub_8085374
+
+ thumb_func_start sub_8085480
+sub_8085480:
+ push {lr}
+ bl sub_8083600
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8085480
+
+ thumb_func_start sub_808548C
+sub_808548C:
+ push {r4,r5,lr}
+ movs r5, 0
+_08085490:
+ ldr r0, _080854B8
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _080854BC
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080854C0
+ ldr r0, [r4, 0x70]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x41
+ bne _080854C0
+ adds r0, r4, 0
+ b _080854CC
+ .align 2, 0
+_080854B8: .4byte gDungeonGlobalData
+_080854BC: .4byte 0x0001357c
+_080854C0:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08085490
+ movs r0, 0x2
+ bl sub_8085680
+_080854CC:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_808548C
+
+ thumb_func_start sub_80854D4
+sub_80854D4:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x20
+ movs r6, 0
+ movs r5, 0
+ add r0, sp, 0x10
+ mov r8, r0
+ mov r7, sp
+_080854E6:
+ ldr r0, _080855D8
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _080855DC
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08085504
+ stm r7!, {r4}
+ adds r6, 0x1
+_08085504:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080854E6
+ cmp r6, 0x3
+ bgt _0808551C
+ movs r1, 0
+ lsls r0, r6, 2
+ add r0, sp
+_08085514:
+ stm r0!, {r1}
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08085514
+_0808551C:
+ movs r6, 0
+ movs r4, 0
+ mov r2, sp
+ mov r3, r8
+ movs r5, 0x3
+_08085526:
+ ldr r1, [r2]
+ cmp r1, 0
+ beq _0808553A
+ ldr r0, [r1, 0x70]
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ beq _0808553A
+ str r4, [r2]
+ stm r3!, {r1}
+ adds r6, 0x1
+_0808553A:
+ adds r2, 0x4
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08085526
+ movs r4, 0
+ mov r2, sp
+ lsls r0, r6, 2
+ mov r1, r8
+ adds r3, r0, r1
+ movs r5, 0x3
+_0808554E:
+ ldr r1, [r2]
+ cmp r1, 0
+ beq _08085564
+ ldr r0, [r1, 0x70]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x41
+ bne _08085564
+ str r4, [r2]
+ stm r3!, {r1}
+ adds r6, 0x1
+_08085564:
+ adds r2, 0x4
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0808554E
+ movs r3, 0
+ mov r2, sp
+ lsls r0, r6, 2
+ add r0, r8
+ movs r5, 0x3
+_08085576:
+ ldr r1, [r2]
+ cmp r1, 0
+ beq _08085582
+ str r3, [r2]
+ stm r0!, {r1}
+ adds r6, 0x1
+_08085582:
+ adds r2, 0x4
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08085576
+ cmp r6, 0x3
+ bgt _0808559C
+ movs r1, 0
+ lsls r0, r6, 2
+ add r0, r8
+_08085594:
+ stm r0!, {r1}
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08085594
+_0808559C:
+ movs r5, 0
+ mov r4, r8
+_080855A0:
+ lsls r1, r5, 2
+ ldr r3, [r4]
+ cmp r3, 0
+ beq _080855C4
+ ldr r0, _080855D8
+ ldr r0, [r0]
+ adds r0, r1
+ ldr r2, _080855E0
+ adds r1, r0, r2
+ movs r6, 0
+ ldrsh r1, [r1, r6]
+ adds r2, 0x2
+ adds r0, r2
+ movs r6, 0
+ ldrsh r2, [r0, r6]
+ adds r0, r3, 0
+ bl sub_80856C8
+_080855C4:
+ adds r4, 0x4
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080855A0
+ add sp, 0x20
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080855D8: .4byte gDungeonGlobalData
+_080855DC: .4byte 0x0001357c
+_080855E0: .4byte 0x0000e220
+ thumb_func_end sub_80854D4
+
+ thumb_func_start sub_80855E4
+sub_80855E4:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r7, 0
+ movs r5, 0
+_080855EC:
+ ldr r0, _08085634
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08085638
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08085618
+ ldr r0, [r4, 0x70]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x41
+ bne _08085612
+ movs r7, 0x1
+_08085612:
+ adds r0, r4, 0
+ bl _call_via_r6
+_08085618:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080855EC
+ cmp r7, 0
+ bne _0808562E
+ bl sub_808548C
+ cmp r0, 0
+ beq _0808562E
+ bl _call_via_r6
+_0808562E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08085634: .4byte gDungeonGlobalData
+_08085638: .4byte 0x0001357c
+ thumb_func_end sub_80855E4
+
+ thumb_func_start sub_808563C
+sub_808563C:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r5, 0
+_08085642:
+ ldr r0, _08085678
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _0808567C
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0808566C
+ ldr r0, [r4, 0x70]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x41
+ beq _0808566C
+ adds r0, r4, 0
+ bl _call_via_r6
+_0808566C:
+ adds r5, 0x1
+ cmp r5, 0xF
+ ble _08085642
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08085678: .4byte gDungeonGlobalData
+_0808567C: .4byte 0x0001358c
+ thumb_func_end sub_808563C
+
+ thumb_func_start sub_8085680
+sub_8085680:
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+_08085688:
+ ldr r0, _080856B0
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _080856B4
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080856B8
+ ldr r0, [r4, 0x70]
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, r6
+ bne _080856B8
+ adds r0, r4, 0
+ b _080856C0
+ .align 2, 0
+_080856B0: .4byte gDungeonGlobalData
+_080856B4: .4byte 0x000135cc
+_080856B8:
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _08085688
+ movs r0, 0
+_080856C0:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8085680
+
+ thumb_func_start sub_80856C8
+sub_80856C8:
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r3, 0x1
+ bl sub_80694C0
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_804535C
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80856C8
+
+ thumb_func_start sub_80856E0
+sub_80856E0:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ adds r7, r1, 0
+ ldr r0, [r6, 0x70]
+ mov r8, r0
+ adds r0, r6, 0
+ movs r1, 0x6
+ adds r2, r7, 0
+ bl sub_80861D4
+ movs r5, 0xBA
+ lsls r5, 1
+ add r5, r8
+ movs r4, 0x4
+_08085700:
+ ldr r0, [r5]
+ movs r1, 0x80
+ lsls r1, 2
+ adds r0, r1
+ str r0, [r5]
+ movs r0, 0x46
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08085700
+ movs r1, 0x7
+ adds r0, r7, 0
+ ands r0, r1
+ mov r1, r8
+ adds r1, 0x46
+ strb r0, [r1]
+ adds r0, r6, 0
+ adds r1, r7, 0
+ bl sub_806CE68
+ movs r5, 0xBA
+ lsls r5, 1
+ add r5, r8
+ movs r4, 0x4
+_08085732:
+ ldr r0, [r5]
+ ldr r1, _08085760
+ adds r0, r1
+ str r0, [r5]
+ movs r0, 0x46
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08085732
+ movs r1, 0xBA
+ lsls r1, 1
+ add r1, r8
+ movs r0, 0
+ str r0, [r1]
+ movs r0, 0x46
+ bl sub_803E46C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08085760: .4byte 0xfffffe00
+ thumb_func_end sub_80856E0
+
+ thumb_func_start sub_8085764
+sub_8085764:
+ push {r4,r5,lr}
+ sub sp, 0x74
+ mov r0, sp
+ bl sub_80457DC
+ movs r5, 0
+_08085770:
+ ldr r0, _080857AC
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _080857B0
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0808579E
+ ldr r0, [r4, 0x70]
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _0808579E
+ adds r0, r4, 0
+ ldr r1, _080857B4
+ mov r2, sp
+ bl sub_8068FE0
+_0808579E:
+ adds r5, 0x1
+ cmp r5, 0xF
+ ble _08085770
+ add sp, 0x74
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080857AC: .4byte gDungeonGlobalData
+_080857B0: .4byte 0x0001358c
+_080857B4: .4byte 0x00000207
+ thumb_func_end sub_8085764
+
+ thumb_func_start sub_80857B8
+sub_80857B8:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r7, 0
+ ldr r0, _08085854
+ mov r9, r0
+ ldr r1, _08085858
+ mov r8, r1
+_080857CA:
+ mov r2, r9
+ ldr r0, [r2]
+ lsls r1, r7, 2
+ ldr r3, _0808585C
+ adds r0, r3
+ adds r0, r1
+ ldr r6, [r0]
+ adds r0, r6, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08085840
+ ldr r5, [r6, 0x70]
+ mov r0, r9
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0
+ bne _08085840
+ ldrb r4, [r1, 0x2]
+ cmp r4, 0
+ bne _08085840
+ adds r0, r6, 0
+ movs r1, 0
+ bl sub_804535C
+ movs r1, 0xAE
+ lsls r1, 1
+ adds r0, r5, r1
+ strb r4, [r0]
+ adds r1, r5, 0
+ adds r1, 0xFE
+ movs r0, 0x63
+ strb r0, [r1]
+ adds r2, r5, 0
+ adds r2, 0x46
+ ldrb r0, [r2]
+ lsls r0, 2
+ add r0, r8
+ ldrh r1, [r6, 0x4]
+ ldrh r0, [r0]
+ adds r1, r0
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r0, r5, r3
+ strh r1, [r0]
+ ldrb r0, [r2]
+ lsls r0, 2
+ add r0, r8
+ ldrh r1, [r6, 0x6]
+ ldrh r0, [r0, 0x2]
+ adds r1, r0
+ adds r3, 0x2
+ adds r0, r5, r3
+ strh r1, [r0]
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ bl sub_806CE68
+_08085840:
+ adds r7, 0x1
+ cmp r7, 0x13
+ ble _080857CA
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08085854: .4byte gDungeonGlobalData
+_08085858: .4byte gUnknown_80F4448
+_0808585C: .4byte 0x000135cc
+ thumb_func_end sub_80857B8
+
+ thumb_func_start sub_8085860
+sub_8085860:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r0, 0
+ bl sub_803F4A0
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r0, 11
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r0, r1
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 11
+ movs r2, 0x80
+ lsls r2, 5
+ adds r1, r2
+ bl sub_803F878
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8085860
+
+ thumb_func_start sub_8085890
+sub_8085890:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r0, 0
+ bl sub_803F4A0
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_803F878
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8085890
+
+ thumb_func_start sub_80858AC
+sub_80858AC:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r7, r0, 0
+ adds r4, r1, 0
+ bl sub_803F994
+ adds r6, r0, 0
+ bl sub_803F9B0
+ adds r5, r0, 0
+ ldr r0, [r7]
+ subs r0, r6
+ adds r1, r4, 0
+ bl __divsi3
+ mov r9, r0
+ ldr r0, [r7, 0x4]
+ subs r0, r5
+ adds r1, r4, 0
+ bl __divsi3
+ mov r8, r0
+ movs r0, 0
+ bl sub_803F4A0
+ cmp r4, 0
+ ble _080858FE
+_080858E6:
+ add r6, r9
+ add r5, r8
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_803F878
+ movs r0, 0x46
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bne _080858E6
+_080858FE:
+ ldr r0, [r7]
+ ldr r1, [r7, 0x4]
+ bl sub_803F878
+ movs r0, 0x46
+ bl sub_803E46C
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80858AC
+
+ thumb_func_start sub_8085918
+sub_8085918:
+ push {r4,lr}
+ ldr r3, [r0, 0x70]
+ movs r4, 0x7
+ adds r2, r1, 0
+ ands r2, r4
+ adds r3, 0x46
+ strb r2, [r3]
+ bl sub_806CE68
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8085918
+
+ thumb_func_start sub_8085930
+sub_8085930:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ movs r0, 0x7
+ adds r7, r6, 0
+ ands r7, r0
+_0808593C:
+ ldr r0, _0808596C
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08085970
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08085982
+ cmp r6, 0x7
+ ble _08085974
+ movs r0, 0x8
+ bl RandomCapped
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_806CE68
+ b _08085982
+ .align 2, 0
+_0808596C: .4byte gDungeonGlobalData
+_08085970: .4byte 0x0001357c
+_08085974:
+ ldr r0, [r4, 0x70]
+ adds r0, 0x46
+ strb r7, [r0]
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_806CE68
+_08085982:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _0808593C
+ movs r5, 0
+ movs r0, 0x7
+ adds r7, r6, 0
+ ands r7, r0
+_08085990:
+ ldr r0, _080859CC
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _080859D0
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080859E2
+ ldr r1, [r4, 0x70]
+ adds r0, r1, 0
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _080859E2
+ cmp r6, 0x7
+ ble _080859D4
+ movs r0, 0x8
+ bl RandomCapped
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_806CE68
+ b _080859E2
+ .align 2, 0
+_080859CC: .4byte gDungeonGlobalData
+_080859D0: .4byte 0x0001358c
+_080859D4:
+ adds r0, r1, 0
+ adds r0, 0x46
+ strb r7, [r0]
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_806CE68
+_080859E2:
+ adds r5, 0x1
+ cmp r5, 0xF
+ ble _08085990
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8085930
+
+ thumb_func_start sub_80859F0
+sub_80859F0:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ movs r0, 0x7
+ adds r7, r6, 0
+ ands r7, r0
+_080859FC:
+ ldr r0, _08085A2C
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08085A30
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08085A42
+ cmp r6, 0x7
+ ble _08085A34
+ movs r0, 0x8
+ bl RandomCapped
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_806CE68
+ b _08085A42
+ .align 2, 0
+_08085A2C: .4byte gDungeonGlobalData
+_08085A30: .4byte 0x0001358c
+_08085A34:
+ ldr r0, [r4, 0x70]
+ adds r0, 0x46
+ strb r7, [r0]
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_806CE68
+_08085A42:
+ adds r5, 0x1
+ cmp r5, 0xF
+ ble _080859FC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80859F0
+
+ thumb_func_start sub_8085A50
+sub_8085A50:
+ push {lr}
+ ldr r0, [r0, 0x70]
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x24
+ bhi _08085B04
+ lsls r0, 2
+ ldr r1, _08085A68
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08085A68: .4byte _08085A6C
+ .align 2, 0
+_08085A6C:
+ .4byte _08085B04
+ .4byte _08085B00
+ .4byte _08085B04
+ .4byte _08085B00
+ .4byte _08085B04
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B04
+ .4byte _08085B04
+ .4byte _08085B04
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+ .4byte _08085B00
+_08085B00:
+ movs r0, 0x1
+ b _08085B06
+_08085B04:
+ movs r0, 0
+_08085B06:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8085A50
+
+ thumb_func_start sub_8085B0C
+sub_8085B0C:
+ push {r4,r5,lr}
+ sub sp, 0x1C
+ adds r5, r0, 0
+ ldr r1, _08085B48
+ mov r0, sp
+ movs r2, 0x19
+ bl memcpy
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08085B3E
+ mov r4, sp
+_08085B26:
+ ldrb r1, [r4]
+ adds r0, r5, 0
+ bl sub_8085918
+ movs r0, 0x6
+ movs r1, 0x46
+ bl sub_803E708
+ adds r4, 0x1
+ ldrb r0, [r4]
+ cmp r0, 0
+ bne _08085B26
+_08085B3E:
+ add sp, 0x1C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08085B48: .4byte gUnknown_8107358
+ thumb_func_end sub_8085B0C
+
+ thumb_func_start sub_8085B4C
+sub_8085B4C:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r0, _08085B7C
+ str r3, [r0]
+ cmp r3, 0
+ ble _08085B76
+ movs r6, 0x1
+ adds r4, r1, 0
+ adds r1, r5, 0
+_08085B5E:
+ strb r6, [r1]
+ ldm r2!, {r0}
+ str r0, [r1, 0x4]
+ ldm r4!, {r0}
+ str r0, [r1, 0xC]
+ movs r5, 0x4
+ ldrsh r0, [r0, r5]
+ str r0, [r1, 0x8]
+ adds r1, 0x10
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08085B5E
+_08085B76:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08085B7C: .4byte gUnknown_202F3D8
+ thumb_func_end sub_8085B4C
+
+ thumb_func_start sub_8085B80
+sub_8085B80:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r1, r0, 0
+ movs r0, 0
+ mov r8, r0
+ movs r7, 0
+ ldr r0, _08085BE4
+ ldr r0, [r0]
+ cmp r8, r0
+ bge _08085C3E
+ adds r5, r1, 0
+_08085B98:
+ ldr r6, [r5, 0x4]
+ ldr r2, [r6, 0x70]
+ adds r3, r2, 0
+ ldr r4, [r5, 0xC]
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08085C32
+ movs r1, 0x1
+ mov r8, r1
+ ldr r0, [r5, 0x8]
+ cmp r0, 0
+ bne _08085C08
+ adds r4, 0x8
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08085BE8
+ strb r0, [r5]
+ ldrb r1, [r4]
+ movs r0, 0x7
+ ands r0, r1
+ adds r1, r2, 0
+ adds r1, 0x46
+ strb r0, [r1]
+ movs r3, 0
+ ldrsh r2, [r4, r3]
+ adds r0, r6, 0
+ movs r1, 0x7
+ bl sub_806CDD4
+ movs r0, 0xA
+ ldrsh r1, [r4, r0]
+ movs r3, 0xC
+ ldrsh r2, [r4, r3]
+ adds r0, r6, 0
+ bl sub_80856C8
+ b _08085C32
+ .align 2, 0
+_08085BE4: .4byte gUnknown_202F3D8
+_08085BE8:
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ str r0, [r5, 0x8]
+ str r4, [r5, 0xC]
+ ldrb r1, [r4]
+ movs r0, 0x7
+ ands r0, r1
+ adds r1, r3, 0
+ adds r1, 0x46
+ strb r0, [r1]
+ movs r3, 0
+ ldrsh r2, [r4, r3]
+ adds r0, r6, 0
+ movs r1, 0
+ bl sub_806CDD4
+_08085C08:
+ ldr r0, [r5, 0x8]
+ subs r0, 0x1
+ str r0, [r5, 0x8]
+ ldr r1, _08085C4C
+ movs r2, 0
+ ldrsh r0, [r4, r2]
+ lsls r0, 2
+ adds r0, r1
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ movs r3, 0x2
+ ldrsh r2, [r4, r3]
+ muls r1, r2
+ lsls r1, 8
+ movs r3, 0x2
+ ldrsh r0, [r0, r3]
+ muls r2, r0
+ lsls r2, 8
+ adds r0, r6, 0
+ bl sub_804539C
+_08085C32:
+ adds r5, 0x10
+ adds r7, 0x1
+ ldr r0, _08085C50
+ ldr r0, [r0]
+ cmp r7, r0
+ blt _08085B98
+_08085C3E:
+ mov r0, r8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08085C4C: .4byte gUnknown_80F4448
+_08085C50: .4byte gUnknown_202F3D8
+ thumb_func_end sub_8085B80
+
+ thumb_func_start sub_8085C54
+sub_8085C54:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x28
+ str r0, [sp, 0x14]
+ mov r10, r1
+ mov r9, r2
+ ldr r4, [sp, 0x48]
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp, 0x18]
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8085E98
+ movs r0, 0
+ mov r8, r0
+ ldr r0, _08085E70
+ ldr r0, [r0]
+ ldr r5, [r0, 0x4]
+ cmp r4, 0
+ beq _08085CAE
+ ldr r1, [sp, 0x14]
+ cmp r1, 0
+ blt _08085C92
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r0, 1
+ str r0, [sp, 0x14]
+_08085C92:
+ mov r2, r10
+ cmp r2, 0
+ blt _08085CA0
+ lsrs r0, r2, 31
+ add r0, r10
+ asrs r0, 1
+ mov r10, r0
+_08085CA0:
+ mov r3, r9
+ cmp r3, 0
+ blt _08085CAE
+ lsrs r0, r3, 31
+ add r0, r9
+ asrs r0, 1
+ mov r9, r0
+_08085CAE:
+ ldr r1, _08085E74
+ ldr r0, [sp, 0x8]
+ ands r0, r1
+ ldr r1, _08085E78
+ ands r0, r1
+ ldr r1, _08085E7C
+ ands r0, r1
+ str r0, [sp, 0x8]
+ ldr r0, _08085E80
+ ldr r2, [r0]
+ ldr r0, _08085E84
+ ldr r3, [r0]
+ movs r0, 0xBE
+ lsls r0, 1
+ adds r3, r0
+ mov r0, r8
+ add r1, sp, 0x8
+ bl SetBGPaletteBufferColorRGB
+ adds r5, 0x4
+ movs r1, 0x1
+ add r8, r1
+ ldr r2, [sp, 0x14]
+ lsls r2, 16
+ str r2, [sp, 0x1C]
+ mov r3, r10
+ lsls r3, 16
+ str r3, [sp, 0x20]
+ mov r0, r9
+ lsls r0, 16
+ str r0, [sp, 0x24]
+ add r7, sp, 0xC
+ movs r1, 0xA0
+ cmp r1, 0x1
+ ble _08085D56
+ add r6, sp, 0x8
+ movs r4, 0xA0
+ subs r4, 0x1
+_08085CFA:
+ ldrb r0, [r5]
+ ldr r3, [sp, 0x14]
+ adds r2, r0, r3
+ ldrb r0, [r5, 0x1]
+ mov r3, r10
+ adds r1, r0, r3
+ ldrb r0, [r5, 0x2]
+ add r0, r9
+ cmp r2, 0xFF
+ ble _08085D10
+ movs r2, 0xFF
+_08085D10:
+ cmp r1, 0xFF
+ ble _08085D16
+ movs r1, 0xFF
+_08085D16:
+ cmp r0, 0xFF
+ ble _08085D1C
+ movs r0, 0xFF
+_08085D1C:
+ cmp r2, 0
+ bge _08085D22
+ movs r2, 0
+_08085D22:
+ cmp r1, 0
+ bge _08085D28
+ movs r1, 0
+_08085D28:
+ cmp r0, 0
+ bge _08085D2E
+ movs r0, 0
+_08085D2E:
+ strb r2, [r6]
+ strb r1, [r6, 0x1]
+ strb r0, [r6, 0x2]
+ ldr r0, _08085E80
+ ldr r2, [r0]
+ ldr r0, _08085E84
+ ldr r3, [r0]
+ movs r0, 0xBE
+ lsls r0, 1
+ adds r3, r0
+ mov r0, r8
+ add r1, sp, 0x8
+ bl SetBGPaletteBufferColorRGB
+ adds r5, 0x4
+ movs r1, 0x1
+ add r8, r1
+ subs r4, 0x1
+ cmp r4, 0
+ bne _08085CFA
+_08085D56:
+ ldr r2, _08085E88
+ ldr r3, [sp, 0x1C]
+ lsrs r0, r3, 16
+ ldr r1, [sp, 0x20]
+ orrs r0, r1
+ str r0, [sp, 0xC]
+ ldr r3, [sp, 0x24]
+ lsrs r1, r3, 16
+ ldr r0, [r7, 0x4]
+ ands r0, r2
+ orrs r0, r1
+ str r0, [r7, 0x4]
+ ldr r0, _08085E8C
+ ldr r1, _08085E80
+ ldr r3, [r1]
+ ldr r1, _08085E84
+ ldr r1, [r1]
+ movs r2, 0xBE
+ lsls r2, 1
+ adds r1, r2
+ str r1, [sp]
+ str r7, [sp, 0x4]
+ movs r1, 0xA0
+ movs r2, 0x20
+ bl sub_8004C00
+ movs r3, 0x20
+ add r8, r3
+ ldr r5, _08085E90
+ add r6, sp, 0x8
+ movs r4, 0x20
+_08085D94:
+ ldrb r0, [r5]
+ ldr r1, [sp, 0x14]
+ adds r2, r0, r1
+ ldrb r0, [r5, 0x1]
+ mov r3, r10
+ adds r1, r0, r3
+ ldrb r0, [r5, 0x2]
+ add r0, r9
+ cmp r2, 0xFF
+ ble _08085DAA
+ movs r2, 0xFF
+_08085DAA:
+ cmp r1, 0xFF
+ ble _08085DB0
+ movs r1, 0xFF
+_08085DB0:
+ cmp r0, 0xFF
+ ble _08085DB6
+ movs r0, 0xFF
+_08085DB6:
+ cmp r2, 0
+ bge _08085DBC
+ movs r2, 0
+_08085DBC:
+ cmp r1, 0
+ bge _08085DC2
+ movs r1, 0
+_08085DC2:
+ cmp r0, 0
+ bge _08085DC8
+ movs r0, 0
+_08085DC8:
+ strb r2, [r6]
+ strb r1, [r6, 0x1]
+ strb r0, [r6, 0x2]
+ ldr r0, _08085E80
+ ldr r2, [r0]
+ ldr r7, _08085E84
+ ldr r3, [r7]
+ movs r0, 0xBE
+ lsls r0, 1
+ adds r3, r0
+ mov r0, r8
+ add r1, sp, 0x8
+ bl SetBGPaletteBufferColorRGB
+ adds r5, 0x4
+ movs r1, 0x1
+ add r8, r1
+ subs r4, 0x1
+ cmp r4, 0
+ bne _08085D94
+ ldr r2, [sp, 0x18]
+ cmp r2, 0
+ beq _08085E5E
+ ldr r0, [r7]
+ ldr r3, _08085E94
+ adds r0, r3
+ ldr r0, [r0]
+ ldr r5, [r0, 0x4]
+ movs r0, 0x80
+ lsls r0, 1
+ mov r8, r0
+ add r6, sp, 0x8
+ movs r4, 0xD0
+_08085E0A:
+ ldrb r0, [r5]
+ ldr r1, [sp, 0x14]
+ adds r2, r0, r1
+ ldrb r0, [r5, 0x1]
+ mov r3, r10
+ adds r1, r0, r3
+ ldrb r0, [r5, 0x2]
+ add r0, r9
+ cmp r2, 0xFF
+ ble _08085E20
+ movs r2, 0xFF
+_08085E20:
+ cmp r1, 0xFF
+ ble _08085E26
+ movs r1, 0xFF
+_08085E26:
+ cmp r0, 0xFF
+ ble _08085E2C
+ movs r0, 0xFF
+_08085E2C:
+ cmp r2, 0
+ bge _08085E32
+ movs r2, 0
+_08085E32:
+ cmp r1, 0
+ bge _08085E38
+ movs r1, 0
+_08085E38:
+ cmp r0, 0
+ bge _08085E3E
+ movs r0, 0
+_08085E3E:
+ strb r2, [r6]
+ strb r1, [r6, 0x1]
+ strb r0, [r6, 0x2]
+ ldr r0, _08085E80
+ ldr r2, [r0]
+ mov r0, r8
+ add r1, sp, 0x8
+ movs r3, 0
+ bl SetBGPaletteBufferColorRGB
+ adds r5, 0x4
+ movs r0, 0x1
+ add r8, r0
+ subs r4, 0x1
+ cmp r4, 0
+ bne _08085E0A
+_08085E5E:
+ add sp, 0x28
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08085E70: .4byte gUnknown_202EE88
+_08085E74: .4byte 0xffffff00
+_08085E78: .4byte 0xffff00ff
+_08085E7C: .4byte 0xff00ffff
+_08085E80: .4byte gUnknown_202EDC8
+_08085E84: .4byte gDungeonGlobalData
+_08085E88: .4byte 0xffff0000
+_08085E8C: .4byte gUnknown_202EE8C
+_08085E90: .4byte gUnknown_202ECA4
+_08085E94: .4byte 0x000181e4
+ thumb_func_end sub_8085C54
+
+ thumb_func_start sub_8085E98
+sub_8085E98:
+ ldr r0, _08085EA8
+ ldr r0, [r0]
+ ldr r1, _08085EAC
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_08085EA8: .4byte gDungeonGlobalData
+_08085EAC: .4byte 0x00018215
+ thumb_func_end sub_8085E98
+
+ thumb_func_start sub_8085EB0
+sub_8085EB0:
+ ldr r0, _08085EC0
+ ldr r0, [r0]
+ ldr r1, _08085EC4
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_08085EC0: .4byte gDungeonGlobalData
+_08085EC4: .4byte 0x00018215
+ thumb_func_end sub_8085EB0
+
+ thumb_func_start sub_8085EC8
+sub_8085EC8:
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x28
+ adds r4, r0, 0
+ mov r8, r1
+ mov r9, r2
+ adds r6, r3, 0
+ ldr r5, [sp, 0x40]
+ lsls r4, 16
+ asrs r4, 16
+ lsls r5, 24
+ lsrs r5, 24
+ adds r0, r4, 0
+ bl sub_800EE5C
+ bl sub_800EF64
+ movs r0, 0x46
+ bl sub_803E46C
+ str r4, [sp]
+ mov r0, r8
+ str r0, [sp, 0x4]
+ mov r2, r9
+ str r2, [sp, 0x8]
+ mov r1, sp
+ ldrh r0, [r6]
+ movs r2, 0
+ strh r0, [r1, 0xC]
+ ldrh r0, [r6, 0x2]
+ strh r0, [r1, 0xE]
+ mov r0, sp
+ strh r2, [r0, 0x10]
+ strh r2, [r0, 0x12]
+ ldr r0, _08085F3C
+ str r0, [sp, 0x18]
+ add r1, sp, 0x1C
+ ldr r0, _08085F40
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ mov r0, sp
+ bl sub_800E890
+ cmp r5, 0
+ beq _08085F2E
+ bl sub_8085F44
+ movs r0, 0x1
+ negs r0, r0
+_08085F2E:
+ add sp, 0x28
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08085F3C: .4byte 0x0000ffff
+_08085F40: .4byte gUnknown_8107374
+ thumb_func_end sub_8085EC8
+
+ thumb_func_start sub_8085F44
+sub_8085F44:
+ push {r4,lr}
+ adds r4, r0, 0
+ b _08085F5C
+_08085F4A:
+ ldr r0, _08085F70
+ ldr r0, [r0]
+ ldr r1, _08085F74
+ adds r0, r1
+ bl sub_800E90C
+ movs r0, 0x46
+ bl sub_803E46C
+_08085F5C:
+ adds r0, r4, 0
+ bl sub_800E9A8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08085F4A
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08085F70: .4byte gDungeonGlobalData
+_08085F74: .4byte 0x000181f0
+ thumb_func_end sub_8085F44
+
+ thumb_func_start sub_8085F78
+sub_8085F78:
+ push {lr}
+ ldr r0, _08085F94
+ ldr r0, [r0]
+ ldr r1, _08085F98
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x3C
+ bls _08085F8A
+ b _080860A4
+_08085F8A:
+ lsls r0, 2
+ ldr r1, _08085F9C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08085F94: .4byte gDungeonGlobalData
+_08085F98: .4byte 0x00003a0d
+_08085F9C: .4byte _08085FA0
+ .align 2, 0
+_08085FA0:
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _08086094
+ .4byte _08086094
+ .4byte _08086094
+ .4byte _0808609A
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A0
+ .4byte _080860A0
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+ .4byte _080860A4
+_08086094:
+ bl sub_8088848
+ b _080860A4
+_0808609A:
+ bl sub_8088EE8
+ b _080860A4
+_080860A0:
+ bl sub_808A718
+_080860A4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8085F78
+
+ thumb_func_start sub_80860A8
+sub_80860A8:
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+ ldr r0, _08086108
+ ldr r2, [r0]
+ movs r3, 0x1
+_080860B6:
+ ldrb r1, [r2]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080860C6
+ ldrb r0, [r2, 0x2]
+ cmp r0, r6
+ beq _08086104
+_080860C6:
+ adds r2, 0x4
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _080860B6
+ movs r5, 0
+_080860D0:
+ ldr r0, _0808610C
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08086110
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_80450E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08086114
+ ldr r2, [r4, 0x70]
+ adds r0, r2, 0
+ adds r0, 0x60
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08086114
+ adds r0, r2, 0
+ adds r0, 0x62
+ ldrb r0, [r0]
+ cmp r0, r6
+ bne _08086114
+_08086104:
+ movs r0, 0x1
+ b _0808611C
+ .align 2, 0
+_08086108: .4byte gTeamInventory_203B460
+_0808610C: .4byte gDungeonGlobalData
+_08086110: .4byte 0x0001357c
+_08086114:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080860D0
+ movs r0, 0
+_0808611C:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80860A8
+
+ thumb_func_start sub_8086124
+sub_8086124:
+ ldr r0, [r0, 0x70]
+ movs r2, 0xB0
+ lsls r2, 1
+ adds r0, r2
+ strb r1, [r0]
+ bx lr
+ thumb_func_end sub_8086124
+
+ thumb_func_start sub_8086130
+sub_8086130:
+ push {lr}
+ movs r0, 0x3C
+ bl sub_8083ED8
+ movs r0, 0x3C
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _08086194
+ ldr r0, [r0]
+ bl sub_8052FB8
+ movs r0, 0x1E
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _08086198
+ ldr r0, [r0]
+ bl sub_8052FB8
+ movs r0, 0x1E
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _0808619C
+ ldr r0, [r0]
+ bl sub_8052FB8
+ movs r0, 0x1E
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _080861A0
+ ldr r0, [r0]
+ bl sub_8052FB8
+ movs r0, 0x1E
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _080861A4
+ ldr r0, [r0]
+ bl sub_8052FB8
+ movs r0, 0x1E
+ movs r1, 0x46
+ bl sub_803E708
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08086194: .4byte gUnknown_810665C
+_08086198: .4byte gUnknown_810668C
+_0808619C: .4byte gUnknown_81066D4
+_080861A0: .4byte gUnknown_81066F0
+_080861A4: .4byte gUnknown_810671C
+ thumb_func_end sub_8086130
+
+ thumb_func_start sub_80861A8
+sub_80861A8:
+ push {lr}
+ movs r1, 0
+ movs r2, 0x8
+ bl sub_806CDD4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80861A8
+
+ thumb_func_start sub_80861B8
+sub_80861B8:
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, [r0, 0x70]
+ adds r1, r4, 0
+ bl sub_806CDD4
+ adds r5, 0xFE
+ strb r4, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80861B8
+
+ thumb_func_start sub_80861D4
+sub_80861D4:
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ bl sub_806CDD4
+ adds r0, r4, 0
+ bl sub_80861EC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80861D4
+
+ thumb_func_start sub_80861EC
+sub_80861EC:
+ ldr r0, [r0, 0x70]
+ adds r0, 0xFE
+ movs r1, 0x63
+ strb r1, [r0]
+ bx lr
+ thumb_func_end sub_80861EC
+
+ thumb_func_start sub_80861F8
+sub_80861F8:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x2C
+ adds r6, r1, 0
+ lsls r0, 16
+ asrs r0, 16
+ adds r5, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ bl sub_800EE5C
+ bl sub_800EF64
+ movs r0, 0x46
+ bl sub_803E46C
+ ldr r0, [r6, 0x70]
+ mov r8, r0
+ movs r1, 0
+ mov r9, r1
+ str r1, [sp, 0x28]
+ adds r0, r5, 0
+ bl sub_800E700
+ adds r7, r0, 0
+ add r4, sp, 0x28
+ movs r2, 0x1
+ negs r2, r2
+ cmp r7, r2
+ beq _0808624A
+ adds r1, r6, 0
+ adds r1, 0x28
+ lsls r2, r7, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ bl sub_800569C
+_0808624A:
+ str r5, [sp]
+ mov r3, r9
+ str r3, [sp, 0x4]
+ mov r0, r8
+ adds r0, 0x46
+ ldrb r0, [r0]
+ str r0, [sp, 0x8]
+ mov r1, sp
+ ldr r0, [r6, 0xC]
+ cmp r0, 0
+ bge _08086262
+ adds r0, 0xFF
+_08086262:
+ asrs r0, 8
+ strh r0, [r1, 0xC]
+ mov r1, sp
+ ldr r0, [r6, 0x10]
+ cmp r0, 0
+ bge _08086270
+ adds r0, 0xFF
+_08086270:
+ asrs r0, 8
+ strh r0, [r1, 0xE]
+ mov r1, sp
+ ldrh r0, [r4]
+ strh r0, [r1, 0x10]
+ add r0, sp, 0x28
+ ldrh r0, [r0, 0x2]
+ strh r0, [r1, 0x12]
+ str r7, [sp, 0x14]
+ ldr r0, _080862B4
+ str r0, [sp, 0x18]
+ add r1, sp, 0x1C
+ ldr r0, _080862B8
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ mov r0, sp
+ bl sub_800E890
+ mov r4, r10
+ cmp r4, 0
+ beq _080862A2
+ bl sub_8085F44
+ movs r0, 0x1
+ negs r0, r0
+_080862A2:
+ add sp, 0x2C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080862B4: .4byte 0x0000ffff
+_080862B8: .4byte gUnknown_8107380
+ thumb_func_end sub_80861F8
+
+ .align 2,0
diff --git a/asm/main_menu_1.s b/asm/main_menu_1.s
deleted file mode 100644
index 3a2f1b7..0000000
--- a/asm/main_menu_1.s
+++ /dev/null
@@ -1,167 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start UpdateMainMenu
-UpdateMainMenu:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08035F64
- str r6, [sp]
- ldr r4, _08035F68
- ldr r0, [r4]
- ldr r5, [r0]
- cmp r5, 0xC
- beq _08035FB8
- cmp r5, 0xC
- bls _08035F04
- b _0803601A
-_08035F04:
- cmp r5, 0x1
- beq _08035F0A
- b _0803601A
-_08035F0A:
- adds r0, 0xA4
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x4
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08035F28
- ldr r0, [r4]
- adds r0, 0x4
- mov r1, sp
- bl sub_8013114
-_08035F28:
- bl SetMainMenuText
- lsls r0, 24
- cmp r0, 0
- beq _08035F4A
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x2
- movs r2, 0
- bl sub_8035CF4
-_08035F4A:
- ldr r1, [sp]
- cmp r1, 0xC
- beq _08035FA8
- cmp r1, 0xC
- bhi _08035F6C
- cmp r1, 0x3
- beq _08035FAC
- cmp r1, 0x3
- bcc _0803601A
- cmp r1, 0x6
- bcc _0803601A
- b _08035FAC
- .align 2, 0
-_08035F64: .4byte 0x0000ffdc
-_08035F68: .4byte gUnknown_203B34C
-_08035F6C:
- cmp r1, r6
- beq _08035FF2
- cmp r1, r6
- bhi _08035F7A
- cmp r1, 0x10
- bhi _0803601A
- b _08035FAC
-_08035F7A:
- ldr r0, _08035FA4
- cmp r1, r0
- bne _0803601A
- ldr r0, [r4]
- str r5, [r0]
- str r6, [sp]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x2
- movs r2, 0
- bl sub_8035CF4
- b _0803601A
- .align 2, 0
-_08035FA4: .4byte 0x0000ffdd
-_08035FA8:
- bl sub_8035DA0
-_08035FAC:
- ldr r1, _08035FB4
- ldr r0, [sp]
- str r0, [r1]
- b _0803601A
- .align 2, 0
-_08035FB4: .4byte gUnknown_203B350
-_08035FB8:
- adds r0, 0x54
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08035FCE
- ldr r0, [r4]
- adds r0, 0x54
- mov r1, sp
- bl sub_8013114
-_08035FCE:
- ldr r1, [sp]
- cmp r1, 0x12
- beq _08036008
- cmp r1, 0x12
- bhi _08035FDE
- cmp r1, 0x11
- beq _08035FFC
- b _0803601A
-_08035FDE:
- cmp r1, r6
- beq _08036018
- ldr r0, _08035FF8
- cmp r1, r0
- bne _0803601A
- bl sub_803623C
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
-_08035FF2:
- str r6, [sp]
- b _0803601A
- .align 2, 0
-_08035FF8: .4byte 0x0000ffdd
-_08035FFC:
- ldr r0, _08036004
- str r1, [r0]
- str r5, [sp]
- b _0803601A
- .align 2, 0
-_08036004: .4byte gUnknown_203B354
-_08036008:
- ldr r0, _08036014
- str r1, [r0]
- movs r0, 0x14
- str r0, [sp]
- b _0803601A
- .align 2, 0
-_08036014: .4byte gUnknown_203B354
-_08036018:
- str r1, [sp]
-_0803601A:
- ldr r0, [sp]
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end UpdateMainMenu
-
- .align 2,0
diff --git a/asm/memory_1.s b/asm/memory_1.s
index d9f1362..f289567 100644
--- a/asm/memory_1.s
+++ b/asm/memory_1.s
@@ -25,7 +25,7 @@ _08003412:
cmp r1, 0
bge _08003438
ldr r0, =gUnknown_80B7F88
- ldr r1, =gUnknown_80B7F94
+ ldr r1, =gLocalCreateErrorMessage
adds r2, r5, 0
bl FatalError
.align 2, 0
diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s
deleted file mode 100644
index 45f3360..0000000
--- a/asm/wonder_mail.s
+++ /dev/null
@@ -1,941 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8028348
-sub_8028348:
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r1, _08028368
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r6, r1, 0
- cmp r0, 0x3C
- bls _0802835C
- bl _08028AF2
-_0802835C:
- lsls r0, 2
- ldr r1, _0802836C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08028368: .4byte gUnknown_203B2C0
-_0802836C: .4byte _08028370
- .align 2, 0
-_08028370:
- .4byte _08028A84
- .4byte _08028AB4
- .4byte _08028AE0
- .4byte _08028AF2
- .4byte _08028650
- .4byte _08028660
- .4byte _08028678
- .4byte _08028AF2
- .4byte _08028802
- .4byte _08028640
- .4byte _0802890C
- .4byte _08028948
- .4byte _08028988
- .4byte _08028978
- .4byte _080289A0
- .4byte _08028990
- .4byte _080289B8
- .4byte _080289B0
- .4byte _080289C8
- .4byte _080289E8
- .4byte _08028A48
- .4byte _08028A58
- .4byte _08028A68
- .4byte _080289F8
- .4byte _08028A08
- .4byte _08028A18
- .4byte _08028850
- .4byte _08028860
- .4byte _08028868
- .4byte _08028878
- .4byte _08028890
- .4byte _080288A0
- .4byte _080288C6
- .4byte _08028AF2
- .4byte _08028888
- .4byte _08028790
- .4byte _08028AF2
- .4byte _080287C4
- .4byte _080287D4
- .4byte _080287DC
- .4byte _08028AF2
- .4byte _080285CC
- .4byte _080285DC
- .4byte _080288C6
- .4byte _08028AF2
- .4byte _080285AC
- .4byte _08028610
- .4byte _080285F8
- .4byte _08028600
- .4byte _0802856C
- .4byte _080284F4
- .4byte _0802850C
- .4byte _08028532
- .4byte _08028AF2
- .4byte _0802859C
- .4byte _080284B8
- .4byte _080284A8
- .4byte _080284EC
- .4byte _080284A0
- .4byte _08028464
- .4byte _08028490
-_08028464:
- ldr r0, [r6]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 2
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8031D70
- b _08028AF2
-_08028490:
- ldr r0, _0802849C
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_0802849C: .4byte gUnknown_80DDBA8
-_080284A0:
- ldr r0, _080284A4
- b _08028A6A
- .align 2, 0
-_080284A4: .4byte gUnknown_80DDBFC
-_080284A8:
- ldr r0, _080284B4
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_080284B4: .4byte gUnknown_80DDC30
-_080284B8:
- ldr r0, [r6]
- ldr r2, _080284D0
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xE
- bne _080284C6
- b _08028AF2
-_080284C6:
- cmp r0, 0xE
- bhi _080284D4
- cmp r0, 0xD
- beq _080284DA
- b _08028AF2
- .align 2, 0
-_080284D0: .4byte 0x00000534
-_080284D4:
- cmp r0, 0x10
- bls _080284DA
- b _08028AF2
-_080284DA:
- ldr r0, _080284E8
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_080284E8: .4byte gUnknown_80DDC70
-_080284EC:
- ldr r0, _080284F0
- b _08028A6A
- .align 2, 0
-_080284F0: .4byte gUnknown_80DDC30
-_080284F4:
- ldr r0, _08028504
- ldr r3, _08028508
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08028AF2
- .align 2, 0
-_08028504: .4byte gUnknown_80DDCBC
-_08028508: .4byte 0x00000101
-_0802850C:
- bl sub_8023CE8
- cmp r0, 0
- beq _08028516
- b _08028AF2
-_08028516:
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_8023868
- b _08028AF2
-_08028532:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _08028564
- ldr r2, _08028568
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_8023DA4
- b _080288F6
- .align 2, 0
-_08028564: .4byte gUnknown_80DDAE4
-_08028568: .4byte gUnknown_80DDAFC
-_0802856C:
- ldr r0, _08028594
- ldr r3, _08028598
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028594: .4byte gUnknown_80DDD2C
-_08028598: .4byte gUnknown_80DDAA0
-_0802859C:
- ldr r0, _080285A4
- ldr r3, _080285A8
- b _08028A1C
- .align 2, 0
-_080285A4: .4byte gUnknown_80DDD88
-_080285A8: .4byte gUnknown_80DDA80
-_080285AC:
- ldr r0, _080285C4
- ldr r3, _080285C8
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- b _08028A2E
- .align 2, 0
-_080285C4: .4byte gUnknown_80DDDBC
-_080285C8: .4byte gUnknown_80DDA64
-_080285CC:
- ldr r0, _080285D8
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_080285D8: .4byte gUnknown_80DDDD8
-_080285DC:
- bl sub_8030894
- cmp r0, 0
- beq _080285E6
- b _08028AF2
-_080285E6:
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x4
- b _080288BA
-_080285F8:
- ldr r0, _080285FC
- b _08028A6A
- .align 2, 0
-_080285FC: .4byte gUnknown_80DDE20
-_08028600:
- ldr r0, _0802860C
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_0802860C: .4byte gUnknown_80DDE58
-_08028610:
- ldr r0, _08028638
- ldr r3, _0802863C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x11
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028638: .4byte gUnknown_80DDEC0
-_0802863C: .4byte gUnknown_80DDB60
-_08028640:
- ldr r0, _0802864C
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_0802864C: .4byte gUnknown_80DDF2C
-_08028650:
- ldr r0, _08028658
- ldr r3, _0802865C
- b _08028A1C
- .align 2, 0
-_08028658: .4byte gUnknown_80DDFB8
-_0802865C: .4byte gUnknown_80DDA48
-_08028660:
- movs r0, 0
- bl nullsub_23
- ldr r0, _08028674
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- b _08028AF2
- .align 2, 0
-_08028674: .4byte gUnknown_80DE01C
-_08028678:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x44]
- bl sub_8011830
- ldr r0, [r6]
- ldr r0, [r0, 0x40]
- bl sub_8037B28
- adds r4, r0, 0
- ldr r0, [r6]
- str r4, [r0, 0x44]
- cmp r4, 0
- bne _0802878A
- ldr r1, [r0, 0x40]
- cmp r1, 0x3
- beq _080286A0
- cmp r1, 0x4
- beq _080286C2
- b _08028748
-_080286A0:
- adds r0, 0x48
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- adds r0, 0x78
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r1, r2, 0
- adds r1, 0x48
- adds r2, 0x78
- b _08028740
-_080286C2:
- adds r0, 0xA8
- movs r1, 0
- movs r2, 0x88
- bl MemoryFill8
- ldr r0, [r6]
- movs r5, 0x98
- lsls r5, 1
- adds r0, r5
- movs r1, 0
- movs r2, 0x88
- bl MemoryFill8
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xE0
- strh r4, [r0]
- movs r2, 0xB4
- lsls r2, 1
- adds r0, r1, r2
- strh r4, [r0]
- movs r3, 0x86
- lsls r3, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- bl sub_8095228
- ldr r1, [r6]
- adds r1, 0xA8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- ldr r4, _08028760
- adds r3, r2, r4
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08028736
- adds r0, r2, 0
- adds r0, 0xD8
- ldr r1, _08028764
- ldr r1, [r1]
- movs r2, 0
- ldrsh r3, [r3, r2]
- movs r2, 0x58
- muls r2, r3
- adds r1, r2
- movs r2, 0x58
- bl memcpy
-_08028736:
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r1, r2, 0
- adds r1, 0xA8
- adds r2, r5
-_08028740:
- bl sub_8037D64
- ldr r1, [r6]
- str r0, [r1, 0x44]
-_08028748:
- ldr r4, _08028768
- ldr r2, [r4]
- ldr r0, [r2, 0x44]
- cmp r0, 0
- bne _0802878A
- ldr r0, [r2, 0x40]
- cmp r0, 0x3
- beq _0802876C
- cmp r0, 0x4
- beq _08028776
- b _0802878A
- .align 2, 0
-_08028760: .4byte 0x00000544
-_08028764: .4byte gRecruitedPokemonRef
-_08028768: .4byte gUnknown_203B2C0
-_0802876C:
- adds r1, r2, 0
- adds r1, 0x48
- adds r2, 0x78
- movs r0, 0x3
- b _08028782
-_08028776:
- adds r1, r2, 0
- adds r1, 0xA8
- movs r3, 0x98
- lsls r3, 1
- adds r2, r3
- movs r0, 0x4
-_08028782:
- bl sub_80381F4
- ldr r1, [r4]
- str r0, [r1, 0x44]
-_0802878A:
- bl xxx_call_start_bg_music
- b _08028AF2
-_08028790:
- ldr r0, [r6]
- ldr r4, _080287A8
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0xE
- bne _0802879E
- b _08028AF2
-_0802879E:
- cmp r0, 0xE
- bhi _080287AC
- cmp r0, 0xD
- beq _080287B2
- b _08028AF2
- .align 2, 0
-_080287A8: .4byte 0x00000534
-_080287AC:
- cmp r0, 0x10
- bls _080287B2
- b _08028AF2
-_080287B2:
- ldr r0, _080287C0
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_080287C0: .4byte gUnknown_80DE06C
-_080287C4:
- ldr r0, _080287D0
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_080287D0: .4byte gUnknown_80DE0C0
-_080287D4:
- ldr r0, _080287D8
- b _08028A6A
- .align 2, 0
-_080287D8: .4byte gUnknown_80DE124
-_080287DC:
- ldr r0, [r6]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r6]
- adds r1, 0x8
- movs r0, 0x4
- bl sub_80151C0
- b _08028AF2
-_08028802:
- ldr r4, [r6]
- movs r2, 0xA7
- lsls r2, 3
- adds r0, r4, r2
- ldr r2, [r0]
- cmp r2, 0
- beq _08028816
- cmp r2, 0x2
- beq _08028824
- b _08028AF2
-_08028816:
- ldr r0, _0802881C
- ldr r3, _08028820
- b _0802882A
- .align 2, 0
-_0802881C: .4byte gUnknown_80DE178
-_08028820: .4byte gUnknown_80DDB24
-_08028824:
- ldr r0, _08028848
- ldr r3, _0802884C
- movs r2, 0
-_0802882A:
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r4, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xD
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028848: .4byte gUnknown_80DE1B4
-_0802884C: .4byte gUnknown_80DDB24
-_08028850:
- ldr r0, _0802885C
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_0802885C: .4byte gUnknown_80DE1E4
-_08028860:
- ldr r0, _08028864
- b _08028A6A
- .align 2, 0
-_08028864: .4byte gUnknown_80DE280
-_08028868:
- ldr r0, _08028874
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_08028874: .4byte gUnknown_80DE2B0
-_08028878:
- ldr r0, _08028884
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_08028884: .4byte gUnknown_80DE368
-_08028888:
- ldr r0, _0802888C
- b _08028A1A
- .align 2, 0
-_0802888C: .4byte gUnknown_80DDDBC
-_08028890:
- ldr r0, _0802889C
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_0802889C: .4byte gUnknown_80DE430
-_080288A0:
- bl sub_8030894
- cmp r0, 0
- beq _080288AA
- b _08028AF2
-_080288AA:
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x2
-_080288BA:
- movs r1, 0
- movs r2, 0
- movs r3, 0x6
- bl sub_80306A8
- b _08028AF2
-_080288C6:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _08028904
- ldr r2, _08028908
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_803092C
-_080288F6:
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- b _08028AF2
- .align 2, 0
-_08028904: .4byte gUnknown_80DDACC
-_08028908: .4byte gUnknown_80DDAFC
-_0802890C:
- bl sub_8095350
- ldr r1, _0802893C
- ldr r1, [r1]
- movs r3, 0xA8
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- movs r4, 0xA7
- lsls r4, 3
- adds r1, r4
- ldr r1, [r1]
- cmp r1, 0x6
- beq _08028940
- cmp r1, 0x6
- bls _0802892E
- b _08028AF2
-_0802892E:
- cmp r1, 0x5
- beq _08028934
- b _08028AF2
-_08028934:
- movs r0, 0x2
- bl sub_8030F58
- b _08028AF2
- .align 2, 0
-_0802893C: .4byte gUnknown_203B2C0
-_08028940:
- movs r0, 0x4
- bl sub_8030F58
- b _08028AF2
-_08028948:
- ldr r0, _08028970
- ldr r3, _08028974
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028970: .4byte gUnknown_80DE48C
-_08028974: .4byte gUnknown_80DD9EC
-_08028978:
- ldr r0, _08028984
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_08028984: .4byte gUnknown_80DE4B8
-_08028988:
- ldr r0, _0802898C
- b _08028A6A
- .align 2, 0
-_0802898C: .4byte gUnknown_80DE4F0
-_08028990:
- ldr r0, _0802899C
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_0802899C: .4byte gUnknown_80DE524
-_080289A0:
- ldr r0, _080289AC
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_080289AC: .4byte gUnknown_80DE614
-_080289B0:
- ldr r0, _080289B4
- b _08028A6A
- .align 2, 0
-_080289B4: .4byte gUnknown_80DE648
-_080289B8:
- ldr r0, _080289C4
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_080289C4: .4byte gUnknown_80DE694
-_080289C8:
- ldr r0, _080289E0
- ldr r3, _080289E4
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- b _08028A2E
- .align 2, 0
-_080289E0: .4byte gUnknown_80DE6D4
-_080289E4: .4byte gUnknown_80DDA48
-_080289E8:
- ldr r0, _080289F0
- ldr r3, _080289F4
- b _08028A1C
- .align 2, 0
-_080289F0: .4byte gUnknown_80DE754
-_080289F4: .4byte gUnknown_80DDA48
-_080289F8:
- ldr r0, _08028A04
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_08028A04: .4byte gUnknown_80DE7B8
-_08028A08:
- ldr r0, _08028A14
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_08028A14: .4byte gUnknown_80DE7E8
-_08028A18:
- ldr r0, _08028A40
-_08028A1A:
- ldr r3, _08028A44
-_08028A1C:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r4, 0x84
- lsls r4, 3
- adds r1, r4
-_08028A2E:
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x8
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028A40: .4byte gUnknown_80DE808
-_08028A44: .4byte gUnknown_80DDA64
-_08028A48:
- ldr r0, _08028A54
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_08028A54: .4byte gUnknown_80DE830
-_08028A58:
- ldr r0, _08028A64
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_08028A64: .4byte gUnknown_80DE864
-_08028A68:
- ldr r0, _08028A7C
-_08028A6A:
- ldr r2, [r6]
- movs r4, 0x84
- lsls r4, 3
- adds r2, r4
-_08028A72:
- ldr r3, _08028A80
- movs r1, 0
- bl sub_80141B4
- b _08028AF2
- .align 2, 0
-_08028A7C: .4byte gUnknown_80DE7E8
-_08028A80: .4byte 0x0000010d
-_08028A84:
- ldr r0, _08028AAC
- ldr r3, _08028AB0
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028AAC: .4byte gUnknown_80DE8B4
-_08028AB0: .4byte gUnknown_80DD970
-_08028AB4:
- ldr r0, _08028AD8
- ldr r3, _08028ADC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r4, 0x84
- lsls r4, 3
- adds r1, r4
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028AD8: .4byte gUnknown_80DE918
-_08028ADC: .4byte gUnknown_80DD970
-_08028AE0:
- ldr r0, _08028AFC
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _08028B00
- movs r1, 0
- bl sub_80141B4
-_08028AF2:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08028AFC: .4byte gUnknown_80DE93C
-_08028B00: .4byte 0x0000010d
- thumb_func_end sub_8028348
-
- .align 2,0
diff --git a/asm/wonder_mail_3.s b/asm/wonder_mail_3.s
index 3d5781b..797431c 100644
--- a/asm/wonder_mail_3.s
+++ b/asm/wonder_mail_3.s
@@ -5,360 +5,6 @@
.text
- thumb_func_start sub_802D2A8
-sub_802D2A8:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _0802D2C4
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x10
- bls _0802D2BA
- b _0802D59A
-_0802D2BA:
- lsls r0, 2
- ldr r1, _0802D2C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802D2C4: .4byte gUnknown_203B2F8
-_0802D2C8: .4byte _0802D2CC
- .align 2, 0
-_0802D2CC:
- .4byte _0802D310
- .4byte _0802D398
- .4byte _0802D59A
- .4byte _0802D3B4
- .4byte _0802D3C4
- .4byte _0802D3D4
- .4byte _0802D3E4
- .4byte _0802D3F4
- .4byte _0802D404
- .4byte _0802D498
- .4byte _0802D4C8
- .4byte _0802D4E4
- .4byte _0802D4F0
- .4byte _0802D4F8
- .4byte _0802D524
- .4byte _0802D558
- .4byte _0802D576
-_0802D310:
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_80968B0
- lsls r0, 24
- cmp r0, 0
- beq _0802D326
- movs r0, 0x3
- bl sub_802D1A0
- b _0802D59A
-_0802D326:
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_8096F50
- lsls r0, 24
- cmp r0, 0
- beq _0802D33C
- movs r0, 0x4
- bl sub_802D1A0
- b _0802D59A
-_0802D33C:
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x4
- bne _0802D36E
- adds r0, r1, 0
- adds r0, 0x10
- bl sub_8096C08
- lsls r0, 24
- cmp r0, 0
- beq _0802D36E
- bl sub_802DAA8
- lsls r0, 24
- cmp r0, 0
- beq _0802D366
- movs r0, 0x9
- bl sub_802D1A0
- b _0802D59A
-_0802D366:
- movs r0, 0x5
- bl sub_802D1A0
- b _0802D59A
-_0802D36E:
- bl sub_80969AC
- cmp r0, 0x7
- ble _0802D390
- bl sub_802DADC
- lsls r0, 24
- cmp r0, 0
- beq _0802D388
- movs r0, 0xA
- bl sub_802D1A0
- b _0802D59A
-_0802D388:
- movs r0, 0x6
- bl sub_802D1A0
- b _0802D59A
-_0802D390:
- movs r0, 0x8
- bl sub_802D1A0
- b _0802D59A
-_0802D398:
- bl sub_802D73C
- ldr r0, _0802D3AC
- ldr r1, _0802D3B0
- ldr r3, [r1]
- ldr r2, [r3, 0x70]
- movs r1, 0xAC
- lsls r1, 1
- adds r3, r1
- b _0802D4AA
- .align 2, 0
-_0802D3AC: .4byte gUnknown_80DFE4C
-_0802D3B0: .4byte gUnknown_203B2F8
-_0802D3B4:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D3C0
- b _0802D4D0
- .align 2, 0
-_0802D3C0: .4byte gUnknown_80DFE9C
-_0802D3C4:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D3D0
- b _0802D4D0
- .align 2, 0
-_0802D3D0: .4byte gUnknown_80DFED0
-_0802D3D4:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D3E0
- b _0802D4D0
- .align 2, 0
-_0802D3E0: .4byte gUnknown_80DFF2C
-_0802D3E4:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D3F0
- b _0802D4D0
- .align 2, 0
-_0802D3F0: .4byte gUnknown_80DFFA4
-_0802D3F4:
- ldr r1, [r4]
- movs r0, 0xC
- str r0, [r1, 0x4]
- ldr r0, _0802D400
- b _0802D4D0
- .align 2, 0
-_0802D400: .4byte gUnknown_80E0010
-_0802D404:
- ldr r4, _0802D45C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x8]
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_8096A78
- bl sub_8096C80
- bl sub_8096D24
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x4
- bne _0802D446
- bl sub_8096DD8
- ldr r1, [r4]
- ldr r1, [r1, 0xC]
- ldr r1, [r1, 0x14]
- movs r2, 0x28
- bl MemoryCopy8
- bl sub_8096DE8
- ldr r1, [r4]
- ldr r1, [r1, 0xC]
- ldr r1, [r1, 0x18]
- movs r2, 0x78
- bl MemoryCopy8
-_0802D446:
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2C
- beq _0802D46E
- cmp r0, 0x2C
- bgt _0802D460
- cmp r0, 0x2B
- beq _0802D46A
- b _0802D484
- .align 2, 0
-_0802D45C: .4byte gUnknown_203B2F8
-_0802D460:
- cmp r0, 0x2D
- beq _0802D472
- cmp r0, 0x2E
- beq _0802D47C
- b _0802D484
-_0802D46A:
- movs r0, 0x2A
- b _0802D474
-_0802D46E:
- movs r0, 0x2B
- b _0802D474
-_0802D472:
- movs r0, 0x2C
-_0802D474:
- movs r1, 0x1
- bl sub_8097418
- b _0802D484
-_0802D47C:
- movs r0, 0x2D
- movs r1, 0x1
- bl sub_8097418
-_0802D484:
- ldr r0, _0802D490
- ldr r1, [r0]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D494
- b _0802D4D0
- .align 2, 0
-_0802D490: .4byte gUnknown_203B2F8
-_0802D494: .4byte gUnknown_80E0074
-_0802D498:
- bl sub_802D690
- ldr r0, _0802D4C0
- ldr r1, _0802D4C4
- ldr r3, [r1]
- ldr r2, [r3, 0x74]
- movs r4, 0xAC
- lsls r4, 1
- adds r3, r4
-_0802D4AA:
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _0802D59A
- .align 2, 0
-_0802D4C0: .4byte gUnknown_80E0094
-_0802D4C4: .4byte gUnknown_203B2F8
-_0802D4C8:
- ldr r1, [r4]
- movs r0, 0xB
- str r0, [r1, 0x4]
- ldr r0, _0802D4DC
-_0802D4D0:
- ldr r3, _0802D4E0
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802D59A
- .align 2, 0
-_0802D4DC: .4byte gUnknown_80E0108
-_0802D4E0: .4byte 0x00000101
-_0802D4E4:
- movs r0, 0
- movs r1, 0
- movs r2, 0x4
- bl sub_802C4C8
- b _0802D59A
-_0802D4F0:
- movs r0, 0x1
- bl sub_802C640
- b _0802D59A
-_0802D4F8:
- bl sub_802C750
- ldr r0, _0802D520
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- movs r3, 0x8C
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0xCC
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x6C]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0802D59A
- .align 2, 0
-_0802D520: .4byte gUnknown_203B2F8
-_0802D524:
- bl sub_802C750
- ldr r4, _0802D554
- ldr r0, [r4]
- adds r0, 0x78
- movs r1, 0
- bl sub_8012EA4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC8
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r2
- movs r2, 0x4
- str r2, [sp]
- movs r2, 0x3
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0802D59A
- .align 2, 0
-_0802D554: .4byte gUnknown_203B2F8
-_0802D558:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8096AB4
- ldr r1, [r4]
- adds r1, 0x14
- bl sub_803B35C
- ldr r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x14]
- adds r0, 0x14
- bl sub_802DE84
- b _0802D59A
-_0802D576:
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- adds r1, 0x14
- bl sub_803B35C
- ldr r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x14]
- adds r0, 0x58
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- ldr r1, [r1, 0x18]
- str r1, [r0, 0x64]
- adds r0, 0x14
- bl sub_802DE84
-_0802D59A:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D2A8
-
thumb_func_start sub_802D5A4
sub_802D5A4:
push {r4-r7,lr}
diff --git a/asm/wonder_mail_3_mid.s b/asm/wonder_mail_3_mid.s
index 208805c..4aa1e3b 100644
--- a/asm/wonder_mail_3_mid.s
+++ b/asm/wonder_mail_3_mid.s
@@ -5,1334 +5,6 @@
.text
- thumb_func_start sub_802EF48
-sub_802EF48:
- push {r4,lr}
- ldr r4, _0802EF68
- movs r0, 0xA8
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_802EFEC
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0802EF68: .4byte gUnknown_203B30C
- thumb_func_end sub_802EF48
-
- thumb_func_start sub_802EF6C
-sub_802EF6C:
- push {lr}
- ldr r0, _0802EF84
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x5
- bhi _0802EFBA
- lsls r0, 2
- ldr r1, _0802EF88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802EF84: .4byte gUnknown_203B30C
-_0802EF88: .4byte _0802EF8C
- .align 2, 0
-_0802EF8C:
- .4byte _0802EFA4
- .4byte _0802EFA4
- .4byte _0802EFAA
- .4byte _0802EFB0
- .4byte _0802EFB6
- .4byte _0802EFBA
-_0802EFA4:
- bl sub_802F148
- b _0802EFBE
-_0802EFAA:
- bl sub_802F184
- b _0802EFBE
-_0802EFB0:
- bl sub_802F1E8
- b _0802EFBE
-_0802EFB6:
- movs r0, 0x3
- b _0802EFC0
-_0802EFBA:
- movs r0, 0x2
- b _0802EFC0
-_0802EFBE:
- movs r0, 0
-_0802EFC0:
- pop {r1}
- bx r1
- thumb_func_end sub_802EF6C
-
- thumb_func_start sub_802EFC4
-sub_802EFC4:
- ldr r0, _0802EFCC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_0802EFCC: .4byte gUnknown_203B30C
- thumb_func_end sub_802EFC4
-
- thumb_func_start sub_802EFD0
-sub_802EFD0:
- push {r4,lr}
- ldr r4, _0802EFE8
- ldr r0, [r4]
- cmp r0, 0
- beq _0802EFE2
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802EFE2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802EFE8: .4byte gUnknown_203B30C
- thumb_func_end sub_802EFD0
-
- thumb_func_start sub_802EFEC
-sub_802EFEC:
- push {lr}
- ldr r1, _0802F000
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802F004
- bl sub_802F088
- pop {r0}
- bx r0
- .align 2, 0
-_0802F000: .4byte gUnknown_203B30C
- thumb_func_end sub_802EFEC
-
- thumb_func_start sub_802F004
-sub_802F004:
- push {r4-r7,lr}
- ldr r4, _0802F03C
- ldr r0, [r4]
- adds r0, 0xF0
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x2
- bne _0802F044
- bl sub_802F108
- ldr r2, [r4]
- movs r0, 0x90
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802F040
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xB0
- bl sub_8012CAC
- b _0802F066
- .align 2, 0
-_0802F03C: .4byte gUnknown_203B30C
-_0802F040: .4byte gUnknown_80E03F4
-_0802F044:
- mov r12, r4
- ldr r4, _0802F080
- movs r2, 0
- movs r3, 0x3
-_0802F04C:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r2
- adds r1, 0xF0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0802F04C
-_0802F066:
- bl ResetUnusedInputStruct
- ldr r0, _0802F084
- ldr r0, [r0]
- adds r0, 0xF0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F080: .4byte gUnknown_80E03C4
-_0802F084: .4byte gUnknown_203B30C
- thumb_func_end sub_802F004
-
- thumb_func_start sub_802F088
-sub_802F088:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _0802F0A0
- ldr r0, [r6]
- ldr r5, [r0]
- cmp r5, 0x1
- beq _0802F0B6
- cmp r5, 0x1
- bgt _0802F0A4
- cmp r5, 0
- beq _0802F0AE
- b _0802F100
- .align 2, 0
-_0802F0A0: .4byte gUnknown_203B30C
-_0802F0A4:
- cmp r5, 0x2
- beq _0802F0BE
- cmp r5, 0x3
- beq _0802F0DA
- b _0802F100
-_0802F0AE:
- movs r0, 0
- bl sub_802CDD4
- b _0802F100
-_0802F0B6:
- movs r0, 0x1
- bl sub_802CED8
- b _0802F100
-_0802F0BE:
- bl sub_802CFD0
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x60
- adds r1, 0xB0
- movs r2, 0x3
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0802F100
-_0802F0DA:
- ldrb r0, [r0, 0x4]
- bl sub_803B344
- adds r4, r0, 0
- ldr r1, [r6]
- adds r1, 0x8
- bl sub_803B35C
- ldr r0, [r6]
- str r5, [r0, 0x8]
- adds r0, 0x4C
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, [r4, 0x18]
- str r1, [r0, 0x58]
- adds r0, 0x8
- bl sub_802DE84
-_0802F100:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802F088
-
- thumb_func_start sub_802F108
-sub_802F108:
- ldr r0, _0802F13C
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- mov r1, r12
- adds r1, 0xB0
- ldr r0, _0802F140
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _0802F144
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x3
- str r0, [r1]
- mov r0, r12
- adds r0, 0xC0
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- bx lr
- .align 2, 0
-_0802F13C: .4byte gUnknown_203B30C
-_0802F140: .4byte gUnknown_80E040C
-_0802F144: .4byte gUnknown_80D4970
- thumb_func_end sub_802F108
-
- thumb_func_start sub_802F148
-sub_802F148:
- push {lr}
- movs r0, 0x1
- bl sub_802CE5C
- cmp r0, 0x2
- beq _0802F174
- cmp r0, 0x2
- bcc _0802F17E
- cmp r0, 0x3
- bne _0802F17E
- bl sub_802CEBC
- ldr r1, _0802F170
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_802EFEC
- b _0802F17E
- .align 2, 0
-_0802F170: .4byte gUnknown_203B30C
-_0802F174:
- bl sub_802CF14
- movs r0, 0x5
- bl sub_802EFEC
-_0802F17E:
- pop {r0}
- bx r0
- thumb_func_end sub_802F148
-
- thumb_func_start sub_802F184
-sub_802F184:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_802CE5C
- ldr r4, _0802F1BC
- ldr r0, [r4]
- adds r0, 0x60
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802F1AA
- ldr r0, [r4]
- adds r0, 0x60
- mov r1, sp
- bl sub_8013114
-_0802F1AA:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0802F1C6
- cmp r0, 0x2
- bgt _0802F1C0
- cmp r0, 0x1
- beq _0802F1DA
- b _0802F1E0
- .align 2, 0
-_0802F1BC: .4byte gUnknown_203B30C
-_0802F1C0:
- cmp r0, 0x3
- beq _0802F1D2
- b _0802F1E0
-_0802F1C6:
- bl sub_802CF14
- movs r0, 0x4
- bl sub_802EFEC
- b _0802F1E0
-_0802F1D2:
- movs r0, 0x3
- bl sub_802EFEC
- b _0802F1E0
-_0802F1DA:
- movs r0, 0x1
- bl sub_802EFEC
-_0802F1E0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802F184
-
- thumb_func_start sub_802F1E8
-sub_802F1E8:
- push {lr}
- bl sub_802DEE0
- cmp r0, 0x1
- bls _0802F200
- cmp r0, 0x3
- bhi _0802F200
- bl sub_802DF24
- movs r0, 0x1
- bl sub_802EFEC
-_0802F200:
- pop {r0}
- bx r0
- thumb_func_end sub_802F1E8
-
- thumb_func_start sub_802F204
-sub_802F204:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _0802F28C
- movs r0, 0x84
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r6, [r0, 0x10]
- movs r6, 0
- str r6, [r0, 0xC]
- strb r4, [r0, 0x8]
- ldr r1, [r5]
- ldr r0, _0802F290
- ldr r1, [r1, 0x10]
- bl strcpy
- ldr r4, _0802F294
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_808DA34
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- movs r1, 0x14
- ldrsh r0, [r0, r1]
- bl GetDialogueSpriteDataPtr
- ldr r1, [r5]
- str r0, [r1, 0x14]
- str r6, [r1, 0x18]
- adds r1, 0x20
- strb r6, [r1]
- ldr r0, [r5]
- adds r0, 0x21
- strb r6, [r0]
- ldr r0, [r5]
- adds r0, 0x22
- strb r6, [r0]
- ldr r5, [r5]
- movs r0, 0x2
- strh r0, [r5, 0x1C]
- movs r0, 0x8
- strh r0, [r5, 0x1E]
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _0802F27C
- ldr r0, [r0, 0x4]
- str r0, [r5, 0x18]
-_0802F27C:
- movs r0, 0
- bl sub_802F2E8
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0802F28C: .4byte gUnknown_203B310
-_0802F290: .4byte gUnknown_202E5D8
-_0802F294: .4byte gAvailablePokemonNames
- thumb_func_end sub_802F204
-
- thumb_func_start sub_802F298
-sub_802F298:
- push {lr}
- ldr r0, _0802F2AC
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x5
- beq _0802F2B0
- cmp r0, 0x9
- bne _0802F2B6
- movs r0, 0x3
- b _0802F2BC
- .align 2, 0
-_0802F2AC: .4byte gUnknown_203B310
-_0802F2B0:
- bl sub_802F6FC
- b _0802F2BA
-_0802F2B6:
- bl sub_802F718
-_0802F2BA:
- movs r0, 0
-_0802F2BC:
- pop {r1}
- bx r1
- thumb_func_end sub_802F298
-
- thumb_func_start sub_802F2C0
-sub_802F2C0:
- push {r4,lr}
- ldr r4, _0802F2E4
- ldr r0, [r4]
- cmp r0, 0
- beq _0802F2DE
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _0802F2D4
- bl CloseFile
-_0802F2D4:
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802F2DE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F2E4: .4byte gUnknown_203B310
- thumb_func_end sub_802F2C0
-
- thumb_func_start sub_802F2E8
-sub_802F2E8:
- push {lr}
- ldr r1, _0802F2FC
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802F300
- bl HandleMissionReward
- pop {r0}
- bx r0
- .align 2, 0
-_0802F2FC: .4byte gUnknown_203B310
- thumb_func_end sub_802F2E8
-
- thumb_func_start sub_802F300
-sub_802F300:
- push {r4-r7,lr}
- ldr r4, _0802F350
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0
- bne _0802F348
- adds r0, r1, 0
- adds r0, 0x24
- bl sub_8006518
- mov r12, r4
- ldr r4, _0802F354
- movs r3, 0
- movs r2, 0x3
-_0802F31C:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0x24
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0802F31C
- bl ResetUnusedInputStruct
- ldr r0, _0802F350
- ldr r0, [r0]
- adds r0, 0x24
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0802F348:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F350: .4byte gUnknown_203B310
-_0802F354: .4byte gUnknown_80E041C
- thumb_func_end sub_802F300
-
- thumb_func_start HandleMissionReward
-HandleMissionReward:
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r1, _0802F374
- ldr r0, [r1]
- ldr r0, [r0]
- adds r6, r1, 0
- cmp r0, 0x9
- bls _0802F36A
- b _0802F6E4
-_0802F36A:
- lsls r0, 2
- ldr r1, _0802F378
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802F374: .4byte gUnknown_203B310
-_0802F378: .4byte _0802F37C
- .align 2, 0
-_0802F37C:
- .4byte _0802F3A4
- .4byte _0802F3E8
- .4byte _0802F444
- .4byte _0802F494
- .4byte _0802F524
- .4byte _0802F5CC
- .4byte _0802F614
- .4byte _0802F630
- .4byte _0802F6A4
- .4byte _0802F6E4
-_0802F3A4:
- ldr r2, [r6]
- ldr r0, [r2, 0x10]
- ldr r1, [r0, 0x18]
- cmp r1, 0
- bne _0802F3B6
- movs r0, 0x2
- bl sub_802F2E8
- b _0802F6E4
-_0802F3B6:
- ldr r0, _0802F3D4
- str r1, [r0]
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0802F3E0
- ldr r0, _0802F3D8
- adds r2, 0x14
- ldr r3, _0802F3DC
- movs r1, 0
- bl sub_80141B4
- ldr r1, [r6]
- movs r0, 0x1
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F3D4: .4byte gUnknown_202DE30
-_0802F3D8: .4byte gUnknown_80E0434
-_0802F3DC: .4byte 0x0000010d
-_0802F3E0:
- movs r0, 0x1
- bl sub_802F2E8
- b _0802F6E4
-_0802F3E8:
- movs r0, 0xCB
- bl PlaySound
- ldr r0, _0802F414
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- ldr r0, [r0, 0x18]
- bl AddToTeamMoney
- movs r0, 0
- bl sub_808D544
- cmp r0, 0x1
- bgt _0802F420
- ldr r0, _0802F418
- ldr r3, _0802F41C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802F42C
- .align 2, 0
-_0802F414: .4byte gUnknown_203B310
-_0802F418: .4byte gUnknown_80E045C
-_0802F41C: .4byte 0x00000101
-_0802F420:
- ldr r0, _0802F438
- ldr r3, _0802F43C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802F42C:
- ldr r0, _0802F440
- ldr r1, [r0]
- movs r0, 0x2
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F438: .4byte gUnknown_80E0484
-_0802F43C: .4byte 0x00000101
-_0802F440: .4byte gUnknown_203B310
-_0802F444:
- ldr r0, [r6]
- ldr r0, [r0, 0x10]
- adds r1, r0, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0
- bne _0802F45A
- movs r0, 0x4
- bl sub_802F2E8
- b _0802F6E4
-_0802F45A:
- ldr r0, _0802F480
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8092578
- ldr r2, [r6]
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0802F48C
- ldr r0, _0802F484
- adds r2, 0x14
- ldr r3, _0802F488
- movs r1, 0
- bl sub_80141B4
- ldr r1, [r6]
- movs r0, 0x3
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F480: .4byte gUnknown_202E628
-_0802F484: .4byte gUnknown_80E04B4
-_0802F488: .4byte 0x0000010d
-_0802F48C:
- movs r0, 0x3
- bl sub_802F2E8
- b _0802F6E4
-_0802F494:
- ldr r4, _0802F4B4
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- adds r0, 0x20
- ldrb r0, [r0]
- bl GetFriendAreaStatus
- lsls r0, 24
- cmp r0, 0
- beq _0802F4BC
- movs r0, 0xFA
- lsls r0, 2
- bl AddToTeamMoney
- ldr r0, _0802F4B8
- b _0802F4DA
- .align 2, 0
-_0802F4B4: .4byte gUnknown_203B310
-_0802F4B8: .4byte gUnknown_80E04F4
-_0802F4BC:
- movs r0, 0
- bl sub_808D544
- cmp r0, 0x1
- bgt _0802F4F0
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- adds r0, 0x20
- ldrb r0, [r0]
- bl UnlockFriendArea
- movs r0, 0xCE
- bl PlaySound
- ldr r0, _0802F4E8
-_0802F4DA:
- ldr r3, _0802F4EC
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802F50E
- .align 2, 0
-_0802F4E8: .4byte gUnknown_80E05C0
-_0802F4EC: .4byte 0x00000101
-_0802F4F0:
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- adds r0, 0x20
- ldrb r0, [r0]
- bl UnlockFriendArea
- movs r0, 0xCE
- bl PlaySound
- ldr r0, _0802F518
- ldr r3, _0802F51C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802F50E:
- ldr r0, _0802F520
- ldr r1, [r0]
- movs r0, 0x4
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F518: .4byte gUnknown_80E05FC
-_0802F51C: .4byte 0x00000101
-_0802F520: .4byte gUnknown_203B310
-_0802F524:
- ldr r0, [r6]
- ldr r0, [r0, 0x10]
- ldrb r2, [r0, 0x1C]
- cmp r2, 0
- beq _0802F628
- ldr r0, [r0, 0x18]
- cmp r0, 0
- bne _0802F620
- lsls r2, 16
- ldr r1, _0802F564
- ldr r0, [sp, 0xC]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0xC]
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- bl IsThrowableItem
- lsls r0, 24
- cmp r0, 0
- beq _0802F56C
- ldr r0, [r6]
- ldr r0, [r0, 0x10]
- ldrb r1, [r0, 0x1F]
- lsls r1, 8
- ldr r2, _0802F568
- ldr r0, [sp, 0xC]
- ands r0, r2
- orrs r0, r1
- b _0802F572
- .align 2, 0
-_0802F564: .4byte 0xff00ffff
-_0802F568: .4byte 0xffff00ff
-_0802F56C:
- ldr r1, _0802F5B4
- ldr r0, [sp, 0xC]
- ands r0, r1
-_0802F572:
- str r0, [sp, 0xC]
- ldr r1, _0802F5B8
- ldr r0, [sp, 0xC]
- ands r0, r1
- movs r2, 0x1
- orrs r0, r2
- str r0, [sp, 0xC]
- movs r1, 0
- str r1, [sp]
- mov r0, sp
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x8]
- ldr r0, _0802F5BC
- add r1, sp, 0xC
- mov r2, sp
- bl sub_8090E14
- ldr r4, _0802F5C0
- ldr r2, [r4]
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0802F620
- ldr r0, _0802F5C4
- adds r2, 0x14
- ldr r3, _0802F5C8
- movs r1, 0
- bl sub_80141B4
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F5B4: .4byte 0xffff00ff
-_0802F5B8: .4byte 0xffffff00
-_0802F5BC: .4byte gUnknown_202DEA8
-_0802F5C0: .4byte gUnknown_203B310
-_0802F5C4: .4byte gUnknown_80E0640
-_0802F5C8: .4byte 0x0000010d
-_0802F5CC:
- ldr r0, [r6]
- ldr r2, [r0, 0x10]
- adds r1, r2, 0
- adds r1, 0x1C
- ldr r3, [r0, 0xC]
- adds r1, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _0802F5E6
- movs r0, 0x6
- bl sub_802F2E8
- b _0802F6E4
-_0802F5E6:
- cmp r3, 0
- bne _0802F5FC
- ldr r0, [r2, 0x18]
- cmp r0, 0
- bne _0802F5FC
- ldrb r1, [r2, 0x1C]
- ldrb r2, [r2, 0x1F]
- movs r0, 0
- bl sub_801B60C
- b _0802F6E4
-_0802F5FC:
- ldr r1, [r6]
- ldr r2, [r1, 0x10]
- adds r0, r2, 0
- adds r0, 0x1C
- ldr r1, [r1, 0xC]
- adds r0, r1
- ldrb r1, [r0]
- ldrb r2, [r2, 0x1F]
- movs r0, 0x1
- bl sub_801B60C
- b _0802F6E4
-_0802F614:
- ldr r1, [r6]
- ldr r0, [r1, 0xC]
- adds r0, 0x1
- str r0, [r1, 0xC]
- cmp r0, 0x2
- bgt _0802F628
-_0802F620:
- movs r0, 0x5
- bl sub_802F2E8
- b _0802F6E4
-_0802F628:
- movs r0, 0x7
- bl sub_802F2E8
- b _0802F6E4
-_0802F630:
- adds r5, r6, 0
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- bne _0802F644
- movs r0, 0x9
- bl sub_802F2E8
- b _0802F6E4
-_0802F644:
- bl GetRescueTeamRank
- ldr r1, [r5]
- strb r0, [r1, 0x9]
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- ldr r0, [r0, 0x24]
- bl AddToTeamRankPts
- movs r0, 0xCB
- bl PlaySound
- ldr r4, [r5]
- bl GetRescueTeamRank
- ldrb r1, [r4, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _0802F672
- ldr r1, [r5]
- movs r0, 0x8
- b _0802F676
-_0802F672:
- ldr r1, [r6]
- movs r0, 0x9
-_0802F676:
- str r0, [r1, 0x4]
- ldr r1, _0802F694
- ldr r0, _0802F698
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- ldr r0, [r0, 0x24]
- str r0, [r1]
- ldr r0, _0802F69C
- ldr r3, _0802F6A0
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802F6E4
- .align 2, 0
-_0802F694: .4byte gUnknown_202DE30
-_0802F698: .4byte gUnknown_203B310
-_0802F69C: .4byte gUnknown_80E0670
-_0802F6A0: .4byte 0x00000101
-_0802F6A4:
- movs r0, 0xC9
- bl PlaySound
- ldr r0, _0802F6EC
- ldr r1, [r0]
- movs r0, 0x9
- str r0, [r1, 0x4]
- ldrb r0, [r1, 0x9]
- bl GetTeamRankString
- adds r1, r0, 0
- ldr r4, _0802F6F0
- adds r0, r4, 0
- bl strcpy
- bl GetRescueTeamRank
- lsls r0, 24
- lsrs r0, 24
- bl GetTeamRankString
- adds r1, r0, 0
- adds r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r0, _0802F6F4
- ldr r3, _0802F6F8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802F6E4:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F6EC: .4byte gUnknown_203B310
-_0802F6F0: .4byte gUnknown_202E038
-_0802F6F4: .4byte gUnknown_80E06A8
-_0802F6F8: .4byte 0x00000101
- thumb_func_end HandleMissionReward
-
- thumb_func_start sub_802F6FC
-sub_802F6FC:
- push {lr}
- bl sub_801B6AC
- cmp r0, 0x1
- bls _0802F714
- cmp r0, 0x3
- bhi _0802F714
- bl sub_801B72C
- movs r0, 0x6
- bl sub_802F2E8
-_0802F714:
- pop {r0}
- bx r0
- thumb_func_end sub_802F6FC
-
- thumb_func_start sub_802F718
-sub_802F718:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802F730
- ldr r0, _0802F738
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_802F2E8
-_0802F730:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0802F738: .4byte gUnknown_203B310
- thumb_func_end sub_802F718
-
- thumb_func_start sub_802F73C
-sub_802F73C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- lsls r3, 24
- lsrs r6, r3, 24
- bl sub_802FCF0
- lsls r0, 24
- cmp r0, 0
- beq _0802F75A
- movs r0, 0
- b _0802F836
-_0802F75A:
- ldr r4, _0802F7AC
- ldr r0, [r4]
- cmp r0, 0
- bne _0802F76E
- movs r0, 0xAE
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0802F76E:
- ldr r0, [r4]
- adds r0, 0xB8
- strb r6, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xF0
- str r5, [r1]
- adds r2, r0, 0
- adds r2, 0xF4
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0xF8
- adds r1, r0, r1
- str r1, [r2]
- adds r0, 0xF8
- bl sub_8006518
- cmp r6, 0
- beq _0802F7B4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xF0
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0xF8
- ldr r0, _0802F7B0
- b _0802F7C8
- .align 2, 0
-_0802F7AC: .4byte gUnknown_203B314
-_0802F7B0: .4byte gUnknown_80E072C
-_0802F7B4:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xF0
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0xF8
- ldr r0, _0802F840
-_0802F7C8:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r4, _0802F844
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xF4
- ldr r1, [r0]
- movs r3, 0xAC
- lsls r3, 1
- adds r0, r2, r3
- str r0, [r1, 0x14]
- cmp r7, 0
- beq _0802F7FC
- adds r0, r2, 0
- adds r0, 0xF0
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- subs r3, 0x58
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r7]
- str r0, [r1]
-_0802F7FC:
- ldr r0, [r4]
- adds r0, 0xF4
- ldr r0, [r0]
- mov r1, r8
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0xF8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r4]
- adds r4, 0xBC
- bl sub_802FBF4
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r5, 0
- bl sub_8013818
- bl sub_802F9C0
- bl sub_802FA50
- movs r0, 0x1
-_0802F836:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802F840: .4byte gUnknown_80E0714
-_0802F844: .4byte gUnknown_203B314
- thumb_func_end sub_802F73C
-
- thumb_func_start sub_802F848
-sub_802F848:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r1, _0802F858
- ldr r0, [r1]
- b _0802F884
- .align 2, 0
-_0802F858: .4byte gUnknown_203B314
-_0802F85C:
- ldr r2, [r1]
- lsls r0, r3, 1
- adds r0, r2, r0
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, r4
- bne _0802F880
- adds r0, r2, 0
- adds r0, 0xBC
- adds r1, r3, 0
- bl sub_8013878
- bl sub_802F9C0
- bl sub_802FA50
- movs r0, 0x1
- b _0802F89A
-_0802F880:
- adds r3, 0x1
- adds r0, r2, 0
-_0802F884:
- adds r0, 0xDE
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r3, r0
- blt _0802F85C
- ldr r0, [r1]
- adds r0, 0xBC
- movs r1, 0
- bl sub_8013878
- movs r0, 0
-_0802F89A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802F848
-
- thumb_func_start sub_802F8A0
-sub_802F8A0:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _0802F8BC
- ldr r0, _0802F8B8
- ldr r0, [r0]
- adds r0, 0xBC
- bl sub_8013660
- movs r0, 0
- b _0802F904
- .align 2, 0
-_0802F8B8: .4byte gUnknown_203B314
-_0802F8BC:
- ldr r4, _0802F8D8
- ldr r0, [r4]
- adds r0, 0xBC
- bl GetKeyPress
- cmp r0, 0x1
- beq _0802F8DC
- cmp r0, 0x2
- bne _0802F8E6
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0802F904
- .align 2, 0
-_0802F8D8: .4byte gUnknown_203B314
-_0802F8DC:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0802F904
-_0802F8E6:
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802F8FA
- movs r0, 0
- b _0802F904
-_0802F8FA:
- bl sub_802F9C0
- bl sub_802FA50
- movs r0, 0x1
-_0802F904:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802F8A0
-
- thumb_func_start sub_802F90C
-sub_802F90C:
- ldr r0, _0802F934
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xDA
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0xD4
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r0, r1
- lsls r0, 1
- adds r0, r2, r0
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0802F934: .4byte gUnknown_203B314
- thumb_func_end sub_802F90C
-
- thumb_func_start sub_802F938
-sub_802F938:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_802FBF4
- adds r1, r0, 0
- ldr r5, _0802F970
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0xDE
- strh r1, [r2]
- adds r0, 0xBC
- bl sub_8013984
- bl sub_802F9C0
- bl sub_802FA50
- cmp r4, 0
- beq _0802F96A
- ldr r0, [r5]
- adds r0, 0xBC
- bl AddMenuCursorSprite
-_0802F96A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F970: .4byte gUnknown_203B314
- thumb_func_end sub_802F938
-
- thumb_func_start sub_802F974
-sub_802F974:
- push {r4,r5,lr}
- ldr r4, _0802F9B8
- ldr r2, [r4]
- cmp r2, 0
- beq _0802F9B2
- adds r0, r2, 0
- adds r0, 0xF0
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0xF8
- ldr r0, _0802F9BC
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0xF8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802F9B2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F9B8: .4byte gUnknown_203B314
-_0802F9BC: .4byte gUnknown_80E06FC
- thumb_func_end sub_802F974
-
thumb_func_start sub_802F9C0
sub_802F9C0:
push {r4,r5,lr}
diff --git a/asm/wonder_mail_4.s b/asm/wonder_mail_4.s
index c946c5f..ea27a3f 100644
--- a/asm/wonder_mail_4.s
+++ b/asm/wonder_mail_4.s
@@ -5,263 +5,6 @@
.text
- thumb_func_start sub_80306A8
-sub_80306A8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- mov r8, r3
- bl sub_8030C20
- lsls r0, 24
- cmp r0, 0
- beq _080306C4
- movs r0, 0
- b _08030756
-_080306C4:
- ldr r6, _08030760
- movs r0, 0xC4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- str r4, [r0, 0x20]
- str r5, [r0, 0x58]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x60
- adds r1, r0, r1
- str r1, [r0, 0x5C]
- adds r0, 0x60
- bl sub_8006518
- ldr r1, [r6]
- ldr r2, [r1, 0x58]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x60
- ldr r0, _08030764
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- ldr r1, [r2, 0x5C]
- adds r0, r2, 0
- adds r0, 0xC0
- str r0, [r1, 0x14]
- cmp r7, 0
- beq _0803071E
- ldr r1, [r2, 0x58]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x68
- adds r1, r0
- ldr r0, [r7]
- str r0, [r1]
-_0803071E:
- ldr r0, [r6]
- ldr r0, [r0, 0x5C]
- mov r1, r8
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r6]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r6]
- adds r4, 0x24
- bl sub_8030A74
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r5, 0
- bl sub_8013818
- bl sub_80308A0
- bl sub_803092C
- movs r0, 0x1
-_08030756:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08030760: .4byte gUnknown_203B320
-_08030764: .4byte gUnknown_80E0854
- thumb_func_end sub_80306A8
-
- thumb_func_start sub_8030768
-sub_8030768:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _08030784
- ldr r0, _08030780
- ldr r0, [r0]
- adds r0, 0x24
- bl sub_8013660
- movs r0, 0
- b _080307E6
- .align 2, 0
-_08030780: .4byte gUnknown_203B320
-_08030784:
- ldr r0, _0803079C
- ldr r0, [r0]
- adds r0, 0x24
- bl GetKeyPress
- cmp r0, 0x2
- beq _080307AE
- cmp r0, 0x2
- bgt _080307A0
- cmp r0, 0x1
- beq _080307B8
- b _080307C2
- .align 2, 0
-_0803079C: .4byte gUnknown_203B320
-_080307A0:
- cmp r0, 0x4
- bne _080307C2
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _080307E6
-_080307AE:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _080307E6
-_080307B8:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _080307E6
-_080307C2:
- ldr r0, _080307D8
- ldr r0, [r0]
- adds r0, 0x24
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _080307DC
- movs r0, 0
- b _080307E6
- .align 2, 0
-_080307D8: .4byte gUnknown_203B320
-_080307DC:
- bl sub_80308A0
- bl sub_803092C
- movs r0, 0x1
-_080307E6:
- pop {r1}
- bx r1
- thumb_func_end sub_8030768
-
- thumb_func_start sub_80307EC
-sub_80307EC:
- ldr r0, _0803080C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- movs r3, 0x3C
- ldrsh r1, [r2, r3]
- adds r0, r1
- adds r2, r0
- ldrb r0, [r2]
- bx lr
- .align 2, 0
-_0803080C: .4byte gUnknown_203B320
- thumb_func_end sub_80307EC
-
- thumb_func_start sub_8030810
-sub_8030810:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8030A74
- adds r1, r0, 0
- ldr r5, _08030848
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x46
- strh r1, [r2]
- adds r0, 0x24
- bl sub_8013984
- bl sub_80308A0
- bl sub_803092C
- cmp r4, 0
- beq _08030842
- ldr r0, [r5]
- adds r0, 0x24
- bl AddMenuCursorSprite
-_08030842:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08030848: .4byte gUnknown_203B320
- thumb_func_end sub_8030810
-
- thumb_func_start sub_803084C
-sub_803084C:
- push {r4,r5,lr}
- ldr r4, _0803088C
- ldr r2, [r4]
- cmp r2, 0
- beq _08030886
- ldr r0, [r2, 0x58]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x60
- ldr r0, _08030890
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08030886:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803088C: .4byte gUnknown_203B320
-_08030890: .4byte gUnknown_80E083C
- thumb_func_end sub_803084C
-
- thumb_func_start sub_8030894
-sub_8030894:
- ldr r0, _0803089C
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0803089C: .4byte gUnknown_203B320
- thumb_func_end sub_8030894
-
thumb_func_start sub_80308A0
sub_80308A0:
push {r4,lr}