diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-12-17 13:17:58 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 13:17:58 -0600 |
commit | 096de8d9b2ffd90c52e790296bfd7c5436d45ca3 (patch) | |
tree | 9c5af2e04dea05221c71946a5dfc06471f77801d /asm/code_8027C84.s | |
parent | bc504264f1e54b3c1e482710c592e5549828bfe1 (diff) | |
parent | f90f3affeb9b0a66aa7df68f5fdecd692033faf9 (diff) |
Merge pull request #12 from SethBarberee/master
Merge work from SethBarberee/pmd-red into pret.
Diffstat (limited to 'asm/code_8027C84.s')
-rw-r--r-- | asm/code_8027C84.s | 1737 |
1 files changed, 1737 insertions, 0 deletions
diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s new file mode 100644 index 0000000..90efd22 --- /dev/null +++ b/asm/code_8027C84.s @@ -0,0 +1,1737 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8027CA0 +sub_8027CA0: + push {lr} + movs r0, 0x1 + bl sub_801EF38 + cmp r0, 0x4 + bhi _08027CFA + lsls r0, 2 + ldr r1, _08027CB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08027CB8: .4byte _08027CBC + .align 2, 0 +_08027CBC: + .4byte _08027CFA + .4byte _08027CFA + .4byte _08027CF0 + .4byte _08027CD0 + .4byte _08027CD0 +_08027CD0: + bl sub_801F194 + ldr r1, _08027CEC + ldr r1, [r1] + str r0, [r1, 0x20] + lsls r0, 3 + adds r0, r1, r0 + ldrh r0, [r0, 0x2A] + strh r0, [r1, 0x24] + movs r0, 0x10 + bl sub_8027184 + b _08027CFA + .align 2, 0 +_08027CEC: .4byte gUnknown_203B2BC +_08027CF0: + bl sub_801F214 + movs r0, 0x2 + bl sub_8027184 +_08027CFA: + pop {r0} + bx r0 + thumb_func_end sub_8027CA0 + + thumb_func_start sub_8027D00 +sub_8027D00: + push {lr} + bl sub_801F890 + cmp r0, 0x1 + bls _08027D18 + cmp r0, 0x3 + bhi _08027D18 + bl sub_801F8D0 + movs r0, 0xF + bl sub_8027184 +_08027D18: + pop {r0} + bx r0 + thumb_func_end sub_8027D00 + + thumb_func_start sub_8027D1C +sub_8027D1C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08027D34 + ldr r0, _08027D3C + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_8027184 +_08027D34: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08027D3C: .4byte gUnknown_203B2BC + thumb_func_end sub_8027D1C + + thumb_func_start sub_8027D40 +sub_8027D40: + push {r4-r6,lr} + sub sp, 0x14 + adds r6, r0, 0 + adds r5, r1, 0 + bl sub_8008C54 + adds r0, r6, 0 + bl sub_80073B8 + add r4, sp, 0x10 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8090B64 + movs r5, 0 + str r5, [sp, 0x4] + add r0, sp, 0x4 + strb r5, [r0, 0x4] + adds r1, r0, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + strb r0, [r4] + ldr r0, _08027D94 + adds r1, r4, 0 + add r2, sp, 0x4 + bl sub_8090E14 + ldr r2, _08027D98 + str r5, [sp] + movs r0, 0x4 + movs r1, 0x3 + adds r3, r6, 0 + bl sub_8014FF0 + adds r0, r6, 0 + bl sub_80073E0 + add sp, 0x14 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08027D94: .4byte gUnknown_202DE58 +_08027D98: .4byte gUnknown_80DD958 + thumb_func_end sub_8027D40 + + thumb_func_start sub_8027D9C +sub_8027D9C: + push {lr} + adds r1, r0, 0 + ldrb r0, [r1, 0x2] + cmp r0, 0 + bne _08027DC0 + movs r2, 0 + ldrb r0, [r1, 0x4] + cmp r0, 0x41 + bne _08027DB0 + movs r2, 0x1 +_08027DB0: + cmp r2, 0 + beq _08027DC4 + movs r0, 0x8 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + bne _08027DC4 +_08027DC0: + movs r0, 0 + b _08027DC6 +_08027DC4: + movs r0, 0x1 +_08027DC6: + pop {r1} + bx r1 + thumb_func_end sub_8027D9C + + thumb_func_start sub_8027DCC +sub_8027DCC: + push {r4,lr} + adds r4, r0, 0 + bl sub_808D3BC + cmp r0, r4 + beq _08027E0E + bl sub_808D3F8 + cmp r0, r4 + beq _08027E0E + ldrb r0, [r4, 0x2] + cmp r0, 0 + bne _08027E0E + movs r1, 0 + ldrb r0, [r4, 0x4] + cmp r0, 0x41 + bne _08027DF0 + movs r1, 0x1 +_08027DF0: + cmp r1, 0 + beq _08027E00 + movs r0, 0x8 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _08027E0E +_08027E00: + adds r0, r4, 0 + bl sub_8027E18 + cmp r0, 0x3 + beq _08027E0E + movs r0, 0x1 + b _08027E10 +_08027E0E: + movs r0, 0 +_08027E10: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8027DCC + + thumb_func_start sub_8027E18 +sub_8027E18: + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x28 + ldrb r0, [r0] + cmp r0, 0 + bne _08027E28 + movs r0, 0 + b _08027E46 +_08027E28: + bl sub_8090A34 + cmp r0, 0x13 + bgt _08027E34 + movs r0, 0x1 + b _08027E46 +_08027E34: + adds r0, r4, 0 + bl sub_8027E4C + lsls r0, 24 + cmp r0, 0 + bne _08027E44 + movs r0, 0x3 + b _08027E46 +_08027E44: + movs r0, 0x2 +_08027E46: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8027E18 + + thumb_func_start sub_8027E4C +sub_8027E4C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r5, 0 + adds r4, 0x28 + ldrb r0, [r4] + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + beq _08027E88 + ldrb r0, [r4] + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _08027E94 + ldr r0, _08027E8C + ldr r1, [r0] + ldrb r0, [r4] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r1, [r1] + adds r0, r5, 0 + adds r0, 0x29 + ldrb r0, [r0] + adds r1, r0 + ldr r0, _08027E90 + cmp r1, r0 + ble _08027EA8 +_08027E88: + movs r0, 0 + b _08027EAA + .align 2, 0 +_08027E8C: .4byte gUnknown_203B460 +_08027E90: .4byte 0x000003e7 +_08027E94: + ldr r0, _08027EB0 + ldr r1, [r0] + ldrb r0, [r4] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r1, [r1] + ldr r0, _08027EB4 + cmp r1, r0 + bhi _08027E88 +_08027EA8: + movs r0, 0x1 +_08027EAA: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08027EB0: .4byte gUnknown_203B460 +_08027EB4: .4byte 0x000003e6 + thumb_func_end sub_8027E4C + + thumb_func_start sub_8027EB8 +sub_8027EB8: + push {r4,lr} + ldr r4, _08027ED4 + ldr r0, [r4] + ldr r0, [r0, 0x18] + bl sub_8027E18 + cmp r0, 0x1 + beq _08027ED8 + cmp r0, 0x1 + bcc _08027F7C + cmp r0, 0x2 + beq _08027F0C + b _08027F7C + .align 2, 0 +_08027ED4: .4byte gUnknown_203B2BC +_08027ED8: + ldr r0, _08027F08 + bl sub_8011988 + ldr r0, [r4] + adds r0, 0x14 + bl sub_8091274 + bl sub_80910B4 + ldr r0, [r4] + movs r1, 0 + strb r1, [r0, 0x14] + ldr r0, [r4] + strb r1, [r0, 0x15] + ldr r1, [r4] + movs r2, 0x8 + ldrsh r0, [r1, r2] + adds r1, 0x14 + bl sub_808D800 + movs r0, 0x6 + bl sub_8027184 + b _08027F82 + .align 2, 0 +_08027F08: .4byte 0x0000014d +_08027F0C: + ldr r0, _08027F38 + bl sub_8011988 + ldr r0, [r4] + ldrb r0, [r0, 0x14] + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _08027F40 + ldr r0, _08027F3C + ldr r1, [r0] + ldr r2, [r4] + ldrb r0, [r2, 0x14] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + ldrb r2, [r2, 0x15] + adds r0, r2 + b _08027F52 + .align 2, 0 +_08027F38: .4byte 0x0000014d +_08027F3C: .4byte gUnknown_203B460 +_08027F40: + ldr r0, _08027F74 + ldr r1, [r0] + ldr r0, [r4] + ldrb r0, [r0, 0x14] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + adds r0, 0x1 +_08027F52: + strh r0, [r1] + ldr r1, _08027F78 + ldr r0, [r1] + movs r2, 0 + strb r2, [r0, 0x14] + ldr r0, [r1] + strb r2, [r0, 0x15] + ldr r1, [r1] + movs r2, 0x8 + ldrsh r0, [r1, r2] + adds r1, 0x14 + bl sub_808D800 + movs r0, 0x7 + bl sub_8027184 + b _08027F82 + .align 2, 0 +_08027F74: .4byte gUnknown_203B460 +_08027F78: .4byte gUnknown_203B2BC +_08027F7C: + movs r0, 0x2 + bl sub_8027184 +_08027F82: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8027EB8 + + thumb_func_start sub_8027F88 +sub_8027F88: + push {r4-r6,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _08028050 + movs r4, 0xA9 + lsls r4, 3 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 + ldr r1, [r5] + ldr r2, _08028054 + adds r0, r1, r2 + movs r6, 0 + str r6, [r0] + movs r3, 0x86 + lsls r3, 2 + adds r1, r3 + movs r0, 0xFF + strb r0, [r1] + ldr r0, [r5] + ldr r1, _08028058 + adds r0, r1 + ldr r1, _0802805C + strh r1, [r0] + ldr r0, _08028060 + movs r4, 0x98 + lsls r4, 1 + adds r1, r4, 0 + bl sub_808D8E0 + adds r0, r4, 0 + bl sub_808D994 + adds r1, r0, 0 + ldr r0, _08028064 + bl strcpy + adds r0, r4, 0 + bl sub_808DDD0 + ldr r2, [r5] + movs r3, 0x84 + lsls r3, 3 + adds r1, r2, r3 + str r0, [r1] + adds r3, 0x4 + adds r1, r2, r3 + ldr r0, [r0, 0x4] + str r0, [r1] + ldr r0, _08028068 + adds r2, r0 + strb r6, [r2] + ldr r0, [r5] + ldr r1, _0802806C + adds r0, r1 + strb r6, [r0] + ldr r0, [r5] + ldr r2, _08028070 + adds r0, r2 + strb r6, [r0] + ldr r1, [r5] + adds r3, 0x4 + adds r2, r1, r3 + movs r0, 0x2 + strh r0, [r2] + ldr r0, _08028074 + adds r1, r0 + movs r0, 0x8 + strh r0, [r1] + movs r2, 0 + movs r3, 0 + adds r1, r5, 0 +_0802802E: + ldr r0, [r5] + adds r0, 0x8 + adds r0, r2 + strb r3, [r0] + adds r2, 0x1 + cmp r2, 0x35 + ble _0802802E + ldr r1, [r1] + movs r0, 0x3D + str r0, [r1] + movs r0, 0 + bl sub_8028B04 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08028050: .4byte gUnknown_203B2C0 +_08028054: .4byte 0x0000053c +_08028058: .4byte 0x00000544 +_0802805C: .4byte 0x0000ffff +_08028060: .4byte gUnknown_202E5D8 +_08028064: .4byte gUnknown_202DF98 +_08028068: .4byte 0x0000042c +_0802806C: .4byte 0x0000042d +_08028070: .4byte 0x0000042e +_08028074: .4byte 0x0000042a + thumb_func_end sub_8027F88 + + thumb_func_start sub_8028078 +sub_8028078: + push {lr} + ldr r0, _08028090 + ldr r0, [r0] + ldr r0, [r0, 0x4] + cmp r0, 0x3C + bls _08028086 + b _080282D4 +_08028086: + lsls r0, 2 + ldr r1, _08028094 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08028090: .4byte gUnknown_203B2C0 +_08028094: .4byte _08028098 + .align 2, 0 +_08028098: + .4byte _080282C4 + .4byte _080282C4 + .4byte _080282CA + .4byte _080282D0 + .4byte _08028222 + .4byte _08028234 + .4byte _08028228 + .4byte _0802822E + .4byte _0802823A + .4byte _080281FE + .4byte _08028272 + .4byte _08028278 + .4byte _0802828C + .4byte _0802827E + .4byte _0802828C + .4byte _0802827E + .4byte _0802828C + .4byte _08028286 + .4byte _08028294 + .4byte _0802829A + .4byte _080282B2 + .4byte _080282B8 + .4byte _080282BE + .4byte _080282A0 + .4byte _080282A6 + .4byte _080282AC + .4byte _08028240 + .4byte _08028248 + .4byte _0802824E + .4byte _0802824E + .4byte _0802825A + .4byte _0802826C + .4byte _08028260 + .4byte _08028266 + .4byte _08028254 + .4byte _08028204 + .4byte _0802820A + .4byte _080282CA + .4byte _08028210 + .4byte _08028216 + .4byte _0802821C + .4byte _080281E0 + .4byte _080281F2 + .4byte _080281E6 + .4byte _080281EC + .4byte _080281DA + .4byte _080281D4 + .4byte _080281F8 + .4byte _080281CE + .4byte _080281C2 + .4byte _080281AA + .4byte _080281B0 + .4byte _080281B6 + .4byte _080281BC + .4byte _080281C8 + .4byte _080281A4 + .4byte _0802819E + .4byte _080282CA + .4byte _08028192 + .4byte _08028198 + .4byte _0802818C +_0802818C: + bl sub_8029B34 + b _080282D4 +_08028192: + bl sub_8029AD8 + b _080282D4 +_08028198: + bl sub_8029AF4 + b _080282D4 +_0802819E: + bl sub_8029A88 + b _080282D4 +_080281A4: + bl sub_8029AB0 + b _080282D4 +_080281AA: + bl sub_80297B8 + b _080282D4 +_080281B0: + bl sub_80297D4 + b _080282D4 +_080281B6: + bl sub_8029884 + b _080282D4 +_080281BC: + bl sub_8029944 + b _080282D4 +_080281C2: + bl sub_80299AC + b _080282D4 +_080281C8: + bl sub_80299D8 + b _080282D4 +_080281CE: + bl sub_8029A6C + b _080282D4 +_080281D4: + bl sub_8029A18 + b _080282D4 +_080281DA: + bl sub_80295A8 + b _080282D4 +_080281E0: + bl sub_8029668 + b _080282D4 +_080281E6: + bl sub_8029684 + b _080282D4 +_080281EC: + bl sub_8029740 + b _080282D4 +_080281F2: + bl sub_80295D8 + b _080282D4 +_080281F8: + bl sub_802979C + b _080282D4 +_080281FE: + bl sub_8029358 + b _080282D4 +_08028204: + bl sub_8029374 + b _080282D4 +_0802820A: + bl sub_802939C + b _080282D4 +_08028210: + bl sub_80293D8 + b _080282D4 +_08028216: + bl sub_80293F4 + b _080282D4 +_0802821C: + bl sub_802955C + b _080282D4 +_08028222: + bl sub_80292A4 + b _080282D4 +_08028228: + bl sub_80292EC + b _080282D4 +_0802822E: + bl sub_802933C + b _080282D4 +_08028234: + bl sub_802958C + b _080282D4 +_0802823A: + bl sub_8029208 + b _080282D4 +_08028240: + movs r0, 0x1 + bl sub_8028DE8 + b _080282D4 +_08028248: + bl sub_8028F80 + b _080282D4 +_0802824E: + bl sub_8028FC0 + b _080282D4 +_08028254: + bl sub_8028FDC + b _080282D4 +_0802825A: + bl sub_80290D4 + b _080282D4 +_08028260: + bl sub_80290F0 + b _080282D4 +_08028266: + bl sub_80291AC + b _080282D4 +_0802826C: + bl sub_8029044 + b _080282D4 +_08028272: + bl sub_8028CFC + b _080282D4 +_08028278: + bl sub_8028D4C + b _080282D4 +_0802827E: + movs r0, 0xA + bl sub_8028DE8 + b _080282D4 +_08028286: + bl sub_8028E08 + b _080282D4 +_0802828C: + movs r0, 0x19 + bl sub_8028DE8 + b _080282D4 +_08028294: + bl sub_8028E24 + b _080282D4 +_0802829A: + bl sub_8028E54 + b _080282D4 +_080282A0: + bl sub_8028E84 + b _080282D4 +_080282A6: + bl sub_8028EAC + b _080282D4 +_080282AC: + bl sub_8028ED4 + b _080282D4 +_080282B2: + bl sub_8028F04 + b _080282D4 +_080282B8: + bl sub_8028F30 + b _080282D4 +_080282BE: + bl sub_8028F58 + b _080282D4 +_080282C4: + bl sub_8028BF0 + b _080282D4 +_080282CA: + bl sub_8028CE0 + b _080282D4 +_080282D0: + movs r0, 0x3 + b _080282D6 +_080282D4: + movs r0, 0 +_080282D6: + pop {r1} + bx r1 + thumb_func_end sub_8028078 + + thumb_func_start sub_80282DC +sub_80282DC: + ldr r1, _080282F4 + ldr r1, [r1] + movs r3, 0x86 + lsls r3, 2 + adds r2, r1, r3 + ldrb r2, [r2] + strb r2, [r0] + ldr r0, _080282F8 + adds r1, r0 + ldr r0, [r1] + bx lr + .align 2, 0 +_080282F4: .4byte gUnknown_203B2C0 +_080282F8: .4byte 0x0000053c + thumb_func_end sub_80282DC + + thumb_func_start sub_80282FC +sub_80282FC: + push {r4,lr} + ldr r4, _08028340 + ldr r0, [r4] + cmp r0, 0 + beq _08028338 + movs r1, 0x84 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + bl CloseFile + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] + bl sub_8031E10 + bl sub_8023C60 + bl sub_803084C + bl sub_80155F0 + bl sub_80310B4 + bl sub_8030DE4 + bl sub_802453C +_08028338: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08028340: .4byte gUnknown_203B2C0 + thumb_func_end sub_80282FC + + thumb_func_start nullsub_130 +nullsub_130: + bx lr + thumb_func_end nullsub_130 + + 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 sub_8004914 + 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 sub_8004914 + 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 sub_8004914 + 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 gUnknown_203B45C +_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 sub_8011854 + 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 sub_8004914 + 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 sub_8004914 + 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 |