diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/code_807001C.s | 2807 | ||||
-rw-r--r-- | asm/code_80848F0.s | 2076 | ||||
-rw-r--r-- | asm/main_menu_1.s | 167 | ||||
-rw-r--r-- | asm/memory_1.s | 2 | ||||
-rw-r--r-- | asm/wonder_mail.s | 941 | ||||
-rw-r--r-- | asm/wonder_mail_3.s | 354 | ||||
-rw-r--r-- | asm/wonder_mail_3_mid.s | 1328 | ||||
-rw-r--r-- | asm/wonder_mail_4.s | 257 |
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} |