.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 thumb_func_start sub_8028B04 sub_8028B04: push {lr} ldr r1, _08028B18 ldr r1, [r1] str r0, [r1, 0x4] bl nullsub_130 bl sub_8028348 pop {r0} bx r0 .align 2, 0 _08028B18: .4byte gUnknown_203B2C0 thumb_func_end sub_8028B04 thumb_func_start sub_8028B1C sub_8028B1C: push {lr} cmp r0, 0xF bhi _08028BE0 lsls r0, 2 ldr r1, _08028B2C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08028B2C: .4byte _08028B30 .align 2, 0 _08028B30: .4byte _08028BE0 .4byte _08028BA8 .4byte _08028BA8 .4byte _08028B70 .4byte _08028B78 .4byte _08028BA8 .4byte _08028B80 .4byte _08028B88 .4byte _08028BE0 .4byte _08028B90 .4byte _08028BE0 .4byte _08028B98 .4byte _08028BE0 .4byte _08028BA0 .4byte _08028BA8 .4byte _08028BCC _08028B70: ldr r0, _08028B74 b _08028BAA .align 2, 0 _08028B74: .4byte gUnknown_80DE98C _08028B78: ldr r0, _08028B7C b _08028BAA .align 2, 0 _08028B7C: .4byte gUnknown_80DE9F0 _08028B80: ldr r0, _08028B84 b _08028BAA .align 2, 0 _08028B84: .4byte gUnknown_80DEA58 _08028B88: ldr r0, _08028B8C b _08028BAA .align 2, 0 _08028B8C: .4byte gUnknown_80DEAB4 _08028B90: ldr r0, _08028B94 b _08028BAA .align 2, 0 _08028B94: .4byte gUnknown_80DEB18 _08028B98: ldr r0, _08028B9C b _08028BAA .align 2, 0 _08028B9C: .4byte gUnknown_80DEB18 _08028BA0: ldr r0, _08028BA4 b _08028BAA .align 2, 0 _08028BA4: .4byte gUnknown_80DEB54 _08028BA8: ldr r0, _08028BC0 _08028BAA: ldr r1, _08028BC4 ldr r2, [r1] movs r1, 0x84 lsls r1, 3 adds r2, r1 ldr r3, _08028BC8 movs r1, 0 bl sub_80141B4 b _08028BE0 .align 2, 0 _08028BC0: .4byte gUnknown_80DE954 _08028BC4: .4byte gUnknown_203B2C0 _08028BC8: .4byte 0x0000010d _08028BCC: ldr r0, _08028BE4 ldr r1, _08028BE8 ldr r2, [r1] movs r1, 0x84 lsls r1, 3 adds r2, r1 ldr r3, _08028BEC movs r1, 0 bl sub_80141B4 _08028BE0: pop {r0} bx r0 .align 2, 0 _08028BE4: .4byte gUnknown_80DEC00 _08028BE8: .4byte gUnknown_203B2C0 _08028BEC: .4byte 0x0000010d thumb_func_end sub_8028B1C thumb_func_start sub_8028BF0 sub_8028BF0: push {lr} sub sp, 0x4 mov r0, sp bl sub_80144A4 cmp r0, 0 bne _08028CDA ldr r2, _08028C20 ldr r0, [r2] movs r1, 0x8 str r1, [r0, 0x40] ldr r1, _08028C24 adds r0, r1 ldr r1, _08028C28 strh r1, [r0] ldr r0, [sp] cmp r0, 0xA bhi _08028CDA lsls r0, 2 ldr r1, _08028C2C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08028C20: .4byte gUnknown_203B2C0 _08028C24: .4byte 0x00000544 _08028C28: .4byte 0x0000ffff _08028C2C: .4byte _08028C30 .align 2, 0 _08028C30: .4byte _08028C5C .4byte _08028C88 .4byte _08028CA2 .4byte _08028CCC .4byte _08028CDA .4byte _08028CDA .4byte _08028CDA .4byte _08028CDA .4byte _08028CDA .4byte _08028CDA .4byte _08028CD4 _08028C5C: ldr r0, [r2] movs r1, 0x3 str r1, [r0, 0x40] movs r1, 0xA7 lsls r1, 3 adds r0, r1 movs r1, 0 str r1, [r0] bl sub_8095190 movs r1, 0x1 negs r1, r1 cmp r0, r1 beq _08028C80 movs r0, 0x8 bl sub_8028B04 b _08028CDA _08028C80: movs r0, 0x9 bl sub_8028B04 b _08028CDA _08028C88: movs r0, 0x2 bl sub_8095324 cmp r0, 0 beq _08028C9A movs r0, 0x1E bl sub_8028B04 b _08028CDA _08028C9A: movs r0, 0x1A bl sub_8028B04 b _08028CDA _08028CA2: ldr r0, [r2] movs r1, 0x4 str r1, [r0, 0x40] movs r1, 0xA7 lsls r1, 3 adds r0, r1 movs r1, 0x2 str r1, [r0] movs r0, 0x4 bl sub_8095324 cmp r0, 0 beq _08028CC4 movs r0, 0x29 bl sub_8028B04 b _08028CDA _08028CC4: movs r0, 0x2F bl sub_8028B04 b _08028CDA _08028CCC: movs r0, 0xB bl sub_8028B04 b _08028CDA _08028CD4: movs r0, 0x2 bl sub_8028B04 _08028CDA: add sp, 0x4 pop {r0} bx r0 thumb_func_end sub_8028BF0 .align 2,0